amotify 0.1.7 → 0.1.8
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/bundler_style.ts +55 -0
- package/dist/@declaration/_.d.ts +5 -109
- package/dist/@declaration/_.js +2 -3
- package/dist/@declaration/_.js.map +7 -0
- package/dist/@declaration/module.d.ts +1 -1
- package/dist/@declaration/module.js +1 -1
- package/dist/@declaration/module.js.map +7 -0
- package/dist/@declaration/property.d.ts +133 -137
- package/dist/@declaration/property.js +1 -2
- package/dist/@declaration/property.js.map +7 -0
- package/dist/@styles/componentClasses/_.css +1499 -0
- package/dist/@styles/componentClasses/_.d.ts +22 -0
- package/dist/@styles/componentClasses/_.js +392 -0
- package/dist/@utils/GenerateClassName.d.ts +11 -0
- package/dist/@utils/GenerateClassName.js +2 -0
- package/dist/@utils/GenerateClassName.js.map +7 -0
- package/dist/@utils/LaunchReactApp.d.ts +19 -0
- package/dist/@utils/LaunchReactApp.js +2 -0
- package/dist/@utils/LaunchReactApp.js.map +7 -0
- package/dist/@utils/_.d.ts +11 -0
- package/dist/@utils/_.js +2 -0
- package/dist/@utils/_.js.map +7 -0
- package/dist/@utils/collectForm.d.ts +11 -0
- package/dist/@utils/collectForm.js +2 -0
- package/dist/@utils/collectForm.js.map +7 -0
- package/dist/{@middleware → @utils}/color.d.ts +3 -3
- package/dist/@utils/color.js +2 -0
- package/dist/@utils/color.js.map +7 -0
- package/dist/@utils/config.d.ts +43 -0
- package/dist/@utils/config.js +2 -0
- package/dist/@utils/config.js.map +7 -0
- package/dist/@utils/fin.d.ts +1 -0
- package/dist/@utils/fin.js +2 -0
- package/dist/@utils/fin.js.map +7 -0
- package/dist/@utils/jsminEx.d.ts +56 -0
- package/dist/@utils/jsminEx.js +2 -0
- package/dist/@utils/jsminEx.js.map +7 -0
- package/dist/@utils/pageTransit.d.ts +11 -0
- package/dist/@utils/pageTransit.js +2 -0
- package/dist/@utils/pageTransit.js.map +7 -0
- package/dist/@utils/useRecycle.d.ts +8 -0
- package/dist/@utils/useRecycle.js +2 -0
- package/dist/@utils/useRecycle.js.map +7 -0
- package/dist/@utils/useStore.d.ts +18 -0
- package/dist/@utils/useStore.js +2 -0
- package/dist/@utils/useStore.js.map +7 -0
- package/dist/atoms/Box.d.ts +9 -0
- package/dist/atoms/Box.js +2 -0
- package/dist/atoms/Box.js.map +7 -0
- package/dist/atoms/FAI.d.ts +18 -0
- package/dist/atoms/FAI.js +2 -0
- package/dist/atoms/FAI.js.map +7 -0
- package/dist/atoms/Flex.d.ts +11 -0
- package/dist/atoms/Flex.js +2 -0
- package/dist/atoms/Flex.js.map +7 -0
- package/dist/atoms/Grid.d.ts +4 -0
- package/dist/atoms/Grid.js +2 -0
- package/dist/atoms/Grid.js.map +7 -0
- package/dist/atoms/Img.d.ts +11 -0
- package/dist/atoms/Img.js +2 -0
- package/dist/atoms/Img.js.map +7 -0
- package/dist/atoms/Logo.d.ts +40 -0
- package/dist/atoms/Logo.js +52 -0
- package/dist/atoms/Logo.js.map +7 -0
- package/dist/atoms/P.d.ts +9 -0
- package/dist/atoms/P.js +2 -0
- package/dist/atoms/P.js.map +7 -0
- package/dist/atoms/Placeholder.d.ts +9 -0
- package/dist/atoms/Placeholder.js +2 -0
- package/dist/atoms/Placeholder.js.map +7 -0
- package/dist/atoms/Span.d.ts +9 -0
- package/dist/atoms/Span.js +2 -0
- package/dist/atoms/Span.js.map +7 -0
- package/dist/atoms/_.d.ts +9 -0
- package/dist/atoms/_.js +2 -0
- package/dist/atoms/_.js.map +7 -0
- package/dist/chunk-E3D4DIO4.js +2 -0
- package/dist/chunk-E3D4DIO4.js.map +7 -0
- package/dist/fn/Button.d.ts +82 -0
- package/dist/fn/Button.js +2 -0
- package/dist/fn/Button.js.map +7 -0
- package/dist/fn/Cropper.d.ts +27 -0
- package/dist/fn/Cropper.js +2 -0
- package/dist/fn/Cropper.js.map +7 -0
- package/dist/fn/Effect/Fade.d.ts +17 -0
- package/dist/fn/Effect/Fade.js +2 -0
- package/dist/fn/Effect/Fade.js.map +7 -0
- package/dist/fn/Effect/Pudding.d.ts +1 -0
- package/dist/fn/Effect/Pudding.js +2 -0
- package/dist/fn/Effect/Pudding.js.map +7 -0
- package/dist/fn/Effect/Ripple.d.ts +1 -0
- package/dist/fn/Effect/Ripple.js +4 -0
- package/dist/fn/Effect/Ripple.js.map +7 -0
- package/dist/fn/Effect/_.d.ts +9 -0
- package/dist/fn/Effect/_.js +2 -0
- package/dist/fn/Effect/_.js.map +7 -0
- package/dist/fn/Input/Checker.d.ts +17 -0
- package/dist/fn/Input/Checker.js +2 -0
- package/dist/fn/Input/Checker.js.map +7 -0
- package/dist/fn/Input/Chips/Selector.d.ts +44 -0
- package/dist/fn/Input/Chips/Selector.js +2 -0
- package/dist/fn/Input/Chips/Selector.js.map +7 -0
- package/dist/fn/Input/Chips/_.d.ts +60 -0
- package/dist/fn/Input/Chips/_.js +2 -0
- package/dist/fn/Input/Chips/_.js.map +7 -0
- package/dist/fn/Input/Contenteditable.d.ts +17 -0
- package/dist/fn/Input/Contenteditable.js +2 -0
- package/dist/fn/Input/Contenteditable.js.map +7 -0
- package/dist/fn/Input/DigitCharacters.d.ts +17 -0
- package/dist/fn/Input/DigitCharacters.js +2 -0
- package/dist/fn/Input/DigitCharacters.js.map +7 -0
- package/dist/fn/Input/Filer.d.ts +47 -0
- package/dist/fn/Input/Filer.js +2 -0
- package/dist/fn/Input/Filer.js.map +7 -0
- package/dist/fn/Input/Hidden.d.ts +13 -0
- package/dist/fn/Input/Hidden.js +2 -0
- package/dist/fn/Input/Hidden.js.map +7 -0
- package/dist/fn/Input/List.d.ts +50 -0
- package/dist/fn/Input/List.js +2 -0
- package/dist/fn/Input/List.js.map +7 -0
- package/dist/fn/Input/Parts.d.ts +22 -0
- package/dist/fn/Input/Parts.js +2 -0
- package/dist/fn/Input/Parts.js.map +7 -0
- package/dist/fn/Input/Plain.d.ts +7 -0
- package/dist/fn/Input/Plain.js +2 -0
- package/dist/fn/Input/Plain.js.map +7 -0
- package/dist/fn/Input/RichSelect.d.ts +32 -0
- package/dist/fn/Input/RichSelect.js +2 -0
- package/dist/fn/Input/RichSelect.js.map +7 -0
- package/dist/fn/Input/Search.d.ts +6 -0
- package/dist/fn/Input/Search.js +2 -0
- package/dist/fn/Input/Search.js.map +7 -0
- package/dist/fn/Input/Segmented.d.ts +22 -0
- package/dist/fn/Input/Segmented.js +2 -0
- package/dist/fn/Input/Segmented.js.map +7 -0
- package/dist/fn/Input/Select.d.ts +28 -0
- package/dist/fn/Input/Select.js +2 -0
- package/dist/fn/Input/Select.js.map +7 -0
- package/dist/fn/Input/Slider.d.ts +31 -0
- package/dist/fn/Input/Slider.js +2 -0
- package/dist/fn/Input/Slider.js.map +7 -0
- package/dist/fn/Input/Switch.d.ts +17 -0
- package/dist/fn/Input/Switch.js +2 -0
- package/dist/fn/Input/Switch.js.map +7 -0
- package/dist/fn/Input/Text.d.ts +50 -0
- package/dist/fn/Input/Text.js +2 -0
- package/dist/fn/Input/Text.js.map +7 -0
- package/dist/fn/Input/TextArea.d.ts +19 -0
- package/dist/fn/Input/TextArea.js +2 -0
- package/dist/fn/Input/TextArea.js.map +7 -0
- package/dist/fn/Input/Time/Picker.d.ts +37 -0
- package/dist/fn/Input/Time/Picker.js +2 -0
- package/dist/fn/Input/Time/Picker.js.map +7 -0
- package/dist/fn/Input/Time/_.d.ts +78 -0
- package/dist/fn/Input/Time/_.js +2 -0
- package/dist/fn/Input/Time/_.js.map +7 -0
- package/dist/fn/Input/_.d.ts +142 -0
- package/dist/fn/Input/_.js +2 -0
- package/dist/fn/Input/_.js.map +7 -0
- package/dist/fn/Input/core.d.ts +54 -0
- package/dist/fn/Input/core.js +2 -0
- package/dist/fn/Input/core.js.map +7 -0
- package/dist/fn/Layout/PageNotFound.d.ts +6 -0
- package/dist/fn/Layout/PageNotFound.js +2 -0
- package/dist/fn/Layout/PageNotFound.js.map +7 -0
- package/dist/fn/Layout/PageRouter.d.ts +27 -0
- package/dist/fn/Layout/PageRouter.js +2 -0
- package/dist/fn/Layout/PageRouter.js.map +7 -0
- package/dist/fn/Layout/PageViewController.d.ts +13 -0
- package/dist/fn/Layout/PageViewController.js +2 -0
- package/dist/fn/Layout/PageViewController.js.map +7 -0
- package/dist/fn/Layout/Plate.d.ts +9 -0
- package/dist/fn/Layout/Plate.js +2 -0
- package/dist/fn/Layout/Plate.js.map +7 -0
- package/dist/fn/Layout/RootViewController.d.ts +41 -0
- package/dist/fn/Layout/RootViewController.js +2 -0
- package/dist/fn/Layout/RootViewController.js.map +7 -0
- package/dist/fn/Layout/SwipeView.d.ts +40 -0
- package/dist/fn/Layout/SwipeView.js +2 -0
- package/dist/fn/Layout/SwipeView.js.map +7 -0
- package/dist/fn/Layout/TabBar.d.ts +16 -0
- package/dist/fn/Layout/TabBar.js +2 -0
- package/dist/fn/Layout/TabBar.js.map +7 -0
- package/dist/fn/Layout/_.d.ts +27 -0
- package/dist/fn/Layout/_.js +2 -0
- package/dist/fn/Layout/_.js.map +7 -0
- package/dist/fn/Loader/_.d.ts +47 -0
- package/dist/fn/Loader/_.js +2 -0
- package/dist/fn/Loader/_.js.map +7 -0
- package/dist/fn/Loader/corner.d.ts +1 -0
- package/dist/fn/Loader/corner.js +2 -0
- package/dist/fn/Loader/corner.js.map +7 -0
- package/dist/fn/Loader/mini.d.ts +6 -0
- package/dist/fn/Loader/mini.js +2 -0
- package/dist/fn/Loader/mini.js.map +7 -0
- package/dist/fn/Loader/top.d.ts +2 -0
- package/dist/fn/Loader/top.js +2 -0
- package/dist/fn/Loader/top.js.map +7 -0
- package/dist/fn/Sheet.d.ts +75 -0
- package/dist/fn/Sheet.js +2 -0
- package/dist/fn/Sheet.js.map +7 -0
- package/dist/fn/Snackbar.d.ts +24 -0
- package/dist/fn/Snackbar.js +2 -0
- package/dist/fn/Snackbar.js.map +7 -0
- package/dist/fn/Table/Data.d.ts +128 -0
- package/dist/fn/Table/Data.js +2 -0
- package/dist/fn/Table/Data.js.map +7 -0
- package/dist/fn/Table/Drag.d.ts +18 -0
- package/dist/fn/Table/Drag.js +2 -0
- package/dist/fn/Table/Drag.js.map +7 -0
- package/dist/fn/Table/Normal.d.ts +16 -0
- package/dist/fn/Table/Normal.js +2 -0
- package/dist/fn/Table/Normal.js.map +7 -0
- package/dist/fn/Table/Parts.d.ts +24 -0
- package/dist/fn/Table/Parts.js +2 -0
- package/dist/fn/Table/Parts.js.map +7 -0
- package/dist/fn/Table/Wrapper.d.ts +10 -0
- package/dist/fn/Table/Wrapper.js +2 -0
- package/dist/fn/Table/Wrapper.js.map +7 -0
- package/dist/fn/Table/_.d.ts +42 -0
- package/dist/fn/Table/_.js +2 -0
- package/dist/fn/Table/_.js.map +7 -0
- package/dist/fn/Table/cellStyling.d.ts +9 -0
- package/dist/fn/Table/cellStyling.js +2 -0
- package/dist/fn/Table/cellStyling.js.map +7 -0
- package/dist/fn/Tooltips.d.ts +31 -0
- package/dist/fn/Tooltips.js +2 -0
- package/dist/fn/Tooltips.js.map +7 -0
- package/dist/fn/_.d.ts +10 -0
- package/dist/fn/_.js +2 -0
- package/dist/fn/_.js.map +7 -0
- package/dist/index.d.ts +6 -1
- package/dist/index.js +2 -17
- package/dist/index.js.map +7 -0
- package/dist/mols/Accordion.d.ts +25 -0
- package/dist/mols/Accordion.js +2 -0
- package/dist/mols/Accordion.js.map +7 -0
- package/dist/mols/Column.d.ts +7 -0
- package/dist/mols/Column.js +2 -0
- package/dist/mols/Column.js.map +7 -0
- package/dist/mols/LinkifyText.d.ts +10 -0
- package/dist/mols/LinkifyText.js +2 -0
- package/dist/mols/LinkifyText.js.map +7 -0
- package/dist/mols/List.d.ts +11 -0
- package/dist/mols/List.js +2 -0
- package/dist/mols/List.js.map +7 -0
- package/dist/mols/Row.d.ts +16 -0
- package/dist/mols/Row.js +2 -0
- package/dist/mols/Row.js.map +7 -0
- package/dist/mols/Text.d.ts +21 -0
- package/dist/mols/Text.js +2 -0
- package/dist/mols/Text.js.map +7 -0
- package/dist/mols/_.d.ts +6 -0
- package/dist/mols/_.js +2 -0
- package/dist/mols/_.js.map +7 -0
- package/dist/orgs/_.d.ts +1 -0
- package/dist/orgs/_.js +1 -0
- package/dist/orgs/_.js.map +7 -0
- package/dist/style.css +7290 -0
- package/dist/style.d.ts +4 -0
- package/dist/style.js +392 -0
- package/dist/temps/_.d.ts +1 -0
- package/dist/temps/_.js +1 -0
- package/dist/temps/_.js.map +7 -0
- package/package.json +59 -48
- package/dist/@declaration/amotify.d.ts +0 -1353
- package/dist/@declaration/amotify.js +0 -2
- package/dist/@middleware/GenerateClassName.d.ts +0 -3
- package/dist/@middleware/GenerateClassName.js +0 -282
- package/dist/@middleware/_.d.ts +0 -23
- package/dist/@middleware/_.js +0 -131
- package/dist/@middleware/color.js +0 -99
- package/dist/@middleware/pageTransit.d.ts +0 -2
- package/dist/@middleware/pageTransit.js +0 -31
- package/dist/@middleware/useRecycle.d.ts +0 -2
- package/dist/@middleware/useRecycle.js +0 -43
- package/dist/@middleware/useStore.d.ts +0 -2
- package/dist/@middleware/useStore.js +0 -39
- package/dist/@middleware/userAgent.d.ts +0 -14
- package/dist/@middleware/userAgent.js +0 -36
- package/dist/atoms/Box/index.d.ts +0 -9
- package/dist/atoms/Box/index.js +0 -19
- package/dist/atoms/index.d.ts +0 -4
- package/dist/atoms/index.js +0 -25
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{b as I,c as V,d as B}from"../../chunk-E3D4DIO4.js";import{jsx as m,jsxs as M}from"react/jsx-runtime";import{useState as A,useEffect as q}from"react";import{$$ as r,Config as L,useStore as E,GenerateClassName as O}from"@utils";import x from"@atoms/Box";import F from"@atoms/Flex";import $ from"@mols/Column";import G from"@fn/Button";import{Wrapper as X,BoxWrapper as j,SubmitForm as J,CommonEffects as Q}from"./core";import Y from"./Hidden";import{InputSliderClasses as v}from"@styles/componentClasses/_";function Z(a){let{value:e,params:o}=a,{required:n}=o,s=[];return n&&!e&&s.push({type:"invalid",label:"\u5FC5\u9808\u9805\u76EE\u3067\u3059"}),{ok:!s.filter(({type:i})=>i=="invalid").length,notice:s}}const N=a=>{let{value:e,val_status:o}=a,{min:n,max:s,step:i}=o;e=Math.max(e,n),e=Math.min(e,s);let t=e/s*s;return t=Math.round(t/i),{stepValue:t*i,stepIndex:t,positionLeft:t*i/s*100+"%"}},z={IndicatorLabels:a=>{let{componentID:e,min:o,max:n,step:s,customLegends:i}=a,u=[],t=Math.round(o/s),d=Math.round(n/s),f=d-t+1;for(var p=t;p<=d;p++){let l=p*s;l=Math.max(l,o),l=Math.min(l,n);let g=l/n*100+"%";u.push(m(x,{className:v("Label"),id:"Legend-"+e+"-"+p,display:p==t||p==d?"flex":"none",position:"absolute",top:0,unitHeight:1,unitWidth:1.5,transition:"middle",fontColor:"1.clear",freeCSS:{left:g,whiteSpace:"nowrap",textAlign:"center"},verticalAlign:"center",horizontalAlign:"center",children:i?i(l):l.rank()},l))}return q(()=>{const l=()=>{let g=r(L.get().appRoot).find("#Labels-"+e),{width:S}=g.position(),C=Math.round(S/50)-1,y=Math.round(f/C);for(let c=t+1;c<d;c++)r(L.get().appRoot).find("#Legend-"+e+"-"+c).css({display:c%y==0?"flex":"none"})};return r(window).addEvent({eventID:"SliderResizeCallback-"+e,eventType:"resize",callback:()=>{l()}}),l(),()=>{r(window).removeEvent("SliderResizeCallback-"+e)}},[]),m(F,{className:v("Labels"),verticalAlign:"center",horizontalAlign:"between",backgroundColor:"posi",fontSize:"0.xs",position:"relative",id:"Labels-"+e,children:m(x,{position:"absolute",top:0,left:0,bottom:0,freeCSS:{right:12*1.5},children:u})})},Rail:a=>{let{val_status:e,set_status:o,DotData:n,form:s,enableFormSubmit:i}=a,{componentID:u}=e;return M(F,{className:v("Rail"),position:"relative",paddingLeft:"1/2",unitHeight:1.5,verticalAlign:"center",freeCSS:{minWidth:"10rem",zIndex:1,cursor:"pointer"},onMouseDown:t=>{t.stopPropagation(),h.Effects.Start(t,{val_status:e,set_status:o,DotData:n})},onTouchStart:t=>{t.stopPropagation(),h.Effects.Start(t,{val_status:e,set_status:o,DotData:n})},children:[m(x,{className:v("Bar"),backgroundColor:"4.layer.darken",position:"relative",borderRadius:"sphere",transition:"middle",flexSizing:"none",unitHeight:"2/3",width:1,id:u+"_Bar",children:m(x,{className:v("BarColor"),position:"relative",height:1,width:0,left:0,transition:"long",borderRadius:"inherit",backgroundColor:a.color,opacity:"middle",overflow:"hidden",freeCSS:{width:n.positionLeft},id:u+"_BarColor"})}),m(x,{className:v("BallWrap"),position:"absolute",top:0,left:0,bottom:0,freeCSS:{right:12*1.5},children:m(G.Button.Plain,{className:v("Ball"),position:"absolute",backgroundColor:a.color,top:0,left:0,ssSphere:1.5,freeCSS:{zIndex:2,left:n.positionLeft},"data-form-name":s,id:u+"_Ball",onKeyDown:t=>{h.KeyDownEvent({event:t,val_status:e,set_status:o,DotData:n}),i&&J(t)}})})]})}},h={Effects:{Start:(a,e)=>{r(document).addEvent({eventID:"SliderMouseMove",eventType:"mousemove",callback:o=>{h.Effects.Move(o,e)},option:{passive:!1}}).addEvent({eventID:"SliderTouchMove",eventType:"touchmove",callback:o=>{h.Effects.Move(o,e)},option:{passive:!1}}).addEvent({eventID:"SliderMouseUp",eventType:"mouseup",callback:()=>{h.Effects.End()}}).addEvent({eventID:"SliderTouchEnd",eventType:"touchend",callback:()=>{h.Effects.End()}})},Move:(a,e)=>{let o=r.getCursor(a).x,{val_status:n,set_status:s}=e,{componentID:i,min:u,max:t}=n,d=r(L.get().appRoot).find("#"+i+"_Ball"),f=r(L.get().appRoot).find("#"+i+"_Bar"),p=r(L.get().appRoot).find("#"+i+"_BarColor"),{width:l,left:g}=f.position(),S=(o-g)/l;S=Math.max(S,0),S=Math.min(S,1);let C=S*t,y=N({value:C,val_status:n}),c=y.positionLeft,D=y.stepValue;d.css({left:c}),p.css({width:c});let{prevValue:T}=E.get(i);return D!=T&&(E.update({key:i,value:{prevValue:D}}),s(V(I({},n),{dataValue:D,eventType:"update",eventID:r.uuid.gen()}))),a.preventDefault(),a.stopPropagation(),!1},End:()=>{r(document).removeEvent(["SliderMouseMove","SliderTouchMove","SliderMouseUp","SliderTouchEnd"])}},KeyDownEvent:a=>{let{event:e,val_status:o,set_status:n}=a,{min:s,max:i,step:u}=o,{key:t,metaKey:d,ctrlKey:f}=e,p=f||d,l=o.dataValue;t.match(/Arrow/)&&(e.preventDefault(),t.match(/Left|Up/)?p?l=s:l-=u:t.match(/Right|Down/)&&(p?l=i:l+=u),l=Math.max(Math.min(l,i),s),E.update({key:o.componentID,value:{prevValue:l}}),n(V(I({},o),{dataValue:l,eventType:"update",eventID:r.uuid.gen()})))}},ee=a=>{let k=a,{color:e="theme",required:o,form:n="",legends:{enable:s=!0,custom:i,showAlways:u=!1}={},min:t,max:d,step:f,enableFormSubmit:p,checkValidationAtFirst:l,onChange:g,onKeyDown:S,onValidate:C,onUpdateValue:y,onUpdateValidValue:c,value:D="",className:T}=k,W=B(k,["color","required","form","legends","min","max","step","enableFormSubmit","checkValidationAtFirst","onChange","onKeyDown","onValidate","onUpdateValue","onUpdateValidValue","value","className"]),H={componentID:a.componentID||"",dataValue:D,min:t,max:d,step:f,eventType:"init",eventID:r.uuid.gen()},[b,R]=A(H),[_,U]=A({ok:!1,notice:[]});Q({params:a,val_status:b,set_status:R,val_validate:_,set_validate:U,onUpdateValue:y,onUpdateValidValue:c,DefaultValidation:Z,ExtraOverrideParams:{dataValue:D},ExtraStoreParams:{prevValue:b.dataValue,setValueByForeign:P=>{R(V(I({},b),{dataValue:P,eventType:"update",eventID:r.uuid.gen()}))}}});let w=N({value:b.dataValue,val_status:b});return M(j,{val_status:b,set_status:R,val_validate:_,params:a,children:[m(Y,I({value:w.stepValue,form:n,"data-value":w.stepValue,"data-validation":_.ok,"data-input-type":"slider"},W)),M($,{gap:"1/2",flexSizing:"auto",className:[v("Wrap"),T,v("ShowLegendsAlways_"+u)].join(" "),children:[m(z.Rail,{color:e,val_status:b,set_status:R,DotData:w,form:n,enableFormSubmit:p}),s?m(z.IndicatorLabels,{componentID:b.componentID,min:t,max:d,step:f,customLegends:i}):null]})]})},K=a=>(a=I({},a),m(X,{componentID:a.componentID,children:ee,params:O(a)}));export{K as Slider,K as default};
|
|
2
|
+
//# sourceMappingURL=Slider.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/fn/Input/Slider.tsx"],
|
|
4
|
+
"sourcesContent": ["import {\n ReactElement,\n ThemeColor\n} from '@declaration'\nimport {\n useState,\n useEffect\n} from 'react'\nimport {\n $$,\n Config,\n useStore,\n GenerateClassName\n} from '@utils'\n\nimport Box from '@atoms/Box'\nimport Flex from '@atoms/Flex'\nimport Column from '@mols/Column'\nimport Button from '@fn/Button'\n\nimport {\n Wrapper,\n BoxWrapper,\n SubmitForm,\n CommonEffects\n} from './core'\n\nimport { InputTypes } from './_'\n\nimport Hidden from './Hidden'\nimport { InputSliderClasses } from '@styles/componentClasses/_'\n\nnamespace Slider {\n export type Input = InputTypes.CoreInput & React.DOMAttributes<HTMLInputElement> & {\n tabIndex?: number\n\n id?: string\n\n disabled?: boolean\n\n value?: number\n\n color?: Color\n\n min: number\n max: number\n step: number\n legends?: {\n enable?: boolean\n custom?: LegendsCallback\n showAlways?: boolean\n }\n }\n export type Color = ThemeColor | 'theme' | 'posi' | 'nega' | 'warn'\n export type LegendsCallback = {\n ( value: number ): ReactElement\n }\n export type DataLevelingResult = {\n stepValue: number\n stepIndex: number\n positionLeft: string\n }\n}\n\nfunction DefaultValidation( props: {\n value: any\n params: any\n} ): InputTypes.Validation.Result {\n let { value,params } = props\n let { required } = params as Slider.Input\n let notice: InputTypes.Validation.Notice[] = []\n\n if ( required && !value ) {\n notice.push( { type: 'invalid',label: '\u5FC5\u9808\u9805\u76EE\u3067\u3059' } )\n }\n\n return {\n ok: !notice.filter( ( { type } ) => type == 'invalid' ).length,\n notice: notice\n }\n}\n\nconst DataLeveling: {\n ( props: {\n value: number\n val_status: InputTypes.Status.Slider\n } ): Slider.DataLevelingResult\n} = ( props ) => {\n let { value,val_status } = props\n let { min,max,step } = val_status\n\n value = Math.max( value,min )\n value = Math.min( value,max )\n\n let rawValue = value / max\n let stepValue = rawValue * max\n\n stepValue = Math.round( stepValue / step )\n\n return {\n stepValue: stepValue * step,\n stepIndex: stepValue,\n positionLeft: stepValue * step / max * 100 + '%'\n }\n}\n\nconst Comps = {\n IndicatorLabels: ( props: {\n componentID: string\n min: number\n max: number\n step: number\n customLegends?: Slider.LegendsCallback\n } ) => {\n let {\n componentID,\n min,\n max,\n step,\n customLegends\n } = props\n let Labels = []\n\n let minStep = Math.round( min / step )\n let maxStep = Math.round( max / step )\n let steps = maxStep - minStep + 1\n\n for ( var index = minStep; index <= maxStep; index++ ) {\n let value = index * step\n value = Math.max( value,min )\n value = Math.min( value,max )\n let left = ( value / max * 100 ) + '%'\n Labels.push( <Box\n key={ value }\n className={ InputSliderClasses( 'Label' ) }\n id={ 'Legend-' + componentID + '-' + index }\n display={ index == minStep || index == maxStep ? 'flex' : 'none' }\n position='absolute'\n top={ 0 }\n unitHeight={ 1 }\n unitWidth={ 1.5 }\n transition='middle'\n fontColor={ '1.clear' }\n freeCSS={ {\n left: left,\n whiteSpace: 'nowrap',\n textAlign: 'center'\n } }\n verticalAlign='center'\n horizontalAlign='center'\n children={ customLegends ? customLegends( value ) : value.rank() }\n /> )\n }\n\n useEffect( () => {\n const LabelLeveling = () => {\n let Labels = $$( Config.get().appRoot ).find( '#Labels-' + componentID )\n\n let {\n width\n } = Labels.position()\n\n let maxLabelCount = Math.round( width / 50 ) - 1\n let labelStep = Math.round( steps / maxLabelCount )\n\n for ( let index = minStep + 1; index < maxStep; index++ ) {\n $$( Config.get().appRoot )\n .find( '#Legend-' + componentID + '-' + index )\n .css( {\n display: index % labelStep == 0 ? 'flex' : 'none'\n } )\n }\n }\n\n $$( window ).addEvent( {\n eventID: 'SliderResizeCallback-' + componentID,\n eventType: 'resize',\n callback: () => {\n LabelLeveling()\n }\n } )\n LabelLeveling()\n\n return () => {\n $$( window ).removeEvent( 'SliderResizeCallback-' + componentID )\n }\n },[] )\n\n return <Flex\n className={ InputSliderClasses( 'Labels' ) }\n verticalAlign='center'\n horizontalAlign='between'\n backgroundColor='posi'\n fontSize={ '0.xs' }\n position='relative'\n id={ 'Labels-' + componentID }\n >\n <Box\n position='absolute'\n top={ 0 }\n left={ 0 }\n bottom={ 0 }\n freeCSS={ {\n right: 12 * 1.5\n } }\n children={ Labels }\n />\n </Flex>\n },\n Rail: ( props: {\n color: Slider.Color\n val_status: InputTypes.Status.Slider\n set_status: React.Dispatch<React.SetStateAction<InputTypes.Status.Slider>>\n DotData: Slider.DataLevelingResult\n form: string\n enableFormSubmit: boolean\n } ) => {\n let {\n val_status,\n set_status,\n DotData,\n form,\n enableFormSubmit\n } = props\n let {\n componentID\n } = val_status\n\n return <Flex\n className={ InputSliderClasses( 'Rail' ) }\n position='relative'\n paddingLeft={ '1/2' }\n unitHeight={ 1.5 }\n verticalAlign='center'\n freeCSS={ {\n minWidth: '10rem',\n zIndex: 1,\n cursor: 'pointer'\n } }\n onMouseDown={ ( event ) => {\n event.stopPropagation()\n Hooks.Effects.Start( event,{\n val_status,\n set_status,\n DotData\n } )\n } }\n onTouchStart={ ( event ) => {\n event.stopPropagation()\n Hooks.Effects.Start( event,{\n val_status,\n set_status,\n DotData\n } )\n } }\n >\n <Box\n className={ InputSliderClasses( 'Bar' ) }\n backgroundColor={ '4.layer.darken' }\n position='relative'\n borderRadius={ 'sphere' }\n transition='middle'\n flexSizing={ 'none' }\n unitHeight={ '2/3' }\n width={ 1 }\n id={ componentID + '_Bar' }\n >\n <Box\n className={ InputSliderClasses( 'BarColor' ) }\n position='relative'\n height={ 1 }\n width={ 0 }\n left={ 0 }\n transition='long'\n borderRadius={ 'inherit' }\n backgroundColor={ props.color }\n opacity='middle'\n overflow='hidden'\n freeCSS={ {\n width: DotData.positionLeft\n } }\n id={ componentID + '_BarColor' }\n />\n </Box>\n <Box\n className={ InputSliderClasses( 'BallWrap' ) }\n position='absolute'\n top={ 0 }\n left={ 0 }\n bottom={ 0 }\n freeCSS={ {\n right: 12 * 1.5\n } }\n >\n <Button.Button.Plain\n className={ InputSliderClasses( 'Ball' ) }\n position='absolute'\n backgroundColor={ props.color }\n top={ 0 }\n left={ 0 }\n ssSphere={ 1.5 }\n freeCSS={ {\n zIndex: 2,\n left: DotData.positionLeft\n } }\n data-form-name={ form }\n id={ componentID + '_Ball' }\n onKeyDown={ ( event ) => {\n Hooks.KeyDownEvent( {\n event,\n val_status,\n set_status,\n DotData\n } )\n\n if ( enableFormSubmit ) SubmitForm( event )\n } }\n />\n </Box>\n </Flex>\n },\n}\nconst Hooks = {\n Effects: {\n Start: ( event: any,info: {\n val_status: InputTypes.Status.Slider\n set_status: React.Dispatch<React.SetStateAction<InputTypes.Status.Slider>>\n DotData: Slider.DataLevelingResult\n } ) => {\n $$( document )\n .addEvent( {\n eventID: 'SliderMouseMove',\n eventType: 'mousemove',\n callback: ( event ) => { Hooks.Effects.Move( event,info ) },\n option: { passive: false }\n } )\n .addEvent( {\n eventID: 'SliderTouchMove',\n eventType: 'touchmove',\n callback: ( event ) => { Hooks.Effects.Move( event,info ) },\n option: { passive: false }\n } )\n .addEvent( {\n eventID: 'SliderMouseUp',\n eventType: 'mouseup',\n callback: () => { Hooks.Effects.End() }\n } )\n .addEvent( {\n eventID: 'SliderTouchEnd',\n eventType: 'touchend',\n callback: () => { Hooks.Effects.End() }\n } )\n },\n Move: ( event: any,info: {\n val_status: InputTypes.Status.Slider\n set_status: React.Dispatch<React.SetStateAction<InputTypes.Status.Slider>>\n } ) => {\n let mouseX = $$.getCursor( event ).x\n let {\n val_status,\n set_status,\n } = info\n let {\n componentID,\n min,max\n } = val_status\n\n let Ball = $$( Config.get().appRoot ).find( '#' + componentID + '_Ball' )\n let Bar = $$( Config.get().appRoot ).find( '#' + componentID + '_Bar' )\n let BarColor = $$( Config.get().appRoot ).find( '#' + componentID + '_BarColor' )\n\n let { width: barWidth,left: barLeft } = Bar.position()\n\n let Left = ( mouseX - barLeft ) / barWidth\n Left = Math.max( Left,0 )\n Left = Math.min( Left,1 )\n\n let LeftRawValue = Left * max\n let resultValues = DataLeveling( {\n value: LeftRawValue,\n val_status\n } )\n let left = resultValues.positionLeft\n let stepValue = resultValues.stepValue\n\n Ball.css( { left: left } )\n BarColor.css( { width: left } )\n\n let { prevValue } = useStore.get( componentID )\n if ( stepValue != prevValue ) {\n useStore.update( {\n key: componentID,\n value: {\n prevValue: stepValue\n }\n } )\n set_status( {\n ...val_status,\n dataValue: stepValue,\n eventType: 'update',\n eventID: $$.uuid.gen(),\n } )\n }\n event.preventDefault()\n event.stopPropagation()\n return false\n },\n End: () => {\n $$( document ).removeEvent( [ 'SliderMouseMove','SliderTouchMove','SliderMouseUp','SliderTouchEnd' ] )\n }\n },\n KeyDownEvent: (\n props: {\n event: React.KeyboardEvent<HTMLButtonElement>\n val_status: InputTypes.Status.Slider\n set_status: React.Dispatch<React.SetStateAction<InputTypes.Status.Slider>>\n DotData: Slider.DataLevelingResult\n }\n ) => {\n let {\n event,\n val_status,\n set_status\n } = props\n let { min,max,step } = val_status\n let { key,metaKey,ctrlKey } = event\n let auxKey = ctrlKey || metaKey\n\n let nextValue = val_status.dataValue\n if ( !key.match( /Arrow/ ) ) return\n\n event.preventDefault()\n if ( key.match( /Left|Up/ ) ) {\n if ( auxKey ) nextValue = min\n else nextValue -= step\n } else if ( key.match( /Right|Down/ ) ) {\n if ( auxKey ) nextValue = max\n else nextValue += step\n }\n nextValue = Math.max( Math.min( nextValue,max ),min )\n\n useStore.update( {\n key: val_status.componentID,\n value: {\n prevValue: nextValue\n }\n } )\n\n set_status( {\n ...val_status,\n dataValue: nextValue,\n eventType: 'update',\n eventID: $$.uuid.gen(),\n } )\n }\n}\n\nconst SliderInput: React.FC<Slider.Input> = ( params ) => {\n let {\n color = 'theme',\n required,\n form = '',\n\n legends: {\n enable: showLegends = true,\n custom: customLegends,\n showAlways: showLegendsAlways = false\n } = {},\n min,max,step,\n\n enableFormSubmit,\n\n checkValidationAtFirst,\n onChange,onKeyDown,\n onValidate,\n onUpdateValue,onUpdateValidValue,\n value = '',\n className,\n\n ...others\n } = params\n\n let Default_Status: InputTypes.Status.Slider = {\n componentID: params.componentID || '',\n dataValue: value,\n min,max,step,\n eventType: 'init',\n eventID: $$.uuid.gen(),\n }\n let [ val_status,set_status ] = useState( Default_Status )\n let [ val_validate,set_validate ] = useState( {\n ok: false,\n notice: []\n } as InputTypes.Validation.Result )\n\n CommonEffects( {\n params,\n val_status,\n set_status,\n val_validate,\n set_validate,\n onUpdateValue,onUpdateValidValue,\n DefaultValidation,\n ExtraOverrideParams: {\n dataValue: value\n },\n ExtraStoreParams: {\n prevValue: val_status.dataValue,\n setValueByForeign: ( value: number ) => {\n set_status( {\n ...val_status,\n dataValue: value,\n eventType: 'update',\n eventID: $$.uuid.gen(),\n } )\n }\n }\n } )\n\n let DotData = DataLeveling( {\n value: val_status.dataValue,\n val_status\n } )\n\n return <BoxWrapper\n val_status={ val_status }\n set_status={ set_status }\n val_validate={ val_validate }\n params={ params }\n >\n <Hidden\n value={ DotData.stepValue }\n form={ form }\n data-value={ DotData.stepValue }\n data-validation={ val_validate.ok }\n data-input-type={ 'slider' }\n { ...others }\n />\n <Column\n gap={ '1/2' }\n flexSizing={ 'auto' }\n className={ [\n InputSliderClasses( 'Wrap' ),\n className,\n InputSliderClasses( 'ShowLegendsAlways_' + showLegendsAlways )\n ].join( ' ' ) }\n >\n <Comps.Rail\n color={ color }\n val_status={ val_status }\n set_status={ set_status }\n DotData={ DotData }\n form={ form }\n enableFormSubmit={ enableFormSubmit! }\n />\n { showLegends ? <Comps.IndicatorLabels\n componentID={ val_status.componentID }\n min={ min }\n max={ max }\n step={ step }\n customLegends={ customLegends }\n /> : null }\n </Column>\n </BoxWrapper>\n}\n\nconst Slider: React.FC<Slider.Input> = ( rawParams ) => {\n rawParams = { ...rawParams }\n return <Wrapper\n componentID={ rawParams.componentID }\n children={ SliderInput }\n params={ GenerateClassName( rawParams ) }\n />\n}\n\nexport {\n Slider,\n Slider as default\n}"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["jsx", "jsxs", "useState", "useEffect", "$$", "Config", "useStore", "GenerateClassName", "Box", "Flex", "Column", "Button", "Wrapper", "BoxWrapper", "SubmitForm", "CommonEffects", "Hidden", "InputSliderClasses", "DefaultValidation", "props", "value", "params", "required", "notice", "type", "DataLeveling", "val_status", "min", "max", "step", "stepValue", "Comps", "componentID", "customLegends", "Labels", "minStep", "maxStep", "steps", "index", "left", "LabelLeveling", "width", "maxLabelCount", "labelStep", "set_status", "DotData", "form", "enableFormSubmit", "event", "Hooks", "info", "mouseX", "Ball", "Bar", "BarColor", "barWidth", "barLeft", "Left", "LeftRawValue", "resultValues", "prevValue", "__spreadProps", "__spreadValues", "key", "metaKey", "ctrlKey", "auxKey", "nextValue", "SliderInput", "_a", "color", "showLegends", "showLegendsAlways", "checkValidationAtFirst", "onChange", "onKeyDown", "onValidate", "onUpdateValue", "onUpdateValidValue", "className", "others", "__objRest", "Default_Status", "val_validate", "set_validate", "Slider", "rawParams"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { ThemeColor, ReactElement } from '../../@declaration/_';
|
|
3
|
+
import { InputTypes } from './_';
|
|
4
|
+
declare namespace Switch {
|
|
5
|
+
type Input = InputTypes.UniInput & React.DOMAttributes<HTMLInputElement> & {
|
|
6
|
+
color?: Color;
|
|
7
|
+
id?: string;
|
|
8
|
+
tabIndex?: number;
|
|
9
|
+
appearance?: 'material' | 'applely';
|
|
10
|
+
disabled?: boolean;
|
|
11
|
+
value?: boolean;
|
|
12
|
+
icon?: ReactElement;
|
|
13
|
+
};
|
|
14
|
+
type Color = ThemeColor | 'theme' | 'posi' | 'nega' | 'warn';
|
|
15
|
+
}
|
|
16
|
+
declare const Switch: React.FC<Switch.Input>;
|
|
17
|
+
export { Switch, Switch as default };
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{b as l,c as f,d as V}from"../../chunk-E3D4DIO4.js";import{jsx as a,jsxs as w}from"react/jsx-runtime";import{useState as g}from"react";import{$$ as x}from"@utils";import s from"@atoms/Box";import F from"@mols/Row";import N from"@fn/Button";import{Wrapper as L,BoxWrapper as q,SubmitForm as H,CommonEffects as O}from"./core";import{InputSwitchClasses as c}from"@styles/componentClasses/_";function U(e){let{value:I,params:o}=e,{required:y}=o,n=[];return y&&!I&&n.push({type:"invalid",label:"ON\u306B\u306A\u3063\u3066\u3044\u307E\u305B\u3093"}),{ok:!n.filter(({type:r})=>r=="invalid").length,notice:n}}const W=e=>{let k=e,{componentID:I,color:o="posi",required:y,form:n,id:r,enableFormSubmit:R,checkValidationAtFirst:A,onChange:b,onKeyDown:v,onValidate:K,onUpdateValue:T,onUpdateValidValue:B,value:m="",icon:C="",appearance:p="material"}=k,_=V(k,["componentID","color","required","form","id","enableFormSubmit","checkValidationAtFirst","onChange","onKeyDown","onValidate","onUpdateValue","onUpdateValidValue","value","icon","appearance"]),E={componentID:e.componentID||"",dataValue:m,eventType:"init",eventID:x.uuid.gen()},[t,h]=g(E),[u,S]=g({ok:!1,notice:[]}),d=!!t.dataValue;return O({params:e,val_status:t,set_status:h,val_validate:u,set_validate:S,DefaultValidation:U,onUpdateValue:T,onUpdateValidValue:B,ExtraOverrideParams:{dataValue:m,formatValue:m}}),w(q,{val_status:t,set_status:h,val_validate:u,params:e,children:[a("input",l({type:"checkbox","data-form":n,"data-input-type":"switch","data-validation":u.ok,"data-component-id":t.componentID,"data-value":t.dataValue,checked:t.dataValue,className:c("Input"),id:r,onKeyDown:i=>{v&&v(i),R&&H(i)},onChange:i=>{u.ok&&S({ok:!1,notice:[]}),h(f(l({},t),{dataValue:i.target.checked,eventType:"update",eventID:x.uuid.gen()})),b&&b(i)}},_)),a(N.Label.Plain,{tabIndex:-1,htmlFor:r,padding:"1/3",transition:"middle",borderRadius:"1.tone.primary",className:c("Label"),children:a(s,f(l({},p=="applely"?{padding:"1/4",isRounded:!0,backgroundColor:d?o:"5.layer.darker"}:{}),{children:w(F.Center,{unitHeight:2.5,position:"relative",freeCSS:{width:12*4.5},children:[p=="material"?a(s,{position:"absolute",backgroundColor:d?o:"5.layer.darker",borderRadius:"sphere",unitHeight:1,transition:"middle",width:1,className:c("Bar"),opacity:"middle"}):null,a(s,{position:"absolute",top:0,left:0,backgroundColor:p=="material"&&d?o:"white",transition:"middle",ssSphere:2.5,boxShadow:"1.remark",className:c("Dot"),children:C?a(s,{transition:"middle",ssSquare:2,flexCenter:!0,fontColor:p=="applely"&&d?o:"white",children:C}):null})]})}))})]})},D=e=>(e=l({},e),e.color=e.color||"theme",a(L,{componentID:e.componentID,children:W,params:e}));export{D as Switch,D as default};
|
|
2
|
+
//# sourceMappingURL=Switch.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/fn/Input/Switch.tsx"],
|
|
4
|
+
"sourcesContent": ["import {\n ThemeColor,\n ReactElement,\n} from '@declaration'\nimport {\n useState,\n useEffect\n} from 'react'\nimport {\n $$\n} from '@utils'\n\nimport Box from '@atoms/Box'\nimport Row from '@mols/Row'\nimport Button from '@fn/Button'\n\nimport {\n Wrapper,\n BoxWrapper,\n SubmitForm,\n CommonEffects,\n} from './core'\n\nimport { InputTypes } from './_'\n\nimport { InputSwitchClasses } from '@styles/componentClasses/_'\n\nnamespace Switch {\n export type Input = InputTypes.UniInput & React.DOMAttributes<HTMLInputElement> & {\n color?: Color\n\n id?: string\n tabIndex?: number\n\n appearance?: 'material' | 'applely'\n disabled?: boolean\n value?: boolean\n icon?: ReactElement\n }\n export type Color = ThemeColor | 'theme' | 'posi' | 'nega' | 'warn'\n}\n\nfunction DefaultValidation( props: {\n value: any\n params: any\n} ): InputTypes.Validation.Result {\n let { value,params } = props\n let { required } = params as Switch.Input\n let notice: InputTypes.Validation.Notice[] = []\n\n if ( required && !value ) {\n notice.push( { type: 'invalid',label: 'ON\u306B\u306A\u3063\u3066\u3044\u307E\u305B\u3093' } )\n }\n\n return {\n ok: !notice.filter( ( { type } ) => type == 'invalid' ).length,\n notice: notice\n }\n}\n\nconst SwitchInput: React.FC<Switch.Input> = ( params ) => {\n let {\n componentID,\n color = 'posi',\n required,\n form,\n id,\n\n enableFormSubmit,\n\n checkValidationAtFirst,\n onChange,onKeyDown,\n onValidate,\n onUpdateValue,onUpdateValidValue,\n value = '',\n icon = '',\n appearance = 'material',\n\n ...others\n } = params\n\n let Default_Status: InputTypes.Status.Plain = {\n componentID: params.componentID || '',\n dataValue: value,\n eventType: 'init',\n eventID: $$.uuid.gen()\n }\n let [ val_status,set_status ] = useState( Default_Status )\n let [ val_validate,set_validate ] = useState( {\n ok: false,\n notice: []\n } as InputTypes.Validation.Result )\n let isChecked = !!val_status.dataValue\n\n CommonEffects( {\n params,\n val_status,\n set_status,\n val_validate,\n set_validate,\n DefaultValidation,\n onUpdateValue,onUpdateValidValue,\n ExtraOverrideParams: {\n dataValue: value,\n formatValue: value\n },\n } )\n\n return <BoxWrapper\n val_status={ val_status }\n set_status={ set_status }\n val_validate={ val_validate }\n params={ params }\n >\n <input\n type='checkbox'\n data-form={ form }\n data-input-type={ 'switch' }\n data-validation={ val_validate.ok }\n data-component-id={ val_status.componentID }\n data-value={ val_status.dataValue }\n checked={ val_status.dataValue }\n className={ InputSwitchClasses( 'Input' ) }\n id={ id }\n onKeyDown={ ( event ) => {\n if ( onKeyDown ) onKeyDown( event )\n if ( enableFormSubmit ) SubmitForm( event )\n } }\n onChange={ ( event ) => {\n if ( val_validate.ok ) set_validate( { ok: false,notice: [] } )\n set_status( {\n ...val_status,\n dataValue: event.target.checked,\n eventType: 'update',\n eventID: $$.uuid.gen(),\n } )\n\n if ( onChange ) onChange( event )\n } }\n { ...others }\n />\n <Button.Label.Plain\n tabIndex={ -1 }\n htmlFor={ id }\n padding={ '1/3' }\n transition='middle'\n borderRadius={ '1.tone.primary' }\n className={ InputSwitchClasses( 'Label' ) }\n >\n <Box\n { ...appearance == 'applely' ? {\n padding: '1/4',\n isRounded: true,\n backgroundColor: isChecked ? color : '5.layer.darker'\n } : {} }\n >\n <Row.Center\n unitHeight={ 2.5 }\n position='relative'\n freeCSS={ {\n width: 12 * 4.5\n } }\n >\n { appearance == 'material' ? <Box\n position='absolute'\n backgroundColor={ isChecked ? color : '5.layer.darker' }\n borderRadius={ 'sphere' }\n unitHeight={ 1 }\n transition='middle'\n width={ 1 }\n className={ InputSwitchClasses( 'Bar' ) }\n opacity='middle'\n /> : null }\n <Box\n position='absolute'\n top={ 0 }\n left={ 0 }\n backgroundColor={ appearance == 'material' && isChecked ? color : 'white' }\n transition='middle'\n ssSphere={ 2.5 }\n boxShadow={ '1.remark' }\n className={ InputSwitchClasses( 'Dot' ) }\n >\n { icon ? <Box\n transition='middle'\n ssSquare={ 2 }\n flexCenter\n fontColor={ appearance == 'applely' && isChecked ? color : 'white' }\n >\n { icon }\n </Box> : null }\n </Box>\n </Row.Center>\n </Box>\n </Button.Label.Plain>\n </BoxWrapper>\n}\n\nconst Switch: React.FC<Switch.Input> = ( rawParams ) => {\n rawParams = { ...rawParams }\n rawParams.color = rawParams.color || 'theme'\n return <Wrapper\n componentID={ rawParams.componentID }\n children={ SwitchInput }\n params={ rawParams }\n />\n}\n\nexport {\n Switch,\n Switch as default\n}"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["jsx", "jsxs", "useState", "$$", "Box", "Row", "Button", "Wrapper", "BoxWrapper", "SubmitForm", "CommonEffects", "InputSwitchClasses", "DefaultValidation", "props", "value", "params", "required", "notice", "type", "SwitchInput", "_a", "componentID", "color", "form", "id", "enableFormSubmit", "checkValidationAtFirst", "onChange", "onKeyDown", "onValidate", "onUpdateValue", "onUpdateValidValue", "icon", "appearance", "others", "__objRest", "Default_Status", "val_status", "set_status", "val_validate", "set_validate", "isChecked", "__spreadValues", "event", "__spreadProps", "Switch", "rawParams"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { ReactElement } from '../../@declaration/_';
|
|
3
|
+
import { InputTypes } from './_';
|
|
4
|
+
declare namespace Text {
|
|
5
|
+
type Restrict = 'text' | 'katakana' | 'hankaku.katakana' | 'number' | 'digitNumber' | 'tel' | 'email' | 'url' | 'fileName' | 'password' | 'postal' | 'creditCard';
|
|
6
|
+
type Input = InputTypes.CoreInput & React.DOMAttributes<HTMLInputElement> & {
|
|
7
|
+
tone?: InputTypes.BoxTone;
|
|
8
|
+
tabIndex?: number;
|
|
9
|
+
id?: string;
|
|
10
|
+
disabled?: boolean;
|
|
11
|
+
min?: number | null;
|
|
12
|
+
max?: number | null;
|
|
13
|
+
maxLength?: number | null;
|
|
14
|
+
autoComplete?: 'off' | 'none' | string;
|
|
15
|
+
autoCapitalize?: 'off' | 'none' | string;
|
|
16
|
+
clearButton?: boolean;
|
|
17
|
+
value?: string | number;
|
|
18
|
+
placeholder?: string;
|
|
19
|
+
leftIndicator?: ReactElement | false;
|
|
20
|
+
rightIndicator?: ReactElement | false;
|
|
21
|
+
leftIcon?: ReactElement | false;
|
|
22
|
+
rightIcon?: ReactElement | false;
|
|
23
|
+
};
|
|
24
|
+
type Origin = Input & {
|
|
25
|
+
restrict?: Restrict;
|
|
26
|
+
};
|
|
27
|
+
type Methods = {
|
|
28
|
+
Validate(value: any, restrict: Restrict): {
|
|
29
|
+
ok: boolean;
|
|
30
|
+
body: ReactElement;
|
|
31
|
+
};
|
|
32
|
+
Normal: (props: Origin) => JSX.Element;
|
|
33
|
+
Katakana: (props: Origin) => JSX.Element;
|
|
34
|
+
HankakuKatakana: (props: Origin) => JSX.Element;
|
|
35
|
+
Number: (props: Input) => JSX.Element;
|
|
36
|
+
DigitNumber: (props: Input) => JSX.Element;
|
|
37
|
+
Tel: (props: Input) => JSX.Element;
|
|
38
|
+
CreditCard: (props: Input) => JSX.Element;
|
|
39
|
+
Email: (props: Input) => JSX.Element;
|
|
40
|
+
Url: (props: Input) => JSX.Element;
|
|
41
|
+
Postal: (props: Input) => JSX.Element;
|
|
42
|
+
Password: (props: Input) => JSX.Element;
|
|
43
|
+
Money: {
|
|
44
|
+
JPY: (props: Input) => JSX.Element;
|
|
45
|
+
};
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
export declare const TextInput: React.FC<Text.Origin>;
|
|
49
|
+
declare const Text: Text.Methods;
|
|
50
|
+
export { Text, Text as default };
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{b as o,c as I,d as F}from"../../chunk-E3D4DIO4.js";import{Fragment as Z,jsx as i,jsxs as H}from"react/jsx-runtime";import{useState as E,useEffect as O}from"react";import{$$ as x,Config as w,useStore as ee}from"@utils";import C from"@atoms/Box";import te from"@atoms/FAI";import ae from"@fn/Button";import U from"@fn/Tooltips";import{faEye as re}from"@fortawesome/free-solid-svg-icons/faEye";import{Wrapper as ie,BoxWrapper as ne,SubmitForm as oe,CommonEffects as le,DefaultStyles as ue}from"./core";import A from"./Parts";const se={number:{reg:/^-?[0-9\.]+$/g,exist:!0,reason:"\u534A\u89D2\u6570\u5B57\u3067\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044"},katakana:{reg:/^[ァ-ヶー ヲ-゚ ]*$/g,exist:!0,reason:"\u30AB\u30BF\u30AB\u30CA\u3067\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044"},"hankaku.katakana":{reg:/^[ヲ-゚ ]*$/g,exist:!0,reason:"\u534A\u89D2\u30AB\u30BF\u30AB\u30CA\u3067\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044"},digitNumber:{reg:/^-?[0-9\.]+$/g,exist:!0,reason:"\u534A\u89D2\u6570\u5B57\u3067\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044"},fileName:{reg:/[¥\/:*\?\"\'\|\.\s\n\r\<\>]/g,exist:!1,reason:"\u7A7A\u767D\u307E\u305F\u306F\u4E00\u90E8\u306E\u7279\u6B8A\u6587\u5B57\u306F\u4F7F\u7528\u3067\u304D\u307E\u305B\u3093"},creditCard:{reg:/^\d{14,16}$/g,exist:!0,reason:"14~16\u6841\u306E\u6570\u5B57\u3067\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044"},email:{reg:/^[A-Za-z0-9]{1}[A-Za-z0-9_.-]*@{1}[A-Za-z0-9_.-]+\.[A-Za-z0-9]+$/,exist:!0,reason:H(Z,{children:[i(C,{children:"\u25CB\u25CB\u25CB\u25CB@\u25CB\u25CB\u25CB\u25CB.\u25CB\u25CB\u25CB\u306E\u5F62\u5F0F\u3067\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044"}),i(C,{children:"\u6700\u5F8C\u306E\u6587\u5B57\u306B.(\u30C9\u30C3\u30C8)\u3092\u5165\u308C\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093"})]})},password:{reg:/^(?=[^A-Z]*[A-Z])(?=[^a-z]*[a-z])(?=[^0-9]*[0-9]).{8,}$/,exist:!0,reason:"8\u6587\u5B57\u4EE5\u4E0A\u3001\u534A\u89D2\u82F1\u6570\u5927\u5C0F\u6587\u5B57\u3067\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044"},tel:{reg:/.*$/g,exist:!0,reason:H(Z,{children:[i(C,{children:"0\u304B\u3089\u59CB\u307E\u308B\u756A\u53F7\u306E\u307F\u5165\u529B\u53EF\u80FD\u3067\u3059"}),i(C,{children:"9~12\u6841\u306E\u6570\u5B57\u3067\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044"}),i(C,{children:"\u6570\u5B57\u306E\u307F\u5165\u529B\u53EF\u80FD\u3067\u3059"})]})},url:{reg:/^https?:\/\/[^\n\s]+(\.|\:)[^\n\s\.\:]+$/,exist:!0,reason:"URL\u5F62\u5F0F : http(s)://\u25EF\u25EF\u25EF\u25EF"},postal:{reg:/^\d{7}$/g,exist:!0,reason:"7\u6841\u306E\u6570\u5B57\u3067\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044"}},V=e=>{let{restrict:r,value:p=""}=e,t=String(p),a=!1;if(["tel","number","digitNumber","test","postal","creditCard"].includes(r)&&(t=t.zen2hanNumber()),r=="katakana"&&(t=t.replace(/[^ァ-ヶー ヲ-゚ ]/ig,"")),r=="hankaku.katakana"&&(t=t.replace(/[^ヲ-゚ ]/ig,"")),["postal","creditCard"].includes(r)&&(t=t.removeLetters()),["number","digitNumber"].includes(r)&&t&&t!="-")if(t=="0-")t="-";else{t[0]=="-"&&(a=!0),t=t.replace(/[^0-9\.]/ig,"");let n=Number(t);n===0&&(a=!1),a&&(n=-1*n),x.is.exist(e.min)&&(n=Math.max(n,Number(e.min))),x.is.exist(e.max)&&(n=Math.min(n,Number(e.max))),t=String(Math.abs(n))}let s=t;if(r=="digitNumber"){if(t&&t!="-"){let n=[];for(let l=t.length-1;l>=0;l--){n.unshift(t[l]);let g=t.length-1-l+1;l!=0&&g%3==0&&n.unshift(",")}s=n.join("")}}else r=="postal"?t.length>=4&&(s=t.clip(0,3)+"-"+t.clip(3)):r=="creditCard"&&(s=t.replace(/.{4}(?=.)/g,"$& "));return["number","digitNumber"].includes(r)&&a&&(t="-"+t,s="-"+s),{formatValue:s,dataValue:t}},pe=e=>{let{id:r,restrict:p,val_status:t}=e,a=x(w.get().appRoot).find("#"+r)[0];if(a&&t.prevValue&&t.formatValue){let{formatValue:s,prevValue:n,caretFrom:l,caretTo:g}=t;if(p=="creditCard")s.length>=n.length&&l%5==0&&(l++,g++),a.setSelectionRange(l,g);else if(p=="postal")s.length==5&&n.length==3&&(l++,g++),a.setSelectionRange(l,g);else if(p=="digitNumber"){let S=s.length-n.length;S==2&&(l++,g++),S==-2&&(l--,g--),a.setSelectionRange(l,g)}}},K=(e,r)=>{let p={ok:!0,body:""};return(()=>{let t=se[r];if(!t)return;let a=t.reason;if(t){let s=!!(+!!e.match(t.reg)^+!t.exist);p={ok:s,body:s?"":a}}})(),p};function me(e){let{value:r,params:p}=e,{restrict:t="text",maxLength:a=255,required:s}=p,n=[];if(x.is.exist(a)&&r.length>=Number(a)&&n.push({type:"invalid",label:a+"\u5B57\u4EE5\u5185\u3067\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044"}),r){let l=K(r,t);l.ok||n.push({type:"invalid",label:l.body})}else s&&n.push({type:"invalid",label:"\u5FC5\u9808\u9805\u76EE\u3067\u3059"});return{ok:!n.filter(({type:l})=>l=="invalid").length,notice:n}}const de=e=>{let X=e,{componentID:r,tone:p,required:t,restrict:a="text",form:s,autoComplete:n="off",autoCapitalize:l="off",enableFormSubmit:g,clearButton:S=!1,checkValidationAtFirst:ce,onChange:J,onKeyDown:M,onValidate:fe,onUpdateValue:W,onUpdateValidValue:q,value:$="",leftIndicator:ge,rightIndicator:xe,leftIcon:be,rightIcon:he,maxLength:Ie,min:N,max:k}=X,m=F(X,["componentID","tone","required","restrict","form","autoComplete","autoCapitalize","enableFormSubmit","clearButton","checkValidationAtFirst","onChange","onKeyDown","onValidate","onUpdateValue","onUpdateValidValue","value","leftIndicator","rightIndicator","leftIcon","rightIcon","maxLength","min","max"]),Y=a=="password"?"password":"text",P=["number","digitNumber","creditCard"].includes(a)?"numeric":a=="email"?"email":"text",j=I(o({componentID:r},V({min:N,max:k,restrict:a,value:$})),{prevValue:"",eventType:"init",eventID:x.uuid.gen(),caretFrom:null,caretTo:null}),[G,L]=E(!1),[u,v]=E(j),[y,R]=E({ok:!1,notice:[]});return le({params:e,val_status:u,set_status:v,val_validate:y,set_validate:R,DefaultValidation:me,onUpdateValue:W,onUpdateValidValue:q,ExtraOverrideParams:o({},V({min:N,max:k,restrict:a,value:$}))}),O(()=>{pe({id:e.id,restrict:a,val_status:u})},[u]),i(ne,{val_status:u,set_status:v,val_validate:y,params:e,children:i("input",I(o({type:Y,inputMode:P,"data-form":s,"data-input-type":"text","data-validation":y.ok,"data-value":u.dataValue,"data-component-id":u.componentID,value:u.formatValue,autoComplete:n,autoCapitalize:l,onKeyDown:d=>{let{key:f,target:D}=d;{let b=D,{selectionStart:h,selectionEnd:Q}=b,T=Number(h),z=Number(Q),B=u.formatValue[Number(T)],_=u.formatValue[Number(T)-1];f=="Delete"&&(a=="creditCard"&&B==" "||a=="postal"&&B=="-"||a=="digitNumber"&&B==",")&&(b.setSelectionRange(T+1,z+1),d.preventDefault()),f=="Backspace"&&(a=="creditCard"&&_==" "||a=="postal"&&_=="-"||a=="digitNumber"&&_==",")&&(b.setSelectionRange(T-1,z-1),d.preventDefault()),f=="Enter"||f=="Tab"}if(["number","digitNumber","creditCard"].includes(a)&&f=="Clear"&&v(I(o({},u),{dataValue:"",formatValue:"",eventType:"update",eventID:x.uuid.gen()})),["number","digitNumber"].includes(a)&&["ArrowUp","ArrowDown"].includes(f)){let b=+(f=="ArrowUp")*2-1,h=String(Number(u.dataValue)+b);y.ok&&R({ok:!1,notice:[]}),v(I(o(o({},u),V({min:N,max:k,restrict:a,value:h})),{eventType:"update",eventID:x.uuid.gen()})),d.preventDefault()}M&&M(d),g&&oe(d)},onChange:d=>{let{value:f,selectionStart:D,selectionEnd:b}=d.target,h=V({min:N,max:k,restrict:a,value:f});G&&(h.formatValue=f),h.formatValue!=u.formatValue&&(y.ok&&R({ok:!1,notice:[]}),v(I(o(o({},u),h),{prevValue:u.formatValue,eventType:"update",eventID:x.uuid.gen(),caretFrom:Number(D),caretTo:Number(b)})),J&&J(d))}},m),{onCompositionStart:d=>{m!=null&&m.onCompositionStart&&(m==null||m.onCompositionStart(d)),L(!0)},onCompositionEnd:d=>{if(m!=null&&m.onCompositionEnd&&(m==null||m.onCompositionEnd(d)),a=="text")return;let f=V({min:N,max:k,restrict:a,value:u.formatValue});v(I(o(o({},u),f),{prevValue:u.formatValue,eventType:"update",eventID:x.uuid.gen(),caretFrom:Number(u.formatValue.length+1),caretTo:Number(u.formatValue.length+1)})),L(!1)}}))})},c={Validate:K,Normal:e=>{var r,p;return e=o({},e),e.rightIcon&&(e.paddingRight=(r=e.paddingRight)!=null?r:3),e.leftIcon&&(e.paddingLeft=(p=e.paddingLeft)!=null?p:3),i(ie,{componentID:e.componentID,children:de,params:ue.Boxish(e)})},Katakana:e=>i(c.Normal,o({restrict:"katakana"},e)),HankakuKatakana:e=>i(c.Normal,o({restrict:"hankaku.katakana"},e)),CreditCard:e=>i(c.Normal,o({restrict:"creditCard"},e)),Tel:e=>i(c.Normal,o({restrict:"tel",placeholder:"xxx-xxxx-xxxx"},e)),Number:e=>i(c.Normal,o({restrict:"number"},e)),DigitNumber:e=>i(c.Normal,o({restrict:"digitNumber"},e)),Email:e=>i(c.Normal,o({restrict:"email"},e)),Url:e=>i(c.Normal,o({restrict:"url",placeholder:"https://example.com"},e)),Postal:e=>{let[r]=E(x.uuid.gen());return O(()=>()=>{ee.delete(r)},[]),i(c.Normal,o({restrict:"postal",placeholder:"\u90F5\u4FBF\u756A\u53F7",leftIndicator:i(A.LeftIndicator,{children:"\u3012"})},e))},Password:e=>i(c.Normal,o({restrict:"password",placeholder:"\u30D1\u30B9\u30EF\u30FC\u30C9\u3092\u5165\u529B",rightIndicator:i(A.RightIndicator,{padding:0,children:i(ae.Button.Normal.R,{padding:[0,1],fontColor:"theme",borderRadius:"inherit",backgroundColor:"inherit",height:1,ssEffectsOnActive:["expand"],onMouseOver:r=>{U.open({parent:r.currentTarget,gravityPoint:24,padding:[1,0],content:i(U.Comps.Body,{children:"\u30D1\u30B9\u30EF\u30FC\u30C9\u3092\u8868\u793A"})})},tabIndex:-1,onClick:r=>{x(w.get().appRoot).find(r.target).parent().parent().parent().find("input").callback(p=>{let t=p[0];t.type=t.type==="password"?"text":"password"})},children:i(te,{icon:re,freeCSS:{pointerEvents:"none"}})})})},e)),Money:{JPY:e=>i(c.DigitNumber,o({placeholder:"\u91D1\u984D\u3092\u5165\u529B",rightIndicator:i(A.RightIndicator,{children:"\u5186"})},e))}};export{c as Text,de as TextInput,c as default};
|
|
2
|
+
//# sourceMappingURL=Text.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/fn/Input/Text.tsx"],
|
|
4
|
+
"sourcesContent": ["import {\n ReactElement,\n} from '@declaration'\nimport {\n useState,\n useEffect\n} from 'react'\n\nimport {\n $$,\n Config,\n useStore,\n} from '@utils'\n\nimport Box from '@atoms/Box'\nimport FAI from '@atoms/FAI'\nimport Button from '@fn/Button'\nimport Tooltips from '@fn/Tooltips'\nimport { faEye } from '@fortawesome/free-solid-svg-icons/faEye'\n\n\nimport {\n Wrapper,\n BoxWrapper,\n SubmitForm,\n CommonEffects,\n DefaultStyles\n} from './core'\n\nimport { InputTypes } from './_'\nimport Parts from './Parts'\n\nnamespace Text {\n export type Restrict = 'text' | 'katakana' | 'hankaku.katakana' | 'number' | 'digitNumber' | 'tel' | 'email' | 'url' | 'fileName' | 'password' | 'postal' | 'creditCard'\n export type Input = InputTypes.CoreInput & React.DOMAttributes<HTMLInputElement> & {\n tone?: InputTypes.BoxTone\n\n tabIndex?: number\n id?: string\n\n disabled?: boolean\n\n min?: number | null\n max?: number | null\n maxLength?: number | null\n\n autoComplete?: 'off' | 'none' | string\n autoCapitalize?: 'off' | 'none' | string\n\n clearButton?: boolean\n\n value?: string | number\n\n placeholder?: string\n\n leftIndicator?: ReactElement | false\n rightIndicator?: ReactElement | false\n leftIcon?: ReactElement | false\n rightIcon?: ReactElement | false\n }\n export type Origin = Input & {\n restrict?: Restrict\n }\n export type Methods = {\n Validate( value: any,restrict: Restrict ): {\n ok: boolean\n body: ReactElement\n }\n Normal: ( props: Origin ) => JSX.Element\n Katakana: ( props: Origin ) => JSX.Element\n HankakuKatakana: ( props: Origin ) => JSX.Element\n Number: ( props: Input ) => JSX.Element\n DigitNumber: ( props: Input ) => JSX.Element\n Tel: ( props: Input ) => JSX.Element\n CreditCard: ( props: Input ) => JSX.Element\n Email: ( props: Input ) => JSX.Element\n Url: ( props: Input ) => JSX.Element\n Postal: ( props: Input ) => JSX.Element\n Password: ( props: Input ) => JSX.Element\n Money: {\n JPY: ( props: Input ) => JSX.Element\n }\n }\n}\n\nconst ValidateTypes: {\n [ key: string ]: {\n reg: RegExp\n exist: boolean\n reason: ReactElement\n }\n} = {\n number: {\n reg: /^-?[0-9\\.]+$/g,exist: true,\n reason: '\u534A\u89D2\u6570\u5B57\u3067\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044'\n },\n katakana: {\n reg: /^[\u30A1-\u30F6\u30FC \u3000\uFF66-\uFF9F\u3000 ]*$/g,exist: true,\n reason: '\u30AB\u30BF\u30AB\u30CA\u3067\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044'\n },\n [ 'hankaku.katakana' ]: {\n reg: /^[\uFF66-\uFF9F\u3000 ]*$/g,exist: true,\n reason: '\u534A\u89D2\u30AB\u30BF\u30AB\u30CA\u3067\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044'\n },\n digitNumber: {\n reg: /^-?[0-9\\.]+$/g,exist: true,\n reason: '\u534A\u89D2\u6570\u5B57\u3067\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044'\n },\n fileName: {\n reg: /[\u00A5\\/:*\\?\\\"\\'\\|\\.\\s\\n\\r\\<\\>]/g,exist: false,\n reason: '\u7A7A\u767D\u307E\u305F\u306F\u4E00\u90E8\u306E\u7279\u6B8A\u6587\u5B57\u306F\u4F7F\u7528\u3067\u304D\u307E\u305B\u3093'\n },\n creditCard: {\n reg: /^\\d{14,16}$/g,exist: true,\n reason: '14~16\u6841\u306E\u6570\u5B57\u3067\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044'\n },\n email: {\n reg: /^[A-Za-z0-9]{1}[A-Za-z0-9_.-]*@{1}[A-Za-z0-9_.-]+\\.[A-Za-z0-9]+$/,exist: true,\n reason: <>\n <Box>\u25CB\u25CB\u25CB\u25CB@\u25CB\u25CB\u25CB\u25CB.\u25CB\u25CB\u25CB\u306E\u5F62\u5F0F\u3067\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044</Box>\n <Box>\u6700\u5F8C\u306E\u6587\u5B57\u306B.(\u30C9\u30C3\u30C8)\u3092\u5165\u308C\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093</Box>\n </>,\n },\n password: {\n reg: /^(?=[^A-Z]*[A-Z])(?=[^a-z]*[a-z])(?=[^0-9]*[0-9]).{8,}$/,exist: true,\n reason: '8\u6587\u5B57\u4EE5\u4E0A\u3001\u534A\u89D2\u82F1\u6570\u5927\u5C0F\u6587\u5B57\u3067\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044'\n },\n tel: {\n reg: /.*$/g,exist: true,\n reason: <>\n <Box>0\u304B\u3089\u59CB\u307E\u308B\u756A\u53F7\u306E\u307F\u5165\u529B\u53EF\u80FD\u3067\u3059</Box>\n <Box>9~12\u6841\u306E\u6570\u5B57\u3067\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044</Box>\n <Box>\u6570\u5B57\u306E\u307F\u5165\u529B\u53EF\u80FD\u3067\u3059</Box>\n </>\n // reg: /^(0|\\(?\\+\\d{1,3}\\)?\\s)[-0-9]{9,12}$/g,exist: true,\n // reason: <>\n // <Box>0\u304B\u3089\u59CB\u307E\u308B\u756A\u53F7\u306E\u307F\u5165\u529B\u53EF\u80FD\u3067\u3059</Box>\n // <Box>9~12\u6841\u306E\u6570\u5B57\u3067\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044</Box>\n // <Box>\u6570\u5B57\u306E\u307F\u5165\u529B\u53EF\u80FD\u3067\u3059</Box>\n // </>\n },\n url: {\n reg: /^https?:\\/\\/[^\\n\\s]+(\\.|\\:)[^\\n\\s\\.\\:]+$/,exist: true,\n reason: 'URL\u5F62\u5F0F : http(s)://\u25EF\u25EF\u25EF\u25EF'\n },\n postal: {\n reg: /^\\d{7}$/g,exist: true,\n reason: '7\u6841\u306E\u6570\u5B57\u3067\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044'\n }\n}\n\nconst DataLeveling = ( params: {\n min?: number | null\n max?: number | null\n restrict: Text.Restrict,\n value: any\n} ) => {\n let {\n restrict,\n value = ''\n } = params\n\n let dataValue = String( value )\n let minus = false\n if ( [ 'tel','number','digitNumber','test','postal','creditCard' ].includes( restrict ) ) {\n dataValue = dataValue.zen2hanNumber()\n }\n if ( restrict == 'katakana' ) {\n dataValue = dataValue.replace( /[^\u30A1-\u30F6\u30FC \u3000\uFF66-\uFF9F\u3000 ]/ig,'' )\n }\n if ( restrict == 'hankaku.katakana' ) {\n dataValue = dataValue.replace( /[^\uFF66-\uFF9F\u3000 ]/ig,'' )\n }\n if ( [ 'postal','creditCard' ].includes( restrict ) ) {\n dataValue = dataValue.removeLetters()\n }\n if ( [ 'number','digitNumber' ].includes( restrict ) ) {\n if ( dataValue ) {\n if ( dataValue == '-' ) {\n\n } else if ( dataValue == '0-' ) {\n dataValue = '-'\n } else {\n if ( dataValue[ 0 ] == '-' ) minus = true\n dataValue = dataValue.replace( /[^0-9\\.]/ig,'' )\n\n let Amount = Number( dataValue )\n if ( Amount === 0 ) minus = false\n if ( minus ) Amount = -1 * Amount\n\n if ( $$.is.exist( params.min ) ) {\n Amount = Math.max( Amount,Number( params.min ) )\n }\n if ( $$.is.exist( params.max ) ) {\n Amount = Math.min( Amount,Number( params.max ) )\n }\n dataValue = String( Math.abs( Amount ) )\n }\n }\n }\n\n let formatValue = dataValue\n if ( restrict == 'digitNumber' ) {\n if ( dataValue && dataValue != '-' ) {\n let arrary = []\n for ( let index = dataValue.length - 1; index >= 0; index-- ) {\n arrary.unshift( dataValue[ index ] )\n let Index = ( dataValue.length - 1 ) - index + 1\n if (\n index != 0 && Index % 3 == 0 ) {\n arrary.unshift( ',' )\n }\n }\n formatValue = arrary.join( '' )\n }\n } else if ( restrict == 'postal' ) {\n if ( dataValue.length >= 4 ) {\n formatValue = dataValue.clip( 0,3 ) + '-' + dataValue.clip( 3 )\n }\n } else if ( restrict == 'creditCard' ) {\n formatValue = dataValue.replace( /.{4}(?=.)/g,\"$& \" )\n }\n\n if ( [ 'number','digitNumber' ].includes( restrict ) ) {\n if ( minus ) {\n dataValue = '-' + dataValue\n formatValue = '-' + formatValue\n }\n }\n\n return {\n formatValue,\n dataValue\n }\n}\n\nconst setSelection: {\n ( props: {\n id?: string,\n restrict: Text.Restrict\n val_status: any\n } ): void\n} = ( props ) => {\n let {\n id,\n restrict,\n val_status\n } = props\n\n let input = $$( Config.get().appRoot ).find( '#' + id )[ 0 ] as HTMLInputElement\n if ( input ) {\n if ( val_status.prevValue && val_status.formatValue ) {\n let {\n formatValue: currentValue,\n prevValue,\n caretFrom,caretTo\n } = val_status\n\n if ( restrict == 'creditCard' ) {\n if ( currentValue.length >= prevValue.length ) {\n if ( caretFrom % 5 == 0 ) {\n caretFrom++\n caretTo++\n }\n }\n input.setSelectionRange( caretFrom,caretTo )\n } else if ( restrict == 'postal' ) {\n if ( currentValue.length == 5 && prevValue.length == 3 ) {\n caretFrom++\n caretTo++\n }\n input.setSelectionRange( caretFrom,caretTo )\n } else if ( restrict == 'digitNumber' ) {\n let margin = currentValue.length - prevValue.length\n\n if ( margin == 2 ) {\n caretFrom++\n caretTo++\n }\n if ( margin == -2 ) {\n caretFrom--\n caretTo--\n }\n input.setSelectionRange( caretFrom,caretTo )\n }\n }\n }\n}\nconst TextValidate = ( value: any,restrict: Text.Restrict ) => {\n let response = {\n ok: true,\n body: '' as any\n };\n ( () => {\n let kit = ValidateTypes[ restrict ]\n if ( !kit ) return\n\n let reason = kit.reason\n if ( kit ) {\n let valid = Boolean( Number( !!value.match( kit.reg ) ) ^ Number( !kit.exist ) )\n response = {\n ok: valid,\n body: valid ? '' : reason\n }\n }\n } )()\n return response\n}\n\nfunction DefaultValidation( props: {\n value: any\n params: any\n} ): InputTypes.Validation.Result {\n let {\n value,\n params\n } = props\n let {\n restrict = 'text',\n maxLength = 255,\n required\n } = params as Text.Origin\n let notice: InputTypes.Validation.Notice[] = []\n\n if ( $$.is.exist( maxLength ) ) {\n if ( value.length >= Number( maxLength ) ) {\n notice.push( { type: 'invalid',label: maxLength + '\u5B57\u4EE5\u5185\u3067\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044' } )\n }\n }\n if ( value ) {\n let Valid = TextValidate( value,restrict )\n if ( !Valid.ok ) notice.push( { type: 'invalid',label: Valid.body } )\n } else if ( required ) {\n notice.push( { type: 'invalid',label: '\u5FC5\u9808\u9805\u76EE\u3067\u3059' } )\n }\n\n return {\n ok: !notice.filter( ( { type } ) => type == 'invalid' ).length,\n notice: notice\n }\n}\n\nexport const TextInput: React.FC<Text.Origin> = ( params ) => {\n let {\n componentID,\n tone,\n required,\n restrict = 'text',\n form,\n autoComplete = 'off',\n autoCapitalize = 'off',\n\n enableFormSubmit,\n clearButton = false,\n\n checkValidationAtFirst,\n onChange,onKeyDown,\n onValidate,\n onUpdateValue,\n onUpdateValidValue,\n value = '',\n leftIndicator,rightIndicator,leftIcon,rightIcon,\n maxLength,\n min,\n max,\n ...others\n } = params\n\n let inputType = restrict == 'password' ? 'password' : 'text'\n let inputMode: 'numeric' | 'text' | 'email' = [ 'number','digitNumber','creditCard' ].includes( restrict ) ? 'numeric' : restrict == 'email' ? 'email' : 'text'\n\n let Default_Status: InputTypes.Status.Text = {\n componentID: componentID!,\n ...DataLeveling( {\n min,max,\n restrict,\n value\n } ),\n prevValue: '',\n eventType: 'init',\n eventID: $$.uuid.gen(),\n caretFrom: null as any,\n caretTo: null as any\n }\n let [ val_isComposing,set_isComposing ] = useState( false )\n let [ val_status,set_status ] = useState( Default_Status )\n let [ val_validate,set_validate ] = useState( {\n ok: false,\n notice: []\n } as InputTypes.Validation.Result )\n\n CommonEffects( {\n params,\n val_status,\n set_status,\n val_validate,\n set_validate,\n DefaultValidation,\n onUpdateValue,\n onUpdateValidValue,\n ExtraOverrideParams: {\n ...DataLeveling( {\n min,max,\n restrict,\n value\n } )\n }\n } )\n\n useEffect( () => {\n setSelection( { id: params.id,restrict,val_status } )\n },[ val_status ] )\n\n return <BoxWrapper\n val_status={ val_status }\n set_status={ set_status }\n val_validate={ val_validate }\n params={ params }\n >\n <input\n type={ inputType }\n inputMode={ inputMode }\n data-form={ form }\n data-input-type={ 'text' }\n data-validation={ val_validate.ok }\n data-value={ val_status.dataValue }\n data-component-id={ val_status.componentID }\n value={ val_status.formatValue }\n autoComplete={ autoComplete }\n autoCapitalize={ autoCapitalize }\n onKeyDown={ ( event ) => {\n let { key,target } = event\n\n {\n let input = target as HTMLInputElement\n let { selectionStart,selectionEnd } = input\n let caretFrom = Number( selectionStart )\n let caretTo = Number( selectionEnd )\n\n let _v = val_status.formatValue[ Number( caretFrom ) ]\n let v_ = val_status.formatValue[ Number( caretFrom ) - 1 ]\n if ( key == 'Delete' && (\n ( restrict == 'creditCard' && _v == ' ' ) ||\n ( restrict == 'postal' && _v == '-' ) ||\n ( restrict == 'digitNumber' && _v == ',' )\n ) ) {\n input.setSelectionRange( caretFrom + 1,caretTo + 1 )\n event.preventDefault()\n }\n if ( key == 'Backspace' && (\n ( restrict == 'creditCard' && v_ == ' ' ) ||\n ( restrict == 'postal' && v_ == '-' ) ||\n ( restrict == 'digitNumber' && v_ == ',' )\n ) ) {\n input.setSelectionRange( caretFrom - 1,caretTo - 1 )\n event.preventDefault()\n }\n if ( key == 'Enter' || key == 'Tab' ) {\n\n }\n }\n\n if ( [ 'number','digitNumber','creditCard' ].includes( restrict ) ) {\n if ( key == 'Clear' ) {\n set_status( {\n ...val_status,\n dataValue: '',\n formatValue: '',\n eventType: 'update',\n eventID: $$.uuid.gen(),\n } )\n }\n }\n if ( [ 'number','digitNumber' ].includes( restrict ) ) {\n if ( [ 'ArrowUp','ArrowDown' ].includes( key ) ) {\n let direction = Number( key == 'ArrowUp' ) * 2 - 1\n let Value = String( Number( val_status.dataValue ) + direction )\n if ( val_validate.ok ) {\n set_validate( { ok: false,notice: [] } )\n }\n set_status( {\n ...val_status,\n ...DataLeveling( {\n min,max,\n restrict,\n value: Value\n } ),\n eventType: 'update',\n eventID: $$.uuid.gen(),\n } )\n event.preventDefault()\n }\n }\n\n if ( onKeyDown ) onKeyDown( event )\n if ( enableFormSubmit ) SubmitForm( event )\n } }\n onChange={ ( event ) => {\n let {\n value: rawValue,\n selectionStart,\n selectionEnd\n } = event.target\n\n let value = DataLeveling( {\n min,max,\n restrict,\n value: rawValue\n } )\n\n if ( val_isComposing ) value.formatValue = rawValue\n\n if ( value.formatValue == val_status.formatValue ) return\n\n if ( val_validate.ok ) set_validate( { ok: false,notice: [] } )\n\n set_status( {\n ...val_status,\n ...value,\n prevValue: val_status.formatValue,\n eventType: 'update',\n eventID: $$.uuid.gen(),\n caretFrom: Number( selectionStart ),\n caretTo: Number( selectionEnd )\n } )\n\n if ( onChange ) onChange( event )\n } }\n { ...others }\n onCompositionStart={ ( event ) => {\n others?.onCompositionStart && others?.onCompositionStart( event )\n set_isComposing( true )\n } }\n onCompositionEnd={ ( event ) => {\n others?.onCompositionEnd && others?.onCompositionEnd( event )\n\n if ( restrict == 'text' ) {\n return\n }\n\n let value = DataLeveling( {\n min,max,\n restrict,\n value: val_status.formatValue\n } )\n set_status( {\n ...val_status,\n ...value,\n prevValue: val_status.formatValue,\n eventType: 'update',\n eventID: $$.uuid.gen(),\n caretFrom: Number( val_status.formatValue.length + 1 ),\n caretTo: Number( val_status.formatValue.length + 1 )\n } )\n set_isComposing( false )\n } }\n />\n </BoxWrapper>\n}\n\nconst Text: Text.Methods = {\n Validate: TextValidate,\n Normal: ( rawParams ) => {\n rawParams = { ...rawParams }\n if ( rawParams.rightIcon ) rawParams.paddingRight = rawParams.paddingRight ?? 3\n if ( rawParams.leftIcon ) rawParams.paddingLeft = rawParams.paddingLeft ?? 3\n\n return <Wrapper\n componentID={ rawParams.componentID }\n children={ TextInput }\n params={ DefaultStyles.Boxish( rawParams ) }\n />\n },\n Katakana: ( props ) => ( <Text.Normal\n restrict='katakana'\n { ...props }\n /> ),\n HankakuKatakana: ( props ) => ( <Text.Normal\n restrict='hankaku.katakana'\n { ...props }\n /> ),\n CreditCard: ( props ) => ( <Text.Normal\n restrict='creditCard'\n { ...props }\n /> ),\n Tel: ( props ) => ( <Text.Normal\n restrict='tel'\n placeholder='xxx-xxxx-xxxx'\n { ...props }\n /> ),\n Number: ( props ) => ( <Text.Normal restrict='number' { ...props } /> ),\n DigitNumber: ( props ) => ( <Text.Normal restrict='digitNumber' { ...props } /> ),\n Email: ( props ) => ( <Text.Normal restrict='email' { ...props } /> ),\n Url: ( props ) => ( <Text.Normal\n restrict='url'\n placeholder='https://example.com'\n { ...props }\n /> ),\n Postal: ( params ) => {\n let [ val_postalEventID ] = useState( $$.uuid.gen() )\n useEffect( () => {\n return () => {\n useStore.delete( val_postalEventID )\n }\n },[] )\n\n return <Text.Normal\n restrict='postal'\n placeholder='\u90F5\u4FBF\u756A\u53F7'\n leftIndicator={ <Parts.LeftIndicator children={ '\u3012' } /> }\n { ...params }\n />\n },\n Password: ( props ) => {\n return <Text.Normal\n restrict='password'\n placeholder='\u30D1\u30B9\u30EF\u30FC\u30C9\u3092\u5165\u529B'\n rightIndicator={\n <Parts.RightIndicator\n padding={ 0 }\n >\n <Button.Button.Normal.R\n padding={ [ 0,1 ] }\n fontColor='theme'\n borderRadius={ 'inherit' }\n backgroundColor='inherit'\n height={ 1 }\n ssEffectsOnActive={ [ 'expand' ] }\n onMouseOver={ ( event ) => {\n Tooltips.open( {\n parent: event.currentTarget,\n gravityPoint: 24,\n padding: [ 1,0 ],\n content: <Tooltips.Comps.Body>\n \u30D1\u30B9\u30EF\u30FC\u30C9\u3092\u8868\u793A\n </Tooltips.Comps.Body>\n } )\n } }\n tabIndex={ -1 }\n onClick={ ( event ) => {\n $$( Config.get().appRoot )\n .find( event.target )\n .parent().parent().parent()\n .find( 'input' )\n .callback( ( input ) => {\n let Input = input[ 0 ]\n Input.type = Input.type === 'password' ? 'text' : 'password'\n } )\n } }\n >\n <FAI\n icon={ faEye }\n freeCSS={ {\n pointerEvents: 'none'\n } }\n />\n </Button.Button.Normal.R>\n </Parts.RightIndicator>\n }\n { ...props }\n />\n },\n Money: {\n JPY: ( props ) => ( <Text.DigitNumber\n placeholder=\"\u91D1\u984D\u3092\u5165\u529B\"\n rightIndicator={ <Parts.RightIndicator\n children={ '\u5186' }\n /> }\n { ...props }\n /> )\n }\n}\nexport {\n Text,\n Text as default\n}\n\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["Fragment", "jsx", "jsxs", "useState", "useEffect", "$$", "Config", "useStore", "Box", "FAI", "Button", "Tooltips", "faEye", "Wrapper", "BoxWrapper", "SubmitForm", "CommonEffects", "DefaultStyles", "Parts", "ValidateTypes", "DataLeveling", "params", "restrict", "value", "dataValue", "minus", "Amount", "formatValue", "arrary", "index", "Index", "setSelection", "props", "id", "val_status", "input", "currentValue", "prevValue", "caretFrom", "caretTo", "margin", "TextValidate", "response", "kit", "reason", "valid", "DefaultValidation", "maxLength", "required", "notice", "Valid", "type", "TextInput", "_a", "componentID", "tone", "form", "autoComplete", "autoCapitalize", "enableFormSubmit", "clearButton", "checkValidationAtFirst", "onChange", "onKeyDown", "onValidate", "onUpdateValue", "onUpdateValidValue", "leftIndicator", "rightIndicator", "leftIcon", "rightIcon", "min", "max", "others", "__objRest", "inputType", "inputMode", "Default_Status", "__spreadProps", "__spreadValues", "val_isComposing", "set_isComposing", "set_status", "val_validate", "set_validate", "event", "key", "target", "selectionStart", "selectionEnd", "_v", "v_", "direction", "Value", "rawValue", "Text", "rawParams", "_b", "val_postalEventID", "Input"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { ReactElement } from '../../@declaration/_';
|
|
3
|
+
import { InputTypes } from './_';
|
|
4
|
+
declare namespace TextArea {
|
|
5
|
+
type Input = InputTypes.CoreInput & React.TextareaHTMLAttributes<HTMLTextAreaElement> & {
|
|
6
|
+
tone?: InputTypes.BoxTone;
|
|
7
|
+
tabIndex?: number;
|
|
8
|
+
id?: string;
|
|
9
|
+
disabled?: boolean;
|
|
10
|
+
value?: string | number;
|
|
11
|
+
placeholder?: string;
|
|
12
|
+
leftIndicator?: ReactElement | false;
|
|
13
|
+
rightIndicator?: ReactElement | false;
|
|
14
|
+
leftIcon?: ReactElement | false;
|
|
15
|
+
rightIcon?: ReactElement | false;
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
declare const TextArea: React.FC<TextArea.Input>;
|
|
19
|
+
export { TextArea, TextArea as default };
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{b as u,c as g,d as T}from"../../chunk-E3D4DIO4.js";import{jsx as s}from"react/jsx-runtime";import{useState as v}from"react";import{$$ as y}from"@utils";import{Wrapper as E,BoxWrapper as _,SubmitForm as k,CommonEffects as C,DefaultStyles as S}from"./core";function F(e){let{value:t,params:n}=e,{required:o}=n,i=[];return o&&!t&&i.push({type:"invalid",label:"\u5FC5\u9808\u9805\u76EE\u3067\u3059"}),{ok:!i.filter(({type:d})=>d=="invalid").length,notice:i}}const B=e=>{let m=e,{componentID:t,tone:n,required:o,form:i,enableFormSubmit:d,checkValidationAtFirst:L,onChange:c,onKeyDown:f,onValidate:W,onUpdateValue:x,onUpdateValidValue:V,value:D="",leftIndicator:q,rightIndicator:H,leftIcon:K,rightIcon:M}=m,R=T(m,["componentID","tone","required","form","enableFormSubmit","checkValidationAtFirst","onChange","onKeyDown","onValidate","onUpdateValue","onUpdateValidValue","value","leftIndicator","rightIndicator","leftIcon","rightIcon"]),b={componentID:t,dataValue:D,eventType:"init",eventID:y.uuid.gen()},[a,r]=v(b),[p,I]=v({ok:!1,notice:[]});return C({params:e,val_status:a,set_status:r,val_validate:p,set_validate:I,onUpdateValue:x,onUpdateValidValue:V,DefaultValidation:F}),s(_,{val_status:a,set_status:r,val_validate:p,params:e,children:s("textarea",u({"data-form":i,"data-input-type":"textarea","data-validation":p.ok,"data-value":a.dataValue,"data-component-id":a.componentID,value:a.dataValue,onKeyDown:l=>{f&&f(l),d&&k(l)},onChange:l=>{let{value:A}=l.target;p.ok&&I({ok:!1,notice:[]}),r(g(u({},a),{dataValue:A,eventType:"update",eventID:y.uuid.gen()})),c&&c(l)}},R))})},h=e=>{var n,o;e=u({},e),e.rightIcon&&(e.paddingRight=(n=e.paddingRight)!=null?n:3),e.leftIcon&&(e.paddingLeft=(o=e.paddingLeft)!=null?o:3);let t=S.Boxish(e);return t.rows=t.rows||5,s(E,{componentID:e.componentID,children:B,params:t})};export{h as TextArea,h as default};
|
|
2
|
+
//# sourceMappingURL=TextArea.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/fn/Input/TextArea.tsx"],
|
|
4
|
+
"sourcesContent": ["import {\n ReactElement,\n} from '@declaration'\nimport {\n useState,\n useEffect\n} from 'react'\nimport {\n $$\n} from '@utils'\n\nimport {\n Wrapper,\n BoxWrapper,\n SubmitForm,\n CommonEffects,\n DefaultStyles\n} from './core'\n\nimport { InputTypes } from './_'\n\nnamespace TextArea {\n export type Input = InputTypes.CoreInput & React.TextareaHTMLAttributes<HTMLTextAreaElement> & {\n tone?: InputTypes.BoxTone\n\n tabIndex?: number\n id?: string\n\n disabled?: boolean\n\n\n value?: string | number\n\n placeholder?: string\n\n leftIndicator?: ReactElement | false\n rightIndicator?: ReactElement | false\n leftIcon?: ReactElement | false\n rightIcon?: ReactElement | false\n }\n}\n\nfunction DefaultValidation( props: {\n value: any\n params: any\n} ): InputTypes.Validation.Result {\n let { value,params } = props\n let { required } = params as TextArea.Input\n let notice: InputTypes.Validation.Notice[] = []\n\n if ( required && !value ) {\n notice.push( { type: 'invalid',label: '\u5FC5\u9808\u9805\u76EE\u3067\u3059' } )\n }\n\n return {\n ok: !notice.filter( ( { type } ) => type == 'invalid' ).length,\n notice: notice\n }\n}\n\nconst TextAreaInput: React.FC<TextArea.Input> = ( params ) => {\n let {\n componentID,\n tone,\n required,\n form,\n\n enableFormSubmit,\n\n checkValidationAtFirst,\n onChange,onKeyDown,\n onValidate,\n onUpdateValue,\n onUpdateValidValue,\n value = '',\n leftIndicator,rightIndicator,leftIcon,rightIcon,\n\n ...others\n } = params\n\n let Default_Status: InputTypes.Status.Plain = {\n componentID: componentID!,\n dataValue: value,\n eventType: 'init',\n eventID: $$.uuid.gen()\n }\n let [ val_status,set_status ] = useState( Default_Status )\n let [ val_validate,set_validate ] = useState( {\n ok: false,\n notice: []\n } as InputTypes.Validation.Result )\n\n CommonEffects( {\n params,\n val_status,\n set_status,\n val_validate,\n set_validate,\n onUpdateValue,\n onUpdateValidValue,\n DefaultValidation\n } )\n\n return <BoxWrapper\n val_status={ val_status }\n set_status={ set_status }\n val_validate={ val_validate }\n params={ params }\n >\n <textarea\n data-form={ form }\n data-input-type={ 'textarea' }\n data-validation={ val_validate.ok }\n data-value={ val_status.dataValue }\n data-component-id={ val_status.componentID }\n value={ val_status.dataValue }\n onKeyDown={ ( event ) => {\n if ( onKeyDown ) onKeyDown( event )\n if ( enableFormSubmit ) SubmitForm( event )\n } }\n onChange={ ( event ) => {\n let {\n value\n } = event.target\n\n if ( val_validate.ok ) set_validate( { ok: false,notice: [] } )\n set_status( {\n ...val_status,\n dataValue: value,\n eventType: 'update',\n eventID: $$.uuid.gen(),\n } )\n\n if ( onChange ) onChange( event )\n } }\n { ...others }\n />\n </BoxWrapper>\n}\n\nconst TextArea: React.FC<TextArea.Input> = ( rawParams ) => {\n rawParams = { ...rawParams }\n if ( rawParams.rightIcon ) rawParams.paddingRight = rawParams.paddingRight ?? 3\n if ( rawParams.leftIcon ) rawParams.paddingLeft = rawParams.paddingLeft ?? 3\n\n let params = DefaultStyles.Boxish( rawParams )\n params.rows = params.rows || 5\n return <Wrapper\n componentID={ rawParams.componentID }\n children={ TextAreaInput }\n params={ params }\n />\n}\n\nexport {\n TextArea,\n TextArea as default\n}"],
|
|
5
|
+
"mappings": "0DA6GI,cAAAA,MAAA,oBA1GJ,OACE,YAAAC,MAEK,QACP,OACE,MAAAC,MACK,SAEP,OACE,WAAAC,EACA,cAAAC,EACA,cAAAC,EACA,iBAAAC,EACA,iBAAAC,MACK,SAyBP,SAASC,EAAmBC,EAGM,CAChC,GAAI,CAAE,MAAAC,EAAM,OAAAC,CAAO,EAAIF,EACnB,CAAE,SAAAG,CAAS,EAAID,EACfE,EAAyC,CAAC,EAE9C,OAAKD,GAAY,CAACF,GAChBG,EAAO,KAAM,CAAE,KAAM,UAAU,MAAO,sCAAS,CAAE,EAG5C,CACL,GAAI,CAACA,EAAO,OAAQ,CAAE,CAAE,KAAAC,CAAK,IAAOA,GAAQ,SAAU,EAAE,OACxD,OAAQD,CACV,CACF,CAEA,MAAME,EAA4CJ,GAAY,CAC5D,IAiBIK,EAAAL,EAhBF,aAAAM,EACA,KAAAC,EACA,SAAAN,EACA,KAAAO,EAEA,iBAAAC,EAEA,uBAAAC,EACA,SAAAC,EAAS,UAAAC,EACT,WAAAC,EACA,cAAAC,EACA,mBAAAC,EACA,MAAAhB,EAAQ,GACR,cAAAiB,EAAc,eAAAC,EAAe,SAAAC,EAAS,UAAAC,CA3E1C,EA8EMd,EADCe,EAAAC,EACDhB,EADC,CAfH,cACA,OACA,WACA,OAEA,mBAEA,yBACA,WAAS,YACT,aACA,gBACA,qBACA,QACA,gBAAc,iBAAe,WAAS,cAKpCiB,EAA0C,CAC5C,YAAahB,EACb,UAAWP,EACX,UAAW,OACX,QAASR,EAAG,KAAK,IAAI,CACvB,EACI,CAAEgC,EAAWC,CAAW,EAAIlC,EAAUgC,CAAe,EACrD,CAAEG,EAAaC,CAAa,EAAIpC,EAAU,CAC5C,GAAI,GACJ,OAAQ,CAAC,CACX,CAAkC,EAElC,OAAAK,EAAe,CACb,OAAAK,EACA,WAAAuB,EACA,WAAAC,EACA,aAAAC,EACA,aAAAC,EACA,cAAAZ,EACA,mBAAAC,EACA,kBAAAlB,CACF,CAAE,EAEKR,EAACI,EAAA,CACN,WAAa8B,EACb,WAAaC,EACb,aAAeC,EACf,OAASzB,EAET,SAAAX,EAAC,WAAAsC,EAAA,CACC,YAAYnB,EACZ,kBAAkB,WAClB,kBAAkBiB,EAAa,GAC/B,aAAaF,EAAW,UACxB,oBAAoBA,EAAW,YAC/B,MAAQA,EAAW,UACnB,UAAcK,GAAW,CAClBhB,GAAYA,EAAWgB,CAAM,EAC7BnB,GAAmBf,EAAYkC,CAAM,CAC5C,EACA,SAAaA,GAAW,CACtB,GAAI,CACF,MAAA7B,CACF,EAAI6B,EAAM,OAELH,EAAa,IAAKC,EAAc,CAAE,GAAI,GAAM,OAAQ,CAAC,CAAE,CAAE,EAC9DF,EAAYK,EAAAF,EAAA,GACPJ,GADO,CAEV,UAAWxB,EACX,UAAW,SACX,QAASR,EAAG,KAAK,IAAI,CACvB,EAAE,EAEGoB,GAAWA,EAAUiB,CAAM,CAClC,GACKR,EACP,EACF,CACF,EAEMU,EAAuCC,GAAe,CA5I5D,IAAA1B,EAAA2B,EA6IED,EAAYJ,EAAA,GAAKI,GACZA,EAAU,YAAYA,EAAU,cAAe1B,EAAA0B,EAAU,eAAV,KAAA1B,EAA0B,GACzE0B,EAAU,WAAWA,EAAU,aAAcC,EAAAD,EAAU,cAAV,KAAAC,EAAyB,GAE3E,IAAIhC,EAASJ,EAAc,OAAQmC,CAAU,EAC7C,OAAA/B,EAAO,KAAOA,EAAO,MAAQ,EACtBX,EAACG,EAAA,CACN,YAAcuC,EAAU,YACxB,SAAW3B,EACX,OAASJ,EACX,CACF",
|
|
6
|
+
"names": ["jsx", "useState", "$$", "Wrapper", "BoxWrapper", "SubmitForm", "CommonEffects", "DefaultStyles", "DefaultValidation", "props", "value", "params", "required", "notice", "type", "TextAreaInput", "_a", "componentID", "tone", "form", "enableFormSubmit", "checkValidationAtFirst", "onChange", "onKeyDown", "onValidate", "onUpdateValue", "onUpdateValidValue", "leftIndicator", "rightIndicator", "leftIcon", "rightIcon", "others", "__objRest", "Default_Status", "val_status", "set_status", "val_validate", "set_validate", "__spreadValues", "event", "__spreadProps", "TextArea", "rawParams", "_b"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { TimeTypes } from './_';
|
|
3
|
+
declare namespace Picker {
|
|
4
|
+
type ClockValue = {
|
|
5
|
+
modifiedType: 'init' | 'override' | 'update';
|
|
6
|
+
hour: number;
|
|
7
|
+
minutes: number;
|
|
8
|
+
};
|
|
9
|
+
type DateValue = {
|
|
10
|
+
modifiedType: 'init' | 'override' | 'update';
|
|
11
|
+
year: number;
|
|
12
|
+
month: number;
|
|
13
|
+
date: number;
|
|
14
|
+
};
|
|
15
|
+
type MonthValue = {
|
|
16
|
+
modifiedType: 'init' | 'override' | 'update';
|
|
17
|
+
year: number;
|
|
18
|
+
month: number;
|
|
19
|
+
};
|
|
20
|
+
type YearValue = {
|
|
21
|
+
modifiedType: 'init' | 'override' | 'update';
|
|
22
|
+
year: number;
|
|
23
|
+
};
|
|
24
|
+
type DateWarekiValue = {
|
|
25
|
+
modifiedType: 'init' | 'override' | 'update';
|
|
26
|
+
era: TimeTypes.Era;
|
|
27
|
+
year: number;
|
|
28
|
+
month: number;
|
|
29
|
+
date: number;
|
|
30
|
+
};
|
|
31
|
+
type Input<T> = TimeTypes.Picker & {
|
|
32
|
+
val_value: T;
|
|
33
|
+
set_value: React.Dispatch<React.SetStateAction<T>>;
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
declare const Picker: React.FC<TimeTypes.Picker>;
|
|
37
|
+
export { Picker, Picker as default };
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{b as f,c as T}from"../../../chunk-E3D4DIO4.js";import{Fragment as $,jsx as i,jsxs as y}from"react/jsx-runtime";import{createElement as P}from"react";import{useState as w,useEffect as z,useRef as Y}from"react";import{$$ as c}from"@utils";import C from"@atoms/Box";import N from"@atoms/FAI";import B from"@atoms/Flex";import _ from"@atoms/Grid";import M from"@mols/Row";import x from"@mols/Column";import O from"@mols/Text";import v from"@fn/Button";import H from"@fn/Tooltips";import R from"../Select";import{List as F}from"../List";import{InputTimeClasses as g}from"@styles/componentClasses/_";let A=r=>{var t,a;let e=[],d=Number((t=r==null?void 0:r.min)!=null?t:1900),o=Number((a=r==null?void 0:r.max)!=null?a:c.Time().addYear(10).year);for(let m=d;m<=o;m++)e.unshift({value:m,label:[m,...c.transformer.wareki(m).value].join(" - ")});return e};const L=r=>{let{restrict:e,era:d="year",defaultValue:o=""}=r;r=f({},r),r.tipsID=r.tipsID||c.uuid.gen();const t=Y(!1);let[a,m]=w((()=>{var s,p;if(e=="clock"){let l=String(o).split(/[^\d]/);l[0]||(l=[0,0]);let u=Number(l[0]),h=Number(l[1]);return{modifiedType:"init",hour:u,minutes:h}}else if(e=="date"){let[l,u,h]=(s=String(o))==null?void 0:s.split(/\D/);return(c.is.nullish(l)||c.is.nullish(u)||c.is.nullish(h))&&([l,u,h]=c.Time().toFormat("%Y-%M-%D").split("-")),{modifiedType:"init",year:Number(l),month:Number(u),date:Number(h)}}else if(e!="week"){if(e=="month"){let[l,u]=String(o).split(/\D/);return(c.is.nullish(l)||c.is.nullish(u))&&([l,u]=c.Time().toFormat("%Y-%M").split("-")),{modifiedType:"init",year:Number(l),month:Number(u)}}else if(e=="year"){let[l]=String(o).split(/\D/);return c.is.nullish(l)&&([l]=c.Time().toFormat("%Y").split("-")),{modifiedType:"init",year:Number(l)}}else if(e=="dateWareki"){let[l,u,h]=(p=String(o))==null?void 0:p.split(/\D/);return(c.is.nullish(l)||c.is.nullish(u)||c.is.nullish(h))&&([l,u,h]=c.Time().toFormat("%Y-%M-%D").split("-")),{modifiedType:"init",era:d||"year",year:Number(l),month:Number(u),date:Number(h)}}}return{}})());z(()=>{if(t.current){if(a.modifiedType=="update"){let s="",p=d||"year";if(e=="clock"){let{hour:l,minutes:u}=a;s=[l.zeroEmbed(2),u.zeroEmbed(2)].join("/")}else if(e=="date"){let{year:l,month:u,date:h}=a;s=[l,u.zeroEmbed(2),h.zeroEmbed(2)].join("/")}else if(e!="week"){if(e=="month"){let{year:l,month:u}=a;s=[l,u.zeroEmbed(2)].join("/")}else if(e=="year"){let{year:l}=a;s=String(l)}else if(e=="dateWareki"){let{year:l,month:u,date:h,era:S}=a;p=S,s=[l,u.zeroEmbed(2),h.zeroEmbed(2)].join("/")}}r.onValueUpdate(s,p)}}else t.current=!0},[a]);let n=T(f({},r),{val_value:a,set_value:m});return i(C,{backgroundColor:"1.layer.base",borderRadius:"2.tone.secondary",boxShadow:"1.remark",border:!0,overflow:"hidden",children:i(C,{overflow:"auto",className:g(e.toCapital()+"Base"),children:e=="clock"?i(k.Clock._,f({},n)):e=="date"?i(k.Date._,f({},n)):e=="week"?"":e=="month"?i(k.Month._,f({},n)):e=="year"?i(k.Year._,f({},n)):e=="dates"||e=="months"?"":e=="dateWareki"?i(k.DateWareki._,f({},n)):i($,{})})})},k={Clock:{_:r=>{let{min:e,max:d,onValueUpdate:o,tipsID:t,val_value:a,set_value:m}=r,[n,s]=w(a.hour>12?2:1),[p,l]=w(Number(localStorage.getItem("timePickerUnit")||5));z(()=>{localStorage.setItem("timePickerUnit",String(p))},[p]);let{hour:u,minutes:h}=a;return y(x,{padding:1,children:[y(B,{flexType:"row",flexWrap:!1,gap:1,className:g("Body"),children:[y(x,{className:g("DesignSide"),flexSizing:0,children:[i(C,{className:g("ClockUiBase"),padding:[1,"2/3"],flexCenter:!0,children:y(C,{className:g("ClockUi"),backgroundColor:"tcOpLow",isRounded:!0,position:"relative",children:[i(C,{position:"absolute",backgroundColor:"theme",unitWidth:"1/12",className:[g("Needle"),g("hour")].join(" "),freeCSS:{transform:`rotate(${u*30+h/2}deg)`}}),i(C,{position:"absolute",backgroundColor:"theme",unitWidth:"1/12",className:[g("Needle"),g("minute")].join(" "),freeCSS:{transform:`rotate(${h*6}deg)`}})]})}),i(F.Radio,{tone:"plain",icon:!0,value:[n],options:[{value:1,label:"AM"},{value:2,label:"PM"}],flexType:"col",gap:0,cellStyles:{padding:"1/2",horizontalAlign:"between",gap:"1/3"},tabIndex:-1,onUpdateValidValue:({value:S})=>{let D=a.hour%12+(S==2?12:0);s(S),m({modifiedType:"update",hour:D,minutes:a.minutes})}}),i(C,{borderTop:!0,margin:[0,1]}),i(F.Radio,{tone:"plain",icon:!0,value:[p],options:[{value:1,label:"/ 1\u5206"},{value:2,label:"/ 2\u5206"},{value:5,label:"/ 5\u5206"}],flexType:"col",gap:0,cellStyles:{padding:"1/2",horizontalAlign:"between",gap:"1/3"},tabIndex:-1,onUpdateValidValue:({value:S})=>{l(S)}})]}),y(x,{children:[y(C,{flexCenter:!0,fontSize:"3.paragraph",isSemiBoldFont:!0,children:[a.hour.zeroEmbed(2)," : ",a.minutes.zeroEmbed(2)]}),y(B,{flexWrap:!1,borderRadius:"1.tone.primary",boxShadow:"0.remark.inset",flexChilds:"even",freeCSS:{minWidth:12*12},padding:["1/3",0],children:[i(x,{gap:0,overflow:"auto",padding:"2/3",borderRight:!0,freeCSS:{maxHeight:12*22},children:k.Clock.Hours({onClick:S=>{let V=S+(n==2?12:0);m({modifiedType:"update",hour:V,minutes:a.minutes})},min:e,max:d,ampm:n})}),i(x,{gap:0,overflow:"auto",padding:"2/3",freeCSS:{maxHeight:12*22},children:k.Clock.Minutes({onClick:S=>{m({modifiedType:"update",hour:a.hour,minutes:S})},min:e,max:d,unit:p})})]})]})]}),i(k.Variables.Footer,{tipsID:t,onValueUpdate:o})]})},Hours:r=>{let e=[];for(let d=0;d<12;d++){let o=r.ampm==2?d+12:d,t=!1;{let a=Number(String(o*100).replace(/\D/ig,""));if(r.min&&Number(String(r.min).replace(/\D/ig,""))>a&&(t=!0),r.max){let m=Number(String(r.max).replace(/\D/ig,""));a>m&&(t=!0)}}e.push(i(v.Button.Normal.R,{isLocked:t,borderBottom:!0,borderRadius:0,padding:["1/2",1],freeCSS:{whiteSpace:"nowrap"},tabIndex:-1,onClick:()=>{r.onClick(d)},children:o.zeroEmbed(2)},d))}return e},Minutes:r=>{let e=[];for(let d=0;d<60/r.unit;d++){let o=d*r.unit;e.push(i(v.Button.Normal.R,{borderBottom:!0,borderRadius:0,padding:["1/2",1],freeCSS:{whiteSpace:"nowrap"},tabIndex:-1,onClick:()=>{r.onClick(o)},children:o.zeroEmbed(2)},o))}return e}},Date:{_:r=>{let{min:e,max:d,onValueUpdate:o,tipsID:t,val_value:a,set_value:m}=r,{year:n,month:s,date:p}=a;return y(x,{padding:1,children:[y(B,{horizontalAlign:"between",verticalAlign:"center",flexWrap:!1,children:[y(B,{verticalAlign:"bottom",horizontalAlign:"left",gap:"2/3",flexWrap:!1,children:[i(R,{override:"force",enableUnSelected:!1,value:n,options:A(),border:"1.thin",padding:["1/3","2/3"],paddingRight:2,rightIconStyles:{right:"1/3"},onUpdateValidValue:({value:l})=>{m({modifiedType:"update",year:Number(l),month:s,date:p})}}),i(R,{override:"force",enableUnSelected:!1,value:s,options:(()=>{let l=[];for(let u=1;u<=12;u++)l.push({value:u,label:String(u),displayLabel:String(u)+"\u6708"});return l})(),placeholder:"",border:"1.thin",padding:["1/3","2/3"],paddingRight:2,rightIconStyles:{right:"1/3"},onUpdateValidValue:({value:l})=>{m({modifiedType:"update",year:n,month:Number(l),date:p})}})]}),i(k.Variables.ShiftButtons,{callback:l=>{let u=s+l,h=n;l==-1?(u<=0&&h--,u=u||12):s==12&&h++,m({modifiedType:"update",year:h,month:u,date:a.date})}})]}),i(C,{borderTop:!0}),i(C,{children:k.Date.MonthCalendar({min:e,max:d,year:a.year,month:a.month,current:[a.year,a.month,a.date],callback:l=>{let[u,h,S]=l;m({modifiedType:"update",year:u,month:h,date:S})}})}),i(k.Variables.Footer,{tipsID:t,onValueUpdate:o})]})},MonthCalendar:r=>{let{min:e,max:d,year:o,month:t,current:a,callback:m}=r,n=c.Time(),s=c.Time([o,t.zeroEmbed(2),"01"].join("/")),p=s.getLastDayOfTheMonth(),l=c.Time(s).addMonth(-1).getLastDayOfTheMonth().date,u=[],h=[],S=[],V=[],D={padding:0,unitWidth:3,unitHeight:3,flexCenter:!0,borderRadius:"3.tone.tertiary"};for(var b=0;b<7;b++)u.push(P(C,T(f({className:[g("CalendarDay"),g("Legend")].join(" ")},D),{key:b}),["\u65E5","\u6708","\u706B","\u6C34","\u6728","\u91D1","\u571F"][b]));for(var b=0;b<s.weekday;b++)h.unshift(P(C,T(f({className:[g("CalendarDay"),g("Dummy")].join(" "),fontColor:"4.thin"},D),{key:b}),l-b));for(var b=1;b<=p.date;b++){let U=b,j=o==n.year&&t==n.month&&b==n.date,I=!1;{let E=Number(String([o,t.zeroEmbed(2),b.zeroEmbed(2)].join("/")).replace(/\D/ig,""));if(r.min&&Number(String(r.min).replace(/\D/ig,""))>E&&(I=!0),r.max){let W=Number(String(r.max).replace(/\D/ig,""));E>W&&(I=!0)}}S.push(P(v.Button.Clear.R,T(f({className:[g("CalendarDay"),g("isToday_"+j)].join(" ")},D),{onClick:()=>{m([o,t,U])},tabIndex:-1,key:U,isLocked:I,fontColor:"1.clear",ssEffectsOnActive:"shrink",padding:0,flexCenter:!0,borderRadius:"sphere",children:b})))}for(var b=1;b<7-p.weekday;b++)V.push(P(C,T(f({className:[g("CalendarDay"),g("Dummy")].join(" "),fontColor:"4.thin"},D),{key:b}),b));return y(_,{gridCols:7,gap:"1/3",children:[u,h,S,V]})}},Month:{_:r=>{let{min:e,max:d,onValueUpdate:o,tipsID:t,val_value:a,set_value:m}=r,{year:n,month:s}=a;return y(x,{padding:1,children:[y(M.Separate,{gap:0,children:[i(M.Center,{verticalAlign:"bottom",gap:"2/3",children:i(R,{enableUnSelected:!1,value:n,options:A(),override:"force",border:"1.thin",padding:["1/3","2/3"],paddingRight:2,rightIconStyles:{right:"1/3"},onUpdateValidValue:({value:p})=>{m({modifiedType:"update",year:Number(p),month:s})}})}),i(k.Variables.ShiftButtons,{callback:p=>{let l=Math.min(Math.max(n+p,1900),2100);m({modifiedType:"update",year:l,month:s})}})]}),i(C,{borderTop:!0}),k.Month.Months({min:e,max:d,year:a.year,callback:p=>{let[l,u]=p;m({modifiedType:"update",year:l,month:u})}}),i(k.Variables.Footer,{tipsID:t,onValueUpdate:o})]})},Months:r=>{let{year:e,callback:d}=r,o=c.Time(),t=[];for(let a=1;a<=12;a++){let m=e==o.year&&a==o.month,n=!1;{let p=Number(String([e,a.zeroEmbed(2)].join("/")).replace(/\D/ig,""));if(r.min&&Number(String(r.min).replace(/\D/ig,""))>p&&(n=!0),r.max){let l=Number(String(r.max).replace(/\D/ig,""));p>l&&(n=!0)}}let s=[g("Cell"),m?g("isThisMonth"):""].join(" ");t.push(y(v.Button.Clear.R,{className:s,isLocked:n,fontColor:"2.normal",padding:["2/3",1],ssEffectsOnActive:"shrink",onClick:()=>{d([e,a])},children:[a," \u6708"]},e+"-"+a))}return i(_,{gridCols:4,gap:"2/3",children:t})}},Year:{_:r=>{let{min:e,max:d,onValueUpdate:o,tipsID:t,val_value:a,set_value:m}=r,{year:n}=a;return y(x,{padding:1,children:[i(R,{enableUnSelected:!1,value:n||c.Time().year,override:"force",options:A({min:e,max:d}),onUpdateValidValue:({value:s})=>{m({modifiedType:"update",year:Number(s)})}}),i(k.Variables.Footer,{tipsID:t,onValueUpdate:o,onSubmit:()=>{m({modifiedType:"update",year:Number(n||c.Time().year)})}})]})}},DateWareki:{_:r=>{let{min:e,max:d,onValueUpdate:o,tipsID:t,val_value:a,set_value:m}=r,{era:n,year:s,month:p,date:l}=a,u={val_value:a,set_value:m};return y(C,{children:[y(M.Left,{verticalAlign:"unset",borderBottom:!0,gap:0,children:[i(k.DateWareki.EraSelect,f({},u)),i(C,{borderRight:!0}),i(k.DateWareki.Calendar,f({},u))]}),i(C,{padding:1,children:i(k.Variables.Footer,{tipsID:t,onValueUpdate:o})})]})},EraSelect:r=>{let{val_value:e,set_value:d}=r,o={padding:["1/2",1.5],fontColor:"3.blur"},t={backgroundColor:"cloud",fontColor:"2.normal",isSemiBoldFont:!0};return y(x,{gap:0,padding:1,children:[i(v.Button.Clear.R,T(f({color:"cloud"},o),{isActiveStyles:t,isActive:e.era=="year",onClick:()=>{let a=c.Time();d({modifiedType:"update",era:"year",year:a.year,month:a.month,date:a.date})},children:"\u897F\u66A6"})),i(v.Button.Clear.R,T(f({color:"cloud"},o),{isActiveStyles:t,isActive:e.era=="reiwa",onClick:()=>{let a=c.Time();d({modifiedType:"update",era:"reiwa",year:a.year,month:a.month,date:a.date})},children:"\u4EE4\u548C"})),i(v.Button.Clear.R,T(f({color:"cloud"},o),{isActiveStyles:t,isActive:e.era=="heisei",onClick:()=>{d({modifiedType:"update",era:"heisei",year:2019,month:1,date:1})},children:"\u5E73\u6210"})),i(v.Button.Clear.R,T(f({color:"cloud"},o),{isActiveStyles:t,isActive:e.era=="shouwa",onClick:()=>{d({modifiedType:"update",era:"shouwa",year:1989,month:1,date:1})},children:"\u662D\u548C"})),i(v.Button.Clear.R,T(f({color:"cloud"},o),{isActiveStyles:t,isActive:e.era=="taisho",onClick:()=>{d({modifiedType:"update",era:"taisho",year:1926,month:1,date:1})},children:"\u5927\u6B63"})),i(v.Button.Clear.R,T(f({color:"cloud"},o),{isActiveStyles:t,isActive:e.era=="meiji",onClick:()=>{d({modifiedType:"update",era:"meiji",year:1912,month:1,date:1})},children:"\u660E\u6CBB"}))]})},Calendar:r=>{let{val_value:e,set_value:d}=r,o=[];if(e.era=="year")for(let t=1900;t<2100;t++)o.unshift({value:t,label:t+"\u5E74"});else if(e.era=="reiwa"){let t=c.Time().year-2018;for(let a=1;a<=t+10;a++)o.unshift({value:2019+a-1,label:"\u4EE4\u548C"+(a==1?"\u5143":a)+"\u5E74"})}else if(e.era=="heisei")for(let t=1;t<=31;t++)o.unshift({value:1989+t-1,label:"\u5E73\u6210"+(t==1?"\u5143":t)+"\u5E74"});else if(e.era=="shouwa")for(let t=1;t<=64;t++)o.unshift({value:1926+t-1,label:"\u662D\u548C"+(t==1?"\u5143":t)+"\u5E74"});else if(e.era=="taisho")for(let t=1;t<=15;t++)o.unshift({value:1912+t-1,label:"\u5927\u6B63"+(t==1?"\u5143":t)+"\u5E74"});else if(e.era=="meiji")for(let t=1;t<=45;t++)o.unshift({value:1868+t-1,label:"\u660E\u6CBB"+(t==1?"\u5143":t)+"\u5E74"});return y(x,{padding:1,children:[y(M.Separate,{children:[i(R,{tone:"cloud",enableUnSelected:!1,override:"force",border:"1.thin",padding:["1/3","2/3"],paddingRight:2,rightIconStyles:{right:"1/3"},options:o,value:e.year,onUpdateValidValue:({value:t})=>{d(T(f({},e),{modifiedType:"update",year:Number(t)}))}}),y(M.Center,{gap:"1/3",children:[i(v.Button.Clear.S,{ssSphere:2,onClick:()=>{let t=e.month-1;d({modifiedType:"update",era:e.era,year:t==0?e.year-1:e.year,month:t==0?12:t,date:1})},children:i(N.ChevronLeft,{})}),i(R,{tone:"cloud",enableUnSelected:!1,override:"force",border:"1.thin",padding:["1/3","2/3"],paddingRight:2,rightIconStyles:{right:"1/3"},options:[{value:1,label:"1\u6708"},{value:2,label:"2\u6708"},{value:3,label:"3\u6708"},{value:4,label:"4\u6708"},{value:5,label:"5\u6708"},{value:6,label:"6\u6708"},{value:7,label:"7\u6708"},{value:8,label:"8\u6708"},{value:9,label:"9\u6708"},{value:10,label:"10\u6708"},{value:11,label:"11\u6708"},{value:12,label:"12\u6708"}],value:e.month,onUpdateValidValue:({value:t})=>{d({modifiedType:"update",era:e.era,year:e.year,month:Number(t),date:1})}}),i(v.Button.Clear.S,{ssSphere:2,onClick:()=>{let t=e.month+1;d({modifiedType:"update",era:e.era,year:t==13?e.year+1:e.year,month:t==13?1:t,date:1})},children:i(N.ChevronRight,{})})]})]}),i(k.DateWareki.MonthCell,f({},r))]},e.era)},MonthCell:r=>{let{val_value:e,set_value:d}=r,o=c.Time([e.year.zeroEmbed(4),e.month.zeroEmbed(2),e.date.zeroEmbed(2)].join("/"));if(!o.validate)return;let t=o.getFirstDayOfTheMonth().weekday,a=o.getLastDayOfTheMonth(),m=[];for(let n=0;n<7;n++)m.push(i(O.Supplement,{flexCenter:!0,fontColor:n==0?"googleRed":n==6?"googleBlue":"3.blur",children:c.transformer.weekday.shortJP(n)}));for(let n=0;n<t;n++){let s=c.Time(o).getFirstDayOfTheMonth().addDate(n-t);m.push(i(v.Button.Sub.R,{color:"cloud",border:"1.thin",ssSquare:3,opacity:"middle",onClick:p=>{p.preventDefault(),p.stopPropagation(),d({modifiedType:"update",era:e.era,year:s.year,month:s.month,date:s.date})},children:s.date}))}for(let n=1;n<=a.date;n++){let s=c.Time(o).setDate(n);m.push(i(v.Button.Border.R,{ssSquare:3,onClick:()=>{d({modifiedType:"update",era:e.era,year:s.year,month:s.month,date:s.date})},children:s.date}))}for(let n=0;n<7-a.weekday-1;n++){let s=c.Time(o).addMonth(1).setDate(1).addDate(n);m.push(i(v.Button.Sub.R,{color:"cloud",border:"1.thin",ssSquare:3,opacity:"middle",onClick:p=>{p.preventDefault(),p.stopPropagation(),d({modifiedType:"update",era:e.era,year:s.year,month:s.month,date:s.date})},children:s.date}))}return i(_,{gridCols:7,gap:"1/4",children:m})}},Variables:{Footer:r=>y(B,{flexWrap:!1,gap:1,flexChilds:"even",freeCSS:{whiteSpace:"nowrap"},children:[y(v.Button.Border.R,{onClick:()=>{r.onValueUpdate("")},tabIndex:-1,flexSizing:"none",padding:["2/3",1],children:[i(N.Times,{})," \u524A\u9664"]}),i(v.Button.Prime.R,{flexSizing:"auto",onClick:()=>{r.onSubmit&&r.onSubmit(),H.close(r.tipsID)},tabIndex:-1,children:"\u6C7A\u5B9A",padding:["2/3",1]})]}),ShiftButtons:r=>y(B,{flexWrap:!1,gap:"1/3",children:[i(v.Button.Clear.R,T(f({className:g("LeftButton"),tabIndex:-1,right:0},k.Variables.ShiftButtonStyles),{onClick:()=>{r.callback(-1)},children:i(N.ChevronLeft,{})})),i(v.Button.Clear.R,T(f({className:g("RightButton"),tabIndex:-1,left:0},k.Variables.ShiftButtonStyles),{onClick:()=>{r.callback(1)},children:i(N.ChevronRight,{})}))]}),ShiftButtonStyles:{flexCenter:!0,padding:0,unitWidth:3,unitHeight:3,borderRadius:"sphere",position:"relative"}}};export{L as Picker,L as default};
|
|
2
|
+
//# sourceMappingURL=Picker.js.map
|