amotify 0.2.190 → 0.2.191
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.
|
@@ -2784,17 +2784,23 @@ let DesignBook = () => {
|
|
|
2784
2784
|
// />
|
|
2785
2785
|
// </Column>
|
|
2786
2786
|
|
|
2787
|
+
let array = [
|
|
2788
|
+
'西暦',
|
|
2789
|
+
'和暦',
|
|
2790
|
+
'中華民国',
|
|
2791
|
+
'イスラム暦',
|
|
2792
|
+
]
|
|
2793
|
+
|
|
2794
|
+
let [ val_value,set_value ] = useState( "" )
|
|
2795
|
+
|
|
2787
2796
|
return <Plate
|
|
2788
2797
|
padding={ 3 }
|
|
2789
2798
|
size="XS"
|
|
2790
2799
|
>
|
|
2791
2800
|
<Column>
|
|
2792
|
-
|
|
2793
|
-
|
|
2794
|
-
|
|
2795
|
-
onUpdateValidValue={ value => {
|
|
2796
|
-
console.log( value )
|
|
2797
|
-
} }
|
|
2801
|
+
{ val_value }
|
|
2802
|
+
<Input.Checker
|
|
2803
|
+
label='Checker'
|
|
2798
2804
|
/>
|
|
2799
2805
|
</Column>
|
|
2800
2806
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{b as S,c as O,d as Y,e as Z}from"../../chunk-C5N2D3ZX.js";import{Fragment as J,jsx as l,jsxs as A}from"react/jsx-runtime";import{useState as I,useEffect as R,useRef as re}from"react";import u,{UUID as E}from"jmini";import{ExtractStyles as ie}from"../../@utils";import{Box as x,Span as se,FAI as q,Column as ee}from"../../atoms";import{Literal as P,Row as K}from"../../mols";import{Button as te}from"../Button";import{Loader as ce}from"../Loader";import{Sheet as ue}from"../Sheet";import{OptionalInputWrapper as pe,BoxWrapper as de,CoreEffects as W,DefaultBoxishStyles as Se}from"./core";import{InputAutocompleteClasses as z}from"../../@styles/componentClasses";import{InputLabel as me}from"./Label";import{RightIcon as oe}from".";function fe(e){let{value:t,states:c}=e,{required:p,options:n,min:r,max:m}=c;r=r||0,m=m||65535;let o=[],h=t.filter(i=>i!==null).length;return p&&(h||o.push({type:"invalid",label:"\u5FC5\u9808\u9805\u76EE\u3067\u3059"})),h<r&&o.push({type:"invalid",label:r+"\u500B\u4EE5\u4E0A\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044"}),h>m&&o.push({type:"invalid",label:m+"\u500B\u307E\u3067\u9078\u629E\u3067\u304D\u307E\u3059"}),{ok:!o.filter(({type:i})=>i=="invalid").length,notice:o}}const N={InitOptions:e=>{let t=[];return e.forEach(c=>{if(!c)return;let{type:p,label:n,value:r,searchValue:m}=c,o=m||u.is.string(n)&&n||""||u.is.string(r)&&r||u.Stringify(r||"")||"";u.is.nullish(n)&&(n=String(r)),t.push(O(S({id:E()},c),{searchValue:o,type:p||"selector",label:n,value:r}))}),t},FilterSelectableOptions:(e,t,c)=>{let p=e;return c||(p=e.filter(n=>(n==null?void 0:n.type)!="label")),u.scope(()=>{if(!t)return;let n=t.toLower().replace(/ /g,"");p=p.filter(r=>(r.searchValue||"").toLower().replace(/ /g,"").includes(n))}),p}},L={Shallow:e=>{let{rootStates:t,val_status:c}=e,p=ie(t);return l(x,{position:"absolute",top:0,left:0,right:0,height:0,overflow:"hidden",opacity:"trans",freeCSS:{zIndex:3,pointerEvents:"none"},children:l(P.Description,O(S({className:t.className},p),{position:"absolute",width:1,freeCSS:O(S({},p.freeCSS),{color:"orange"}),"data-id":"shallow_"+c.componentId,children:l(x,{"data-input-value-shallow":c.componentId,children:"A"})}))})},Button:e=>{let{rootStates:t,val_keyword:c,set_keyword:p,val_optionFocused:n,set_optionFocused:r,val_options:m,set_options:o,val_optionsDict:h,set_optionsDict:i,val_preventOpenSelectorOnFocus:s,set_preventOpenSelectorOnFocus:d,val_selectorOpen:a,set_selectorOpen:f,val_status:v,set_status:C,val_validate:g,set_validate:_}=e,G=t,{tone:D,required:w,form:V,className:U,multiSelect:j,enableFormSubmit:B,checkValidationAtFirst:H,onValidate:X,onValidateDelay:M,onUpdateValue:F,onUpdateValidValue:k,value:ve="",options:ye,leftIndicator:he,rightIndicator:ge,leftIcon:_e,rightIcon:be,componentId:Oe,status_id:Ie,wrapStyles:Ce,emptySelect:De,SearchInput:we,SearchInputPlaceholder:Ve,SelectedComponent:ke,SelectorComponent:Te,SelectorStyles:Re,SelectorPosition:xe,DynamicOptionsOnSearch:Ae,DynamicOptionsOnSearchDelay:Fe}=G,b=Y(G,["tone","required","form","className","multiSelect","enableFormSubmit","checkValidationAtFirst","onValidate","onValidateDelay","onUpdateValue","onUpdateValidValue","value","options","leftIndicator","rightIndicator","leftIcon","rightIcon","componentId","status_id","wrapStyles","emptySelect","SearchInput","SearchInputPlaceholder","SelectedComponent","SelectorComponent","SelectorStyles","SelectorPosition","DynamicOptionsOnSearch","DynamicOptionsOnSearchDelay"]);return R(()=>{var T;if(t.disabled||!a)return;let y=N.FilterSelectableOptions(e.val_options,c,!1);r(((T=y[0])==null?void 0:T.id)||"")},[c]),R(()=>{v.eventType!="init"&&(t.max==v.dataValue.length?(f(!1),d(!0),setTimeout(()=>{let y=u('[data-input-origin="'+t.componentId+'"]');y&&y.focus()},10)):u("#SearchInput_"+t.componentId).focus())},[v.dataValue]),R(()=>{let y="autocomplete-click-"+t.componentId;if(a){if(!u('[data-input-origin="'+t.componentId+'"]'))return;u("#SearchInput_"+t.componentId).focus(),u(document).addEvent({eventID:y,eventType:"mousedown",callback:$=>{let Q=u($.target),le=!!u(Q).parent("."+z("Core")).length,ne=!!u(Q).parent("."+z("Selector")).length;le||ne||(f(!1),$.preventDefault(),$.stopPropagation())},options:{passive:!1}})}else u(document).removeEvent([y]),p("")},[a]),A(J,{children:[l(x,O(S({tabIndex:0},b),{"data-disabled":t.disabled,"data-show-validation":W.isShowValidation(g,v,!!H),"data-component-id":v.componentId,"data-input-origin":v.componentId,"data-focus":!!a,className:[U,z("Core")].join(" "),onFocus:y=>{if(b!=null&&b.onFocus&&(b==null||b.onFocus(y)),!t.disabled){if(s)return d(!1);f(!0),y.preventDefault()}},onClick:y=>{b!=null&&b.onClick&&(b==null||b.onClick(y)),!t.disabled&&f(!0)},onKeyDown:y=>{let{key:T}=y;B&&W.SubmitForm(y,V),!a&&(T==" "||T=="ArrowDown"||T=="ArrowUp"||T=="Enter")&&f(!0)},children:A(K.Left,{gap:0,children:[l(se,{width:0,overflow:"hidden",opacity:"trans",children:"A"}),A(K.Left,{flexWrap:!0,flexSizing:0,gap:"1/3",freeCSS:{letterSpacing:".5px"},children:[l(L.Selected,S({},e)),l(L.SearchInput,S({},e))]})]})})),a&&l(L.Selector,S({},e))]})},SearchInput:e=>{let{rootStates:t}=e,[c,p]=I(!1);return t.disabled||!e.val_selectorOpen?null:l(x,{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:n=>{t.onCompositionStart&&t.onCompositionStart(n),p(!0)},onCompositionEnd:n=>{t.onCompositionEnd&&t.onCompositionEnd(n),p(!1)},onKeyDown:n=>{let{key:r,metaKey:m,ctrlKey:o}=n,h=m||o;r=="Escape"?(e.set_selectorOpen(!1),e.set_preventOpenSelectorOnFocus(!0),setTimeout(()=>{let i=u('[data-input-origin="'+t.componentId+'"]');i&&i.focus()},10)):r=="Tab"?e.set_selectorOpen(!1):r==" "?u.scope(()=>{e.val_selectorOpen||e.val_keyword||(n.preventDefault(),e.set_selectorOpen(!0))}):r=="Backspace"?u.scope(()=>{if(e.val_keyword)return;let i=[...e.val_status.dataValue];i.pop(),e.set_status(s=>O(S({},s),{dataValue:i,eventType:"update",eventID:E()}))}):r=="Enter"&&u.scope(()=>{if(c)return;if(!e.val_selectorOpen)return e.set_selectorOpen(!0);let i=e.val_options.find(d=>(d==null?void 0:d.id)==e.val_optionFocused);if(!i)return;let{value:s}=i;e.set_status(d=>{let a=[...d.dataValue];return u.scope(()=>{if(s===null)return a=[];d.dataValue.includes(s)?a=a.filter(v=>v!==s):t.multiSelect?a.push(s):a=[s]}),O(S({},d),{dataValue:a,eventType:"update",eventID:E()})}),e.set_keyword(""),e.set_preventDynamicSearchOnKeywordChange(!0)}),u.scope(()=>{if(!["ArrowDown","ArrowUp"].includes(r))return;if(n.preventDefault(),!e.val_selectorOpen)return e.set_selectorOpen(!0);let i=r=="ArrowDown"?1:-1,s=N.FilterSelectableOptions(e.val_options),d=s.length-1,a=null;u.scope(()=>{var v,C,g,_,D,w;let f=s.findIndex(V=>(V==null?void 0:V.id)==e.val_optionFocused);if(f==-1&&(f=0),i==1){if(a=(v=s[0])==null?void 0:v.id,h){a=(C=s[d])==null?void 0:C.id;return}if(f==-1||f==d)return;a=(g=s[f+1])==null?void 0:g.id}else{if(a=(_=s[d])==null?void 0:_.id,h){a=(D=s[0])==null?void 0:D.id;return}if(f==-1||f==0)return;a=(w=s[f-1])==null?void 0:w.id}}),e.set_optionFocused(a)}),t.enableFormSubmit&&W.SubmitForm(n,e.rootStates.form)},onChange:n=>{let m=n.target.value;e.set_keyword(m)}},"searchInput")},Selector:e=>{var h;let[t,c]=I("idle"),[p,n]=I("idle");R(()=>{if(!e.val_selectorOpen||!e.rootStates.DynamicOptionsOnSearch)return;if(e.val_preventDynamicSearchOnKeywordChange)return e.set_preventDynamicSearchOnKeywordChange(!1);if(t=="idle")return c("ok");n("fetch");let i="autocomplete-search-"+e.rootStates.componentId;u.interval.once(()=>Z(void 0,null,function*(){var a;let s=yield e.rootStates.DynamicOptionsOnSearch(e.val_keyword);n("idle");let d=N.InitOptions(s||[]);e.set_options(d),e.set_optionFocused(((a=d[0])==null?void 0:a.id)||"")}),e.rootStates.DynamicOptionsOnSearchDelay||300,i)},[e.val_keyword]),R(()=>{let i=u(`[data-selector-id="${e.val_status.componentId}"]`)[0];if(!i)return;let s=u(`[data-autocomplete-input-value="${e.val_optionFocused}"]`)[0];s&&(i.scrollTop=s.offsetTop-24)},[e.val_optionFocused]);let r=[],m=N.FilterSelectableOptions(e.val_options,e.rootStates.DynamicOptionsOnSearch?"":e.val_keyword,!0);m.forEach((i,s)=>{if(!i)return;let{type:d,value:a}=i,f=e.val_optionFocused==i.id,v=e.val_status.dataValue.includes(a),C=e.rootStates.SelectorComponent;r.push(l(ee,{"data-autocomplete-input-value":i.id,children:l(C,{option:i,isFocused:f,isSelected:v,addCallback:()=>{e.set_status(g=>{let _=[...g.dataValue];return u.scope(()=>{if(a===null)return _=[];g.dataValue.includes(a)?_=_.filter(w=>w!==a):e.rootStates.multiSelect?_.push(a):_=[a]}),O(S({},g),{dataValue:_,eventType:"update",eventID:E()})})}})},i.id))}),m.length||(r=[l(P.Supplement,{padding:[0,1],fontColor:"4.thin",children:"\u5019\u88DC\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093"},"no-selector-notice")]),p=="fetch"&&(r=[A(K.Left,{padding:1,fontColor:"3.blur",children:[l(ce.Theme.R,{showInitial:!0}),l(P.Supplement,{children:"Loading..."})]},"loader")]);let o={position:"absolute",minWidth:1,freeCSS:{zIndex:1e3}};switch(e.rootStates.SelectorPosition){case 1:o.bottom="100%",o.left=0,o.paddingBottom="1/3";break;case 2:o.bottom="100%",o.right=0,o.paddingBottom="1/3";break;case 3:o.top="100%",o.left=0,o.paddingTop="1/3";break;case 4:o.top="100%",o.right=0,o.paddingTop="1/3";break;default:break}return l(x,O(S({},o),{children:l(ue.Body,O(S({className:z("Selector"),borderRadius:"2.tone.secondary",ssCardBox:!0,boxShadow:"1.normal",overflow:"auto","data-selector-id":e.val_status.componentId},e.rootStates.SelectorStyles),{freeCSS:S({maxHeight:12*24},(h=e.rootStates.SelectorStyles)==null?void 0:h.freeCSS),children:l(ee,{gap:"1/12",padding:[1,0],children:r})}))}))},Selected:e=>{let{rootStates:t,val_status:c,set_status:p,val_optionsDict:n}=e,r=[];return c.dataValue.forEach(m=>{let o=n[u.Stringify(m)];if(!o)return;let h=t.SelectedComponent,i=o.label;(o==null?void 0:o.value)===null&&(i=""),r.push(l(x,{className:z("SelectedCell"),children:l(h,{value:o==null?void 0:o.value,label:i,removeCallback:s=>{if(s.stopPropagation(),s.preventDefault(),t.disabled)return;let d=[...c.dataValue];d=d.filter(a=>a!==m),p(a=>O(S({},a),{dataValue:d,eventType:"update",eventID:E()}))}})},u.Stringify(o==null?void 0:o.value)||E()))}),l(J,{children:r})},Core:e=>{var H,X;let{value:t}=e,[c,p]=I(!1),[n,r]=I(!1),[m,o]=I(!1),[h,i]=I(""),[s,d]=I(e.options),[a,f]=I(((H=e.options.find(M=>{var F;return M.value===((F=e.value)==null?void 0:F[0])}))==null?void 0:H.id)||((X=e.options[0])==null?void 0:X.id)||""),[v,C]=I({}),[g,_]=I(W.DefaultStatus(e.componentId,t)),[D,w]=I({ok:!1,notice:[]}),V=re(!1);R(()=>{V.current?d(e.options):V.current=!0},[e.options]),R(()=>{if(!s.length)return;let M=[...s],F=S({},v);M.forEach(k=>{(k==null?void 0:k.type)!="label"&&(F[u.Stringify(k==null?void 0:k.value)]=k)}),C(F)},[s]);let U={rootStates:e,val_options:s,set_options:d,val_optionFocused:a,set_optionFocused:f,val_optionsDict:v,set_optionsDict:C,val_preventDynamicSearchOnKeywordChange:n,set_preventDynamicSearchOnKeywordChange:r,val_preventOpenSelectorOnFocus:c,set_preventOpenSelectorOnFocus:p,val_selectorOpen:m,set_selectorOpen:o,val_keyword:h,set_keyword:i,val_status:g,set_status:_,val_validate:D,set_validate:w},j=!!e.multiSelect;W.CommonEffects({type:j?"autocomplete.multi":"autocomplete.single",states:e,val_status:g,set_status:_,val_validate:D,set_validate:w,SystemValidation:fe});let B=g.dataValue.length&&g.dataValue[0]!==null;return B=B||m,A(de,{val_status:g,set_status:_,val_validate:D,states:e,children:[l(me,{componentId:e.componentId,fontSize:e.fontSize,required:e.required,label:e.label,isActive:B}),l(L.Shallow,S({},U)),l(L.Button,S({},U))]})}},ae=e=>{let t=S({},e);return t=O(S({value:[],min:0,max:65535,multiSelect:!0,SearchInput:!0,emptySelect:!0,SelectorComponent:({option:c,isSelected:p,isFocused:n,addCallback:r})=>c?(c==null?void 0:c.type)=="label"?l(J,{children:c.label}):l(te.Sub.S,{color:"cloud",backgroundColor:"trans",borderRadius:0,fontColor:"2.normal",textAlign:"left",padding:["1/2",1.5],isActive:n,isActiveStyles:{backgroundColor:"cloud"},onClick:m=>{r()},children:A(K.Left,{gap:"1/2",children:[p&&l(q.Check,{fontColor:"theme"}),l(P.Supplement,{transition:"short",children:c.label})]})}):null,SelectedComponent:({value:c,label:p,removeCallback:n})=>A(K.Left,{ssCardBox:"cloud",borderRadius:"2.tone.secondary",fontSize:"1.mini",padding:"1/2",gap:0,children:[l(x,{padding:[0,"1/4"],children:p}),l(te.Sub,{flexSizing:"none",color:"cloud",fontColor:"white",backgroundColor:"layer.5",isRounded:!0,padding:"1/4",onClick:n,freeCSS:{lineHeight:1,aspectRatio:"1/1"},children:l(q.X,{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:l(P.Supplement,{fontColor:"4.thin",children:"\u9078\u629E\u3092\u89E3\u9664"})},...t.options]),t.value=u.flatArray(t.value),t.options=N.InitOptions(t.options),u.is.nullish(t.rightIcon)&&(t.rightIcon=l(oe,{ssSphere:2,children:l(q.Search,{})}),t.disabled&&(t.rightIcon=l(oe,{ssSphere:2,fontColor:"5.translucent",children:l(q.Ban,{})}))),t.rightIcon&&(t=S({paddingRight:3},t)),t.leftIcon&&(t=S({paddingLeft:3},t)),l(pe,{componentId:t.componentId,children:L.Core,states:Se(t)})};export{ae as Autocomplete,ae as default};
|
|
1
|
+
import{b as S,c as O,d as Y,e as Z}from"../../chunk-C5N2D3ZX.js";import{Fragment as J,jsx as l,jsxs as A}from"react/jsx-runtime";import{useState as I,useEffect as R,useRef as re}from"react";import u,{UUID as L}from"jmini";import{ExtractStyles as ie}from"../../@utils";import{Box as x,Span as se,FAI as q,Column as ee}from"../../atoms";import{Literal as K,Row as W}from"../../mols";import{Button as te}from"../Button";import{Loader as ce}from"../Loader";import{Sheet as ue}from"../Sheet";import{OptionalInputWrapper as pe,BoxWrapper as de,CoreEffects as z,DefaultBoxishStyles as Se}from"./core";import{InputAutocompleteClasses as N}from"../../@styles/componentClasses";import{InputLabel as me}from"./Label";import{RightIcon as oe}from".";function fe(e){let{value:t,states:c}=e,{required:p,options:n,min:r,max:m}=c;r=r||0,m=m||65535;let o=[],h=t.filter(i=>i!==null).length;return p&&(h||o.push({type:"invalid",label:"\u5FC5\u9808\u9805\u76EE\u3067\u3059"})),h<r&&o.push({type:"invalid",label:r+"\u500B\u4EE5\u4E0A\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044"}),h>m&&o.push({type:"invalid",label:m+"\u500B\u307E\u3067\u9078\u629E\u3067\u304D\u307E\u3059"}),{ok:!o.filter(({type:i})=>i=="invalid").length,notice:o}}const U={InitOptions:e=>{let t=[];return e.forEach(c=>{if(!c)return;let{type:p,label:n,value:r,searchValue:m}=c,o=m||u.is.string(n)&&n||""||u.is.string(r)&&r||u.Stringify(r||"")||"";u.is.nullish(n)&&(n=String(r)),t.push(O(S({id:L()},c),{searchValue:o,type:p||"selector",label:n,value:r}))}),t},FilterSelectableOptions:(e,t,c)=>{let p=e;return c||(p=e.filter(n=>(n==null?void 0:n.type)!="label")),u.scope(()=>{if(!t)return;let n=t.toLower().replace(/ /g,"");p=p.filter(r=>(r.searchValue||"").toLower().replace(/ /g,"").includes(n))}),p}},B={Shallow:e=>{let{rootStates:t,val_status:c}=e,p=ie(t);return l(x,{position:"absolute",top:0,left:0,right:0,height:0,overflow:"hidden",opacity:"trans",freeCSS:{zIndex:3,pointerEvents:"none"},children:l(K.Description,O(S({className:t.className},p),{position:"absolute",width:1,freeCSS:O(S({},p.freeCSS),{color:"orange"}),"data-id":"shallow_"+c.componentId,children:l(x,{"data-input-value-shallow":c.componentId,children:"A"})}))})},Button:e=>{let{rootStates:t,val_keyword:c,set_keyword:p,val_optionFocused:n,set_optionFocused:r,val_options:m,set_options:o,val_optionsDict:h,set_optionsDict:i,val_preventOpenSelectorOnFocus:s,set_preventOpenSelectorOnFocus:d,val_selectorOpen:a,set_selectorOpen:f,val_status:v,set_status:C,val_validate:g,set_validate:_}=e,G=t,{tone:D,required:w,form:V,className:H,multiSelect:j,enableFormSubmit:P,checkValidationAtFirst:M,onValidate:X,onValidateDelay:F,onUpdateValue:E,onUpdateValidValue:k,value:ve="",options:ye,leftIndicator:he,rightIndicator:ge,leftIcon:_e,rightIcon:be,componentId:Oe,status_id:Ie,wrapStyles:Ce,emptySelect:De,SearchInput:we,SearchInputPlaceholder:Ve,SelectedComponent:ke,SelectorComponent:Te,SelectorStyles:Re,SelectorPosition:xe,DynamicOptionsOnSearch:Ae,DynamicOptionsOnSearchDelay:Fe}=G,b=Y(G,["tone","required","form","className","multiSelect","enableFormSubmit","checkValidationAtFirst","onValidate","onValidateDelay","onUpdateValue","onUpdateValidValue","value","options","leftIndicator","rightIndicator","leftIcon","rightIcon","componentId","status_id","wrapStyles","emptySelect","SearchInput","SearchInputPlaceholder","SelectedComponent","SelectorComponent","SelectorStyles","SelectorPosition","DynamicOptionsOnSearch","DynamicOptionsOnSearchDelay"]);return R(()=>{var T;if(t.disabled||!a)return;let y=U.FilterSelectableOptions(e.val_options,c,!1);r(((T=y[0])==null?void 0:T.id)||"")},[c]),R(()=>{v.eventType!="init"&&(t.max==v.dataValue.length?(f(!1),d(!0),setTimeout(()=>{let y=u('[data-input-origin="'+t.componentId+'"]');y&&y.focus()},10)):u("#SearchInput_"+t.componentId).focus())},[v.dataValue]),R(()=>{let y="autocomplete-click-"+t.componentId;if(a){if(!u('[data-input-origin="'+t.componentId+'"]'))return;u("#SearchInput_"+t.componentId).focus(),u(document).addEvent({eventID:y,eventType:"mousedown",callback:$=>{let Q=u($.target),le=!!u(Q).parent("."+N("Core")).length,ne=!!u(Q).parent("."+N("Selector")).length;le||ne||(f(!1),$.preventDefault(),$.stopPropagation())},options:{passive:!1}})}else u(document).removeEvent([y]),p("")},[a]),A(J,{children:[l(x,O(S({tabIndex:0},b),{"data-disabled":t.disabled,"data-show-validation":z.isShowValidation(g,v,!!M),"data-component-id":v.componentId,"data-input-origin":v.componentId,"data-focus":!!a,className:[H,N("Core")].join(" "),onFocus:y=>{if(b!=null&&b.onFocus&&(b==null||b.onFocus(y)),!t.disabled){if(s)return d(!1);f(!0),y.preventDefault()}},onClick:y=>{b!=null&&b.onClick&&(b==null||b.onClick(y)),!t.disabled&&f(!0)},onKeyDown:y=>{let{key:T}=y;P&&z.SubmitForm(y,V),!a&&(T==" "||T=="ArrowDown"||T=="ArrowUp"||T=="Enter")&&f(!0)},children:A(W.Left,{gap:0,children:[l(se,{width:0,overflow:"hidden",opacity:"trans",children:"A"}),A(W.Left,{flexWrap:!0,flexSizing:0,gap:"1/3",freeCSS:{letterSpacing:".5px"},children:[l(B.Selected,S({},e)),l(B.SearchInput,S({},e))]})]})})),a&&l(B.Selector,S({},e))]})},SearchInput:e=>{let{rootStates:t}=e,[c,p]=I(!1);return t.disabled||!e.val_selectorOpen?null:l(x,{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:n=>{t.onCompositionStart&&t.onCompositionStart(n),p(!0)},onCompositionEnd:n=>{t.onCompositionEnd&&t.onCompositionEnd(n),p(!1)},onKeyDown:n=>{let{key:r,metaKey:m,ctrlKey:o}=n,h=m||o;r=="Escape"?(e.set_selectorOpen(!1),e.set_preventOpenSelectorOnFocus(!0),setTimeout(()=>{let i=u('[data-input-origin="'+t.componentId+'"]');i&&i.focus()},10)):r=="Tab"?e.set_selectorOpen(!1):r==" "?u.scope(()=>{e.val_selectorOpen||e.val_keyword||(n.preventDefault(),e.set_selectorOpen(!0))}):r=="Backspace"?u.scope(()=>{if(e.val_keyword)return;let i=[...e.val_status.dataValue];i.pop(),e.set_status(s=>O(S({},s),{dataValue:i,eventType:"update",eventID:L()}))}):r=="Enter"&&u.scope(()=>{if(c)return;if(!e.val_selectorOpen)return e.set_selectorOpen(!0);let i=e.val_options.find(d=>(d==null?void 0:d.id)==e.val_optionFocused);if(!i)return;let{value:s}=i;e.set_status(d=>{let a=[...d.dataValue];return u.scope(()=>{if(s===null)return a=[];d.dataValue.includes(s)?a=a.filter(v=>v!==s):t.multiSelect?a.push(s):a=[s]}),O(S({},d),{dataValue:a,eventType:"update",eventID:L()})}),e.set_keyword(""),e.set_preventDynamicSearchOnKeywordChange(!0)}),u.scope(()=>{if(!["ArrowDown","ArrowUp"].includes(r))return;if(n.preventDefault(),!e.val_selectorOpen)return e.set_selectorOpen(!0);let i=r=="ArrowDown"?1:-1,s=U.FilterSelectableOptions(e.val_options),d=s.length-1,a=null;u.scope(()=>{var v,C,g,_,D,w;let f=s.findIndex(V=>(V==null?void 0:V.id)==e.val_optionFocused);if(f==-1&&(f=0),i==1){if(a=(v=s[0])==null?void 0:v.id,h){a=(C=s[d])==null?void 0:C.id;return}if(f==-1||f==d)return;a=(g=s[f+1])==null?void 0:g.id}else{if(a=(_=s[d])==null?void 0:_.id,h){a=(D=s[0])==null?void 0:D.id;return}if(f==-1||f==0)return;a=(w=s[f-1])==null?void 0:w.id}}),e.set_optionFocused(a)}),t.enableFormSubmit&&z.SubmitForm(n,e.rootStates.form)},onChange:n=>{let m=n.target.value;e.set_keyword(m)}},"searchInput")},Selector:e=>{var h;let[t,c]=I("idle"),[p,n]=I("idle");R(()=>{if(!e.val_selectorOpen||!e.rootStates.DynamicOptionsOnSearch)return;if(e.val_preventDynamicSearchOnKeywordChange)return e.set_preventDynamicSearchOnKeywordChange(!1);if(t=="idle")return c("ok");n("fetch");let i="autocomplete-search-"+e.rootStates.componentId;u.interval.once(()=>Z(void 0,null,function*(){var a;let s=yield e.rootStates.DynamicOptionsOnSearch(e.val_keyword);n("idle");let d=U.InitOptions(s||[]);e.set_options(d),e.set_optionFocused(((a=d[0])==null?void 0:a.id)||"")}),e.rootStates.DynamicOptionsOnSearchDelay||300,i)},[e.val_keyword]),R(()=>{let i=u(`[data-selector-id="${e.val_status.componentId}"]`)[0];if(!i)return;let s=u(`[data-autocomplete-input-value="${e.val_optionFocused}"]`)[0];s&&(i.scrollTop=s.offsetTop-24)},[e.val_optionFocused]);let r=[],m=U.FilterSelectableOptions(e.val_options,e.rootStates.DynamicOptionsOnSearch?"":e.val_keyword,!0);m.forEach((i,s)=>{if(!i)return;let{type:d,value:a}=i,f=e.val_optionFocused==i.id,v=e.val_status.dataValue.includes(a),C=e.rootStates.SelectorComponent;r.push(l(ee,{"data-autocomplete-input-value":i.id,children:l(C,{option:i,isFocused:f,isSelected:v,addCallback:()=>{e.set_status(g=>{let _=[...g.dataValue];return u.scope(()=>{if(a===null)return _=[];g.dataValue.includes(a)?_=_.filter(w=>w!==a):e.rootStates.multiSelect?_.push(a):_=[a]}),O(S({},g),{dataValue:_,eventType:"update",eventID:L()})})}})},i.id))}),m.length||(r=[l(K.Supplement,{padding:[0,1],fontColor:"4.thin",children:"\u5019\u88DC\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093"},"no-selector-notice")]),p=="fetch"&&(r=[A(W.Left,{padding:1,fontColor:"3.blur",children:[l(ce.Theme.R,{showInitial:!0}),l(K.Supplement,{children:"Loading..."})]},"loader")]);let o={position:"absolute",minWidth:1,freeCSS:{zIndex:1e3}};switch(e.rootStates.SelectorPosition){case 1:o.bottom="100%",o.left=0,o.paddingBottom="1/3";break;case 2:o.bottom="100%",o.right=0,o.paddingBottom="1/3";break;case 3:o.top="100%",o.left=0,o.paddingTop="1/3";break;case 4:o.top="100%",o.right=0,o.paddingTop="1/3";break;default:break}return l(x,O(S({},o),{children:l(ue.Body,O(S({className:N("Selector"),borderRadius:"2.tone.secondary",ssCardBox:!0,boxShadow:"1.normal",overflow:"auto","data-selector-id":e.val_status.componentId},e.rootStates.SelectorStyles),{freeCSS:S({maxHeight:12*24},(h=e.rootStates.SelectorStyles)==null?void 0:h.freeCSS),children:l(ee,{gap:"1/12",padding:[1,0],children:r})}))}))},Selected:e=>{let{rootStates:t,val_status:c,set_status:p,val_optionsDict:n}=e,r=[];return c.dataValue.forEach(m=>{let o=n[u.Stringify(m)];if(!o)return;let h=t.SelectedComponent,i=o.label;(o==null?void 0:o.value)===null&&(i=""),r.push(l(x,{className:N("SelectedCell"),children:l(h,{value:o==null?void 0:o.value,label:i,removeCallback:s=>{if(s.stopPropagation(),s.preventDefault(),t.disabled)return;let d=[...c.dataValue];d=d.filter(a=>a!==m),p(a=>O(S({},a),{dataValue:d,eventType:"update",eventID:L()}))}})},u.Stringify(o==null?void 0:o.value)||L()))}),l(J,{children:r})},Core:e=>{var M,X;let{value:t}=e,[c,p]=I(!1),[n,r]=I(!1),[m,o]=I(!1),[h,i]=I(""),[s,d]=I(e.options),[a,f]=I(((M=e.options.find(F=>{var E;return(F==null?void 0:F.value)===((E=e.value)==null?void 0:E[0])}))==null?void 0:M.id)||((X=e.options[0])==null?void 0:X.id)||""),[v,C]=I({}),[g,_]=I(z.DefaultStatus(e.componentId,t)),[D,w]=I({ok:!1,notice:[]}),V=re(!1);R(()=>{V.current?d(e.options):V.current=!0},[e.options]),R(()=>{if(!s.length)return;let F=[...s],E=S({},v);F.forEach(k=>{(k==null?void 0:k.type)!="label"&&(E[u.Stringify(k==null?void 0:k.value)]=k)}),C(E)},[s]);let H={rootStates:e,val_options:s,set_options:d,val_optionFocused:a,set_optionFocused:f,val_optionsDict:v,set_optionsDict:C,val_preventDynamicSearchOnKeywordChange:n,set_preventDynamicSearchOnKeywordChange:r,val_preventOpenSelectorOnFocus:c,set_preventOpenSelectorOnFocus:p,val_selectorOpen:m,set_selectorOpen:o,val_keyword:h,set_keyword:i,val_status:g,set_status:_,val_validate:D,set_validate:w},j=!!e.multiSelect;z.CommonEffects({type:j?"autocomplete.multi":"autocomplete.single",states:e,val_status:g,set_status:_,val_validate:D,set_validate:w,SystemValidation:fe});let P=g.dataValue.length&&g.dataValue[0]!==null;return P=P||m,A(de,{val_status:g,set_status:_,val_validate:D,states:e,children:[l(me,{componentId:e.componentId,fontSize:e.fontSize,required:e.required,label:e.label,isActive:P}),l(B.Shallow,S({},H)),l(B.Button,S({},H))]})}},ae=e=>{let t=S({},e);return t=O(S({value:[],min:0,max:65535,multiSelect:!0,SearchInput:!0,emptySelect:!0,SelectorComponent:({option:c,isSelected:p,isFocused:n,addCallback:r})=>c?(c==null?void 0:c.type)=="label"?l(J,{children:c.label}):l(te.Sub.S,{color:"cloud",backgroundColor:"trans",borderRadius:0,fontColor:"2.normal",textAlign:"left",padding:["1/2",1.5],isActive:n,isActiveStyles:{backgroundColor:"cloud"},onClick:m=>{r()},children:A(W.Left,{gap:"1/2",children:[p&&l(q.Check,{fontColor:"theme"}),l(K.Supplement,{transition:"short",children:c.label})]})}):null,SelectedComponent:({value:c,label:p,removeCallback:n})=>A(W.Left,{ssCardBox:"cloud",borderRadius:"2.tone.secondary",fontSize:"1.mini",padding:"1/2",gap:0,children:[l(x,{padding:[0,"1/4"],children:p}),l(te.Sub,{flexSizing:"none",color:"cloud",fontColor:"white",backgroundColor:"layer.5",isRounded:!0,padding:"1/4",onClick:n,freeCSS:{lineHeight:1,aspectRatio:"1/1"},children:l(q.X,{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:l(K.Supplement,{fontColor:"4.thin",children:"\u9078\u629E\u3092\u89E3\u9664"})},...t.options]),t.value=u.flatArray(t.value),t.options=U.InitOptions(t.options),u.is.nullish(t.rightIcon)&&(t.rightIcon=l(oe,{ssSphere:2,children:l(q.Search,{})}),t.disabled&&(t.rightIcon=l(oe,{ssSphere:2,fontColor:"5.translucent",children:l(q.Ban,{})}))),t.rightIcon&&(t=S({paddingRight:3},t)),t.leftIcon&&(t=S({paddingLeft:3},t)),l(pe,{componentId:t.componentId,children:B.Core,states:Se(t)})};export{ae as Autocomplete,ae as default};
|
package/dist/fn/Input/List.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{b as o,c as u,d as w}from"../../chunk-C5N2D3ZX.js";import{jsx as a}from"react/jsx-runtime";import S,{UUID as M}from"jmini";import{useState as ie}from"react";import{$$fromRoot as ne,GenerateHTMLProps as se}from"../../@utils";import{Box as I,Flex as re,FAI as ce,Span as de}from"../../atoms";import{Button as ue}from"../Button";import{OptionalInputWrapper as me,BoxWrapper as pe,CoreEffects as J}from"./core";import{InputListClasses as T}from"../../@styles/componentClasses";function Ce(t){let{value:l,states:i}=t,{type:e,required:s,min:n,max:p}=i;n=n||0,p=p||65535;let r=[],y=l.length;return s&&(y||e=="radio"&&r.push({type:"invalid",label:"\u5FC5\u9808\u9805\u76EE\u3067\u3059"})),y<n&&r.push({type:"invalid",label:n+"\u500B\u4EE5\u4E0A\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044"}),y>p&&r.push({type:"invalid",label:p+"\u500B\u307E\u3067\u9078\u629E\u3067\u304D\u307E\u3059"}),{ok:!r.filter(({type:V})=>V=="invalid").length,notice:r}}const h={InitOptions:t=>{let l=[];return t.forEach(i=>{let{label:e,value:s}=i;S.is.nullish(e)&&(e=String(s)),l.push(u(o({},i),{label:e,value:s}))}),l},OptionalListWrapper:t=>{let{value:l,options:i=[]}=t,e=S.is.exist(l)?S.flatArray(l):[],s=[];return e.forEach(n=>{i.findIndex(r=>S.is.equal(r.value,n))!=-1&&s.push(n)}),a(h.Core,u(o({},t),{value:s,options:i}))},Core:t=>{let k=t,{type:l,tone:i,required:e,componentId:s="",form:n,override:p,icon:r,iconType:y,iconSize:V,iconPosition:X,iconColor:v,CustomIcon:A,enableFormSubmit:$,checkValidationAtFirst:W,onValidate:H,onValidateDelay:N,onUpdateValue:U,onUpdateValidValue:K,value:_,options:b,className:q,cellStyles:j,cellClassName:G,cellCheckedStyles:Q,cellCheckedClassName:Y,min:Z,max:E,hideInput:m,freeCSS:O,wrapStyles:x}=k,ee=w(k,["type","tone","required","componentId","form","override","icon","iconType","iconSize","iconPosition","iconColor","CustomIcon","enableFormSubmit","checkValidationAtFirst","onValidate","onValidateDelay","onUpdateValue","onUpdateValidValue","value","options","className","cellStyles","cellClassName","cellCheckedStyles","cellCheckedClassName","min","max","hideInput","freeCSS","wrapStyles"]),[C,L]=ie(J.DefaultStatus(s,_)),[D,z]=ie({ok:!1,notice:[]});return J.CommonEffects({type:"list."+l,states:t,val_status:C,set_status:L,val_validate:D,set_validate:z,SystemValidation:Ce}),a(pe,{val_status:C,set_status:L,val_validate:D,states:t,children:a(h.List,{rootStates:t,val_status:C,set_status:L})})},List:t=>{let{rootStates:l,val_status:i,set_status:e}=t,{componentId:s,type:n,tone:p,icon:r,iconSize:y,iconColor:V,isChecker:X,options:v,name:A,form:$,tabIndex:W,hideInput:H,disabled:N,className:U,cellStyles:K,cellClassName:_="",cellCheckedStyles:b,cellCheckedClassName:q="",enableFormSubmit:j}=l,{dataValue:G}=i,Q=l.CustomIcon,Y=v.map((Z,E)=>{let le=Z,{value:m,label:O,disabled:x,className:ee="",checkedStyles:C,checkedClassName:L="",freeCSS:D}=le,z=w(le,["value","label","disabled","className","checkedStyles","checkedClassName","freeCSS"]),k=M(),R=G.findIndex(c=>c===m)!=-1,f=o(o({},K),z),F=[T("Label"),_,ee];R&&(f=u(o(o(o({},f),b),C),{freeCSS:o(o(o({},f==null?void 0:f.freeCSS),b==null?void 0:b.freeCSS),C==null?void 0:C.freeCSS)}),F=[...F,q,L]);const te=()=>{if(N||x)return;let c=[];if(n=="radio")c=[m];else if(n=="checkbox"||X)if(!R)c=[...i.dataValue,m];else{let d=[...i.dataValue];d.splice(i.dataValue.findIndex(B=>B==m),1),c=d}e(d=>u(o({},d),{dataValue:c,eventType:"update",eventID:M()}))};let oe=[a(de,{position:"relative",freeCSS:{zIndex:2},flexSizing:0,children:S.is.string(O)?a(I,{children:O}):O},"content")];return r&&oe[l.iconPosition=="right"?"push":"unshift"](a(Q,{isChecked:R,iconSize:y,iconColor:V,toggle:te},"icon")),[a(I,{htmlTag:"input",type:n=="radio"?"radio":"checkbox",className:T("Input"),name:"RadioCheckbox-"+A,"data-list-index":s+"-"+E,id:k,value:String(m),disabled:N||x,checked:R,onFocus:c=>{x||n=="radio"&&(i.dataValue.length||e(d=>u(o({},d),{dataValue:[m],eventType:"update",eventID:M()})))},onChange:()=>{te()},onKeyDown:c=>{let{key:d,shiftKey:B}=c;if((n=="checkbox"||t.rootStates.isChecker)&&d!="Tab"){if(d.match(/Arrow/)){c.preventDefault();let ae=["ArrowLeft","ArrowUp"].includes(d)?-1:1,g=E+ae;g<0?g=v.length-1:g>=v.length&&(g=0),ne(`input[data-list-index="${s}-${g}"]`).focus()}}j&&J.SubmitForm(c,$)},tabIndex:W},"List-"+S.Stringify(m)),a(I,u(o({htmlTag:"label","data-disabled":N||x,htmlFor:k,className:F.join(" "),tabIndex:-1,display:"flex",verticalAlign:"center",flexWrap:!1},f),{children:oe}),"ListTrigger-"+S.Stringify(m))]});return a(re,{flexSizing:"auto",style:l.style,freeCSS:o({},l.freeCSS),className:[U,T("CellBase"),T("HideInput_"+H),T("IconIndicator_"+!!r),T("Tone_"+p)].join(" "),children:Y})},_Icon:t=>{let l=1.5;return t.iconSize=="small"?l=1.2:t.iconSize=="large"&&(l=2),a(ue.Normal,{ssPushable:!0,color:"cloud",tabIndex:-1,ssEffectsOnActive:"ripple.cloud",ssSphere:2,freeCSS:{transform:`scale(${l})`},onClick:i=>{i.preventDefault(),i.stopPropagation(),t.toggle()},children:t.children})},RadioIcon:t=>a(h._Icon,u(o({type:"radio"},t),{children:a(I,{flexCenter:!0,isRounded:!0,border:t.isChecked?"0.trans":"3.thick",borderColor:t.isChecked?t.iconColor:"3.thick",position:"relative",transition:"middle",freeCSS:{width:"50%",height:"50%"},children:a(I,{position:"absolute",transition:"middle",isRounded:!0,backgroundColor:t.iconColor,opacity:t.isChecked?"max":"trans",freeCSS:{width:"60%",height:"60%",transform:t.isChecked?"scale(1)":"scale(.4)"}})})})),CheckboxIcon:t=>a(h._Icon,u(o({type:"checkbox"},t),{children:a(I,{flexCenter:!0,boxShadow:t.isChecked?"0.remark":"none",border:t.isChecked?"0.trans":"3.thick",backgroundColor:t.isChecked?t.iconColor:"trans",position:"relative",transition:"middle",fontColor:"white",freeCSS:{borderRadius:"25%",padding:"4%",width:"50%",height:"50%"},children:a(ce.Check,{transition:"middle",opacity:t.isChecked?"max":"trans",freeCSS:{zIndex:8,width:"100%",height:"100%",transform:t.isChecked?"scale(1)":"scale(.5)"}})})}))},P=t=>{t=t||"checkbox";const l=e=>(e=u(o({gap:1,icon:!0,iconSize:"regular",iconType:t=="radio"?"radio":"checkbox",iconPosition:"left",iconColor:"theme"},e),{type:t,cellStyles:o({gap:"1/6",position:"relative",borderRadius:"2.tone.secondary",transition:"middle"},e.cellStyles)}),e.CustomIcon||(e.iconType=="radio"?e.CustomIcon=h.RadioIcon:e.iconType=="checkbox"&&(e.CustomIcon=h.CheckboxIcon)),e.iconSize=="small"?e.cellStyles.gap=0:e.iconSize=="large"&&(e.cellStyles.gap="1/2"),e.tone=="normal"?(e.cellStyles=o({padding:["1/4",1],border:"1.thin",backgroundColor:"layer.1"},e.cellStyles),e.cellCheckedStyles=o({borderColor:"theme",fontColor:"theme",boxShadow:"1.normal"},e.cellCheckedStyles)):e.tone=="border"?(e.cellStyles=o({border:"1.thin",backgroundColor:"layer.1",padding:["1/2",1,"1/2","1/2"]},e.cellStyles),e.cellCheckedStyles=o({borderColor:"theme",fontColor:"theme"},e.cellCheckedStyles)):e.tone=="cloud"&&(e.cellStyles=o({border:"1.thin",backgroundColor:"layer.2",padding:["1/2",1,"1/2","1/2"]},e.cellStyles),e.cellCheckedStyles=o({backgroundColor:"cloud",fontColor:"theme"},e.cellCheckedStyles)),e=se(e),e.options=h.InitOptions(e.options),a(me,{componentId:e.componentId,children:h.OptionalListWrapper,states:e})),i=l;return i.Normal=e=>a(l,o({type:t,tone:"normal",icon:!1},e)),i.Border=e=>a(l,o({type:t,tone:"border"},e)),i.Cloud=e=>a(l,o({type:t,tone:"cloud"},e)),i.Vivid=e=>a(l,o({type:t,tone:"normal",icon:!1,cellCheckedStyles:{backgroundColor:"theme",fontColor:"white"}},e)),i.Simple=e=>a(l,o({type:t,tone:"plain",icon:!1,cellCheckedStyles:{fontColor:"theme"}},e)),i},he=P("radio"),Se=P("checkbox"),ye=P();export{Se as Checkbox,ye as List,he as Radio};
|
|
1
|
+
import{b as o,c as u,d as w}from"../../chunk-C5N2D3ZX.js";import{jsx as a}from"react/jsx-runtime";import S,{UUID as M}from"jmini";import{useState as ie}from"react";import{$$fromRoot as ne,GenerateHTMLProps as se}from"../../@utils";import{Box as I,Flex as re,FAI as ce,Span as de}from"../../atoms";import{Button as ue}from"../Button";import{OptionalInputWrapper as me,BoxWrapper as pe,CoreEffects as J}from"./core";import{InputListClasses as T}from"../../@styles/componentClasses";function Ce(t){let{value:l,states:i}=t,{type:e,required:s,min:n,max:p}=i;n=n||0,p=p||65535;let r=[],y=l.length;return s&&(y||e=="radio"&&r.push({type:"invalid",label:"\u5FC5\u9808\u9805\u76EE\u3067\u3059"})),y<n&&r.push({type:"invalid",label:n+"\u500B\u4EE5\u4E0A\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044"}),y>p&&r.push({type:"invalid",label:p+"\u500B\u307E\u3067\u9078\u629E\u3067\u304D\u307E\u3059"}),{ok:!r.filter(({type:V})=>V=="invalid").length,notice:r}}const h={InitOptions:t=>{let l=[];return t.forEach(i=>{if(!i)return;let{label:e,value:s}=i;S.is.nullish(e)&&(e=String(s)),l.push(u(o({},i),{label:e,value:s}))}),l},OptionalListWrapper:t=>{let{value:l,options:i=[]}=t,e=S.is.exist(l)?S.flatArray(l):[],s=[];return e.forEach(n=>{i.findIndex(r=>S.is.equal(r.value,n))!=-1&&s.push(n)}),a(h.Core,u(o({},t),{value:s,options:i}))},Core:t=>{let k=t,{type:l,tone:i,required:e,componentId:s="",form:n,override:p,icon:r,iconType:y,iconSize:V,iconPosition:X,iconColor:v,CustomIcon:A,enableFormSubmit:$,checkValidationAtFirst:W,onValidate:H,onValidateDelay:N,onUpdateValue:U,onUpdateValidValue:K,value:_,options:b,className:q,cellStyles:j,cellClassName:G,cellCheckedStyles:Q,cellCheckedClassName:Y,min:Z,max:E,hideInput:m,freeCSS:O,wrapStyles:x}=k,ee=w(k,["type","tone","required","componentId","form","override","icon","iconType","iconSize","iconPosition","iconColor","CustomIcon","enableFormSubmit","checkValidationAtFirst","onValidate","onValidateDelay","onUpdateValue","onUpdateValidValue","value","options","className","cellStyles","cellClassName","cellCheckedStyles","cellCheckedClassName","min","max","hideInput","freeCSS","wrapStyles"]),[C,L]=ie(J.DefaultStatus(s,_)),[D,z]=ie({ok:!1,notice:[]});return J.CommonEffects({type:"list."+l,states:t,val_status:C,set_status:L,val_validate:D,set_validate:z,SystemValidation:Ce}),a(pe,{val_status:C,set_status:L,val_validate:D,states:t,children:a(h.List,{rootStates:t,val_status:C,set_status:L})})},List:t=>{let{rootStates:l,val_status:i,set_status:e}=t,{componentId:s,type:n,tone:p,icon:r,iconSize:y,iconColor:V,isChecker:X,options:v,name:A,form:$,tabIndex:W,hideInput:H,disabled:N,className:U,cellStyles:K,cellClassName:_="",cellCheckedStyles:b,cellCheckedClassName:q="",enableFormSubmit:j}=l,{dataValue:G}=i,Q=l.CustomIcon,Y=v.map((Z,E)=>{let le=Z,{value:m,label:O,disabled:x,className:ee="",checkedStyles:C,checkedClassName:L="",freeCSS:D}=le,z=w(le,["value","label","disabled","className","checkedStyles","checkedClassName","freeCSS"]),k=M(),R=G.findIndex(c=>c===m)!=-1,f=o(o({},K),z),F=[T("Label"),_,ee];R&&(f=u(o(o(o({},f),b),C),{freeCSS:o(o(o({},f==null?void 0:f.freeCSS),b==null?void 0:b.freeCSS),C==null?void 0:C.freeCSS)}),F=[...F,q,L]);const te=()=>{if(N||x)return;let c=[];if(n=="radio")c=[m];else if(n=="checkbox"||X)if(!R)c=[...i.dataValue,m];else{let d=[...i.dataValue];d.splice(i.dataValue.findIndex(B=>B==m),1),c=d}e(d=>u(o({},d),{dataValue:c,eventType:"update",eventID:M()}))};let oe=[a(de,{position:"relative",freeCSS:{zIndex:2},flexSizing:0,children:S.is.string(O)?a(I,{children:O}):O},"content")];return r&&oe[l.iconPosition=="right"?"push":"unshift"](a(Q,{isChecked:R,iconSize:y,iconColor:V,toggle:te},"icon")),[a(I,{htmlTag:"input",type:n=="radio"?"radio":"checkbox",className:T("Input"),name:"RadioCheckbox-"+A,"data-list-index":s+"-"+E,id:k,value:String(m),disabled:N||x,checked:R,onFocus:c=>{x||n=="radio"&&(i.dataValue.length||e(d=>u(o({},d),{dataValue:[m],eventType:"update",eventID:M()})))},onChange:()=>{te()},onKeyDown:c=>{let{key:d,shiftKey:B}=c;if((n=="checkbox"||t.rootStates.isChecker)&&d!="Tab"){if(d.match(/Arrow/)){c.preventDefault();let ae=["ArrowLeft","ArrowUp"].includes(d)?-1:1,g=E+ae;g<0?g=v.length-1:g>=v.length&&(g=0),ne(`input[data-list-index="${s}-${g}"]`).focus()}}j&&J.SubmitForm(c,$)},tabIndex:W},"List-"+S.Stringify(m)),a(I,u(o({htmlTag:"label","data-disabled":N||x,htmlFor:k,className:F.join(" "),tabIndex:-1,display:"flex",verticalAlign:"center",flexWrap:!1},f),{children:oe}),"ListTrigger-"+S.Stringify(m))]});return a(re,{flexSizing:"auto",style:l.style,freeCSS:o({},l.freeCSS),className:[U,T("CellBase"),T("HideInput_"+H),T("IconIndicator_"+!!r),T("Tone_"+p)].join(" "),children:Y})},_Icon:t=>{let l=1.5;return t.iconSize=="small"?l=1.2:t.iconSize=="large"&&(l=2),a(ue.Normal,{ssPushable:!0,color:"cloud",tabIndex:-1,ssEffectsOnActive:"ripple.cloud",ssSphere:2,freeCSS:{transform:`scale(${l})`},onClick:i=>{i.preventDefault(),i.stopPropagation(),t.toggle()},children:t.children})},RadioIcon:t=>a(h._Icon,u(o({type:"radio"},t),{children:a(I,{flexCenter:!0,isRounded:!0,border:t.isChecked?"0.trans":"3.thick",borderColor:t.isChecked?t.iconColor:"3.thick",position:"relative",transition:"middle",freeCSS:{width:"50%",height:"50%"},children:a(I,{position:"absolute",transition:"middle",isRounded:!0,backgroundColor:t.iconColor,opacity:t.isChecked?"max":"trans",freeCSS:{width:"60%",height:"60%",transform:t.isChecked?"scale(1)":"scale(.4)"}})})})),CheckboxIcon:t=>a(h._Icon,u(o({type:"checkbox"},t),{children:a(I,{flexCenter:!0,boxShadow:t.isChecked?"0.remark":"none",border:t.isChecked?"0.trans":"3.thick",backgroundColor:t.isChecked?t.iconColor:"trans",position:"relative",transition:"middle",fontColor:"white",freeCSS:{borderRadius:"25%",padding:"4%",width:"50%",height:"50%"},children:a(ce.Check,{transition:"middle",opacity:t.isChecked?"max":"trans",freeCSS:{zIndex:8,width:"100%",height:"100%",transform:t.isChecked?"scale(1)":"scale(.5)"}})})}))},P=t=>{t=t||"checkbox";const l=e=>(e=u(o({gap:1,icon:!0,iconSize:"regular",iconType:t=="radio"?"radio":"checkbox",iconPosition:"left",iconColor:"theme"},e),{type:t,cellStyles:o({gap:"1/6",position:"relative",borderRadius:"2.tone.secondary",transition:"middle"},e.cellStyles)}),e.CustomIcon||(e.iconType=="radio"?e.CustomIcon=h.RadioIcon:e.iconType=="checkbox"&&(e.CustomIcon=h.CheckboxIcon)),e.iconSize=="small"?e.cellStyles.gap=0:e.iconSize=="large"&&(e.cellStyles.gap="1/2"),e.tone=="normal"?(e.cellStyles=o({padding:["1/4",1],border:"1.thin",backgroundColor:"layer.1"},e.cellStyles),e.cellCheckedStyles=o({borderColor:"theme",fontColor:"theme",boxShadow:"1.normal"},e.cellCheckedStyles)):e.tone=="border"?(e.cellStyles=o({border:"1.thin",backgroundColor:"layer.1",padding:["1/2",1,"1/2","1/2"]},e.cellStyles),e.cellCheckedStyles=o({borderColor:"theme",fontColor:"theme"},e.cellCheckedStyles)):e.tone=="cloud"&&(e.cellStyles=o({border:"1.thin",backgroundColor:"layer.2",padding:["1/2",1,"1/2","1/2"]},e.cellStyles),e.cellCheckedStyles=o({backgroundColor:"cloud",fontColor:"theme"},e.cellCheckedStyles)),e=se(e),e.options=h.InitOptions(e.options),a(me,{componentId:e.componentId,children:h.OptionalListWrapper,states:e})),i=l;return i.Normal=e=>a(l,o({type:t,tone:"normal",icon:!1},e)),i.Border=e=>a(l,o({type:t,tone:"border"},e)),i.Cloud=e=>a(l,o({type:t,tone:"cloud"},e)),i.Vivid=e=>a(l,o({type:t,tone:"normal",icon:!1,cellCheckedStyles:{backgroundColor:"theme",fontColor:"white"}},e)),i.Simple=e=>a(l,o({type:t,tone:"plain",icon:!1,cellCheckedStyles:{fontColor:"theme"}},e)),i},he=P("radio"),Se=P("checkbox"),ye=P();export{Se as Checkbox,ye as List,he as Radio};
|
package/dist/fn/Input/Select.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{b as n,c as f,d as H}from"../../chunk-C5N2D3ZX.js";import{Fragment as J,jsx as a,jsxs as V}from"react/jsx-runtime";import u,{UUID as D}from"jmini";import{useState as A,useEffect as $}from"react";import{ExtractStyles as _e}from"../../@utils";import{Box as C,Span as Ve,FAI as le,Column as Oe}from"../../atoms";import{Literal as W,Row as j}from"../../mols";import{Button as Te}from"../Button";import{Sheet as xe}from"../Sheet";import{OptionalInputWrapper as Fe,BoxWrapper as we,CoreEffects as R,DefaultBoxishStyles as De}from"./core";import{InputAutocompleteClasses as B}from"../../@styles/componentClasses";import{InputLabel as Re}from"./Label";import{RightIcon as ke}from".";function Ae(e){let{value:t,states:l}=e,{required:o,options:i}=l,m=[];return o&&t===null&&m.push({type:"invalid",label:"\u5FC5\u9808\u9805\u76EE\u3067\u3059"}),{ok:!m.filter(({type:p})=>p=="invalid").length,notice:m}}const ae={FilterSelectableOptions:(e,t)=>{let l=e.rootStates.options;return t||(l=l.filter(o=>(o==null?void 0:o.type)!="label")),l}},_={Shallow:e=>{let{rootStates:t,val_status:l}=e,o=_e(t);return a(C,{position:"absolute",top:0,left:0,right:0,height:0,overflow:"hidden",opacity:"trans",freeCSS:{zIndex:3,pointerEvents:"none"},children:a(W.Description,f(n({className:t.className},o),{position:"absolute",width:1,freeCSS:f(n({},o.freeCSS),{color:"orange"}),children:a(C,{"data-input-value-shallow":l.componentId,children:"A"})}))})},Button:e=>V(J,{children:[a(_.LegacySelector,n({},e)),a(_.Original,n({},e))]}),Placeholder:e=>!e.rootStates.placeholder||e.val_status.dataValue!==null?null:a(C,{position:"absolute",opacity:"middle",fontColor:"3.blur",children:e.rootStates.placeholder||""}),Original:e=>{let{rootStates:t,val_preventOpenSelectorOnFocus:l,set_preventOpenSelectorOnFocus:o,val_optionFocused:i,set_optionFocused:m,val_validate:p,set_validate:b,val_status:d,set_status:I,val_selectorOpen:v,set_selectorOpen:S}=e,U=t,{tone:E,required:L,form:T,className:k,label:ne,isLabelActive:re,placeholder:se,enableFormSubmit:P,emptySelect:X,checkValidationAtFirst:M,onValidate:ie,onValidateDelay:ce,onUpdateValue:ue,onUpdateValidValue:de,value:N="",options:K,leftIndicator:pe,rightIndicator:G,leftIcon:Se,rightIcon:fe,componentId:me,status_id:ye,wrapStyles:ve,SelectedCellStyles:ge,SelectorCellStyles:be,SelectorMode:Ie,SelectorStyles:he,SelectorPosition:Ce}=U,r=H(U,["tone","required","form","className","label","isLabelActive","placeholder","enableFormSubmit","emptySelect","checkValidationAtFirst","onValidate","onValidateDelay","onUpdateValue","onUpdateValidValue","value","options","leftIndicator","rightIndicator","leftIcon","rightIcon","componentId","status_id","wrapStyles","SelectedCellStyles","SelectorCellStyles","SelectorMode","SelectorStyles","SelectorPosition"]);return $(()=>{if(e.rootStates.SelectorMode!="original"||t.disabled)return;let c="select-click-"+t.componentId;if(v){if(!u('[data-input-origin="'+t.componentId+'"]'))return;u(document).addEvent({eventID:c,eventType:"click",callback:s=>{let x=u(s.target),F=!!u(x).parent("."+B("Core")).length;u(x).parent("."+B("Selector")).length||F||S(!1)}})}else u(document).removeEvent([c])},[v]),$(()=>{if(e.rootStates.SelectorMode!="original"||d.eventType=="init"||!v)return;let c=u('[data-input-origin="'+t.componentId+'"]');c&&c.focus()},[d.dataValue]),e.rootStates.SelectorMode!="original"?null:V(J,{children:[a(C,f(n({tabIndex:0},r),{"data-disabled":t.disabled,"data-show-validation":R.isShowValidation(p,d,!!M),"data-component-id":d.componentId,"data-input-origin":d.componentId,className:[k,B("Core")].join(" "),onFocus:c=>{if(r!=null&&r.onFocus&&(r==null||r.onFocus(c)),!t.disabled){if(l)return o(!1);S(!0)}},onClick:c=>{r!=null&&r.onClick&&(r==null||r.onClick(c)),!t.disabled&&S(!0)},onKeyDown:c=>{let{key:g,metaKey:s,ctrlKey:x}=c,F=s||x;if(r!=null&&r.onKeyDown&&(r==null||r.onKeyDown(c)),P&&R.SubmitForm(c,T),!t.disabled){if(u.scope(()=>{if(!["ArrowDown","ArrowUp"].includes(g))return;if(c.preventDefault(),!v)return S(!0);let h=g=="ArrowDown"?1:-1,y=ae.FilterSelectableOptions(e),q=y.length-1,O=null;u.scope(()=>{var Q,Y,Z,ee,te;let w=y.findIndex(z=>(z==null?void 0:z.id)==i);if(h==1){if(O=(Q=y[0])==null?void 0:Q.id,F){O=y[q].id;return}if(w==-1||w==q)return;O=(Y=y[w+1])==null?void 0:Y.id}else{if(O=(Z=y[q])==null?void 0:Z.id,F){O=(ee=y[0])==null?void 0:ee.id;return}if(w==-1||w==0)return;O=(te=y[w-1])==null?void 0:te.id}}),m(O)}),g=="Escape")S(!1);else if(g=="Tab")S(!1);else if(g=="Backspace")I(h=>f(n({},h),{dataValue:null,eventType:"update",eventID:D()}));else if(g==" ")c.preventDefault(),S(!0);else if(g=="Enter"){if(!v)return S(!0);c.preventDefault();let h=t.options.find(y=>(y==null?void 0:y.id)==i);if(!h)return;I(y=>f(n({},y),{dataValue:h==null?void 0:h.value,eventType:"update",eventID:D()})),S(!1)}}},children:V(j.Left,{gap:0,children:[a(Ve,{width:0,overflow:"hidden",opacity:"trans",children:"A"}),V(j.Left,{flexWrap:!0,gap:"1/3",freeCSS:{letterSpacing:".5px"},children:[a(_.Placeholder,n({},e)),a(_.Selected,n({},e))]})]})})),v&&a(_.Selector,n({},e))]})},LegacySelector:e=>{let{rootStates:t,val_preventOpenSelectorOnFocus:l,set_preventOpenSelectorOnFocus:o,val_optionFocused:i,set_optionFocused:m,val_validate:p,set_validate:b,val_status:d,set_status:I,val_selectorOpen:v,set_selectorOpen:S}=e,g=t,{tone:E,required:L,form:T,className:k,label:ne,isLabelActive:re,placeholder:se,enableFormSubmit:P,emptySelect:X,checkValidationAtFirst:M,onValidate:ie,onValidateDelay:ce,onUpdateValue:ue,onUpdateValidValue:de,onKeyDown:N,onChange:K,value:pe="",options:G,leftIndicator:Se,rightIndicator:fe,leftIcon:me,rightIcon:ye,componentId:ve,status_id:ge,wrapStyles:be,SelectedCellStyles:Ie,SelectorCellStyles:he,SelectorMode:Ce,SelectorStyles:r,SelectorPosition:U}=g,c=H(g,["tone","required","form","className","label","isLabelActive","placeholder","enableFormSubmit","emptySelect","checkValidationAtFirst","onValidate","onValidateDelay","onUpdateValue","onUpdateValidValue","onKeyDown","onChange","value","options","leftIndicator","rightIndicator","leftIcon","rightIcon","componentId","status_id","wrapStyles","SelectedCellStyles","SelectorCellStyles","SelectorMode","SelectorStyles","SelectorPosition"]);return e.rootStates.SelectorMode!="legacy"?null:V(C,f(n({htmlTag:"select",tabIndex:0},c),{"data-disabled":t.disabled,"data-show-validation":R.isShowValidation(p,d,!!M),"data-component-id":d.componentId,"data-input-origin":d.componentId,className:[k,B("Core")].join(" "),onKeyDown:s=>{N&&N(s),P&&R.SubmitForm(s,T)},onChange:s=>{let{value:x}=s.target;p.ok&&b({ok:!1,notice:[]}),I(F=>f(n({},F),{dataValue:x,eventType:"update",eventID:D()})),K&&K(s)},children:[!!X&&a("option",{value:"null",children:"\u9078\u629E"}),G.map(s=>u.is.nullish(s==null?void 0:s.value)?null:a("option",{value:s==null?void 0:s.value,children:s.label},String(s==null?void 0:s.value)))]}))},Selector:e=>{var o;$(()=>{let i=u(`[data-selector-id="${e.val_status.componentId}"]`)[0];if(!i)return;let m=u(`[data-select-input-value="${e.val_optionFocused}"]`)[0];m&&(i.scrollTop=m.offsetTop-24)},[e.val_optionFocused]);let t=ae.FilterSelectableOptions(e,!0),l={position:"absolute",minWidth:1,freeCSS:{zIndex:1e3}};switch(e.rootStates.SelectorPosition){case 1:l.bottom="100%",l.left=0,l.paddingBottom="1/3";break;case 2:l.bottom="100%",l.right=0,l.paddingBottom="1/3";break;case 3:l.top="100%",l.left=0,l.paddingTop="1/3";break;case 4:l.top="100%",l.right=0,l.paddingTop="1/3";break;default:break}return a(C,f(n({},l),{children:a(xe.Body,f(n({className:B("Selector"),ssCardBox:!0,borderRadius:"2.tone.secondary",boxShadow:"1.normal",overflow:"auto","data-selector-id":e.val_status.componentId},e.rootStates.SelectorStyles),{freeCSS:n({minWidth:12*6,maxHeight:12*24},(o=e.rootStates.SelectorStyles)==null?void 0:o.freeCSS),children:V(Oe,{gap:"1/12",padding:[1,0],children:[t.map((i,m)=>{if(!i)return null;let{type:p,value:b}=i,d=e.val_optionFocused==i.id,I=e.val_status.dataValue===b;return p=="label"?a(C,{children:i.label},D()):a(Te.Sub.S,f(n({"data-select-input-value":i.id,color:"cloud",backgroundColor:"trans",borderRadius:0,fontColor:"2.normal",textAlign:"left",padding:["1/2",1],isActive:I||d,isActiveStyles:d?{backgroundColor:"cloud"}:{backgroundColor:"theme.opa.few",fontColor:"theme"}},e.rootStates.SelectorCellStyles),{onClick:v=>{e.set_status(S=>f(n({},S),{dataValue:b,eventType:"update",eventID:D()})),e.set_selectorOpen(!1),e.set_preventOpenSelectorOnFocus(!0)},children:V(j.Left,{gap:"1/2",children:[I&&a(le.Check,{fontColor:"theme"}),a(W.Supplement,{transition:"short",flexSizing:0,children:i.label})]})}),i.id)}),!t.length&&a(W.Supplement,{padding:[0,1],fontColor:"4.thin",children:"\u5019\u88DC\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093"},"no-selector-notice")]})}))}))},Selected:e=>{let t=[];return e.val_status.dataValue!==null&&u.scope(()=>{let l=e.rootStates.options.find(o=>u.is.equal(o==null?void 0:o.value,e.val_status.dataValue));l&&t.push(a(C,f(n({},e.rootStates.SelectedCellStyles),{children:l.label}),String(l==null?void 0:l.value)))}),a(J,{children:t})},Core:e=>{var L,T;let{value:t}=e,[l,o]=A(R.DefaultStatus(e.componentId,t)),[i,m]=A(!1),[p,b]=A(!1),[d,I]=A(((L=e.options.find(k=>k.value===e.value))==null?void 0:L.id)||((T=e.options[0])==null?void 0:T.id)||""),[v,S]=A({ok:!1,notice:[]}),E={rootStates:e,val_preventOpenSelectorOnFocus:i,set_preventOpenSelectorOnFocus:m,val_optionFocused:d,set_optionFocused:I,val_selectorOpen:p,set_selectorOpen:b,val_status:l,set_status:o,val_validate:v,set_validate:S};return R.CommonEffects({type:"select",states:e,val_status:l,set_status:o,val_validate:v,set_validate:S,SystemValidation:Ae}),V(we,{val_status:l,set_status:o,val_validate:v,states:e,children:[a(Re,{componentId:e.componentId,fontSize:e.fontSize,required:e.required,label:e.label,isActive:e.isLabelActive||l.dataValue!==null}),a(_.Shallow,n({},E)),a(_.Button,n({},E))]})}},oe=e=>{var l;let t=n({},e);return t=f(n({emptySelect:!0,SelectorMode:"original",SelectorPosition:3},t),{freeCSS:n({cursor:"pointer"},t.freeCSS)}),t.emptySelect&&(t.options=[{value:null,label:a(W.Supplement,{fontColor:"4.thin",children:"\u672A\u9078\u629E"})},...t.options]),t.value=(l=t.value)!=null?l:null,t.options.forEach((o,i)=>{if(!o)return;let{type:m,value:p,searchValue:b}=o,d=b||u.is.string(p)&&p||u.Stringify(p||"")||"";t.options[i]=f(n({id:D()},o),{value:p,searchValue:d,type:m||"selector"})}),u.is.nullish(t.rightIcon)&&(t.rightIcon=a(ke,{ssSphere:2,children:a(le.AngleDown,{})})),a(Fe,{componentId:t.componentId,children:_.Core,states:De(t)})};export{oe as Select,oe as default};
|
|
1
|
+
import{b as n,c as f,d as H}from"../../chunk-C5N2D3ZX.js";import{Fragment as J,jsx as a,jsxs as V}from"react/jsx-runtime";import u,{UUID as R}from"jmini";import{useState as A,useEffect as $}from"react";import{ExtractStyles as _e}from"../../@utils";import{Box as C,Span as Ve,FAI as le,Column as Oe}from"../../atoms";import{Literal as W,Row as j}from"../../mols";import{Button as Te}from"../Button";import{Sheet as xe}from"../Sheet";import{OptionalInputWrapper as Fe,BoxWrapper as we,CoreEffects as k,DefaultBoxishStyles as De}from"./core";import{InputAutocompleteClasses as B}from"../../@styles/componentClasses";import{InputLabel as Re}from"./Label";import{RightIcon as ke}from".";function Ae(e){let{value:t,states:l}=e,{required:o,options:i}=l,m=[];return o&&t===null&&m.push({type:"invalid",label:"\u5FC5\u9808\u9805\u76EE\u3067\u3059"}),{ok:!m.filter(({type:p})=>p=="invalid").length,notice:m}}const ae={FilterSelectableOptions:(e,t)=>{let l=e.rootStates.options;return t||(l=l.filter(o=>(o==null?void 0:o.type)!="label")),l}},_={Shallow:e=>{let{rootStates:t,val_status:l}=e,o=_e(t);return a(C,{position:"absolute",top:0,left:0,right:0,height:0,overflow:"hidden",opacity:"trans",freeCSS:{zIndex:3,pointerEvents:"none"},children:a(W.Description,f(n({className:t.className},o),{position:"absolute",width:1,freeCSS:f(n({},o.freeCSS),{color:"orange"}),children:a(C,{"data-input-value-shallow":l.componentId,children:"A"})}))})},Button:e=>V(J,{children:[a(_.LegacySelector,n({},e)),a(_.Original,n({},e))]}),Placeholder:e=>!e.rootStates.placeholder||e.val_status.dataValue!==null?null:a(C,{position:"absolute",opacity:"middle",fontColor:"3.blur",children:e.rootStates.placeholder||""}),Original:e=>{let{rootStates:t,val_preventOpenSelectorOnFocus:l,set_preventOpenSelectorOnFocus:o,val_optionFocused:i,set_optionFocused:m,val_validate:p,set_validate:b,val_status:d,set_status:I,val_selectorOpen:v,set_selectorOpen:S}=e,U=t,{tone:E,required:L,form:x,className:O,label:ne,isLabelActive:re,placeholder:se,enableFormSubmit:P,emptySelect:X,checkValidationAtFirst:M,onValidate:ie,onValidateDelay:ce,onUpdateValue:ue,onUpdateValidValue:de,value:N="",options:K,leftIndicator:pe,rightIndicator:G,leftIcon:Se,rightIcon:fe,componentId:me,status_id:ye,wrapStyles:ve,SelectedCellStyles:ge,SelectorCellStyles:be,SelectorMode:Ie,SelectorStyles:he,SelectorPosition:Ce}=U,r=H(U,["tone","required","form","className","label","isLabelActive","placeholder","enableFormSubmit","emptySelect","checkValidationAtFirst","onValidate","onValidateDelay","onUpdateValue","onUpdateValidValue","value","options","leftIndicator","rightIndicator","leftIcon","rightIcon","componentId","status_id","wrapStyles","SelectedCellStyles","SelectorCellStyles","SelectorMode","SelectorStyles","SelectorPosition"]);return $(()=>{if(e.rootStates.SelectorMode!="original"||t.disabled)return;let c="select-click-"+t.componentId;if(v){if(!u('[data-input-origin="'+t.componentId+'"]'))return;u(document).addEvent({eventID:c,eventType:"click",callback:s=>{let F=u(s.target),w=!!u(F).parent("."+B("Core")).length;u(F).parent("."+B("Selector")).length||w||S(!1)}})}else u(document).removeEvent([c])},[v]),$(()=>{if(e.rootStates.SelectorMode!="original"||d.eventType=="init"||!v)return;let c=u('[data-input-origin="'+t.componentId+'"]');c&&c.focus()},[d.dataValue]),e.rootStates.SelectorMode!="original"?null:V(J,{children:[a(C,f(n({tabIndex:0},r),{"data-disabled":t.disabled,"data-show-validation":k.isShowValidation(p,d,!!M),"data-component-id":d.componentId,"data-input-origin":d.componentId,className:[O,B("Core")].join(" "),onFocus:c=>{if(r!=null&&r.onFocus&&(r==null||r.onFocus(c)),!t.disabled){if(l)return o(!1);S(!0)}},onClick:c=>{r!=null&&r.onClick&&(r==null||r.onClick(c)),!t.disabled&&S(!0)},onKeyDown:c=>{let{key:g,metaKey:s,ctrlKey:F}=c,w=s||F;if(r!=null&&r.onKeyDown&&(r==null||r.onKeyDown(c)),P&&k.SubmitForm(c,x),!t.disabled){if(u.scope(()=>{if(!["ArrowDown","ArrowUp"].includes(g))return;if(c.preventDefault(),!v)return S(!0);let h=g=="ArrowDown"?1:-1,y=ae.FilterSelectableOptions(e),q=y.length-1,T=null;u.scope(()=>{var Q,Y,Z,ee,te;let D=y.findIndex(z=>(z==null?void 0:z.id)==i);if(h==1){if(T=(Q=y[0])==null?void 0:Q.id,w){T=y[q].id;return}if(D==-1||D==q)return;T=(Y=y[D+1])==null?void 0:Y.id}else{if(T=(Z=y[q])==null?void 0:Z.id,w){T=(ee=y[0])==null?void 0:ee.id;return}if(D==-1||D==0)return;T=(te=y[D-1])==null?void 0:te.id}}),m(T)}),g=="Escape")S(!1);else if(g=="Tab")S(!1);else if(g=="Backspace")I(h=>f(n({},h),{dataValue:null,eventType:"update",eventID:R()}));else if(g==" ")c.preventDefault(),S(!0);else if(g=="Enter"){if(!v)return S(!0);c.preventDefault();let h=t.options.find(y=>(y==null?void 0:y.id)==i);if(!h)return;I(y=>f(n({},y),{dataValue:h==null?void 0:h.value,eventType:"update",eventID:R()})),S(!1)}}},children:V(j.Left,{gap:0,children:[a(Ve,{width:0,overflow:"hidden",opacity:"trans",children:"A"}),V(j.Left,{flexWrap:!0,gap:"1/3",freeCSS:{letterSpacing:".5px"},children:[a(_.Placeholder,n({},e)),a(_.Selected,n({},e))]})]})})),v&&a(_.Selector,n({},e))]})},LegacySelector:e=>{let{rootStates:t,val_preventOpenSelectorOnFocus:l,set_preventOpenSelectorOnFocus:o,val_optionFocused:i,set_optionFocused:m,val_validate:p,set_validate:b,val_status:d,set_status:I,val_selectorOpen:v,set_selectorOpen:S}=e,g=t,{tone:E,required:L,form:x,className:O,label:ne,isLabelActive:re,placeholder:se,enableFormSubmit:P,emptySelect:X,checkValidationAtFirst:M,onValidate:ie,onValidateDelay:ce,onUpdateValue:ue,onUpdateValidValue:de,onKeyDown:N,onChange:K,value:pe="",options:G,leftIndicator:Se,rightIndicator:fe,leftIcon:me,rightIcon:ye,componentId:ve,status_id:ge,wrapStyles:be,SelectedCellStyles:Ie,SelectorCellStyles:he,SelectorMode:Ce,SelectorStyles:r,SelectorPosition:U}=g,c=H(g,["tone","required","form","className","label","isLabelActive","placeholder","enableFormSubmit","emptySelect","checkValidationAtFirst","onValidate","onValidateDelay","onUpdateValue","onUpdateValidValue","onKeyDown","onChange","value","options","leftIndicator","rightIndicator","leftIcon","rightIcon","componentId","status_id","wrapStyles","SelectedCellStyles","SelectorCellStyles","SelectorMode","SelectorStyles","SelectorPosition"]);return e.rootStates.SelectorMode!="legacy"?null:V(C,f(n({htmlTag:"select",tabIndex:0},c),{"data-disabled":t.disabled,"data-show-validation":k.isShowValidation(p,d,!!M),"data-component-id":d.componentId,"data-input-origin":d.componentId,className:[O,B("Core")].join(" "),onKeyDown:s=>{N&&N(s),P&&k.SubmitForm(s,x)},onChange:s=>{let{value:F}=s.target;p.ok&&b({ok:!1,notice:[]}),I(w=>f(n({},w),{dataValue:F,eventType:"update",eventID:R()})),K&&K(s)},children:[!!X&&a("option",{value:"null",children:"\u9078\u629E"}),G.map(s=>u.is.nullish(s==null?void 0:s.value)?null:a("option",{value:s==null?void 0:s.value,children:s.label},String(s==null?void 0:s.value)))]}))},Selector:e=>{var o;$(()=>{let i=u(`[data-selector-id="${e.val_status.componentId}"]`)[0];if(!i)return;let m=u(`[data-select-input-value="${e.val_optionFocused}"]`)[0];m&&(i.scrollTop=m.offsetTop-24)},[e.val_optionFocused]);let t=ae.FilterSelectableOptions(e,!0),l={position:"absolute",minWidth:1,freeCSS:{zIndex:1e3}};switch(e.rootStates.SelectorPosition){case 1:l.bottom="100%",l.left=0,l.paddingBottom="1/3";break;case 2:l.bottom="100%",l.right=0,l.paddingBottom="1/3";break;case 3:l.top="100%",l.left=0,l.paddingTop="1/3";break;case 4:l.top="100%",l.right=0,l.paddingTop="1/3";break;default:break}return a(C,f(n({},l),{children:a(xe.Body,f(n({className:B("Selector"),ssCardBox:!0,borderRadius:"2.tone.secondary",boxShadow:"1.normal",overflow:"auto","data-selector-id":e.val_status.componentId},e.rootStates.SelectorStyles),{freeCSS:n({minWidth:12*6,maxHeight:12*24},(o=e.rootStates.SelectorStyles)==null?void 0:o.freeCSS),children:V(Oe,{gap:"1/12",padding:[1,0],children:[t.map((i,m)=>{if(!i)return null;let{type:p,value:b}=i,d=e.val_optionFocused==i.id,I=e.val_status.dataValue===b;return p=="label"?a(C,{children:i.label},R()):a(Te.Sub.S,f(n({"data-select-input-value":i.id,color:"cloud",backgroundColor:"trans",borderRadius:0,fontColor:"2.normal",textAlign:"left",padding:["1/2",1],isActive:I||d,isActiveStyles:d?{backgroundColor:"cloud"}:{backgroundColor:"theme.opa.few",fontColor:"theme"}},e.rootStates.SelectorCellStyles),{onClick:v=>{e.set_status(S=>f(n({},S),{dataValue:b,eventType:"update",eventID:R()})),e.set_selectorOpen(!1),e.set_preventOpenSelectorOnFocus(!0)},children:V(j.Left,{gap:"1/2",children:[I&&a(le.Check,{fontColor:"theme"}),a(W.Supplement,{transition:"short",flexSizing:0,children:i.label})]})}),i.id)}),!t.length&&a(W.Supplement,{padding:[0,1],fontColor:"4.thin",children:"\u5019\u88DC\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093"},"no-selector-notice")]})}))}))},Selected:e=>{let t=[];return e.val_status.dataValue!==null&&u.scope(()=>{let l=e.rootStates.options.find(o=>u.is.equal(o==null?void 0:o.value,e.val_status.dataValue));l&&t.push(a(C,f(n({},e.rootStates.SelectedCellStyles),{children:l.label}),String(l==null?void 0:l.value)))}),a(J,{children:t})},Core:e=>{var L,x;let{value:t}=e,[l,o]=A(k.DefaultStatus(e.componentId,t)),[i,m]=A(!1),[p,b]=A(!1),[d,I]=A(((L=e.options.find(O=>(O==null?void 0:O.value)===e.value))==null?void 0:L.id)||((x=e.options[0])==null?void 0:x.id)||""),[v,S]=A({ok:!1,notice:[]}),E={rootStates:e,val_preventOpenSelectorOnFocus:i,set_preventOpenSelectorOnFocus:m,val_optionFocused:d,set_optionFocused:I,val_selectorOpen:p,set_selectorOpen:b,val_status:l,set_status:o,val_validate:v,set_validate:S};return k.CommonEffects({type:"select",states:e,val_status:l,set_status:o,val_validate:v,set_validate:S,SystemValidation:Ae}),V(we,{val_status:l,set_status:o,val_validate:v,states:e,children:[a(Re,{componentId:e.componentId,fontSize:e.fontSize,required:e.required,label:e.label,isActive:e.isLabelActive||l.dataValue!==null}),a(_.Shallow,n({},E)),a(_.Button,n({},E))]})}},oe=e=>{var l;let t=n({},e);return t=f(n({emptySelect:!0,SelectorMode:"original",SelectorPosition:3},t),{freeCSS:n({cursor:"pointer"},t.freeCSS)}),t.emptySelect&&(t.options=[{value:null,label:a(W.Supplement,{fontColor:"4.thin",children:"\u672A\u9078\u629E"})},...t.options]),t.value=(l=t.value)!=null?l:null,t.options.forEach((o,i)=>{if(!o)return;let{type:m,value:p,searchValue:b}=o,d=b||u.is.string(p)&&p||u.Stringify(p||"")||"";t.options[i]=f(n({id:R()},o),{value:p,searchValue:d,type:m||"selector"})}),u.is.nullish(t.rightIcon)&&(t.rightIcon=a(ke,{ssSphere:2,children:a(le.AngleDown,{})})),a(Fe,{componentId:t.componentId,children:_.Core,states:De(t)})};export{oe as Select,oe as default};
|