amotify 0.2.185 → 0.2.187
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 Y,e as Z}from"../../chunk-C5N2D3ZX.js";import{Fragment as J,jsx as a,jsxs as E}from"react/jsx-runtime";import{useState as I,useEffect as R,useRef as re}from"react";import c,{UUID as A}from"jmini";import{ExtractStyles as ie}from"../../@utils";import{Box as x,Span as se,FAI as H,Column as ee}from"../../atoms";import{Literal as B,Row as M}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 P,DefaultBoxishStyles as Se}from"./core";import{InputAutocompleteClasses as K}from"../../@styles/componentClasses";import{InputLabel as me}from"./Label";import{RightIcon as oe}from".";function fe(e){let{value:t,states:s}=e,{required:p,options:l,min:n,max:m}=s;n=n||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<n&&o.push({type:"invalid",label:n+"\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 W={InitOptions:e=>{let t=[];return e.forEach(s=>{if(!s)return;let{type:p,label:l,value:n,searchValue:m}=s,o=m||c.is.string(l)&&l||""||c.is.string(n)&&n||c.Stringify(n||"")||"";c.is.nullish(l)&&(l=String(n)),t.push(O(S({id:A()},s),{searchValue:o,type:p||"selector",label:l,value:n}))}),t},FilterSelectableOptions:(e,t,s)=>{let p=e;return s||(p=e.filter(l=>(l==null?void 0:l.type)!="label")),c.scope(()=>{if(!t)return;let l=t.toLower().replace(/ /g,"");p=p.filter(n=>(n.searchValue||"").toLower().replace(/ /g,"").includes(l))}),p}},F={Shallow:e=>{let{rootStates:t,val_status:s}=e,p=ie(t);return a(x,{position:"absolute",top:0,left:0,right:0,height:0,overflow:"hidden",opacity:"trans",freeCSS:{zIndex:3,pointerEvents:"none"},children:a(B.Description,O(S({className:t.className},p),{position:"absolute",width:1,freeCSS:O(S({},p.freeCSS),{color:"orange"}),"data-id":"shallow_"+s.componentId,children:a(x,{"data-input-value-shallow":s.componentId,children:"A"})}))})},Button:e=>{let{rootStates:t,val_keyword:s,set_keyword:p,val_optionFocused:l,set_optionFocused:n,val_options:m,set_options:o,val_optionsDict:h,set_optionsDict:i,val_preventOpenSelectorOnFocus:u,set_preventOpenSelectorOnFocus:d,val_selectorOpen:r,set_selectorOpen:f,val_status:v,set_status:C,val_validate:_,set_validate:g}=e,G=t,{tone:D,required:w,form:V,className:N,multiSelect:j,enableFormSubmit:L,checkValidationAtFirst:z,onValidate:q,onValidateDelay:U,onUpdateValue:X,onUpdateValidValue:k,value:ve="",options:ye,leftIndicator:he,rightIndicator:_e,leftIcon:ge,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||!r)return;let y=W.FilterSelectableOptions(e.val_options,s,!1);n(((T=y[0])==null?void 0:T.id)||"")},[s]),R(()=>{v.eventType!="init"&&(t.max==v.dataValue.length?(f(!1),d(!0),setTimeout(()=>{let y=c('[data-input-origin="'+t.componentId+'"]');y&&y.focus()},10)):c("#SearchInput_"+t.componentId).focus())},[v.dataValue]),R(()=>{let y="autocomplete-click-"+t.componentId;if(r){if(!c('[data-input-origin="'+t.componentId+'"]'))return;c("#SearchInput_"+t.componentId).focus(),c(document).addEvent({eventID:y,eventType:"mousedown",callback:$=>{let Q=c($.target),le=!!c(Q).parent("."+K("Core")).length,ne=!!c(Q).parent("."+K("Selector")).length;le||ne||(f(!1),$.preventDefault(),$.stopPropagation())},options:{passive:!1}})}else c(document).removeEvent([y]),p("")},[r]),E(J,{children:[a(x,O(S({tabIndex:0},b),{"data-disabled":t.disabled,"data-show-validation":P.isShowValidation(_,v,!!z),"data-component-id":v.componentId,"data-input-origin":v.componentId,"data-focus":!!r,className:[N,K("Core")].join(" "),onFocus:y=>{if(b!=null&&b.onFocus&&(b==null||b.onFocus(y)),!t.disabled){if(u)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;L&&P.SubmitForm(y,V),!r&&(T==" "||T=="ArrowDown"||T=="ArrowUp"||T=="Enter")&&f(!0)},children:E(M.Left,{flexWrap:!0,gap:"1/3",freeCSS:{letterSpacing:".5px"},children:[a(F.Selected,S({},e)),a(se,{width:0,overflow:"hidden",opacity:"trans",children:"A"}),a(F.SearchInput,S({},e))]})})),r&&a(F.Selector,S({},e))]})},SearchInput:e=>{let{rootStates:t}=e,[s,p]=I(!1);return t.disabled||!e.val_selectorOpen?null:a(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:l=>{t.onCompositionStart&&t.onCompositionStart(l),p(!0)},onCompositionEnd:l=>{t.onCompositionEnd&&t.onCompositionEnd(l),p(!1)},onKeyDown:l=>{let{key:n,metaKey:m,ctrlKey:o}=l,h=m||o;n=="Escape"?(e.set_selectorOpen(!1),e.set_preventOpenSelectorOnFocus(!0),setTimeout(()=>{let i=c('[data-input-origin="'+t.componentId+'"]');i&&i.focus()},10)):n=="Tab"?e.set_selectorOpen(!1):n==" "?c.scope(()=>{e.val_selectorOpen||e.val_keyword||(l.preventDefault(),e.set_selectorOpen(!0))}):n=="Backspace"?c.scope(()=>{if(e.val_keyword)return;let i=[...e.val_status.dataValue];i.pop(),e.set_status(u=>O(S({},u),{dataValue:i,eventType:"update",eventID:A()}))}):n=="Enter"&&c.scope(()=>{if(s)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:u}=i;e.set_status(d=>{let r=[...d.dataValue];return c.scope(()=>{if(u===null)return r=[];d.dataValue.includes(u)?r=r.filter(v=>v!==u):t.multiSelect?r.push(u):r=[u]}),O(S({},d),{dataValue:r,eventType:"update",eventID:A()})}),e.set_keyword(""),e.set_preventDynamicSearchOnKeywordChange(!0)}),c.scope(()=>{if(!["ArrowDown","ArrowUp"].includes(n))return;if(l.preventDefault(),!e.val_selectorOpen)return e.set_selectorOpen(!0);let i=n=="ArrowDown"?1:-1,u=W.FilterSelectableOptions(e.val_options),d=u.length-1,r=null;c.scope(()=>{var v,C,_,g,D,w;let f=u.findIndex(V=>(V==null?void 0:V.id)==e.val_optionFocused);if(f==-1&&(f=0),i==1){if(r=(v=u[0])==null?void 0:v.id,h){r=(C=u[d])==null?void 0:C.id;return}if(f==-1||f==d)return;r=(_=u[f+1])==null?void 0:_.id}else{if(r=(g=u[d])==null?void 0:g.id,h){r=(D=u[0])==null?void 0:D.id;return}if(f==-1||f==0)return;r=(w=u[f-1])==null?void 0:w.id}}),e.set_optionFocused(r)}),t.enableFormSubmit&&P.SubmitForm(l,e.rootStates.form)},onChange:l=>{let m=l.target.value;e.set_keyword(m)}},"searchInput")},Selector:e=>{var h;let[t,s]=I("idle"),[p,l]=I("idle");R(()=>{if(!e.val_selectorOpen||!e.rootStates.DynamicOptionsOnSearch)return;if(e.val_preventDynamicSearchOnKeywordChange)return e.set_preventDynamicSearchOnKeywordChange(!1);if(t=="idle")return s("ok");l("fetch");let i="autocomplete-search-"+e.rootStates.componentId;c.interval.once(()=>Z(void 0,null,function*(){let u=yield e.rootStates.DynamicOptionsOnSearch(e.val_keyword);l("idle");let d=W.InitOptions(u||[]);e.set_options(d)}),e.rootStates.DynamicOptionsOnSearchDelay||300,i)},[e.val_keyword]),R(()=>{let i=c(`[data-autocomplete-input-value="${e.val_optionFocused}"]`)[0];console.log(i),i&&(c(`[data-selector-id="${e.val_status.componentId}"]`)[0].scrollTop=i.offsetTop-12)},[e.val_optionFocused]);let n=[],m=W.FilterSelectableOptions(e.val_options,e.rootStates.DynamicOptionsOnSearch?"":e.val_keyword,!0);m.forEach((i,u)=>{if(!i)return;let{type:d,value:r}=i,f=e.val_optionFocused==i.id,v=e.val_status.dataValue.includes(r),C=e.rootStates.SelectorComponent;n.push(a(ee,{"data-autocomplete-input-value":i.id,children:a(C,{option:i,isFocused:f,isSelected:v,addCallback:()=>{e.set_status(_=>{let g=[..._.dataValue];return c.scope(()=>{if(r===null)return g=[];_.dataValue.includes(r)?g=g.filter(w=>w!==r):e.rootStates.multiSelect?g.push(r):g=[r]}),O(S({},_),{dataValue:g,eventType:"update",eventID:A()})})}})},i.id))}),m.length||(n=[a(B.Supplement,{padding:[0,1],fontColor:"4.thin",children:"\u5019\u88DC\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093"},"no-selector-notice")]),p=="fetch"&&(n=[E(M.Left,{padding:1,fontColor:"3.blur",children:[a(ce.Theme.R,{showInitial:!0}),a(B.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 a(x,O(S({},o),{children:a(ue.Body,O(S({className:K("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:a(ee,{gap:"1/12",padding:[1,0],children:n})}))}))},Selected:e=>{let{rootStates:t,val_status:s,set_status:p,val_optionsDict:l}=e,n=[];return s.dataValue.forEach(m=>{let o=l[c.Stringify(m)];if(!o)return;let h=t.SelectedComponent,i=o.label;(o==null?void 0:o.value)===null&&(i=""),n.push(a(x,{className:K("SelectedCell"),children:a(h,{value:o==null?void 0:o.value,label:i,removeCallback:u=>{if(u.stopPropagation(),u.preventDefault(),t.disabled)return;let d=[...s.dataValue];d=d.filter(r=>r!==m),p(r=>O(S({},r),{dataValue:d,eventType:"update",eventID:A()}))}})},c.Stringify(o==null?void 0:o.value)||A()))}),a(J,{children:n})},Core:e=>{var z,q;let{value:t}=e,[s,p]=I(!1),[l,n]=I(!1),[m,o]=I(!1),[h,i]=I(""),[u,d]=I(e.options),[r,f]=I(((z=e.options.find(U=>U.value==e.value))==null?void 0:z.id)||((q=e.options[0])==null?void 0:q.id)||""),[v,C]=I({}),[_,g]=I(P.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(!u.length)return;let U=[...u],X=S({},v);U.forEach(k=>{(k==null?void 0:k.type)!="label"&&(X[c.Stringify(k==null?void 0:k.value)]=k)}),C(X)},[u]);let N={rootStates:e,val_options:u,set_options:d,val_optionFocused:r,set_optionFocused:f,val_optionsDict:v,set_optionsDict:C,val_preventDynamicSearchOnKeywordChange:l,set_preventDynamicSearchOnKeywordChange:n,val_preventOpenSelectorOnFocus:s,set_preventOpenSelectorOnFocus:p,val_selectorOpen:m,set_selectorOpen:o,val_keyword:h,set_keyword:i,val_status:_,set_status:g,val_validate:D,set_validate:w},j=!!e.multiSelect;P.CommonEffects({type:j?"autocomplete.multi":"autocomplete.single",states:e,val_status:_,set_status:g,val_validate:D,set_validate:w,SystemValidation:fe});let L=_.dataValue.length&&_.dataValue[0]!==null;return L=L||m,E(de,{val_status:_,set_status:g,val_validate:D,states:e,children:[a(me,{componentId:e.componentId,fontSize:e.fontSize,required:e.required,label:e.label,isActive:L}),a(F.Shallow,S({},N)),a(F.Button,S({},N))]})}},ae=e=>{let t=S({},e);return t=O(S({value:[],min:0,max:65535,multiSelect:!0,SearchInput:!0,emptySelect:!0,SelectorComponent:({option:s,isSelected:p,isFocused:l,addCallback:n})=>s?(s==null?void 0:s.type)=="label"?a(J,{children:s.label}):a(te.Sub.S,{color:"cloud",backgroundColor:"trans",borderRadius:0,fontColor:"2.normal",textAlign:"left",padding:["1/2",1.5],isActive:l,isActiveStyles:{backgroundColor:"cloud"},onClick:m=>{n()},children:E(M.Left,{gap:"1/2",children:[p&&a(H.Check,{fontColor:"theme"}),a(B.Supplement,{transition:"short",children:s.label})]})}):null,SelectedComponent:({value:s,label:p,removeCallback:l})=>E(M.Left,{ssCardBox:"cloud",borderRadius:"2.tone.secondary",fontSize:"1.mini",padding:"1/2",gap:0,children:[a(x,{padding:[0,"1/4"],children:p}),a(te.Sub,{flexSizing:"none",color:"cloud",fontColor:"white",backgroundColor:"layer.5",isRounded:!0,padding:"1/4",onClick:l,freeCSS:{lineHeight:1,aspectRatio:"1/1"},children:a(H.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:a(B.Supplement,{fontColor:"4.thin",children:"\u9078\u629E\u3092\u89E3\u9664"})},...t.options]),t.value=c.flatArray(t.id),t.options=W.InitOptions(t.options),c.is.nullish(t.rightIcon)&&(t.rightIcon=a(oe,{ssSphere:2,children:a(H.Search,{})}),t.disabled&&(t.rightIcon=a(oe,{ssSphere:2,fontColor:"5.translucent",children:a(H.Ban,{})}))),t.rightIcon&&(t=S({paddingRight:3},t)),t.leftIcon&&(t=S({paddingLeft:3},t)),a(pe,{componentId:t.componentId,children:F.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 L}from"react/jsx-runtime";import{useState as I,useEffect as R,useRef as re}from"react";import u,{UUID as F}from"jmini";import{ExtractStyles as ie}from"../../@utils";import{Box as x,Span as se,FAI as M,Column as ee}from"../../atoms";import{Literal as P,Row as q}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 K,DefaultBoxishStyles as Se}from"./core";import{InputAutocompleteClasses as W}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:F()},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}},E={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:z,multiSelect:j,enableFormSubmit:B,checkValidationAtFirst:U,onValidate:X,onValidateDelay:H,onUpdateValue:A,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("."+W("Core")).length,ne=!!u(Q).parent("."+W("Selector")).length;le||ne||(f(!1),$.preventDefault(),$.stopPropagation())},options:{passive:!1}})}else u(document).removeEvent([y]),p("")},[a]),L(J,{children:[l(x,O(S({tabIndex:0},b),{"data-disabled":t.disabled,"data-show-validation":K.isShowValidation(g,v,!!U),"data-component-id":v.componentId,"data-input-origin":v.componentId,"data-focus":!!a,className:[z,W("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&&K.SubmitForm(y,V),!a&&(T==" "||T=="ArrowDown"||T=="ArrowUp"||T=="Enter")&&f(!0)},children:L(q.Left,{flexWrap:!0,gap:"1/3",freeCSS:{letterSpacing:".5px"},children:[l(E.Selected,S({},e)),l(se,{width:0,overflow:"hidden",opacity:"trans",children:"A"}),l(E.SearchInput,S({},e))]})})),a&&l(E.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:F()}))}):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:F()})}),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&&K.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:F()})})}})},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=[L(q.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:W("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:W("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:F()}))}})},u.Stringify(o==null?void 0:o.value)||F()))}),l(J,{children:r})},Core:e=>{var U,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(((U=e.options.find(H=>{var A;return H.value===((A=e.value)==null?void 0:A[0])}))==null?void 0:U.id)||((X=e.options[0])==null?void 0:X.id)||""),[v,C]=I({}),[g,_]=I(K.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 H=[...s],A=S({},v);H.forEach(k=>{(k==null?void 0:k.type)!="label"&&(A[u.Stringify(k==null?void 0:k.value)]=k)}),C(A)},[s]);let z={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;K.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,L(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(E.Shallow,S({},z)),l(E.Button,S({},z))]})}},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:L(q.Left,{gap:"1/2",children:[p&&l(M.Check,{fontColor:"theme"}),l(P.Supplement,{transition:"short",children:c.label})]})}):null,SelectedComponent:({value:c,label:p,removeCallback:n})=>L(q.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(M.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(M.Search,{})}),t.disabled&&(t.rightIcon=l(oe,{ssSphere:2,fontColor:"5.translucent",children:l(M.Ban,{})}))),t.rightIcon&&(t=S({paddingRight:3},t)),t.leftIcon&&(t=S({paddingLeft:3},t)),l(pe,{componentId:t.componentId,children:E.Core,states:Se(t)})};export{ae as Autocomplete,ae as default};
|
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 O}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 te,Column as Oe}from"../../atoms";import{Literal as W,Row as le}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 ke}from"./Label";import{RightIcon as Re}from".";function Ae(e){let{value:t,states:l}=e,{required:o,options:i}=l,v=[];return o&&t===null&&v.push({type:"invalid",label:"\u5FC5\u9808\u9805\u76EE\u3067\u3059"}),{ok:!v.filter(({type:p})=>p=="invalid").length,notice:v}}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=>O(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:v,val_validate:p,set_validate:b,val_status:d,set_status:I,val_selectorOpen:y,set_selectorOpen:S}=e,U=t,{tone:E,required:L,form:T,className:R,label:ne,isLabelActive:re,placeholder:se,enableFormSubmit:P,emptySelect:J,checkValidationAtFirst:M,onValidate:ie,onValidateDelay:ce,onUpdateValue:ue,onUpdateValidValue:de,value:N="",options:K,leftIndicator:pe,rightIndicator:X,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(y){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])},[y]),$(()=>{if(e.rootStates.SelectorMode!="original"||d.eventType=="init"||!y)return;let c=u('[data-input-origin="'+t.componentId+'"]');c&&c.focus()},[d.dataValue]),e.rootStates.SelectorMode!="original"?null:O(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:[R,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&&k.SubmitForm(c,T),!t.disabled){if(u.scope(()=>{if(!["ArrowDown","ArrowUp"].includes(g))return;if(c.preventDefault(),!y)return S(!0);let h=g=="ArrowDown"?1:-1,m=ae.FilterSelectableOptions(e),q=m.length-1,V=null;u.scope(()=>{var G,Q,Y,Z,ee;let w=m.findIndex(z=>(z==null?void 0:z.id)==i);if(h==1){if(V=(G=m[0])==null?void 0:G.id,F){V=m[q].id;return}if(w==-1||w==q)return;V=(Q=m[w+1])==null?void 0:Q.id}else{if(V=(Y=m[q])==null?void 0:Y.id,F){V=(Z=m[0])==null?void 0:Z.id;return}if(w==-1||w==0)return;V=(ee=m[w-1])==null?void 0:ee.id}}),v(V)}),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(!y)return S(!0);c.preventDefault();let h=t.options.find(m=>(m==null?void 0:m.id)==i);if(!h)return;I(m=>f(n({},m),{dataValue:h==null?void 0:h.value,eventType:"update",eventID:D()})),S(!1)}}},children:O(le.Left,{flexWrap:!0,gap:"1/3",freeCSS:{letterSpacing:".5px"},children:[a(_.Placeholder,n({},e)),a(_.Selected,n({},e)),a(Ve,{width:0,overflow:"hidden",opacity:"trans",children:"A"})]})})),y&&a(_.Selector,n({},e))]})},LegacySelector:e=>{let{rootStates:t,val_preventOpenSelectorOnFocus:l,set_preventOpenSelectorOnFocus:o,val_optionFocused:i,set_optionFocused:v,val_validate:p,set_validate:b,val_status:d,set_status:I,val_selectorOpen:y,set_selectorOpen:S}=e,g=t,{tone:E,required:L,form:T,className:R,label:ne,isLabelActive:re,placeholder:se,enableFormSubmit:P,emptySelect:J,checkValidationAtFirst:M,onValidate:ie,onValidateDelay:ce,onUpdateValue:ue,onUpdateValidValue:de,onKeyDown:N,onChange:K,value:pe="",options:X,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:O(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:[R,B("Core")].join(" "),onKeyDown:s=>{N&&N(s),P&&k.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:[!!J&&a("option",{value:"null",children:"\u9078\u629E"}),X.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-select-input-value="${e.val_optionFocused}"]`)[0];i&&(u(`[data-selector-id="${e.val_status.componentId}"]`)[0].scrollTop=i.offsetTop-12)},[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:O(Oe,{gap:"1/12",padding:[1,0],children:[t.map((i,v)=>{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:y=>{e.set_status(S=>f(n({},S),{dataValue:b,eventType:"update",eventID:D()})),e.set_selectorOpen(!1),e.set_preventOpenSelectorOnFocus(!0)},children:O(le.Left,{gap:"1/2",children:[I&&a(te.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(k.DefaultStatus(e.componentId,t)),[i,v]=A(!1),[p,b]=A(!1),[d,I]=A(((L=e.options.find(R=>R.value==e.value))==null?void 0:L.id)||((T=e.options[0])==null?void 0:T.id)||""),[y,S]=A({ok:!1,notice:[]}),E={rootStates:e,val_preventOpenSelectorOnFocus:i,set_preventOpenSelectorOnFocus:v,val_optionFocused:d,set_optionFocused:I,val_selectorOpen:p,set_selectorOpen:b,val_status:l,set_status:o,val_validate:y,set_validate:S};return k.CommonEffects({type:"select",states:e,val_status:l,set_status:o,val_validate:y,set_validate:S,SystemValidation:Ae}),O(we,{val_status:l,set_status:o,val_validate:y,states:e,children:[a(ke,{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:v,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:v||"selector"})}),u.is.nullish(t.rightIcon)&&(t.rightIcon=a(Re,{ssSphere:2,children:a(te.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 O}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 te,Column as Oe}from"../../atoms";import{Literal as W,Row as le}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 ke}from"./Label";import{RightIcon as Re}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=>O(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:R,label:ne,isLabelActive:re,placeholder:se,enableFormSubmit:P,emptySelect:J,checkValidationAtFirst:M,onValidate:ie,onValidateDelay:ce,onUpdateValue:ue,onUpdateValidValue:de,value:N="",options:K,leftIndicator:pe,rightIndicator:X,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:O(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:[R,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&&k.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,V=null;u.scope(()=>{var G,Q,Y,Z,ee;let w=y.findIndex(z=>(z==null?void 0:z.id)==i);if(h==1){if(V=(G=y[0])==null?void 0:G.id,F){V=y[q].id;return}if(w==-1||w==q)return;V=(Q=y[w+1])==null?void 0:Q.id}else{if(V=(Y=y[q])==null?void 0:Y.id,F){V=(Z=y[0])==null?void 0:Z.id;return}if(w==-1||w==0)return;V=(ee=y[w-1])==null?void 0:ee.id}}),m(V)}),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:O(le.Left,{flexWrap:!0,gap:"1/3",freeCSS:{letterSpacing:".5px"},children:[a(_.Placeholder,n({},e)),a(_.Selected,n({},e)),a(Ve,{width:0,overflow:"hidden",opacity:"trans",children:"A"})]})})),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:R,label:ne,isLabelActive:re,placeholder:se,enableFormSubmit:P,emptySelect:J,checkValidationAtFirst:M,onValidate:ie,onValidateDelay:ce,onUpdateValue:ue,onUpdateValidValue:de,onKeyDown:N,onChange:K,value:pe="",options:X,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:O(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:[R,B("Core")].join(" "),onKeyDown:s=>{N&&N(s),P&&k.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:[!!J&&a("option",{value:"null",children:"\u9078\u629E"}),X.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:O(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:O(le.Left,{gap:"1/2",children:[I&&a(te.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(k.DefaultStatus(e.componentId,t)),[i,m]=A(!1),[p,b]=A(!1),[d,I]=A(((L=e.options.find(R=>R.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 k.CommonEffects({type:"select",states:e,val_status:l,set_status:o,val_validate:v,set_validate:S,SystemValidation:Ae}),O(we,{val_status:l,set_status:o,val_validate:v,states:e,children:[a(ke,{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(Re,{ssSphere:2,children:a(te.AngleDown,{})})),a(Fe,{componentId:t.componentId,children:_.Core,states:De(t)})};export{oe as Select,oe as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as re,b as l,c as E,d as Q}from"../../../chunk-C5N2D3ZX.js";import{Fragment as Ae,jsx as h,jsxs as le}from"react/jsx-runtime";import Z,{UUID as N,useStore as L}from"jmini";import*as X from"jmini";import{useState as W,useEffect as z,useRef as ce}from"react";import{$$fromRoot as ue,Config as ie,ExtractStyles as de}from"../../../@utils";import{Box as H,FAI as fe}from"../../../atoms";import{Literal as he,Row as ge}from"../../../mols";import{Button as ne}from"../../Button";import ye from"../../Tooltips";import ve from"../../Sheet";import{faClock as Ie}from"@fortawesome/free-solid-svg-icons/faClock";import{faCalendarAlt as Se}from"@fortawesome/free-solid-svg-icons/faCalendarAlt";import{OptionalInputWrapper as Te,BoxWrapper as De,CoreEffects as Y,DefaultBoxishStyles as be}from"../core";import{RightIcon as xe}from"..";import ke from"../Select";import{InputLabel as Ee}from"../Label";import we from"./Picker";const F=" ~ ",Ve={clock:{defaultValue:"--:--",format:/^\d{2}\D\d{2}$/,ranges:[{type:"hour",from:0,length:2},{type:"minute",from:3,length:2}],sets:1},date:{defaultValue:"----/--/--",format:/^\d{4}\D\d{2}\D\d{2}$/,ranges:[{type:"year",from:0,length:4},{type:"month",from:5,length:2},{type:"date",from:8,length:2}],sets:1},week:{defaultValue:"----\u5E74\u7B2C--\u9031",format:/^\d{4}\D\d{2}$/,ranges:[{type:"year",from:0,length:4,region:6},{type:"week",from:6,length:2,region:3}],sets:1},month:{defaultValue:"----\u5E74--\u6708",format:/^\d{4}\D\d{2}$/,ranges:[{type:"year",from:0,length:4},{type:"month",from:5,length:2,region:3}],sets:1},year:{defaultValue:"----\u5E74",format:/^\d{4}$/,ranges:[{type:"year",from:0,length:4,region:5}],sets:1},dates:{defaultValue:"----/--/--",format:/^\d{4}\D\d{2}\D\d{2}$/,ranges:[{type:"year",from:0,length:4},{type:"month",from:5,length:2},{type:"date",from:8,length:2,region:5},{type:"year",from:10+F.length,length:4},{type:"month",from:15+F.length,length:2},{type:"date",from:18+F.length,length:2}],sets:2},months:{defaultValue:"----\u5E74--\u6708",format:/^\d{4}\D\d{2}$/,ranges:[{type:"year",from:0,length:4},{type:"month",from:5,length:2,region:6},{type:"year",from:8+F.length,length:4},{type:"month",from:13+F.length,length:2,region:3}],sets:2},dateWareki:{defaultValue:"----\u5E74--\u6708--\u65E5",format:/^\d{4}\D\d{2}\D\d{2}$/,ranges:[{type:"dateWareki",from:0,length:4,region:5},{type:"month",from:5,length:2,region:3},{type:"date",from:8,length:2,region:3}],sets:1}},O={PeriodMargin:" ~ ",DataLeveling:e=>{let{restrict:a,value:g,era:r}=e,u=Z.flatArray(g||""),{defaultValue:d,format:f,ranges:y,sets:i}=Ve[a],m=[],o=a=="clock"&&":"||"/";for(let n=0;n<u.length;n++)u[n]=String(u[n]).replace(/\D/ig,o);for(let n=0;n<i;n++){let p=u[n]||"";if(!p.match(f))u[n]="",m.push(d);else{let k=d;p.split(/\D/).forEach((w,V)=>{if(V==0&&a=="dateWareki"){let S=Number(w);r!="year"&&(S>=2019?r=="reiwa"?S-=2018:r=="heisei"&&(S=31):S>=1989?r=="heisei"?S-=1988:r=="shouwa"&&(S=64):S>=1926?r=="shouwa"?S-=1925:r=="taisho"&&(S=15):S>=1912?r=="taisho"?S-=1911:r=="meiji"&&(S=45):S>=1868&&(S-=1867)),w=S.zeroEmbed(4)}k=k.replace(new RegExp("------------------".slice(0,w.length)),w)}),m.push(k)}}return{formatValue:m.join(F),dataValue:["dates","months"].includes(a)?u:u[0],ranges:y}},SystemValidation:e=>{let{states:a}=e,{restrict:g,min:r,max:u,required:d}=a,f=[],y=Z.flatArray(e.value),i={empty:!1,escalated:1,filled:!0,correct:!0,prohibited:!1};(()=>{let m=g=="clock"&&":"||"/";for(let o=0;o<y.length;o++)y[o]=String(y[o]).replace(/\D/ig,m);for(let o=0;o<y.length;o++){let n=y[o],p=y[o-1];n.removeLetters()||(i.empty=!0),o>0&&(i.escalated&=+(n>=p))}i.escalated&&(i.empty||(g.match(/clock/)?y.forEach(o=>{let[n,p]=o.split(/\D+/);!n||!p?i.filled=!1:(Number(n)>23||Number(p)>59)&&(i.correct=!1)}):g.match(/date/)?y.forEach(o=>{let[n,p,k]=o.split(/\D+/);if(!n||!p||!k)i.filled=!1;else{let w=X.Time(o);(!w.validate||o!=w.toFormatYMD())&&(i.correct=!1)}}):g.match(/week/)?y.forEach(o=>{let[n,p]=o.split(/\D+/);if(!n||!p)i.filled=!1;else{let k=X.Time(n+"/01/01").weekday,V=X.Time(n+"/01/0"+(7-k+1)).addWeek(Number(p)-1);n!=String(V.year)&&(i.correct=!1)}}):g.match(/month/)?y.forEach(o=>{let[n,p]=o.split(/\D+/);!n||!p?i.filled=!1:X.Time([n,p,"01"].join("/")).validate||(i.correct=!1)}):g.match(/year/),i.filled&&i.correct&&y.forEach(o=>{{let n=Number(String(o).replace(/\D/ig,""));if(r&&Number(String(r).replace(/\D/ig,""))>n&&(i.prohibited=!0),u){let p=Number(String(u).replace(/\D/ig,""));n>p&&(i.prohibited=!0)}}})))})();{let{empty:m,escalated:o,filled:n,correct:p,prohibited:k}=i;m&&d&&(f=[{type:"invalid",label:"\u5FC5\u9808\u9805\u76EE\u3067\u3059"}]),o||f.push({type:"invalid",label:"\u6642\u7CFB\u5217\u3092\u6B63\u3057\u304F\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044"}),p||f.push({type:"invalid",label:"\u7121\u52B9\u306A\u5024\u304C\u5165\u529B\u3055\u308C\u3066\u3044\u307E\u3059"}),n||f.push({type:"invalid",label:"\u6700\u5F8C\u307E\u3067\u5024\u3092\u57CB\u3081\u3066\u304F\u3060\u3055\u3044"}),k&&f.push({type:"invalid",label:le(Ae,{children:[h(H,{children:"\u5165\u529B\u7BC4\u56F2\u304C\u5236\u9650\u3055\u308C\u3066\u3044\u307E\u3059"}),"[",r||"\u4E0B\u9650\u7121\u3057","] ~ [",u||"\u4E0A\u9650\u7121\u3057","]"]})})}return{ok:!f.filter(({type:m})=>m=="invalid").length,notice:f}},KeyDownEvent:e=>{let{val_era:a,restrict:g,event:r,val_status:u,set_status:d,val_focus:f,set_focus:y}=e,{key:i,shiftKey:m,ctrlKey:o,metaKey:n}=r,p=o||n,{selectionStart:k,selectionEnd:w}=r.target,{index:V,prevIndex:S}=f,{ranges:q,formatValue:$}=u,A=q.length-1;if(["Tab","ArrowLeft","ArrowRight"].includes(i)){let v=0;if(i=="Tab"){let s=+!m*2-1;if(v=f.index+s,v<0||v>A)return}else{let s=i=="ArrowLeft"?-1:i=="ArrowRight"?1:0;p||k==0&&w==String(u.formatValue).length?v=s==1?A:0:v=Math.max(0,Math.min(V+s,A))}y(s=>E(l({},s),{index:v,prevIndex:V})),r.preventDefault()}if(["Backspace","ArrowUp","ArrowDown","0","1","2","3","4","5","6","7","8","9"].includes(i)){r.preventDefault();let v=V;v=Math.max(v,0),v=Math.min(v,A);let{type:s,from:U,length:G}=q[v],P=$.slice(U,U+G),I;if(i=="Backspace")I="------".slice(0,G);else if(["ArrowUp","ArrowDown"].includes(i)){let D=i=="ArrowUp"?1:-1;P=P|0,I=P+D;let[b,t,T]=s=="dateWareki"?a=="year"?[0,2999,4]:a=="reiwa"?[1,2999,4]:a=="heisei"?[1,31,4]:a=="shouwa"?[1,64,4]:a=="taisho"?[1,15,4]:a=="meiji"?[1,45,4]:[0,0,0]:s=="minute"?[0,59,2]:s=="hour"?[0,23,2]:s=="date"?[1,31,2]:s=="week"?[1,53,2]:s=="month"?[1,12,2]:s=="year"?[0,2999,4]:[0,0,0];I>t?I=b:I<b&&(I=t),I=Number(I).zeroEmbed(T)}else if(["0","1","2","3","4","5","6","7","8","9"].includes(i)){let D=P|0,b=i,t=`${D}${b}`;if(S!=V&&(D=0,t="0"+b),s=="year"||s=="dateWareki"&&a=="year")Number(t)>1e4?I=b:I=t,(I|0)>1e3&&v++;else if(["hour","minute","date","week","month"].includes(s)||s=="dateWareki"&&a!="year"){let T=s=="dateWareki"?a=="reiwa"?100:a=="heisei"?31:a=="shouwa"?64:a=="taisho"?15:a=="meiji"?45:0:s=="minute"?59:s=="hour"?23:s=="date"?31:s=="week"?53:s=="month"?12:0;I=(t|0)>T?b:t,(Number(b)>Number(String(T)[0])||P=="0000".slice(0,String(T).length)&&(t!="0000".slice(0,String(T).length)||["minute","hour"].includes(s)&&S==V)||(t|0)>=re(10,String(T).length-1))&&v++}s=="year"||s=="dateWareki"?I=(I|0).zeroEmbed(4):I=(I|0).zeroEmbed(2)}{let D=String($).partReplace(U,String(I)),b=D.split(F).map(t=>t.replace(/(^\D|\D$)/,"").split(/\D+/).join(g=="clock"&&":"||"/").replace(/(^\D|\D$)/,""));if(g=="dateWareki"){let t=b[0].split(/\D/),[T,C,j]=t;t.length==3&&T&&(b=[[Number(T)-1+Number({year:1,reiwa:2019,heisei:1989,shouwa:1926,taisho:1912,meiji:1868}[a]),C,j].join("/")])}v=Math.max(v,0),v=Math.min(v,A),d(t=>E(l({},t),{dataValue:["dates","months"].includes(g)?b:b[0],formatValue:D,eventType:"update",eventID:N()})),y(t=>E(l({},t),{index:v,prevIndex:t.index}))}}}},oe={picker:{launch:e=>{let a=e.sheetID||N(),m=e,{onValueUpdate:g,min:r,max:u,era:d,restrict:f,defaultValue:y}=m,i=Q(m,["onValueUpdate","min","max","era","restrict","defaultValue"]);ve.open("middleCenter",E(l({sheetID:a,size:"S",padding:0,closeAtAroundClick:!0,closeAtParentBlur:!1},i),{content:h(ge.Center,{children:h(we,{restrict:f,min:r,max:u,era:d,defaultValue:y,sheetID:a,onValueUpdate:(o,n)=>{g(o,n)}})})}))},remove:e=>{ye.close(e)}}},Re={Shallow:e=>{let{rootStates:a,val_status:g}=e,r=de(a);return h(H,{position:"absolute",top:0,left:0,right:0,height:0,overflow:"hidden",opacity:"trans",freeCSS:{zIndex:3,pointerEvents:"none"},children:h(he.Description,E(l({className:a.className},r),{position:"absolute",width:1,freeCSS:E(l({},r.freeCSS),{color:"orange"}),children:h(H,{"data-input-value-shallow":g.componentId,children:"A"})}))})}},_e=e=>{let te=e,{tone:a,required:g,restrict:r="clock",componentId:u,era:d,form:f,name:y,min:i,max:m,className:o,enableFormSubmit:n,checkValidationAtFirst:p,onKeyDown:k,onValidate:w,onUpdateValue:V,onUpdateValidValue:S,onValidateDelay:q,value:$="",leftIndicator:A,rightIndicator:v,leftIcon:s,rightIcon:U,freeCSS:G,wrapStyles:P}=te,I=Q(te,["tone","required","restrict","componentId","era","form","name","min","max","className","enableFormSubmit","checkValidationAtFirst","onKeyDown","onValidate","onUpdateValue","onUpdateValidValue","onValidateDelay","value","leftIndicator","rightIndicator","leftIcon","rightIcon","freeCSS","wrapStyles"]),[D,b]=W(d),[t,T]=W({componentId:e.componentId||"",formatValue:"",dataValue:"",ranges:[],eventType:"init",eventID:N()}),[C,j]=W({ok:!1,notice:[]}),[B,J]=W({active:!1,index:0,prevIndex:-1}),se={rootStates:e,val_status:t,set_status:T,val_validate:C,set_validate:j,val_era:D,set_era:b,val_focus:B,set_focus:J};Y.CommonEffects({type:"time",states:e,val_status:t,set_status:T,val_validate:C,set_validate:j,SystemValidation:O.SystemValidation,ExtraOverrideStates:()=>O.DataLeveling({restrict:r,value:$,era:D})}),z(()=>{T(c=>l(l({},c),O.DataLeveling({restrict:r,value:$,era:D})))},[]);const ee=ce(!1);return z(()=>{if(ee.current){T(x=>l(l({},x),O.DataLeveling({restrict:r,value:x.dataValue,era:D})));let c=L.get("refreshEra_"+t.componentId);c&&c.refreshEra(D)}else ee.current=!0},[D]),L.update({[t.componentId]:{openPicker:c=>{e.disabled||oe.picker.launch({parent:c,sheetID:"PickerTips-"+t.componentId,restrict:r,min:i,max:m,defaultValue:t.dataValue,era:D,onValueUpdate:(x,_)=>{T(M=>E(l(l({},M),O.DataLeveling({restrict:r,value:x,era:_})),{eventType:"update",eventID:N()})),b(_)}})},resetEra:c=>{b(c),T(x=>E(l(l({},x),O.DataLeveling({restrict:r,value:"",era:D})),{eventType:"update",eventID:N()}))}}}),z(()=>{let{index:c,active:x}=B;if(x){c=Math.max(c,0),c=Math.min(c,t.ranges.length-1);let{from:_,length:M}=t.ranges[c],K=ue("#"+e.id)[0];K&&K.setSelectionRange(_,_+M)}},[B]),le(De,{val_status:t,set_status:T,val_validate:C,states:e,children:[h(Re.Shallow,l({},se)),h(Ee,{componentId:e.componentId,fontSize:e.fontSize,required:e.required,label:e.label,isActive:!0}),ie.get().isTouchDevice?h(ne.Plain,E(l({"data-show-validation":Y.isShowValidation(C,t,!!p),"data-component-id":t.componentId,"data-input-origin":t.componentId,"data-disabled":e.disabled,className:o,freeCSS:{textAlign:"left"}},I),{children:t.formatValue,onClick:c=>{let x=L.get(t.componentId);x&&x.openPicker(`[data-input-origin="${t.componentId}"]`),c.stopPropagation()}})):h(H,l({htmlTag:"input",type:"text",inputMode:"numeric","data-show-validation":Y.isShowValidation(C,t,!!p),"data-input-origin":t.componentId,"data-disabled":e.disabled,value:t.formatValue,className:o,tabIndex:ie.get().isTouchDevice?-1:0,onKeyDown:c=>{O.KeyDownEvent({restrict:r,event:c,val_era:D,val_status:t,set_status:T,val_focus:B,set_focus:J}),k&&k(c),n&&Y.SubmitForm(c,f)},onKeyUp:c=>{c.key=="Tab"&&J(x=>E(l({},x),{active:!0}))},onClick:c=>{let x=c.target.selectionEnd,_=0;t.ranges.forEach((M,K)=>{let{from:ae,length:me,region:pe}=M;ae<=x&&x<=ae+(pe||me)&&(_=K)}),J(M=>E(l({},M),{active:!0,index:_})),c.preventDefault()},onChange:()=>{}},I))]})},R={Origin:e=>{let a=l({fontSize:"inherit",width:1},e),[g]=W(e.componentId||N());if(a.componentId=g,Z.is.nullish(a.rightIcon)){let r=(e.restrict||"").match(/clock/)?Ie:Se;a.rightIcon=h(xe,{ssSphere:2,freeCSS:{pointerEvents:"all"},children:h(ne.Sub,{color:"cloud",border:"unset",ssSphere:2,fontColor:"theme",boxShadow:"0.normal",borderRadius:"3.tone.tertiary",flexCenter:!0,ssEffectsOnActive:"push",tabIndex:-1,id:"Picker-"+a.componentId,onClick:()=>{let u=L.get(a.componentId);u&&u.openPicker("#Picker-"+a.componentId)},children:h(fe,{icon:r})})})}return h(Te,{componentId:a.componentId,children:_e,states:be(a)})},Clock:e=>h(R.Origin,l({restrict:"clock",era:"clock"},e)),Date:e=>h(R.Origin,l({restrict:"date"},e)),Week:e=>h(R.Origin,l({restrict:"week"},e)),Month:e=>h(R.Origin,l({restrict:"month"},e)),Year:e=>h(R.Origin,l({restrict:"year"},e)),DateWareki:e=>{e=l({},e);let[a]=W(e.componentId||N());e.componentId=a;let{defaultEra:g="wareki"}=e,[r,u]=W((()=>{let d="year";if(g=="wareki"&&(d="reiwa",e.value)){let[f,y,i]=e.value.split(/\D/);if(f&&y&&i){let m=Number(f);m>=2019?(m-=2019,d="reiwa"):m>=1989?(m-=1989,d="heisei"):m>=1926?(m-=1926,d="shouwa"):m>=1912?(m-=1912,d="taisho"):m>=1868&&(m-=1868,d="meiji"),m+=1}}return d})());return z(()=>{L.set({["refreshEra_"+a]:{refreshEra:d=>{u(d)}}})},[]),h(R.Origin,E(l({restrict:"dateWareki",leftIndicator:h(ke,{label:"\u5143\u53F7",emptySelect:!1,value:r,tone:e.tone||"border",override:"force",flexCenter:!0,borderTopRightRadius:"2/3",borderBottomRightRadius:"2/3",height:1,freeCSS:{whiteSpace:"nowrap"},options:[{value:"year",label:"\u897F\u66A6"},{value:"reiwa",label:"\u4EE4\u548C"},{value:"heisei",label:"\u5E73\u6210"},{value:"shouwa",label:"\u662D\u548C"},{value:"taisho",label:"\u5927\u6B63"},{value:"meiji",label:"\u660E\u6CBB"}],onUpdateValidValue:d=>{u(d);let f=L.get(e.componentId);f&&f.resetEra&&f.resetEra(d)}})},e),{era:r}))},Periods:{Date:e=>h(R.Origin,l({restrict:"dates"},e)),Month:e=>h(R.Origin,l({restrict:"months"},e))},fn:oe};export{R as Time,R as default};
|
|
1
|
+
import{a as re,b as s,c as E,d as X}from"../../../chunk-C5N2D3ZX.js";import{Fragment as Ae,jsx as d,jsxs as le}from"react/jsx-runtime";import Z,{UUID as N,useStore as L}from"jmini";import*as z from"jmini";import{useState as W,useEffect as H,useRef as ce}from"react";import{$$fromRoot as ue,Config as ie,ExtractStyles as de}from"../../../@utils";import{Box as Y,FAI as fe}from"../../../atoms";import{Literal as he,Row as ge}from"../../../mols";import{Button as ne}from"../../Button";import ye from"../../Tooltips";import ve from"../../Sheet";import{faClock as Ie}from"@fortawesome/free-solid-svg-icons/faClock";import{faCalendarAlt as Se}from"@fortawesome/free-solid-svg-icons/faCalendarAlt";import{OptionalInputWrapper as Te,BoxWrapper as De,CoreEffects as q,DefaultBoxishStyles as be}from"../core";import{RightIcon as xe}from"..";import ke from"../Select";import{InputLabel as Ee}from"../Label";import we from"./Picker";const F=" ~ ",Ve={clock:{defaultValue:"--:--",format:/^\d{2}\D\d{2}$/,ranges:[{type:"hour",from:0,length:2},{type:"minute",from:3,length:2}],sets:1},date:{defaultValue:"----/--/--",format:/^\d{4}\D\d{2}\D\d{2}$/,ranges:[{type:"year",from:0,length:4},{type:"month",from:5,length:2},{type:"date",from:8,length:2}],sets:1},week:{defaultValue:"----\u5E74\u7B2C--\u9031",format:/^\d{4}\D\d{2}$/,ranges:[{type:"year",from:0,length:4,region:6},{type:"week",from:6,length:2,region:3}],sets:1},month:{defaultValue:"----\u5E74--\u6708",format:/^\d{4}\D\d{2}$/,ranges:[{type:"year",from:0,length:4},{type:"month",from:5,length:2,region:3}],sets:1},year:{defaultValue:"----\u5E74",format:/^\d{4}$/,ranges:[{type:"year",from:0,length:4,region:5}],sets:1},dates:{defaultValue:"----/--/--",format:/^\d{4}\D\d{2}\D\d{2}$/,ranges:[{type:"year",from:0,length:4},{type:"month",from:5,length:2},{type:"date",from:8,length:2,region:5},{type:"year",from:10+F.length,length:4},{type:"month",from:15+F.length,length:2},{type:"date",from:18+F.length,length:2}],sets:2},months:{defaultValue:"----\u5E74--\u6708",format:/^\d{4}\D\d{2}$/,ranges:[{type:"year",from:0,length:4},{type:"month",from:5,length:2,region:6},{type:"year",from:8+F.length,length:4},{type:"month",from:13+F.length,length:2,region:3}],sets:2},dateWareki:{defaultValue:"----\u5E74--\u6708--\u65E5",format:/^\d{4}\D\d{2}\D\d{2}$/,ranges:[{type:"dateWareki",from:0,length:4,region:5},{type:"month",from:5,length:2,region:3},{type:"date",from:8,length:2,region:3}],sets:1}},O={PeriodMargin:" ~ ",DataLeveling:e=>{let{restrict:i,value:f,era:n}=e,u=Z.flatArray(f||""),{defaultValue:k,format:y,ranges:l,sets:a}=Ve[i],S=[],o=i=="clock"&&":"||"/";for(let t=0;t<u.length;t++)u[t]=String(u[t]).replace(/\D/ig,o);for(let t=0;t<a;t++){let p=u[t]||"";if(!p.match(y))u[t]="",S.push(k);else{let x=k;p.split(/\D/).forEach((w,V)=>{if(V==0&&i=="dateWareki"){let v=Number(w);n!="year"&&(v>=2019?n=="reiwa"?v-=2018:n=="heisei"&&(v=31):v>=1989?n=="heisei"?v-=1988:n=="shouwa"&&(v=64):v>=1926?n=="shouwa"?v-=1925:n=="taisho"&&(v=15):v>=1912?n=="taisho"?v-=1911:n=="meiji"&&(v=45):v>=1868&&(v-=1867)),w=v.zeroEmbed(4)}x=x.replace(new RegExp("------------------".slice(0,w.length)),w)}),S.push(x)}}return{formatValue:S.join(F),dataValue:["dates","months"].includes(i)?u:u[0],ranges:l}},SystemValidation:e=>{let{states:i}=e,{restrict:f,min:n,max:u,required:k}=i,y=[],l=Z.flatArray(e.value),a={empty:!1,escalated:1,filled:!0,correct:!0,prohibited:!1};(()=>{let S=f=="clock"&&":"||"/";for(let o=0;o<l.length;o++)l[o]=String(l[o]).replace(/\D/ig,S);for(let o=0;o<l.length;o++){let t=l[o],p=l[o-1];t.removeLetters()||(a.empty=!0),o>0&&(a.escalated&=+(t>=p))}a.escalated&&(a.empty||(f.match(/clock/)?l.forEach(o=>{let[t,p]=o.split(/\D+/);!t||!p?a.filled=!1:(Number(t)>23||Number(p)>59)&&(a.correct=!1)}):f.match(/date/)?l.forEach(o=>{let[t,p,x]=o.split(/\D+/);if(!t||!p||!x)a.filled=!1;else{let w=z.Time(o);(!w.validate||o!=w.toFormatYMD())&&(a.correct=!1)}}):f.match(/week/)?l.forEach(o=>{let[t,p]=o.split(/\D+/);if(!t||!p)a.filled=!1;else{let x=z.Time(t+"/01/01").weekday,V=z.Time(t+"/01/0"+(7-x+1)).addWeek(Number(p)-1);t!=String(V.year)&&(a.correct=!1)}}):f.match(/month/)?l.forEach(o=>{let[t,p]=o.split(/\D+/);!t||!p?a.filled=!1:z.Time([t,p,"01"].join("/")).validate||(a.correct=!1)}):f.match(/year/),a.filled&&a.correct&&l.forEach(o=>{{let t=Number(String(o).replace(/\D/ig,""));if(n&&Number(String(n).replace(/\D/ig,""))>t&&(a.prohibited=!0),u){let p=Number(String(u).replace(/\D/ig,""));t>p&&(a.prohibited=!0)}}})))})();{let{empty:S,escalated:o,filled:t,correct:p,prohibited:x}=a;S&&k&&(y=[{type:"invalid",label:"\u5FC5\u9808\u9805\u76EE\u3067\u3059"}]),o||y.push({type:"invalid",label:"\u6642\u7CFB\u5217\u3092\u6B63\u3057\u304F\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044"}),p||y.push({type:"invalid",label:"\u7121\u52B9\u306A\u5024\u304C\u5165\u529B\u3055\u308C\u3066\u3044\u307E\u3059"}),t||y.push({type:"invalid",label:"\u6700\u5F8C\u307E\u3067\u5024\u3092\u57CB\u3081\u3066\u304F\u3060\u3055\u3044"}),x&&y.push({type:"invalid",label:le(Ae,{children:[d(Y,{children:"\u5165\u529B\u7BC4\u56F2\u304C\u5236\u9650\u3055\u308C\u3066\u3044\u307E\u3059"}),"[",n||"\u4E0B\u9650\u7121\u3057","] ~ [",u||"\u4E0A\u9650\u7121\u3057","]"]})})}return{ok:!y.filter(({type:S})=>S=="invalid").length,notice:y}},KeyDownEvent:e=>{let{val_era:i,restrict:f,event:n,val_status:u,set_status:k,val_focus:y,set_focus:l}=e,{key:a,shiftKey:S,ctrlKey:o,metaKey:t}=n,p=o||t,{selectionStart:x,selectionEnd:w}=n.target,{index:V,prevIndex:v}=y,{ranges:G,formatValue:$}=u,A=G.length-1;if(["Tab","ArrowLeft","ArrowRight"].includes(a)){let h=0;if(a=="Tab"){let m=+!S*2-1;if(h=y.index+m,h<0||h>A)return}else{let m=a=="ArrowLeft"?-1:a=="ArrowRight"?1:0;p||x==0&&w==String(u.formatValue).length?h=m==1?A:0:h=Math.max(0,Math.min(V+m,A))}l(m=>E(s({},m),{index:h,prevIndex:V})),n.preventDefault()}if(["Backspace","ArrowUp","ArrowDown","0","1","2","3","4","5","6","7","8","9"].includes(a)){n.preventDefault();let h=V;h=Math.max(h,0),h=Math.min(h,A);let{type:m,from:U,length:Q}=G[h],P=$.slice(U,U+Q),g;if(a=="Backspace")g="------".slice(0,Q);else if(["ArrowUp","ArrowDown"].includes(a)){let T=a=="ArrowUp"?1:-1;P=P|0,g=P+T;let[D,r,I]=m=="dateWareki"?i=="year"?[0,2999,4]:i=="reiwa"?[1,2999,4]:i=="heisei"?[1,31,4]:i=="shouwa"?[1,64,4]:i=="taisho"?[1,15,4]:i=="meiji"?[1,45,4]:[0,0,0]:m=="minute"?[0,59,2]:m=="hour"?[0,23,2]:m=="date"?[1,31,2]:m=="week"?[1,53,2]:m=="month"?[1,12,2]:m=="year"?[0,2999,4]:[0,0,0];g>r?g=D:g<D&&(g=r),g=Number(g).zeroEmbed(I)}else if(["0","1","2","3","4","5","6","7","8","9"].includes(a)){let T=P|0,D=a,r=`${T}${D}`;if(v!=V&&(T=0,r="0"+D),m=="year"||m=="dateWareki"&&i=="year")Number(r)>1e4?g=D:g=r,(g|0)>1e3&&h++;else if(["hour","minute","date","week","month"].includes(m)||m=="dateWareki"&&i!="year"){let I=m=="dateWareki"?i=="reiwa"?100:i=="heisei"?31:i=="shouwa"?64:i=="taisho"?15:i=="meiji"?45:0:m=="minute"?59:m=="hour"?23:m=="date"?31:m=="week"?53:m=="month"?12:0;g=(r|0)>I?D:r,(Number(D)>Number(String(I)[0])||P=="0000".slice(0,String(I).length)&&(r!="0000".slice(0,String(I).length)||["minute","hour"].includes(m)&&v==V)||(r|0)>=re(10,String(I).length-1))&&h++}m=="year"||m=="dateWareki"?g=(g|0).zeroEmbed(4):g=(g|0).zeroEmbed(2)}{let T=String($).partReplace(U,String(g)),D=T.split(F).map(r=>r.replace(/(^\D|\D$)/,"").split(/\D+/).join(f=="clock"&&":"||"/").replace(/(^\D|\D$)/,""));if(f=="dateWareki"){let r=D[0].split(/\D/),[I,C,j]=r;r.length==3&&I&&(D=[[Number(I)-1+Number({year:1,reiwa:2019,heisei:1989,shouwa:1926,taisho:1912,meiji:1868}[i]),C,j].join("/")])}h=Math.max(h,0),h=Math.min(h,A),k(r=>E(s({},r),{dataValue:["dates","months"].includes(f)?D:D[0],formatValue:T,eventType:"update",eventID:N()})),l(r=>E(s({},r),{index:h,prevIndex:r.index}))}}}},oe={picker:{launch:e=>{let i=e.sheetID||N(),S=e,{onValueUpdate:f,min:n,max:u,era:k,restrict:y,defaultValue:l}=S,a=X(S,["onValueUpdate","min","max","era","restrict","defaultValue"]);ve.open("middleCenter",E(s({sheetID:i,size:"S",padding:0,closeAtAroundClick:!0,closeAtParentBlur:!1},a),{content:d(ge.Center,{children:d(we,{restrict:y,min:n,max:u,era:k,defaultValue:l,sheetID:i,onValueUpdate:(o,t)=>{f(o,t)}})})}))},remove:e=>{ye.close(e)}}},Re={Shallow:e=>{let{rootStates:i,val_status:f}=e,n=de(i);return d(Y,{position:"absolute",top:0,left:0,right:0,height:0,overflow:"hidden",opacity:"trans",freeCSS:{zIndex:3,pointerEvents:"none"},children:d(he.Description,E(s({className:i.className},n),{position:"absolute",width:1,freeCSS:E(s({},n.freeCSS),{color:"orange"}),children:d(Y,{"data-input-value-shallow":f.componentId,children:"A"})}))})}},_e=e=>{let te=e,{tone:i,required:f,restrict:n="clock",componentId:u,era:k,form:y,name:l,min:a,max:S,className:o,enableFormSubmit:t,checkValidationAtFirst:p,onKeyDown:x,onValidate:w,onUpdateValue:V,onUpdateValidValue:v,onValidateDelay:G,value:$="",leftIndicator:A,rightIndicator:h,leftIcon:m,rightIcon:U,freeCSS:Q,wrapStyles:P}=te,g=X(te,["tone","required","restrict","componentId","era","form","name","min","max","className","enableFormSubmit","checkValidationAtFirst","onKeyDown","onValidate","onUpdateValue","onUpdateValidValue","onValidateDelay","value","leftIndicator","rightIndicator","leftIcon","rightIcon","freeCSS","wrapStyles"]),[T,D]=W(k),[r,I]=W({componentId:e.componentId||"",formatValue:"",dataValue:"",ranges:[],eventType:"init",eventID:N()}),[C,j]=W({ok:!1,notice:[]}),[B,J]=W({active:!1,index:0,prevIndex:-1}),se={rootStates:e,val_status:r,set_status:I,val_validate:C,set_validate:j,val_era:T,set_era:D,val_focus:B,set_focus:J};q.CommonEffects({type:"time",states:e,val_status:r,set_status:I,val_validate:C,set_validate:j,SystemValidation:O.SystemValidation,ExtraOverrideStates:()=>O.DataLeveling({restrict:n,value:$,era:T})}),H(()=>{I(c=>s(s({},c),O.DataLeveling({restrict:n,value:$,era:T})))},[]);const ee=ce(!1);return H(()=>{if(ee.current){I(b=>s(s({},b),O.DataLeveling({restrict:n,value:b.dataValue,era:T})));let c=L.get("refreshEra_"+r.componentId);c&&c.refreshEra(T)}else ee.current=!0},[T]),L.update({[r.componentId]:{openPicker:c=>{e.disabled||oe.picker.launch({parent:c,sheetID:"PickerTips-"+r.componentId,restrict:n,min:a,max:S,defaultValue:r.dataValue,era:T,onValueUpdate:(b,_)=>{I(M=>E(s(s({},M),O.DataLeveling({restrict:n,value:b,era:_})),{eventType:"update",eventID:N()})),D(_)}})},resetEra:c=>{D(c),I(b=>E(s(s({},b),O.DataLeveling({restrict:n,value:"",era:T})),{eventType:"update",eventID:N()}))}}}),H(()=>{let{index:c,active:b}=B;if(b){c=Math.max(c,0),c=Math.min(c,r.ranges.length-1);let{from:_,length:M}=r.ranges[c],K=ue("#"+e.id)[0];K&&K.setSelectionRange(_,_+M)}},[B]),le(De,{val_status:r,set_status:I,val_validate:C,states:e,children:[d(Re.Shallow,s({},se)),d(Ee,{componentId:e.componentId,fontSize:e.fontSize,required:e.required,label:e.label,isActive:!0}),ie.get().isTouchDevice?d(ne.Plain,E(s({"data-show-validation":q.isShowValidation(C,r,!!p),"data-component-id":r.componentId,"data-input-origin":r.componentId,"data-disabled":e.disabled,className:o,freeCSS:{textAlign:"left"}},g),{children:r.formatValue,onClick:c=>{let b=L.get(r.componentId);b&&b.openPicker(`[data-input-origin="${r.componentId}"]`),c.stopPropagation()}})):d(Y,s({htmlTag:"input",type:"text",inputMode:"numeric","data-show-validation":q.isShowValidation(C,r,!!p),"data-input-origin":r.componentId,"data-disabled":e.disabled,value:r.formatValue,className:o,tabIndex:ie.get().isTouchDevice?-1:0,onKeyDown:c=>{O.KeyDownEvent({restrict:n,event:c,val_era:T,val_status:r,set_status:I,val_focus:B,set_focus:J}),x&&x(c),t&&q.SubmitForm(c,y)},onKeyUp:c=>{c.key=="Tab"&&J(b=>E(s({},b),{active:!0}))},onClick:c=>{let b=c.target.selectionEnd,_=0;r.ranges.forEach((M,K)=>{let{from:ae,length:me,region:pe}=M;ae<=b&&b<=ae+(pe||me)&&(_=K)}),J(M=>E(s({},M),{active:!0,index:_})),c.preventDefault()},onChange:()=>{}},g))]})},R={Origin:e=>{let i=s({fontSize:"inherit",width:1},e),[f]=W(e.componentId||N());if(i.componentId=f,Z.is.nullish(i.rightIcon)){let n=(e.restrict||"").match(/clock/)?Ie:Se;i.rightIcon=d(xe,{ssSphere:2,freeCSS:{pointerEvents:"all"},children:d(ne.Sub,{color:"cloud",border:"unset",ssSphere:2,fontColor:"theme",boxShadow:"0.normal",borderRadius:"3.tone.tertiary",flexCenter:!0,ssEffectsOnActive:"push",tabIndex:-1,id:"Picker-"+i.componentId,onClick:()=>{let u=L.get(i.componentId);u&&u.openPicker("#Picker-"+i.componentId)},children:d(fe,{icon:n})})})}return d(Te,{componentId:i.componentId,children:_e,states:be(i)})},Clock:e=>d(R.Origin,s({restrict:"clock",era:"clock"},e)),Date:e=>d(R.Origin,s({restrict:"date"},e)),Week:e=>d(R.Origin,s({restrict:"week"},e)),Month:e=>d(R.Origin,s({restrict:"month"},e)),Year:e=>d(R.Origin,s({restrict:"year"},e)),DateWareki:e=>{e=s({},e);let[i]=W(e.componentId||N());e.componentId=i;let y=e,{defaultEra:f="wareki"}=y,n=X(y,["defaultEra"]),[u,k]=W((()=>{let l="year";if(f=="wareki"&&(l="reiwa",e.value)){let[a,S,o]=e.value.split(/\D/);if(a&&S&&o){let t=Number(a);t>=2019?(t-=2019,l="reiwa"):t>=1989?(t-=1989,l="heisei"):t>=1926?(t-=1926,l="shouwa"):t>=1912?(t-=1912,l="taisho"):t>=1868&&(t-=1868,l="meiji"),t+=1}}return l})());return H(()=>{L.set({["refreshEra_"+i]:{refreshEra:l=>{k(l)}}})},[]),d(R.Origin,E(s({restrict:"dateWareki",leftIndicator:d(ke,{label:"\u5143\u53F7",emptySelect:!1,value:u,tone:e.tone||"border",override:"force",flexCenter:!0,borderTopRightRadius:"2/3",borderBottomRightRadius:"2/3",height:1,freeCSS:{whiteSpace:"nowrap"},options:[{value:"year",label:"\u897F\u66A6"},{value:"reiwa",label:"\u4EE4\u548C"},{value:"heisei",label:"\u5E73\u6210"},{value:"shouwa",label:"\u662D\u548C"},{value:"taisho",label:"\u5927\u6B63"},{value:"meiji",label:"\u660E\u6CBB"}],onUpdateValidValue:l=>{k(l);let a=L.get(e.componentId);a&&a.resetEra&&a.resetEra(l)}})},n),{era:u}))},Periods:{Date:e=>d(R.Origin,s({restrict:"dates"},e)),Month:e=>d(R.Origin,s({restrict:"months"},e))},fn:oe};export{R as Time,R as default};
|
package/package.json
CHANGED
|
File without changes
|