amotify 0.2.196 → 0.2.198
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/next/src/app/(router)/page.tsx +16 -42
- package/dist/@styles/style.css +1 -1
- package/dist/@styles/var.css +1 -1
- package/dist/fn/Input/Autocomplete.js +1 -1
- package/dist/fn/Input/Color.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/List.js +1 -1
- package/dist/fn/Input/Segmented.js +1 -1
- package/dist/fn/Input/Select.js +1 -1
- package/dist/fn/Input/Slider.js +1 -1
- package/dist/fn/Input/Switch.js +1 -1
- package/dist/fn/Input/TextField.d.ts +0 -4
- package/dist/fn/Input/TextField.js +3 -3
- package/dist/fn/Input/Time/index.js +1 -1
- package/dist/fn/Input/core.js +1 -1
- package/dist/fn/Input/index.d.ts +11 -1
- package/dist/fn/Input/index.js +1 -1
- package/package.json +1 -1
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{b as
|
|
2
|
-
T`.repeat(
|
|
3
|
-
T`.repeat(g-1)}let r=_e(a);return Y(k,{position:"absolute",top:0,left:0,right:0,height:0,overflow:"hidden",opacity:"trans",freeCSS:{zIndex:3,pointerEvents:"none"},children:[n(re.Description,c(l({className:a.className},r),{position:"absolute",width:1,freeCSS:c(l({},r.freeCSS),{color:"orange"}),"data-input-shallow":o.componentId,children:n(k,{"data-input-value-shallow":o.componentId,children:i})})),n(re.Description,c(l({className:a.className},r),{position:"absolute",left:0,freeCSS:c(l({},r.freeCSS),{backgroundColor:"transparent",color:"blue"}),"data-input-min-height-value-shallow":o.componentId,children:u})),n(re.Description,c(l({className:a.className},r),{position:"absolute",right:0,freeCSS:c(l({},r.freeCSS),{backgroundColor:"transparent",color:"red"}),"data-input-max-height-value-shallow":o.componentId,children:d}))]})},InputBox:t=>{let{rootStates:a,val_validate:o,set_validate:s,val_status:i,set_status:e,val_inputType:u,set_inputType:d,val_focus:r,set_focus:p,val_isComposing:g,set_isComposing:S}=t;if(a.multiline)return null;let pe=a,{componentId:T,tone:F,required:D,restrict:f="text",form:C,autoComplete:$="off",autoCapitalize:L="off",minRows:G,maxRows:he,multiline:se,autoHeight:Se,enableFormSubmit:X,clearButton:Q=!1,allowDecimals:A,allowZeroStart:O,checkValidationAtFirst:ue,onChange:j,onKeyDown:ee,onValidate:Ie,onValidateDelay:ve,onUpdateValue:Te,onUpdateValidValue:Re,value:ye="",leftIndicator:Ce,rightIndicator:we,leftIcon:I,rightIcon:Ve,maxLength:te,min:v,max:z,label:ce,isLabelActive:Ze,defaultValidation:Ue,wrapStyles:Ke}=pe,m=ne(pe,["componentId","tone","required","restrict","form","autoComplete","autoCapitalize","minRows","maxRows","multiline","autoHeight","enableFormSubmit","clearButton","allowDecimals","allowZeroStart","checkValidationAtFirst","onChange","onKeyDown","onValidate","onValidateDelay","onUpdateValue","onUpdateValidValue","value","leftIndicator","rightIndicator","leftIcon","rightIcon","maxLength","min","max","label","isLabelActive","defaultValidation","wrapStyles"]);return n(k,c(l({htmlTag:"input",type:u,inputMode:["number","digitNumber","creditCard"].includes(f)?"numeric":f=="email"?"email":"text","data-disabled":a.disabled,"data-show-validation":W.isShowValidation(o,i,!!ue),"data-component-id":i.componentId,"data-input-origin":i.componentId,value:i.formatValue,autoComplete:$,autoCapitalize:L,onKeyDown:x=>{let{key:R,target:N}=x,B=N,{selectionStart:P,selectionEnd:ae}=B,q=Number(P),Z=Number(ae);{let E=i.formatValue[Number(q)],H=i.formatValue[Number(q)-1];R=="Delete"&&(f=="creditCard"&&E==" "||f=="postal"&&E=="-"||f=="digitNumber"&&E==",")&&(B.setSelectionRange(q+1,Z+1),x.preventDefault()),R=="Backspace"&&(f=="creditCard"&&H==" "||f=="postal"&&H=="-"||f=="digitNumber"&&H==",")&&(B.setSelectionRange(q-1,Z-1),x.preventDefault()),R=="Enter"||R=="Tab"}b.scope(()=>{["number","digitNumber","creditCard"].includes(f)&&R=="Clear"&&e(E=>c(l({},E),{dataValue:"",formatValue:"",eventType:"update",eventID:M()}))}),b.scope(()=>{if(!["number","digitNumber"].includes(f)||!["ArrowUp","ArrowDown"].includes(R))return;let E=+(R=="ArrowUp")*2-1,H=i.dataValue.slice(-1),me=i.formatValue[Z-1],_=Z-1,V=String(i.formatValue),ie=i.dataValue.split(".")[1],ke=(ie==null?void 0:ie.length)||0;b.scope(()=>{if(!H){V="0";return}if(H=="-"){V+="0";return}if(H=="."){V+="0";return}if(Z==0)return;let le=String(V).slice(0,_).match(/\./),Fe=String(V).slice(_),J=String(Fe.toNumber().toFixed(0)).length;me=="."&&(J=1,_=V.split(".")[0].length-1),me==","&&(J+=1,_--),le&&(J=-1*(ke-J));let U=V[_].toNumber()+E;U<0?U=9:U>=10&&(U=0),V=V.partReplace(_,String(U)),setTimeout(()=>{B.setSelectionRange(_+1,_+1)},1)}),o.ok&&s({ok:!1,notice:[]}),e(le=>c(l(l({},le),y.Validation.DataLeveling({allowDecimals:A,allowZeroStart:O,min:v,max:z,restrict:f,value:V})),{eventType:"update",eventID:M()})),x.preventDefault()}),ee&&ee(x),X&&W.SubmitForm(x,C)},onChange:x=>{let{value:R,selectionStart:N,selectionEnd:B}=x.target,P=y.Validation.DataLeveling({allowDecimals:A,allowZeroStart:O,min:v,max:z,restrict:f,value:R});g&&(P.formatValue=R),P.formatValue!=i.formatValue&&(o.ok&&s({ok:!1,notice:[]}),e(ae=>c(l(l({},ae),P),{prevValue:i.formatValue,eventType:"update",eventID:M(),caretFrom:Number(N),caretTo:Number(B)})),j&&j(x))},width:1},m),{onFocus:x=>{m!=null&&m.onFocus&&(m==null||m.onFocus(x)),p(!0)},onBlur:x=>{m!=null&&m.onBlur&&(m==null||m.onBlur(x)),p(!1)},onCompositionStart:x=>{m!=null&&m.onCompositionStart&&(m==null||m.onCompositionStart(x)),S(!0)},onCompositionEnd:x=>{if(m!=null&&m.onCompositionEnd&&(m==null||m.onCompositionEnd(x)),f=="text")return;let R=y.Validation.DataLeveling({allowDecimals:A,allowZeroStart:O,min:v,max:z,restrict:f,value:i.formatValue});e(N=>c(l(l({},N),R),{prevValue:N.formatValue,eventType:"update",eventID:M(),caretFrom:Number(N.formatValue.length+1),caretTo:Number(N.formatValue.length+1)})),S(!1)}}))},TextAreaBox:t=>{let{rootStates:a,val_focus:o,set_focus:s,val_validate:i,set_validate:e,val_status:u,set_status:d,isShallow:r}=t,te=a,{componentId:p,tone:g,required:S,form:T,label:F,isLabelActive:D,minRows:f,maxRows:C,multiline:$,autoHeight:L,allowDecimals:G,allowZeroStart:he,enableFormSubmit:se,maxLength:Se,checkValidationAtFirst:X,onChange:Q,onKeyDown:A,onValidate:O,onValidateDelay:ue,onUpdateValue:j,onUpdateValidValue:ee,value:Ie="",leftIndicator:ve,rightIndicator:Te,leftIcon:Re,rightIcon:ye,defaultValidation:Ce,wrapStyles:we}=te,I=ne(te,["componentId","tone","required","form","label","isLabelActive","minRows","maxRows","multiline","autoHeight","allowDecimals","allowZeroStart","enableFormSubmit","maxLength","checkValidationAtFirst","onChange","onKeyDown","onValidate","onValidateDelay","onUpdateValue","onUpdateValidValue","value","leftIndicator","rightIndicator","leftIcon","rightIcon","defaultValidation","wrapStyles"]);return!a.multiline?null:n(k,c(l({htmlTag:"textarea","data-show-validation":W.isShowValidation(i,u,!!X),"data-input-origin":u.componentId,"data-component-id":u.componentId,value:u.dataValue,width:1},I),{onFocus:v=>{I!=null&&I.onFocus&&(I==null||I.onFocus(v)),s(!0)},onBlur:v=>{I!=null&&I.onBlur&&(I==null||I.onBlur(v)),s(!1)},onKeyDown:v=>{A&&A(v),se&&W.SubmitForm(v,T)},onChange:v=>{let{value:z}=v.target;i.ok&&e({ok:!1,notice:[]}),d(ce=>c(l({},ce),{dataValue:z,eventType:"update",eventID:M()})),Q&&Q(v)}}))}},Pe=t=>{let{componentId:a,restrict:o="text",value:s="",min:i,max:e,allowDecimals:u,allowZeroStart:d}=t,[r,p]=K(!1),[g,S]=K(!1),[T,F]=K({componentId:a,formatValue:"",dataValue:"",prevValue:"",eventType:"init",eventID:M(),caretFrom:null,caretTo:null}),[D,f]=K({ok:!1,notice:[]}),[C,$]=K(["password","concealed"].includes(o)&&"password"||"text");oe(()=>{F(G=>l(l({},G),y.Validation.DataLeveling({allowDecimals:u,allowZeroStart:d,min:i,max:e,restrict:o,value:s}))),fe.set({[a+":set_inputType"]:$})},[]);let L={rootStates:t,val_focus:r,set_focus:p,val_inputType:C,set_inputType:$,val_isComposing:g,set_isComposing:S,val_status:T,set_status:F,val_validate:D,set_validate:f};return W.CommonEffects({type:"textfield",states:t,val_status:T,set_status:F,val_validate:D,set_validate:f,SystemValidation:y.Validation.System,ExtraOverrideStates:()=>y.Validation.DataLeveling({allowDecimals:u,allowZeroStart:d,min:i,max:e,restrict:o,value:s})}),oe(()=>{y.setSelection({id:t.id,restrict:o,val_status:T})},[T]),Y(Ae,{val_status:T,set_status:F,val_validate:D,states:L.rootStates,children:[n(Me,{componentId:t.componentId,fontSize:t.fontSize,required:t.required,label:t.label,isActive:t.isLabelActive||r||!!T.dataValue}),n(y.Shallow,l({},L)),n(y.InputBox,l({},L)),n(y.TextAreaBox,l({},L))]})},w=t=>(t=l({autoHeight:!0,restrict:"text",fontSize:"inherit"},t),t.multiline?(t.minRows=t.minRows||5,t.maxRows=t.maxRows||20):(t.minRows=1,t.maxRows=1),n(He,{componentId:t.componentId,children:Pe,states:Be(t)})),h=w;h.Validate=y.Validation.Text,h.Katakana=t=>n(w,c(l({},t),{restrict:"katakana",multiline:!1,autoHeight:!1})),h.HankakuKatakana=t=>n(w,c(l({},t),{restrict:"hankaku.katakana",multiline:!1,autoHeight:!1})),h.CreditCard=t=>n(w,c(l({},t),{restrict:"creditCard",multiline:!1,autoHeight:!1})),h.Tel=t=>n(w,c(l({},t),{restrict:"tel",multiline:!1,autoHeight:!1})),h.Number=t=>n(w,c(l({},t),{restrict:"number",multiline:!1,autoHeight:!1})),h.DigitNumber=t=>n(w,c(l({},t),{restrict:"digitNumber",multiline:!1,autoHeight:!1})),h.Email=t=>n(w,c(l({},t),{restrict:"email",multiline:!1,autoHeight:!1})),h.Url=t=>n(w,c(l({},t),{restrict:"url",multiline:!1,autoHeight:!1})),h.Postal=t=>n(w,c(l({label:"\u90F5\u4FBF\u756A\u53F7"},t),{restrict:"postal",multiline:!1,autoHeight:!1,leftIcon:n($e,{ssSphere:2,fontColor:"4.thin",children:"\u3012"})})),h.Password=t=>n(w,c(l({label:"\u30D1\u30B9\u30EF\u30FC\u30C9",rightIcon:n(be,{ssSphere:2,padding:0,freeCSS:{pointerEvents:"all"},children:n(Le.Sub,{ssSphere:2,borderRadius:"3.tone.tertiary",fontColor:"theme",flexCenter:!0,height:1,ssEffectsOnActive:["expand"],onMouseOver:a=>{ge.open(a.currentTarget,"\u30C6\u30AD\u30B9\u30C8\u3092\u8868\u793A",24)},onMouseLeave:ge.abort,tabIndex:-1,onClick:a=>{b(a.target).parent().parent().find("input").callback(o=>{let s=o[0];if(!s)return;let i=s.dataset.componentId;if(!i)return;let e=fe.get(i+":set_inputType");e&&e(u=>u==="password"&&"text"||"password")})},children:n(De,{icon:Ee})})}),restrict:"password"},t),{multiline:!1,autoHeight:!1})),h.Concealed=t=>n(h.Password,c(l({label:"\u79D8\u5BC6\u9375"},t),{restrict:"concealed"})),h.Money={JPY:t=>n(h.DigitNumber,c(l({rightIcon:n(be,{ssSphere:2,fontColor:"4.thin",children:"\u5186"})},t),{multiline:!1,autoHeight:!1}))};export{h as TextField,Pe as TextInput,h as default};
|
|
1
|
+
import{b as i,c as r,d as ae,e as ue}from"../../chunk-C5N2D3ZX.js";import{Fragment as de,jsx as s,jsxs as Y}from"react/jsx-runtime";import h,{UUID as T,useStore as pe}from"jmini";import{useState as ie,useEffect as ne}from"react";import{$$fromRoot as ke,ExtractStyles as De}from"../../@utils";import{Box as k,FAI as Ne}from"../../atoms";import{Literal as le}from"../../mols";import{Tips as ce,Button as Ee}from"..";import{faEye as Le}from"@fortawesome/free-solid-svg-icons/faEye";import{OptionalInputWrapper as _e,BoxWrapper as He,CoreEffects as K,DefaultBoxishStyles as Ae}from"./core";import{InputLabel as Be}from"./Label";import{LeftIcon as Me,RightIcon as me}from".";const $e={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"},number:{reg:/^-?[0-9\.]{0,}[0-9]{1,}$/g,exist:!0,reason:"\u534A\u89D2\u6570\u5B57\u3067\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044"},digitNumber:{reg:/^-?[0-9\,\.]{0,}[0-9]{1,}$/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:Y(de,{children:[s(k,{children:"\u25CB\u25CB\u25CB\u25CB@\u25CB\u25CB\u25CB\u25CB.\u25CB\u25CB\u25CB\u306E\u5F62\u5F0F\u3067\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044"}),s(k,{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:Y(de,{children:[s(k,{children:"0\u304B\u3089\u59CB\u307E\u308B\u756A\u53F7\u306E\u307F\u5165\u529B\u53EF\u80FD\u3067\u3059"}),s(k,{children:"9~12\u6841\u306E\u6570\u5B57\u3067\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044"}),s(k,{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:t=>{let{id:n,restrict:o,val_status:p}=t,a=ke("#"+n)[0];if(a&&p.prevValue&&p.formatValue){let{formatValue:e,prevValue:f,caretFrom:b,caretTo:l}=p;if(o=="creditCard")e.length>=f.length&&b%5==0&&(b++,l++),a.setSelectionRange(b,l);else if(o=="postal")e.length==5&&f.length==3&&(b++,l++),a.setSelectionRange(b,l);else if(o=="digitNumber"){let c=e.length-f.length;c==2&&(b++,l++),c==-2&&(b--,l--),a.setSelectionRange(b,l)}}},Validation:{System:t=>{let{value:n,states:o}=t,{restrict:p="text",defaultValidation:a,maxLength:e,multiline:f,required:b}=o,l=[];if(f||(e=e||255),h.is.exist(e)&&n.length>=Number(e)&&l.push({type:"invalid",label:e+"\u5B57\u4EE5\u5185\u3067\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044"}),n){let c=y.Validation.Text(n,p,a);c.ok||l.push({type:"invalid",label:c.body})}else b&&l.push({type:"invalid",label:"\u5FC5\u9808\u9805\u76EE\u3067\u3059"});return{ok:!l.filter(({type:c})=>c=="invalid").length,notice:l}},Text:(t,n,o)=>{let p={ok:!0,body:""};return(()=>{let a=o||$e[n];if(!a)return;let e=a.reason;if(a){let f=!!(+!!t.match(a.reg)^+!a.exist);p={ok:f,body:f?"":e}}})(),p},DataLeveling:t=>{let{restrict:n,allowDecimals:o,allowZeroStart:p,value:a=""}=t,e=String(a);["tel","number","digitNumber","postal","creditCard"].includes(n)&&(e=e.zen2hanNumber()),n=="katakana",n=="hankaku.katakana",["postal","creditCard"].includes(n)&&(e=e.removeLetters()),h.scope(()=>{if(!["number","digitNumber"].includes(n))return;e=e.replace(/(\.\d+)\..*/g,"$1").replace(/\.+/g,".").replace(/[^0-9.-]/g,"");let b=Number(e)<0||e[0]=="-";e=e.replace(/[^0-9.]/g,""),b&&(e="-"+e);let l=Number(o);o?e=e.replace(/(\.\d{0,})\..*/g,"$1").replace(/\.(\d{0,})/g,(c,g)=>g.length>l?"."+g.slice(0,l):c):e=e.replace(/\.\d?/g,""),h.scope(()=>{n=="number"&&(p||(e=e.replace(/^0(\d+)/g,"$1").replace(/^-0(\d+)/g,"-$1")))}),h.scope(()=>{let c=e.slice(-1);if(!e||c=="."||c=="-")return;let{min:g,max:u}=t;h.is.exist(g)&&h.is.number(g)&&Number(e)<Number(g)&&(e=String(g.toFixed(l))),h.is.exist(u)&&h.is.number(u)&&Number(e)>Number(u)&&(e=String(u.toFixed(l)))}),h.scope(()=>{if(!e||e=="-"||n!="digitNumber")return;let c=e.slice(-1),[g,u]=e.split(".");e=g.replace(/\B(?=(\d{3})+(?!\d))/g,","),u&&(e+="."+u),c=="."&&(e+=".")})});let f=e;return n=="digitNumber"||(n=="postal"?e.length>=4&&(f=e.clip(0,3)+"-"+e.clip(3)):n=="creditCard"&&(f=e.replace(/.{4}(?=.)/g,"$& "))),e=e.replace(/,/g,""),{formatValue:f,dataValue:e}}},Shallow:t=>{let{rootStates:n,val_status:o}=t,p=o.dataValue||"";ne(()=>{h.scope(()=>ue(void 0,null,function*(){if(!n.multiline)return;let c=h('[data-input-origin="'+o.componentId+'"]'),g=h('[data-input-shallow="'+o.componentId+'"]'),u=h('[data-input-min-height-value-shallow="'+o.componentId+'"]'),E=h('[data-input-max-height-value-shallow="'+o.componentId+'"]');if(!c[0]||!g[0]||!u[0]||!E[0])return;let L=g.position(),F=u.position(),$=E.position(),D=0;n.autoHeight&&(D=L.height),D=Math.max(D,F.height),D=Math.min(D,$.height),c[0].style.height=D+"px"}))},[p]);let a=p||"";(!!p.match(/\n$/)||!p)&&(a+="T");let f="",b="";if(n.multiline){let c=n.minRows||1,g=n.maxRows||100;f=`
|
|
2
|
+
T`.repeat(c-1),b=`
|
|
3
|
+
T`.repeat(g-1)}let l=De(n);return Y(k,{position:"absolute",top:0,left:0,right:0,height:0,overflow:"hidden",opacity:"trans",freeCSS:{zIndex:3,pointerEvents:"none"},children:[s(le.Description,r(i({className:n.className},l),{position:"absolute",width:1,freeCSS:r(i({},l.freeCSS),{color:"orange"}),"data-input-shallow":o.componentId,children:s(k,{"data-input-value-shallow":o.componentId,children:a})})),s(le.Description,r(i({className:n.className},l),{position:"absolute",left:0,freeCSS:r(i({},l.freeCSS),{backgroundColor:"transparent",color:"blue"}),"data-input-min-height-value-shallow":o.componentId,children:f})),s(le.Description,r(i({className:n.className},l),{position:"absolute",right:0,freeCSS:r(i({},l.freeCSS),{backgroundColor:"transparent",color:"red"}),"data-input-max-height-value-shallow":o.componentId,children:b}))]})},InputBox:t=>{let{rootStates:n,val_validate:o,set_validate:p,val_status:a,set_status:e,val_inputType:f,set_inputType:b}=t;if(n.multiline)return null;let re=n,{componentId:l,tone:c,required:g,restrict:u="text",form:E,autoComplete:L="off",autoCapitalize:F="off",minRows:$,maxRows:D,multiline:fe,autoHeight:ge,enableFormSubmit:G,clearButton:be=!1,allowDecimals:z,allowZeroStart:A,checkValidationAtFirst:W,onChange:X,onKeyDown:Q,onValidate:xe,onValidateDelay:he,onUpdateValue:Ie,onUpdateValidValue:ve,onUserAction:Se,value:Te="",leftIndicator:ye,rightIndicator:Ce,leftIcon:Re,rightIcon:we,maxLength:m,min:O,max:B,label:S,isLabelActive:R,defaultValidation:oe,wrapStyles:Pe}=re,d=ae(re,["componentId","tone","required","restrict","form","autoComplete","autoCapitalize","minRows","maxRows","multiline","autoHeight","enableFormSubmit","clearButton","allowDecimals","allowZeroStart","checkValidationAtFirst","onChange","onKeyDown","onValidate","onValidateDelay","onUpdateValue","onUpdateValidValue","onUserAction","value","leftIndicator","rightIndicator","leftIcon","rightIcon","maxLength","min","max","label","isLabelActive","defaultValidation","wrapStyles"]);return s(k,r(i({htmlTag:"input",type:f,inputMode:["number","digitNumber","creditCard"].includes(u)?"numeric":u=="email"?"email":"text","data-disabled":n.disabled,"data-show-validation":K.isShowValidation(o,a,!!W),"data-component-id":a.componentId,"data-input-origin":a.componentId,value:a.formatValue,autoComplete:L,autoCapitalize:F,onKeyDown:I=>{let{key:x,target:w}=I,M=w,{selectionStart:P,selectionEnd:j}=M,q=Number(P),U=Number(j);{let _=a.formatValue[Number(q)],H=a.formatValue[Number(q)-1];x=="Delete"&&(u=="creditCard"&&_==" "||u=="postal"&&_=="-"||u=="digitNumber"&&_==",")&&(M.setSelectionRange(q+1,U+1),I.preventDefault()),x=="Backspace"&&(u=="creditCard"&&H==" "||u=="postal"&&H=="-"||u=="digitNumber"&&H==",")&&(M.setSelectionRange(q-1,U-1),I.preventDefault()),x=="Enter"||x=="Tab"}h.scope(()=>{["number","digitNumber","creditCard"].includes(u)&&x=="Clear"&&e(_=>r(i({},_),{dataValue:"",formatValue:"",eventType:"update",eventID:T(),isFocusing:!0}))}),h.scope(()=>{if(!["number","digitNumber"].includes(u)||!["ArrowUp","ArrowDown"].includes(x))return;let _=+(x=="ArrowUp")*2-1,H=a.dataValue.slice(-1),se=a.formatValue[U-1],N=U-1,V=String(a.formatValue),ee=a.dataValue.split(".")[1],Ve=(ee==null?void 0:ee.length)||0;h.scope(()=>{if(!H){V="0";return}if(H=="-"){V+="0";return}if(H=="."){V+="0";return}if(U==0)return;let te=String(V).slice(0,N).match(/\./),Fe=String(V).slice(N),J=String(Fe.toNumber().toFixed(0)).length;se=="."&&(J=1,N=V.split(".")[0].length-1),se==","&&(J+=1,N--),te&&(J=-1*(Ve-J));let Z=V[N].toNumber()+_;Z<0?Z=9:Z>=10&&(Z=0),V=V.partReplace(N,String(Z)),setTimeout(()=>{M.setSelectionRange(N+1,N+1)},1)}),o.ok&&p({ok:!1,notice:[]}),e(te=>r(i(i({},te),y.Validation.DataLeveling({allowDecimals:z,allowZeroStart:A,min:O,max:B,restrict:u,value:V})),{eventType:"update",eventID:T(),isFocusing:!0})),I.preventDefault()}),Q&&Q(I),G&&K.SubmitForm(I,E)},onChange:I=>{let{value:x,selectionStart:w,selectionEnd:M}=I.target,P=y.Validation.DataLeveling({allowDecimals:z,allowZeroStart:A,min:O,max:B,restrict:u,value:x});a.isComposing&&(P.formatValue=x),P.formatValue!=a.formatValue&&(o.ok&&p({ok:!1,notice:[]}),e(j=>r(i(i({},j),P),{prevValue:a.formatValue,eventType:"update",eventID:T(),caretFrom:Number(w),caretTo:Number(M),isFocusing:!0})),X&&X(I))},width:1},d),{onFocus:I=>{d!=null&&d.onFocus&&(d==null||d.onFocus(I)),e(x=>r(i({},x),{eventID:T(),eventType:"focus.start",isFocusing:!0}))},onBlur:I=>{d!=null&&d.onBlur&&(d==null||d.onBlur(I)),e(x=>r(i({},x),{eventID:T(),eventType:"focus.end",isFocusing:!1}))},onCompositionStart:I=>{d!=null&&d.onCompositionStart&&(d==null||d.onCompositionStart(I)),e(x=>r(i({},x),{eventID:T(),eventType:"composing.start",isComposing:!0}))},onCompositionEnd:I=>{if(d!=null&&d.onCompositionEnd&&(d==null||d.onCompositionEnd(I)),u=="text"){e(w=>r(i({},w),{eventID:T(),eventType:"composing.end",isComposing:!1}));return}let x=y.Validation.DataLeveling({allowDecimals:z,allowZeroStart:A,min:O,max:B,restrict:u,value:a.formatValue});e(w=>r(i(i({},w),x),{prevValue:w.formatValue,eventType:"update",eventID:T(),caretFrom:Number(w.formatValue.length+1),caretTo:Number(w.formatValue.length+1),isComposing:!1}))}}))},TextAreaBox:t=>{let{rootStates:n,val_validate:o,set_validate:p,val_status:a,set_status:e,isShallow:f}=t,B=n,{componentId:b,tone:l,required:c,form:g,label:u,isLabelActive:E,minRows:L,maxRows:F,multiline:$,autoHeight:D,allowDecimals:fe,allowZeroStart:ge,enableFormSubmit:G,maxLength:be,checkValidationAtFirst:z,onChange:A,onKeyDown:W,onValidate:X,onValidateDelay:Q,onUpdateValue:xe,onUpdateValidValue:he,onUserAction:Ie,value:ve="",leftIndicator:Se,rightIndicator:Te,leftIcon:ye,rightIcon:Ce,defaultValidation:Re,wrapStyles:we}=B,m=ae(B,["componentId","tone","required","form","label","isLabelActive","minRows","maxRows","multiline","autoHeight","allowDecimals","allowZeroStart","enableFormSubmit","maxLength","checkValidationAtFirst","onChange","onKeyDown","onValidate","onValidateDelay","onUpdateValue","onUpdateValidValue","onUserAction","value","leftIndicator","rightIndicator","leftIcon","rightIcon","defaultValidation","wrapStyles"]);return!n.multiline?null:s(k,r(i({htmlTag:"textarea","data-show-validation":K.isShowValidation(o,a,!!z),"data-input-origin":a.componentId,"data-component-id":a.componentId,value:a.dataValue,width:1},m),{onFocus:S=>{m!=null&&m.onFocus&&(m==null||m.onFocus(S)),e(R=>r(i({},R),{eventID:T(),eventType:"focus.start",isFocusing:!0}))},onBlur:S=>{m!=null&&m.onBlur&&(m==null||m.onBlur(S)),e(R=>r(i({},R),{eventID:T(),eventType:"focus.end",isFocusing:!1}))},onCompositionStart:S=>{m!=null&&m.onCompositionStart&&(m==null||m.onCompositionStart(S)),e(R=>r(i({},R),{eventID:T(),eventType:"composing.start",isComposing:!0}))},onCompositionEnd:S=>{m!=null&&m.onCompositionEnd&&(m==null||m.onCompositionEnd(S)),e(R=>r(i({},R),{eventID:T(),eventType:"composing.end",isComposing:!1}))},onKeyDown:S=>{W&&W(S),G&&K.SubmitForm(S,g)},onChange:S=>{let{value:R}=S.target;o.ok&&p({ok:!1,notice:[]}),e(oe=>r(i({},oe),{dataValue:R,eventType:"update",eventID:T(),isFocusing:!0})),A&&A(S)}}))}},ze=t=>{let{componentId:n,restrict:o="text",value:p="",min:a,max:e,allowDecimals:f,allowZeroStart:b}=t,[l,c]=ie({componentId:n,formatValue:"",dataValue:"",prevValue:"",eventType:"init",eventID:T(),caretFrom:null,caretTo:null}),[g,u]=ie({ok:!1,notice:[]}),[E,L]=ie(["password","concealed"].includes(o)&&"password"||"text");ne(()=>{c($=>i(i({},$),y.Validation.DataLeveling({allowDecimals:f,allowZeroStart:b,min:a,max:e,restrict:o,value:p}))),pe.set({[n+":set_inputType"]:L})},[]);let F={rootStates:t,val_inputType:E,set_inputType:L,val_status:l,set_status:c,val_validate:g,set_validate:u};return K.CommonEffects({type:"textfield",states:t,val_status:l,set_status:c,val_validate:g,set_validate:u,SystemValidation:y.Validation.System,ExtraOverrideStates:()=>y.Validation.DataLeveling({allowDecimals:f,allowZeroStart:b,min:a,max:e,restrict:o,value:p})}),ne(()=>{y.setSelection({id:t.id,restrict:o,val_status:l})},[l]),Y(He,{val_status:l,set_status:c,val_validate:g,states:F.rootStates,children:[s(Be,{componentId:t.componentId,fontSize:t.fontSize,required:t.required,label:t.label,isActive:t.isLabelActive||!!l.isFocusing||!!l.dataValue}),s(y.Shallow,i({},F)),s(y.InputBox,i({},F)),s(y.TextAreaBox,i({},F))]})},C=t=>(t=i({autoHeight:!0,restrict:"text",fontSize:"inherit"},t),t.multiline?(t.minRows=t.minRows||5,t.maxRows=t.maxRows||20):(t.minRows=1,t.maxRows=1),s(_e,{componentId:t.componentId,children:ze,states:Ae(t)})),v=C;v.Validate=y.Validation.Text,v.Katakana=t=>s(C,r(i({},t),{restrict:"katakana",multiline:!1,autoHeight:!1})),v.HankakuKatakana=t=>s(C,r(i({},t),{restrict:"hankaku.katakana",multiline:!1,autoHeight:!1})),v.CreditCard=t=>s(C,r(i({},t),{restrict:"creditCard",multiline:!1,autoHeight:!1})),v.Tel=t=>s(C,r(i({},t),{restrict:"tel",multiline:!1,autoHeight:!1})),v.Number=t=>s(C,r(i({},t),{restrict:"number",multiline:!1,autoHeight:!1})),v.DigitNumber=t=>s(C,r(i({},t),{restrict:"digitNumber",multiline:!1,autoHeight:!1})),v.Email=t=>s(C,r(i({},t),{restrict:"email",multiline:!1,autoHeight:!1})),v.Url=t=>s(C,r(i({},t),{restrict:"url",multiline:!1,autoHeight:!1})),v.Postal=t=>s(C,r(i({label:"\u90F5\u4FBF\u756A\u53F7"},t),{restrict:"postal",multiline:!1,autoHeight:!1,leftIcon:s(Me,{ssSphere:2,fontColor:"4.thin",children:"\u3012"})})),v.Password=t=>s(C,r(i({label:"\u30D1\u30B9\u30EF\u30FC\u30C9",rightIcon:s(me,{ssSphere:2,padding:0,freeCSS:{pointerEvents:"all"},children:s(Ee.Sub,{ssSphere:2,borderRadius:"3.tone.tertiary",fontColor:"theme",flexCenter:!0,height:1,ssEffectsOnActive:["expand"],onMouseOver:n=>{ce.open(n.currentTarget,"\u30C6\u30AD\u30B9\u30C8\u3092\u8868\u793A",24)},onMouseLeave:ce.abort,tabIndex:-1,onClick:n=>{h(n.target).parent().parent().find("input").callback(o=>{let p=o[0];if(!p)return;let a=p.dataset.componentId;if(!a)return;let e=pe.get(a+":set_inputType");e&&e(f=>f==="password"&&"text"||"password")})},children:s(Ne,{icon:Le})})}),restrict:"password"},t),{multiline:!1,autoHeight:!1})),v.Concealed=t=>s(v.Password,r(i({label:"\u79D8\u5BC6\u9375"},t),{restrict:"concealed"})),v.Money={JPY:t=>s(v.DigitNumber,r(i({rightIcon:s(me,{ssSphere:2,fontColor:"4.thin",children:"\u5186"})},t),{multiline:!1,autoHeight:!1}))};export{v as TextField,ze as TextInput,v as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as re,b as s,c as E,d as X}from"../../../chunk-C5N2D3ZX.js";import{Fragment as Ae,jsx as d,jsxs as le}from"react/jsx-runtime";import Z,{UUID as N,useStore as L}from"jmini";import*as z from"jmini";import{useState as W,useEffect as H,useRef as ce}from"react";import{$$fromRoot as ue,Config as ie,ExtractStyles as de}from"../../../@utils";import{Box as Y,FAI as fe}from"../../../atoms";import{Literal as he,Row as ge}from"../../../mols";import{Button as ne}from"../../Button";import ye from"../../Tooltips";import ve from"../../Sheet";import{faClock as Ie}from"@fortawesome/free-solid-svg-icons/faClock";import{faCalendarAlt as Se}from"@fortawesome/free-solid-svg-icons/faCalendarAlt";import{OptionalInputWrapper as Te,BoxWrapper as De,CoreEffects as q,DefaultBoxishStyles as be}from"../core";import{RightIcon as xe}from"..";import ke from"../Select";import{InputLabel as Ee}from"../Label";import we from"./Picker";const F=" ~ ",Ve={clock:{defaultValue:"--:--",format:/^\d{2}\D\d{2}$/,ranges:[{type:"hour",from:0,length:2},{type:"minute",from:3,length:2}],sets:1},date:{defaultValue:"----/--/--",format:/^\d{4}\D\d{2}\D\d{2}$/,ranges:[{type:"year",from:0,length:4},{type:"month",from:5,length:2},{type:"date",from:8,length:2}],sets:1},week:{defaultValue:"----\u5E74\u7B2C--\u9031",format:/^\d{4}\D\d{2}$/,ranges:[{type:"year",from:0,length:4,region:6},{type:"week",from:6,length:2,region:3}],sets:1},month:{defaultValue:"----\u5E74--\u6708",format:/^\d{4}\D\d{2}$/,ranges:[{type:"year",from:0,length:4},{type:"month",from:5,length:2,region:3}],sets:1},year:{defaultValue:"----\u5E74",format:/^\d{4}$/,ranges:[{type:"year",from:0,length:4,region:5}],sets:1},dates:{defaultValue:"----/--/--",format:/^\d{4}\D\d{2}\D\d{2}$/,ranges:[{type:"year",from:0,length:4},{type:"month",from:5,length:2},{type:"date",from:8,length:2,region:5},{type:"year",from:10+F.length,length:4},{type:"month",from:15+F.length,length:2},{type:"date",from:18+F.length,length:2}],sets:2},months:{defaultValue:"----\u5E74--\u6708",format:/^\d{4}\D\d{2}$/,ranges:[{type:"year",from:0,length:4},{type:"month",from:5,length:2,region:6},{type:"year",from:8+F.length,length:4},{type:"month",from:13+F.length,length:2,region:3}],sets:2},dateWareki:{defaultValue:"----\u5E74--\u6708--\u65E5",format:/^\d{4}\D\d{2}\D\d{2}$/,ranges:[{type:"dateWareki",from:0,length:4,region:5},{type:"month",from:5,length:2,region:3},{type:"date",from:8,length:2,region:3}],sets:1}},O={PeriodMargin:" ~ ",DataLeveling:e=>{let{restrict:i,value:f,era:n}=e,u=Z.flatArray(f||""),{defaultValue:k,format:y,ranges:l,sets:a}=Ve[i],S=[],o=i=="clock"&&":"||"/";for(let t=0;t<u.length;t++)u[t]=String(u[t]).replace(/\D/ig,o);for(let t=0;t<a;t++){let p=u[t]||"";if(!p.match(y))u[t]="",S.push(k);else{let x=k;p.split(/\D/).forEach((w,V)=>{if(V==0&&i=="dateWareki"){let v=Number(w);n!="year"&&(v>=2019?n=="reiwa"?v-=2018:n=="heisei"&&(v=31):v>=1989?n=="heisei"?v-=1988:n=="shouwa"&&(v=64):v>=1926?n=="shouwa"?v-=1925:n=="taisho"&&(v=15):v>=1912?n=="taisho"?v-=1911:n=="meiji"&&(v=45):v>=1868&&(v-=1867)),w=v.zeroEmbed(4)}x=x.replace(new RegExp("------------------".slice(0,w.length)),w)}),S.push(x)}}return{formatValue:S.join(F),dataValue:["dates","months"].includes(i)?u:u[0],ranges:l}},SystemValidation:e=>{let{states:i}=e,{restrict:f,min:n,max:u,required:k}=i,y=[],l=Z.flatArray(e.value),a={empty:!1,escalated:1,filled:!0,correct:!0,prohibited:!1};(()=>{let S=f=="clock"&&":"||"/";for(let o=0;o<l.length;o++)l[o]=String(l[o]).replace(/\D/ig,S);for(let o=0;o<l.length;o++){let t=l[o],p=l[o-1];t.removeLetters()||(a.empty=!0),o>0&&(a.escalated&=+(t>=p))}a.escalated&&(a.empty||(f.match(/clock/)?l.forEach(o=>{let[t,p]=o.split(/\D+/);!t||!p?a.filled=!1:(Number(t)>23||Number(p)>59)&&(a.correct=!1)}):f.match(/date/)?l.forEach(o=>{let[t,p,x]=o.split(/\D+/);if(!t||!p||!x)a.filled=!1;else{let w=z.Time(o);(!w.validate||o!=w.toFormatYMD())&&(a.correct=!1)}}):f.match(/week/)?l.forEach(o=>{let[t,p]=o.split(/\D+/);if(!t||!p)a.filled=!1;else{let x=z.Time(t+"/01/01").weekday,V=z.Time(t+"/01/0"+(7-x+1)).addWeek(Number(p)-1);t!=String(V.year)&&(a.correct=!1)}}):f.match(/month/)?l.forEach(o=>{let[t,p]=o.split(/\D+/);!t||!p?a.filled=!1:z.Time([t,p,"01"].join("/")).validate||(a.correct=!1)}):f.match(/year/),a.filled&&a.correct&&l.forEach(o=>{{let t=Number(String(o).replace(/\D/ig,""));if(n&&Number(String(n).replace(/\D/ig,""))>t&&(a.prohibited=!0),u){let p=Number(String(u).replace(/\D/ig,""));t>p&&(a.prohibited=!0)}}})))})();{let{empty:S,escalated:o,filled:t,correct:p,prohibited:x}=a;S&&k&&(y=[{type:"invalid",label:"\u5FC5\u9808\u9805\u76EE\u3067\u3059"}]),o||y.push({type:"invalid",label:"\u6642\u7CFB\u5217\u3092\u6B63\u3057\u304F\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044"}),p||y.push({type:"invalid",label:"\u7121\u52B9\u306A\u5024\u304C\u5165\u529B\u3055\u308C\u3066\u3044\u307E\u3059"}),t||y.push({type:"invalid",label:"\u6700\u5F8C\u307E\u3067\u5024\u3092\u57CB\u3081\u3066\u304F\u3060\u3055\u3044"}),x&&y.push({type:"invalid",label:le(Ae,{children:[d(Y,{children:"\u5165\u529B\u7BC4\u56F2\u304C\u5236\u9650\u3055\u308C\u3066\u3044\u307E\u3059"}),"[",n||"\u4E0B\u9650\u7121\u3057","] ~ [",u||"\u4E0A\u9650\u7121\u3057","]"]})})}return{ok:!y.filter(({type:S})=>S=="invalid").length,notice:y}},KeyDownEvent:e=>{let{val_era:i,restrict:f,event:n,val_status:u,set_status:k,val_focus:y,set_focus:l}=e,{key:a,shiftKey:S,ctrlKey:o,metaKey:t}=n,p=o||t,{selectionStart:x,selectionEnd:w}=n.target,{index:V,prevIndex:v}=y,{ranges:G,formatValue:$}=u,A=G.length-1;if(["Tab","ArrowLeft","ArrowRight"].includes(a)){let h=0;if(a=="Tab"){let m=+!S*2-1;if(h=y.index+m,h<0||h>A)return}else{let m=a=="ArrowLeft"?-1:a=="ArrowRight"?1:0;p||x==0&&w==String(u.formatValue).length?h=m==1?A:0:h=Math.max(0,Math.min(V+m,A))}l(m=>E(s({},m),{index:h,prevIndex:V})),n.preventDefault()}if(["Backspace","ArrowUp","ArrowDown","0","1","2","3","4","5","6","7","8","9"].includes(a)){n.preventDefault();let h=V;h=Math.max(h,0),h=Math.min(h,A);let{type:m,from:U,length:Q}=G[h],P=$.slice(U,U+Q),g;if(a=="Backspace")g="------".slice(0,Q);else if(["ArrowUp","ArrowDown"].includes(a)){let T=a=="ArrowUp"?1:-1;P=P|0,g=P+T;let[D,r,I]=m=="dateWareki"?i=="year"?[0,2999,4]:i=="reiwa"?[1,2999,4]:i=="heisei"?[1,31,4]:i=="shouwa"?[1,64,4]:i=="taisho"?[1,15,4]:i=="meiji"?[1,45,4]:[0,0,0]:m=="minute"?[0,59,2]:m=="hour"?[0,23,2]:m=="date"?[1,31,2]:m=="week"?[1,53,2]:m=="month"?[1,12,2]:m=="year"?[0,2999,4]:[0,0,0];g>r?g=D:g<D&&(g=r),g=Number(g).zeroEmbed(I)}else if(["0","1","2","3","4","5","6","7","8","9"].includes(a)){let T=P|0,D=a,r=`${T}${D}`;if(v!=V&&(T=0,r="0"+D),m=="year"||m=="dateWareki"&&i=="year")Number(r)>1e4?g=D:g=r,(g|0)>1e3&&h++;else if(["hour","minute","date","week","month"].includes(m)||m=="dateWareki"&&i!="year"){let I=m=="dateWareki"?i=="reiwa"?100:i=="heisei"?31:i=="shouwa"?64:i=="taisho"?15:i=="meiji"?45:0:m=="minute"?59:m=="hour"?23:m=="date"?31:m=="week"?53:m=="month"?12:0;g=(r|0)>I?D:r,(Number(D)>Number(String(I)[0])||P=="0000".slice(0,String(I).length)&&(r!="0000".slice(0,String(I).length)||["minute","hour"].includes(m)&&v==V)||(r|0)>=re(10,String(I).length-1))&&h++}m=="year"||m=="dateWareki"?g=(g|0).zeroEmbed(4):g=(g|0).zeroEmbed(2)}{let T=String($).partReplace(U,String(g)),D=T.split(F).map(r=>r.replace(/(^\D|\D$)/,"").split(/\D+/).join(f=="clock"&&":"||"/").replace(/(^\D|\D$)/,""));if(f=="dateWareki"){let r=D[0].split(/\D/),[I,C,j]=r;r.length==3&&I&&(D=[[Number(I)-1+Number({year:1,reiwa:2019,heisei:1989,shouwa:1926,taisho:1912,meiji:1868}[i]),C,j].join("/")])}h=Math.max(h,0),h=Math.min(h,A),k(r=>E(s({},r),{dataValue:["dates","months"].includes(f)?D:D[0],formatValue:T,eventType:"update",eventID:N()})),l(r=>E(s({},r),{index:h,prevIndex:r.index}))}}}},oe={picker:{launch:e=>{let i=e.sheetID||N(),S=e,{onValueUpdate:f,min:n,max:u,era:k,restrict:y,defaultValue:l}=S,a=X(S,["onValueUpdate","min","max","era","restrict","defaultValue"]);ve.open("middleCenter",E(s({sheetID:i,size:"S",padding:0,closeAtAroundClick:!0,closeAtParentBlur:!1},a),{content:d(ge.Center,{children:d(we,{restrict:y,min:n,max:u,era:k,defaultValue:l,sheetID:i,onValueUpdate:(o,t)=>{f(o,t)}})})}))},remove:e=>{ye.close(e)}}},Re={Shallow:e=>{let{rootStates:i,val_status:f}=e,n=de(i);return d(Y,{position:"absolute",top:0,left:0,right:0,height:0,overflow:"hidden",opacity:"trans",freeCSS:{zIndex:3,pointerEvents:"none"},children:d(he.Description,E(s({className:i.className},n),{position:"absolute",width:1,freeCSS:E(s({},n.freeCSS),{color:"orange"}),children:d(Y,{"data-input-value-shallow":f.componentId,children:"A"})}))})}},_e=e=>{let te=e,{tone:i,required:f,restrict:n="clock",componentId:u,era:k,form:y,name:l,min:a,max:S,className:o,enableFormSubmit:t,checkValidationAtFirst:p,onKeyDown:x,onValidate:w,onUpdateValue:V,onUpdateValidValue:v,onValidateDelay:G,value:$="",leftIndicator:A,rightIndicator:h,leftIcon:m,rightIcon:U,freeCSS:Q,wrapStyles:P}=te,g=X(te,["tone","required","restrict","componentId","era","form","name","min","max","className","enableFormSubmit","checkValidationAtFirst","onKeyDown","onValidate","onUpdateValue","onUpdateValidValue","onValidateDelay","value","leftIndicator","rightIndicator","leftIcon","rightIcon","freeCSS","wrapStyles"]),[T,D]=W(k),[r,I]=W({componentId:e.componentId||"",formatValue:"",dataValue:"",ranges:[],eventType:"init",eventID:N()}),[C,j]=W({ok:!1,notice:[]}),[B,J]=W({active:!1,index:0,prevIndex:-1}),se={rootStates:e,val_status:r,set_status:I,val_validate:C,set_validate:j,val_era:T,set_era:D,val_focus:B,set_focus:J};q.CommonEffects({type:"time",states:e,val_status:r,set_status:I,val_validate:C,set_validate:j,SystemValidation:O.SystemValidation,ExtraOverrideStates:()=>O.DataLeveling({restrict:n,value:$,era:T})}),H(()=>{I(c=>s(s({},c),O.DataLeveling({restrict:n,value:$,era:T})))},[]);const ee=ce(!1);return H(()=>{if(ee.current){I(b=>s(s({},b),O.DataLeveling({restrict:n,value:b.dataValue,era:T})));let c=L.get("refreshEra_"+r.componentId);c&&c.refreshEra(T)}else ee.current=!0},[T]),L.update({[r.componentId]:{openPicker:c=>{e.disabled||oe.picker.launch({parent:c,sheetID:"PickerTips-"+r.componentId,restrict:n,min:a,max:S,defaultValue:r.dataValue,era:T,onValueUpdate:(b,_)=>{I(M=>E(s(s({},M),O.DataLeveling({restrict:n,value:b,era:_})),{eventType:"update",eventID:N()})),D(_)}})},resetEra:c=>{D(c),I(b=>E(s(s({},b),O.DataLeveling({restrict:n,value:"",era:T})),{eventType:"update",eventID:N()}))}}}),H(()=>{let{index:c,active:b}=B;if(b){c=Math.max(c,0),c=Math.min(c,r.ranges.length-1);let{from:_,length:M}=r.ranges[c],K=ue("#"+e.id)[0];K&&K.setSelectionRange(_,_+M)}},[B]),le(De,{val_status:r,set_status:I,val_validate:C,states:e,children:[d(Re.Shallow,s({},se)),d(Ee,{componentId:e.componentId,fontSize:e.fontSize,required:e.required,label:e.label,isActive:!0}),ie.get().isTouchDevice?d(ne.Plain,E(s({"data-show-validation":q.isShowValidation(C,r,!!p),"data-component-id":r.componentId,"data-input-origin":r.componentId,"data-disabled":e.disabled,className:o,freeCSS:{textAlign:"left"}},g),{children:r.formatValue,onClick:c=>{let b=L.get(r.componentId);b&&b.openPicker(`[data-input-origin="${r.componentId}"]`),c.stopPropagation()}})):d(Y,s({htmlTag:"input",type:"text",inputMode:"numeric","data-show-validation":q.isShowValidation(C,r,!!p),"data-input-origin":r.componentId,"data-disabled":e.disabled,value:r.formatValue,className:o,tabIndex:ie.get().isTouchDevice?-1:0,onKeyDown:c=>{O.KeyDownEvent({restrict:n,event:c,val_era:T,val_status:r,set_status:I,val_focus:B,set_focus:J}),x&&x(c),t&&q.SubmitForm(c,y)},onKeyUp:c=>{c.key=="Tab"&&J(b=>E(s({},b),{active:!0}))},onClick:c=>{let b=c.target.selectionEnd,_=0;r.ranges.forEach((M,K)=>{let{from:ae,length:me,region:pe}=M;ae<=b&&b<=ae+(pe||me)&&(_=K)}),J(M=>E(s({},M),{active:!0,index:_})),c.preventDefault()},onChange:()=>{}},g))]})},R={Origin:e=>{let i=s({fontSize:"inherit",width:1},e),[f]=W(e.componentId||N());if(i.componentId=f,Z.is.nullish(i.rightIcon)){let n=(e.restrict||"").match(/clock/)?Ie:Se;i.rightIcon=d(xe,{ssSphere:2,freeCSS:{pointerEvents:"all"},children:d(ne.Sub,{color:"cloud",border:"unset",ssSphere:2,fontColor:"theme",boxShadow:"0.normal",borderRadius:"3.tone.tertiary",flexCenter:!0,ssEffectsOnActive:"push",tabIndex:-1,id:"Picker-"+i.componentId,onClick:()=>{let u=L.get(i.componentId);u&&u.openPicker("#Picker-"+i.componentId)},children:d(fe,{icon:n})})})}return d(Te,{componentId:i.componentId,children:_e,states:be(i)})},Clock:e=>d(R.Origin,s({restrict:"clock",era:"clock"},e)),Date:e=>d(R.Origin,s({restrict:"date"},e)),Week:e=>d(R.Origin,s({restrict:"week"},e)),Month:e=>d(R.Origin,s({restrict:"month"},e)),Year:e=>d(R.Origin,s({restrict:"year"},e)),DateWareki:e=>{e=s({},e);let[i]=W(e.componentId||N());e.componentId=i;let y=e,{defaultEra:f="wareki"}=y,n=X(y,["defaultEra"]),[u,k]=W((()=>{let l="year";if(f=="wareki"&&(l="reiwa",e.value)){let[a,S,o]=e.value.split(/\D/);if(a&&S&&o){let t=Number(a);t>=2019?(t-=2019,l="reiwa"):t>=1989?(t-=1989,l="heisei"):t>=1926?(t-=1926,l="shouwa"):t>=1912?(t-=1912,l="taisho"):t>=1868&&(t-=1868,l="meiji"),t+=1}}return l})());return H(()=>{L.set({["refreshEra_"+i]:{refreshEra:l=>{k(l)}}})},[]),d(R.Origin,E(s({restrict:"dateWareki",leftIndicator:d(ke,{label:"\u5143\u53F7",emptySelect:!1,value:u,tone:e.tone||"border",override:"force",flexCenter:!0,borderTopRightRadius:"2/3",borderBottomRightRadius:"2/3",height:1,freeCSS:{whiteSpace:"nowrap"},options:[{value:"year",label:"\u897F\u66A6"},{value:"reiwa",label:"\u4EE4\u548C"},{value:"heisei",label:"\u5E73\u6210"},{value:"shouwa",label:"\u662D\u548C"},{value:"taisho",label:"\u5927\u6B63"},{value:"meiji",label:"\u660E\u6CBB"}],onUpdateValidValue:l=>{k(l);let a=L.get(e.componentId);a&&a.resetEra&&a.resetEra(l)}})},n),{era:u}))},Periods:{Date:e=>d(R.Origin,s({restrict:"dates"},e)),Month:e=>d(R.Origin,s({restrict:"months"},e))},fn:oe};export{R as Time,R as default};
|
|
1
|
+
import{a as ie,b as s,c as k,d as K}from"../../../chunk-C5N2D3ZX.js";import{Fragment as Ce,jsx as h,jsxs as se}from"react/jsx-runtime";import ee,{UUID as W,useStore as $}from"jmini";import*as X from"jmini";import{useState as F,useEffect as z,useRef as ue}from"react";import{$$fromRoot as de,Config as ne,ExtractStyles as fe}from"../../../@utils";import{Box as H,FAI as he}from"../../../atoms";import{Literal as ge,Row as ye}from"../../../mols";import{Button as oe}from"../../Button";import ve from"../../Tooltips";import Ie from"../../Sheet";import{faClock as Se}from"@fortawesome/free-solid-svg-icons/faClock";import{faCalendarAlt as Te}from"@fortawesome/free-solid-svg-icons/faCalendarAlt";import{OptionalInputWrapper as De,BoxWrapper as be,CoreEffects as Y,DefaultBoxishStyles as xe}from"../core";import{RightIcon as ke}from"..";import Ee from"../Select";import{InputLabel as we}from"../Label";import Ve from"./Picker";const O=" ~ ",Re={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+O.length,length:4},{type:"month",from:15+O.length,length:2},{type:"date",from:18+O.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+O.length,length:4},{type:"month",from:13+O.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}},P={PeriodMargin:" ~ ",DataLeveling:e=>{let{restrict:r,value:g,era:i}=e,d=ee.flatArray(g||""),{defaultValue:x,format:v,ranges:o,sets:a}=Re[r],S=[],n=r=="clock"&&":"||"/";for(let t=0;t<d.length;t++)d[t]=String(d[t]).replace(/\D/ig,n);for(let t=0;t<a;t++){let p=d[t]||"";if(!p.match(v))d[t]="",S.push(x);else{let b=x;p.split(/\D/).forEach((E,w)=>{if(w==0&&r=="dateWareki"){let I=Number(E);i!="year"&&(I>=2019?i=="reiwa"?I-=2018:i=="heisei"&&(I=31):I>=1989?i=="heisei"?I-=1988:i=="shouwa"&&(I=64):I>=1926?i=="shouwa"?I-=1925:i=="taisho"&&(I=15):I>=1912?i=="taisho"?I-=1911:i=="meiji"&&(I=45):I>=1868&&(I-=1867)),E=I.zeroEmbed(4)}b=b.replace(new RegExp("------------------".slice(0,E.length)),E)}),S.push(b)}}return{formatValue:S.join(O),dataValue:["dates","months"].includes(r)?d:d[0],ranges:o}},SystemValidation:e=>{let{states:r}=e,{restrict:g,min:i,max:d,required:x}=r,v=[],o=ee.flatArray(e.value),a={empty:!1,escalated:1,filled:!0,correct:!0,prohibited:!1};(()=>{let S=g=="clock"&&":"||"/";for(let n=0;n<o.length;n++)o[n]=String(o[n]).replace(/\D/ig,S);for(let n=0;n<o.length;n++){let t=o[n],p=o[n-1];t.removeLetters()||(a.empty=!0),n>0&&(a.escalated&=+(t>=p))}a.escalated&&(a.empty||(g.match(/clock/)?o.forEach(n=>{let[t,p]=n.split(/\D+/);!t||!p?a.filled=!1:(Number(t)>23||Number(p)>59)&&(a.correct=!1)}):g.match(/date/)?o.forEach(n=>{let[t,p,b]=n.split(/\D+/);if(!t||!p||!b)a.filled=!1;else{let E=X.Time(n);(!E.validate||n!=E.toFormatYMD())&&(a.correct=!1)}}):g.match(/week/)?o.forEach(n=>{let[t,p]=n.split(/\D+/);if(!t||!p)a.filled=!1;else{let b=X.Time(t+"/01/01").weekday,w=X.Time(t+"/01/0"+(7-b+1)).addWeek(Number(p)-1);t!=String(w.year)&&(a.correct=!1)}}):g.match(/month/)?o.forEach(n=>{let[t,p]=n.split(/\D+/);!t||!p?a.filled=!1:X.Time([t,p,"01"].join("/")).validate||(a.correct=!1)}):g.match(/year/),a.filled&&a.correct&&o.forEach(n=>{{let t=Number(String(n).replace(/\D/ig,""));if(i&&Number(String(i).replace(/\D/ig,""))>t&&(a.prohibited=!0),d){let p=Number(String(d).replace(/\D/ig,""));t>p&&(a.prohibited=!0)}}})))})();{let{empty:S,escalated:n,filled:t,correct:p,prohibited:b}=a;S&&x&&(v=[{type:"invalid",label:"\u5FC5\u9808\u9805\u76EE\u3067\u3059"}]),n||v.push({type:"invalid",label:"\u6642\u7CFB\u5217\u3092\u6B63\u3057\u304F\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044"}),p||v.push({type:"invalid",label:"\u7121\u52B9\u306A\u5024\u304C\u5165\u529B\u3055\u308C\u3066\u3044\u307E\u3059"}),t||v.push({type:"invalid",label:"\u6700\u5F8C\u307E\u3067\u5024\u3092\u57CB\u3081\u3066\u304F\u3060\u3055\u3044"}),b&&v.push({type:"invalid",label:se(Ce,{children:[h(H,{children:"\u5165\u529B\u7BC4\u56F2\u304C\u5236\u9650\u3055\u308C\u3066\u3044\u307E\u3059"}),"[",i||"\u4E0B\u9650\u7121\u3057","] ~ [",d||"\u4E0A\u9650\u7121\u3057","]"]})})}return{ok:!v.filter(({type:S})=>S=="invalid").length,notice:v}},KeyDownEvent:e=>{let{val_era:r,restrict:g,event:i,val_status:d,set_status:x,val_focus:v,set_focus:o}=e,{key:a,shiftKey:S,ctrlKey:n,metaKey:t}=i,p=n||t,{selectionStart:b,selectionEnd:E}=i.target,{index:w,prevIndex:I}=v,{ranges:q,formatValue:G}=d,A=q.length-1;if(["Tab","ArrowLeft","ArrowRight"].includes(a)){let y=0;if(a=="Tab"){let m=+!S*2-1;if(y=v.index+m,y<0||y>A)return}else{let m=a=="ArrowLeft"?-1:a=="ArrowRight"?1:0;p||b==0&&E==String(d.formatValue).length?y=m==1?A:0:y=Math.max(0,Math.min(w+m,A))}o(m=>k(s({},m),{index:y,prevIndex:w})),i.preventDefault()}if(["Backspace","ArrowUp","ArrowDown","0","1","2","3","4","5","6","7","8","9"].includes(a)){i.preventDefault();let y=w;y=Math.max(y,0),y=Math.min(y,A);let{type:m,from:B,length:Q}=q[y],L=G.slice(B,B+Q),T;if(a=="Backspace")T="------".slice(0,Q);else if(["ArrowUp","ArrowDown"].includes(a)){let V=a=="ArrowUp"?1:-1;L=L|0,T=L+V;let[f,u,l]=m=="dateWareki"?r=="year"?[0,2999,4]:r=="reiwa"?[1,2999,4]:r=="heisei"?[1,31,4]:r=="shouwa"?[1,64,4]:r=="taisho"?[1,15,4]:r=="meiji"?[1,45,4]:[0,0,0]:m=="minute"?[0,59,2]:m=="hour"?[0,23,2]:m=="date"?[1,31,2]:m=="week"?[1,53,2]:m=="month"?[1,12,2]:m=="year"?[0,2999,4]:[0,0,0];T>u?T=f:T<f&&(T=u),T=Number(T).zeroEmbed(l)}else if(["0","1","2","3","4","5","6","7","8","9"].includes(a)){let V=L|0,f=a,u=`${V}${f}`;if(I!=w&&(V=0,u="0"+f),m=="year"||m=="dateWareki"&&r=="year")Number(u)>1e4?T=f:T=u,(T|0)>1e3&&y++;else if(["hour","minute","date","week","month"].includes(m)||m=="dateWareki"&&r!="year"){let l=m=="dateWareki"?r=="reiwa"?100:r=="heisei"?31:r=="shouwa"?64:r=="taisho"?15:r=="meiji"?45:0:m=="minute"?59:m=="hour"?23:m=="date"?31:m=="week"?53:m=="month"?12:0;T=(u|0)>l?f:u,(Number(f)>Number(String(l)[0])||L=="0000".slice(0,String(l).length)&&(u!="0000".slice(0,String(l).length)||["minute","hour"].includes(m)&&I==w)||(u|0)>=ie(10,String(l).length-1))&&y++}m=="year"||m=="dateWareki"?T=(T|0).zeroEmbed(4):T=(T|0).zeroEmbed(2)}{let V=String(G).partReplace(B,String(T)),f=V.split(O).map(u=>u.replace(/(^\D|\D$)/,"").split(/\D+/).join(g=="clock"&&":"||"/").replace(/(^\D|\D$)/,""));if(g=="dateWareki"){let u=f[0].split(/\D/),[l,R,M]=u;u.length==3&&l&&(f=[[Number(l)-1+Number({year:1,reiwa:2019,heisei:1989,shouwa:1926,taisho:1912,meiji:1868}[r]),R,M].join("/")])}y=Math.max(y,0),y=Math.min(y,A),x(u=>k(s({},u),{dataValue:["dates","months"].includes(g)?f:f[0],formatValue:V,eventType:"update",eventID:W()})),o(u=>k(s({},u),{index:y,prevIndex:u.index}))}}}},le={picker:{launch:e=>{let r=e.sheetID||W(),S=e,{onValueUpdate:g,min:i,max:d,era:x,restrict:v,defaultValue:o}=S,a=K(S,["onValueUpdate","min","max","era","restrict","defaultValue"]);Ie.open("middleCenter",k(s({sheetID:r,size:"S",padding:0,closeAtAroundClick:!0,closeAtParentBlur:!1},a),{content:h(ye.Center,{children:h(Ve,{restrict:v,min:i,max:d,era:x,defaultValue:o,sheetID:r,onValueUpdate:(n,t)=>{g(n,t)}})})}))},remove:e=>{ve.close(e)}}},_e={Shallow:e=>{let{rootStates:r,val_status:g}=e,i=fe(r);return h(H,{position:"absolute",top:0,left:0,right:0,height:0,overflow:"hidden",opacity:"trans",freeCSS:{zIndex:3,pointerEvents:"none"},children:h(ge.Description,k(s({className:r.className},i),{position:"absolute",width:1,freeCSS:k(s({},i.freeCSS),{color:"orange"}),children:h(H,{"data-input-value-shallow":g.componentId,children:"A"})}))})}},Ae=e=>{let ae=e,{tone:r,required:g,restrict:i="clock",componentId:d,era:x,form:v,name:o,min:a,max:S,className:n,enableFormSubmit:t,checkValidationAtFirst:p,onKeyDown:b,onValidate:E,onValidateDelay:w,onUpdateValue:I,onUpdateValidValue:q,onUserAction:G,value:A="",leftIndicator:y,rightIndicator:m,leftIcon:B,rightIcon:Q,freeCSS:L,wrapStyles:T}=ae,V=K(ae,["tone","required","restrict","componentId","era","form","name","min","max","className","enableFormSubmit","checkValidationAtFirst","onKeyDown","onValidate","onValidateDelay","onUpdateValue","onUpdateValidValue","onUserAction","value","leftIndicator","rightIndicator","leftIcon","rightIcon","freeCSS","wrapStyles"]),[f,u]=F(x),[l,R]=F({componentId:e.componentId||"",formatValue:"",dataValue:"",ranges:[],eventType:"init",eventID:W()}),[M,Z]=F({ok:!1,notice:[]}),[U,j]=F({active:!1,index:0,prevIndex:-1}),me={rootStates:e,val_status:l,set_status:R,val_validate:M,set_validate:Z,val_era:f,set_era:u,val_focus:U,set_focus:j};Y.CommonEffects({type:"time",states:e,val_status:l,set_status:R,val_validate:M,set_validate:Z,SystemValidation:P.SystemValidation,ExtraOverrideStates:()=>P.DataLeveling({restrict:i,value:A,era:f})}),z(()=>{R(c=>s(s({},c),P.DataLeveling({restrict:i,value:A,era:f})))},[]);const te=ue(!1);return z(()=>{if(te.current){R(D=>s(s({},D),P.DataLeveling({restrict:i,value:D.dataValue,era:f})));let c=$.get("refreshEra_"+l.componentId);c&&c.refreshEra(f)}else te.current=!0},[f]),$.update({[l.componentId]:{openPicker:c=>{e.disabled||le.picker.launch({parent:c,sheetID:"PickerTips-"+l.componentId,restrict:i,min:a,max:S,defaultValue:l.dataValue,era:f,onValueUpdate:(D,C)=>{R(N=>k(s(s({},N),P.DataLeveling({restrict:i,value:D,era:C})),{eventType:"update",eventID:W()})),u(C)}})},resetEra:c=>{u(c),R(D=>k(s(s({},D),P.DataLeveling({restrict:i,value:"",era:f})),{eventType:"update",eventID:W()}))}}}),z(()=>{let{index:c,active:D}=U;if(D){c=Math.max(c,0),c=Math.min(c,l.ranges.length-1);let{from:C,length:N}=l.ranges[c],J=de("#"+e.id)[0];J&&J.setSelectionRange(C,C+N)}},[U]),se(be,{val_status:l,set_status:R,val_validate:M,states:e,children:[h(_e.Shallow,s({},me)),h(we,{componentId:e.componentId,fontSize:e.fontSize,required:e.required,label:e.label,isActive:!0}),ne.get().isTouchDevice?h(oe.Plain,k(s({"data-show-validation":Y.isShowValidation(M,l,!!p),"data-component-id":l.componentId,"data-input-origin":l.componentId,"data-disabled":e.disabled,className:n,freeCSS:{textAlign:"left"}},V),{children:l.formatValue,onClick:c=>{let D=$.get(l.componentId);D&&D.openPicker(`[data-input-origin="${l.componentId}"]`),c.stopPropagation()}})):h(H,s({htmlTag:"input",type:"text",inputMode:"numeric","data-show-validation":Y.isShowValidation(M,l,!!p),"data-input-origin":l.componentId,"data-disabled":e.disabled,value:l.formatValue,className:n,tabIndex:ne.get().isTouchDevice?-1:0,onKeyDown:c=>{P.KeyDownEvent({restrict:i,event:c,val_era:f,val_status:l,set_status:R,val_focus:U,set_focus:j}),b&&b(c),t&&Y.SubmitForm(c,v)},onKeyUp:c=>{c.key=="Tab"&&j(D=>k(s({},D),{active:!0}))},onClick:c=>{let D=c.target.selectionEnd,C=0;l.ranges.forEach((N,J)=>{let{from:re,length:pe,region:ce}=N;re<=D&&D<=re+(ce||pe)&&(C=J)}),j(N=>k(s({},N),{active:!0,index:C})),c.preventDefault()},onChange:()=>{}},V))]})},_={Origin:e=>{let r=s({fontSize:"inherit",width:1},e),[g]=F(e.componentId||W());if(r.componentId=g,ee.is.nullish(r.rightIcon)){let i=(e.restrict||"").match(/clock/)?Se:Te;r.rightIcon=h(ke,{ssSphere:2,freeCSS:{pointerEvents:"all"},children:h(oe.Sub,{color:"cloud",border:"unset",ssSphere:2,fontColor:"theme",boxShadow:"0.normal",borderRadius:"3.tone.tertiary",flexCenter:!0,ssEffectsOnActive:"push",tabIndex:-1,id:"Picker-"+r.componentId,onClick:()=>{let d=$.get(r.componentId);d&&d.openPicker("#Picker-"+r.componentId)},children:h(he,{icon:i})})})}return h(De,{componentId:r.componentId,children:Ae,states:xe(r)})},Clock:e=>h(_.Origin,s({restrict:"clock",era:"clock"},e)),Date:e=>h(_.Origin,s({restrict:"date"},e)),Week:e=>h(_.Origin,s({restrict:"week"},e)),Month:e=>h(_.Origin,s({restrict:"month"},e)),Year:e=>h(_.Origin,s({restrict:"year"},e)),DateWareki:e=>{e=s({},e);let[r]=F(e.componentId||W());e.componentId=r;let v=e,{defaultEra:g="wareki"}=v,i=K(v,["defaultEra"]),[d,x]=F((()=>{let o="year";if(g=="wareki"&&(o="reiwa",e.value)){let[a,S,n]=e.value.split(/\D/);if(a&&S&&n){let t=Number(a);t>=2019?(t-=2019,o="reiwa"):t>=1989?(t-=1989,o="heisei"):t>=1926?(t-=1926,o="shouwa"):t>=1912?(t-=1912,o="taisho"):t>=1868&&(t-=1868,o="meiji"),t+=1}}return o})());return z(()=>{$.set({["refreshEra_"+r]:{refreshEra:o=>{x(o)}}})},[]),h(_.Origin,k(s({restrict:"dateWareki",leftIndicator:h(Ee,{label:"\u5143\u53F7",emptySelect:!1,value:d,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:o=>{x(o);let a=$.get(e.componentId);a&&a.resetEra&&a.resetEra(o)}})},i),{era:d}))},Periods:{Date:e=>h(_.Origin,s({restrict:"dates"},e)),Month:e=>h(_.Origin,s({restrict:"months"},e))},fn:le};export{_ as Time,_ as default};
|
package/dist/fn/Input/core.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{b as o,c as d,e as b}from"../../chunk-C5N2D3ZX.js";import{jsx as
|
|
1
|
+
import{b as o,c as d,e as b}from"../../chunk-C5N2D3ZX.js";import{jsx as f,jsxs as V}from"react/jsx-runtime";import{useState as k,useEffect as g}from"react";import p,{UUID as y,useStore as v}from"jmini";import{$$fromRoot as D,Config as B}from"../../@utils";import{InputClasses as _}from"../../@styles/componentClasses";import{Box as E,Flex as w,FAI as R,Column as N}from"../../atoms";import{Row as x,Literal as F}from"../../mols";import{Button as A}from"../Button";import h from"../Tooltips";const et=t=>{let[n]=k(t.componentId||y());t=o({},t),t.states=d(o({enableFormSubmit:!0,status_id:y(),override:"never",form:"",id:y(),"aria-label":"Input-"+n},t.states),{componentId:n});let{children:e}=t;return f(e,o({},t.states))},at=t=>{let{children:n,val_status:e,val_validate:a,states:i}=t,{leftIcon:l,wrapStyles:u}=i;return e.eventType=="init"&&!i.checkValidationAtFirst&&(a.notice=[]),V(x.Center,d(o({position:"relative",verticalAlign:"unset",gap:0},u),{className:_("Wrapper"),"data-notice-uid":e.componentId,children:[f(T.Notice,{notice:a.notice,val_status:e}),i.leftIndicator,V(w,{position:"relative",flexSizing:"auto",children:[n,l,f(T.RightIcon,o({},t)),f(T.ClearButton,o({},t))]}),i.rightIndicator]}))},T={ClearButton:t=>!t.states.clearButton||!t.val_status.dataValue?null:f(A.Normal,{ssSphere:2,flexCenter:!0,fontColor:"5.translucent",ssEffectsOnActive:["ripple.theme"],position:"absolute",right:1,top:"50%",freeCSS:{zIndex:3,transform:"translateY(-50%)"},onClick:()=>{t.set_status(n=>d(o({},n),{dataValue:"",formatValue:"",eventType:"update",eventID:y()}))},children:f(R.X,{})}),RightIcon:t=>t.states.clearButton&&t.val_status.dataValue?null:t.states.rightIcon,Notice:t=>{let{notice:n,val_status:e}=t,{componentId:a}=e,i="NoticeTimer-"+a,l="NoticeTimerClose-"+a,u="notice-tips-"+a;return g(()=>{p.interval.once(()=>{if(!n.length){h.close(u);return}h.open({tipsID:u,parent:`[data-notice-uid="${a}"]`,gravityPoint:22,padding:[1,0],closeAtParentBlur:!1,content:V(h.Body,{padding:["1/2","2/3"],fontSize:"1.mini",position:"relative",children:[f(E,{position:"absolute",unitHeight:1,unitWidth:1,left:1,backgroundColor:"dark",freeCSS:{zIndex:1,transform:"rotate(45deg)",top:-6}}),f(N,{backgroundColor:"inherit",gap:"1/3",position:"relative",freeCSS:{zIndex:2},children:n.map((I,S)=>{let{type:r,label:s}=I,m=r=="invalid"?R.X:r=="warn"?R.Exclamation:R.Check;return V(x.Left,{gap:0,borderRadius:"2.tone.secondary",children:[f(m,{flexCenter:!0,fontSize:"2.normal",fontColor:{invalid:"nega",warn:"warn",valid:"posi"}[r]}),f(F.Supplement,{fontSize:"0.xs",fontColor:"white",children:s})]},S+"-"+p.Stringify(I))})})]})})},350,i),p.interval.once(()=>{h.close(u)},6e3,l)},[n]),null}},L={DefaultStatus:(t,n)=>({componentId:t,dataValue:n,eventType:"init",eventID:y()}),CommonEffects:function(t){let{type:n,states:e,val_status:a,set_status:i,val_validate:l,set_validate:u,SystemValidation:I}=t;e=o({},e);let{componentId:S}=a;g(()=>(v.update({[S]:{ResolveRefresh:null,Refresh:()=>new Promise((r,s)=>{v.get(S).ResolveRefresh=r,i(m=>d(o({},m),{eventType:"refresh",eventID:y()}))}),GenNotice:r=>{let{ok:s,notice:m}=r;u({ok:s,notice:m})}}}),()=>{v.delete(S)}),[]),p.scope(()=>{let{override:r}=e;if(r=="never"||r=="beforeModified"&&!["init","override"].includes(a.eventType))return;let s=v.get(a.componentId);s&&(e.value!=a.dataValue&&e.status_id!=s.status_id&&i(m=>d(o(d(o({},m),{dataValue:e.value}),t.ExtraOverrideStates&&t.ExtraOverrideStates()),{eventType:"override",eventID:y()})),s.status_id=e.status_id)}),g(()=>{L.ValidationCheck({val_status:a,set_validate:u,SystemValidation:I,states:e})},[a.eventID,a.dataValue]),g(()=>(p.scope(()=>{let{componentId:r,eventType:s,dataValue:m}=a,c=m;if(n=="autocomplete.single"||n=="list.radio"?c=c[0]:e.isChecker&&(c=!!c[0]),e.form=e.form||"testForm",e.name&&e.form&&v.update({[["form-data",e.form].join("-")]:{[e.name]:{componentId:r,type:n,value:c,validation:l.ok}}}),e.onUserAction&&e.onUserAction(c,{eventType:s,componentId:r,isValidated:!!l.ok,isComposing:!!a.isComposing,isFocusing:!!a.isFocusing}),s=="refresh"){let C=v.get(r);C&&C.ResolveRefresh&&C.ResolveRefresh(null)}else s=="update"&&(e.onUpdateValue&&e.onUpdateValue(c,s,r),p.scope(()=>{l.ok&&e.onUpdateValidValue&&e.onUpdateValidValue(c,s,r)}))}),()=>{v.update({[["form-data",e.form].join("-")]:{[e.name]:null}})}),[l])},ValidationCheck:t=>{let{states:n}=t,e="ValidationTimer-"+t.val_status.componentId;p.interval.abort(e);let a=t.SystemValidation({value:t.val_status.dataValue,states:n});if(!a.ok){t.set_validate(a);return}let i=a.notice;const l=()=>b(void 0,null,function*(){if(!n.onValidate)return;let u=yield n.onValidate(t.val_status.dataValue,t.val_status.eventType,t);t.set_validate({ok:u.ok,notice:[...i,...u.notice]})});if(n.onValidate){if(t.val_status.eventType=="refresh"){l();return}p.interval.once(l,n.onValidateDelay||500,e);return}t.set_validate({ok:!0,notice:i})},SubmitForm:(t,n)=>{let e=!1;if(!n)return e;let a=D(`[data-form-submit-button="${n}"]`)[0];if(!a)return e;let i=a.dataset.sdfike||"",l=t.key,u=t.ctrlKey||t.metaKey;return p.scope(()=>{i.includes("enter")&&(l!="Enter"||t.nativeEvent.isComposing||B.get().browserIs=="safari"&&t.keyCode==229)||((l=="Enter"&&(i.includes("enter")||i.includes("auxEnter")&&u)||l==" "&&i.includes("space"))&&(a.click(),t.preventDefault()),e=!0)}),e},isShowValidation:(t,n,e)=>{let a=t.ok;return!e&&n.eventType=="init"&&(a=!0),a}},nt=function(t){t=o({tone:"border"},t);let n=p.scope(()=>{if(t.tone=="plain")return{};let a={padding:"3/4",transition:"middle",flexSizing:"auto",boxShadow:"0.min"};return t.tone=="border"?a=d(o({},a),{border:!0,borderRadius:"2.tone.secondary",backgroundColor:"layer.1"}):t.tone=="cloud"?a=d(o({},a),{border:"1.thin",borderRadius:"2.tone.secondary",backgroundColor:"cloud"}):t.tone=="bottomBorder"&&(a=d(o({},a),{borderRadius:0,border:"unset",borderBottom:!0,backgroundColor:"cloud"})),a});return d(o(o(o(o(o(o({fontColor:"2.normal"},n),!!t.rightIcon&&{paddingRight:3}),!!t.leftIcon&&{paddingLeft:3}),!!t.leftIndicator&&{borderTopLeftRadius:"2/3",borderBottomLeftRadius:"2/3",marginLeft:"1/4"}),!!t.rightIndicator&&{borderTopRightRadius:"2/3",borderBottomRightRadius:"2/3",marginRight:"1/4"}),t),{freeCSS:o({letterSpacing:"1px",resize:"none"},t.freeCSS),className:[_("Input"),t.className].join(" ")})};export{at as BoxWrapper,L as CoreEffects,nt as DefaultBoxishStyles,et as OptionalInputWrapper};
|
package/dist/fn/Input/index.d.ts
CHANGED
|
@@ -4,6 +4,13 @@ export declare namespace InputTypes {
|
|
|
4
4
|
type BoxTone = 'border' | 'cloud' | 'bottomBorder' | 'plain';
|
|
5
5
|
type Type = 'hidden' | 'textfield' | 'textfield.multiline' | 'select' | 'list.radio' | 'list.checkbox' | 'autocomplete.single' | 'autocomplete.multi' | 'time' | 'switch' | 'slider' | 'file' | 'contenteditable' | 'color' | '';
|
|
6
6
|
type OnUpdateValue<T = any> = (value: T, eventType: Validation.EventType, componentId: string) => void;
|
|
7
|
+
type OnUserAction<T = any> = (value: T, option: {
|
|
8
|
+
eventType?: Validation.EventType;
|
|
9
|
+
componentId?: string;
|
|
10
|
+
isValidated?: boolean;
|
|
11
|
+
isComposing?: boolean;
|
|
12
|
+
isFocusing?: boolean;
|
|
13
|
+
}) => void;
|
|
7
14
|
type UniInput<T = any> = {
|
|
8
15
|
'data-type'?: T;
|
|
9
16
|
name?: string;
|
|
@@ -18,13 +25,14 @@ export declare namespace InputTypes {
|
|
|
18
25
|
onValidateDelay?: number;
|
|
19
26
|
onUpdateValue?: OnUpdateValue<T>;
|
|
20
27
|
onUpdateValidValue?: OnUpdateValue<T>;
|
|
28
|
+
onUserAction?: OnUserAction<T>;
|
|
21
29
|
};
|
|
22
30
|
type CoreInput<T = any> = UniInput<T> & StyleTags.States & {
|
|
23
31
|
className?: string;
|
|
24
32
|
wrapStyles?: StyleTags.States;
|
|
25
33
|
};
|
|
26
34
|
namespace Validation {
|
|
27
|
-
type EventType = 'init' | 'update' | 'override' | 'refresh';
|
|
35
|
+
type EventType = 'init' | 'update' | 'override' | 'refresh' | "composing.start" | "composing.end" | "focus.start" | "focus.end";
|
|
28
36
|
type Notice = {
|
|
29
37
|
type: 'valid' | 'invalid' | 'warn';
|
|
30
38
|
label: ReactElement;
|
|
@@ -45,6 +53,8 @@ export declare namespace InputTypes {
|
|
|
45
53
|
dataValue: T;
|
|
46
54
|
eventType: Validation.EventType;
|
|
47
55
|
eventID: string;
|
|
56
|
+
isFocusing?: boolean;
|
|
57
|
+
isComposing?: boolean;
|
|
48
58
|
};
|
|
49
59
|
type Text = Plain & {
|
|
50
60
|
formatValue: any;
|
package/dist/fn/Input/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import"../../chunk-C5N2D3ZX.js";import*as t from"./Parts";export*from"./Parts";import i from"./Plain";import a from"./Hidden";import p from"./TextField";import m from"./Contenteditable";import
|
|
1
|
+
import"../../chunk-C5N2D3ZX.js";import*as t from"./Parts";export*from"./Parts";import i from"./Plain";import a from"./Hidden";import p from"./TextField";import m from"./Contenteditable";import n from"./DigitCharacters";import l from"./Time";import s from"./Select";import d from"./Autocomplete";import*as r from"./List";import c from"./Search";import x from"./Filer";import y from"./Slider";import f from"./Switch";import T from"./Checker";import g from"./Segmented";import S from"./Color";import b from"./CollectForm";var o;(e=>(e.Plain=i,e.Hidden=a,e.TextField=p,e.Contenteditable=m,e.DigitCharacters=n,e.Time=l,e.Select=s,e.Autocomplete=d,e.List=r.List,e.Radio=r.Radio,e.Checkbox=r.Checkbox,e.Checker=T,e.Search=c,e.Filer=x,e.Slider=y,e.Switch=f,e.Segmented=g,e.Color=S,e.LeftIcon=t.LeftIcon,e.RightIcon=t.RightIcon,e.LeftIndicator=t.LeftIndicator,e.RightIndicator=t.RightIndicator,e.RequiredSign=t.RequiredSign,e.RequiredShortSign=t.RequiredShortSign,e.OmitSign=t.OmitSign,e.CollectForm=b))(o||(o={}));export{o as Input,o as default};
|