amotify 0.2.135 → 0.2.136
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.
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { ReactElement } from '../../@declares';
|
|
3
3
|
import { InputTypes } from '.';
|
|
4
4
|
declare namespace TextField {
|
|
5
|
-
type Restrict = 'text' | 'katakana' | 'hankaku.katakana' | 'number' | '
|
|
5
|
+
type Restrict = 'text' | 'katakana' | 'hankaku.katakana' | 'number' | 'digitNumber' | 'tel' | 'email' | 'url' | 'fileName' | 'password' | 'postal' | 'creditCard' | 'concealed';
|
|
6
6
|
type Input<T = string, Element = HTMLInputElement> = InputTypes.CoreInput<T> & React.DOMAttributes<Element> & {
|
|
7
7
|
label?: ReactElement;
|
|
8
8
|
isLabelActive?: boolean;
|
|
@@ -11,6 +11,8 @@ declare namespace TextField {
|
|
|
11
11
|
tabIndex?: number;
|
|
12
12
|
id?: string;
|
|
13
13
|
disabled?: boolean;
|
|
14
|
+
allowDecimals?: boolean | number;
|
|
15
|
+
allowZeroStart?: boolean;
|
|
14
16
|
restrict?: Restrict;
|
|
15
17
|
minRows?: number;
|
|
16
18
|
maxRows?: number;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{b as l,c as
|
|
2
|
-
T`.repeat(
|
|
3
|
-
T`.repeat(
|
|
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 H,useStore as Ie}from"jmini";import{useState as Z,useEffect as G}from"react";import{$$fromRoot as ve,ExtractStyles as Te}from"../../@utils";import{Box as F,FAI as Ce}from"../../atoms";import{Text 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)))),T=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),(T==null?void 0:T.length)==2&&(t+="."+T[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,"$& "))),{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+'"]'),T=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]||!T[0]||!V[0]||!f[0])return;let c=T.position(),_=V.position(),M=f.position(),S=0;a.autoHeight&&(S=c.height),S=Math.max(S,_.height),S=Math.min(S,M.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,T=a.maxRows||100;d=`
|
|
2
|
+
T`.repeat(g-1),u=`
|
|
3
|
+
T`.repeat(T-1)}let s=Te(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:T,tone:V,required:f,restrict:c="text",form:_,autoComplete:M="off",autoCapitalize:S="off",minRows:ne,maxRows:oe,multiline:re,autoHeight:se,enableFormSubmit:W,clearButton:ue=!1,allowDecimals:$,allowZeroStart:L,checkValidationAtFirst:P,onChange:O,onKeyDown:q,onValidate:me,onUpdateValue:ce,onUpdateValidValue:pe,value:de="",leftIndicator:fe,rightIndicator:ge,leftIcon:xe,rightIcon:I,maxLength:he,min:B,max:C,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:M,autoCapitalize:S,onKeyDown:x=>{let{key:w,target:E}=x;{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),x.preventDefault()),w=="Backspace"&&(c=="creditCard"&&J==" "||c=="postal"&&J=="-"||c=="digitNumber"&&J==",")&&(D.setSelectionRange(A-1,z-1),x.preventDefault()),w=="Enter"||w=="Tab"}b.scope(()=>{["number","digitNumber","creditCard"].includes(c)&&w=="Clear"&&t(D=>m(l({},D),{dataValue:"",formatValue:"",eventType:"update",eventID:H()}))}),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:L,min:B,max:C,restrict:c,value:v})),{eventType:"update",eventID:H()})),x.preventDefault()}),q&&q(x),W&&U.SubmitForm(x,_)},onChange:x=>{let{value:w,selectionStart:E,selectionEnd:D}=x.target,k=R.Validation.DataLeveling({allowDecimals:$,allowZeroStart:L,min:B,max:C,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:H(),caretFrom:Number(E),caretTo:Number(D)})),O&&O(x))},width:1},p),{onFocus:x=>{p!=null&&p.onFocus&&(p==null||p.onFocus(x)),u(!0)},onBlur:x=>{p!=null&&p.onBlur&&(p==null||p.onBlur(x)),u(!1)},onCompositionStart:x=>{p!=null&&p.onCompositionStart&&(p==null||p.onCompositionStart(x)),g(!0)},onCompositionEnd:x=>{if(p!=null&&p.onCompositionEnd&&(p==null||p.onCompositionEnd(x)),c=="text")return;let w=R.Validation.DataLeveling({allowDecimals:$,allowZeroStart:L,min:B,max:C,restrict:c,value:i.formatValue});t(E=>m(l(l({},E),w),{prevValue:E.formatValue,eventType:"update",eventID:H(),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:T,required:V,form:f,label:c,isLabelActive:_,minRows:M,maxRows:S,multiline:ne,autoHeight:oe,allowDecimals:re,allowZeroStart:se,enableFormSubmit:W,maxLength:ue,checkValidationAtFirst:$,onChange:L,onKeyDown:P,onValidate:O,onUpdateValue:q,onUpdateValidValue:me,value:ce="",leftIndicator:pe,rightIndicator:de,leftIcon:fe,rightIcon:ge,wrapStyles:xe}=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:C=>{I!=null&&I.onFocus&&(I==null||I.onFocus(C)),r(!0)},onBlur:C=>{I!=null&&I.onBlur&&(I==null||I.onBlur(C)),r(!1)},onKeyDown:C=>{P&&P(C),W&&U.SubmitForm(C,f)},onChange:C=>{let{value:j}=C.target;i.ok&&t({ok:!1,notice:[]}),u(Q=>m(l({},Q),{dataValue:j,eventType:"update",eventID:H()})),L&&L(C)}}))}},_e=e=>{let{componentID:a,restrict:o="text",value:r="",min:i,max:t,allowDecimals:d,allowZeroStart:u}=e,[s,g]=Z(!1),[T,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:H(),caretFrom:null,caretTo:null})),[_,M]=Z({ok:!1,notice:[]}),S={rootStates:e,val_focus:s,set_focus:g,val_isComposing:T,set_isComposing:V,val_status:f,set_status:c,val_validate:_,set_validate:M};return U.CommonEffects({type:"textfield",states:e,val_status:f,set_status:c,val_validate:_,set_validate:M,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)})),h=y;h.Validate=R.Validation.Text,h.Katakana=e=>n(y,m(l({},e),{restrict:"katakana",multiline:!1,autoHeight:!1})),h.HankakuKatakana=e=>n(y,m(l({},e),{restrict:"hankaku.katakana",multiline:!1,autoHeight:!1})),h.CreditCard=e=>n(y,m(l({},e),{restrict:"creditCard",multiline:!1,autoHeight:!1})),h.Tel=e=>n(y,m(l({},e),{restrict:"tel",multiline:!1,autoHeight:!1})),h.Number=e=>n(y,m(l({},e),{restrict:"number",multiline:!1,autoHeight:!1})),h.DigitNumber=e=>n(y,m(l({},e),{restrict:"digitNumber",multiline:!1,autoHeight:!1})),h.Email=e=>n(y,m(l({},e),{restrict:"email",multiline:!1,autoHeight:!1})),h.Url=e=>n(y,m(l({},e),{restrict:"url",multiline:!1,autoHeight:!1})),h.Postal=e=>{let[a]=Z(H());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"})}))},h.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(Ce,{icon:Re})})}),restrict:"password"},e),{multiline:!1,autoHeight:!1})),h.Concealed=e=>n(h.Password,m(l({label:"\u79D8\u5BC6\u9375"},e),{restrict:"concealed"})),h.Money={JPY:e=>n(h.DigitNumber,m(l({rightIcon:n(ie,{ssSphere:2,fontColor:"4.thin",children:"\u5186"})},e),{multiline:!1,autoHeight:!1}))};export{h as TextField,_e as TextInput,h as default};
|