amotify 0.2.223 → 0.2.225

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.
@@ -124,32 +124,6 @@ let Page = () => {
124
124
  <Literal>
125
125
  val_value { val_value || "null" }
126
126
  </Literal>
127
- <Button.Prime
128
- onClick={ () => {
129
- Cropper.openDialogNEdit( {
130
- // use: '1:1',
131
- // use: '16:9',
132
- use: '4:3',
133
- // use: '9:16',
134
- // use: '3:4',
135
- develops: [
136
- { size: 'R',maxSize: 3 * 1024 * 1024 } // 3MB
137
- ],
138
- onProcessFinished: async ( files ) => {
139
- if ( !files || !files[ 0 ] ) return
140
- let filer = await Filer( files[ 0 ] )
141
- let new_dataurl = await filer.toDataURL()
142
- console.log(
143
- '[new_dataurl]',new_dataurl
144
- )
145
-
146
- set_dataurl( new_dataurl )
147
- }
148
- } )
149
- } }
150
- >
151
- Submit
152
- </Button.Prime>
153
127
  {/* <Input.TextField.Email
154
128
  form='form_test'
155
129
  name='testInput'
@@ -170,20 +144,18 @@ let Page = () => {
170
144
  } }
171
145
  /> */}
172
146
 
173
- {/* <Input.TextField
147
+ <Input.Time.Date
174
148
  override='force'
175
- multiline
176
- value={ val_value }
149
+ value={ val_value || void 0 }
177
150
  // options={ [
178
151
  // { value: select1,label: "option1" },
179
152
  // { value: select2,label: "option2" },
180
153
  // { value: select3,label: "option3" }
181
154
  // ] }
182
155
  onUpdateValidValue={ value => {
183
- console.log( value )
184
156
  set_value( value )
185
157
  } }
186
- /> */}
158
+ />
187
159
  {/* <Column>
188
160
  <Input.Checker
189
161
  override='force'
@@ -223,6 +195,7 @@ let Page = () => {
223
195
  </Button.Prime>
224
196
 
225
197
  { val_dataurl && <Img
198
+ showExpand
226
199
  src={ val_dataurl }
227
200
  /> }
228
201
  </Column>
@@ -1 +1 @@
1
- import{b as K,c as ie,e as O}from"../chunk-C5N2D3ZX.js";import{jsx as o,jsxs as m}from"react/jsx-runtime";import b,{UUID as le,useStore as q}from"jmini";import{$$fromRoot as re}from"../@utils";import{useState as Y,useEffect as ee}from"react";import{Box as z,FAI as U,Column as H}from"../atoms";import{Row as R,Literal as D}from"../mols";import{Button as W}from"./Button";import N from"./Sheet";import Z from"./Loader";import te from"./Input";import{faPalette as ne}from"@fortawesome/free-solid-svg-icons/faPalette";import{faBarsStaggered as se}from"@fortawesome/free-solid-svg-icons/faBarsStaggered";import{faRotateLeft as ce}from"@fortawesome/free-solid-svg-icons/faRotateLeft";import{faRotateRight as pe}from"@fortawesome/free-solid-svg-icons/faRotateRight";import{CropperClasses as V}from"../@styles/componentClasses";import $ from"./Tooltips";class me{constructor(e){this.set_scale=e.set_scale,this.val_file=e.val_file,this.develops=e.develops;{let[p,n]=b.is.array(e.use)&&e.use||e.use.split(":").map(i=>Number(i)),h=p/n;this.usage={w:p,h:n,aspect:h}}this.componentId=e.componentId;let c=e.canvas,t=e.picture.image;this.Canvas={elm:c,ctx:c.getContext("2d")};let{width:a,height:r}=t,l=a/r;this.Picture={elm:t,originDataUrl:t.src,aspect:l,revisedAspect:1,rotate:e.picture.rotate,grayScale:e.picture.grayScale,tone:e.picture.tone},this.scale={current:e.scale.default,default:e.scale.default,min:e.scale.min,max:e.scale.max},this.usage.aspect<this.Picture.aspect?this.scale.min=100/l*this.usage.aspect:this.scale.min=100*l/this.usage.aspect,this.pst={frame:{x:0,y:0,w:0,h:0,aspect:1},outImage:{x:0,y:0,w:0,h:0},imageX:a/2,imageY:r/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 e=this.Canvas.elm,c=this.Picture.elm,t=0,a=0;{if(this.usage.aspect==1){let s=e.width*.6666666666666666,d=e.height*(2/3);a=t=Math.min(s,d)}else this.usage.aspect>1?(t=e.width*.9,a=t/this.usage.aspect):(a=e.height*.9,t=a*this.usage.aspect);let i=.85;a>e.height*i&&(a=e.height*i,t=a*this.usage.aspect),t>e.width*i&&(t=e.width*i,a=t/this.usage.aspect)}let{width:r,height:l}=c,p=(e.width-t)/2,n=(e.height-a)/2,h=t/a;this.pst={frame:{x:p,y:n,w:t,h:a,aspect:h},outImage:{x:0,y:0,w:0,h:0},imageX:r/2,imageY:l/2,centerX:e.width/2,centerY:e.height/2}}dragEffect(e){let{eventType:c,x:t,y:a}=e;if(c=="start"){let r=this.Canvas.elm.position();this.dragEffectInfo={origin:{x:t,y:a},frameExpandRate:{x:this.Canvas.elm.width/r.width,y:this.Canvas.elm.height/r.height}}}else{let{origin:r,frameExpandRate:l}=this.dragEffectInfo,p=r.x-t,n=r.y-a,h=this.scale.current*this.Picture.revisedAspect/100,i=p/h*l.x,s=n/h*l.y;c=="move"?this.drawImage(this.pst.imageX+i,this.pst.imageY+s):c=="end"&&this.drawImage(this.pst.imageX+=i,this.pst.imageY+=s)}}pinchEffect(e){let{eventType:c,event:t}=e,{x:a,y:r}=b.getCursor(t.touches[0]),{x:l,y:p}=b.getCursor(t.touches[1]),n=l-a,h=p-r;if(c=="start")this.pinchEffectInfo.origin={x:n,y:h,scale:this.scale.current};else if(c=="move"){let{origin:i}=this.pinchEffectInfo,s=Math.sqrt(Math.pow(i.x,2)+Math.pow(i.y,2)),v=Math.sqrt(Math.pow(n,2)+Math.pow(h,2))/s,f=Number(i.scale*v);this.set_scale(f)}}updateScale(e){let c=e;c=Math.max(c,this.scale.min),c=Math.min(c,this.scale.max),this.scale.current=c,this.drawImage()}updateFilter(e){this.Picture.grayScale=e.grayScale,this.Picture.tone=e.tone,this.Picture.rotate=e.rotate,this.modifyImage()}modifyImage(){return O(this,null,function*(){let{grayScale:e,tone:c,rotate:t}=this.Picture;const a=document.createElement("canvas");let r=a.getContext("2d"),l=yield b.ImageLoader(this.Picture.originDataUrl),p=l.width,n=l.height;(t==90||t==270)&&(p=l.height,n=l.width),a.width=p,a.height=n,e&&(r.filter="grayscale("+e+"%)"),t&&(r.translate(p/2,n/2),r.rotate(t*Math.PI/180),[90,270].includes(t)?r.translate(-n/2,-p/2):r.translate(-p/2,-n/2)),r.drawImage(l,0,0,l.width,l.height);let h=r.getImageData(0,0,a.width,a.height),i=h.data;{e/=100;let f=[[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]][c],S=f[0]/255,C=f[1]/255,y=f[2]/255;for(let I=0;I<n;I++)for(let _=0;_<p;_++){var s=(I*p+_)*4;if(e){let P=.3*i[s]+.59*i[s+1]+.11*i[s+2];for(var d=0;d<3;d++){let E=i[s+d];i[s+d]=E+(P-E)*e}}i[s]*=S,i[s+1]*=C,i[s+2]*=y}}r.putImageData(h,0,0);let v=a.toDataURL("image/jpeg");{let f=yield b.ImageLoader(v),{width:S,height:C}=f,y=S/C;this.Picture=ie(K({},this.Picture),{elm:f,aspect:y,revisedAspect:this.pst.frame.aspect>y?this.pst.frame.w/S:this.pst.frame.h/C})}this.drawImage()})}drawImage(e,c){let{Canvas:{ctx:t,elm:a},pst:{frame:r}}=this;t.clearRect(0,0,this.Canvas.elm.width,this.Canvas.elm.height);let l=e||this.pst.imageX,p=c||this.pst.imageY;{let n=this.scale.current/100,h=this.Picture.revisedAspect*n,i=this.pst.centerX-l*h,s=this.pst.centerY-p*h,d=this.Picture.elm.width*h,v=this.Picture.elm.height*h,f=0,S=0;this.usage.aspect<this.Picture.aspect?(f=d,S=f/this.usage.aspect):(S=v,f=S*this.usage.aspect);{let C=this.pst.frame.x-(d-f)/2,y=this.pst.frame.x+this.pst.frame.w-(d+f)/2,I=this.pst.frame.y-(v-S)/2,_=this.pst.frame.y+this.pst.frame.h-(v+S)/2,P=0;i<y&&(P=i-y),i>C&&(P=i-C);let E=0;s<_&&(E=s-_),s>I&&(E=s-I),this.dragEffectInfo.origin.x+=P/2/this.dragEffectInfo.frameExpandRate.x,this.dragEffectInfo.origin.y+=E/2/this.dragEffectInfo.frameExpandRate.y,i=Math.min(Math.max(i,y),C),s=Math.min(Math.max(s,_),I)}this.pst.outImage={x:i,y:s,w:d,h:v};{let C=1;t.lineWidth=C,t.strokeStyle="#ffffff66",t.strokeRect(i+(d-f)/2-C,s+(v-S)/2-C,f+C*2,S+C*2)}t.drawImage(this.Picture.elm,0,0,this.Picture.elm.width,this.Picture.elm.height,i,s,d,v)}{if(this.usage.aspect==1){t.fillStyle="rgba( 20,24,20,.5 )",t.beginPath();let n=a.width/3*2,h=a.height/3*2,i=Math.min(n,h),s=Math.max(n,h);t.arc(a.width/2,a.height/2,s*1.41,0,Math.PI*2,!0),t.arc(a.width/2,a.height/2,i/2,0,Math.PI*2,!1),t.closePath(),t.fill()}else t.fillStyle="rgba( 20,24,20,.5 )";{let h=b(document.body).getStyleProperty("--color-theme-hsl"),i=2;t.lineWidth=i,t.strokeStyle=`hsla( ${h},1 )`,t.strokeRect(r.x-i,r.y-i,r.w+i*2,r.h+i*2)}}}export(){return O(this,null,function*(){let{Canvas:e,develops:c,Picture:t,pst:{outImage:a,frame:r}}=this,l=a.w/t.elm.width,p=a.h/t.elm.height,n=(r.x-a.x)/l,h=(r.x-a.x+r.w)/l,i=(r.y-a.y)/p,s=(r.y-a.y+r.h)/p,d=Array.from({length:c.length}),v="image/jpeg";for(let f=0;f<c.length;f++){let{size:S,maxSize:C}=c[f];C=C||{S:1024*20,R:1024*100,L:1024*350}[S];let y={S:140,R:600,L:1200}[S],I=y;this.usage.aspect>=1?I=y/this.usage.aspect:y=I*this.usage.aspect;let _=document.createElement("canvas");_.width=y,_.height=I;let P=_.getContext("2d");if(!P)return;P.clearRect(0,0,y,I),P.drawImage(this.Picture.elm,n,i,h-n,s-i,0,0,y,I);let E=_.toDataURL(v),A=yield E.toBlob(v);if(!A)return;if(A.size>=C){let g=C/A.size;if(E=_.toDataURL(v,g*.92),A=yield E.toBlob(v),!A)return}let w=new File([A],this.val_file.name,{type:v});d[f]=w}return d})}}const oe={Core:u=>{let{val_file:e,options:c,finishedCallback:t,abortCallback:a}=u,{use:r,develops:l=[]}=c,[p]=Y(le());const n={scale:{default:120,min:50,max:300},rotate:0,grayScale:0,tone:0};let h=2048*2048,i=1024,[s,d]=Y(n.scale.default),[v,f]=Y(n.rotate),[S,C]=Y(n.grayScale),[y,I]=Y(n.tone),[_,P]=Y(0),[E,A]=Y(0);return ee(()=>{let w="CropperResize";return b(window).addEvent({eventType:"resize",eventID:w,callback:()=>{b.interval.once(()=>{var j;let g=re("#Canvas-"+p)[0];if(!g)return;let B=(j=q.get(p))==null?void 0:j.Instance;if(!B)return;let J=g.position(),X=J.width/J.height,M=i,F=M/X;if(M*F>h){let G=M*F/h;M=Math.floor(M/Math.sqrt(G)),F=Math.floor(F/Math.sqrt(G))}g.width=i,g.height=F;let{width:L,height:Q}=g;B.pst.centerX=L/2,B.pst.centerY=Q/2,B.frameSizing(),B.modifyImage()},250,"CropperResize")}}),()=>{b(window).removeEvent(w)}},[]),ee(()=>{q.set({[p]:{}}),O(void 0,null,function*(){Z.fn.corner.active(),yield b.pending(()=>{},400);let w=yield e.convert();if(w=String(w),!w)return;let g=re("#Canvas-"+p)[0];if(!g)return;let B=g.position(),J=B.width/B.height,X=i,M=X/J;if(X*M>h){let x=X*M/h;X=Math.floor(X/Math.sqrt(x)),M=Math.floor(M/Math.sqrt(x))}g.width=X,g.height=M;let F=yield b.ImageLoader(w);P(F.width),A(F.height);let L=new me({set_scale:d,val_file:e,develops:l,use:r,scale:n.scale,componentId:p,canvas:g,picture:{image:F,grayScale:n.grayScale,tone:n.tone,rotate:n.rotate}});q.set({[p]:{Instance:L}});const Q=function(x){if(x.preventDefault(),x.touches&&x.touches.length>1)L.pinchEffect({eventType:"start",event:x}),b(document).addEvent({eventType:"touchmove",eventID:"CropperEffectMove",options:{passive:!1},callback:T=>{T.preventDefault(),L.pinchEffect({eventType:"move",event:T})}}).addEvent({eventType:"touchend",eventID:"CropperEffectEnd",options:{passive:!1},callback:G});else{L.dragEffect(K({eventType:"start"},b.getCursor(x)));let{type:T}=x;b(document).addEvent({eventType:T=="touchstart"?"touchmove":"mousemove",eventID:"CropperEffectMove",options:{passive:!1},callback:k=>{j("move",k)}}).addEvent({eventType:T=="touchstart"?"touchend":"mouseup",eventID:"CropperEffectEnd",options:{passive:!1},callback:k=>{j("end",k),G(k)}})}},j=function(x,T){T.preventDefault(),L.dragEffect(K({eventType:x},b.getCursor(T)))},G=function(x){x.preventDefault(),b(document).removeEvent(["CropperEffectMove","CropperEffectEnd"])};b(g).removeEvent(["CropperMouseWheel","CropperTouchStart","CropperMouseDown"]).addEvent({eventID:"CropperMouseWheel",eventType:"wheel",callback:x=>{x.preventDefault();let T=Number(x.wheelDelta*.04),k=L.scale.current+T;k=Math.max(k,L.scale.min),k=Math.min(k,L.scale.max),d(k)},options:{passive:!1}}).addEvent({eventType:"touchstart",eventID:"CropperTouchStart",callback:Q,options:{passive:!1}}).addEvent({eventType:"mousedown",eventID:"CropperMouseDown",callback:Q,options:{passive:!1}}),setTimeout(()=>{Z.fn.corner.stop()},1e3)})},[e.id]),ee(()=>{var g;let w=(g=q.get(p))==null?void 0:g.Instance;w&&w.updateScale(s)},[s]),ee(()=>{var g;let w=(g=q.get(p))==null?void 0:g.Instance;w&&w.updateFilter({grayScale:S,tone:y,rotate:v})},[S,y,v]),o(N.Body,{borderRadius:0,height:"viewHeight",width:"viewWidth",children:m(H,{className:[V("Wrap"),V("Use_"+r)].join(" "),gap:0,height:1,position:"relative",overflow:"hidden",borderRadius:"inherit",children:[m(z,{flexSizing:0,overflow:"hidden",position:"relative",backgroundColor:"black",flexCenter:!0,freeCSS:{zIndex:1},children:[o("canvas",{style:{width:"100%",height:"100%"},width:i,height:i,className:V("Canvas"),id:"Canvas-"+p}),o(D.Supplement,{position:"absolute",bottom:1,left:1,fontColor:"white",children:m(R.Left,{gap:"1/2",flexWrap:!0,children:[m(D,{children:["[",e.type,"]"]}),o(D,{children:e.name}),m(D,{children:[_,"px x ",E,"px"]}),m(D,{children:["[",e.size.rank(),"B]"]})]})})]}),m(R.Separate,{borderTop:!0,flexSizing:"none",backgroundColor:"layer.1",padding:1,verticalAlign:"unset",UnderBreakPointStyles:{flexType:"col"},children:[o(oe.SettingRegion,{DefaultOptions:n,val_scale:s,set_scale:d,val_tone:y,set_tone:I,val_grayScale:S,set_grayScale:C,val_rotate:v,set_rotate:f}),m(R.Right,{flexSizing:"none",children:[o(W.Border.S,{onClick:()=>{a()},children:"\u9589\u3058\u308B"}),o(W.Prime.S,{boxShadow:"3.remark",onClick:()=>O(void 0,null,function*(){var B;let w=(B=q.get(p))==null?void 0:B.Instance;if(!w)return;Z.fn.mini.active("CropperExportation");let g=yield w.export();setTimeout(()=>{Z.fn.mini.stop("CropperExportation"),t(g)},3e3)}),children:m(R.Center,{gap:"1/2",children:[o(Z.White.R,{loaderID:"CropperExportation"}),"\u6C7A\u5B9A"]})})]})]})]})})},SettingRegion:u=>{let e=["","\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"],c=t=>e[t]||"\u306A\u3057";return m(R.Left,{verticalAlign:"unset",flexWrap:!0,children:[m(H,{gap:"1/3",children:[o(D.Supplement,{children:"Rotate"}),m(R.Left,{flexChilds:"even",gap:"1/6",children:[o(W.Border.S,{isRounded:!0,borderTopRightRadius:0,borderBottomRightRadius:0,onClick:()=>{let t=u.val_rotate-90;t<0&&(t+=360),u.set_rotate(t)},children:m(R.Center,{gap:"1/4",children:["90\xB0",o(U,{icon:ce})]})}),o(W.Border.S,{isRounded:!0,borderTopLeftRadius:0,borderBottomLeftRadius:0,onClick:()=>{u.set_rotate((u.val_rotate+90)%360)},children:m(R.Center,{gap:"1/4",children:[o(U,{icon:pe}),"90\xB0"]})})]})]}),m(H,{gap:"1/3",freeCSS:{minWidth:12*6},children:[o(D.Supplement,{children:"Zoom"}),m(W.Border.S,{flexCenter:!0,isRounded:!0,flexSizing:0,onClick:t=>{let a="CropperZoomEdit";$.open({tipsID:a,gravityPoint:3,event:t,closeAtParentBlur:!1,freeCSS:{minWidth:12*26},content:o(N.Body,{children:m(H,{padding:1.5,children:[m(R.Separate,{children:[o(D.Paragraph,{children:m(R.Center,{gap:"1/2",children:[o(U.Search,{fontColor:"5.translucent"}),"Zoom"]})}),o(W.Sub,{color:"cloud",ssSphere:2.5,onClick:()=>{$.close(a)},children:o(U.X,{})})]}),o(z,{borderBottom:!0,opacity:"low"}),o(te.Slider,{override:"force",value:u.val_scale-u.DefaultOptions.scale.min,min:u.DefaultOptions.scale.min-100,max:u.DefaultOptions.scale.max-100,step:25,onUpdateValidValue:(r,l)=>{b.interval.once(()=>{u.set_scale(r+100)},250,"Cropper.UpdateScale")},legends:{enable:!0,custom:r=>"x"+Math.round(100+r)/100}})]})})})},children:[u.val_scale.rate(1,0),"%"]})]}),m(H,{gap:"1/3",freeCSS:{minWidth:12*6},children:[o(D.Supplement,{children:"GrayScale"}),m(W.Border.S,{flexCenter:!0,isRounded:!0,flexSizing:0,onClick:t=>{let a="CropperGrayScaleEdit";$.open({tipsID:a,gravityPoint:3,event:t,closeAtParentBlur:!1,freeCSS:{minWidth:12*26},content:o(N.Body,{children:m(H,{padding:1.5,children:[m(R.Separate,{children:[o(D.Paragraph,{children:m(R.Center,{gap:"1/2",children:[o(U,{icon:ne,fontColor:"5.translucent"}),"Gray Scale"]})}),o(W.Sub,{color:"cloud",ssSphere:2.5,onClick:()=>{$.close(a)},children:o(U.X,{})})]}),o(z,{borderBottom:!0,opacity:"low"}),o(te.Slider,{value:u.val_grayScale,min:0,max:100,step:10,onUpdateValidValue:r=>{b.interval.once(()=>{u.set_grayScale(r)},250,"Cropper.GrayScale")},legends:{enable:!0,custom:r=>r+"%"}})]})})})},children:[u.val_grayScale.rate(1,0),"%"]})]}),m(H,{gap:"1/3",freeCSS:{minWidth:12*6},children:[o(D.Supplement,{children:"Tone"}),o(W.Border.S,{flexCenter:!0,isRounded:!0,flexSizing:0,onClick:t=>{let a="CropperToneEdit";$.open({tipsID:a,gravityPoint:3,event:t,closeAtParentBlur:!1,freeCSS:{minWidth:12*26,maxWidth:12*24},content:()=>{let r=[];for(let l=1;l<=10;l++)r.push({value:l,label:m(R.Left,{gap:"1/3",children:[o(z,{ssSphere:1,className:[V("ToneBall"),V("ToneBall_"+l)].join(" ")}),o(z,{textAlign:"left",flexSizing:0,children:c(l)})]})});return o(N.Body,{children:m(H,{padding:1.5,children:[m(R.Separate,{children:[o(D.Paragraph,{children:m(R.Center,{gap:"1/2",children:[o(U,{icon:se,fontColor:"5.translucent"}),"Tone"]})}),o(W.Sub,{color:"cloud",ssSphere:2.5,onClick:()=>{$.close(a)},children:o(U.X,{})})]}),o(z,{borderBottom:!0,opacity:"low"}),o(te.Radio.Normal,{value:u.val_tone,gap:"1/2",cellStyles:{fontColor:"3.blur"},options:[{value:0,label:o(z,{flexSizing:0,textAlign:"center",children:"\u306A\u3057"})},...r],onUpdateValidValue:l=>{u.set_tone(l)}})]})})}})},children:m(R.Center,{gap:"1/2",children:[o(z,{boxShadow:"2.remark",ssSphere:1,className:[V("ToneBall"),V("ToneBall_"+u.val_tone)].join(" ")}),c(u.val_tone)]})})]})]})}},ae={openDialogNEdit:u=>{te.Filer.fn.openDialog({accept:"image",multiple:!1,onChange:e=>{ae.openEditor(K({imageFile:e[0]},u))}})},openEditor:u=>O(void 0,null,function*(){let e="CropperImage";N.open("middleCenter",{sheetID:e,size:"MAX",padding:0,margin:0,freeCSS:{maxWidth:"100%"},content:o(oe.Core,{val_file:u.imageFile,options:u,finishedCallback:c=>{N.close(e),u.onProcessFinished(c)},abortCallback:()=>{N.close(e)}}),closeAtEscapeKeyDown:!1})})};export{ae as Cropper,ae as default};
1
+ import{b as K,c as ie,e as V}from"../chunk-C5N2D3ZX.js";import{jsx as o,jsxs as p}from"react/jsx-runtime";import b,{UUID as le,useStore as O}from"jmini";import{$$fromRoot as re}from"../@utils";import{useState as U,useEffect as ee}from"react";import{Box as A,FAI as X,Column as H}from"../atoms";import{Row as I,Literal as P}from"../mols";import{Button as W}from"./Button";import Y from"./Sheet";import Z from"./Loader";import te from"./Input";import{faPalette as ne}from"@fortawesome/free-solid-svg-icons/faPalette";import{faBarsStaggered as se}from"@fortawesome/free-solid-svg-icons/faBarsStaggered";import{faRotateLeft as ce}from"@fortawesome/free-solid-svg-icons/faRotateLeft";import{faRotateRight as me}from"@fortawesome/free-solid-svg-icons/faRotateRight";import{CropperClasses as N}from"../@styles/componentClasses";import q from"./Tooltips";class he{constructor(e){this.set_scale=e.set_scale,this.val_file=e.val_file,this.develops=e.develops;{let[m,s]=b.is.array(e.use)&&e.use||e.use.split(":").map(i=>Number(i)),h=m/s;this.usage={w:m,h:s,aspect:h}}this.componentId=e.componentId;let c=e.canvas,t=e.picture.image;this.Canvas={elm:c,ctx:c.getContext("2d")};let{width:a,height:r}=t,l=a/r;this.Picture={elm:t,originDataUrl:t.src,aspect:l,revisedAspect:1,rotate:e.picture.rotate,grayScale:e.picture.grayScale,tone:e.picture.tone},this.scale={current:e.scale.default,default:e.scale.default,min:e.scale.min,max:e.scale.max},this.usage.aspect<this.Picture.aspect?this.scale.min=100/l*this.usage.aspect:this.scale.min=100*l/this.usage.aspect,this.pst={frame:{x:0,y:0,w:0,h:0,aspect:1},outImage:{x:0,y:0,w:0,h:0},imageX:a/2,imageY:r/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 e=this.Canvas.elm,c=this.Picture.elm,t=0,a=0;{if(this.usage.aspect==1){let n=e.width*.6666666666666666,v=e.height*(2/3);a=t=Math.min(n,v)}else this.usage.aspect>1?(t=e.width*.9,a=t/this.usage.aspect):(a=e.height*.9,t=a*this.usage.aspect);let i=.85;a>e.height*i&&(a=e.height*i,t=a*this.usage.aspect),t>e.width*i&&(t=e.width*i,a=t/this.usage.aspect)}let{width:r,height:l}=c,m=(e.width-t)/2,s=(e.height-a)/2,h=t/a;this.pst={frame:{x:m,y:s,w:t,h:a,aspect:h},outImage:{x:0,y:0,w:0,h:0},imageX:r/2,imageY:l/2,centerX:e.width/2,centerY:e.height/2}}dragEffect(e){let{eventType:c,x:t,y:a}=e;if(c=="start"){let r=this.Canvas.elm.position();this.dragEffectInfo={origin:{x:t,y:a},frameExpandRate:{x:this.Canvas.elm.width/r.width,y:this.Canvas.elm.height/r.height}}}else{let{origin:r,frameExpandRate:l}=this.dragEffectInfo,m=r.x-t,s=r.y-a,h=this.scale.current*this.Picture.revisedAspect/100,i=m/h*l.x,n=s/h*l.y;c=="move"?this.drawImage(this.pst.imageX+i,this.pst.imageY+n):c=="end"&&this.drawImage(this.pst.imageX+=i,this.pst.imageY+=n)}}pinchEffect(e){let{eventType:c,event:t}=e,{x:a,y:r}=b.getCursor(t.touches[0]),{x:l,y:m}=b.getCursor(t.touches[1]),s=l-a,h=m-r;if(c=="start")this.pinchEffectInfo.origin={x:s,y:h,scale:this.scale.current};else if(c=="move"){let{origin:i}=this.pinchEffectInfo,n=Math.sqrt(Math.pow(i.x,2)+Math.pow(i.y,2)),C=Math.sqrt(Math.pow(s,2)+Math.pow(h,2))/n,d=Number(i.scale*C);this.set_scale(d)}}updateScale(e){let c=e;c=Math.max(c,this.scale.min),c=Math.min(c,this.scale.max),this.scale.current=c,this.drawImage()}updateFilter(e){this.Picture.grayScale=e.grayScale,this.Picture.tone=e.tone,this.Picture.rotate=e.rotate,this.modifyImage()}modifyImage(){return V(this,null,function*(){let{grayScale:e,tone:c,rotate:t}=this.Picture;const a=document.createElement("canvas");let r=a.getContext("2d"),l=yield b.ImageLoader(this.Picture.originDataUrl),m=l.width,s=l.height;(t==90||t==270)&&(m=l.height,s=l.width),a.width=m,a.height=s,e&&(r.filter="grayscale("+e+"%)"),t&&(r.translate(m/2,s/2),r.rotate(t*Math.PI/180),[90,270].includes(t)?r.translate(-s/2,-m/2):r.translate(-m/2,-s/2)),r.drawImage(l,0,0,l.width,l.height);let h=r.getImageData(0,0,a.width,a.height),i=h.data;{e/=100;let d=[[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]][c],y=d[0]/255,S=d[1]/255,_=d[2]/255;for(let w=0;w<s;w++)for(let x=0;x<m;x++){var n=(w*m+x)*4;if(e){let B=.3*i[n]+.59*i[n+1]+.11*i[n+2];for(var v=0;v<3;v++){let D=i[n+v];i[n+v]=D+(B-D)*e}}i[n]*=y,i[n+1]*=S,i[n+2]*=_}}r.putImageData(h,0,0);let C=a.toDataURL("image/jpeg");{let d=yield b.ImageLoader(C),{width:y,height:S}=d,_=y/S;this.Picture=ie(K({},this.Picture),{elm:d,aspect:_,revisedAspect:this.pst.frame.aspect>_?this.pst.frame.w/y:this.pst.frame.h/S})}this.drawImage()})}drawImage(e,c){let{Canvas:{ctx:t,elm:a},pst:{frame:r}}=this;t.clearRect(0,0,this.Canvas.elm.width,this.Canvas.elm.height);let l=e||this.pst.imageX,m=c||this.pst.imageY;{let s=this.scale.current/100,h=this.Picture.revisedAspect*s,i=this.pst.centerX-l*h,n=this.pst.centerY-m*h,v=this.Picture.elm.width*h,C=this.Picture.elm.height*h,d=0,y=0;this.usage.aspect<this.Picture.aspect?(d=v,y=d/this.usage.aspect):(y=C,d=y*this.usage.aspect);{let S=this.pst.frame.x-(v-d)/2,_=this.pst.frame.x+this.pst.frame.w-(v+d)/2,w=this.pst.frame.y-(C-y)/2,x=this.pst.frame.y+this.pst.frame.h-(C+y)/2,B=0;i<_&&(B=i-_),i>S&&(B=i-S);let D=0;n<x&&(D=n-x),n>w&&(D=n-w),this.dragEffectInfo.origin.x+=B/2/this.dragEffectInfo.frameExpandRate.x,this.dragEffectInfo.origin.y+=D/2/this.dragEffectInfo.frameExpandRate.y,i=Math.min(Math.max(i,_),S),n=Math.min(Math.max(n,x),w)}this.pst.outImage={x:i,y:n,w:v,h:C};{let S=1;t.lineWidth=S,t.strokeStyle="#ffffff66",t.strokeRect(i+(v-d)/2-S,n+(C-y)/2-S,d+S*2,y+S*2)}t.drawImage(this.Picture.elm,0,0,this.Picture.elm.width,this.Picture.elm.height,i,n,v,C)}{if(this.usage.aspect==1){t.fillStyle="rgba( 20,24,20,.5 )",t.beginPath();let s=a.width/3*2,h=a.height/3*2,i=Math.min(s,h),n=Math.max(s,h);t.arc(a.width/2,a.height/2,n*1.41,0,Math.PI*2,!0),t.arc(a.width/2,a.height/2,i/2,0,Math.PI*2,!1),t.closePath(),t.fill()}else t.fillStyle="rgba( 20,24,20,.5 )";{let h=b(document.body).getStyleProperty("--color-theme-hsl"),i=2;t.lineWidth=i,t.strokeStyle=`hsla( ${h},1 )`,t.strokeRect(r.x-i,r.y-i,r.w+i*2,r.h+i*2)}}}export(){return V(this,null,function*(){let{Canvas:e,develops:c,Picture:t,pst:{outImage:a,frame:r}}=this,l=a.w/t.elm.width,m=a.h/t.elm.height,s=(r.x-a.x)/l,h=r.w/l,i=(r.y-a.y)/m,n=r.h/m,v=Array.from({length:c.length}),C="image/jpeg";for(let d=0;d<c.length;d++){let{size:y,maxSize:S}=c[d];S=S||{S:1024*20,R:1024*100,L:1024*350}[y];let _={S:140,R:600,L:1200}[y],w=document.createElement("canvas");w.width=h,w.height=n;let x=document.createElement("canvas");x.width=_,x.height=_/this.usage.aspect;let B=w.getContext("2d");if(!B)return;let D=x.getContext("2d");if(!D)return;B.clearRect(0,0,w.width,w.height),B.drawImage(this.Picture.elm,s,i,h,n,0,0,h,n),D.fillStyle="black",D.drawImage(w,0,0,w.width,w.height,0,0,x.width,x.height);let $=x.toDataURL(C),g=yield $.toBlob(C);if(!g)return;if(g.size>=S){let E=S/g.size;if($=x.toDataURL(C,E*.92),g=yield $.toBlob(C),!g)return}let f=new File([g],this.val_file.name,{type:C});v[d]=f}return v})}}const oe={Core:u=>{let{val_file:e,options:c,finishedCallback:t,abortCallback:a}=u,{use:r,develops:l=[]}=c,[m]=U(le());const s={scale:{default:120,min:50,max:300},rotate:0,grayScale:0,tone:0};let h=2048*2048,i=1024,[n,v]=U(s.scale.default),[C,d]=U(s.rotate),[y,S]=U(s.grayScale),[_,w]=U(s.tone),[x,B]=U(0),[D,$]=U(0);return ee(()=>{let g="CropperResize";return b(window).addEvent({eventType:"resize",eventID:g,callback:()=>{b.interval.once(()=>{var j;let f=re("#Canvas-"+m)[0];if(!f)return;let E=(j=O.get(m))==null?void 0:j.Instance;if(!E)return;let J=f.position(),F=J.width/J.height,M=i,z=M/F;if(M*z>h){let G=M*z/h;M=Math.floor(M/Math.sqrt(G)),z=Math.floor(z/Math.sqrt(G))}f.width=i,f.height=z;let{width:T,height:Q}=f;E.pst.centerX=T/2,E.pst.centerY=Q/2,E.frameSizing(),E.modifyImage()},250,"CropperResize")}}),()=>{b(window).removeEvent(g)}},[]),ee(()=>{O.set({[m]:{}}),V(void 0,null,function*(){Z.fn.corner.active(),yield b.pending(()=>{},400);let g=yield e.convert();if(g=String(g),!g)return;let f=re("#Canvas-"+m)[0];if(!f)return;let E=f.position(),J=E.width/E.height,F=i,M=F/J;if(F*M>h){let R=F*M/h;F=Math.floor(F/Math.sqrt(R)),M=Math.floor(M/Math.sqrt(R))}f.width=F,f.height=M;let z=yield b.ImageLoader(g);B(z.width),$(z.height);let T=new he({set_scale:v,val_file:e,develops:l,use:r,scale:s.scale,componentId:m,canvas:f,picture:{image:z,grayScale:s.grayScale,tone:s.tone,rotate:s.rotate}});O.set({[m]:{Instance:T}});const Q=function(R){if(R.preventDefault(),R.touches&&R.touches.length>1)T.pinchEffect({eventType:"start",event:R}),b(document).addEvent({eventType:"touchmove",eventID:"CropperEffectMove",options:{passive:!1},callback:L=>{L.preventDefault(),T.pinchEffect({eventType:"move",event:L})}}).addEvent({eventType:"touchend",eventID:"CropperEffectEnd",options:{passive:!1},callback:G});else{T.dragEffect(K({eventType:"start"},b.getCursor(R)));let{type:L}=R;b(document).addEvent({eventType:L=="touchstart"?"touchmove":"mousemove",eventID:"CropperEffectMove",options:{passive:!1},callback:k=>{j("move",k)}}).addEvent({eventType:L=="touchstart"?"touchend":"mouseup",eventID:"CropperEffectEnd",options:{passive:!1},callback:k=>{j("end",k),G(k)}})}},j=function(R,L){L.preventDefault(),T.dragEffect(K({eventType:R},b.getCursor(L)))},G=function(R){R.preventDefault(),b(document).removeEvent(["CropperEffectMove","CropperEffectEnd"])};b(f).removeEvent(["CropperMouseWheel","CropperTouchStart","CropperMouseDown"]).addEvent({eventID:"CropperMouseWheel",eventType:"wheel",callback:R=>{R.preventDefault();let L=Number(R.wheelDelta*.04),k=T.scale.current+L;k=Math.max(k,T.scale.min),k=Math.min(k,T.scale.max),v(k)},options:{passive:!1}}).addEvent({eventType:"touchstart",eventID:"CropperTouchStart",callback:Q,options:{passive:!1}}).addEvent({eventType:"mousedown",eventID:"CropperMouseDown",callback:Q,options:{passive:!1}}),setTimeout(()=>{Z.fn.corner.stop()},1e3)})},[e.id]),ee(()=>{var f;let g=(f=O.get(m))==null?void 0:f.Instance;g&&g.updateScale(n)},[n]),ee(()=>{var f;let g=(f=O.get(m))==null?void 0:f.Instance;g&&g.updateFilter({grayScale:y,tone:_,rotate:C})},[y,_,C]),o(Y.Body,{borderRadius:0,height:"viewHeight",width:"viewWidth",children:p(H,{className:[N("Wrap"),N("Use_"+r)].join(" "),gap:0,height:1,position:"relative",overflow:"hidden",borderRadius:"inherit",children:[p(A,{flexSizing:0,overflow:"hidden",position:"relative",backgroundColor:"black",flexCenter:!0,freeCSS:{zIndex:1},children:[o("canvas",{style:{width:"100%",height:"100%"},width:i,height:i,className:N("Canvas"),id:"Canvas-"+m}),o(P.Supplement,{position:"absolute",bottom:1,left:1,fontColor:"white",children:p(I.Left,{gap:"1/2",flexWrap:!0,children:[p(P,{children:["[",e.type,"]"]}),o(P,{children:e.name}),p(P,{children:[x,"px x ",D,"px"]}),p(P,{children:["[",e.size.rank(),"B]"]})]})})]}),p(I.Separate,{borderTop:!0,flexSizing:"none",backgroundColor:"layer.1",padding:1,verticalAlign:"unset",UnderBreakPointStyles:{flexType:"col"},children:[o(oe.SettingRegion,{DefaultOptions:s,val_scale:n,set_scale:v,val_tone:_,set_tone:w,val_grayScale:y,set_grayScale:S,val_rotate:C,set_rotate:d}),p(I.Right,{flexSizing:"none",children:[o(W.Border.S,{onClick:()=>{a()},children:"\u9589\u3058\u308B"}),o(W.Prime.S,{boxShadow:"3.remark",onClick:()=>V(void 0,null,function*(){var E;let g=(E=O.get(m))==null?void 0:E.Instance;if(!g)return;Z.fn.mini.active("CropperExportation");let f=yield g.export();setTimeout(()=>{Z.fn.mini.stop("CropperExportation"),t(f)},1e3)}),children:p(I.Center,{gap:"1/2",children:[o(Z.White.R,{loaderID:"CropperExportation"}),"\u6C7A\u5B9A"]})})]})]})]})})},SettingRegion:u=>{let e=["","\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"],c=t=>e[t]||"\u306A\u3057";return p(I.Left,{verticalAlign:"unset",flexWrap:!0,children:[p(H,{gap:"1/3",children:[o(P.Supplement,{children:"Rotate"}),p(I.Left,{flexChilds:"even",gap:"1/6",children:[o(W.Border.S,{isRounded:!0,borderTopRightRadius:0,borderBottomRightRadius:0,onClick:()=>{let t=u.val_rotate-90;t<0&&(t+=360),u.set_rotate(t)},children:p(I.Center,{gap:"1/4",children:["90\xB0",o(X,{icon:ce})]})}),o(W.Border.S,{isRounded:!0,borderTopLeftRadius:0,borderBottomLeftRadius:0,onClick:()=>{u.set_rotate((u.val_rotate+90)%360)},children:p(I.Center,{gap:"1/4",children:[o(X,{icon:me}),"90\xB0"]})})]})]}),p(H,{gap:"1/3",freeCSS:{minWidth:12*6},children:[o(P.Supplement,{children:"Zoom"}),p(W.Border.S,{flexCenter:!0,isRounded:!0,flexSizing:0,onClick:t=>{let a="CropperZoomEdit";q.open({tipsID:a,gravityPoint:3,event:t,closeAtParentBlur:!1,freeCSS:{minWidth:12*26},content:o(Y.Body,{children:p(H,{padding:1.5,children:[p(I.Separate,{children:[o(P.Paragraph,{children:p(I.Center,{gap:"1/2",children:[o(X.Search,{fontColor:"5.translucent"}),"Zoom"]})}),o(W.Sub,{color:"cloud",ssSphere:2.5,onClick:()=>{q.close(a)},children:o(X.X,{})})]}),o(A,{borderBottom:!0,opacity:"low"}),o(te.Slider,{override:"force",value:u.val_scale-u.DefaultOptions.scale.min,min:u.DefaultOptions.scale.min-100,max:u.DefaultOptions.scale.max-100,step:25,onUpdateValidValue:(r,l)=>{b.interval.once(()=>{u.set_scale(r+100)},250,"Cropper.UpdateScale")},legends:{enable:!0,custom:r=>"x"+Math.round(100+r)/100}})]})})})},children:[u.val_scale.rate(1,0),"%"]})]}),p(H,{gap:"1/3",freeCSS:{minWidth:12*6},children:[o(P.Supplement,{children:"GrayScale"}),p(W.Border.S,{flexCenter:!0,isRounded:!0,flexSizing:0,onClick:t=>{let a="CropperGrayScaleEdit";q.open({tipsID:a,gravityPoint:3,event:t,closeAtParentBlur:!1,freeCSS:{minWidth:12*26},content:o(Y.Body,{children:p(H,{padding:1.5,children:[p(I.Separate,{children:[o(P.Paragraph,{children:p(I.Center,{gap:"1/2",children:[o(X,{icon:ne,fontColor:"5.translucent"}),"Gray Scale"]})}),o(W.Sub,{color:"cloud",ssSphere:2.5,onClick:()=>{q.close(a)},children:o(X.X,{})})]}),o(A,{borderBottom:!0,opacity:"low"}),o(te.Slider,{value:u.val_grayScale,min:0,max:100,step:10,onUpdateValidValue:r=>{b.interval.once(()=>{u.set_grayScale(r)},250,"Cropper.GrayScale")},legends:{enable:!0,custom:r=>r+"%"}})]})})})},children:[u.val_grayScale.rate(1,0),"%"]})]}),p(H,{gap:"1/3",freeCSS:{minWidth:12*6},children:[o(P.Supplement,{children:"Tone"}),o(W.Border.S,{flexCenter:!0,isRounded:!0,flexSizing:0,onClick:t=>{let a="CropperToneEdit";q.open({tipsID:a,gravityPoint:3,event:t,closeAtParentBlur:!1,freeCSS:{minWidth:12*26,maxWidth:12*24},content:()=>{let r=[];for(let l=1;l<=10;l++)r.push({value:l,label:p(I.Left,{gap:"1/3",children:[o(A,{ssSphere:1,className:[N("ToneBall"),N("ToneBall_"+l)].join(" ")}),o(A,{textAlign:"left",flexSizing:0,children:c(l)})]})});return o(Y.Body,{children:p(H,{padding:1.5,children:[p(I.Separate,{children:[o(P.Paragraph,{children:p(I.Center,{gap:"1/2",children:[o(X,{icon:se,fontColor:"5.translucent"}),"Tone"]})}),o(W.Sub,{color:"cloud",ssSphere:2.5,onClick:()=>{q.close(a)},children:o(X.X,{})})]}),o(A,{borderBottom:!0,opacity:"low"}),o(te.Radio.Normal,{value:u.val_tone,gap:"1/2",cellStyles:{fontColor:"3.blur"},options:[{value:0,label:o(A,{flexSizing:0,textAlign:"center",children:"\u306A\u3057"})},...r],onUpdateValidValue:l=>{u.set_tone(l)}})]})})}})},children:p(I.Center,{gap:"1/2",children:[o(A,{boxShadow:"2.remark",ssSphere:1,className:[N("ToneBall"),N("ToneBall_"+u.val_tone)].join(" ")}),c(u.val_tone)]})})]})]})}},ae={openDialogNEdit:u=>{te.Filer.fn.openDialog({accept:"image",multiple:!1,onChange:e=>{ae.openEditor(K({imageFile:e[0]},u))}})},openEditor:u=>V(void 0,null,function*(){let e="CropperImage";Y.open("middleCenter",{sheetID:e,size:"MAX",padding:0,margin:0,freeCSS:{maxWidth:"100%"},content:o(oe.Core,{val_file:u.imageFile,options:u,finishedCallback:c=>{Y.close(e),u.onProcessFinished(c)},abortCallback:()=>{Y.close(e)}}),closeAtEscapeKeyDown:!1})})};export{ae as Cropper,ae as default};
@@ -1 +1 @@
1
- import{b as f,c as D}from"../../../chunk-C5N2D3ZX.js";import{Fragment as $,jsx as a,jsxs as y}from"react/jsx-runtime";import{createElement as q}from"react";import V,{UUID as O,Time as C}from"jmini";import{useState as B,useEffect as F,useRef as H}from"react";import{Box as x,Flex as _,Grid as A,FAI as T,Column as N}from"../../../atoms";import{Row as I,Literal as G}from"../../../mols";import{Button as v}from"../../Button";import X from"../../Sheet";import M from"../Select";import{Radio as L}from"../List";import{RightIcon as w}from"..";import{InputTimeClasses as b}from"../../../@styles/componentClasses";let W=r=>{var t,i;let e=[],o=Number((t=r==null?void 0:r.min)!=null?t:1900),l=Number((i=r==null?void 0:r.max)!=null?i:C().addYear(10).year);for(let m=o;m<=l;m++)e.unshift({value:m,label:[m,...V.transformer.wareki(m).value].join(" -")});return e};const j=r=>{let{restrict:e,era:o="year",defaultValue:l=""}=r;r=f({},r),r.sheetID=r.sheetID||O();const t=H(!1);let[i,m]=B(!1),[h,u]=B((()=>{var s,p;if(e=="clock"){let d=String(l).split(/[^\d]/);d[0]||(d=[0,0]);let c=Number(d[0]),k=Number(d[1]);return{modifiedType:"init",hour:c,minutes:k}}else if(e=="date"){let[d,c,k]=(s=String(l))==null?void 0:s.split(/\D/);return(V.is.nullish(d)||V.is.nullish(c)||V.is.nullish(k))&&([d,c,k]=C().toFormat("%Y-%M-%D").split("-")),{modifiedType:"init",year:Number(d),month:Number(c),date:Number(k)}}else if(e!="week"){if(e=="month"){let[d,c]=String(l).split(/\D/);return(V.is.nullish(d)||V.is.nullish(c))&&([d,c]=C().toFormat("%Y-%M").split("-")),{modifiedType:"init",year:Number(d),month:Number(c)}}else if(e=="year"){let[d]=String(l).split(/\D/);return V.is.nullish(d)&&([d]=C().toFormat("%Y").split("-")),{modifiedType:"init",year:Number(d)}}else if(e=="dateWareki"){let[d,c,k]=(p=String(l))==null?void 0:p.split(/\D/);return(V.is.nullish(d)||V.is.nullish(c)||V.is.nullish(k))&&([d,c,k]=C().toFormat("%Y-%M-%D").split("-")),{modifiedType:"init",era:o||"year",year:Number(d),month:Number(c),date:Number(k)}}}return{}})());F(()=>{if(t.current){if(h.modifiedType=="update"){let s="",p=o||"year";if(e=="clock"){let{hour:d,minutes:c}=h;s=[d.zeroEmbed(2),c.zeroEmbed(2)].join("/")}else if(e=="date"){let{year:d,month:c,date:k}=h;s=[d,c.zeroEmbed(2),k.zeroEmbed(2)].join("/")}else if(e!="week"){if(e=="month"){let{year:d,month:c}=h;s=[d,c.zeroEmbed(2)].join("/")}else if(e=="year"){let{year:d}=h;s=String(d)}else if(e=="dateWareki"){let{year:d,month:c,date:k,era:R}=h;p=R,s=[d,c.zeroEmbed(2),k.zeroEmbed(2)].join("/")}}r.onValueUpdate(s,p,i)}}else t.current=!0},[h,i]);let n=D(f({},r),{val_value:h,set_value:u,val_confirmed:i,set_confirmed:m});return a(x,{backgroundColor:"layer.1",borderRadius:"2.tone.secondary",boxShadow:"1.remark",children:a(x,{className:b(e.toCapital()+"Base"),children:e=="clock"?a(S.Clock.index,f({},n)):e=="date"?a(S.Date.index,f({},n)):e=="week"?"":e=="month"?a(S.Month.index,f({},n)):e=="year"?a(S.Year.index,f({},n)):e=="dates"||e=="months"?"":e=="dateWareki"?a(S.DateWareki.index,f({},n)):a($,{})})})},S={Clock:{index:r=>{let{min:e,max:o,onValueUpdate:l,sheetID:t,val_value:i,set_value:m}=r,[h,u]=B(i.hour>12?2:1),[n,s]=B(Number(localStorage.getItem("timePickerUnit")||5));F(()=>{localStorage.setItem("timePickerUnit",String(n))},[n]);let{hour:p,minutes:d}=i;return y(N,{padding:1,children:[y(_,{flexType:"row",flexWrap:!1,gap:1,className:b("Body"),children:[y(N,{className:b("DesignSide"),flexSizing:0,children:[a(x,{className:b("ClockUiBase"),padding:[1,"2/3"],flexCenter:!0,children:y(x,{className:b("ClockUi"),backgroundColor:"theme.opa.low",isRounded:!0,position:"relative",children:[a(x,{position:"absolute",backgroundColor:"theme",unitWidth:"1/12",className:[b("Needle"),b("hour")].join(" "),freeCSS:{transform:`rotate(${p*30+d/2}deg)`}}),a(x,{position:"absolute",backgroundColor:"theme",unitWidth:"1/12",className:[b("Needle"),b("minute")].join(" "),freeCSS:{transform:`rotate(${d*6}deg)`}})]})}),a(L,{icon:!0,value:[h],options:[{value:1,label:"AM"},{value:2,label:"PM"}],flexType:"col",gap:"1/2",tabIndex:-1,onUpdateValidValue:c=>{let R=i.hour%12+(c==2?12:0);u(c),m({modifiedType:"update",hour:R,minutes:i.minutes})}}),a(x,{borderTop:!0,margin:[0,1]}),a(L,{icon:!0,value:[n],options:[{value:1,label:"/ 1\u5206"},{value:2,label:"/ 2\u5206"},{value:5,label:"/ 5\u5206"}],flexType:"col",gap:"1/2",tabIndex:-1,onUpdateValidValue:c=>{s(c)}})]}),y(N,{children:[y(x,{flexCenter:!0,isSemiBoldFont:!0,fontSize:"3.paragraph",children:[i.hour.zeroEmbed(2)," : ",i.minutes.zeroEmbed(2)]}),y(_,{flexWrap:!1,ssCardBox:!0,flexChilds:"even",padding:["1/3",0],freeCSS:{minWidth:12*12},children:[a(N,{gap:0,overflow:"auto",padding:"2/3",borderRight:!0,freeCSS:{maxHeight:12*22},children:S.Clock.Hours({onClick:c=>{let k=c+(h==2?12:0);m({modifiedType:"update",hour:k,minutes:i.minutes})},min:e,max:o,ampm:h})}),a(N,{gap:0,overflow:"auto",padding:"2/3",freeCSS:{maxHeight:12*22},children:S.Clock.Minutes({onClick:c=>{m({modifiedType:"update",hour:i.hour,minutes:c})},min:e,max:o,unit:n})})]})]})]}),a(S.Variables.Footer,{sheetID:t,set_confirmed:r.set_confirmed,onValueUpdate:l})]})},Hours:r=>{let e=[];for(let o=0;o<12;o++){let l=r.ampm==2?o+12:o,t=!1;{let i=Number(String(l*100).replace(/\D/ig,""));if(r.min&&Number(String(r.min).replace(/\D/ig,""))>i&&(t=!0),r.max){let m=Number(String(r.max).replace(/\D/ig,""));i>m&&(t=!0)}}e.push(a(v.Normal,{isLocked:t,borderBottom:!0,borderRadius:0,padding:["1/2",1],freeCSS:{whiteSpace:"nowrap"},tabIndex:-1,onClick:()=>{r.onClick(o)},children:l.zeroEmbed(2)},o))}return e},Minutes:r=>{let e=[];for(let o=0;o<60/r.unit;o++){let l=o*r.unit;e.push(a(v.Normal,{borderBottom:!0,borderRadius:0,padding:["1/2",1],freeCSS:{whiteSpace:"nowrap"},tabIndex:-1,onClick:()=>{r.onClick(l)},children:l.zeroEmbed(2)},l))}return e}},Date:{index:r=>{let{min:e,max:o,onValueUpdate:l,sheetID:t,val_value:i,set_value:m}=r,{year:h,month:u,date:n}=i;return y(N,{padding:1,children:[y(I.Separate,{flexWrap:!0,children:[y(_,{verticalAlign:"bottom",horizontalAlign:"left",gap:"2/3",flexWrap:!1,children:[a(M,{override:"force",emptySelect:!1,value:h,options:W(),fontSize:"1.mini",border:"1.thin",padding:["1/3","2/3"],paddingRight:1.5,SelectorStyles:{freeCSS:{minWidth:12*12}},onUpdateValidValue:s=>{m({modifiedType:"update",year:Number(s),month:u,date:n})},rightIcon:a(w,{right:"1/3",children:a(T.AngleDown,{})})}),a(M,{override:"force",emptySelect:!1,value:u,options:(()=>{let s=[];for(let p=1;p<=12;p++)s.push({value:p,label:String(p)+"\u6708"});return s})(),fontSize:"1.mini",border:"1.thin",padding:["1/3","2/3"],paddingRight:1.5,SelectorStyles:{freeCSS:{minWidth:12*8}},rightIcon:a(w,{right:"1/3",children:a(T.AngleDown,{})}),onUpdateValidValue:s=>{m({modifiedType:"update",year:h,month:Number(s),date:n})}})]}),a(S.Variables.ShiftButtons,{callback:s=>{let p=u+s,d=h;p<=0&&(d--,p=12),p>12&&(d++,p=1),m({modifiedType:"update",year:d,month:p,date:i.date})}})]}),a(x,{borderTop:!0}),a(x,{children:S.Date.MonthCalendar({min:e,max:o,year:i.year,month:i.month,current:[i.year,i.month,i.date],callback:s=>{let[p,d,c]=s;m({modifiedType:"update",year:p,month:d,date:c})}})}),a(S.Variables.Footer,{sheetID:t,set_confirmed:r.set_confirmed,onValueUpdate:l})]})},MonthCalendar:r=>{let{min:e,max:o,year:l,month:t,current:i,callback:m}=r,h=C(),u=C([l,t.zeroEmbed(2),"01"].join("/")),n=u.getLastDayOfMonth(),s=C(u).addMonth(-1).getLastDayOfMonth().date,p=[],d=[],c=[],k=[],R={padding:0,unitWidth:3,unitHeight:3,flexCenter:!0,borderRadius:"3.tone.tertiary"};for(var g=0;g<7;g++)p.push(a(x,D(f({className:[b("CalendarDay"),b("Legend")].join(" ")},R),{children:["\u65E5","\u6708","\u706B","\u6C34","\u6728","\u91D1","\u571F"][g]}),g));for(var g=0;g<u.weekday;g++)d.unshift(q(x,D(f({className:[b("CalendarDay"),b("Dummy")].join(" "),fontColor:"4.thin"},R),{key:g}),s-g));for(var g=1;g<=n.date;g++){let E=g,Y=l==h.year&&t==h.month&&g==h.date,P=!1;{let z=Number(String([l,t.zeroEmbed(2),g.zeroEmbed(2)].join("/")).replace(/\D/ig,""));if(r.min&&Number(String(r.min).replace(/\D/ig,""))>z&&(P=!0),r.max){let U=Number(String(r.max).replace(/\D/ig,""));z>U&&(P=!0)}}c.push(a(v.Clear,D(f({className:[b("CalendarDay"),b("isToday_"+Y)].join(" ")},R),{fontColor:"1.clear",padding:0,flexCenter:!0,isRounded:!0,ssEffectsOnActive:"shrink",onClick:()=>{m([l,t,E])},tabIndex:-1,isLocked:P,children:g}),E))}for(var g=1;g<7-n.weekday;g++)k.push(a(x,D(f({className:[b("CalendarDay"),b("Dummy")].join(" "),fontColor:"4.thin"},R),{children:g}),g));return y(A,{gridCols:7,gap:"1/6",children:[p,d,c,k]})}},Month:{index:r=>{let{min:e,max:o,onValueUpdate:l,sheetID:t,val_value:i,set_value:m}=r,{year:h,month:u}=i;return y(N,{padding:1,children:[y(I.Separate,{gap:0,children:[a(I.Center,{verticalAlign:"bottom",gap:"2/3",children:a(M,{emptySelect:!1,value:h,options:W(),override:"force",border:"1.thin",padding:["1/3","2/3"],paddingRight:1.5,SelectorStyles:{freeCSS:{minWidth:12*12}},rightIcon:a(w,{right:"1/3",children:a(T.AngleDown,{})}),onUpdateValidValue:n=>{m({modifiedType:"update",year:Number(n),month:u})}})}),a(S.Variables.ShiftButtons,{callback:n=>{let s=Math.min(Math.max(h+n,1900),2100);m({modifiedType:"update",year:s,month:u})}})]}),a(x,{borderTop:!0}),S.Month.Months({min:e,max:o,year:i.year,callback:n=>{let[s,p]=n;m({modifiedType:"update",year:s,month:p})}}),a(S.Variables.Footer,{sheetID:t,set_confirmed:r.set_confirmed,onValueUpdate:l})]})},Months:r=>{let{year:e,callback:o}=r,l=C(),t=[];for(let i=1;i<=12;i++){let m=e==l.year&&i==l.month,h=!1;{let n=Number(String([e,i.zeroEmbed(2)].join("/")).replace(/\D/ig,""));if(r.min&&Number(String(r.min).replace(/\D/ig,""))>n&&(h=!0),r.max){let s=Number(String(r.max).replace(/\D/ig,""));n>s&&(h=!0)}}let u=[b("Cell"),m?b("isThisMonth"):""].join(" ");t.push(y(v.Clear,{className:u,isLocked:h,fontColor:"2.normal",padding:["1/3",1],ssEffectsOnActive:"shrink",onClick:()=>{o([e,i])},children:[i," \u6708"]},e+"-"+i))}return a(A,{gridCols:4,gap:"2/3",children:t})}},Year:{index:r=>{let{min:e,max:o,onValueUpdate:l,sheetID:t,val_value:i,set_value:m}=r,{year:h}=i;return y(N,{padding:1,children:[a(M,{emptySelect:!1,paddingRight:1.5,fontSize:"1.mini",value:h||C().year,override:"force",SelectorStyles:{freeCSS:{minWidth:12*12}},options:W({min:e,max:o}),onUpdateValidValue:u=>{m({modifiedType:"update",year:Number(u)})}}),a(S.Variables.Footer,{sheetID:t,set_confirmed:r.set_confirmed,onValueUpdate:l,onSubmit:()=>{m({modifiedType:"update",year:Number(h||C().year)})}})]})}},DateWareki:{index:r=>{let{min:e,max:o,onValueUpdate:l,sheetID:t,val_value:i,set_value:m}=r,{era:h,year:u,month:n,date:s}=i,p={val_value:i,set_value:m};return y(x,{children:[y(I.Left,{borderBottom:!0,gap:0,verticalAlign:"unset",children:[a(S.DateWareki.EraSelect,f({},p)),a(x,{borderRight:!0}),a(S.DateWareki.Calendar,f({},p))]}),a(I.Right,{padding:1,children:a(S.Variables.Footer,{sheetID:t,set_confirmed:r.set_confirmed,onValueUpdate:l})})]})},EraSelect:r=>{let{val_value:e,set_value:o}=r,l={padding:["1/2",1.5],fontColor:"3.blur"},t={backgroundColor:"cloud",fontColor:"2.normal",isSemiBoldFont:!0};return y(N,{padding:1,gap:0,children:[a(v.Clear,D(f({color:"cloud"},l),{isActiveStyles:t,isActive:e.era=="year",onClick:()=>{let i=C();o({modifiedType:"update",era:"year",year:i.year,month:i.month,date:i.date})},children:"\u897F\u66A6"})),a(v.Clear,D(f({color:"cloud"},l),{isActiveStyles:t,isActive:e.era=="reiwa",onClick:()=>{let i=C();o({modifiedType:"update",era:"reiwa",year:i.year,month:i.month,date:i.date})},children:"\u4EE4\u548C"})),a(v.Clear,D(f({color:"cloud"},l),{isActiveStyles:t,isActive:e.era=="heisei",onClick:()=>{o({modifiedType:"update",era:"heisei",year:2019,month:1,date:1})},children:"\u5E73\u6210"})),a(v.Clear,D(f({color:"cloud"},l),{isActiveStyles:t,isActive:e.era=="shouwa",onClick:()=>{o({modifiedType:"update",era:"shouwa",year:1989,month:1,date:1})},children:"\u662D\u548C"})),a(v.Clear,D(f({color:"cloud"},l),{isActiveStyles:t,isActive:e.era=="taisho",onClick:()=>{o({modifiedType:"update",era:"taisho",year:1926,month:1,date:1})},children:"\u5927\u6B63"})),a(v.Clear,D(f({color:"cloud"},l),{isActiveStyles:t,isActive:e.era=="meiji",onClick:()=>{o({modifiedType:"update",era:"meiji",year:1912,month:1,date:1})},children:"\u660E\u6CBB"}))]})},Calendar:r=>{let{val_value:e,set_value:o}=r,l=[];if(e.era=="year"){let t=C().year+10;for(let i=1900;i<t;i++)l.unshift({value:i,label:i+"\u5E74"})}else if(e.era=="reiwa"){let t=C().year-2018;for(let i=1;i<=t+10;i++)l.unshift({value:2019+i-1,label:"\u4EE4\u548C"+(i==1?"\u5143":i)+"\u5E74"})}else if(e.era=="heisei")for(let t=1;t<=31;t++)l.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++)l.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++)l.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++)l.unshift({value:1868+t-1,label:"\u660E\u6CBB"+(t==1?"\u5143":t)+"\u5E74"});return y(N,{padding:1,children:[y(I.Separate,{children:[a(M,{emptySelect:!1,override:"force",border:"1.thin",padding:["1/3","2/3"],paddingRight:1.5,fontSize:"1.mini",SelectorStyles:{freeCSS:{minWidth:12*12}},rightIcon:a(w,{right:"1/3",children:a(T.AngleDown,{})}),options:l,value:e.year,onUpdateValidValue:t=>{o(i=>D(f({},i),{modifiedType:"update",year:Number(t)}))}}),y(I.Center,{gap:"1/3",children:[a(M,{emptySelect:!1,override:"force",border:"1.thin",padding:["1/3","2/3"],paddingRight:1.5,fontSize:"1.mini",SelectorStyles:{freeCSS:{minWidth:12*9}},rightIcon:a(w,{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=>{o({modifiedType:"update",era:e.era,year:e.year,month:Number(t),date:1})}}),a(v.Clear.S,{ssSphere:2.5,onClick:()=>{let t=e.month-1;o({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(v.Clear.S,{ssSphere:2.5,onClick:()=>{let t=e.month+1;o({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(S.DateWareki.MonthCell,f({},r))]},e.era)},MonthCell:r=>{let{val_value:e,set_value:o}=r,l=C([e.year.zeroEmbed(4),e.month.zeroEmbed(2),e.date.zeroEmbed(2)].join("/"));if(!l.validate)return;let t=l.getFirstDayOfMonth().weekday,i=l.getLastDayOfMonth(),m=[];for(let u=0;u<7;u++)m.push(a(G.Supplement,{flexCenter:!0,fontColor:u==0?"googleRed":u==6?"googleBlue":"3.blur",children:V.transformer.weekday.shortJP(u)},"legend-"+u));for(let u=0;u<t;u++){let n=C(l).getFirstDayOfMonth().addDate(u-t);m.push(a(v.Sub,{color:"cloud",ssSquare:3,opacity:"middle",onClick:s=>{s.preventDefault(),s.stopPropagation(),o({modifiedType:"update",era:e.era,year:n.year,month:n.month,date:n.date})},children:n.date},"lastMonth-"+u))}let h=C();for(let u=1;u<=i.date;u++){let n=C(l).setDate(u),s=h.diff(n).dates==0;m.push(a(v.Clear,{ssSquare:3,fontColor:"2.normal",className:[b("CalendarDay"),b("isToday_"+s)].join(" "),onClick:()=>{o({modifiedType:"update",era:e.era,year:n.year,month:n.month,date:n.date})},children:n.date},"currentMonth-"+u))}for(let u=0;u<7-i.weekday-1;u++){let n=C(l).addMonth(1).setDate(1).addDate(u);m.push(a(v.Sub,{color:"cloud",ssSquare:3,opacity:"middle",onClick:s=>{s.preventDefault(),s.stopPropagation(),o({modifiedType:"update",era:e.era,year:n.year,month:n.month,date:n.date})},children:n.date},"nextMonth-"+u))}return a(A,{gridCols:7,gap:"1/4",children:m})}},Variables:{Footer:r=>y(_,{flexWrap:!1,gap:1,flexChilds:"even",freeCSS:{whiteSpace:"nowrap"},children:[y(v.Sub.S,{color:"cloud",tabIndex:-1,isRounded:!0,onClick:()=>{r.onValueUpdate("")},flexSizing:"none",children:[a(T.X,{})," \u524A\u9664"]}),a(v.Prime.S,{tabIndex:-1,isRounded:!0,flexSizing:"auto",freeCSS:{minWidth:12*6},onClick:()=>{r.set_confirmed(!0),r.onSubmit&&r.onSubmit(),X.close(r.sheetID)},children:"\u6C7A\u5B9A"})]}),ShiftButtons:r=>y(_,{gap:"1/3",flexWrap:!1,children:[a(v.Clear,D(f({className:b("LeftButton"),tabIndex:-1,right:0},S.Variables.ShiftButtonStyles),{onClick:()=>{r.callback(-1)},children:a(T.ChevronLeft,{})})),a(v.Clear,D(f({className:b("RightButton"),tabIndex:-1,left:0},S.Variables.ShiftButtonStyles),{onClick:()=>{r.callback(1)},children:a(T.ChevronRight,{})}))]}),ShiftButtonStyles:{position:"relative",flexCenter:!0,ssSphere:2.5}}};export{j as Picker,j as default};
1
+ import{b as p,c as D}from"../../../chunk-C5N2D3ZX.js";import{Fragment as $,jsx as a,jsxs as y}from"react/jsx-runtime";import{createElement as q}from"react";import V,{UUID as H,Time as C}from"jmini";import{useState as B,useEffect as F,useRef as G}from"react";import{Box as x,Flex as _,Grid as A,FAI as T,Column as N}from"../../../atoms";import{Row as I,Literal as X}from"../../../mols";import{Button as v}from"../../Button";import L from"../../Sheet";import M from"../Select";import{Radio as j}from"../List";import{RightIcon as w}from"..";import{InputTimeClasses as b}from"../../../@styles/componentClasses";let W=r=>{var t,i;let e=[],o=Number((t=r==null?void 0:r.min)!=null?t:1900),l=Number((i=r==null?void 0:r.max)!=null?i:C().addYear(10).year);for(let m=o;m<=l;m++)e.unshift({value:m,label:[m,...V.transformer.wareki(m).value].join(" -")});return e};const Y=r=>{let{restrict:e,era:o="year",defaultValue:l=""}=r;r=p({},r),r.sheetID=r.sheetID||H();const t=G(!1);let[i,m]=B(!1),[h,u]=B((()=>{var s,f;if(e=="clock"){let d=String(l).split(/[^\d]/);d[0]||(d=[0,0]);let c=Number(d[0]),k=Number(d[1]);return{modifiedType:"init",hour:c,minutes:k}}else if(e=="date"){let[d,c,k]=(s=String(l))==null?void 0:s.split(/\D/);return(V.is.nullish(d)||V.is.nullish(c)||V.is.nullish(k))&&([d,c,k]=C().toFormat("%Y-%M-%D").split("-")),{modifiedType:"init",year:Number(d),month:Number(c),date:Number(k)}}else if(e!="week"){if(e=="month"){let[d,c]=String(l).split(/\D/);return(V.is.nullish(d)||V.is.nullish(c))&&([d,c]=C().toFormat("%Y-%M").split("-")),{modifiedType:"init",year:Number(d),month:Number(c)}}else if(e=="year"){let[d]=String(l).split(/\D/);return V.is.nullish(d)&&([d]=C().toFormat("%Y").split("-")),{modifiedType:"init",year:Number(d)}}else if(e=="dateWareki"){let[d,c,k]=(f=String(l))==null?void 0:f.split(/\D/);return(V.is.nullish(d)||V.is.nullish(c)||V.is.nullish(k))&&([d,c,k]=C().toFormat("%Y-%M-%D").split("-")),{modifiedType:"init",era:o||"year",year:Number(d),month:Number(c),date:Number(k)}}}return{}})());F(()=>{if(t.current){if(h.modifiedType=="update"){let s="",f=o||"year";if(e=="clock"){let{hour:d,minutes:c}=h;s=[d.zeroEmbed(2),c.zeroEmbed(2)].join("/")}else if(e=="date"){let{year:d,month:c,date:k}=h;s=[d,c.zeroEmbed(2),k.zeroEmbed(2)].join("/")}else if(e!="week"){if(e=="month"){let{year:d,month:c}=h;s=[d,c.zeroEmbed(2)].join("/")}else if(e=="year"){let{year:d}=h;s=String(d)}else if(e=="dateWareki"){let{year:d,month:c,date:k,era:R}=h;f=R,s=[d,c.zeroEmbed(2),k.zeroEmbed(2)].join("/")}}r.onValueUpdate(s,f,i)}}else t.current=!0},[h,i]);let n=D(p({},r),{val_value:h,set_value:u,val_confirmed:i,set_confirmed:m});return a(x,{backgroundColor:"layer.1",borderRadius:"2.tone.secondary",boxShadow:"1.remark",children:a(x,{className:b(e.toCapital()+"Base"),children:e=="clock"?a(S.Clock.index,p({},n)):e=="date"?a(S.Date.index,p({},n)):e=="week"?"":e=="month"?a(S.Month.index,p({},n)):e=="year"?a(S.Year.index,p({},n)):e=="dates"||e=="months"?"":e=="dateWareki"?a(S.DateWareki.index,p({},n)):a($,{})})})},S={Clock:{index:r=>{let{min:e,max:o,onValueUpdate:l,sheetID:t,val_value:i,set_value:m}=r,[h,u]=B(i.hour>12?2:1),[n,s]=B(Number(localStorage.getItem("timePickerUnit")||5));F(()=>{localStorage.setItem("timePickerUnit",String(n))},[n]);let{hour:f,minutes:d}=i;return y(N,{padding:1,children:[y(_,{flexType:"row",flexWrap:!1,gap:1,className:b("Body"),children:[y(N,{className:b("DesignSide"),flexSizing:0,children:[a(x,{className:b("ClockUiBase"),padding:[1,"2/3"],flexCenter:!0,children:y(x,{className:b("ClockUi"),backgroundColor:"theme.opa.low",isRounded:!0,position:"relative",children:[a(x,{position:"absolute",backgroundColor:"theme",unitWidth:"1/12",className:[b("Needle"),b("hour")].join(" "),freeCSS:{transform:`rotate(${f*30+d/2}deg)`}}),a(x,{position:"absolute",backgroundColor:"theme",unitWidth:"1/12",className:[b("Needle"),b("minute")].join(" "),freeCSS:{transform:`rotate(${d*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:c=>{let R=i.hour%12+(c==2?12:0);u(c),m({modifiedType:"update",hour:R,minutes:i.minutes})}}),a(x,{borderTop:!0,margin:[0,1]}),a(j,{icon:!0,value:[n],options:[{value:1,label:"/ 1\u5206"},{value:2,label:"/ 2\u5206"},{value:5,label:"/ 5\u5206"}],flexType:"col",gap:"1/2",tabIndex:-1,onUpdateValidValue:c=>{s(c)}})]}),y(N,{children:[y(x,{flexCenter:!0,isSemiBoldFont:!0,fontSize:"3.paragraph",children:[i.hour.zeroEmbed(2)," : ",i.minutes.zeroEmbed(2)]}),y(_,{flexWrap:!1,ssCardBox:!0,flexChilds:"even",padding:["1/3",0],freeCSS:{minWidth:12*12},children:[a(N,{gap:0,overflow:"auto",padding:"2/3",borderRight:!0,freeCSS:{maxHeight:12*22},children:S.Clock.Hours({onClick:c=>{let k=c+(h==2?12:0);m({modifiedType:"update",hour:k,minutes:i.minutes})},min:e,max:o,ampm:h})}),a(N,{gap:0,overflow:"auto",padding:"2/3",freeCSS:{maxHeight:12*22},children:S.Clock.Minutes({onClick:c=>{m({modifiedType:"update",hour:i.hour,minutes:c})},min:e,max:o,unit:n})})]})]})]}),a(S.Variables.Footer,{sheetID:t,set_confirmed:r.set_confirmed,onValueUpdate:l})]})},Hours:r=>{let e=[];for(let o=0;o<12;o++){let l=r.ampm==2?o+12:o,t=!1;{let i=Number(String(l*100).replace(/\D/ig,""));if(r.min&&Number(String(r.min).replace(/\D/ig,""))>i&&(t=!0),r.max){let m=Number(String(r.max).replace(/\D/ig,""));i>m&&(t=!0)}}e.push(a(v.Normal,{isLocked:t,borderBottom:!0,borderRadius:0,padding:["1/2",1],freeCSS:{whiteSpace:"nowrap"},tabIndex:-1,onClick:()=>{r.onClick(o)},children:l.zeroEmbed(2)},o))}return e},Minutes:r=>{let e=[];for(let o=0;o<60/r.unit;o++){let l=o*r.unit;e.push(a(v.Normal,{borderBottom:!0,borderRadius:0,padding:["1/2",1],freeCSS:{whiteSpace:"nowrap"},tabIndex:-1,onClick:()=>{r.onClick(l)},children:l.zeroEmbed(2)},l))}return e}},Date:{index:r=>{let{min:e,max:o,onValueUpdate:l,sheetID:t,val_value:i,set_value:m}=r,{year:h,month:u,date:n}=i;return y(N,{padding:1,children:[y(I.Separate,{flexWrap:!0,children:[y(_,{verticalAlign:"bottom",horizontalAlign:"left",gap:"2/3",flexWrap:!1,children:[a(M,{override:"force",emptySelect:!1,value:h,options:W(),fontSize:"1.mini",border:"1.thin",padding:["1/3","2/3"],paddingRight:1.5,SelectorStyles:{freeCSS:{minWidth:12*12}},onUpdateValidValue:s=>{m({modifiedType:"update",year:Number(s),month:u,date:n})},rightIcon:a(w,{right:"1/3",children:a(T.AngleDown,{})})}),a(M,{override:"force",emptySelect:!1,value:u,options:(()=>{let s=[];for(let f=1;f<=12;f++)s.push({value:f,label:String(f)+"\u6708"});return s})(),fontSize:"1.mini",border:"1.thin",padding:["1/3","2/3"],paddingRight:1.5,SelectorStyles:{freeCSS:{minWidth:12*8}},rightIcon:a(w,{right:"1/3",children:a(T.AngleDown,{})}),onUpdateValidValue:s=>{m({modifiedType:"update",year:h,month:Number(s),date:n})}})]}),a(S.Variables.ShiftButtons,{callback:s=>{let f=u+s,d=h;f<=0&&(d--,f=12),f>12&&(d++,f=1),m({modifiedType:"update",year:d,month:f,date:i.date})}})]}),a(x,{borderTop:!0}),a(x,{children:S.Date.MonthCalendar({min:e,max:o,year:i.year,month:i.month,current:[i.year,i.month,i.date],callback:s=>{let[f,d,c]=s;m({modifiedType:"update",year:f,month:d,date:c})}})}),a(S.Variables.Footer,{sheetID:t,set_confirmed:r.set_confirmed,onValueUpdate:l})]})},MonthCalendar:r=>{let{min:e,max:o,year:l,month:t,current:i,callback:m}=r,h=C(),u=C([l,t.zeroEmbed(2),"01"].join("/")),n=u.getLastDayOfMonth(),s=C(u).addMonth(-1).getLastDayOfMonth().date,f=[],d=[],c=[],k=[],R={padding:0,unitWidth:3,unitHeight:3,flexCenter:!0,borderRadius:"3.tone.tertiary"};for(var g=0;g<7;g++)f.push(a(x,D(p({className:[b("CalendarDay"),b("Legend")].join(" ")},R),{children:["\u65E5","\u6708","\u706B","\u6C34","\u6728","\u91D1","\u571F"][g]}),g));for(var g=0;g<u.weekday;g++)d.unshift(q(x,D(p({className:[b("CalendarDay"),b("Dummy")].join(" "),fontColor:"4.thin"},R),{key:g}),s-g));for(var g=1;g<=n.date;g++){let E=g,O=l==h.year&&t==h.month&&g==h.date,P=!1;{let z=Number(String([l,t.zeroEmbed(2),g.zeroEmbed(2)].join("/")).replace(/\D/ig,""));if(r.min&&Number(String(r.min).replace(/\D/ig,""))>z&&(P=!0),r.max){let U=Number(String(r.max).replace(/\D/ig,""));z>U&&(P=!0)}}c.push(a(v.Clear,D(p({className:[b("CalendarDay"),b("isToday_"+O)].join(" ")},R),{fontColor:"1.clear",padding:0,flexCenter:!0,isRounded:!0,ssEffectsOnActive:"shrink",onClick:()=>{m([l,t,E])},tabIndex:-1,isLocked:P,children:g}),E))}for(var g=1;g<7-n.weekday;g++)k.push(a(x,D(p({className:[b("CalendarDay"),b("Dummy")].join(" "),fontColor:"4.thin"},R),{children:g}),g));return y(A,{gridCols:7,gap:"1/6",children:[f,d,c,k]})}},Month:{index:r=>{let{min:e,max:o,onValueUpdate:l,sheetID:t,val_value:i,set_value:m}=r,{year:h,month:u}=i;return y(N,{padding:1,children:[y(I.Separate,{gap:0,children:[a(I.Center,{verticalAlign:"bottom",gap:"2/3",children:a(M,{emptySelect:!1,value:h,options:W(),override:"force",border:"1.thin",padding:["1/3","2/3"],paddingRight:1.5,SelectorStyles:{freeCSS:{minWidth:12*12}},rightIcon:a(w,{right:"1/3",children:a(T.AngleDown,{})}),onUpdateValidValue:n=>{m({modifiedType:"update",year:Number(n),month:u})}})}),a(S.Variables.ShiftButtons,{callback:n=>{let s=Math.min(Math.max(h+n,1900),2100);m({modifiedType:"update",year:s,month:u})}})]}),a(x,{borderTop:!0}),S.Month.Months({min:e,max:o,year:i.year,callback:n=>{let[s,f]=n;m({modifiedType:"update",year:s,month:f})}}),a(S.Variables.Footer,{sheetID:t,set_confirmed:r.set_confirmed,onValueUpdate:l})]})},Months:r=>{let{year:e,callback:o}=r,l=C(),t=[];for(let i=1;i<=12;i++){let m=e==l.year&&i==l.month,h=!1;{let n=Number(String([e,i.zeroEmbed(2)].join("/")).replace(/\D/ig,""));if(r.min&&Number(String(r.min).replace(/\D/ig,""))>n&&(h=!0),r.max){let s=Number(String(r.max).replace(/\D/ig,""));n>s&&(h=!0)}}let u=[b("Cell"),m?b("isThisMonth"):""].join(" ");t.push(y(v.Clear,{className:u,isLocked:h,fontColor:"2.normal",padding:["1/3",1],ssEffectsOnActive:"shrink",onClick:()=>{o([e,i])},children:[i," \u6708"]},e+"-"+i))}return a(A,{gridCols:4,gap:"2/3",children:t})}},Year:{index:r=>{let{min:e,max:o,onValueUpdate:l,sheetID:t,val_value:i,set_value:m}=r,{year:h}=i;return y(N,{padding:1,children:[a(M,{emptySelect:!1,paddingRight:1.5,fontSize:"1.mini",value:h||C().year,override:"force",SelectorStyles:{freeCSS:{minWidth:12*12}},options:W({min:e,max:o}),onUpdateValidValue:u=>{m({modifiedType:"update",year:Number(u)})}}),a(S.Variables.Footer,{sheetID:t,set_confirmed:r.set_confirmed,onValueUpdate:l,onSubmit:()=>{m({modifiedType:"update",year:Number(h||C().year)})}})]})}},DateWareki:{index:r=>{let{min:e,max:o,onValueUpdate:l,sheetID:t,val_value:i,set_value:m}=r,{era:h,year:u,month:n,date:s}=i,f={val_value:i,set_value:m};return y(x,{children:[y(I.Left,{borderBottom:!0,gap:0,verticalAlign:"unset",children:[a(S.DateWareki.EraSelect,p({},f)),a(x,{borderRight:!0}),a(S.DateWareki.Calendar,p({},f))]}),a(I.Right,{padding:1,children:a(S.Variables.Footer,{sheetID:t,set_confirmed:r.set_confirmed,onValueUpdate:l})})]})},EraSelect:r=>{let{val_value:e,set_value:o}=r,l={padding:["1/2",1.5],fontColor:"3.blur"},t={backgroundColor:"cloud",fontColor:"2.normal",isSemiBoldFont:!0};return y(N,{padding:1,gap:0,children:[a(v.Clear,D(p({color:"cloud"},l),{isActiveStyles:t,isActive:e.era=="year",onClick:()=>{let i=C();o({modifiedType:"update",era:"year",year:i.year,month:i.month,date:i.date})},children:"\u897F\u66A6"})),a(v.Clear,D(p({color:"cloud"},l),{isActiveStyles:t,isActive:e.era=="reiwa",onClick:()=>{let i=C();o({modifiedType:"update",era:"reiwa",year:i.year,month:i.month,date:i.date})},children:"\u4EE4\u548C"})),a(v.Clear,D(p({color:"cloud"},l),{isActiveStyles:t,isActive:e.era=="heisei",onClick:()=>{o({modifiedType:"update",era:"heisei",year:2019,month:1,date:1})},children:"\u5E73\u6210"})),a(v.Clear,D(p({color:"cloud"},l),{isActiveStyles:t,isActive:e.era=="shouwa",onClick:()=>{o({modifiedType:"update",era:"shouwa",year:1989,month:1,date:1})},children:"\u662D\u548C"})),a(v.Clear,D(p({color:"cloud"},l),{isActiveStyles:t,isActive:e.era=="taisho",onClick:()=>{o({modifiedType:"update",era:"taisho",year:1926,month:1,date:1})},children:"\u5927\u6B63"})),a(v.Clear,D(p({color:"cloud"},l),{isActiveStyles:t,isActive:e.era=="meiji",onClick:()=>{o({modifiedType:"update",era:"meiji",year:1912,month:1,date:1})},children:"\u660E\u6CBB"}))]})},Calendar:r=>{let{val_value:e,set_value:o}=r,l=[];if(e.era=="year"){let t=C().year+10;for(let i=1900;i<t;i++)l.unshift({value:i,label:i+"\u5E74"})}else if(e.era=="reiwa"){let t=C().year-2018;for(let i=1;i<=t+10;i++)l.unshift({value:2019+i-1,label:"\u4EE4\u548C"+(i==1?"\u5143":i)+"\u5E74"})}else if(e.era=="heisei")for(let t=1;t<=31;t++)l.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++)l.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++)l.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++)l.unshift({value:1868+t-1,label:"\u660E\u6CBB"+(t==1?"\u5143":t)+"\u5E74"});return y(N,{padding:1,children:[y(I.Separate,{children:[a(M,{emptySelect:!1,override:"force",border:"1.thin",padding:["1/3","2/3"],paddingRight:1.5,fontSize:"1.mini",SelectorStyles:{freeCSS:{minWidth:12*12}},rightIcon:a(w,{right:"1/3",children:a(T.AngleDown,{})}),options:l,value:e.year,onUpdateValidValue:t=>{o(i=>D(p({},i),{modifiedType:"update",year:Number(t)}))}}),y(I.Center,{gap:"1/3",children:[a(M,{emptySelect:!1,override:"force",border:"1.thin",padding:["1/3","2/3"],paddingRight:1.5,fontSize:"1.mini",SelectorStyles:{freeCSS:{minWidth:12*9}},rightIcon:a(w,{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=>{o({modifiedType:"update",era:e.era,year:e.year,month:Number(t),date:1})}}),a(v.Clear.S,{ssSphere:2.5,onClick:()=>{let t=e.month-1;o({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(v.Clear.S,{ssSphere:2.5,onClick:()=>{let t=e.month+1;o({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(S.DateWareki.MonthCell,p({},r))]},e.era)},MonthCell:r=>{let{val_value:e,set_value:o}=r,l=C([e.year.zeroEmbed(4),e.month.zeroEmbed(2),e.date.zeroEmbed(2)].join("/"));if(!l.validate)return;let t=l.getFirstDayOfMonth().weekday,i=l.getLastDayOfMonth(),m=[];for(let u=0;u<7;u++)m.push(a(X.Supplement,{flexCenter:!0,fontColor:u==0?"googleRed":u==6?"googleBlue":"3.blur",children:V.transformer.weekday.shortJP(u)},"legend-"+u));for(let u=0;u<t;u++){let n=C(l).getFirstDayOfMonth().addDate(u-t);m.push(a(v.Sub,{color:"cloud",ssSquare:3,opacity:"middle",onClick:s=>{s.preventDefault(),s.stopPropagation(),o({modifiedType:"update",era:e.era,year:n.year,month:n.month,date:n.date})},children:n.date},"lastMonth-"+u))}let h=C();for(let u=1;u<=i.date;u++){let n=C(l).setDate(u),s=h.diff(n).dates==0;m.push(a(v.Clear,{ssSquare:3,fontColor:"2.normal",className:[b("CalendarDay"),b("isToday_"+s)].join(" "),onClick:()=>{o({modifiedType:"update",era:e.era,year:n.year,month:n.month,date:n.date})},children:n.date},"currentMonth-"+u))}for(let u=0;u<7-i.weekday-1;u++){let n=C(l).addMonth(1).setDate(1).addDate(u);m.push(a(v.Sub,{color:"cloud",ssSquare:3,opacity:"middle",onClick:s=>{s.preventDefault(),s.stopPropagation(),o({modifiedType:"update",era:e.era,year:n.year,month:n.month,date:n.date})},children:n.date},"nextMonth-"+u))}return a(A,{gridCols:7,gap:"1/4",children:m})}},Variables:{Footer:r=>y(_,{flexWrap:!1,gap:1,flexChilds:"even",freeCSS:{whiteSpace:"nowrap"},children:[y(v.Sub.S,{color:"cloud",tabIndex:-1,isRounded:!0,onClick:()=>{r.onValueUpdate(""),r.set_confirmed(!0),L.close(r.sheetID)},flexSizing:"none",children:[a(T.X,{})," \u524A\u9664"]}),a(v.Prime.S,{tabIndex:-1,isRounded:!0,flexSizing:"auto",freeCSS:{minWidth:12*6},onClick:()=>{r.set_confirmed(!0),r.onSubmit&&r.onSubmit(),L.close(r.sheetID)},children:"\u6C7A\u5B9A"})]}),ShiftButtons:r=>y(_,{gap:"1/3",flexWrap:!1,children:[a(v.Clear,D(p({className:b("LeftButton"),tabIndex:-1,right:0},S.Variables.ShiftButtonStyles),{onClick:()=>{r.callback(-1)},children:a(T.ChevronLeft,{})})),a(v.Clear,D(p({className:b("RightButton"),tabIndex:-1,left:0},S.Variables.ShiftButtonStyles),{onClick:()=>{r.callback(1)},children:a(T.ChevronRight,{})}))]}),ShiftButtonStyles:{position:"relative",flexCenter:!0,ssSphere:2.5}}};export{Y as Picker,Y as default};
@@ -1 +1 @@
1
- import{a as ie,b as s,c as k,d as K}from"../../../chunk-C5N2D3ZX.js";import{Fragment as Ae,jsx as h,jsxs as se}from"react/jsx-runtime";import ee,{UUID as F,useStore as B}from"jmini";import*as X from"jmini";import{useState as O,useEffect as z,useRef as ue}from"react";import{$$fromRoot as de,Config as ne,ExtractStyles as fe}from"../../../@utils";import{Box as H,FAI as he}from"../../../atoms";import{Literal as ge,Row as ye}from"../../../mols";import{Button as oe}from"../../Button";import ve from"../../Tooltips";import Ie from"../../Sheet";import{faClock as Se}from"@fortawesome/free-solid-svg-icons/faClock";import{faCalendarAlt as Te}from"@fortawesome/free-solid-svg-icons/faCalendarAlt";import{OptionalInputWrapper as De,BoxWrapper as be,CoreEffects as Y,DefaultBoxishStyles as xe}from"../core";import{RightIcon as ke}from"..";import Ee from"../Select";import{InputLabel as we}from"../Label";import Ve from"./Picker";const P=" ~ ",Re={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+P.length,length:4},{type:"month",from:15+P.length,length:2},{type:"date",from:18+P.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+P.length,length:4},{type:"month",from:13+P.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}},M={PeriodMargin:" ~ ",DataLeveling:e=>{let{restrict:r,value:g,era:i}=e,f=ee.flatArray(g||""),{defaultValue:E,format:v,ranges:o,sets:a}=Re[r],S=[],n=r=="clock"&&":"||"/";for(let t=0;t<f.length;t++)f[t]=String(f[t]).replace(/\D/ig,n);for(let t=0;t<a;t++){let p=f[t]||"";if(!p.match(v))f[t]="",S.push(E);else{let T=E;p.split(/\D/).forEach((x,w)=>{if(w==0&&r=="dateWareki"){let I=Number(x);i!="year"&&(I>=2019?i=="reiwa"?I-=2018:i=="heisei"&&(I=31):I>=1989?i=="heisei"?I-=1988:i=="shouwa"&&(I=64):I>=1926?i=="shouwa"?I-=1925:i=="taisho"&&(I=15):I>=1912?i=="taisho"?I-=1911:i=="meiji"&&(I=45):I>=1868&&(I-=1867)),x=I.zeroEmbed(4)}T=T.replace(new RegExp("------------------".slice(0,x.length)),x)}),S.push(T)}}return{formatValue:S.join(P),dataValue:["dates","months"].includes(r)?f:f[0],ranges:o}},SystemValidation:e=>{let{states:r}=e,{restrict:g,min:i,max:f,required:E}=r,v=[],o=ee.flatArray(e.value),a={empty:!1,escalated:1,filled:!0,correct:!0,prohibited:!1};(()=>{let S=g=="clock"&&":"||"/";for(let n=0;n<o.length;n++)o[n]=String(o[n]).replace(/\D/ig,S);for(let n=0;n<o.length;n++){let t=o[n],p=o[n-1];t.removeLetters()||(a.empty=!0),n>0&&(a.escalated&=+(t>=p))}a.escalated&&(a.empty||(g.match(/clock/)?o.forEach(n=>{let[t,p]=n.split(/\D+/);!t||!p?a.filled=!1:(Number(t)>23||Number(p)>59)&&(a.correct=!1)}):g.match(/date/)?o.forEach(n=>{let[t,p,T]=n.split(/\D+/);if(!t||!p||!T)a.filled=!1;else{let x=X.Time(n);(!x.validate||n!=x.toFormatYMD())&&(a.correct=!1)}}):g.match(/week/)?o.forEach(n=>{let[t,p]=n.split(/\D+/);if(!t||!p)a.filled=!1;else{let T=X.Time(t+"/01/01").weekday,w=X.Time(t+"/01/0"+(7-T+1)).addWeek(Number(p)-1);t!=String(w.year)&&(a.correct=!1)}}):g.match(/month/)?o.forEach(n=>{let[t,p]=n.split(/\D+/);!t||!p?a.filled=!1:X.Time([t,p,"01"].join("/")).validate||(a.correct=!1)}):g.match(/year/),a.filled&&a.correct&&o.forEach(n=>{{let t=Number(String(n).replace(/\D/ig,""));if(i&&Number(String(i).replace(/\D/ig,""))>t&&(a.prohibited=!0),f){let p=Number(String(f).replace(/\D/ig,""));t>p&&(a.prohibited=!0)}}})))})();{let{empty:S,escalated:n,filled:t,correct:p,prohibited:T}=a;S&&E&&(v=[{type:"invalid",label:"\u5FC5\u9808\u9805\u76EE\u3067\u3059"}]),n||v.push({type:"invalid",label:"\u6642\u7CFB\u5217\u3092\u6B63\u3057\u304F\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044"}),p||v.push({type:"invalid",label:"\u7121\u52B9\u306A\u5024\u304C\u5165\u529B\u3055\u308C\u3066\u3044\u307E\u3059"}),t||v.push({type:"invalid",label:"\u6700\u5F8C\u307E\u3067\u5024\u3092\u57CB\u3081\u3066\u304F\u3060\u3055\u3044"}),T&&v.push({type:"invalid",label:se(Ae,{children:[h(H,{children:"\u5165\u529B\u7BC4\u56F2\u304C\u5236\u9650\u3055\u308C\u3066\u3044\u307E\u3059"}),"[",i||"\u4E0B\u9650\u7121\u3057","] ~ [",f||"\u4E0A\u9650\u7121\u3057","]"]})})}return{ok:!v.filter(({type:S})=>S=="invalid").length,notice:v}},KeyDownEvent:e=>{let{val_era:r,restrict:g,event:i,val_status:f,set_status:E,val_focus:v,set_focus:o}=e,{key:a,shiftKey:S,ctrlKey:n,metaKey:t}=i,p=n||t,{selectionStart:T,selectionEnd:x}=i.target,{index:w,prevIndex:I}=v,{ranges:q,formatValue:G}=f,V=q.length-1;if(["Tab","ArrowLeft","ArrowRight"].includes(a)){let y=0;if(a=="Tab"){let m=+!S*2-1;if(y=v.index+m,y<0||y>V)return}else{let m=a=="ArrowLeft"?-1:a=="ArrowRight"?1:0;p||T==0&&x==String(f.formatValue).length?y=m==1?V:0:y=Math.max(0,Math.min(w+m,V))}o(m=>k(s({},m),{index:y,prevIndex:w})),i.preventDefault()}if(["Backspace","ArrowUp","ArrowDown","0","1","2","3","4","5","6","7","8","9"].includes(a)){i.preventDefault();let y=w;y=Math.max(y,0),y=Math.min(y,V);let{type:m,from:U,length:Q}=q[y],L=G.slice(U,U+Q),D;if(a=="Backspace")D="------".slice(0,Q);else if(["ArrowUp","ArrowDown"].includes(a)){let R=a=="ArrowUp"?1:-1;L=L|0,D=L+R;let[u,d,l]=m=="dateWareki"?r=="year"?[0,2999,4]:r=="reiwa"?[1,2999,4]:r=="heisei"?[1,31,4]:r=="shouwa"?[1,64,4]:r=="taisho"?[1,15,4]:r=="meiji"?[1,45,4]:[0,0,0]:m=="minute"?[0,59,2]:m=="hour"?[0,23,2]:m=="date"?[1,31,2]:m=="week"?[1,53,2]:m=="month"?[1,12,2]:m=="year"?[0,2999,4]:[0,0,0];D>d?D=u:D<u&&(D=d),D=Number(D).zeroEmbed(l)}else if(["0","1","2","3","4","5","6","7","8","9"].includes(a)){let R=L|0,u=a,d=`${R}${u}`;if(I!=w&&(R=0,d="0"+u),m=="year"||m=="dateWareki"&&r=="year")Number(d)>1e4?D=u:D=d,(D|0)>1e3&&y++;else if(["hour","minute","date","week","month"].includes(m)||m=="dateWareki"&&r!="year"){let l=m=="dateWareki"?r=="reiwa"?100:r=="heisei"?31:r=="shouwa"?64:r=="taisho"?15:r=="meiji"?45:0:m=="minute"?59:m=="hour"?23:m=="date"?31:m=="week"?53:m=="month"?12:0;D=(d|0)>l?u:d,(Number(u)>Number(String(l)[0])||L=="0000".slice(0,String(l).length)&&(d!="0000".slice(0,String(l).length)||["minute","hour"].includes(m)&&I==w)||(d|0)>=ie(10,String(l).length-1))&&y++}m=="year"||m=="dateWareki"?D=(D|0).zeroEmbed(4):D=(D|0).zeroEmbed(2)}{let R=String(G).partReplace(U,String(D)),u=R.split(P).map(d=>d.replace(/(^\D|\D$)/,"").split(/\D+/).join(g=="clock"&&":"||"/").replace(/(^\D|\D$)/,""));if(g=="dateWareki"){let d=u[0].split(/\D/),[l,_,N]=d;d.length==3&&l&&(u=[[Number(l)-1+Number({year:1,reiwa:2019,heisei:1989,shouwa:1926,taisho:1912,meiji:1868}[r]),_,N].join("/")])}y=Math.max(y,0),y=Math.min(y,V),E(d=>k(s({},d),{dataValue:["dates","months"].includes(g)?u:u[0],formatValue:R,eventType:"update",eventID:F()})),o(d=>k(s({},d),{index:y,prevIndex:d.index}))}}}},le={picker:{launch:e=>{let r=e.sheetID||F(),p=e,{onValueUpdate:g,min:i,max:f,era:E,restrict:v,defaultValue:o}=p,a=K(p,["onValueUpdate","min","max","era","restrict","defaultValue"]),S=!1,n=null,t=null;Ie.open("middleCenter",k(s({sheetID:r,size:"S",padding:0,closeAtAroundClick:!0,closeAtParentBlur:!1,onClose:()=>{S&&g(n,t,!0)}},a),{content:h(ye.Center,{children:h(Ve,{restrict:v,min:i,max:f,era:E,defaultValue:o,sheetID:r,onValueUpdate:(T,x,w)=>{g(T,x,w),S=!w,n=T,t=x}})})}))},remove:e=>{ve.close(e)}}},_e={Shallow:e=>{let{rootStates:r,val_status:g}=e,i=fe(r);return h(H,{position:"absolute",top:0,left:0,right:0,height:0,overflow:"hidden",opacity:"trans",freeCSS:{zIndex:3,pointerEvents:"none"},children:h(ge.Description,k(s({className:r.className},i),{position:"absolute",width:1,freeCSS:k(s({},i.freeCSS),{color:"orange"}),children:h(H,{"data-input-value-shallow":g.componentId,children:"A"})}))})}},Ce=e=>{let ae=e,{tone:r,required:g,restrict:i="clock",componentId:f,era:E,form:v,name:o,min:a,max:S,className:n,enableFormSubmit:t,checkValidationAtFirst:p,onKeyDown:T,onValidate:x,onValidateDelay:w,onUpdateValue:I,onUpdateValidValue:q,onUserAction:G,value:V="",leftIndicator:y,rightIndicator:m,leftIcon:U,rightIcon:Q,freeCSS:L,wrapStyles:D}=ae,R=K(ae,["tone","required","restrict","componentId","era","form","name","min","max","className","enableFormSubmit","checkValidationAtFirst","onKeyDown","onValidate","onValidateDelay","onUpdateValue","onUpdateValidValue","onUserAction","value","leftIndicator","rightIndicator","leftIcon","rightIcon","freeCSS","wrapStyles"]),[u,d]=O(E),[l,_]=O(k(s({componentId:e.componentId||""},M.DataLeveling({restrict:i,value:V,era:u})),{ranges:[],eventType:"init",eventID:F()})),[N,Z]=O({ok:!1,notice:[]}),[j,J]=O({active:!1,index:0,prevIndex:-1}),me={rootStates:e,val_status:l,set_status:_,val_validate:N,set_validate:Z,val_era:u,set_era:d,val_focus:j,set_focus:J};Y.CommonEffects({type:"time",states:e,val_status:l,set_status:_,val_validate:N,set_validate:Z,SystemValidation:M.SystemValidation,ExtraOverrideStates:()=>M.DataLeveling({restrict:i,value:V,era:u})}),z(()=>{_(c=>s(s({},c),M.DataLeveling({restrict:i,value:V,era:u})))},[]);const te=ue(!1);return z(()=>{if(te.current){_(b=>s(s({},b),M.DataLeveling({restrict:i,value:b.dataValue,era:u})));let c=B.get("refreshEra_"+l.componentId);c&&c.refreshEra(u)}else te.current=!0},[u]),B.update({[l.componentId]:{openPicker:c=>{e.disabled||le.picker.launch({parent:c,sheetID:"PickerTips-"+l.componentId,restrict:i,min:a,max:S,defaultValue:l.dataValue,era:u,onValueUpdate:(b,A,W)=>{W&&(_($=>k(s(s({},$),M.DataLeveling({restrict:i,value:b,era:A})),{eventType:"update",eventID:F()})),d(A))}})},resetEra:c=>{d(c),_(b=>k(s(s({},b),M.DataLeveling({restrict:i,value:"",era:u})),{eventType:"update",eventID:F()}))}}}),z(()=>{let{index:c,active:b}=j;if(b){c=Math.max(c,0),c=Math.min(c,l.ranges.length-1);let{from:A,length:W}=l.ranges[c],$=de("#"+e.id)[0];$&&$.setSelectionRange(A,A+W)}},[j]),se(be,{val_status:l,set_status:_,val_validate:N,states:e,children:[h(_e.Shallow,s({},me)),h(we,{componentId:e.componentId,fontSize:e.fontSize,required:e.required,label:e.label,isActive:!0}),ne.get().isTouchDevice?h(oe.Plain,k(s({"data-show-validation":Y.isShowValidation(N,l,!!p),"data-component-id":l.componentId,"data-input-origin":l.componentId,"data-disabled":e.disabled,className:n,freeCSS:{textAlign:"left"}},R),{children:l.formatValue,onClick:c=>{let b=B.get(l.componentId);b&&b.openPicker(`[data-input-origin="${l.componentId}"]`),c.stopPropagation()}})):h(H,s({htmlTag:"input",type:"text",inputMode:"numeric","data-show-validation":Y.isShowValidation(N,l,!!p),"data-input-origin":l.componentId,"data-disabled":e.disabled,value:l.formatValue,className:n,tabIndex:ne.get().isTouchDevice?-1:0,onKeyDown:c=>{M.KeyDownEvent({restrict:i,event:c,val_era:u,val_status:l,set_status:_,val_focus:j,set_focus:J}),T&&T(c),t&&Y.SubmitForm(c,v)},onKeyUp:c=>{c.key=="Tab"&&J(b=>k(s({},b),{active:!0}))},onClick:c=>{let b=c.target.selectionEnd,A=0;l.ranges.forEach((W,$)=>{let{from:re,length:pe,region:ce}=W;re<=b&&b<=re+(ce||pe)&&(A=$)}),J(W=>k(s({},W),{active:!0,index:A})),c.preventDefault()},onChange:()=>{}},R))]})},C={Origin:e=>{let r=s({fontSize:"inherit",width:1,value:""},e),[g]=O(e.componentId||F());if(r.componentId=g,ee.is.nullish(r.rightIcon)){let i=(e.restrict||"").match(/clock/)?Se:Te;r.rightIcon=h(ke,{ssSphere:2,freeCSS:{pointerEvents:"all"},children:h(oe.Sub,{color:"cloud",border:"unset",ssSphere:2,fontColor:"theme",boxShadow:"0.normal",borderRadius:"3.tone.tertiary",flexCenter:!0,ssEffectsOnActive:"push",tabIndex:-1,id:"Picker-"+r.componentId,onClick:()=>{let f=B.get(r.componentId);f&&f.openPicker("#Picker-"+r.componentId)},children:h(he,{icon:i})})})}return h(De,{componentId:r.componentId,children:Ce,states:xe(r)})},Clock:e=>h(C.Origin,s({restrict:"clock",era:"clock"},e)),Date:e=>h(C.Origin,s({restrict:"date"},e)),Week:e=>h(C.Origin,s({restrict:"week"},e)),Month:e=>h(C.Origin,s({restrict:"month"},e)),Year:e=>h(C.Origin,s({restrict:"year"},e)),DateWareki:e=>{e=s({},e);let[r]=O(e.componentId||F());e.componentId=r;let v=e,{defaultEra:g="wareki"}=v,i=K(v,["defaultEra"]),[f,E]=O((()=>{let o="year";if(g=="wareki"&&(o="reiwa",e.value)){let[a,S,n]=e.value.split(/\D/);if(a&&S&&n){let t=Number(a);t>=2019?(t-=2019,o="reiwa"):t>=1989?(t-=1989,o="heisei"):t>=1926?(t-=1926,o="shouwa"):t>=1912?(t-=1912,o="taisho"):t>=1868&&(t-=1868,o="meiji"),t+=1}}return o})());return z(()=>{B.set({["refreshEra_"+r]:{refreshEra:o=>{E(o)}}})},[]),h(C.Origin,k(s({restrict:"dateWareki",leftIndicator:h(Ee,{label:"\u5143\u53F7",emptySelect:!1,value:f,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:o=>{E(o);let a=B.get(e.componentId);a&&a.resetEra&&a.resetEra(o)}})},i),{era:f}))},Periods:{Date:e=>h(C.Origin,s({restrict:"dates"},e)),Month:e=>h(C.Origin,s({restrict:"months"},e))},fn:le};export{C as Time,C as default};
1
+ import{a as ie,b as s,c as k,d as K}from"../../../chunk-C5N2D3ZX.js";import{Fragment as Ae,jsx as h,jsxs as se}from"react/jsx-runtime";import ee,{UUID as F,useStore as B}from"jmini";import*as X from"jmini";import{useState as O,useEffect as z,useRef as ue}from"react";import{$$fromRoot as de,Config as ne,ExtractStyles as fe}from"../../../@utils";import{Box as H,FAI as he}from"../../../atoms";import{Literal as ge,Row as ye}from"../../../mols";import{Button as oe}from"../../Button";import ve from"../../Tooltips";import Ie from"../../Sheet";import{faClock as Se}from"@fortawesome/free-solid-svg-icons/faClock";import{faCalendarAlt as Te}from"@fortawesome/free-solid-svg-icons/faCalendarAlt";import{OptionalInputWrapper as De,BoxWrapper as be,CoreEffects as Y,DefaultBoxishStyles as xe}from"../core";import{RightIcon as ke}from"..";import Ee from"../Select";import{InputLabel as we}from"../Label";import Ve from"./Picker";const P=" ~ ",Re={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+P.length,length:4},{type:"month",from:15+P.length,length:2},{type:"date",from:18+P.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+P.length,length:4},{type:"month",from:13+P.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}},M={PeriodMargin:" ~ ",DataLeveling:e=>{let{restrict:a,value:g,era:i}=e,f=ee.flatArray(g||""),{defaultValue:E,format:v,ranges:o,sets:r}=Re[a],S=[],n=a=="clock"&&":"||"/";for(let t=0;t<f.length;t++)f[t]=String(f[t]).replace(/\D/ig,n);for(let t=0;t<r;t++){let p=f[t]||"";if(!p.match(v))f[t]="",S.push(E);else{let T=E;p.split(/\D/).forEach((x,w)=>{if(w==0&&a=="dateWareki"){let I=Number(x);i!="year"&&(I>=2019?i=="reiwa"?I-=2018:i=="heisei"&&(I=31):I>=1989?i=="heisei"?I-=1988:i=="shouwa"&&(I=64):I>=1926?i=="shouwa"?I-=1925:i=="taisho"&&(I=15):I>=1912?i=="taisho"?I-=1911:i=="meiji"&&(I=45):I>=1868&&(I-=1867)),x=I.zeroEmbed(4)}T=T.replace(new RegExp("------------------".slice(0,x.length)),x)}),S.push(T)}}return{formatValue:S.join(P),dataValue:["dates","months"].includes(a)?f:f[0],ranges:o}},SystemValidation:e=>{let{states:a}=e,{restrict:g,min:i,max:f,required:E}=a,v=[],o=ee.flatArray(e.value),r={empty:!1,escalated:1,filled:!0,correct:!0,prohibited:!1};(()=>{let S=g=="clock"&&":"||"/";for(let n=0;n<o.length;n++)o[n]=String(o[n]).replace(/\D/ig,S);for(let n=0;n<o.length;n++){let t=o[n],p=o[n-1];t.removeLetters()||(r.empty=!0),n>0&&(r.escalated&=+(t>=p))}r.escalated&&(r.empty||(g.match(/clock/)?o.forEach(n=>{let[t,p]=n.split(/\D+/);!t||!p?r.filled=!1:(Number(t)>23||Number(p)>59)&&(r.correct=!1)}):g.match(/date/)?o.forEach(n=>{let[t,p,T]=n.split(/\D+/);if(!t||!p||!T)r.filled=!1;else{let x=X.Time(n);(!x.validate||n!=x.toFormatYMD())&&(r.correct=!1)}}):g.match(/week/)?o.forEach(n=>{let[t,p]=n.split(/\D+/);if(!t||!p)r.filled=!1;else{let T=X.Time(t+"/01/01").weekday,w=X.Time(t+"/01/0"+(7-T+1)).addWeek(Number(p)-1);t!=String(w.year)&&(r.correct=!1)}}):g.match(/month/)?o.forEach(n=>{let[t,p]=n.split(/\D+/);!t||!p?r.filled=!1:X.Time([t,p,"01"].join("/")).validate||(r.correct=!1)}):g.match(/year/),r.filled&&r.correct&&o.forEach(n=>{{let t=Number(String(n).replace(/\D/ig,""));if(i&&Number(String(i).replace(/\D/ig,""))>t&&(r.prohibited=!0),f){let p=Number(String(f).replace(/\D/ig,""));t>p&&(r.prohibited=!0)}}})))})();{let{empty:S,escalated:n,filled:t,correct:p,prohibited:T}=r;S&&E&&(v=[{type:"invalid",label:"\u5FC5\u9808\u9805\u76EE\u3067\u3059"}]),n||v.push({type:"invalid",label:"\u6642\u7CFB\u5217\u3092\u6B63\u3057\u304F\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044"}),p||v.push({type:"invalid",label:"\u7121\u52B9\u306A\u5024\u304C\u5165\u529B\u3055\u308C\u3066\u3044\u307E\u3059"}),t||v.push({type:"invalid",label:"\u6700\u5F8C\u307E\u3067\u5024\u3092\u57CB\u3081\u3066\u304F\u3060\u3055\u3044"}),T&&v.push({type:"invalid",label:se(Ae,{children:[h(H,{children:"\u5165\u529B\u7BC4\u56F2\u304C\u5236\u9650\u3055\u308C\u3066\u3044\u307E\u3059"}),"[",i||"\u4E0B\u9650\u7121\u3057","] ~ [",f||"\u4E0A\u9650\u7121\u3057","]"]})})}return{ok:!v.filter(({type:S})=>S=="invalid").length,notice:v}},KeyDownEvent:e=>{let{val_era:a,restrict:g,event:i,val_status:f,set_status:E,val_focus:v,set_focus:o}=e,{key:r,shiftKey:S,ctrlKey:n,metaKey:t}=i,p=n||t,{selectionStart:T,selectionEnd:x}=i.target,{index:w,prevIndex:I}=v,{ranges:q,formatValue:G}=f,V=q.length-1;if(["Tab","ArrowLeft","ArrowRight"].includes(r)){let y=0;if(r=="Tab"){let m=+!S*2-1;if(y=v.index+m,y<0||y>V)return}else{let m=r=="ArrowLeft"?-1:r=="ArrowRight"?1:0;p||T==0&&x==String(f.formatValue).length?y=m==1?V:0:y=Math.max(0,Math.min(w+m,V))}o(m=>k(s({},m),{index:y,prevIndex:w})),i.preventDefault()}if(["Backspace","ArrowUp","ArrowDown","0","1","2","3","4","5","6","7","8","9"].includes(r)){i.preventDefault();let y=w;y=Math.max(y,0),y=Math.min(y,V);let{type:m,from:U,length:Q}=q[y],L=G.slice(U,U+Q),D;if(r=="Backspace")D="------".slice(0,Q);else if(["ArrowUp","ArrowDown"].includes(r)){let R=r=="ArrowUp"?1:-1;L=L|0,D=L+R;let[u,d,l]=m=="dateWareki"?a=="year"?[0,2999,4]:a=="reiwa"?[1,2999,4]:a=="heisei"?[1,31,4]:a=="shouwa"?[1,64,4]:a=="taisho"?[1,15,4]:a=="meiji"?[1,45,4]:[0,0,0]:m=="minute"?[0,59,2]:m=="hour"?[0,23,2]:m=="date"?[1,31,2]:m=="week"?[1,53,2]:m=="month"?[1,12,2]:m=="year"?[0,2999,4]:[0,0,0];D>d?D=u:D<u&&(D=d),D=Number(D).zeroEmbed(l)}else if(["0","1","2","3","4","5","6","7","8","9"].includes(r)){let R=L|0,u=r,d=`${R}${u}`;if(I!=w&&(R=0,d="0"+u),m=="year"||m=="dateWareki"&&a=="year")Number(d)>1e4?D=u:D=d,(D|0)>1e3&&y++;else if(["hour","minute","date","week","month"].includes(m)||m=="dateWareki"&&a!="year"){let l=m=="dateWareki"?a=="reiwa"?100:a=="heisei"?31:a=="shouwa"?64:a=="taisho"?15:a=="meiji"?45:0:m=="minute"?59:m=="hour"?23:m=="date"?31:m=="week"?53:m=="month"?12:0;D=(d|0)>l?u:d,(Number(u)>Number(String(l)[0])||L=="0000".slice(0,String(l).length)&&(d!="0000".slice(0,String(l).length)||["minute","hour"].includes(m)&&I==w)||(d|0)>=ie(10,String(l).length-1))&&y++}m=="year"||m=="dateWareki"?D=(D|0).zeroEmbed(4):D=(D|0).zeroEmbed(2)}{let R=String(G).partReplace(U,String(D)),u=R.split(P).map(d=>d.replace(/(^\D|\D$)/,"").split(/\D+/).join(g=="clock"&&":"||"/").replace(/(^\D|\D$)/,""));if(g=="dateWareki"){let d=u[0].split(/\D/),[l,_,N]=d;d.length==3&&l&&(u=[[Number(l)-1+Number({year:1,reiwa:2019,heisei:1989,shouwa:1926,taisho:1912,meiji:1868}[a]),_,N].join("/")])}y=Math.max(y,0),y=Math.min(y,V),E(d=>k(s({},d),{dataValue:["dates","months"].includes(g)?u:u[0],formatValue:R,eventType:"update",eventID:F()})),o(d=>k(s({},d),{index:y,prevIndex:d.index}))}}}},le={picker:{launch:e=>{let a=e.sheetID||F(),p=e,{onValueUpdate:g,min:i,max:f,era:E,restrict:v,defaultValue:o}=p,r=K(p,["onValueUpdate","min","max","era","restrict","defaultValue"]),S=!1,n=null,t=null;Ie.open("middleCenter",k(s({sheetID:a,size:"S",padding:0,closeAtAroundClick:!0,closeAtParentBlur:!1,onClose:()=>{S&&g(n,t,!0)}},r),{content:h(ye.Center,{children:h(Ve,{restrict:v,min:i,max:f,era:E,defaultValue:o,sheetID:a,onValueUpdate:(T,x,w)=>{g(T,x,w),S=!w,n=T,t=x}})})}))},remove:e=>{ve.close(e)}}},_e={Shallow:e=>{let{rootStates:a,val_status:g}=e,i=fe(a);return h(H,{position:"absolute",top:0,left:0,right:0,height:0,overflow:"hidden",opacity:"trans",freeCSS:{zIndex:3,pointerEvents:"none"},children:h(ge.Description,k(s({className:a.className},i),{position:"absolute",width:1,freeCSS:k(s({},i.freeCSS),{color:"orange"}),children:h(H,{"data-input-value-shallow":g.componentId,children:"A"})}))})}},Ce=e=>{let ae=e,{tone:a,required:g,restrict:i="clock",componentId:f,era:E,form:v,name:o,min:r,max:S,className:n,enableFormSubmit:t,checkValidationAtFirst:p,onKeyDown:T,onValidate:x,onValidateDelay:w,onUpdateValue:I,onUpdateValidValue:q,onUserAction:G,value:V="",leftIndicator:y,rightIndicator:m,leftIcon:U,rightIcon:Q,freeCSS:L,wrapStyles:D}=ae,R=K(ae,["tone","required","restrict","componentId","era","form","name","min","max","className","enableFormSubmit","checkValidationAtFirst","onKeyDown","onValidate","onValidateDelay","onUpdateValue","onUpdateValidValue","onUserAction","value","leftIndicator","rightIndicator","leftIcon","rightIcon","freeCSS","wrapStyles"]),[u,d]=O(E),[l,_]=O(k(s({componentId:e.componentId||""},M.DataLeveling({restrict:i,value:V,era:u})),{ranges:[],eventType:"init",eventID:F()})),[N,Z]=O({ok:!1,notice:[]}),[j,J]=O({active:!1,index:0,prevIndex:-1}),me={rootStates:e,val_status:l,set_status:_,val_validate:N,set_validate:Z,val_era:u,set_era:d,val_focus:j,set_focus:J};Y.CommonEffects({type:"time",states:e,val_status:l,set_status:_,val_validate:N,set_validate:Z,SystemValidation:M.SystemValidation,ExtraOverrideStates:()=>M.DataLeveling({restrict:i,value:V,era:u})}),z(()=>{_(c=>s(s({},c),M.DataLeveling({restrict:i,value:V,era:u})))},[]);const te=ue(!1);return z(()=>{if(te.current){_(b=>s(s({},b),M.DataLeveling({restrict:i,value:b.dataValue,era:u})));let c=B.get("refreshEra_"+l.componentId);c&&c.refreshEra(u)}else te.current=!0},[u]),B.update({[l.componentId]:{openPicker:c=>{e.disabled||le.picker.launch({parent:c,sheetID:"PickerTips-"+l.componentId,restrict:i,min:r,max:S,defaultValue:l.dataValue,era:u,onValueUpdate:(b,A,W)=>{W&&(_($=>k(s(s({},$),M.DataLeveling({restrict:i,value:b,era:A})),{eventType:"update",eventID:F()})),d(A))}})},resetEra:c=>{d(c),_(b=>k(s(s({},b),M.DataLeveling({restrict:i,value:"",era:u})),{eventType:"update",eventID:F()}))}}}),z(()=>{let{index:c,active:b}=j;if(b){c=Math.max(c,0),c=Math.min(c,l.ranges.length-1);let{from:A,length:W}=l.ranges[c],$=de("#"+e.id)[0];$&&$.setSelectionRange(A,A+W)}},[j]),se(be,{val_status:l,set_status:_,val_validate:N,states:e,children:[h(_e.Shallow,s({},me)),h(we,{componentId:e.componentId,fontSize:e.fontSize,required:e.required,label:e.label,isActive:!0}),ne.get().isTouchDevice?h(oe.Plain,k(s({"data-show-validation":Y.isShowValidation(N,l,!!p),"data-component-id":l.componentId,"data-input-origin":l.componentId,"data-disabled":e.disabled,className:n,freeCSS:{textAlign:"left"}},R),{children:l.formatValue,onClick:c=>{let b=B.get(l.componentId);b&&b.openPicker(`[data-input-origin="${l.componentId}"]`),c.stopPropagation()}})):h(H,s({htmlTag:"input",type:"text",inputMode:"numeric","data-show-validation":Y.isShowValidation(N,l,!!p),"data-input-origin":l.componentId,"data-disabled":e.disabled,value:l.formatValue,className:n,tabIndex:ne.get().isTouchDevice?-1:0,onKeyDown:c=>{M.KeyDownEvent({restrict:i,event:c,val_era:u,val_status:l,set_status:_,val_focus:j,set_focus:J}),T&&T(c),t&&Y.SubmitForm(c,v)},onKeyUp:c=>{c.key=="Tab"&&J(b=>k(s({},b),{active:!0}))},onClick:c=>{let b=c.target.selectionEnd,A=0;l.ranges.forEach((W,$)=>{let{from:re,length:pe,region:ce}=W;re<=b&&b<=re+(ce||pe)&&(A=$)}),J(W=>k(s({},W),{active:!0,index:A})),c.preventDefault()},onChange:()=>{}},R))]})},C={Origin:e=>{let a=s({fontSize:"inherit",width:1,value:""},e);a.value=a.value||"";let[g]=O(e.componentId||F());if(a.componentId=g,ee.is.nullish(a.rightIcon)){let i=(e.restrict||"").match(/clock/)?Se:Te;a.rightIcon=h(ke,{ssSphere:2,freeCSS:{pointerEvents:"all"},children:h(oe.Sub,{color:"cloud",border:"unset",ssSphere:2,fontColor:"theme",boxShadow:"0.normal",borderRadius:"3.tone.tertiary",flexCenter:!0,ssEffectsOnActive:"push",tabIndex:-1,id:"Picker-"+a.componentId,onClick:()=>{let f=B.get(a.componentId);f&&f.openPicker("#Picker-"+a.componentId)},children:h(he,{icon:i})})})}return h(De,{componentId:a.componentId,children:Ce,states:xe(a)})},Clock:e=>h(C.Origin,s({restrict:"clock",era:"clock"},e)),Date:e=>h(C.Origin,s({restrict:"date"},e)),Week:e=>h(C.Origin,s({restrict:"week"},e)),Month:e=>h(C.Origin,s({restrict:"month"},e)),Year:e=>h(C.Origin,s({restrict:"year"},e)),DateWareki:e=>{e=s({},e);let[a]=O(e.componentId||F());e.componentId=a;let v=e,{defaultEra:g="wareki"}=v,i=K(v,["defaultEra"]),[f,E]=O((()=>{let o="year";if(g=="wareki"&&(o="reiwa",e.value)){let[r,S,n]=e.value.split(/\D/);if(r&&S&&n){let t=Number(r);t>=2019?(t-=2019,o="reiwa"):t>=1989?(t-=1989,o="heisei"):t>=1926?(t-=1926,o="shouwa"):t>=1912?(t-=1912,o="taisho"):t>=1868&&(t-=1868,o="meiji"),t+=1}}return o})());return z(()=>{B.set({["refreshEra_"+a]:{refreshEra:o=>{E(o)}}})},[]),h(C.Origin,k(s({restrict:"dateWareki",leftIndicator:h(Ee,{label:"\u5143\u53F7",emptySelect:!1,value:f,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:o=>{E(o);let r=B.get(e.componentId);r&&r.resetEra&&r.resetEra(o)}})},i),{era:f}))},Periods:{Date:e=>h(C.Origin,s({restrict:"dates"},e)),Month:e=>h(C.Origin,s({restrict:"months"},e))},fn:le};export{C as Time,C as default};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "amotify",
3
- "version": "0.2.223",
3
+ "version": "0.2.225",
4
4
  "description": "UI Component for React,NextJS,esbuild",
5
5
  "scripts": {
6
6
  "start": "run-p clean build:*",