amotify 0.2.159 → 0.2.160

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.
@@ -29,6 +29,11 @@ declare namespace TextField {
29
29
  rightIndicator?: ReactElement | false;
30
30
  leftIcon?: ReactElement | false;
31
31
  rightIcon?: ReactElement | false;
32
+ defaultValidation?: {
33
+ reg: RegExp;
34
+ reason: ReactElement;
35
+ exist: boolean;
36
+ };
32
37
  };
33
38
  type WrapperStates = {
34
39
  rootStates: Input;
@@ -1,3 +1,3 @@
1
- import{b as l,c as m,d as Y,e as te}from"../../chunk-C5N2D3ZX.js";import{Fragment as le,jsx as n,jsxs as K}from"react/jsx-runtime";import b,{UUID as M,useStore as Ie}from"jmini";import{useState as Z,useEffect as G}from"react";import{$$fromRoot as ve,ExtractStyles as Ce}from"../../@utils";import{Box as F,FAI as Te}from"../../atoms";import{Literal as X}from"../../mols";import{Tips as ae,Button as we}from"..";import{faEye as Re}from"@fortawesome/free-solid-svg-icons/faEye";import{OptionalInputWrapper as ye,BoxWrapper as Ve,CoreEffects as U,DefaultBoxishStyles as De}from"./core";import{InputLabel as ke}from"./Label";import{LeftIcon as Ne,RightIcon as ie}from".";const Fe={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:K(le,{children:[n(F,{children:"\u25CB\u25CB\u25CB\u25CB@\u25CB\u25CB\u25CB\u25CB.\u25CB\u25CB\u25CB\u306E\u5F62\u5F0F\u3067\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044"}),n(F,{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:K(le,{children:[n(F,{children:"0\u304B\u3089\u59CB\u307E\u308B\u756A\u53F7\u306E\u307F\u5165\u529B\u53EF\u80FD\u3067\u3059"}),n(F,{children:"9~12\u6841\u306E\u6570\u5B57\u3067\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044"}),n(F,{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"}},R={setSelection:e=>{let{id:a,restrict:o,val_status:r}=e,i=ve("#"+a)[0];if(i&&r.prevValue&&r.formatValue){let{formatValue:t,prevValue:d,caretFrom:u,caretTo:s}=r;if(o=="creditCard")t.length>=d.length&&u%5==0&&(u++,s++),i.setSelectionRange(u,s);else if(o=="postal")t.length==5&&d.length==3&&(u++,s++),i.setSelectionRange(u,s);else if(o=="digitNumber"){let g=t.length-d.length;g==2&&(u++,s++),g==-2&&(u--,s--),i.setSelectionRange(u,s)}}},Validation:{System:e=>{let{value:a,states:o}=e,{restrict:r="text",maxLength:i,multiline:t,required:d}=o,u=[];if(t||(i=i||255),b.is.exist(i)&&a.length>=Number(i)&&u.push({type:"invalid",label:i+"\u5B57\u4EE5\u5185\u3067\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044"}),a){let s=R.Validation.Text(a,r);s.ok||u.push({type:"invalid",label:s.body})}else d&&u.push({type:"invalid",label:"\u5FC5\u9808\u9805\u76EE\u3067\u3059"});return{ok:!u.filter(({type:s})=>s=="invalid").length,notice:u}},Text:(e,a)=>{let o={ok:!0,body:""};return(()=>{let r=Fe[a];if(!r)return;let i=r.reason;if(r){let t=!!(+!!e.match(r.reg)^+!r.exist);o={ok:t,body:t?"":i}}})(),o},DataLeveling:e=>{let{restrict:a,allowDecimals:o,allowZeroStart:r,value:i=""}=e,t=String(i);["tel","number","digitNumber","test","postal","creditCard"].includes(a)&&(t=t.zen2hanNumber()),a=="katakana",a=="hankaku.katakana",["postal","creditCard"].includes(a)&&(t=t.removeLetters()),b.scope(()=>{if(!["number","digitNumber"].includes(a))return;t=t.replace(/(\.\d+)\..*/g,"$1").replace(/\.+/g,".").replace(/[^0-9.-]/g,"");let u=Number(t)<0||t[0]=="-";t=t.replace(/[^0-9.]/g,""),u&&(t="-"+t),o||(t=t.replace(/\.\d?/g,"")),b.scope(()=>{a=="number"&&(r||(t=t.replace(/^0(\d+)/g,"$1").replace(/^-0(\d+)/g,"-$1")))}),b.scope(()=>{let s=t.slice(-1);t&&s!="."&&s!="-"&&(b.is.exist(e.min)&&(t=String(Math.max(Number(t),Number(e.min)))),b.is.exist(e.max)&&(t=String(Math.min(Number(t),Number(e.max)))))}),b.scope(()=>{if(!t||t=="-"||a!="digitNumber")return;let s=Number(t)<0,g=String(Math.abs(Math.round(Number(t)))),C=t.split("."),V=[];for(let f=g.length-1;f>=0;f--){V.unshift(g[f]);let c=g.length-1-f+1;f!=0&&c%3==0&&V.unshift(",")}t=V.join(""),s&&(t="-"+t),(C==null?void 0:C.length)==2&&(t+="."+C[1]||"")})});let d=t;return a=="digitNumber"||(a=="postal"?t.length>=4&&(d=t.clip(0,3)+"-"+t.clip(3)):a=="creditCard"&&(d=t.replace(/.{4}(?=.)/g,"$& "))),t=t.replace(/,/g,""),{formatValue:d,dataValue:t}}},Shallow:e=>{let{rootStates:a,val_status:o}=e,r=o.dataValue||"";G(()=>{b.scope(()=>te(void 0,null,function*(){if(!a.multiline)return;let g=b('[data-input-origin="'+o.componentID+'"]'),C=b('[data-input-shallow="'+o.componentID+'"]'),V=b('[data-input-min-height-value-shallow="'+o.componentID+'"]'),f=b('[data-input-max-height-value-shallow="'+o.componentID+'"]');if(!g[0]||!C[0]||!V[0]||!f[0])return;let c=C.position(),_=V.position(),L=f.position(),S=0;a.autoHeight&&(S=c.height),S=Math.max(S,_.height),S=Math.min(S,L.height),g[0].style.height=S+"px"}))},[r]);let i=r||"";(!!r.match(/\n$/)||!r)&&(i+="T");let d="",u="";if(a.multiline){let g=a.minRows||1,C=a.maxRows||100;d=`
2
- T`.repeat(g-1),u=`
3
- T`.repeat(C-1)}let s=Ce(a);return K(F,{position:"absolute",top:0,left:0,right:0,height:0,overflow:"hidden",opacity:"trans",freeCSS:{zIndex:3,pointerEvents:"none"},children:[n(X.Description,m(l({className:a.className},s),{position:"absolute",width:1,freeCSS:m(l({},s.freeCSS),{color:"orange"}),"data-input-shallow":o.componentID,children:n(F,{"data-input-value-shallow":o.componentID,children:i})})),n(X.Description,m(l({className:a.className},s),{position:"absolute",left:0,freeCSS:m(l({},s.freeCSS),{backgroundColor:"transparent",color:"blue"}),"data-input-min-height-value-shallow":o.componentID,children:d})),n(X.Description,m(l({className:a.className},s),{position:"absolute",right:0,freeCSS:m(l({},s.freeCSS),{backgroundColor:"transparent",color:"red"}),"data-input-max-height-value-shallow":o.componentID,children:u}))]})},InputBox:e=>{let{rootStates:a,val_validate:o,set_validate:r,val_status:i,set_status:t,val_focus:d,set_focus:u,val_isComposing:s,set_isComposing:g}=e;if(a.multiline)return null;let ee=a,{componentID:C,tone:V,required:f,restrict:c="text",form:_,autoComplete:L="off",autoCapitalize:S="off",minRows:ne,maxRows:oe,multiline:re,autoHeight:se,enableFormSubmit:W,clearButton:ue=!1,allowDecimals:$,allowZeroStart:H,checkValidationAtFirst:P,onChange:O,onKeyDown:q,onValidate:me,onUpdateValue:ce,onUpdateValidValue:pe,value:de="",leftIndicator:fe,rightIndicator:ge,leftIcon:he,rightIcon:I,maxLength:xe,min:B,max:T,label:j,isLabelActive:Q,wrapStyles:Ee}=ee,p=Y(ee,["componentID","tone","required","restrict","form","autoComplete","autoCapitalize","minRows","maxRows","multiline","autoHeight","enableFormSubmit","clearButton","allowDecimals","allowZeroStart","checkValidationAtFirst","onChange","onKeyDown","onValidate","onUpdateValue","onUpdateValidValue","value","leftIndicator","rightIndicator","leftIcon","rightIcon","maxLength","min","max","label","isLabelActive","wrapStyles"]),be=c=="password"||c=="concealed"?"password":"text",Se=["number","digitNumber","creditCard"].includes(c)?"numeric":c=="email"?"email":"text";return n(F,m(l({htmlTag:"input",type:be,inputMode:Se,"data-disabled":a.disabled,"data-show-validation":U.isShowValidation(o,i,!!P),"data-component-id":i.componentID,"data-input-origin":i.componentID,value:i.formatValue,autoComplete:L,autoCapitalize:S,onKeyDown:h=>{let{key:w,target:E}=h;{let D=E,{selectionStart:k,selectionEnd:v}=D,A=Number(k),z=Number(v),N=i.formatValue[Number(A)],J=i.formatValue[Number(A)-1];w=="Delete"&&(c=="creditCard"&&N==" "||c=="postal"&&N=="-"||c=="digitNumber"&&N==",")&&(D.setSelectionRange(A+1,z+1),h.preventDefault()),w=="Backspace"&&(c=="creditCard"&&J==" "||c=="postal"&&J=="-"||c=="digitNumber"&&J==",")&&(D.setSelectionRange(A-1,z-1),h.preventDefault()),w=="Enter"||w=="Tab"}b.scope(()=>{["number","digitNumber","creditCard"].includes(c)&&w=="Clear"&&t(D=>m(l({},D),{dataValue:"",formatValue:"",eventType:"update",eventID:M()}))}),b.scope(()=>{var z;if(!["number","digitNumber"].includes(c)||!["ArrowUp","ArrowDown"].includes(w))return;let D=+(w=="ArrowUp")*2-1,k=i.dataValue.slice(-1),v=i.dataValue,A=((z=i.dataValue.split(".")[1])==null?void 0:z.length)||0;if(!k)v+="0";else if(k=="-")v+="0";else if(k==".")v+="0";else if(A){let N=Number(k)+D;v=v.slice(0,-1),N<0?v+="9":N>9?v+="0":v+=String(N)}else v=String(Number(i.dataValue.replace(/,/g,""))+D);o.ok&&r({ok:!1,notice:[]}),t(N=>m(l(l({},N),R.Validation.DataLeveling({allowDecimals:$,allowZeroStart:H,min:B,max:T,restrict:c,value:v})),{eventType:"update",eventID:M()})),h.preventDefault()}),q&&q(h),W&&U.SubmitForm(h,_)},onChange:h=>{let{value:w,selectionStart:E,selectionEnd:D}=h.target,k=R.Validation.DataLeveling({allowDecimals:$,allowZeroStart:H,min:B,max:T,restrict:c,value:w});s&&(k.formatValue=w),k.formatValue!=i.formatValue&&(o.ok&&r({ok:!1,notice:[]}),t(v=>m(l(l({},v),k),{prevValue:i.formatValue,eventType:"update",eventID:M(),caretFrom:Number(E),caretTo:Number(D)})),O&&O(h))},width:1},p),{onFocus:h=>{p!=null&&p.onFocus&&(p==null||p.onFocus(h)),u(!0)},onBlur:h=>{p!=null&&p.onBlur&&(p==null||p.onBlur(h)),u(!1)},onCompositionStart:h=>{p!=null&&p.onCompositionStart&&(p==null||p.onCompositionStart(h)),g(!0)},onCompositionEnd:h=>{if(p!=null&&p.onCompositionEnd&&(p==null||p.onCompositionEnd(h)),c=="text")return;let w=R.Validation.DataLeveling({allowDecimals:$,allowZeroStart:H,min:B,max:T,restrict:c,value:i.formatValue});t(E=>m(l(l({},E),w),{prevValue:E.formatValue,eventType:"update",eventID:M(),caretFrom:Number(E.formatValue.length+1),caretTo:Number(E.formatValue.length+1)})),g(!1)}}))},TextAreaBox:e=>{let{rootStates:a,val_focus:o,set_focus:r,val_validate:i,set_validate:t,val_status:d,set_status:u,isShallow:s}=e,B=a,{componentID:g,tone:C,required:V,form:f,label:c,isLabelActive:_,minRows:L,maxRows:S,multiline:ne,autoHeight:oe,allowDecimals:re,allowZeroStart:se,enableFormSubmit:W,maxLength:ue,checkValidationAtFirst:$,onChange:H,onKeyDown:P,onValidate:O,onUpdateValue:q,onUpdateValidValue:me,value:ce="",leftIndicator:pe,rightIndicator:de,leftIcon:fe,rightIcon:ge,wrapStyles:he}=B,I=Y(B,["componentID","tone","required","form","label","isLabelActive","minRows","maxRows","multiline","autoHeight","allowDecimals","allowZeroStart","enableFormSubmit","maxLength","checkValidationAtFirst","onChange","onKeyDown","onValidate","onUpdateValue","onUpdateValidValue","value","leftIndicator","rightIndicator","leftIcon","rightIcon","wrapStyles"]);return!a.multiline?null:n(F,m(l({htmlTag:"textarea","data-show-validation":U.isShowValidation(i,d,!!$),"data-input-origin":d.componentID,"data-component-id":d.componentID,value:d.dataValue,width:1},I),{onFocus:T=>{I!=null&&I.onFocus&&(I==null||I.onFocus(T)),r(!0)},onBlur:T=>{I!=null&&I.onBlur&&(I==null||I.onBlur(T)),r(!1)},onKeyDown:T=>{P&&P(T),W&&U.SubmitForm(T,f)},onChange:T=>{let{value:j}=T.target;i.ok&&t({ok:!1,notice:[]}),u(Q=>m(l({},Q),{dataValue:j,eventType:"update",eventID:M()})),H&&H(T)}}))}},_e=e=>{let{componentID:a,restrict:o="text",value:r="",min:i,max:t,allowDecimals:d,allowZeroStart:u}=e,[s,g]=Z(!1),[C,V]=Z(!1),[f,c]=Z(m(l({componentID:a},R.Validation.DataLeveling({allowDecimals:d,allowZeroStart:u,min:i,max:t,restrict:o,value:r})),{prevValue:"",eventType:"init",eventID:M(),caretFrom:null,caretTo:null})),[_,L]=Z({ok:!1,notice:[]}),S={rootStates:e,val_focus:s,set_focus:g,val_isComposing:C,set_isComposing:V,val_status:f,set_status:c,val_validate:_,set_validate:L};return U.CommonEffects({type:"textfield",states:e,val_status:f,set_status:c,val_validate:_,set_validate:L,SystemValidation:R.Validation.System,ExtraOverrideStates:l({},R.Validation.DataLeveling({allowDecimals:d,allowZeroStart:u,min:i,max:t,restrict:o,value:r}))}),G(()=>{R.setSelection({id:e.id,restrict:o,val_status:f})},[f]),K(Ve,{val_status:f,set_status:c,val_validate:_,states:S.rootStates,children:[n(ke,{componentID:e.componentID,fontSize:e.fontSize,required:e.required,label:e.label,isActive:e.isLabelActive||s||!!f.dataValue}),n(R.Shallow,l({},S)),n(R.InputBox,l({},S)),n(R.TextAreaBox,l({},S))]})},y=e=>(e=l({autoHeight:!0,restrict:"text",fontSize:"inherit"},e),e.multiline?(e.minRows=e.minRows||5,e.maxRows=e.maxRows||20):(e.minRows=1,e.maxRows=1),n(ye,{componentID:e.componentID,children:_e,states:De(e)})),x=y;x.Validate=R.Validation.Text,x.Katakana=e=>n(y,m(l({},e),{restrict:"katakana",multiline:!1,autoHeight:!1})),x.HankakuKatakana=e=>n(y,m(l({},e),{restrict:"hankaku.katakana",multiline:!1,autoHeight:!1})),x.CreditCard=e=>n(y,m(l({},e),{restrict:"creditCard",multiline:!1,autoHeight:!1})),x.Tel=e=>n(y,m(l({},e),{restrict:"tel",multiline:!1,autoHeight:!1})),x.Number=e=>n(y,m(l({},e),{restrict:"number",multiline:!1,autoHeight:!1})),x.DigitNumber=e=>n(y,m(l({},e),{restrict:"digitNumber",multiline:!1,autoHeight:!1})),x.Email=e=>n(y,m(l({},e),{restrict:"email",multiline:!1,autoHeight:!1})),x.Url=e=>n(y,m(l({},e),{restrict:"url",multiline:!1,autoHeight:!1})),x.Postal=e=>{let[a]=Z(M());return G(()=>()=>{Ie.delete(a)},[]),n(y,m(l({label:"\u90F5\u4FBF\u756A\u53F7"},e),{restrict:"postal",multiline:!1,autoHeight:!1,leftIcon:n(Ne,{ssSphere:2,fontColor:"4.thin",children:"\u3012"})}))},x.Password=e=>n(y,m(l({label:"\u30D1\u30B9\u30EF\u30FC\u30C9",rightIcon:n(ie,{ssSphere:2,padding:0,freeCSS:{pointerEvents:"all"},children:n(we.Sub,{ssSphere:2,borderRadius:"3.tone.tertiary",fontColor:"theme",flexCenter:!0,height:1,ssEffectsOnActive:["expand"],onMouseOver:a=>{ae.open(a.currentTarget,"\u30C6\u30AD\u30B9\u30C8\u3092\u8868\u793A",24)},onMouseLeave:ae.abort,tabIndex:-1,onClick:a=>{b(a.target).parent().parent().find("input").callback(o=>{let r=o[0];r.type=r.type==="password"?"text":"password"})},children:n(Te,{icon:Re})})}),restrict:"password"},e),{multiline:!1,autoHeight:!1})),x.Concealed=e=>n(x.Password,m(l({label:"\u79D8\u5BC6\u9375"},e),{restrict:"concealed"})),x.Money={JPY:e=>n(x.DigitNumber,m(l({rightIcon:n(ie,{ssSphere:2,fontColor:"4.thin",children:"\u5186"})},e),{multiline:!1,autoHeight:!1}))};export{x as TextField,_e as TextInput,x as default};
1
+ import{b as i,c as u,d as G,e as ae}from"../../chunk-C5N2D3ZX.js";import{Fragment as ne,jsx as n,jsxs as W}from"react/jsx-runtime";import b,{UUID as M,useStore as ve}from"jmini";import{useState as Z,useEffect as X}from"react";import{$$fromRoot as Ce,ExtractStyles as Te}from"../../@utils";import{Box as F,FAI as Re}from"../../atoms";import{Literal as j}from"../../mols";import{Tips as le,Button as we}from"..";import{faEye as ye}from"@fortawesome/free-solid-svg-icons/faEye";import{OptionalInputWrapper as Ve,BoxWrapper as De,CoreEffects as U,DefaultBoxishStyles as ke}from"./core";import{InputLabel as Ne}from"./Label";import{LeftIcon as Fe,RightIcon as ie}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:W(ne,{children:[n(F,{children:"\u25CB\u25CB\u25CB\u25CB@\u25CB\u25CB\u25CB\u25CB.\u25CB\u25CB\u25CB\u306E\u5F62\u5F0F\u3067\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044"}),n(F,{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:W(ne,{children:[n(F,{children:"0\u304B\u3089\u59CB\u307E\u308B\u756A\u53F7\u306E\u307F\u5165\u529B\u53EF\u80FD\u3067\u3059"}),n(F,{children:"9~12\u6841\u306E\u6570\u5B57\u3067\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044"}),n(F,{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"}},R={setSelection:e=>{let{id:a,restrict:r,val_status:s}=e,l=Ce("#"+a)[0];if(l&&s.prevValue&&s.formatValue){let{formatValue:t,prevValue:p,caretFrom:d,caretTo:o}=s;if(r=="creditCard")t.length>=p.length&&d%5==0&&(d++,o++),l.setSelectionRange(d,o);else if(r=="postal")t.length==5&&p.length==3&&(d++,o++),l.setSelectionRange(d,o);else if(r=="digitNumber"){let f=t.length-p.length;f==2&&(d++,o++),f==-2&&(d--,o--),l.setSelectionRange(d,o)}}},Validation:{System:e=>{let{value:a,states:r}=e,{restrict:s="text",defaultValidation:l,maxLength:t,multiline:p,required:d}=r,o=[];if(p||(t=t||255),b.is.exist(t)&&a.length>=Number(t)&&o.push({type:"invalid",label:t+"\u5B57\u4EE5\u5185\u3067\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044"}),a){let f=R.Validation.Text(a,s,l);f.ok||o.push({type:"invalid",label:f.body})}else d&&o.push({type:"invalid",label:"\u5FC5\u9808\u9805\u76EE\u3067\u3059"});return{ok:!o.filter(({type:f})=>f=="invalid").length,notice:o}},Text:(e,a,r)=>{let s={ok:!0,body:""};return(()=>{let l=r||_e[a];if(!l)return;let t=l.reason;if(l){let p=!!(+!!e.match(l.reg)^+!l.exist);s={ok:p,body:p?"":t}}})(),s},DataLeveling:e=>{let{restrict:a,allowDecimals:r,allowZeroStart:s,value:l=""}=e,t=String(l);["tel","number","digitNumber","test","postal","creditCard"].includes(a)&&(t=t.zen2hanNumber()),a=="katakana",a=="hankaku.katakana",["postal","creditCard"].includes(a)&&(t=t.removeLetters()),b.scope(()=>{if(!["number","digitNumber"].includes(a))return;t=t.replace(/(\.\d+)\..*/g,"$1").replace(/\.+/g,".").replace(/[^0-9.-]/g,"");let d=Number(t)<0||t[0]=="-";t=t.replace(/[^0-9.]/g,""),d&&(t="-"+t),r||(t=t.replace(/\.\d?/g,"")),b.scope(()=>{a=="number"&&(s||(t=t.replace(/^0(\d+)/g,"$1").replace(/^-0(\d+)/g,"-$1")))}),b.scope(()=>{let o=t.slice(-1);t&&o!="."&&o!="-"&&(b.is.exist(e.min)&&(t=String(Math.max(Number(t),Number(e.min)))),b.is.exist(e.max)&&(t=String(Math.min(Number(t),Number(e.max)))))}),b.scope(()=>{if(!t||t=="-"||a!="digitNumber")return;let o=Number(t)<0,f=String(Math.abs(Math.round(Number(t)))),C=t.split("."),y=[];for(let g=f.length-1;g>=0;g--){y.unshift(f[g]);let m=f.length-1-g+1;g!=0&&m%3==0&&y.unshift(",")}t=y.join(""),o&&(t="-"+t),(C==null?void 0:C.length)==2&&(t+="."+C[1]||"")})});let p=t;return a=="digitNumber"||(a=="postal"?t.length>=4&&(p=t.clip(0,3)+"-"+t.clip(3)):a=="creditCard"&&(p=t.replace(/.{4}(?=.)/g,"$& "))),t=t.replace(/,/g,""),{formatValue:p,dataValue:t}}},Shallow:e=>{let{rootStates:a,val_status:r}=e,s=r.dataValue||"";X(()=>{b.scope(()=>ae(void 0,null,function*(){if(!a.multiline)return;let f=b('[data-input-origin="'+r.componentID+'"]'),C=b('[data-input-shallow="'+r.componentID+'"]'),y=b('[data-input-min-height-value-shallow="'+r.componentID+'"]'),g=b('[data-input-max-height-value-shallow="'+r.componentID+'"]');if(!f[0]||!C[0]||!y[0]||!g[0])return;let m=C.position(),_=y.position(),L=g.position(),S=0;a.autoHeight&&(S=m.height),S=Math.max(S,_.height),S=Math.min(S,L.height),f[0].style.height=S+"px"}))},[s]);let l=s||"";(!!s.match(/\n$/)||!s)&&(l+="T");let p="",d="";if(a.multiline){let f=a.minRows||1,C=a.maxRows||100;p=`
2
+ T`.repeat(f-1),d=`
3
+ T`.repeat(C-1)}let o=Te(a);return W(F,{position:"absolute",top:0,left:0,right:0,height:0,overflow:"hidden",opacity:"trans",freeCSS:{zIndex:3,pointerEvents:"none"},children:[n(j.Description,u(i({className:a.className},o),{position:"absolute",width:1,freeCSS:u(i({},o.freeCSS),{color:"orange"}),"data-input-shallow":r.componentID,children:n(F,{"data-input-value-shallow":r.componentID,children:l})})),n(j.Description,u(i({className:a.className},o),{position:"absolute",left:0,freeCSS:u(i({},o.freeCSS),{backgroundColor:"transparent",color:"blue"}),"data-input-min-height-value-shallow":r.componentID,children:p})),n(j.Description,u(i({className:a.className},o),{position:"absolute",right:0,freeCSS:u(i({},o.freeCSS),{backgroundColor:"transparent",color:"red"}),"data-input-max-height-value-shallow":r.componentID,children:d}))]})},InputBox:e=>{let{rootStates:a,val_validate:r,set_validate:s,val_status:l,set_status:t,val_focus:p,set_focus:d,val_isComposing:o,set_isComposing:f}=e;if(a.multiline)return null;let te=a,{componentID:C,tone:y,required:g,restrict:m="text",form:_,autoComplete:L="off",autoCapitalize:S="off",minRows:oe,maxRows:re,multiline:se,autoHeight:ue,enableFormSubmit:O,clearButton:me=!1,allowDecimals:$,allowZeroStart:H,checkValidationAtFirst:P,onChange:q,onKeyDown:J,onValidate:ce,onUpdateValue:pe,onUpdateValidValue:de,value:fe="",leftIndicator:ge,rightIndicator:xe,leftIcon:he,rightIcon:be,maxLength:I,min:K,max:B,label:V,isLabelActive:Q,defaultValidation:ee,wrapStyles:Le}=te,c=G(te,["componentID","tone","required","restrict","form","autoComplete","autoCapitalize","minRows","maxRows","multiline","autoHeight","enableFormSubmit","clearButton","allowDecimals","allowZeroStart","checkValidationAtFirst","onChange","onKeyDown","onValidate","onUpdateValue","onUpdateValidValue","value","leftIndicator","rightIndicator","leftIcon","rightIcon","maxLength","min","max","label","isLabelActive","defaultValidation","wrapStyles"]),Se=m=="password"||m=="concealed"?"password":"text",Ie=["number","digitNumber","creditCard"].includes(m)?"numeric":m=="email"?"email":"text";return n(F,u(i({htmlTag:"input",type:Se,inputMode:Ie,"data-disabled":a.disabled,"data-show-validation":U.isShowValidation(r,l,!!P),"data-component-id":l.componentID,"data-input-origin":l.componentID,value:l.formatValue,autoComplete:L,autoCapitalize:S,onKeyDown:x=>{let{key:T,target:E}=x;{let D=E,{selectionStart:k,selectionEnd:v}=D,A=Number(k),z=Number(v),N=l.formatValue[Number(A)],Y=l.formatValue[Number(A)-1];T=="Delete"&&(m=="creditCard"&&N==" "||m=="postal"&&N=="-"||m=="digitNumber"&&N==",")&&(D.setSelectionRange(A+1,z+1),x.preventDefault()),T=="Backspace"&&(m=="creditCard"&&Y==" "||m=="postal"&&Y=="-"||m=="digitNumber"&&Y==",")&&(D.setSelectionRange(A-1,z-1),x.preventDefault()),T=="Enter"||T=="Tab"}b.scope(()=>{["number","digitNumber","creditCard"].includes(m)&&T=="Clear"&&t(D=>u(i({},D),{dataValue:"",formatValue:"",eventType:"update",eventID:M()}))}),b.scope(()=>{var z;if(!["number","digitNumber"].includes(m)||!["ArrowUp","ArrowDown"].includes(T))return;let D=+(T=="ArrowUp")*2-1,k=l.dataValue.slice(-1),v=l.dataValue,A=((z=l.dataValue.split(".")[1])==null?void 0:z.length)||0;if(!k)v+="0";else if(k=="-")v+="0";else if(k==".")v+="0";else if(A){let N=Number(k)+D;v=v.slice(0,-1),N<0?v+="9":N>9?v+="0":v+=String(N)}else v=String(Number(l.dataValue.replace(/,/g,""))+D);r.ok&&s({ok:!1,notice:[]}),t(N=>u(i(i({},N),R.Validation.DataLeveling({allowDecimals:$,allowZeroStart:H,min:K,max:B,restrict:m,value:v})),{eventType:"update",eventID:M()})),x.preventDefault()}),J&&J(x),O&&U.SubmitForm(x,_)},onChange:x=>{let{value:T,selectionStart:E,selectionEnd:D}=x.target,k=R.Validation.DataLeveling({allowDecimals:$,allowZeroStart:H,min:K,max:B,restrict:m,value:T});o&&(k.formatValue=T),k.formatValue!=l.formatValue&&(r.ok&&s({ok:!1,notice:[]}),t(v=>u(i(i({},v),k),{prevValue:l.formatValue,eventType:"update",eventID:M(),caretFrom:Number(E),caretTo:Number(D)})),q&&q(x))},width:1},c),{onFocus:x=>{c!=null&&c.onFocus&&(c==null||c.onFocus(x)),d(!0)},onBlur:x=>{c!=null&&c.onBlur&&(c==null||c.onBlur(x)),d(!1)},onCompositionStart:x=>{c!=null&&c.onCompositionStart&&(c==null||c.onCompositionStart(x)),f(!0)},onCompositionEnd:x=>{if(c!=null&&c.onCompositionEnd&&(c==null||c.onCompositionEnd(x)),m=="text")return;let T=R.Validation.DataLeveling({allowDecimals:$,allowZeroStart:H,min:K,max:B,restrict:m,value:l.formatValue});t(E=>u(i(i({},E),T),{prevValue:E.formatValue,eventType:"update",eventID:M(),caretFrom:Number(E.formatValue.length+1),caretTo:Number(E.formatValue.length+1)})),f(!1)}}))},TextAreaBox:e=>{let{rootStates:a,val_focus:r,set_focus:s,val_validate:l,set_validate:t,val_status:p,set_status:d,isShallow:o}=e,B=a,{componentID:f,tone:C,required:y,form:g,label:m,isLabelActive:_,minRows:L,maxRows:S,multiline:oe,autoHeight:re,allowDecimals:se,allowZeroStart:ue,enableFormSubmit:O,maxLength:me,checkValidationAtFirst:$,onChange:H,onKeyDown:P,onValidate:q,onUpdateValue:J,onUpdateValidValue:ce,value:pe="",leftIndicator:de,rightIndicator:fe,leftIcon:ge,rightIcon:xe,defaultValidation:he,wrapStyles:be}=B,I=G(B,["componentID","tone","required","form","label","isLabelActive","minRows","maxRows","multiline","autoHeight","allowDecimals","allowZeroStart","enableFormSubmit","maxLength","checkValidationAtFirst","onChange","onKeyDown","onValidate","onUpdateValue","onUpdateValidValue","value","leftIndicator","rightIndicator","leftIcon","rightIcon","defaultValidation","wrapStyles"]);return!a.multiline?null:n(F,u(i({htmlTag:"textarea","data-show-validation":U.isShowValidation(l,p,!!$),"data-input-origin":p.componentID,"data-component-id":p.componentID,value:p.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=>{P&&P(V),O&&U.SubmitForm(V,g)},onChange:V=>{let{value:Q}=V.target;l.ok&&t({ok:!1,notice:[]}),d(ee=>u(i({},ee),{dataValue:Q,eventType:"update",eventID:M()})),H&&H(V)}}))}},Ee=e=>{let{componentID:a,restrict:r="text",value:s="",min:l,max:t,allowDecimals:p,allowZeroStart:d}=e,[o,f]=Z(!1),[C,y]=Z(!1),[g,m]=Z(u(i({componentID:a},R.Validation.DataLeveling({allowDecimals:p,allowZeroStart:d,min:l,max:t,restrict:r,value:s})),{prevValue:"",eventType:"init",eventID:M(),caretFrom:null,caretTo:null})),[_,L]=Z({ok:!1,notice:[]}),S={rootStates:e,val_focus:o,set_focus:f,val_isComposing:C,set_isComposing:y,val_status:g,set_status:m,val_validate:_,set_validate:L};return U.CommonEffects({type:"textfield",states:e,val_status:g,set_status:m,val_validate:_,set_validate:L,SystemValidation:R.Validation.System,ExtraOverrideStates:i({},R.Validation.DataLeveling({allowDecimals:p,allowZeroStart:d,min:l,max:t,restrict:r,value:s}))}),X(()=>{R.setSelection({id:e.id,restrict:r,val_status:g})},[g]),W(De,{val_status:g,set_status:m,val_validate:_,states:S.rootStates,children:[n(Ne,{componentID:e.componentID,fontSize:e.fontSize,required:e.required,label:e.label,isActive:e.isLabelActive||o||!!g.dataValue}),n(R.Shallow,i({},S)),n(R.InputBox,i({},S)),n(R.TextAreaBox,i({},S))]})},w=e=>(e=i({autoHeight:!0,restrict:"text",fontSize:"inherit"},e),e.multiline?(e.minRows=e.minRows||5,e.maxRows=e.maxRows||20):(e.minRows=1,e.maxRows=1),n(Ve,{componentID:e.componentID,children:Ee,states:ke(e)})),h=w;h.Validate=R.Validation.Text,h.Katakana=e=>n(w,u(i({},e),{restrict:"katakana",multiline:!1,autoHeight:!1})),h.HankakuKatakana=e=>n(w,u(i({},e),{restrict:"hankaku.katakana",multiline:!1,autoHeight:!1})),h.CreditCard=e=>n(w,u(i({},e),{restrict:"creditCard",multiline:!1,autoHeight:!1})),h.Tel=e=>n(w,u(i({},e),{restrict:"tel",multiline:!1,autoHeight:!1})),h.Number=e=>n(w,u(i({},e),{restrict:"number",multiline:!1,autoHeight:!1})),h.DigitNumber=e=>n(w,u(i({},e),{restrict:"digitNumber",multiline:!1,autoHeight:!1})),h.Email=e=>n(w,u(i({},e),{restrict:"email",multiline:!1,autoHeight:!1})),h.Url=e=>n(w,u(i({},e),{restrict:"url",multiline:!1,autoHeight:!1})),h.Postal=e=>{let[a]=Z(M());return X(()=>()=>{ve.delete(a)},[]),n(w,u(i({label:"\u90F5\u4FBF\u756A\u53F7"},e),{restrict:"postal",multiline:!1,autoHeight:!1,leftIcon:n(Fe,{ssSphere:2,fontColor:"4.thin",children:"\u3012"})}))},h.Password=e=>n(w,u(i({label:"\u30D1\u30B9\u30EF\u30FC\u30C9",rightIcon:n(ie,{ssSphere:2,padding:0,freeCSS:{pointerEvents:"all"},children:n(we.Sub,{ssSphere:2,borderRadius:"3.tone.tertiary",fontColor:"theme",flexCenter:!0,height:1,ssEffectsOnActive:["expand"],onMouseOver:a=>{le.open(a.currentTarget,"\u30C6\u30AD\u30B9\u30C8\u3092\u8868\u793A",24)},onMouseLeave:le.abort,tabIndex:-1,onClick:a=>{b(a.target).parent().parent().find("input").callback(r=>{let s=r[0];s.type=s.type==="password"?"text":"password"})},children:n(Re,{icon:ye})})}),restrict:"password"},e),{multiline:!1,autoHeight:!1})),h.Concealed=e=>n(h.Password,u(i({label:"\u79D8\u5BC6\u9375"},e),{restrict:"concealed"})),h.Money={JPY:e=>n(h.DigitNumber,u(i({rightIcon:n(ie,{ssSphere:2,fontColor:"4.thin",children:"\u5186"})},e),{multiline:!1,autoHeight:!1}))};export{h as TextField,Ee as TextInput,h as default};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "amotify",
3
- "version": "0.2.159",
3
+ "version": "0.2.160",
4
4
  "description": "UI Component for React,NextJS,esbuild",
5
5
  "scripts": {
6
6
  "start": "run-p clean build:*",
@@ -90,7 +90,7 @@
90
90
  "@fortawesome/free-solid-svg-icons": "^6.6.0",
91
91
  "@fortawesome/react-fontawesome": "^0.2.0",
92
92
  "dotenv": "^16.4.6",
93
- "jmini": "^0.0.55",
93
+ "jmini": "^0.0.56",
94
94
  "react": "^18.3.1"
95
95
  },
96
96
  "devDependencies": {
@@ -113,4 +113,4 @@
113
113
  "tsc-alias": "^1.8.8",
114
114
  "typescript": "^5.4.5"
115
115
  }
116
- }
116
+ }