amotify 0.2.115 → 0.2.117

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 G,e as z}from"../chunk-C5N2D3ZX.js";import{jsx as o,jsxs as f}from"react/jsx-runtime";import S,{UUID as J,useStore as X}from"jmini";import{$$fromRoot as K}from"../@utils";import{useState as N,useEffect as O}from"react";import{Box as B,FAI as M,Column as L}from"../atoms";import{Row as I,Text as F}from"../mols";import{Button as P}from"./Button";import A from"./Sheet";import V from"./Loader";import q from"./Input";import{faPalette as Q}from"@fortawesome/free-solid-svg-icons/faPalette";import{faBarsStaggered as ee}from"@fortawesome/free-solid-svg-icons/faBarsStaggered";import{faRotateLeft as te}from"@fortawesome/free-solid-svg-icons/faRotateLeft";import{faRotateRight as ae}from"@fortawesome/free-solid-svg-icons/faRotateRight";import{CropperClasses as U}from"../@styles/componentClasses";import Y from"./Tooltips";class re{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 n=t.canvas;this.Canvas={elm:n,ctx:n.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,n=this.Picture.elm,i=0,e=0;if(this.use=="square"){let s=t.width/3*2,l=t.height/3*2;i=Math.min(s,l),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}=n,p=(t.width-i)/2,u=(t.height-e)/2,C=i/e;this.pst={frame:{x:p,y:u,w:i,h:e,aspect:C},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:n,x:i,y:e}=t;if(n=="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,C=this.scale.current*this.Picture.revisedAspect/100,s=p/C*r.x,l=u/C*r.y;n=="move"?this.drawImage(this.pst.imageX+s,this.pst.imageY+l):n=="end"&&this.drawImage(this.pst.imageX+=s,this.pst.imageY+=l)}}pinchEffect(t){let{eventType:n,event:i}=t,{x:e,y:a}=S.getCursor(i.touches[0]),{x:r,y:p}=S.getCursor(i.touches[1]),u=r-e,C=p-a;if(n=="start")this.pinchEffectInfo.origin={x:u,y:C,scale:this.scale.current};else if(n=="move"){let{origin:s}=this.pinchEffectInfo,l=Math.sqrt(Math.pow(s.x,2)+Math.pow(s.y,2)),y=Math.sqrt(Math.pow(u,2)+Math.pow(C,2))/l,v=Number(s.scale*y);this.set_scale(v)}}updateScale(t){let n=t;n=Math.max(n,this.scale.min),n=Math.min(n,this.scale.max),this.scale.current=n,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:n,rotate:i}=this.Picture;const e=document.createElement("canvas");let a=e.getContext("2d"),r=yield S.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 C=a.getImageData(0,0,e.width,e.height),s=C.data;{t/=100;let v=[[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]][n],x=v[0]/255,b=v[1]/255,c=v[2]/255;for(let m=0;m<u;m++)for(let h=0;h<p;h++){var l=(m*p+h)*4;if(t){let R=.3*s[l]+.59*s[l+1]+.11*s[l+2];for(var g=0;g<3;g++){let T=s[l+g];s[l+g]=T+(R-T)*t}}s[l]*=x,s[l+1]*=b,s[l+2]*=c}}a.putImageData(C,0,0);let y=e.toDataURL("image/jpeg");{let v=yield S.ImageLoader(y),{width:x,height:b}=v,c=x/b;this.Picture=G(H({},this.Picture),{elm:v,aspect:c,revisedAspect:this.pst.frame.aspect>c?this.pst.frame.w/x:this.pst.frame.h/b})}this.drawImage()})}drawImage(t,n){let{use:i,Canvas:{ctx:e,elm:a},pst:{frame:r}}=this,p=t||this.pst.imageX,u=n||this.pst.imageY;{let C=this.scale.current/100,s=this.Picture.revisedAspect*C,l=this.pst.centerX-p*s,g=this.pst.centerY-u*s,y=this.Picture.elm.width*s,v=this.Picture.elm.height*s;{let x=this.pst.frame.x+this.pst.frame.w-y,b=this.pst.frame.x,c=this.pst.frame.y+this.pst.frame.h-v,m=this.pst.frame.y,h=0;l<x&&(h=l-x),l>b&&(h=l-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,l=Math.min(Math.max(l,x),b),g=Math.min(Math.max(g,c),m)}this.pst.outImage={x:l,y:g,w:y,h:v},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,l,g,y,v)}{if(i=="square"){e.fillStyle="rgba( 20,24,20,.3 )",e.beginPath();let l=a.width/3*2,g=a.height/3*2,y=Math.min(l,g),v=Math.max(l,g);e.arc(a.width/2,a.height/2,v,0,Math.PI*2,!0),e.arc(a.width/2,a.height/2,y/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=S(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:n,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,C=(a.x-e.x+a.w)/r,s=(a.y-e.y)/p,l=(a.y-e.y+a.h)/p,g=Array.from({length:n.length}),y="image/jpeg";for(let v=0;v<n.length;v++){let{size:x,maxSize:b}=n[v];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,C-u,l-s,0,0,c,m);let T=h.toDataURL(y),w=yield T.toBlob(y);if(!w)return;if(w.size>=b){let k=b/w.size;if(T=h.toDataURL(y,k*.92),w=yield T.toBlob(y),!w)return}let W=new File([w],this.val_file.name,{type:y});g[v]=W}return g})}}const Z={Core:d=>{let{val_file:t,options:n,finishedCallback:i,abortCallback:e}=d,{use:a,develops:r=[]}=n,[p]=N(J());const u={scale:{default:120,min:100,max:400},rotate:0,grayScale:0,tone:0};let[C,s]=N(u.scale.default),[l,g]=N(u.rotate),[y,v]=N(u.grayScale),[x,b]=N(u.tone);return O(()=>{let c="CropperResize";return S(window).addEvent({eventType:"resize",eventID:c,callback:()=>{S.interval.once(()=>{var k;let m=K("#Canvas-"+p)[0];if(!m)return;let h=(k=X.get(p))==null?void 0:k.Instance;if(!h)return;let R=m.position(),T=R.width/R.height;m.width=2400,m.height=2400/T;let{width:w,height:W}=m;h.pst.centerX=w/2,h.pst.centerY=W/2,h.frameSizing(),h.modifyImage()},250,"CropperResize")}}),()=>{S(window).removeEvent(c)}},[]),O(()=>{X.set({[p]:{}}),z(void 0,null,function*(){V.fn.corner.active(),yield S.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(),T=R.width/R.height;h.width=2400,h.height=2400/T;let w=new re({set_scale:s,val_file:t,develops:r,use:a,scale:u.scale,componentID:p,canvas:h,picture:{image:yield S.ImageLoader(m),grayScale:u.grayScale,tone:u.tone,rotate:u.rotate}});X.set({[p]:{Instance:w}});const W=function(E){if(E.preventDefault(),E.touches&&E.touches.length>1)w.pinchEffect({eventType:"start",event:E}),S(document).addEvent({eventType:"touchmove",eventID:"CropperEffectMove",options:{passive:!1},callback:D=>{D.preventDefault(),w.pinchEffect({eventType:"move",event:D})}}).addEvent({eventType:"touchend",eventID:"CropperEffectEnd",options:{passive:!1},callback:j});else{w.dragEffect(H({eventType:"start"},S.getCursor(E)));let{type:D}=E;S(document).addEvent({eventType:D=="touchstart"?"touchmove":"mousemove",eventID:"CropperEffectMove",options:{passive:!1},callback:_=>{k("move",_)}}).addEvent({eventType:D=="touchstart"?"touchend":"mouseup",eventID:"CropperEffectEnd",options:{passive:!1},callback:_=>{k("end",_),j(_)}})}},k=function(E,D){D.preventDefault(),w.dragEffect(H({eventType:E},S.getCursor(D)))},j=function(E){E.preventDefault(),S(document).removeEvent(["CropperEffectMove","CropperEffectEnd"])};S(h).removeEvent(["CropperMouseWheel","CropperTouchStart","CropperMouseDown"]).addEvent({eventID:"CropperMouseWheel",eventType:"wheel",callback:E=>{E.preventDefault();let D=Number(E.wheelDelta*.04),_=w.scale.current+D;_=Math.max(_,w.scale.min),_=Math.min(_,w.scale.max),s(_)},options:{passive:!1}}).addEvent({eventType:"touchstart",eventID:"CropperTouchStart",callback:W,options:{passive:!1}}).addEvent({eventType:"mousedown",eventID:"CropperMouseDown",callback:W,options:{passive:!1}}),setTimeout(()=>{V.fn.corner.stop()},1e3)})},[t.id]),O(()=>{var m;let c=(m=X.get(p))==null?void 0:m.Instance;c&&c.updateScale(C)},[C]),O(()=>{var m;let c=(m=X.get(p))==null?void 0:m.Instance;c&&c.updateFilter({grayScale:y,tone:x,rotate:l})},[y,x,l]),o(A.Body,{borderRadius:0,height:"viewHeight",width:"viewWidth",children:f(L,{className:[U("Wrap"),U("Use_"+a)].join(" "),gap:0,height:1,position:"relative",overflow:"hidden",borderRadius:"inherit",children:[o(B,{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:C,set_scale:s,val_tone:x,set_tone:b,val_grayScale:y,set_grayScale:v,val_rotate:l,set_rotate:g}),f(I.Right,{flexSizing:"none",children:[o(P.Border,{isRounded:!0,onClick:()=>{e()},children:"\u9589\u3058\u308B"}),o(P,{isRounded:!0,boxShadow:"3.remark",onClick:()=>z(void 0,null,function*(){var h;let c=(h=X.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"],n=i=>t[i]||"\u306A\u3057";return f(I.Left,{verticalAlign:"unset",flexWrap:!0,children:[f(L,{gap:"1/3",children:[o(F.Supplement,{children:"Rotate"}),f(I.Left,{flexChilds:"even",gap:"1/6",children:[o(P.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:te})]})}),o(P.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:ae}),"90\xB0"]})})]})]}),f(L,{gap:"1/3",freeCSS:{minWidth:12*6},children:[o(F.Supplement,{children:"Zoom"}),f(P.Border.S,{flexCenter:!0,isRounded:!0,flexSizing:0,onClick:i=>{let e="CropperZoomEdit";Y.open({tipsID:e,gravityPoint:3,event:i,closeAtParentBlur:!1,freeCSS:{minWidth:12*26},content:o(A.Body,{children:f(L,{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(P.Sub,{color:"cloud",ssSphere:2.5,onClick:()=>{Y.close(e)},children:o(M.Times,{})})]}),o(B,{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})=>{S.interval.once(()=>{d.set_scale(r+100)},250,"Cropper.UpdateScale")},legends:{enable:!0,custom:a=>"x"+Math.round(100+a)/100}})]})})})},children:[d.val_scale.rate(1,0),"%"]})]}),f(L,{gap:"1/3",freeCSS:{minWidth:12*6},children:[o(F.Supplement,{children:"GrayScale"}),f(P.Border.S,{flexCenter:!0,isRounded:!0,flexSizing:0,onClick:i=>{let e="CropperGrayScaleEdit";Y.open({tipsID:e,gravityPoint:3,event:i,closeAtParentBlur:!1,freeCSS:{minWidth:12*26},content:o(A.Body,{children:f(L,{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"}),"Gray Scale"]})}),o(P.Sub,{color:"cloud",ssSphere:2.5,onClick:()=>{Y.close(e)},children:o(M.Times,{})})]}),o(B,{borderBottom:!0,opacity:"low"}),o(q.Slider,{value:d.val_grayScale,min:0,max:100,step:10,onUpdateValidValue:({value:a})=>{S.interval.once(()=>{d.set_grayScale(a)},250,"Cropper.GrayScale")},legends:{enable:!0,custom:a=>a+"%"}})]})})})},children:[d.val_grayScale.rate(1,0),"%"]})]}),f(L,{gap:"1/3",freeCSS:{minWidth:12*6},children:[o(F.Supplement,{children:"Tone"}),o(P.Border.S,{flexCenter:!0,isRounded:!0,flexSizing:0,onClick:i=>{let e="CropperToneEdit";Y.open({tipsID:e,gravityPoint:3,event:i,closeAtParentBlur:!1,freeCSS:{minWidth:12*26,maxWidth:12*24},content:()=>{let a=[];for(let r=1;r<=10;r++)a.push({value:r,label:f(I.Left,{gap:"1/3",children:[o(B,{ssSphere:1,className:[U("ToneBall"),U("ToneBall_"+r)].join(" ")}),o(B,{textAlign:"left",flexSizing:0,children:n(r)})]})});return o(A.Body,{children:f(L,{padding:1.5,children:[f(I.Separate,{children:[o(F.Paragraph,{children:f(I.Center,{gap:"1/2",children:[o(M,{icon:ee,fontColor:"5.translucent"}),"Tone"]})}),o(P.Sub,{color:"cloud",ssSphere:2.5,onClick:()=>{Y.close(e)},children:o(M.Times,{})})]}),o(B,{borderBottom:!0,opacity:"low"}),o(q.Radio.Normal,{value:d.val_tone,gap:"1/2",cellStyles:{fontColor:"3.blur"},options:[{value:0,label:o(B,{flexSizing:0,textAlign:"center",children:"\u306A\u3057"})},...a],onUpdateValidValue:({value:r})=>{d.set_tone(r)}})]})})}})},children:f(I.Center,{gap:"1/2",children:[o(B,{boxShadow:"2.remark",ssSphere:1,className:[U("ToneBall"),U("ToneBall_"+d.val_tone)].join(" ")}),n(d.val_tone)]})})]})]})}},$={openDialogNEdit:d=>z(void 0,null,function*(){let t=yield q.Filer.fn.openDialog({accept:"image",multiple:!1});$.openEditor(H({imageFile:t[0]},d))}),openEditor:d=>z(void 0,null,function*(){let t="CropperImage";A.open({sheetID:t,type:"normal.middleCenter",size:"MAX",padding:0,margin:0,freeCSS:{maxWidth:"100%"},content:o(Z.Core,{val_file:d.imageFile,options:d,finishedCallback:n=>{A.close(t),d.onProcessFinished(n)},abortCallback:()=>{A.close(t)}}),closeAtEscapeKeyDown:!1})})};export{$ as Cropper,$ as default};
1
+ import{b as H,c as G,e as z}from"../chunk-C5N2D3ZX.js";import{jsx as o,jsxs as f}from"react/jsx-runtime";import S,{UUID as J,useStore as X}from"jmini";import{$$fromRoot as K}from"../@utils";import{useState as N,useEffect as O}from"react";import{Box as B,FAI as M,Column as L}from"../atoms";import{Row as I,Text as F}from"../mols";import{Button as P}from"./Button";import A from"./Sheet";import V from"./Loader";import q from"./Input";import{faPalette as Q}from"@fortawesome/free-solid-svg-icons/faPalette";import{faBarsStaggered as ee}from"@fortawesome/free-solid-svg-icons/faBarsStaggered";import{faRotateLeft as te}from"@fortawesome/free-solid-svg-icons/faRotateLeft";import{faRotateRight as ae}from"@fortawesome/free-solid-svg-icons/faRotateRight";import{CropperClasses as U}from"../@styles/componentClasses";import Y from"./Tooltips";class re{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 n=t.canvas;this.Canvas={elm:n,ctx:n.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,n=this.Picture.elm,i=0,e=0;if(this.use=="square"){let s=t.width/3*2,l=t.height/3*2;i=Math.min(s,l),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}=n,p=(t.width-i)/2,u=(t.height-e)/2,C=i/e;this.pst={frame:{x:p,y:u,w:i,h:e,aspect:C},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:n,x:i,y:e}=t;if(n=="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,C=this.scale.current*this.Picture.revisedAspect/100,s=p/C*r.x,l=u/C*r.y;n=="move"?this.drawImage(this.pst.imageX+s,this.pst.imageY+l):n=="end"&&this.drawImage(this.pst.imageX+=s,this.pst.imageY+=l)}}pinchEffect(t){let{eventType:n,event:i}=t,{x:e,y:a}=S.getCursor(i.touches[0]),{x:r,y:p}=S.getCursor(i.touches[1]),u=r-e,C=p-a;if(n=="start")this.pinchEffectInfo.origin={x:u,y:C,scale:this.scale.current};else if(n=="move"){let{origin:s}=this.pinchEffectInfo,l=Math.sqrt(Math.pow(s.x,2)+Math.pow(s.y,2)),y=Math.sqrt(Math.pow(u,2)+Math.pow(C,2))/l,v=Number(s.scale*y);this.set_scale(v)}}updateScale(t){let n=t;n=Math.max(n,this.scale.min),n=Math.min(n,this.scale.max),this.scale.current=n,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:n,rotate:i}=this.Picture;const e=document.createElement("canvas");let a=e.getContext("2d"),r=yield S.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 C=a.getImageData(0,0,e.width,e.height),s=C.data;{t/=100;let v=[[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]][n],x=v[0]/255,b=v[1]/255,c=v[2]/255;for(let m=0;m<u;m++)for(let h=0;h<p;h++){var l=(m*p+h)*4;if(t){let R=.3*s[l]+.59*s[l+1]+.11*s[l+2];for(var g=0;g<3;g++){let T=s[l+g];s[l+g]=T+(R-T)*t}}s[l]*=x,s[l+1]*=b,s[l+2]*=c}}a.putImageData(C,0,0);let y=e.toDataURL("image/jpeg");{let v=yield S.ImageLoader(y),{width:x,height:b}=v,c=x/b;this.Picture=G(H({},this.Picture),{elm:v,aspect:c,revisedAspect:this.pst.frame.aspect>c?this.pst.frame.w/x:this.pst.frame.h/b})}this.drawImage()})}drawImage(t,n){let{use:i,Canvas:{ctx:e,elm:a},pst:{frame:r}}=this,p=t||this.pst.imageX,u=n||this.pst.imageY;{let C=this.scale.current/100,s=this.Picture.revisedAspect*C,l=this.pst.centerX-p*s,g=this.pst.centerY-u*s,y=this.Picture.elm.width*s,v=this.Picture.elm.height*s;{let x=this.pst.frame.x+this.pst.frame.w-y,b=this.pst.frame.x,c=this.pst.frame.y+this.pst.frame.h-v,m=this.pst.frame.y,h=0;l<x&&(h=l-x),l>b&&(h=l-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,l=Math.min(Math.max(l,x),b),g=Math.min(Math.max(g,c),m)}this.pst.outImage={x:l,y:g,w:y,h:v},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,l,g,y,v)}{if(i=="square"){e.fillStyle="rgba( 20,24,20,.3 )",e.beginPath();let l=a.width/3*2,g=a.height/3*2,y=Math.min(l,g),v=Math.max(l,g);e.arc(a.width/2,a.height/2,v,0,Math.PI*2,!0),e.arc(a.width/2,a.height/2,y/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=S(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:n,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,C=(a.x-e.x+a.w)/r,s=(a.y-e.y)/p,l=(a.y-e.y+a.h)/p,g=Array.from({length:n.length}),y="image/jpeg";for(let v=0;v<n.length;v++){let{size:x,maxSize:b}=n[v];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,C-u,l-s,0,0,c,m);let T=h.toDataURL(y),w=yield T.toBlob(y);if(!w)return;if(w.size>=b){let k=b/w.size;if(T=h.toDataURL(y,k*.92),w=yield T.toBlob(y),!w)return}let W=new File([w],this.val_file.name,{type:y});g[v]=W}return g})}}const Z={Core:d=>{let{val_file:t,options:n,finishedCallback:i,abortCallback:e}=d,{use:a,develops:r=[]}=n,[p]=N(J());const u={scale:{default:120,min:100,max:400},rotate:0,grayScale:0,tone:0};let[C,s]=N(u.scale.default),[l,g]=N(u.rotate),[y,v]=N(u.grayScale),[x,b]=N(u.tone);return O(()=>{let c="CropperResize";return S(window).addEvent({eventType:"resize",eventID:c,callback:()=>{S.interval.once(()=>{var k;let m=K("#Canvas-"+p)[0];if(!m)return;let h=(k=X.get(p))==null?void 0:k.Instance;if(!h)return;let R=m.position(),T=R.width/R.height;m.width=2400,m.height=2400/T;let{width:w,height:W}=m;h.pst.centerX=w/2,h.pst.centerY=W/2,h.frameSizing(),h.modifyImage()},250,"CropperResize")}}),()=>{S(window).removeEvent(c)}},[]),O(()=>{X.set({[p]:{}}),z(void 0,null,function*(){V.fn.corner.active(),yield S.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(),T=R.width/R.height;h.width=2400,h.height=2400/T;let w=new re({set_scale:s,val_file:t,develops:r,use:a,scale:u.scale,componentID:p,canvas:h,picture:{image:yield S.ImageLoader(m),grayScale:u.grayScale,tone:u.tone,rotate:u.rotate}});X.set({[p]:{Instance:w}});const W=function(E){if(E.preventDefault(),E.touches&&E.touches.length>1)w.pinchEffect({eventType:"start",event:E}),S(document).addEvent({eventType:"touchmove",eventID:"CropperEffectMove",options:{passive:!1},callback:D=>{D.preventDefault(),w.pinchEffect({eventType:"move",event:D})}}).addEvent({eventType:"touchend",eventID:"CropperEffectEnd",options:{passive:!1},callback:j});else{w.dragEffect(H({eventType:"start"},S.getCursor(E)));let{type:D}=E;S(document).addEvent({eventType:D=="touchstart"?"touchmove":"mousemove",eventID:"CropperEffectMove",options:{passive:!1},callback:_=>{k("move",_)}}).addEvent({eventType:D=="touchstart"?"touchend":"mouseup",eventID:"CropperEffectEnd",options:{passive:!1},callback:_=>{k("end",_),j(_)}})}},k=function(E,D){D.preventDefault(),w.dragEffect(H({eventType:E},S.getCursor(D)))},j=function(E){E.preventDefault(),S(document).removeEvent(["CropperEffectMove","CropperEffectEnd"])};S(h).removeEvent(["CropperMouseWheel","CropperTouchStart","CropperMouseDown"]).addEvent({eventID:"CropperMouseWheel",eventType:"wheel",callback:E=>{E.preventDefault();let D=Number(E.wheelDelta*.04),_=w.scale.current+D;_=Math.max(_,w.scale.min),_=Math.min(_,w.scale.max),s(_)},options:{passive:!1}}).addEvent({eventType:"touchstart",eventID:"CropperTouchStart",callback:W,options:{passive:!1}}).addEvent({eventType:"mousedown",eventID:"CropperMouseDown",callback:W,options:{passive:!1}}),setTimeout(()=>{V.fn.corner.stop()},1e3)})},[t.id]),O(()=>{var m;let c=(m=X.get(p))==null?void 0:m.Instance;c&&c.updateScale(C)},[C]),O(()=>{var m;let c=(m=X.get(p))==null?void 0:m.Instance;c&&c.updateFilter({grayScale:y,tone:x,rotate:l})},[y,x,l]),o(A.Body,{borderRadius:0,height:"viewHeight",width:"viewWidth",children:f(L,{className:[U("Wrap"),U("Use_"+a)].join(" "),gap:0,height:1,position:"relative",overflow:"hidden",borderRadius:"inherit",children:[o(B,{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:C,set_scale:s,val_tone:x,set_tone:b,val_grayScale:y,set_grayScale:v,val_rotate:l,set_rotate:g}),f(I.Right,{flexSizing:"none",children:[o(P.Border,{isRounded:!0,onClick:()=>{e()},children:"\u9589\u3058\u308B"}),o(P,{isRounded:!0,boxShadow:"3.remark",onClick:()=>z(void 0,null,function*(){var h;let c=(h=X.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"],n=i=>t[i]||"\u306A\u3057";return f(I.Left,{verticalAlign:"unset",flexWrap:!0,children:[f(L,{gap:"1/3",children:[o(F.Supplement,{children:"Rotate"}),f(I.Left,{flexChilds:"even",gap:"1/6",children:[o(P.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:te})]})}),o(P.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:ae}),"90\xB0"]})})]})]}),f(L,{gap:"1/3",freeCSS:{minWidth:12*6},children:[o(F.Supplement,{children:"Zoom"}),f(P.Border.S,{flexCenter:!0,isRounded:!0,flexSizing:0,onClick:i=>{let e="CropperZoomEdit";Y.open({tipsID:e,gravityPoint:3,event:i,closeAtParentBlur:!1,freeCSS:{minWidth:12*26},content:o(A.Body,{children:f(L,{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(P.Sub,{color:"cloud",ssSphere:2.5,onClick:()=>{Y.close(e)},children:o(M.Times,{})})]}),o(B,{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:(a,r)=>{S.interval.once(()=>{d.set_scale(a+100)},250,"Cropper.UpdateScale")},legends:{enable:!0,custom:a=>"x"+Math.round(100+a)/100}})]})})})},children:[d.val_scale.rate(1,0),"%"]})]}),f(L,{gap:"1/3",freeCSS:{minWidth:12*6},children:[o(F.Supplement,{children:"GrayScale"}),f(P.Border.S,{flexCenter:!0,isRounded:!0,flexSizing:0,onClick:i=>{let e="CropperGrayScaleEdit";Y.open({tipsID:e,gravityPoint:3,event:i,closeAtParentBlur:!1,freeCSS:{minWidth:12*26},content:o(A.Body,{children:f(L,{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"}),"Gray Scale"]})}),o(P.Sub,{color:"cloud",ssSphere:2.5,onClick:()=>{Y.close(e)},children:o(M.Times,{})})]}),o(B,{borderBottom:!0,opacity:"low"}),o(q.Slider,{value:d.val_grayScale,min:0,max:100,step:10,onUpdateValidValue:a=>{S.interval.once(()=>{d.set_grayScale(a)},250,"Cropper.GrayScale")},legends:{enable:!0,custom:a=>a+"%"}})]})})})},children:[d.val_grayScale.rate(1,0),"%"]})]}),f(L,{gap:"1/3",freeCSS:{minWidth:12*6},children:[o(F.Supplement,{children:"Tone"}),o(P.Border.S,{flexCenter:!0,isRounded:!0,flexSizing:0,onClick:i=>{let e="CropperToneEdit";Y.open({tipsID:e,gravityPoint:3,event:i,closeAtParentBlur:!1,freeCSS:{minWidth:12*26,maxWidth:12*24},content:()=>{let a=[];for(let r=1;r<=10;r++)a.push({value:r,label:f(I.Left,{gap:"1/3",children:[o(B,{ssSphere:1,className:[U("ToneBall"),U("ToneBall_"+r)].join(" ")}),o(B,{textAlign:"left",flexSizing:0,children:n(r)})]})});return o(A.Body,{children:f(L,{padding:1.5,children:[f(I.Separate,{children:[o(F.Paragraph,{children:f(I.Center,{gap:"1/2",children:[o(M,{icon:ee,fontColor:"5.translucent"}),"Tone"]})}),o(P.Sub,{color:"cloud",ssSphere:2.5,onClick:()=>{Y.close(e)},children:o(M.Times,{})})]}),o(B,{borderBottom:!0,opacity:"low"}),o(q.Radio.Normal,{value:d.val_tone,gap:"1/2",cellStyles:{fontColor:"3.blur"},options:[{value:0,label:o(B,{flexSizing:0,textAlign:"center",children:"\u306A\u3057"})},...a],onUpdateValidValue:r=>{d.set_tone(r)}})]})})}})},children:f(I.Center,{gap:"1/2",children:[o(B,{boxShadow:"2.remark",ssSphere:1,className:[U("ToneBall"),U("ToneBall_"+d.val_tone)].join(" ")}),n(d.val_tone)]})})]})]})}},$={openDialogNEdit:d=>z(void 0,null,function*(){let t=yield q.Filer.fn.openDialog({accept:"image",multiple:!1});$.openEditor(H({imageFile:t[0]},d))}),openEditor:d=>z(void 0,null,function*(){let t="CropperImage";A.open({sheetID:t,type:"normal.middleCenter",size:"MAX",padding:0,margin:0,freeCSS:{maxWidth:"100%"},content:o(Z.Core,{val_file:d.imageFile,options:d,finishedCallback:n=>{A.close(t),d.onProcessFinished(n)},abortCallback:()=>{A.close(t)}}),closeAtEscapeKeyDown:!1})})};export{$ as Cropper,$ as default};
@@ -1 +1 @@
1
- import{b as e,c as n,d as C}from"../../chunk-C5N2D3ZX.js";import{jsx as r}from"react/jsx-runtime";import{UUID as x}from"jmini";import{useState as a}from"react";import{Radio as w}from"./List";import{InputSegmentedClasses as u}from"../../@styles/componentClasses";const E=t=>{let i=t,{__sys_segmented_type:o,tone:B,value:d,options:S,onUpdateValue:h,onUpdateValidValue:p,enableFormSubmit:M,checkValidationAtFirst:R,cellStyles:g,cellClassName:_,cellCheckedClassName:b,cellCheckedStyles:f,freeCSS:k,wrapStyles:J}=i,I=C(i,["__sys_segmented_type","tone","value","options","onUpdateValue","onUpdateValidValue","enableFormSubmit","checkValidationAtFirst","cellStyles","cellClassName","cellCheckedClassName","cellCheckedStyles","freeCSS","wrapStyles"]),[T]=a(x()),[c,V]=a(d),[v,m]=a(c);return c!=d&&(V(d),m(d)),r(w,n(e({options:S,value:v,componentID:T,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({},f),cellClassName:[_,u("Label"),u("Tone_"+o.replace(/\./ig,""))].join(" "),cellCheckedClassName:[b,u("Checked")].join(" "),tone:"custom",onUpdateValue:h,onUpdateValidValue:y=>{p&&p(y),o=="bottomline"&&m(y.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},t),{cellStyles:e({padding:["1/2","3/4"],borderRadius:"inherit",position:"relative"},t.cellStyles),cellCheckedStyles:e({backgroundColor:"theme",boxShadow:"1.normal",fontColor:"white"},t.cellCheckedStyles)})),r(E,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:["3/4",1],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 C}from"../../chunk-C5N2D3ZX.js";import{jsx as r}from"react/jsx-runtime";import{UUID as x}from"jmini";import{useState as a}from"react";import{Radio as w}from"./List";import{InputSegmentedClasses as u}from"../../@styles/componentClasses";const E=t=>{let i=t,{__sys_segmented_type:o,tone:B,value:d,options:S,onUpdateValue:h,onUpdateValidValue:p,enableFormSubmit:M,checkValidationAtFirst:R,cellStyles:g,cellClassName:_,cellCheckedClassName:b,cellCheckedStyles:f,freeCSS:k,wrapStyles:J}=i,I=C(i,["__sys_segmented_type","tone","value","options","onUpdateValue","onUpdateValidValue","enableFormSubmit","checkValidationAtFirst","cellStyles","cellClassName","cellCheckedClassName","cellCheckedStyles","freeCSS","wrapStyles"]),[T]=a(x()),[c,V]=a(d),[v,m]=a(c);return c!=d&&(V(d),m(d)),r(w,n(e({options:S,value:v,componentID:T,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({},f),cellClassName:[_,u("Label"),u("Tone_"+o.replace(/\./ig,""))].join(" "),cellCheckedClassName:[b,u("Checked")].join(" "),tone:"custom",onUpdateValue:h,onUpdateValidValue:(...y)=>{p&&p(...y),o=="bottomline"&&m(y[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},t),{cellStyles:e({padding:["1/2","3/4"],borderRadius:"inherit",position:"relative"},t.cellStyles),cellCheckedStyles:e({backgroundColor:"theme",boxShadow:"1.normal",fontColor:"white"},t.cellCheckedStyles)})),r(E,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:["3/4",1],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 p,c as x}from"../../../chunk-C5N2D3ZX.js";import{Fragment as q,jsx as a,jsxs as f}from"react/jsx-runtime";import{createElement as X}from"react";import D,{UUID as O,Time as S}from"jmini";import{useState as A,useEffect as F,useRef as H}from"react";import{Box as k,Flex as w,Grid as W,FAI as T,Column as V}from"../../../atoms";import{Row as N,Text as G}from"../../../mols";import{Button as C}from"../../Button";import $ from"../../Sheet";import M from"../Select";import{Radio as j}from"../List";import{RightIcon as B}from"..";import{InputTimeClasses as y}from"../../../@styles/componentClasses";let _=i=>{var t,r;let e=[],d=Number((t=i==null?void 0:i.min)!=null?t:1900),o=Number((r=i==null?void 0:i.max)!=null?r:S().addYear(10).year);for(let m=d;m<=o;m++)e.unshift({value:m,label:[m,...D.transformer.wareki(m).value].join(" -")});return e};const L=i=>{let{restrict:e,era:d="year",defaultValue:o=""}=i;i=p({},i),i.sheetID=i.sheetID||O();const t=H(!1);let[r,m]=A((()=>{var n,s;if(e=="clock"){let l=String(o).split(/[^\d]/);l[0]||(l=[0,0]);let u=Number(l[0]),c=Number(l[1]);return{modifiedType:"init",hour:u,minutes:c}}else if(e=="date"){let[l,u,c]=(n=String(o))==null?void 0:n.split(/\D/);return(D.is.nullish(l)||D.is.nullish(u)||D.is.nullish(c))&&([l,u,c]=S().toFormat("%Y-%M-%D").split("-")),{modifiedType:"init",year:Number(l),month:Number(u),date:Number(c)}}else if(e!="week"){if(e=="month"){let[l,u]=String(o).split(/\D/);return(D.is.nullish(l)||D.is.nullish(u))&&([l,u]=S().toFormat("%Y-%M").split("-")),{modifiedType:"init",year:Number(l),month:Number(u)}}else if(e=="year"){let[l]=String(o).split(/\D/);return D.is.nullish(l)&&([l]=S().toFormat("%Y").split("-")),{modifiedType:"init",year:Number(l)}}else if(e=="dateWareki"){let[l,u,c]=(s=String(o))==null?void 0:s.split(/\D/);return(D.is.nullish(l)||D.is.nullish(u)||D.is.nullish(c))&&([l,u,c]=S().toFormat("%Y-%M-%D").split("-")),{modifiedType:"init",era:d||"year",year:Number(l),month:Number(u),date:Number(c)}}}return{}})());F(()=>{if(t.current){if(r.modifiedType=="update"){let n="",s=d||"year";if(e=="clock"){let{hour:l,minutes:u}=r;n=[l.zeroEmbed(2),u.zeroEmbed(2)].join("/")}else if(e=="date"){let{year:l,month:u,date:c}=r;n=[l,u.zeroEmbed(2),c.zeroEmbed(2)].join("/")}else if(e!="week"){if(e=="month"){let{year:l,month:u}=r;n=[l,u.zeroEmbed(2)].join("/")}else if(e=="year"){let{year:l}=r;n=String(l)}else if(e=="dateWareki"){let{year:l,month:u,date:c,era:v}=r;s=v,n=[l,u.zeroEmbed(2),c.zeroEmbed(2)].join("/")}}i.onValueUpdate(n,s)}}else t.current=!0},[r]);let h=x(p({},i),{val_value:r,set_value:m});return a(k,{backgroundColor:"layer.1",borderRadius:"2.tone.secondary",boxShadow:"1.remark",children:a(k,{className:y(e.toCapital()+"Base"),children:e=="clock"?a(g.Clock.index,p({},h)):e=="date"?a(g.Date.index,p({},h)):e=="week"?"":e=="month"?a(g.Month.index,p({},h)):e=="year"?a(g.Year.index,p({},h)):e=="dates"||e=="months"?"":e=="dateWareki"?a(g.DateWareki.index,p({},h)):a(q,{})})})},g={Clock:{index:i=>{let{min:e,max:d,onValueUpdate:o,sheetID:t,val_value:r,set_value:m}=i,[h,n]=A(r.hour>12?2:1),[s,l]=A(Number(localStorage.getItem("timePickerUnit")||5));F(()=>{localStorage.setItem("timePickerUnit",String(s))},[s]);let{hour:u,minutes:c}=r;return f(V,{padding:1,children:[f(w,{flexType:"row",flexWrap:!1,gap:1,className:y("Body"),children:[f(V,{className:y("DesignSide"),flexSizing:0,children:[a(k,{className:y("ClockUiBase"),padding:[1,"2/3"],flexCenter:!0,children:f(k,{className:y("ClockUi"),backgroundColor:"theme.opa.low",isRounded:!0,position:"relative",children:[a(k,{position:"absolute",backgroundColor:"theme",unitWidth:"1/12",className:[y("Needle"),y("hour")].join(" "),freeCSS:{transform:`rotate(${u*30+c/2}deg)`}}),a(k,{position:"absolute",backgroundColor:"theme",unitWidth:"1/12",className:[y("Needle"),y("minute")].join(" "),freeCSS:{transform:`rotate(${c*6}deg)`}})]})}),a(j,{icon:!0,value:[h],options:[{value:1,label:"AM"},{value:2,label:"PM"}],flexType:"col",gap:"1/2",tabIndex:-1,onUpdateValidValue:({value:v})=>{let I=r.hour%12+(v==2?12:0);n(v),m({modifiedType:"update",hour:I,minutes:r.minutes})}}),a(k,{borderTop:!0,margin:[0,1]}),a(j,{icon:!0,value:[s],options:[{value:1,label:"/ 1\u5206"},{value:2,label:"/ 2\u5206"},{value:5,label:"/ 5\u5206"}],flexType:"col",gap:"1/2",tabIndex:-1,onUpdateValidValue:({value:v})=>{l(v)}})]}),f(V,{children:[f(k,{flexCenter:!0,isSemiBoldFont:!0,fontSize:"3.paragraph",children:[r.hour.zeroEmbed(2)," : ",r.minutes.zeroEmbed(2)]}),f(w,{flexWrap:!1,ssCardBox:!0,flexChilds:"even",padding:["1/3",0],freeCSS:{minWidth:12*12},children:[a(V,{gap:0,overflow:"auto",padding:"2/3",borderRight:!0,freeCSS:{maxHeight:12*22},children:g.Clock.Hours({onClick:v=>{let R=v+(h==2?12:0);m({modifiedType:"update",hour:R,minutes:r.minutes})},min:e,max:d,ampm:h})}),a(V,{gap:0,overflow:"auto",padding:"2/3",freeCSS:{maxHeight:12*22},children:g.Clock.Minutes({onClick:v=>{m({modifiedType:"update",hour:r.hour,minutes:v})},min:e,max:d,unit:s})})]})]})]}),a(g.Variables.Footer,{sheetID:t,onValueUpdate:o})]})},Hours:i=>{let e=[];for(let d=0;d<12;d++){let o=i.ampm==2?d+12:d,t=!1;{let r=Number(String(o*100).replace(/\D/ig,""));if(i.min&&Number(String(i.min).replace(/\D/ig,""))>r&&(t=!0),i.max){let m=Number(String(i.max).replace(/\D/ig,""));r>m&&(t=!0)}}e.push(a(C.Normal,{isLocked:t,borderBottom:!0,borderRadius:0,padding:["1/2",1],freeCSS:{whiteSpace:"nowrap"},tabIndex:-1,onClick:()=>{i.onClick(d)},children:o.zeroEmbed(2)},d))}return e},Minutes:i=>{let e=[];for(let d=0;d<60/i.unit;d++){let o=d*i.unit;e.push(a(C.Normal,{borderBottom:!0,borderRadius:0,padding:["1/2",1],freeCSS:{whiteSpace:"nowrap"},tabIndex:-1,onClick:()=>{i.onClick(o)},children:o.zeroEmbed(2)},o))}return e}},Date:{index:i=>{let{min:e,max:d,onValueUpdate:o,sheetID:t,val_value:r,set_value:m}=i,{year:h,month:n,date:s}=r;return f(V,{padding:1,children:[f(N.Separate,{flexWrap:!0,children:[f(w,{verticalAlign:"bottom",horizontalAlign:"left",gap:"2/3",flexWrap:!1,children:[a(M,{override:"force",emptySelect:!1,value:h,options:_(),fontSize:"1.mini",border:"1.thin",padding:["1/3","2/3"],paddingRight:1,SelectorStyles:{freeCSS:{minWidth:12*12}},onUpdateValidValue:({value:l})=>{m({modifiedType:"update",year:Number(l),month:n,date:s})},rightIcon:a(B,{ssSphere:2,right:"1/3",children:a(T.AngleDown,{})})}),a(M,{override:"force",emptySelect:!1,value:n,options:(()=>{let l=[];for(let u=1;u<=12;u++)l.push({value:u,label:String(u)+"\u6708"});return l})(),fontSize:"1.mini",border:"1.thin",padding:["1/3","2/3"],paddingRight:1,SelectorStyles:{freeCSS:{minWidth:12*8}},rightIcon:a(B,{ssSphere:2,right:"1/3",children:a(T.AngleDown,{})}),onUpdateValidValue:({value:l})=>{m({modifiedType:"update",year:h,month:Number(l),date:s})}})]}),a(g.Variables.ShiftButtons,{callback:l=>{let u=n+l,c=h;u<=0&&(c--,u=12),u>12&&(c++,u=1),m({modifiedType:"update",year:c,month:u,date:r.date})}})]}),a(k,{borderTop:!0}),a(k,{children:g.Date.MonthCalendar({min:e,max:d,year:r.year,month:r.month,current:[r.year,r.month,r.date],callback:l=>{let[u,c,v]=l;m({modifiedType:"update",year:u,month:c,date:v})}})}),a(g.Variables.Footer,{sheetID:t,onValueUpdate:o})]})},MonthCalendar:i=>{let{min:e,max:d,year:o,month:t,current:r,callback:m}=i,h=S(),n=S([o,t.zeroEmbed(2),"01"].join("/")),s=n.getLastDayOfTheMonth(),l=S(n).addMonth(-1).getLastDayOfTheMonth().date,u=[],c=[],v=[],R=[],I={padding:0,unitWidth:3,unitHeight:3,flexCenter:!0,borderRadius:"3.tone.tertiary"};for(var b=0;b<7;b++)u.push(a(k,x(p({className:[y("CalendarDay"),y("Legend")].join(" ")},I),{children:["\u65E5","\u6708","\u706B","\u6C34","\u6728","\u91D1","\u571F"][b]}),b));for(var b=0;b<n.weekday;b++)c.unshift(X(k,x(p({className:[y("CalendarDay"),y("Dummy")].join(" "),fontColor:"4.thin"},I),{key:b}),l-b));for(var b=1;b<=s.date;b++){let E=b,Y=o==h.year&&t==h.month&&b==h.date,P=!1;{let z=Number(String([o,t.zeroEmbed(2),b.zeroEmbed(2)].join("/")).replace(/\D/ig,""));if(i.min&&Number(String(i.min).replace(/\D/ig,""))>z&&(P=!0),i.max){let U=Number(String(i.max).replace(/\D/ig,""));z>U&&(P=!0)}}v.push(a(C.Clear,x(p({className:[y("CalendarDay"),y("isToday_"+Y)].join(" ")},I),{fontColor:"1.clear",padding:0,flexCenter:!0,isRounded:!0,ssEffectsOnActive:"shrink",onClick:()=>{m([o,t,E])},tabIndex:-1,isLocked:P,children:b}),E))}for(var b=1;b<7-s.weekday;b++)R.push(a(k,x(p({className:[y("CalendarDay"),y("Dummy")].join(" "),fontColor:"4.thin"},I),{children:b}),b));return f(W,{gridCols:7,gap:"1/6",children:[u,c,v,R]})}},Month:{index:i=>{let{min:e,max:d,onValueUpdate:o,sheetID:t,val_value:r,set_value:m}=i,{year:h,month:n}=r;return f(V,{padding:1,children:[f(N.Separate,{gap:0,children:[a(N.Center,{verticalAlign:"bottom",gap:"2/3",children:a(M,{emptySelect:!1,value:h,options:_(),override:"force",border:"1.thin",padding:["1/3","2/3"],paddingRight:2,SelectorStyles:{freeCSS:{minWidth:12*12}},rightIcon:a(B,{ssSphere:2,right:"1/3",children:a(T.AngleDown,{})}),onUpdateValidValue:({value:s})=>{m({modifiedType:"update",year:Number(s),month:n})}})}),a(g.Variables.ShiftButtons,{callback:s=>{let l=Math.min(Math.max(h+s,1900),2100);m({modifiedType:"update",year:l,month:n})}})]}),a(k,{borderTop:!0}),g.Month.Months({min:e,max:d,year:r.year,callback:s=>{let[l,u]=s;m({modifiedType:"update",year:l,month:u})}}),a(g.Variables.Footer,{sheetID:t,onValueUpdate:o})]})},Months:i=>{let{year:e,callback:d}=i,o=S(),t=[];for(let r=1;r<=12;r++){let m=e==o.year&&r==o.month,h=!1;{let s=Number(String([e,r.zeroEmbed(2)].join("/")).replace(/\D/ig,""));if(i.min&&Number(String(i.min).replace(/\D/ig,""))>s&&(h=!0),i.max){let l=Number(String(i.max).replace(/\D/ig,""));s>l&&(h=!0)}}let n=[y("Cell"),m?y("isThisMonth"):""].join(" ");t.push(f(C.Clear,{className:n,isLocked:h,fontColor:"2.normal",padding:["1/3",1],ssEffectsOnActive:"shrink",onClick:()=>{d([e,r])},children:[r," \u6708"]},e+"-"+r))}return a(W,{gridCols:4,gap:"2/3",children:t})}},Year:{index:i=>{let{min:e,max:d,onValueUpdate:o,sheetID:t,val_value:r,set_value:m}=i,{year:h}=r;return f(V,{padding:1,children:[a(M,{emptySelect:!1,paddingRight:1,fontSize:"1.mini",value:h||S().year,override:"force",SelectorStyles:{freeCSS:{minWidth:12*12}},options:_({min:e,max:d}),onUpdateValidValue:({value:n})=>{m({modifiedType:"update",year:Number(n)})}}),a(g.Variables.Footer,{sheetID:t,onValueUpdate:o,onSubmit:()=>{m({modifiedType:"update",year:Number(h||S().year)})}})]})}},DateWareki:{index:i=>{let{min:e,max:d,onValueUpdate:o,sheetID:t,val_value:r,set_value:m}=i,{era:h,year:n,month:s,date:l}=r,u={val_value:r,set_value:m};return f(k,{children:[f(N.Left,{borderBottom:!0,gap:0,verticalAlign:"unset",children:[a(g.DateWareki.EraSelect,p({},u)),a(k,{borderRight:!0}),a(g.DateWareki.Calendar,p({},u))]}),a(N.Right,{padding:1,children:a(g.Variables.Footer,{sheetID:t,onValueUpdate:o})})]})},EraSelect:i=>{let{val_value:e,set_value:d}=i,o={padding:["1/2",1.5],fontColor:"3.blur"},t={backgroundColor:"cloud",fontColor:"2.normal",isSemiBoldFont:!0};return f(V,{padding:1,gap:0,children:[a(C.Clear,x(p({color:"cloud"},o),{isActiveStyles:t,isActive:e.era=="year",onClick:()=>{let r=S();d({modifiedType:"update",era:"year",year:r.year,month:r.month,date:r.date})},children:"\u897F\u66A6"})),a(C.Clear,x(p({color:"cloud"},o),{isActiveStyles:t,isActive:e.era=="reiwa",onClick:()=>{let r=S();d({modifiedType:"update",era:"reiwa",year:r.year,month:r.month,date:r.date})},children:"\u4EE4\u548C"})),a(C.Clear,x(p({color:"cloud"},o),{isActiveStyles:t,isActive:e.era=="heisei",onClick:()=>{d({modifiedType:"update",era:"heisei",year:2019,month:1,date:1})},children:"\u5E73\u6210"})),a(C.Clear,x(p({color:"cloud"},o),{isActiveStyles:t,isActive:e.era=="shouwa",onClick:()=>{d({modifiedType:"update",era:"shouwa",year:1989,month:1,date:1})},children:"\u662D\u548C"})),a(C.Clear,x(p({color:"cloud"},o),{isActiveStyles:t,isActive:e.era=="taisho",onClick:()=>{d({modifiedType:"update",era:"taisho",year:1926,month:1,date:1})},children:"\u5927\u6B63"})),a(C.Clear,x(p({color:"cloud"},o),{isActiveStyles:t,isActive:e.era=="meiji",onClick:()=>{d({modifiedType:"update",era:"meiji",year:1912,month:1,date:1})},children:"\u660E\u6CBB"}))]})},Calendar:i=>{let{val_value:e,set_value:d}=i,o=[];if(e.era=="year"){let t=S().year+10;for(let r=1900;r<t;r++)o.unshift({value:r,label:r+"\u5E74"})}else if(e.era=="reiwa"){let t=S().year-2018;for(let r=1;r<=t+10;r++)o.unshift({value:2019+r-1,label:"\u4EE4\u548C"+(r==1?"\u5143":r)+"\u5E74"})}else if(e.era=="heisei")for(let t=1;t<=31;t++)o.unshift({value:1989+t-1,label:"\u5E73\u6210"+(t==1?"\u5143":t)+"\u5E74"});else if(e.era=="shouwa")for(let t=1;t<=64;t++)o.unshift({value:1926+t-1,label:"\u662D\u548C"+(t==1?"\u5143":t)+"\u5E74"});else if(e.era=="taisho")for(let t=1;t<=15;t++)o.unshift({value:1912+t-1,label:"\u5927\u6B63"+(t==1?"\u5143":t)+"\u5E74"});else if(e.era=="meiji")for(let t=1;t<=45;t++)o.unshift({value:1868+t-1,label:"\u660E\u6CBB"+(t==1?"\u5143":t)+"\u5E74"});return f(V,{padding:1,children:[f(N.Separate,{children:[a(M,{emptySelect:!1,override:"force",border:"1.thin",padding:["1/3","2/3"],paddingRight:1,fontSize:"1.mini",SelectorStyles:{freeCSS:{minWidth:12*12}},rightIcon:a(B,{ssSphere:2,right:"1/3",children:a(T.AngleDown,{})}),options:o,value:e.year,onUpdateValidValue:({value:t})=>{d(r=>x(p({},r),{modifiedType:"update",year:Number(t)}))}}),f(N.Center,{gap:"1/3",children:[a(M,{emptySelect:!1,override:"force",border:"1.thin",padding:["1/3","2/3"],paddingRight:1,fontSize:"1.mini",SelectorStyles:{freeCSS:{minWidth:12*9}},rightIcon:a(B,{ssSphere:2,right:"1/3",children:a(T.AngleDown,{})}),options:[{value:1,label:"1\u6708"},{value:2,label:"2\u6708"},{value:3,label:"3\u6708"},{value:4,label:"4\u6708"},{value:5,label:"5\u6708"},{value:6,label:"6\u6708"},{value:7,label:"7\u6708"},{value:8,label:"8\u6708"},{value:9,label:"9\u6708"},{value:10,label:"10\u6708"},{value:11,label:"11\u6708"},{value:12,label:"12\u6708"}],value:e.month,onUpdateValidValue:({value:t})=>{d({modifiedType:"update",era:e.era,year:e.year,month:Number(t),date:1})}}),a(C.Clear.S,{ssSphere:2.5,onClick:()=>{let t=e.month-1;d({modifiedType:"update",era:e.era,year:t==0?e.year-1:e.year,month:t==0?12:t,date:1})},children:a(T.ChevronLeft,{})}),a(C.Clear.S,{ssSphere:2.5,onClick:()=>{let t=e.month+1;d({modifiedType:"update",era:e.era,year:t==13?e.year+1:e.year,month:t==13?1:t,date:1})},children:a(T.ChevronRight,{})})]})]}),a(g.DateWareki.MonthCell,p({},i))]},e.era)},MonthCell:i=>{let{val_value:e,set_value:d}=i,o=S([e.year.zeroEmbed(4),e.month.zeroEmbed(2),e.date.zeroEmbed(2)].join("/"));if(!o.validate)return;let t=o.getFirstDayOfTheMonth().weekday,r=o.getLastDayOfTheMonth(),m=[];for(let n=0;n<7;n++)m.push(a(G.Supplement,{flexCenter:!0,fontColor:n==0?"googleRed":n==6?"googleBlue":"3.blur",children:D.transformer.weekday.shortJP(n)},"legend-"+n));for(let n=0;n<t;n++){let s=S(o).getFirstDayOfTheMonth().addDate(n-t);m.push(a(C.Sub,{color:"cloud",ssSquare:3,opacity:"middle",onClick:l=>{l.preventDefault(),l.stopPropagation(),d({modifiedType:"update",era:e.era,year:s.year,month:s.month,date:s.date})},children:s.date},"lastMonth-"+n))}let h=S();for(let n=1;n<=r.date;n++){let s=S(o).setDate(n),l=h.diff(s).dates==0;m.push(a(C.Clear,{ssSquare:3,fontColor:"2.normal",className:[y("CalendarDay"),y("isToday_"+l)].join(" "),onClick:()=>{d({modifiedType:"update",era:e.era,year:s.year,month:s.month,date:s.date})},children:s.date},"currentMonth-"+n))}for(let n=0;n<7-r.weekday-1;n++){let s=S(o).addMonth(1).setDate(1).addDate(n);m.push(a(C.Sub,{color:"cloud",ssSquare:3,opacity:"middle",onClick:l=>{l.preventDefault(),l.stopPropagation(),d({modifiedType:"update",era:e.era,year:s.year,month:s.month,date:s.date})},children:s.date},"nextMonth-"+n))}return a(W,{gridCols:7,gap:"1/4",children:m})}},Variables:{Footer:i=>f(w,{flexWrap:!1,gap:1,flexChilds:"even",freeCSS:{whiteSpace:"nowrap"},children:[f(C.Sub.S,{color:"cloud",tabIndex:-1,isRounded:!0,onClick:()=>{i.onValueUpdate("")},flexSizing:"none",children:[a(T.Times,{})," \u524A\u9664"]}),a(C.Prime.S,{tabIndex:-1,isRounded:!0,flexSizing:"auto",freeCSS:{minWidth:12*6},onClick:()=>{i.onSubmit&&i.onSubmit(),$.close(i.sheetID)},children:"\u6C7A\u5B9A"})]}),ShiftButtons:i=>f(w,{gap:"1/3",flexWrap:!1,children:[a(C.Clear,x(p({className:y("LeftButton"),tabIndex:-1,right:0},g.Variables.ShiftButtonStyles),{onClick:()=>{i.callback(-1)},children:a(T.ChevronLeft,{})})),a(C.Clear,x(p({className:y("RightButton"),tabIndex:-1,left:0},g.Variables.ShiftButtonStyles),{onClick:()=>{i.callback(1)},children:a(T.ChevronRight,{})}))]}),ShiftButtonStyles:{position:"relative",flexCenter:!0,ssSphere:2.5}}};export{L as Picker,L as default};
1
+ import{b as p,c as x}from"../../../chunk-C5N2D3ZX.js";import{Fragment as q,jsx as a,jsxs as f}from"react/jsx-runtime";import{createElement as X}from"react";import D,{UUID as O,Time as S}from"jmini";import{useState as A,useEffect as F,useRef as H}from"react";import{Box as k,Flex as w,Grid as W,FAI as T,Column as V}from"../../../atoms";import{Row as N,Text as G}from"../../../mols";import{Button as C}from"../../Button";import $ from"../../Sheet";import M from"../Select";import{Radio as j}from"../List";import{RightIcon as B}from"..";import{InputTimeClasses as y}from"../../../@styles/componentClasses";let _=i=>{var t,r;let e=[],d=Number((t=i==null?void 0:i.min)!=null?t:1900),o=Number((r=i==null?void 0:i.max)!=null?r:S().addYear(10).year);for(let m=d;m<=o;m++)e.unshift({value:m,label:[m,...D.transformer.wareki(m).value].join(" -")});return e};const L=i=>{let{restrict:e,era:d="year",defaultValue:o=""}=i;i=p({},i),i.sheetID=i.sheetID||O();const t=H(!1);let[r,m]=A((()=>{var n,s;if(e=="clock"){let l=String(o).split(/[^\d]/);l[0]||(l=[0,0]);let u=Number(l[0]),c=Number(l[1]);return{modifiedType:"init",hour:u,minutes:c}}else if(e=="date"){let[l,u,c]=(n=String(o))==null?void 0:n.split(/\D/);return(D.is.nullish(l)||D.is.nullish(u)||D.is.nullish(c))&&([l,u,c]=S().toFormat("%Y-%M-%D").split("-")),{modifiedType:"init",year:Number(l),month:Number(u),date:Number(c)}}else if(e!="week"){if(e=="month"){let[l,u]=String(o).split(/\D/);return(D.is.nullish(l)||D.is.nullish(u))&&([l,u]=S().toFormat("%Y-%M").split("-")),{modifiedType:"init",year:Number(l),month:Number(u)}}else if(e=="year"){let[l]=String(o).split(/\D/);return D.is.nullish(l)&&([l]=S().toFormat("%Y").split("-")),{modifiedType:"init",year:Number(l)}}else if(e=="dateWareki"){let[l,u,c]=(s=String(o))==null?void 0:s.split(/\D/);return(D.is.nullish(l)||D.is.nullish(u)||D.is.nullish(c))&&([l,u,c]=S().toFormat("%Y-%M-%D").split("-")),{modifiedType:"init",era:d||"year",year:Number(l),month:Number(u),date:Number(c)}}}return{}})());F(()=>{if(t.current){if(r.modifiedType=="update"){let n="",s=d||"year";if(e=="clock"){let{hour:l,minutes:u}=r;n=[l.zeroEmbed(2),u.zeroEmbed(2)].join("/")}else if(e=="date"){let{year:l,month:u,date:c}=r;n=[l,u.zeroEmbed(2),c.zeroEmbed(2)].join("/")}else if(e!="week"){if(e=="month"){let{year:l,month:u}=r;n=[l,u.zeroEmbed(2)].join("/")}else if(e=="year"){let{year:l}=r;n=String(l)}else if(e=="dateWareki"){let{year:l,month:u,date:c,era:v}=r;s=v,n=[l,u.zeroEmbed(2),c.zeroEmbed(2)].join("/")}}i.onValueUpdate(n,s)}}else t.current=!0},[r]);let h=x(p({},i),{val_value:r,set_value:m});return a(k,{backgroundColor:"layer.1",borderRadius:"2.tone.secondary",boxShadow:"1.remark",children:a(k,{className:y(e.toCapital()+"Base"),children:e=="clock"?a(g.Clock.index,p({},h)):e=="date"?a(g.Date.index,p({},h)):e=="week"?"":e=="month"?a(g.Month.index,p({},h)):e=="year"?a(g.Year.index,p({},h)):e=="dates"||e=="months"?"":e=="dateWareki"?a(g.DateWareki.index,p({},h)):a(q,{})})})},g={Clock:{index:i=>{let{min:e,max:d,onValueUpdate:o,sheetID:t,val_value:r,set_value:m}=i,[h,n]=A(r.hour>12?2:1),[s,l]=A(Number(localStorage.getItem("timePickerUnit")||5));F(()=>{localStorage.setItem("timePickerUnit",String(s))},[s]);let{hour:u,minutes:c}=r;return f(V,{padding:1,children:[f(w,{flexType:"row",flexWrap:!1,gap:1,className:y("Body"),children:[f(V,{className:y("DesignSide"),flexSizing:0,children:[a(k,{className:y("ClockUiBase"),padding:[1,"2/3"],flexCenter:!0,children:f(k,{className:y("ClockUi"),backgroundColor:"theme.opa.low",isRounded:!0,position:"relative",children:[a(k,{position:"absolute",backgroundColor:"theme",unitWidth:"1/12",className:[y("Needle"),y("hour")].join(" "),freeCSS:{transform:`rotate(${u*30+c/2}deg)`}}),a(k,{position:"absolute",backgroundColor:"theme",unitWidth:"1/12",className:[y("Needle"),y("minute")].join(" "),freeCSS:{transform:`rotate(${c*6}deg)`}})]})}),a(j,{icon:!0,value:[h],options:[{value:1,label:"AM"},{value:2,label:"PM"}],flexType:"col",gap:"1/2",tabIndex:-1,onUpdateValidValue:v=>{let I=r.hour%12+(v==2?12:0);n(v),m({modifiedType:"update",hour:I,minutes:r.minutes})}}),a(k,{borderTop:!0,margin:[0,1]}),a(j,{icon:!0,value:[s],options:[{value:1,label:"/ 1\u5206"},{value:2,label:"/ 2\u5206"},{value:5,label:"/ 5\u5206"}],flexType:"col",gap:"1/2",tabIndex:-1,onUpdateValidValue:v=>{l(v)}})]}),f(V,{children:[f(k,{flexCenter:!0,isSemiBoldFont:!0,fontSize:"3.paragraph",children:[r.hour.zeroEmbed(2)," : ",r.minutes.zeroEmbed(2)]}),f(w,{flexWrap:!1,ssCardBox:!0,flexChilds:"even",padding:["1/3",0],freeCSS:{minWidth:12*12},children:[a(V,{gap:0,overflow:"auto",padding:"2/3",borderRight:!0,freeCSS:{maxHeight:12*22},children:g.Clock.Hours({onClick:v=>{let R=v+(h==2?12:0);m({modifiedType:"update",hour:R,minutes:r.minutes})},min:e,max:d,ampm:h})}),a(V,{gap:0,overflow:"auto",padding:"2/3",freeCSS:{maxHeight:12*22},children:g.Clock.Minutes({onClick:v=>{m({modifiedType:"update",hour:r.hour,minutes:v})},min:e,max:d,unit:s})})]})]})]}),a(g.Variables.Footer,{sheetID:t,onValueUpdate:o})]})},Hours:i=>{let e=[];for(let d=0;d<12;d++){let o=i.ampm==2?d+12:d,t=!1;{let r=Number(String(o*100).replace(/\D/ig,""));if(i.min&&Number(String(i.min).replace(/\D/ig,""))>r&&(t=!0),i.max){let m=Number(String(i.max).replace(/\D/ig,""));r>m&&(t=!0)}}e.push(a(C.Normal,{isLocked:t,borderBottom:!0,borderRadius:0,padding:["1/2",1],freeCSS:{whiteSpace:"nowrap"},tabIndex:-1,onClick:()=>{i.onClick(d)},children:o.zeroEmbed(2)},d))}return e},Minutes:i=>{let e=[];for(let d=0;d<60/i.unit;d++){let o=d*i.unit;e.push(a(C.Normal,{borderBottom:!0,borderRadius:0,padding:["1/2",1],freeCSS:{whiteSpace:"nowrap"},tabIndex:-1,onClick:()=>{i.onClick(o)},children:o.zeroEmbed(2)},o))}return e}},Date:{index:i=>{let{min:e,max:d,onValueUpdate:o,sheetID:t,val_value:r,set_value:m}=i,{year:h,month:n,date:s}=r;return f(V,{padding:1,children:[f(N.Separate,{flexWrap:!0,children:[f(w,{verticalAlign:"bottom",horizontalAlign:"left",gap:"2/3",flexWrap:!1,children:[a(M,{override:"force",emptySelect:!1,value:h,options:_(),fontSize:"1.mini",border:"1.thin",padding:["1/3","2/3"],paddingRight:1,SelectorStyles:{freeCSS:{minWidth:12*12}},onUpdateValidValue:l=>{m({modifiedType:"update",year:Number(l),month:n,date:s})},rightIcon:a(B,{ssSphere:2,right:"1/3",children:a(T.AngleDown,{})})}),a(M,{override:"force",emptySelect:!1,value:n,options:(()=>{let l=[];for(let u=1;u<=12;u++)l.push({value:u,label:String(u)+"\u6708"});return l})(),fontSize:"1.mini",border:"1.thin",padding:["1/3","2/3"],paddingRight:1,SelectorStyles:{freeCSS:{minWidth:12*8}},rightIcon:a(B,{ssSphere:2,right:"1/3",children:a(T.AngleDown,{})}),onUpdateValidValue:l=>{m({modifiedType:"update",year:h,month:Number(l),date:s})}})]}),a(g.Variables.ShiftButtons,{callback:l=>{let u=n+l,c=h;u<=0&&(c--,u=12),u>12&&(c++,u=1),m({modifiedType:"update",year:c,month:u,date:r.date})}})]}),a(k,{borderTop:!0}),a(k,{children:g.Date.MonthCalendar({min:e,max:d,year:r.year,month:r.month,current:[r.year,r.month,r.date],callback:l=>{let[u,c,v]=l;m({modifiedType:"update",year:u,month:c,date:v})}})}),a(g.Variables.Footer,{sheetID:t,onValueUpdate:o})]})},MonthCalendar:i=>{let{min:e,max:d,year:o,month:t,current:r,callback:m}=i,h=S(),n=S([o,t.zeroEmbed(2),"01"].join("/")),s=n.getLastDayOfTheMonth(),l=S(n).addMonth(-1).getLastDayOfTheMonth().date,u=[],c=[],v=[],R=[],I={padding:0,unitWidth:3,unitHeight:3,flexCenter:!0,borderRadius:"3.tone.tertiary"};for(var b=0;b<7;b++)u.push(a(k,x(p({className:[y("CalendarDay"),y("Legend")].join(" ")},I),{children:["\u65E5","\u6708","\u706B","\u6C34","\u6728","\u91D1","\u571F"][b]}),b));for(var b=0;b<n.weekday;b++)c.unshift(X(k,x(p({className:[y("CalendarDay"),y("Dummy")].join(" "),fontColor:"4.thin"},I),{key:b}),l-b));for(var b=1;b<=s.date;b++){let E=b,Y=o==h.year&&t==h.month&&b==h.date,P=!1;{let z=Number(String([o,t.zeroEmbed(2),b.zeroEmbed(2)].join("/")).replace(/\D/ig,""));if(i.min&&Number(String(i.min).replace(/\D/ig,""))>z&&(P=!0),i.max){let U=Number(String(i.max).replace(/\D/ig,""));z>U&&(P=!0)}}v.push(a(C.Clear,x(p({className:[y("CalendarDay"),y("isToday_"+Y)].join(" ")},I),{fontColor:"1.clear",padding:0,flexCenter:!0,isRounded:!0,ssEffectsOnActive:"shrink",onClick:()=>{m([o,t,E])},tabIndex:-1,isLocked:P,children:b}),E))}for(var b=1;b<7-s.weekday;b++)R.push(a(k,x(p({className:[y("CalendarDay"),y("Dummy")].join(" "),fontColor:"4.thin"},I),{children:b}),b));return f(W,{gridCols:7,gap:"1/6",children:[u,c,v,R]})}},Month:{index:i=>{let{min:e,max:d,onValueUpdate:o,sheetID:t,val_value:r,set_value:m}=i,{year:h,month:n}=r;return f(V,{padding:1,children:[f(N.Separate,{gap:0,children:[a(N.Center,{verticalAlign:"bottom",gap:"2/3",children:a(M,{emptySelect:!1,value:h,options:_(),override:"force",border:"1.thin",padding:["1/3","2/3"],paddingRight:2,SelectorStyles:{freeCSS:{minWidth:12*12}},rightIcon:a(B,{ssSphere:2,right:"1/3",children:a(T.AngleDown,{})}),onUpdateValidValue:s=>{m({modifiedType:"update",year:Number(s),month:n})}})}),a(g.Variables.ShiftButtons,{callback:s=>{let l=Math.min(Math.max(h+s,1900),2100);m({modifiedType:"update",year:l,month:n})}})]}),a(k,{borderTop:!0}),g.Month.Months({min:e,max:d,year:r.year,callback:s=>{let[l,u]=s;m({modifiedType:"update",year:l,month:u})}}),a(g.Variables.Footer,{sheetID:t,onValueUpdate:o})]})},Months:i=>{let{year:e,callback:d}=i,o=S(),t=[];for(let r=1;r<=12;r++){let m=e==o.year&&r==o.month,h=!1;{let s=Number(String([e,r.zeroEmbed(2)].join("/")).replace(/\D/ig,""));if(i.min&&Number(String(i.min).replace(/\D/ig,""))>s&&(h=!0),i.max){let l=Number(String(i.max).replace(/\D/ig,""));s>l&&(h=!0)}}let n=[y("Cell"),m?y("isThisMonth"):""].join(" ");t.push(f(C.Clear,{className:n,isLocked:h,fontColor:"2.normal",padding:["1/3",1],ssEffectsOnActive:"shrink",onClick:()=>{d([e,r])},children:[r," \u6708"]},e+"-"+r))}return a(W,{gridCols:4,gap:"2/3",children:t})}},Year:{index:i=>{let{min:e,max:d,onValueUpdate:o,sheetID:t,val_value:r,set_value:m}=i,{year:h}=r;return f(V,{padding:1,children:[a(M,{emptySelect:!1,paddingRight:1,fontSize:"1.mini",value:h||S().year,override:"force",SelectorStyles:{freeCSS:{minWidth:12*12}},options:_({min:e,max:d}),onUpdateValidValue:n=>{m({modifiedType:"update",year:Number(n)})}}),a(g.Variables.Footer,{sheetID:t,onValueUpdate:o,onSubmit:()=>{m({modifiedType:"update",year:Number(h||S().year)})}})]})}},DateWareki:{index:i=>{let{min:e,max:d,onValueUpdate:o,sheetID:t,val_value:r,set_value:m}=i,{era:h,year:n,month:s,date:l}=r,u={val_value:r,set_value:m};return f(k,{children:[f(N.Left,{borderBottom:!0,gap:0,verticalAlign:"unset",children:[a(g.DateWareki.EraSelect,p({},u)),a(k,{borderRight:!0}),a(g.DateWareki.Calendar,p({},u))]}),a(N.Right,{padding:1,children:a(g.Variables.Footer,{sheetID:t,onValueUpdate:o})})]})},EraSelect:i=>{let{val_value:e,set_value:d}=i,o={padding:["1/2",1.5],fontColor:"3.blur"},t={backgroundColor:"cloud",fontColor:"2.normal",isSemiBoldFont:!0};return f(V,{padding:1,gap:0,children:[a(C.Clear,x(p({color:"cloud"},o),{isActiveStyles:t,isActive:e.era=="year",onClick:()=>{let r=S();d({modifiedType:"update",era:"year",year:r.year,month:r.month,date:r.date})},children:"\u897F\u66A6"})),a(C.Clear,x(p({color:"cloud"},o),{isActiveStyles:t,isActive:e.era=="reiwa",onClick:()=>{let r=S();d({modifiedType:"update",era:"reiwa",year:r.year,month:r.month,date:r.date})},children:"\u4EE4\u548C"})),a(C.Clear,x(p({color:"cloud"},o),{isActiveStyles:t,isActive:e.era=="heisei",onClick:()=>{d({modifiedType:"update",era:"heisei",year:2019,month:1,date:1})},children:"\u5E73\u6210"})),a(C.Clear,x(p({color:"cloud"},o),{isActiveStyles:t,isActive:e.era=="shouwa",onClick:()=>{d({modifiedType:"update",era:"shouwa",year:1989,month:1,date:1})},children:"\u662D\u548C"})),a(C.Clear,x(p({color:"cloud"},o),{isActiveStyles:t,isActive:e.era=="taisho",onClick:()=>{d({modifiedType:"update",era:"taisho",year:1926,month:1,date:1})},children:"\u5927\u6B63"})),a(C.Clear,x(p({color:"cloud"},o),{isActiveStyles:t,isActive:e.era=="meiji",onClick:()=>{d({modifiedType:"update",era:"meiji",year:1912,month:1,date:1})},children:"\u660E\u6CBB"}))]})},Calendar:i=>{let{val_value:e,set_value:d}=i,o=[];if(e.era=="year"){let t=S().year+10;for(let r=1900;r<t;r++)o.unshift({value:r,label:r+"\u5E74"})}else if(e.era=="reiwa"){let t=S().year-2018;for(let r=1;r<=t+10;r++)o.unshift({value:2019+r-1,label:"\u4EE4\u548C"+(r==1?"\u5143":r)+"\u5E74"})}else if(e.era=="heisei")for(let t=1;t<=31;t++)o.unshift({value:1989+t-1,label:"\u5E73\u6210"+(t==1?"\u5143":t)+"\u5E74"});else if(e.era=="shouwa")for(let t=1;t<=64;t++)o.unshift({value:1926+t-1,label:"\u662D\u548C"+(t==1?"\u5143":t)+"\u5E74"});else if(e.era=="taisho")for(let t=1;t<=15;t++)o.unshift({value:1912+t-1,label:"\u5927\u6B63"+(t==1?"\u5143":t)+"\u5E74"});else if(e.era=="meiji")for(let t=1;t<=45;t++)o.unshift({value:1868+t-1,label:"\u660E\u6CBB"+(t==1?"\u5143":t)+"\u5E74"});return f(V,{padding:1,children:[f(N.Separate,{children:[a(M,{emptySelect:!1,override:"force",border:"1.thin",padding:["1/3","2/3"],paddingRight:1,fontSize:"1.mini",SelectorStyles:{freeCSS:{minWidth:12*12}},rightIcon:a(B,{ssSphere:2,right:"1/3",children:a(T.AngleDown,{})}),options:o,value:e.year,onUpdateValidValue:t=>{d(r=>x(p({},r),{modifiedType:"update",year:Number(t)}))}}),f(N.Center,{gap:"1/3",children:[a(M,{emptySelect:!1,override:"force",border:"1.thin",padding:["1/3","2/3"],paddingRight:1,fontSize:"1.mini",SelectorStyles:{freeCSS:{minWidth:12*9}},rightIcon:a(B,{ssSphere:2,right:"1/3",children:a(T.AngleDown,{})}),options:[{value:1,label:"1\u6708"},{value:2,label:"2\u6708"},{value:3,label:"3\u6708"},{value:4,label:"4\u6708"},{value:5,label:"5\u6708"},{value:6,label:"6\u6708"},{value:7,label:"7\u6708"},{value:8,label:"8\u6708"},{value:9,label:"9\u6708"},{value:10,label:"10\u6708"},{value:11,label:"11\u6708"},{value:12,label:"12\u6708"}],value:e.month,onUpdateValidValue:t=>{d({modifiedType:"update",era:e.era,year:e.year,month:Number(t),date:1})}}),a(C.Clear.S,{ssSphere:2.5,onClick:()=>{let t=e.month-1;d({modifiedType:"update",era:e.era,year:t==0?e.year-1:e.year,month:t==0?12:t,date:1})},children:a(T.ChevronLeft,{})}),a(C.Clear.S,{ssSphere:2.5,onClick:()=>{let t=e.month+1;d({modifiedType:"update",era:e.era,year:t==13?e.year+1:e.year,month:t==13?1:t,date:1})},children:a(T.ChevronRight,{})})]})]}),a(g.DateWareki.MonthCell,p({},i))]},e.era)},MonthCell:i=>{let{val_value:e,set_value:d}=i,o=S([e.year.zeroEmbed(4),e.month.zeroEmbed(2),e.date.zeroEmbed(2)].join("/"));if(!o.validate)return;let t=o.getFirstDayOfTheMonth().weekday,r=o.getLastDayOfTheMonth(),m=[];for(let n=0;n<7;n++)m.push(a(G.Supplement,{flexCenter:!0,fontColor:n==0?"googleRed":n==6?"googleBlue":"3.blur",children:D.transformer.weekday.shortJP(n)},"legend-"+n));for(let n=0;n<t;n++){let s=S(o).getFirstDayOfTheMonth().addDate(n-t);m.push(a(C.Sub,{color:"cloud",ssSquare:3,opacity:"middle",onClick:l=>{l.preventDefault(),l.stopPropagation(),d({modifiedType:"update",era:e.era,year:s.year,month:s.month,date:s.date})},children:s.date},"lastMonth-"+n))}let h=S();for(let n=1;n<=r.date;n++){let s=S(o).setDate(n),l=h.diff(s).dates==0;m.push(a(C.Clear,{ssSquare:3,fontColor:"2.normal",className:[y("CalendarDay"),y("isToday_"+l)].join(" "),onClick:()=>{d({modifiedType:"update",era:e.era,year:s.year,month:s.month,date:s.date})},children:s.date},"currentMonth-"+n))}for(let n=0;n<7-r.weekday-1;n++){let s=S(o).addMonth(1).setDate(1).addDate(n);m.push(a(C.Sub,{color:"cloud",ssSquare:3,opacity:"middle",onClick:l=>{l.preventDefault(),l.stopPropagation(),d({modifiedType:"update",era:e.era,year:s.year,month:s.month,date:s.date})},children:s.date},"nextMonth-"+n))}return a(W,{gridCols:7,gap:"1/4",children:m})}},Variables:{Footer:i=>f(w,{flexWrap:!1,gap:1,flexChilds:"even",freeCSS:{whiteSpace:"nowrap"},children:[f(C.Sub.S,{color:"cloud",tabIndex:-1,isRounded:!0,onClick:()=>{i.onValueUpdate("")},flexSizing:"none",children:[a(T.Times,{})," \u524A\u9664"]}),a(C.Prime.S,{tabIndex:-1,isRounded:!0,flexSizing:"auto",freeCSS:{minWidth:12*6},onClick:()=>{i.onSubmit&&i.onSubmit(),$.close(i.sheetID)},children:"\u6C7A\u5B9A"})]}),ShiftButtons:i=>f(w,{gap:"1/3",flexWrap:!1,children:[a(C.Clear,x(p({className:y("LeftButton"),tabIndex:-1,right:0},g.Variables.ShiftButtonStyles),{onClick:()=>{i.callback(-1)},children:a(T.ChevronLeft,{})})),a(C.Clear,x(p({className:y("RightButton"),tabIndex:-1,left:0},g.Variables.ShiftButtonStyles),{onClick:()=>{i.callback(1)},children:a(T.ChevronRight,{})}))]}),ShiftButtonStyles:{position:"relative",flexCenter:!0,ssSphere:2.5}}};export{L as Picker,L as default};
@@ -1 +1 @@
1
- import{a as ae,b as l,c as k,d as q}from"../../../chunk-C5N2D3ZX.js";import{Fragment as _e,jsx as y,jsxs as oe}from"react/jsx-runtime";import G,{UUID as N,useStore as L}from"jmini";import*as K from"jmini";import{useState as W,useEffect as Q,useRef as pe}from"react";import{$$fromRoot as ce,Config as re,ExtractStyles as ue}from"../../../@utils";import{Box as X,FAI as de}from"../../../atoms";import{Text as fe,Row as he}from"../../../mols";import{Button as ie}from"../../Button";import ge from"../../Tooltips";import ye from"../../Sheet";import{faClock as De}from"@fortawesome/free-solid-svg-icons/faClock";import{faCalendarAlt as ve}from"@fortawesome/free-solid-svg-icons/faCalendarAlt";import{OptionalInputWrapper as Ie,BoxWrapper as Se,CoreEffects as z,DefaultBoxishStyles as Te}from"../core";import{RightIcon as xe}from"..";import be from"../Select";import{InputLabel as ke}from"../Label";import Ee from"./Picker";const F=" ~ ",we={clock:{defaultValue:"--:--",format:/^\d{2}\D\d{2}$/,ranges:[{type:"hour",from:0,length:2},{type:"minute",from:3,length:2}],sets:1},date:{defaultValue:"----/--/--",format:/^\d{4}\D\d{2}\D\d{2}$/,ranges:[{type:"year",from:0,length:4},{type:"month",from:5,length:2},{type:"date",from:8,length:2}],sets:1},week:{defaultValue:"----\u5E74\u7B2C--\u9031",format:/^\d{4}\D\d{2}$/,ranges:[{type:"year",from:0,length:4,region:6},{type:"week",from:6,length:2,region:3}],sets:1},month:{defaultValue:"----\u5E74--\u6708",format:/^\d{4}\D\d{2}$/,ranges:[{type:"year",from:0,length:4},{type:"month",from:5,length:2,region:3}],sets:1},year:{defaultValue:"----\u5E74",format:/^\d{4}$/,ranges:[{type:"year",from:0,length:4,region:5}],sets:1},dates:{defaultValue:"----/--/--",format:/^\d{4}\D\d{2}\D\d{2}$/,ranges:[{type:"year",from:0,length:4},{type:"month",from:5,length:2},{type:"date",from:8,length:2,region:5},{type:"year",from:10+F.length,length:4},{type:"month",from:15+F.length,length:2},{type:"date",from:18+F.length,length:2}],sets:2},months:{defaultValue:"----\u5E74--\u6708",format:/^\d{4}\D\d{2}$/,ranges:[{type:"year",from:0,length:4},{type:"month",from:5,length:2,region:6},{type:"year",from:8+F.length,length:4},{type:"month",from:13+F.length,length:2,region:3}],sets:2},dateWareki:{defaultValue:"----\u5E74--\u6708--\u65E5",format:/^\d{4}\D\d{2}\D\d{2}$/,ranges:[{type:"dateWareki",from:0,length:4,region:5},{type:"month",from:5,length:2,region:3},{type:"date",from:8,length:2,region:3}],sets:1}},O={PeriodMargin:" ~ ",DataLeveling:e=>{let{restrict:t,value:D,era:a}=e,f=G.flatArray(D||""),{defaultValue:h,format:I,ranges:u,sets:r}=we[t],m=[],o=t=="clock"?":":"/";for(let i=0;i<f.length;i++)f[i]=String(f[i]).replace(/\D/ig,o);for(let i=0;i<r;i++){let d=f[i]||"";if(!d.match(I))f[i]="",m.push(h);else{let b=h;d.split(/\D/).forEach((E,R)=>{if(R==0&&t=="dateWareki"){let S=Number(E);a!="year"&&(S>=2019?a=="reiwa"?S-=2018:a=="heisei"&&(S=31):S>=1989?a=="heisei"?S-=1988:a=="shouwa"&&(S=64):S>=1926?a=="shouwa"?S-=1925:a=="taisho"&&(S=15):S>=1912?a=="taisho"?S-=1911:a=="meiji"&&(S=45):S>=1868&&(S-=1867)),E=S.zeroEmbed(4)}b=b.replace(new RegExp("------------------".slice(0,E.length)),E)}),m.push(b)}}return{formatValue:m.join(F),dataValue:["dates","months"].includes(t)?f:f[0],ranges:u}},SystemValidation:e=>{let{states:t}=e,{restrict:D,min:a,max:f,required:h}=t,I=[],u=G.flatArray(e.value),r={empty:!1,escalated:1,filled:!0,correct:!0,prohibited:!1};(()=>{let m=D=="clock"?":":"/";for(let o=0;o<u.length;o++)u[o]=String(u[o]).replace(/\D/ig,m);for(let o=0;o<u.length;o++){let i=u[o],d=u[o-1];i.removeLetters()||(r.empty=!0),o>0&&(r.escalated&=+(i>=d))}r.escalated&&(r.empty||(D.match(/clock/)?u.forEach(o=>{let[i,d]=o.split(/\D+/);!i||!d?r.filled=!1:(Number(i)>23||Number(d)>59)&&(r.correct=!1)}):D.match(/date/)?u.forEach(o=>{let[i,d,b]=o.split(/\D+/);if(!i||!d||!b)r.filled=!1;else{let E=K.Time(o);(!E.validate||o!=E.toFormatYMD())&&(r.correct=!1)}}):D.match(/week/)?u.forEach(o=>{let[i,d]=o.split(/\D+/);if(!i||!d)r.filled=!1;else{let b=K.Time(i+"/01/01").weekday,R=K.Time(i+"/01/0"+(7-b+1)).addWeek(Number(d)-1);i!=String(R.year)&&(r.correct=!1)}}):D.match(/month/)?u.forEach(o=>{let[i,d]=o.split(/\D+/);!i||!d?r.filled=!1:K.Time([i,d,"01"].join("/")).validate||(r.correct=!1)}):D.match(/year/),r.filled&&r.correct&&u.forEach(o=>{{let i=Number(String(o).replace(/\D/ig,""));if(a&&Number(String(a).replace(/\D/ig,""))>i&&(r.prohibited=!0),f){let d=Number(String(f).replace(/\D/ig,""));i>d&&(r.prohibited=!0)}}})))})();{let{empty:m,escalated:o,filled:i,correct:d,prohibited:b}=r;m&&h&&(I=[{type:"invalid",label:"\u5FC5\u9808\u9805\u76EE\u3067\u3059"}]),o||I.push({type:"invalid",label:"\u6642\u7CFB\u5217\u3092\u6B63\u3057\u304F\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044"}),d||I.push({type:"invalid",label:"\u7121\u52B9\u306A\u5024\u304C\u5165\u529B\u3055\u308C\u3066\u3044\u307E\u3059"}),i||I.push({type:"invalid",label:"\u6700\u5F8C\u307E\u3067\u5024\u3092\u57CB\u3081\u3066\u304F\u3060\u3055\u3044"}),b&&I.push({type:"invalid",label:oe(_e,{children:[y(X,{children:"\u5165\u529B\u7BC4\u56F2\u304C\u5236\u9650\u3055\u308C\u3066\u3044\u307E\u3059"}),"[",a||"\u4E0B\u9650\u7121\u3057","] ~ [",f||"\u4E0A\u9650\u7121\u3057","]"]})})}return{ok:!I.filter(({type:m})=>m=="invalid").length,notice:I}},KeyDownEvent:e=>{let{val_era:t,restrict:D,event:a,val_status:f,set_status:h,val_focus:I,set_focus:u}=e,{key:r,shiftKey:m,ctrlKey:o,metaKey:i}=a,d=o||i,{selectionStart:b,selectionEnd:E}=a.target,{index:R,prevIndex:S}=I,{ranges:$,formatValue:H}=f,C=$.length-1;if(["Tab","ArrowLeft","ArrowRight"].includes(r)){let v=0;if(r=="Tab"){let s=+!m*2-1;if(v=I.index+s,v<0||v>C)return}else{let s=r=="ArrowLeft"?-1:r=="ArrowRight"?1:0;d||b==0&&E==String(f.formatValue).length?v=s==1?C:0:v=Math.max(0,Math.min(R+s,C))}u(s=>k(l({},s),{index:v,prevIndex:R})),a.preventDefault()}if(["Backspace","ArrowUp","ArrowDown","0","1","2","3","4","5","6","7","8","9"].includes(r)){a.preventDefault();let v=R;v=Math.max(v,0),v=Math.min(v,C);let{type:s,from:B,length:Y}=$[v],_=H.slice(B,B+Y),c;if(r=="Backspace")c="------".slice(0,Y);else if(["ArrowUp","ArrowDown"].includes(r)){let w=r=="ArrowUp"?1:-1;_=_|0,c=_+w;let[n,p,T]=s=="dateWareki"?t=="year"?[0,2999,4]:t=="reiwa"?[1,2999,4]:t=="heisei"?[1,31,4]:t=="shouwa"?[1,64,4]:t=="taisho"?[1,15,4]:t=="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>p?c=n:c<n&&(c=p),c=Number(c).zeroEmbed(T)}else if(["0","1","2","3","4","5","6","7","8","9"].includes(r)){let w=_|0,n=r,p=`${w}${n}`;if(S!=R&&(w=0,p="0"+n),s=="year"||s=="dateWareki"&&t=="year")Number(p)>1e4?c=n:c=p,(c|0)>1e3&&v++;else if(["hour","minute","date","week","month"].includes(s)||s=="dateWareki"&&t!="year"){let T=s=="dateWareki"?t=="reiwa"?100:t=="heisei"?31:t=="shouwa"?64:t=="taisho"?15:t=="meiji"?45:0:s=="minute"?59:s=="hour"?23:s=="date"?31:s=="week"?53:s=="month"?12:0;c=(p|0)>T?n:p,(Number(n)>Number(String(T)[0])||_=="0000".slice(0,String(T).length)&&(p!="0000".slice(0,String(T).length)||["minute","hour"].includes(s)&&S==R)||(p|0)>=ae(10,String(T).length-1))&&v++}s=="year"||s=="dateWareki"?c=(c|0).zeroEmbed(4):c=(c|0).zeroEmbed(2)}{let w=String(H).partReplace(B,String(c)),n=w.split(F).map(p=>p.replace(/(^\D|\D$)/,"").split(/\D+/).join(D=="clock"?":":"/").replace(/(^\D|\D$)/,""));if(D=="dateWareki"){let p=n[0].split(/\D/),[T,j,P]=p;p.length==3&&T&&(n=[[Number(T)-1+Number({year:1,reiwa:2019,heisei:1989,shouwa:1926,taisho:1912,meiji:1868}[t]),j,P].join("/")])}v=Math.max(v,0),v=Math.min(v,C),h(p=>k(l({},p),{dataValue:["dates","months"].includes(D)?n:n[0],formatValue:w,eventType:"update",eventID:N()})),u(p=>k(l({},p),{index:v,prevIndex:p.index}))}}}},ne={picker:{launch:e=>{let t=e.sheetID||N(),m=e,{onValueUpdate:D,min:a,max:f,era:h,restrict:I,defaultValue:u}=m,r=q(m,["onValueUpdate","min","max","era","restrict","defaultValue"]);ye.open(k(l({sheetID:t,type:"normal.middleCenter",size:"S",padding:0,closeAtAroundClick:!0,closeAtParentBlur:!1},r),{content:y(he.Center,{children:y(Ee,{restrict:I,min:a,max:f,era:h,defaultValue:u,sheetID:t,onValueUpdate:(o,i)=>{D(o,i)}})})}))},remove:e=>{ge.close(e)}}},Re={Shallow:e=>{let{rootStates:t,val_status:D}=e,a=ue(t);return y(X,{position:"absolute",top:0,left:0,right:0,height:0,overflow:"hidden",opacity:"trans",freeCSS:{zIndex:3,pointerEvents:"none"},children:y(fe.Description,k(l({className:t.className},a),{position:"absolute",width:1,freeCSS:k(l({},a.freeCSS),{color:"orange"}),children:y(X,{"data-input-value-shallow":D.componentID,children:"A"})}))})}},Ve=e=>{let ee=e,{tone:t,required:D,restrict:a="clock",componentID:f,era:h,form:I,name:u,min:r,max:m,className:o,enableFormSubmit:i,checkValidationAtFirst:d,onKeyDown:b,onValidate:E,onUpdateValue:R,onUpdateValidValue:S,value:$="",leftIndicator:H,rightIndicator:C,leftIcon:v,rightIcon:s,freeCSS:B,wrapStyles:Y}=ee,_=q(ee,["tone","required","restrict","componentID","era","form","name","min","max","className","enableFormSubmit","checkValidationAtFirst","onKeyDown","onValidate","onUpdateValue","onUpdateValidValue","value","leftIndicator","rightIndicator","leftIcon","rightIcon","freeCSS","wrapStyles"]),[c,w]=W(h),[n,p]=W(k(l({componentID:e.componentID||""},O.DataLeveling({restrict:a,value:$,era:c})),{eventType:"init",eventID:N()})),[T,j]=W({ok:!1,notice:[]}),[P,U]=W({active:!1,index:0,prevIndex:-1}),le={rootStates:e,val_status:n,set_status:p,val_validate:T,set_validate:j,val_era:c,set_era:w,val_focus:P,set_focus:U};z.CommonEffects({type:"time",states:e,val_status:n,set_status:p,val_validate:T,set_validate:j,SystemValidation:O.SystemValidation,ExtraOverrideStates:l({},O.DataLeveling({restrict:a,value:$,era:c}))});const Z=pe(!1);return Q(()=>{if(Z.current){p(x=>l(l({},x),O.DataLeveling({restrict:a,value:x.dataValue,era:c})));let g=L.get("refreshEra_"+n.componentID);g&&g.refreshEra(c)}else Z.current=!0},[c]),L.update({[n.componentID]:{openPicker:g=>{e.disabled||ne.picker.launch({parent:g,sheetID:"PickerTips-"+n.componentID,restrict:a,min:r,max:m,defaultValue:n.dataValue,era:c,onValueUpdate:(x,A)=>{p(M=>k(l(l({},M),O.DataLeveling({restrict:a,value:x,era:A})),{eventType:"update",eventID:N()})),w(A)}})},resetEra:g=>{w(g),p(x=>k(l(l({},x),O.DataLeveling({restrict:a,value:"",era:c})),{eventType:"update",eventID:N()}))}}}),Q(()=>{let{index:g,active:x}=P;if(x){g=Math.max(g,0),g=Math.min(g,n.ranges.length-1);let{from:A,length:M}=n.ranges[g],J=ce("#"+e.id)[0];J&&J.setSelectionRange(A,A+M)}},[P]),oe(Se,{val_status:n,set_status:p,val_validate:T,states:e,children:[y(Re.Shallow,l({},le)),y(ke,{componentID:e.componentID,fontSize:e.fontSize,required:e.required,label:e.label,isActive:!0}),re.get().isTouchDevice?y(ie.Plain,k(l({"data-show-validation":z.isShowValidation(T,n,!!d),"data-component-id":n.componentID,"data-input-origin":n.componentID,"data-disabled":e.disabled,className:o,freeCSS:{textAlign:"left"}},_),{children:n.formatValue,onClick:g=>{let x=L.get(n.componentID);x&&x.openPicker(`[data-input-origin="${n.componentID}"]`),g.stopPropagation()}})):y(X,l({htmlTag:"input",type:"text",inputMode:"numeric","data-show-validation":z.isShowValidation(T,n,!!d),"data-input-origin":n.componentID,"data-disabled":e.disabled,value:n.formatValue,className:o,tabIndex:re.get().isTouchDevice?-1:0,onKeyDown:g=>{O.KeyDownEvent({restrict:a,event:g,val_era:c,val_status:n,set_status:p,val_focus:P,set_focus:U}),b&&b(g),i&&z.SubmitForm(g,I)},onKeyUp:g=>{g.key=="Tab"&&U(x=>k(l({},x),{active:!0}))},onClick:g=>{let x=g.target.selectionEnd,A=0;n.ranges.forEach((M,J)=>{let{from:te,length:se,region:me}=M;te<=x&&x<=te+(me||se)&&(A=J)}),U(M=>k(l({},M),{active:!0,index:A})),g.preventDefault()},onChange:()=>{}},_))]})},V={Origin:e=>{let t=l({fontSize:"inherit",width:1},e),[D]=W(e.componentID||N());if(t.componentID=D,G.is.nullish(t.rightIcon)){let a=(e.restrict||"").match(/clock/)?De:ve;t.rightIcon=y(xe,{ssSphere:2,freeCSS:{pointerEvents:"all"},children:y(ie.Sub,{color:"cloud",border:"unset",ssSphere:2,fontColor:"theme",boxShadow:"0.normal",borderRadius:"3.tone.tertiary",flexCenter:!0,ssEffectsOnActive:"push",tabIndex:-1,id:"Picker-"+t.componentID,onClick:()=>{let f=L.get(t.componentID);f&&f.openPicker("#Picker-"+t.componentID)},children:y(de,{icon:a})})})}return y(Ie,{componentID:t.componentID,children:Ve,states:Te(t)})},Clock:e=>y(V.Origin,l({restrict:"clock",era:"clock"},e)),Date:e=>y(V.Origin,l({restrict:"date"},e)),Week:e=>y(V.Origin,l({restrict:"week"},e)),Month:e=>y(V.Origin,l({restrict:"month"},e)),Year:e=>y(V.Origin,l({restrict:"year"},e)),DateWareki:e=>{e=l({},e);let[t]=W(e.componentID||N());e.componentID=t;let{defaultEra:D="wareki"}=e,[a,f]=W((()=>{let h="year";if(D=="wareki"&&(h="reiwa",e.value)){let[I,u,r]=e.value.split(/\D/);if(I&&u&&r){let m=Number(I);m>=2019?(m-=2019,h="reiwa"):m>=1989?(m-=1989,h="heisei"):m>=1926?(m-=1926,h="shouwa"):m>=1912?(m-=1912,h="taisho"):m>=1868&&(m-=1868,h="meiji"),m+=1}}return h})());return Q(()=>{L.set({["refreshEra_"+t]:{refreshEra:h=>{f(h)}}})},[]),y(V.Origin,k(l({restrict:"dateWareki",leftIndicator:y(be,{label:"\u5143\u53F7",emptySelect:!1,value:a,tone:e.tone||"border",override:"force",flexCenter:!0,borderTopRightRadius:"2/3",borderBottomRightRadius:"2/3",height:1,freeCSS:{whiteSpace:"nowrap"},options:[{value:"year",label:"\u897F\u66A6"},{value:"reiwa",label:"\u4EE4\u548C"},{value:"heisei",label:"\u5E73\u6210"},{value:"shouwa",label:"\u662D\u548C"},{value:"taisho",label:"\u5927\u6B63"},{value:"meiji",label:"\u660E\u6CBB"}],onUpdateValidValue:({value:h,eventType:I})=>{f(h);let u=L.get(e.componentID);u&&u.resetEra&&u.resetEra(h)}})},e),{era:a}))},Periods:{Date:e=>y(V.Origin,l({restrict:"dates"},e)),Month:e=>y(V.Origin,l({restrict:"months"},e))},fn:ne};export{V as Time,V as default};
1
+ import{a as ae,b as l,c as k,d as q}from"../../../chunk-C5N2D3ZX.js";import{Fragment as _e,jsx as y,jsxs as oe}from"react/jsx-runtime";import G,{UUID as N,useStore as L}from"jmini";import*as K from"jmini";import{useState as W,useEffect as Q,useRef as ce}from"react";import{$$fromRoot as pe,Config as re,ExtractStyles as ue}from"../../../@utils";import{Box as X,FAI as de}from"../../../atoms";import{Text as fe,Row as he}from"../../../mols";import{Button as ie}from"../../Button";import ge from"../../Tooltips";import ye from"../../Sheet";import{faClock as De}from"@fortawesome/free-solid-svg-icons/faClock";import{faCalendarAlt as ve}from"@fortawesome/free-solid-svg-icons/faCalendarAlt";import{OptionalInputWrapper as Ie,BoxWrapper as Se,CoreEffects as z,DefaultBoxishStyles as Te}from"../core";import{RightIcon as xe}from"..";import be from"../Select";import{InputLabel as ke}from"../Label";import Ee from"./Picker";const F=" ~ ",we={clock:{defaultValue:"--:--",format:/^\d{2}\D\d{2}$/,ranges:[{type:"hour",from:0,length:2},{type:"minute",from:3,length:2}],sets:1},date:{defaultValue:"----/--/--",format:/^\d{4}\D\d{2}\D\d{2}$/,ranges:[{type:"year",from:0,length:4},{type:"month",from:5,length:2},{type:"date",from:8,length:2}],sets:1},week:{defaultValue:"----\u5E74\u7B2C--\u9031",format:/^\d{4}\D\d{2}$/,ranges:[{type:"year",from:0,length:4,region:6},{type:"week",from:6,length:2,region:3}],sets:1},month:{defaultValue:"----\u5E74--\u6708",format:/^\d{4}\D\d{2}$/,ranges:[{type:"year",from:0,length:4},{type:"month",from:5,length:2,region:3}],sets:1},year:{defaultValue:"----\u5E74",format:/^\d{4}$/,ranges:[{type:"year",from:0,length:4,region:5}],sets:1},dates:{defaultValue:"----/--/--",format:/^\d{4}\D\d{2}\D\d{2}$/,ranges:[{type:"year",from:0,length:4},{type:"month",from:5,length:2},{type:"date",from:8,length:2,region:5},{type:"year",from:10+F.length,length:4},{type:"month",from:15+F.length,length:2},{type:"date",from:18+F.length,length:2}],sets:2},months:{defaultValue:"----\u5E74--\u6708",format:/^\d{4}\D\d{2}$/,ranges:[{type:"year",from:0,length:4},{type:"month",from:5,length:2,region:6},{type:"year",from:8+F.length,length:4},{type:"month",from:13+F.length,length:2,region:3}],sets:2},dateWareki:{defaultValue:"----\u5E74--\u6708--\u65E5",format:/^\d{4}\D\d{2}\D\d{2}$/,ranges:[{type:"dateWareki",from:0,length:4,region:5},{type:"month",from:5,length:2,region:3},{type:"date",from:8,length:2,region:3}],sets:1}},O={PeriodMargin:" ~ ",DataLeveling:e=>{let{restrict:t,value:D,era:a}=e,d=G.flatArray(D||""),{defaultValue:f,format:h,ranges:v,sets:r}=we[t],m=[],o=t=="clock"?":":"/";for(let i=0;i<d.length;i++)d[i]=String(d[i]).replace(/\D/ig,o);for(let i=0;i<r;i++){let u=d[i]||"";if(!u.match(h))d[i]="",m.push(f);else{let b=f;u.split(/\D/).forEach((E,R)=>{if(R==0&&t=="dateWareki"){let S=Number(E);a!="year"&&(S>=2019?a=="reiwa"?S-=2018:a=="heisei"&&(S=31):S>=1989?a=="heisei"?S-=1988:a=="shouwa"&&(S=64):S>=1926?a=="shouwa"?S-=1925:a=="taisho"&&(S=15):S>=1912?a=="taisho"?S-=1911:a=="meiji"&&(S=45):S>=1868&&(S-=1867)),E=S.zeroEmbed(4)}b=b.replace(new RegExp("------------------".slice(0,E.length)),E)}),m.push(b)}}return{formatValue:m.join(F),dataValue:["dates","months"].includes(t)?d:d[0],ranges:v}},SystemValidation:e=>{let{states:t}=e,{restrict:D,min:a,max:d,required:f}=t,h=[],v=G.flatArray(e.value),r={empty:!1,escalated:1,filled:!0,correct:!0,prohibited:!1};(()=>{let m=D=="clock"?":":"/";for(let o=0;o<v.length;o++)v[o]=String(v[o]).replace(/\D/ig,m);for(let o=0;o<v.length;o++){let i=v[o],u=v[o-1];i.removeLetters()||(r.empty=!0),o>0&&(r.escalated&=+(i>=u))}r.escalated&&(r.empty||(D.match(/clock/)?v.forEach(o=>{let[i,u]=o.split(/\D+/);!i||!u?r.filled=!1:(Number(i)>23||Number(u)>59)&&(r.correct=!1)}):D.match(/date/)?v.forEach(o=>{let[i,u,b]=o.split(/\D+/);if(!i||!u||!b)r.filled=!1;else{let E=K.Time(o);(!E.validate||o!=E.toFormatYMD())&&(r.correct=!1)}}):D.match(/week/)?v.forEach(o=>{let[i,u]=o.split(/\D+/);if(!i||!u)r.filled=!1;else{let b=K.Time(i+"/01/01").weekday,R=K.Time(i+"/01/0"+(7-b+1)).addWeek(Number(u)-1);i!=String(R.year)&&(r.correct=!1)}}):D.match(/month/)?v.forEach(o=>{let[i,u]=o.split(/\D+/);!i||!u?r.filled=!1:K.Time([i,u,"01"].join("/")).validate||(r.correct=!1)}):D.match(/year/),r.filled&&r.correct&&v.forEach(o=>{{let i=Number(String(o).replace(/\D/ig,""));if(a&&Number(String(a).replace(/\D/ig,""))>i&&(r.prohibited=!0),d){let u=Number(String(d).replace(/\D/ig,""));i>u&&(r.prohibited=!0)}}})))})();{let{empty:m,escalated:o,filled:i,correct:u,prohibited:b}=r;m&&f&&(h=[{type:"invalid",label:"\u5FC5\u9808\u9805\u76EE\u3067\u3059"}]),o||h.push({type:"invalid",label:"\u6642\u7CFB\u5217\u3092\u6B63\u3057\u304F\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044"}),u||h.push({type:"invalid",label:"\u7121\u52B9\u306A\u5024\u304C\u5165\u529B\u3055\u308C\u3066\u3044\u307E\u3059"}),i||h.push({type:"invalid",label:"\u6700\u5F8C\u307E\u3067\u5024\u3092\u57CB\u3081\u3066\u304F\u3060\u3055\u3044"}),b&&h.push({type:"invalid",label:oe(_e,{children:[y(X,{children:"\u5165\u529B\u7BC4\u56F2\u304C\u5236\u9650\u3055\u308C\u3066\u3044\u307E\u3059"}),"[",a||"\u4E0B\u9650\u7121\u3057","] ~ [",d||"\u4E0A\u9650\u7121\u3057","]"]})})}return{ok:!h.filter(({type:m})=>m=="invalid").length,notice:h}},KeyDownEvent:e=>{let{val_era:t,restrict:D,event:a,val_status:d,set_status:f,val_focus:h,set_focus:v}=e,{key:r,shiftKey:m,ctrlKey:o,metaKey:i}=a,u=o||i,{selectionStart:b,selectionEnd:E}=a.target,{index:R,prevIndex:S}=h,{ranges:$,formatValue:H}=d,C=$.length-1;if(["Tab","ArrowLeft","ArrowRight"].includes(r)){let I=0;if(r=="Tab"){let s=+!m*2-1;if(I=h.index+s,I<0||I>C)return}else{let s=r=="ArrowLeft"?-1:r=="ArrowRight"?1:0;u||b==0&&E==String(d.formatValue).length?I=s==1?C:0:I=Math.max(0,Math.min(R+s,C))}v(s=>k(l({},s),{index:I,prevIndex:R})),a.preventDefault()}if(["Backspace","ArrowUp","ArrowDown","0","1","2","3","4","5","6","7","8","9"].includes(r)){a.preventDefault();let I=R;I=Math.max(I,0),I=Math.min(I,C);let{type:s,from:B,length:Y}=$[I],_=H.slice(B,B+Y),p;if(r=="Backspace")p="------".slice(0,Y);else if(["ArrowUp","ArrowDown"].includes(r)){let w=r=="ArrowUp"?1:-1;_=_|0,p=_+w;let[n,c,T]=s=="dateWareki"?t=="year"?[0,2999,4]:t=="reiwa"?[1,2999,4]:t=="heisei"?[1,31,4]:t=="shouwa"?[1,64,4]:t=="taisho"?[1,15,4]:t=="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];p>c?p=n:p<n&&(p=c),p=Number(p).zeroEmbed(T)}else if(["0","1","2","3","4","5","6","7","8","9"].includes(r)){let w=_|0,n=r,c=`${w}${n}`;if(S!=R&&(w=0,c="0"+n),s=="year"||s=="dateWareki"&&t=="year")Number(c)>1e4?p=n:p=c,(p|0)>1e3&&I++;else if(["hour","minute","date","week","month"].includes(s)||s=="dateWareki"&&t!="year"){let T=s=="dateWareki"?t=="reiwa"?100:t=="heisei"?31:t=="shouwa"?64:t=="taisho"?15:t=="meiji"?45:0:s=="minute"?59:s=="hour"?23:s=="date"?31:s=="week"?53:s=="month"?12:0;p=(c|0)>T?n:c,(Number(n)>Number(String(T)[0])||_=="0000".slice(0,String(T).length)&&(c!="0000".slice(0,String(T).length)||["minute","hour"].includes(s)&&S==R)||(c|0)>=ae(10,String(T).length-1))&&I++}s=="year"||s=="dateWareki"?p=(p|0).zeroEmbed(4):p=(p|0).zeroEmbed(2)}{let w=String(H).partReplace(B,String(p)),n=w.split(F).map(c=>c.replace(/(^\D|\D$)/,"").split(/\D+/).join(D=="clock"?":":"/").replace(/(^\D|\D$)/,""));if(D=="dateWareki"){let c=n[0].split(/\D/),[T,j,P]=c;c.length==3&&T&&(n=[[Number(T)-1+Number({year:1,reiwa:2019,heisei:1989,shouwa:1926,taisho:1912,meiji:1868}[t]),j,P].join("/")])}I=Math.max(I,0),I=Math.min(I,C),f(c=>k(l({},c),{dataValue:["dates","months"].includes(D)?n:n[0],formatValue:w,eventType:"update",eventID:N()})),v(c=>k(l({},c),{index:I,prevIndex:c.index}))}}}},ne={picker:{launch:e=>{let t=e.sheetID||N(),m=e,{onValueUpdate:D,min:a,max:d,era:f,restrict:h,defaultValue:v}=m,r=q(m,["onValueUpdate","min","max","era","restrict","defaultValue"]);ye.open(k(l({sheetID:t,type:"normal.middleCenter",size:"S",padding:0,closeAtAroundClick:!0,closeAtParentBlur:!1},r),{content:y(he.Center,{children:y(Ee,{restrict:h,min:a,max:d,era:f,defaultValue:v,sheetID:t,onValueUpdate:(o,i)=>{D(o,i)}})})}))},remove:e=>{ge.close(e)}}},Re={Shallow:e=>{let{rootStates:t,val_status:D}=e,a=ue(t);return y(X,{position:"absolute",top:0,left:0,right:0,height:0,overflow:"hidden",opacity:"trans",freeCSS:{zIndex:3,pointerEvents:"none"},children:y(fe.Description,k(l({className:t.className},a),{position:"absolute",width:1,freeCSS:k(l({},a.freeCSS),{color:"orange"}),children:y(X,{"data-input-value-shallow":D.componentID,children:"A"})}))})}},Ve=e=>{let ee=e,{tone:t,required:D,restrict:a="clock",componentID:d,era:f,form:h,name:v,min:r,max:m,className:o,enableFormSubmit:i,checkValidationAtFirst:u,onKeyDown:b,onValidate:E,onUpdateValue:R,onUpdateValidValue:S,value:$="",leftIndicator:H,rightIndicator:C,leftIcon:I,rightIcon:s,freeCSS:B,wrapStyles:Y}=ee,_=q(ee,["tone","required","restrict","componentID","era","form","name","min","max","className","enableFormSubmit","checkValidationAtFirst","onKeyDown","onValidate","onUpdateValue","onUpdateValidValue","value","leftIndicator","rightIndicator","leftIcon","rightIcon","freeCSS","wrapStyles"]),[p,w]=W(f),[n,c]=W(k(l({componentID:e.componentID||""},O.DataLeveling({restrict:a,value:$,era:p})),{eventType:"init",eventID:N()})),[T,j]=W({ok:!1,notice:[]}),[P,U]=W({active:!1,index:0,prevIndex:-1}),le={rootStates:e,val_status:n,set_status:c,val_validate:T,set_validate:j,val_era:p,set_era:w,val_focus:P,set_focus:U};z.CommonEffects({type:"time",states:e,val_status:n,set_status:c,val_validate:T,set_validate:j,SystemValidation:O.SystemValidation,ExtraOverrideStates:l({},O.DataLeveling({restrict:a,value:$,era:p}))});const Z=ce(!1);return Q(()=>{if(Z.current){c(x=>l(l({},x),O.DataLeveling({restrict:a,value:x.dataValue,era:p})));let g=L.get("refreshEra_"+n.componentID);g&&g.refreshEra(p)}else Z.current=!0},[p]),L.update({[n.componentID]:{openPicker:g=>{e.disabled||ne.picker.launch({parent:g,sheetID:"PickerTips-"+n.componentID,restrict:a,min:r,max:m,defaultValue:n.dataValue,era:p,onValueUpdate:(x,A)=>{c(M=>k(l(l({},M),O.DataLeveling({restrict:a,value:x,era:A})),{eventType:"update",eventID:N()})),w(A)}})},resetEra:g=>{w(g),c(x=>k(l(l({},x),O.DataLeveling({restrict:a,value:"",era:p})),{eventType:"update",eventID:N()}))}}}),Q(()=>{let{index:g,active:x}=P;if(x){g=Math.max(g,0),g=Math.min(g,n.ranges.length-1);let{from:A,length:M}=n.ranges[g],J=pe("#"+e.id)[0];J&&J.setSelectionRange(A,A+M)}},[P]),oe(Se,{val_status:n,set_status:c,val_validate:T,states:e,children:[y(Re.Shallow,l({},le)),y(ke,{componentID:e.componentID,fontSize:e.fontSize,required:e.required,label:e.label,isActive:!0}),re.get().isTouchDevice?y(ie.Plain,k(l({"data-show-validation":z.isShowValidation(T,n,!!u),"data-component-id":n.componentID,"data-input-origin":n.componentID,"data-disabled":e.disabled,className:o,freeCSS:{textAlign:"left"}},_),{children:n.formatValue,onClick:g=>{let x=L.get(n.componentID);x&&x.openPicker(`[data-input-origin="${n.componentID}"]`),g.stopPropagation()}})):y(X,l({htmlTag:"input",type:"text",inputMode:"numeric","data-show-validation":z.isShowValidation(T,n,!!u),"data-input-origin":n.componentID,"data-disabled":e.disabled,value:n.formatValue,className:o,tabIndex:re.get().isTouchDevice?-1:0,onKeyDown:g=>{O.KeyDownEvent({restrict:a,event:g,val_era:p,val_status:n,set_status:c,val_focus:P,set_focus:U}),b&&b(g),i&&z.SubmitForm(g,h)},onKeyUp:g=>{g.key=="Tab"&&U(x=>k(l({},x),{active:!0}))},onClick:g=>{let x=g.target.selectionEnd,A=0;n.ranges.forEach((M,J)=>{let{from:te,length:se,region:me}=M;te<=x&&x<=te+(me||se)&&(A=J)}),U(M=>k(l({},M),{active:!0,index:A})),g.preventDefault()},onChange:()=>{}},_))]})},V={Origin:e=>{let t=l({fontSize:"inherit",width:1},e),[D]=W(e.componentID||N());if(t.componentID=D,G.is.nullish(t.rightIcon)){let a=(e.restrict||"").match(/clock/)?De:ve;t.rightIcon=y(xe,{ssSphere:2,freeCSS:{pointerEvents:"all"},children:y(ie.Sub,{color:"cloud",border:"unset",ssSphere:2,fontColor:"theme",boxShadow:"0.normal",borderRadius:"3.tone.tertiary",flexCenter:!0,ssEffectsOnActive:"push",tabIndex:-1,id:"Picker-"+t.componentID,onClick:()=>{let d=L.get(t.componentID);d&&d.openPicker("#Picker-"+t.componentID)},children:y(de,{icon:a})})})}return y(Ie,{componentID:t.componentID,children:Ve,states:Te(t)})},Clock:e=>y(V.Origin,l({restrict:"clock",era:"clock"},e)),Date:e=>y(V.Origin,l({restrict:"date"},e)),Week:e=>y(V.Origin,l({restrict:"week"},e)),Month:e=>y(V.Origin,l({restrict:"month"},e)),Year:e=>y(V.Origin,l({restrict:"year"},e)),DateWareki:e=>{e=l({},e);let[t]=W(e.componentID||N());e.componentID=t;let{defaultEra:D="wareki"}=e,[a,d]=W((()=>{let f="year";if(D=="wareki"&&(f="reiwa",e.value)){let[h,v,r]=e.value.split(/\D/);if(h&&v&&r){let m=Number(h);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(()=>{L.set({["refreshEra_"+t]:{refreshEra:f=>{d(f)}}})},[]),y(V.Origin,k(l({restrict:"dateWareki",leftIndicator:y(be,{label:"\u5143\u53F7",emptySelect:!1,value:a,tone:e.tone||"border",override:"force",flexCenter:!0,borderTopRightRadius:"2/3",borderBottomRightRadius:"2/3",height:1,freeCSS:{whiteSpace:"nowrap"},options:[{value:"year",label:"\u897F\u66A6"},{value:"reiwa",label:"\u4EE4\u548C"},{value:"heisei",label:"\u5E73\u6210"},{value:"shouwa",label:"\u662D\u548C"},{value:"taisho",label:"\u5927\u6B63"},{value:"meiji",label:"\u660E\u6CBB"}],onUpdateValidValue:f=>{d(f);let h=L.get(e.componentID);h&&h.resetEra&&h.resetEra(f)}})},e),{era:a}))},Periods:{Date:e=>y(V.Origin,l({restrict:"dates"},e)),Month:e=>y(V.Origin,l({restrict:"months"},e))},fn:ne};export{V as Time,V as default};
@@ -1 +1 @@
1
- import{b as o,c as d,e as b}from"../../chunk-C5N2D3ZX.js";import{jsx as p,jsxs as h}from"react/jsx-runtime";import{useState as x,useEffect as g}from"react";import c,{UUID as y,useStore as v}from"jmini";import{$$fromRoot as k,Config as B}from"../../@utils";import{InputClasses as _}from"../../@styles/componentClasses";import{Box as E,Flex as w,FAI as T,Column as N}from"../../atoms";import{Row as D,Text as F}from"../../mols";import{Button as W}from"../Button";import R from"../Tooltips";const et=t=>{let[n]=x(t.componentID||y());t=o({},t),t.states=d(o({enableFormSubmit:!0,status_id:y(),override:"never",form:"",id:y(),"aria-label":"Input-"+n},t.states),{componentID:n});let{children:e}=t;return p(e,o({},t.states))},at=t=>{let{children:n,val_status:e,val_validate:a,states:i}=t,{leftIcon:l,wrapStyles:s}=i;return e.eventType=="init"&&!i.checkValidationAtFirst&&(a.notice=[]),h(D.Center,d(o({position:"relative",verticalAlign:"unset",gap:0},s),{className:_("Wrapper"),"data-notice-uid":e.componentID,children:[p(C.Notice,{notice:a.notice,val_status:e}),i.leftIndicator,h(w,{position:"relative",flexSizing:"auto",children:[n,l,p(C.RightIcon,o({},t)),p(C.ClearButton,o({},t))]}),i.rightIndicator]}))},C={ClearButton:t=>!t.states.clearButton||!t.val_status.dataValue?null:p(W.Normal,{ssSphere:2,flexCenter:!0,fontColor:"5.translucent",ssEffectsOnActive:["ripple.theme"],position:"absolute",right:1,top:"50%",freeCSS:{zIndex:3,transform:"translateY(-50%)"},onClick:()=>{t.set_status(n=>d(o({},n),{dataValue:"",formatValue:"",eventType:"update",eventID:y()}))},children:p(T.Times,{})}),RightIcon:t=>t.states.clearButton&&t.val_status.dataValue?null:t.states.rightIcon,Notice:t=>{let{notice:n,val_status:e}=t,{componentID:a}=e,i="NoticeTimer-"+a,l="NoticeTimerClose-"+a,s="notice-tips-"+a;return g(()=>{c.interval.once(()=>{if(!n.length){R.close(s);return}R.open({tipsID:s,parent:`[data-notice-uid="${a}"]`,gravityPoint:22,padding:[1,0],closeAtParentBlur:!1,content:h(R.Body,{padding:["1/2","2/3"],fontSize:"1.mini",position:"relative",children:[p(E,{position:"absolute",unitHeight:1,unitWidth:1,left:1,backgroundColor:"dark",freeCSS:{zIndex:1,transform:"rotate(45deg)",top:-6}}),p(N,{backgroundColor:"inherit",gap:"1/3",position:"relative",freeCSS:{zIndex:2},children:n.map((I,S)=>{let{type:r,label:u}=I,f=r=="invalid"?T.Times:r=="warn"?T.Exclamation:T.Check;return h(D.Left,{gap:0,borderRadius:"2.tone.secondary",children:[p(f,{flexCenter:!0,fontSize:"2.normal",fontColor:{invalid:"nega",warn:"warn",valid:"posi"}[r]}),p(F.Supplement,{fontSize:"0.xs",fontColor:"white",children:u})]},S+"-"+c.Stringify(I))})})]})})},350,i),c.interval.once(()=>{R.close(s)},6e3,l)},[n]),null}},z={DefaultStatus:(t,n)=>({componentID:t,dataValue:n,eventType:"init",eventID:y()}),CommonEffects:function(t){let{type:n,states:e,val_status:a,set_status:i,val_validate:l,set_validate:s,SystemValidation:I}=t;e=o({},e);let{componentID:S}=a;g(()=>(v.update({[S]:{ResolveRefresh:null,Refresh:()=>new Promise((r,u)=>{v.get(S).ResolveRefresh=r,i(f=>d(o({},f),{eventType:"refresh",eventID:y()}))}),GenNotice:r=>{let{ok:u,notice:f}=r;s({ok:u,notice:f})}}}),()=>{v.delete(S)}),[]),c.scope(()=>{let{override:r}=e;if(r=="never"||r=="beforeModified"&&!["init","override"].includes(a.eventType))return;let u=v.get(a.componentID);u&&(e.value!=a.dataValue&&e.status_id!=u.status_id&&i(f=>d(o(d(o({},f),{dataValue:e.value}),t.ExtraOverrideStates),{eventType:"override",eventID:y()})),u.status_id=e.status_id)}),g(()=>{z.ValidationCheck({val_status:a,set_validate:s,SystemValidation:I,states:e})},[a.eventID,a.dataValue]),g(()=>(c.scope(()=>{let{componentID:r,eventType:u,dataValue:f}=a,m=f;if(n=="autocomplete.single"||n=="list.radio"?m=m[0]:e.isChecker&&(m=!!m[0]),e.form=e.form||"testForm",e.name&&e.form&&v.update({[["form-data",e.form].join("-")]:{[e.name]:{componentID:r,type:n,value:m,validation:l.ok}}}),u=="refresh"){let V=v.get(r);V&&V.ResolveRefresh&&V.ResolveRefresh(null)}else u=="update"&&(e.onUpdateValue&&e.onUpdateValue({componentID:r,value:m,eventType:u}),c.scope(()=>{l.ok&&e.onUpdateValidValue&&e.onUpdateValidValue({componentID:r,value:m,eventType:u})}))}),()=>{v.update({[["form-data",e.form].join("-")]:{[e.name]:null}})}),[l])},ValidationCheck:t=>{let{states:n}=t,e="ValidationTimer-"+t.val_status.componentID;c.interval.abort(e);let a=t.SystemValidation({value:t.val_status.dataValue,states:n});if(!a.ok){t.set_validate(a);return}let i=a.notice;const l=()=>b(void 0,null,function*(){if(!n.onValidate)return;let s=yield n.onValidate({value:t.val_status.dataValue,eventType:t.val_status.eventType,props:t});t.set_validate({ok:s.ok,notice:[...i,...s.notice]})});if(n.onValidate){if(t.val_status.eventType=="refresh"){l();return}c.interval.once(l,450,e);return}t.set_validate({ok:!0,notice:i})},SubmitForm:(t,n)=>{let e=!1;if(!n)return e;let a=k(`[data-form-submit-button="${n}"]`)[0];if(!a)return e;let i=a.dataset.sdfike||"",l=t.key,s=t.ctrlKey||t.metaKey;return c.scope(()=>{i.includes("enter")&&(l!="Enter"||t.nativeEvent.isComposing||B.get().browserIs=="safari"&&t.keyCode==229)||((l=="Enter"&&(i.includes("enter")||i.includes("auxEnter")&&s)||l==" "&&i.includes("space"))&&(a.click(),t.preventDefault()),e=!0)}),e},isShowValidation:(t,n,e)=>{let a=t.ok;return!e&&n.eventType=="init"&&(a=!0),a}},nt=function(t){t=o({tone:"border"},t);let n=c.scope(()=>{if(t.tone=="plain")return{};let a={padding:"3/4",transition:"middle",flexSizing:"auto",boxShadow:"0.min"};return t.tone=="border"?a=d(o({},a),{border:!0,borderRadius:"2.tone.secondary",backgroundColor:"layer.1"}):t.tone=="cloud"?a=d(o({},a),{border:"1.thin",borderRadius:"2.tone.secondary",backgroundColor:"cloud"}):t.tone=="bottomBorder"&&(a=d(o({},a),{borderRadius:0,border:"unset",borderBottom:!0,backgroundColor:"cloud"})),a});return d(o(o(o(o(o(o({fontColor:"2.normal"},n),!!t.rightIcon&&{paddingRight:3}),!!t.leftIcon&&{paddingLeft:3}),!!t.leftIndicator&&{borderTopLeftRadius:"2/3",borderBottomLeftRadius:"2/3",marginLeft:"1/4"}),!!t.rightIndicator&&{borderTopRightRadius:"2/3",borderBottomRightRadius:"2/3",marginRight:"1/4"}),t),{freeCSS:o({letterSpacing:"1px",resize:"none"},t.freeCSS),className:[_("Input"),t.className].join(" ")})};export{at as BoxWrapper,z as CoreEffects,nt as DefaultBoxishStyles,et as OptionalInputWrapper};
1
+ import{b as o,c as d,e as b}from"../../chunk-C5N2D3ZX.js";import{jsx as p,jsxs as h}from"react/jsx-runtime";import{useState as x,useEffect as g}from"react";import c,{UUID as y,useStore as v}from"jmini";import{$$fromRoot as k,Config as B}from"../../@utils";import{InputClasses as _}from"../../@styles/componentClasses";import{Box as E,Flex as w,FAI as R,Column as N}from"../../atoms";import{Row as D,Text as F}from"../../mols";import{Button as W}from"../Button";import T from"../Tooltips";const et=t=>{let[n]=x(t.componentID||y());t=o({},t),t.states=d(o({enableFormSubmit:!0,status_id:y(),override:"never",form:"",id:y(),"aria-label":"Input-"+n},t.states),{componentID:n});let{children:e}=t;return p(e,o({},t.states))},at=t=>{let{children:n,val_status:e,val_validate:a,states:i}=t,{leftIcon:l,wrapStyles:s}=i;return e.eventType=="init"&&!i.checkValidationAtFirst&&(a.notice=[]),h(D.Center,d(o({position:"relative",verticalAlign:"unset",gap:0},s),{className:_("Wrapper"),"data-notice-uid":e.componentID,children:[p(C.Notice,{notice:a.notice,val_status:e}),i.leftIndicator,h(w,{position:"relative",flexSizing:"auto",children:[n,l,p(C.RightIcon,o({},t)),p(C.ClearButton,o({},t))]}),i.rightIndicator]}))},C={ClearButton:t=>!t.states.clearButton||!t.val_status.dataValue?null:p(W.Normal,{ssSphere:2,flexCenter:!0,fontColor:"5.translucent",ssEffectsOnActive:["ripple.theme"],position:"absolute",right:1,top:"50%",freeCSS:{zIndex:3,transform:"translateY(-50%)"},onClick:()=>{t.set_status(n=>d(o({},n),{dataValue:"",formatValue:"",eventType:"update",eventID:y()}))},children:p(R.Times,{})}),RightIcon:t=>t.states.clearButton&&t.val_status.dataValue?null:t.states.rightIcon,Notice:t=>{let{notice:n,val_status:e}=t,{componentID:a}=e,i="NoticeTimer-"+a,l="NoticeTimerClose-"+a,s="notice-tips-"+a;return g(()=>{c.interval.once(()=>{if(!n.length){T.close(s);return}T.open({tipsID:s,parent:`[data-notice-uid="${a}"]`,gravityPoint:22,padding:[1,0],closeAtParentBlur:!1,content:h(T.Body,{padding:["1/2","2/3"],fontSize:"1.mini",position:"relative",children:[p(E,{position:"absolute",unitHeight:1,unitWidth:1,left:1,backgroundColor:"dark",freeCSS:{zIndex:1,transform:"rotate(45deg)",top:-6}}),p(N,{backgroundColor:"inherit",gap:"1/3",position:"relative",freeCSS:{zIndex:2},children:n.map((I,S)=>{let{type:r,label:u}=I,f=r=="invalid"?R.Times:r=="warn"?R.Exclamation:R.Check;return h(D.Left,{gap:0,borderRadius:"2.tone.secondary",children:[p(f,{flexCenter:!0,fontSize:"2.normal",fontColor:{invalid:"nega",warn:"warn",valid:"posi"}[r]}),p(F.Supplement,{fontSize:"0.xs",fontColor:"white",children:u})]},S+"-"+c.Stringify(I))})})]})})},350,i),c.interval.once(()=>{T.close(s)},6e3,l)},[n]),null}},z={DefaultStatus:(t,n)=>({componentID:t,dataValue:n,eventType:"init",eventID:y()}),CommonEffects:function(t){let{type:n,states:e,val_status:a,set_status:i,val_validate:l,set_validate:s,SystemValidation:I}=t;e=o({},e);let{componentID:S}=a;g(()=>(v.update({[S]:{ResolveRefresh:null,Refresh:()=>new Promise((r,u)=>{v.get(S).ResolveRefresh=r,i(f=>d(o({},f),{eventType:"refresh",eventID:y()}))}),GenNotice:r=>{let{ok:u,notice:f}=r;s({ok:u,notice:f})}}}),()=>{v.delete(S)}),[]),c.scope(()=>{let{override:r}=e;if(r=="never"||r=="beforeModified"&&!["init","override"].includes(a.eventType))return;let u=v.get(a.componentID);u&&(e.value!=a.dataValue&&e.status_id!=u.status_id&&i(f=>d(o(d(o({},f),{dataValue:e.value}),t.ExtraOverrideStates),{eventType:"override",eventID:y()})),u.status_id=e.status_id)}),g(()=>{z.ValidationCheck({val_status:a,set_validate:s,SystemValidation:I,states:e})},[a.eventID,a.dataValue]),g(()=>(c.scope(()=>{let{componentID:r,eventType:u,dataValue:f}=a,m=f;if(n=="autocomplete.single"||n=="list.radio"?m=m[0]:e.isChecker&&(m=!!m[0]),e.form=e.form||"testForm",e.name&&e.form&&v.update({[["form-data",e.form].join("-")]:{[e.name]:{componentID:r,type:n,value:m,validation:l.ok}}}),u=="refresh"){let V=v.get(r);V&&V.ResolveRefresh&&V.ResolveRefresh(null)}else u=="update"&&(e.onUpdateValue&&e.onUpdateValue(m,u,r),c.scope(()=>{l.ok&&e.onUpdateValidValue&&e.onUpdateValidValue(m,u,r)}))}),()=>{v.update({[["form-data",e.form].join("-")]:{[e.name]:null}})}),[l])},ValidationCheck:t=>{let{states:n}=t,e="ValidationTimer-"+t.val_status.componentID;c.interval.abort(e);let a=t.SystemValidation({value:t.val_status.dataValue,states:n});if(!a.ok){t.set_validate(a);return}let i=a.notice;const l=()=>b(void 0,null,function*(){if(!n.onValidate)return;let s=yield n.onValidate(t.val_status.dataValue,t.val_status.eventType,t);t.set_validate({ok:s.ok,notice:[...i,...s.notice]})});if(n.onValidate){if(t.val_status.eventType=="refresh"){l();return}c.interval.once(l,450,e);return}t.set_validate({ok:!0,notice:i})},SubmitForm:(t,n)=>{let e=!1;if(!n)return e;let a=k(`[data-form-submit-button="${n}"]`)[0];if(!a)return e;let i=a.dataset.sdfike||"",l=t.key,s=t.ctrlKey||t.metaKey;return c.scope(()=>{i.includes("enter")&&(l!="Enter"||t.nativeEvent.isComposing||B.get().browserIs=="safari"&&t.keyCode==229)||((l=="Enter"&&(i.includes("enter")||i.includes("auxEnter")&&s)||l==" "&&i.includes("space"))&&(a.click(),t.preventDefault()),e=!0)}),e},isShowValidation:(t,n,e)=>{let a=t.ok;return!e&&n.eventType=="init"&&(a=!0),a}},nt=function(t){t=o({tone:"border"},t);let n=c.scope(()=>{if(t.tone=="plain")return{};let a={padding:"3/4",transition:"middle",flexSizing:"auto",boxShadow:"0.min"};return t.tone=="border"?a=d(o({},a),{border:!0,borderRadius:"2.tone.secondary",backgroundColor:"layer.1"}):t.tone=="cloud"?a=d(o({},a),{border:"1.thin",borderRadius:"2.tone.secondary",backgroundColor:"cloud"}):t.tone=="bottomBorder"&&(a=d(o({},a),{borderRadius:0,border:"unset",borderBottom:!0,backgroundColor:"cloud"})),a});return d(o(o(o(o(o(o({fontColor:"2.normal"},n),!!t.rightIcon&&{paddingRight:3}),!!t.leftIcon&&{paddingLeft:3}),!!t.leftIndicator&&{borderTopLeftRadius:"2/3",borderBottomLeftRadius:"2/3",marginLeft:"1/4"}),!!t.rightIndicator&&{borderTopRightRadius:"2/3",borderBottomRightRadius:"2/3",marginRight:"1/4"}),t),{freeCSS:o({letterSpacing:"1px",resize:"none"},t.freeCSS),className:[_("Input"),t.className].join(" ")})};export{at as BoxWrapper,z as CoreEffects,nt as DefaultBoxishStyles,et as OptionalInputWrapper};
@@ -3,11 +3,7 @@ import { ReactElement, StyleTags } from '../../@declares';
3
3
  export declare namespace InputTypes {
4
4
  type BoxTone = 'border' | 'cloud' | 'bottomBorder' | 'plain';
5
5
  type Type = 'hidden' | 'textfield' | 'textfield.multiline' | 'select' | 'list.radio' | 'list.checkbox' | 'autocomplete.single' | 'autocomplete.multi' | 'time' | 'switch' | 'slider' | 'file' | 'contenteditable' | 'color' | '';
6
- type OnUpdateValue<T = any> = (data: {
7
- value: T;
8
- componentID: string;
9
- eventType: Validation.EventType;
10
- }) => void;
6
+ type OnUpdateValue<T = any> = (value: T, eventType: Validation.EventType, componentID: string) => void;
11
7
  type UniInput<T = any> = {
12
8
  'data-type'?: T;
13
9
  name?: string;
@@ -18,7 +14,7 @@ export declare namespace InputTypes {
18
14
  required?: boolean;
19
15
  enableFormSubmit?: boolean;
20
16
  checkValidationAtFirst?: boolean;
21
- onValidate?: Validation.OnValidate;
17
+ onValidate?: Validation.OnValidate<T>;
22
18
  onUpdateValue?: OnUpdateValue<T>;
23
19
  onUpdateValidValue?: OnUpdateValue<T>;
24
20
  };
@@ -40,11 +36,7 @@ export declare namespace InputTypes {
40
36
  value: any;
41
37
  states: any;
42
38
  }) => Result;
43
- type OnValidate = (state: {
44
- eventType: EventType;
45
- value: any;
46
- props: KeyValueDict;
47
- }) => Promise<Result>;
39
+ type OnValidate<T = any> = (value: T, eventType: EventType, props: KeyValueDict) => Promise<Result>;
48
40
  }
49
41
  namespace Status {
50
42
  type Plain<T = any> = {
package/dist/fn/Sheet.js CHANGED
@@ -1 +1 @@
1
- import{b as C,c as E,d as K}from"../chunk-C5N2D3ZX.js";import{jsx as u,jsxs as Q}from"react/jsx-runtime";import h,{UUID as Z,Time as ae,useStore as T}from"jmini";import{useState as B,useEffect as G,useRef as le}from"react";import{$$fromRoot as X,Config as Y}from"../@utils";import{Box as k,Flex as pe,Img as ne,FAI as ce,Column as oe}from"../atoms";import{Row as re}from"../mols";import{Button as ie}from"./Button";import he from"./Input";import{SheetClasses as m}from"../@styles/componentClasses";import ue from"./Effect";const z={currentIndex:0,mainSheetIDs:{},getSessionStates:()=>{let t=T.get("sessionStates-"+Y.get().sessionUID);return t||null},getNewSheetStates:t=>{var f;let e=E(C({sheetGroups:t.sheetGroups||[],backgroundEffect:!0,overwrap:t.type=="custom",hold_state:!1,closeAtPageTransit:!0,closeAtEscapeKeyDown:!0,closeAtAroundClick:t.type=="custom"},t),{sheetID:t.sheetID||Z(),isOpen:!0,created_at:ae()});if(e.type=="custom"){let l=e;l.parent=l.parent||((f=l==null?void 0:l.event)==null?void 0:f.currentTarget),e=l}return e}},J={Wrapper:()=>{let[t,e]=B(!1),[f,l]=B([]),y={val_sheets:f,set_sheets:l};T.set({["sessionStates-"+Y.get().sessionUID]:y}),G(()=>{T.set({["Sheet-"+Y.get().sessionUID]:{add:(n,r)=>{let a=T.get("Sheet-"+Y.get().sessionUID);if(!a)return;let s=z.getNewSheetStates(n);if(r!="inherit"&&(s.isOpen=r!=null?r:!0),!!a.find(s.sheetID)){l(g=>{let I=[...g],w=I.findIndex(L=>L.sheetID==s.sheetID);return w==-1||(I[w]=s),I});return}l(g=>[s,...g])},find:n=>{let r=z.getSessionStates();if(!r)return null;let{val_sheets:a}=r;return a.find(s=>s.sheetID==n)}}}),h(Y.get().appRoot).addEvent({eventType:"keyup",eventID:"SheetEvent.keyUp",callback:function(n){let{key:r,metaKey:a}=n;if(r=="Escape"||r==","&&a){let s=z.getSessionStates();if(!s)return;let{val_sheets:c}=s,g=c.filter(w=>w.isOpen);if(!g.length)return;let I=g.reduce((w,L)=>w.created_at.value>L.created_at.value?w:L);N.close(I.sheetID,r)}}}).addEvent({eventType:"click",eventID:"SheetEvent.Click",callback:function(n){let r=z.getSessionStates();if(!r)return;let{val_sheets:a}=r,s=n.target;if(!s||s!=null&&s.closest("."+m("CustomSheet")))return;let c=a.filter(g=>g.type=="custom");c.length&&c.forEach(g=>{let{parent:I}=g;if(!g.closeAtAroundClick)return;let w=X(I)[0];I!==s&&w!==s&&(h(w).find(s).length||N.close(g.sheetID))})}})},[]),G(()=>{let n=f.filter(r=>r.backgroundEffect&&r.isOpen&&!r.overwrap&&r.type!="custom");e(!!n.length)},[f]),G(()=>{let n=X(".AMOTIFY_be_root");if(t){let a=h("html").position(),s=32/a.height,c=32/a.width;n.addClass(m("BodyEffect")).css({transform:`scale(${1-c},${1-s})`})}else n.css({transform:"scale(1)"}).removeClass(m("BodyEffect"))},[t]);let d=f.map(n=>u(J.Core,E(C({},y),{val_sheet:n,patch_sheet:r=>{l(a=>{let s=[...a],c=s.findIndex(g=>g.sheetID==n.sheetID);return c==-1||(s[c]=C(C({},s[c]),r)),s})},delete_sheet:()=>{l(r=>{let a=[...r],s=a.findIndex(c=>c.sheetID==n.sheetID);return s==-1||a.splice(s,1),a})}}),n.sheetID));return u(k,{className:["AMOTIFY_be",m("Wrapper")].join(" "),children:d})},Core:t=>{let{val_sheet:e,patch_sheet:f}=t,[l,y]=B(z.currentIndex+2),[d]=B(Z()),n=e.type!="custom"&&!e.overwrap;G(()=>{z.currentIndex++,h.scope(()=>{if(!e.closeAtParentBlur)return;let c=h(e.parent);c[0]&&c.addEvent({eventID:"SheetClosation-"+e.sheetID,eventType:"mouseout",callback:()=>{c.removeEvent("SheetClosation-"+e.sheetID),f({isOpen:!1})}})}),T.set({[e.sheetID]:{resize:c=>{if(e.type=="drawer.bottom"){let g=T.get(d);g&&g.resize&&g.resize(c)}else(e.type.includes("normal")||e.type.includes("drawer"))&&f({size:c})},close:c=>{f({isOpen:!1})},open:()=>{f({isOpen:!0})}}})},[]),G(()=>{h.scope(()=>{let c=X("#"+d);if(e.isOpen){e.hold_state&&y(z.currentIndex+1),c.await(10).removeClass(m("Hide")).await(10).addClass(m("Open")).callback(()=>{e.openAfter&&e.openAfter()});return}c.await(10).removeClass(m("Open")).await(251).addClass(m("Hide")).callback(()=>{if(e.closeAfter&&e.closeAfter(),n&&h(Y.get().appRoot).focus(),e.hold_state)return f({isOpen:!1});t.delete_sheet()})})},[e.isOpen]);let[r,a]=e.type.split("."),s=J.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"}[e.type]];return u(k,{className:[m("Wrap"),m("Tcate_"+r),m("Tpos_"+a),m("isMainSheet_"+n)].join(" "),width:1,ssAbsoluteCovered:!0,freeCSS:{zIndex:l},id:d,children:Q(oe,{className:m("Content"),gap:0,height:"viewHeight",overflow:"auto",transition:"middle",children:[!!n&&u(J.TapSensor,{sheetID:e.sheetID,delegateAroundClick:e.closeAtAroundClick}),u(s,C({componentID:d},e))]})},d)},Types:{Normal:t=>{let H=t,{sheetID:e,sheetGroups:f,bodyScrolls:l,content:y,className:d="",type:n,size:r="R",freeCSS:a,openAfter:s,closeAfter:c,closeAtAroundClick:g,closeAtEscapeKeyDown:I,closeAtPageTransit:w,closeAtParentBlur:L,closeAtSwipeDown:j,hold_state:q,overwrap:ee,isOpen:te,backgroundEffect:W}=H,U=K(H,["sheetID","sheetGroups","bodyScrolls","content","className","type","size","freeCSS","openAfter","closeAfter","closeAtAroundClick","closeAtEscapeKeyDown","closeAtPageTransit","closeAtParentBlur","closeAtSwipeDown","hold_state","overwrap","isOpen","backgroundEffect"]),[F,A]=n.split("."),b={},x=[];return A.match(/top/)?(x.push("top"),b.marginBottom="auto"):A.match(/middle/)?(x.push("center"),b.marginTop="auto",b.marginBottom="auto"):A.match(/bottom/)&&(x.push("bottom"),b.marginTop="auto"),A.match(/left/i)?(x.push("left"),b.marginRight="auto"):A.match(/center/i)?(x.push("center"),b.marginLeft="auto",b.marginRight="auto"):A.match(/right/i)&&(x.push("right"),b.marginLeft="auto"),u(k,E(C(C({className:[m("BB"),d].join(" "),padding:1,transition:"long",opacity:"trans"},U),b),{freeCSS:C({width:{S:"26rem",R:"36rem",L:"44rem","2L":"60rem","3L":"72rem",MAX:"100%"}[r],maxWidth:"96vw",transformOrigin:x.join(" ")},a),children:h.is.function(y)?u(y,{}):y}))},Edge:t=>{let U=t,{sheetID:e,sheetGroups:f,bodyScrolls:l,type:y,content:d,className:n="",size:r="R",openAfter:a,closeAfter:s,closeAtAroundClick:c,closeAtEscapeKeyDown:g,closeAtPageTransit:I,closeAtParentBlur:w,closeAtSwipeDown:L,hold_state:j,overwrap:q,isOpen:ee,backgroundEffect:te}=U,W=K(U,["sheetID","sheetGroups","bodyScrolls","type","content","className","size","openAfter","closeAfter","closeAtAroundClick","closeAtEscapeKeyDown","closeAtPageTransit","closeAtParentBlur","closeAtSwipeDown","hold_state","overwrap","isOpen","backgroundEffect"]);return u(k,E(C(E(C({className:[m("BB"),n].join(" ")},y=="drawer.right"?{marginLeft:"auto"}:y=="drawer.left"?{marginRight:"auto"}:{}),{opacity:"trans",transition:"long",position:"relative",backgroundColor:"layer.1",flexSizing:"none",minHeight:"viewHeight",boxShadow:"3.remark"}),W),{freeCSS:C({width:{S:"20rem",R:"27rem",L:"32rem","2L":"40rem","3L":"58rem",MAX:"100vw"}[r],maxWidth:"96vw"},W.freeCSS),children:h.is.function(d)?u(d,{}):d}))},Bottom:t=>{let $=t,{componentID:e,sheetID:f,sheetGroups:l,bodyScrolls:y,content:d,size:n="R",sizeChanged:r,baseStyles:a,openAfter:s,closeAfter:c,closeAtAroundClick:g,closeAtEscapeKeyDown:I,closeAtPageTransit:w,closeAtParentBlur:L,closeAtSwipeDown:j=!0,hold_state:q,overwrap:ee,isOpen:te,backgroundEffect:W}=$,U=K($,["componentID","sheetID","sheetGroups","bodyScrolls","content","size","sizeChanged","baseStyles","openAfter","closeAfter","closeAtAroundClick","closeAtEscapeKeyDown","closeAtPageTransit","closeAtParentBlur","closeAtSwipeDown","hold_state","overwrap","isOpen","backgroundEffect"]),F=h.getScreenSize(),A=[0,.2,.6,.95],b={ZERO:0,S:1,R:2,L:3},[x,H]=B(n),[D,R]=B({process:!1,processStart:0,originY:0,originValue:0,viewHeight:0,value:A[b[n]]});T.update({[e]:{val_edit:D,resize:v=>{let S=A[b[v]];R(p=>E(C({},p),{value:S})),H(v)}}});const _={Start:v=>{h(document).addEvent({eventID:"BottomSheetMouseMove",eventType:"mousemove",callback:_.Move,options:{passive:!1}}).addEvent({eventID:"BottomSheetTouchMove",eventType:"touchmove",callback:_.Move,options:{passive:!1}}).addEvent({eventID:"BottomSheetMouseUp",eventType:"mouseup",callback:_.End}).addEvent({eventID:"BottomSheetTouchEnd",eventType:"touchend",callback:_.End});let S=h.getCursor(v),p=E(C({},D),{process:!0,processStart:new Date().getTime(),originY:S.y,originValue:D.value,viewHeight:h.getScreenSize().height});T.update({[e]:{val_edit:p}}),R(p)},Move:v=>{var P;let S=(P=T.get(e))==null?void 0:P.val_edit;if(!S.process)return;let O=(h.getCursor(v).y-S.originY)/S.viewHeight,o=S.originValue-O;if(o>.95)o=.95+(o-.95)*.5;else if(o<.2){let M=.2-o;M-=.1,o=.1+(.1-M)*.5}return R(E(C({},S),{value:o})),v.preventDefault(),v.stopPropagation(),!1},End:v=>{var o;let S=(o=T.get(e))==null?void 0:o.val_edit;if(!S.process)return;h(document).removeEvent(["BottomSheetMouseMove","BottomSheetTouchMove","BottomSheetMouseUp","BottomSheetTouchEnd"]);let p=0;if(S.value<.1||(S.value<.5?p=1:S.value>.75?p=3:p=2),new Date().getTime()-S.processStart<300){let P=h.getCursor(v).y-S.originY;if(Math.abs(P)>=20){let M=+(P<0)*2-1;p+=M,p=Math.min(Math.max(p,0),A.length-1)}}p==0&&(j||(p=1)),H(["ZERO","S","R","L"][p]),R(E(C({},S),{value:A[p],process:!1}))}},V=le(!1);return G(()=>{V.current?x=="ZERO"?j&&N.close(f):setTimeout(()=>{t.sizeChanged&&t.sizeChanged(x)},250):V.current=!0},[x]),u(k,{className:m("BB"),margin:[0,"auto"],marginTop:"auto",opacity:"trans",width:1,transition:"long",freeCSS:C({maxWidth:12*60,height:F.height*D.value},D.process?{transition:"0s"}:{}),children:Q(oe,E(C({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},a),{children:[u(re.Separate,{padding:"1/2",backgroundColor:"layer.1",position:"relative",freeCSS:{userSelect:"none"},children:u(re.Center,{onMouseDown:_.Start,onTouchStart:_.Start,flexSizing:0,padding:"2/3",ssPushable:!0,isRounded:!0,freeCSS:{cursor:"grab",userSelect:"none"},children:u(k,{unitWidth:6,unitHeight:"1/2",backgroundColor:"layer.4",isRounded:!0,className:m("DragBar")})})}),u(k,E(C({backgroundColor:"layer.1",flexSizing:0,overflow:"auto"},U),{children:h.is.function(d)?u(d,{}):d}))]}))})},Custom:t=>{let $=t,{sheetID:e,sheetGroups:f,bodyScrolls:l,event:y,parent:d,nextToCursor:n,gravityPoint:r=22,content:a,closeAtAroundClick:s,closeAtEscapeKeyDown:c,closeAtPageTransit:g,closeAtParentBlur:I,closeAtSwipeDown:w,hold_state:L,openAfter:j,closeAfter:q,overwrap:ee,isOpen:te,resize:W,backgroundEffect:U}=$,F=K($,["sheetID","sheetGroups","bodyScrolls","event","parent","nextToCursor","gravityPoint","content","closeAtAroundClick","closeAtEscapeKeyDown","closeAtPageTransit","closeAtParentBlur","closeAtSwipeDown","hold_state","openAfter","closeAfter","overwrap","isOpen","resize","backgroundEffect"]),[A]=B(Z()),b=h.is.element(d)||h.is.jmini(d)?h(d):X(d),x='[data-sheet-id="'+A+'"]',H='[data-sheet-content="'+A+'"]';r=r;let D=r%5||5,R=Math.ceil(r/5);const _={Init:()=>{if(n&&y){let i=h.getScreenSize(),se=h.getCursor(y);return{top:se.y-i.pageYOffset,left:se.x-i.pageXOffset}}let v={};if(!b||!b[0])return v;let{top:S,right:p,bottom:O,left:o,height:P,width:M}=b.position();return[1,2].includes(D)?v.left=o:D==3?v.left=o+M/2:[4,5].includes(D)&&(v.left=p),r<=10?v.top=S:r<=15?v.top=S+P/2:r<=25&&(v.top=O),v},Adjust:()=>{let v=X(x).position(),S=X(H).position(),p=b.position(),O=h.getScreenSize(),o={};for(let i in S)o[i]=S[i];if(h.scope(()=>{if(t.nextToCursor)return;let i=0;R==1?i=p.top-o.bottom:R==2?i=p.top-o.top:R==3?i=p.top-o.top+(p.height-o.height)/2:R==4?i=p.bottom-o.bottom:R==5&&(i=p.bottom-o.top),o.top+=i,o.bottom+=i}),h.scope(()=>{if(t.nextToCursor)return;let i=0;D==1?i=p.left-o.right:D==2?i=p.left-o.left:D==3?i=p.left-o.left+(p.width-o.width)/2:D==4?i=p.right-o.right:D==5&&(i=p.right-o.left),o.left+=i,o.right+=i}),o.top<0){let i=-o.top;o.top+=i,o.bottom+=i}if(o.bottom>O.height){let i=o.bottom-O.height;o.top-=i,o.bottom-=i}if(o.left<0){let i=-o.left;o.left+=i,o.right+=i}if(o.right>O.width){let i=o.right-O.width;o.left-=i,o.right-=i}let P=o.top-S.top,M=o.left-S.left;h(x).css({top:v.top+P+"px",left:v.left+M+"px"})}};let[V]=B(_.Init());return G(()=>{X(x).await(10).addClass(m("Open")).await(200).callback(()=>{(W==null||W)&&_.Adjust()}),T.update({["customSheet-"+t.sheetID]:{reposition:()=>{_.Adjust()}}})},[]),b[0]?u(k,{className:[m("BB"),m("CustomSheet")].join(" "),"data-sheet-id":A,transition:"long",position:"absolute",width:0,height:0,opacity:"trans",flexCenter:!0,freeCSS:V,children:u(pe,{position:"absolute",className:[m("GPT"),m("GPT_"+r),m("Col_"+D),m("Row_"+R)].join(" "),children:u(k,E(C({"data-sheet-content":A,flexSizing:"none",maxHeight:"viewHeight"},F),{freeCSS:C({maxWidth:"98vw"},F.freeCSS),children:h.is.function(a)?u(a,{}):a}))})}):null}},TapSensor:t=>u(k,{className:m("TapSensor"),children:u(ie.Plain,{className:m("TapContent"),onClick:()=>{var e;(e=t.delegateAroundClick)!=null&&e&&N.close(t.sheetID)},freeCSS:{cursor:"default",pointerEvents:"all"}})})},N={Wrapper:()=>u(J.Wrapper,{}),open:(t,e)=>{if(t.sheetID=(t.sheetID||"").replace(/\./g,"-"),t.type=="image"){let y=t.sheetID||Z(),l=t,{type:d,src:n}=l,r=K(l,["type","src"]);N.open(E(C({type:"normal.topCenter",size:"MAX",backgroundColor:"trans",height:"viewHeight"},r),{sheetID:y,freeCSS:{maxWidth:"96vw",transformOrigin:"top"},content:()=>{let[a]=B(h.flatArray(n)),[s,c]=B(0),g=[];return a.forEach((I,w)=>{g.push({value:w,label:u(ne,{src:h.flatArray(I)[0],width:"auto",height:1,borderRadius:"3.tone.tertiary",freeCSS:{maxWidth:12*6,maxHeight:12*3}})})}),Q(oe,{gap:0,height:1,position:"relative",children:[Q(re.Separate,{position:"absolute",top:0,left:0,right:0,padding:[1,2],freeCSS:{zIndex:2},children:[u(he.Radio,{icon:!1,value:s,override:"force",horizontalAlign:"center",onUpdateValidValue:({value:I})=>{c(I)},cellStyles:{border:!0,borderWidth:2,padding:"1/3",paddingRight:"1/3",boxShadow:"2.normal",gap:0},cellCheckedStyles:{borderColor:"theme"},options:g}),u(ie.Sub.S,{color:"cloud",ssSphere:3,onClick:()=>{N.close(y)},children:u(ce.Times,{})})]}),u(ue.FadeIn,{flexCenter:!0,flexSizing:0,overflow:"auto",children:u(ne,{width:"auto",height:"auto",maxWidth:1,maxHeight:1,src:a[s]})},s)]})}}));return}let f=T.get("Sheet-"+Y.get().sessionUID);f&&f.add(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,f){let l=z.getSessionStates();if(!l)return;let{val_sheets:y}=l;t=t==null?void 0:t.replace(/\./g,"-");let d=y.find(r=>r.sheetID==t);if(!d||e=="Escape"&&!d.closeAtEscapeKeyDown)return;let n=T.get(d.sheetID);n&&n.close&&n.close(f)},closeGroup:t=>{let e=z.getSessionStates();if(!e)return;let{val_sheets:f}=e;t=(t||"").replace(/\./g,"-");for(let l of f)l.sheetGroups&&l.sheetGroups==t&&N.close(l.sheetID)},closeAll:t=>{let e=z.getSessionStates();if(!e)return;let{val_sheets:f}=e;for(let l of f)t&&!l.closeAtPageTransit||N.close(l.sheetID,"pageTransit",!0)},Body:t=>u(k,C({className:m("BaseBody"),backgroundColor:"layer.1",borderRadius:"1.tone.primary",position:"relative",boxShadow:"3.remark",transition:"long"},t))};export{N as Sheet,N as default};
1
+ import{b as C,c as E,d as K}from"../chunk-C5N2D3ZX.js";import{jsx as u,jsxs as Q}from"react/jsx-runtime";import h,{UUID as Z,Time as ae,useStore as T}from"jmini";import{useState as B,useEffect as G,useRef as le}from"react";import{$$fromRoot as X,Config as Y}from"../@utils";import{Box as k,Flex as pe,Img as ne,FAI as ce,Column as oe}from"../atoms";import{Row as re}from"../mols";import{Button as ie}from"./Button";import he from"./Input";import{SheetClasses as m}from"../@styles/componentClasses";import ue from"./Effect";const z={currentIndex:0,mainSheetIDs:{},getSessionStates:()=>{let t=T.get("sessionStates-"+Y.get().sessionUID);return t||null},getNewSheetStates:t=>{var f;let e=E(C({sheetGroups:t.sheetGroups||[],backgroundEffect:!0,overwrap:t.type=="custom",hold_state:!1,closeAtPageTransit:!0,closeAtEscapeKeyDown:!0,closeAtAroundClick:t.type=="custom"},t),{sheetID:t.sheetID||Z(),isOpen:!0,created_at:ae()});if(e.type=="custom"){let l=e;l.parent=l.parent||((f=l==null?void 0:l.event)==null?void 0:f.currentTarget),e=l}return e}},J={Wrapper:()=>{let[t,e]=B(!1),[f,l]=B([]),y={val_sheets:f,set_sheets:l};T.set({["sessionStates-"+Y.get().sessionUID]:y}),G(()=>{T.set({["Sheet-"+Y.get().sessionUID]:{add:(n,r)=>{let a=T.get("Sheet-"+Y.get().sessionUID);if(!a)return;let s=z.getNewSheetStates(n);if(r!="inherit"&&(s.isOpen=r!=null?r:!0),!!a.find(s.sheetID)){l(g=>{let I=[...g],w=I.findIndex(L=>L.sheetID==s.sheetID);return w==-1||(I[w]=s),I});return}l(g=>[s,...g])},find:n=>{let r=z.getSessionStates();if(!r)return null;let{val_sheets:a}=r;return a.find(s=>s.sheetID==n)}}}),h(Y.get().appRoot).addEvent({eventType:"keyup",eventID:"SheetEvent.keyUp",callback:function(n){let{key:r,metaKey:a}=n;if(r=="Escape"||r==","&&a){let s=z.getSessionStates();if(!s)return;let{val_sheets:c}=s,g=c.filter(w=>w.isOpen);if(!g.length)return;let I=g.reduce((w,L)=>w.created_at.value>L.created_at.value?w:L);N.close(I.sheetID,r)}}}).addEvent({eventType:"click",eventID:"SheetEvent.Click",callback:function(n){let r=z.getSessionStates();if(!r)return;let{val_sheets:a}=r,s=n.target;if(!s||s!=null&&s.closest("."+m("CustomSheet")))return;let c=a.filter(g=>g.type=="custom");c.length&&c.forEach(g=>{let{parent:I}=g;if(!g.closeAtAroundClick)return;let w=X(I)[0];I!==s&&w!==s&&(h(w).find(s).length||N.close(g.sheetID))})}})},[]),G(()=>{let n=f.filter(r=>r.backgroundEffect&&r.isOpen&&!r.overwrap&&r.type!="custom");e(!!n.length)},[f]),G(()=>{let n=X(".AMOTIFY_be_root");if(t){let a=h("html").position(),s=32/a.height,c=32/a.width;n.addClass(m("BodyEffect")).css({transform:`scale(${1-c},${1-s})`})}else n.css({transform:"scale(1)"}).removeClass(m("BodyEffect"))},[t]);let d=f.map(n=>u(J.Core,E(C({},y),{val_sheet:n,patch_sheet:r=>{l(a=>{let s=[...a],c=s.findIndex(g=>g.sheetID==n.sheetID);return c==-1||(s[c]=C(C({},s[c]),r)),s})},delete_sheet:()=>{l(r=>{let a=[...r],s=a.findIndex(c=>c.sheetID==n.sheetID);return s==-1||a.splice(s,1),a})}}),n.sheetID));return u(k,{className:["AMOTIFY_be",m("Wrapper")].join(" "),children:d})},Core:t=>{let{val_sheet:e,patch_sheet:f}=t,[l,y]=B(z.currentIndex+2),[d]=B(Z()),n=e.type!="custom"&&!e.overwrap;G(()=>{z.currentIndex++,h.scope(()=>{if(!e.closeAtParentBlur)return;let c=h(e.parent);c[0]&&c.addEvent({eventID:"SheetClosation-"+e.sheetID,eventType:"mouseout",callback:()=>{c.removeEvent("SheetClosation-"+e.sheetID),f({isOpen:!1})}})}),T.set({[e.sheetID]:{resize:c=>{if(e.type=="drawer.bottom"){let g=T.get(d);g&&g.resize&&g.resize(c)}else(e.type.includes("normal")||e.type.includes("drawer"))&&f({size:c})},close:c=>{f({isOpen:!1})},open:()=>{f({isOpen:!0})}}})},[]),G(()=>{h.scope(()=>{let c=X("#"+d);if(e.isOpen){e.hold_state&&y(z.currentIndex+1),c.await(10).removeClass(m("Hide")).await(10).addClass(m("Open")).callback(()=>{e.openAfter&&e.openAfter()});return}c.await(10).removeClass(m("Open")).await(251).addClass(m("Hide")).callback(()=>{if(e.closeAfter&&e.closeAfter(),n&&h(Y.get().appRoot).focus(),e.hold_state)return f({isOpen:!1});t.delete_sheet()})})},[e.isOpen]);let[r,a]=e.type.split("."),s=J.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"}[e.type]];return u(k,{className:[m("Wrap"),m("Tcate_"+r),m("Tpos_"+a),m("isMainSheet_"+n)].join(" "),width:1,ssAbsoluteCovered:!0,freeCSS:{zIndex:l},id:d,children:Q(oe,{className:m("Content"),gap:0,height:"viewHeight",overflow:"auto",transition:"middle",children:[!!n&&u(J.TapSensor,{sheetID:e.sheetID,delegateAroundClick:e.closeAtAroundClick}),u(s,C({componentID:d},e))]})},d)},Types:{Normal:t=>{let H=t,{sheetID:e,sheetGroups:f,bodyScrolls:l,content:y,className:d="",type:n,size:r="R",freeCSS:a,openAfter:s,closeAfter:c,closeAtAroundClick:g,closeAtEscapeKeyDown:I,closeAtPageTransit:w,closeAtParentBlur:L,closeAtSwipeDown:j,hold_state:q,overwrap:ee,isOpen:te,backgroundEffect:W}=H,U=K(H,["sheetID","sheetGroups","bodyScrolls","content","className","type","size","freeCSS","openAfter","closeAfter","closeAtAroundClick","closeAtEscapeKeyDown","closeAtPageTransit","closeAtParentBlur","closeAtSwipeDown","hold_state","overwrap","isOpen","backgroundEffect"]),[F,A]=n.split("."),b={},x=[];return A.match(/top/)?(x.push("top"),b.marginBottom="auto"):A.match(/middle/)?(x.push("center"),b.marginTop="auto",b.marginBottom="auto"):A.match(/bottom/)&&(x.push("bottom"),b.marginTop="auto"),A.match(/left/i)?(x.push("left"),b.marginRight="auto"):A.match(/center/i)?(x.push("center"),b.marginLeft="auto",b.marginRight="auto"):A.match(/right/i)&&(x.push("right"),b.marginLeft="auto"),u(k,E(C(C({className:[m("BB"),d].join(" "),padding:1,transition:"long",opacity:"trans"},U),b),{freeCSS:C({width:{S:"26rem",R:"36rem",L:"44rem","2L":"60rem","3L":"72rem",MAX:"100%"}[r],maxWidth:"96vw",transformOrigin:x.join(" ")},a),children:h.is.function(y)?u(y,{}):y}))},Edge:t=>{let U=t,{sheetID:e,sheetGroups:f,bodyScrolls:l,type:y,content:d,className:n="",size:r="R",openAfter:a,closeAfter:s,closeAtAroundClick:c,closeAtEscapeKeyDown:g,closeAtPageTransit:I,closeAtParentBlur:w,closeAtSwipeDown:L,hold_state:j,overwrap:q,isOpen:ee,backgroundEffect:te}=U,W=K(U,["sheetID","sheetGroups","bodyScrolls","type","content","className","size","openAfter","closeAfter","closeAtAroundClick","closeAtEscapeKeyDown","closeAtPageTransit","closeAtParentBlur","closeAtSwipeDown","hold_state","overwrap","isOpen","backgroundEffect"]);return u(k,E(C(E(C({className:[m("BB"),n].join(" ")},y=="drawer.right"?{marginLeft:"auto"}:y=="drawer.left"?{marginRight:"auto"}:{}),{opacity:"trans",transition:"long",position:"relative",backgroundColor:"layer.1",flexSizing:"none",minHeight:"viewHeight",boxShadow:"3.remark"}),W),{freeCSS:C({width:{S:"20rem",R:"27rem",L:"32rem","2L":"40rem","3L":"58rem",MAX:"100vw"}[r],maxWidth:"96vw"},W.freeCSS),children:h.is.function(d)?u(d,{}):d}))},Bottom:t=>{let $=t,{componentID:e,sheetID:f,sheetGroups:l,bodyScrolls:y,content:d,size:n="R",sizeChanged:r,baseStyles:a,openAfter:s,closeAfter:c,closeAtAroundClick:g,closeAtEscapeKeyDown:I,closeAtPageTransit:w,closeAtParentBlur:L,closeAtSwipeDown:j=!0,hold_state:q,overwrap:ee,isOpen:te,backgroundEffect:W}=$,U=K($,["componentID","sheetID","sheetGroups","bodyScrolls","content","size","sizeChanged","baseStyles","openAfter","closeAfter","closeAtAroundClick","closeAtEscapeKeyDown","closeAtPageTransit","closeAtParentBlur","closeAtSwipeDown","hold_state","overwrap","isOpen","backgroundEffect"]),F=h.getScreenSize(),A=[0,.2,.6,.95],b={ZERO:0,S:1,R:2,L:3},[x,H]=B(n),[D,R]=B({process:!1,processStart:0,originY:0,originValue:0,viewHeight:0,value:A[b[n]]});T.update({[e]:{val_edit:D,resize:v=>{let S=A[b[v]];R(p=>E(C({},p),{value:S})),H(v)}}});const _={Start:v=>{h(document).addEvent({eventID:"BottomSheetMouseMove",eventType:"mousemove",callback:_.Move,options:{passive:!1}}).addEvent({eventID:"BottomSheetTouchMove",eventType:"touchmove",callback:_.Move,options:{passive:!1}}).addEvent({eventID:"BottomSheetMouseUp",eventType:"mouseup",callback:_.End}).addEvent({eventID:"BottomSheetTouchEnd",eventType:"touchend",callback:_.End});let S=h.getCursor(v),p=E(C({},D),{process:!0,processStart:new Date().getTime(),originY:S.y,originValue:D.value,viewHeight:h.getScreenSize().height});T.update({[e]:{val_edit:p}}),R(p)},Move:v=>{var P;let S=(P=T.get(e))==null?void 0:P.val_edit;if(!S.process)return;let O=(h.getCursor(v).y-S.originY)/S.viewHeight,o=S.originValue-O;if(o>.95)o=.95+(o-.95)*.5;else if(o<.2){let M=.2-o;M-=.1,o=.1+(.1-M)*.5}return R(E(C({},S),{value:o})),v.preventDefault(),v.stopPropagation(),!1},End:v=>{var o;let S=(o=T.get(e))==null?void 0:o.val_edit;if(!S.process)return;h(document).removeEvent(["BottomSheetMouseMove","BottomSheetTouchMove","BottomSheetMouseUp","BottomSheetTouchEnd"]);let p=0;if(S.value<.1||(S.value<.5?p=1:S.value>.75?p=3:p=2),new Date().getTime()-S.processStart<300){let P=h.getCursor(v).y-S.originY;if(Math.abs(P)>=20){let M=+(P<0)*2-1;p+=M,p=Math.min(Math.max(p,0),A.length-1)}}p==0&&(j||(p=1)),H(["ZERO","S","R","L"][p]),R(E(C({},S),{value:A[p],process:!1}))}},V=le(!1);return G(()=>{V.current?x=="ZERO"?j&&N.close(f):setTimeout(()=>{t.sizeChanged&&t.sizeChanged(x)},250):V.current=!0},[x]),u(k,{className:m("BB"),margin:[0,"auto"],marginTop:"auto",opacity:"trans",width:1,transition:"long",freeCSS:C({maxWidth:12*60,height:F.height*D.value},D.process?{transition:"0s"}:{}),children:Q(oe,E(C({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},a),{children:[u(re.Separate,{padding:"1/2",backgroundColor:"layer.1",position:"relative",freeCSS:{userSelect:"none"},children:u(re.Center,{onMouseDown:_.Start,onTouchStart:_.Start,flexSizing:0,padding:"2/3",ssPushable:!0,isRounded:!0,freeCSS:{cursor:"grab",userSelect:"none"},children:u(k,{unitWidth:6,unitHeight:"1/2",backgroundColor:"layer.4",isRounded:!0,className:m("DragBar")})})}),u(k,E(C({backgroundColor:"layer.1",flexSizing:0,overflow:"auto"},U),{children:h.is.function(d)?u(d,{}):d}))]}))})},Custom:t=>{let $=t,{sheetID:e,sheetGroups:f,bodyScrolls:l,event:y,parent:d,nextToCursor:n,gravityPoint:r=22,content:a,closeAtAroundClick:s,closeAtEscapeKeyDown:c,closeAtPageTransit:g,closeAtParentBlur:I,closeAtSwipeDown:w,hold_state:L,openAfter:j,closeAfter:q,overwrap:ee,isOpen:te,resize:W,backgroundEffect:U}=$,F=K($,["sheetID","sheetGroups","bodyScrolls","event","parent","nextToCursor","gravityPoint","content","closeAtAroundClick","closeAtEscapeKeyDown","closeAtPageTransit","closeAtParentBlur","closeAtSwipeDown","hold_state","openAfter","closeAfter","overwrap","isOpen","resize","backgroundEffect"]),[A]=B(Z()),b=h.is.element(d)||h.is.jmini(d)?h(d):X(d),x='[data-sheet-id="'+A+'"]',H='[data-sheet-content="'+A+'"]';r=r;let D=r%5||5,R=Math.ceil(r/5);const _={Init:()=>{if(n&&y){let i=h.getScreenSize(),se=h.getCursor(y);return{top:se.y-i.pageYOffset,left:se.x-i.pageXOffset}}let v={};if(!b||!b[0])return v;let{top:S,right:p,bottom:O,left:o,height:P,width:M}=b.position();return[1,2].includes(D)?v.left=o:D==3?v.left=o+M/2:[4,5].includes(D)&&(v.left=p),r<=10?v.top=S:r<=15?v.top=S+P/2:r<=25&&(v.top=O),v},Adjust:()=>{let v=X(x).position(),S=X(H).position(),p=b.position(),O=h.getScreenSize(),o={};for(let i in S)o[i]=S[i];if(h.scope(()=>{if(t.nextToCursor)return;let i=0;R==1?i=p.top-o.bottom:R==2?i=p.top-o.top:R==3?i=p.top-o.top+(p.height-o.height)/2:R==4?i=p.bottom-o.bottom:R==5&&(i=p.bottom-o.top),o.top+=i,o.bottom+=i}),h.scope(()=>{if(t.nextToCursor)return;let i=0;D==1?i=p.left-o.right:D==2?i=p.left-o.left:D==3?i=p.left-o.left+(p.width-o.width)/2:D==4?i=p.right-o.right:D==5&&(i=p.right-o.left),o.left+=i,o.right+=i}),o.top<0){let i=-o.top;o.top+=i,o.bottom+=i}if(o.bottom>O.height){let i=o.bottom-O.height;o.top-=i,o.bottom-=i}if(o.left<0){let i=-o.left;o.left+=i,o.right+=i}if(o.right>O.width){let i=o.right-O.width;o.left-=i,o.right-=i}let P=o.top-S.top,M=o.left-S.left;h(x).css({top:v.top+P+"px",left:v.left+M+"px"})}};let[V]=B(_.Init());return G(()=>{X(x).await(10).addClass(m("Open")).await(200).callback(()=>{(W==null||W)&&_.Adjust()}),T.update({["customSheet-"+t.sheetID]:{reposition:()=>{_.Adjust()}}})},[]),b[0]?u(k,{className:[m("BB"),m("CustomSheet")].join(" "),"data-sheet-id":A,transition:"long",position:"absolute",width:0,height:0,opacity:"trans",flexCenter:!0,freeCSS:V,children:u(pe,{position:"absolute",className:[m("GPT"),m("GPT_"+r),m("Col_"+D),m("Row_"+R)].join(" "),children:u(k,E(C({"data-sheet-content":A,flexSizing:"none",maxHeight:"viewHeight"},F),{freeCSS:C({maxWidth:"98vw"},F.freeCSS),children:h.is.function(a)?u(a,{}):a}))})}):null}},TapSensor:t=>u(k,{className:m("TapSensor"),children:u(ie.Plain,{className:m("TapContent"),onClick:()=>{var e;(e=t.delegateAroundClick)!=null&&e&&N.close(t.sheetID)},freeCSS:{cursor:"default",pointerEvents:"all"}})})},N={Wrapper:()=>u(J.Wrapper,{}),open:(t,e)=>{if(t.sheetID=(t.sheetID||"").replace(/\./g,"-"),t.type=="image"){let y=t.sheetID||Z(),l=t,{type:d,src:n}=l,r=K(l,["type","src"]);N.open(E(C({type:"normal.topCenter",size:"MAX",backgroundColor:"trans",height:"viewHeight"},r),{sheetID:y,freeCSS:{maxWidth:"96vw",transformOrigin:"top"},content:()=>{let[a]=B(h.flatArray(n)),[s,c]=B(0),g=[];return a.forEach((I,w)=>{g.push({value:w,label:u(ne,{src:h.flatArray(I)[0],width:"auto",height:1,borderRadius:"3.tone.tertiary",freeCSS:{maxWidth:12*6,maxHeight:12*3}})})}),Q(oe,{gap:0,height:1,position:"relative",children:[Q(re.Separate,{position:"absolute",top:0,left:0,right:0,padding:[1,2],freeCSS:{zIndex:2},children:[u(he.Radio,{icon:!1,value:s,override:"force",horizontalAlign:"center",onUpdateValidValue:I=>{c(I)},cellStyles:{border:!0,borderWidth:2,padding:"1/3",paddingRight:"1/3",boxShadow:"2.normal",gap:0},cellCheckedStyles:{borderColor:"theme"},options:g}),u(ie.Sub.S,{color:"cloud",ssSphere:3,onClick:()=>{N.close(y)},children:u(ce.Times,{})})]}),u(ue.FadeIn,{flexCenter:!0,flexSizing:0,overflow:"auto",children:u(ne,{width:"auto",height:"auto",maxWidth:1,maxHeight:1,src:a[s]})},s)]})}}));return}let f=T.get("Sheet-"+Y.get().sessionUID);f&&f.add(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,f){let l=z.getSessionStates();if(!l)return;let{val_sheets:y}=l;t=t==null?void 0:t.replace(/\./g,"-");let d=y.find(r=>r.sheetID==t);if(!d||e=="Escape"&&!d.closeAtEscapeKeyDown)return;let n=T.get(d.sheetID);n&&n.close&&n.close(f)},closeGroup:t=>{let e=z.getSessionStates();if(!e)return;let{val_sheets:f}=e;t=(t||"").replace(/\./g,"-");for(let l of f)l.sheetGroups&&l.sheetGroups==t&&N.close(l.sheetID)},closeAll:t=>{let e=z.getSessionStates();if(!e)return;let{val_sheets:f}=e;for(let l of f)t&&!l.closeAtPageTransit||N.close(l.sheetID,"pageTransit",!0)},Body:t=>u(k,C({className:m("BaseBody"),backgroundColor:"layer.1",borderRadius:"1.tone.primary",position:"relative",boxShadow:"3.remark",transition:"long"},t))};export{N as Sheet,N 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:b,tabs:d,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:b,fontColor:"inherit",gap:0,override:"force",options:d.map((e,t)=>({value:t,label:e})),onUpdateValidValue:e=>{let t=e.value;n&&n(t)}})})}))};export{u as TabBar,u as default};
1
+ import{b as t,c as l,d as p}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 S from"./Input";const m=f=>{let i=f,{tabIndex:u,tabs:b,onTabChange:a,componentDidMount:n}=i,r=p(i,["tabIndex","tabs","onTabChange","componentDidMount"]);return s(()=>{n&&n()},[]),o(x,l(t({position:"relative",overflow:"auto",flexWrap:!1},r),{freeCSS:t({zIndex:3,whiteSpace:"nowrap"},r.freeCSS),children:o(c,{margin:[0,"auto"],children:o(S.Segmented.Bottomline,{value:u,fontColor:"inherit",gap:0,override:"force",options:b.map((e,d)=>({value:d,label:e})),onUpdateValidValue:e=>{a&&a(e)}})})}))};export{m as TabBar,m as default};
@@ -1 +1 @@
1
- import{b as r,c as m,d as G}from"../../chunk-C5N2D3ZX.js";import{Fragment as W,jsx as l,jsxs as x}from"react/jsx-runtime";import D,{UUID as Q,useStore as Y}from"jmini";import{useState as Z,useEffect as U}from"react";import{useRefresh as F}from"../../@utils";import{Box as B,Flex as K,FAI as N,Span as le,Column as oe}from"../../atoms";import{Row as E}from"../../mols";import{Button as H}from"../Button";import ee from"../Sheet";import L from"../Input";import{faArrowUp as ne}from"@fortawesome/free-solid-svg-icons/faArrowUp";import{faArrowDown as se}from"@fortawesome/free-solid-svg-icons/faArrowDown";import{faArrowRight as ie}from"@fortawesome/free-solid-svg-icons/faArrowRight";import{faFilter as ce}from"@fortawesome/free-solid-svg-icons/faFilter";import R from"./Parts";import ue from"./Wrapper";import{DefaultCellSystemAdjustingStyles as V}from"./cellStyling";import{TableClasses as y}from"../../@styles/componentClasses";const I={__memoryID:Q(),Header:t=>{var h,b;let{val_status:e,set_status:n,KeywordFilterRows:d}=r({},t),{order:s,filter:a}=e,[u,g]=s.current,p=[],c=[...e.head];if(e.checker){let o={top:!0,bottom:!e.rows.length,left:!0,right:!e.colLength,rowIndex:0,colIndex:0,isBody:!1,isHeader:!0},i=V(o),f=e.cellStylesCallback?e.cellStylesCallback(o):{};p.push(l(R.TH,m(r(r(r({fontWeight:"2.normal",position:"sticky",top:0,unitWidth:4,padding:0},e.cellStyles),i),f),{freeCSS:m(r(r({},(h=e.cellStyles)==null?void 0:h.freeCSS),f.freeCSS),{zIndex:2}),className:[y("Cell"),e.cellClassName].join(" "),children:l(B,{flexCenter:!0,children:l(L.Checker,{label:null,value:!1,onUpdateValidValue:({value:S})=>{let C=e.rows;C.forEach(O=>{O.checked=S}),n(m(r({},e),{rows:C}))}})})}),-1))}for(let o=0;o<e.colLength;o++){let i=c[o];if(!i)continue;let f=i.children||i.data,S=s.enabled&&s.column[o],C=a.enabled&&a.column[o],O=S?l(N,{fontSize:"1.mini",fontColor:o==u?"1.clear":"5.translucent",icon:o==u?g=="DESC"?se:ne:ie}):null,v=l(W,{});if(C){let _=d.map(P=>{var A;return(A=P[o])==null?void 0:A.data});_=[...new Set(_)].toASC();let T=a.current[o];if(T){let P=_.filter(w=>!T.includes(w)),A=[];_.forEach(w=>{w&&A.push({value:w,label:l(B,{flexSizing:"auto",children:w})})});let J="BUTTON-"+e.componentID+"-"+o,X=e.componentID+"-"+o,re={sheetID:X,parent:"#"+J,gravityPoint:23,type:"custom",content:x(K,{flexType:"col",border:!0,boxShadow:"3.remark",backgroundColor:"layer.1",borderRadius:1,freeCSS:{minWidth:12*20,maxWidth:12*30},children:[l(oe,{gap:"1/3",overflow:"auto",padding:"2/3",freeCSS:{maxHeight:12*30},children:l(L.Checkbox,{icon:!0,value:P,display:"flex",gap:"2/3",override:"force",options:A,hideInput:!0,name:"DTFilter-col-"+o+"-table-"+e.componentID,onUpdateValidValue:({value:w})=>{let M=_.filter(ae=>!w.includes(ae)),$=r({},e);$.filter.current[o]=M,n($)}})}),x(E.Separate,{gap:"2/3",padding:"2/3",horizontalAlign:"right",children:[l(H.Border.S,{isRounded:!0,onClick:()=>{ee.close(X)},children:"\u9589\u3058\u308B"}),l(H.Prime.S,{color:"theme",isRounded:!0,ssEffectsOnActive:"shrink",onClick:()=>{let w=[];T.length||(w=_);let M=r({},e);M.filter.current[o]=w,n(M)},children:"\u5168\u9078\u629E"})]})]})};v=l(B,{className:y("FilterRegion"),children:l(H.Sub.S,{ssSphere:2.5,fontSize:"1.mini",className:y("Filtering_"+!!T.length),id:J,onClick:w=>{w.stopPropagation(),ee.open(re)},children:l(N,{icon:ce})})})}}let z={top:!0,bottom:!e.rows.length,left:e.checker?!1:o==0,right:o==e.colLength-1,rowIndex:0,colIndex:o,isBody:!1,isHeader:!0},te=V(z),q=e.cellStylesCallback?e.cellStylesCallback(z):{};i=m(r(r(r(r({},e.cellStyles),te),i),q),{ssPushable:S,freeCSS:r(r(r({},(b=e.cellStyles)==null?void 0:b.freeCSS),q.freeCSS),i.freeCSS),className:[y("Cell"),e.cellClassName,i.className].join(" ")}),delete i.orderIndex,p.push(l(R.TH,m(r({fontWeight:"2.normal",position:"sticky",top:0},i),{freeCSS:r({zIndex:2},i.freeCSS),onClick:_=>{if(S){let T=r({},e),P=[o,u===o&&g=="ASC"?"DESC":"ASC"];T.order.current=P,n(T),e.onOrderChanged&&e.onOrderChanged(P)}},children:x(K,{flexType:"row-r",flexWrap:!1,height:1,borderRadius:"inherit",flexCenter:!0,children:[v,x(K,{flexSizing:0,position:"relative",borderRadius:"inherit",gap:"1/2",flexWrap:!1,verticalAlign:"center",horizontalAlign:"center",children:[O,f]})]})}),o))}return l(R.Row,{className:[y("Row"),y("HeadRow")].join(" "),children:p})},Body:t=>{let{val_status:e,PageRows:n}=t,d=[];if(n.forEach((s,a)=>{var p;let u=[...s],g=[];if(e.checker){let c={top:a==0&&!e.head,bottom:a==n.length-1,left:!0,right:!e.colLength,rowIndex:a,colIndex:0,isBody:!0,isHeader:!1},h=V(c),b=e.cellStylesCallback?e.cellStylesCallback(c):{};g.push(l(R.TH,m(r(r(r({unitWidth:4,padding:0,borderRight:!0},e.cellStyles),h),b),{freeCSS:r(r({},(p=e.cellStyles)==null?void 0:p.freeCSS),b.freeCSS),className:[y("Cell"),e.cellClassName].join(" "),children:l(B,{flexCenter:!0,children:l(L.Checker,{label:null,value:s.checked,override:"force",onUpdateValidValue:({value:o})=>{let i=e.rows,f=i.findIndex(S=>D.is.equal(S.rowID,s.rowID));f!=-1&&(i[f].checked=o,t.set_status(S=>m(r({},S),{rows:i})))}})})}),-1))}u.forEach((c,h)=>{var v;if(!c)return;let O=c,{type:b="td"}=O,o=G(O,["type"]),i={top:a==0&&!e.head,bottom:a==n.length-1,left:e.checker?!1:h==0,right:h==e.colLength-1,rowIndex:a,colIndex:h,isBody:!0,isHeader:!1},f=V(i),S=e.cellStylesCallback?e.cellStylesCallback(i):{};o=m(r(r(r(r({},e.cellStyles),f),o),S),{freeCSS:r(r(r({},(v=e.cellStyles)==null?void 0:v.freeCSS),o.freeCSS),S.freeCSS),className:[y("Cell"),e.cellClassName,o.className].join(" ")}),delete o.orderIndex;let C=R[b=="td"?"TD":"TH"];g.push(l(C,r({},o),h))}),d.push(l(R.Row,{className:[y("Row"),y("BodyRow")].join(" "),children:g,onClick:c=>{e.onRowClick&&e.onRowClick(s.rowID,c)}},a))}),!n.length){let s=l(B,{padding:2,fontColor:"4.thin",textAlign:"center",borderTop:"1.thin",children:"\u30C6\u30FC\u30D6\u30EB\u304C\u3042\u308A\u307E\u305B\u3093"});e.noRecords&&(s=l(W,{children:e.noRecords})),d.push(l(R.Row,{className:[y("Row"),y("BodyRow"),y("DataNotFound")].join(" "),children:l(R.TD,{colSpan:e.colLength,className:y("Cell"),children:s})},"dataNotFound"))}return l(W,{children:d})},Core:t=>{let{val_status:e,set_status:n}=t,{searchKeyword:d,filter:s,order:a,paging:u}=e,g=[...e.rows],p=[...e.rows],c=[...e.rows],h=[...e.rows];if(d&&(p=g.filter(i=>(i.__sys4SearchKey||"").match(new RegExp(d,"i"))?1:0),c=[...p],h=[...p]),s.enabled)for(let i=0;i<e.colLength;i++){let f=s.column[i],S=s.current[i];f&&S&&S.length&&(c=c.filter(C=>!S.includes(C[i].data)),h=[...c])}a.enabled&&(c=c[a.current[1]=="ASC"?"toASC":"toDESC"]([a.current[0],"orderIndex"].join(".")),h=[...c]);{let{currentPageIndex:i,rowLength:f}=u;h=[...h].splice((i-1)*f,f)}let b=I.__memoryID+"_"+e.tableID,o={rows:{total:g.length,page:h.length,filtered:c.length},val_status:m(r({},e),{paging:m(r({},e.paging),{pageLength:Math.ceil(c.length/e.paging.rowLength)})}),set_status:n};return Y.update({[b]:{getRowData:()=>{let i=[...g];return a.enabled&&(i=i[a.current[1]=="ASC"?"toASC":"toDESC"]([a.current[0],"orderIndex"].join("."))),i.forEach(f=>{f.currentPage=!1,f.filtered=!1}),h.forEach(f=>{let{rowID:S}=f;i.find(C=>D.is.equal(C.rowID,S)).currentPage=!0}),c.forEach(f=>{let{rowID:S}=f;i.find(C=>D.is.equal(C.rowID,S)).filtered=!0}),i}}}),U(()=>{F.release(e.tableID,o)}),l(B,{className:y("TableBase"),children:l(R.Table,{className:y("Table"),children:x(R.Body,{children:[l(I.Header,{val_status:e,set_status:n,KeywordFilterRows:p}),l(I.Body,{val_status:e,set_status:n,PageRows:h})]})})},d)},Propagations:{},DataLeveler:t=>{var e,n;return t=r({},t),t.filter=(e=t.filter)!=null?e:!1,t.filter=Array.from({length:t.colLength}).map((d,s)=>{var a;return D.is.boolean(t.filter)?t.filter:(a=t.filter[s])!=null?a:!1}),t.order=(n=t.order)!=null?n:!0,t.order=Array.from({length:t.colLength}).map((d,s)=>{var a;return D.is.boolean(t.order)?t.order:(a=t.order[s])!=null?a:!0}),t=r({checker:!1,searchKeyword:"",filter:!1,order:!0,defaultOrder:[0,"ASC"]},t),t.rows.forEach((d,s)=>{d.rowID=d.rowID||s;let a=[];d.forEach((u,g)=>{let{data:p,children:c,orderIndex:h}=u;u.orderIndex=D.is.exist(h)?String(h):String(p),u.children=c||String(p),a.push(String(u.data))}),d.__sys4SearchKey=a.join("/")}),l(I.StateManager,r({},t))},StateManager:t=>{let{colLength:e,checker:n=!1,searchKeyword:d="",filter:s,order:a,defaultOrder:u=[0,"ASC"],pageRowLength:g=30}=t,[p]=Z(Q()),c={tableID:t.tableID||p,componentID:p,colLength:e,checker:n,searchKeyword:d,filter:{enabled:s!==!1,column:s,current:Array.from({length:e},()=>[])},order:{enabled:a!==!1,column:a,current:u},paging:{rowLength:g,pageLength:Math.ceil(t.rows.length/g),currentPageIndex:1},head:t.head,rows:t.rows,noRecords:t.noRecords,cellStyles:t.cellStyles||{},cellClassName:t.cellClassName||"",cellStylesCallback:t.cellStylesCallback,onRowClick:t.onRowClick,onOrderChanged:t.onOrderChanged},[h,b]=Z(c);return U(()=>{b(o=>m(r({},o),{rows:c.rows}))},[D.Stringify(c.rows)]),U(()=>{b(o=>m(r({},o),{head:c.head}))},[D.Stringify(c.head)]),l(I.Core,{val_status:h,set_status:b})}},de={__memoryID:I.__memoryID,getRowData:t=>{let e=Y.get(I.__memoryID+"_"+t);if(e!=null&&e.getRowData)return e.getRowData()}},j={SearchInput:t=>{let e=F.catch(t.tableID);if(!e)return null;let{val_status:n,set_status:d}=e;return l(L.TextField,{label:"\u691C\u7D22...",clearButton:!0,padding:"2/3",paddingRight:3,rightIcon:l(L.RightIcon,{ssSphere:2,fontColor:"5.translucent",right:"2/3",children:l(N.Search,{})}),value:n.searchKeyword,onUpdateValidValue:({value:s})=>{t.onChange(s),D.interval.once(()=>{d(a=>m(r({},a),{paging:m(r({},a.paging),{currentPageIndex:1}),filter:m(r({},a.filter),{current:Array.from({length:a.colLength},()=>[])}),searchKeyword:s}))},200,"InputSearchTime")}})},Info:t=>{let e=F.catch(t.tableID);if(!e)return null;let{val_status:n,set_status:d}=e,s=e.rows.filtered.ratio(e.rows.total)||0;return x(K,{verticalAlign:"baseline",gap:"1/2",fontSize:"1.mini",fontColor:"3.blur",children:[l(le,{fontSize:"4.thirdTitle",fontColor:"theme",children:e.rows.filtered.toLocaleString()}),"/ ",e.rows.total.toLocaleString(),"\u4EF6 (",s,"%)"]})},Paging:t=>{let e=F.catch(t.tableID);if(!e)return null;let{val_status:n,set_status:d}=e,s=[];for(let u=0;u<n.paging.pageLength;u++)s.push({value:u+1,label:(u+1).toString()});const a=u=>{let g=Math.min(Math.max(1,u),n.paging.pageLength),p=r({},n);p.paging.currentPageIndex=g,d(c=>m(r({},c),{paging:m(r({},c.paging),{currentPageIndex:g})}))};return x(E.Center,{children:[x(E.Center,{gap:"1/2",children:[l(L.Select,{label:"\u9805",freeCSS:{minWidth:12*3},emptySelect:!1,padding:["1/3","2/3"],rightIcon:!1,override:"force",value:n.paging.currentPageIndex,options:s,onUpdateValidValue:({value:u})=>{a(u)}}),"/ ",n.paging.pageLength]}),x(E.Right,{gap:"1/2",children:[l(H.Sub,{ssSphere:3,onClick:()=>{if(n.paging.currentPageIndex==1){a(n.paging.pageLength);return}a(n.paging.currentPageIndex-1)},children:l(N.ChevronLeft,{})}),l(H.Sub,{ssSphere:3,onClick:()=>{if(n.paging.currentPageIndex==n.paging.pageLength){a(1);return}a(n.paging.currentPageIndex+1)},children:l(N.ChevronRight,{})})]})]})},RowLength:t=>{let e=F.catch(t.tableID);if(!e)return null;let{val_status:n,set_status:d}=e,s=n.paging.rowLength,a=0,u=t.lengthSelect.map(g=>(a|=+(g==s),{value:g,label:g.toString()}));return a||u.push({value:s,label:s.toString()}),l(E.Center,{gap:"1/2",children:l(L.Select,{label:"\u4EF6\u6570",emptySelect:!1,rightIcon:!1,override:"force",padding:["1/3","2/3"],SelectorStyles:{freeCSS:{minWidth:12*9}},SelectorPosition:4,value:n.paging.rowLength,options:u.toASC("value"),onUpdateValidValue:({value:g})=>{d(p=>m(r({},p),{paging:{rowLength:Number(g),currentPageIndex:1,pageLength:Math.ceil(e.rows.filtered/Number(g))}}))}})})}},ge=t=>l(ue,m(r({},t),{type:"data",JSXChildren:I.DataLeveler})),k=ge;k.__memoryID=I.__memoryID,k.getRowData=de.getRowData,k.Info=j.Info,k.Paging=j.Paging,k.RowLength=j.RowLength,k.SearchInput=j.SearchInput;export{k as Data,k as default};
1
+ import{b as r,c as m,d as G}from"../../chunk-C5N2D3ZX.js";import{Fragment as W,jsx as l,jsxs as x}from"react/jsx-runtime";import D,{UUID as Q,useStore as Y}from"jmini";import{useState as Z,useEffect as U}from"react";import{useRefresh as F}from"../../@utils";import{Box as B,Flex as K,FAI as N,Span as le,Column as oe}from"../../atoms";import{Row as E}from"../../mols";import{Button as H}from"../Button";import ee from"../Sheet";import L from"../Input";import{faArrowUp as ne}from"@fortawesome/free-solid-svg-icons/faArrowUp";import{faArrowDown as se}from"@fortawesome/free-solid-svg-icons/faArrowDown";import{faArrowRight as ie}from"@fortawesome/free-solid-svg-icons/faArrowRight";import{faFilter as ce}from"@fortawesome/free-solid-svg-icons/faFilter";import R from"./Parts";import ue from"./Wrapper";import{DefaultCellSystemAdjustingStyles as j}from"./cellStyling";import{TableClasses as y}from"../../@styles/componentClasses";const I={__memoryID:Q(),Header:t=>{var h,b;let{val_status:e,set_status:s,KeywordFilterRows:d}=r({},t),{order:i,filter:a}=e,[u,g]=i.current,p=[],c=[...e.head];if(e.checker){let o={top:!0,bottom:!e.rows.length,left:!0,right:!e.colLength,rowIndex:0,colIndex:0,isBody:!1,isHeader:!0},n=j(o),f=e.cellStylesCallback?e.cellStylesCallback(o):{};p.push(l(R.TH,m(r(r(r({fontWeight:"2.normal",position:"sticky",top:0,unitWidth:4,padding:0},e.cellStyles),n),f),{freeCSS:m(r(r({},(h=e.cellStyles)==null?void 0:h.freeCSS),f.freeCSS),{zIndex:2}),className:[y("Cell"),e.cellClassName].join(" "),children:l(B,{flexCenter:!0,children:l(L.Checker,{label:null,value:!1,onUpdateValidValue:S=>{let C=e.rows;C.forEach(O=>{O.checked=S}),s(m(r({},e),{rows:C}))}})})}),-1))}for(let o=0;o<e.colLength;o++){let n=c[o];if(!n)continue;let f=n.children||n.data,S=i.enabled&&i.column[o],C=a.enabled&&a.column[o],O=S?l(N,{fontSize:"1.mini",fontColor:o==u?"1.clear":"5.translucent",icon:o==u?g=="DESC"?se:ne:ie}):null,v=l(W,{});if(C){let _=d.map(P=>{var A;return(A=P[o])==null?void 0:A.data});_=[...new Set(_)].toASC();let T=a.current[o];if(T){let P=_.filter(w=>!T.includes(w)),A=[];_.forEach(w=>{w&&A.push({value:w,label:l(B,{flexSizing:"auto",children:w})})});let J="BUTTON-"+e.componentID+"-"+o,X=e.componentID+"-"+o,re={sheetID:X,parent:"#"+J,gravityPoint:23,type:"custom",content:x(K,{flexType:"col",border:!0,boxShadow:"3.remark",backgroundColor:"layer.1",borderRadius:1,freeCSS:{minWidth:12*20,maxWidth:12*30},children:[l(oe,{gap:"1/3",overflow:"auto",padding:"2/3",freeCSS:{maxHeight:12*30},children:l(L.Checkbox,{icon:!0,value:P,display:"flex",gap:"2/3",override:"force",options:A,hideInput:!0,name:"DTFilter-col-"+o+"-table-"+e.componentID,onUpdateValidValue:w=>{let M=_.filter(ae=>!w.includes(ae)),$=r({},e);$.filter.current[o]=M,s($)}})}),x(E.Separate,{gap:"2/3",padding:"2/3",horizontalAlign:"right",children:[l(H.Border.S,{isRounded:!0,onClick:()=>{ee.close(X)},children:"\u9589\u3058\u308B"}),l(H.Prime.S,{color:"theme",isRounded:!0,ssEffectsOnActive:"shrink",onClick:()=>{let w=[];T.length||(w=_);let M=r({},e);M.filter.current[o]=w,s(M)},children:"\u5168\u9078\u629E"})]})]})};v=l(B,{className:y("FilterRegion"),children:l(H.Sub.S,{ssSphere:2.5,fontSize:"1.mini",className:y("Filtering_"+!!T.length),id:J,onClick:w=>{w.stopPropagation(),ee.open(re)},children:l(N,{icon:ce})})})}}let z={top:!0,bottom:!e.rows.length,left:e.checker?!1:o==0,right:o==e.colLength-1,rowIndex:0,colIndex:o,isBody:!1,isHeader:!0},te=j(z),q=e.cellStylesCallback?e.cellStylesCallback(z):{};n=m(r(r(r(r({},e.cellStyles),te),n),q),{ssPushable:S,freeCSS:r(r(r({},(b=e.cellStyles)==null?void 0:b.freeCSS),q.freeCSS),n.freeCSS),className:[y("Cell"),e.cellClassName,n.className].join(" ")}),delete n.orderIndex,p.push(l(R.TH,m(r({fontWeight:"2.normal",position:"sticky",top:0},n),{freeCSS:r({zIndex:2},n.freeCSS),onClick:_=>{if(S){let T=r({},e),P=[o,u===o&&g=="ASC"?"DESC":"ASC"];T.order.current=P,s(T),e.onOrderChanged&&e.onOrderChanged(P)}},children:x(K,{flexType:"row-r",flexWrap:!1,height:1,borderRadius:"inherit",flexCenter:!0,children:[v,x(K,{flexSizing:0,position:"relative",borderRadius:"inherit",gap:"1/2",flexWrap:!1,verticalAlign:"center",horizontalAlign:"center",children:[O,f]})]})}),o))}return l(R.Row,{className:[y("Row"),y("HeadRow")].join(" "),children:p})},Body:t=>{let{val_status:e,PageRows:s}=t,d=[];if(s.forEach((i,a)=>{var p;let u=[...i],g=[];if(e.checker){let c={top:a==0&&!e.head,bottom:a==s.length-1,left:!0,right:!e.colLength,rowIndex:a,colIndex:0,isBody:!0,isHeader:!1},h=j(c),b=e.cellStylesCallback?e.cellStylesCallback(c):{};g.push(l(R.TH,m(r(r(r({unitWidth:4,padding:0,borderRight:!0},e.cellStyles),h),b),{freeCSS:r(r({},(p=e.cellStyles)==null?void 0:p.freeCSS),b.freeCSS),className:[y("Cell"),e.cellClassName].join(" "),children:l(B,{flexCenter:!0,children:l(L.Checker,{label:null,value:i.checked,override:"force",onUpdateValidValue:o=>{let n=e.rows,f=n.findIndex(S=>D.is.equal(S.rowID,i.rowID));f!=-1&&(n[f].checked=o,t.set_status(S=>m(r({},S),{rows:n})))}})})}),-1))}u.forEach((c,h)=>{var v;if(!c)return;let O=c,{type:b="td"}=O,o=G(O,["type"]),n={top:a==0&&!e.head,bottom:a==s.length-1,left:e.checker?!1:h==0,right:h==e.colLength-1,rowIndex:a,colIndex:h,isBody:!0,isHeader:!1},f=j(n),S=e.cellStylesCallback?e.cellStylesCallback(n):{};o=m(r(r(r(r({},e.cellStyles),f),o),S),{freeCSS:r(r(r({},(v=e.cellStyles)==null?void 0:v.freeCSS),o.freeCSS),S.freeCSS),className:[y("Cell"),e.cellClassName,o.className].join(" ")}),delete o.orderIndex;let C=R[b=="td"?"TD":"TH"];g.push(l(C,r({},o),h))}),d.push(l(R.Row,{className:[y("Row"),y("BodyRow")].join(" "),children:g,onClick:c=>{e.onRowClick&&e.onRowClick(i.rowID,c)}},a))}),!s.length){let i=l(B,{padding:2,fontColor:"4.thin",textAlign:"center",borderTop:"1.thin",children:"\u30C6\u30FC\u30D6\u30EB\u304C\u3042\u308A\u307E\u305B\u3093"});e.noRecords&&(i=l(W,{children:e.noRecords})),d.push(l(R.Row,{className:[y("Row"),y("BodyRow"),y("DataNotFound")].join(" "),children:l(R.TD,{colSpan:e.colLength,className:y("Cell"),children:i})},"dataNotFound"))}return l(W,{children:d})},Core:t=>{let{val_status:e,set_status:s}=t,{searchKeyword:d,filter:i,order:a,paging:u}=e,g=[...e.rows],p=[...e.rows],c=[...e.rows],h=[...e.rows];if(d&&(p=g.filter(n=>(n.__sys4SearchKey||"").match(new RegExp(d,"i"))?1:0),c=[...p],h=[...p]),i.enabled)for(let n=0;n<e.colLength;n++){let f=i.column[n],S=i.current[n];f&&S&&S.length&&(c=c.filter(C=>!S.includes(C[n].data)),h=[...c])}a.enabled&&(a.current[1]=="ASC"?c=c.toASC([a.current[0],"orderIndex"].join(".")):c=c.toDESC([a.current[0],"orderIndex"].join(".")),h=[...c]);{let{currentPageIndex:n,rowLength:f}=u;h=[...h].splice((n-1)*f,f)}let b=I.__memoryID+"_"+e.tableID,o={rows:{total:g.length,page:h.length,filtered:c.length},val_status:m(r({},e),{paging:m(r({},e.paging),{pageLength:Math.ceil(c.length/e.paging.rowLength)})}),set_status:s};return Y.update({[b]:{getRowData:()=>{let n=[...g];return a.enabled&&(a.current[1]=="ASC"?n=n.toASC([a.current[0],"orderIndex"].join(".")):n=n.toDESC([a.current[0],"orderIndex"].join("."))),n.forEach(f=>{f.currentPage=!1,f.filtered=!1}),h.forEach(f=>{let{rowID:S}=f;n.find(C=>D.is.equal(C.rowID,S)).currentPage=!0}),c.forEach(f=>{let{rowID:S}=f;n.find(C=>D.is.equal(C.rowID,S)).filtered=!0}),n}}}),U(()=>{F.release(e.tableID,o)}),l(B,{className:y("TableBase"),children:l(R.Table,{className:y("Table"),children:x(R.Body,{children:[l(I.Header,{val_status:e,set_status:s,KeywordFilterRows:p}),l(I.Body,{val_status:e,set_status:s,PageRows:h})]})})},d)},Propagations:{},DataLeveler:t=>{var e,s;return t=r({},t),t.filter=(e=t.filter)!=null?e:!1,t.filter=Array.from({length:t.colLength}).map((d,i)=>{var a;return D.is.boolean(t.filter)?t.filter:(a=t.filter[i])!=null?a:!1}),t.order=(s=t.order)!=null?s:!0,t.order=Array.from({length:t.colLength}).map((d,i)=>{var a;return D.is.boolean(t.order)?t.order:(a=t.order[i])!=null?a:!0}),t=r({checker:!1,searchKeyword:"",filter:!1,order:!0,defaultOrder:[0,"ASC"]},t),t.rows.forEach((d,i)=>{d.rowID=d.rowID||i;let a=[];d.forEach((u,g)=>{let{data:p,children:c,orderIndex:h}=u;u.orderIndex=D.is.exist(h)?String(h):String(p),u.children=c||String(p),a.push(String(u.data))}),d.__sys4SearchKey=a.join("/")}),l(I.StateManager,r({},t))},StateManager:t=>{let{colLength:e,checker:s=!1,searchKeyword:d="",filter:i,order:a,defaultOrder:u=[0,"ASC"],pageRowLength:g=30}=t,[p]=Z(Q()),c={tableID:t.tableID||p,componentID:p,colLength:e,checker:s,searchKeyword:d,filter:{enabled:i!==!1,column:i,current:Array.from({length:e},()=>[])},order:{enabled:a!==!1,column:a,current:u},paging:{rowLength:g,pageLength:Math.ceil(t.rows.length/g),currentPageIndex:1},head:t.head,rows:t.rows,noRecords:t.noRecords,cellStyles:t.cellStyles||{},cellClassName:t.cellClassName||"",cellStylesCallback:t.cellStylesCallback,onRowClick:t.onRowClick,onOrderChanged:t.onOrderChanged},[h,b]=Z(c);return U(()=>{b(o=>m(r({},o),{rows:c.rows}))},[D.Stringify(c.rows)]),U(()=>{b(o=>m(r({},o),{head:c.head}))},[D.Stringify(c.head)]),l(I.Core,{val_status:h,set_status:b})}},de={__memoryID:I.__memoryID,getRowData:t=>{let e=Y.get(I.__memoryID+"_"+t);if(e!=null&&e.getRowData)return e.getRowData()}},V={SearchInput:t=>{let e=F.catch(t.tableID);if(!e)return null;let{val_status:s,set_status:d}=e;return l(L.TextField,{label:"\u691C\u7D22...",clearButton:!0,padding:"2/3",paddingRight:3,rightIcon:l(L.RightIcon,{ssSphere:2,fontColor:"5.translucent",right:"2/3",children:l(N.Search,{})}),value:s.searchKeyword,onUpdateValidValue:i=>{t.onChange(i),D.interval.once(()=>{d(a=>m(r({},a),{paging:m(r({},a.paging),{currentPageIndex:1}),filter:m(r({},a.filter),{current:Array.from({length:a.colLength},()=>[])}),searchKeyword:i}))},200,"InputSearchTime")}})},Info:t=>{let e=F.catch(t.tableID);if(!e)return null;let{val_status:s,set_status:d}=e,i=e.rows.filtered.ratio(e.rows.total)||0;return x(K,{verticalAlign:"baseline",gap:"1/2",fontSize:"1.mini",fontColor:"3.blur",children:[l(le,{fontSize:"4.thirdTitle",fontColor:"theme",children:e.rows.filtered.toLocaleString()}),"/ ",e.rows.total.toLocaleString(),"\u4EF6 (",i,"%)"]})},Paging:t=>{let e=F.catch(t.tableID);if(!e)return null;let{val_status:s,set_status:d}=e,i=[];for(let u=0;u<s.paging.pageLength;u++)i.push({value:u+1,label:(u+1).toString()});const a=u=>{let g=Math.min(Math.max(1,u),s.paging.pageLength),p=r({},s);p.paging.currentPageIndex=g,d(c=>m(r({},c),{paging:m(r({},c.paging),{currentPageIndex:g})}))};return x(E.Center,{children:[x(E.Center,{gap:"1/2",children:[l(L.Select,{label:"\u9805",freeCSS:{minWidth:12*3},emptySelect:!1,padding:["1/3","2/3"],rightIcon:!1,override:"force",value:s.paging.currentPageIndex,options:i,onUpdateValidValue:u=>{a(u)}}),"/ ",s.paging.pageLength]}),x(E.Right,{gap:"1/2",children:[l(H.Sub,{ssSphere:3,onClick:()=>{if(s.paging.currentPageIndex==1){a(s.paging.pageLength);return}a(s.paging.currentPageIndex-1)},children:l(N.ChevronLeft,{})}),l(H.Sub,{ssSphere:3,onClick:()=>{if(s.paging.currentPageIndex==s.paging.pageLength){a(1);return}a(s.paging.currentPageIndex+1)},children:l(N.ChevronRight,{})})]})]})},RowLength:t=>{let e=F.catch(t.tableID);if(!e)return null;let{val_status:s,set_status:d}=e,i=s.paging.rowLength,a=0,u=t.lengthSelect.map(g=>(a|=+(g==i),{value:g,label:g.toString()}));return a||u.push({value:i,label:i.toString()}),l(E.Center,{gap:"1/2",children:l(L.Select,{label:"\u4EF6\u6570",emptySelect:!1,rightIcon:!1,override:"force",padding:["1/3","2/3"],SelectorStyles:{freeCSS:{minWidth:12*9}},SelectorPosition:4,value:s.paging.rowLength,options:u.toASC("value"),onUpdateValidValue:g=>{d(p=>m(r({},p),{paging:{rowLength:Number(g),currentPageIndex:1,pageLength:Math.ceil(e.rows.filtered/Number(g))}}))}})})}},ge=t=>l(ue,m(r({},t),{type:"data",JSXChildren:I.DataLeveler})),k=ge;k.__memoryID=I.__memoryID,k.getRowData=de.getRowData,k.Info=V.Info,k.Paging=V.Paging,k.RowLength=V.RowLength,k.SearchInput=V.SearchInput;export{k as Data,k as default};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "amotify",
3
- "version": "0.2.115",
3
+ "version": "0.2.117",
4
4
  "description": "UI Component for React,NextJS,esbuild",
5
5
  "scripts": {
6
6
  "start": "run-p clean build:*",
@@ -90,7 +90,7 @@
90
90
  "@fortawesome/free-solid-svg-icons": "^6.6.0",
91
91
  "@fortawesome/react-fontawesome": "^0.2.0",
92
92
  "dotenv": "^16.4.6",
93
- "jmini": "^0.0.25",
93
+ "jmini": "^0.0.30",
94
94
  "react": "^18.3.1"
95
95
  },
96
96
  "devDependencies": {