amotify 0.2.39 → 0.2.41
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.
- package/demo/esbuild/public/index.js +82 -82
- package/dist/fn/Input/Autocomplete.js +1 -1
- package/dist/fn/Input/Contenteditable.js +1 -1
- package/dist/fn/Input/DigitCharacters.js +1 -1
- package/dist/fn/Input/Filer.js +1 -1
- package/dist/fn/Input/Label.js +1 -1
- package/dist/fn/Input/List.js +1 -1
- package/dist/fn/Input/Parts.js +1 -1
- package/dist/fn/Input/Select.d.ts +2 -0
- package/dist/fn/Input/Select.js +1 -1
- package/dist/fn/Input/TextField.d.ts +1 -0
- package/dist/fn/Input/TextField.js +2 -2
- package/dist/fn/Input/Time/index.js +1 -1
- package/dist/fn/Input/core.d.ts +2 -7
- package/dist/fn/Input/core.js +1 -1
- package/dist/fn/Table/Data.js +1 -1
- package/dist/temps/designBook.js +6 -6
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{b as v,c as V,d as j,e as Q}from"../../chunk-C5N2D3ZX.js";import{Fragment as H,jsx as l,jsxs as U}from"react/jsx-runtime";import{useState as O,useEffect as k,useRef as ae}from"react";import r from"@mingoo/jsmin";import{ExtractStyles as ne,useStore as Y}from"../../@utils";import{Box as R,Span as re,FAI as q,Column as ie}from"../../atoms";import{Text as B,Row as G}from"../../mols";import Z from"../Button";import{Loader as se}from"../Loader";import{Sheet as K}from"../Sheet";import{OptionalInputWrapper as ue,BoxWrapper as ce,CoreEffects as N,DefaultStyles as pe}from"./core";import{InputAutocompleteClasses as L}from"../../@styles/componentClasses";import{InputLabel as de}from"./Label";import{RightIcon as ee}from".";function me(t){let{value:e,states:a}=t,{required:o,options:c,min:u,max:S}=a;u=u||0,S=S||65535;let n=[],i=e.filter(m=>m!=="null").length;return o&&(i||n.push({type:"invalid",label:"\u5FC5\u9808\u9805\u76EE\u3067\u3059"})),i<u&&n.push({type:"invalid",label:u+"\u500B\u4EE5\u4E0A\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044"}),i>S&&n.push({type:"invalid",label:S+"\u500B\u307E\u3067\u9078\u629E\u3067\u304D\u307E\u3059"}),{ok:!n.filter(({type:m})=>m=="invalid").length,notice:n}}const A={InitOptions:t=>{let e=[];return t.forEach(a=>{let{type:o,label:c,value:u,searchValue:S}=a,n=S||(r.is.string(c)?c:"")||(r.is.string(u)?u:"");e.push(V(v({},a),{searchValue:n,type:o||"selector",value:r.JsonTo(u)}))}),e},FilterSelectableOptions:(t,e)=>{let a=t.val_options;if(e||(a=t.val_options.filter(o=>o.type!="label")),t.val_keyword){let o=t.val_keyword.toLower().replace(/ /g,"");a=a.filter(c=>(c.searchValue||"").toLower().replace(/ /g,"").includes(o))}return a}},F={Shallow:t=>{let{rootStates:e,val_status:a}=t,o=ne(e);return l(R,{position:"absolute",top:0,left:0,right:0,height:0,overflow:"hidden",opacity:"trans",freeCSS:{zIndex:3,pointerEvents:"none"},children:l(B.Description,V(v({className:e.className},o),{position:"absolute",width:1,freeCSS:V(v({},o.freeCSS),{color:"orange"}),"data-id":"shallow_"+a.componentID,children:l(R,{"data-input-value-shallow":a.componentID,children:"A"})}))})},Button:t=>{let{rootStates:e,val_keyword:a,set_keyword:o,val_optionFocused:c,set_optionFocused:u,val_options:S,set_options:n,val_optionsDict:i,set_optionsDict:m,val_preventOpenSelectorOnFocus:s,set_preventOpenSelectorOnFocus:p,val_selectorOpen:f,set_selectorOpen:h,val_status:d,set_status:I,val_validate:g,set_validate:C}=t,X=e,{tone:w,required:b,form:T,className:x,multiSelect:P,enableFormSubmit:E,checkValidationAtFirst:z,onValidate:J,onUpdateValue:W,onUpdateValidValue:fe,value:Se="",options:ve,leftIndicator:ye,rightIndicator:he,leftIcon:_e,rightIcon:Ie,componentID:ge,status_id:be,wrapStyles:Oe,emptySelect:De,SearchInput:Ve,SearchInputPlaceholder:Ce,SelectedComponent:we,SelectorComponent:ke,SelectorGravityPoint:xe,DynamicOptionsOnSearch:Re}=X,_=j(X,["tone","required","form","className","multiSelect","enableFormSubmit","checkValidationAtFirst","onValidate","onUpdateValue","onUpdateValidValue","value","options","leftIndicator","rightIndicator","leftIcon","rightIcon","componentID","status_id","wrapStyles","emptySelect","SearchInput","SearchInputPlaceholder","SelectedComponent","SelectorComponent","SelectorGravityPoint","DynamicOptionsOnSearch"]);k(()=>{var D;if(e.disabled||!f)return;let y=A.FilterSelectableOptions(t);u(((D=y[0])==null?void 0:D.value)||null)},[a]),k(()=>{d.eventType!="init"&&(e.max==d.dataValue.length?(h(!1),p(!0),setTimeout(()=>{let y=r('[data-input-origin="'+e.componentID+'"]');y&&y.focus()},10)):r("#SearchInput_"+e.componentID).focus())},[d.dataValue]);let M="autocomplete-sheet-"+e.componentID;return k(()=>{let y="autocomplete-click-"+e.componentID;if(f){let D=r('[data-input-origin="'+e.componentID+'"]');if(!D)return;r("#SearchInput_"+e.componentID).focus(),K.open({sheetID:M,type:"custom",parent:D[0],padding:["1/4",0],gravityPoint:e.SelectorGravityPoint||22,close_option:{aroundClick:!1},content:l(F.Selector,v({},t))}),r(document).addEvent({eventID:y,eventType:"click",callback:oe=>{let $=r(oe.target),le=!!r($).parent("."+L("Core")).length;r($).parent("."+L("Selector")).length||le||h(!1)}})}else r(document).removeEvent([y]),o(""),K.close(M)},[f]),k(()=>{if(e.disabled||!f)return;K.customSheet.reposition(M);let y=Y.get("refresh-autocomplete-selector-"+e.componentID);y&&y(t)},[S,d.dataValue,a,c]),l(H,{children:l(R,V(v({tabIndex:0},_),{"data-disabled":e.disabled,"data-name":e.name,"data-value":r.JsonTo(d.dataValue),"data-form":T,"data-show-validation":N.isShowValidation(g,d,!!z),"data-validation":g.ok,"data-component-id":d.componentID,"data-input-origin":d.componentID,"data-focus":!!f,"data-input-type":"autocomplete-"+(P?"multi":"single"),className:[x,L("Core")].join(" "),onFocus:y=>{if(_!=null&&_.onFocus&&(_==null||_.onFocus(y)),!e.disabled){if(s)return p(!1);h(!0),y.preventDefault()}},onClick:y=>{_!=null&&_.onClick&&(_==null||_.onClick(y)),!e.disabled&&h(!0)},onKeyDown:y=>{let{key:D}=y;E&&N.SubmitForm(y),!f&&(D==" "||D=="ArrowDown"||D=="ArrowUp"||D=="Enter")&&h(!0)},children:U(G.Left,{flexWrap:!0,gap:"1/3",freeCSS:{letterSpacing:".5px"},children:[l(F.Selected,v({},t)),l(re,{width:0,overflow:"hidden",opacity:"trans",children:"A"}),l(F.SearchInput,v({},t))]})}))})},SearchInput:t=>{let{rootStates:e}=t;return e.disabled||!t.val_selectorOpen?null:l(R,{id:"SearchInput_"+e.componentID,placeholder:e.SearchInputPlaceholder||"\u691C\u7D22...",opacity:t.val_selectorOpen?"max":"trans","data-form":e.form,transition:"middle",flexSizing:0,htmlTag:"input",border:"unset",backgroundColor:"trans",value:t.val_keyword,freeCSS:{outline:"none"},onKeyDown:a=>{let{key:o,metaKey:c,ctrlKey:u}=a,S=c||u;o=="Escape"?(t.set_selectorOpen(!1),t.set_preventOpenSelectorOnFocus(!0),setTimeout(()=>{let n=r('[data-input-origin="'+e.componentID+'"]');n&&n.focus()},10)):o=="Tab"?t.set_selectorOpen(!1):o==" "?r.scope(()=>{t.val_selectorOpen||t.val_keyword||(a.preventDefault(),t.set_selectorOpen(!0))}):o=="Backspace"?r.scope(()=>{if(t.val_keyword)return;let n=[...t.val_status.dataValue];n.pop(),t.set_status(i=>V(v({},i),{dataValue:n,eventType:"update",eventID:r.uuid.gen()}))}):o=="Enter"&&r.scope(()=>{if(!t.val_selectorOpen)return t.set_selectorOpen(!0);if(!t.val_optionFocused)return;let n=t.val_options.find(m=>m.value==t.val_optionFocused);if(!n)return;let{value:i}=n;t.set_status(m=>{let s=[...m.dataValue];return r.scope(()=>{if(i==="null")return s=[];m.dataValue.includes(i)?s=s.filter(f=>f!==i):e.multiSelect?s.push(i):s=[i]}),V(v({},m),{dataValue:s,eventType:"update",eventID:r.uuid.gen()})}),t.set_keyword("")}),r.scope(()=>{if(!["ArrowDown","ArrowUp"].includes(o))return;if(a.preventDefault(),!t.val_selectorOpen)return t.set_selectorOpen(!0);let n=o=="ArrowDown"?1:-1,i=A.FilterSelectableOptions(t),m=i.length-1,s=null;r.scope(()=>{var p,f,h,d;if(n==1){if(s=((p=i[0])==null?void 0:p.value)||null,t.val_optionFocused==null)return;if(S){s=i[m].value||s||null;return}let I=i.findIndex(g=>g.value==t.val_optionFocused);if(I==-1)return;s=((f=i[I+1])==null?void 0:f.value)||s||null}else{if(s=i[m].value||null,t.val_optionFocused==null)return;if(S){s=((h=i[0])==null?void 0:h.value)||s||null;return}let I=i.findIndex(g=>g.value==t.val_optionFocused);if(I==-1)return;s=((d=i[I-1])==null?void 0:d.value)||s||null}}),t.set_optionFocused(s)}),e.enableFormSubmit&&N.SubmitForm(a)},onChange:a=>{let c=a.target.value;t.set_keyword(c)}},"searchInput")},Selector:t=>{let[e,a]=O(t),{rootStates:o}=e,[c,u]=O("idle"),[S,n]=O("idle");k(()=>{Y.set({["refresh-autocomplete-selector-"+o.componentID]:p=>{a(p)}})},[]),k(()=>{if(!e.val_selectorOpen||!o.DynamicOptionsOnSearch)return;if(c=="idle")return u("ok");n("fetch");let p="autocomplete-search-"+o.componentID;r.interval.clear(p),r.interval.standBy(p,300,()=>Q(void 0,null,function*(){let f=yield o.DynamicOptionsOnSearch(e.val_keyword);n("idle");let h=A.InitOptions(f||[]);e.set_options(h)}))},[e.val_keyword]);let i=[],m=A.FilterSelectableOptions(e,!0),s=A.FilterSelectableOptions(e);return m.forEach((p,f)=>{let{type:h,value:d}=p,I=e.val_optionFocused==d,g=e.val_status.dataValue.includes(d),C=o.SelectorComponent;i.push(l(C,{option:p,isFocused:I,isSelected:g,addCallback:()=>{e.set_status(w=>{let b=[...w.dataValue];return r.scope(()=>{if(d==="null")return b=[];w.dataValue.includes(d)?b=b.filter(x=>x!==d):o.multiSelect?b.push(d):b=[d]}),V(v({},w),{dataValue:b,eventType:"update",eventID:r.uuid.gen()})})}},String(d)||r.uuid.gen()))}),s.length||(i=[l(B.Supplement,{padding:[0,1],fontColor:"4.thin",children:"\u5019\u88DC\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093"},"no-selector-notice")]),S=="fetch"&&(i=[U(G.Left,{padding:1,fontColor:"3.blur",children:[l(se.Theme.R,{showInitial:!0}),l(B.Supplement,{children:"Loading..."})]},"loader")]),l(K.Body,{className:L("Selector"),ssCardBox:!0,borderRadius:"3.tone.tertiary",boxShadow:"1.normal",freeCSS:{minWidth:12*18},children:l(ie,{gap:0,padding:[1,0],children:i})})},Selected:t=>{let{rootStates:e,val_status:a,set_status:o,val_optionsDict:c}=t,u=[];return a.dataValue.forEach(S=>{let n=c[String(S)];if(!n)return;let i=e.SelectedComponent,m=n.label;n.value==="null"&&(m=""),u.push(l(R,{className:L("SelectedCell"),children:l(i,{value:n.value,label:m,children:m,removeCallback:s=>{if(s.stopPropagation(),s.preventDefault(),e.disabled)return;let p=[...a.dataValue];p=p.filter(f=>f!==S),o(f=>V(v({},f),{dataValue:p,eventType:"update",eventID:r.uuid.gen()}))}})},String(n.value)))}),l(H,{children:u})},Core:t=>{let{onUpdateValue:e,onUpdateValidValue:a,value:o}=t,c={componentID:t.componentID||"",dataValue:o,eventType:"init",eventID:r.uuid.gen()},[u,S]=O(!1),[n,i]=O(!1),[m,s]=O(""),[p,f]=O(t.options),[h,d]=O(t.value[0]||null),[I,g]=O({}),[C,w]=O(c),[b,T]=O({ok:!1,notice:[]}),x=ae(!1);k(()=>{x.current?f(t.options):x.current=!0},[t.options]),k(()=>{if(!p.length)return;let z=[...p],J=v({},I);z.forEach(W=>{W.type!="label"&&(J[String(W.value)]=W)}),g(J)},[p]);let P={rootStates:t,val_options:p,set_options:f,val_optionFocused:h,set_optionFocused:d,val_optionsDict:I,set_optionsDict:g,val_preventOpenSelectorOnFocus:u,set_preventOpenSelectorOnFocus:S,val_selectorOpen:n,set_selectorOpen:i,val_keyword:m,set_keyword:s,val_status:C,set_status:w,val_validate:b,set_validate:T};N.CommonEffects({type:"autocomplete",states:t,val_status:C,set_status:w,val_validate:b,set_validate:T,onUpdateValue:e,onUpdateValidValue:a,DefaultValidation:me,ExtraOverrideStates:{dataValue:o,formatValue:o}});let E=C.dataValue.length&&C.dataValue[0]!=="null";return E=E||n,U(ce,{val_status:C,set_status:w,val_validate:b,states:t,children:[l(de,{componentID:t.componentID,fontSize:t.fontSize,required:t.required,label:t.label,isActive:E}),l(F.Shallow,v({},P)),l(F.Button,v({},P))]})}},te=t=>{let e=v({},t);e=V(v({value:[],min:0,max:65535,multiSelect:!0,padding:1,SearchInput:!0,emptySelect:!0,SelectorComponent:({option:o,isSelected:c,isFocused:u,addCallback:S})=>o.type=="selector"?l(Z.Button.Sub.S,{color:"cloud",backgroundColor:"trans",borderRadius:0,fontColor:"2.normal",textAlign:"left",padding:["1/2",1.5],isActive:c||u,isActiveStyles:u?{backgroundColor:"cloud"}:{backgroundColor:"theme.opa.few",fontColor:"theme"},onClick:n=>{S()},children:l(B.Supplement,{paddingLeft:c?"1/2":0,transition:"short",children:o.label})}):l(H,{children:o.label}),SelectedComponent:({value:o,label:c,removeCallback:u})=>U(G.Left,{ssCardBox:"cloud",backgroundColor:"layer.3",borderRadius:"2.tone.secondary",fontSize:"1.mini",padding:"1/2",gap:0,children:[l(R,{padding:[0,"1/4"],children:c}),l(Z.Button.Sub.R,{color:"cloud",fontColor:"white",backgroundColor:"layer.6",isRounded:!0,padding:"1/4",onClick:u,children:l(q.Times,{ssSphere:1})})]},"test")},e),{freeCSS:v({cursor:"pointer"},e.freeCSS)}),e.multiSelect||(e.min=1,e.max=1),e.options=e.options||[],e.emptySelect&&(e.options=[{value:null,label:l(B.Supplement,{fontColor:"4.thin",children:"\u9078\u629E\u3092\u89E3\u9664"})},...e.options]);let a=[];return e.value=r.flatArray(e.value||null),e.value.forEach((o,c)=>{a.push(r.JsonTo(o))}),e.value=a,e.options=A.InitOptions(e.options),r.is.nullish(e.rightIcon)&&(e.rightIcon=l(ee,{children:l(q.Search,{})}),e.disabled&&(e.rightIcon=l(ee,{fontColor:"5.translucent",children:l(q.Ban,{})}))),e.rightIcon&&(e=v({paddingRight:3},e)),e.leftIcon&&(e=v({paddingLeft:3},e)),l(ue,{componentID:e.componentID,children:F.Core,states:pe.Boxish(e)})};export{te as Autocomplete,te as default};
|
|
1
|
+
import{b as v,c as V,d as j,e as Q}from"../../chunk-C5N2D3ZX.js";import{Fragment as H,jsx as l,jsxs as U}from"react/jsx-runtime";import{useState as O,useEffect as k,useRef as ae}from"react";import r from"@mingoo/jsmin";import{ExtractStyles as ne,useStore as Y}from"../../@utils";import{Box as R,Span as re,FAI as q,Column as ie}from"../../atoms";import{Text as B,Row as G}from"../../mols";import Z from"../Button";import{Loader as se}from"../Loader";import{Sheet as K}from"../Sheet";import{OptionalInputWrapper as ue,BoxWrapper as ce,CoreEffects as N,DefaultBoxishStyles as pe}from"./core";import{InputAutocompleteClasses as L}from"../../@styles/componentClasses";import{InputLabel as de}from"./Label";import{RightIcon as ee}from".";function me(t){let{value:e,states:a}=t,{required:o,options:c,min:u,max:S}=a;u=u||0,S=S||65535;let n=[],i=e.filter(m=>m!=="null").length;return o&&(i||n.push({type:"invalid",label:"\u5FC5\u9808\u9805\u76EE\u3067\u3059"})),i<u&&n.push({type:"invalid",label:u+"\u500B\u4EE5\u4E0A\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044"}),i>S&&n.push({type:"invalid",label:S+"\u500B\u307E\u3067\u9078\u629E\u3067\u304D\u307E\u3059"}),{ok:!n.filter(({type:m})=>m=="invalid").length,notice:n}}const A={InitOptions:t=>{let e=[];return t.forEach(a=>{let{type:o,label:c,value:u,searchValue:S}=a,n=S||(r.is.string(c)?c:"")||(r.is.string(u)?u:"");e.push(V(v({},a),{searchValue:n,type:o||"selector",value:r.JsonTo(u)}))}),e},FilterSelectableOptions:(t,e)=>{let a=t.val_options;if(e||(a=t.val_options.filter(o=>o.type!="label")),t.val_keyword){let o=t.val_keyword.toLower().replace(/ /g,"");a=a.filter(c=>(c.searchValue||"").toLower().replace(/ /g,"").includes(o))}return a}},F={Shallow:t=>{let{rootStates:e,val_status:a}=t,o=ne(e);return l(R,{position:"absolute",top:0,left:0,right:0,height:0,overflow:"hidden",opacity:"trans",freeCSS:{zIndex:3,pointerEvents:"none"},children:l(B.Description,V(v({className:e.className},o),{position:"absolute",width:1,freeCSS:V(v({},o.freeCSS),{color:"orange"}),"data-id":"shallow_"+a.componentID,children:l(R,{"data-input-value-shallow":a.componentID,children:"A"})}))})},Button:t=>{let{rootStates:e,val_keyword:a,set_keyword:o,val_optionFocused:c,set_optionFocused:u,val_options:S,set_options:n,val_optionsDict:i,set_optionsDict:m,val_preventOpenSelectorOnFocus:s,set_preventOpenSelectorOnFocus:p,val_selectorOpen:f,set_selectorOpen:h,val_status:d,set_status:I,val_validate:g,set_validate:C}=t,X=e,{tone:w,required:b,form:T,className:x,multiSelect:P,enableFormSubmit:E,checkValidationAtFirst:z,onValidate:J,onUpdateValue:W,onUpdateValidValue:fe,value:Se="",options:ve,leftIndicator:ye,rightIndicator:he,leftIcon:_e,rightIcon:Ie,componentID:ge,status_id:be,wrapStyles:Oe,emptySelect:De,SearchInput:Ve,SearchInputPlaceholder:Ce,SelectedComponent:we,SelectorComponent:ke,SelectorGravityPoint:xe,DynamicOptionsOnSearch:Re}=X,_=j(X,["tone","required","form","className","multiSelect","enableFormSubmit","checkValidationAtFirst","onValidate","onUpdateValue","onUpdateValidValue","value","options","leftIndicator","rightIndicator","leftIcon","rightIcon","componentID","status_id","wrapStyles","emptySelect","SearchInput","SearchInputPlaceholder","SelectedComponent","SelectorComponent","SelectorGravityPoint","DynamicOptionsOnSearch"]);k(()=>{var D;if(e.disabled||!f)return;let y=A.FilterSelectableOptions(t);u(((D=y[0])==null?void 0:D.value)||null)},[a]),k(()=>{d.eventType!="init"&&(e.max==d.dataValue.length?(h(!1),p(!0),setTimeout(()=>{let y=r('[data-input-origin="'+e.componentID+'"]');y&&y.focus()},10)):r("#SearchInput_"+e.componentID).focus())},[d.dataValue]);let M="autocomplete-sheet-"+e.componentID;return k(()=>{let y="autocomplete-click-"+e.componentID;if(f){let D=r('[data-input-origin="'+e.componentID+'"]');if(!D)return;r("#SearchInput_"+e.componentID).focus(),K.open({sheetID:M,type:"custom",parent:D[0],padding:["1/4",0],gravityPoint:e.SelectorGravityPoint||22,close_option:{aroundClick:!1},content:l(F.Selector,v({},t))}),r(document).addEvent({eventID:y,eventType:"click",callback:oe=>{let $=r(oe.target),le=!!r($).parent("."+L("Core")).length;r($).parent("."+L("Selector")).length||le||h(!1)}})}else r(document).removeEvent([y]),o(""),K.close(M)},[f]),k(()=>{if(e.disabled||!f)return;K.customSheet.reposition(M);let y=Y.get("refresh-autocomplete-selector-"+e.componentID);y&&y(t)},[S,d.dataValue,a,c]),l(H,{children:l(R,V(v({tabIndex:0},_),{"data-disabled":e.disabled,"data-name":e.name,"data-value":r.JsonTo(d.dataValue),"data-form":T,"data-show-validation":N.isShowValidation(g,d,!!z),"data-validation":g.ok,"data-component-id":d.componentID,"data-input-origin":d.componentID,"data-focus":!!f,"data-input-type":"autocomplete-"+(P?"multi":"single"),className:[x,L("Core")].join(" "),onFocus:y=>{if(_!=null&&_.onFocus&&(_==null||_.onFocus(y)),!e.disabled){if(s)return p(!1);h(!0),y.preventDefault()}},onClick:y=>{_!=null&&_.onClick&&(_==null||_.onClick(y)),!e.disabled&&h(!0)},onKeyDown:y=>{let{key:D}=y;E&&N.SubmitForm(y),!f&&(D==" "||D=="ArrowDown"||D=="ArrowUp"||D=="Enter")&&h(!0)},children:U(G.Left,{flexWrap:!0,gap:"1/3",freeCSS:{letterSpacing:".5px"},children:[l(F.Selected,v({},t)),l(re,{width:0,overflow:"hidden",opacity:"trans",children:"A"}),l(F.SearchInput,v({},t))]})}))})},SearchInput:t=>{let{rootStates:e}=t;return e.disabled||!t.val_selectorOpen?null:l(R,{id:"SearchInput_"+e.componentID,placeholder:e.SearchInputPlaceholder||"\u691C\u7D22...",opacity:t.val_selectorOpen?"max":"trans","data-form":e.form,transition:"middle",flexSizing:0,htmlTag:"input",border:"unset",backgroundColor:"trans",value:t.val_keyword,freeCSS:{outline:"none"},onKeyDown:a=>{let{key:o,metaKey:c,ctrlKey:u}=a,S=c||u;o=="Escape"?(t.set_selectorOpen(!1),t.set_preventOpenSelectorOnFocus(!0),setTimeout(()=>{let n=r('[data-input-origin="'+e.componentID+'"]');n&&n.focus()},10)):o=="Tab"?t.set_selectorOpen(!1):o==" "?r.scope(()=>{t.val_selectorOpen||t.val_keyword||(a.preventDefault(),t.set_selectorOpen(!0))}):o=="Backspace"?r.scope(()=>{if(t.val_keyword)return;let n=[...t.val_status.dataValue];n.pop(),t.set_status(i=>V(v({},i),{dataValue:n,eventType:"update",eventID:r.uuid.gen()}))}):o=="Enter"&&r.scope(()=>{if(!t.val_selectorOpen)return t.set_selectorOpen(!0);if(!t.val_optionFocused)return;let n=t.val_options.find(m=>m.value==t.val_optionFocused);if(!n)return;let{value:i}=n;t.set_status(m=>{let s=[...m.dataValue];return r.scope(()=>{if(i==="null")return s=[];m.dataValue.includes(i)?s=s.filter(f=>f!==i):e.multiSelect?s.push(i):s=[i]}),V(v({},m),{dataValue:s,eventType:"update",eventID:r.uuid.gen()})}),t.set_keyword("")}),r.scope(()=>{if(!["ArrowDown","ArrowUp"].includes(o))return;if(a.preventDefault(),!t.val_selectorOpen)return t.set_selectorOpen(!0);let n=o=="ArrowDown"?1:-1,i=A.FilterSelectableOptions(t),m=i.length-1,s=null;r.scope(()=>{var p,f,h,d;if(n==1){if(s=((p=i[0])==null?void 0:p.value)||null,t.val_optionFocused==null)return;if(S){s=i[m].value||s||null;return}let I=i.findIndex(g=>g.value==t.val_optionFocused);if(I==-1)return;s=((f=i[I+1])==null?void 0:f.value)||s||null}else{if(s=i[m].value||null,t.val_optionFocused==null)return;if(S){s=((h=i[0])==null?void 0:h.value)||s||null;return}let I=i.findIndex(g=>g.value==t.val_optionFocused);if(I==-1)return;s=((d=i[I-1])==null?void 0:d.value)||s||null}}),t.set_optionFocused(s)}),e.enableFormSubmit&&N.SubmitForm(a)},onChange:a=>{let c=a.target.value;t.set_keyword(c)}},"searchInput")},Selector:t=>{let[e,a]=O(t),{rootStates:o}=e,[c,u]=O("idle"),[S,n]=O("idle");k(()=>{Y.set({["refresh-autocomplete-selector-"+o.componentID]:p=>{a(p)}})},[]),k(()=>{if(!e.val_selectorOpen||!o.DynamicOptionsOnSearch)return;if(c=="idle")return u("ok");n("fetch");let p="autocomplete-search-"+o.componentID;r.interval.clear(p),r.interval.standBy(p,300,()=>Q(void 0,null,function*(){let f=yield o.DynamicOptionsOnSearch(e.val_keyword);n("idle");let h=A.InitOptions(f||[]);e.set_options(h)}))},[e.val_keyword]);let i=[],m=A.FilterSelectableOptions(e,!0),s=A.FilterSelectableOptions(e);return m.forEach((p,f)=>{let{type:h,value:d}=p,I=e.val_optionFocused==d,g=e.val_status.dataValue.includes(d),C=o.SelectorComponent;i.push(l(C,{option:p,isFocused:I,isSelected:g,addCallback:()=>{e.set_status(w=>{let b=[...w.dataValue];return r.scope(()=>{if(d==="null")return b=[];w.dataValue.includes(d)?b=b.filter(x=>x!==d):o.multiSelect?b.push(d):b=[d]}),V(v({},w),{dataValue:b,eventType:"update",eventID:r.uuid.gen()})})}},String(d)||r.uuid.gen()))}),s.length||(i=[l(B.Supplement,{padding:[0,1],fontColor:"4.thin",children:"\u5019\u88DC\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093"},"no-selector-notice")]),S=="fetch"&&(i=[U(G.Left,{padding:1,fontColor:"3.blur",children:[l(se.Theme.R,{showInitial:!0}),l(B.Supplement,{children:"Loading..."})]},"loader")]),l(K.Body,{className:L("Selector"),ssCardBox:!0,borderRadius:"3.tone.tertiary",boxShadow:"1.normal",freeCSS:{minWidth:12*18},children:l(ie,{gap:0,padding:[1,0],children:i})})},Selected:t=>{let{rootStates:e,val_status:a,set_status:o,val_optionsDict:c}=t,u=[];return a.dataValue.forEach(S=>{let n=c[String(S)];if(!n)return;let i=e.SelectedComponent,m=n.label;n.value==="null"&&(m=""),u.push(l(R,{className:L("SelectedCell"),children:l(i,{value:n.value,label:m,children:m,removeCallback:s=>{if(s.stopPropagation(),s.preventDefault(),e.disabled)return;let p=[...a.dataValue];p=p.filter(f=>f!==S),o(f=>V(v({},f),{dataValue:p,eventType:"update",eventID:r.uuid.gen()}))}})},String(n.value)))}),l(H,{children:u})},Core:t=>{let{onUpdateValue:e,onUpdateValidValue:a,value:o}=t,c={componentID:t.componentID||"",dataValue:o,eventType:"init",eventID:r.uuid.gen()},[u,S]=O(!1),[n,i]=O(!1),[m,s]=O(""),[p,f]=O(t.options),[h,d]=O(t.value[0]||null),[I,g]=O({}),[C,w]=O(c),[b,T]=O({ok:!1,notice:[]}),x=ae(!1);k(()=>{x.current?f(t.options):x.current=!0},[t.options]),k(()=>{if(!p.length)return;let z=[...p],J=v({},I);z.forEach(W=>{W.type!="label"&&(J[String(W.value)]=W)}),g(J)},[p]);let P={rootStates:t,val_options:p,set_options:f,val_optionFocused:h,set_optionFocused:d,val_optionsDict:I,set_optionsDict:g,val_preventOpenSelectorOnFocus:u,set_preventOpenSelectorOnFocus:S,val_selectorOpen:n,set_selectorOpen:i,val_keyword:m,set_keyword:s,val_status:C,set_status:w,val_validate:b,set_validate:T};N.CommonEffects({type:"autocomplete",states:t,val_status:C,set_status:w,val_validate:b,set_validate:T,onUpdateValue:e,onUpdateValidValue:a,DefaultValidation:me,ExtraOverrideStates:{dataValue:o,formatValue:o}});let E=C.dataValue.length&&C.dataValue[0]!=="null";return E=E||n,U(ce,{val_status:C,set_status:w,val_validate:b,states:t,children:[l(de,{componentID:t.componentID,fontSize:t.fontSize,required:t.required,label:t.label,isActive:E}),l(F.Shallow,v({},P)),l(F.Button,v({},P))]})}},te=t=>{let e=v({},t);e=V(v({value:[],min:0,max:65535,multiSelect:!0,SearchInput:!0,emptySelect:!0,SelectorComponent:({option:o,isSelected:c,isFocused:u,addCallback:S})=>o.type=="selector"?l(Z.Button.Sub.S,{color:"cloud",backgroundColor:"trans",borderRadius:0,fontColor:"2.normal",textAlign:"left",padding:["1/2",1.5],isActive:c||u,isActiveStyles:u?{backgroundColor:"cloud"}:{backgroundColor:"theme.opa.few",fontColor:"theme"},onClick:n=>{S()},children:l(B.Supplement,{paddingLeft:c?"1/2":0,transition:"short",children:o.label})}):l(H,{children:o.label}),SelectedComponent:({value:o,label:c,removeCallback:u})=>U(G.Left,{ssCardBox:"cloud",backgroundColor:"layer.3",borderRadius:"2.tone.secondary",fontSize:"1.mini",padding:"1/2",gap:0,children:[l(R,{padding:[0,"1/4"],children:c}),l(Z.Button.Sub.R,{color:"cloud",fontColor:"white",backgroundColor:"layer.6",isRounded:!0,padding:"1/4",onClick:u,children:l(q.Times,{ssSphere:1})})]},"test")},e),{freeCSS:v({cursor:"pointer"},e.freeCSS)}),e.multiSelect||(e.min=1,e.max=1),e.options=e.options||[],e.emptySelect&&(e.options=[{value:null,label:l(B.Supplement,{fontColor:"4.thin",children:"\u9078\u629E\u3092\u89E3\u9664"})},...e.options]);let a=[];return e.value=r.flatArray(e.value||null),e.value.forEach((o,c)=>{a.push(r.JsonTo(o))}),e.value=a,e.options=A.InitOptions(e.options),r.is.nullish(e.rightIcon)&&(e.rightIcon=l(ee,{children:l(q.Search,{})}),e.disabled&&(e.rightIcon=l(ee,{fontColor:"5.translucent",children:l(q.Ban,{})}))),e.rightIcon&&(e=v({paddingRight:3},e)),e.leftIcon&&(e=v({paddingLeft:3},e)),l(ue,{componentID:e.componentID,children:F.Core,states:pe(e)})};export{te as Autocomplete,te as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{b as e,c as r,d as T}from"../../chunk-C5N2D3ZX.js";import{jsx as p}from"react/jsx-runtime";import{useState as h}from"react";import b from"@mingoo/jsmin";import{
|
|
1
|
+
import{b as e,c as r,d as T}from"../../chunk-C5N2D3ZX.js";import{jsx as p}from"react/jsx-runtime";import{useState as h}from"react";import b from"@mingoo/jsmin";import{OptionalInputWrapper as B,BoxWrapper as L,CoreEffects as u,DefaultBoxishStyles as F}from"./core";import{Box as H}from"../../atoms";function M(t){let{value:a,states:c}=t,{required:m}=c,n=[];return m&&!a&&n.push({type:"invalid",label:"\u5FC5\u9808\u9805\u76EE\u3067\u3059"}),{ok:!n.filter(({type:s})=>s=="invalid").length,notice:n}}const W=t=>{let y=t,{componentID:a,tone:c,required:m,form:n,value:s,enableFormSubmit:C,checkValidationAtFirst:D,onInput:f,onKeyDown:I,onValidate:q,onUpdateValue:g,onUpdateValidValue:V,children:E="",leftIndicator:A,rightIndicator:K,leftIcon:P,rightIcon:U,freeCSS:$,wrapStyles:G}=y,R=T(y,["componentID","tone","required","form","value","enableFormSubmit","checkValidationAtFirst","onInput","onKeyDown","onValidate","onUpdateValue","onUpdateValidValue","children","leftIndicator","rightIndicator","leftIcon","rightIcon","freeCSS","wrapStyles"]),x={componentID:a,dataValue:s,eventType:"init",eventID:b.uuid.gen()},[o,d]=h(x),[i,v]=h({ok:!1,notice:[]});return u.CommonEffects({type:"contenteditable",states:t,val_status:o,set_status:d,val_validate:i,set_validate:v,onUpdateValue:g,onUpdateValidValue:V,DefaultValidation:M}),p(L,{val_status:o,set_status:d,val_validate:i,states:t,children:p(H,r(e({contentEditable:!0,"data-form":n,"data-name":t.name,"data-input-type":"contenteditable","data-show-validation":u.isShowValidation(i,o,!!D),"data-validation":i.ok,"data-value":o.dataValue,"data-component-id":o.componentID,onKeyDown:l=>{I&&I(l),C&&u.SubmitForm(l)},onInput:l=>{let w=l.currentTarget,{innerHTML:N,innerText:_}=w;i.ok&&v({ok:!1,notice:[]}),d(k=>r(e({},k),{dataValue:_,eventType:"update",eventID:b.uuid.gen()})),f&&f(l)}},R),{children:E}))})},S=t=>{t=e({rows:5},t),t.rightIcon&&(t=e({paddingRight:3},t)),t.leftIcon&&(t=e({paddingLeft:3},t)),t=r(e({},t),{freeCSS:e({whiteSpace:"pre-wrap"},t.freeCSS)});let a=F(t);return p(B,{componentID:t.componentID,children:W,states:a})};export{S as Contenteditable,S as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{b as t,c as m,d as T}from"../../chunk-C5N2D3ZX.js";import{jsx as h,jsxs as Z}from"react/jsx-runtime";import{useState as V}from"react";import I from"@mingoo/jsmin";import{$$fromRoot as P,GenerateHTMLProps as q}from"../../@utils";import{OptionalInputWrapper as U,BoxWrapper as j,CoreEffects as F,
|
|
1
|
+
import{b as t,c as m,d as T}from"../../chunk-C5N2D3ZX.js";import{jsx as h,jsxs as Z}from"react/jsx-runtime";import{useState as V}from"react";import I from"@mingoo/jsmin";import{$$fromRoot as P,GenerateHTMLProps as q}from"../../@utils";import{OptionalInputWrapper as U,BoxWrapper as j,CoreEffects as F,DefaultBoxishStyles as z}from"./core";import{Flex as G}from"../../atoms";import J from"./Hidden";import{InputClasses as w}from"../../@styles/componentClasses";function Q(e){let{value:a,states:s}=e,{required:u,numericOnly:l=!1,digits:f}=s,o=[];return u&&!a&&o.push({type:"invalid",label:"\u5FC5\u9808\u9805\u76EE\u3067\u3059"}),a&&(l&&a.match(/\D/)&&o.push({type:"invalid",label:"\u6570\u5B57\u306E\u307F\u3067\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044"}),a.length!=f&&o.push({type:"warn",label:"\u6700\u5F8C\u307E\u3067\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044"})),{ok:!o.filter(({type:p})=>p=="invalid"||p=="warn").length,notice:o}}const X=(e,a="")=>{let s=String(a),u=[];for(let l=0;l<e;l++)u[l]=s[l]||"";return{formatValue:u,dataValue:s}},R=(e="")=>{let a=e,s=a.join("");return{formatValue:a,dataValue:s}},Y=e=>{let v=e,{tone:a,required:s,form:u,name:l,className:f="",digits:o,numericOnly:p=!1,enableFormSubmit:k,checkValidationAtFirst:ee,onChange:te,onKeyDown:ae,onValidate:ne,onUpdateValue:A,onUpdateValidValue:M,value:N="",override:ie,freeCSS:re,wrapStyles:le,combineInput:oe,componentID:se,listStyles:E}=v,H=T(v,["tone","required","form","name","className","digits","numericOnly","enableFormSubmit","checkValidationAtFirst","onChange","onKeyDown","onValidate","onUpdateValue","onUpdateValidValue","value","override","freeCSS","wrapStyles","combineInput","componentID","listStyles"]),L=m(t({componentID:e.componentID||""},X(o,N)),{eventType:"init",eventID:I.uuid.gen()}),[i,g]=V(L),[D,B]=V({ok:!1,notice:[]});F.CommonEffects({type:"textfield",states:e,val_status:i,set_status:g,val_validate:D,set_validate:B,onUpdateValue:A,onUpdateValidValue:M,DefaultValidation:Q});let S=[];for(let n=0;n<o;n++){let W=i.formatValue[n],O={},b=f;e.combineInput&&(b=[f,w("DigitCharacterCell"),w("Combined")].join(" ")),S.push(h("input",{type:"text",inputMode:p?"numeric":e.inputMode||"text",value:W,"data-form-name":u,id:"Digit-"+n+"-"+i.componentID,className:b,style:t(t({},e.style),O),onKeyDown:C=>{let{key:y,code:$}=C;if(y=="Tab")return;C.preventDefault();let d=null;if(y=="Backspace"){let r=i.formatValue;r[n]="",g(c=>m(t(t({},c),R(r)),{eventType:"update",eventID:I.uuid.gen()})),d=n-1}else if(["ArrowLeft","ArrowRight"].includes(y)){let r=+(y=="ArrowRight")*2-1;d=n+r}else k&&F.SubmitForm(C),(()=>{let r=$.match(/^(Key(.)|Digit(\d)|Numpad(\d))/);if(!r)return;let c=r[2]||r[3]||r[4];if(p&&!c.match(/\d/)||!c)return;let x=i.formatValue;x[n]=c,g(K=>m(t(t({},K),R(x)),{eventType:"update",eventID:I.uuid.gen()})),d=n+1})();I.is.exist(d)&&P("#Digit-"+d+"-"+i.componentID).focus()},onChange:()=>{}},n))}return Z(j,{val_status:i,set_status:g,val_validate:D,states:e,children:[h(J,t({name:l,"data-input-type":"digitCharacters","data-form":u,"data-validation":D.ok,componentID:i.componentID,"data-value":i.dataValue},H)),h(G,m(t({gap:"1/2",flexChilds:"even",flexWrap:!1,flexSizing:"auto"},E),{children:S}))]})},_=e=>{e=t({},e),e=t({textAlign:"center",width:0},e),e.combineInput&&(e=m(t({textAlign:"center",width:0},e),{freeCSS:t({minWidth:12*2,marginRight:-1},e.freeCSS),listStyles:t({borderRadius:"2.tone.secondary",border:"unset",gap:0},e.listStyles)}));let a=q(z(e));return h(U,{componentID:e.componentID,children:Y,states:a})};export{_ as DigitCharacters,_ as default};
|
package/dist/fn/Input/Filer.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{b as v,c as b,d as Q,e as L}from"../../chunk-C5N2D3ZX.js";import{Fragment as ae,jsx as n,jsxs as r}from"react/jsx-runtime";import{useState as U,useEffect as ne}from"react";import I from"@mingoo/jsmin";import{$$fromRoot as P,useStore as X,GenerateHTMLProps as Y}from"../../@utils";import{Box as g,FAI as $,Flex as M,Column as ee}from"../../atoms";import{Row as ie}from"../../mols";import O from"../Button";import j from"../Snackbar";import{OptionalInputWrapper as oe,BoxWrapper as se,CoreEffects as re,
|
|
1
|
+
import{b as v,c as b,d as Q,e as L}from"../../chunk-C5N2D3ZX.js";import{Fragment as ae,jsx as n,jsxs as r}from"react/jsx-runtime";import{useState as U,useEffect as ne}from"react";import I from"@mingoo/jsmin";import{$$fromRoot as P,useStore as X,GenerateHTMLProps as Y}from"../../@utils";import{Box as g,FAI as $,Flex as M,Column as ee}from"../../atoms";import{Row as ie}from"../../mols";import O from"../Button";import j from"../Snackbar";import{OptionalInputWrapper as oe,BoxWrapper as se,CoreEffects as re,DefaultBoxishStyles as ue}from"./core";import pe from"./TextField";import{InputFilerClasses as m}from"../../@styles/componentClasses";import{faCloudArrowUp as de}from"@fortawesome/free-solid-svg-icons/faCloudArrowUp";function ce(e){let{value:t,states:a}=e,{required:s}=a,l=[];return s&&!t.length&&l.push({type:"invalid",label:"\u5FC5\u9808\u9805\u76EE\u3067\u3059"}),{ok:!l.filter(({type:u})=>u=="invalid").length,notice:l}}const te={List:e=>{let{files:t,states:a,val_status:s,set_status:l}=e,u=(a.limit||1)-s.dataValue.length,d=t.map((p,T)=>n(te.Cell,{index:T,file:p,className:a.cellClassName,val_status:s,set_status:l,fileNameEdit:a.fileNameEdit},p.name));return u>0&&d.push(n("label",{className:[a.cellClassName,m("AddButton")].join(" "),"data-component-id":s.componentID,htmlFor:a.id,tabIndex:a.tabIndex,onKeyDown:p=>{let{key:T}=p;a.tabIndex!=-1&&[" ","Enter"].includes(T)&&P("#"+a.id).click()},children:r(ie.Center,{padding:["1/3",0],children:[n(g,{isRounded:!0,className:m("AddIcon"),children:n($,{icon:de,className:m("Icon"),fontColor:"theme",fontSize:"4.thirdTitle",backgroundColor:"theme.opa.low",ssSphere:3,padding:"1/2"})}),r(g,{children:[r(g,{fontColor:"theme",fontSize:"2.normal",isSemiBoldFont:!0,children:["\u30D5\u30A1\u30A4\u30EB\u3092\u9078\u629E(",u,")"]}),n(g,{fontColor:"4.thin",fontSize:"0.xs",isSemiBoldFont:!0,children:"\u30D5\u30A1\u30A4\u30EB\u3092\u30C9\u30ED\u30C3\u30D7"})]})]})},"AddButton")),n(ee,{flexSizing:"auto",className:a.className,children:d})},Cell:e=>{let{index:t,file:a,className:s,val_status:l,set_status:u,fileNameEdit:d=!0}=e,{name:p,size:T,type:i}=a,[A,B]=U(!1),N=I.uuid.gen(),V=T.rank(),[K,W]=p.replace(/\s/,"").replace(/(.*)\.(.*)$/,"$1 $2").split(" "),o="\u30D5\u30A1\u30A4\u30EB";return i.match(/image/)?o=i.replace(/image\//,""):i.match(/pdf/)?o="PDF":i.match(/csv/)?o="CSV":i.match(/spreadsheet/)?o="SpreadSheet":i.match(/presentation/)?o="PowerPoint":i.match(/word/)?o="Word":i.match(/zip/)?o="Zip":i.match(/powerpoint/)?o="PowerPoint":i.match(/html/)?o="HTML":i.match(/js/)?o="JavaScript":i.match(/css/)?o="CSS":i.match(/text\/plain/)&&(o="\u30C6\u30AD\u30B9\u30C8"),ne(()=>{A&&setTimeout(()=>{P("#"+N).focus()},100)},[A]),r(M,{verticalAlign:"center",flexWrap:!1,gap:1,className:s,children:[n($.File,{fontSize:"4.thirdTitle",fontColor:"4.thin"}),r(g,{flexSizing:0,children:[n(g,{children:n(M,{verticalAlign:"center",gap:"2/3",flexWrap:!1,className:m("FileName"),children:A?n(ae,{children:r(ee,{flexSizing:0,gap:"1/2",children:[r(M,{gap:"2/3",verticalAlign:"center",children:[n(pe,{tone:"border",wrapStyles:{flexSizing:"auto"},restrict:"fileName",name:"name",required:!0,id:N,form:"form-"+N,enableFormSubmit:!0,value:K,onKeyDown:y=>{let{key:_}=y;_=="Escape"&&B(!1)}}),r(g,{children:[". ",W]})]}),r(M,{gap:"2/3",horizontalAlign:"right",flexWrap:!1,children:[n(O.Button.Sub.R,{padding:["2/3",1],onClick:()=>{B(!1)},children:"\u9589\u3058\u308B"}),n(O.Button.Prime.R,{padding:["2/3",1],submitOption:{formName:"form-"+N,callback:y=>L(void 0,null,function*(){let{name:_}=y,D=[...l.dataValue],k=D[t],G=k.id;if(!k)return;let{target:z}=yield k.convert();if(!z)return;let c=yield String(z.result).toBlob(a.type);if(!c)return;let h=new File([c],_+"."+W,{type:k.type});h.id=G,D[t]=h,u(R=>b(v({},R),{dataValue:D,eventType:"update",eventID:I.uuid.gen()})),B(!1)})},children:"\u6C7A\u5B9A"})]})]})}):r(ae,{children:[p,!!d&&n(O.Button.Clear.R,{ssSphere:2.5,flexSizing:"none",fontColor:"4.thin",padding:"1/3",ssEffectsOnActive:"expand",color:"cloud",onClick:()=>{B(!0)},children:n($.Pen,{})})]})})}),!A&&r(g,{fontSize:"1.mini",fontColor:"4.thin",flexSizing:0,children:[o,"\u30D5\u30A1\u30A4\u30EB / ",V,"B"]})]}),n(O.Button.Sub.R,{color:"cloud",fontColor:"4.thin",ssSphere:3,onClick:()=>{let y=[...l.dataValue];y[t]&&(y.splice(t,1),u(D=>b(v({},D),{dataValue:y,eventType:"update",eventID:I.uuid.gen()})))},children:n($.Times,{})})]})}},me=e=>{let Z=e,{tone:t,required:a,form:s,fileNameEdit:l=!0,systemOnly:u=!1,accept:d="*",limit:p=1,checkValidationAtFirst:T,onChange:i,onValidate:A,onUpdateValue:B,onUpdateValidValue:N,value:V=[],className:K,cellStyles:W,cellClassName:o,componentID:y,status_id:_,enableFormSubmit:D,freeCSS:k,wrapStyles:G}=Z,z=Q(Z,["tone","required","form","fileNameEdit","systemOnly","accept","limit","checkValidationAtFirst","onChange","onValidate","onUpdateValue","onUpdateValidValue","value","className","cellStyles","cellClassName","componentID","status_id","enableFormSubmit","freeCSS","wrapStyles"]),J={componentID:e.componentID||"",dataValue:V,eventType:"init",eventID:I.uuid.gen()},[c,h]=U(J),[R,le]=U({ok:!1,notice:[]});re.CommonEffects({type:"file",states:e,val_status:c,set_status:h,val_validate:R,set_validate:le,onUpdateValue:B,onUpdateValidValue:N,DefaultValidation:ce,ExtraOverrideStates:{dataValue:V,formatValue:V},ExtraStoreStates:{AddFiles:w=>L(void 0,null,function*(){let E=X.get(c.componentID).Files,F=[];for(var C=0;C<(w==null?void 0:w.length);C++){let f=w[C],{type:S,name:x}=f;if(C+1+E.length>p){j.add({componentID:x,secondsToClose:12e3,children:`\u30D5\u30A1\u30A4\u30EB\u9078\u629E\u4E0A\u9650\u3092\u8D85\u3048\u305F\u305F\u3081\u3001${x}}\u306F\u8FFD\u52A0\u3067\u304D\u307E\u305B\u3093\u3002`,backgroundColor:"nega"});continue}if(d&&d=="image"&&!S.match(/image/)){j.add({componentID:x,secondsToClose:12e3,children:`\u30D5\u30A1\u30A4\u30EB\u5F62\u5F0F\u304C\u7570\u306A\u308B\u305F\u3081\u3001${x} \u306F\u8FFD\u52A0\u3067\u304D\u307E\u305B\u3093\u3002`,backgroundColor:"nega"});continue}F.push(f)}h(f=>b(v({},f),{dataValue:[...E,...F],eventType:"update",eventID:I.uuid.gen()}))})}});let H="";return d&&(d=="image"?H="image/png,image/jpeg":H=d),r(se,{val_status:c,set_status:h,val_validate:R,states:e,children:[n(g,b(v({htmlTag:"input",type:"file",className:m("Input"),"data-form":s,"data-input-type":"file","data-component-id":c.componentID,"data-validation":R.ok,accept:H,multiple:p!=1,onChange:w=>L(void 0,null,function*(){let E=w.target,F=E.files,C=[];for(var f=0;f<(F==null?void 0:F.length);f++){let S=F[f],x=S.name;if(S.id=I.uuid.gen(),f+1+c.dataValue.length>p){j.add({componentID:x,secondsToClose:12e3,children:`\u30D5\u30A1\u30A4\u30EB\u767B\u9332\u6570\u3092\u8D85\u3048\u305F\u305F\u3081\u3001${x}}\u306F\u8FFD\u52A0\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002`,backgroundColor:"nega"});continue}C.push(S)}h(S=>b(v({},S),{dataValue:[...S.dataValue,...C],eventType:"update",eventID:I.uuid.gen()})),E.value=""})},z),{tabIndex:-1,value:""})),!u&&n(te.List,{files:c.dataValue,states:e,val_status:c,set_status:h})]})};typeof window!="undefined"&&window.document&&I(document).addEvent({eventType:"dragover",callback:e=>{e.preventDefault(),P("."+m("AddButton")).addClass(m("Draggable"))},options:{passive:!1}}).addEvent({eventType:"drop",callback:e=>{e.preventDefault(),P("."+m("AddButton")).removeClass(m("Draggable"));let t=e.dataTransfer.files;if(t.length){let a=e.target;if(P(a).hasClass(m("AddButton"))){let{componentId:s}=a.dataset,l=X.get(s);l&&l.AddFiles&&l.AddFiles(t)}}},options:{passive:!1}});const q=e=>{e=v({},e),e.override="force";let t=Y(e);return t.cellClassName=[t.cellClassName,Y(ue(b(v({},t.cellStyles),{tone:t.tone}))).className].join(" "),n(oe,{componentID:e.componentID,children:me,states:t})};q.fn={openDialog:e=>{let{multiple:t,accept:a}=e;return new Promise(s=>{const l=document.createElement("input");l.type="file",l.multiple=t!=null?t:!0,a&&(a=="image"?l.accept="image/png,image/jpeg":l.accept=a),l.onchange=u=>{s(u.target.files)},l.click()})}};export{q as Filer,q as default};
|
package/dist/fn/Input/Label.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{b as a,c as
|
|
1
|
+
import{b as a,c as u}from"../../chunk-C5N2D3ZX.js";import{jsx as m,jsxs as x}from"react/jsx-runtime";import{useState as c,useEffect as S}from"react";import n from"@mingoo/jsmin";import{Box as d,Span as g}from"../../atoms";import{Row as h}from"../../mols";const D=t=>{if(!t.label)return null;let[r,s]=c({});return S(()=>{let f=n('[data-input-origin="'+t.componentID+'"]'),e=n('[data-input-label="'+t.componentID+'"]'),p=n('[data-input-value-shallow="'+t.componentID+'"]');if(!f[0]||!e[0]||!p[0])return;let i=f.position(),l=p.position();if(t.isActive){let o=l.left-i.left;s({opacity:"max",freeCSS:{backgroundColor:"hsla(var(--color-layer1-hsl), .4)",backdropFilter:"blur(2px)",lineHeight:1,fontSize:"12px",transform:`translate(${o}px,-6px)`}})}else{let o=l.left-i.left,b=l.top-i.top;s({fontSize:t.fontSize||"inherit",opacity:"middle",freeCSS:{lineHeight:"inherit",transform:`translate(${o}px,${b}px)`,backgroundColor:"transparent"}})}e.getAttribute("data-label-init")=="true"&&e.setAttribute("data-label-init","false").await(10).css({transition:"var(--animation-time2)"})},[t.isActive]),m(d,u(a({htmlTag:"label","data-input-label":t.componentID,"data-label-init":"true",position:"absolute",left:0,top:0,fontColor:"3.blur",backgroundColor:"trans",borderRadius:"1/3",padding:[0,"1/4"],opacity:"min"},r),{freeCSS:a({zIndex:2,pointerEvents:"none",lineHeight:"inherit"},r.freeCSS),children:x(h.Left,{gap:"1/3",children:[t.label,t.required&&m(g,{fontColor:"nega",children:" * "})]})}))};export{D as InputLabel};
|
package/dist/fn/Input/List.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{b as o,c as p,d as J}from"../../chunk-C5N2D3ZX.js";import{jsx as a,jsxs as oe}from"react/jsx-runtime";import{useState as Y}from"react";import y from"@mingoo/jsmin";import{$$fromRoot as ae,GenerateHTMLProps as ne}from"../../@utils";import{Box as T,Flex as se,Label as ie,FAI as re}from"../../atoms";import Z from"../Button";import{OptionalInputWrapper as de,BoxWrapper as ce,CoreEffects as ee}from"./core";import ue from"./Hidden";import{InputListClasses as b}from"../../@styles/componentClasses";function me(t){let{value:l,states:n}=t,{type:e,required:u,minSelect:s=0}=n,i=[];return u&&(l.length||e=="radio"&&i.push({type:"invalid",label:"\u9078\u629E\u3055\u308C\u3066\u3044\u307E\u305B\u3093"})),s&&l.length<s&&i.push({type:"invalid",label:`${s}\u500B\u4EE5\u4E0A\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044`}),{ok:!i.filter(({type:d})=>d=="invalid").length,notice:i}}const L={OptionalListWrapper:t=>{let{value:l,options:n=[]}=t,e=y.is.exist(l)?y.flatArray(l):[],u=n.map(i=>{let{value:d,label:h}=i;return p(o({},i),{value:JSON.stringify(d),label:h})}),s=[];return e.forEach(i=>{let d=JSON.stringify(i);u.findIndex(
|
|
1
|
+
import{b as o,c as p,d as J}from"../../chunk-C5N2D3ZX.js";import{jsx as a,jsxs as oe}from"react/jsx-runtime";import{useState as Y}from"react";import y from"@mingoo/jsmin";import{$$fromRoot as ae,GenerateHTMLProps as ne}from"../../@utils";import{Box as T,Flex as se,Label as ie,FAI as re}from"../../atoms";import Z from"../Button";import{OptionalInputWrapper as de,BoxWrapper as ce,CoreEffects as ee}from"./core";import ue from"./Hidden";import{InputListClasses as b}from"../../@styles/componentClasses";function me(t){let{value:l,states:n}=t,{type:e,required:u,minSelect:s=0}=n,i=[];return u&&(l.length||e=="radio"&&i.push({type:"invalid",label:"\u9078\u629E\u3055\u308C\u3066\u3044\u307E\u305B\u3093"})),s&&l.length<s&&i.push({type:"invalid",label:`${s}\u500B\u4EE5\u4E0A\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044`}),{ok:!i.filter(({type:d})=>d=="invalid").length,notice:i}}const L={OptionalListWrapper:t=>{let{value:l,options:n=[]}=t,e=y.is.exist(l)?y.flatArray(l):[],u=n.map(i=>{let{value:d,label:h}=i;return p(o({},i),{value:JSON.stringify(d),label:h})}),s=[];return e.forEach(i=>{let d=JSON.stringify(i);u.findIndex(V=>V.value==d)!=-1&&s.push(d)}),a(L.Core,p(o({},t),{value:s,options:u}))},Core:t=>{let D=t,{type:l,tone:n,required:e,componentID:u="",form:s,override:i,icon:d,iconType:h,CustomIcon:V,enableFormSubmit:A,checkValidationAtFirst:M,onValidate:w,onUpdateValue:k,onUpdateValidValue:_,value:B,options:W,className:g,cellStyles:$,cellClassName:X,cellCheckedStyles:q,cellCheckedClassName:H,minSelect:U,hideInput:z,freeCSS:F,wrapStyles:m}=D,x=J(D,["type","tone","required","componentID","form","override","icon","iconType","CustomIcon","enableFormSubmit","checkValidationAtFirst","onValidate","onUpdateValue","onUpdateValidValue","value","options","className","cellStyles","cellClassName","cellCheckedStyles","cellCheckedClassName","minSelect","hideInput","freeCSS","wrapStyles"]),S={componentID:u,dataValue:B,eventType:"init",eventID:y.uuid.gen()},[f,C]=Y(S),[v,K]=Y({ok:!1,notice:[]});return ee.CommonEffects({type:"list",states:t,val_status:f,set_status:C,val_validate:v,set_validate:K,onUpdateValue:k,onUpdateValidValue:_,DefaultValidation:me}),oe(ce,{val_status:f,set_status:C,val_validate:v,states:t,children:[a(ue,p(o({"data-value":JSON.stringify(f.dataValue),form:s,"data-input-type":l,"data-validation":v.ok},x),{componentID:f.componentID})),a(L.List,{rootStates:t,val_status:f,set_status:C})]})},List:t=>{let{rootStates:l,val_status:n,set_status:e}=t,{componentID:u,type:s,tone:i,icon:d=!0,options:h,name:V,form:A,tabIndex:M,hideInput:w,disabled:k,className:_,cellStyles:B,cellClassName:W="",cellCheckedStyles:g,cellCheckedClassName:$="",enableFormSubmit:X}=l,{dataValue:q}=n,H=l.CustomIcon,U=h.map((z,F)=>{let Q=z,{value:m,label:x,disabled:S,className:f="",checkedStyles:C,checkedClassName:v="",freeCSS:K}=Q,D=J(Q,["value","label","disabled","className","checkedStyles","checkedClassName","freeCSS"]),j=y.uuid.gen(),R=q.findIndex(r=>r===m)!=-1,I=o(o({},B),D),O=[b("Label"),W,f];R&&(I=p(o(o(o({},I),g),C),{freeCSS:o(o(o({},I==null?void 0:I.freeCSS),g==null?void 0:g.freeCSS),C==null?void 0:C.freeCSS)}),O=[...O,$,v]);const G=()=>{if(k||S)return;let r=[];if(s=="radio")r=[m];else if(s=="checkbox"||s=="checker")if(!R)r=[...n.dataValue,m];else{let c=[...n.dataValue];c.splice(n.dataValue.findIndex(E=>E==m),1),r=c}e(c=>p(o({},c),{dataValue:r,eventType:"update",eventID:y.uuid.gen()}))};return[a(T,{htmlTag:"input",type:s=="radio"?"radio":"checkbox",className:b("Input"),name:"RadioCheckbox-"+V,"data-list-index":u+"-"+F,id:j,value:String(m),"data-form-name":A,disabled:k||S,checked:R,onFocus:r=>{S||s=="radio"&&(n.dataValue.length||e(c=>p(o({},c),{dataValue:[m],eventType:"update",eventID:y.uuid.gen()})))},onChange:()=>{G()},onKeyDown:r=>{let{key:c,shiftKey:E}=r;if((s=="checkbox"||s=="checker")&&c!="Tab"){if(c.match(/Arrow/)){r.preventDefault();let le=["ArrowLeft","ArrowUp"].includes(c)?-1:1,N=F+le;N<0?N=h.length-1:N>=h.length&&(N=0),ae(`input[data-list-index="${u}-${N}"]`).focus()}}X&&ee.SubmitForm(r)},tabIndex:M},"List-"+JSON.stringify(m)),oe(ie,p(o({"data-disabled":k||S,htmlFor:j,className:O.join(" "),tabIndex:-1,display:"flex",verticalAlign:"center",gap:"1/6",flexWrap:!1},I),{children:[d&&a(H,{isChecked:R,toggle:()=>{G()}}),y.is.string(x)?a(T,{children:x}):x]}),"ListTrigger-"+JSON.stringify(m))]});return a(se,{flexSizing:"auto",style:l.style,freeCSS:o({},l.freeCSS),className:[_,b("CellBase"),b("HideInput_"+w),b("IconIndicator_"+!!d),b("Tone_"+i)].join(" "),children:U})},RadioIcon:t=>a(Z.Button.Normal.R,{ssPushable:!0,color:"cloud",tabIndex:-1,ssEffectsOnActive:"ripple.cloud",ssSphere:3,onClick:l=>{l.preventDefault(),l.stopPropagation(),t.toggle()},children:a(T,{ssSphere:1.5,border:"3.thick",borderWidth:2,borderColor:t.isChecked?"theme":"3.thick",position:"relative",transition:"middle",children:a(T,{position:"absolute",transition:"middle",isRounded:!0,backgroundColor:t.isChecked?"theme":"trans",opacity:t.isChecked?"max":"trans",freeCSS:{width:"60%",height:"60%",transform:t.isChecked?"scale(1)":"scale(.6)"}})})}),CheckboxIcon:t=>a(Z.Button.Normal.R,{ssPushable:!0,color:"cloud",tabIndex:-1,ssEffectsOnActive:"ripple.cloud",ssSphere:3,onClick:l=>{l.preventDefault(),l.stopPropagation(),t.toggle()},children:a(T,{ssSquare:1.5,flexCenter:!0,border:"3.thick",borderWidth:2,borderColor:t.isChecked?"theme":"3.thick",borderRadius:"3.tone.tertiary",position:"relative",backgroundColor:t.isChecked?"theme":"trans",transition:"middle",fontColor:"white",children:a(re.Check,{transition:"middle",opacity:t.isChecked?"max":"trans",freeCSS:{zIndex:8}})})})},P=t=>{t=t||"checkbox";const l=e=>(e=p(o({gap:"1/2",iconType:t=="radio"?"radio":"checkbox"},e),{type:t,cellStyles:o({position:"relative",borderRadius:"2.tone.secondary",transition:"middle"},e.cellStyles)}),e.CustomIcon||(e.iconType=="radio"?e.CustomIcon=L.RadioIcon:e.iconType=="checkbox"&&(e.CustomIcon=L.CheckboxIcon)),e.tone=="normal"?(e.cellStyles=o({padding:["1/4",1],border:"1.thin",isRounded:!0,backgroundColor:"layer.1"},e.cellStyles),e.cellCheckedStyles=o({borderColor:"theme",fontColor:"theme",boxShadow:"1.normal"},e.cellCheckedStyles)):e.tone=="border"?(e.cellStyles=o({paddingRight:1,border:"1.thin",isRounded:!0,backgroundColor:"layer.1"},e.cellStyles),e.cellCheckedStyles=o({borderColor:"theme",fontColor:"theme"},e.cellCheckedStyles)):e.tone=="cloud"&&(e.cellStyles=o({paddingRight:1,isRounded:!0,border:"1.thin",backgroundColor:"layer.2"},e.cellStyles),e.cellCheckedStyles=o({backgroundColor:"cloud",fontColor:"theme"},e.cellCheckedStyles)),e=ne(e),a(de,{componentID:e.componentID,children:L.OptionalListWrapper,states:e})),n=l;return n.Normal=e=>a(l,o({type:t,tone:"normal",icon:!1},e)),n.Border=e=>a(l,o({type:t,tone:"border"},e)),n.Cloud=e=>a(l,o({type:t,tone:"cloud"},e)),n.Vivid=e=>a(l,o({type:t,tone:"normal",icon:!1,cellCheckedStyles:{backgroundColor:"theme",fontColor:"white"}},e)),n.Simple=e=>a(l,o({type:t,tone:"plain",icon:!1,cellCheckedStyles:{fontColor:"theme"}},e)),n},pe=P("checkbox"),Ce=P("radio"),te=P();export{pe as Checkbox,te as List,Ce as Radio,te as default};
|
package/dist/fn/Input/Parts.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{b as
|
|
1
|
+
import{b as e,c as n,d as p}from"../../chunk-C5N2D3ZX.js";import{jsx as i}from"react/jsx-runtime";import{Box as s,Span as u}from"../../atoms";const c=t=>{if(t||(t="border"),t=="plain")return{};let r={flexSizing:"none",flexCenter:!0,padding:[0,1],borderRadius:"2.tone.secondary",backgroundColor:"cloud"};return t=="border"?r=n(e({},r),{border:!0}):t=="cloud"?r=n(e({},r),{border:"1.thin"}):t=="bottomBorder"&&(r=n(e({},r),{borderRadius:0,borderBottom:!0})),r},d={position:"absolute",ssSquare:2,flexCenter:!0,fontColor:"theme",fontSize:"1.mini",backgroundColor:"inherit",top:"50%",freeCSS:{pointerEvents:"none",transform:"translateY(-50%)"}},I=t=>i(u,e({children:"\u5FC5\u9808",fontColor:"white",fontSize:"0.xs",padding:["1/4","1/3"],backgroundColor:"nega",borderRadius:"3.tone.tertiary"},t)),x=t=>i(u,e({children:"*",fontColor:"nega",padding:["1/4","1/3"],borderRadius:"3.tone.tertiary"},t)),b=t=>i(u,e({children:"\u7701\u7565\u53EF",fontColor:"white",fontSize:"0.xs",padding:["1/4","1/3"],borderRadius:"3.tone.tertiary",backgroundColor:"layer.6"},t)),h=t=>{let o=t,{tone:r}=o,a=p(o,["tone"]);return i(s,e(n(e({},c(r)),{borderTopRightRadius:"2/3",borderBottomRightRadius:"2/3"}),a))},m=t=>{let o=t,{tone:r}=o,a=p(o,["tone"]);return i(s,e(n(e({},c(r)),{borderTopLeftRadius:"2/3",borderBottomLeftRadius:"2/3"}),a))},y=t=>{let o=t,{tone:r="border"}=o,a=p(o,["tone"]);return i(s,n(e(n(e({},d),{right:"3/4"}),a),{freeCSS:e(e({},d.freeCSS),a.freeCSS)}))},F=t=>{let o=t,{tone:r="border"}=o,a=p(o,["tone"]);return i(s,n(e(n(e({},d),{left:"3/4"}),a),{freeCSS:e(e({},d.freeCSS),a.freeCSS)}))};export{F as LeftIcon,h as LeftIndicator,b as OmitSign,x as RequiredShortSign,I as RequiredSign,y as RightIcon,m as RightIndicator};
|
|
@@ -5,6 +5,8 @@ import { InputTypes } from '.';
|
|
|
5
5
|
declare namespace Select {
|
|
6
6
|
type Input = InputTypes.CoreInput<Value> & React.DOMAttributes<HTMLInputElement> & {
|
|
7
7
|
label?: ReactElement;
|
|
8
|
+
isLabelActive?: boolean;
|
|
9
|
+
placeholder?: string;
|
|
8
10
|
tone?: InputTypes.BoxTone;
|
|
9
11
|
tabIndex?: number;
|
|
10
12
|
id?: string;
|
package/dist/fn/Input/Select.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{b as
|
|
1
|
+
import{b as s,c as y,d as J}from"../../chunk-C5N2D3ZX.js";import{Fragment as X,jsx as l,jsxs as Q}from"react/jsx-runtime";import{useState as _,useEffect as E}from"react";import i from"@mingoo/jsmin";import{ExtractStyles as ee,useStore as $}from"../../@utils";import{Box as C,Span as te,FAI as le,Column as ae}from"../../atoms";import{Text as k,Row as oe}from"../../mols";import ne from"../Button";import{Sheet as P}from"../Sheet";import{OptionalInputWrapper as re,BoxWrapper as se,CoreEffects as L,DefaultBoxishStyles as ie}from"./core";import{InputAutocompleteClasses as A}from"../../@styles/componentClasses";import{InputLabel as ue}from"./Label";import{RightIcon as ce}from".";function pe(e){let{value:t,states:a}=e,{required:r,options:u}=a,I=[];return r&&t==="null"&&I.push({type:"invalid",label:"\u5FC5\u9808\u9805\u76EE\u3067\u3059"}),{ok:!I.filter(({type:b})=>b=="invalid").length,notice:I}}const N={FilterSelectableOptions:(e,t)=>{let a=e.rootStates.options;return t||(a=a.filter(r=>r.type!="label")),a}},V={Shallow:e=>{let{rootStates:t,val_status:a}=e,r=ee(t);return l(C,{position:"absolute",top:0,left:0,right:0,height:0,overflow:"hidden",opacity:"trans",freeCSS:{zIndex:3,pointerEvents:"none"},children:l(k.Description,y(s({className:t.className},r),{position:"absolute",width:1,freeCSS:y(s({},r.freeCSS),{color:"orange"}),children:l(C,{"data-input-value-shallow":a.componentID,children:"A"})}))})},Button:e=>{let{rootStates:t,val_preventOpenSelectorOnFocus:a,set_preventOpenSelectorOnFocus:r,val_optionFocused:u,set_optionFocused:I,val_validate:b,set_validate:f,val_status:d,set_status:h,val_selectorOpen:S,set_selectorOpen:c}=e,U=t,{tone:O,required:x,form:D,className:T,label:de,isLabelActive:Se,placeholder:fe,enableFormSubmit:Y,emptySelect:me,checkValidationAtFirst:Z,onValidate:ve,onUpdateValue:ye,onUpdateValidValue:Ie,value:be="",options:ge,leftIndicator:he,rightIndicator:De,leftIcon:_e,rightIcon:Ce,componentID:Ve,status_id:Oe,wrapStyles:xe,SelectedCellStyles:Re,SelectorCellStyles:Te,SelectorStyles:Fe,SelectorGravityPoint:we}=U,o=J(U,["tone","required","form","className","label","isLabelActive","placeholder","enableFormSubmit","emptySelect","checkValidationAtFirst","onValidate","onUpdateValue","onUpdateValidValue","value","options","leftIndicator","rightIndicator","leftIcon","rightIcon","componentID","status_id","wrapStyles","SelectedCellStyles","SelectorCellStyles","SelectorStyles","SelectorGravityPoint"]),K="select-sheet-"+t.componentID;return E(()=>{if(t.disabled)return;let n="select-click-"+t.componentID;if(S){let v=i('[data-input-origin="'+t.componentID+'"]');if(!v)return;P.open({sheetID:K,type:"custom",parent:v[0],padding:["1/4",0],gravityPoint:t.SelectorGravityPoint||22,close_option:{aroundClick:!1},content:l(V.Selector,s({},e))}),i(document).addEvent({eventID:n,eventType:"click",callback:B=>{let F=i(B.target),w=!!i(F).parent("."+A("Core")).length;i(F).parent("."+A("Selector")).length||w||c(!1)}})}else i(document).removeEvent([n]),P.close(K)},[S]),E(()=>{if(d.eventType=="init")return;let n=i('[data-input-origin="'+t.componentID+'"]');n&&n.focus()},[d.dataValue]),E(()=>{if(t.disabled||!S)return;let n=$.get("refresh-select-selector-"+t.componentID);n&&n(e)},[t.options,d.dataValue,u]),l(X,{children:l(C,y(s({tabIndex:0},o),{"data-disabled":t.disabled,"data-name":t.name,"data-form":D,"data-show-validation":L.isShowValidation(b,d,!!Z),"data-validation":b.ok,"data-component-id":d.componentID,"data-input-origin":d.componentID,"data-value":d.dataValue,"data-input-type":"select",className:[T,A("Core")].join(" "),onFocus:n=>{if(o!=null&&o.onFocus&&(o==null||o.onFocus(n)),!t.disabled){if(a)return r(!1);c(!0)}},onClick:n=>{o!=null&&o.onClick&&(o==null||o.onClick(n)),!t.disabled&&c(!0)},onKeyDown:n=>{let{key:v,metaKey:B,ctrlKey:F}=n,w=B||F;if(o!=null&&o.onKeyDown&&(o==null||o.onKeyDown(n)),Y&&L.SubmitForm(n),!t.disabled){if(i.scope(()=>{if(!["ArrowDown","ArrowUp"].includes(v))return;if(n.preventDefault(),!S)return c(!0);let g=v=="ArrowDown"?1:-1,p=N.FilterSelectableOptions(e),q=p.length-1,m=null;i.scope(()=>{var G,z,H,M;if(g==1){if(m=((G=p[0])==null?void 0:G.value)||null,u==null)return;if(w){m=p[q].value||m||null;return}let R=p.findIndex(W=>W.value==u);if(R==-1)return;m=((z=p[R+1])==null?void 0:z.value)||m||null}else{if(m=p[q].value||null,u==null)return;if(w){m=((H=p[0])==null?void 0:H.value)||m||null;return}let R=p.findIndex(W=>W.value==u);if(R==-1)return;m=((M=p[R-1])==null?void 0:M.value)||m||null}}),I(m)}),v=="Escape")c(!1);else if(v=="Tab")c(!1);else if(v=="Backspace")h(g=>y(s({},g),{dataValue:"null",eventType:"update",eventID:i.uuid.gen()}));else if(v==" ")n.preventDefault(),c(!0);else if(v=="Enter"){if(!S)return c(!0);if(!u)return;n.preventDefault();let g=t.options.find(p=>p.value==u);if(!g)return;h(p=>y(s({},p),{dataValue:g.value,eventType:"update",eventID:i.uuid.gen()})),c(!1)}}},children:Q(oe.Left,{flexWrap:!0,gap:"1/3",freeCSS:{letterSpacing:".5px"},children:[l(V.Placeholder,s({},e)),l(V.Selected,s({},e)),l(te,{width:0,overflow:"hidden",opacity:"trans",children:"A"})]})}))})},Placeholder:e=>!e.rootStates.placeholder||e.val_status.dataValue!=="null"?null:l(C,{position:"absolute",opacity:"middle",fontColor:"3.blur",children:e.rootStates.placeholder||""}),Selector:e=>{let[t,a]=_(e),{rootStates:r}=t;E(()=>{$.set({["refresh-select-selector-"+r.componentID]:f=>{a(f)}})},[]);let u=[],I=N.FilterSelectableOptions(t,!0),b=N.FilterSelectableOptions(t);return I.forEach((f,d)=>{let{type:h,value:S}=f,c=t.val_optionFocused==S,O=t.val_status.dataValue===S;if(h=="selector"){u.push(l(ne.Button.Sub.S,{color:"cloud",backgroundColor:"trans",borderRadius:0,fontColor:"2.normal",textAlign:"left",padding:["1/2",1.5],isActive:O||c,isActiveStyles:c?{backgroundColor:"cloud"}:{backgroundColor:"theme.opa.few",fontColor:"theme"},onClick:x=>{t.set_status(D=>y(s({},D),{dataValue:S,eventType:"update",eventID:i.uuid.gen()})),t.set_selectorOpen(!1),t.set_preventOpenSelectorOnFocus(!0)},children:l(k.Supplement,{paddingLeft:O?"1/2":0,transition:"short",children:f.label})},String(S)));return}u.push(l(C,{children:f.label},i.uuid.gen()))}),b.length||(u=[l(k.Supplement,{padding:[0,1],fontColor:"4.thin",children:"\u5019\u88DC\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093"},"no-selector-notice")]),l(P.Body,{className:A("Selector"),ssCardBox:!0,borderRadius:"3.tone.tertiary",boxShadow:"1.normal",freeCSS:{minWidth:12*18},children:l(ae,{gap:0,padding:[1,0],children:u})})},Selected:e=>{let t=[];return e.val_status.dataValue!=="null"&&i.scope(()=>{let a=e.rootStates.options.find(r=>r.value==e.val_status.dataValue);a&&t.push(l(C,y(s({},e.rootStates.SelectedCellStyles),{children:a.label}),String(a.value)))}),l(X,{children:t})},Core:e=>{let{onUpdateValue:t,onUpdateValidValue:a,value:r}=e,u={componentID:e.componentID||"",dataValue:r,eventType:"init",eventID:i.uuid.gen()},[I,b]=_(!1),[f,d]=_(u),[h,S]=_(!1),[c,O]=_(e.value||null),[x,D]=_({ok:!1,notice:[]}),T={rootStates:e,val_preventOpenSelectorOnFocus:I,set_preventOpenSelectorOnFocus:b,val_optionFocused:c,set_optionFocused:O,val_selectorOpen:h,set_selectorOpen:S,val_status:f,set_status:d,val_validate:x,set_validate:D};return L.CommonEffects({type:"select",states:e,val_status:f,set_status:d,val_validate:x,set_validate:D,onUpdateValue:t,onUpdateValidValue:a,DefaultValidation:pe,ExtraOverrideStates:{dataValue:r,formatValue:r}}),Q(se,{val_status:f,set_status:d,val_validate:x,states:e,children:[l(ue,{componentID:e.componentID,fontSize:e.fontSize,required:e.required,label:e.label,isActive:e.isLabelActive||f.dataValue!=="null"}),l(V.Shallow,s({},T)),l(V.Button,s({},T))]})}},j=e=>(e=y(s({emptySelect:!0},e),{freeCSS:s({cursor:"pointer"},e.freeCSS)}),e.value=i.JsonTo(e.value||null),e.emptySelect&&(e.options=[{value:null,label:l(k.Supplement,{fontColor:"4.thin",children:"\u9078\u629E\u3092\u89E3\u9664"})},...e.options]),e.options.forEach((t,a)=>{let{type:r,value:u}=t;e.options[a]=y(s({},t),{type:r||"selector",value:i.JsonTo(u)})}),i.is.nullish(e.rightIcon)&&(e.rightIcon=l(ce,{children:l(le.AngleDown,{})})),e.rightIcon&&(e=s({paddingRight:3},e)),e.leftIcon&&(e=s({paddingLeft:3},e)),l(re,{componentID:e.componentID,children:V.Core,states:ie(e)}));export{j as Select,j as default};
|
|
@@ -5,6 +5,7 @@ declare namespace TextField {
|
|
|
5
5
|
type Restrict = 'text' | 'katakana' | 'hankaku.katakana' | 'number' | 'number.zeroStart' | 'digitNumber' | 'tel' | 'email' | 'url' | 'fileName' | 'password' | 'postal' | 'creditCard' | 'concealed';
|
|
6
6
|
type Input<T = HTMLInputElement> = InputTypes.CoreInput & React.DOMAttributes<T> & {
|
|
7
7
|
label?: ReactElement;
|
|
8
|
+
isLabelActive?: boolean;
|
|
8
9
|
placeholder?: string;
|
|
9
10
|
tone?: InputTypes.BoxTone;
|
|
10
11
|
tabIndex?: number;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{b as o,c as s,d as
|
|
1
|
+
import{b as o,c as s,d as J,e as ne}from"../../chunk-C5N2D3ZX.js";import{Fragment as se,jsx as l,jsxs as P}from"react/jsx-runtime";import{useState as A,useEffect as Y}from"react";import g from"@mingoo/jsmin";import{$$fromRoot as Te,useStore as Se,ExtractStyles as Re}from"../../@utils";import{Box as C,FAI as le}from"../../atoms";import{Text as G}from"../../mols";import oe from"../Button";import $ from"../Tooltips";import{faEye as re}from"@fortawesome/free-solid-svg-icons/faEye";import{OptionalInputWrapper as Ce,BoxWrapper as ye,CoreEffects as L,DefaultBoxishStyles as Ve}from"./core";import{InputLabel as we}from"./Label";import{LeftIndicator as ke,RightIndicator as X}from".";const De={number:{reg:/^-?[0-9\.]+$/g,exist:!0,reason:"\u534A\u89D2\u6570\u5B57\u3067\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044"},katakana:{reg:/^[ァ-ヶー ヲ-゚ ]*$/g,exist:!0,reason:"\u30AB\u30BF\u30AB\u30CA\u3067\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044"},"hankaku.katakana":{reg:/^[ヲ-゚ ]*$/g,exist:!0,reason:"\u534A\u89D2\u30AB\u30BF\u30AB\u30CA\u3067\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044"},digitNumber:{reg:/^-?[0-9\.]+$/g,exist:!0,reason:"\u534A\u89D2\u6570\u5B57\u3067\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044"},fileName:{reg:/[¥\/:*\?\"\'\|\.\s\n\r\<\>]/g,exist:!1,reason:"\u7A7A\u767D\u307E\u305F\u306F\u4E00\u90E8\u306E\u7279\u6B8A\u6587\u5B57\u306F\u4F7F\u7528\u3067\u304D\u307E\u305B\u3093"},creditCard:{reg:/^\d{14,16}$/g,exist:!0,reason:"14~16\u6841\u306E\u6570\u5B57\u3067\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044"},email:{reg:/^[A-Za-z0-9]{1}[A-Za-z0-9_.-]*@{1}[A-Za-z0-9_.-]+\.[A-Za-z0-9]+$/,exist:!0,reason:P(se,{children:[l(C,{children:"\u25CB\u25CB\u25CB\u25CB@\u25CB\u25CB\u25CB\u25CB.\u25CB\u25CB\u25CB\u306E\u5F62\u5F0F\u3067\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044"}),l(C,{children:"\u6700\u5F8C\u306E\u6587\u5B57\u306B.(\u30C9\u30C3\u30C8)\u3092\u5165\u308C\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093"})]})},password:{reg:/^(?=[^A-Z]*[A-Z])(?=[^a-z]*[a-z])(?=[^0-9]*[0-9]).{8,}$/,exist:!0,reason:"8\u6587\u5B57\u4EE5\u4E0A\u3001\u534A\u89D2\u82F1\u6570\u5927\u5C0F\u6587\u5B57\u3067\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044"},tel:{reg:/.*$/g,exist:!0,reason:P(se,{children:[l(C,{children:"0\u304B\u3089\u59CB\u307E\u308B\u756A\u53F7\u306E\u307F\u5165\u529B\u53EF\u80FD\u3067\u3059"}),l(C,{children:"9~12\u6841\u306E\u6570\u5B57\u3067\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044"}),l(C,{children:"\u6570\u5B57\u306E\u307F\u5165\u529B\u53EF\u80FD\u3067\u3059"})]})},url:{reg:/^https?:\/\/[^\n\s]+(\.|\:)[^\n\s\.\:]+$/,exist:!0,reason:"URL\u5F62\u5F0F : http(s)://\u25EF\u25EF\u25EF\u25EF"},postal:{reg:/^\d{7}$/g,exist:!0,reason:"7\u6841\u306E\u6570\u5B57\u3067\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044"}},y={setSelection:e=>{let{id:a,restrict:r,val_status:t}=e,n=Te("#"+a)[0];if(n&&t.prevValue&&t.formatValue){let{formatValue:u,prevValue:c,caretFrom:i,caretTo:d}=t;if(r=="creditCard")u.length>=c.length&&i%5==0&&(i++,d++),n.setSelectionRange(i,d);else if(r=="postal")u.length==5&&c.length==3&&(i++,d++),n.setSelectionRange(i,d);else if(r=="digitNumber"){let h=u.length-c.length;h==2&&(i++,d++),h==-2&&(i--,d--),n.setSelectionRange(i,d)}}},Validation:{Default:e=>{let{value:a,states:r}=e,{restrict:t="text",maxLength:n,multiline:u,required:c}=r,i=[];if(u||(n=n||255),g.is.exist(n)&&a.length>=Number(n)&&i.push({type:"invalid",label:n+"\u5B57\u4EE5\u5185\u3067\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044"}),a){let d=y.Validation.Text(a,t);d.ok||i.push({type:"invalid",label:d.body})}else c&&i.push({type:"invalid",label:"\u5FC5\u9808\u9805\u76EE\u3067\u3059"});return{ok:!i.filter(({type:d})=>d=="invalid").length,notice:i}},Text:(e,a)=>{let r={ok:!0,body:""};return(()=>{let t=De[a];if(!t)return;let n=t.reason;if(t){let u=!!(+!!e.match(t.reg)^+!t.exist);r={ok:u,body:u?"":n}}})(),r},DataLeveling:e=>{let{restrict:a,value:r=""}=e,t=String(r),n=!1;if(["tel","number","digitNumber","test","postal","creditCard"].includes(a)&&(t=t.zen2hanNumber()),a=="katakana"&&(t=t.replace(/[^ァ-ヶー ヲ-゚ ]/ig,"")),a=="hankaku.katakana"&&(t=t.replace(/[^ヲ-゚ ]/ig,"")),["postal","creditCard"].includes(a)&&(t=t.removeLetters()),["number","number.zeroStart","digitNumber"].includes(a)){let c=t[0]=="0";if(t){if(t!="-")if(t=="0-")t="-";else{t[0]=="-"&&(n=!0),t=t.replace(/[^0-9\.]/ig,"");let i=Number(t);i===0&&(n=!1),n&&(i=-1*i),g.is.exist(e.min)&&(i=Math.max(i,Number(e.min))),g.is.exist(e.max)&&(i=Math.min(i,Number(e.max))),t=String(Math.abs(i))}c&&t!="0"&&a=="number.zeroStart"&&(t="0"+t)}}let u=t;if(a=="digitNumber"){if(t&&t!="-"){let c=[];for(let i=t.length-1;i>=0;i--){c.unshift(t[i]);let d=t.length-1-i+1;i!=0&&d%3==0&&c.unshift(",")}u=c.join("")}}else a=="postal"?t.length>=4&&(u=t.clip(0,3)+"-"+t.clip(3)):a=="creditCard"&&(u=t.replace(/.{4}(?=.)/g,"$& "));return["number","digitNumber"].includes(a)&&n&&(t="-"+t,u="-"+u),{formatValue:u,dataValue:t}}}},j={Shallow:e=>{let{rootStates:a,val_status:r}=e,t=r.dataValue||"";Y(()=>{g.scope(()=>ne(void 0,null,function*(){if(!a.multiline)return;let h=g('[data-input-origin="'+r.componentID+'"]'),V=g('[data-input-shallow="'+r.componentID+'"]'),_=g('[data-input-min-height-value-shallow="'+r.componentID+'"]'),N=g('[data-input-max-height-value-shallow="'+r.componentID+'"]');if(!h[0]||!V[0]||!_[0]||!N[0])return;let m=V.position(),w=_.position(),k=N.position(),I=0;a.autoHeight&&(I=m.height),I=Math.max(I,w.height),I=Math.min(I,k.height),h[0].style.height=I+"px"}))},[t]);let n=t||"";(!!t.match(/\n$/)||!t)&&(n+="T");let c="",i="";if(a.multiline){let h=a.minRows||1,V=a.maxRows||100;c=`
|
|
2
2
|
T`.repeat(h-1),i=`
|
|
3
|
-
T`.repeat(V-1)}let d=
|
|
3
|
+
T`.repeat(V-1)}let d=Re(a);return P(C,{position:"absolute",top:0,left:0,right:0,height:0,overflow:"hidden",opacity:"trans",freeCSS:{zIndex:3,pointerEvents:"none"},children:[l(G.Description,s(o({className:a.className},d),{position:"absolute",width:1,freeCSS:s(o({},d.freeCSS),{color:"orange"}),"data-input-shallow":r.componentID,children:l(C,{"data-input-value-shallow":r.componentID,children:n})})),l(G.Description,s(o({className:a.className},d),{position:"absolute",left:0,freeCSS:s(o({},d.freeCSS),{backgroundColor:"transparent",color:"blue"}),"data-input-min-height-value-shallow":r.componentID,children:c})),l(G.Description,s(o({className:a.className},d),{position:"absolute",right:0,freeCSS:s(o({},d.freeCSS),{backgroundColor:"transparent",color:"red"}),"data-input-max-height-value-shallow":r.componentID,children:i}))]})},InputBox:e=>{let{rootStates:a,val_validate:r,set_validate:t,val_status:n,set_status:u,val_focus:c,set_focus:i,val_isComposing:d,set_isComposing:h}=e;if(a.multiline)return null;let ae=a,{componentID:V,tone:_,required:N,restrict:m="text",form:w,autoComplete:k="off",autoCapitalize:I="off",minRows:B,maxRows:ue,multiline:Q,autoHeight:de,enableFormSubmit:U,clearButton:K=!1,checkValidationAtFirst:M,onChange:O,onKeyDown:W,onValidate:me,onUpdateValue:pe,onUpdateValidValue:ce,value:fe="",leftIndicator:ge,rightIndicator:xe,leftIcon:he,rightIcon:b,maxLength:be,min:E,max:v,label:ee,isLabelActive:te,wrapStyles:Fe}=ae,p=J(ae,["componentID","tone","required","restrict","form","autoComplete","autoCapitalize","minRows","maxRows","multiline","autoHeight","enableFormSubmit","clearButton","checkValidationAtFirst","onChange","onKeyDown","onValidate","onUpdateValue","onUpdateValidValue","value","leftIndicator","rightIndicator","leftIcon","rightIcon","maxLength","min","max","label","isLabelActive","wrapStyles"]),ve=m=="password"||m=="concealed"?"password":"text",Ie=["number","digitNumber","creditCard"].includes(m)?"numeric":m=="email"?"email":"text";return l(C,s(o({htmlTag:"input",type:ve,inputMode:Ie,"data-disabled":a.disabled,"data-form":w,"data-input-type":"text","data-show-validation":L.isShowValidation(r,n,!!M),"data-validation":r.ok,"data-value":n.dataValue,"data-component-id":n.componentID,"data-input-origin":n.componentID,value:n.formatValue,autoComplete:k,autoCapitalize:I,onKeyDown:f=>{let{key:T,target:D}=f;{let R=D,{selectionStart:F,selectionEnd:H}=R,z=Number(F),ie=Number(H),Z=n.formatValue[Number(z)],q=n.formatValue[Number(z)-1];T=="Delete"&&(m=="creditCard"&&Z==" "||m=="postal"&&Z=="-"||m=="digitNumber"&&Z==",")&&(R.setSelectionRange(z+1,ie+1),f.preventDefault()),T=="Backspace"&&(m=="creditCard"&&q==" "||m=="postal"&&q=="-"||m=="digitNumber"&&q==",")&&(R.setSelectionRange(z-1,ie-1),f.preventDefault()),T=="Enter"||T=="Tab"}if(["number","digitNumber","creditCard"].includes(m)&&T=="Clear"&&u(R=>s(o({},R),{dataValue:"",formatValue:"",eventType:"update",eventID:g.uuid.gen()})),["number","digitNumber"].includes(m)&&["ArrowUp","ArrowDown"].includes(T)){let R=+(T=="ArrowUp")*2-1,F=String(Number(n.dataValue)+R);r.ok&&t({ok:!1,notice:[]}),u(H=>s(o(o({},H),y.Validation.DataLeveling({min:E,max:v,restrict:m,value:F})),{eventType:"update",eventID:g.uuid.gen()})),f.preventDefault()}W&&W(f),U&&L.SubmitForm(f)},onChange:f=>{let{value:T,selectionStart:D,selectionEnd:R}=f.target,F=y.Validation.DataLeveling({min:E,max:v,restrict:m,value:T});d&&(F.formatValue=T),F.formatValue!=n.formatValue&&(r.ok&&t({ok:!1,notice:[]}),u(H=>s(o(o({},H),F),{prevValue:n.formatValue,eventType:"update",eventID:g.uuid.gen(),caretFrom:Number(D),caretTo:Number(R)})),O&&O(f))},width:1},p),{onFocus:f=>{p!=null&&p.onFocus&&(p==null||p.onFocus(f)),i(!0)},onBlur:f=>{p!=null&&p.onBlur&&(p==null||p.onBlur(f)),i(!1)},onCompositionStart:f=>{p!=null&&p.onCompositionStart&&(p==null||p.onCompositionStart(f)),h(!0)},onCompositionEnd:f=>{if(p!=null&&p.onCompositionEnd&&(p==null||p.onCompositionEnd(f)),m=="text")return;let T=y.Validation.DataLeveling({min:E,max:v,restrict:m,value:n.formatValue});u(D=>s(o(o({},D),T),{prevValue:D.formatValue,eventType:"update",eventID:g.uuid.gen(),caretFrom:Number(D.formatValue.length+1),caretTo:Number(D.formatValue.length+1)})),h(!1)}}))},TextAreaBox:e=>{let{rootStates:a,val_focus:r,set_focus:t,val_validate:n,set_validate:u,val_status:c,set_status:i,isShallow:d}=e,E=a,{componentID:h,tone:V,required:_,form:N,label:m,isLabelActive:w,minRows:k,maxRows:I,multiline:B,autoHeight:ue,enableFormSubmit:Q,maxLength:de,checkValidationAtFirst:U,onChange:K,onKeyDown:M,onValidate:O,onUpdateValue:W,onUpdateValidValue:me,value:pe="",leftIndicator:ce,rightIndicator:fe,leftIcon:ge,rightIcon:xe,wrapStyles:he}=E,b=J(E,["componentID","tone","required","form","label","isLabelActive","minRows","maxRows","multiline","autoHeight","enableFormSubmit","maxLength","checkValidationAtFirst","onChange","onKeyDown","onValidate","onUpdateValue","onUpdateValidValue","value","leftIndicator","rightIndicator","leftIcon","rightIcon","wrapStyles"]);return!a.multiline?null:l(C,s(o({htmlTag:"textarea","data-form":N,"data-input-type":"textarea","data-show-validation":L.isShowValidation(n,c,!!U),"data-validation":n.ok,"data-value":c.dataValue,"data-input-origin":c.componentID,"data-component-id":c.componentID,value:c.dataValue,width:1},b),{onFocus:v=>{b!=null&&b.onFocus&&(b==null||b.onFocus(v)),t(!0)},onBlur:v=>{b!=null&&b.onBlur&&(b==null||b.onBlur(v)),t(!1)},onKeyDown:v=>{M&&M(v),Q&&L.SubmitForm(v)},onChange:v=>{let{value:ee}=v.target;n.ok&&u({ok:!1,notice:[]}),i(te=>s(o({},te),{dataValue:ee,eventType:"update",eventID:g.uuid.gen()})),K&&K(v)}}))}},Ne=e=>{let{componentID:a,restrict:r="text",onUpdateValue:t,onUpdateValidValue:n,value:u="",min:c,max:i}=e,d=s(o({componentID:a},y.Validation.DataLeveling({min:c,max:i,restrict:r,value:u})),{prevValue:"",eventType:"init",eventID:g.uuid.gen(),caretFrom:null,caretTo:null}),[h,V]=A(!1),[_,N]=A(!1),[m,w]=A(d),[k,I]=A({ok:!1,notice:[]}),B={rootStates:e,val_focus:h,set_focus:V,val_isComposing:_,set_isComposing:N,val_status:m,set_status:w,val_validate:k,set_validate:I};return L.CommonEffects({type:"textfield",states:e,val_status:m,set_status:w,val_validate:k,set_validate:I,onUpdateValue:t,onUpdateValidValue:n,DefaultValidation:y.Validation.Default,ExtraOverrideStates:o({},y.Validation.DataLeveling({min:c,max:i,restrict:r,value:u}))}),Y(()=>{y.setSelection({id:e.id,restrict:r,val_status:m})},[m]),P(ye,{val_status:m,set_status:w,val_validate:k,states:B.rootStates,children:[l(we,{componentID:e.componentID,fontSize:e.fontSize,required:e.required,label:e.label,isActive:e.isLabelActive||h||!!m.dataValue}),l(j.Shallow,o({},B)),l(j.InputBox,o({},B)),l(j.TextAreaBox,o({},B))]})},S=e=>(e=o({autoHeight:!0,restrict:"text",fontSize:"2.normal"},e),e.rightIcon&&(e=o({paddingRight:3},e)),e.leftIcon&&(e=o({paddingLeft:3},e)),e.multiline?(e.minRows=e.minRows||5,e.maxRows=e.maxRows||20):(e.minRows=1,e.maxRows=1),l(Ce,{componentID:e.componentID,children:Ne,states:Ve(e)})),x=S;x.Validate=y.Validation.Text,x.Katakana=e=>l(S,s(o({},e),{restrict:"katakana",multiline:!1,autoHeight:!1})),x.HankakuKatakana=e=>l(S,s(o({},e),{restrict:"hankaku.katakana",multiline:!1,autoHeight:!1})),x.CreditCard=e=>l(S,s(o({},e),{restrict:"creditCard",multiline:!1,autoHeight:!1})),x.Tel=e=>l(S,s(o({},e),{restrict:"tel",multiline:!1,autoHeight:!1})),x.Number=e=>l(S,s(o({},e),{restrict:"number",multiline:!1,autoHeight:!1})),x.DigitNumber=e=>l(S,s(o({},e),{restrict:"digitNumber",multiline:!1,autoHeight:!1})),x.Email=e=>l(S,s(o({},e),{restrict:"email",multiline:!1,autoHeight:!1})),x.Url=e=>l(S,s(o({},e),{restrict:"url",multiline:!1,autoHeight:!1})),x.Postal=e=>{let[a]=A(g.uuid.gen());return Y(()=>()=>{Se.delete(a)},[]),l(S,s(o({label:"\u90F5\u4FBF\u756A\u53F7"},e),{restrict:"postal",multiline:!1,autoHeight:!1,leftIndicator:l(ke,{children:"\u3012"})}))},x.Password=e=>l(S,s(o({label:"\u30D1\u30B9\u30EF\u30FC\u30C9",rightIndicator:l(X,{padding:0,children:l(oe.Button.Normal.R,{padding:[0,1],fontColor:"theme",borderRadius:"inherit",backgroundColor:"inherit",flexCenter:!0,height:1,ssEffectsOnActive:["expand"],onMouseOver:a=>{$.open({parent:a.currentTarget,gravityPoint:24,padding:[1,0],content:l($.Body,{children:"\u30D1\u30B9\u30EF\u30FC\u30C9\u3092\u8868\u793A"})})},tabIndex:-1,onClick:a=>{g(a.target).parent().parent().find("input").callback(r=>{let t=r[0];t.type=t.type==="password"?"text":"password"})},children:l(le,{icon:re})})})},e),{restrict:"password",multiline:!1,autoHeight:!1})),x.Concealed=e=>l(S,s(o({label:"\u79D8\u5BC6\u9375",rightIndicator:l(X,{padding:0,children:l(oe.Button.Normal.R,{padding:[0,1],fontColor:"theme",borderRadius:"inherit",backgroundColor:"inherit",flexCenter:!0,height:1,ssEffectsOnActive:["expand"],onMouseOver:a=>{$.open({parent:a.currentTarget,gravityPoint:24,padding:[1,0],content:l($.Body,{children:"\u5024\u3092\u8868\u793A"})})},tabIndex:-1,onClick:a=>{g(a.target).parent().parent().parent().find("input").callback(r=>{let t=r[0];t.type=t.type==="password"?"text":"password"})},children:l(le,{icon:re})})})},e),{restrict:"concealed",multiline:!1,autoHeight:!1})),x.Money={JPY:e=>l(x.DigitNumber,s(o({rightIndicator:l(X,{children:"\u5186"})},e),{multiline:!1,autoHeight:!1}))};export{x as TextField,Ne as TextInput,x as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as ee,b as l,c as E,d as Y}from"../../../chunk-C5N2D3ZX.js";import{Fragment as Ve,jsx as g,jsxs as ne}from"react/jsx-runtime";import{useState as A,useEffect as q,useRef as me}from"react";import k from"@mingoo/jsmin";import{$$fromRoot as ue,Config as te,useStore as P,ExtractStyles as ce,GenerateHTMLProps as pe}from"../../../@utils";import{Box as K,FAI as de}from"../../../atoms";import{Text as fe}from"../../../mols";import ae from"../../Button";import re from"../../Tooltips";import{faClock as he}from"@fortawesome/free-solid-svg-icons/faClock";import{faCalendarAlt as ge}from"@fortawesome/free-solid-svg-icons/faCalendarAlt";import{OptionalInputWrapper as ye,BoxWrapper as ve,CoreEffects as X,DefaultStyles as De}from"../core";import{RightIcon as Ie}from"..";import Te from"../Hidden";import Se from"../Select";import{InputLabel as xe}from"../Label";import be from"./Picker";const C=" ~ ",ke={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+C.length,length:4},{type:"month",from:15+C.length,length:2},{type:"date",from:18+C.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+C.length,length:4},{type:"month",from:13+C.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}},F={PeriodMargin:" ~ ",DataLeveling:e=>{let{restrict:n,value:y,era:t}=e,I=k.flatArray(y||""),{defaultValue:f,format:v,ranges:p,sets:a}=ke[n],m=[],o=n=="clock"?":":"/";for(let i=0;i<I.length;i++)I[i]=String(I[i]).replace(/\D/ig,o);for(let i=0;i<a;i++){let d=I[i]||"";if(!d.match(v))I[i]="",m.push(f);else{let b=f;d.split(/\D/).forEach((w,V)=>{if(V==0&&n=="dateWareki"){let T=Number(w);t!="year"&&(T>=2019?t=="reiwa"?T-=2018:t=="heisei"&&(T=31):T>=1989?t=="heisei"?T-=1988:t=="shouwa"&&(T=64):T>=1926?t=="shouwa"?T-=1925:t=="taisho"&&(T=15):T>=1912?t=="taisho"?T-=1911:t=="meiji"&&(T=45):T>=1868&&(T-=1867)),w=T.zeroEmbed(4)}b=b.replace(new RegExp("------------------".slice(0,w.length)),w)}),m.push(b)}}return{formatValue:m.join(C),dataValue:["dates","months"].includes(n)?I:I[0],ranges:p}},DefaultValidation:e=>{let{states:n}=e,{restrict:y,min:t,max:I,required:f}=n,v=[],p=k.flatArray(e.value),a={empty:!1,escalated:1,filled:!0,correct:!0,prohibited:!1};(()=>{let m=y=="clock"?":":"/";for(let o=0;o<p.length;o++)p[o]=String(p[o]).replace(/\D/ig,m);for(let o=0;o<p.length;o++){let i=p[o],d=p[o-1];i.removeLetters()||(a.empty=!0),o>0&&(a.escalated&=+(i>=d))}a.escalated&&(a.empty||(y.match(/clock/)?p.forEach(o=>{let[i,d]=o.split(/\D+/);!i||!d?a.filled=!1:(Number(i)>23||Number(d)>59)&&(a.correct=!1)}):y.match(/date/)?p.forEach(o=>{let[i,d,b]=o.split(/\D+/);if(!i||!d||!b)a.filled=!1;else{let w=k.Time(o);(!w.validate||o!=w.toFormatYMD())&&(a.correct=!1)}}):y.match(/week/)?p.forEach(o=>{let[i,d]=o.split(/\D+/);if(!i||!d)a.filled=!1;else{let b=k.Time(i+"/01/01").weekday,V=k.Time(i+"/01/0"+(7-b+1)).addWeek(Number(d)-1);i!=String(V.year)&&(a.correct=!1)}}):y.match(/month/)?p.forEach(o=>{let[i,d]=o.split(/\D+/);!i||!d?a.filled=!1:k.Time([i,d,"01"].join("/")).validate||(a.correct=!1)}):y.match(/year/),a.filled&&a.correct&&p.forEach(o=>{{let i=Number(String(o).replace(/\D/ig,""));if(t&&Number(String(t).replace(/\D/ig,""))>i&&(a.prohibited=!0),I){let d=Number(String(I).replace(/\D/ig,""));i>d&&(a.prohibited=!0)}}})))})();{let{empty:m,escalated:o,filled:i,correct:d,prohibited:b}=a;m&&f&&(v=[{type:"invalid",label:"\u5FC5\u9808\u9805\u76EE\u3067\u3059"}]),o||v.push({type:"invalid",label:"\u6642\u7CFB\u5217\u3092\u6B63\u3057\u304F\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044"}),d||v.push({type:"invalid",label:"\u7121\u52B9\u306A\u5024\u304C\u5165\u529B\u3055\u308C\u3066\u3044\u307E\u3059"}),i||v.push({type:"invalid",label:"\u6700\u5F8C\u307E\u3067\u5024\u3092\u57CB\u3081\u3066\u304F\u3060\u3055\u3044"}),b&&v.push({type:"invalid",label:ne(Ve,{children:[g(K,{children:"\u5165\u529B\u7BC4\u56F2\u304C\u5236\u9650\u3055\u308C\u3066\u3044\u307E\u3059"}),"[",t||"\u4E0B\u9650\u7121\u3057","] ~ [",I||"\u4E0A\u9650\u7121\u3057","]"]})})}return{ok:!v.filter(({type:m})=>m=="invalid").length,notice:v}},KeyDownEvent:e=>{let{val_era:n,restrict:y,event:t,val_status:I,set_status:f,val_focus:v,set_focus:p}=e,{key:a,shiftKey:m,ctrlKey:o,metaKey:i}=t,d=o||i,{selectionStart:b,selectionEnd:w}=t.target,{index:V,prevIndex:T}=v,{ranges:L,formatValue:H}=I,N=L.length-1;if(["Tab","ArrowLeft","ArrowRight"].includes(a)){let D=0;if(a=="Tab"){let s=+!m*2-1;if(D=v.index+s,D<0||D>N)return}else{let s=a=="ArrowLeft"?-1:a=="ArrowRight"?1:0;d||b==0&&w==String(I.formatValue).length?D=s==1?N:0:D=Math.max(0,Math.min(V+s,N))}p(s=>E(l({},s),{index:D,prevIndex:V})),t.preventDefault()}if(["Backspace","ArrowUp","ArrowDown","0","1","2","3","4","5","6","7","8","9"].includes(a)){t.preventDefault();let D=V;D=Math.max(D,0),D=Math.min(D,N);let{type:s,from:U,length:z}=L[D],M=H.slice(U,U+z),c;if(a=="Backspace")c="------".slice(0,z);else if(["ArrowUp","ArrowDown"].includes(a)){let R=a=="ArrowUp"?1:-1;M=M|0,c=M+R;let[r,u,S]=s=="dateWareki"?n=="year"?[0,2999,4]:n=="reiwa"?[1,2999,4]:n=="heisei"?[1,31,4]:n=="shouwa"?[1,64,4]:n=="taisho"?[1,15,4]:n=="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];c>u?c=r:c<r&&(c=u),c=Number(c).zeroEmbed(S)}else if(["0","1","2","3","4","5","6","7","8","9"].includes(a)){let R=M|0,r=a,u=`${R}${r}`;if(T!=V&&(R=0,u="0"+r),s=="year"||s=="dateWareki"&&n=="year")Number(u)>1e4?c=r:c=u,(c|0)>1e3&&D++;else if(["hour","minute","date","week","month"].includes(s)||s=="dateWareki"&&n!="year"){let S=s=="dateWareki"?n=="reiwa"?100:n=="heisei"?31:n=="shouwa"?64:n=="taisho"?15:n=="meiji"?45:0:s=="minute"?59:s=="hour"?23:s=="date"?31:s=="week"?53:s=="month"?12:0;c=(u|0)>S?r:u,(Number(r)>Number(String(S)[0])||M=="0000".slice(0,String(S).length)&&(u!="0000".slice(0,String(S).length)||["minute","hour"].includes(s)&&T==V)||(u|0)>=ee(10,String(S).length-1))&&D++}s=="year"||s=="dateWareki"?c=(c|0).zeroEmbed(4):c=(c|0).zeroEmbed(2)}{let R=String(H).partReplace(U,String(c)),r=R.split(C).map(u=>u.replace(/(^\D|\D$)/,"").split(/\D+/).join(y=="clock"?":":"/").replace(/(^\D|\D$)/,""));if(y=="dateWareki"){let u=r[0].split(/\D/),[S,j,O]=u;u.length==3&&S&&(r=[[Number(S)-1+Number({year:1,reiwa:2019,heisei:1989,shouwa:1926,taisho:1912,meiji:1868}[n]),j,O].join("/")])}D=Math.max(D,0),D=Math.min(D,N),f(u=>E(l({},u),{dataValue:["dates","months"].includes(y)?r:r[0],formatValue:R,eventType:"update",eventID:k.uuid.gen()})),p(u=>E(l({},u),{index:D,prevIndex:u.index}))}}}},ie={picker:{launch:e=>{let n=e.tipsID||k.uuid.gen(),m=e,{onValueUpdate:y,min:t,max:I,era:f,restrict:v,defaultValue:p}=m,a=Y(m,["onValueUpdate","min","max","era","restrict","defaultValue"]);re.open(E(l({gravityPoint:e.gravityPoint||24,tipsID:n,padding:0},a),{parent:a.parent,close_option:l({aroundClick:!0,parentBlur:!1},a.close_option),content:g(be,{restrict:v,min:t,max:I,era:f,defaultValue:p,tipsID:n,onValueUpdate:(o,i)=>{y(o,i)}})}))},remove:e=>{re.close(e)}}},Ee={Shallow:e=>{let{rootStates:n,val_status:y}=e,t=ce(n);return g(K,{position:"absolute",top:0,left:0,right:0,height:0,overflow:"hidden",opacity:"trans",freeCSS:{zIndex:3,pointerEvents:"none"},children:g(fe.Description,E(l({className:n.className},t),{position:"absolute",width:1,freeCSS:E(l({},t.freeCSS),{color:"orange"}),children:g(K,{"data-input-value-shallow":y.componentID,children:"A"})}))})}},we=e=>{let Q=e,{tone:n,required:y,restrict:t="clock",componentID:I,era:f,form:v,name:p,min:a,max:m,className:o,enableFormSubmit:i,checkValidationAtFirst:d,onKeyDown:b,onValidate:w,onUpdateValue:V,onUpdateValidValue:T,value:L="",leftIndicator:H,rightIndicator:N,leftIcon:D,rightIcon:s,freeCSS:U,wrapStyles:z}=Q,M=Y(Q,["tone","required","restrict","componentID","era","form","name","min","max","className","enableFormSubmit","checkValidationAtFirst","onKeyDown","onValidate","onUpdateValue","onUpdateValidValue","value","leftIndicator","rightIndicator","leftIcon","rightIcon","freeCSS","wrapStyles"]),[c,R]=A(f),[r,u]=A(E(l({componentID:e.componentID||""},F.DataLeveling({restrict:t,value:L,era:c})),{eventType:"init",eventID:k.uuid.gen()})),[S,j]=A({ok:!1,notice:[]}),[O,B]=A({active:!1,index:0,prevIndex:-1}),oe={rootStates:e,val_status:r,set_status:u,val_validate:S,set_validate:j,val_era:c,set_era:R,val_focus:O,set_focus:B};X.CommonEffects({type:"time",states:e,val_status:r,set_status:u,val_validate:S,set_validate:j,onUpdateValue:V,onUpdateValidValue:T,DefaultValidation:F.DefaultValidation,ExtraOverrideStates:l({},F.DataLeveling({restrict:t,value:L,era:c}))});const G=me(!1);return q(()=>{if(G.current){u(x=>l(l({},x),F.DataLeveling({restrict:t,value:x.dataValue,era:c})));let h=P.get("refreshEra_"+r.componentID);h&&h.refreshEra(c)}else G.current=!0},[c]),P.update({[r.componentID]:{openPicker:()=>{e.disabled||ie.picker.launch({parent:"#Picker-"+r.componentID,tipsID:"PickerTips-"+r.componentID,restrict:t,min:a,max:m,defaultValue:r.dataValue,era:c,onValueUpdate:(h,x)=>{u(W=>E(l(l({},W),F.DataLeveling({restrict:t,value:h,era:x})),{eventType:"update",eventID:k.uuid.gen()})),R(x)}})},resetEra:h=>{R(h),u(x=>E(l(l({},x),F.DataLeveling({restrict:t,value:"",era:c})),{eventType:"update",eventID:k.uuid.gen()}))}}}),q(()=>{let{index:h,active:x}=O;if(x){h=Math.max(h,0),h=Math.min(h,r.ranges.length-1);let{from:W,length:$}=r.ranges[h],J=ue("#"+e.id)[0];J&&J.setSelectionRange(W,W+$)}},[O]),ne(ve,{val_status:r,set_status:u,val_validate:S,states:e,children:[g(Ee.Shallow,l({},oe)),g(xe,{componentID:e.componentID,fontSize:e.fontSize,required:e.required,label:e.label,isActive:!0}),g(Te,{name:p,"data-disabled":e.disabled,"data-input-type":"time","data-form":v,"data-validation":S.ok,componentID:r.componentID,"data-value":JSON.stringify(["dates","months"].includes(t)?!r.dataValue[0]||!r.dataValue[1]?null:r.dataValue:r.dataValue||null)}),te.get().isTouchDevice?g(ae.Button.Plain,{"data-show-validation":X.isShowValidation(S,r,!!d),"data-component-id":r.componentID,className:o,freeCSS:{textAlign:"left"},children:r.formatValue,onClick:h=>{let x=P.get(r.componentID);x&&x.openPicker(),h.stopPropagation()}}):g(K,l({htmlTag:"input",type:"text",inputMode:"numeric","data-show-validation":X.isShowValidation(S,r,!!d),"data-input-origin":r.componentID,"data-disabled":e.disabled,"data-input-type":"time","data-form-name":v,value:r.formatValue,className:o,tabIndex:te.get().isTouchDevice?-1:0,onKeyDown:h=>{F.KeyDownEvent({restrict:t,event:h,val_era:c,val_status:r,set_status:u,val_focus:O,set_focus:B}),b&&b(h),i&&X.SubmitForm(h)},onKeyUp:h=>{h.key=="Tab"&&B(x=>E(l({},x),{active:!0}))},onClick:h=>{let x=h.target.selectionEnd,W=0;r.ranges.forEach(($,J)=>{let{from:Z,length:le,region:se}=$;Z<=x&&x<=Z+(se||le)&&(W=J)}),B($=>E(l({},$),{active:!0,index:W})),h.preventDefault()},onChange:()=>{}},M))]})},_={Origin:e=>{e=l({},e),e.rightIcon&&(e=l({paddingRight:3},e)),e.leftIcon&&(e=l({paddingLeft:3},e));let[n]=A(e.componentID||k.uuid.gen());if(e.componentID=n,k.is.nullish(e.rightIcon)){let y=(e.restrict||"").match(/clock/)?he:ge;e.rightIcon=g(Ie,{padding:0,freeCSS:{pointerEvents:"all"},children:g(ae.Button.Sub.R,{color:"cloud",border:"unset",ssSphere:2,fontColor:"theme",boxShadow:"0.normal",borderRadius:"3.tone.tertiary",flexCenter:!0,ssEffectsOnActive:"push",tabIndex:-1,id:"Picker-"+e.componentID,onClick:()=>{let t=P.get(e.componentID);t&&t.openPicker()},children:g(de,{icon:y})})})}return g(ye,{componentID:e.componentID,children:we,states:pe(De.Boxish(e))})},Clock:e=>g(_.Origin,l({restrict:"clock",era:"clock"},e)),Date:e=>g(_.Origin,l({restrict:"date"},e)),Week:e=>g(_.Origin,l({restrict:"week"},e)),Month:e=>g(_.Origin,l({restrict:"month"},e)),Year:e=>g(_.Origin,l({restrict:"year"},e)),DateWareki:e=>{e=l({},e);let[n]=A(e.componentID||k.uuid.gen());e.componentID=n;let{defaultEra:y="wareki"}=e,[t,I]=A((()=>{let f="year";if(y=="wareki"&&(f="reiwa",e.value)){let[v,p,a]=e.value.split(/\D/);if(v&&p&&a){let m=Number(v);m>=2019?(m-=2019,f="reiwa"):m>=1989?(m-=1989,f="heisei"):m>=1926?(m-=1926,f="shouwa"):m>=1912?(m-=1912,f="taisho"):m>=1868&&(m-=1868,f="meiji"),m+=1}}return f})());return q(()=>{P.set({["refreshEra_"+n]:{refreshEra:f=>{I(f)}}})},[]),g(_.Origin,E(l({restrict:"dateWareki",leftIndicator:g(Se,{label:"\u5143\u53F7",emptySelect:!1,value:t,tone:e.tone,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:({value:f,eventType:v})=>{I(f);let p=P.get(e.componentID);p&&p.resetEra&&p.resetEra(f)}})},e),{era:t}))},Periods:{Date:e=>g(_.Origin,l({restrict:"dates"},e)),Month:e=>g(_.Origin,l({restrict:"months"},e))},fn:ie};export{_ as Time,_ as default};
|
|
1
|
+
import{a as ee,b as l,c as E,d as Y}from"../../../chunk-C5N2D3ZX.js";import{Fragment as we,jsx as g,jsxs as ne}from"react/jsx-runtime";import{useState as A,useEffect as q,useRef as me}from"react";import k from"@mingoo/jsmin";import{$$fromRoot as ue,Config as te,useStore as O,ExtractStyles as ce}from"../../../@utils";import{Box as K,FAI as pe}from"../../../atoms";import{Text as de}from"../../../mols";import ae from"../../Button";import re from"../../Tooltips";import{faClock as fe}from"@fortawesome/free-solid-svg-icons/faClock";import{faCalendarAlt as he}from"@fortawesome/free-solid-svg-icons/faCalendarAlt";import{OptionalInputWrapper as ge,BoxWrapper as ye,CoreEffects as X,DefaultBoxishStyles as ve}from"../core";import{RightIcon as De}from"..";import Ie from"../Hidden";import Te from"../Select";import{InputLabel as Se}from"../Label";import xe from"./Picker";const C=" ~ ",be={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+C.length,length:4},{type:"month",from:15+C.length,length:2},{type:"date",from:18+C.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+C.length,length:4},{type:"month",from:13+C.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}},F={PeriodMargin:" ~ ",DataLeveling:e=>{let{restrict:n,value:y,era:t}=e,I=k.flatArray(y||""),{defaultValue:f,format:v,ranges:p,sets:a}=be[n],m=[],o=n=="clock"?":":"/";for(let i=0;i<I.length;i++)I[i]=String(I[i]).replace(/\D/ig,o);for(let i=0;i<a;i++){let d=I[i]||"";if(!d.match(v))I[i]="",m.push(f);else{let b=f;d.split(/\D/).forEach((w,V)=>{if(V==0&&n=="dateWareki"){let T=Number(w);t!="year"&&(T>=2019?t=="reiwa"?T-=2018:t=="heisei"&&(T=31):T>=1989?t=="heisei"?T-=1988:t=="shouwa"&&(T=64):T>=1926?t=="shouwa"?T-=1925:t=="taisho"&&(T=15):T>=1912?t=="taisho"?T-=1911:t=="meiji"&&(T=45):T>=1868&&(T-=1867)),w=T.zeroEmbed(4)}b=b.replace(new RegExp("------------------".slice(0,w.length)),w)}),m.push(b)}}return{formatValue:m.join(C),dataValue:["dates","months"].includes(n)?I:I[0],ranges:p}},DefaultValidation:e=>{let{states:n}=e,{restrict:y,min:t,max:I,required:f}=n,v=[],p=k.flatArray(e.value),a={empty:!1,escalated:1,filled:!0,correct:!0,prohibited:!1};(()=>{let m=y=="clock"?":":"/";for(let o=0;o<p.length;o++)p[o]=String(p[o]).replace(/\D/ig,m);for(let o=0;o<p.length;o++){let i=p[o],d=p[o-1];i.removeLetters()||(a.empty=!0),o>0&&(a.escalated&=+(i>=d))}a.escalated&&(a.empty||(y.match(/clock/)?p.forEach(o=>{let[i,d]=o.split(/\D+/);!i||!d?a.filled=!1:(Number(i)>23||Number(d)>59)&&(a.correct=!1)}):y.match(/date/)?p.forEach(o=>{let[i,d,b]=o.split(/\D+/);if(!i||!d||!b)a.filled=!1;else{let w=k.Time(o);(!w.validate||o!=w.toFormatYMD())&&(a.correct=!1)}}):y.match(/week/)?p.forEach(o=>{let[i,d]=o.split(/\D+/);if(!i||!d)a.filled=!1;else{let b=k.Time(i+"/01/01").weekday,V=k.Time(i+"/01/0"+(7-b+1)).addWeek(Number(d)-1);i!=String(V.year)&&(a.correct=!1)}}):y.match(/month/)?p.forEach(o=>{let[i,d]=o.split(/\D+/);!i||!d?a.filled=!1:k.Time([i,d,"01"].join("/")).validate||(a.correct=!1)}):y.match(/year/),a.filled&&a.correct&&p.forEach(o=>{{let i=Number(String(o).replace(/\D/ig,""));if(t&&Number(String(t).replace(/\D/ig,""))>i&&(a.prohibited=!0),I){let d=Number(String(I).replace(/\D/ig,""));i>d&&(a.prohibited=!0)}}})))})();{let{empty:m,escalated:o,filled:i,correct:d,prohibited:b}=a;m&&f&&(v=[{type:"invalid",label:"\u5FC5\u9808\u9805\u76EE\u3067\u3059"}]),o||v.push({type:"invalid",label:"\u6642\u7CFB\u5217\u3092\u6B63\u3057\u304F\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044"}),d||v.push({type:"invalid",label:"\u7121\u52B9\u306A\u5024\u304C\u5165\u529B\u3055\u308C\u3066\u3044\u307E\u3059"}),i||v.push({type:"invalid",label:"\u6700\u5F8C\u307E\u3067\u5024\u3092\u57CB\u3081\u3066\u304F\u3060\u3055\u3044"}),b&&v.push({type:"invalid",label:ne(we,{children:[g(K,{children:"\u5165\u529B\u7BC4\u56F2\u304C\u5236\u9650\u3055\u308C\u3066\u3044\u307E\u3059"}),"[",t||"\u4E0B\u9650\u7121\u3057","] ~ [",I||"\u4E0A\u9650\u7121\u3057","]"]})})}return{ok:!v.filter(({type:m})=>m=="invalid").length,notice:v}},KeyDownEvent:e=>{let{val_era:n,restrict:y,event:t,val_status:I,set_status:f,val_focus:v,set_focus:p}=e,{key:a,shiftKey:m,ctrlKey:o,metaKey:i}=t,d=o||i,{selectionStart:b,selectionEnd:w}=t.target,{index:V,prevIndex:T}=v,{ranges:L,formatValue:H}=I,M=L.length-1;if(["Tab","ArrowLeft","ArrowRight"].includes(a)){let D=0;if(a=="Tab"){let s=+!m*2-1;if(D=v.index+s,D<0||D>M)return}else{let s=a=="ArrowLeft"?-1:a=="ArrowRight"?1:0;d||b==0&&w==String(I.formatValue).length?D=s==1?M:0:D=Math.max(0,Math.min(V+s,M))}p(s=>E(l({},s),{index:D,prevIndex:V})),t.preventDefault()}if(["Backspace","ArrowUp","ArrowDown","0","1","2","3","4","5","6","7","8","9"].includes(a)){t.preventDefault();let D=V;D=Math.max(D,0),D=Math.min(D,M);let{type:s,from:U,length:z}=L[D],N=H.slice(U,U+z),c;if(a=="Backspace")c="------".slice(0,z);else if(["ArrowUp","ArrowDown"].includes(a)){let R=a=="ArrowUp"?1:-1;N=N|0,c=N+R;let[r,u,S]=s=="dateWareki"?n=="year"?[0,2999,4]:n=="reiwa"?[1,2999,4]:n=="heisei"?[1,31,4]:n=="shouwa"?[1,64,4]:n=="taisho"?[1,15,4]:n=="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];c>u?c=r:c<r&&(c=u),c=Number(c).zeroEmbed(S)}else if(["0","1","2","3","4","5","6","7","8","9"].includes(a)){let R=N|0,r=a,u=`${R}${r}`;if(T!=V&&(R=0,u="0"+r),s=="year"||s=="dateWareki"&&n=="year")Number(u)>1e4?c=r:c=u,(c|0)>1e3&&D++;else if(["hour","minute","date","week","month"].includes(s)||s=="dateWareki"&&n!="year"){let S=s=="dateWareki"?n=="reiwa"?100:n=="heisei"?31:n=="shouwa"?64:n=="taisho"?15:n=="meiji"?45:0:s=="minute"?59:s=="hour"?23:s=="date"?31:s=="week"?53:s=="month"?12:0;c=(u|0)>S?r:u,(Number(r)>Number(String(S)[0])||N=="0000".slice(0,String(S).length)&&(u!="0000".slice(0,String(S).length)||["minute","hour"].includes(s)&&T==V)||(u|0)>=ee(10,String(S).length-1))&&D++}s=="year"||s=="dateWareki"?c=(c|0).zeroEmbed(4):c=(c|0).zeroEmbed(2)}{let R=String(H).partReplace(U,String(c)),r=R.split(C).map(u=>u.replace(/(^\D|\D$)/,"").split(/\D+/).join(y=="clock"?":":"/").replace(/(^\D|\D$)/,""));if(y=="dateWareki"){let u=r[0].split(/\D/),[S,j,P]=u;u.length==3&&S&&(r=[[Number(S)-1+Number({year:1,reiwa:2019,heisei:1989,shouwa:1926,taisho:1912,meiji:1868}[n]),j,P].join("/")])}D=Math.max(D,0),D=Math.min(D,M),f(u=>E(l({},u),{dataValue:["dates","months"].includes(y)?r:r[0],formatValue:R,eventType:"update",eventID:k.uuid.gen()})),p(u=>E(l({},u),{index:D,prevIndex:u.index}))}}}},ie={picker:{launch:e=>{let n=e.tipsID||k.uuid.gen(),m=e,{onValueUpdate:y,min:t,max:I,era:f,restrict:v,defaultValue:p}=m,a=Y(m,["onValueUpdate","min","max","era","restrict","defaultValue"]);re.open(E(l({gravityPoint:e.gravityPoint||24,tipsID:n,padding:0},a),{parent:a.parent,close_option:l({aroundClick:!0,parentBlur:!1},a.close_option),content:g(xe,{restrict:v,min:t,max:I,era:f,defaultValue:p,tipsID:n,onValueUpdate:(o,i)=>{y(o,i)}})}))},remove:e=>{re.close(e)}}},ke={Shallow:e=>{let{rootStates:n,val_status:y}=e,t=ce(n);return g(K,{position:"absolute",top:0,left:0,right:0,height:0,overflow:"hidden",opacity:"trans",freeCSS:{zIndex:3,pointerEvents:"none"},children:g(de.Description,E(l({className:n.className},t),{position:"absolute",width:1,freeCSS:E(l({},t.freeCSS),{color:"orange"}),children:g(K,{"data-input-value-shallow":y.componentID,children:"A"})}))})}},Ee=e=>{let Q=e,{tone:n,required:y,restrict:t="clock",componentID:I,era:f,form:v,name:p,min:a,max:m,className:o,enableFormSubmit:i,checkValidationAtFirst:d,onKeyDown:b,onValidate:w,onUpdateValue:V,onUpdateValidValue:T,value:L="",leftIndicator:H,rightIndicator:M,leftIcon:D,rightIcon:s,freeCSS:U,wrapStyles:z}=Q,N=Y(Q,["tone","required","restrict","componentID","era","form","name","min","max","className","enableFormSubmit","checkValidationAtFirst","onKeyDown","onValidate","onUpdateValue","onUpdateValidValue","value","leftIndicator","rightIndicator","leftIcon","rightIcon","freeCSS","wrapStyles"]),[c,R]=A(f),[r,u]=A(E(l({componentID:e.componentID||""},F.DataLeveling({restrict:t,value:L,era:c})),{eventType:"init",eventID:k.uuid.gen()})),[S,j]=A({ok:!1,notice:[]}),[P,B]=A({active:!1,index:0,prevIndex:-1}),oe={rootStates:e,val_status:r,set_status:u,val_validate:S,set_validate:j,val_era:c,set_era:R,val_focus:P,set_focus:B};X.CommonEffects({type:"time",states:e,val_status:r,set_status:u,val_validate:S,set_validate:j,onUpdateValue:V,onUpdateValidValue:T,DefaultValidation:F.DefaultValidation,ExtraOverrideStates:l({},F.DataLeveling({restrict:t,value:L,era:c}))});const G=me(!1);return q(()=>{if(G.current){u(x=>l(l({},x),F.DataLeveling({restrict:t,value:x.dataValue,era:c})));let h=O.get("refreshEra_"+r.componentID);h&&h.refreshEra(c)}else G.current=!0},[c]),O.update({[r.componentID]:{openPicker:()=>{e.disabled||ie.picker.launch({parent:"#Picker-"+r.componentID,tipsID:"PickerTips-"+r.componentID,restrict:t,min:a,max:m,defaultValue:r.dataValue,era:c,onValueUpdate:(h,x)=>{u(W=>E(l(l({},W),F.DataLeveling({restrict:t,value:h,era:x})),{eventType:"update",eventID:k.uuid.gen()})),R(x)}})},resetEra:h=>{R(h),u(x=>E(l(l({},x),F.DataLeveling({restrict:t,value:"",era:c})),{eventType:"update",eventID:k.uuid.gen()}))}}}),q(()=>{let{index:h,active:x}=P;if(x){h=Math.max(h,0),h=Math.min(h,r.ranges.length-1);let{from:W,length:$}=r.ranges[h],J=ue("#"+e.id)[0];J&&J.setSelectionRange(W,W+$)}},[P]),ne(ye,{val_status:r,set_status:u,val_validate:S,states:e,children:[g(ke.Shallow,l({},oe)),g(Se,{componentID:e.componentID,fontSize:e.fontSize,required:e.required,label:e.label,isActive:!0}),g(Ie,{name:p,"data-disabled":e.disabled,"data-input-type":"time","data-form":v,"data-validation":S.ok,componentID:r.componentID,"data-value":JSON.stringify(["dates","months"].includes(t)?!r.dataValue[0]||!r.dataValue[1]?null:r.dataValue:r.dataValue||null)}),te.get().isTouchDevice?g(ae.Button.Plain,{"data-show-validation":X.isShowValidation(S,r,!!d),"data-component-id":r.componentID,className:o,freeCSS:{textAlign:"left"},children:r.formatValue,onClick:h=>{let x=O.get(r.componentID);x&&x.openPicker(),h.stopPropagation()}}):g(K,l({htmlTag:"input",type:"text",inputMode:"numeric","data-show-validation":X.isShowValidation(S,r,!!d),"data-input-origin":r.componentID,"data-disabled":e.disabled,"data-input-type":"time","data-form-name":v,value:r.formatValue,className:o,tabIndex:te.get().isTouchDevice?-1:0,onKeyDown:h=>{F.KeyDownEvent({restrict:t,event:h,val_era:c,val_status:r,set_status:u,val_focus:P,set_focus:B}),b&&b(h),i&&X.SubmitForm(h)},onKeyUp:h=>{h.key=="Tab"&&B(x=>E(l({},x),{active:!0}))},onClick:h=>{let x=h.target.selectionEnd,W=0;r.ranges.forEach(($,J)=>{let{from:Z,length:le,region:se}=$;Z<=x&&x<=Z+(se||le)&&(W=J)}),B($=>E(l({},$),{active:!0,index:W})),h.preventDefault()},onChange:()=>{}},N))]})},_={Origin:e=>{e=l({},e),e.rightIcon&&(e=l({paddingRight:3},e)),e.leftIcon&&(e=l({paddingLeft:3},e));let[n]=A(e.componentID||k.uuid.gen());if(e.componentID=n,k.is.nullish(e.rightIcon)){let y=(e.restrict||"").match(/clock/)?fe:he;e.rightIcon=g(De,{padding:0,freeCSS:{pointerEvents:"all"},children:g(ae.Button.Sub.R,{color:"cloud",border:"unset",ssSphere:2,fontColor:"theme",boxShadow:"0.normal",borderRadius:"3.tone.tertiary",flexCenter:!0,ssEffectsOnActive:"push",tabIndex:-1,id:"Picker-"+e.componentID,onClick:()=>{let t=O.get(e.componentID);t&&t.openPicker()},children:g(pe,{icon:y})})})}return g(ge,{componentID:e.componentID,children:Ee,states:ve(e)})},Clock:e=>g(_.Origin,l({restrict:"clock",era:"clock"},e)),Date:e=>g(_.Origin,l({restrict:"date"},e)),Week:e=>g(_.Origin,l({restrict:"week"},e)),Month:e=>g(_.Origin,l({restrict:"month"},e)),Year:e=>g(_.Origin,l({restrict:"year"},e)),DateWareki:e=>{e=l({},e);let[n]=A(e.componentID||k.uuid.gen());e.componentID=n;let{defaultEra:y="wareki"}=e,[t,I]=A((()=>{let f="year";if(y=="wareki"&&(f="reiwa",e.value)){let[v,p,a]=e.value.split(/\D/);if(v&&p&&a){let m=Number(v);m>=2019?(m-=2019,f="reiwa"):m>=1989?(m-=1989,f="heisei"):m>=1926?(m-=1926,f="shouwa"):m>=1912?(m-=1912,f="taisho"):m>=1868&&(m-=1868,f="meiji"),m+=1}}return f})());return q(()=>{O.set({["refreshEra_"+n]:{refreshEra:f=>{I(f)}}})},[]),g(_.Origin,E(l({restrict:"dateWareki",leftIndicator:g(Te,{label:"\u5143\u53F7",emptySelect:!1,value:t,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:({value:f,eventType:v})=>{I(f);let p=O.get(e.componentID);p&&p.resetEra&&p.resetEra(f)}})},e),{era:t}))},Periods:{Date:e=>g(_.Origin,l({restrict:"dates"},e)),Month:e=>g(_.Origin,l({restrict:"months"},e))},fn:ie};export{_ as Time,_ as default};
|
package/dist/fn/Input/core.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
import {
|
|
2
|
+
import { ReactElement } from '../../@declares';
|
|
3
3
|
import { KeyValueDict } from '@mingoo/jsmin';
|
|
4
4
|
import { InputTypes } from '.';
|
|
5
5
|
declare namespace OptionalInputWrapper {
|
|
@@ -44,10 +44,5 @@ export declare const CoreEffects: {
|
|
|
44
44
|
SubmitForm: (event: React.KeyboardEvent) => boolean;
|
|
45
45
|
isShowValidation: (val_validate: InputTypes.Validation.Result, val_status: InputTypes.Status.Plain, checkValidationAtFirst: boolean) => boolean;
|
|
46
46
|
};
|
|
47
|
-
export declare const
|
|
48
|
-
Input: (type: InputTypes.BoxTone) => StyleTags.States;
|
|
49
|
-
Boxish: <T = any>(p: any) => T;
|
|
50
|
-
Indicator: (type: InputTypes.BoxTone) => StyleTags.Properties;
|
|
51
|
-
IndicatorIcon: StyleTags.States;
|
|
52
|
-
};
|
|
47
|
+
export declare const DefaultBoxishStyles: <T = any>(p: any) => T;
|
|
53
48
|
export {};
|
package/dist/fn/Input/core.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{b as o,c
|
|
1
|
+
import{b as o,c,e as _}from"../../chunk-C5N2D3ZX.js";import{jsx as y,jsxs as x}from"react/jsx-runtime";import{useState as E,useEffect as h}from"react";import i from"@mingoo/jsmin";import{$$fromRoot as N,Config as w,useStore as I}from"../../@utils";import{InputClasses as k}from"../../@styles/componentClasses";import{Box as F,Flex as A,FAI as C,Column as O}from"../../atoms";import{Row as B,Text as W}from"../../mols";import z from"../Button";import b from"../Tooltips";const se=e=>{let[n]=E(e.componentID||i.uuid.gen(24));e=o({},e),e.states=c(o({enableFormSubmit:!0,status_id:i.uuid.gen(),override:"never",name:i.uuid.gen(),id:i.uuid.gen(),"aria-label":"Input-"+n},e.states),{componentID:n});let{children:a}=e;return y(a,o({},e.states))},ue=e=>{let{children:n,val_status:a,set_status:t,val_validate:s,states:r}=e,{leftIcon:l,wrapStyles:u}=r;return a.eventType=="init"&&!r.checkValidationAtFirst&&(s.notice=[]),x(B.Center,c(o({position:"relative",verticalAlign:"unset",gap:0},u),{className:k("Wrapper"),"data-notice-uid":a.componentID,children:[y(D.Notice,{notice:s.notice,val_status:a}),r.leftIndicator,x(A,{position:"relative",flexSizing:"auto",children:[n,l,y(D.RightIcon,o({},e)),y(D.ClearButton,o({},e))]}),r.rightIndicator]}))},D={ClearButton:e=>!e.states.clearButton||!e.val_status.dataValue?null:y(z.Button.Normal.R,{ssSphere:2,flexCenter:!0,fontColor:"5.translucent",ssEffectsOnActive:["ripple.theme"],position:"absolute",right:1,top:"50%",freeCSS:{zIndex:3,transform:"translateY(-50%)"},onClick:()=>{e.set_status(n=>c(o({},n),{dataValue:"",formatValue:"",eventType:"update",eventID:i.uuid.gen()}))},children:y(C.Times,{})}),RightIcon:e=>e.states.clearButton&&e.val_status.dataValue?null:e.states.rightIcon,Notice:e=>{let{notice:n,val_status:a}=e,{componentID:t}=a,s="NoticeTimer-"+t,r="NoticeTimerClose-"+t,l="notice-tips-"+t;return h(()=>{i.interval.clear(s),i.interval.clear(r),i.interval.standBy(s,350,()=>{if(!n.length){b.close(l);return}b.open({tipsID:l,parent:`[data-notice-uid="${t}"]`,gravityPoint:22,padding:[1,0],close_option:{parentBlur:!1},content:x(b.Body,{padding:["1/2","2/3"],fontSize:"1.mini",position:"relative",children:[y(F,{position:"absolute",unitHeight:1,unitWidth:1,left:1,backgroundColor:"dark",freeCSS:{zIndex:1,transform:"rotate(45deg)",top:-6}}),y(O,{backgroundColor:"inherit",gap:"1/3",position:"relative",freeCSS:{zIndex:2},children:n.map((u,f)=>{let{type:g,label:R}=u,T=g=="invalid"?C.Times:g=="warn"?C.Exclamation:C.Check;return x(B.Left,{gap:0,borderRadius:"2.tone.secondary",children:[y(T,{flexCenter:!0,fontSize:"2.normal",fontColor:{invalid:"nega",warn:"warn",valid:"posi"}[g]}),y(W.Supplement,{fontSize:"0.xs",fontColor:"white",children:R})]},f+"-"+JSON.stringify(u))})})]})})}),i.interval.standBy(r,6e3,()=>{b.close(l)})},[n]),null}},K={CommonEffects:e=>{let{type:n,states:a,val_status:t,set_status:s,ExtraOverrideStates:r,ExtraStoreStates:l,val_validate:u,set_validate:f,DefaultValidation:g,onUpdateValue:R,onUpdateValidValue:T}=e;a=o({},a);let{componentID:V}=t;h(()=>(I.update({[V]:o({ResolveRefresh:null,Refresh:()=>new Promise((d,p)=>{I.get(V).ResolveRefresh=d,s(v=>c(o({},v),{eventType:"refresh",eventID:i.uuid.gen()}))}),GenNotice:d=>{let{ok:p,notice:v}=d;f({ok:p,notice:v})}},l)}),()=>{I.delete(V)}),[]),h(()=>{a.value=t.dataValue,i.interval.clear("ValidationTimer-"+V),K.ValidationCheck({val_status:t,set_validate:f,DefaultValidation:g,states:a})},[t.eventID]),(()=>{let{override:d}=a;if(d=="never"||d=="beforeModified"&&!["init","override"].includes(t.eventType))return;let p=I.get(t.componentID);p&&(a.value!=t.dataValue&&a.status_id!=p.status_id&&s(v=>c(o(c(o({},v),{dataValue:a.value}),r),{eventType:"override",eventID:i.uuid.gen()})),p.status_id=a.status_id)})(),h(()=>{let{componentID:d,eventType:p,dataValue:v}=t,m=v;if(n=="list"?(m=v.map(S=>i.toJson(S).body),a.type=="radio"&&(m=m[0])):n=="autocomplete"?(m=v.map(S=>i.toJson(S).body),a.multiSelect||(m=m[0])):n=="select"?m=i.toJson(m).body:n=="file"&&I.update({[d]:{Files:t.dataValue}}),p=="refresh"){let S=I.get(d);S&&S.ResolveRefresh&&S.ResolveRefresh(null)}p=="update"&&(R&&R({componentID:d,value:m,storeData:I.get(d),eventType:p}),i.scope(()=>{u.ok&&T&&T({componentID:d,value:m,storeData:I.get(d),eventType:p})}))},[u])},ValidationCheck:e=>{let{val_status:n,states:a,set_validate:t,DefaultValidation:s}=e,r=s({value:n.dataValue,states:a});if(!r.ok){t(r);return}let l=r.notice;const u=()=>_(void 0,null,function*(){if(!a.onValidate)return;let f=yield a.onValidate({value:n.dataValue,eventType:n.eventType,props:e});if(!f.ok){t({ok:!1,notice:[...l,...f.notice]});return}t({ok:!0,notice:[...l,...f.notice]})});a.onValidate?n.eventType=="refresh"?u():i.interval.standBy("ValidationTimer-"+n.componentID,450,u):t({ok:!0,notice:l})},SubmitForm:e=>{let n=e.target,{form:a,formName:t}=n.dataset;a=t||a;let s=!1,r=N(`[data-form-submit-button="${a}"]`)[0];if(!r)return s;let l=r.dataset.sdfike||"",u=e.key,f=e.ctrlKey||e.metaKey;return i.scope(()=>{l.includes("enter")&&(u!="Enter"||e.nativeEvent.isComposing||w.get().browserIs=="safari"&&e.keyCode==229)||((u=="Enter"&&(l.includes("enter")||l.includes("auxEnter")&&f)||u==" "&&l.includes("space"))&&(r.click(),e.preventDefault()),s=!0)}),s},isShowValidation:(e,n,a)=>{let t=e.ok;return!a&&n.eventType=="init"&&(t=!0),t}},de=function(e){e=o({tone:"border"},e);let n=i.scope(()=>{if(e.tone=="plain")return{};let t={padding:"3/4",transition:"middle",flexSizing:"auto",boxShadow:"0.min"};return e.tone=="border"?t=c(o({},t),{border:!0,borderRadius:"2.tone.secondary",backgroundColor:"layer.1"}):e.tone=="cloud"?t=c(o({},t),{border:"1.thin",borderRadius:"2.tone.secondary",backgroundColor:"cloud"}):e.tone=="bottomBorder"&&(t=c(o({},t),{borderRadius:0,border:"unset",borderBottom:!0,backgroundColor:"cloud"})),t});return c(o(o(o(o({fontColor:"2.normal"},n),!!e.leftIndicator&&{borderTopLeftRadius:"2/3",borderBottomLeftRadius:"2/3",marginLeft:"1/4"}),!!e.rightIndicator&&{borderTopRightRadius:"2/3",borderBottomRightRadius:"2/3",marginRight:"1/4"}),e),{freeCSS:o({letterSpacing:"1px",resize:"none"},e.freeCSS),className:[k("Input"),e.className].join(" ")})};export{ue as BoxWrapper,K as CoreEffects,de as DefaultBoxishStyles,se as OptionalInputWrapper};
|