amotify 0.2.136 → 0.2.137

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- import{b as S,c as O,d as Q,e as Y}from"../../chunk-C5N2D3ZX.js";import{Fragment as X,jsx as o,jsxs as L}from"react/jsx-runtime";import{useState as I,useEffect as F,useRef as le}from"react";import c,{UUID as K}from"jmini";import{ExtractStyles as ne}from"../../@utils";import{Box as R,Span as ae,FAI as M,Column as re}from"../../atoms";import{Text as W,Row as q}from"../../mols";import{Button as Z}from"../Button";import{Loader as ie}from"../Loader";import{Sheet as se}from"../Sheet";import{OptionalInputWrapper as ue,BoxWrapper as ce,CoreEffects as N,DefaultBoxishStyles as pe}from"./core";import{InputAutocompleteClasses as z}from"../../@styles/componentClasses";import{InputLabel as de}from"./Label";import{RightIcon as ee}from".";function Se(e){let{value:t,states:s}=e,{required:u,options:r,min:l,max:f}=s;l=l||0,f=f||65535;let v=[],p=t.filter(d=>d!==null).length;return u&&(p||v.push({type:"invalid",label:"\u5FC5\u9808\u9805\u76EE\u3067\u3059"})),p<l&&v.push({type:"invalid",label:l+"\u500B\u4EE5\u4E0A\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044"}),p>f&&v.push({type:"invalid",label:f+"\u500B\u307E\u3067\u9078\u629E\u3067\u304D\u307E\u3059"}),{ok:!v.filter(({type:d})=>d=="invalid").length,notice:v}}const E={InitOptions:e=>{let t=[];return e.forEach(s=>{let{type:u,label:r,value:l,searchValue:f}=s,v=f||(c.is.string(r)?r:"")||(c.is.string(l)?l:"");t.push(O(S({},s),{searchValue:v,type:u||"selector",value:l}))}),t},FilterSelectableOptions:(e,t)=>{let s=e.val_options;if(t||(s=e.val_options.filter(u=>u.type!="label")),e.val_keyword){let u=e.val_keyword.toLower().replace(/ /g,"");s=s.filter(r=>(r.searchValue||"").toLower().replace(/ /g,"").includes(u))}return s}},B={Shallow:e=>{let{rootStates:t,val_status:s}=e,u=ne(t);return o(R,{position:"absolute",top:0,left:0,right:0,height:0,overflow:"hidden",opacity:"trans",freeCSS:{zIndex:3,pointerEvents:"none"},children:o(W.Description,O(S({className:t.className},u),{position:"absolute",width:1,freeCSS:O(S({},u.freeCSS),{color:"orange"}),"data-id":"shallow_"+s.componentID,children:o(R,{"data-input-value-shallow":s.componentID,children:"A"})}))})},Button:e=>{let{rootStates:t,val_keyword:s,set_keyword:u,val_optionFocused:r,set_optionFocused:l,val_options:f,set_options:v,val_optionsDict:p,set_optionsDict:d,val_preventOpenSelectorOnFocus:n,set_preventOpenSelectorOnFocus:m,val_selectorOpen:a,set_selectorOpen:i,val_status:y,set_status:w,val_validate:b,set_validate:C}=e,j=t,{tone:_,required:k,form:D,className:x,multiSelect:P,enableFormSubmit:T,checkValidationAtFirst:A,onValidate:$,onUpdateValue:J,onUpdateValidValue:U,value:me="",options:fe,leftIndicator:ve,rightIndicator:ye,leftIcon:he,rightIcon:_e,componentID:ge,status_id:be,wrapStyles:Oe,emptySelect:Ie,SearchInput:Ce,SearchInputPlaceholder:De,SelectedComponent:we,SelectorComponent:Te,SelectorStyles:Ve,SelectorPosition:ke,DynamicOptionsOnSearch:xe}=j,g=Q(j,["tone","required","form","className","multiSelect","enableFormSubmit","checkValidationAtFirst","onValidate","onUpdateValue","onUpdateValidValue","value","options","leftIndicator","rightIndicator","leftIcon","rightIcon","componentID","status_id","wrapStyles","emptySelect","SearchInput","SearchInputPlaceholder","SelectedComponent","SelectorComponent","SelectorStyles","SelectorPosition","DynamicOptionsOnSearch"]);return F(()=>{var V,H;if(t.disabled||!a)return;let h=E.FilterSelectableOptions(e);l((H=(V=h[0])==null?void 0:V.value)!=null?H:null)},[s]),F(()=>{y.eventType!="init"&&(t.max==y.dataValue.length?(i(!1),m(!0),setTimeout(()=>{let h=c('[data-input-origin="'+t.componentID+'"]');h&&h.focus()},10)):c("#SearchInput_"+t.componentID).focus())},[y.dataValue]),F(()=>{let h="autocomplete-click-"+t.componentID;if(a){if(!c('[data-input-origin="'+t.componentID+'"]'))return;c("#SearchInput_"+t.componentID).focus(),c(document).addEvent({eventID:h,eventType:"mousedown",callback:H=>{let G=c(H.target),oe=!!c(G).parent("."+z("Core")).length;c(G).parent("."+z("Selector")).length||oe||i(!1)}})}else c(document).removeEvent([h]),u("")},[a]),L(X,{children:[o(R,O(S({tabIndex:0},g),{"data-disabled":t.disabled,"data-show-validation":N.isShowValidation(b,y,!!A),"data-component-id":y.componentID,"data-input-origin":y.componentID,"data-focus":!!a,className:[x,z("Core")].join(" "),onFocus:h=>{if(g!=null&&g.onFocus&&(g==null||g.onFocus(h)),!t.disabled){if(n)return m(!1);i(!0),h.preventDefault()}},onClick:h=>{g!=null&&g.onClick&&(g==null||g.onClick(h)),!t.disabled&&i(!0)},onKeyDown:h=>{let{key:V}=h;T&&N.SubmitForm(h,D),!a&&(V==" "||V=="ArrowDown"||V=="ArrowUp"||V=="Enter")&&i(!0)},children:L(q.Left,{flexWrap:!0,gap:"1/3",freeCSS:{letterSpacing:".5px"},children:[o(B.Selected,S({},e)),o(ae,{width:0,overflow:"hidden",opacity:"trans",children:"A"}),o(B.SearchInput,S({},e))]})})),a&&o(B.Selector,S({},e))]})},SearchInput:e=>{let{rootStates:t}=e,[s,u]=I(!1);return t.disabled||!e.val_selectorOpen?null:o(R,{id:"SearchInput_"+t.componentID,placeholder:t.SearchInputPlaceholder||"\u691C\u7D22...",opacity:e.val_selectorOpen?"max":"trans",transition:"middle",flexSizing:0,htmlTag:"input",border:"unset",backgroundColor:"trans",value:e.val_keyword,freeCSS:{outline:"none"},onCompositionStart:r=>{t.onCompositionStart&&t.onCompositionStart(r),u(!0)},onCompositionEnd:r=>{t.onCompositionEnd&&t.onCompositionEnd(r),u(!1)},onKeyDown:r=>{let{key:l,metaKey:f,ctrlKey:v}=r,p=f||v;l=="Escape"?(e.set_selectorOpen(!1),e.set_preventOpenSelectorOnFocus(!0),setTimeout(()=>{let d=c('[data-input-origin="'+t.componentID+'"]');d&&d.focus()},10)):l=="Tab"?e.set_selectorOpen(!1):l==" "?c.scope(()=>{e.val_selectorOpen||e.val_keyword||(r.preventDefault(),e.set_selectorOpen(!0))}):l=="Backspace"?c.scope(()=>{if(e.val_keyword)return;let d=[...e.val_status.dataValue];d.pop(),e.set_status(n=>O(S({},n),{dataValue:d,eventType:"update",eventID:K()}))}):l=="Enter"&&c.scope(()=>{if(s)return;if(!e.val_selectorOpen)return e.set_selectorOpen(!0);let d=e.val_options.find(m=>m.value==e.val_optionFocused);if(!d)return;let{value:n}=d;e.set_status(m=>{let a=[...m.dataValue];return c.scope(()=>{if(n===null)return a=[];m.dataValue.includes(n)?a=a.filter(y=>y!==n):t.multiSelect?a.push(n):a=[n]}),O(S({},m),{dataValue:a,eventType:"update",eventID:K()})}),e.set_keyword(""),e.set_preventDynamicSearchOnKeywordChange(!0)}),c.scope(()=>{if(!["ArrowDown","ArrowUp"].includes(l))return;if(r.preventDefault(),!e.val_selectorOpen)return e.set_selectorOpen(!0);let d=l=="ArrowDown"?1:-1,n=E.FilterSelectableOptions(e),m=n.length-1,a=null;c.scope(()=>{var y,w,b,C,_,k,D,x,P,T;let i=n.findIndex(A=>A.value==e.val_optionFocused);if(i==-1&&(i=0),d==1){if(a=(w=(y=n[0])==null?void 0:y.value)!=null?w:null,p){a=(b=n[m].value)!=null?b:null;return}if(i==-1||i==m)return;a=(_=(C=n[i+1])==null?void 0:C.value)!=null?_:null}else{if(a=(k=n[m].value)!=null?k:null,p){a=(x=(D=n[0])==null?void 0:D.value)!=null?x:null;return}if(i==-1||i==0)return;a=(T=(P=n[i-1])==null?void 0:P.value)!=null?T:null}}),e.set_optionFocused(a)}),t.enableFormSubmit&&N.SubmitForm(r,e.rootStates.form)},onChange:r=>{let f=r.target.value;e.set_keyword(f)}},"searchInput")},Selector:e=>{var d;let[t,s]=I("idle"),[u,r]=I("idle");F(()=>{if(!e.val_selectorOpen||!e.rootStates.DynamicOptionsOnSearch)return;if(e.val_preventDynamicSearchOnKeywordChange)return e.set_preventDynamicSearchOnKeywordChange(!1);if(t=="idle")return s("ok");r("fetch");let n="autocomplete-search-"+e.rootStates.componentID;c.interval.once(()=>Y(void 0,null,function*(){let m=yield e.rootStates.DynamicOptionsOnSearch(e.val_keyword);r("idle");let a=E.InitOptions(m||[]);e.set_options(a)}),300,n)},[e.val_keyword]);let l=[],f=E.FilterSelectableOptions(e,!0),v=E.FilterSelectableOptions(e);f.forEach((n,m)=>{let{type:a,value:i}=n,y=e.val_optionFocused==i,w=e.val_status.dataValue.includes(i),b=e.rootStates.SelectorComponent;l.push(o(b,{option:n,isFocused:y,isSelected:w,addCallback:()=>{e.set_status(C=>{let _=[...C.dataValue];return c.scope(()=>{if(i===null)return _=[];C.dataValue.includes(i)?_=_.filter(D=>D!==i):e.rootStates.multiSelect?_.push(i):_=[i]}),O(S({},C),{dataValue:_,eventType:"update",eventID:K()})})}},c.Stringify(i)||K()))}),v.length||(l=[o(W.Supplement,{padding:[0,1],fontColor:"4.thin",children:"\u5019\u88DC\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093"},"no-selector-notice")]),u=="fetch"&&(l=[L(q.Left,{padding:1,fontColor:"3.blur",children:[o(ie.Theme.R,{showInitial:!0}),o(W.Supplement,{children:"Loading..."})]},"loader")]);let p={position:"absolute",minWidth:1,freeCSS:{zIndex:1e3}};switch(e.rootStates.SelectorPosition){case 1:p.bottom="100%",p.left=0,p.paddingBottom="1/3";break;case 2:p.bottom="100%",p.right=0,p.paddingBottom="1/3";break;case 3:p.top="100%",p.left=0,p.paddingTop="1/3";break;case 4:p.top="100%",p.right=0,p.paddingTop="1/3";break;default:break}return o(R,O(S({},p),{children:o(se.Body,O(S({className:z("Selector"),borderRadius:"2.tone.secondary",ssCardBox:!0,boxShadow:"1.normal",overflow:"auto"},e.rootStates.SelectorStyles),{freeCSS:S({maxHeight:12*24},(d=e.rootStates.SelectorStyles)==null?void 0:d.freeCSS),children:o(re,{gap:"1/12",padding:[1,0],children:l})}))}))},Selected:e=>{let{rootStates:t,val_status:s,set_status:u,val_optionsDict:r}=e,l=[];return s.dataValue.forEach(f=>{let v=r[c.Stringify(f)];if(!v)return;let p=t.SelectedComponent,d=v.label;v.value===null&&(d=""),l.push(o(R,{className:z("SelectedCell"),children:o(p,{value:v.value,label:d,removeCallback:n=>{if(n.stopPropagation(),n.preventDefault(),t.disabled)return;let m=[...s.dataValue];m=m.filter(a=>a!==f),u(a=>O(S({},a),{dataValue:m,eventType:"update",eventID:K()}))}})},c.Stringify(v.value)))}),o(X,{children:l})},Core:e=>{var A;let{value:t}=e,[s,u]=I(!1),[r,l]=I(!1),[f,v]=I(!1),[p,d]=I(""),[n,m]=I(e.options),[a,i]=I((A=e.value[0])!=null?A:null),[y,w]=I({}),[b,C]=I(N.DefaultStatus(e.componentID,t)),[_,k]=I({ok:!1,notice:[]}),D=le(!1);F(()=>{D.current?m(e.options):D.current=!0},[e.options]),F(()=>{if(!n.length)return;let $=[...n],J=S({},y);$.forEach(U=>{U.type!="label"&&(J[c.Stringify(U.value)]=U)}),w(J)},[n]);let x={rootStates:e,val_options:n,set_options:m,val_optionFocused:a,set_optionFocused:i,val_optionsDict:y,set_optionsDict:w,val_preventDynamicSearchOnKeywordChange:r,set_preventDynamicSearchOnKeywordChange:l,val_preventOpenSelectorOnFocus:s,set_preventOpenSelectorOnFocus:u,val_selectorOpen:f,set_selectorOpen:v,val_keyword:p,set_keyword:d,val_status:b,set_status:C,val_validate:_,set_validate:k},P=!!e.multiSelect;N.CommonEffects({type:P?"autocomplete.multi":"autocomplete.single",states:e,val_status:b,set_status:C,val_validate:_,set_validate:k,SystemValidation:Se});let T=b.dataValue.length&&b.dataValue[0]!==null;return T=T||f,L(ce,{val_status:b,set_status:C,val_validate:_,states:e,children:[o(de,{componentID:e.componentID,fontSize:e.fontSize,required:e.required,label:e.label,isActive:T}),o(B.Shallow,S({},x)),o(B.Button,S({},x))]})}},te=e=>{var s;let t=S({},e);return t=O(S({value:[],min:0,max:65535,multiSelect:!0,SearchInput:!0,emptySelect:!0,SelectorComponent:({option:u,isSelected:r,isFocused:l,addCallback:f})=>u.type=="selector"?o(Z.Sub.S,{color:"cloud",backgroundColor:"trans",borderRadius:0,fontColor:"2.normal",textAlign:"left",padding:["1/2",1.5],isActive:l,isActiveStyles:{backgroundColor:"cloud"},onClick:v=>{f()},children:L(q.Left,{gap:"1/2",children:[r&&o(M.Check,{fontColor:"theme"}),o(W.Supplement,{transition:"short",children:u.label})]})}):o(X,{children:u.label}),SelectedComponent:({value:u,label:r,removeCallback:l})=>L(q.Left,{ssCardBox:"cloud",borderRadius:"2.tone.secondary",fontSize:"1.mini",padding:"1/2",gap:0,children:[o(R,{padding:[0,"1/4"],children:r}),o(Z.Sub,{flexSizing:"none",color:"cloud",fontColor:"white",backgroundColor:"layer.5",isRounded:!0,padding:"1/4",onClick:l,freeCSS:{lineHeight:1,aspectRatio:"1/1"},children:o(M.Times,{ssSphere:1})})]}),SelectorPosition:3},t),{freeCSS:S({cursor:"pointer"},t.freeCSS)}),t.multiSelect||(t.min=0,t.max=1),t.options=t.options||[],t.emptySelect&&(t.options=[{value:null,label:o(W.Supplement,{fontColor:"4.thin",children:"\u9078\u629E\u3092\u89E3\u9664"})},...t.options]),t.value=c.flatArray((s=t.value)!=null?s:null),t.options=E.InitOptions(t.options),c.is.nullish(t.rightIcon)&&(t.rightIcon=o(ee,{ssSphere:2,children:o(M.Search,{})}),t.disabled&&(t.rightIcon=o(ee,{ssSphere:2,fontColor:"5.translucent",children:o(M.Ban,{})}))),t.rightIcon&&(t=S({paddingRight:3},t)),t.leftIcon&&(t=S({paddingLeft:3},t)),o(ue,{componentID:t.componentID,children:B.Core,states:pe(t)})};export{te as Autocomplete,te as default};
1
+ import{b as S,c as O,d as Q,e as Y}from"../../chunk-C5N2D3ZX.js";import{Fragment as X,jsx as o,jsxs as P}from"react/jsx-runtime";import{useState as I,useEffect as E,useRef as ne}from"react";import c,{UUID as W}from"jmini";import{ExtractStyles as ae}from"../../@utils";import{Box as R,Span as re,FAI as M,Column as ie}from"../../atoms";import{Text as N,Row as q}from"../../mols";import{Button as Z}from"../Button";import{Loader as se}from"../Loader";import{Sheet as ue}from"../Sheet";import{OptionalInputWrapper as ce,BoxWrapper as pe,CoreEffects as z,DefaultBoxishStyles as de}from"./core";import{InputAutocompleteClasses as U}from"../../@styles/componentClasses";import{InputLabel as Se}from"./Label";import{RightIcon as ee}from".";function me(e){let{value:t,states:s}=e,{required:u,options:r,min:l,max:f}=s;l=l||0,f=f||65535;let v=[],p=t.filter(d=>d!==null).length;return u&&(p||v.push({type:"invalid",label:"\u5FC5\u9808\u9805\u76EE\u3067\u3059"})),p<l&&v.push({type:"invalid",label:l+"\u500B\u4EE5\u4E0A\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044"}),p>f&&v.push({type:"invalid",label:f+"\u500B\u307E\u3067\u9078\u629E\u3067\u304D\u307E\u3059"}),{ok:!v.filter(({type:d})=>d=="invalid").length,notice:v}}const B={InitOptions:e=>{let t=[];return e.forEach(s=>{let{type:u,label:r,value:l,searchValue:f}=s,v=f||(c.is.string(r)?r:"")||(c.is.string(l)?l:"");t.push(O(S({},s),{searchValue:v,type:u||"selector",value:l}))}),t},FilterSelectableOptions:(e,t)=>{let s=e.val_options;if(t||(s=e.val_options.filter(u=>u.type!="label")),e.val_keyword){let u=e.val_keyword.toLower().replace(/ /g,"");s=s.filter(r=>(r.searchValue||"").toLower().replace(/ /g,"").includes(u))}return s}},L={Shallow:e=>{let{rootStates:t,val_status:s}=e,u=ae(t);return o(R,{position:"absolute",top:0,left:0,right:0,height:0,overflow:"hidden",opacity:"trans",freeCSS:{zIndex:3,pointerEvents:"none"},children:o(N.Description,O(S({className:t.className},u),{position:"absolute",width:1,freeCSS:O(S({},u.freeCSS),{color:"orange"}),"data-id":"shallow_"+s.componentID,children:o(R,{"data-input-value-shallow":s.componentID,children:"A"})}))})},Button:e=>{let{rootStates:t,val_keyword:s,set_keyword:u,val_optionFocused:r,set_optionFocused:l,val_options:f,set_options:v,val_optionsDict:p,set_optionsDict:d,val_preventOpenSelectorOnFocus:n,set_preventOpenSelectorOnFocus:m,val_selectorOpen:a,set_selectorOpen:i,val_status:y,set_status:w,val_validate:b,set_validate:C}=e,j=t,{tone:_,required:k,form:D,className:x,multiSelect:K,enableFormSubmit:T,checkValidationAtFirst:A,onValidate:$,onUpdateValue:J,onUpdateValidValue:H,value:fe="",options:ve,leftIndicator:ye,rightIndicator:he,leftIcon:_e,rightIcon:ge,componentID:be,status_id:Oe,wrapStyles:Ie,emptySelect:Ce,SearchInput:De,SearchInputPlaceholder:we,SelectedComponent:Te,SelectorComponent:Ve,SelectorStyles:ke,SelectorPosition:xe,DynamicOptionsOnSearch:Re}=j,g=Q(j,["tone","required","form","className","multiSelect","enableFormSubmit","checkValidationAtFirst","onValidate","onUpdateValue","onUpdateValidValue","value","options","leftIndicator","rightIndicator","leftIcon","rightIcon","componentID","status_id","wrapStyles","emptySelect","SearchInput","SearchInputPlaceholder","SelectedComponent","SelectorComponent","SelectorStyles","SelectorPosition","DynamicOptionsOnSearch"]);return E(()=>{var V,F;if(t.disabled||!a)return;let h=B.FilterSelectableOptions(e);l((F=(V=h[0])==null?void 0:V.value)!=null?F:null)},[s]),E(()=>{y.eventType!="init"&&(t.max==y.dataValue.length?(i(!1),m(!0),setTimeout(()=>{let h=c('[data-input-origin="'+t.componentID+'"]');h&&h.focus()},10)):c("#SearchInput_"+t.componentID).focus())},[y.dataValue]),E(()=>{let h="autocomplete-click-"+t.componentID;if(a){if(!c('[data-input-origin="'+t.componentID+'"]'))return;c("#SearchInput_"+t.componentID).focus(),c(document).addEvent({eventID:h,eventType:"mousedown",callback:F=>{let G=c(F.target),oe=!!c(G).parent("."+U("Core")).length,le=!!c(G).parent("."+U("Selector")).length;oe||le||(i(!1),F.preventDefault(),F.stopPropagation())}})}else c(document).removeEvent([h]),u("")},[a]),P(X,{children:[o(R,O(S({tabIndex:0},g),{"data-disabled":t.disabled,"data-show-validation":z.isShowValidation(b,y,!!A),"data-component-id":y.componentID,"data-input-origin":y.componentID,"data-focus":!!a,className:[x,U("Core")].join(" "),onFocus:h=>{if(g!=null&&g.onFocus&&(g==null||g.onFocus(h)),!t.disabled){if(n)return m(!1);i(!0),h.preventDefault()}},onClick:h=>{g!=null&&g.onClick&&(g==null||g.onClick(h)),!t.disabled&&i(!0)},onKeyDown:h=>{let{key:V}=h;T&&z.SubmitForm(h,D),!a&&(V==" "||V=="ArrowDown"||V=="ArrowUp"||V=="Enter")&&i(!0)},children:P(q.Left,{flexWrap:!0,gap:"1/3",freeCSS:{letterSpacing:".5px"},children:[o(L.Selected,S({},e)),o(re,{width:0,overflow:"hidden",opacity:"trans",children:"A"}),o(L.SearchInput,S({},e))]})})),a&&o(L.Selector,S({},e))]})},SearchInput:e=>{let{rootStates:t}=e,[s,u]=I(!1);return t.disabled||!e.val_selectorOpen?null:o(R,{id:"SearchInput_"+t.componentID,placeholder:t.SearchInputPlaceholder||"\u691C\u7D22...",opacity:e.val_selectorOpen?"max":"trans",transition:"middle",flexSizing:0,htmlTag:"input",border:"unset",backgroundColor:"trans",value:e.val_keyword,freeCSS:{outline:"none"},onCompositionStart:r=>{t.onCompositionStart&&t.onCompositionStart(r),u(!0)},onCompositionEnd:r=>{t.onCompositionEnd&&t.onCompositionEnd(r),u(!1)},onKeyDown:r=>{let{key:l,metaKey:f,ctrlKey:v}=r,p=f||v;l=="Escape"?(e.set_selectorOpen(!1),e.set_preventOpenSelectorOnFocus(!0),setTimeout(()=>{let d=c('[data-input-origin="'+t.componentID+'"]');d&&d.focus()},10)):l=="Tab"?e.set_selectorOpen(!1):l==" "?c.scope(()=>{e.val_selectorOpen||e.val_keyword||(r.preventDefault(),e.set_selectorOpen(!0))}):l=="Backspace"?c.scope(()=>{if(e.val_keyword)return;let d=[...e.val_status.dataValue];d.pop(),e.set_status(n=>O(S({},n),{dataValue:d,eventType:"update",eventID:W()}))}):l=="Enter"&&c.scope(()=>{if(s)return;if(!e.val_selectorOpen)return e.set_selectorOpen(!0);let d=e.val_options.find(m=>m.value==e.val_optionFocused);if(!d)return;let{value:n}=d;e.set_status(m=>{let a=[...m.dataValue];return c.scope(()=>{if(n===null)return a=[];m.dataValue.includes(n)?a=a.filter(y=>y!==n):t.multiSelect?a.push(n):a=[n]}),O(S({},m),{dataValue:a,eventType:"update",eventID:W()})}),e.set_keyword(""),e.set_preventDynamicSearchOnKeywordChange(!0)}),c.scope(()=>{if(!["ArrowDown","ArrowUp"].includes(l))return;if(r.preventDefault(),!e.val_selectorOpen)return e.set_selectorOpen(!0);let d=l=="ArrowDown"?1:-1,n=B.FilterSelectableOptions(e),m=n.length-1,a=null;c.scope(()=>{var y,w,b,C,_,k,D,x,K,T;let i=n.findIndex(A=>A.value==e.val_optionFocused);if(i==-1&&(i=0),d==1){if(a=(w=(y=n[0])==null?void 0:y.value)!=null?w:null,p){a=(b=n[m].value)!=null?b:null;return}if(i==-1||i==m)return;a=(_=(C=n[i+1])==null?void 0:C.value)!=null?_:null}else{if(a=(k=n[m].value)!=null?k:null,p){a=(x=(D=n[0])==null?void 0:D.value)!=null?x:null;return}if(i==-1||i==0)return;a=(T=(K=n[i-1])==null?void 0:K.value)!=null?T:null}}),e.set_optionFocused(a)}),t.enableFormSubmit&&z.SubmitForm(r,e.rootStates.form)},onChange:r=>{let f=r.target.value;e.set_keyword(f)}},"searchInput")},Selector:e=>{var d;let[t,s]=I("idle"),[u,r]=I("idle");E(()=>{if(!e.val_selectorOpen||!e.rootStates.DynamicOptionsOnSearch)return;if(e.val_preventDynamicSearchOnKeywordChange)return e.set_preventDynamicSearchOnKeywordChange(!1);if(t=="idle")return s("ok");r("fetch");let n="autocomplete-search-"+e.rootStates.componentID;c.interval.once(()=>Y(void 0,null,function*(){let m=yield e.rootStates.DynamicOptionsOnSearch(e.val_keyword);r("idle");let a=B.InitOptions(m||[]);e.set_options(a)}),300,n)},[e.val_keyword]);let l=[],f=B.FilterSelectableOptions(e,!0),v=B.FilterSelectableOptions(e);f.forEach((n,m)=>{let{type:a,value:i}=n,y=e.val_optionFocused==i,w=e.val_status.dataValue.includes(i),b=e.rootStates.SelectorComponent;l.push(o(b,{option:n,isFocused:y,isSelected:w,addCallback:()=>{e.set_status(C=>{let _=[...C.dataValue];return c.scope(()=>{if(i===null)return _=[];C.dataValue.includes(i)?_=_.filter(D=>D!==i):e.rootStates.multiSelect?_.push(i):_=[i]}),O(S({},C),{dataValue:_,eventType:"update",eventID:W()})})}},c.Stringify(i)||W()))}),v.length||(l=[o(N.Supplement,{padding:[0,1],fontColor:"4.thin",children:"\u5019\u88DC\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093"},"no-selector-notice")]),u=="fetch"&&(l=[P(q.Left,{padding:1,fontColor:"3.blur",children:[o(se.Theme.R,{showInitial:!0}),o(N.Supplement,{children:"Loading..."})]},"loader")]);let p={position:"absolute",minWidth:1,freeCSS:{zIndex:1e3}};switch(e.rootStates.SelectorPosition){case 1:p.bottom="100%",p.left=0,p.paddingBottom="1/3";break;case 2:p.bottom="100%",p.right=0,p.paddingBottom="1/3";break;case 3:p.top="100%",p.left=0,p.paddingTop="1/3";break;case 4:p.top="100%",p.right=0,p.paddingTop="1/3";break;default:break}return o(R,O(S({},p),{children:o(ue.Body,O(S({className:U("Selector"),borderRadius:"2.tone.secondary",ssCardBox:!0,boxShadow:"1.normal",overflow:"auto"},e.rootStates.SelectorStyles),{freeCSS:S({maxHeight:12*24},(d=e.rootStates.SelectorStyles)==null?void 0:d.freeCSS),children:o(ie,{gap:"1/12",padding:[1,0],children:l})}))}))},Selected:e=>{let{rootStates:t,val_status:s,set_status:u,val_optionsDict:r}=e,l=[];return s.dataValue.forEach(f=>{let v=r[c.Stringify(f)];if(!v)return;let p=t.SelectedComponent,d=v.label;v.value===null&&(d=""),l.push(o(R,{className:U("SelectedCell"),children:o(p,{value:v.value,label:d,removeCallback:n=>{if(n.stopPropagation(),n.preventDefault(),t.disabled)return;let m=[...s.dataValue];m=m.filter(a=>a!==f),u(a=>O(S({},a),{dataValue:m,eventType:"update",eventID:W()}))}})},c.Stringify(v.value)))}),o(X,{children:l})},Core:e=>{var A;let{value:t}=e,[s,u]=I(!1),[r,l]=I(!1),[f,v]=I(!1),[p,d]=I(""),[n,m]=I(e.options),[a,i]=I((A=e.value[0])!=null?A:null),[y,w]=I({}),[b,C]=I(z.DefaultStatus(e.componentID,t)),[_,k]=I({ok:!1,notice:[]}),D=ne(!1);E(()=>{D.current?m(e.options):D.current=!0},[e.options]),E(()=>{if(!n.length)return;let $=[...n],J=S({},y);$.forEach(H=>{H.type!="label"&&(J[c.Stringify(H.value)]=H)}),w(J)},[n]);let x={rootStates:e,val_options:n,set_options:m,val_optionFocused:a,set_optionFocused:i,val_optionsDict:y,set_optionsDict:w,val_preventDynamicSearchOnKeywordChange:r,set_preventDynamicSearchOnKeywordChange:l,val_preventOpenSelectorOnFocus:s,set_preventOpenSelectorOnFocus:u,val_selectorOpen:f,set_selectorOpen:v,val_keyword:p,set_keyword:d,val_status:b,set_status:C,val_validate:_,set_validate:k},K=!!e.multiSelect;z.CommonEffects({type:K?"autocomplete.multi":"autocomplete.single",states:e,val_status:b,set_status:C,val_validate:_,set_validate:k,SystemValidation:me});let T=b.dataValue.length&&b.dataValue[0]!==null;return T=T||f,P(pe,{val_status:b,set_status:C,val_validate:_,states:e,children:[o(Se,{componentID:e.componentID,fontSize:e.fontSize,required:e.required,label:e.label,isActive:T}),o(L.Shallow,S({},x)),o(L.Button,S({},x))]})}},te=e=>{var s;let t=S({},e);return t=O(S({value:[],min:0,max:65535,multiSelect:!0,SearchInput:!0,emptySelect:!0,SelectorComponent:({option:u,isSelected:r,isFocused:l,addCallback:f})=>u.type=="selector"?o(Z.Sub.S,{color:"cloud",backgroundColor:"trans",borderRadius:0,fontColor:"2.normal",textAlign:"left",padding:["1/2",1.5],isActive:l,isActiveStyles:{backgroundColor:"cloud"},onClick:v=>{f()},children:P(q.Left,{gap:"1/2",children:[r&&o(M.Check,{fontColor:"theme"}),o(N.Supplement,{transition:"short",children:u.label})]})}):o(X,{children:u.label}),SelectedComponent:({value:u,label:r,removeCallback:l})=>P(q.Left,{ssCardBox:"cloud",borderRadius:"2.tone.secondary",fontSize:"1.mini",padding:"1/2",gap:0,children:[o(R,{padding:[0,"1/4"],children:r}),o(Z.Sub,{flexSizing:"none",color:"cloud",fontColor:"white",backgroundColor:"layer.5",isRounded:!0,padding:"1/4",onClick:l,freeCSS:{lineHeight:1,aspectRatio:"1/1"},children:o(M.Times,{ssSphere:1})})]}),SelectorPosition:3},t),{freeCSS:S({cursor:"pointer"},t.freeCSS)}),t.multiSelect||(t.min=0,t.max=1),t.options=t.options||[],t.emptySelect&&(t.options=[{value:null,label:o(N.Supplement,{fontColor:"4.thin",children:"\u9078\u629E\u3092\u89E3\u9664"})},...t.options]),t.value=c.flatArray((s=t.value)!=null?s:null),t.options=B.InitOptions(t.options),c.is.nullish(t.rightIcon)&&(t.rightIcon=o(ee,{ssSphere:2,children:o(M.Search,{})}),t.disabled&&(t.rightIcon=o(ee,{ssSphere:2,fontColor:"5.translucent",children:o(M.Ban,{})}))),t.rightIcon&&(t=S({paddingRight:3},t)),t.leftIcon&&(t=S({paddingLeft:3},t)),o(ce,{componentID:t.componentID,children:L.Core,states:de(t)})};export{te as Autocomplete,te as default};
package/dist/fn/Sheet.js CHANGED
@@ -1 +1 @@
1
- import{b as g,c as T,d as G}from"../chunk-C5N2D3ZX.js";import{jsx as h,jsxs as $}from"react/jsx-runtime";import f,{UUID as Z,Time as le,useStore as E}from"jmini";import{useState as L,useEffect as X,useRef as pe}from"react";import{$$fromRoot as j,Config as K}from"../@utils";import{Box as k,Flex as he,Img as ie,FAI as ae,Column as oe}from"../atoms";import{Row as re}from"../mols";import{Button as se}from"./Button";import ce from"./Input";import{SheetClasses as d}from"../@styles/componentClasses";import ue from"./Effect";const R={currentIndex:0,openQueue:{},getSessionStates:()=>{let t=E.get("sessionStates-"+K.get().sessionUID);return t||null},getNewSheetStates:t=>{var u;let e=T(g({sheetGroups:t.sheetGroups||[],backgroundEffect:!0,overwrap:t.type=="custom",hold_state:!1,closeAtPageTransit:!0,closeAtEscapeKeyDown:!0,closeAtAroundClick:t.type=="custom"},t),{sheetID:t.sheetID||Z(),isOpen:!0,created_at:le()});if(e.type=="custom"){let a=e;a.parent=a.parent||((u=a==null?void 0:a.event)==null?void 0:u.currentTarget),e=a}return e}},J={Wrapper:()=>{let[t,e]=L([]),u={val_sheets:t,set_sheets:e},a="sessionStates-"+K.get().sessionUID;E.set({[a]:u}),X(()=>{let n="Sheet-"+K.get().sessionUID;E.set({[n]:{add:(c,r)=>{let l=E.get(n);if(!l)return;let s=R.getNewSheetStates(c);if(R.openQueue[s.sheetID])return;if(R.openQueue[s.sheetID]=!0,r!="inherit"&&(s.isOpen=r!=null?r:!0),!!l.find(s.sheetID)){e(C=>{let b=[...C],w=b.findIndex(M=>M.sheetID==s.sheetID);return w==-1||(b[w]=s),b}),delete R.openQueue[s.sheetID];return}e(C=>[s,...C])},find:c=>{let r=R.getSessionStates();if(!r)return null;let{val_sheets:l}=r;return l.find(s=>s.sheetID==c)}}}),f(K.get().appRoot).addEvent({eventType:"keyup",eventID:"SheetEvent.keyUp",callback:function(c){let{key:r,metaKey:l}=c;if(r=="Escape"||r==","&&l){let s=R.getSessionStates();if(!s)return;let{val_sheets:S}=s,C=S.filter(w=>w.isOpen);if(!C.length)return;let b=C.reduce((w,M)=>w.created_at.value>M.created_at.value?w:M);_.close(b.sheetID,r)}}}).addEvent({eventType:"click",eventID:"SheetEvent.Click",callback:function(c){let r=R.getSessionStates();if(!r)return;let{val_sheets:l}=r,s=c.target;if(!s||s!=null&&s.closest("."+d("CustomSheet")))return;let S=l.filter(C=>C.type=="custom");S.length&&S.forEach(C=>{let{parent:b}=C;if(!C.closeAtAroundClick)return;let w=j(b)[0];b!==s&&w!==s&&(f(w).find(s).length||_.close(C.sheetID))})}})},[]);let v=t.map(n=>h(J.Core,T(g({},u),{val_sheet:n,patch_sheet:c=>{e(r=>{let l=[...r],s=l.findIndex(S=>S.sheetID==n.sheetID);return s==-1||(l[s]=g(g({},l[s]),c)),l})},delete_sheet:()=>{e(c=>{let r=[...c],l=r.findIndex(s=>s.sheetID==n.sheetID);return l==-1||r.splice(l,1),r})}}),n.sheetID));return h(k,{className:["AMOTIFY_be",d("Wrapper")].join(" "),children:v})},Core:t=>{let{val_sheet:e,patch_sheet:u}=t,[a,v]=L(R.currentIndex+2),[n]=L(Z()),c=e.type!="custom"&&!e.overwrap;X(()=>{R.currentIndex++,f.scope(()=>{if(!e.closeAtParentBlur)return;let S=f(e.parent);S[0]&&S.addEvent({eventID:"SheetClosation-"+e.sheetID,eventType:"mouseout",callback:()=>{S.removeEvent("SheetClosation-"+e.sheetID),u({isOpen:!1})}})}),E.set({[e.sheetID]:{resize:S=>{if(e.type=="drawer.bottom"){let C=E.get(n);C&&C.resize&&C.resize(S)}else(e.type.includes("normal")||e.type.includes("drawer"))&&u({size:S})},close:S=>{u({isOpen:!1})},open:()=>{u({isOpen:!0})}}})},[]),X(()=>{f.scope(()=>{let S=j("#"+n);if(e.isOpen){e.hold_state&&v(R.currentIndex+1),S.await(10).removeClass(d("Hide")).await(10).addClass(d("Open")).callback(()=>{delete R.openQueue[e.sheetID],e.openAfter&&e.openAfter()});return}S.await(10).removeClass(d("Open")).await(251).addClass(d("Hide")).callback(()=>{if(e.closeAfter&&e.closeAfter(),c&&K.get().browserIs!="safari"&&f(K.get().appRoot).focus(),e.hold_state)return u({isOpen:!1});t.delete_sheet()})})},[e.isOpen]);let[r,l]=e.type.split("."),s=J.Types[{"normal.topLeft":"Normal","normal.topCenter":"Normal","normal.topRight":"Normal","normal.middleLeft":"Normal","normal.middleCenter":"Normal","normal.middleRight":"Normal","normal.bottomLeft":"Normal","normal.bottomCenter":"Normal","normal.bottomRight":"Normal",image:"Normal","drawer.left":"Edge","drawer.right":"Edge","drawer.bottom":"Bottom",custom:"Custom"}[e.type]];return h(k,{className:[d("Wrap"),d("Tcate_"+r),d("Tpos_"+l),d("isMainSheet_"+c)].join(" "),width:1,ssAbsoluteCovered:!0,freeCSS:{zIndex:a},id:n,children:$(oe,{className:d("Content"),gap:0,height:"viewHeight",overflow:"auto",transition:"middle",children:[!!c&&h(J.TapSensor,{sheetID:e.sheetID,delegateAroundClick:e.closeAtAroundClick}),h(s,g({componentID:n},e))]})},n)},Types:{Normal:t=>{let H=t,{sheetID:e,sheetGroups:u,bodyScrolls:a,content:v,className:n="",type:c,size:r="R",freeCSS:l,openAfter:s,closeAfter:S,closeAtAroundClick:C,closeAtEscapeKeyDown:b,closeAtPageTransit:w,closeAtParentBlur:M,closeAtSwipeDown:Y,hold_state:q,overwrap:ee,isOpen:te,backgroundEffect:W}=H,U=G(H,["sheetID","sheetGroups","bodyScrolls","content","className","type","size","freeCSS","openAfter","closeAfter","closeAtAroundClick","closeAtEscapeKeyDown","closeAtPageTransit","closeAtParentBlur","closeAtSwipeDown","hold_state","overwrap","isOpen","backgroundEffect"]),[F,D]=c.split("."),I={},A=[];return D.match(/top/)?(A.push("top"),I.marginBottom="auto"):D.match(/middle/)?(A.push("center"),I.marginTop="auto",I.marginBottom="auto"):D.match(/bottom/)&&(A.push("bottom"),I.marginTop="auto"),D.match(/left/i)?(A.push("left"),I.marginRight="auto"):D.match(/center/i)?(A.push("center"),I.marginLeft="auto",I.marginRight="auto"):D.match(/right/i)&&(A.push("right"),I.marginLeft="auto"),h(k,T(g(g({className:[d("BB"),n].join(" "),padding:1,transition:"long",opacity:"trans"},U),I),{freeCSS:g({width:{S:"26rem",R:"36rem",L:"44rem","2L":"60rem","3L":"72rem",MAX:"100%"}[r],maxWidth:"96vw",transformOrigin:A.join(" ")},l),children:f.is.function(v)?h(v,{}):v}))},Edge:t=>{let U=t,{sheetID:e,sheetGroups:u,bodyScrolls:a,type:v,content:n,className:c="",size:r="R",openAfter:l,closeAfter:s,closeAtAroundClick:S,closeAtEscapeKeyDown:C,closeAtPageTransit:b,closeAtParentBlur:w,closeAtSwipeDown:M,hold_state:Y,overwrap:q,isOpen:ee,backgroundEffect:te}=U,W=G(U,["sheetID","sheetGroups","bodyScrolls","type","content","className","size","openAfter","closeAfter","closeAtAroundClick","closeAtEscapeKeyDown","closeAtPageTransit","closeAtParentBlur","closeAtSwipeDown","hold_state","overwrap","isOpen","backgroundEffect"]);return h(k,T(g(T(g({className:[d("BB"),c].join(" ")},v=="drawer.right"?{marginLeft:"auto"}:v=="drawer.left"?{marginRight:"auto"}:{}),{opacity:"trans",transition:"long",position:"relative",backgroundColor:"layer.1",flexSizing:"none",minHeight:"viewHeight",boxShadow:"3.remark"}),W),{freeCSS:g({width:{S:"20rem",R:"27rem",L:"32rem","2L":"40rem","3L":"58rem",MAX:"100vw"}[r],maxWidth:"96vw"},W.freeCSS),children:f.is.function(n)?h(n,{}):n}))},Bottom:t=>{let V=t,{componentID:e,sheetID:u,sheetGroups:a,bodyScrolls:v,content:n,size:c="R",sizeChanged:r,baseStyles:l,openAfter:s,closeAfter:S,closeAtAroundClick:C,closeAtEscapeKeyDown:b,closeAtPageTransit:w,closeAtParentBlur:M,closeAtSwipeDown:Y=!0,hold_state:q,overwrap:ee,isOpen:te,backgroundEffect:W}=V,U=G(V,["componentID","sheetID","sheetGroups","bodyScrolls","content","size","sizeChanged","baseStyles","openAfter","closeAfter","closeAtAroundClick","closeAtEscapeKeyDown","closeAtPageTransit","closeAtParentBlur","closeAtSwipeDown","hold_state","overwrap","isOpen","backgroundEffect"]),F=f.getScreenSize(),D=[0,.2,.6,.95],I={ZERO:0,S:1,R:2,L:3},[A,H]=L(c),[x,B]=L({process:!1,processStart:0,originY:0,originValue:0,viewHeight:0,value:D[I[c]]});E.update({[e]:{val_edit:x,resize:y=>{let m=D[I[y]];B(p=>T(g({},p),{value:m})),H(y)}}});const z={Start:y=>{f(document).addEvent({eventID:"BottomSheetMouseMove",eventType:"mousemove",callback:z.Move,options:{passive:!1}}).addEvent({eventID:"BottomSheetTouchMove",eventType:"touchmove",callback:z.Move,options:{passive:!1}}).addEvent({eventID:"BottomSheetMouseUp",eventType:"mouseup",callback:z.End}).addEvent({eventID:"BottomSheetTouchEnd",eventType:"touchend",callback:z.End});let m=f.getCursor(y),p=T(g({},x),{process:!0,processStart:new Date().getTime(),originY:m.y,originValue:x.value,viewHeight:f.getScreenSize().height});E.update({[e]:{val_edit:p}}),B(p)},Move:y=>{var O;let m=(O=E.get(e))==null?void 0:O.val_edit;if(!m.process)return;let N=(f.getCursor(y).y-m.originY)/m.viewHeight,o=m.originValue-N;if(o>.95)o=.95+(o-.95)*.5;else if(o<.2){let P=.2-o;P-=.1,o=.1+(.1-P)*.5}return B(T(g({},m),{value:o})),y.preventDefault(),y.stopPropagation(),!1},End:y=>{var o;let m=(o=E.get(e))==null?void 0:o.val_edit;if(!m.process)return;f(document).removeEvent(["BottomSheetMouseMove","BottomSheetTouchMove","BottomSheetMouseUp","BottomSheetTouchEnd"]);let p=0;if(m.value<.1||(m.value<.5?p=1:m.value>.75?p=3:p=2),new Date().getTime()-m.processStart<300){let O=f.getCursor(y).y-m.originY;if(Math.abs(O)>=20){let P=+(O<0)*2-1;p+=P,p=Math.min(Math.max(p,0),D.length-1)}}p==0&&(Y||(p=1)),H(["ZERO","S","R","L"][p]),B(T(g({},m),{value:D[p],process:!1}))}},Q=pe(!1);return X(()=>{Q.current?A=="ZERO"?Y&&_.close(u):setTimeout(()=>{t.sizeChanged&&t.sizeChanged(A)},250):Q.current=!0},[A]),h(k,{className:d("BB"),margin:[0,"auto"],marginTop:"auto",opacity:"trans",width:1,transition:"long",freeCSS:g({maxWidth:12*60,height:F.height*x.value},x.process?{transition:"0s"}:{}),children:$(oe,T(g({gap:0,flexSizing:"none",borderTopLeftRadius:"1.tone.primary",borderTopRightRadius:"1.tone.primary",borderBottom:"unset",boxShadow:"3.remark",position:"relative",overflow:"hidden",height:1},l),{children:[$(re.Separate,{padding:1,backgroundColor:"layer.1",position:"relative",freeCSS:{userSelect:"none"},children:[h(k,{ssSphere:2.5}),h(re.Center,{onPointerDown:z.Start,flexSizing:0,padding:"2/3",ssPushable:!0,isRounded:!0,freeCSS:{cursor:"grab",userSelect:"none"},children:h(k,{unitWidth:6,unitHeight:"1/2",backgroundColor:"layer.4",isRounded:!0,className:d("DragBar")})}),h(se.Sub,{color:"cloud",ssSphere:2.5,onClick:()=>{_.close(u)},children:h(ae.Times,{})})]}),h(k,T(g({backgroundColor:"layer.1",flexSizing:0,overflow:"auto"},U),{children:f.is.function(n)?h(n,{}):n}))]}))})},Custom:t=>{let V=t,{sheetID:e,sheetGroups:u,bodyScrolls:a,event:v,parent:n,nextToCursor:c,gravityPoint:r=22,content:l,closeAtAroundClick:s,closeAtEscapeKeyDown:S,closeAtPageTransit:C,closeAtParentBlur:b,closeAtSwipeDown:w,hold_state:M,openAfter:Y,closeAfter:q,overwrap:ee,isOpen:te,resize:W,backgroundEffect:U}=V,F=G(V,["sheetID","sheetGroups","bodyScrolls","event","parent","nextToCursor","gravityPoint","content","closeAtAroundClick","closeAtEscapeKeyDown","closeAtPageTransit","closeAtParentBlur","closeAtSwipeDown","hold_state","openAfter","closeAfter","overwrap","isOpen","resize","backgroundEffect"]),[D]=L(Z()),I=f.is.element(n)||f.is.jmini(n)?f(n):j(n),A='[data-sheet-id="'+D+'"]',H='[data-sheet-content="'+D+'"]';r=r;let x=r%5||5,B=Math.ceil(r/5);const z={Init:()=>{if(c&&v){let i=f.getScreenSize(),ne=f.getCursor(v);return{top:ne.y-i.pageYOffset,left:ne.x-i.pageXOffset}}let y={};if(!I||!I[0])return y;let{top:m,right:p,bottom:N,left:o,height:O,width:P}=I.position();return[1,2].includes(x)?y.left=o:x==3?y.left=o+P/2:[4,5].includes(x)&&(y.left=p),r<=10?y.top=m:r<=15?y.top=m+O/2:r<=25&&(y.top=N),y},Adjust:()=>{let y=j(A).position(),m=j(H).position(),p=I.position(),N=f.getScreenSize(),o={};for(let i in m)o[i]=m[i];if(f.scope(()=>{if(t.nextToCursor)return;let i=0;B==1?i=p.top-o.bottom:B==2?i=p.top-o.top:B==3?i=p.top-o.top+(p.height-o.height)/2:B==4?i=p.bottom-o.bottom:B==5&&(i=p.bottom-o.top),o.top+=i,o.bottom+=i}),f.scope(()=>{if(t.nextToCursor)return;let i=0;x==1?i=p.left-o.right:x==2?i=p.left-o.left:x==3?i=p.left-o.left+(p.width-o.width)/2:x==4?i=p.right-o.right:x==5&&(i=p.right-o.left),o.left+=i,o.right+=i}),o.top<0){let i=-o.top;o.top+=i,o.bottom+=i}if(o.bottom>N.height){let i=o.bottom-N.height;o.top-=i,o.bottom-=i}if(o.left<0){let i=-o.left;o.left+=i,o.right+=i}if(o.right>N.width){let i=o.right-N.width;o.left-=i,o.right-=i}let O=o.top-m.top,P=o.left-m.left;f(A).css({top:y.top+O+"px",left:y.left+P+"px"})}};let[Q]=L(z.Init());return X(()=>{j(A).await(10).addClass(d("Open")).await(200).callback(()=>{(W==null||W)&&z.Adjust()}),E.update({["customSheet-"+t.sheetID]:{reposition:()=>{z.Adjust()}}})},[]),I[0]?h(k,{className:[d("BB"),d("CustomSheet")].join(" "),"data-sheet-id":D,transition:"long",position:"absolute",width:0,height:0,opacity:"trans",flexCenter:!0,freeCSS:Q,children:h(he,{position:"absolute",className:[d("GPT"),d("GPT_"+r),d("Col_"+x),d("Row_"+B)].join(" "),children:h(k,T(g({"data-sheet-content":D,flexSizing:"none",maxHeight:"viewHeight"},F),{freeCSS:g({maxWidth:"98vw"},F.freeCSS),children:f.is.function(l)?h(l,{}):l}))})}):null}},TapSensor:t=>h(k,{className:d("TapSensor"),children:h(se.Plain,{className:d("TapContent"),onClick:()=>{var e;(e=t.delegateAroundClick)!=null&&e&&_.close(t.sheetID)},freeCSS:{cursor:"default",pointerEvents:"all"}})})},_={Wrapper:()=>h(J.Wrapper,{}),Element:t=>{let v=t,{isOpen:e,children:u}=v,a=G(v,["isOpen","children"]);return X(()=>{if(e){_.open(T(g({},a),{content:u}));return}a.sheetID&&_.close(a.sheetID)},[e]),null},open:(t,e)=>{if(t.sheetID=(t.sheetID||"").replace(/\./g,"-"),t.type=="image"){let v=t.sheetID||Z(),a=t,{type:n,src:c}=a,r=G(a,["type","src"]);_.open(T(g({type:"normal.topCenter",size:"MAX",backgroundColor:"trans",height:"viewHeight"},r),{sheetID:v,freeCSS:{maxWidth:"96vw",transformOrigin:"top"},content:()=>{let[l]=L(f.flatArray(c)),[s,S]=L(0),C=[];return l.forEach((b,w)=>{C.push({value:w,label:h(ie,{src:f.flatArray(b)[0],width:"auto",height:1,borderRadius:"3.tone.tertiary",freeCSS:{maxWidth:12*6,maxHeight:12*3}})})}),$(oe,{gap:0,height:1,position:"relative",children:[$(re.Separate,{position:"absolute",top:0,left:0,right:0,padding:[1,2],freeCSS:{zIndex:2},children:[h(ce.Radio,{icon:!1,value:s,override:"force",horizontalAlign:"center",onUpdateValidValue:b=>{S(b)},cellStyles:{border:!0,borderWidth:2,padding:"1/3",paddingRight:"1/3",boxShadow:"2.normal",gap:0},cellCheckedStyles:{borderColor:"theme"},options:C}),h(se.Sub.S,{color:"cloud",ssSphere:3,onClick:()=>{_.close(v)},children:h(ae.Times,{})})]}),h(ue.FadeIn,{flexCenter:!0,flexSizing:0,overflow:"auto",children:h(ie,{width:"auto",height:"auto",maxWidth:1,maxHeight:1,src:l[s]})},s)]})}}));return}let u=E.get("Sheet-"+K.get().sessionUID);u&&u.add(t,e)},resize:t=>{t.sheetID=(t.sheetID||"").replace(/\./g,"-");let e=E.get(t.sheetID);e&&e.resize&&e.resize(t.size)},customSheet:{reposition:t=>{let e=E.get("customSheet-"+t);e&&e.reposition&&e.reposition()}},close:function(t,e,u){let a=R.getSessionStates();if(!a)return;let{val_sheets:v}=a;t=t==null?void 0:t.replace(/\./g,"-");let n=v.find(r=>r.sheetID==t);if(!n||e=="Escape"&&!n.closeAtEscapeKeyDown)return;let c=E.get(n.sheetID);c&&c.close&&c.close(u)},closeGroup:t=>{let e=R.getSessionStates();if(!e)return;let{val_sheets:u}=e;t=(t||"").replace(/\./g,"-");for(let a of u)a.sheetGroups&&a.sheetGroups==t&&_.close(a.sheetID)},closeAll:t=>{let e=R.getSessionStates();if(!e)return;let{val_sheets:u}=e;for(let a of u)t&&!a.closeAtPageTransit||_.close(a.sheetID,"pageTransit",!0)},Body:t=>h(k,g({className:d("BaseBody"),backgroundColor:"layer.1",borderRadius:"1.tone.primary",position:"relative",boxShadow:"3.remark",transition:"long"},t))};export{_ as Sheet,_ as default};
1
+ import{b as g,c as T,d as G}from"../chunk-C5N2D3ZX.js";import{jsx as c,jsxs as $}from"react/jsx-runtime";import f,{UUID as Z,Time as le,useStore as E}from"jmini";import{useState as L,useEffect as X,useRef as pe}from"react";import{$$fromRoot as j,Config as K}from"../@utils";import{Box as k,Flex as he,Img as ie,FAI as ae,Column as oe}from"../atoms";import{Row as re}from"../mols";import{Button as se}from"./Button";import ce from"./Input";import{SheetClasses as d}from"../@styles/componentClasses";import ue from"./Effect";const R={currentIndex:0,openQueue:{},getSessionStates:()=>{let t=E.get("sessionStates-"+K.get().sessionUID);return t||null},getNewSheetStates:t=>{var a;let e=T(g({sheetGroups:t.sheetGroups||[],backgroundEffect:!0,overwrap:t.type=="custom",hold_state:!1,closeAtPageTransit:!0,closeAtEscapeKeyDown:!0,closeAtAroundClick:t.type=="custom"},t),{sheetID:t.sheetID||Z(),isOpen:!0,created_at:le()});if(e.type=="custom"){let l=e;l.parent=l.parent||((a=l==null?void 0:l.event)==null?void 0:a.currentTarget),e=l}return e}},J={Wrapper:()=>{let[t,e]=L([]),a={val_sheets:t,set_sheets:e},l="sessionStates-"+K.get().sessionUID;E.set({[l]:a}),X(()=>{let n="Sheet-"+K.get().sessionUID;E.set({[n]:{add:(u,r)=>{let p=E.get(n);if(!p)return;let s=R.getNewSheetStates(u);if(R.openQueue[s.sheetID])return;if(R.openQueue[s.sheetID]=!0,r!="inherit"&&(s.isOpen=r!=null?r:!0),!!p.find(s.sheetID)){e(C=>{let b=[...C],w=b.findIndex(M=>M.sheetID==s.sheetID);return w==-1||(b[w]=s),b}),delete R.openQueue[s.sheetID];return}e(C=>[s,...C])},find:u=>{let r=R.getSessionStates();if(!r)return null;let{val_sheets:p}=r;return p.find(s=>s.sheetID==u)}}}),f(K.get().appRoot).addEvent({eventType:"keyup",eventID:"SheetEvent.keyUp",callback:function(u){let{key:r,metaKey:p}=u;if(r=="Escape"||r==","&&p){let s=R.getSessionStates();if(!s)return;let{val_sheets:S}=s,C=S.filter(w=>w.isOpen);if(!C.length)return;let b=C.reduce((w,M)=>w.created_at.value>M.created_at.value?w:M);_.close(b.sheetID,r)}}}).addEvent({eventType:"click",eventID:"SheetEvent.Click",callback:function(u){let r=R.getSessionStates();if(!r)return;let{val_sheets:p}=r,s=u.target;if(!s||s!=null&&s.closest("."+d("CustomSheet")))return;let S=p.filter(C=>C.type=="custom");S.length&&S.forEach(C=>{let{parent:b}=C;if(!C.closeAtAroundClick)return;let w=j(b)[0];b!==s&&w!==s&&(f(w).find(s).length||_.close(C.sheetID))})}})},[]);let v=t.map(n=>c(J.Core,T(g({},a),{val_sheet:n,patch_sheet:u=>{e(r=>{let p=[...r],s=p.findIndex(S=>S.sheetID==n.sheetID);return s==-1||(p[s]=g(g({},p[s]),u)),p})},delete_sheet:()=>{e(u=>{let r=[...u],p=r.findIndex(s=>s.sheetID==n.sheetID);return p==-1||r.splice(p,1),r})}}),n.sheetID));return c(k,{className:["AMOTIFY_be",d("Wrapper")].join(" "),children:v})},Core:t=>{let{val_sheet:e,patch_sheet:a}=t,[l,v]=L(R.currentIndex+2),[n]=L(Z()),u=e.type!="custom"&&!e.overwrap;X(()=>{R.currentIndex++,f.scope(()=>{if(!e.closeAtParentBlur)return;let S=f(e.parent);S[0]&&S.addEvent({eventID:"SheetClosation-"+e.sheetID,eventType:"mouseout",callback:()=>{S.removeEvent("SheetClosation-"+e.sheetID),a({isOpen:!1})}})}),E.set({[e.sheetID]:{resize:S=>{if(e.type=="drawer.bottom"){let C=E.get(n);C&&C.resize&&C.resize(S)}else(e.type.includes("normal")||e.type.includes("drawer"))&&a({size:S})},close:S=>{a({isOpen:!1})},open:()=>{a({isOpen:!0})}}})},[]),X(()=>{f.scope(()=>{let S=j("#"+n);if(e.isOpen){e.hold_state&&v(R.currentIndex+1),S.await(10).removeClass(d("Hide")).await(10).addClass(d("Open")).callback(()=>{delete R.openQueue[e.sheetID],e.openAfter&&e.openAfter()});return}S.await(10).removeClass(d("Open")).await(251).addClass(d("Hide")).callback(()=>{if(e.closeAfter&&e.closeAfter(),u&&K.get().browserIs!="safari"&&f(K.get().appRoot).focus(),e.hold_state)return a({isOpen:!1});t.delete_sheet()})})},[e.isOpen]);let[r,p]=e.type.split("."),s=J.Types[{"normal.topLeft":"Normal","normal.topCenter":"Normal","normal.topRight":"Normal","normal.middleLeft":"Normal","normal.middleCenter":"Normal","normal.middleRight":"Normal","normal.bottomLeft":"Normal","normal.bottomCenter":"Normal","normal.bottomRight":"Normal",image:"Normal","drawer.left":"Edge","drawer.right":"Edge","drawer.bottom":"Bottom",custom:"Custom"}[e.type]];return c(k,{className:[d("Wrap"),d("Tcate_"+r),d("Tpos_"+p),d("isMainSheet_"+u)].join(" "),width:1,ssAbsoluteCovered:!0,freeCSS:{zIndex:l},id:n,children:$(oe,{className:d("Content"),gap:0,height:"viewHeight",overflow:"auto",transition:"middle",children:[!!u&&c(J.TapSensor,{sheetID:e.sheetID,delegateAroundClick:e.closeAtAroundClick}),c(s,g({componentID:n},e))]})},n)},Types:{Normal:t=>{let H=t,{sheetID:e,sheetGroups:a,bodyScrolls:l,content:v,className:n="",type:u,size:r="R",freeCSS:p,openAfter:s,closeAfter:S,closeAtAroundClick:C,closeAtEscapeKeyDown:b,closeAtPageTransit:w,closeAtParentBlur:M,closeAtSwipeDown:Y,hold_state:q,overwrap:ee,isOpen:te,backgroundEffect:W}=H,U=G(H,["sheetID","sheetGroups","bodyScrolls","content","className","type","size","freeCSS","openAfter","closeAfter","closeAtAroundClick","closeAtEscapeKeyDown","closeAtPageTransit","closeAtParentBlur","closeAtSwipeDown","hold_state","overwrap","isOpen","backgroundEffect"]),[F,D]=u.split("."),I={},A=[];return D.match(/top/)?(A.push("top"),I.marginBottom="auto"):D.match(/middle/)?(A.push("center"),I.marginTop="auto",I.marginBottom="auto"):D.match(/bottom/)&&(A.push("bottom"),I.marginTop="auto"),D.match(/left/i)?(A.push("left"),I.marginRight="auto"):D.match(/center/i)?(A.push("center"),I.marginLeft="auto",I.marginRight="auto"):D.match(/right/i)&&(A.push("right"),I.marginLeft="auto"),c(k,T(g(g({className:[d("BB"),n].join(" "),padding:1,transition:"long",opacity:"trans"},U),I),{freeCSS:g({width:{S:"26rem",R:"36rem",L:"44rem","2L":"60rem","3L":"72rem",MAX:"100%"}[r],maxWidth:"96vw",transformOrigin:A.join(" ")},p),children:f.is.function(v)?c(v,{}):v}))},Edge:t=>{let U=t,{sheetID:e,sheetGroups:a,bodyScrolls:l,type:v,content:n,className:u="",size:r="R",openAfter:p,closeAfter:s,closeAtAroundClick:S,closeAtEscapeKeyDown:C,closeAtPageTransit:b,closeAtParentBlur:w,closeAtSwipeDown:M,hold_state:Y,overwrap:q,isOpen:ee,backgroundEffect:te}=U,W=G(U,["sheetID","sheetGroups","bodyScrolls","type","content","className","size","openAfter","closeAfter","closeAtAroundClick","closeAtEscapeKeyDown","closeAtPageTransit","closeAtParentBlur","closeAtSwipeDown","hold_state","overwrap","isOpen","backgroundEffect"]);return c(k,T(g(T(g({className:[d("BB"),u].join(" ")},v=="drawer.right"?{marginLeft:"auto"}:v=="drawer.left"?{marginRight:"auto"}:{}),{opacity:"trans",transition:"long",position:"relative",backgroundColor:"layer.1",flexSizing:"none",minHeight:"viewHeight",boxShadow:"3.remark"}),W),{freeCSS:g({width:{S:"20rem",R:"27rem",L:"32rem","2L":"40rem","3L":"58rem",MAX:"100vw"}[r],maxWidth:"96vw"},W.freeCSS),children:f.is.function(n)?c(n,{}):n}))},Bottom:t=>{let V=t,{componentID:e,sheetID:a,sheetGroups:l,bodyScrolls:v,content:n,size:u="R",sizeChanged:r,baseStyles:p,openAfter:s,closeAfter:S,closeAtAroundClick:C,closeAtEscapeKeyDown:b,closeAtPageTransit:w,closeAtParentBlur:M,closeAtSwipeDown:Y=!0,hold_state:q,overwrap:ee,isOpen:te,backgroundEffect:W}=V,U=G(V,["componentID","sheetID","sheetGroups","bodyScrolls","content","size","sizeChanged","baseStyles","openAfter","closeAfter","closeAtAroundClick","closeAtEscapeKeyDown","closeAtPageTransit","closeAtParentBlur","closeAtSwipeDown","hold_state","overwrap","isOpen","backgroundEffect"]),F=f.getScreenSize(),D=[0,.2,.6,.95],I={ZERO:0,S:1,R:2,L:3},[A,H]=L(u),[x,B]=L({process:!1,processStart:0,originY:0,originValue:0,viewHeight:0,value:D[I[u]]});E.update({[e]:{val_edit:x,resize:y=>{let m=D[I[y]];B(h=>T(g({},h),{value:m})),H(y)}}});const z={Start:y=>{f(document).addEvent({eventID:"BottomSheetMouseMove",eventType:"mousemove",callback:z.Move,options:{passive:!1}}).addEvent({eventID:"BottomSheetTouchMove",eventType:"touchmove",callback:z.Move,options:{passive:!1}}).addEvent({eventID:"BottomSheetMouseUp",eventType:"mouseup",callback:z.End}).addEvent({eventID:"BottomSheetTouchEnd",eventType:"touchend",callback:z.End});let m=f.getCursor(y),h=T(g({},x),{process:!0,processStart:new Date().getTime(),originY:m.y,originValue:x.value,viewHeight:f.getScreenSize().height});E.update({[e]:{val_edit:h}}),B(h)},Move:y=>{var O;let m=(O=E.get(e))==null?void 0:O.val_edit;if(!m.process)return;let N=(f.getCursor(y).y-m.originY)/m.viewHeight,o=m.originValue-N;if(o>.95)o=.95+(o-.95)*.5;else if(o<.2){let P=.2-o;P-=.1,o=.1+(.1-P)*.5}return B(T(g({},m),{value:o})),y.preventDefault(),y.stopPropagation(),!1},End:y=>{var o;let m=(o=E.get(e))==null?void 0:o.val_edit;if(!m.process)return;f(document).removeEvent(["BottomSheetMouseMove","BottomSheetTouchMove","BottomSheetMouseUp","BottomSheetTouchEnd"]);let h=0;if(m.value<.1||(m.value<.5?h=1:m.value>.75?h=3:h=2),new Date().getTime()-m.processStart<300){let O=f.getCursor(y).y-m.originY;if(Math.abs(O)>=20){let P=+(O<0)*2-1;h+=P,h=Math.min(Math.max(h,0),D.length-1)}}h==0&&(Y||(h=1)),H(["ZERO","S","R","L"][h]),B(T(g({},m),{value:D[h],process:!1}))}},Q=pe(!1);return X(()=>{Q.current?A=="ZERO"?Y&&_.close(a):setTimeout(()=>{t.sizeChanged&&t.sizeChanged(A)},250):Q.current=!0},[A]),c(k,{className:d("BB"),margin:[0,"auto"],marginTop:"auto",opacity:"trans",width:1,transition:"long",freeCSS:g({maxWidth:12*60,height:F.height*x.value},x.process?{transition:"0s"}:{}),children:$(oe,T(g({gap:0,flexSizing:"none",borderTopLeftRadius:"1.tone.primary",borderTopRightRadius:"1.tone.primary",borderBottom:"unset",boxShadow:"3.remark",position:"relative",overflow:"hidden",height:1},p),{children:[$(re.Separate,{padding:1,backgroundColor:"layer.1",position:"relative",freeCSS:{userSelect:"none"},children:[c(k,{ssSphere:2.5}),c(re.Center,{onPointerDown:z.Start,flexSizing:0,padding:"2/3",ssPushable:!0,isRounded:!0,freeCSS:{cursor:"grab",userSelect:"none"},children:c(k,{unitWidth:6,unitHeight:"1/2",backgroundColor:"layer.4",isRounded:!0,className:d("DragBar")})}),c(se.Sub,{color:"cloud",ssSphere:2.5,onClick:()=>{_.close(a)},children:c(ae.Times,{})})]}),c(k,T(g({backgroundColor:"layer.1",flexSizing:0,overflow:"auto"},U),{children:f.is.function(n)?c(n,{}):n}))]}))})},Custom:t=>{let V=t,{sheetID:e,sheetGroups:a,bodyScrolls:l,event:v,parent:n,nextToCursor:u,gravityPoint:r=22,content:p,closeAtAroundClick:s,closeAtEscapeKeyDown:S,closeAtPageTransit:C,closeAtParentBlur:b,closeAtSwipeDown:w,hold_state:M,openAfter:Y,closeAfter:q,overwrap:ee,isOpen:te,resize:W,backgroundEffect:U}=V,F=G(V,["sheetID","sheetGroups","bodyScrolls","event","parent","nextToCursor","gravityPoint","content","closeAtAroundClick","closeAtEscapeKeyDown","closeAtPageTransit","closeAtParentBlur","closeAtSwipeDown","hold_state","openAfter","closeAfter","overwrap","isOpen","resize","backgroundEffect"]),[D]=L(Z()),I=f.is.element(n)||f.is.jmini(n)?f(n):j(n),A='[data-sheet-id="'+D+'"]',H='[data-sheet-content="'+D+'"]';r=r;let x=r%5||5,B=Math.ceil(r/5);const z={Init:()=>{if(u&&v){let i=f.getScreenSize(),ne=f.getCursor(v);return{top:ne.y-i.pageYOffset,left:ne.x-i.pageXOffset}}let y={};if(!I||!I[0])return y;let{top:m,right:h,bottom:N,left:o,height:O,width:P}=I.position();return[1,2].includes(x)?y.left=o:x==3?y.left=o+P/2:[4,5].includes(x)&&(y.left=h),r<=10?y.top=m:r<=15?y.top=m+O/2:r<=25&&(y.top=N),y},Adjust:()=>{let y=j(A).position(),m=j(H).position(),h=I.position(),N=f.getScreenSize(),o={};for(let i in m)o[i]=m[i];if(f.scope(()=>{if(t.nextToCursor)return;let i=0;B==1?i=h.top-o.bottom:B==2?i=h.top-o.top:B==3?i=h.top-o.top+(h.height-o.height)/2:B==4?i=h.bottom-o.bottom:B==5&&(i=h.bottom-o.top),o.top+=i,o.bottom+=i}),f.scope(()=>{if(t.nextToCursor)return;let i=0;x==1?i=h.left-o.right:x==2?i=h.left-o.left:x==3?i=h.left-o.left+(h.width-o.width)/2:x==4?i=h.right-o.right:x==5&&(i=h.right-o.left),o.left+=i,o.right+=i}),o.top<0){let i=-o.top;o.top+=i,o.bottom+=i}if(o.bottom>N.height){let i=o.bottom-N.height;o.top-=i,o.bottom-=i}if(o.left<0){let i=-o.left;o.left+=i,o.right+=i}if(o.right>N.width){let i=o.right-N.width;o.left-=i,o.right-=i}let O=o.top-m.top,P=o.left-m.left;f(A).css({top:y.top+O+"px",left:y.left+P+"px"})}};let[Q]=L(z.Init());return X(()=>{j(A).await(10).addClass(d("Open")).await(200).callback(()=>{(W==null||W)&&z.Adjust()}),E.update({["customSheet-"+t.sheetID]:{reposition:()=>{z.Adjust()}}})},[]),I[0]?c(k,{className:[d("BB"),d("CustomSheet")].join(" "),"data-sheet-id":D,transition:"long",position:"absolute",width:0,height:0,opacity:"trans",flexCenter:!0,freeCSS:Q,children:c(he,{position:"absolute",className:[d("GPT"),d("GPT_"+r),d("Col_"+x),d("Row_"+B)].join(" "),children:c(k,T(g({"data-sheet-content":D,flexSizing:"none",maxHeight:"viewHeight"},F),{freeCSS:g({maxWidth:"98vw"},F.freeCSS),children:f.is.function(p)?c(p,{}):p}))})}):null}},TapSensor:t=>c(k,{className:d("TapSensor"),children:c(se.Plain,{className:d("TapContent"),onClick:e=>{var a;(a=t.delegateAroundClick)!=null&&a&&_.close(t.sheetID)},freeCSS:{cursor:"default",pointerEvents:"all"}})})},_={Wrapper:()=>c(J.Wrapper,{}),Element:t=>{let v=t,{isOpen:e,children:a}=v,l=G(v,["isOpen","children"]);return X(()=>{if(e){_.open(T(g({},l),{content:a}));return}l.sheetID&&_.close(l.sheetID)},[e]),null},open:(t,e)=>{if(t.sheetID=(t.sheetID||"").replace(/\./g,"-"),t.type=="image"){let v=t.sheetID||Z(),l=t,{type:n,src:u}=l,r=G(l,["type","src"]);_.open(T(g({type:"normal.topCenter",size:"MAX",backgroundColor:"trans",height:"viewHeight"},r),{sheetID:v,freeCSS:{maxWidth:"96vw",transformOrigin:"top"},content:()=>{let[p]=L(f.flatArray(u)),[s,S]=L(0),C=[];return p.forEach((b,w)=>{C.push({value:w,label:c(ie,{src:f.flatArray(b)[0],width:"auto",height:1,borderRadius:"3.tone.tertiary",freeCSS:{maxWidth:12*6,maxHeight:12*3}})})}),$(oe,{gap:0,height:1,position:"relative",children:[$(re.Separate,{position:"absolute",top:0,left:0,right:0,padding:[1,2],freeCSS:{zIndex:2},children:[c(ce.Radio,{icon:!1,value:s,override:"force",horizontalAlign:"center",onUpdateValidValue:b=>{S(b)},cellStyles:{border:!0,borderWidth:2,padding:"1/3",paddingRight:"1/3",boxShadow:"2.normal",gap:0},cellCheckedStyles:{borderColor:"theme"},options:C}),c(se.Sub.S,{color:"cloud",ssSphere:3,onClick:()=>{_.close(v)},children:c(ae.Times,{})})]}),c(ue.FadeIn,{flexCenter:!0,flexSizing:0,overflow:"auto",children:c(ie,{width:"auto",height:"auto",maxWidth:1,maxHeight:1,src:p[s]})},s)]})}}));return}let a=E.get("Sheet-"+K.get().sessionUID);a&&a.add(t,e)},resize:t=>{t.sheetID=(t.sheetID||"").replace(/\./g,"-");let e=E.get(t.sheetID);e&&e.resize&&e.resize(t.size)},customSheet:{reposition:t=>{let e=E.get("customSheet-"+t);e&&e.reposition&&e.reposition()}},close:function(t,e,a){let l=R.getSessionStates();if(!l)return;let{val_sheets:v}=l;t=t==null?void 0:t.replace(/\./g,"-");let n=v.find(r=>r.sheetID==t);if(!n||e=="Escape"&&!n.closeAtEscapeKeyDown)return;let u=E.get(n.sheetID);u&&u.close&&u.close(a)},closeGroup:t=>{let e=R.getSessionStates();if(!e)return;let{val_sheets:a}=e;t=(t||"").replace(/\./g,"-");for(let l of a)l.sheetGroups&&l.sheetGroups==t&&_.close(l.sheetID)},closeAll:t=>{let e=R.getSessionStates();if(!e)return;let{val_sheets:a}=e;for(let l of a)t&&!l.closeAtPageTransit||_.close(l.sheetID,"pageTransit",!0)},Body:t=>c(k,g({className:d("BaseBody"),backgroundColor:"layer.1",borderRadius:"1.tone.primary",position:"relative",boxShadow:"3.remark",transition:"long"},t))};export{_ as Sheet,_ as default};
@@ -1 +1 @@
1
- import{b as m,d as v}from"../chunk-C5N2D3ZX.js";import{jsx as y}from"react/jsx-runtime";import H,{UUID as w,useStore as c}from"jmini";import{useState as g,useEffect as I,useRef as _}from"react";import{$$fromRoot as r}from"../@utils";import{Box as A}from"../atoms";import{AccordionClasses as D}from"../@styles/componentClasses";const E=e=>{e=m({},e);let h=e,{accordionID:t="",slideAnimation:u="fast",defaultOpen:l=!1,override:C=!1}=h,R=v(h,["accordionID","slideAnimation","defaultOpen","override"]),[f]=g(w()),[d]=g(w()),[s,a]=g(l);s!=l&&C&&a(l);const x=_(!1);return I(()=>{let n=r('[data-accordion-content-id="'+d+'"]')[0];if(n){let i=n.offsetHeight,o=0;u=="fast"?(o=i/1e3,o=Math.max(o,.2)):u=="slow"&&(o=i/300),r("#"+f).css({transition:o+"s"})}},[]),I(()=>{let n=r("#"+f),i=r('[data-accordion-content-id="'+d+'"]')[0];if(x.current){if(i){let o=i.offsetHeight;H.is.exist(o)&&(s?n.css({maxHeight:o+1+"px"}).await(200).css({maxHeight:"unset",overflow:(e==null?void 0:e.overflow)||"unset"}):n.css({maxHeight:o+1+"px"}).await(100).css({maxHeight:"0px",overflow:"hidden"}))}}else if(x.current=!0,i){let o=i.offsetHeight;H.is.exist(o)&&(s?n.css({maxHeight:o+1+"px"}).await(200).css({maxHeight:"unset",overflow:(e==null?void 0:e.overflow)||"unset"}):n.css({maxHeight:"0px",overflow:"hidden"}))}},[s]),t&&c.set({["Accordion-"+t]:{open:()=>{a(!0)},close:()=>{a(!1)},toggle:()=>{a(!s)}}}),y(A,{className:[D("Wrap"),D("Open_"+s)].join(" "),id:f,children:y(A,m({"data-accordion-content-id":d},R))})},p=E;p.fn={open:e=>{let t=c.get("Accordion-"+e);!t||t.open()},close:e=>{let t=c.get("Accordion-"+e);!t||t.close()},toggle:e=>{let t=c.get("Accordion-"+e);!t||t.toggle()}};export{p as Accordion,p as default};
1
+ import{b as g,d as A}from"../chunk-C5N2D3ZX.js";import{jsx as _}from"react/jsx-runtime";import s,{UUID as D,useStore as a}from"jmini";import{useState as l,useEffect as w,useRef as $}from"react";import{$$fromRoot as d}from"../@utils";import{Box as H}from"../atoms";import{AccordionClasses as R}from"../@styles/componentClasses";const b=e=>{e=g({},e);let x=e,{accordionID:o="",slideAnimation:h="fast",defaultOpen:f=!1,override:C=!1}=x,y=A(x,["accordionID","slideAnimation","defaultOpen","override"]),[p]=l(D()),[m]=l(D()),[r,c]=l(f),[F,E]=l(0);C&&r!=f&&c(f);const v=$(!1);return w(()=>{s.scope(()=>{let t=d('[data-accordion-content-id="'+m+'"]')[0];if(!t)return;let i=t.offsetHeight;E(i);let n=0;h=="fast"?(n=i/1e3,n=Math.max(n,.2)):h=="slow"&&(n=i/300),d("#"+p).css({transition:n+"s"})}),s.scope(()=>{o&&a.set({["Accordion-"+o]:{open:()=>{c(!0)},close:()=>{c(!1)},toggle:()=>{c(t=>!t)}}})})},[]),w(()=>{let t=d("#"+p),i=d('[data-accordion-content-id="'+m+'"]')[0],n=!1;v.current||(n=!0,v.current=!0),s.scope(()=>{if(!i)return;let I=i.offsetHeight;s.is.nullish(I)||(F&&t.css({maxHeight:I+1+"px"}).await(100),r?t.css({maxHeight:"unset",overflow:(e==null?void 0:e.overflow)||"unset"}):t.css({maxHeight:"0px",overflow:"hidden"}))})},[r]),_(H,{className:[R("Wrap"),R("Open_"+r)].join(" "),id:p,children:_(H,g({"data-accordion-content-id":m},y))})},u=b;u.fn={open:e=>{let o=a.get("Accordion-"+e);!o||o.open()},close:e=>{let o=a.get("Accordion-"+e);!o||o.close()},toggle:e=>{let o=a.get("Accordion-"+e);!o||o.toggle()}};export{u as Accordion,u as default};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "amotify",
3
- "version": "0.2.136",
3
+ "version": "0.2.137",
4
4
  "description": "UI Component for React,NextJS,esbuild",
5
5
  "scripts": {
6
6
  "start": "run-p clean build:*",
@@ -90,7 +90,7 @@
90
90
  "@fortawesome/free-solid-svg-icons": "^6.6.0",
91
91
  "@fortawesome/react-fontawesome": "^0.2.0",
92
92
  "dotenv": "^16.4.6",
93
- "jmini": "^0.0.32",
93
+ "jmini": "^0.0.33",
94
94
  "react": "^18.3.1"
95
95
  },
96
96
  "devDependencies": {