amotify
Version:
UI Component for React,NextJS,esbuild
2 lines (1 loc) • 5.33 kB
JavaScript
import{b as s,c as a,d as M,e as P}from"../chunk-C5N2D3ZX.js";import{jsx as u}from"react/jsx-runtime";import k,{useStore as F,UUID as H}from"jmini";import{pageRouter as E,ReadStyleSet as V}from"../@utils";import{Input as O}from".";import{Box as A}from"../atoms";import{ButtonClasses as h}from"../@styles/componentClasses";const w={Size:(i,t,o,n)=>{let e={fontSize:"inherit"};return o=o||"R",t=="plain"?{}:(t=="link"?o=="xsmall"?e.fontSize="0.xs":o=="small"?e.fontSize="1.mini":o=="regular"||o=="large"&&(e.fontSize="3.paragraph"):e=s({borderRadius:"2.tone.secondary",transition:"middle",position:"relative",textAlign:"center"},e),o=="xsmall"?e=a(s({},e),{padding:["1/3","2/3"],fontSize:"0.xs",borderRadius:"3.tone.tertiary"}):o=="small"?e=a(s({},e),{padding:["1/2","3/4"],fontSize:"1.mini",borderRadius:"2.tone.secondary"}):o=="regular"?e.padding=["3/4",1]:o=="large"&&(e.padding=[1,2],e.fontSize="3.paragraph",e.isSemiBoldFont=!0),e)},Tone:(i,t,o,n)=>{let e={display:"inlineBlock",fontWeight:"inherit",fontColor:"inherit",border:"unset"};return t=="plain"||(t=="link"?(e.fontColor="theme",e.textAlign="left",e.backgroundColor="trans"):t=="normal"?e=a(s({},e),{backgroundColor:"trans"}):t=="border"?e=a(s({},e),{backgroundColor:"layer.1",border:"2.normal",borderStyle:"solid",boxShadow:"0.min"}):t=="prime"?(e=a(s({},e),{isSemiBoldFont:!0,fontColor:"white",backgroundColor:n,boxShadow:"0.normal",ssEffectsOnActive:["shrink","push","ripple.white"]}),n=="white"&&(e=a(s({},e),{fontColor:"theme",ssEffectsOnActive:["shrink","push","ripple.cloud"]}))):t=="sub"?e=a(s({},e),{fontColor:n,ssEffectsOnActive:["shrink","ripple.cloud"]}):t=="clear"?e=a(s({},e),{fontColor:n,backgroundColor:"trans",ssEffectsOnActive:["shrink","ripple.cloud"]}):t=="fillToBorder"?e=a(s({},e),{boxShadow:"0.normal",border:"2.normal",borderWidth:2,borderColor:n,fontColor:n,backgroundColor:n}):t=="borderToFill"&&(e=a(s({},e),{fontColor:n,boxShadow:"0.normal",border:"2.normal",borderWidth:2,borderColor:n,backgroundColor:n})),n=="cloud"&&(e.fontColor="2.normal"),t!="link"&&(e=s({position:"relative",ssEffectsOnActive:["shrink","push"]},e))),e}},K=i=>{var e;let t=V(s({isLocked:!1,isActive:!1,isActiveStyles:{},isActiveClassName:"",tabIndex:0,className:"",color:"theme",tone:"border","aria-label":H()},i)),o=t.seed;{let{isLocked:m=!1,isActive:f=!1,isActiveStyles:B={},isActiveClassName:I="",tone:r="border",size:l="regular",color:p="theme",className:d=""}=t;t=s(s(s({},w.Size(i.seed,r,l,p)),w.Tone(i.seed,r,l,p)),t),t.className=[d,h("Wrap"),h("isNeutral_"+!f),h("isLocked_"+m),h("Tone_"+r),h("Color_"+p),h("Tone_"+r+"_Color_"+p)].join(" "),f&&(t=s(s({className:[t.className,I].join(" ")},t),B))}if(o=="button"){let n=t,{isLocked:m,isActive:f,isActiveClassName:B,isActiveStyles:I,submitOption:r,onFormSubmit:l,onClick:p}=n,d=M(n,["isLocked","isActive","isActiveClassName","isActiveStyles","submitOption","onFormSubmit","onClick"]);return l!=null&&l[1]&&(d=a(s({},d),{"data-form-submit-button":l[0],"data-sdfike":k.Arrayify(((e=l[2])==null?void 0:e.submitableKey)||"auxEnter").join(",")})),r&&(r=s({acceptInvalidForm:!1,submitDelegationKey:"auxEnter"},r),d=a(s({},d),{"data-form-submit-button":r.formName,"data-sdfike":k.Arrayify(r.submitDelegationKey).join(",")})),u(A,a(s({htmlTag:"button",fontHeight:"inherit"},d),{onClick:g=>{m||(p&&p(g),k.scope(()=>P(void 0,null,function*(){if(!(l!=null&&l[1]))return;l[2]=s({validOnly:!0,submitableKey:"auxEnter",releaseOnFinish:!0},l==null?void 0:l[2]);let[c,C,S]=l,b="prevent-form-submit-"+c,T=F.get(b),x=()=>F.delete(b);const z=()=>(F.set({[b]:!0}),{release:x});if(T)return S.validOnly?void 0:C({body:{},isValid:!1,serialLock:z});z();let v=yield O.CollectForm(c);if(!v.isValid&&S.validOnly){x();return}yield C({body:v.data,isValid:v.isValid,serialLock:z}),S.releaseOnFinish&&x()})),k.scope(()=>P(void 0,null,function*(){if(!r)return;let c=yield O.CollectForm(r.formName);!c.isValid&&!r.acceptInvalidForm||r.callback(c.data,c.isValid)})))}}))}else if(o=="label"){let L=t,{isLocked:m,isActive:f,isActiveClassName:B,isActiveStyles:I,onClick:r}=L,l=M(L,["isLocked","isActive","isActiveClassName","isActiveStyles","onClick"]);return u(A,a(s({htmlTag:"label"},l),{onClick:p=>{m||r&&r(p)}}))}else if(o=="anchor"){let R=t,{isLocked:m,isActive:f,isActiveClassName:B,isActiveStyles:I,onClick:r,href:l="",newTab:p,sync:d,shiftQueryParams:g}=R,c=M(R,["isLocked","isActive","isActiveClassName","isActiveStyles","onClick","href","newTab","sync","shiftQueryParams"]);return u(A,a(s({htmlTag:"button"},c),{onClick:C=>{if(m)return;if(r)return r(C);let S=C.ctrlKey||C.metaKey,b=p||!!S,T=l;if(g&&(T+=location.search),d){E.pushSync(T);return}E.push(T,!!b)}}))}return null},y=function(i,t){const o=e=>u(K,s({seed:i,tone:t,size:"regular"},e)),n=o;return n.Plain=e=>u(o,s({size:"plain",tone:t},e)),n.XS=e=>u(o,s({size:"xsmall",tone:t},e)),n.S=e=>u(o,s({size:"small",tone:t},e)),n.R=e=>u(o,s({size:"regular",tone:t},e)),n.L=e=>u(o,s({size:"large",tone:t},e)),n},N=function(i){const o=n=>u(K,s({seed:i,tone:"prime",size:"regular"},n));return o.Plain=y(i,"plain"),o.Link=y(i,"link"),o.Normal=y(i,"normal"),o.Border=y(i,"border"),o.Prime=y(i,"prime"),o.Sub=y(i,"sub"),o.Clear=y(i,"clear"),o.FillToBorder=y(i,"fillToBorder"),o.BorderToFill=y(i,"borderToFill"),o},W=N("button"),_=N("label"),X=N("anchor");export{X as Anchor,W as Button,_ as Label};