amotify 0.2.29 → 0.2.31

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.
@@ -1 +1 @@
1
- import{b as H,c as j,e as z}from"../chunk-C5N2D3ZX.js";import{Fragment as re,jsx as o,jsxs as f}from"react/jsx-runtime";import v from"@mingoo/jsmin";import{$$fromRoot as K,useStore as A}from"../@utils";import{useState as N,useEffect as O}from"react";import{Box as P,FAI as M,Column as k}from"../atoms";import{Row as I,Text as F}from"../mols";import D from"./Button";import W from"./Sheet";import V from"./Loader";import q from"./Input";import{faPalette as J}from"@fortawesome/free-solid-svg-icons/faPalette";import{faBarsStaggered as Q}from"@fortawesome/free-solid-svg-icons/faBarsStaggered";import{faRotateLeft as ee}from"@fortawesome/free-solid-svg-icons/faRotateLeft";import{faRotateRight as te}from"@fortawesome/free-solid-svg-icons/faRotateRight";import{CropperClasses as U}from"../@styles/componentClasses";import Y from"./Tooltips";class ae{constructor(t){this.set_scale=t.set_scale,this.val_file=t.val_file,this.develops=t.develops,this.use=t.use,this.componentID=t.componentID,this.scale={current:t.scale.default,default:t.scale.default,min:t.scale.min,max:t.scale.max};let l=t.canvas;this.Canvas={elm:l,ctx:l.getContext("2d")};let i=t.picture.image,{width:e,height:a}=i,r=e/a;this.Picture={elm:i,originDataUrl:i.src,aspect:r,revisedAspect:1,rotate:t.picture.rotate,grayScale:t.picture.grayScale,tone:t.picture.tone},this.pst={frame:{x:0,y:0,w:0,h:0,aspect:1},outImage:{x:0,y:0,w:0,h:0},imageX:e/2,imageY:a/2,centerX:0,centerY:0},this.dragEffectInfo={origin:{x:0,y:0},frameExpandRate:{x:0,y:0}},this.pinchEffectInfo={origin:{x:0,y:0,scale:this.scale.current}},this.frameSizing(),this.modifyImage()}frameSizing(){let t=this.Canvas.elm,l=this.Picture.elm,i=0,e=0;if(this.use=="square"){let s=t.width/3*2,n=t.height/3*2;i=Math.min(s,n),e=i}else this.use=="wallpaper.horizontal"?(i=t.width*(7/9),e=i/3):this.use=="wallpaper.vertical"&&(e=t.height*(7/9),i=e/2);let{width:a,height:r}=l,p=(t.width-i)/2,u=(t.height-e)/2,y=i/e;this.pst={frame:{x:p,y:u,w:i,h:e,aspect:y},outImage:{x:0,y:0,w:0,h:0},imageX:a/2,imageY:r/2,centerX:t.width/2,centerY:t.height/2}}dragEffect(t){let{eventType:l,x:i,y:e}=t;if(l=="start"){let a=this.Canvas.elm.position();this.dragEffectInfo={origin:{x:i,y:e},frameExpandRate:{x:this.Canvas.elm.width/a.width,y:this.Canvas.elm.height/a.height}}}else{let{origin:a,frameExpandRate:r}=this.dragEffectInfo,p=a.x-i,u=a.y-e,y=this.scale.current*this.Picture.revisedAspect/100,s=p/y*r.x,n=u/y*r.y;l=="move"?this.drawImage(this.pst.imageX+s,this.pst.imageY+n):l=="end"&&this.drawImage(this.pst.imageX+=s,this.pst.imageY+=n)}}pinchEffect(t){let{eventType:l,event:i}=t,{x:e,y:a}=v.getCursor(i.touches[0]),{x:r,y:p}=v.getCursor(i.touches[1]),u=r-e,y=p-a;if(l=="start")this.pinchEffectInfo.origin={x:u,y,scale:this.scale.current};else if(l=="move"){let{origin:s}=this.pinchEffectInfo,n=Math.sqrt(Math.pow(s.x,2)+Math.pow(s.y,2)),S=Math.sqrt(Math.pow(u,2)+Math.pow(y,2))/n,C=Number(s.scale*S);this.set_scale(C)}}updateScale(t){let l=t;l=Math.max(l,this.scale.min),l=Math.min(l,this.scale.max),this.scale.current=l,this.drawImage()}updateFilter(t){this.Picture.grayScale=t.grayScale,this.Picture.tone=t.tone,this.Picture.rotate=t.rotate,this.modifyImage()}modifyImage(){return z(this,null,function*(){let{grayScale:t,tone:l,rotate:i}=this.Picture;const e=document.createElement("canvas");let a=e.getContext("2d"),r=yield v.ImageLoader(this.Picture.originDataUrl),p=r.width,u=r.height;(i==90||i==270)&&(p=r.height,u=r.width),e.width=p,e.height=u,t&&(a.filter="grayscale("+t+"%)"),i&&(a.translate(p/2,u/2),a.rotate(i*Math.PI/180),[90,270].includes(i)?a.translate(-u/2,-p/2):a.translate(-p/2,-u/2)),a.drawImage(r,0,0,r.width,r.height);let y=a.getImageData(0,0,e.width,e.height),s=y.data;{t/=100;let C=[[255,255,255],[255,200,100],[170,170,255],[240,200,145],[128,255,255],[255,128,255],[255,255,128],[128,158,169],[128,112,162],[50,192,87],[246,100,140]][l],x=C[0]/255,b=C[1]/255,c=C[2]/255;for(let m=0;m<u;m++)for(let h=0;h<p;h++){var n=(m*p+h)*4;if(t){let R=.3*s[n]+.59*s[n+1]+.11*s[n+2];for(var g=0;g<3;g++){let E=s[n+g];s[n+g]=E+(R-E)*t}}s[n]*=x,s[n+1]*=b,s[n+2]*=c}}a.putImageData(y,0,0);let S=e.toDataURL("image/jpeg");{let C=yield v.ImageLoader(S),{width:x,height:b}=C,c=x/b;this.Picture=j(H({},this.Picture),{elm:C,aspect:c,revisedAspect:this.pst.frame.aspect>c?this.pst.frame.w/x:this.pst.frame.h/b})}this.drawImage()})}drawImage(t,l){let{use:i,Canvas:{ctx:e,elm:a},pst:{frame:r}}=this,p=t||this.pst.imageX,u=l||this.pst.imageY;{let y=this.scale.current/100,s=this.Picture.revisedAspect*y,n=this.pst.centerX-p*s,g=this.pst.centerY-u*s,S=this.Picture.elm.width*s,C=this.Picture.elm.height*s;{let x=this.pst.frame.x+this.pst.frame.w-S,b=this.pst.frame.x,c=this.pst.frame.y+this.pst.frame.h-C,m=this.pst.frame.y,h=0;n<x&&(h=n-x),n>b&&(h=n-b);let R=0;g<c&&(R=g-c),g>m&&(R=g-m),this.dragEffectInfo.origin.x+=h/2/this.dragEffectInfo.frameExpandRate.x,this.dragEffectInfo.origin.y+=R/2/this.dragEffectInfo.frameExpandRate.y,n=Math.min(Math.max(n,x),b),g=Math.min(Math.max(g,c),m)}this.pst.outImage={x:n,y:g,w:S,h:C},e.clearRect(0,0,this.Canvas.elm.width,this.Canvas.elm.height),e.drawImage(this.Picture.elm,0,0,this.Picture.elm.width,this.Picture.elm.height,n,g,S,C)}{if(i=="square"){e.fillStyle="rgba( 20,24,20,.3 )",e.beginPath();let n=a.width/3*2,g=a.height/3*2,S=Math.min(n,g),C=Math.max(n,g);e.arc(a.width/2,a.height/2,C,0,Math.PI*2,!0),e.arc(a.width/2,a.height/2,S/2,0,Math.PI*2,!1),e.closePath(),e.fill()}else(i=="wallpaper.horizontal"||i=="wallpaper.vertical")&&(e.fillStyle="rgba( 20,24,20,.3 )");e.beginPath(),e.moveTo(0,0),e.lineTo(a.width,0),e.lineTo(a.width,a.height),e.lineTo(0,a.height),e.lineTo(0,0),e.closePath(),e.lineTo(r.x,r.y),e.lineTo(r.x,r.y+r.h),e.lineTo(r.x+r.w,r.y+r.h),e.lineTo(r.x+r.w,r.y),e.lineTo(r.x,r.y),e.fill();let s=v(document.body).getStyleProperty("--color-theme-hsl");e.lineWidth=4,e.strokeStyle=`hsla( ${s},1 )`,e.strokeRect(r.x,r.y,r.w,r.h)}}export(){return z(this,null,function*(){let{Canvas:t,develops:l,Picture:i,pst:{outImage:e,frame:a}}=this,r=e.w/i.elm.width,p=e.h/i.elm.height,u=(a.x-e.x)/r,y=(a.x-e.x+a.w)/r,s=(a.y-e.y)/p,n=(a.y-e.y+a.h)/p,g=Array.from({length:l.length}),S="image/jpeg";for(let C=0;C<l.length;C++){let{size:x,maxSize:b}=l[C];b=b||{S:1024*20,R:1024*100,L:1024*350}[x];let c={S:140,R:600,L:1200}[x],m=c;this.use=="wallpaper.horizontal"?m=c/3:this.use=="wallpaper.vertical"&&(m=c*2);let h=document.createElement("canvas");h.width=c,h.height=m;let R=h.getContext("2d");if(!R)return;R.clearRect(0,0,c,m),R.drawImage(this.Picture.elm,u,s,y-u,n-s,0,0,c,m);let E=h.toDataURL(S),w=yield E.toBlob(S);if(!w)return;if(w.size>=b){let L=b/w.size;if(E=h.toDataURL(S,L*.92),w=yield E.toBlob(S),!w)return}let X=new File([w],this.val_file.name,{type:S});g[C]=X}return g})}}const Z={Core:d=>{let{val_file:t,options:l,finishedCallback:i,abortCallback:e}=d,{use:a,develops:r=[]}=l,[p]=N(v.uuid.gen(32));const u={scale:{default:120,min:100,max:400},rotate:0,grayScale:0,tone:0};let[y,s]=N(u.scale.default),[n,g]=N(u.rotate),[S,C]=N(u.grayScale),[x,b]=N(u.tone);return O(()=>{let c="CropperResize";return v(window).addEvent({eventType:"resize",eventID:c,callback:()=>{v.interval.clear("CropperResize"),v.interval.standBy("CropperResize",200,()=>{var L;let m=K("#Canvas-"+p)[0];if(!m)return;let h=(L=A.get(p))==null?void 0:L.Instance;if(!h)return;let R=m.position(),E=R.width/R.height;m.width=2400,m.height=2400/E;let{width:w,height:X}=m;h.pst.centerX=w/2,h.pst.centerY=X/2,h.frameSizing(),h.modifyImage()})}}),()=>{v(window).removeEvent(c)}},[]),O(()=>{A.set({[p]:{}}),z(void 0,null,function*(){V.fn.corner.active(),yield v.pending(()=>{},400);let{target:c}=yield t.convert();if(!c)return;let m=c.result,h=K("#Canvas-"+p)[0];if(!h)return;let R=h.position(),E=R.width/R.height;h.width=2400,h.height=2400/E;let w=new ae({set_scale:s,val_file:t,develops:r,use:a,scale:u.scale,componentID:p,canvas:h,picture:{image:yield v.ImageLoader(m),grayScale:u.grayScale,tone:u.tone,rotate:u.rotate}});A.set({[p]:{Instance:w}});const X=function(B){if(B.preventDefault(),B.touches&&B.touches.length>1)w.pinchEffect({eventType:"start",event:B}),v(document).addEvent({eventType:"touchmove",eventID:"CropperEffectMove",options:{passive:!1},callback:T=>{T.preventDefault(),w.pinchEffect({eventType:"move",event:T})}}).addEvent({eventType:"touchend",eventID:"CropperEffectEnd",options:{passive:!1},callback:$});else{w.dragEffect(H({eventType:"start"},v.getCursor(B)));let{type:T}=B;v(document).addEvent({eventType:T=="touchstart"?"touchmove":"mousemove",eventID:"CropperEffectMove",options:{passive:!1},callback:_=>{L("move",_)}}).addEvent({eventType:T=="touchstart"?"touchend":"mouseup",eventID:"CropperEffectEnd",options:{passive:!1},callback:_=>{L("end",_),$(_)}})}},L=function(B,T){T.preventDefault(),w.dragEffect(H({eventType:B},v.getCursor(T)))},$=function(B){B.preventDefault(),v(document).removeEvent(["CropperEffectMove","CropperEffectEnd"])};v(h).removeEvent(["CropperMouseWheel","CropperTouchStart","CropperMouseDown"]).addEvent({eventID:"CropperMouseWheel",eventType:"wheel",callback:B=>{B.preventDefault();let T=Number(B.wheelDelta*.04),_=w.scale.current+T;_=Math.max(_,w.scale.min),_=Math.min(_,w.scale.max),s(_)},options:{passive:!1}}).addEvent({eventType:"touchstart",eventID:"CropperTouchStart",callback:X,options:{passive:!1}}).addEvent({eventType:"mousedown",eventID:"CropperMouseDown",callback:X,options:{passive:!1}}),setTimeout(()=>{V.fn.corner.stop()},1e3)})},[t.id]),O(()=>{var m;let c=(m=A.get(p))==null?void 0:m.Instance;c&&c.updateScale(y)},[y]),O(()=>{var m;let c=(m=A.get(p))==null?void 0:m.Instance;c&&c.updateFilter({grayScale:S,tone:x,rotate:n})},[S,x,n]),o(W.Body,{borderRadius:0,height:"viewHeight",width:"viewWidth",children:f(k,{className:[U("Wrap"),U("Use_"+a)].join(" "),gap:0,height:1,position:"relative",overflow:"hidden",borderRadius:"inherit",children:[o(P,{flexSizing:0,overflow:"hidden",position:"relative",backgroundColor:"black",flexCenter:!0,freeCSS:{zIndex:1},children:o("canvas",{style:{width:"100%",height:"100%"},width:2400,height:2400,className:U("Canvas"),id:"Canvas-"+p})}),f(I.Separate,{borderTop:!0,flexSizing:"none",backgroundColor:"layer.1",padding:1,verticalAlign:"unset",UnderBreakPointStyles:{flexType:"col"},children:[o(Z.SettingRegion,{DefaultOptions:u,val_scale:y,set_scale:s,val_tone:x,set_tone:b,val_grayScale:S,set_grayScale:C,val_rotate:n,set_rotate:g}),f(I.Right,{flexSizing:"none",children:[o(D.Button.Border.R,{isRounded:!0,onClick:()=>{e()},children:"\u9589\u3058\u308B"}),o(D.Button.Prime.R,{isRounded:!0,boxShadow:"3.remark",onClick:()=>z(void 0,null,function*(){var h;let c=(h=A.get(p))==null?void 0:h.Instance;if(!c)return;V.fn.mini.active("CropperExportation");let m=yield c.export();setTimeout(()=>{V.fn.mini.stop("CropperExportation"),i(m)},3e3)}),children:f(I.Center,{gap:"1/2",children:[o(V.White.R,{loaderID:"CropperExportation"}),"\u6C7A\u5B9A"]})})]})]})]})})},SettingRegion:d=>{let t=["","\u6696\u8272","\u5BD2\u8272","\u30BB\u30D4\u30A2","\u30B7\u30A2\u30F3","\u30DE\u30BC\u30F3\u30BF","\u30A4\u30A8\u30ED\u30FC","\u30AA\u30EA\u30B8\u30CA\u30EB1","\u30AA\u30EA\u30B8\u30CA\u30EB2","\u30AA\u30EA\u30B8\u30CA\u30EB3","\u30AA\u30EA\u30B8\u30CA\u30EB4"],l=i=>t[i]||"\u306A\u3057";return f(I.Left,{verticalAlign:"unset",flexWrap:!0,children:[f(k,{gap:"1/3",children:[o(F.Supplement,{children:"Rotate"}),f(I.Left,{flexChilds:"even",gap:"1/6",children:[o(D.Button.Border.S,{isRounded:!0,borderTopRightRadius:0,borderBottomRightRadius:0,onClick:()=>{let i=d.val_rotate-90;i<0&&(i+=360),d.set_rotate(i)},children:f(I.Center,{gap:"1/4",children:["90\xB0",o(M,{icon:ee})]})}),o(D.Button.Border.S,{isRounded:!0,borderTopLeftRadius:0,borderBottomLeftRadius:0,onClick:()=>{d.set_rotate((d.val_rotate+90)%360)},children:f(I.Center,{gap:"1/4",children:[o(M,{icon:te}),"90\xB0"]})})]})]}),f(k,{gap:"1/3",freeCSS:{minWidth:12*6},children:[o(F.Supplement,{children:"Zoom"}),f(D.Button.Border.S,{flexCenter:!0,isRounded:!0,flexSizing:0,onClick:i=>{let e="CropperZoomEdit";Y.open({tipsID:e,gravityPoint:3,event:i,close_option:{parentBlur:!1},freeCSS:{minWidth:12*26},content:o(W.Body,{children:f(k,{padding:1.5,children:[f(I.Separate,{children:[o(F.Paragraph,{children:f(I.Center,{gap:"1/2",children:[o(M.Search,{fontColor:"5.translucent"}),"Zoom"]})}),o(D.Button.Sub.R,{color:"cloud",ssSphere:2.5,onClick:()=>{Y.close(e)},children:o(M.Times,{})})]}),o(P,{borderBottom:!0,opacity:"low"}),o(q.Slider,{override:"force",value:d.val_scale-100,min:d.DefaultOptions.scale.min-100,max:d.DefaultOptions.scale.max-100,step:25,onUpdateValidValue:({eventType:a,value:r})=>{v.interval.clear("Cropper.UpdateScale"),v.interval.standBy("Cropper.UpdateScale",250,()=>{d.set_scale(r+100)})},legends:{enable:!0,custom:a=>"x"+Math.round(100+a)/100}})]})})})},children:[d.val_scale.rate(1,0),"%"]})]}),f(k,{gap:"1/3",freeCSS:{minWidth:12*6},children:[o(F.Supplement,{children:"GrayScale"}),f(D.Button.Border.S,{flexCenter:!0,isRounded:!0,flexSizing:0,onClick:i=>{let e="CropperGrayScaleEdit";Y.open({tipsID:e,gravityPoint:3,event:i,close_option:{parentBlur:!1},freeCSS:{minWidth:12*26},content:o(W.Body,{children:f(k,{padding:1.5,children:[f(I.Separate,{children:[o(F.Paragraph,{children:f(I.Center,{gap:"1/2",children:[o(M,{icon:J,fontColor:"5.translucent"}),"Gray Scale"]})}),o(D.Button.Sub.R,{color:"cloud",ssSphere:2.5,onClick:()=>{Y.close(e)},children:o(M.Times,{})})]}),o(P,{borderBottom:!0,opacity:"low"}),o(q.Slider,{value:d.val_grayScale,min:0,max:100,step:10,onUpdateValidValue:({value:a})=>{v.interval.clear("Cropper.GrayScale"),v.interval.standBy("Cropper.GrayScale",250,()=>{d.set_grayScale(a)})},legends:{enable:!0,custom:a=>a+"%"}})]})})})},children:[d.val_grayScale.rate(1,0),"%"]})]}),f(k,{gap:"1/3",freeCSS:{minWidth:12*6},children:[o(F.Supplement,{children:"Tone"}),o(D.Button.Border.S,{flexCenter:!0,isRounded:!0,flexSizing:0,onClick:i=>{let e="CropperToneEdit";Y.open({tipsID:e,gravityPoint:3,event:i,close_option:{parentBlur:!1},freeCSS:{minWidth:12*26,maxWidth:12*24},content:()=>{let a=[];for(let r=1;r<=10;r++)a.push({value:r,label:f(re,{children:[o(P,{ssSphere:1,className:[U("ToneBall"),U("ToneBall_"+r)].join(" ")}),o(P,{textAlign:"left",flexSizing:0,children:l(r)})]})});return o(W.Body,{children:f(k,{padding:1.5,children:[f(I.Separate,{children:[o(F.Paragraph,{children:f(I.Center,{gap:"1/2",children:[o(M,{icon:Q,fontColor:"5.translucent"}),"Tone"]})}),o(D.Button.Sub.R,{color:"cloud",ssSphere:2.5,onClick:()=>{Y.close(e)},children:o(M.Times,{})})]}),o(P,{borderBottom:!0,opacity:"low"}),o(q.Radio.Normal,{value:d.val_tone,gap:"1/2",cellStyles:{fontColor:"3.blur"},options:[{value:0,label:o(P,{flexSizing:0,textAlign:"center",children:"\u306A\u3057"})},...a],onUpdateValidValue:({value:r})=>{d.set_tone(r[0])}})]})})}})},children:f(I.Center,{gap:"1/2",children:[o(P,{boxShadow:"2.remark",ssSphere:1,className:[U("ToneBall"),U("ToneBall_"+d.val_tone)].join(" ")}),l(d.val_tone)]})})]})]})}},G={openDialogNEdit:d=>z(void 0,null,function*(){let t=yield q.Filer.fn.openDialog({accept:"image",multiple:!1});G.openEditor(H({imageFile:t[0]},d))}),openEditor:d=>z(void 0,null,function*(){let t="CropperImage";W.open({sheetID:t,type:"normal.middleCenter",size:"MAX",padding:0,margin:0,freeCSS:{maxWidth:"100vw"},content:o(Z.Core,{val_file:d.imageFile,options:d,finishedCallback:l=>{W.close(t),d.onProcessFinished(l)},abortCallback:()=>{W.close(t)}}),close_option:{escapeKeyDown:!1}})})};export{G as Cropper,G as default};
1
+ import{b as H,c as j,e as z}from"../chunk-C5N2D3ZX.js";import{Fragment as re,jsx as o,jsxs as f}from"react/jsx-runtime";import v from"@mingoo/jsmin";import{$$fromRoot as K,useStore as A}from"../@utils";import{useState as N,useEffect as O}from"react";import{Box as P,FAI as M,Column as k}from"../atoms";import{Row as I,Text as F}from"../mols";import D from"./Button";import W from"./Sheet";import V from"./Loader";import q from"./Input";import{faPalette as J}from"@fortawesome/free-solid-svg-icons/faPalette";import{faBarsStaggered as Q}from"@fortawesome/free-solid-svg-icons/faBarsStaggered";import{faRotateLeft as ee}from"@fortawesome/free-solid-svg-icons/faRotateLeft";import{faRotateRight as te}from"@fortawesome/free-solid-svg-icons/faRotateRight";import{CropperClasses as U}from"../@styles/componentClasses";import Y from"./Tooltips";class ae{constructor(t){this.set_scale=t.set_scale,this.val_file=t.val_file,this.develops=t.develops,this.use=t.use,this.componentID=t.componentID,this.scale={current:t.scale.default,default:t.scale.default,min:t.scale.min,max:t.scale.max};let l=t.canvas;this.Canvas={elm:l,ctx:l.getContext("2d")};let i=t.picture.image,{width:e,height:a}=i,r=e/a;this.Picture={elm:i,originDataUrl:i.src,aspect:r,revisedAspect:1,rotate:t.picture.rotate,grayScale:t.picture.grayScale,tone:t.picture.tone},this.pst={frame:{x:0,y:0,w:0,h:0,aspect:1},outImage:{x:0,y:0,w:0,h:0},imageX:e/2,imageY:a/2,centerX:0,centerY:0},this.dragEffectInfo={origin:{x:0,y:0},frameExpandRate:{x:0,y:0}},this.pinchEffectInfo={origin:{x:0,y:0,scale:this.scale.current}},this.frameSizing(),this.modifyImage()}frameSizing(){let t=this.Canvas.elm,l=this.Picture.elm,i=0,e=0;if(this.use=="square"){let s=t.width/3*2,n=t.height/3*2;i=Math.min(s,n),e=i}else this.use=="wallpaper.horizontal"?(i=t.width*(7/9),e=i/3):this.use=="wallpaper.vertical"&&(e=t.height*(7/9),i=e/2);let{width:a,height:r}=l,p=(t.width-i)/2,u=(t.height-e)/2,y=i/e;this.pst={frame:{x:p,y:u,w:i,h:e,aspect:y},outImage:{x:0,y:0,w:0,h:0},imageX:a/2,imageY:r/2,centerX:t.width/2,centerY:t.height/2}}dragEffect(t){let{eventType:l,x:i,y:e}=t;if(l=="start"){let a=this.Canvas.elm.position();this.dragEffectInfo={origin:{x:i,y:e},frameExpandRate:{x:this.Canvas.elm.width/a.width,y:this.Canvas.elm.height/a.height}}}else{let{origin:a,frameExpandRate:r}=this.dragEffectInfo,p=a.x-i,u=a.y-e,y=this.scale.current*this.Picture.revisedAspect/100,s=p/y*r.x,n=u/y*r.y;l=="move"?this.drawImage(this.pst.imageX+s,this.pst.imageY+n):l=="end"&&this.drawImage(this.pst.imageX+=s,this.pst.imageY+=n)}}pinchEffect(t){let{eventType:l,event:i}=t,{x:e,y:a}=v.getCursor(i.touches[0]),{x:r,y:p}=v.getCursor(i.touches[1]),u=r-e,y=p-a;if(l=="start")this.pinchEffectInfo.origin={x:u,y,scale:this.scale.current};else if(l=="move"){let{origin:s}=this.pinchEffectInfo,n=Math.sqrt(Math.pow(s.x,2)+Math.pow(s.y,2)),S=Math.sqrt(Math.pow(u,2)+Math.pow(y,2))/n,C=Number(s.scale*S);this.set_scale(C)}}updateScale(t){let l=t;l=Math.max(l,this.scale.min),l=Math.min(l,this.scale.max),this.scale.current=l,this.drawImage()}updateFilter(t){this.Picture.grayScale=t.grayScale,this.Picture.tone=t.tone,this.Picture.rotate=t.rotate,this.modifyImage()}modifyImage(){return z(this,null,function*(){let{grayScale:t,tone:l,rotate:i}=this.Picture;const e=document.createElement("canvas");let a=e.getContext("2d"),r=yield v.ImageLoader(this.Picture.originDataUrl),p=r.width,u=r.height;(i==90||i==270)&&(p=r.height,u=r.width),e.width=p,e.height=u,t&&(a.filter="grayscale("+t+"%)"),i&&(a.translate(p/2,u/2),a.rotate(i*Math.PI/180),[90,270].includes(i)?a.translate(-u/2,-p/2):a.translate(-p/2,-u/2)),a.drawImage(r,0,0,r.width,r.height);let y=a.getImageData(0,0,e.width,e.height),s=y.data;{t/=100;let C=[[255,255,255],[255,200,100],[170,170,255],[240,200,145],[128,255,255],[255,128,255],[255,255,128],[128,158,169],[128,112,162],[50,192,87],[246,100,140]][l],x=C[0]/255,b=C[1]/255,c=C[2]/255;for(let m=0;m<u;m++)for(let h=0;h<p;h++){var n=(m*p+h)*4;if(t){let R=.3*s[n]+.59*s[n+1]+.11*s[n+2];for(var g=0;g<3;g++){let E=s[n+g];s[n+g]=E+(R-E)*t}}s[n]*=x,s[n+1]*=b,s[n+2]*=c}}a.putImageData(y,0,0);let S=e.toDataURL("image/jpeg");{let C=yield v.ImageLoader(S),{width:x,height:b}=C,c=x/b;this.Picture=j(H({},this.Picture),{elm:C,aspect:c,revisedAspect:this.pst.frame.aspect>c?this.pst.frame.w/x:this.pst.frame.h/b})}this.drawImage()})}drawImage(t,l){let{use:i,Canvas:{ctx:e,elm:a},pst:{frame:r}}=this,p=t||this.pst.imageX,u=l||this.pst.imageY;{let y=this.scale.current/100,s=this.Picture.revisedAspect*y,n=this.pst.centerX-p*s,g=this.pst.centerY-u*s,S=this.Picture.elm.width*s,C=this.Picture.elm.height*s;{let x=this.pst.frame.x+this.pst.frame.w-S,b=this.pst.frame.x,c=this.pst.frame.y+this.pst.frame.h-C,m=this.pst.frame.y,h=0;n<x&&(h=n-x),n>b&&(h=n-b);let R=0;g<c&&(R=g-c),g>m&&(R=g-m),this.dragEffectInfo.origin.x+=h/2/this.dragEffectInfo.frameExpandRate.x,this.dragEffectInfo.origin.y+=R/2/this.dragEffectInfo.frameExpandRate.y,n=Math.min(Math.max(n,x),b),g=Math.min(Math.max(g,c),m)}this.pst.outImage={x:n,y:g,w:S,h:C},e.clearRect(0,0,this.Canvas.elm.width,this.Canvas.elm.height),e.drawImage(this.Picture.elm,0,0,this.Picture.elm.width,this.Picture.elm.height,n,g,S,C)}{if(i=="square"){e.fillStyle="rgba( 20,24,20,.3 )",e.beginPath();let n=a.width/3*2,g=a.height/3*2,S=Math.min(n,g),C=Math.max(n,g);e.arc(a.width/2,a.height/2,C,0,Math.PI*2,!0),e.arc(a.width/2,a.height/2,S/2,0,Math.PI*2,!1),e.closePath(),e.fill()}else(i=="wallpaper.horizontal"||i=="wallpaper.vertical")&&(e.fillStyle="rgba( 20,24,20,.3 )");e.beginPath(),e.moveTo(0,0),e.lineTo(a.width,0),e.lineTo(a.width,a.height),e.lineTo(0,a.height),e.lineTo(0,0),e.closePath(),e.lineTo(r.x,r.y),e.lineTo(r.x,r.y+r.h),e.lineTo(r.x+r.w,r.y+r.h),e.lineTo(r.x+r.w,r.y),e.lineTo(r.x,r.y),e.fill();let s=v(document.body).getStyleProperty("--color-theme-hsl");e.lineWidth=4,e.strokeStyle=`hsla( ${s},1 )`,e.strokeRect(r.x,r.y,r.w,r.h)}}export(){return z(this,null,function*(){let{Canvas:t,develops:l,Picture:i,pst:{outImage:e,frame:a}}=this,r=e.w/i.elm.width,p=e.h/i.elm.height,u=(a.x-e.x)/r,y=(a.x-e.x+a.w)/r,s=(a.y-e.y)/p,n=(a.y-e.y+a.h)/p,g=Array.from({length:l.length}),S="image/jpeg";for(let C=0;C<l.length;C++){let{size:x,maxSize:b}=l[C];b=b||{S:1024*20,R:1024*100,L:1024*350}[x];let c={S:140,R:600,L:1200}[x],m=c;this.use=="wallpaper.horizontal"?m=c/3:this.use=="wallpaper.vertical"&&(m=c*2);let h=document.createElement("canvas");h.width=c,h.height=m;let R=h.getContext("2d");if(!R)return;R.clearRect(0,0,c,m),R.drawImage(this.Picture.elm,u,s,y-u,n-s,0,0,c,m);let E=h.toDataURL(S),w=yield E.toBlob(S);if(!w)return;if(w.size>=b){let L=b/w.size;if(E=h.toDataURL(S,L*.92),w=yield E.toBlob(S),!w)return}let X=new File([w],this.val_file.name,{type:S});g[C]=X}return g})}}const Z={Core:d=>{let{val_file:t,options:l,finishedCallback:i,abortCallback:e}=d,{use:a,develops:r=[]}=l,[p]=N(v.uuid.gen(32));const u={scale:{default:120,min:100,max:400},rotate:0,grayScale:0,tone:0};let[y,s]=N(u.scale.default),[n,g]=N(u.rotate),[S,C]=N(u.grayScale),[x,b]=N(u.tone);return O(()=>{let c="CropperResize";return v(window).addEvent({eventType:"resize",eventID:c,callback:()=>{v.interval.clear("CropperResize"),v.interval.standBy("CropperResize",200,()=>{var L;let m=K("#Canvas-"+p)[0];if(!m)return;let h=(L=A.get(p))==null?void 0:L.Instance;if(!h)return;let R=m.position(),E=R.width/R.height;m.width=2400,m.height=2400/E;let{width:w,height:X}=m;h.pst.centerX=w/2,h.pst.centerY=X/2,h.frameSizing(),h.modifyImage()})}}),()=>{v(window).removeEvent(c)}},[]),O(()=>{A.set({[p]:{}}),z(void 0,null,function*(){V.fn.corner.active(),yield v.pending(()=>{},400);let{target:c}=yield t.convert();if(!c)return;let m=c.result,h=K("#Canvas-"+p)[0];if(!h)return;let R=h.position(),E=R.width/R.height;h.width=2400,h.height=2400/E;let w=new ae({set_scale:s,val_file:t,develops:r,use:a,scale:u.scale,componentID:p,canvas:h,picture:{image:yield v.ImageLoader(m),grayScale:u.grayScale,tone:u.tone,rotate:u.rotate}});A.set({[p]:{Instance:w}});const X=function(B){if(B.preventDefault(),B.touches&&B.touches.length>1)w.pinchEffect({eventType:"start",event:B}),v(document).addEvent({eventType:"touchmove",eventID:"CropperEffectMove",options:{passive:!1},callback:T=>{T.preventDefault(),w.pinchEffect({eventType:"move",event:T})}}).addEvent({eventType:"touchend",eventID:"CropperEffectEnd",options:{passive:!1},callback:$});else{w.dragEffect(H({eventType:"start"},v.getCursor(B)));let{type:T}=B;v(document).addEvent({eventType:T=="touchstart"?"touchmove":"mousemove",eventID:"CropperEffectMove",options:{passive:!1},callback:_=>{L("move",_)}}).addEvent({eventType:T=="touchstart"?"touchend":"mouseup",eventID:"CropperEffectEnd",options:{passive:!1},callback:_=>{L("end",_),$(_)}})}},L=function(B,T){T.preventDefault(),w.dragEffect(H({eventType:B},v.getCursor(T)))},$=function(B){B.preventDefault(),v(document).removeEvent(["CropperEffectMove","CropperEffectEnd"])};v(h).removeEvent(["CropperMouseWheel","CropperTouchStart","CropperMouseDown"]).addEvent({eventID:"CropperMouseWheel",eventType:"wheel",callback:B=>{B.preventDefault();let T=Number(B.wheelDelta*.04),_=w.scale.current+T;_=Math.max(_,w.scale.min),_=Math.min(_,w.scale.max),s(_)},options:{passive:!1}}).addEvent({eventType:"touchstart",eventID:"CropperTouchStart",callback:X,options:{passive:!1}}).addEvent({eventType:"mousedown",eventID:"CropperMouseDown",callback:X,options:{passive:!1}}),setTimeout(()=>{V.fn.corner.stop()},1e3)})},[t.id]),O(()=>{var m;let c=(m=A.get(p))==null?void 0:m.Instance;c&&c.updateScale(y)},[y]),O(()=>{var m;let c=(m=A.get(p))==null?void 0:m.Instance;c&&c.updateFilter({grayScale:S,tone:x,rotate:n})},[S,x,n]),o(W.Body,{borderRadius:0,height:"viewHeight",width:"viewWidth",children:f(k,{className:[U("Wrap"),U("Use_"+a)].join(" "),gap:0,height:1,position:"relative",overflow:"hidden",borderRadius:"inherit",children:[o(P,{flexSizing:0,overflow:"hidden",position:"relative",backgroundColor:"black",flexCenter:!0,freeCSS:{zIndex:1},children:o("canvas",{style:{width:"100%",height:"100%"},width:2400,height:2400,className:U("Canvas"),id:"Canvas-"+p})}),f(I.Separate,{borderTop:!0,flexSizing:"none",backgroundColor:"layer.1",padding:1,verticalAlign:"unset",UnderBreakPointStyles:{flexType:"col"},children:[o(Z.SettingRegion,{DefaultOptions:u,val_scale:y,set_scale:s,val_tone:x,set_tone:b,val_grayScale:S,set_grayScale:C,val_rotate:n,set_rotate:g}),f(I.Right,{flexSizing:"none",children:[o(D.Button.Border.R,{isRounded:!0,onClick:()=>{e()},children:"\u9589\u3058\u308B"}),o(D.Button.Prime.R,{isRounded:!0,boxShadow:"3.remark",onClick:()=>z(void 0,null,function*(){var h;let c=(h=A.get(p))==null?void 0:h.Instance;if(!c)return;V.fn.mini.active("CropperExportation");let m=yield c.export();setTimeout(()=>{V.fn.mini.stop("CropperExportation"),i(m)},3e3)}),children:f(I.Center,{gap:"1/2",children:[o(V.White.R,{loaderID:"CropperExportation"}),"\u6C7A\u5B9A"]})})]})]})]})})},SettingRegion:d=>{let t=["","\u6696\u8272","\u5BD2\u8272","\u30BB\u30D4\u30A2","\u30B7\u30A2\u30F3","\u30DE\u30BC\u30F3\u30BF","\u30A4\u30A8\u30ED\u30FC","\u30AA\u30EA\u30B8\u30CA\u30EB1","\u30AA\u30EA\u30B8\u30CA\u30EB2","\u30AA\u30EA\u30B8\u30CA\u30EB3","\u30AA\u30EA\u30B8\u30CA\u30EB4"],l=i=>t[i]||"\u306A\u3057";return f(I.Left,{verticalAlign:"unset",flexWrap:!0,children:[f(k,{gap:"1/3",children:[o(F.Supplement,{children:"Rotate"}),f(I.Left,{flexChilds:"even",gap:"1/6",children:[o(D.Button.Border.S,{isRounded:!0,borderTopRightRadius:0,borderBottomRightRadius:0,onClick:()=>{let i=d.val_rotate-90;i<0&&(i+=360),d.set_rotate(i)},children:f(I.Center,{gap:"1/4",children:["90\xB0",o(M,{icon:ee})]})}),o(D.Button.Border.S,{isRounded:!0,borderTopLeftRadius:0,borderBottomLeftRadius:0,onClick:()=>{d.set_rotate((d.val_rotate+90)%360)},children:f(I.Center,{gap:"1/4",children:[o(M,{icon:te}),"90\xB0"]})})]})]}),f(k,{gap:"1/3",freeCSS:{minWidth:12*6},children:[o(F.Supplement,{children:"Zoom"}),f(D.Button.Border.S,{flexCenter:!0,isRounded:!0,flexSizing:0,onClick:i=>{let e="CropperZoomEdit";Y.open({tipsID:e,gravityPoint:3,event:i,close_option:{parentBlur:!1},freeCSS:{minWidth:12*26},content:o(W.Body,{children:f(k,{padding:1.5,children:[f(I.Separate,{children:[o(F.Paragraph,{children:f(I.Center,{gap:"1/2",children:[o(M.Search,{fontColor:"5.translucent"}),"Zoom"]})}),o(D.Button.Sub.R,{color:"cloud",ssSphere:2.5,onClick:()=>{Y.close(e)},children:o(M.Times,{})})]}),o(P,{borderBottom:!0,opacity:"low"}),o(q.Slider,{override:"force",value:d.val_scale-100,min:d.DefaultOptions.scale.min-100,max:d.DefaultOptions.scale.max-100,step:25,onUpdateValidValue:({eventType:a,value:r})=>{v.interval.clear("Cropper.UpdateScale"),v.interval.standBy("Cropper.UpdateScale",250,()=>{d.set_scale(r+100)})},legends:{enable:!0,custom:a=>"x"+Math.round(100+a)/100}})]})})})},children:[d.val_scale.rate(1,0),"%"]})]}),f(k,{gap:"1/3",freeCSS:{minWidth:12*6},children:[o(F.Supplement,{children:"GrayScale"}),f(D.Button.Border.S,{flexCenter:!0,isRounded:!0,flexSizing:0,onClick:i=>{let e="CropperGrayScaleEdit";Y.open({tipsID:e,gravityPoint:3,event:i,close_option:{parentBlur:!1},freeCSS:{minWidth:12*26},content:o(W.Body,{children:f(k,{padding:1.5,children:[f(I.Separate,{children:[o(F.Paragraph,{children:f(I.Center,{gap:"1/2",children:[o(M,{icon:J,fontColor:"5.translucent"}),"Gray Scale"]})}),o(D.Button.Sub.R,{color:"cloud",ssSphere:2.5,onClick:()=>{Y.close(e)},children:o(M.Times,{})})]}),o(P,{borderBottom:!0,opacity:"low"}),o(q.Slider,{value:d.val_grayScale,min:0,max:100,step:10,onUpdateValidValue:({value:a})=>{v.interval.clear("Cropper.GrayScale"),v.interval.standBy("Cropper.GrayScale",250,()=>{d.set_grayScale(a)})},legends:{enable:!0,custom:a=>a+"%"}})]})})})},children:[d.val_grayScale.rate(1,0),"%"]})]}),f(k,{gap:"1/3",freeCSS:{minWidth:12*6},children:[o(F.Supplement,{children:"Tone"}),o(D.Button.Border.S,{flexCenter:!0,isRounded:!0,flexSizing:0,onClick:i=>{let e="CropperToneEdit";Y.open({tipsID:e,gravityPoint:3,event:i,close_option:{parentBlur:!1},freeCSS:{minWidth:12*26,maxWidth:12*24},content:()=>{let a=[];for(let r=1;r<=10;r++)a.push({value:r,label:f(re,{children:[o(P,{ssSphere:1,className:[U("ToneBall"),U("ToneBall_"+r)].join(" ")}),o(P,{textAlign:"left",flexSizing:0,children:l(r)})]})});return o(W.Body,{children:f(k,{padding:1.5,children:[f(I.Separate,{children:[o(F.Paragraph,{children:f(I.Center,{gap:"1/2",children:[o(M,{icon:Q,fontColor:"5.translucent"}),"Tone"]})}),o(D.Button.Sub.R,{color:"cloud",ssSphere:2.5,onClick:()=>{Y.close(e)},children:o(M.Times,{})})]}),o(P,{borderBottom:!0,opacity:"low"}),o(q.Radio.Normal,{value:d.val_tone,gap:"1/2",cellStyles:{fontColor:"3.blur"},options:[{value:0,label:o(P,{flexSizing:0,textAlign:"center",children:"\u306A\u3057"})},...a],onUpdateValidValue:({value:r})=>{d.set_tone(r)}})]})})}})},children:f(I.Center,{gap:"1/2",children:[o(P,{boxShadow:"2.remark",ssSphere:1,className:[U("ToneBall"),U("ToneBall_"+d.val_tone)].join(" ")}),l(d.val_tone)]})})]})]})}},G={openDialogNEdit:d=>z(void 0,null,function*(){let t=yield q.Filer.fn.openDialog({accept:"image",multiple:!1});G.openEditor(H({imageFile:t[0]},d))}),openEditor:d=>z(void 0,null,function*(){let t="CropperImage";W.open({sheetID:t,type:"normal.middleCenter",size:"MAX",padding:0,margin:0,freeCSS:{maxWidth:"100vw"},content:o(Z.Core,{val_file:d.imageFile,options:d,finishedCallback:l=>{W.close(t),d.onProcessFinished(l)},abortCallback:()=>{W.close(t)}}),close_option:{escapeKeyDown:!1}})})};export{G as Cropper,G as default};
@@ -1 +1 @@
1
- import{b as S,c as b,d as Q,e as $}from"../../chunk-C5N2D3ZX.js";import{Fragment as ae,jsx as n,jsxs as r}from"react/jsx-runtime";import{useState as j,useEffect as ne}from"react";import v from"@mingoo/jsmin";import{$$fromRoot as P,useStore as X,GenerateHTMLProps as Y}from"../../@utils";import{Box as F,FAI as L,Flex as M,Column as ee}from"../../atoms";import{Row as ie}from"../../mols";import O from"../Button";import H from"../Snackbar";import{OptionalInputWrapper as oe,BoxWrapper as se,CoreEffects as re,DefaultStyles as ue}from"./core";import pe from"./TextField";import{InputFilerClasses as m}from"../../@styles/componentClasses";import{faCloudArrowUp as de}from"@fortawesome/free-solid-svg-icons/faCloudArrowUp";function ce(e){let{value:t,states:a}=e,{required:s}=a,l=[];return s&&!t.length&&l.push({type:"invalid",label:"\u5FC5\u9808\u9805\u76EE\u3067\u3059"}),{ok:!l.filter(({type:u})=>u=="invalid").length,notice:l}}const te={List:e=>{let{files:t,states:a,val_status:s,set_status:l}=e,u=(a.limit||1)-s.dataValue.length,d=t.map((p,B)=>n(te.Cell,{index:B,file:p,className:a.cellClassName,val_status:s,set_status:l,fileNameEdit:a.fileNameEdit},p.name));return u>0&&d.push(n("label",{className:[a.cellClassName,m("AddButton")].join(" "),"data-component-id":s.componentID,htmlFor:a.id,tabIndex:a.tabIndex,onKeyDown:p=>{let{key:B}=p;a.tabIndex!=-1&&[" ","Enter"].includes(B)&&P("#"+a.id).click()},children:r(ie.Center,{padding:["1/3",0],children:[n(F,{isRounded:!0,className:m("AddIcon"),children:n(L,{icon:de,className:m("Icon"),fontColor:"theme",fontSize:"4.thirdTitle",backgroundColor:"theme.opa.low",ssSphere:3,padding:"1/2"})}),r(F,{children:[r(F,{fontColor:"theme",fontSize:"2.normal",isSemiBoldFont:!0,children:["\u30D5\u30A1\u30A4\u30EB\u3092\u9078\u629E(",u,")"]}),n(F,{fontColor:"4.thin",fontSize:"0.xs",isSemiBoldFont:!0,children:"\u30D5\u30A1\u30A4\u30EB\u3092\u30C9\u30ED\u30C3\u30D7"})]})]})},"AddButton")),n(ee,{flexSizing:"auto",className:a.className,children:d})},Cell:e=>{let{index:t,file:a,className:s,val_status:l,set_status:u,fileNameEdit:d=!0}=e,{name:p,size:B,type:i}=a,[A,T]=j(!1),N=v.uuid.gen(),V=B.rank(),[K,W]=p.replace(/\s/,"").replace(/(.*)\.(.*)$/,"$1 $2").split(" "),o="\u30D5\u30A1\u30A4\u30EB";return i.match(/image/)?o=i.replace(/image\//,""):i.match(/pdf/)?o="PDF":i.match(/csv/)?o="CSV":i.match(/spreadsheet/)?o="SpreadSheet":i.match(/presentation/)?o="PowerPoint":i.match(/word/)?o="Word":i.match(/zip/)?o="Zip":i.match(/powerpoint/)?o="PowerPoint":i.match(/html/)?o="HTML":i.match(/js/)?o="JavaScript":i.match(/css/)?o="CSS":i.match(/text\/plain/)&&(o="\u30C6\u30AD\u30B9\u30C8"),ne(()=>{A&&setTimeout(()=>{P("#"+N).focus()},100)},[A]),r(M,{verticalAlign:"center",flexWrap:!1,gap:1,className:s,children:[n(L.File,{fontSize:"4.thirdTitle",fontColor:"4.thin"}),r(F,{flexSizing:0,children:[n(F,{children:n(M,{verticalAlign:"center",gap:"2/3",flexWrap:!1,className:m("FileName"),children:A?n(ae,{children:r(ee,{flexSizing:0,gap:"1/2",children:[r(M,{gap:"2/3",verticalAlign:"center",children:[n(pe,{tone:"border",wrapStyles:{flexSizing:"auto"},restrict:"fileName",name:"name",required:!0,id:N,form:"form-"+N,enableFormSubmit:!0,value:K,onKeyDown:g=>{let{key:_}=g;_=="Escape"&&T(!1)}}),r(F,{children:[". ",W]})]}),r(M,{gap:"2/3",horizontalAlign:"right",flexWrap:!1,children:[n(O.Button.Sub.R,{padding:["2/3",1],onClick:()=>{T(!1)},children:"\u9589\u3058\u308B"}),n(O.Button.Prime.R,{padding:["2/3",1],submitOption:{formName:"form-"+N,callback:g=>$(void 0,null,function*(){let{name:_}=g,D=[...l.dataValue],k=D[t],G=k.id;if(!k)return;let{target:z}=yield k.convert();if(!z)return;let c=yield String(z.result).toBlob(a.type);if(!c)return;let y=new File([c],_+"."+W,{type:k.type});y.id=G,D[t]=y,u(R=>b(S({},R),{dataValue:D,eventType:"update",eventID:v.uuid.gen()})),T(!1)})},children:"\u6C7A\u5B9A"})]})]})}):r(ae,{children:[p,!!d&&n(O.Button.Clear.R,{ssSphere:2.5,flexSizing:"none",fontColor:"4.thin",padding:"1/3",ssEffectsOnActive:"expand",color:"cloud",onClick:()=>{T(!0)},children:n(L.Pen,{})})]})})}),!A&&r(F,{fontSize:"1.mini",fontColor:"4.thin",flexSizing:0,children:[o,"\u30D5\u30A1\u30A4\u30EB / ",V,"B"]})]}),n(O.Button.Sub.R,{color:"cloud",fontColor:"4.thin",ssSphere:3,onClick:()=>{let g=[...l.dataValue];g[t]&&(g.splice(t,1),u(D=>b(S({},D),{dataValue:g,eventType:"update",eventID:v.uuid.gen()})))},children:n(L.Times,{})})]})}},me=e=>{let Z=e,{tone:t,required:a,form:s,fileNameEdit:l=!0,systemOnly:u=!1,accept:d="*",limit:p=1,checkValidationAtFirst:B,onChange:i,onValidate:A,onUpdateValue:T,onUpdateValidValue:N,value:V=[],className:K,cellStyles:W,cellClassName:o,componentID:g,status_id:_,enableFormSubmit:D,freeCSS:k,wrapStyles:G}=Z,z=Q(Z,["tone","required","form","fileNameEdit","systemOnly","accept","limit","checkValidationAtFirst","onChange","onValidate","onUpdateValue","onUpdateValidValue","value","className","cellStyles","cellClassName","componentID","status_id","enableFormSubmit","freeCSS","wrapStyles"]),J={componentID:e.componentID||"",dataValue:V,eventType:"init",eventID:v.uuid.gen()},[c,y]=j(J),[R,le]=j({ok:!1,notice:[]});re.CommonEffects({type:"file",states:e,val_status:c,set_status:y,val_validate:R,set_validate:le,onUpdateValue:T,onUpdateValidValue:N,DefaultValidation:ce,ExtraOverrideStates:{dataValue:V,formatValue:V},ExtraStoreStates:{AddFiles:w=>$(void 0,null,function*(){let E=X.get(c.componentID).Files,I=[];for(var C=0;C<(w==null?void 0:w.length);C++){let f=w[C],{type:h,name:x}=f;if(C+1+E.length>p){H.add({componentID:x,secondsToClose:12e3,children:`\u30D5\u30A1\u30A4\u30EB\u9078\u629E\u4E0A\u9650\u3092\u8D85\u3048\u305F\u305F\u3081\u3001${x}}\u306F\u8FFD\u52A0\u3067\u304D\u307E\u305B\u3093\u3002`,backgroundColor:"nega"});continue}if(d&&d=="image"&&!h.match(/image/)){H.add({componentID:x,secondsToClose:12e3,children:`\u30D5\u30A1\u30A4\u30EB\u5F62\u5F0F\u304C\u7570\u306A\u308B\u305F\u3081\u3001${x} \u306F\u8FFD\u52A0\u3067\u304D\u307E\u305B\u3093\u3002`,backgroundColor:"nega"});continue}I.push(f)}y(f=>b(S({},f),{dataValue:[...E,...I],eventType:"update",eventID:v.uuid.gen()}))})}});let U="";return d&&(d=="image"?U="image/png,image/jpeg":U=d),r(se,{val_status:c,set_status:y,val_validate:R,states:e,children:[n("input",b(S({type:"file",className:m("Input"),"data-form":s,"data-input-type":"file","data-component-id":c.componentID,"data-validation":R.ok,accept:U,multiple:p!=1,onChange:w=>$(void 0,null,function*(){let E=w.target,I=E.files,C=[];for(var f=0;f<(I==null?void 0:I.length);f++){let h=I[f],x=h.name;if(h.id=v.uuid.gen(),f+1+c.dataValue.length>p){H.add({componentID:x,secondsToClose:12e3,children:`\u30D5\u30A1\u30A4\u30EB\u767B\u9332\u6570\u3092\u8D85\u3048\u305F\u305F\u3081\u3001${x}}\u306F\u8FFD\u52A0\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002`,backgroundColor:"nega"});continue}C.push(h)}y(h=>b(S({},h),{dataValue:[...h.dataValue,...C],eventType:"update",eventID:v.uuid.gen()})),E.value=""})},z),{tabIndex:-1,value:""})),!u&&n(te.List,{files:c.dataValue,states:e,val_status:c,set_status:y})]})};typeof window!="undefined"&&window.document&&v(document).addEvent({eventType:"dragover",callback:e=>{e.preventDefault(),P("."+m("AddButton")).addClass(m("Draggable"))},options:{passive:!1}}).addEvent({eventType:"drop",callback:e=>{e.preventDefault(),P("."+m("AddButton")).removeClass(m("Draggable"));let t=e.dataTransfer.files;if(t.length){let a=e.target;if(P(a).hasClass(m("AddButton"))){let{componentId:s}=a.dataset,l=X.get(s);l&&l.AddFiles&&l.AddFiles(t)}}},options:{passive:!1}});const q=e=>{e=S({},e),e.override="force";let t=Y(e);return t.cellClassName=[t.cellClassName,Y(ue.Boxish(b(S({},t.cellStyles),{tone:t.tone}))).className].join(" "),n(oe,{componentID:e.componentID,children:me,states:t})};q.fn={openDialog:e=>{let{multiple:t,accept:a}=e;return new Promise(s=>{const l=document.createElement("input");l.type="file",l.multiple=t!=null?t:!0,a&&(a=="image"?l.accept="image/png,image/jpeg":l.accept=a),l.onchange=u=>{s(u.target.files)},l.click()})}};export{q as Filer,q as default};
1
+ import{b as v,c as b,d as Q,e as L}from"../../chunk-C5N2D3ZX.js";import{Fragment as ae,jsx as n,jsxs as r}from"react/jsx-runtime";import{useState as U,useEffect as ne}from"react";import I from"@mingoo/jsmin";import{$$fromRoot as P,useStore as X,GenerateHTMLProps as Y}from"../../@utils";import{Box as g,FAI as $,Flex as M,Column as ee}from"../../atoms";import{Row as ie}from"../../mols";import O from"../Button";import j from"../Snackbar";import{OptionalInputWrapper as oe,BoxWrapper as se,CoreEffects as re,DefaultStyles as ue}from"./core";import pe from"./TextField";import{InputFilerClasses as m}from"../../@styles/componentClasses";import{faCloudArrowUp as de}from"@fortawesome/free-solid-svg-icons/faCloudArrowUp";function ce(e){let{value:t,states:a}=e,{required:s}=a,l=[];return s&&!t.length&&l.push({type:"invalid",label:"\u5FC5\u9808\u9805\u76EE\u3067\u3059"}),{ok:!l.filter(({type:u})=>u=="invalid").length,notice:l}}const te={List:e=>{let{files:t,states:a,val_status:s,set_status:l}=e,u=(a.limit||1)-s.dataValue.length,d=t.map((p,T)=>n(te.Cell,{index:T,file:p,className:a.cellClassName,val_status:s,set_status:l,fileNameEdit:a.fileNameEdit},p.name));return u>0&&d.push(n("label",{className:[a.cellClassName,m("AddButton")].join(" "),"data-component-id":s.componentID,htmlFor:a.id,tabIndex:a.tabIndex,onKeyDown:p=>{let{key:T}=p;a.tabIndex!=-1&&[" ","Enter"].includes(T)&&P("#"+a.id).click()},children:r(ie.Center,{padding:["1/3",0],children:[n(g,{isRounded:!0,className:m("AddIcon"),children:n($,{icon:de,className:m("Icon"),fontColor:"theme",fontSize:"4.thirdTitle",backgroundColor:"theme.opa.low",ssSphere:3,padding:"1/2"})}),r(g,{children:[r(g,{fontColor:"theme",fontSize:"2.normal",isSemiBoldFont:!0,children:["\u30D5\u30A1\u30A4\u30EB\u3092\u9078\u629E(",u,")"]}),n(g,{fontColor:"4.thin",fontSize:"0.xs",isSemiBoldFont:!0,children:"\u30D5\u30A1\u30A4\u30EB\u3092\u30C9\u30ED\u30C3\u30D7"})]})]})},"AddButton")),n(ee,{flexSizing:"auto",className:a.className,children:d})},Cell:e=>{let{index:t,file:a,className:s,val_status:l,set_status:u,fileNameEdit:d=!0}=e,{name:p,size:T,type:i}=a,[A,B]=U(!1),N=I.uuid.gen(),V=T.rank(),[K,W]=p.replace(/\s/,"").replace(/(.*)\.(.*)$/,"$1 $2").split(" "),o="\u30D5\u30A1\u30A4\u30EB";return i.match(/image/)?o=i.replace(/image\//,""):i.match(/pdf/)?o="PDF":i.match(/csv/)?o="CSV":i.match(/spreadsheet/)?o="SpreadSheet":i.match(/presentation/)?o="PowerPoint":i.match(/word/)?o="Word":i.match(/zip/)?o="Zip":i.match(/powerpoint/)?o="PowerPoint":i.match(/html/)?o="HTML":i.match(/js/)?o="JavaScript":i.match(/css/)?o="CSS":i.match(/text\/plain/)&&(o="\u30C6\u30AD\u30B9\u30C8"),ne(()=>{A&&setTimeout(()=>{P("#"+N).focus()},100)},[A]),r(M,{verticalAlign:"center",flexWrap:!1,gap:1,className:s,children:[n($.File,{fontSize:"4.thirdTitle",fontColor:"4.thin"}),r(g,{flexSizing:0,children:[n(g,{children:n(M,{verticalAlign:"center",gap:"2/3",flexWrap:!1,className:m("FileName"),children:A?n(ae,{children:r(ee,{flexSizing:0,gap:"1/2",children:[r(M,{gap:"2/3",verticalAlign:"center",children:[n(pe,{tone:"border",wrapStyles:{flexSizing:"auto"},restrict:"fileName",name:"name",required:!0,id:N,form:"form-"+N,enableFormSubmit:!0,value:K,onKeyDown:y=>{let{key:_}=y;_=="Escape"&&B(!1)}}),r(g,{children:[". ",W]})]}),r(M,{gap:"2/3",horizontalAlign:"right",flexWrap:!1,children:[n(O.Button.Sub.R,{padding:["2/3",1],onClick:()=>{B(!1)},children:"\u9589\u3058\u308B"}),n(O.Button.Prime.R,{padding:["2/3",1],submitOption:{formName:"form-"+N,callback:y=>L(void 0,null,function*(){let{name:_}=y,D=[...l.dataValue],k=D[t],G=k.id;if(!k)return;let{target:z}=yield k.convert();if(!z)return;let c=yield String(z.result).toBlob(a.type);if(!c)return;let h=new File([c],_+"."+W,{type:k.type});h.id=G,D[t]=h,u(R=>b(v({},R),{dataValue:D,eventType:"update",eventID:I.uuid.gen()})),B(!1)})},children:"\u6C7A\u5B9A"})]})]})}):r(ae,{children:[p,!!d&&n(O.Button.Clear.R,{ssSphere:2.5,flexSizing:"none",fontColor:"4.thin",padding:"1/3",ssEffectsOnActive:"expand",color:"cloud",onClick:()=>{B(!0)},children:n($.Pen,{})})]})})}),!A&&r(g,{fontSize:"1.mini",fontColor:"4.thin",flexSizing:0,children:[o,"\u30D5\u30A1\u30A4\u30EB / ",V,"B"]})]}),n(O.Button.Sub.R,{color:"cloud",fontColor:"4.thin",ssSphere:3,onClick:()=>{let y=[...l.dataValue];y[t]&&(y.splice(t,1),u(D=>b(v({},D),{dataValue:y,eventType:"update",eventID:I.uuid.gen()})))},children:n($.Times,{})})]})}},me=e=>{let Z=e,{tone:t,required:a,form:s,fileNameEdit:l=!0,systemOnly:u=!1,accept:d="*",limit:p=1,checkValidationAtFirst:T,onChange:i,onValidate:A,onUpdateValue:B,onUpdateValidValue:N,value:V=[],className:K,cellStyles:W,cellClassName:o,componentID:y,status_id:_,enableFormSubmit:D,freeCSS:k,wrapStyles:G}=Z,z=Q(Z,["tone","required","form","fileNameEdit","systemOnly","accept","limit","checkValidationAtFirst","onChange","onValidate","onUpdateValue","onUpdateValidValue","value","className","cellStyles","cellClassName","componentID","status_id","enableFormSubmit","freeCSS","wrapStyles"]),J={componentID:e.componentID||"",dataValue:V,eventType:"init",eventID:I.uuid.gen()},[c,h]=U(J),[R,le]=U({ok:!1,notice:[]});re.CommonEffects({type:"file",states:e,val_status:c,set_status:h,val_validate:R,set_validate:le,onUpdateValue:B,onUpdateValidValue:N,DefaultValidation:ce,ExtraOverrideStates:{dataValue:V,formatValue:V},ExtraStoreStates:{AddFiles:w=>L(void 0,null,function*(){let E=X.get(c.componentID).Files,F=[];for(var C=0;C<(w==null?void 0:w.length);C++){let f=w[C],{type:S,name:x}=f;if(C+1+E.length>p){j.add({componentID:x,secondsToClose:12e3,children:`\u30D5\u30A1\u30A4\u30EB\u9078\u629E\u4E0A\u9650\u3092\u8D85\u3048\u305F\u305F\u3081\u3001${x}}\u306F\u8FFD\u52A0\u3067\u304D\u307E\u305B\u3093\u3002`,backgroundColor:"nega"});continue}if(d&&d=="image"&&!S.match(/image/)){j.add({componentID:x,secondsToClose:12e3,children:`\u30D5\u30A1\u30A4\u30EB\u5F62\u5F0F\u304C\u7570\u306A\u308B\u305F\u3081\u3001${x} \u306F\u8FFD\u52A0\u3067\u304D\u307E\u305B\u3093\u3002`,backgroundColor:"nega"});continue}F.push(f)}h(f=>b(v({},f),{dataValue:[...E,...F],eventType:"update",eventID:I.uuid.gen()}))})}});let H="";return d&&(d=="image"?H="image/png,image/jpeg":H=d),r(se,{val_status:c,set_status:h,val_validate:R,states:e,children:[n(g,b(v({htmlTag:"input",type:"file",className:m("Input"),"data-form":s,"data-input-type":"file","data-component-id":c.componentID,"data-validation":R.ok,accept:H,multiple:p!=1,onChange:w=>L(void 0,null,function*(){let E=w.target,F=E.files,C=[];for(var f=0;f<(F==null?void 0:F.length);f++){let S=F[f],x=S.name;if(S.id=I.uuid.gen(),f+1+c.dataValue.length>p){j.add({componentID:x,secondsToClose:12e3,children:`\u30D5\u30A1\u30A4\u30EB\u767B\u9332\u6570\u3092\u8D85\u3048\u305F\u305F\u3081\u3001${x}}\u306F\u8FFD\u52A0\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002`,backgroundColor:"nega"});continue}C.push(S)}h(S=>b(v({},S),{dataValue:[...S.dataValue,...C],eventType:"update",eventID:I.uuid.gen()})),E.value=""})},z),{tabIndex:-1,value:""})),!u&&n(te.List,{files:c.dataValue,states:e,val_status:c,set_status:h})]})};typeof window!="undefined"&&window.document&&I(document).addEvent({eventType:"dragover",callback:e=>{e.preventDefault(),P("."+m("AddButton")).addClass(m("Draggable"))},options:{passive:!1}}).addEvent({eventType:"drop",callback:e=>{e.preventDefault(),P("."+m("AddButton")).removeClass(m("Draggable"));let t=e.dataTransfer.files;if(t.length){let a=e.target;if(P(a).hasClass(m("AddButton"))){let{componentId:s}=a.dataset,l=X.get(s);l&&l.AddFiles&&l.AddFiles(t)}}},options:{passive:!1}});const q=e=>{e=v({},e),e.override="force";let t=Y(e);return t.cellClassName=[t.cellClassName,Y(ue.Boxish(b(v({},t.cellStyles),{tone:t.tone}))).className].join(" "),n(oe,{componentID:e.componentID,children:me,states:t})};q.fn={openDialog:e=>{let{multiple:t,accept:a}=e;return new Promise(s=>{const l=document.createElement("input");l.type="file",l.multiple=t!=null?t:!0,a&&(a=="image"?l.accept="image/png,image/jpeg":l.accept=a),l.onchange=u=>{s(u.target.files)},l.click()})}};export{q as Filer,q as default};
@@ -1 +1 @@
1
- import{b as o,c as p,d as P}from"../../chunk-C5N2D3ZX.js";import{jsx as a,jsxs as oe}from"react/jsx-runtime";import{useState as Y}from"react";import y from"@mingoo/jsmin";import{$$fromRoot as ae,GenerateHTMLProps as ne}from"../../@utils";import{Box as V,Flex as se,Label as ie,FAI as re}from"../../atoms";import Z from"../Button";import{OptionalInputWrapper as de,BoxWrapper as ce,CoreEffects as ee}from"./core";import ue from"./Hidden";import{InputListClasses as I}from"../../@styles/componentClasses";function me(t){let{value:l,states:s}=t,{type:e,required:u,minSelect:n=0}=s,i=[];return u&&(l.length||e=="radio"&&i.push({type:"invalid",label:"\u9078\u629E\u3055\u308C\u3066\u3044\u307E\u305B\u3093"})),n&&l.length<n&&i.push({type:"invalid",label:`${n}\u500B\u4EE5\u4E0A\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044`}),{ok:!i.filter(({type:d})=>d=="invalid").length,notice:i}}const T={OptionalListWrapper:t=>{let{value:l,options:s=[]}=t,e=y.is.exist(l)?y.flatArray(l):[],u=s.map(i=>{let{value:d,label:h}=i;return p(o({},i),{value:JSON.stringify(d),label:h})}),n=[];return e.forEach(i=>{let d=JSON.stringify(i);u.findIndex(L=>L.value==d)!=-1&&n.push(d)}),a(T.Core,p(o({},t),{value:n,options:u}))},Core:t=>{let D=t,{type:l,tone:s,required:e,componentID:u="",form:n,override:i,icon:d,iconType:h,CustomIcon:L,enableFormSubmit:M,checkValidationAtFirst:J,onValidate:w,onUpdateValue:g,onUpdateValidValue:_,value:B,options:W,className:k,cellStyles:$,cellClassName:X,cellCheckedStyles:q,cellCheckedClassName:H,minSelect:U,hideInput:z,freeCSS:F,wrapStyles:m}=D,x=P(D,["type","tone","required","componentID","form","override","icon","iconType","CustomIcon","enableFormSubmit","checkValidationAtFirst","onValidate","onUpdateValue","onUpdateValidValue","value","options","className","cellStyles","cellClassName","cellCheckedStyles","cellCheckedClassName","minSelect","hideInput","freeCSS","wrapStyles"]),S={componentID:u,dataValue:B,eventType:"init",eventID:y.uuid.gen()},[f,C]=Y(S),[v,K]=Y({ok:!1,notice:[]});return ee.CommonEffects({type:"list",states:t,val_status:f,set_status:C,val_validate:v,set_validate:K,onUpdateValue:g,onUpdateValidValue:_,DefaultValidation:me}),oe(ce,{val_status:f,set_status:C,val_validate:v,states:t,children:[a(ue,p(o({"data-value":JSON.stringify(f.dataValue),form:n,"data-input-type":l,"data-validation":v.ok},x),{componentID:f.componentID})),a(T.List,{rootStates:t,val_status:f,set_status:C})]})},List:t=>{let{rootStates:l,val_status:s,set_status:e}=t,{componentID:u,type:n,tone:i,icon:d=!0,options:h,name:L,form:M,tabIndex:J,hideInput:w,disabled:g,className:_,cellStyles:B,cellClassName:W="",cellCheckedStyles:k,cellCheckedClassName:$="",enableFormSubmit:X}=l,{dataValue:q}=s,H=l.CustomIcon,U=h.map((z,F)=>{let Q=z,{value:m,label:x,disabled:S,className:f="",checkedStyles:C,checkedClassName:v="",freeCSS:K}=Q,D=P(Q,["value","label","disabled","className","checkedStyles","checkedClassName","freeCSS"]),j=y.uuid.gen(),R=q.findIndex(r=>r===m)!=-1,b=o(o({},B),D),O=[I("Label"),W,f];R&&(b=p(o(o(o({},b),k),C),{freeCSS:o(o(o({},b==null?void 0:b.freeCSS),k==null?void 0:k.freeCSS),C==null?void 0:C.freeCSS)}),O=[...O,$,v]);const G=()=>{if(g||S)return;let r=[];if(n=="radio")r=[m];else if(n=="checkbox"||n=="checker")if(!R)r=[...s.dataValue,m];else{let c=[...s.dataValue];c.splice(s.dataValue.findIndex(E=>E==m),1),r=c}e(c=>p(o({},c),{dataValue:r,eventType:"update",eventID:y.uuid.gen()}))};return[a("input",{type:n=="radio"?"radio":"checkbox",className:I("Input"),name:"RadioCheckbox-"+L,"data-list-index":u+"-"+F,id:j,value:String(m),"data-form-name":M,disabled:g||S,checked:R,onFocus:r=>{S||n=="radio"&&(s.dataValue.length||e(c=>p(o({},c),{dataValue:[m],eventType:"update",eventID:y.uuid.gen()})))},onChange:()=>{G()},onKeyDown:r=>{let{key:c,shiftKey:E}=r;if((n=="checkbox"||n=="checker")&&c!="Tab"){if(c.match(/Arrow/)){r.preventDefault();let le=["ArrowLeft","ArrowUp"].includes(c)?-1:1,N=F+le;N<0?N=h.length-1:N>=h.length&&(N=0),ae(`input[data-list-index="${u}-${N}"]`).focus()}}X&&ee.SubmitForm(r)},tabIndex:J},"List-"+JSON.stringify(m)),oe(ie,p(o({"data-disabled":g||S,htmlFor:j,className:O.join(" "),tabIndex:-1,display:"flex",verticalAlign:"center",gap:"1/6",flexWrap:!1},b),{children:[d&&a(H,{isChecked:R,toggle:()=>{G()}}),y.is.string(x)?a(V,{children:x}):x]}),"ListTrigger-"+JSON.stringify(m))]});return a(se,{flexSizing:"auto",style:l.style,freeCSS:o({},l.freeCSS),className:[_,I("CellBase"),I("HideInput_"+w),I("IconIndicator_"+!!d),I("Tone_"+i)].join(" "),children:U})},RadioIcon:t=>a(Z.Button.Normal.R,{ssPushable:!0,color:"cloud",tabIndex:-1,ssEffectsOnActive:"ripple.cloud",ssSphere:3,onClick:l=>{l.preventDefault(),l.stopPropagation(),t.toggle()},children:a(V,{ssSphere:1.5,border:"3.thick",borderWidth:2,borderColor:t.isChecked?"theme":"3.thick",position:"relative",transition:"middle",children:a(V,{position:"absolute",transition:"middle",isRounded:!0,backgroundColor:t.isChecked?"theme":"trans",opacity:t.isChecked?"max":"trans",freeCSS:{width:"60%",height:"60%",transform:t.isChecked?"scale(1)":"scale(.6)"}})})}),CheckboxIcon:t=>a(Z.Button.Normal.R,{ssPushable:!0,color:"cloud",tabIndex:-1,ssEffectsOnActive:"ripple.cloud",ssSphere:3,onClick:l=>{l.preventDefault(),l.stopPropagation(),t.toggle()},children:a(V,{ssSquare:1.5,flexCenter:!0,border:"3.thick",borderWidth:2,borderColor:t.isChecked?"theme":"3.thick",borderRadius:"3.tone.tertiary",position:"relative",backgroundColor:t.isChecked?"theme":"trans",transition:"middle",fontColor:"white",children:a(re.Check,{transition:"middle",opacity:t.isChecked?"max":"trans",freeCSS:{zIndex:8}})})})},A=t=>{t=t||"checkbox";const l=e=>(e=p(o({gap:"1/2",iconType:t=="radio"?"radio":"checkbox"},e),{type:t,cellStyles:o({position:"relative",borderRadius:"2.tone.secondary",transition:"middle"},e.cellStyles)}),e.CustomIcon||(e.iconType=="radio"?e.CustomIcon=T.RadioIcon:e.iconType=="checkbox"&&(e.CustomIcon=T.CheckboxIcon)),e.tone=="normal"?(e.cellStyles=o({padding:["1/4",1],border:"1.thin",isRounded:!0,backgroundColor:"layer.1"},e.cellStyles),e.cellCheckedStyles=o({borderColor:"theme",fontColor:"theme",boxShadow:"1.normal"},e.cellCheckedStyles)):e.tone=="border"?(e.cellStyles=o({paddingRight:1,border:"1.thin",isRounded:!0,backgroundColor:"layer.1"},e.cellStyles),e.cellCheckedStyles=o({borderColor:"theme",fontColor:"theme"},e.cellCheckedStyles)):e.tone=="cloud"&&(e.cellStyles=o({paddingRight:1,isRounded:!0,border:"1.thin",backgroundColor:"layer.2"},e.cellStyles),e.cellCheckedStyles=o({backgroundColor:"cloud",fontColor:"theme"},e.cellCheckedStyles)),e=ne(e),a(de,{componentID:e.componentID,children:T.OptionalListWrapper,states:e})),s=l;return s.Normal=e=>a(l,o({type:t,tone:"normal",icon:!1},e)),s.Border=e=>a(l,o({type:t,tone:"border"},e)),s.Cloud=e=>a(l,o({type:t,tone:"cloud"},e)),s},pe=A("checkbox"),Ce=A("radio"),te=A();export{pe as Checkbox,te as List,Ce as Radio,te as default};
1
+ import{b as o,c as p,d as P}from"../../chunk-C5N2D3ZX.js";import{jsx as a,jsxs as oe}from"react/jsx-runtime";import{useState as Y}from"react";import y from"@mingoo/jsmin";import{$$fromRoot as ae,GenerateHTMLProps as ne}from"../../@utils";import{Box as T,Flex as se,Label as ie,FAI as re}from"../../atoms";import Z from"../Button";import{OptionalInputWrapper as de,BoxWrapper as ce,CoreEffects as ee}from"./core";import ue from"./Hidden";import{InputListClasses as I}from"../../@styles/componentClasses";function me(t){let{value:l,states:s}=t,{type:e,required:u,minSelect:n=0}=s,i=[];return u&&(l.length||e=="radio"&&i.push({type:"invalid",label:"\u9078\u629E\u3055\u308C\u3066\u3044\u307E\u305B\u3093"})),n&&l.length<n&&i.push({type:"invalid",label:`${n}\u500B\u4EE5\u4E0A\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044`}),{ok:!i.filter(({type:d})=>d=="invalid").length,notice:i}}const L={OptionalListWrapper:t=>{let{value:l,options:s=[]}=t,e=y.is.exist(l)?y.flatArray(l):[],u=s.map(i=>{let{value:d,label:h}=i;return p(o({},i),{value:JSON.stringify(d),label:h})}),n=[];return e.forEach(i=>{let d=JSON.stringify(i);u.findIndex(D=>D.value==d)!=-1&&n.push(d)}),a(L.Core,p(o({},t),{value:n,options:u}))},Core:t=>{let R=t,{type:l,tone:s,required:e,componentID:u="",form:n,override:i,icon:d,iconType:h,CustomIcon:D,enableFormSubmit:M,checkValidationAtFirst:J,onValidate:w,onUpdateValue:g,onUpdateValidValue:_,value:B,options:W,className:k,cellStyles:$,cellClassName:X,cellCheckedStyles:q,cellCheckedClassName:H,minSelect:U,hideInput:z,freeCSS:F,wrapStyles:m}=R,x=P(R,["type","tone","required","componentID","form","override","icon","iconType","CustomIcon","enableFormSubmit","checkValidationAtFirst","onValidate","onUpdateValue","onUpdateValidValue","value","options","className","cellStyles","cellClassName","cellCheckedStyles","cellCheckedClassName","minSelect","hideInput","freeCSS","wrapStyles"]),S={componentID:u,dataValue:B,eventType:"init",eventID:y.uuid.gen()},[f,C]=Y(S),[v,K]=Y({ok:!1,notice:[]});return ee.CommonEffects({type:"list",states:t,val_status:f,set_status:C,val_validate:v,set_validate:K,onUpdateValue:g,onUpdateValidValue:_,DefaultValidation:me}),oe(ce,{val_status:f,set_status:C,val_validate:v,states:t,children:[a(ue,p(o({"data-value":JSON.stringify(f.dataValue),form:n,"data-input-type":l,"data-validation":v.ok},x),{componentID:f.componentID})),a(L.List,{rootStates:t,val_status:f,set_status:C})]})},List:t=>{let{rootStates:l,val_status:s,set_status:e}=t,{componentID:u,type:n,tone:i,icon:d=!0,options:h,name:D,form:M,tabIndex:J,hideInput:w,disabled:g,className:_,cellStyles:B,cellClassName:W="",cellCheckedStyles:k,cellCheckedClassName:$="",enableFormSubmit:X}=l,{dataValue:q}=s,H=l.CustomIcon,U=h.map((z,F)=>{let Q=z,{value:m,label:x,disabled:S,className:f="",checkedStyles:C,checkedClassName:v="",freeCSS:K}=Q,R=P(Q,["value","label","disabled","className","checkedStyles","checkedClassName","freeCSS"]),j=y.uuid.gen(),V=q.findIndex(r=>r===m)!=-1,b=o(o({},B),R),O=[I("Label"),W,f];V&&(b=p(o(o(o({},b),k),C),{freeCSS:o(o(o({},b==null?void 0:b.freeCSS),k==null?void 0:k.freeCSS),C==null?void 0:C.freeCSS)}),O=[...O,$,v]);const G=()=>{if(g||S)return;let r=[];if(n=="radio")r=[m];else if(n=="checkbox"||n=="checker")if(!V)r=[...s.dataValue,m];else{let c=[...s.dataValue];c.splice(s.dataValue.findIndex(E=>E==m),1),r=c}e(c=>p(o({},c),{dataValue:r,eventType:"update",eventID:y.uuid.gen()}))};return[a(T,{htmlTag:"input",type:n=="radio"?"radio":"checkbox",className:I("Input"),name:"RadioCheckbox-"+D,"data-list-index":u+"-"+F,id:j,value:String(m),"data-form-name":M,disabled:g||S,checked:V,onFocus:r=>{S||n=="radio"&&(s.dataValue.length||e(c=>p(o({},c),{dataValue:[m],eventType:"update",eventID:y.uuid.gen()})))},onChange:()=>{G()},onKeyDown:r=>{let{key:c,shiftKey:E}=r;if((n=="checkbox"||n=="checker")&&c!="Tab"){if(c.match(/Arrow/)){r.preventDefault();let le=["ArrowLeft","ArrowUp"].includes(c)?-1:1,N=F+le;N<0?N=h.length-1:N>=h.length&&(N=0),ae(`input[data-list-index="${u}-${N}"]`).focus()}}X&&ee.SubmitForm(r)},tabIndex:J},"List-"+JSON.stringify(m)),oe(ie,p(o({"data-disabled":g||S,htmlFor:j,className:O.join(" "),tabIndex:-1,display:"flex",verticalAlign:"center",gap:"1/6",flexWrap:!1},b),{children:[d&&a(H,{isChecked:V,toggle:()=>{G()}}),y.is.string(x)?a(T,{children:x}):x]}),"ListTrigger-"+JSON.stringify(m))]});return a(se,{flexSizing:"auto",style:l.style,freeCSS:o({},l.freeCSS),className:[_,I("CellBase"),I("HideInput_"+w),I("IconIndicator_"+!!d),I("Tone_"+i)].join(" "),children:U})},RadioIcon:t=>a(Z.Button.Normal.R,{ssPushable:!0,color:"cloud",tabIndex:-1,ssEffectsOnActive:"ripple.cloud",ssSphere:3,onClick:l=>{l.preventDefault(),l.stopPropagation(),t.toggle()},children:a(T,{ssSphere:1.5,border:"3.thick",borderWidth:2,borderColor:t.isChecked?"theme":"3.thick",position:"relative",transition:"middle",children:a(T,{position:"absolute",transition:"middle",isRounded:!0,backgroundColor:t.isChecked?"theme":"trans",opacity:t.isChecked?"max":"trans",freeCSS:{width:"60%",height:"60%",transform:t.isChecked?"scale(1)":"scale(.6)"}})})}),CheckboxIcon:t=>a(Z.Button.Normal.R,{ssPushable:!0,color:"cloud",tabIndex:-1,ssEffectsOnActive:"ripple.cloud",ssSphere:3,onClick:l=>{l.preventDefault(),l.stopPropagation(),t.toggle()},children:a(T,{ssSquare:1.5,flexCenter:!0,border:"3.thick",borderWidth:2,borderColor:t.isChecked?"theme":"3.thick",borderRadius:"3.tone.tertiary",position:"relative",backgroundColor:t.isChecked?"theme":"trans",transition:"middle",fontColor:"white",children:a(re.Check,{transition:"middle",opacity:t.isChecked?"max":"trans",freeCSS:{zIndex:8}})})})},A=t=>{t=t||"checkbox";const l=e=>(e=p(o({gap:"1/2",iconType:t=="radio"?"radio":"checkbox"},e),{type:t,cellStyles:o({position:"relative",borderRadius:"2.tone.secondary",transition:"middle"},e.cellStyles)}),e.CustomIcon||(e.iconType=="radio"?e.CustomIcon=L.RadioIcon:e.iconType=="checkbox"&&(e.CustomIcon=L.CheckboxIcon)),e.tone=="normal"?(e.cellStyles=o({padding:["1/4",1],border:"1.thin",isRounded:!0,backgroundColor:"layer.1"},e.cellStyles),e.cellCheckedStyles=o({borderColor:"theme",fontColor:"theme",boxShadow:"1.normal"},e.cellCheckedStyles)):e.tone=="border"?(e.cellStyles=o({paddingRight:1,border:"1.thin",isRounded:!0,backgroundColor:"layer.1"},e.cellStyles),e.cellCheckedStyles=o({borderColor:"theme",fontColor:"theme"},e.cellCheckedStyles)):e.tone=="cloud"&&(e.cellStyles=o({paddingRight:1,isRounded:!0,border:"1.thin",backgroundColor:"layer.2"},e.cellStyles),e.cellCheckedStyles=o({backgroundColor:"cloud",fontColor:"theme"},e.cellCheckedStyles)),e=ne(e),a(de,{componentID:e.componentID,children:L.OptionalListWrapper,states:e})),s=l;return s.Normal=e=>a(l,o({type:t,tone:"normal",icon:!1},e)),s.Border=e=>a(l,o({type:t,tone:"border"},e)),s.Cloud=e=>a(l,o({type:t,tone:"cloud"},e)),s},pe=A("checkbox"),Ce=A("radio"),te=A();export{pe as Checkbox,te as List,Ce as Radio,te as default};
@@ -1 +1 @@
1
- import{b as e,c as n,d as S}from"../../chunk-C5N2D3ZX.js";import{jsx as r}from"react/jsx-runtime";import V from"@mingoo/jsmin";import{useState as a}from"react";import{Radio as E}from"./List";import{InputSegmentedClasses as p}from"../../@styles/componentClasses";const R=t=>{let c=t,{__sys_segmented_type:o,tone:B,value:d,options:y,onUpdateValue:h,onUpdateValidValue:u,enableFormSubmit:M,checkValidationAtFirst:J,cellStyles:g,cellClassName:_,cellCheckedClassName:f,cellCheckedStyles:b,freeCSS:k,wrapStyles:L}=c,I=S(c,["__sys_segmented_type","tone","value","options","onUpdateValue","onUpdateValidValue","enableFormSubmit","checkValidationAtFirst","cellStyles","cellClassName","cellCheckedClassName","cellCheckedStyles","freeCSS","wrapStyles"]),[v]=a(V.uuid.gen()),[i,x]=a(d),[w,m]=a(i);return i!=d&&(x(d),m(d)),r(E,n(e({options:y,value:w,componentID:v,icon:!1,flexWrap:!1,borderRadius:"2.tone.secondary",position:"relative"},I),{freeCSS:e({whiteSpace:"nowrap"},k),cellStyles:e({flexCenter:!0,ssEffectsOnActive:"push"},g),cellCheckedStyles:e({},b),cellClassName:[_,p("Label"),p("Tone_"+o.replace(/\./ig,""))].join(" "),cellCheckedClassName:[f,p("Checked")].join(" "),tone:"custom",onUpdateValue:h,onUpdateValidValue:C=>{u&&u(C),o=="bottomline"&&m(C.value[0])}}))},s=t=>{let{__sys_segmented_type:o}=t;return o=o||"plain",o=="plain"&&(t=n(e({padding:"1/3",gap:"1/3",ssCardBox:!0,isRounded:!0},t),{cellStyles:e({isRounded:!0,padding:["1/2","3/4"],borderRadius:"inherit",position:"relative"},t.cellStyles),cellCheckedStyles:e({backgroundColor:"theme",boxShadow:"1.normal",fontColor:"white"},t.cellCheckedStyles)})),r(R,e({__sys_segmented_type:"plain"},t))},l=s;l.Cloud=t=>{let o=n(e({__sys_segmented_type:"cloud",padding:"1/3",gap:"1/3",backgroundColor:"cloud"},t),{cellStyles:e({padding:"3/4",borderRadius:"inherit",position:"relative"},t.cellStyles),cellCheckedStyles:e({boxShadow:"1.normal",backgroundColor:"theme",fontColor:"white"},t.cellCheckedStyles)});return r(s,e({},o))},l.CloudTheme=t=>{let o=e({backgroundColor:"theme.opa.few",fontColor:"theme",__sys_segmented_type:"cloud.theme"},t);return r(l.Cloud,e({},o))},l.CloudMono=t=>{let o=n(e({fontColor:"3.blur",__sys_segmented_type:"cloud.mono"},t),{cellCheckedStyles:e({backgroundColor:"layer.1",fontColor:"1.clear"},t.cellCheckedStyles)});return r(l.Cloud,e({},o))},l.Border=t=>{let o=n(e({backgroundColor:"layer.1",border:"2.normal",overflow:"hidden",gap:0,fontColor:"3.blur",ssLastChildLossBorder:"right",boxShadow:"0.min",__sys_segmented_type:"border"},t),{cellStyles:e({padding:["1/4","2/3"],borderRadius:0,borderRight:"2.normal"},t.cellStyles),cellCheckedStyles:e({backgroundColor:"theme.opa.few",fontColor:"theme"},t.cellCheckedStyles)});return r(s,e({},o))},l.BorderVivid=t=>{let o=n(e({border:!0,borderColor:"theme",__sys_segmented_type:"border.vivid"},t),{cellStyles:e({borderRight:!0,borderColor:"theme"},t.cellStyles),cellCheckedStyles:e({backgroundColor:"theme",fontColor:"white"},t.cellCheckedStyles)});return r(l.Border,e({},o))},l.Bottomline=t=>{let o=n(e({__sys_segmented_type:"bottomline",gap:0,fontColor:"3.blur"},t),{cellStyles:e({ssEffectsOnActive:"ripple.theme",borderRadius:0,padding:1},t.cellStyles),cellCheckedStyles:e({fontColor:"theme"},t.cellCheckedStyles)});return r(s,e({},o))};export{l as Segmented,l as default};
1
+ import{b as e,c as n,d as S}from"../../chunk-C5N2D3ZX.js";import{jsx as r}from"react/jsx-runtime";import V from"@mingoo/jsmin";import{useState as a}from"react";import{Radio as E}from"./List";import{InputSegmentedClasses as p}from"../../@styles/componentClasses";const R=t=>{let c=t,{__sys_segmented_type:o,tone:B,value:d,options:y,onUpdateValue:h,onUpdateValidValue:u,enableFormSubmit:M,checkValidationAtFirst:J,cellStyles:g,cellClassName:_,cellCheckedClassName:f,cellCheckedStyles:b,freeCSS:k,wrapStyles:L}=c,I=S(c,["__sys_segmented_type","tone","value","options","onUpdateValue","onUpdateValidValue","enableFormSubmit","checkValidationAtFirst","cellStyles","cellClassName","cellCheckedClassName","cellCheckedStyles","freeCSS","wrapStyles"]),[v]=a(V.uuid.gen()),[i,x]=a(d),[w,m]=a(i);return i!=d&&(x(d),m(d)),r(E,n(e({options:y,value:w,componentID:v,icon:!1,flexWrap:!1,borderRadius:"2.tone.secondary",position:"relative"},I),{freeCSS:e({whiteSpace:"nowrap"},k),cellStyles:e({flexCenter:!0,ssEffectsOnActive:"push"},g),cellCheckedStyles:e({},b),cellClassName:[_,p("Label"),p("Tone_"+o.replace(/\./ig,""))].join(" "),cellCheckedClassName:[f,p("Checked")].join(" "),tone:"custom",onUpdateValue:h,onUpdateValidValue:C=>{u&&u(C),o=="bottomline"&&m(C.value)}}))},s=t=>{let{__sys_segmented_type:o}=t;return o=o||"plain",o=="plain"&&(t=n(e({padding:"1/3",gap:"1/3",ssCardBox:!0,isRounded:!0},t),{cellStyles:e({isRounded:!0,padding:["1/2","3/4"],borderRadius:"inherit",position:"relative"},t.cellStyles),cellCheckedStyles:e({backgroundColor:"theme",boxShadow:"1.normal",fontColor:"white"},t.cellCheckedStyles)})),r(R,e({__sys_segmented_type:"plain"},t))},l=s;l.Cloud=t=>{let o=n(e({__sys_segmented_type:"cloud",padding:"1/3",gap:"1/3",backgroundColor:"cloud"},t),{cellStyles:e({padding:"3/4",borderRadius:"inherit",position:"relative"},t.cellStyles),cellCheckedStyles:e({boxShadow:"1.normal",backgroundColor:"theme",fontColor:"white"},t.cellCheckedStyles)});return r(s,e({},o))},l.CloudTheme=t=>{let o=e({backgroundColor:"theme.opa.few",fontColor:"theme",__sys_segmented_type:"cloud.theme"},t);return r(l.Cloud,e({},o))},l.CloudMono=t=>{let o=n(e({fontColor:"3.blur",__sys_segmented_type:"cloud.mono"},t),{cellCheckedStyles:e({backgroundColor:"layer.1",fontColor:"1.clear"},t.cellCheckedStyles)});return r(l.Cloud,e({},o))},l.Border=t=>{let o=n(e({backgroundColor:"layer.1",border:"2.normal",overflow:"hidden",gap:0,fontColor:"3.blur",ssLastChildLossBorder:"right",boxShadow:"0.min",__sys_segmented_type:"border"},t),{cellStyles:e({padding:["1/4","2/3"],borderRadius:0,borderRight:"2.normal"},t.cellStyles),cellCheckedStyles:e({backgroundColor:"theme.opa.few",fontColor:"theme"},t.cellCheckedStyles)});return r(s,e({},o))},l.BorderVivid=t=>{let o=n(e({border:!0,borderColor:"theme",__sys_segmented_type:"border.vivid"},t),{cellStyles:e({borderRight:!0,borderColor:"theme"},t.cellStyles),cellCheckedStyles:e({backgroundColor:"theme",fontColor:"white"},t.cellCheckedStyles)});return r(l.Border,e({},o))},l.Bottomline=t=>{let o=n(e({__sys_segmented_type:"bottomline",gap:0,fontColor:"3.blur"},t),{cellStyles:e({ssEffectsOnActive:"ripple.theme",borderRadius:0,padding:1},t.cellStyles),cellCheckedStyles:e({fontColor:"theme"},t.cellCheckedStyles)});return r(s,e({},o))};export{l as Segmented,l as default};
@@ -1 +1 @@
1
- import{b as l,c as h,d as V}from"../../chunk-C5N2D3ZX.js";import{jsx as e,jsxs as R}from"react/jsx-runtime";import{useState as g}from"react";import k from"@mingoo/jsmin";import d from"../../atoms/Box";import{Row as L}from"../../mols";import O from"../Button";import{OptionalInputWrapper as q,BoxWrapper as H,CoreEffects as x}from"./core";import{InputSwitchClasses as c}from"../../@styles/componentClasses";function P(t){let{value:I,states:a}=t,{required:y}=a,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 U=t=>{let S=t,{componentID:I,color:a="posi",required:y,form:n,id:r,enableFormSubmit:T,checkValidationAtFirst:W,onChange:b,onKeyDown:C,onValidate:A,onUpdateValue:B,onUpdateValidValue:_,value:m="",icon:v="",appearance:s="material"}=S,E=V(S,["componentID","color","required","form","id","enableFormSubmit","checkValidationAtFirst","onChange","onKeyDown","onValidate","onUpdateValue","onUpdateValidValue","value","icon","appearance"]),F={componentID:t.componentID||"",dataValue:m,eventType:"init",eventID:k.uuid.gen()},[o,f]=g(F),[p,w]=g({ok:!1,notice:[]}),u=!!o.dataValue;return x.CommonEffects({type:"switch",states:t,val_status:o,set_status:f,val_validate:p,set_validate:w,DefaultValidation:P,onUpdateValue:B,onUpdateValidValue:_,ExtraOverrideStates:{dataValue:m,formatValue:m}}),R(H,{val_status:o,set_status:f,val_validate:p,states:t,children:[e("input",l({type:"checkbox","data-form":n,"data-input-type":"switch","data-validation":p.ok,"data-component-id":o.componentID,"data-value":o.dataValue,checked:o.dataValue,className:c("Input"),id:r,onKeyDown:i=>{C&&C(i),T&&x.SubmitForm(i)},onChange:i=>{p.ok&&w({ok:!1,notice:[]}),f(N=>h(l({},N),{dataValue:i.target.checked,eventType:"update",eventID:k.uuid.gen()})),b&&b(i)}},E)),e(O.Label.Plain,{tabIndex:-1,htmlFor:r,padding:"1/3",transition:"middle",borderRadius:"1.tone.primary",className:c("Label"),children:e(d,h(l({},s=="applely"?{padding:"1/4",isRounded:!0,backgroundColor:u?a:"layer.5"}:{}),{children:R(L.Center,{unitHeight:2.5,position:"relative",freeCSS:{width:12*4.5},children:[s=="material"&&e(d,{position:"absolute",backgroundColor:u?a:"layer.5",isRounded:!0,unitHeight:1,transition:"middle",width:1,opacity:"middle",className:c("Bar")}),e(d,{position:"absolute",top:0,left:0,backgroundColor:s=="material"&&u?a:"white",transition:"middle",ssSphere:2.5,boxShadow:"1.remark",className:c("Dot"),children:v&&e(d,{transition:"middle",ssSquare:2,flexCenter:!0,fontColor:s=="applely"&&u?a:"white",children:v})})]})}))})]})},D=t=>(t=l({},t),t.color=t.color||"theme",e(q,{componentID:t.componentID,children:U,states:t}));export{D as Switch,D as default};
1
+ import{b as l,c as f,d as g}from"../../chunk-C5N2D3ZX.js";import{jsx as e,jsxs as T}from"react/jsx-runtime";import{useState as V}from"react";import k from"@mingoo/jsmin";import r from"../../atoms/Box";import{Row as H}from"../../mols";import O from"../Button";import{OptionalInputWrapper as q,BoxWrapper as M,CoreEffects as x}from"./core";import{InputSwitchClasses as m}from"../../@styles/componentClasses";function P(t){let{value:I,states:a}=t,{required:y}=a,n=[];return y&&!I&&n.push({type:"invalid",label:"ON\u306B\u306A\u3063\u3066\u3044\u307E\u305B\u3093"}),{ok:!n.filter(({type:s})=>s=="invalid").length,notice:n}}const U=t=>{let S=t,{componentID:I,color:a="posi",required:y,form:n,id:s,enableFormSubmit:R,checkValidationAtFirst:W,onChange:b,onKeyDown:C,onValidate:A,onUpdateValue:B,onUpdateValidValue:E,value:c="",icon:v="",appearance:p="material"}=S,_=g(S,["componentID","color","required","form","id","enableFormSubmit","checkValidationAtFirst","onChange","onKeyDown","onValidate","onUpdateValue","onUpdateValidValue","value","icon","appearance"]),F={componentID:t.componentID||"",dataValue:c,eventType:"init",eventID:k.uuid.gen()},[o,h]=V(F),[u,w]=V({ok:!1,notice:[]}),d=!!o.dataValue;return x.CommonEffects({type:"switch",states:t,val_status:o,set_status:h,val_validate:u,set_validate:w,DefaultValidation:P,onUpdateValue:B,onUpdateValidValue:E,ExtraOverrideStates:{dataValue:c,formatValue:c}}),T(M,{val_status:o,set_status:h,val_validate:u,states:t,children:[e(r,l({htmlTag:"input",type:"checkbox","data-form":n,"data-input-type":"switch","data-validation":u.ok,"data-component-id":o.componentID,"data-value":o.dataValue,checked:o.dataValue,className:m("Input"),id:s,onKeyDown:i=>{C&&C(i),R&&x.SubmitForm(i)},onChange:i=>{let{checked:N}=i.target;u.ok&&w({ok:!1,notice:[]}),h(L=>f(l({},L),{dataValue:N,eventType:"update",eventID:k.uuid.gen()})),b&&b(i)}},_)),e(O.Label.Plain,{tabIndex:-1,htmlFor:s,padding:"1/3",transition:"middle",borderRadius:"1.tone.primary",className:m("Label"),children:e(r,f(l({},p=="applely"?{padding:"1/4",isRounded:!0,backgroundColor:d?a:"layer.5"}:{}),{children:T(H.Center,{unitHeight:2.5,position:"relative",freeCSS:{width:12*4.5},children:[p=="material"&&e(r,{position:"absolute",backgroundColor:d?a:"layer.5",isRounded:!0,unitHeight:1,transition:"middle",width:1,opacity:"middle",className:m("Bar")}),e(r,{position:"absolute",top:0,left:0,backgroundColor:p=="material"&&d?a:"white",transition:"middle",ssSphere:2.5,boxShadow:"1.remark",className:m("Dot"),children:v&&e(r,{transition:"middle",ssSquare:2,flexCenter:!0,fontColor:p=="applely"&&d?a:"white",children:v})})]})}))})]})},D=t=>(t=l({},t),t.color=t.color||"theme",e(q,{componentID:t.componentID,children:U,states:t}));export{D as Switch,D as default};
@@ -1,3 +1,3 @@
1
- import{b as o,c as s,d as Y,e as ne}from"../../chunk-C5N2D3ZX.js";import{Fragment as ue,jsx as l,jsxs as U}from"react/jsx-runtime";import{useState as A,useEffect as G}from"react";import g from"@mingoo/jsmin";import{$$fromRoot as ve,useStore as Se,ExtractStyles as Ce,GenerateHTMLProps as le}from"../../@utils";import{Box as _,FAI as oe}from"../../atoms";import{Text as X}from"../../mols";import re from"../Button";import P from"../Tooltips";import{faEye as se}from"@fortawesome/free-solid-svg-icons/faEye";import{OptionalInputWrapper as Re,BoxWrapper as Te,CoreEffects as L,DefaultStyles as ye}from"./core";import{InputLabel as Ve}from"./Label";import{LeftIndicator as ke,RightIndicator as j}from".";const De={number:{reg:/^-?[0-9\.]+$/g,exist:!0,reason:"\u534A\u89D2\u6570\u5B57\u3067\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044"},katakana:{reg:/^[ァ-ヶー  ヲ-゚  ]*$/g,exist:!0,reason:"\u30AB\u30BF\u30AB\u30CA\u3067\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044"},"hankaku.katakana":{reg:/^[ヲ-゚  ]*$/g,exist:!0,reason:"\u534A\u89D2\u30AB\u30BF\u30AB\u30CA\u3067\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044"},digitNumber:{reg:/^-?[0-9\.]+$/g,exist:!0,reason:"\u534A\u89D2\u6570\u5B57\u3067\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044"},fileName:{reg:/[¥\/:*\?\"\'\|\.\s\n\r\<\>]/g,exist:!1,reason:"\u7A7A\u767D\u307E\u305F\u306F\u4E00\u90E8\u306E\u7279\u6B8A\u6587\u5B57\u306F\u4F7F\u7528\u3067\u304D\u307E\u305B\u3093"},creditCard:{reg:/^\d{14,16}$/g,exist:!0,reason:"14~16\u6841\u306E\u6570\u5B57\u3067\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044"},email:{reg:/^[A-Za-z0-9]{1}[A-Za-z0-9_.-]*@{1}[A-Za-z0-9_.-]+\.[A-Za-z0-9]+$/,exist:!0,reason:U(ue,{children:[l(_,{children:"\u25CB\u25CB\u25CB\u25CB@\u25CB\u25CB\u25CB\u25CB.\u25CB\u25CB\u25CB\u306E\u5F62\u5F0F\u3067\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044"}),l(_,{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:U(ue,{children:[l(_,{children:"0\u304B\u3089\u59CB\u307E\u308B\u756A\u53F7\u306E\u307F\u5165\u529B\u53EF\u80FD\u3067\u3059"}),l(_,{children:"9~12\u6841\u306E\u6570\u5B57\u3067\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044"}),l(_,{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"}},T={setSelection:e=>{let{id:a,restrict:r,val_status:t}=e,n=ve("#"+a)[0];if(n&&t.prevValue&&t.formatValue){let{formatValue:u,prevValue:c,caretFrom:i,caretTo:d}=t;if(r=="creditCard")u.length>=c.length&&i%5==0&&(i++,d++),n.setSelectionRange(i,d);else if(r=="postal")u.length==5&&c.length==3&&(i++,d++),n.setSelectionRange(i,d);else if(r=="digitNumber"){let h=u.length-c.length;h==2&&(i++,d++),h==-2&&(i--,d--),n.setSelectionRange(i,d)}}},Validation:{Default:e=>{let{value:a,states:r}=e,{restrict:t="text",maxLength:n,multiline:u,required:c}=r,i=[];if(u||(n=n||255),g.is.exist(n)&&a.length>=Number(n)&&i.push({type:"invalid",label:n+"\u5B57\u4EE5\u5185\u3067\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044"}),a){let d=T.Validation.Text(a,t);d.ok||i.push({type:"invalid",label:d.body})}else c&&i.push({type:"invalid",label:"\u5FC5\u9808\u9805\u76EE\u3067\u3059"});return{ok:!i.filter(({type:d})=>d=="invalid").length,notice:i}},Text:(e,a)=>{let r={ok:!0,body:""};return(()=>{let t=De[a];if(!t)return;let n=t.reason;if(t){let u=!!(+!!e.match(t.reg)^+!t.exist);r={ok:u,body:u?"":n}}})(),r},DataLeveling:e=>{let{restrict:a,value:r=""}=e,t=String(r),n=!1;if(["tel","number","digitNumber","test","postal","creditCard"].includes(a)&&(t=t.zen2hanNumber()),a=="katakana"&&(t=t.replace(/[^ァ-ヶー  ヲ-゚  ]/ig,"")),a=="hankaku.katakana"&&(t=t.replace(/[^ヲ-゚  ]/ig,"")),["postal","creditCard"].includes(a)&&(t=t.removeLetters()),["number","number.zeroStart","digitNumber"].includes(a)){let c=t[0]=="0";if(t){if(t!="-")if(t=="0-")t="-";else{t[0]=="-"&&(n=!0),t=t.replace(/[^0-9\.]/ig,"");let i=Number(t);i===0&&(n=!1),n&&(i=-1*i),g.is.exist(e.min)&&(i=Math.max(i,Number(e.min))),g.is.exist(e.max)&&(i=Math.min(i,Number(e.max))),t=String(Math.abs(i))}c&&t!="0"&&a=="number.zeroStart"&&(t="0"+t)}}let u=t;if(a=="digitNumber"){if(t&&t!="-"){let c=[];for(let i=t.length-1;i>=0;i--){c.unshift(t[i]);let d=t.length-1-i+1;i!=0&&d%3==0&&c.unshift(",")}u=c.join("")}}else a=="postal"?t.length>=4&&(u=t.clip(0,3)+"-"+t.clip(3)):a=="creditCard"&&(u=t.replace(/.{4}(?=.)/g,"$& "));return["number","digitNumber"].includes(a)&&n&&(t="-"+t,u="-"+u),{formatValue:u,dataValue:t}}}},Q={Shallow:e=>{let{rootStates:a,val_status:r}=e,t=r.dataValue||"";G(()=>{g.scope(()=>ne(void 0,null,function*(){if(!a.multiline)return;let h=g('[data-input-origin="'+r.componentID+'"]'),y=g('[data-input-shallow="'+r.componentID+'"]'),B=g('[data-input-min-height-value-shallow="'+r.componentID+'"]'),w=g('[data-input-max-height-value-shallow="'+r.componentID+'"]');if(!h[0]||!y[0]||!B[0]||!w[0])return;let m=y.position(),V=B.position(),k=w.position(),I=0;a.autoHeight&&(I=m.height),I=Math.max(I,V.height),I=Math.min(I,k.height),h[0].style.height=I+"px"}))},[t]);let n=t||a.label||a.placeholder||"";(!!t.match(/\n$/)||!t)&&(n+="T");let c="",i="";if(a.multiline){let h=a.minRows||1,y=a.maxRows||100;c=`
1
+ import{b as o,c as s,d as Y,e as ne}from"../../chunk-C5N2D3ZX.js";import{Fragment as se,jsx as l,jsxs as U}from"react/jsx-runtime";import{useState as A,useEffect as G}from"react";import g from"@mingoo/jsmin";import{$$fromRoot as Ie,useStore as ve,ExtractStyles as Te}from"../../@utils";import{Box as R,FAI as le}from"../../atoms";import{Text as X}from"../../mols";import oe from"../Button";import P from"../Tooltips";import{faEye as re}from"@fortawesome/free-solid-svg-icons/faEye";import{OptionalInputWrapper as Se,BoxWrapper as Ce,CoreEffects as L,DefaultStyles as Re}from"./core";import{InputLabel as ye}from"./Label";import{LeftIndicator as Ve,RightIndicator as j}from".";const we={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:U(se,{children:[l(R,{children:"\u25CB\u25CB\u25CB\u25CB@\u25CB\u25CB\u25CB\u25CB.\u25CB\u25CB\u25CB\u306E\u5F62\u5F0F\u3067\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044"}),l(R,{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:U(se,{children:[l(R,{children:"0\u304B\u3089\u59CB\u307E\u308B\u756A\u53F7\u306E\u307F\u5165\u529B\u53EF\u80FD\u3067\u3059"}),l(R,{children:"9~12\u6841\u306E\u6570\u5B57\u3067\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044"}),l(R,{children:"\u6570\u5B57\u306E\u307F\u5165\u529B\u53EF\u80FD\u3067\u3059"})]})},url:{reg:/^https?:\/\/[^\n\s]+(\.|\:)[^\n\s\.\:]+$/,exist:!0,reason:"URL\u5F62\u5F0F : http(s)://\u25EF\u25EF\u25EF\u25EF"},postal:{reg:/^\d{7}$/g,exist:!0,reason:"7\u6841\u306E\u6570\u5B57\u3067\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044"}},y={setSelection:e=>{let{id:a,restrict:r,val_status:t}=e,n=Ie("#"+a)[0];if(n&&t.prevValue&&t.formatValue){let{formatValue:u,prevValue:c,caretFrom:i,caretTo:d}=t;if(r=="creditCard")u.length>=c.length&&i%5==0&&(i++,d++),n.setSelectionRange(i,d);else if(r=="postal")u.length==5&&c.length==3&&(i++,d++),n.setSelectionRange(i,d);else if(r=="digitNumber"){let h=u.length-c.length;h==2&&(i++,d++),h==-2&&(i--,d--),n.setSelectionRange(i,d)}}},Validation:{Default:e=>{let{value:a,states:r}=e,{restrict:t="text",maxLength:n,multiline:u,required:c}=r,i=[];if(u||(n=n||255),g.is.exist(n)&&a.length>=Number(n)&&i.push({type:"invalid",label:n+"\u5B57\u4EE5\u5185\u3067\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044"}),a){let d=y.Validation.Text(a,t);d.ok||i.push({type:"invalid",label:d.body})}else c&&i.push({type:"invalid",label:"\u5FC5\u9808\u9805\u76EE\u3067\u3059"});return{ok:!i.filter(({type:d})=>d=="invalid").length,notice:i}},Text:(e,a)=>{let r={ok:!0,body:""};return(()=>{let t=we[a];if(!t)return;let n=t.reason;if(t){let u=!!(+!!e.match(t.reg)^+!t.exist);r={ok:u,body:u?"":n}}})(),r},DataLeveling:e=>{let{restrict:a,value:r=""}=e,t=String(r),n=!1;if(["tel","number","digitNumber","test","postal","creditCard"].includes(a)&&(t=t.zen2hanNumber()),a=="katakana"&&(t=t.replace(/[^ァ-ヶー  ヲ-゚  ]/ig,"")),a=="hankaku.katakana"&&(t=t.replace(/[^ヲ-゚  ]/ig,"")),["postal","creditCard"].includes(a)&&(t=t.removeLetters()),["number","number.zeroStart","digitNumber"].includes(a)){let c=t[0]=="0";if(t){if(t!="-")if(t=="0-")t="-";else{t[0]=="-"&&(n=!0),t=t.replace(/[^0-9\.]/ig,"");let i=Number(t);i===0&&(n=!1),n&&(i=-1*i),g.is.exist(e.min)&&(i=Math.max(i,Number(e.min))),g.is.exist(e.max)&&(i=Math.min(i,Number(e.max))),t=String(Math.abs(i))}c&&t!="0"&&a=="number.zeroStart"&&(t="0"+t)}}let u=t;if(a=="digitNumber"){if(t&&t!="-"){let c=[];for(let i=t.length-1;i>=0;i--){c.unshift(t[i]);let d=t.length-1-i+1;i!=0&&d%3==0&&c.unshift(",")}u=c.join("")}}else a=="postal"?t.length>=4&&(u=t.clip(0,3)+"-"+t.clip(3)):a=="creditCard"&&(u=t.replace(/.{4}(?=.)/g,"$& "));return["number","digitNumber"].includes(a)&&n&&(t="-"+t,u="-"+u),{formatValue:u,dataValue:t}}}},Q={Shallow:e=>{let{rootStates:a,val_status:r}=e,t=r.dataValue||"";G(()=>{g.scope(()=>ne(void 0,null,function*(){if(!a.multiline)return;let h=g('[data-input-origin="'+r.componentID+'"]'),V=g('[data-input-shallow="'+r.componentID+'"]'),B=g('[data-input-min-height-value-shallow="'+r.componentID+'"]'),N=g('[data-input-max-height-value-shallow="'+r.componentID+'"]');if(!h[0]||!V[0]||!B[0]||!N[0])return;let m=V.position(),w=B.position(),k=N.position(),I=0;a.autoHeight&&(I=m.height),I=Math.max(I,w.height),I=Math.min(I,k.height),h[0].style.height=I+"px"}))},[t]);let n=t||a.label||a.placeholder||"";(!!t.match(/\n$/)||!t)&&(n+="T");let c="",i="";if(a.multiline){let h=a.minRows||1,V=a.maxRows||100;c=`
2
2
  T`.repeat(h-1),i=`
3
- T`.repeat(y-1)}let d=Ce(a);return U(_,{position:"absolute",top:0,left:0,right:0,height:0,overflow:"hidden",opacity:"trans",freeCSS:{zIndex:3,pointerEvents:"none"},children:[l(X.Description,s(o({className:a.className},d),{position:"absolute",width:1,freeCSS:s(o({},d.freeCSS),{color:"orange"}),"data-input-shallow":r.componentID,children:l(_,{"data-input-value-shallow":r.componentID,children:n})})),l(X.Description,s(o({className:a.className},d),{position:"absolute",left:0,freeCSS:s(o({},d.freeCSS),{backgroundColor:"transparent",color:"blue"}),"data-input-min-height-value-shallow":r.componentID,children:c})),l(X.Description,s(o({className:a.className},d),{position:"absolute",right:0,freeCSS:s(o({},d.freeCSS),{backgroundColor:"transparent",color:"red"}),"data-input-max-height-value-shallow":r.componentID,children:i}))]})},InputBox:e=>{let{rootStates:a,val_validate:r,set_validate:t,val_status:n,set_status:u,val_focus:c,set_focus:i,val_isComposing:d,set_isComposing:h}=e;if(a.multiline)return null;let ae=a,{componentID:y,tone:B,required:w,restrict:m="text",form:V,autoComplete:k="off",autoCapitalize:I="off",minRows:N,maxRows:de,multiline:ee,autoHeight:K,enableFormSubmit:z,clearButton:me=!1,checkValidationAtFirst:te,onChange:O,onKeyDown:W,onValidate:pe,onUpdateValue:ce,onUpdateValidValue:fe,value:ge="",leftIndicator:xe,rightIndicator:b,leftIcon:he,rightIcon:Z,maxLength:C,min:E,max:H,label:Ne,wrapStyles:Fe}=ae,p=Y(ae,["componentID","tone","required","restrict","form","autoComplete","autoCapitalize","minRows","maxRows","multiline","autoHeight","enableFormSubmit","clearButton","checkValidationAtFirst","onChange","onKeyDown","onValidate","onUpdateValue","onUpdateValidValue","value","leftIndicator","rightIndicator","leftIcon","rightIcon","maxLength","min","max","label","wrapStyles"]),be=m=="password"||m=="concealed"?"password":"text",Ie=["number","digitNumber","creditCard"].includes(m)?"numeric":m=="email"?"email":"text";return l("input",s(o({type:be,inputMode:Ie,"data-disabled":a.disabled,"data-form":V,"data-input-type":"text","data-show-validation":L.isShowValidation(r,n,!!te),"data-validation":r.ok,"data-value":n.dataValue,"data-component-id":n.componentID,"data-input-origin":n.componentID,value:n.formatValue,autoComplete:k,autoCapitalize:I,onKeyDown:f=>{let{key:v,target:D}=f;{let R=D,{selectionStart:F,selectionEnd:M}=R,$=Number(F),ie=Number(M),q=n.formatValue[Number($)],J=n.formatValue[Number($)-1];v=="Delete"&&(m=="creditCard"&&q==" "||m=="postal"&&q=="-"||m=="digitNumber"&&q==",")&&(R.setSelectionRange($+1,ie+1),f.preventDefault()),v=="Backspace"&&(m=="creditCard"&&J==" "||m=="postal"&&J=="-"||m=="digitNumber"&&J==",")&&(R.setSelectionRange($-1,ie-1),f.preventDefault()),v=="Enter"||v=="Tab"}if(["number","digitNumber","creditCard"].includes(m)&&v=="Clear"&&u(R=>s(o({},R),{dataValue:"",formatValue:"",eventType:"update",eventID:g.uuid.gen()})),["number","digitNumber"].includes(m)&&["ArrowUp","ArrowDown"].includes(v)){let R=+(v=="ArrowUp")*2-1,F=String(Number(n.dataValue)+R);r.ok&&t({ok:!1,notice:[]}),u(M=>s(o(o({},M),T.Validation.DataLeveling({min:E,max:H,restrict:m,value:F})),{eventType:"update",eventID:g.uuid.gen()})),f.preventDefault()}W&&W(f),z&&L.SubmitForm(f)},onChange:f=>{let{value:v,selectionStart:D,selectionEnd:R}=f.target,F=T.Validation.DataLeveling({min:E,max:H,restrict:m,value:v});d&&(F.formatValue=v),F.formatValue!=n.formatValue&&(r.ok&&t({ok:!1,notice:[]}),u(M=>s(o(o({},M),F),{prevValue:n.formatValue,eventType:"update",eventID:g.uuid.gen(),caretFrom:Number(D),caretTo:Number(R)})),O&&O(f))}},le(p)),{onFocus:f=>{p!=null&&p.onFocus&&(p==null||p.onFocus(f)),i(!0)},onBlur:f=>{p!=null&&p.onBlur&&(p==null||p.onBlur(f)),i(!1)},onCompositionStart:f=>{p!=null&&p.onCompositionStart&&(p==null||p.onCompositionStart(f)),h(!0)},onCompositionEnd:f=>{if(p!=null&&p.onCompositionEnd&&(p==null||p.onCompositionEnd(f)),m=="text")return;let v=T.Validation.DataLeveling({min:E,max:H,restrict:m,value:n.formatValue});u(D=>s(o(o({},D),v),{prevValue:D.formatValue,eventType:"update",eventID:g.uuid.gen(),caretFrom:Number(D.formatValue.length+1),caretTo:Number(D.formatValue.length+1)})),h(!1)}}))},TextAreaBox:e=>{let{rootStates:a,val_focus:r,set_focus:t,val_validate:n,set_validate:u,val_status:c,set_status:i,isShallow:d}=e,Z=a,{componentID:h,tone:y,required:B,form:w,minRows:m,maxRows:V,multiline:k,autoHeight:I,enableFormSubmit:N,maxLength:de,checkValidationAtFirst:ee,onChange:K,onKeyDown:z,onValidate:me,onUpdateValue:te,onUpdateValidValue:O,value:W="",leftIndicator:pe,rightIndicator:ce,leftIcon:fe,rightIcon:ge,wrapStyles:xe}=Z,b=Y(Z,["componentID","tone","required","form","minRows","maxRows","multiline","autoHeight","enableFormSubmit","maxLength","checkValidationAtFirst","onChange","onKeyDown","onValidate","onUpdateValue","onUpdateValidValue","value","leftIndicator","rightIndicator","leftIcon","rightIcon","wrapStyles"]);return!a.multiline?null:l("textarea",s(o({"data-form":w,"data-input-type":"textarea","data-show-validation":L.isShowValidation(n,c,!!ee),"data-validation":n.ok,"data-value":c.dataValue,"data-input-origin":c.componentID,"data-component-id":c.componentID,value:c.dataValue},le(b)),{onFocus:C=>{b!=null&&b.onFocus&&(b==null||b.onFocus(C)),t(!0)},onBlur:C=>{b!=null&&b.onBlur&&(b==null||b.onBlur(C)),t(!1)},onKeyDown:C=>{z&&z(C),N&&L.SubmitForm(C)},onChange:C=>{let{value:E}=C.target;n.ok&&u({ok:!1,notice:[]}),i(H=>s(o({},H),{dataValue:E,eventType:"update",eventID:g.uuid.gen()})),K&&K(C)}}))}},we=e=>{let{componentID:a,restrict:r="text",onUpdateValue:t,onUpdateValidValue:n,value:u="",min:c,max:i}=e,d=s(o({componentID:a},T.Validation.DataLeveling({min:c,max:i,restrict:r,value:u})),{prevValue:"",eventType:"init",eventID:g.uuid.gen(),caretFrom:null,caretTo:null}),[h,y]=A(!1),[B,w]=A(!1),[m,V]=A(d),[k,I]=A({ok:!1,notice:[]}),N={rootStates:e,val_focus:h,set_focus:y,val_isComposing:B,set_isComposing:w,val_status:m,set_status:V,val_validate:k,set_validate:I};return L.CommonEffects({type:"textfield",states:e,val_status:m,set_status:V,val_validate:k,set_validate:I,onUpdateValue:t,onUpdateValidValue:n,DefaultValidation:T.Validation.Default,ExtraOverrideStates:o({},T.Validation.DataLeveling({min:c,max:i,restrict:r,value:u}))}),G(()=>{T.setSelection({id:e.id,restrict:r,val_status:m})},[m]),U(Te,{val_status:m,set_status:V,val_validate:k,states:N.rootStates,children:[l(Ve,{componentID:e.componentID,fontSize:e.fontSize,required:e.required,label:e.label,isActive:h||!!m.dataValue}),l(Q.Shallow,o({},N)),l(Q.InputBox,o({},N)),l(Q.TextAreaBox,o({},N))]})},S=e=>{e=o({autoHeight:!0,restrict:"text",fontSize:"2.normal"},e),e.rightIcon&&(e=o({paddingRight:3},e)),e.leftIcon&&(e=o({paddingLeft:3},e)),e.multiline?(e.minRows=e.minRows||5,e.maxRows=e.maxRows||20):(e.minRows=1,e.maxRows=1);let a=ye.Boxish(e);return l(Re,{componentID:e.componentID,children:we,states:a})},x=S;x.Validate=T.Validation.Text,x.Katakana=e=>l(S,s(o({},e),{restrict:"katakana",multiline:!1,autoHeight:!1})),x.HankakuKatakana=e=>l(S,s(o({},e),{restrict:"hankaku.katakana",multiline:!1,autoHeight:!1})),x.CreditCard=e=>l(S,s(o({},e),{restrict:"creditCard",multiline:!1,autoHeight:!1})),x.Tel=e=>l(S,s(o({},e),{restrict:"tel",placeholder:"xxx-xxxx-xxxx",multiline:!1,autoHeight:!1})),x.Number=e=>l(S,s(o({},e),{restrict:"number",multiline:!1,autoHeight:!1})),x.DigitNumber=e=>l(S,s(o({},e),{restrict:"digitNumber",multiline:!1,autoHeight:!1})),x.Email=e=>l(S,s(o({},e),{restrict:"email",multiline:!1,autoHeight:!1})),x.Url=e=>l(S,s(o({},e),{restrict:"url",multiline:!1,autoHeight:!1})),x.Postal=e=>{let[a]=A(g.uuid.gen());return G(()=>()=>{Se.delete(a)},[]),l(S,s(o({label:"\u90F5\u4FBF\u756A\u53F7"},e),{restrict:"postal",multiline:!1,autoHeight:!1,leftIndicator:l(ke,{children:"\u3012"})}))},x.Password=e=>l(S,s(o({label:"\u30D1\u30B9\u30EF\u30FC\u30C9",rightIndicator:l(j,{padding:0,children:l(re.Button.Normal.R,{padding:[0,1],fontColor:"theme",borderRadius:"inherit",backgroundColor:"inherit",flexCenter:!0,height:1,ssEffectsOnActive:["expand"],onMouseOver:a=>{P.open({parent:a.currentTarget,gravityPoint:24,padding:[1,0],content:l(P.Body,{children:"\u30D1\u30B9\u30EF\u30FC\u30C9\u3092\u8868\u793A"})})},tabIndex:-1,onClick:a=>{g(a.target).parent().parent().find("input").callback(r=>{let t=r[0];t.type=t.type==="password"?"text":"password"})},children:l(oe,{icon:se})})})},e),{restrict:"password",multiline:!1,autoHeight:!1})),x.Concealed=e=>l(S,s(o({label:"\u79D8\u5BC6\u9375",rightIndicator:l(j,{padding:0,children:l(re.Button.Normal.R,{padding:[0,1],fontColor:"theme",borderRadius:"inherit",backgroundColor:"inherit",flexCenter:!0,height:1,ssEffectsOnActive:["expand"],onMouseOver:a=>{P.open({parent:a.currentTarget,gravityPoint:24,padding:[1,0],content:l(P.Body,{children:"\u5024\u3092\u8868\u793A"})})},tabIndex:-1,onClick:a=>{g(a.target).parent().parent().parent().find("input").callback(r=>{let t=r[0];t.type=t.type==="password"?"text":"password"})},children:l(oe,{icon:se})})})},e),{restrict:"concealed",multiline:!1,autoHeight:!1})),x.Money={JPY:e=>l(x.DigitNumber,s(o({label:"\u91D1\u984D",rightIndicator:l(j,{children:"\u5186"})},e),{multiline:!1,autoHeight:!1}))};export{x as TextField,we as TextInput,x as default};
3
+ T`.repeat(V-1)}let d=Te(a);return U(R,{position:"absolute",top:0,left:0,right:0,height:0,overflow:"hidden",opacity:"trans",freeCSS:{zIndex:3,pointerEvents:"none"},children:[l(X.Description,s(o({className:a.className},d),{position:"absolute",width:1,freeCSS:s(o({},d.freeCSS),{color:"orange"}),"data-input-shallow":r.componentID,children:l(R,{"data-input-value-shallow":r.componentID,children:n})})),l(X.Description,s(o({className:a.className},d),{position:"absolute",left:0,freeCSS:s(o({},d.freeCSS),{backgroundColor:"transparent",color:"blue"}),"data-input-min-height-value-shallow":r.componentID,children:c})),l(X.Description,s(o({className:a.className},d),{position:"absolute",right:0,freeCSS:s(o({},d.freeCSS),{backgroundColor:"transparent",color:"red"}),"data-input-max-height-value-shallow":r.componentID,children:i}))]})},InputBox:e=>{let{rootStates:a,val_validate:r,set_validate:t,val_status:n,set_status:u,val_focus:c,set_focus:i,val_isComposing:d,set_isComposing:h}=e;if(a.multiline)return null;let ae=a,{componentID:V,tone:B,required:N,restrict:m="text",form:w,autoComplete:k="off",autoCapitalize:I="off",minRows:F,maxRows:ue,multiline:ee,autoHeight:K,enableFormSubmit:z,clearButton:de=!1,checkValidationAtFirst:te,onChange:O,onKeyDown:W,onValidate:me,onUpdateValue:pe,onUpdateValidValue:ce,value:fe="",leftIndicator:ge,rightIndicator:b,leftIcon:xe,rightIcon:Z,maxLength:S,min:E,max:H,label:De,wrapStyles:Ne}=ae,p=Y(ae,["componentID","tone","required","restrict","form","autoComplete","autoCapitalize","minRows","maxRows","multiline","autoHeight","enableFormSubmit","clearButton","checkValidationAtFirst","onChange","onKeyDown","onValidate","onUpdateValue","onUpdateValidValue","value","leftIndicator","rightIndicator","leftIcon","rightIcon","maxLength","min","max","label","wrapStyles"]),he=m=="password"||m=="concealed"?"password":"text",be=["number","digitNumber","creditCard"].includes(m)?"numeric":m=="email"?"email":"text";return l(R,s(o({htmlTag:"input",type:he,inputMode:be,"data-disabled":a.disabled,"data-form":w,"data-input-type":"text","data-show-validation":L.isShowValidation(r,n,!!te),"data-validation":r.ok,"data-value":n.dataValue,"data-component-id":n.componentID,"data-input-origin":n.componentID,value:n.formatValue,autoComplete:k,autoCapitalize:I,onKeyDown:f=>{let{key:v,target:D}=f;{let C=D,{selectionStart:_,selectionEnd:M}=C,$=Number(_),ie=Number(M),q=n.formatValue[Number($)],J=n.formatValue[Number($)-1];v=="Delete"&&(m=="creditCard"&&q==" "||m=="postal"&&q=="-"||m=="digitNumber"&&q==",")&&(C.setSelectionRange($+1,ie+1),f.preventDefault()),v=="Backspace"&&(m=="creditCard"&&J==" "||m=="postal"&&J=="-"||m=="digitNumber"&&J==",")&&(C.setSelectionRange($-1,ie-1),f.preventDefault()),v=="Enter"||v=="Tab"}if(["number","digitNumber","creditCard"].includes(m)&&v=="Clear"&&u(C=>s(o({},C),{dataValue:"",formatValue:"",eventType:"update",eventID:g.uuid.gen()})),["number","digitNumber"].includes(m)&&["ArrowUp","ArrowDown"].includes(v)){let C=+(v=="ArrowUp")*2-1,_=String(Number(n.dataValue)+C);r.ok&&t({ok:!1,notice:[]}),u(M=>s(o(o({},M),y.Validation.DataLeveling({min:E,max:H,restrict:m,value:_})),{eventType:"update",eventID:g.uuid.gen()})),f.preventDefault()}W&&W(f),z&&L.SubmitForm(f)},onChange:f=>{let{value:v,selectionStart:D,selectionEnd:C}=f.target,_=y.Validation.DataLeveling({min:E,max:H,restrict:m,value:v});d&&(_.formatValue=v),_.formatValue!=n.formatValue&&(r.ok&&t({ok:!1,notice:[]}),u(M=>s(o(o({},M),_),{prevValue:n.formatValue,eventType:"update",eventID:g.uuid.gen(),caretFrom:Number(D),caretTo:Number(C)})),O&&O(f))},width:1},p),{onFocus:f=>{p!=null&&p.onFocus&&(p==null||p.onFocus(f)),i(!0)},onBlur:f=>{p!=null&&p.onBlur&&(p==null||p.onBlur(f)),i(!1)},onCompositionStart:f=>{p!=null&&p.onCompositionStart&&(p==null||p.onCompositionStart(f)),h(!0)},onCompositionEnd:f=>{if(p!=null&&p.onCompositionEnd&&(p==null||p.onCompositionEnd(f)),m=="text")return;let v=y.Validation.DataLeveling({min:E,max:H,restrict:m,value:n.formatValue});u(D=>s(o(o({},D),v),{prevValue:D.formatValue,eventType:"update",eventID:g.uuid.gen(),caretFrom:Number(D.formatValue.length+1),caretTo:Number(D.formatValue.length+1)})),h(!1)}}))},TextAreaBox:e=>{let{rootStates:a,val_focus:r,set_focus:t,val_validate:n,set_validate:u,val_status:c,set_status:i,isShallow:d}=e,Z=a,{componentID:h,tone:V,required:B,form:N,minRows:m,maxRows:w,multiline:k,autoHeight:I,enableFormSubmit:F,maxLength:ue,checkValidationAtFirst:ee,onChange:K,onKeyDown:z,onValidate:de,onUpdateValue:te,onUpdateValidValue:O,value:W="",leftIndicator:me,rightIndicator:pe,leftIcon:ce,rightIcon:fe,wrapStyles:ge}=Z,b=Y(Z,["componentID","tone","required","form","minRows","maxRows","multiline","autoHeight","enableFormSubmit","maxLength","checkValidationAtFirst","onChange","onKeyDown","onValidate","onUpdateValue","onUpdateValidValue","value","leftIndicator","rightIndicator","leftIcon","rightIcon","wrapStyles"]);return!a.multiline?null:l(R,s(o({htmlTag:"textarea","data-form":N,"data-input-type":"textarea","data-show-validation":L.isShowValidation(n,c,!!ee),"data-validation":n.ok,"data-value":c.dataValue,"data-input-origin":c.componentID,"data-component-id":c.componentID,value:c.dataValue,width:1},b),{onFocus:S=>{b!=null&&b.onFocus&&(b==null||b.onFocus(S)),t(!0)},onBlur:S=>{b!=null&&b.onBlur&&(b==null||b.onBlur(S)),t(!1)},onKeyDown:S=>{z&&z(S),F&&L.SubmitForm(S)},onChange:S=>{let{value:E}=S.target;n.ok&&u({ok:!1,notice:[]}),i(H=>s(o({},H),{dataValue:E,eventType:"update",eventID:g.uuid.gen()})),K&&K(S)}}))}},ke=e=>{let{componentID:a,restrict:r="text",onUpdateValue:t,onUpdateValidValue:n,value:u="",min:c,max:i}=e,d=s(o({componentID:a},y.Validation.DataLeveling({min:c,max:i,restrict:r,value:u})),{prevValue:"",eventType:"init",eventID:g.uuid.gen(),caretFrom:null,caretTo:null}),[h,V]=A(!1),[B,N]=A(!1),[m,w]=A(d),[k,I]=A({ok:!1,notice:[]}),F={rootStates:e,val_focus:h,set_focus:V,val_isComposing:B,set_isComposing:N,val_status:m,set_status:w,val_validate:k,set_validate:I};return L.CommonEffects({type:"textfield",states:e,val_status:m,set_status:w,val_validate:k,set_validate:I,onUpdateValue:t,onUpdateValidValue:n,DefaultValidation:y.Validation.Default,ExtraOverrideStates:o({},y.Validation.DataLeveling({min:c,max:i,restrict:r,value:u}))}),G(()=>{y.setSelection({id:e.id,restrict:r,val_status:m})},[m]),U(Ce,{val_status:m,set_status:w,val_validate:k,states:F.rootStates,children:[l(ye,{componentID:e.componentID,fontSize:e.fontSize,required:e.required,label:e.label,isActive:h||!!m.dataValue}),l(Q.Shallow,o({},F)),l(Q.InputBox,o({},F)),l(Q.TextAreaBox,o({},F))]})},T=e=>{e=o({autoHeight:!0,restrict:"text",fontSize:"2.normal"},e),e.rightIcon&&(e=o({paddingRight:3},e)),e.leftIcon&&(e=o({paddingLeft:3},e)),e.multiline?(e.minRows=e.minRows||5,e.maxRows=e.maxRows||20):(e.minRows=1,e.maxRows=1);let a=Re.Boxish(e);return l(Se,{componentID:e.componentID,children:ke,states:a})},x=T;x.Validate=y.Validation.Text,x.Katakana=e=>l(T,s(o({},e),{restrict:"katakana",multiline:!1,autoHeight:!1})),x.HankakuKatakana=e=>l(T,s(o({},e),{restrict:"hankaku.katakana",multiline:!1,autoHeight:!1})),x.CreditCard=e=>l(T,s(o({},e),{restrict:"creditCard",multiline:!1,autoHeight:!1})),x.Tel=e=>l(T,s(o({},e),{restrict:"tel",placeholder:"xxx-xxxx-xxxx",multiline:!1,autoHeight:!1})),x.Number=e=>l(T,s(o({},e),{restrict:"number",multiline:!1,autoHeight:!1})),x.DigitNumber=e=>l(T,s(o({},e),{restrict:"digitNumber",multiline:!1,autoHeight:!1})),x.Email=e=>l(T,s(o({},e),{restrict:"email",multiline:!1,autoHeight:!1})),x.Url=e=>l(T,s(o({},e),{restrict:"url",multiline:!1,autoHeight:!1})),x.Postal=e=>{let[a]=A(g.uuid.gen());return G(()=>()=>{ve.delete(a)},[]),l(T,s(o({label:"\u90F5\u4FBF\u756A\u53F7"},e),{restrict:"postal",multiline:!1,autoHeight:!1,leftIndicator:l(Ve,{children:"\u3012"})}))},x.Password=e=>l(T,s(o({label:"\u30D1\u30B9\u30EF\u30FC\u30C9",rightIndicator:l(j,{padding:0,children:l(oe.Button.Normal.R,{padding:[0,1],fontColor:"theme",borderRadius:"inherit",backgroundColor:"inherit",flexCenter:!0,height:1,ssEffectsOnActive:["expand"],onMouseOver:a=>{P.open({parent:a.currentTarget,gravityPoint:24,padding:[1,0],content:l(P.Body,{children:"\u30D1\u30B9\u30EF\u30FC\u30C9\u3092\u8868\u793A"})})},tabIndex:-1,onClick:a=>{g(a.target).parent().parent().find("input").callback(r=>{let t=r[0];t.type=t.type==="password"?"text":"password"})},children:l(le,{icon:re})})})},e),{restrict:"password",multiline:!1,autoHeight:!1})),x.Concealed=e=>l(T,s(o({label:"\u79D8\u5BC6\u9375",rightIndicator:l(j,{padding:0,children:l(oe.Button.Normal.R,{padding:[0,1],fontColor:"theme",borderRadius:"inherit",backgroundColor:"inherit",flexCenter:!0,height:1,ssEffectsOnActive:["expand"],onMouseOver:a=>{P.open({parent:a.currentTarget,gravityPoint:24,padding:[1,0],content:l(P.Body,{children:"\u5024\u3092\u8868\u793A"})})},tabIndex:-1,onClick:a=>{g(a.target).parent().parent().parent().find("input").callback(r=>{let t=r[0];t.type=t.type==="password"?"text":"password"})},children:l(le,{icon:re})})})},e),{restrict:"concealed",multiline:!1,autoHeight:!1})),x.Money={JPY:e=>l(x.DigitNumber,s(o({label:"\u91D1\u984D",rightIndicator:l(j,{children:"\u5186"})},e),{multiline:!1,autoHeight:!1}))};export{x as TextField,ke as TextInput,x as default};
@@ -1 +1 @@
1
- import{a as ee,b as l,c as E,d as z}from"../../../chunk-C5N2D3ZX.js";import{Fragment as Ve,jsx as g,jsxs as ne}from"react/jsx-runtime";import{useState as A,useEffect as Y,useRef as me}from"react";import k from"@mingoo/jsmin";import{$$fromRoot as ue,Config as te,useStore as P,ExtractStyles as ce,GenerateHTMLProps as pe}from"../../../@utils";import{Box as q,FAI as de}from"../../../atoms";import{Text as fe}from"../../../mols";import ae from"../../Button";import re from"../../Tooltips";import{faClock as he}from"@fortawesome/free-solid-svg-icons/faClock";import{faCalendarAlt as ge}from"@fortawesome/free-solid-svg-icons/faCalendarAlt";import{OptionalInputWrapper as ye,BoxWrapper as ve,CoreEffects as K,DefaultStyles as De}from"../core";import{RightIcon as Ie}from"..";import Te from"../Hidden";import Se from"../Select";import{InputLabel as xe}from"../Label";import be from"./Picker";const F=" ~ ",ke={clock:{defaultValue:"--:--",format:/^\d{2}\D\d{2}$/,ranges:[{type:"hour",from:0,length:2},{type:"minute",from:3,length:2}],sets:1},date:{defaultValue:"----/--/--",format:/^\d{4}\D\d{2}\D\d{2}$/,ranges:[{type:"year",from:0,length:4},{type:"month",from:5,length:2},{type:"date",from:8,length:2}],sets:1},week:{defaultValue:"----\u5E74\u7B2C--\u9031",format:/^\d{4}\D\d{2}$/,ranges:[{type:"year",from:0,length:4,region:6},{type:"week",from:6,length:2,region:3}],sets:1},month:{defaultValue:"----\u5E74--\u6708",format:/^\d{4}\D\d{2}$/,ranges:[{type:"year",from:0,length:4},{type:"month",from:5,length:2,region:3}],sets:1},year:{defaultValue:"----\u5E74",format:/^\d{4}$/,ranges:[{type:"year",from:0,length:4,region:5}],sets:1},dates:{defaultValue:"----/--/--",format:/^\d{4}\D\d{2}\D\d{2}$/,ranges:[{type:"year",from:0,length:4},{type:"month",from:5,length:2},{type:"date",from:8,length:2,region:5},{type:"year",from:10+F.length,length:4},{type:"month",from:15+F.length,length:2},{type:"date",from:18+F.length,length:2}],sets:2},months:{defaultValue:"----\u5E74--\u6708",format:/^\d{4}\D\d{2}$/,ranges:[{type:"year",from:0,length:4},{type:"month",from:5,length:2,region:6},{type:"year",from:8+F.length,length:4},{type:"month",from:13+F.length,length:2,region:3}],sets:2},dateWareki:{defaultValue:"----\u5E74--\u6708--\u65E5",format:/^\d{4}\D\d{2}\D\d{2}$/,ranges:[{type:"dateWareki",from:0,length:4,region:5},{type:"month",from:5,length:2,region:3},{type:"date",from:8,length:2,region:3}],sets:1}},C={PeriodMargin:" ~ ",DataLeveling:e=>{let{restrict:n,value:y,era:t}=e,I=k.flatArray(y||""),{defaultValue:f,format:v,ranges:p,sets:a}=ke[n],m=[],o=n=="clock"?":":"/";for(let i=0;i<I.length;i++)I[i]=String(I[i]).replace(/\D/ig,o);for(let i=0;i<a;i++){let d=I[i]||"";if(!d.match(v))I[i]="",m.push(f);else{let b=f;d.split(/\D/).forEach((w,V)=>{if(V==0&&n=="dateWareki"){let T=Number(w);t!="year"&&(T>=2019?t=="reiwa"?T-=2018:t=="heisei"&&(T=31):T>=1989?t=="heisei"?T-=1988:t=="shouwa"&&(T=64):T>=1926?t=="shouwa"?T-=1925:t=="taisho"&&(T=15):T>=1912?t=="taisho"?T-=1911:t=="meiji"&&(T=45):T>=1868&&(T-=1867)),w=T.zeroEmbed(4)}b=b.replace(new RegExp("------------------".slice(0,w.length)),w)}),m.push(b)}}return{formatValue:m.join(F),dataValue:["dates","months"].includes(n)?I:I[0],ranges:p}},DefaultValidation:e=>{let{states:n}=e,{restrict:y,min:t,max:I,required:f}=n,v=[],p=k.flatArray(e.value),a={empty:!1,escalated:1,filled:!0,correct:!0,prohibited:!1};(()=>{let m=y=="clock"?":":"/";for(let o=0;o<p.length;o++)p[o]=String(p[o]).replace(/\D/ig,m);for(let o=0;o<p.length;o++){let i=p[o],d=p[o-1];i.removeLetters()||(a.empty=!0),o>0&&(a.escalated&=+(i>=d))}a.escalated&&(a.empty||(y.match(/clock/)?p.forEach(o=>{let[i,d]=o.split(/\D+/);!i||!d?a.filled=!1:(Number(i)>23||Number(d)>59)&&(a.correct=!1)}):y.match(/date/)?p.forEach(o=>{let[i,d,b]=o.split(/\D+/);if(!i||!d||!b)a.filled=!1;else{let w=k.Time(o);(!w.validate||o!=w.toFormatYMD())&&(a.correct=!1)}}):y.match(/week/)?p.forEach(o=>{let[i,d]=o.split(/\D+/);if(!i||!d)a.filled=!1;else{let b=k.Time(i+"/01/01").weekday,V=k.Time(i+"/01/0"+(7-b+1)).addWeek(Number(d)-1);i!=String(V.year)&&(a.correct=!1)}}):y.match(/month/)?p.forEach(o=>{let[i,d]=o.split(/\D+/);!i||!d?a.filled=!1:k.Time([i,d,"01"].join("/")).validate||(a.correct=!1)}):y.match(/year/),a.filled&&a.correct&&p.forEach(o=>{{let i=Number(String(o).replace(/\D/ig,""));if(t&&Number(String(t).replace(/\D/ig,""))>i&&(a.prohibited=!0),I){let d=Number(String(I).replace(/\D/ig,""));i>d&&(a.prohibited=!0)}}})))})();{let{empty:m,escalated:o,filled:i,correct:d,prohibited:b}=a;m&&f&&(v=[{type:"invalid",label:"\u5FC5\u9808\u9805\u76EE\u3067\u3059"}]),o||v.push({type:"invalid",label:"\u6642\u7CFB\u5217\u3092\u6B63\u3057\u304F\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044"}),d||v.push({type:"invalid",label:"\u7121\u52B9\u306A\u5024\u304C\u5165\u529B\u3055\u308C\u3066\u3044\u307E\u3059"}),i||v.push({type:"invalid",label:"\u6700\u5F8C\u307E\u3067\u5024\u3092\u57CB\u3081\u3066\u304F\u3060\u3055\u3044"}),b&&v.push({type:"invalid",label:ne(Ve,{children:[g(q,{children:"\u5165\u529B\u7BC4\u56F2\u304C\u5236\u9650\u3055\u308C\u3066\u3044\u307E\u3059"}),"[",t||"\u4E0B\u9650\u7121\u3057","] ~ [",I||"\u4E0A\u9650\u7121\u3057","]"]})})}return{ok:!v.filter(({type:m})=>m=="invalid").length,notice:v}},KeyDownEvent:e=>{let{val_era:n,restrict:y,event:t,val_status:I,set_status:f,val_focus:v,set_focus:p}=e,{key:a,shiftKey:m,ctrlKey:o,metaKey:i}=t,d=o||i,{selectionStart:b,selectionEnd:w}=t.target,{index:V,prevIndex:T}=v,{ranges:L,formatValue:X}=I,N=L.length-1;if(["Tab","ArrowLeft","ArrowRight"].includes(a)){let D=0;if(a=="Tab"){let s=+!m*2-1;if(D=v.index+s,D<0||D>N)return}else{let s=a=="ArrowLeft"?-1:a=="ArrowRight"?1:0;d||b==0&&w==String(I.formatValue).length?D=s==1?N:0:D=Math.max(0,Math.min(V+s,N))}p(s=>E(l({},s),{index:D,prevIndex:V})),t.preventDefault()}if(["Backspace","ArrowUp","ArrowDown","0","1","2","3","4","5","6","7","8","9"].includes(a)){t.preventDefault();let D=V;D=Math.max(D,0),D=Math.min(D,N);let{type:s,from:U,length:H}=L[D],M=X.slice(U,U+H),c;if(a=="Backspace")c="------".slice(0,H);else if(["ArrowUp","ArrowDown"].includes(a)){let R=a=="ArrowUp"?1:-1;M=M|0,c=M+R;let[r,u,S]=s=="dateWareki"?n=="year"?[0,2999,4]:n=="reiwa"?[1,2999,4]:n=="heisei"?[1,31,4]:n=="shouwa"?[1,64,4]:n=="taisho"?[1,15,4]:n=="meiji"?[1,45,4]:[0,0,0]:s=="minute"?[0,59,2]:s=="hour"?[0,23,2]:s=="date"?[1,31,2]:s=="week"?[1,53,2]:s=="month"?[1,12,2]:s=="year"?[0,2999,4]:[0,0,0];c>u?c=r:c<r&&(c=u),c=Number(c).zeroEmbed(S)}else if(["0","1","2","3","4","5","6","7","8","9"].includes(a)){let R=M|0,r=a,u=`${R}${r}`;if(T!=V&&(R=0,u="0"+r),s=="year"||s=="dateWareki"&&n=="year")Number(u)>1e4?c=r:c=u,(c|0)>1e3&&D++;else if(["hour","minute","date","week","month"].includes(s)||s=="dateWareki"&&n!="year"){let S=s=="dateWareki"?n=="reiwa"?100:n=="heisei"?31:n=="shouwa"?64:n=="taisho"?15:n=="meiji"?45:0:s=="minute"?59:s=="hour"?23:s=="date"?31:s=="week"?53:s=="month"?12:0;c=(u|0)>S?r:u,(Number(r)>Number(String(S)[0])||M=="0000".slice(0,String(S).length)&&(u!="0000".slice(0,String(S).length)||["minute","hour"].includes(s)&&T==V)||(u|0)>=ee(10,String(S).length-1))&&D++}s=="year"||s=="dateWareki"?c=(c|0).zeroEmbed(4):c=(c|0).zeroEmbed(2)}{let R=String(X).partReplace(U,String(c)),r=R.split(F).map(u=>u.replace(/(^\D|\D$)/,"").split(/\D+/).join(y=="clock"?":":"/").replace(/(^\D|\D$)/,""));if(y=="dateWareki"){let u=r[0].split(/\D/),[S,j,O]=u;u.length==3&&S&&(r=[[Number(S)-1+Number({year:1,reiwa:2019,heisei:1989,shouwa:1926,taisho:1912,meiji:1868}[n]),j,O].join("/")])}D=Math.max(D,0),D=Math.min(D,N),f(u=>E(l({},u),{dataValue:["dates","months"].includes(y)?r:r[0],formatValue:R,eventType:"update",eventID:k.uuid.gen()})),p(u=>E(l({},u),{index:D,prevIndex:u.index}))}}}},ie={picker:{launch:e=>{let n=e.tipsID||k.uuid.gen(),m=e,{onValueUpdate:y,min:t,max:I,era:f,restrict:v,defaultValue:p}=m,a=z(m,["onValueUpdate","min","max","era","restrict","defaultValue"]);re.open(E(l({gravityPoint:e.gravityPoint||24,tipsID:n,padding:0},a),{parent:a.parent,close_option:l({aroundClick:!0,parentBlur:!1},a.close_option),content:g(be,{restrict:v,min:t,max:I,era:f,defaultValue:p,tipsID:n,onValueUpdate:(o,i)=>{y(o,i)}})}))},remove:e=>{re.close(e)}}},Ee={Shallow:e=>{let{rootStates:n,val_status:y}=e,t=ce(n);return g(q,{position:"absolute",top:0,left:0,right:0,height:0,overflow:"hidden",opacity:"trans",freeCSS:{zIndex:3,pointerEvents:"none"},children:g(fe.Description,E(l({className:n.className},t),{position:"absolute",width:1,freeCSS:E(l({},t.freeCSS),{color:"orange"}),children:g(q,{"data-input-value-shallow":y.componentID,children:"A"})}))})}},we=e=>{let Q=e,{tone:n,required:y,restrict:t="clock",componentID:I,era:f,form:v,name:p,min:a,max:m,className:o,enableFormSubmit:i,checkValidationAtFirst:d,onKeyDown:b,onValidate:w,onUpdateValue:V,onUpdateValidValue:T,value:L="",leftIndicator:X,rightIndicator:N,leftIcon:D,rightIcon:s,freeCSS:U,wrapStyles:H}=Q,M=z(Q,["tone","required","restrict","componentID","era","form","name","min","max","className","enableFormSubmit","checkValidationAtFirst","onKeyDown","onValidate","onUpdateValue","onUpdateValidValue","value","leftIndicator","rightIndicator","leftIcon","rightIcon","freeCSS","wrapStyles"]),[c,R]=A(f),[r,u]=A(E(l({componentID:e.componentID||""},C.DataLeveling({restrict:t,value:L,era:c})),{eventType:"init",eventID:k.uuid.gen()})),[S,j]=A({ok:!1,notice:[]}),[O,B]=A({active:!1,index:0,prevIndex:-1}),oe={rootStates:e,val_status:r,set_status:u,val_validate:S,set_validate:j,val_era:c,set_era:R,val_focus:O,set_focus:B};K.CommonEffects({type:"time",states:e,val_status:r,set_status:u,val_validate:S,set_validate:j,onUpdateValue:V,onUpdateValidValue:T,DefaultValidation:C.DefaultValidation,ExtraOverrideStates:l({},C.DataLeveling({restrict:t,value:L,era:c}))});const G=me(!1);return Y(()=>{if(G.current){u(x=>l(l({},x),C.DataLeveling({restrict:t,value:x.dataValue,era:c})));let h=P.get("refreshEra_"+r.componentID);h&&h.refreshEra(c)}else G.current=!0},[c]),P.update({[r.componentID]:{openPicker:()=>{e.disabled||ie.picker.launch({parent:"#Picker-"+r.componentID,tipsID:"PickerTips-"+r.componentID,restrict:t,min:a,max:m,defaultValue:r.dataValue,era:c,onValueUpdate:(h,x)=>{u(W=>E(l(l({},W),C.DataLeveling({restrict:t,value:h,era:x})),{eventType:"update",eventID:k.uuid.gen()})),R(x)}})},resetEra:h=>{R(h),u(x=>E(l(l({},x),C.DataLeveling({restrict:t,value:"",era:c})),{eventType:"update",eventID:k.uuid.gen()}))}}}),Y(()=>{let{index:h,active:x}=O;if(x){h=Math.max(h,0),h=Math.min(h,r.ranges.length-1);let{from:W,length:$}=r.ranges[h],J=ue("#"+e.id)[0];J&&J.setSelectionRange(W,W+$)}},[O]),ne(ve,{val_status:r,set_status:u,val_validate:S,states:e,children:[g(Ee.Shallow,l({},oe)),g(xe,{componentID:e.componentID,fontSize:e.fontSize,required:e.required,label:e.label,isActive:!0}),g(Te,{name:p,"data-disabled":e.disabled,"data-input-type":"time","data-form":v,"data-validation":S.ok,componentID:r.componentID,"data-value":JSON.stringify(["dates","months"].includes(t)?!r.dataValue[0]||!r.dataValue[1]?null:r.dataValue:r.dataValue||null)}),te.get().isTouchDevice?g(ae.Button.Plain,{"data-show-validation":K.isShowValidation(S,r,!!d),"data-component-id":r.componentID,className:o,freeCSS:{textAlign:"left"},children:r.formatValue,onClick:h=>{let x=P.get(r.componentID);x&&x.openPicker(),h.stopPropagation()}}):g("input",l({type:"text",inputMode:"numeric","data-show-validation":K.isShowValidation(S,r,!!d),"data-input-origin":r.componentID,"data-disabled":e.disabled,"data-input-type":"time","data-form-name":v,value:r.formatValue,className:o,tabIndex:te.get().isTouchDevice?-1:0,onKeyDown:h=>{C.KeyDownEvent({restrict:t,event:h,val_era:c,val_status:r,set_status:u,val_focus:O,set_focus:B}),b&&b(h),i&&K.SubmitForm(h)},onKeyUp:h=>{h.key=="Tab"&&B(x=>E(l({},x),{active:!0}))},onClick:h=>{let x=h.target.selectionEnd,W=0;r.ranges.forEach(($,J)=>{let{from:Z,length:le,region:se}=$;Z<=x&&x<=Z+(se||le)&&(W=J)}),B($=>E(l({},$),{active:!0,index:W})),h.preventDefault()},onChange:()=>{}},M))]})},_={Origin:e=>{e=l({},e),e.rightIcon&&(e=l({paddingRight:3},e)),e.leftIcon&&(e=l({paddingLeft:3},e));let[n]=A(e.componentID||k.uuid.gen());if(e.componentID=n,k.is.nullish(e.rightIcon)){let y=(e.restrict||"").match(/clock/)?he:ge;e.rightIcon=g(Ie,{padding:0,children:g(ae.Button.Sub.R,{color:"cloud",border:"unset",ssSphere:2,fontColor:"theme",boxShadow:"0.normal",borderRadius:"3.tone.tertiary",flexCenter:!0,ssEffectsOnActive:"push",tabIndex:-1,id:"Picker-"+e.componentID,onClick:()=>{let t=P.get(e.componentID);t&&t.openPicker()},children:g(de,{icon:y})})})}return g(ye,{componentID:e.componentID,children:we,states:pe(De.Boxish(e))})},Clock:e=>g(_.Origin,l({restrict:"clock",era:"clock"},e)),Date:e=>g(_.Origin,l({restrict:"date"},e)),Week:e=>g(_.Origin,l({restrict:"week"},e)),Month:e=>g(_.Origin,l({restrict:"month"},e)),Year:e=>g(_.Origin,l({restrict:"year"},e)),DateWareki:e=>{e=l({},e);let[n]=A(e.componentID||k.uuid.gen());e.componentID=n;let{defaultEra:y="wareki"}=e,[t,I]=A((()=>{let f="year";if(y=="wareki"&&(f="reiwa",e.value)){let[v,p,a]=e.value.split(/\D/);if(v&&p&&a){let m=Number(v);m>=2019?(m-=2019,f="reiwa"):m>=1989?(m-=1989,f="heisei"):m>=1926?(m-=1926,f="shouwa"):m>=1912?(m-=1912,f="taisho"):m>=1868&&(m-=1868,f="meiji"),m+=1}}return f})());return Y(()=>{P.set({["refreshEra_"+n]:{refreshEra:f=>{I(f)}}})},[]),g(_.Origin,E(l({restrict:"dateWareki",leftIndicator:g(Se,{label:"\u5143\u53F7",emptySelect:!1,value:t,tone:e.tone,override:"force",flexCenter:!0,borderTopRightRadius:"2/3",borderBottomRightRadius:"2/3",height:1,freeCSS:{whiteSpace:"nowrap"},options:[{value:"year",label:"\u897F\u66A6"},{value:"reiwa",label:"\u4EE4\u548C"},{value:"heisei",label:"\u5E73\u6210"},{value:"shouwa",label:"\u662D\u548C"},{value:"taisho",label:"\u5927\u6B63"},{value:"meiji",label:"\u660E\u6CBB"}],onUpdateValidValue:({value:f,eventType:v})=>{I(f);let p=P.get(e.componentID);p&&p.resetEra&&p.resetEra(f)}})},e),{era:t}))},Periods:{Date:e=>g(_.Origin,l({restrict:"dates"},e)),Month:e=>g(_.Origin,l({restrict:"months"},e))},fn:ie};export{_ as Time,_ as default};
1
+ import{a as ee,b as l,c as E,d as Y}from"../../../chunk-C5N2D3ZX.js";import{Fragment as Ve,jsx as g,jsxs as ne}from"react/jsx-runtime";import{useState as A,useEffect as q,useRef as me}from"react";import k from"@mingoo/jsmin";import{$$fromRoot as ue,Config as te,useStore as P,ExtractStyles as ce,GenerateHTMLProps as pe}from"../../../@utils";import{Box as K,FAI as de}from"../../../atoms";import{Text as fe}from"../../../mols";import ae from"../../Button";import re from"../../Tooltips";import{faClock as he}from"@fortawesome/free-solid-svg-icons/faClock";import{faCalendarAlt as ge}from"@fortawesome/free-solid-svg-icons/faCalendarAlt";import{OptionalInputWrapper as ye,BoxWrapper as ve,CoreEffects as X,DefaultStyles as De}from"../core";import{RightIcon as Ie}from"..";import Te from"../Hidden";import Se from"../Select";import{InputLabel as xe}from"../Label";import be from"./Picker";const F=" ~ ",ke={clock:{defaultValue:"--:--",format:/^\d{2}\D\d{2}$/,ranges:[{type:"hour",from:0,length:2},{type:"minute",from:3,length:2}],sets:1},date:{defaultValue:"----/--/--",format:/^\d{4}\D\d{2}\D\d{2}$/,ranges:[{type:"year",from:0,length:4},{type:"month",from:5,length:2},{type:"date",from:8,length:2}],sets:1},week:{defaultValue:"----\u5E74\u7B2C--\u9031",format:/^\d{4}\D\d{2}$/,ranges:[{type:"year",from:0,length:4,region:6},{type:"week",from:6,length:2,region:3}],sets:1},month:{defaultValue:"----\u5E74--\u6708",format:/^\d{4}\D\d{2}$/,ranges:[{type:"year",from:0,length:4},{type:"month",from:5,length:2,region:3}],sets:1},year:{defaultValue:"----\u5E74",format:/^\d{4}$/,ranges:[{type:"year",from:0,length:4,region:5}],sets:1},dates:{defaultValue:"----/--/--",format:/^\d{4}\D\d{2}\D\d{2}$/,ranges:[{type:"year",from:0,length:4},{type:"month",from:5,length:2},{type:"date",from:8,length:2,region:5},{type:"year",from:10+F.length,length:4},{type:"month",from:15+F.length,length:2},{type:"date",from:18+F.length,length:2}],sets:2},months:{defaultValue:"----\u5E74--\u6708",format:/^\d{4}\D\d{2}$/,ranges:[{type:"year",from:0,length:4},{type:"month",from:5,length:2,region:6},{type:"year",from:8+F.length,length:4},{type:"month",from:13+F.length,length:2,region:3}],sets:2},dateWareki:{defaultValue:"----\u5E74--\u6708--\u65E5",format:/^\d{4}\D\d{2}\D\d{2}$/,ranges:[{type:"dateWareki",from:0,length:4,region:5},{type:"month",from:5,length:2,region:3},{type:"date",from:8,length:2,region:3}],sets:1}},C={PeriodMargin:" ~ ",DataLeveling:e=>{let{restrict:n,value:y,era:t}=e,I=k.flatArray(y||""),{defaultValue:f,format:v,ranges:p,sets:a}=ke[n],m=[],o=n=="clock"?":":"/";for(let i=0;i<I.length;i++)I[i]=String(I[i]).replace(/\D/ig,o);for(let i=0;i<a;i++){let d=I[i]||"";if(!d.match(v))I[i]="",m.push(f);else{let b=f;d.split(/\D/).forEach((w,V)=>{if(V==0&&n=="dateWareki"){let T=Number(w);t!="year"&&(T>=2019?t=="reiwa"?T-=2018:t=="heisei"&&(T=31):T>=1989?t=="heisei"?T-=1988:t=="shouwa"&&(T=64):T>=1926?t=="shouwa"?T-=1925:t=="taisho"&&(T=15):T>=1912?t=="taisho"?T-=1911:t=="meiji"&&(T=45):T>=1868&&(T-=1867)),w=T.zeroEmbed(4)}b=b.replace(new RegExp("------------------".slice(0,w.length)),w)}),m.push(b)}}return{formatValue:m.join(F),dataValue:["dates","months"].includes(n)?I:I[0],ranges:p}},DefaultValidation:e=>{let{states:n}=e,{restrict:y,min:t,max:I,required:f}=n,v=[],p=k.flatArray(e.value),a={empty:!1,escalated:1,filled:!0,correct:!0,prohibited:!1};(()=>{let m=y=="clock"?":":"/";for(let o=0;o<p.length;o++)p[o]=String(p[o]).replace(/\D/ig,m);for(let o=0;o<p.length;o++){let i=p[o],d=p[o-1];i.removeLetters()||(a.empty=!0),o>0&&(a.escalated&=+(i>=d))}a.escalated&&(a.empty||(y.match(/clock/)?p.forEach(o=>{let[i,d]=o.split(/\D+/);!i||!d?a.filled=!1:(Number(i)>23||Number(d)>59)&&(a.correct=!1)}):y.match(/date/)?p.forEach(o=>{let[i,d,b]=o.split(/\D+/);if(!i||!d||!b)a.filled=!1;else{let w=k.Time(o);(!w.validate||o!=w.toFormatYMD())&&(a.correct=!1)}}):y.match(/week/)?p.forEach(o=>{let[i,d]=o.split(/\D+/);if(!i||!d)a.filled=!1;else{let b=k.Time(i+"/01/01").weekday,V=k.Time(i+"/01/0"+(7-b+1)).addWeek(Number(d)-1);i!=String(V.year)&&(a.correct=!1)}}):y.match(/month/)?p.forEach(o=>{let[i,d]=o.split(/\D+/);!i||!d?a.filled=!1:k.Time([i,d,"01"].join("/")).validate||(a.correct=!1)}):y.match(/year/),a.filled&&a.correct&&p.forEach(o=>{{let i=Number(String(o).replace(/\D/ig,""));if(t&&Number(String(t).replace(/\D/ig,""))>i&&(a.prohibited=!0),I){let d=Number(String(I).replace(/\D/ig,""));i>d&&(a.prohibited=!0)}}})))})();{let{empty:m,escalated:o,filled:i,correct:d,prohibited:b}=a;m&&f&&(v=[{type:"invalid",label:"\u5FC5\u9808\u9805\u76EE\u3067\u3059"}]),o||v.push({type:"invalid",label:"\u6642\u7CFB\u5217\u3092\u6B63\u3057\u304F\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044"}),d||v.push({type:"invalid",label:"\u7121\u52B9\u306A\u5024\u304C\u5165\u529B\u3055\u308C\u3066\u3044\u307E\u3059"}),i||v.push({type:"invalid",label:"\u6700\u5F8C\u307E\u3067\u5024\u3092\u57CB\u3081\u3066\u304F\u3060\u3055\u3044"}),b&&v.push({type:"invalid",label:ne(Ve,{children:[g(K,{children:"\u5165\u529B\u7BC4\u56F2\u304C\u5236\u9650\u3055\u308C\u3066\u3044\u307E\u3059"}),"[",t||"\u4E0B\u9650\u7121\u3057","] ~ [",I||"\u4E0A\u9650\u7121\u3057","]"]})})}return{ok:!v.filter(({type:m})=>m=="invalid").length,notice:v}},KeyDownEvent:e=>{let{val_era:n,restrict:y,event:t,val_status:I,set_status:f,val_focus:v,set_focus:p}=e,{key:a,shiftKey:m,ctrlKey:o,metaKey:i}=t,d=o||i,{selectionStart:b,selectionEnd:w}=t.target,{index:V,prevIndex:T}=v,{ranges:L,formatValue:H}=I,N=L.length-1;if(["Tab","ArrowLeft","ArrowRight"].includes(a)){let D=0;if(a=="Tab"){let s=+!m*2-1;if(D=v.index+s,D<0||D>N)return}else{let s=a=="ArrowLeft"?-1:a=="ArrowRight"?1:0;d||b==0&&w==String(I.formatValue).length?D=s==1?N:0:D=Math.max(0,Math.min(V+s,N))}p(s=>E(l({},s),{index:D,prevIndex:V})),t.preventDefault()}if(["Backspace","ArrowUp","ArrowDown","0","1","2","3","4","5","6","7","8","9"].includes(a)){t.preventDefault();let D=V;D=Math.max(D,0),D=Math.min(D,N);let{type:s,from:U,length:z}=L[D],M=H.slice(U,U+z),c;if(a=="Backspace")c="------".slice(0,z);else if(["ArrowUp","ArrowDown"].includes(a)){let R=a=="ArrowUp"?1:-1;M=M|0,c=M+R;let[r,u,S]=s=="dateWareki"?n=="year"?[0,2999,4]:n=="reiwa"?[1,2999,4]:n=="heisei"?[1,31,4]:n=="shouwa"?[1,64,4]:n=="taisho"?[1,15,4]:n=="meiji"?[1,45,4]:[0,0,0]:s=="minute"?[0,59,2]:s=="hour"?[0,23,2]:s=="date"?[1,31,2]:s=="week"?[1,53,2]:s=="month"?[1,12,2]:s=="year"?[0,2999,4]:[0,0,0];c>u?c=r:c<r&&(c=u),c=Number(c).zeroEmbed(S)}else if(["0","1","2","3","4","5","6","7","8","9"].includes(a)){let R=M|0,r=a,u=`${R}${r}`;if(T!=V&&(R=0,u="0"+r),s=="year"||s=="dateWareki"&&n=="year")Number(u)>1e4?c=r:c=u,(c|0)>1e3&&D++;else if(["hour","minute","date","week","month"].includes(s)||s=="dateWareki"&&n!="year"){let S=s=="dateWareki"?n=="reiwa"?100:n=="heisei"?31:n=="shouwa"?64:n=="taisho"?15:n=="meiji"?45:0:s=="minute"?59:s=="hour"?23:s=="date"?31:s=="week"?53:s=="month"?12:0;c=(u|0)>S?r:u,(Number(r)>Number(String(S)[0])||M=="0000".slice(0,String(S).length)&&(u!="0000".slice(0,String(S).length)||["minute","hour"].includes(s)&&T==V)||(u|0)>=ee(10,String(S).length-1))&&D++}s=="year"||s=="dateWareki"?c=(c|0).zeroEmbed(4):c=(c|0).zeroEmbed(2)}{let R=String(H).partReplace(U,String(c)),r=R.split(F).map(u=>u.replace(/(^\D|\D$)/,"").split(/\D+/).join(y=="clock"?":":"/").replace(/(^\D|\D$)/,""));if(y=="dateWareki"){let u=r[0].split(/\D/),[S,j,O]=u;u.length==3&&S&&(r=[[Number(S)-1+Number({year:1,reiwa:2019,heisei:1989,shouwa:1926,taisho:1912,meiji:1868}[n]),j,O].join("/")])}D=Math.max(D,0),D=Math.min(D,N),f(u=>E(l({},u),{dataValue:["dates","months"].includes(y)?r:r[0],formatValue:R,eventType:"update",eventID:k.uuid.gen()})),p(u=>E(l({},u),{index:D,prevIndex:u.index}))}}}},ie={picker:{launch:e=>{let n=e.tipsID||k.uuid.gen(),m=e,{onValueUpdate:y,min:t,max:I,era:f,restrict:v,defaultValue:p}=m,a=Y(m,["onValueUpdate","min","max","era","restrict","defaultValue"]);re.open(E(l({gravityPoint:e.gravityPoint||24,tipsID:n,padding:0},a),{parent:a.parent,close_option:l({aroundClick:!0,parentBlur:!1},a.close_option),content:g(be,{restrict:v,min:t,max:I,era:f,defaultValue:p,tipsID:n,onValueUpdate:(o,i)=>{y(o,i)}})}))},remove:e=>{re.close(e)}}},Ee={Shallow:e=>{let{rootStates:n,val_status:y}=e,t=ce(n);return g(K,{position:"absolute",top:0,left:0,right:0,height:0,overflow:"hidden",opacity:"trans",freeCSS:{zIndex:3,pointerEvents:"none"},children:g(fe.Description,E(l({className:n.className},t),{position:"absolute",width:1,freeCSS:E(l({},t.freeCSS),{color:"orange"}),children:g(K,{"data-input-value-shallow":y.componentID,children:"A"})}))})}},we=e=>{let Q=e,{tone:n,required:y,restrict:t="clock",componentID:I,era:f,form:v,name:p,min:a,max:m,className:o,enableFormSubmit:i,checkValidationAtFirst:d,onKeyDown:b,onValidate:w,onUpdateValue:V,onUpdateValidValue:T,value:L="",leftIndicator:H,rightIndicator:N,leftIcon:D,rightIcon:s,freeCSS:U,wrapStyles:z}=Q,M=Y(Q,["tone","required","restrict","componentID","era","form","name","min","max","className","enableFormSubmit","checkValidationAtFirst","onKeyDown","onValidate","onUpdateValue","onUpdateValidValue","value","leftIndicator","rightIndicator","leftIcon","rightIcon","freeCSS","wrapStyles"]),[c,R]=A(f),[r,u]=A(E(l({componentID:e.componentID||""},C.DataLeveling({restrict:t,value:L,era:c})),{eventType:"init",eventID:k.uuid.gen()})),[S,j]=A({ok:!1,notice:[]}),[O,B]=A({active:!1,index:0,prevIndex:-1}),oe={rootStates:e,val_status:r,set_status:u,val_validate:S,set_validate:j,val_era:c,set_era:R,val_focus:O,set_focus:B};X.CommonEffects({type:"time",states:e,val_status:r,set_status:u,val_validate:S,set_validate:j,onUpdateValue:V,onUpdateValidValue:T,DefaultValidation:C.DefaultValidation,ExtraOverrideStates:l({},C.DataLeveling({restrict:t,value:L,era:c}))});const G=me(!1);return q(()=>{if(G.current){u(x=>l(l({},x),C.DataLeveling({restrict:t,value:x.dataValue,era:c})));let h=P.get("refreshEra_"+r.componentID);h&&h.refreshEra(c)}else G.current=!0},[c]),P.update({[r.componentID]:{openPicker:()=>{e.disabled||ie.picker.launch({parent:"#Picker-"+r.componentID,tipsID:"PickerTips-"+r.componentID,restrict:t,min:a,max:m,defaultValue:r.dataValue,era:c,onValueUpdate:(h,x)=>{u(W=>E(l(l({},W),C.DataLeveling({restrict:t,value:h,era:x})),{eventType:"update",eventID:k.uuid.gen()})),R(x)}})},resetEra:h=>{R(h),u(x=>E(l(l({},x),C.DataLeveling({restrict:t,value:"",era:c})),{eventType:"update",eventID:k.uuid.gen()}))}}}),q(()=>{let{index:h,active:x}=O;if(x){h=Math.max(h,0),h=Math.min(h,r.ranges.length-1);let{from:W,length:$}=r.ranges[h],J=ue("#"+e.id)[0];J&&J.setSelectionRange(W,W+$)}},[O]),ne(ve,{val_status:r,set_status:u,val_validate:S,states:e,children:[g(Ee.Shallow,l({},oe)),g(xe,{componentID:e.componentID,fontSize:e.fontSize,required:e.required,label:e.label,isActive:!0}),g(Te,{name:p,"data-disabled":e.disabled,"data-input-type":"time","data-form":v,"data-validation":S.ok,componentID:r.componentID,"data-value":JSON.stringify(["dates","months"].includes(t)?!r.dataValue[0]||!r.dataValue[1]?null:r.dataValue:r.dataValue||null)}),te.get().isTouchDevice?g(ae.Button.Plain,{"data-show-validation":X.isShowValidation(S,r,!!d),"data-component-id":r.componentID,className:o,freeCSS:{textAlign:"left"},children:r.formatValue,onClick:h=>{let x=P.get(r.componentID);x&&x.openPicker(),h.stopPropagation()}}):g(K,l({htmlTag:"input",type:"text",inputMode:"numeric","data-show-validation":X.isShowValidation(S,r,!!d),"data-input-origin":r.componentID,"data-disabled":e.disabled,"data-input-type":"time","data-form-name":v,value:r.formatValue,className:o,tabIndex:te.get().isTouchDevice?-1:0,onKeyDown:h=>{C.KeyDownEvent({restrict:t,event:h,val_era:c,val_status:r,set_status:u,val_focus:O,set_focus:B}),b&&b(h),i&&X.SubmitForm(h)},onKeyUp:h=>{h.key=="Tab"&&B(x=>E(l({},x),{active:!0}))},onClick:h=>{let x=h.target.selectionEnd,W=0;r.ranges.forEach(($,J)=>{let{from:Z,length:le,region:se}=$;Z<=x&&x<=Z+(se||le)&&(W=J)}),B($=>E(l({},$),{active:!0,index:W})),h.preventDefault()},onChange:()=>{}},M))]})},_={Origin:e=>{e=l({},e),e.rightIcon&&(e=l({paddingRight:3},e)),e.leftIcon&&(e=l({paddingLeft:3},e));let[n]=A(e.componentID||k.uuid.gen());if(e.componentID=n,k.is.nullish(e.rightIcon)){let y=(e.restrict||"").match(/clock/)?he:ge;e.rightIcon=g(Ie,{padding:0,children:g(ae.Button.Sub.R,{color:"cloud",border:"unset",ssSphere:2,fontColor:"theme",boxShadow:"0.normal",borderRadius:"3.tone.tertiary",flexCenter:!0,ssEffectsOnActive:"push",tabIndex:-1,id:"Picker-"+e.componentID,onClick:()=>{let t=P.get(e.componentID);t&&t.openPicker()},children:g(de,{icon:y})})})}return g(ye,{componentID:e.componentID,children:we,states:pe(De.Boxish(e))})},Clock:e=>g(_.Origin,l({restrict:"clock",era:"clock"},e)),Date:e=>g(_.Origin,l({restrict:"date"},e)),Week:e=>g(_.Origin,l({restrict:"week"},e)),Month:e=>g(_.Origin,l({restrict:"month"},e)),Year:e=>g(_.Origin,l({restrict:"year"},e)),DateWareki:e=>{e=l({},e);let[n]=A(e.componentID||k.uuid.gen());e.componentID=n;let{defaultEra:y="wareki"}=e,[t,I]=A((()=>{let f="year";if(y=="wareki"&&(f="reiwa",e.value)){let[v,p,a]=e.value.split(/\D/);if(v&&p&&a){let m=Number(v);m>=2019?(m-=2019,f="reiwa"):m>=1989?(m-=1989,f="heisei"):m>=1926?(m-=1926,f="shouwa"):m>=1912?(m-=1912,f="taisho"):m>=1868&&(m-=1868,f="meiji"),m+=1}}return f})());return q(()=>{P.set({["refreshEra_"+n]:{refreshEra:f=>{I(f)}}})},[]),g(_.Origin,E(l({restrict:"dateWareki",leftIndicator:g(Se,{label:"\u5143\u53F7",emptySelect:!1,value:t,tone:e.tone,override:"force",flexCenter:!0,borderTopRightRadius:"2/3",borderBottomRightRadius:"2/3",height:1,freeCSS:{whiteSpace:"nowrap"},options:[{value:"year",label:"\u897F\u66A6"},{value:"reiwa",label:"\u4EE4\u548C"},{value:"heisei",label:"\u5E73\u6210"},{value:"shouwa",label:"\u662D\u548C"},{value:"taisho",label:"\u5927\u6B63"},{value:"meiji",label:"\u660E\u6CBB"}],onUpdateValidValue:({value:f,eventType:v})=>{I(f);let p=P.get(e.componentID);p&&p.resetEra&&p.resetEra(f)}})},e),{era:t}))},Periods:{Date:e=>g(_.Origin,l({restrict:"dates"},e)),Month:e=>g(_.Origin,l({restrict:"months"},e))},fn:ie};export{_ as Time,_ as default};
package/dist/fn/Sheet.js CHANGED
@@ -1 +1 @@
1
- import{b as m,c as I,d as $}from"../chunk-C5N2D3ZX.js";import{jsx as l,jsxs as V}from"react/jsx-runtime";import n from"@mingoo/jsmin";import{useState as O,useEffect as W,useRef as re}from"react";import{$$fromRoot as H,Config as Y,useStore as T}from"../@utils";import{Box as E,Flex as ne,Img as q,FAI as ae,Column as K}from"../atoms";import{Row as Z}from"../mols";import ee from"./Button";import se from"./SwipeView";import ie from"./Input";import{SheetClasses as i}from"../@styles/componentClasses";const y={currentIndex:0,contents:{},addNewSheet:function(t){let e=I(m({sheetGroups:t.sheetGroups||[],backgroundEffect:!0,overwrap:t.type=="custom",hold_state:!1,isOpen:!0},t),{sheetID:t.sheetID||n.uuid.gen(),close_option:m({pageTransit:!0,escapeKeyDown:!0,aroundClick:t.type=="custom"},t.close_option)});if(e.type=="custom"&&(e.parent=e.parent||e.event.currentTarget),this.contents[e.sheetID]){let s=T.get(e.sheetID);s&&s.refresh&&s.refresh(e,!0);return}this.contents[e.sheetID]={isOpen:!0,hold_state:!!e.hold_state,p:e,created_at:n.Time()};let a=T.get("Sheet-"+Y.get().sessionUID);a&&a.refresh()},Wrapper:()=>{let[t,e]=O(n.uuid.gen());W(()=>{T.set({["Sheet-"+Y.get().sessionUID]:{refresh:()=>{e(n.uuid.gen())}}}),n(Y.get().appRoot).addEvent({eventType:"keyup",eventID:"SheetEvent.keyUp",callback:function(s){let{key:p,metaKey:c}=s;if(p=="Escape"||p==","&&c){let h=Object.values(y.contents).filter(d=>d.isOpen);if(!h.length)return;let o=h.reduce((d,w)=>d.created_at.value>w.created_at.value?d:w);M.close(o.p.sheetID,p)}}}).addEvent({eventType:"click",eventID:"SheetEvent.Click",callback:function(s){let p=Object.values(y.contents).filter(o=>o.p.type=="custom");if(!p.length||!!p.find(o=>{let{p:d}=o,w=d.parent,x=s.target,B=H(w)[0];return!!(w==x||B===x||n(B).find(x).length)}))return;let h=s.target;h!=null&&h.closest("."+i("CustomSheet"))||p.forEach(o=>{var d;(d=o.p.close_option)!=null&&d.aroundClick&&M.close(o.p.sheetID)})}})},[]);let a=Object.entries(y.contents).map(([s,p])=>l(E,{id:"Sheet-"+s,children:l(y.Core,m({isOpen:p.isOpen},p.p),s)},s));return l(E,{className:["AMOTIFY_be",i("Wrapper")].join(" "),children:a})},Core:t=>{var G;let[e]=O(n.uuid.gen()),[a,s]=O(t),[p,c]=O(t.isOpen),{type:h,sheetID:o,openAfter:d,closeAfter:w}=a,x=!a.overwrap,B=y.Types[{"normal.topLeft":"Normal","normal.topCenter":"Normal","normal.topRight":"Normal","normal.middleLeft":"Normal","normal.middleCenter":"Normal","normal.middleRight":"Normal","normal.bottomLeft":"Normal","normal.bottomCenter":"Normal","normal.bottomRight":"Normal",image:"Normal","drawer.left":"Edge","drawer.right":"Edge","drawer.bottom":"Bottom",custom:"Custom"}[h]];W(()=>{T.set({[o]:{refresh:(f,r)=>{s(f),c(r!=null?r:!1)},resize:f=>{if(h=="drawer.bottom"){let r=T.get(e);r&&r.resize&&r.resize(f)}else(a.type.includes("normal")||a.type.includes("drawer"))&&s(r=>I(m({},r),{size:f}))},close:f=>{y.contents[o].isOpen=!1,c(!1)},open:()=>{y.contents[o].isOpen=!0,c(!0)}}})}),W(()=>{n.scope(()=>{if(!x||!a.backgroundEffect)return;let f=Object.values(y.contents).filter(b=>b.isOpen&&!b.p.overwrap&&b.p.type!="custom").length,r=H(".AMOTIFY_be_root");if(p){if(r.hasClass(i("FixScroll")))return;let b=n("html"),C=0;f==1&&(C=b[0].scrollTop|0,s(v=>I(m({},v),{bodyScrolls:C}))),Y.get().isPhone||(b[0].scrollTop=0,r.addClass(i("FixScroll")).callback(v=>{v[0].scrollTop=C}).await(40).addClass(i("Float")));return}Y.get().isPhone||f==0&&r.hasClass(i("FixScroll"))&&r.removeClass(i("Float")).await(251).removeClass(i("FixScroll")).callback(()=>{n("html")[0].scrollTop=a.bodyScrolls||0,r[0].scrollTop=0})}),n.scope(()=>{let f=H("#"+e);if(p){f.await(10).removeClass(i("Hide")).await(10).addClass(i("Open")).callback(()=>{let r=y.contents[o];r&&(r.isOpen=!0,d&&d())});return}f.await(10).removeClass(i("Open")).await(251).addClass(i("Hide")).callback(()=>{!w||w();let r=y.contents[o];if(!r||(r.isOpen=!1,a.hold_state))return;delete y.contents[o];let b=T.get("Sheet-"+Y.get().sessionUID);b&&b.refresh()})})},[p]),W(()=>{y.currentIndex++;let{close_option:f}=a;n.scope(()=>{if(!(f!=null&&f.parentBlur))return;let r=n(a.parent);r[0]&&r.addEvent({eventID:"SheetClosation-"+o,eventType:"mouseout",callback:()=>{r.removeEvent("SheetClosation-"+o),c(!1)}})})},[]);let[_,F]=h.split(".");return l(E,{className:[i("Wrap"),i("Tcate_"+_),i("Tpos_"+F),i("isNewSheet_"+x)].join(" "),width:1,height:0,ssAbsoluteCovered:!0,freeCSS:{zIndex:y.currentIndex+1},id:e,children:V(K,{className:i("Content"),gap:0,height:"viewHeight",overflow:"auto",transition:"middle",children:[!!x&&l(y.TapSensor,{sheetID:o,delegateAroundClick:(G=a.close_option)==null?void 0:G.aroundClick}),l(B,m({componentID:e},a))]})},e)},Types:{Normal:t=>{let N=t,{sheetID:e,sheetGroups:a,bodyScrolls:s,content:p,className:c="",type:h,size:o="R",freeCSS:d,openAfter:w,closeAfter:x,close_option:B,hold_state:_,overwrap:F,isOpen:G,backgroundEffect:f}=N,r=$(N,["sheetID","sheetGroups","bodyScrolls","content","className","type","size","freeCSS","openAfter","closeAfter","close_option","hold_state","overwrap","isOpen","backgroundEffect"]),[b,C]=h.split("."),v={},k=[];return C.match(/top/)?(k.push("top"),v.marginBottom="auto"):C.match(/middle/)?(k.push("center"),v.marginTop="auto",v.marginBottom="auto"):C.match(/bottom/)&&(k.push("bottom"),v.marginTop="auto"),C.match(/left/i)?(k.push("left"),v.marginRight="auto"):C.match(/center/i)?(k.push("center"),v.marginLeft="auto",v.marginRight="auto"):C.match(/right/i)&&(k.push("right"),v.marginLeft="auto"),l(E,I(m(m({className:[i("BB"),c].join(" "),padding:1,transition:"long",opacity:"trans"},r),v),{freeCSS:m({width:{S:"26rem",R:"36rem",L:"44rem","2L":"60rem","3L":"72rem",MAX:"100vw"}[o],maxWidth:"96vw",transformOrigin:k.join(" ")},d),children:n.is.function(p)?l(p,{}):p}))},Edge:t=>{let r=t,{sheetID:e,sheetGroups:a,bodyScrolls:s,type:p,content:c,className:h="",size:o="R",openAfter:d,closeAfter:w,close_option:x,hold_state:B,overwrap:_,isOpen:F,backgroundEffect:G}=r,f=$(r,["sheetID","sheetGroups","bodyScrolls","type","content","className","size","openAfter","closeAfter","close_option","hold_state","overwrap","isOpen","backgroundEffect"]);return l(E,I(m(I(m({className:[i("BB"),h].join(" ")},p=="drawer.right"?{marginLeft:"auto"}:p=="drawer.left"?{marginRight:"auto"}:{}),{opacity:"trans",transition:"long",position:"relative",backgroundColor:"layer.1",flexSizing:"none",minHeight:"viewHeight",boxShadow:"3.remark"}),f),{freeCSS:m({width:{S:"20rem",R:"27rem",L:"32rem","2L":"40rem","3L":"58rem",MAX:"100vw"}[o],maxWidth:"96vw"},f.freeCSS),children:n.is.function(c)?l(c,{}):c}))},Bottom:t=>{let X=t,{componentID:e,sheetID:a,sheetGroups:s,bodyScrolls:p,content:c,size:h="R",sizeChanged:o,baseStyles:d,openAfter:w,closeAfter:x,close_option:{swipeDown:B=!0}={},hold_state:_,overwrap:F,isOpen:G,backgroundEffect:f}=X,r=$(X,["componentID","sheetID","sheetGroups","bodyScrolls","content","size","sizeChanged","baseStyles","openAfter","closeAfter","close_option","hold_state","overwrap","isOpen","backgroundEffect"]),b=n.getScreenSize(),C=[0,.2,.6,.95],v={ZERO:0,S:1,R:2,L:3},[k,N]=O(h),[P,j]=O({process:!1,processStart:0,originY:0,originValue:0,viewHeight:0,value:C[v[h]]});T.update({[e]:{val_edit:P,resize:D=>{let S=C[v[D]];j(u=>I(m({},u),{value:S})),N(D)}}});const A={Start:D=>{n(document).addEvent({eventID:"BottomSheetMouseMove",eventType:"mousemove",callback:A.Move}).addEvent({eventID:"BottomSheetTouchMove",eventType:"touchmove",callback:A.Move}).addEvent({eventID:"BottomSheetMouseUp",eventType:"mouseup",callback:A.End}).addEvent({eventID:"BottomSheetTouchEnd",eventType:"touchend",callback:A.End});let S=n.getCursor(D),u=I(m({},P),{process:!0,processStart:new Date().getTime(),originY:S.y,originValue:P.value,viewHeight:n.getScreenSize().height});T.update({[e]:{val_edit:u}}),j(u)},Move:D=>{var z;let S=(z=T.get(e))==null?void 0:z.val_edit;if(!S.process)return;let L=(n.getCursor(D).y-S.originY)/S.viewHeight,g=S.originValue-L;if(g>.95)g=.95+(g-.95)*.5;else if(g<.2){let R=.2-g;R-=.1,g=.1+(.1-R)*.5}j(I(m({},S),{value:g}))},End:D=>{var g;let S=(g=T.get(e))==null?void 0:g.val_edit;if(!S.process)return;n(document).removeEvent(["BottomSheetMouseMove","BottomSheetTouchMove","BottomSheetMouseUp","BottomSheetTouchEnd"]);let u=0;if(S.value<.1||(S.value<.5?u=1:S.value>.75?u=3:u=2),new Date().getTime()-S.processStart<300){let z=n.getCursor(D).y-S.originY;if(Math.abs(z)>=20){let R=+(z<0)*2-1;u+=R,u=Math.min(Math.max(u,0),C.length-1)}}u==0&&(B||(u=1)),N(["ZERO","S","R","L"][u]),j(I(m({},S),{value:C[u],process:!1}))}},U=re(!1);return W(()=>{U.current?k=="ZERO"?B&&M.close(a):setTimeout(()=>{t.sizeChanged&&t.sizeChanged(k)},250):U.current=!0},[k]),l(E,{className:i("BB"),margin:[0,"auto"],marginTop:"auto",opacity:"trans",width:1,transition:"long",freeCSS:m({maxWidth:12*60,height:b.height*P.value},P.process?{transition:"0s"}:{}),children:V(K,I(m({gap:0,flexSizing:"none",borderTopLeftRadius:"1.tone.primary",borderTopRightRadius:"1.tone.primary",border:!0,borderBottom:"unset",boxShadow:"3.remark",position:"relative",overflow:"hidden",height:1},d),{children:[l(Z.Separate,{padding:"1/2",backgroundColor:"layer.1",position:"relative",freeCSS:{userSelect:"none"},children:l(Z.Center,{onMouseDown:A.Start,onTouchStart:A.Start,flexSizing:0,padding:"2/3",ssPushable:!0,isRounded:!0,freeCSS:{cursor:"grab",userSelect:"none"},children:l(E,{unitWidth:6,unitHeight:"1/2",backgroundColor:"layer.4",isRounded:!0,className:i("DragBar")})})}),l(E,I(m({backgroundColor:"layer.1",flexSizing:0,overflow:"auto"},r),{children:n.is.function(c)?l(c,{}):c}))]}))})},Custom:t=>{let S=t,{sheetID:e,sheetGroups:a,bodyScrolls:s,event:p,parent:c,nextToCursor:h,gravityPoint:o=22,content:d,close_option:w,hold_state:x,openAfter:B,closeAfter:_,overwrap:F,isOpen:G,backgroundEffect:f}=S,r=$(S,["sheetID","sheetGroups","bodyScrolls","event","parent","nextToCursor","gravityPoint","content","close_option","hold_state","openAfter","closeAfter","overwrap","isOpen","backgroundEffect"]),[b]=O(n.uuid.gen()),C=n.is.element(c)||n.is.jsmin(c)?n(c):H(c),v='[data-sheet-id="'+b+'"]',k='[data-sheet-content="'+b+'"]';o=o;let N=o%5||5,P=Math.ceil(o/5);const j={Init:()=>{if(h&&p){let J=n.getScreenSize(),Q=n.getCursor(p);return{top:Q.y-J.pageYOffset,left:Q.x-J.pageXOffset}}let u={},{top:L,right:g,bottom:z,left:R,height:te,width:oe}=C.position();return[1,2].includes(N)?u.left=R:N==3?u.left=R+oe/2:[4,5].includes(N)&&(u.left=g),o<=10?u.top=L:o<=15?u.top=L+te/2:o<=25&&(u.top=z),u},Adjust:u=>{let L=H(v).position(),g=H(k).position(),z=n.getScreenSize(),R=m({},u);return g.top<0&&(R.top=L.top-g.top),g.left<0&&(R.left=L.left-g.left),g.right>z.width&&(R.left=L.left-(g.right-z.width)),g.bottom>z.height&&(R.top=L.top-(g.bottom-z.height)),R}};let[A,U]=O("init"),[X,D]=O(j.Init());return W(()=>{H(v).await(10).addClass(i("Open")).await(250).callback(()=>{U("adjust")}),T.update({["customSheet-"+t.sheetID]:{reposition:()=>{U("init")}}})},[]),W(()=>{A=="init"?(D(u=>j.Init()),U("adjust")):A=="adjust"&&D(u=>j.Adjust(u))},[A]),C[0]?l(E,{className:[i("BB"),i("CustomSheet")].join(" "),"data-sheet-id":b,transition:"long",opacity:"trans",position:"absolute",width:0,height:0,flexCenter:!0,freeCSS:X,children:l(ne,{position:"absolute",className:[i("GPT"),i("GPT_"+o),i("Col_"+N),i("Row_"+P)].join(" "),children:l(E,I(m({"data-sheet-content":b,flexSizing:"none",maxHeight:"viewHeight"},r),{freeCSS:m({maxWidth:"98vw"},r.freeCSS),children:n.is.function(d)?l(d,{}):d}))})}):null}},TapSensor:t=>l(E,{className:i("TapSensor"),children:l(ee.Button.Plain,{className:i("TapContent"),onClick:()=>{var e;(e=t.delegateAroundClick)!=null&&e&&M.close(t.sheetID)},freeCSS:{cursor:"default",pointerEvents:"all"}})})},M={Wrapper:()=>l(y.Wrapper,{}),open:t=>{let e=t;if(e.sheetID=(e.sheetID||"").replace(/\./g,"-"),e.type=="image"){let s=e.sheetID||n.uuid.gen(),a=e,{type:p,src:c}=a,h=$(a,["type","src"]);M.open(I(m({type:"normal.topCenter",backgroundColor:"trans"},h),{sheetID:s,freeCSS:{maxWidth:"96vw",transformOrigin:"top"},content:()=>{let[o]=O(n.flatArray(c)),[d,w]=O(0),x=[],B=[];return o.forEach((_,F)=>{x.push({value:F,label:l(q,{src:n.flatArray(_)[0],width:"auto",height:1,freeCSS:{maxWidth:12*6,maxHeight:12*3}})}),B.push(l(q,{width:1,height:"auto",src:n.flatArray(_)[0]}))}),V(K,{gap:0,children:[V(Z.Separate,{gap:2,padding:1,backgroundColor:"layer.1",borderTopLeftRadius:"1.tone.primary",borderTopRightRadius:"1.tone.primary",children:[l(ie.Radio.Border,{icon:!1,value:d,override:"force",horizontalAlign:"center",onUpdateValidValue:({value:_})=>{w(_[0])},cellStyles:{borderWidth:2,padding:"1/3"},options:x}),l(ee.Button.Border.S,{color:"cloud",isRounded:!0,onClick:()=>{M.close(s)},children:V(Z.Center,{gap:"1/3",children:["\u9589\u3058\u308B",l(ae.Times,{})]})})]}),l(se,{slideIndex:d,options:{loop:o.length>1,onSlideCallback:_=>{w(_)}},slides:B,wrapper:_=>l(E,{borderBottomLeftRadius:"1.tone.primary",borderBottomRightRadius:"1.tone.primary",children:_})})]})}}));return}y.addNewSheet(e)},refresh:(t,e)=>{t.sheetID=(t.sheetID||"").replace(/\./g,"-");let a=T.get(t.sheetID);a&&a.refresh&&a.refresh(t,e)},resize:t=>{t.sheetID=(t.sheetID||"").replace(/\./g,"-");let e=T.get(t.sheetID);e&&e.resize&&e.resize(t.size)},customSheet:{reposition:t=>{let e=T.get("customSheet-"+t);e&&e.reposition&&e.reposition()}},close:function(t,e,a){var p;t=t==null?void 0:t.replace(/\./g,"-");let s=y.contents[t];if(s&&!(e=="Escape"&&!((p=s.p.close_option)!=null&&p.escapeKeyDown))){let{p:c}=s,{sheetID:h}=c,o=T.get(h);o&&o.close&&o.close(a)}},closeGroup:t=>{var e;t=(t||"").replace(/\./g,"-");for(let[a,s]of Object.entries(y.contents))(e=s.p.sheetGroups)!=null&&e.includes(t)&&M.close(a)},closeAll:t=>{var e;for(let[a,s]of Object.entries(y.contents))t&&((e=s.p.close_option)==null?void 0:e.pageTransit)==!1||M.close(a,"pageTransit",!0)},Body:t=>l(E,m({className:i("BaseBody"),backgroundColor:"layer.1",borderRadius:"1.tone.primary",position:"relative",boxShadow:"3.remark",transition:"long"},t))};export{M as Sheet,M as default};
1
+ import{b as m,c as I,d as $}from"../chunk-C5N2D3ZX.js";import{jsx as l,jsxs as V}from"react/jsx-runtime";import n from"@mingoo/jsmin";import{useState as O,useEffect as W,useRef as re}from"react";import{$$fromRoot as H,Config as Y,useStore as T}from"../@utils";import{Box as E,Flex as ne,Img as q,FAI as ae,Column as K}from"../atoms";import{Row as Z}from"../mols";import ee from"./Button";import se from"./SwipeView";import ie from"./Input";import{SheetClasses as i}from"../@styles/componentClasses";const y={currentIndex:0,contents:{},addNewSheet:function(t){let e=I(m({sheetGroups:t.sheetGroups||[],backgroundEffect:!0,overwrap:t.type=="custom",hold_state:!1,isOpen:!0},t),{sheetID:t.sheetID||n.uuid.gen(),close_option:m({pageTransit:!0,escapeKeyDown:!0,aroundClick:t.type=="custom"},t.close_option)});if(e.type=="custom"&&(e.parent=e.parent||e.event.currentTarget),this.contents[e.sheetID]){let s=T.get(e.sheetID);s&&s.refresh&&s.refresh(e,!0);return}this.contents[e.sheetID]={isOpen:!0,hold_state:!!e.hold_state,p:e,created_at:n.Time()};let a=T.get("Sheet-"+Y.get().sessionUID);a&&a.refresh()},Wrapper:()=>{let[t,e]=O(n.uuid.gen());W(()=>{T.set({["Sheet-"+Y.get().sessionUID]:{refresh:()=>{e(n.uuid.gen())}}}),n(Y.get().appRoot).addEvent({eventType:"keyup",eventID:"SheetEvent.keyUp",callback:function(s){let{key:p,metaKey:c}=s;if(p=="Escape"||p==","&&c){let h=Object.values(y.contents).filter(d=>d.isOpen);if(!h.length)return;let o=h.reduce((d,w)=>d.created_at.value>w.created_at.value?d:w);M.close(o.p.sheetID,p)}}}).addEvent({eventType:"click",eventID:"SheetEvent.Click",callback:function(s){let p=Object.values(y.contents).filter(o=>o.p.type=="custom");if(!p.length||!!p.find(o=>{let{p:d}=o,w=d.parent,x=s.target,B=H(w)[0];return!!(w==x||B===x||n(B).find(x).length)}))return;let h=s.target;h!=null&&h.closest("."+i("CustomSheet"))||p.forEach(o=>{var d;(d=o.p.close_option)!=null&&d.aroundClick&&M.close(o.p.sheetID)})}})},[]);let a=Object.entries(y.contents).map(([s,p])=>l(E,{id:"Sheet-"+s,children:l(y.Core,m({isOpen:p.isOpen},p.p),s)},s));return l(E,{className:["AMOTIFY_be",i("Wrapper")].join(" "),children:a})},Core:t=>{var G;let[e]=O(n.uuid.gen()),[a,s]=O(t),[p,c]=O(t.isOpen),{type:h,sheetID:o,openAfter:d,closeAfter:w}=a,x=!a.overwrap,B=y.Types[{"normal.topLeft":"Normal","normal.topCenter":"Normal","normal.topRight":"Normal","normal.middleLeft":"Normal","normal.middleCenter":"Normal","normal.middleRight":"Normal","normal.bottomLeft":"Normal","normal.bottomCenter":"Normal","normal.bottomRight":"Normal",image:"Normal","drawer.left":"Edge","drawer.right":"Edge","drawer.bottom":"Bottom",custom:"Custom"}[h]];W(()=>{T.set({[o]:{refresh:(f,r)=>{s(f),c(r!=null?r:!1)},resize:f=>{if(h=="drawer.bottom"){let r=T.get(e);r&&r.resize&&r.resize(f)}else(a.type.includes("normal")||a.type.includes("drawer"))&&s(r=>I(m({},r),{size:f}))},close:f=>{y.contents[o].isOpen=!1,c(!1)},open:()=>{y.contents[o].isOpen=!0,c(!0)}}})}),W(()=>{n.scope(()=>{if(!x||!a.backgroundEffect)return;let f=Object.values(y.contents).filter(b=>b.isOpen&&!b.p.overwrap&&b.p.type!="custom").length,r=H(".AMOTIFY_be_root");if(p){if(r.hasClass(i("FixScroll")))return;let b=n("html"),C=0;f==1&&(C=b[0].scrollTop|0,s(v=>I(m({},v),{bodyScrolls:C}))),Y.get().isPhone||(b[0].scrollTop=0,r.addClass(i("FixScroll")).callback(v=>{v[0].scrollTop=C}).await(40).addClass(i("Float")));return}Y.get().isPhone||f==0&&r.hasClass(i("FixScroll"))&&r.removeClass(i("Float")).await(251).removeClass(i("FixScroll")).callback(()=>{n("html")[0].scrollTop=a.bodyScrolls||0,r[0].scrollTop=0})}),n.scope(()=>{let f=H("#"+e);if(p){f.await(10).removeClass(i("Hide")).await(10).addClass(i("Open")).callback(()=>{let r=y.contents[o];r&&(r.isOpen=!0,d&&d())});return}f.await(10).removeClass(i("Open")).await(251).addClass(i("Hide")).callback(()=>{!w||w();let r=y.contents[o];if(!r||(r.isOpen=!1,a.hold_state))return;delete y.contents[o];let b=T.get("Sheet-"+Y.get().sessionUID);b&&b.refresh()})})},[p]),W(()=>{y.currentIndex++;let{close_option:f}=a;n.scope(()=>{if(!(f!=null&&f.parentBlur))return;let r=n(a.parent);r[0]&&r.addEvent({eventID:"SheetClosation-"+o,eventType:"mouseout",callback:()=>{r.removeEvent("SheetClosation-"+o),c(!1)}})})},[]);let[_,F]=h.split(".");return l(E,{className:[i("Wrap"),i("Tcate_"+_),i("Tpos_"+F),i("isNewSheet_"+x)].join(" "),width:1,height:0,ssAbsoluteCovered:!0,freeCSS:{zIndex:y.currentIndex+1},id:e,children:V(K,{className:i("Content"),gap:0,height:"viewHeight",overflow:"auto",transition:"middle",children:[!!x&&l(y.TapSensor,{sheetID:o,delegateAroundClick:(G=a.close_option)==null?void 0:G.aroundClick}),l(B,m({componentID:e},a))]})},e)},Types:{Normal:t=>{let N=t,{sheetID:e,sheetGroups:a,bodyScrolls:s,content:p,className:c="",type:h,size:o="R",freeCSS:d,openAfter:w,closeAfter:x,close_option:B,hold_state:_,overwrap:F,isOpen:G,backgroundEffect:f}=N,r=$(N,["sheetID","sheetGroups","bodyScrolls","content","className","type","size","freeCSS","openAfter","closeAfter","close_option","hold_state","overwrap","isOpen","backgroundEffect"]),[b,C]=h.split("."),v={},k=[];return C.match(/top/)?(k.push("top"),v.marginBottom="auto"):C.match(/middle/)?(k.push("center"),v.marginTop="auto",v.marginBottom="auto"):C.match(/bottom/)&&(k.push("bottom"),v.marginTop="auto"),C.match(/left/i)?(k.push("left"),v.marginRight="auto"):C.match(/center/i)?(k.push("center"),v.marginLeft="auto",v.marginRight="auto"):C.match(/right/i)&&(k.push("right"),v.marginLeft="auto"),l(E,I(m(m({className:[i("BB"),c].join(" "),padding:1,transition:"long",opacity:"trans"},r),v),{freeCSS:m({width:{S:"26rem",R:"36rem",L:"44rem","2L":"60rem","3L":"72rem",MAX:"100vw"}[o],maxWidth:"96vw",transformOrigin:k.join(" ")},d),children:n.is.function(p)?l(p,{}):p}))},Edge:t=>{let r=t,{sheetID:e,sheetGroups:a,bodyScrolls:s,type:p,content:c,className:h="",size:o="R",openAfter:d,closeAfter:w,close_option:x,hold_state:B,overwrap:_,isOpen:F,backgroundEffect:G}=r,f=$(r,["sheetID","sheetGroups","bodyScrolls","type","content","className","size","openAfter","closeAfter","close_option","hold_state","overwrap","isOpen","backgroundEffect"]);return l(E,I(m(I(m({className:[i("BB"),h].join(" ")},p=="drawer.right"?{marginLeft:"auto"}:p=="drawer.left"?{marginRight:"auto"}:{}),{opacity:"trans",transition:"long",position:"relative",backgroundColor:"layer.1",flexSizing:"none",minHeight:"viewHeight",boxShadow:"3.remark"}),f),{freeCSS:m({width:{S:"20rem",R:"27rem",L:"32rem","2L":"40rem","3L":"58rem",MAX:"100vw"}[o],maxWidth:"96vw"},f.freeCSS),children:n.is.function(c)?l(c,{}):c}))},Bottom:t=>{let X=t,{componentID:e,sheetID:a,sheetGroups:s,bodyScrolls:p,content:c,size:h="R",sizeChanged:o,baseStyles:d,openAfter:w,closeAfter:x,close_option:{swipeDown:B=!0}={},hold_state:_,overwrap:F,isOpen:G,backgroundEffect:f}=X,r=$(X,["componentID","sheetID","sheetGroups","bodyScrolls","content","size","sizeChanged","baseStyles","openAfter","closeAfter","close_option","hold_state","overwrap","isOpen","backgroundEffect"]),b=n.getScreenSize(),C=[0,.2,.6,.95],v={ZERO:0,S:1,R:2,L:3},[k,N]=O(h),[P,j]=O({process:!1,processStart:0,originY:0,originValue:0,viewHeight:0,value:C[v[h]]});T.update({[e]:{val_edit:P,resize:D=>{let S=C[v[D]];j(u=>I(m({},u),{value:S})),N(D)}}});const A={Start:D=>{n(document).addEvent({eventID:"BottomSheetMouseMove",eventType:"mousemove",callback:A.Move}).addEvent({eventID:"BottomSheetTouchMove",eventType:"touchmove",callback:A.Move}).addEvent({eventID:"BottomSheetMouseUp",eventType:"mouseup",callback:A.End}).addEvent({eventID:"BottomSheetTouchEnd",eventType:"touchend",callback:A.End});let S=n.getCursor(D),u=I(m({},P),{process:!0,processStart:new Date().getTime(),originY:S.y,originValue:P.value,viewHeight:n.getScreenSize().height});T.update({[e]:{val_edit:u}}),j(u)},Move:D=>{var z;let S=(z=T.get(e))==null?void 0:z.val_edit;if(!S.process)return;let L=(n.getCursor(D).y-S.originY)/S.viewHeight,g=S.originValue-L;if(g>.95)g=.95+(g-.95)*.5;else if(g<.2){let R=.2-g;R-=.1,g=.1+(.1-R)*.5}j(I(m({},S),{value:g}))},End:D=>{var g;let S=(g=T.get(e))==null?void 0:g.val_edit;if(!S.process)return;n(document).removeEvent(["BottomSheetMouseMove","BottomSheetTouchMove","BottomSheetMouseUp","BottomSheetTouchEnd"]);let u=0;if(S.value<.1||(S.value<.5?u=1:S.value>.75?u=3:u=2),new Date().getTime()-S.processStart<300){let z=n.getCursor(D).y-S.originY;if(Math.abs(z)>=20){let R=+(z<0)*2-1;u+=R,u=Math.min(Math.max(u,0),C.length-1)}}u==0&&(B||(u=1)),N(["ZERO","S","R","L"][u]),j(I(m({},S),{value:C[u],process:!1}))}},U=re(!1);return W(()=>{U.current?k=="ZERO"?B&&M.close(a):setTimeout(()=>{t.sizeChanged&&t.sizeChanged(k)},250):U.current=!0},[k]),l(E,{className:i("BB"),margin:[0,"auto"],marginTop:"auto",opacity:"trans",width:1,transition:"long",freeCSS:m({maxWidth:12*60,height:b.height*P.value},P.process?{transition:"0s"}:{}),children:V(K,I(m({gap:0,flexSizing:"none",borderTopLeftRadius:"1.tone.primary",borderTopRightRadius:"1.tone.primary",border:!0,borderBottom:"unset",boxShadow:"3.remark",position:"relative",overflow:"hidden",height:1},d),{children:[l(Z.Separate,{padding:"1/2",backgroundColor:"layer.1",position:"relative",freeCSS:{userSelect:"none"},children:l(Z.Center,{onMouseDown:A.Start,onTouchStart:A.Start,flexSizing:0,padding:"2/3",ssPushable:!0,isRounded:!0,freeCSS:{cursor:"grab",userSelect:"none"},children:l(E,{unitWidth:6,unitHeight:"1/2",backgroundColor:"layer.4",isRounded:!0,className:i("DragBar")})})}),l(E,I(m({backgroundColor:"layer.1",flexSizing:0,overflow:"auto"},r),{children:n.is.function(c)?l(c,{}):c}))]}))})},Custom:t=>{let S=t,{sheetID:e,sheetGroups:a,bodyScrolls:s,event:p,parent:c,nextToCursor:h,gravityPoint:o=22,content:d,close_option:w,hold_state:x,openAfter:B,closeAfter:_,overwrap:F,isOpen:G,backgroundEffect:f}=S,r=$(S,["sheetID","sheetGroups","bodyScrolls","event","parent","nextToCursor","gravityPoint","content","close_option","hold_state","openAfter","closeAfter","overwrap","isOpen","backgroundEffect"]),[b]=O(n.uuid.gen()),C=n.is.element(c)||n.is.jsmin(c)?n(c):H(c),v='[data-sheet-id="'+b+'"]',k='[data-sheet-content="'+b+'"]';o=o;let N=o%5||5,P=Math.ceil(o/5);const j={Init:()=>{if(h&&p){let J=n.getScreenSize(),Q=n.getCursor(p);return{top:Q.y-J.pageYOffset,left:Q.x-J.pageXOffset}}let u={},{top:L,right:g,bottom:z,left:R,height:te,width:oe}=C.position();return[1,2].includes(N)?u.left=R:N==3?u.left=R+oe/2:[4,5].includes(N)&&(u.left=g),o<=10?u.top=L:o<=15?u.top=L+te/2:o<=25&&(u.top=z),u},Adjust:u=>{let L=H(v).position(),g=H(k).position(),z=n.getScreenSize(),R=m({},u);return g.top<0&&(R.top=L.top-g.top),g.left<0&&(R.left=L.left-g.left),g.right>z.width&&(R.left=L.left-(g.right-z.width)),g.bottom>z.height&&(R.top=L.top-(g.bottom-z.height)),R}};let[A,U]=O("init"),[X,D]=O(j.Init());return W(()=>{H(v).await(10).addClass(i("Open")).await(250).callback(()=>{U("adjust")}),T.update({["customSheet-"+t.sheetID]:{reposition:()=>{U("init")}}})},[]),W(()=>{A=="init"?(D(u=>j.Init()),U("adjust")):A=="adjust"&&D(u=>j.Adjust(u))},[A]),C[0]?l(E,{className:[i("BB"),i("CustomSheet")].join(" "),"data-sheet-id":b,transition:"long",opacity:"trans",position:"absolute",width:0,height:0,flexCenter:!0,freeCSS:X,children:l(ne,{position:"absolute",className:[i("GPT"),i("GPT_"+o),i("Col_"+N),i("Row_"+P)].join(" "),children:l(E,I(m({"data-sheet-content":b,flexSizing:"none",maxHeight:"viewHeight"},r),{freeCSS:m({maxWidth:"98vw"},r.freeCSS),children:n.is.function(d)?l(d,{}):d}))})}):null}},TapSensor:t=>l(E,{className:i("TapSensor"),children:l(ee.Button.Plain,{className:i("TapContent"),onClick:()=>{var e;(e=t.delegateAroundClick)!=null&&e&&M.close(t.sheetID)},freeCSS:{cursor:"default",pointerEvents:"all"}})})},M={Wrapper:()=>l(y.Wrapper,{}),open:t=>{let e=t;if(e.sheetID=(e.sheetID||"").replace(/\./g,"-"),e.type=="image"){let s=e.sheetID||n.uuid.gen(),a=e,{type:p,src:c}=a,h=$(a,["type","src"]);M.open(I(m({type:"normal.topCenter",backgroundColor:"trans"},h),{sheetID:s,freeCSS:{maxWidth:"96vw",transformOrigin:"top"},content:()=>{let[o]=O(n.flatArray(c)),[d,w]=O(0),x=[],B=[];return o.forEach((_,F)=>{x.push({value:F,label:l(q,{src:n.flatArray(_)[0],width:"auto",height:1,freeCSS:{maxWidth:12*6,maxHeight:12*3}})}),B.push(l(q,{width:1,height:"auto",src:n.flatArray(_)[0]}))}),V(K,{gap:0,children:[V(Z.Separate,{gap:2,padding:1,backgroundColor:"layer.1",borderTopLeftRadius:"1.tone.primary",borderTopRightRadius:"1.tone.primary",children:[l(ie.Radio.Border,{icon:!1,value:d,override:"force",horizontalAlign:"center",onUpdateValidValue:({value:_})=>{w(_)},cellStyles:{borderWidth:2,padding:"1/3"},options:x}),l(ee.Button.Border.S,{color:"cloud",isRounded:!0,onClick:()=>{M.close(s)},children:V(Z.Center,{gap:"1/3",children:["\u9589\u3058\u308B",l(ae.Times,{})]})})]}),l(se,{slideIndex:d,options:{loop:o.length>1,onSlideCallback:_=>{w(_)}},slides:B,wrapper:_=>l(E,{borderBottomLeftRadius:"1.tone.primary",borderBottomRightRadius:"1.tone.primary",children:_})})]})}}));return}y.addNewSheet(e)},refresh:(t,e)=>{t.sheetID=(t.sheetID||"").replace(/\./g,"-");let a=T.get(t.sheetID);a&&a.refresh&&a.refresh(t,e)},resize:t=>{t.sheetID=(t.sheetID||"").replace(/\./g,"-");let e=T.get(t.sheetID);e&&e.resize&&e.resize(t.size)},customSheet:{reposition:t=>{let e=T.get("customSheet-"+t);e&&e.reposition&&e.reposition()}},close:function(t,e,a){var p;t=t==null?void 0:t.replace(/\./g,"-");let s=y.contents[t];if(s&&!(e=="Escape"&&!((p=s.p.close_option)!=null&&p.escapeKeyDown))){let{p:c}=s,{sheetID:h}=c,o=T.get(h);o&&o.close&&o.close(a)}},closeGroup:t=>{var e;t=(t||"").replace(/\./g,"-");for(let[a,s]of Object.entries(y.contents))(e=s.p.sheetGroups)!=null&&e.includes(t)&&M.close(a)},closeAll:t=>{var e;for(let[a,s]of Object.entries(y.contents))t&&((e=s.p.close_option)==null?void 0:e.pageTransit)==!1||M.close(a,"pageTransit",!0)},Body:t=>l(E,m({className:i("BaseBody"),backgroundColor:"layer.1",borderRadius:"1.tone.primary",position:"relative",boxShadow:"3.remark",transition:"long"},t))};export{M as Sheet,M as default};
package/dist/fn/TabBar.js CHANGED
@@ -1 +1 @@
1
- import{b as a,c as p,d as m}from"../chunk-C5N2D3ZX.js";import{jsx as o}from"react/jsx-runtime";import{useEffect as s}from"react";import{Box as c,Flex as x}from"../atoms";import v from"./Input";const u=f=>{let i=f,{tabIndex:d,tabs:b,onTabChange:n,componentDidMount:r}=i,l=m(i,["tabIndex","tabs","onTabChange","componentDidMount"]);return s(()=>{r&&r()},[]),o(x,p(a({position:"relative",overflow:"auto",flexWrap:!1},l),{freeCSS:a({zIndex:3,whiteSpace:"nowrap"},l.freeCSS),children:o(c,{margin:[0,"auto"],children:o(v.Segmented.Bottomline,{value:d,fontColor:"inherit",gap:0,override:"force",options:b.map((e,t)=>({value:t,label:e})),onUpdateValidValue:e=>{let t=e.value[0];n&&n(t)}})})}))};export{u as TabBar,u as default};
1
+ import{b as a,c as p,d as m}from"../chunk-C5N2D3ZX.js";import{jsx as o}from"react/jsx-runtime";import{useEffect as s}from"react";import{Box as c,Flex as x}from"../atoms";import v from"./Input";const u=f=>{let i=f,{tabIndex:d,tabs:b,onTabChange:n,componentDidMount:r}=i,l=m(i,["tabIndex","tabs","onTabChange","componentDidMount"]);return s(()=>{r&&r()},[]),o(x,p(a({position:"relative",overflow:"auto",flexWrap:!1},l),{freeCSS:a({zIndex:3,whiteSpace:"nowrap"},l.freeCSS),children:o(c,{margin:[0,"auto"],children:o(v.Segmented.Bottomline,{value:d,fontColor:"inherit",gap:0,override:"force",options:b.map((e,t)=>({value:t,label:e})),onUpdateValidValue:e=>{let t=e.value;n&&n(t)}})})}))};export{u as TabBar,u as default};