amotify 0.2.30 → 0.2.32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/demo/esbuild/public/index.js +91 -91
- package/dist/fn/Cropper.js +1 -1
- package/dist/fn/Input/Autocomplete.js +1 -1
- package/dist/fn/Input/Filer.js +1 -1
- package/dist/fn/Input/List.d.ts +2 -2
- package/dist/fn/Input/List.js +1 -1
- package/dist/fn/Input/Search.js +1 -1
- package/dist/fn/Input/Segmented.d.ts +1 -1
- package/dist/fn/Input/Segmented.js +1 -1
- package/dist/fn/Input/Select.d.ts +2 -2
- package/dist/fn/Input/Select.js +1 -1
- package/dist/fn/Input/Switch.js +1 -1
- package/dist/fn/Input/Time/index.js +1 -1
- package/dist/fn/Sheet.js +1 -1
- package/dist/fn/TabBar.js +1 -1
- package/dist/temps/designBook.js +9 -9
- package/package.json +2 -2
package/dist/fn/Cropper.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{b as H,c as j,e as z}from"../chunk-C5N2D3ZX.js";import{Fragment as re,jsx as o,jsxs as f}from"react/jsx-runtime";import v from"@mingoo/jsmin";import{$$fromRoot as K,useStore as A}from"../@utils";import{useState as N,useEffect as O}from"react";import{Box as P,FAI as M,Column as k}from"../atoms";import{Row as I,Text as F}from"../mols";import D from"./Button";import W from"./Sheet";import V from"./Loader";import q from"./Input";import{faPalette as J}from"@fortawesome/free-solid-svg-icons/faPalette";import{faBarsStaggered as Q}from"@fortawesome/free-solid-svg-icons/faBarsStaggered";import{faRotateLeft as ee}from"@fortawesome/free-solid-svg-icons/faRotateLeft";import{faRotateRight as te}from"@fortawesome/free-solid-svg-icons/faRotateRight";import{CropperClasses as U}from"../@styles/componentClasses";import Y from"./Tooltips";class ae{constructor(t){this.set_scale=t.set_scale,this.val_file=t.val_file,this.develops=t.develops,this.use=t.use,this.componentID=t.componentID,this.scale={current:t.scale.default,default:t.scale.default,min:t.scale.min,max:t.scale.max};let l=t.canvas;this.Canvas={elm:l,ctx:l.getContext("2d")};let i=t.picture.image,{width:e,height:a}=i,r=e/a;this.Picture={elm:i,originDataUrl:i.src,aspect:r,revisedAspect:1,rotate:t.picture.rotate,grayScale:t.picture.grayScale,tone:t.picture.tone},this.pst={frame:{x:0,y:0,w:0,h:0,aspect:1},outImage:{x:0,y:0,w:0,h:0},imageX:e/2,imageY:a/2,centerX:0,centerY:0},this.dragEffectInfo={origin:{x:0,y:0},frameExpandRate:{x:0,y:0}},this.pinchEffectInfo={origin:{x:0,y:0,scale:this.scale.current}},this.frameSizing(),this.modifyImage()}frameSizing(){let t=this.Canvas.elm,l=this.Picture.elm,i=0,e=0;if(this.use=="square"){let s=t.width/3*2,n=t.height/3*2;i=Math.min(s,n),e=i}else this.use=="wallpaper.horizontal"?(i=t.width*(7/9),e=i/3):this.use=="wallpaper.vertical"&&(e=t.height*(7/9),i=e/2);let{width:a,height:r}=l,p=(t.width-i)/2,u=(t.height-e)/2,y=i/e;this.pst={frame:{x:p,y:u,w:i,h:e,aspect:y},outImage:{x:0,y:0,w:0,h:0},imageX:a/2,imageY:r/2,centerX:t.width/2,centerY:t.height/2}}dragEffect(t){let{eventType:l,x:i,y:e}=t;if(l=="start"){let a=this.Canvas.elm.position();this.dragEffectInfo={origin:{x:i,y:e},frameExpandRate:{x:this.Canvas.elm.width/a.width,y:this.Canvas.elm.height/a.height}}}else{let{origin:a,frameExpandRate:r}=this.dragEffectInfo,p=a.x-i,u=a.y-e,y=this.scale.current*this.Picture.revisedAspect/100,s=p/y*r.x,n=u/y*r.y;l=="move"?this.drawImage(this.pst.imageX+s,this.pst.imageY+n):l=="end"&&this.drawImage(this.pst.imageX+=s,this.pst.imageY+=n)}}pinchEffect(t){let{eventType:l,event:i}=t,{x:e,y:a}=v.getCursor(i.touches[0]),{x:r,y:p}=v.getCursor(i.touches[1]),u=r-e,y=p-a;if(l=="start")this.pinchEffectInfo.origin={x:u,y,scale:this.scale.current};else if(l=="move"){let{origin:s}=this.pinchEffectInfo,n=Math.sqrt(Math.pow(s.x,2)+Math.pow(s.y,2)),S=Math.sqrt(Math.pow(u,2)+Math.pow(y,2))/n,C=Number(s.scale*S);this.set_scale(C)}}updateScale(t){let l=t;l=Math.max(l,this.scale.min),l=Math.min(l,this.scale.max),this.scale.current=l,this.drawImage()}updateFilter(t){this.Picture.grayScale=t.grayScale,this.Picture.tone=t.tone,this.Picture.rotate=t.rotate,this.modifyImage()}modifyImage(){return z(this,null,function*(){let{grayScale:t,tone:l,rotate:i}=this.Picture;const e=document.createElement("canvas");let a=e.getContext("2d"),r=yield v.ImageLoader(this.Picture.originDataUrl),p=r.width,u=r.height;(i==90||i==270)&&(p=r.height,u=r.width),e.width=p,e.height=u,t&&(a.filter="grayscale("+t+"%)"),i&&(a.translate(p/2,u/2),a.rotate(i*Math.PI/180),[90,270].includes(i)?a.translate(-u/2,-p/2):a.translate(-p/2,-u/2)),a.drawImage(r,0,0,r.width,r.height);let y=a.getImageData(0,0,e.width,e.height),s=y.data;{t/=100;let C=[[255,255,255],[255,200,100],[170,170,255],[240,200,145],[128,255,255],[255,128,255],[255,255,128],[128,158,169],[128,112,162],[50,192,87],[246,100,140]][l],x=C[0]/255,b=C[1]/255,c=C[2]/255;for(let m=0;m<u;m++)for(let h=0;h<p;h++){var n=(m*p+h)*4;if(t){let R=.3*s[n]+.59*s[n+1]+.11*s[n+2];for(var g=0;g<3;g++){let E=s[n+g];s[n+g]=E+(R-E)*t}}s[n]*=x,s[n+1]*=b,s[n+2]*=c}}a.putImageData(y,0,0);let S=e.toDataURL("image/jpeg");{let C=yield v.ImageLoader(S),{width:x,height:b}=C,c=x/b;this.Picture=j(H({},this.Picture),{elm:C,aspect:c,revisedAspect:this.pst.frame.aspect>c?this.pst.frame.w/x:this.pst.frame.h/b})}this.drawImage()})}drawImage(t,l){let{use:i,Canvas:{ctx:e,elm:a},pst:{frame:r}}=this,p=t||this.pst.imageX,u=l||this.pst.imageY;{let y=this.scale.current/100,s=this.Picture.revisedAspect*y,n=this.pst.centerX-p*s,g=this.pst.centerY-u*s,S=this.Picture.elm.width*s,C=this.Picture.elm.height*s;{let x=this.pst.frame.x+this.pst.frame.w-S,b=this.pst.frame.x,c=this.pst.frame.y+this.pst.frame.h-C,m=this.pst.frame.y,h=0;n<x&&(h=n-x),n>b&&(h=n-b);let R=0;g<c&&(R=g-c),g>m&&(R=g-m),this.dragEffectInfo.origin.x+=h/2/this.dragEffectInfo.frameExpandRate.x,this.dragEffectInfo.origin.y+=R/2/this.dragEffectInfo.frameExpandRate.y,n=Math.min(Math.max(n,x),b),g=Math.min(Math.max(g,c),m)}this.pst.outImage={x:n,y:g,w:S,h:C},e.clearRect(0,0,this.Canvas.elm.width,this.Canvas.elm.height),e.drawImage(this.Picture.elm,0,0,this.Picture.elm.width,this.Picture.elm.height,n,g,S,C)}{if(i=="square"){e.fillStyle="rgba( 20,24,20,.3 )",e.beginPath();let n=a.width/3*2,g=a.height/3*2,S=Math.min(n,g),C=Math.max(n,g);e.arc(a.width/2,a.height/2,C,0,Math.PI*2,!0),e.arc(a.width/2,a.height/2,S/2,0,Math.PI*2,!1),e.closePath(),e.fill()}else(i=="wallpaper.horizontal"||i=="wallpaper.vertical")&&(e.fillStyle="rgba( 20,24,20,.3 )");e.beginPath(),e.moveTo(0,0),e.lineTo(a.width,0),e.lineTo(a.width,a.height),e.lineTo(0,a.height),e.lineTo(0,0),e.closePath(),e.lineTo(r.x,r.y),e.lineTo(r.x,r.y+r.h),e.lineTo(r.x+r.w,r.y+r.h),e.lineTo(r.x+r.w,r.y),e.lineTo(r.x,r.y),e.fill();let s=v(document.body).getStyleProperty("--color-theme-hsl");e.lineWidth=4,e.strokeStyle=`hsla( ${s},1 )`,e.strokeRect(r.x,r.y,r.w,r.h)}}export(){return z(this,null,function*(){let{Canvas:t,develops:l,Picture:i,pst:{outImage:e,frame:a}}=this,r=e.w/i.elm.width,p=e.h/i.elm.height,u=(a.x-e.x)/r,y=(a.x-e.x+a.w)/r,s=(a.y-e.y)/p,n=(a.y-e.y+a.h)/p,g=Array.from({length:l.length}),S="image/jpeg";for(let C=0;C<l.length;C++){let{size:x,maxSize:b}=l[C];b=b||{S:1024*20,R:1024*100,L:1024*350}[x];let c={S:140,R:600,L:1200}[x],m=c;this.use=="wallpaper.horizontal"?m=c/3:this.use=="wallpaper.vertical"&&(m=c*2);let h=document.createElement("canvas");h.width=c,h.height=m;let R=h.getContext("2d");if(!R)return;R.clearRect(0,0,c,m),R.drawImage(this.Picture.elm,u,s,y-u,n-s,0,0,c,m);let E=h.toDataURL(S),w=yield E.toBlob(S);if(!w)return;if(w.size>=b){let L=b/w.size;if(E=h.toDataURL(S,L*.92),w=yield E.toBlob(S),!w)return}let X=new File([w],this.val_file.name,{type:S});g[C]=X}return g})}}const Z={Core:d=>{let{val_file:t,options:l,finishedCallback:i,abortCallback:e}=d,{use:a,develops:r=[]}=l,[p]=N(v.uuid.gen(32));const u={scale:{default:120,min:100,max:400},rotate:0,grayScale:0,tone:0};let[y,s]=N(u.scale.default),[n,g]=N(u.rotate),[S,C]=N(u.grayScale),[x,b]=N(u.tone);return O(()=>{let c="CropperResize";return v(window).addEvent({eventType:"resize",eventID:c,callback:()=>{v.interval.clear("CropperResize"),v.interval.standBy("CropperResize",200,()=>{var L;let m=K("#Canvas-"+p)[0];if(!m)return;let h=(L=A.get(p))==null?void 0:L.Instance;if(!h)return;let R=m.position(),E=R.width/R.height;m.width=2400,m.height=2400/E;let{width:w,height:X}=m;h.pst.centerX=w/2,h.pst.centerY=X/2,h.frameSizing(),h.modifyImage()})}}),()=>{v(window).removeEvent(c)}},[]),O(()=>{A.set({[p]:{}}),z(void 0,null,function*(){V.fn.corner.active(),yield v.pending(()=>{},400);let{target:c}=yield t.convert();if(!c)return;let m=c.result,h=K("#Canvas-"+p)[0];if(!h)return;let R=h.position(),E=R.width/R.height;h.width=2400,h.height=2400/E;let w=new ae({set_scale:s,val_file:t,develops:r,use:a,scale:u.scale,componentID:p,canvas:h,picture:{image:yield v.ImageLoader(m),grayScale:u.grayScale,tone:u.tone,rotate:u.rotate}});A.set({[p]:{Instance:w}});const X=function(B){if(B.preventDefault(),B.touches&&B.touches.length>1)w.pinchEffect({eventType:"start",event:B}),v(document).addEvent({eventType:"touchmove",eventID:"CropperEffectMove",options:{passive:!1},callback:T=>{T.preventDefault(),w.pinchEffect({eventType:"move",event:T})}}).addEvent({eventType:"touchend",eventID:"CropperEffectEnd",options:{passive:!1},callback:$});else{w.dragEffect(H({eventType:"start"},v.getCursor(B)));let{type:T}=B;v(document).addEvent({eventType:T=="touchstart"?"touchmove":"mousemove",eventID:"CropperEffectMove",options:{passive:!1},callback:_=>{L("move",_)}}).addEvent({eventType:T=="touchstart"?"touchend":"mouseup",eventID:"CropperEffectEnd",options:{passive:!1},callback:_=>{L("end",_),$(_)}})}},L=function(B,T){T.preventDefault(),w.dragEffect(H({eventType:B},v.getCursor(T)))},$=function(B){B.preventDefault(),v(document).removeEvent(["CropperEffectMove","CropperEffectEnd"])};v(h).removeEvent(["CropperMouseWheel","CropperTouchStart","CropperMouseDown"]).addEvent({eventID:"CropperMouseWheel",eventType:"wheel",callback:B=>{B.preventDefault();let T=Number(B.wheelDelta*.04),_=w.scale.current+T;_=Math.max(_,w.scale.min),_=Math.min(_,w.scale.max),s(_)},options:{passive:!1}}).addEvent({eventType:"touchstart",eventID:"CropperTouchStart",callback:X,options:{passive:!1}}).addEvent({eventType:"mousedown",eventID:"CropperMouseDown",callback:X,options:{passive:!1}}),setTimeout(()=>{V.fn.corner.stop()},1e3)})},[t.id]),O(()=>{var m;let c=(m=A.get(p))==null?void 0:m.Instance;c&&c.updateScale(y)},[y]),O(()=>{var m;let c=(m=A.get(p))==null?void 0:m.Instance;c&&c.updateFilter({grayScale:S,tone:x,rotate:n})},[S,x,n]),o(W.Body,{borderRadius:0,height:"viewHeight",width:"viewWidth",children:f(k,{className:[U("Wrap"),U("Use_"+a)].join(" "),gap:0,height:1,position:"relative",overflow:"hidden",borderRadius:"inherit",children:[o(P,{flexSizing:0,overflow:"hidden",position:"relative",backgroundColor:"black",flexCenter:!0,freeCSS:{zIndex:1},children:o("canvas",{style:{width:"100%",height:"100%"},width:2400,height:2400,className:U("Canvas"),id:"Canvas-"+p})}),f(I.Separate,{borderTop:!0,flexSizing:"none",backgroundColor:"layer.1",padding:1,verticalAlign:"unset",UnderBreakPointStyles:{flexType:"col"},children:[o(Z.SettingRegion,{DefaultOptions:u,val_scale:y,set_scale:s,val_tone:x,set_tone:b,val_grayScale:S,set_grayScale:C,val_rotate:n,set_rotate:g}),f(I.Right,{flexSizing:"none",children:[o(D.Button.Border.R,{isRounded:!0,onClick:()=>{e()},children:"\u9589\u3058\u308B"}),o(D.Button.Prime.R,{isRounded:!0,boxShadow:"3.remark",onClick:()=>z(void 0,null,function*(){var h;let c=(h=A.get(p))==null?void 0:h.Instance;if(!c)return;V.fn.mini.active("CropperExportation");let m=yield c.export();setTimeout(()=>{V.fn.mini.stop("CropperExportation"),i(m)},3e3)}),children:f(I.Center,{gap:"1/2",children:[o(V.White.R,{loaderID:"CropperExportation"}),"\u6C7A\u5B9A"]})})]})]})]})})},SettingRegion:d=>{let t=["","\u6696\u8272","\u5BD2\u8272","\u30BB\u30D4\u30A2","\u30B7\u30A2\u30F3","\u30DE\u30BC\u30F3\u30BF","\u30A4\u30A8\u30ED\u30FC","\u30AA\u30EA\u30B8\u30CA\u30EB1","\u30AA\u30EA\u30B8\u30CA\u30EB2","\u30AA\u30EA\u30B8\u30CA\u30EB3","\u30AA\u30EA\u30B8\u30CA\u30EB4"],l=i=>t[i]||"\u306A\u3057";return f(I.Left,{verticalAlign:"unset",flexWrap:!0,children:[f(k,{gap:"1/3",children:[o(F.Supplement,{children:"Rotate"}),f(I.Left,{flexChilds:"even",gap:"1/6",children:[o(D.Button.Border.S,{isRounded:!0,borderTopRightRadius:0,borderBottomRightRadius:0,onClick:()=>{let i=d.val_rotate-90;i<0&&(i+=360),d.set_rotate(i)},children:f(I.Center,{gap:"1/4",children:["90\xB0",o(M,{icon:ee})]})}),o(D.Button.Border.S,{isRounded:!0,borderTopLeftRadius:0,borderBottomLeftRadius:0,onClick:()=>{d.set_rotate((d.val_rotate+90)%360)},children:f(I.Center,{gap:"1/4",children:[o(M,{icon:te}),"90\xB0"]})})]})]}),f(k,{gap:"1/3",freeCSS:{minWidth:12*6},children:[o(F.Supplement,{children:"Zoom"}),f(D.Button.Border.S,{flexCenter:!0,isRounded:!0,flexSizing:0,onClick:i=>{let e="CropperZoomEdit";Y.open({tipsID:e,gravityPoint:3,event:i,close_option:{parentBlur:!1},freeCSS:{minWidth:12*26},content:o(W.Body,{children:f(k,{padding:1.5,children:[f(I.Separate,{children:[o(F.Paragraph,{children:f(I.Center,{gap:"1/2",children:[o(M.Search,{fontColor:"5.translucent"}),"Zoom"]})}),o(D.Button.Sub.R,{color:"cloud",ssSphere:2.5,onClick:()=>{Y.close(e)},children:o(M.Times,{})})]}),o(P,{borderBottom:!0,opacity:"low"}),o(q.Slider,{override:"force",value:d.val_scale-100,min:d.DefaultOptions.scale.min-100,max:d.DefaultOptions.scale.max-100,step:25,onUpdateValidValue:({eventType:a,value:r})=>{v.interval.clear("Cropper.UpdateScale"),v.interval.standBy("Cropper.UpdateScale",250,()=>{d.set_scale(r+100)})},legends:{enable:!0,custom:a=>"x"+Math.round(100+a)/100}})]})})})},children:[d.val_scale.rate(1,0),"%"]})]}),f(k,{gap:"1/3",freeCSS:{minWidth:12*6},children:[o(F.Supplement,{children:"GrayScale"}),f(D.Button.Border.S,{flexCenter:!0,isRounded:!0,flexSizing:0,onClick:i=>{let e="CropperGrayScaleEdit";Y.open({tipsID:e,gravityPoint:3,event:i,close_option:{parentBlur:!1},freeCSS:{minWidth:12*26},content:o(W.Body,{children:f(k,{padding:1.5,children:[f(I.Separate,{children:[o(F.Paragraph,{children:f(I.Center,{gap:"1/2",children:[o(M,{icon:J,fontColor:"5.translucent"}),"Gray Scale"]})}),o(D.Button.Sub.R,{color:"cloud",ssSphere:2.5,onClick:()=>{Y.close(e)},children:o(M.Times,{})})]}),o(P,{borderBottom:!0,opacity:"low"}),o(q.Slider,{value:d.val_grayScale,min:0,max:100,step:10,onUpdateValidValue:({value:a})=>{v.interval.clear("Cropper.GrayScale"),v.interval.standBy("Cropper.GrayScale",250,()=>{d.set_grayScale(a)})},legends:{enable:!0,custom:a=>a+"%"}})]})})})},children:[d.val_grayScale.rate(1,0),"%"]})]}),f(k,{gap:"1/3",freeCSS:{minWidth:12*6},children:[o(F.Supplement,{children:"Tone"}),o(D.Button.Border.S,{flexCenter:!0,isRounded:!0,flexSizing:0,onClick:i=>{let e="CropperToneEdit";Y.open({tipsID:e,gravityPoint:3,event:i,close_option:{parentBlur:!1},freeCSS:{minWidth:12*26,maxWidth:12*24},content:()=>{let a=[];for(let r=1;r<=10;r++)a.push({value:r,label:f(re,{children:[o(P,{ssSphere:1,className:[U("ToneBall"),U("ToneBall_"+r)].join(" ")}),o(P,{textAlign:"left",flexSizing:0,children:l(r)})]})});return o(W.Body,{children:f(k,{padding:1.5,children:[f(I.Separate,{children:[o(F.Paragraph,{children:f(I.Center,{gap:"1/2",children:[o(M,{icon:Q,fontColor:"5.translucent"}),"Tone"]})}),o(D.Button.Sub.R,{color:"cloud",ssSphere:2.5,onClick:()=>{Y.close(e)},children:o(M.Times,{})})]}),o(P,{borderBottom:!0,opacity:"low"}),o(q.Radio.Normal,{value:d.val_tone,gap:"1/2",cellStyles:{fontColor:"3.blur"},options:[{value:0,label:o(P,{flexSizing:0,textAlign:"center",children:"\u306A\u3057"})},...a],onUpdateValidValue:({value:r})=>{d.set_tone(r[0])}})]})})}})},children:f(I.Center,{gap:"1/2",children:[o(P,{boxShadow:"2.remark",ssSphere:1,className:[U("ToneBall"),U("ToneBall_"+d.val_tone)].join(" ")}),l(d.val_tone)]})})]})]})}},G={openDialogNEdit:d=>z(void 0,null,function*(){let t=yield q.Filer.fn.openDialog({accept:"image",multiple:!1});G.openEditor(H({imageFile:t[0]},d))}),openEditor:d=>z(void 0,null,function*(){let t="CropperImage";W.open({sheetID:t,type:"normal.middleCenter",size:"MAX",padding:0,margin:0,freeCSS:{maxWidth:"100vw"},content:o(Z.Core,{val_file:d.imageFile,options:d,finishedCallback:l=>{W.close(t),d.onProcessFinished(l)},abortCallback:()=>{W.close(t)}}),close_option:{escapeKeyDown:!1}})})};export{G as Cropper,G as default};
|
|
1
|
+
import{b as H,c as j,e as z}from"../chunk-C5N2D3ZX.js";import{Fragment as re,jsx as o,jsxs as f}from"react/jsx-runtime";import v from"@mingoo/jsmin";import{$$fromRoot as K,useStore as A}from"../@utils";import{useState as N,useEffect as O}from"react";import{Box as P,FAI as M,Column as k}from"../atoms";import{Row as I,Text as F}from"../mols";import D from"./Button";import W from"./Sheet";import V from"./Loader";import q from"./Input";import{faPalette as J}from"@fortawesome/free-solid-svg-icons/faPalette";import{faBarsStaggered as Q}from"@fortawesome/free-solid-svg-icons/faBarsStaggered";import{faRotateLeft as ee}from"@fortawesome/free-solid-svg-icons/faRotateLeft";import{faRotateRight as te}from"@fortawesome/free-solid-svg-icons/faRotateRight";import{CropperClasses as U}from"../@styles/componentClasses";import Y from"./Tooltips";class ae{constructor(t){this.set_scale=t.set_scale,this.val_file=t.val_file,this.develops=t.develops,this.use=t.use,this.componentID=t.componentID,this.scale={current:t.scale.default,default:t.scale.default,min:t.scale.min,max:t.scale.max};let l=t.canvas;this.Canvas={elm:l,ctx:l.getContext("2d")};let i=t.picture.image,{width:e,height:a}=i,r=e/a;this.Picture={elm:i,originDataUrl:i.src,aspect:r,revisedAspect:1,rotate:t.picture.rotate,grayScale:t.picture.grayScale,tone:t.picture.tone},this.pst={frame:{x:0,y:0,w:0,h:0,aspect:1},outImage:{x:0,y:0,w:0,h:0},imageX:e/2,imageY:a/2,centerX:0,centerY:0},this.dragEffectInfo={origin:{x:0,y:0},frameExpandRate:{x:0,y:0}},this.pinchEffectInfo={origin:{x:0,y:0,scale:this.scale.current}},this.frameSizing(),this.modifyImage()}frameSizing(){let t=this.Canvas.elm,l=this.Picture.elm,i=0,e=0;if(this.use=="square"){let s=t.width/3*2,n=t.height/3*2;i=Math.min(s,n),e=i}else this.use=="wallpaper.horizontal"?(i=t.width*(7/9),e=i/3):this.use=="wallpaper.vertical"&&(e=t.height*(7/9),i=e/2);let{width:a,height:r}=l,p=(t.width-i)/2,u=(t.height-e)/2,y=i/e;this.pst={frame:{x:p,y:u,w:i,h:e,aspect:y},outImage:{x:0,y:0,w:0,h:0},imageX:a/2,imageY:r/2,centerX:t.width/2,centerY:t.height/2}}dragEffect(t){let{eventType:l,x:i,y:e}=t;if(l=="start"){let a=this.Canvas.elm.position();this.dragEffectInfo={origin:{x:i,y:e},frameExpandRate:{x:this.Canvas.elm.width/a.width,y:this.Canvas.elm.height/a.height}}}else{let{origin:a,frameExpandRate:r}=this.dragEffectInfo,p=a.x-i,u=a.y-e,y=this.scale.current*this.Picture.revisedAspect/100,s=p/y*r.x,n=u/y*r.y;l=="move"?this.drawImage(this.pst.imageX+s,this.pst.imageY+n):l=="end"&&this.drawImage(this.pst.imageX+=s,this.pst.imageY+=n)}}pinchEffect(t){let{eventType:l,event:i}=t,{x:e,y:a}=v.getCursor(i.touches[0]),{x:r,y:p}=v.getCursor(i.touches[1]),u=r-e,y=p-a;if(l=="start")this.pinchEffectInfo.origin={x:u,y,scale:this.scale.current};else if(l=="move"){let{origin:s}=this.pinchEffectInfo,n=Math.sqrt(Math.pow(s.x,2)+Math.pow(s.y,2)),S=Math.sqrt(Math.pow(u,2)+Math.pow(y,2))/n,C=Number(s.scale*S);this.set_scale(C)}}updateScale(t){let l=t;l=Math.max(l,this.scale.min),l=Math.min(l,this.scale.max),this.scale.current=l,this.drawImage()}updateFilter(t){this.Picture.grayScale=t.grayScale,this.Picture.tone=t.tone,this.Picture.rotate=t.rotate,this.modifyImage()}modifyImage(){return z(this,null,function*(){let{grayScale:t,tone:l,rotate:i}=this.Picture;const e=document.createElement("canvas");let a=e.getContext("2d"),r=yield v.ImageLoader(this.Picture.originDataUrl),p=r.width,u=r.height;(i==90||i==270)&&(p=r.height,u=r.width),e.width=p,e.height=u,t&&(a.filter="grayscale("+t+"%)"),i&&(a.translate(p/2,u/2),a.rotate(i*Math.PI/180),[90,270].includes(i)?a.translate(-u/2,-p/2):a.translate(-p/2,-u/2)),a.drawImage(r,0,0,r.width,r.height);let y=a.getImageData(0,0,e.width,e.height),s=y.data;{t/=100;let C=[[255,255,255],[255,200,100],[170,170,255],[240,200,145],[128,255,255],[255,128,255],[255,255,128],[128,158,169],[128,112,162],[50,192,87],[246,100,140]][l],x=C[0]/255,b=C[1]/255,c=C[2]/255;for(let m=0;m<u;m++)for(let h=0;h<p;h++){var n=(m*p+h)*4;if(t){let R=.3*s[n]+.59*s[n+1]+.11*s[n+2];for(var g=0;g<3;g++){let E=s[n+g];s[n+g]=E+(R-E)*t}}s[n]*=x,s[n+1]*=b,s[n+2]*=c}}a.putImageData(y,0,0);let S=e.toDataURL("image/jpeg");{let C=yield v.ImageLoader(S),{width:x,height:b}=C,c=x/b;this.Picture=j(H({},this.Picture),{elm:C,aspect:c,revisedAspect:this.pst.frame.aspect>c?this.pst.frame.w/x:this.pst.frame.h/b})}this.drawImage()})}drawImage(t,l){let{use:i,Canvas:{ctx:e,elm:a},pst:{frame:r}}=this,p=t||this.pst.imageX,u=l||this.pst.imageY;{let y=this.scale.current/100,s=this.Picture.revisedAspect*y,n=this.pst.centerX-p*s,g=this.pst.centerY-u*s,S=this.Picture.elm.width*s,C=this.Picture.elm.height*s;{let x=this.pst.frame.x+this.pst.frame.w-S,b=this.pst.frame.x,c=this.pst.frame.y+this.pst.frame.h-C,m=this.pst.frame.y,h=0;n<x&&(h=n-x),n>b&&(h=n-b);let R=0;g<c&&(R=g-c),g>m&&(R=g-m),this.dragEffectInfo.origin.x+=h/2/this.dragEffectInfo.frameExpandRate.x,this.dragEffectInfo.origin.y+=R/2/this.dragEffectInfo.frameExpandRate.y,n=Math.min(Math.max(n,x),b),g=Math.min(Math.max(g,c),m)}this.pst.outImage={x:n,y:g,w:S,h:C},e.clearRect(0,0,this.Canvas.elm.width,this.Canvas.elm.height),e.drawImage(this.Picture.elm,0,0,this.Picture.elm.width,this.Picture.elm.height,n,g,S,C)}{if(i=="square"){e.fillStyle="rgba( 20,24,20,.3 )",e.beginPath();let n=a.width/3*2,g=a.height/3*2,S=Math.min(n,g),C=Math.max(n,g);e.arc(a.width/2,a.height/2,C,0,Math.PI*2,!0),e.arc(a.width/2,a.height/2,S/2,0,Math.PI*2,!1),e.closePath(),e.fill()}else(i=="wallpaper.horizontal"||i=="wallpaper.vertical")&&(e.fillStyle="rgba( 20,24,20,.3 )");e.beginPath(),e.moveTo(0,0),e.lineTo(a.width,0),e.lineTo(a.width,a.height),e.lineTo(0,a.height),e.lineTo(0,0),e.closePath(),e.lineTo(r.x,r.y),e.lineTo(r.x,r.y+r.h),e.lineTo(r.x+r.w,r.y+r.h),e.lineTo(r.x+r.w,r.y),e.lineTo(r.x,r.y),e.fill();let s=v(document.body).getStyleProperty("--color-theme-hsl");e.lineWidth=4,e.strokeStyle=`hsla( ${s},1 )`,e.strokeRect(r.x,r.y,r.w,r.h)}}export(){return z(this,null,function*(){let{Canvas:t,develops:l,Picture:i,pst:{outImage:e,frame:a}}=this,r=e.w/i.elm.width,p=e.h/i.elm.height,u=(a.x-e.x)/r,y=(a.x-e.x+a.w)/r,s=(a.y-e.y)/p,n=(a.y-e.y+a.h)/p,g=Array.from({length:l.length}),S="image/jpeg";for(let C=0;C<l.length;C++){let{size:x,maxSize:b}=l[C];b=b||{S:1024*20,R:1024*100,L:1024*350}[x];let c={S:140,R:600,L:1200}[x],m=c;this.use=="wallpaper.horizontal"?m=c/3:this.use=="wallpaper.vertical"&&(m=c*2);let h=document.createElement("canvas");h.width=c,h.height=m;let R=h.getContext("2d");if(!R)return;R.clearRect(0,0,c,m),R.drawImage(this.Picture.elm,u,s,y-u,n-s,0,0,c,m);let E=h.toDataURL(S),w=yield E.toBlob(S);if(!w)return;if(w.size>=b){let L=b/w.size;if(E=h.toDataURL(S,L*.92),w=yield E.toBlob(S),!w)return}let X=new File([w],this.val_file.name,{type:S});g[C]=X}return g})}}const Z={Core:d=>{let{val_file:t,options:l,finishedCallback:i,abortCallback:e}=d,{use:a,develops:r=[]}=l,[p]=N(v.uuid.gen(32));const u={scale:{default:120,min:100,max:400},rotate:0,grayScale:0,tone:0};let[y,s]=N(u.scale.default),[n,g]=N(u.rotate),[S,C]=N(u.grayScale),[x,b]=N(u.tone);return O(()=>{let c="CropperResize";return v(window).addEvent({eventType:"resize",eventID:c,callback:()=>{v.interval.clear("CropperResize"),v.interval.standBy("CropperResize",200,()=>{var L;let m=K("#Canvas-"+p)[0];if(!m)return;let h=(L=A.get(p))==null?void 0:L.Instance;if(!h)return;let R=m.position(),E=R.width/R.height;m.width=2400,m.height=2400/E;let{width:w,height:X}=m;h.pst.centerX=w/2,h.pst.centerY=X/2,h.frameSizing(),h.modifyImage()})}}),()=>{v(window).removeEvent(c)}},[]),O(()=>{A.set({[p]:{}}),z(void 0,null,function*(){V.fn.corner.active(),yield v.pending(()=>{},400);let{target:c}=yield t.convert();if(!c)return;let m=c.result,h=K("#Canvas-"+p)[0];if(!h)return;let R=h.position(),E=R.width/R.height;h.width=2400,h.height=2400/E;let w=new ae({set_scale:s,val_file:t,develops:r,use:a,scale:u.scale,componentID:p,canvas:h,picture:{image:yield v.ImageLoader(m),grayScale:u.grayScale,tone:u.tone,rotate:u.rotate}});A.set({[p]:{Instance:w}});const X=function(B){if(B.preventDefault(),B.touches&&B.touches.length>1)w.pinchEffect({eventType:"start",event:B}),v(document).addEvent({eventType:"touchmove",eventID:"CropperEffectMove",options:{passive:!1},callback:T=>{T.preventDefault(),w.pinchEffect({eventType:"move",event:T})}}).addEvent({eventType:"touchend",eventID:"CropperEffectEnd",options:{passive:!1},callback:$});else{w.dragEffect(H({eventType:"start"},v.getCursor(B)));let{type:T}=B;v(document).addEvent({eventType:T=="touchstart"?"touchmove":"mousemove",eventID:"CropperEffectMove",options:{passive:!1},callback:_=>{L("move",_)}}).addEvent({eventType:T=="touchstart"?"touchend":"mouseup",eventID:"CropperEffectEnd",options:{passive:!1},callback:_=>{L("end",_),$(_)}})}},L=function(B,T){T.preventDefault(),w.dragEffect(H({eventType:B},v.getCursor(T)))},$=function(B){B.preventDefault(),v(document).removeEvent(["CropperEffectMove","CropperEffectEnd"])};v(h).removeEvent(["CropperMouseWheel","CropperTouchStart","CropperMouseDown"]).addEvent({eventID:"CropperMouseWheel",eventType:"wheel",callback:B=>{B.preventDefault();let T=Number(B.wheelDelta*.04),_=w.scale.current+T;_=Math.max(_,w.scale.min),_=Math.min(_,w.scale.max),s(_)},options:{passive:!1}}).addEvent({eventType:"touchstart",eventID:"CropperTouchStart",callback:X,options:{passive:!1}}).addEvent({eventType:"mousedown",eventID:"CropperMouseDown",callback:X,options:{passive:!1}}),setTimeout(()=>{V.fn.corner.stop()},1e3)})},[t.id]),O(()=>{var m;let c=(m=A.get(p))==null?void 0:m.Instance;c&&c.updateScale(y)},[y]),O(()=>{var m;let c=(m=A.get(p))==null?void 0:m.Instance;c&&c.updateFilter({grayScale:S,tone:x,rotate:n})},[S,x,n]),o(W.Body,{borderRadius:0,height:"viewHeight",width:"viewWidth",children:f(k,{className:[U("Wrap"),U("Use_"+a)].join(" "),gap:0,height:1,position:"relative",overflow:"hidden",borderRadius:"inherit",children:[o(P,{flexSizing:0,overflow:"hidden",position:"relative",backgroundColor:"black",flexCenter:!0,freeCSS:{zIndex:1},children:o("canvas",{style:{width:"100%",height:"100%"},width:2400,height:2400,className:U("Canvas"),id:"Canvas-"+p})}),f(I.Separate,{borderTop:!0,flexSizing:"none",backgroundColor:"layer.1",padding:1,verticalAlign:"unset",UnderBreakPointStyles:{flexType:"col"},children:[o(Z.SettingRegion,{DefaultOptions:u,val_scale:y,set_scale:s,val_tone:x,set_tone:b,val_grayScale:S,set_grayScale:C,val_rotate:n,set_rotate:g}),f(I.Right,{flexSizing:"none",children:[o(D.Button.Border.R,{isRounded:!0,onClick:()=>{e()},children:"\u9589\u3058\u308B"}),o(D.Button.Prime.R,{isRounded:!0,boxShadow:"3.remark",onClick:()=>z(void 0,null,function*(){var h;let c=(h=A.get(p))==null?void 0:h.Instance;if(!c)return;V.fn.mini.active("CropperExportation");let m=yield c.export();setTimeout(()=>{V.fn.mini.stop("CropperExportation"),i(m)},3e3)}),children:f(I.Center,{gap:"1/2",children:[o(V.White.R,{loaderID:"CropperExportation"}),"\u6C7A\u5B9A"]})})]})]})]})})},SettingRegion:d=>{let t=["","\u6696\u8272","\u5BD2\u8272","\u30BB\u30D4\u30A2","\u30B7\u30A2\u30F3","\u30DE\u30BC\u30F3\u30BF","\u30A4\u30A8\u30ED\u30FC","\u30AA\u30EA\u30B8\u30CA\u30EB1","\u30AA\u30EA\u30B8\u30CA\u30EB2","\u30AA\u30EA\u30B8\u30CA\u30EB3","\u30AA\u30EA\u30B8\u30CA\u30EB4"],l=i=>t[i]||"\u306A\u3057";return f(I.Left,{verticalAlign:"unset",flexWrap:!0,children:[f(k,{gap:"1/3",children:[o(F.Supplement,{children:"Rotate"}),f(I.Left,{flexChilds:"even",gap:"1/6",children:[o(D.Button.Border.S,{isRounded:!0,borderTopRightRadius:0,borderBottomRightRadius:0,onClick:()=>{let i=d.val_rotate-90;i<0&&(i+=360),d.set_rotate(i)},children:f(I.Center,{gap:"1/4",children:["90\xB0",o(M,{icon:ee})]})}),o(D.Button.Border.S,{isRounded:!0,borderTopLeftRadius:0,borderBottomLeftRadius:0,onClick:()=>{d.set_rotate((d.val_rotate+90)%360)},children:f(I.Center,{gap:"1/4",children:[o(M,{icon:te}),"90\xB0"]})})]})]}),f(k,{gap:"1/3",freeCSS:{minWidth:12*6},children:[o(F.Supplement,{children:"Zoom"}),f(D.Button.Border.S,{flexCenter:!0,isRounded:!0,flexSizing:0,onClick:i=>{let e="CropperZoomEdit";Y.open({tipsID:e,gravityPoint:3,event:i,close_option:{parentBlur:!1},freeCSS:{minWidth:12*26},content:o(W.Body,{children:f(k,{padding:1.5,children:[f(I.Separate,{children:[o(F.Paragraph,{children:f(I.Center,{gap:"1/2",children:[o(M.Search,{fontColor:"5.translucent"}),"Zoom"]})}),o(D.Button.Sub.R,{color:"cloud",ssSphere:2.5,onClick:()=>{Y.close(e)},children:o(M.Times,{})})]}),o(P,{borderBottom:!0,opacity:"low"}),o(q.Slider,{override:"force",value:d.val_scale-100,min:d.DefaultOptions.scale.min-100,max:d.DefaultOptions.scale.max-100,step:25,onUpdateValidValue:({eventType:a,value:r})=>{v.interval.clear("Cropper.UpdateScale"),v.interval.standBy("Cropper.UpdateScale",250,()=>{d.set_scale(r+100)})},legends:{enable:!0,custom:a=>"x"+Math.round(100+a)/100}})]})})})},children:[d.val_scale.rate(1,0),"%"]})]}),f(k,{gap:"1/3",freeCSS:{minWidth:12*6},children:[o(F.Supplement,{children:"GrayScale"}),f(D.Button.Border.S,{flexCenter:!0,isRounded:!0,flexSizing:0,onClick:i=>{let e="CropperGrayScaleEdit";Y.open({tipsID:e,gravityPoint:3,event:i,close_option:{parentBlur:!1},freeCSS:{minWidth:12*26},content:o(W.Body,{children:f(k,{padding:1.5,children:[f(I.Separate,{children:[o(F.Paragraph,{children:f(I.Center,{gap:"1/2",children:[o(M,{icon:J,fontColor:"5.translucent"}),"Gray Scale"]})}),o(D.Button.Sub.R,{color:"cloud",ssSphere:2.5,onClick:()=>{Y.close(e)},children:o(M.Times,{})})]}),o(P,{borderBottom:!0,opacity:"low"}),o(q.Slider,{value:d.val_grayScale,min:0,max:100,step:10,onUpdateValidValue:({value:a})=>{v.interval.clear("Cropper.GrayScale"),v.interval.standBy("Cropper.GrayScale",250,()=>{d.set_grayScale(a)})},legends:{enable:!0,custom:a=>a+"%"}})]})})})},children:[d.val_grayScale.rate(1,0),"%"]})]}),f(k,{gap:"1/3",freeCSS:{minWidth:12*6},children:[o(F.Supplement,{children:"Tone"}),o(D.Button.Border.S,{flexCenter:!0,isRounded:!0,flexSizing:0,onClick:i=>{let e="CropperToneEdit";Y.open({tipsID:e,gravityPoint:3,event:i,close_option:{parentBlur:!1},freeCSS:{minWidth:12*26,maxWidth:12*24},content:()=>{let a=[];for(let r=1;r<=10;r++)a.push({value:r,label:f(re,{children:[o(P,{ssSphere:1,className:[U("ToneBall"),U("ToneBall_"+r)].join(" ")}),o(P,{textAlign:"left",flexSizing:0,children:l(r)})]})});return o(W.Body,{children:f(k,{padding:1.5,children:[f(I.Separate,{children:[o(F.Paragraph,{children:f(I.Center,{gap:"1/2",children:[o(M,{icon:Q,fontColor:"5.translucent"}),"Tone"]})}),o(D.Button.Sub.R,{color:"cloud",ssSphere:2.5,onClick:()=>{Y.close(e)},children:o(M.Times,{})})]}),o(P,{borderBottom:!0,opacity:"low"}),o(q.Radio.Normal,{value:d.val_tone,gap:"1/2",cellStyles:{fontColor:"3.blur"},options:[{value:0,label:o(P,{flexSizing:0,textAlign:"center",children:"\u306A\u3057"})},...a],onUpdateValidValue:({value:r})=>{d.set_tone(r)}})]})})}})},children:f(I.Center,{gap:"1/2",children:[o(P,{boxShadow:"2.remark",ssSphere:1,className:[U("ToneBall"),U("ToneBall_"+d.val_tone)].join(" ")}),l(d.val_tone)]})})]})]})}},G={openDialogNEdit:d=>z(void 0,null,function*(){let t=yield q.Filer.fn.openDialog({accept:"image",multiple:!1});G.openEditor(H({imageFile:t[0]},d))}),openEditor:d=>z(void 0,null,function*(){let t="CropperImage";W.open({sheetID:t,type:"normal.middleCenter",size:"MAX",padding:0,margin:0,freeCSS:{maxWidth:"100vw"},content:o(Z.Core,{val_file:d.imageFile,options:d,finishedCallback:l=>{W.close(t),d.onProcessFinished(l)},abortCallback:()=>{W.close(t)}}),close_option:{escapeKeyDown:!1}})})};export{G as Cropper,G as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{b as f,c as g,d as H,e as X}from"../../chunk-C5N2D3ZX.js";import{Fragment as J,jsx as a,jsxs as F}from"react/jsx-runtime";import{useState as y,useEffect as b,useRef as Z}from"react";import r from"@mingoo/jsmin";import{GenerateHTMLProps as ee,ExtractStyles as te,useStore as $}from"../../@utils";import{Box as T,Span as le,FAI as M,Column as oe}from"../../atoms";import{Text as E,Row as z}from"../../mols";import j from"../Button";import{Loader as ae}from"../Loader";import{Sheet as P}from"../Sheet";import{OptionalInputWrapper as ne,BoxWrapper as re,CoreEffects as W,DefaultStyles as ie}from"./core";import{InputAutocompleteClasses as x}from"../../@styles/componentClasses";import{InputLabel as se}from"./Label";import{RightIcon as Q}from".";function ue(e){let{value:t,states:o}=e,{required:l,options:c,min:u,max:d}=o;u=u||0,d=d||65535;let i=[],n=t.filter(p=>p!=="null").length;return l&&(n||i.push({type:"invalid",label:"\u5FC5\u9808\u9805\u76EE\u3067\u3059"})),n<u&&i.push({type:"invalid",label:u+"\u500B\u4EE5\u4E0A\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044"}),n>d&&i.push({type:"invalid",label:d+"\u500B\u307E\u3067\u9078\u629E\u3067\u304D\u307E\u3059"}),{ok:!i.filter(({type:p})=>p=="invalid").length,notice:i}}const R={InitOptions:e=>{let t=[];return e.forEach(o=>{let{type:l,label:c,value:u,searchValue:d}=o;t.push(g(f({},o),{searchValue:d||(r.is.string(c)?c:""),type:l||"selector",value:r.JsonTo(u)}))}),t},FilterSelectableOptions:(e,t)=>{let o=e.val_options;if(t||(o=e.val_options.filter(l=>l.type!="label")),e.val_keyword){let l=e.val_keyword.toLower().replace(/ /g,"");o=o.filter(c=>(c.searchValue||"").toLower().replace(/ /g,"").includes(l))}return o}},w={Shallow:e=>{let{rootStates:t,val_status:o}=e,l=te(t);return a(T,{position:"absolute",top:0,left:0,right:0,height:0,overflow:"hidden",opacity:"trans",freeCSS:{zIndex:3,pointerEvents:"none"},children:a(E.Description,g(f({className:t.className},l),{position:"absolute",width:1,freeCSS:g(f({},l.freeCSS),{color:"orange"}),"data-id":"shallow_"+o.componentID,children:a(T,{"data-input-value-shallow":o.componentID,children:"A"})}))})},Button:e=>{let{rootStates:t}=e,G=t,{tone:o,required:l,form:c,className:u,multiSelect:d,enableFormSubmit:i,checkValidationAtFirst:n,onValidate:p,onUpdateValue:s,onUpdateValidValue:m,value:v="",options:I,leftIndicator:S,rightIndicator:_,leftIcon:C,rightIcon:D,componentID:O,status_id:h,wrapStyles:B,emptySelect:A,SearchInput:K,SearchInputPlaceholder:U,SelectedComponent:q,SelectorComponent:N,SelectorGravityPoint:L,DynamicOptionsOnSearch:ce}=G,k=H(G,["tone","required","form","className","multiSelect","enableFormSubmit","checkValidationAtFirst","onValidate","onUpdateValue","onUpdateValidValue","value","options","leftIndicator","rightIndicator","leftIcon","rightIcon","componentID","status_id","wrapStyles","emptySelect","SearchInput","SearchInputPlaceholder","SelectedComponent","SelectorComponent","SelectorGravityPoint","DynamicOptionsOnSearch"]);return a(J,{children:F("div",g(f({tabIndex:0},k),{"data-disabled":t.disabled,"data-name":t.name,"data-value":r.JsonTo(e.val_status.dataValue),"data-form":c,"data-show-validation":W.isShowValidation(e.val_validate,e.val_status,!!n),"data-validation":e.val_validate.ok,"data-component-id":e.val_status.componentID,"data-input-origin":e.val_status.componentID,"data-focus":!!e.val_focus,"data-input-type":"autocomplete-"+(d?"multi":"single"),className:[u,x("Core")].join(" "),onMouseDown:V=>{t.disabled||e.val_focus&&(V.stopPropagation(),V.preventDefault())},onFocus:V=>{t.disabled||e.set_focus(!0)},onClick:V=>{t.disabled||(k!=null&&k.onClick&&(k==null||k.onClick(V)),!!r(V.target).parent("."+x("SelectedCell")).length)||e.set_focus(!0)},onKeyDown:V=>{i&&W.SubmitForm(V)},children:[F(z.Left,{flexWrap:!0,gap:"1/3",freeCSS:{letterSpacing:".5px"},children:[a(w.Selected,f({},e)),a(le,{width:0,overflow:"hidden",opacity:"trans",children:"A"}),a(w.SearchInput,f({},e))]}),a(w.Selector,f({},e))]}))})},SearchInput:e=>{let{rootStates:t}=e;return b(()=>{var l;if(t.disabled||!e.val_focus)return;let o=R.FilterSelectableOptions(e);e.set_optionFocused(((l=o[0])==null?void 0:l.value)||null)},[e.val_keyword]),b(()=>{e.set_selectorOpen(e.val_focus),e.val_focus&&r("#SearchInput_"+t.componentID).focus()},[e.val_focus]),b(()=>{e.val_status.eventType!="init"&&(t.max==e.val_status.dataValue.length?(e.set_focus(!1),e.set_selectorOpen(!1)):r("#SearchInput_"+t.componentID).focus())},[e.val_status.dataValue]),t.disabled||!e.val_focus?null:a(T,{id:"SearchInput_"+t.componentID,placeholder:t.SearchInputPlaceholder||"\u691C\u7D22...",opacity:e.val_focus?"max":"trans","data-form":t.form,transition:"middle",flexSizing:0,htmlTag:"input",border:"unset",backgroundColor:"trans",value:e.val_keyword,freeCSS:{outline:"none"},onKeyDown:o=>{let{key:l,metaKey:c,ctrlKey:u}=o,d=c||u;l=="Escape"||l=="Tab"?e.set_focus(!1):l==" "?r.scope(()=>{e.val_selectorOpen||e.val_keyword||(o.preventDefault(),e.set_selectorOpen(!0))}):l=="Backspace"?r.scope(()=>{if(e.val_keyword)return;let i=[...e.val_status.dataValue];i.pop(),e.set_status(n=>g(f({},n),{dataValue:i,eventType:"update",eventID:r.uuid.gen()}))}):l=="Enter"&&r.scope(()=>{if(!e.val_selectorOpen)return e.set_selectorOpen(!0);if(!e.val_optionFocused)return;let i=e.val_options.find(p=>p.value==e.val_optionFocused);if(!i)return;let{value:n}=i;e.set_status(p=>{let s=[...p.dataValue];return r.scope(()=>{if(n==="null")return s=[];p.dataValue.includes(n)?s=s.filter(v=>v!==n):t.multiSelect?s.push(n):s=[n]}),g(f({},p),{dataValue:s,eventType:"update",eventID:r.uuid.gen()})}),e.set_keyword("")}),r.scope(()=>{if(!["ArrowDown","ArrowUp"].includes(l))return;if(o.preventDefault(),!e.val_selectorOpen)return e.set_selectorOpen(!0);let i=l=="ArrowDown"?1:-1,n=R.FilterSelectableOptions(e),p=n.length-1,s=null;r.scope(()=>{var m,v,I,S;if(i==1){if(s=((m=n[0])==null?void 0:m.value)||null,e.val_optionFocused==null)return;if(d){s=n[p].value||s||null;return}let _=n.findIndex(C=>C.value==e.val_optionFocused);if(_==-1)return;s=((v=n[_+1])==null?void 0:v.value)||s||null}else{if(s=n[p].value||null,e.val_optionFocused==null)return;if(d){s=((I=n[0])==null?void 0:I.value)||s||null;return}let _=n.findIndex(C=>C.value==e.val_optionFocused);if(_==-1)return;s=((S=n[_-1])==null?void 0:S.value)||s||null}}),e.set_optionFocused(s)}),t.enableFormSubmit&&W.SubmitForm(o)},onChange:o=>{let c=o.target.value;e.set_keyword(c)}},"searchInput")},Selector:e=>{let{rootStates:t}=e,o="autocomplete-sheet-"+t.componentID;return b(()=>{if(t.disabled)return;let l="autocomplete-click-"+t.componentID;e.val_focus?r(document).addEvent({eventID:l,eventType:"click",callback:c=>{let u=r(c.target),d=!!r(u).parent("."+x("Core")).length;r(u).parent("."+x("Selector")).length||d||e.set_focus(!1)}}):(r(document).removeEvent([l]),e.set_keyword(""))},[e.val_focus]),b(()=>{if(e.val_selectorOpen){let l=r('[data-input-origin="'+t.componentID+'"]');if(!l)return;P.open({sheetID:o,type:"custom",parent:l[0],marginTop:"1/4",gravityPoint:t.SelectorGravityPoint||22,close_option:{aroundClick:!1},content:a(w.SelectorBody,f({},e))})}else P.close(o)},[e.val_selectorOpen]),b(()=>{if(t.disabled||!e.val_focus)return;P.customSheet.reposition(o);let l=$.get("refresh-autocomplete-selector-"+t.componentID);l&&l(e)},[e.val_focus,e.val_options,e.val_status.dataValue,e.val_keyword,e.val_optionFocused]),null},SelectorBody:e=>{let[t,o]=y(e),{rootStates:l}=t,[c,u]=y("idle"),[d,i]=y("idle");b(()=>{$.set({["refresh-autocomplete-selector-"+l.componentID]:m=>{o(m)}})},[]),b(()=>{if(!t.val_focus||!l.DynamicOptionsOnSearch)return;if(c=="idle")return u("ok");i("fetch");let m="autocomplete-search-"+l.componentID;r.interval.clear(m),r.interval.standBy(m,300,()=>X(void 0,null,function*(){let v=yield l.DynamicOptionsOnSearch(t.val_keyword);i("idle");let I=R.InitOptions(v||[]);t.set_options(I)}))},[t.val_keyword]);let n=[],p=R.FilterSelectableOptions(t,!0),s=R.FilterSelectableOptions(t);return p.forEach((m,v)=>{let{type:I,value:S}=m,_=t.val_optionFocused==S,C=t.val_status.dataValue.includes(S),D=l.SelectorComponent;n.push(a(D,{option:m,isFocused:_,isSelected:C,addCallback:()=>{t.set_status(O=>{let h=[...O.dataValue];return r.scope(()=>{if(S==="null")return h=[];O.dataValue.includes(S)?h=h.filter(A=>A!==S):l.multiSelect?h.push(S):h=[S]}),g(f({},O),{dataValue:h,eventType:"update",eventID:r.uuid.gen()})})}},String(S)||r.uuid.gen()))}),s.length||(n=[a(E.Supplement,{padding:[0,1],fontColor:"4.thin",children:"\u5019\u88DC\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093"},"no-selector-notice")]),d=="fetch"&&(n=[F(z.Left,{padding:1,fontColor:"3.blur",children:[a(ae.Theme.R,{showInitial:!0}),a(E.Supplement,{children:"Loading..."})]},"loader")]),a(P.Body,{className:x("Selector"),ssCardBox:!0,borderRadius:"3.tone.tertiary",boxShadow:"1.normal",freeCSS:{minWidth:12*18},children:a(oe,{gap:0,padding:[1,0],children:n})})},Selected:e=>{let{rootStates:t,val_status:o,set_status:l,val_optionsDict:c}=e,u=[];return o.dataValue.forEach(d=>{let i=c[String(d)];if(!i)return;let n=t.SelectedComponent,p=i.label;i.value==="null"&&(p=""),u.push(a(T,{className:x("SelectedCell"),children:a(n,{value:i.value,label:p,children:p,removeCallback:s=>{if(s.stopPropagation(),s.preventDefault(),t.disabled)return;let m=[...o.dataValue];m=m.filter(v=>v!==d),l(v=>g(f({},v),{dataValue:m,eventType:"update",eventID:r.uuid.gen()}))}})},String(i.value)))}),a(J,{children:u})},Core:e=>{let{onUpdateValue:t,onUpdateValidValue:o,value:l}=e,c={componentID:e.componentID||"",dataValue:l,eventType:"init",eventID:r.uuid.gen()},[u,d]=y(!1),[i,n]=y(""),[p,s]=y(e.options),[m,v]=y(e.value[0]||null),[I,S]=y({}),[_,C]=y(!1),[D,O]=y(c),[h,B]=y({ok:!1,notice:[]}),A=Z(!1);b(()=>{A.current?s(e.options):A.current=!0},[e.options]),b(()=>{if(!p.length)return;let q=[...p],N=f({},I);q.forEach(L=>{L.type!="label"&&(N[String(L.value)]=L)}),S(N)},[p]);let K={rootStates:e,val_selectorOpen:u,set_selectorOpen:d,val_options:p,set_options:s,val_optionFocused:m,set_optionFocused:v,val_optionsDict:I,set_optionsDict:S,val_keyword:i,set_keyword:n,val_focus:_,set_focus:C,val_status:D,set_status:O,val_validate:h,set_validate:B};W.CommonEffects({type:"autocomplete",states:e,val_status:D,set_status:O,val_validate:h,set_validate:B,onUpdateValue:t,onUpdateValidValue:o,DefaultValidation:ue,ExtraOverrideStates:{dataValue:l,formatValue:l}});let U=_||D.dataValue.length&&D.dataValue[0]!=="null";return F(re,{val_status:D,set_status:O,val_validate:h,states:e,children:[a(se,{componentID:e.componentID,fontSize:e.fontSize,required:e.required,label:e.label,isActive:U}),a(w.Shallow,f({},K)),a(w.Button,f({},K))]})}},Y=e=>{let t=f({},e);t=g(f({value:[],min:0,max:65535,multiSelect:!0,padding:1,SearchInput:!0,emptySelect:!0,SelectorComponent:({option:l,isSelected:c,isFocused:u,addCallback:d})=>l.type=="selector"?a(j.Button.Sub.S,{color:"cloud",backgroundColor:"trans",borderRadius:0,fontColor:"2.normal",textAlign:"left",padding:["1/2",1.5],isActive:c||u,isActiveStyles:u?{backgroundColor:"cloud"}:{backgroundColor:"theme.opa.few",fontColor:"theme"},onClick:i=>{d()},children:a(E.Supplement,{paddingLeft:c?"1/2":0,transition:"short",children:l.label})}):a(J,{children:l.label}),SelectedComponent:({value:l,label:c,removeCallback:u})=>F(z.Left,{ssCardBox:"cloud",backgroundColor:"layer.3",borderRadius:"2.tone.secondary",fontSize:"1.mini",padding:"1/2",gap:0,children:[a(T,{padding:[0,"1/4"],children:c}),a(j.Button.Sub.R,{color:"cloud",fontColor:"white",backgroundColor:"layer.6",isRounded:!0,padding:"1/4",onClick:u,children:a(M.Times,{ssSphere:1})})]},"test")},t),{freeCSS:f({cursor:"pointer"},t.freeCSS)}),t.multiSelect||(t.min=1,t.max=1),t.options=t.options||[],t.emptySelect&&(t.options=[{value:null,label:a(E.Supplement,{fontColor:"4.thin",children:"\u9078\u629E\u3092\u89E3\u9664"})},...t.options]);let o=[];return t.value=r.flatArray(t.value||null),t.value.forEach((l,c)=>{o.push(r.JsonTo(l))}),t.value=o,t.options=R.InitOptions(t.options),r.is.nullish(t.rightIcon)&&(t.rightIcon=a(Q,{freeCSS:{pointerEvents:"none"},children:a(M.Search,{})}),t.disabled&&(t.rightIcon=a(Q,{fontColor:"5.translucent",freeCSS:{pointerEvents:"none"},children:a(M.Ban,{})}))),t.rightIcon&&(t=f({paddingRight:3},t)),t.leftIcon&&(t=f({paddingLeft:3},t)),a(ne,{componentID:t.componentID,children:w.Core,states:ee(ie.Boxish(t))})};export{Y as Autocomplete,Y as default};
|
|
1
|
+
import{b as v,c as D,d as j,e as Q}from"../../chunk-C5N2D3ZX.js";import{Fragment as H,jsx as l,jsxs as U}from"react/jsx-runtime";import{useState as b,useEffect as w,useRef as ae}from"react";import r from"@mingoo/jsmin";import{ExtractStyles as ne,useStore as Y}from"../../@utils";import{Box as R,Span as re,FAI as q,Column as ie}from"../../atoms";import{Text as B,Row as G}from"../../mols";import Z from"../Button";import{Loader as se}from"../Loader";import{Sheet as K}from"../Sheet";import{OptionalInputWrapper as ue,BoxWrapper as ce,CoreEffects as N,DefaultStyles as pe}from"./core";import{InputAutocompleteClasses as L}from"../../@styles/componentClasses";import{InputLabel as de}from"./Label";import{RightIcon as ee}from".";function me(t){let{value:e,states:a}=t,{required:o,options:c,min:u,max:S}=a;u=u||0,S=S||65535;let n=[],i=e.filter(m=>m!=="null").length;return o&&(i||n.push({type:"invalid",label:"\u5FC5\u9808\u9805\u76EE\u3067\u3059"})),i<u&&n.push({type:"invalid",label:u+"\u500B\u4EE5\u4E0A\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044"}),i>S&&n.push({type:"invalid",label:S+"\u500B\u307E\u3067\u9078\u629E\u3067\u304D\u307E\u3059"}),{ok:!n.filter(({type:m})=>m=="invalid").length,notice:n}}const A={InitOptions:t=>{let e=[];return t.forEach(a=>{let{type:o,label:c,value:u,searchValue:S}=a,n=S||(r.is.string(c)?c:"")||(r.is.string(u)?u:"");e.push(D(v({},a),{searchValue:n,type:o||"selector",value:r.JsonTo(u)}))}),e},FilterSelectableOptions:(t,e)=>{let a=t.val_options;if(e||(a=t.val_options.filter(o=>o.type!="label")),t.val_keyword){let o=t.val_keyword.toLower().replace(/ /g,"");a=a.filter(c=>(c.searchValue||"").toLower().replace(/ /g,"").includes(o))}return a}},F={Shallow:t=>{let{rootStates:e,val_status:a}=t,o=ne(e);return l(R,{position:"absolute",top:0,left:0,right:0,height:0,overflow:"hidden",opacity:"trans",freeCSS:{zIndex:3,pointerEvents:"none"},children:l(B.Description,D(v({className:e.className},o),{position:"absolute",width:1,freeCSS:D(v({},o.freeCSS),{color:"orange"}),"data-id":"shallow_"+a.componentID,children:l(R,{"data-input-value-shallow":a.componentID,children:"A"})}))})},Button:t=>{let{rootStates:e,val_keyword:a,set_keyword:o,val_optionFocused:c,set_optionFocused:u,val_options:S,set_options:n,val_optionsDict:i,set_optionsDict:m,val_preventOpenSelectorOnFocus:s,set_preventOpenSelectorOnFocus:p,val_selectorOpen:f,set_selectorOpen:y,val_status:d,set_status:_,val_validate:I,set_validate:V}=t,X=e,{tone:C,required:g,form:T,className:x,multiSelect:P,enableFormSubmit:E,checkValidationAtFirst:z,onValidate:J,onUpdateValue:W,onUpdateValidValue:fe,value:Se="",options:ve,leftIndicator:he,rightIndicator:ye,leftIcon:_e,rightIcon:Ie,componentID:ge,status_id:be,wrapStyles:Oe,emptySelect:De,SearchInput:Ve,SearchInputPlaceholder:Ce,SelectedComponent:we,SelectorComponent:ke,SelectorGravityPoint:xe,DynamicOptionsOnSearch:Re}=X,k=j(X,["tone","required","form","className","multiSelect","enableFormSubmit","checkValidationAtFirst","onValidate","onUpdateValue","onUpdateValidValue","value","options","leftIndicator","rightIndicator","leftIcon","rightIcon","componentID","status_id","wrapStyles","emptySelect","SearchInput","SearchInputPlaceholder","SelectedComponent","SelectorComponent","SelectorGravityPoint","DynamicOptionsOnSearch"]);w(()=>{var O;if(e.disabled||!f)return;let h=A.FilterSelectableOptions(t);u(((O=h[0])==null?void 0:O.value)||null)},[a]),w(()=>{d.eventType!="init"&&(e.max==d.dataValue.length?(y(!1),p(!0),setTimeout(()=>{let h=r('[data-input-origin="'+e.componentID+'"]');h&&h.focus()},10)):r("#SearchInput_"+e.componentID).focus())},[d.dataValue]);let M="autocomplete-sheet-"+e.componentID;return w(()=>{let h="autocomplete-click-"+e.componentID;if(f){let O=r('[data-input-origin="'+e.componentID+'"]');if(!O)return;r("#SearchInput_"+e.componentID).focus(),K.open({sheetID:M,type:"custom",parent:O[0],padding:["1/4",0],gravityPoint:e.SelectorGravityPoint||22,close_option:{aroundClick:!1},content:l(F.Selector,v({},t))}),r(document).addEvent({eventID:h,eventType:"click",callback:oe=>{let $=r(oe.target),le=!!r($).parent("."+L("Core")).length;r($).parent("."+L("Selector")).length||le||y(!1)}})}else r(document).removeEvent([h]),o(""),K.close(M)},[f]),w(()=>{if(e.disabled||!f)return;K.customSheet.reposition(M);let h=Y.get("refresh-autocomplete-selector-"+e.componentID);h&&h(t)},[S,d.dataValue,a,c]),l(H,{children:l(R,D(v({tabIndex:0},k),{"data-disabled":e.disabled,"data-name":e.name,"data-value":r.JsonTo(d.dataValue),"data-form":T,"data-show-validation":N.isShowValidation(I,d,!!z),"data-validation":I.ok,"data-component-id":d.componentID,"data-input-origin":d.componentID,"data-focus":!!f,"data-input-type":"autocomplete-"+(P?"multi":"single"),className:[x,L("Core")].join(" "),onFocus:h=>{if(k!=null&&k.onFocus&&(k==null||k.onFocus(h)),!e.disabled&&!e.disabled){if(s)return p(!1);y(!0)}},onKeyDown:h=>{let{key:O}=h;E&&N.SubmitForm(h),!f&&(O==" "||O=="ArrowDown"||O=="ArrowUp"||O=="Enter")&&y(!0)},children:U(G.Left,{flexWrap:!0,gap:"1/3",freeCSS:{letterSpacing:".5px"},children:[l(F.Selected,v({},t)),l(re,{width:0,overflow:"hidden",opacity:"trans",children:"A"}),l(F.SearchInput,v({},t))]})}))})},SearchInput:t=>{let{rootStates:e}=t;return e.disabled||!t.val_selectorOpen?null:l(R,{id:"SearchInput_"+e.componentID,placeholder:e.SearchInputPlaceholder||"\u691C\u7D22...",opacity:t.val_selectorOpen?"max":"trans","data-form":e.form,transition:"middle",flexSizing:0,htmlTag:"input",border:"unset",backgroundColor:"trans",value:t.val_keyword,freeCSS:{outline:"none"},onKeyDown:a=>{let{key:o,metaKey:c,ctrlKey:u}=a,S=c||u;o=="Escape"?(t.set_selectorOpen(!1),t.set_preventOpenSelectorOnFocus(!0),setTimeout(()=>{let n=r('[data-input-origin="'+e.componentID+'"]');n&&n.focus()},10)):o=="Tab"?t.set_selectorOpen(!1):o==" "?r.scope(()=>{t.val_selectorOpen||t.val_keyword||(a.preventDefault(),t.set_selectorOpen(!0))}):o=="Backspace"?r.scope(()=>{if(t.val_keyword)return;let n=[...t.val_status.dataValue];n.pop(),t.set_status(i=>D(v({},i),{dataValue:n,eventType:"update",eventID:r.uuid.gen()}))}):o=="Enter"&&r.scope(()=>{if(!t.val_selectorOpen)return t.set_selectorOpen(!0);if(!t.val_optionFocused)return;let n=t.val_options.find(m=>m.value==t.val_optionFocused);if(!n)return;let{value:i}=n;t.set_status(m=>{let s=[...m.dataValue];return r.scope(()=>{if(i==="null")return s=[];m.dataValue.includes(i)?s=s.filter(f=>f!==i):e.multiSelect?s.push(i):s=[i]}),D(v({},m),{dataValue:s,eventType:"update",eventID:r.uuid.gen()})}),t.set_keyword("")}),r.scope(()=>{if(!["ArrowDown","ArrowUp"].includes(o))return;if(a.preventDefault(),!t.val_selectorOpen)return t.set_selectorOpen(!0);let n=o=="ArrowDown"?1:-1,i=A.FilterSelectableOptions(t),m=i.length-1,s=null;r.scope(()=>{var p,f,y,d;if(n==1){if(s=((p=i[0])==null?void 0:p.value)||null,t.val_optionFocused==null)return;if(S){s=i[m].value||s||null;return}let _=i.findIndex(I=>I.value==t.val_optionFocused);if(_==-1)return;s=((f=i[_+1])==null?void 0:f.value)||s||null}else{if(s=i[m].value||null,t.val_optionFocused==null)return;if(S){s=((y=i[0])==null?void 0:y.value)||s||null;return}let _=i.findIndex(I=>I.value==t.val_optionFocused);if(_==-1)return;s=((d=i[_-1])==null?void 0:d.value)||s||null}}),t.set_optionFocused(s)}),e.enableFormSubmit&&N.SubmitForm(a)},onChange:a=>{let c=a.target.value;t.set_keyword(c)}},"searchInput")},Selector:t=>{let[e,a]=b(t),{rootStates:o}=e,[c,u]=b("idle"),[S,n]=b("idle");w(()=>{Y.set({["refresh-autocomplete-selector-"+o.componentID]:p=>{a(p)}})},[]),w(()=>{if(!e.val_selectorOpen||!o.DynamicOptionsOnSearch)return;if(c=="idle")return u("ok");n("fetch");let p="autocomplete-search-"+o.componentID;r.interval.clear(p),r.interval.standBy(p,300,()=>Q(void 0,null,function*(){let f=yield o.DynamicOptionsOnSearch(e.val_keyword);n("idle");let y=A.InitOptions(f||[]);e.set_options(y)}))},[e.val_keyword]);let i=[],m=A.FilterSelectableOptions(e,!0),s=A.FilterSelectableOptions(e);return m.forEach((p,f)=>{let{type:y,value:d}=p,_=e.val_optionFocused==d,I=e.val_status.dataValue.includes(d),V=o.SelectorComponent;i.push(l(V,{option:p,isFocused:_,isSelected:I,addCallback:()=>{e.set_status(C=>{let g=[...C.dataValue];return r.scope(()=>{if(d==="null")return g=[];C.dataValue.includes(d)?g=g.filter(x=>x!==d):o.multiSelect?g.push(d):g=[d]}),D(v({},C),{dataValue:g,eventType:"update",eventID:r.uuid.gen()})})}},String(d)||r.uuid.gen()))}),s.length||(i=[l(B.Supplement,{padding:[0,1],fontColor:"4.thin",children:"\u5019\u88DC\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093"},"no-selector-notice")]),S=="fetch"&&(i=[U(G.Left,{padding:1,fontColor:"3.blur",children:[l(se.Theme.R,{showInitial:!0}),l(B.Supplement,{children:"Loading..."})]},"loader")]),l(K.Body,{className:L("Selector"),ssCardBox:!0,borderRadius:"3.tone.tertiary",boxShadow:"1.normal",freeCSS:{minWidth:12*18},children:l(ie,{gap:0,padding:[1,0],children:i})})},Selected:t=>{let{rootStates:e,val_status:a,set_status:o,val_optionsDict:c}=t,u=[];return a.dataValue.forEach(S=>{let n=c[String(S)];if(!n)return;let i=e.SelectedComponent,m=n.label;n.value==="null"&&(m=""),u.push(l(R,{className:L("SelectedCell"),children:l(i,{value:n.value,label:m,children:m,removeCallback:s=>{if(s.stopPropagation(),s.preventDefault(),e.disabled)return;let p=[...a.dataValue];p=p.filter(f=>f!==S),o(f=>D(v({},f),{dataValue:p,eventType:"update",eventID:r.uuid.gen()}))}})},String(n.value)))}),l(H,{children:u})},Core:t=>{let{onUpdateValue:e,onUpdateValidValue:a,value:o}=t,c={componentID:t.componentID||"",dataValue:o,eventType:"init",eventID:r.uuid.gen()},[u,S]=b(!1),[n,i]=b(!1),[m,s]=b(""),[p,f]=b(t.options),[y,d]=b(t.value[0]||null),[_,I]=b({}),[V,C]=b(c),[g,T]=b({ok:!1,notice:[]}),x=ae(!1);w(()=>{x.current?f(t.options):x.current=!0},[t.options]),w(()=>{if(!p.length)return;let z=[...p],J=v({},_);z.forEach(W=>{W.type!="label"&&(J[String(W.value)]=W)}),I(J)},[p]);let P={rootStates:t,val_options:p,set_options:f,val_optionFocused:y,set_optionFocused:d,val_optionsDict:_,set_optionsDict:I,val_preventOpenSelectorOnFocus:u,set_preventOpenSelectorOnFocus:S,val_selectorOpen:n,set_selectorOpen:i,val_keyword:m,set_keyword:s,val_status:V,set_status:C,val_validate:g,set_validate:T};N.CommonEffects({type:"autocomplete",states:t,val_status:V,set_status:C,val_validate:g,set_validate:T,onUpdateValue:e,onUpdateValidValue:a,DefaultValidation:me,ExtraOverrideStates:{dataValue:o,formatValue:o}});let E=V.dataValue.length&&V.dataValue[0]!=="null";return E=E||n,U(ce,{val_status:V,set_status:C,val_validate:g,states:t,children:[l(de,{componentID:t.componentID,fontSize:t.fontSize,required:t.required,label:t.label,isActive:E}),l(F.Shallow,v({},P)),l(F.Button,v({},P))]})}},te=t=>{let e=v({},t);e=D(v({value:[],min:0,max:65535,multiSelect:!0,padding:1,SearchInput:!0,emptySelect:!0,SelectorComponent:({option:o,isSelected:c,isFocused:u,addCallback:S})=>o.type=="selector"?l(Z.Button.Sub.S,{color:"cloud",backgroundColor:"trans",borderRadius:0,fontColor:"2.normal",textAlign:"left",padding:["1/2",1.5],isActive:c||u,isActiveStyles:u?{backgroundColor:"cloud"}:{backgroundColor:"theme.opa.few",fontColor:"theme"},onClick:n=>{S()},children:l(B.Supplement,{paddingLeft:c?"1/2":0,transition:"short",children:o.label})}):l(H,{children:o.label}),SelectedComponent:({value:o,label:c,removeCallback:u})=>U(G.Left,{ssCardBox:"cloud",backgroundColor:"layer.3",borderRadius:"2.tone.secondary",fontSize:"1.mini",padding:"1/2",gap:0,children:[l(R,{padding:[0,"1/4"],children:c}),l(Z.Button.Sub.R,{color:"cloud",fontColor:"white",backgroundColor:"layer.6",isRounded:!0,padding:"1/4",onClick:u,children:l(q.Times,{ssSphere:1})})]},"test")},e),{freeCSS:v({cursor:"pointer"},e.freeCSS)}),e.multiSelect||(e.min=1,e.max=1),e.options=e.options||[],e.emptySelect&&(e.options=[{value:null,label:l(B.Supplement,{fontColor:"4.thin",children:"\u9078\u629E\u3092\u89E3\u9664"})},...e.options]);let a=[];return e.value=r.flatArray(e.value||null),e.value.forEach((o,c)=>{a.push(r.JsonTo(o))}),e.value=a,e.options=A.InitOptions(e.options),r.is.nullish(e.rightIcon)&&(e.rightIcon=l(ee,{freeCSS:{pointerEvents:"none"},children:l(q.Search,{})}),e.disabled&&(e.rightIcon=l(ee,{fontColor:"5.translucent",freeCSS:{pointerEvents:"none"},children:l(q.Ban,{})}))),e.rightIcon&&(e=v({paddingRight:3},e)),e.leftIcon&&(e=v({paddingLeft:3},e)),l(ue,{componentID:e.componentID,children:F.Core,states:pe.Boxish(e)})};export{te as Autocomplete,te as default};
|
package/dist/fn/Input/Filer.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{b as
|
|
1
|
+
import{b as v,c as b,d as Q,e as L}from"../../chunk-C5N2D3ZX.js";import{Fragment as ae,jsx as n,jsxs as r}from"react/jsx-runtime";import{useState as U,useEffect as ne}from"react";import I from"@mingoo/jsmin";import{$$fromRoot as P,useStore as X,GenerateHTMLProps as Y}from"../../@utils";import{Box as g,FAI as $,Flex as M,Column as ee}from"../../atoms";import{Row as ie}from"../../mols";import O from"../Button";import j from"../Snackbar";import{OptionalInputWrapper as oe,BoxWrapper as se,CoreEffects as re,DefaultStyles as ue}from"./core";import pe from"./TextField";import{InputFilerClasses as m}from"../../@styles/componentClasses";import{faCloudArrowUp as de}from"@fortawesome/free-solid-svg-icons/faCloudArrowUp";function ce(e){let{value:t,states:a}=e,{required:s}=a,l=[];return s&&!t.length&&l.push({type:"invalid",label:"\u5FC5\u9808\u9805\u76EE\u3067\u3059"}),{ok:!l.filter(({type:u})=>u=="invalid").length,notice:l}}const te={List:e=>{let{files:t,states:a,val_status:s,set_status:l}=e,u=(a.limit||1)-s.dataValue.length,d=t.map((p,T)=>n(te.Cell,{index:T,file:p,className:a.cellClassName,val_status:s,set_status:l,fileNameEdit:a.fileNameEdit},p.name));return u>0&&d.push(n("label",{className:[a.cellClassName,m("AddButton")].join(" "),"data-component-id":s.componentID,htmlFor:a.id,tabIndex:a.tabIndex,onKeyDown:p=>{let{key:T}=p;a.tabIndex!=-1&&[" ","Enter"].includes(T)&&P("#"+a.id).click()},children:r(ie.Center,{padding:["1/3",0],children:[n(g,{isRounded:!0,className:m("AddIcon"),children:n($,{icon:de,className:m("Icon"),fontColor:"theme",fontSize:"4.thirdTitle",backgroundColor:"theme.opa.low",ssSphere:3,padding:"1/2"})}),r(g,{children:[r(g,{fontColor:"theme",fontSize:"2.normal",isSemiBoldFont:!0,children:["\u30D5\u30A1\u30A4\u30EB\u3092\u9078\u629E(",u,")"]}),n(g,{fontColor:"4.thin",fontSize:"0.xs",isSemiBoldFont:!0,children:"\u30D5\u30A1\u30A4\u30EB\u3092\u30C9\u30ED\u30C3\u30D7"})]})]})},"AddButton")),n(ee,{flexSizing:"auto",className:a.className,children:d})},Cell:e=>{let{index:t,file:a,className:s,val_status:l,set_status:u,fileNameEdit:d=!0}=e,{name:p,size:T,type:i}=a,[A,B]=U(!1),N=I.uuid.gen(),V=T.rank(),[K,W]=p.replace(/\s/,"").replace(/(.*)\.(.*)$/,"$1 $2").split(" "),o="\u30D5\u30A1\u30A4\u30EB";return i.match(/image/)?o=i.replace(/image\//,""):i.match(/pdf/)?o="PDF":i.match(/csv/)?o="CSV":i.match(/spreadsheet/)?o="SpreadSheet":i.match(/presentation/)?o="PowerPoint":i.match(/word/)?o="Word":i.match(/zip/)?o="Zip":i.match(/powerpoint/)?o="PowerPoint":i.match(/html/)?o="HTML":i.match(/js/)?o="JavaScript":i.match(/css/)?o="CSS":i.match(/text\/plain/)&&(o="\u30C6\u30AD\u30B9\u30C8"),ne(()=>{A&&setTimeout(()=>{P("#"+N).focus()},100)},[A]),r(M,{verticalAlign:"center",flexWrap:!1,gap:1,className:s,children:[n($.File,{fontSize:"4.thirdTitle",fontColor:"4.thin"}),r(g,{flexSizing:0,children:[n(g,{children:n(M,{verticalAlign:"center",gap:"2/3",flexWrap:!1,className:m("FileName"),children:A?n(ae,{children:r(ee,{flexSizing:0,gap:"1/2",children:[r(M,{gap:"2/3",verticalAlign:"center",children:[n(pe,{tone:"border",wrapStyles:{flexSizing:"auto"},restrict:"fileName",name:"name",required:!0,id:N,form:"form-"+N,enableFormSubmit:!0,value:K,onKeyDown:y=>{let{key:_}=y;_=="Escape"&&B(!1)}}),r(g,{children:[". ",W]})]}),r(M,{gap:"2/3",horizontalAlign:"right",flexWrap:!1,children:[n(O.Button.Sub.R,{padding:["2/3",1],onClick:()=>{B(!1)},children:"\u9589\u3058\u308B"}),n(O.Button.Prime.R,{padding:["2/3",1],submitOption:{formName:"form-"+N,callback:y=>L(void 0,null,function*(){let{name:_}=y,D=[...l.dataValue],k=D[t],G=k.id;if(!k)return;let{target:z}=yield k.convert();if(!z)return;let c=yield String(z.result).toBlob(a.type);if(!c)return;let h=new File([c],_+"."+W,{type:k.type});h.id=G,D[t]=h,u(R=>b(v({},R),{dataValue:D,eventType:"update",eventID:I.uuid.gen()})),B(!1)})},children:"\u6C7A\u5B9A"})]})]})}):r(ae,{children:[p,!!d&&n(O.Button.Clear.R,{ssSphere:2.5,flexSizing:"none",fontColor:"4.thin",padding:"1/3",ssEffectsOnActive:"expand",color:"cloud",onClick:()=>{B(!0)},children:n($.Pen,{})})]})})}),!A&&r(g,{fontSize:"1.mini",fontColor:"4.thin",flexSizing:0,children:[o,"\u30D5\u30A1\u30A4\u30EB / ",V,"B"]})]}),n(O.Button.Sub.R,{color:"cloud",fontColor:"4.thin",ssSphere:3,onClick:()=>{let y=[...l.dataValue];y[t]&&(y.splice(t,1),u(D=>b(v({},D),{dataValue:y,eventType:"update",eventID:I.uuid.gen()})))},children:n($.Times,{})})]})}},me=e=>{let Z=e,{tone:t,required:a,form:s,fileNameEdit:l=!0,systemOnly:u=!1,accept:d="*",limit:p=1,checkValidationAtFirst:T,onChange:i,onValidate:A,onUpdateValue:B,onUpdateValidValue:N,value:V=[],className:K,cellStyles:W,cellClassName:o,componentID:y,status_id:_,enableFormSubmit:D,freeCSS:k,wrapStyles:G}=Z,z=Q(Z,["tone","required","form","fileNameEdit","systemOnly","accept","limit","checkValidationAtFirst","onChange","onValidate","onUpdateValue","onUpdateValidValue","value","className","cellStyles","cellClassName","componentID","status_id","enableFormSubmit","freeCSS","wrapStyles"]),J={componentID:e.componentID||"",dataValue:V,eventType:"init",eventID:I.uuid.gen()},[c,h]=U(J),[R,le]=U({ok:!1,notice:[]});re.CommonEffects({type:"file",states:e,val_status:c,set_status:h,val_validate:R,set_validate:le,onUpdateValue:B,onUpdateValidValue:N,DefaultValidation:ce,ExtraOverrideStates:{dataValue:V,formatValue:V},ExtraStoreStates:{AddFiles:w=>L(void 0,null,function*(){let E=X.get(c.componentID).Files,F=[];for(var C=0;C<(w==null?void 0:w.length);C++){let f=w[C],{type:S,name:x}=f;if(C+1+E.length>p){j.add({componentID:x,secondsToClose:12e3,children:`\u30D5\u30A1\u30A4\u30EB\u9078\u629E\u4E0A\u9650\u3092\u8D85\u3048\u305F\u305F\u3081\u3001${x}}\u306F\u8FFD\u52A0\u3067\u304D\u307E\u305B\u3093\u3002`,backgroundColor:"nega"});continue}if(d&&d=="image"&&!S.match(/image/)){j.add({componentID:x,secondsToClose:12e3,children:`\u30D5\u30A1\u30A4\u30EB\u5F62\u5F0F\u304C\u7570\u306A\u308B\u305F\u3081\u3001${x} \u306F\u8FFD\u52A0\u3067\u304D\u307E\u305B\u3093\u3002`,backgroundColor:"nega"});continue}F.push(f)}h(f=>b(v({},f),{dataValue:[...E,...F],eventType:"update",eventID:I.uuid.gen()}))})}});let H="";return d&&(d=="image"?H="image/png,image/jpeg":H=d),r(se,{val_status:c,set_status:h,val_validate:R,states:e,children:[n(g,b(v({htmlTag:"input",type:"file",className:m("Input"),"data-form":s,"data-input-type":"file","data-component-id":c.componentID,"data-validation":R.ok,accept:H,multiple:p!=1,onChange:w=>L(void 0,null,function*(){let E=w.target,F=E.files,C=[];for(var f=0;f<(F==null?void 0:F.length);f++){let S=F[f],x=S.name;if(S.id=I.uuid.gen(),f+1+c.dataValue.length>p){j.add({componentID:x,secondsToClose:12e3,children:`\u30D5\u30A1\u30A4\u30EB\u767B\u9332\u6570\u3092\u8D85\u3048\u305F\u305F\u3081\u3001${x}}\u306F\u8FFD\u52A0\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002`,backgroundColor:"nega"});continue}C.push(S)}h(S=>b(v({},S),{dataValue:[...S.dataValue,...C],eventType:"update",eventID:I.uuid.gen()})),E.value=""})},z),{tabIndex:-1,value:""})),!u&&n(te.List,{files:c.dataValue,states:e,val_status:c,set_status:h})]})};typeof window!="undefined"&&window.document&&I(document).addEvent({eventType:"dragover",callback:e=>{e.preventDefault(),P("."+m("AddButton")).addClass(m("Draggable"))},options:{passive:!1}}).addEvent({eventType:"drop",callback:e=>{e.preventDefault(),P("."+m("AddButton")).removeClass(m("Draggable"));let t=e.dataTransfer.files;if(t.length){let a=e.target;if(P(a).hasClass(m("AddButton"))){let{componentId:s}=a.dataset,l=X.get(s);l&&l.AddFiles&&l.AddFiles(t)}}},options:{passive:!1}});const q=e=>{e=v({},e),e.override="force";let t=Y(e);return t.cellClassName=[t.cellClassName,Y(ue.Boxish(b(v({},t.cellStyles),{tone:t.tone}))).className].join(" "),n(oe,{componentID:e.componentID,children:me,states:t})};q.fn={openDialog:e=>{let{multiple:t,accept:a}=e;return new Promise(s=>{const l=document.createElement("input");l.type="file",l.multiple=t!=null?t:!0,a&&(a=="image"?l.accept="image/png,image/jpeg":l.accept=a),l.onchange=u=>{s(u.target.files)},l.click()})}};export{q as Filer,q as default};
|
package/dist/fn/Input/List.d.ts
CHANGED
|
@@ -16,7 +16,7 @@ declare namespace List {
|
|
|
16
16
|
minSelect?: number;
|
|
17
17
|
disabled?: boolean;
|
|
18
18
|
value?: any | any[];
|
|
19
|
-
options:
|
|
19
|
+
options: Option[];
|
|
20
20
|
hideInput?: boolean;
|
|
21
21
|
cellStyles?: StyleTags.PropsNFreeCSS;
|
|
22
22
|
cellClassName?: string;
|
|
@@ -27,7 +27,7 @@ declare namespace List {
|
|
|
27
27
|
type: Type;
|
|
28
28
|
tone: Tone;
|
|
29
29
|
};
|
|
30
|
-
type
|
|
30
|
+
type Option = {
|
|
31
31
|
value: any;
|
|
32
32
|
label: ReactElement;
|
|
33
33
|
disabled?: boolean;
|
package/dist/fn/Input/List.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{b as o,c as p,d as
|
|
1
|
+
import{b as o,c as p,d as J}from"../../chunk-C5N2D3ZX.js";import{jsx as a,jsxs as oe}from"react/jsx-runtime";import{useState as Y}from"react";import y from"@mingoo/jsmin";import{$$fromRoot as ae,GenerateHTMLProps as ne}from"../../@utils";import{Box as T,Flex as se,Label as ie,FAI as re}from"../../atoms";import Z from"../Button";import{OptionalInputWrapper as de,BoxWrapper as ce,CoreEffects as ee}from"./core";import ue from"./Hidden";import{InputListClasses as b}from"../../@styles/componentClasses";function me(t){let{value:l,states:n}=t,{type:e,required:u,minSelect:s=0}=n,i=[];return u&&(l.length||e=="radio"&&i.push({type:"invalid",label:"\u9078\u629E\u3055\u308C\u3066\u3044\u307E\u305B\u3093"})),s&&l.length<s&&i.push({type:"invalid",label:`${s}\u500B\u4EE5\u4E0A\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044`}),{ok:!i.filter(({type:d})=>d=="invalid").length,notice:i}}const L={OptionalListWrapper:t=>{let{value:l,options:n=[]}=t,e=y.is.exist(l)?y.flatArray(l):[],u=n.map(i=>{let{value:d,label:h}=i;return p(o({},i),{value:JSON.stringify(d),label:h})}),s=[];return e.forEach(i=>{let d=JSON.stringify(i);u.findIndex(D=>D.value==d)!=-1&&s.push(d)}),a(L.Core,p(o({},t),{value:s,options:u}))},Core:t=>{let V=t,{type:l,tone:n,required:e,componentID:u="",form:s,override:i,icon:d,iconType:h,CustomIcon:D,enableFormSubmit:A,checkValidationAtFirst:M,onValidate:w,onUpdateValue:k,onUpdateValidValue:_,value:B,options:W,className:g,cellStyles:$,cellClassName:X,cellCheckedStyles:q,cellCheckedClassName:H,minSelect:U,hideInput:z,freeCSS:F,wrapStyles:m}=V,x=J(V,["type","tone","required","componentID","form","override","icon","iconType","CustomIcon","enableFormSubmit","checkValidationAtFirst","onValidate","onUpdateValue","onUpdateValidValue","value","options","className","cellStyles","cellClassName","cellCheckedStyles","cellCheckedClassName","minSelect","hideInput","freeCSS","wrapStyles"]),S={componentID:u,dataValue:B,eventType:"init",eventID:y.uuid.gen()},[f,C]=Y(S),[v,K]=Y({ok:!1,notice:[]});return ee.CommonEffects({type:"list",states:t,val_status:f,set_status:C,val_validate:v,set_validate:K,onUpdateValue:k,onUpdateValidValue:_,DefaultValidation:me}),oe(ce,{val_status:f,set_status:C,val_validate:v,states:t,children:[a(ue,p(o({"data-value":JSON.stringify(f.dataValue),form:s,"data-input-type":l,"data-validation":v.ok},x),{componentID:f.componentID})),a(L.List,{rootStates:t,val_status:f,set_status:C})]})},List:t=>{let{rootStates:l,val_status:n,set_status:e}=t,{componentID:u,type:s,tone:i,icon:d=!0,options:h,name:D,form:A,tabIndex:M,hideInput:w,disabled:k,className:_,cellStyles:B,cellClassName:W="",cellCheckedStyles:g,cellCheckedClassName:$="",enableFormSubmit:X}=l,{dataValue:q}=n,H=l.CustomIcon,U=h.map((z,F)=>{let Q=z,{value:m,label:x,disabled:S,className:f="",checkedStyles:C,checkedClassName:v="",freeCSS:K}=Q,V=J(Q,["value","label","disabled","className","checkedStyles","checkedClassName","freeCSS"]),j=y.uuid.gen(),R=q.findIndex(r=>r===m)!=-1,I=o(o({},B),V),O=[b("Label"),W,f];R&&(I=p(o(o(o({},I),g),C),{freeCSS:o(o(o({},I==null?void 0:I.freeCSS),g==null?void 0:g.freeCSS),C==null?void 0:C.freeCSS)}),O=[...O,$,v]);const G=()=>{if(k||S)return;let r=[];if(s=="radio")r=[m];else if(s=="checkbox"||s=="checker")if(!R)r=[...n.dataValue,m];else{let c=[...n.dataValue];c.splice(n.dataValue.findIndex(E=>E==m),1),r=c}e(c=>p(o({},c),{dataValue:r,eventType:"update",eventID:y.uuid.gen()}))};return[a(T,{htmlTag:"input",type:s=="radio"?"radio":"checkbox",className:b("Input"),name:"RadioCheckbox-"+D,"data-list-index":u+"-"+F,id:j,value:String(m),"data-form-name":A,disabled:k||S,checked:R,onFocus:r=>{S||s=="radio"&&(n.dataValue.length||e(c=>p(o({},c),{dataValue:[m],eventType:"update",eventID:y.uuid.gen()})))},onChange:()=>{G()},onKeyDown:r=>{let{key:c,shiftKey:E}=r;if((s=="checkbox"||s=="checker")&&c!="Tab"){if(c.match(/Arrow/)){r.preventDefault();let le=["ArrowLeft","ArrowUp"].includes(c)?-1:1,N=F+le;N<0?N=h.length-1:N>=h.length&&(N=0),ae(`input[data-list-index="${u}-${N}"]`).focus()}}X&&ee.SubmitForm(r)},tabIndex:M},"List-"+JSON.stringify(m)),oe(ie,p(o({"data-disabled":k||S,htmlFor:j,className:O.join(" "),tabIndex:-1,display:"flex",verticalAlign:"center",gap:"1/6",flexWrap:!1},I),{children:[d&&a(H,{isChecked:R,toggle:()=>{G()}}),y.is.string(x)?a(T,{children:x}):x]}),"ListTrigger-"+JSON.stringify(m))]});return a(se,{flexSizing:"auto",style:l.style,freeCSS:o({},l.freeCSS),className:[_,b("CellBase"),b("HideInput_"+w),b("IconIndicator_"+!!d),b("Tone_"+i)].join(" "),children:U})},RadioIcon:t=>a(Z.Button.Normal.R,{ssPushable:!0,color:"cloud",tabIndex:-1,ssEffectsOnActive:"ripple.cloud",ssSphere:3,onClick:l=>{l.preventDefault(),l.stopPropagation(),t.toggle()},children:a(T,{ssSphere:1.5,border:"3.thick",borderWidth:2,borderColor:t.isChecked?"theme":"3.thick",position:"relative",transition:"middle",children:a(T,{position:"absolute",transition:"middle",isRounded:!0,backgroundColor:t.isChecked?"theme":"trans",opacity:t.isChecked?"max":"trans",freeCSS:{width:"60%",height:"60%",transform:t.isChecked?"scale(1)":"scale(.6)"}})})}),CheckboxIcon:t=>a(Z.Button.Normal.R,{ssPushable:!0,color:"cloud",tabIndex:-1,ssEffectsOnActive:"ripple.cloud",ssSphere:3,onClick:l=>{l.preventDefault(),l.stopPropagation(),t.toggle()},children:a(T,{ssSquare:1.5,flexCenter:!0,border:"3.thick",borderWidth:2,borderColor:t.isChecked?"theme":"3.thick",borderRadius:"3.tone.tertiary",position:"relative",backgroundColor:t.isChecked?"theme":"trans",transition:"middle",fontColor:"white",children:a(re.Check,{transition:"middle",opacity:t.isChecked?"max":"trans",freeCSS:{zIndex:8}})})})},P=t=>{t=t||"checkbox";const l=e=>(e=p(o({gap:"1/2",iconType:t=="radio"?"radio":"checkbox"},e),{type:t,cellStyles:o({position:"relative",borderRadius:"2.tone.secondary",transition:"middle"},e.cellStyles)}),e.CustomIcon||(e.iconType=="radio"?e.CustomIcon=L.RadioIcon:e.iconType=="checkbox"&&(e.CustomIcon=L.CheckboxIcon)),e.tone=="normal"?(e.cellStyles=o({padding:["1/4",1],border:"1.thin",isRounded:!0,backgroundColor:"layer.1"},e.cellStyles),e.cellCheckedStyles=o({borderColor:"theme",fontColor:"theme",boxShadow:"1.normal"},e.cellCheckedStyles)):e.tone=="border"?(e.cellStyles=o({paddingRight:1,border:"1.thin",isRounded:!0,backgroundColor:"layer.1"},e.cellStyles),e.cellCheckedStyles=o({borderColor:"theme",fontColor:"theme"},e.cellCheckedStyles)):e.tone=="cloud"&&(e.cellStyles=o({paddingRight:1,isRounded:!0,border:"1.thin",backgroundColor:"layer.2"},e.cellStyles),e.cellCheckedStyles=o({backgroundColor:"cloud",fontColor:"theme"},e.cellCheckedStyles)),e=ne(e),a(de,{componentID:e.componentID,children:L.OptionalListWrapper,states:e})),n=l;return n.Normal=e=>a(l,o({type:t,tone:"normal",icon:!1},e)),n.Border=e=>a(l,o({type:t,tone:"border"},e)),n.Cloud=e=>a(l,o({type:t,tone:"cloud"},e)),n.Vivid=e=>a(l,o({type:t,tone:"normal",icon:!1,cellCheckedStyles:{backgroundColor:"theme",fontColor:"white"}},e)),n.Simple=e=>a(l,o({type:t,tone:"plain",icon:!1,cellCheckedStyles:{fontColor:"theme"}},e)),n},pe=P("checkbox"),Ce=P("radio"),te=P();export{pe as Checkbox,te as List,Ce as Radio,te as default};
|
package/dist/fn/Input/Search.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{b as t}from"../../chunk-C5N2D3ZX.js";import{Fragment as l,jsx as e}from"react/jsx-runtime";import{FAI as p}from"../../atoms";import{Autocomplete as c}from"./Autocomplete";import{RightIcon as m}from".";const o=
|
|
1
|
+
import{b as t}from"../../chunk-C5N2D3ZX.js";import{Fragment as l,jsx as e}from"react/jsx-runtime";import{FAI as p}from"../../atoms";import{Autocomplete as c}from"./Autocomplete";import{RightIcon as m}from".";const o=n=>e(c,t({multiSelect:!1,SelectedComponent:({value:u,label:r})=>e(l,{children:r}),rightIcon:e(m,{freeCSS:{pointerEvents:"none"},children:e(p.AngleDown,{})})},n));export{o as Search,o as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{b as e,c as n,d as S}from"../../chunk-C5N2D3ZX.js";import{jsx as r}from"react/jsx-runtime";import V from"@mingoo/jsmin";import{useState as a}from"react";import{Radio as E}from"./List";import{InputSegmentedClasses as p}from"../../@styles/componentClasses";const R=t=>{let c=t,{__sys_segmented_type:o,tone:B,value:d,options:y,onUpdateValue:h,onUpdateValidValue:u,enableFormSubmit:M,checkValidationAtFirst:J,cellStyles:g,cellClassName:_,cellCheckedClassName:f,cellCheckedStyles:b,freeCSS:k,wrapStyles:L}=c,I=S(c,["__sys_segmented_type","tone","value","options","onUpdateValue","onUpdateValidValue","enableFormSubmit","checkValidationAtFirst","cellStyles","cellClassName","cellCheckedClassName","cellCheckedStyles","freeCSS","wrapStyles"]),[v]=a(V.uuid.gen()),[i,x]=a(d),[w,m]=a(i);return i!=d&&(x(d),m(d)),r(E,n(e({options:y,value:w,componentID:v,icon:!1,flexWrap:!1,borderRadius:"2.tone.secondary",position:"relative"},I),{freeCSS:e({whiteSpace:"nowrap"},k),cellStyles:e({flexCenter:!0,ssEffectsOnActive:"push"},g),cellCheckedStyles:e({},b),cellClassName:[_,p("Label"),p("Tone_"+o.replace(/\./ig,""))].join(" "),cellCheckedClassName:[f,p("Checked")].join(" "),tone:"custom",onUpdateValue:h,onUpdateValidValue:C=>{u&&u(C),o=="bottomline"&&m(C.value
|
|
1
|
+
import{b as e,c as n,d as S}from"../../chunk-C5N2D3ZX.js";import{jsx as r}from"react/jsx-runtime";import V from"@mingoo/jsmin";import{useState as a}from"react";import{Radio as E}from"./List";import{InputSegmentedClasses as p}from"../../@styles/componentClasses";const R=t=>{let c=t,{__sys_segmented_type:o,tone:B,value:d,options:y,onUpdateValue:h,onUpdateValidValue:u,enableFormSubmit:M,checkValidationAtFirst:J,cellStyles:g,cellClassName:_,cellCheckedClassName:f,cellCheckedStyles:b,freeCSS:k,wrapStyles:L}=c,I=S(c,["__sys_segmented_type","tone","value","options","onUpdateValue","onUpdateValidValue","enableFormSubmit","checkValidationAtFirst","cellStyles","cellClassName","cellCheckedClassName","cellCheckedStyles","freeCSS","wrapStyles"]),[v]=a(V.uuid.gen()),[i,x]=a(d),[w,m]=a(i);return i!=d&&(x(d),m(d)),r(E,n(e({options:y,value:w,componentID:v,icon:!1,flexWrap:!1,borderRadius:"2.tone.secondary",position:"relative"},I),{freeCSS:e({whiteSpace:"nowrap"},k),cellStyles:e({flexCenter:!0,ssEffectsOnActive:"push"},g),cellCheckedStyles:e({},b),cellClassName:[_,p("Label"),p("Tone_"+o.replace(/\./ig,""))].join(" "),cellCheckedClassName:[f,p("Checked")].join(" "),tone:"custom",onUpdateValue:h,onUpdateValidValue:C=>{u&&u(C),o=="bottomline"&&m(C.value)}}))},s=t=>{let{__sys_segmented_type:o}=t;return o=o||"plain",o=="plain"&&(t=n(e({padding:"1/3",gap:"1/3",ssCardBox:!0,isRounded:!0},t),{cellStyles:e({isRounded:!0,padding:["1/2","3/4"],borderRadius:"inherit",position:"relative"},t.cellStyles),cellCheckedStyles:e({backgroundColor:"theme",boxShadow:"1.normal",fontColor:"white"},t.cellCheckedStyles)})),r(R,e({__sys_segmented_type:"plain"},t))},l=s;l.Cloud=t=>{let o=n(e({__sys_segmented_type:"cloud",padding:"1/3",gap:"1/3",backgroundColor:"cloud"},t),{cellStyles:e({padding:"3/4",borderRadius:"inherit",position:"relative"},t.cellStyles),cellCheckedStyles:e({boxShadow:"1.normal",backgroundColor:"theme",fontColor:"white"},t.cellCheckedStyles)});return r(s,e({},o))},l.CloudTheme=t=>{let o=e({backgroundColor:"theme.opa.few",fontColor:"theme",__sys_segmented_type:"cloud.theme"},t);return r(l.Cloud,e({},o))},l.CloudMono=t=>{let o=n(e({fontColor:"3.blur",__sys_segmented_type:"cloud.mono"},t),{cellCheckedStyles:e({backgroundColor:"layer.1",fontColor:"1.clear"},t.cellCheckedStyles)});return r(l.Cloud,e({},o))},l.Border=t=>{let o=n(e({backgroundColor:"layer.1",border:"2.normal",overflow:"hidden",gap:0,fontColor:"3.blur",ssLastChildLossBorder:"right",boxShadow:"0.min",__sys_segmented_type:"border"},t),{cellStyles:e({padding:["1/4","2/3"],borderRadius:0,borderRight:"2.normal"},t.cellStyles),cellCheckedStyles:e({backgroundColor:"theme.opa.few",fontColor:"theme"},t.cellCheckedStyles)});return r(s,e({},o))},l.BorderVivid=t=>{let o=n(e({border:!0,borderColor:"theme",__sys_segmented_type:"border.vivid"},t),{cellStyles:e({borderRight:!0,borderColor:"theme"},t.cellStyles),cellCheckedStyles:e({backgroundColor:"theme",fontColor:"white"},t.cellCheckedStyles)});return r(l.Border,e({},o))},l.Bottomline=t=>{let o=n(e({__sys_segmented_type:"bottomline",gap:0,fontColor:"3.blur"},t),{cellStyles:e({ssEffectsOnActive:"ripple.theme",borderRadius:0,padding:1},t.cellStyles),cellCheckedStyles:e({fontColor:"theme"},t.cellCheckedStyles)});return r(s,e({},o))};export{l as Segmented,l as default};
|
|
@@ -3,7 +3,7 @@ import { StyleTags, ReactElement } from '../../@declares';
|
|
|
3
3
|
import { KeyValueDict } from '@mingoo/jsmin';
|
|
4
4
|
import { InputTypes } from '.';
|
|
5
5
|
declare namespace Select {
|
|
6
|
-
type Input = InputTypes.CoreInput<Value
|
|
6
|
+
type Input = InputTypes.CoreInput<Value> & React.DOMAttributes<HTMLInputElement> & {
|
|
7
7
|
label?: ReactElement;
|
|
8
8
|
tone?: InputTypes.BoxTone;
|
|
9
9
|
tabIndex?: number;
|
|
@@ -19,7 +19,7 @@ declare namespace Select {
|
|
|
19
19
|
SelectedCellStyles?: StyleTags.PropsNFreeCSS;
|
|
20
20
|
SelectorCellStyles?: StyleTags.PropsNFreeCSS;
|
|
21
21
|
SelectorStyles?: StyleTags.PropsNFreeCSS;
|
|
22
|
-
|
|
22
|
+
SelectorGravityPoint?: number;
|
|
23
23
|
};
|
|
24
24
|
type Value = string | number | boolean | KeyValueDict | void | null;
|
|
25
25
|
type Option = {
|
package/dist/fn/Input/Select.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{b as
|
|
1
|
+
import{b as u,c as y,d as J}from"../../chunk-C5N2D3ZX.js";import{Fragment as X,jsx as l,jsxs as Q}from"react/jsx-runtime";import{useState as C,useEffect as w}from"react";import s from"@mingoo/jsmin";import{ExtractStyles as ee,useStore as $}from"../../@utils";import{Box as x,Span as te,FAI as le,Column as ae}from"../../atoms";import{Text as k,Row as ne}from"../../mols";import oe from"../Button";import{Sheet as P}from"../Sheet";import{OptionalInputWrapper as re,BoxWrapper as se,CoreEffects as L,DefaultStyles as ie}from"./core";import{InputAutocompleteClasses as B}from"../../@styles/componentClasses";import{InputLabel as ue}from"./Label";import{RightIcon as ce}from".";function pe(e){let{value:t,states:a}=e,{required:r,options:i}=a,I=[];return r&&t==="null"&&I.push({type:"invalid",label:"\u5FC5\u9808\u9805\u76EE\u3067\u3059"}),{ok:!I.filter(({type:b})=>b=="invalid").length,notice:I}}const N={FilterSelectableOptions:(e,t)=>{let a=e.rootStates.options;return t||(a=a.filter(r=>r.type!="label")),a}},R={Shallow:e=>{let{rootStates:t,val_status:a}=e,r=ee(t);return l(x,{position:"absolute",top:0,left:0,right:0,height:0,overflow:"hidden",opacity:"trans",freeCSS:{zIndex:3,pointerEvents:"none"},children:l(k.Description,y(u({className:t.className},r),{position:"absolute",width:1,freeCSS:y(u({},r.freeCSS),{color:"orange"}),children:l(x,{"data-input-value-shallow":a.componentID,children:"A"})}))})},Button:e=>{let{rootStates:t,val_preventOpenSelectorOnFocus:a,set_preventOpenSelectorOnFocus:r,val_optionFocused:i,set_optionFocused:I,val_validate:b,set_validate:f,val_status:d,set_status:h,val_selectorOpen:S,set_selectorOpen:c}=e,U=t,{tone:_,required:V,form:D,className:T,enableFormSubmit:Y,emptySelect:de,checkValidationAtFirst:Z,onValidate:Se,onUpdateValue:fe,onUpdateValidValue:me,value:ve="",options:ye,leftIndicator:Ie,rightIndicator:be,leftIcon:ge,rightIcon:he,componentID:De,status_id:Ce,wrapStyles:_e,SelectedCellStyles:Ve,SelectorCellStyles:Oe,SelectorStyles:xe,SelectorGravityPoint:Re}=U,n=J(U,["tone","required","form","className","enableFormSubmit","emptySelect","checkValidationAtFirst","onValidate","onUpdateValue","onUpdateValidValue","value","options","leftIndicator","rightIndicator","leftIcon","rightIcon","componentID","status_id","wrapStyles","SelectedCellStyles","SelectorCellStyles","SelectorStyles","SelectorGravityPoint"]),K="select-sheet-"+t.componentID;return w(()=>{if(t.disabled)return;let o="select-click-"+t.componentID;if(S){let v=s('[data-input-origin="'+t.componentID+'"]');if(!v)return;P.open({sheetID:K,type:"custom",parent:v[0],padding:["1/4",0],gravityPoint:t.SelectorGravityPoint||22,close_option:{aroundClick:!1},content:l(R.Selector,u({},e))}),s(document).addEvent({eventID:o,eventType:"click",callback:A=>{let F=s(A.target),E=!!s(F).parent("."+B("Core")).length;s(F).parent("."+B("Selector")).length||E||c(!1)}})}else s(document).removeEvent([o]),P.close(K)},[S]),w(()=>{if(d.eventType=="init")return;let o=s('[data-input-origin="'+t.componentID+'"]');o&&o.focus()},[d.dataValue]),w(()=>{if(t.disabled||!S)return;let o=$.get("refresh-select-selector-"+t.componentID);o&&o(e)},[t.options,d.dataValue,i]),l(X,{children:l(x,y(u({tabIndex:0},n),{"data-disabled":t.disabled,"data-name":t.name,"data-form":D,"data-show-validation":L.isShowValidation(b,d,!!Z),"data-validation":b.ok,"data-component-id":d.componentID,"data-input-origin":d.componentID,"data-value":d.dataValue,"data-input-type":"select",className:[T,B("Core")].join(" "),onFocus:o=>{if(n!=null&&n.onFocus&&(n==null||n.onFocus(o)),!t.disabled){if(a)return r(!1);c(!0)}},onClick:o=>{n!=null&&n.onClick&&(n==null||n.onClick(o)),!t.disabled&&c(!0)},onKeyDown:o=>{let{key:v,metaKey:A,ctrlKey:F}=o,E=A||F;if(n!=null&&n.onKeyDown&&(n==null||n.onKeyDown(o)),Y&&L.SubmitForm(o),!t.disabled){if(s.scope(()=>{if(!["ArrowDown","ArrowUp"].includes(v))return;if(o.preventDefault(),!S)return c(!0);let g=v=="ArrowDown"?1:-1,p=N.FilterSelectableOptions(e),q=p.length-1,m=null;s.scope(()=>{var G,z,H,M;if(g==1){if(m=((G=p[0])==null?void 0:G.value)||null,i==null)return;if(E){m=p[q].value||m||null;return}let O=p.findIndex(W=>W.value==i);if(O==-1)return;m=((z=p[O+1])==null?void 0:z.value)||m||null}else{if(m=p[q].value||null,i==null)return;if(E){m=((H=p[0])==null?void 0:H.value)||m||null;return}let O=p.findIndex(W=>W.value==i);if(O==-1)return;m=((M=p[O-1])==null?void 0:M.value)||m||null}}),I(m)}),v=="Escape")c(!1);else if(v=="Tab")c(!1);else if(v=="Backspace")h(g=>y(u({},g),{dataValue:"null",eventType:"update",eventID:s.uuid.gen()}));else if(v==" ")o.preventDefault(),c(!0);else if(v=="Enter"){if(!S)return c(!0);if(!i)return;o.preventDefault();let g=t.options.find(p=>p.value==i);if(!g)return;h(p=>y(u({},p),{dataValue:g.value,eventType:"update",eventID:s.uuid.gen()})),c(!1)}}},children:Q(ne.Left,{flexWrap:!0,gap:"1/3",freeCSS:{letterSpacing:".5px"},children:[l(R.Selected,u({},e)),l(te,{width:0,overflow:"hidden",opacity:"trans",children:"A"})]})}))})},Selector:e=>{let[t,a]=C(e),{rootStates:r}=t;w(()=>{$.set({["refresh-select-selector-"+r.componentID]:f=>{a(f)}})},[]);let i=[],I=N.FilterSelectableOptions(t,!0),b=N.FilterSelectableOptions(t);return I.forEach((f,d)=>{let{type:h,value:S}=f,c=t.val_optionFocused==S,_=t.val_status.dataValue===S;if(h=="selector"){i.push(l(oe.Button.Sub.S,{color:"cloud",backgroundColor:"trans",borderRadius:0,fontColor:"2.normal",textAlign:"left",padding:["1/2",1.5],isActive:_||c,isActiveStyles:c?{backgroundColor:"cloud"}:{backgroundColor:"theme.opa.few",fontColor:"theme"},onClick:V=>{t.set_status(D=>y(u({},D),{dataValue:S,eventType:"update",eventID:s.uuid.gen()})),t.set_selectorOpen(!1),t.set_preventOpenSelectorOnFocus(!0)},children:l(k.Supplement,{paddingLeft:_?"1/2":0,transition:"short",children:f.label})},String(S)));return}i.push(l(x,{children:f.label},s.uuid.gen()))}),b.length||(i=[l(k.Supplement,{padding:[0,1],fontColor:"4.thin",children:"\u5019\u88DC\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093"},"no-selector-notice")]),l(P.Body,{className:B("Selector"),ssCardBox:!0,borderRadius:"3.tone.tertiary",boxShadow:"1.normal",freeCSS:{minWidth:12*18},children:l(ae,{gap:0,padding:[1,0],children:i})})},Selected:e=>{let t=[];return e.val_status.dataValue!=="null"&&s.scope(()=>{let a=e.rootStates.options.find(r=>r.value==e.val_status.dataValue);a&&t.push(l(x,y(u({},e.rootStates.SelectedCellStyles),{children:a.label}),String(a.value)))}),l(X,{children:t})},Core:e=>{let{onUpdateValue:t,onUpdateValidValue:a,value:r}=e,i={componentID:e.componentID||"",dataValue:r,eventType:"init",eventID:s.uuid.gen()},[I,b]=C(!1),[f,d]=C(i),[h,S]=C(!1),[c,_]=C(e.value||null),[V,D]=C({ok:!1,notice:[]}),T={rootStates:e,val_preventOpenSelectorOnFocus:I,set_preventOpenSelectorOnFocus:b,val_optionFocused:c,set_optionFocused:_,val_selectorOpen:h,set_selectorOpen:S,val_status:f,set_status:d,val_validate:V,set_validate:D};return L.CommonEffects({type:"select",states:e,val_status:f,set_status:d,val_validate:V,set_validate:D,onUpdateValue:t,onUpdateValidValue:a,DefaultValidation:pe,ExtraOverrideStates:{dataValue:r,formatValue:r}}),Q(se,{val_status:f,set_status:d,val_validate:V,states:e,children:[l(ue,{componentID:e.componentID,fontSize:e.fontSize,required:e.required,label:e.label,isActive:f.dataValue!=="null"}),l(R.Shallow,u({},T)),l(R.Button,u({},T))]})}},j=e=>(e=y(u({emptySelect:!0},e),{freeCSS:u({cursor:"pointer"},e.freeCSS)}),e.value=s.JsonTo(e.value||null),e.emptySelect&&(e.options=[{value:null,label:l(k.Supplement,{fontColor:"4.thin",children:"\u9078\u629E\u3092\u89E3\u9664"})},...e.options]),e.options.forEach((t,a)=>{let{type:r,value:i}=t;e.options[a]=y(u({},t),{type:r||"selector",value:s.JsonTo(i)})}),s.is.nullish(e.rightIcon)&&(e.rightIcon=l(ce,{freeCSS:{pointerEvents:"none"},children:l(le.AngleDown,{})})),e.rightIcon&&(e=u({paddingRight:3},e)),e.leftIcon&&(e=u({paddingLeft:3},e)),l(re,{componentID:e.componentID,children:R.Core,states:ie.Boxish(e)}));export{j as Select,j as default};
|
package/dist/fn/Input/Switch.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{b as l,c as
|
|
1
|
+
import{b as l,c as f,d as g}from"../../chunk-C5N2D3ZX.js";import{jsx as e,jsxs as T}from"react/jsx-runtime";import{useState as V}from"react";import k from"@mingoo/jsmin";import r from"../../atoms/Box";import{Row as H}from"../../mols";import O from"../Button";import{OptionalInputWrapper as q,BoxWrapper as M,CoreEffects as x}from"./core";import{InputSwitchClasses as m}from"../../@styles/componentClasses";function P(t){let{value:I,states:a}=t,{required:y}=a,n=[];return y&&!I&&n.push({type:"invalid",label:"ON\u306B\u306A\u3063\u3066\u3044\u307E\u305B\u3093"}),{ok:!n.filter(({type:s})=>s=="invalid").length,notice:n}}const U=t=>{let S=t,{componentID:I,color:a="posi",required:y,form:n,id:s,enableFormSubmit:R,checkValidationAtFirst:W,onChange:b,onKeyDown:C,onValidate:A,onUpdateValue:B,onUpdateValidValue:E,value:c="",icon:v="",appearance:p="material"}=S,_=g(S,["componentID","color","required","form","id","enableFormSubmit","checkValidationAtFirst","onChange","onKeyDown","onValidate","onUpdateValue","onUpdateValidValue","value","icon","appearance"]),F={componentID:t.componentID||"",dataValue:c,eventType:"init",eventID:k.uuid.gen()},[o,h]=V(F),[u,w]=V({ok:!1,notice:[]}),d=!!o.dataValue;return x.CommonEffects({type:"switch",states:t,val_status:o,set_status:h,val_validate:u,set_validate:w,DefaultValidation:P,onUpdateValue:B,onUpdateValidValue:E,ExtraOverrideStates:{dataValue:c,formatValue:c}}),T(M,{val_status:o,set_status:h,val_validate:u,states:t,children:[e(r,l({htmlTag:"input",type:"checkbox","data-form":n,"data-input-type":"switch","data-validation":u.ok,"data-component-id":o.componentID,"data-value":o.dataValue,checked:o.dataValue,className:m("Input"),id:s,onKeyDown:i=>{C&&C(i),R&&x.SubmitForm(i)},onChange:i=>{let{checked:N}=i.target;u.ok&&w({ok:!1,notice:[]}),h(L=>f(l({},L),{dataValue:N,eventType:"update",eventID:k.uuid.gen()})),b&&b(i)}},_)),e(O.Label.Plain,{tabIndex:-1,htmlFor:s,padding:"1/3",transition:"middle",borderRadius:"1.tone.primary",className:m("Label"),children:e(r,f(l({},p=="applely"?{padding:"1/4",isRounded:!0,backgroundColor:d?a:"layer.5"}:{}),{children:T(H.Center,{unitHeight:2.5,position:"relative",freeCSS:{width:12*4.5},children:[p=="material"&&e(r,{position:"absolute",backgroundColor:d?a:"layer.5",isRounded:!0,unitHeight:1,transition:"middle",width:1,opacity:"middle",className:m("Bar")}),e(r,{position:"absolute",top:0,left:0,backgroundColor:p=="material"&&d?a:"white",transition:"middle",ssSphere:2.5,boxShadow:"1.remark",className:m("Dot"),children:v&&e(r,{transition:"middle",ssSquare:2,flexCenter:!0,fontColor:p=="applely"&&d?a:"white",children:v})})]})}))})]})},D=t=>(t=l({},t),t.color=t.color||"theme",e(q,{componentID:t.componentID,children:U,states:t}));export{D as Switch,D as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as ee,b as l,c as E,d as z}from"../../../chunk-C5N2D3ZX.js";import{Fragment as Ve,jsx as g,jsxs as ne}from"react/jsx-runtime";import{useState as A,useEffect as Y,useRef as me}from"react";import k from"@mingoo/jsmin";import{$$fromRoot as ue,Config as te,useStore as P,ExtractStyles as ce,GenerateHTMLProps as pe}from"../../../@utils";import{Box as q,FAI as de}from"../../../atoms";import{Text as fe}from"../../../mols";import ae from"../../Button";import re from"../../Tooltips";import{faClock as he}from"@fortawesome/free-solid-svg-icons/faClock";import{faCalendarAlt as ge}from"@fortawesome/free-solid-svg-icons/faCalendarAlt";import{OptionalInputWrapper as ye,BoxWrapper as ve,CoreEffects as K,DefaultStyles as De}from"../core";import{RightIcon as Ie}from"..";import Te from"../Hidden";import Se from"../Select";import{InputLabel as xe}from"../Label";import be from"./Picker";const F=" ~ ",ke={clock:{defaultValue:"--:--",format:/^\d{2}\D\d{2}$/,ranges:[{type:"hour",from:0,length:2},{type:"minute",from:3,length:2}],sets:1},date:{defaultValue:"----/--/--",format:/^\d{4}\D\d{2}\D\d{2}$/,ranges:[{type:"year",from:0,length:4},{type:"month",from:5,length:2},{type:"date",from:8,length:2}],sets:1},week:{defaultValue:"----\u5E74\u7B2C--\u9031",format:/^\d{4}\D\d{2}$/,ranges:[{type:"year",from:0,length:4,region:6},{type:"week",from:6,length:2,region:3}],sets:1},month:{defaultValue:"----\u5E74--\u6708",format:/^\d{4}\D\d{2}$/,ranges:[{type:"year",from:0,length:4},{type:"month",from:5,length:2,region:3}],sets:1},year:{defaultValue:"----\u5E74",format:/^\d{4}$/,ranges:[{type:"year",from:0,length:4,region:5}],sets:1},dates:{defaultValue:"----/--/--",format:/^\d{4}\D\d{2}\D\d{2}$/,ranges:[{type:"year",from:0,length:4},{type:"month",from:5,length:2},{type:"date",from:8,length:2,region:5},{type:"year",from:10+F.length,length:4},{type:"month",from:15+F.length,length:2},{type:"date",from:18+F.length,length:2}],sets:2},months:{defaultValue:"----\u5E74--\u6708",format:/^\d{4}\D\d{2}$/,ranges:[{type:"year",from:0,length:4},{type:"month",from:5,length:2,region:6},{type:"year",from:8+F.length,length:4},{type:"month",from:13+F.length,length:2,region:3}],sets:2},dateWareki:{defaultValue:"----\u5E74--\u6708--\u65E5",format:/^\d{4}\D\d{2}\D\d{2}$/,ranges:[{type:"dateWareki",from:0,length:4,region:5},{type:"month",from:5,length:2,region:3},{type:"date",from:8,length:2,region:3}],sets:1}},C={PeriodMargin:" ~ ",DataLeveling:e=>{let{restrict:n,value:y,era:t}=e,I=k.flatArray(y||""),{defaultValue:f,format:v,ranges:p,sets:a}=ke[n],m=[],o=n=="clock"?":":"/";for(let i=0;i<I.length;i++)I[i]=String(I[i]).replace(/\D/ig,o);for(let i=0;i<a;i++){let d=I[i]||"";if(!d.match(v))I[i]="",m.push(f);else{let b=f;d.split(/\D/).forEach((w,V)=>{if(V==0&&n=="dateWareki"){let T=Number(w);t!="year"&&(T>=2019?t=="reiwa"?T-=2018:t=="heisei"&&(T=31):T>=1989?t=="heisei"?T-=1988:t=="shouwa"&&(T=64):T>=1926?t=="shouwa"?T-=1925:t=="taisho"&&(T=15):T>=1912?t=="taisho"?T-=1911:t=="meiji"&&(T=45):T>=1868&&(T-=1867)),w=T.zeroEmbed(4)}b=b.replace(new RegExp("------------------".slice(0,w.length)),w)}),m.push(b)}}return{formatValue:m.join(F),dataValue:["dates","months"].includes(n)?I:I[0],ranges:p}},DefaultValidation:e=>{let{states:n}=e,{restrict:y,min:t,max:I,required:f}=n,v=[],p=k.flatArray(e.value),a={empty:!1,escalated:1,filled:!0,correct:!0,prohibited:!1};(()=>{let m=y=="clock"?":":"/";for(let o=0;o<p.length;o++)p[o]=String(p[o]).replace(/\D/ig,m);for(let o=0;o<p.length;o++){let i=p[o],d=p[o-1];i.removeLetters()||(a.empty=!0),o>0&&(a.escalated&=+(i>=d))}a.escalated&&(a.empty||(y.match(/clock/)?p.forEach(o=>{let[i,d]=o.split(/\D+/);!i||!d?a.filled=!1:(Number(i)>23||Number(d)>59)&&(a.correct=!1)}):y.match(/date/)?p.forEach(o=>{let[i,d,b]=o.split(/\D+/);if(!i||!d||!b)a.filled=!1;else{let w=k.Time(o);(!w.validate||o!=w.toFormatYMD())&&(a.correct=!1)}}):y.match(/week/)?p.forEach(o=>{let[i,d]=o.split(/\D+/);if(!i||!d)a.filled=!1;else{let b=k.Time(i+"/01/01").weekday,V=k.Time(i+"/01/0"+(7-b+1)).addWeek(Number(d)-1);i!=String(V.year)&&(a.correct=!1)}}):y.match(/month/)?p.forEach(o=>{let[i,d]=o.split(/\D+/);!i||!d?a.filled=!1:k.Time([i,d,"01"].join("/")).validate||(a.correct=!1)}):y.match(/year/),a.filled&&a.correct&&p.forEach(o=>{{let i=Number(String(o).replace(/\D/ig,""));if(t&&Number(String(t).replace(/\D/ig,""))>i&&(a.prohibited=!0),I){let d=Number(String(I).replace(/\D/ig,""));i>d&&(a.prohibited=!0)}}})))})();{let{empty:m,escalated:o,filled:i,correct:d,prohibited:b}=a;m&&f&&(v=[{type:"invalid",label:"\u5FC5\u9808\u9805\u76EE\u3067\u3059"}]),o||v.push({type:"invalid",label:"\u6642\u7CFB\u5217\u3092\u6B63\u3057\u304F\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044"}),d||v.push({type:"invalid",label:"\u7121\u52B9\u306A\u5024\u304C\u5165\u529B\u3055\u308C\u3066\u3044\u307E\u3059"}),i||v.push({type:"invalid",label:"\u6700\u5F8C\u307E\u3067\u5024\u3092\u57CB\u3081\u3066\u304F\u3060\u3055\u3044"}),b&&v.push({type:"invalid",label:ne(Ve,{children:[g(q,{children:"\u5165\u529B\u7BC4\u56F2\u304C\u5236\u9650\u3055\u308C\u3066\u3044\u307E\u3059"}),"[",t||"\u4E0B\u9650\u7121\u3057","] ~ [",I||"\u4E0A\u9650\u7121\u3057","]"]})})}return{ok:!v.filter(({type:m})=>m=="invalid").length,notice:v}},KeyDownEvent:e=>{let{val_era:n,restrict:y,event:t,val_status:I,set_status:f,val_focus:v,set_focus:p}=e,{key:a,shiftKey:m,ctrlKey:o,metaKey:i}=t,d=o||i,{selectionStart:b,selectionEnd:w}=t.target,{index:V,prevIndex:T}=v,{ranges:L,formatValue:X}=I,N=L.length-1;if(["Tab","ArrowLeft","ArrowRight"].includes(a)){let D=0;if(a=="Tab"){let s=+!m*2-1;if(D=v.index+s,D<0||D>N)return}else{let s=a=="ArrowLeft"?-1:a=="ArrowRight"?1:0;d||b==0&&w==String(I.formatValue).length?D=s==1?N:0:D=Math.max(0,Math.min(V+s,N))}p(s=>E(l({},s),{index:D,prevIndex:V})),t.preventDefault()}if(["Backspace","ArrowUp","ArrowDown","0","1","2","3","4","5","6","7","8","9"].includes(a)){t.preventDefault();let D=V;D=Math.max(D,0),D=Math.min(D,N);let{type:s,from:U,length:H}=L[D],M=X.slice(U,U+H),c;if(a=="Backspace")c="------".slice(0,H);else if(["ArrowUp","ArrowDown"].includes(a)){let R=a=="ArrowUp"?1:-1;M=M|0,c=M+R;let[r,u,S]=s=="dateWareki"?n=="year"?[0,2999,4]:n=="reiwa"?[1,2999,4]:n=="heisei"?[1,31,4]:n=="shouwa"?[1,64,4]:n=="taisho"?[1,15,4]:n=="meiji"?[1,45,4]:[0,0,0]:s=="minute"?[0,59,2]:s=="hour"?[0,23,2]:s=="date"?[1,31,2]:s=="week"?[1,53,2]:s=="month"?[1,12,2]:s=="year"?[0,2999,4]:[0,0,0];c>u?c=r:c<r&&(c=u),c=Number(c).zeroEmbed(S)}else if(["0","1","2","3","4","5","6","7","8","9"].includes(a)){let R=M|0,r=a,u=`${R}${r}`;if(T!=V&&(R=0,u="0"+r),s=="year"||s=="dateWareki"&&n=="year")Number(u)>1e4?c=r:c=u,(c|0)>1e3&&D++;else if(["hour","minute","date","week","month"].includes(s)||s=="dateWareki"&&n!="year"){let S=s=="dateWareki"?n=="reiwa"?100:n=="heisei"?31:n=="shouwa"?64:n=="taisho"?15:n=="meiji"?45:0:s=="minute"?59:s=="hour"?23:s=="date"?31:s=="week"?53:s=="month"?12:0;c=(u|0)>S?r:u,(Number(r)>Number(String(S)[0])||M=="0000".slice(0,String(S).length)&&(u!="0000".slice(0,String(S).length)||["minute","hour"].includes(s)&&T==V)||(u|0)>=ee(10,String(S).length-1))&&D++}s=="year"||s=="dateWareki"?c=(c|0).zeroEmbed(4):c=(c|0).zeroEmbed(2)}{let R=String(X).partReplace(U,String(c)),r=R.split(F).map(u=>u.replace(/(^\D|\D$)/,"").split(/\D+/).join(y=="clock"?":":"/").replace(/(^\D|\D$)/,""));if(y=="dateWareki"){let u=r[0].split(/\D/),[S,j,O]=u;u.length==3&&S&&(r=[[Number(S)-1+Number({year:1,reiwa:2019,heisei:1989,shouwa:1926,taisho:1912,meiji:1868}[n]),j,O].join("/")])}D=Math.max(D,0),D=Math.min(D,N),f(u=>E(l({},u),{dataValue:["dates","months"].includes(y)?r:r[0],formatValue:R,eventType:"update",eventID:k.uuid.gen()})),p(u=>E(l({},u),{index:D,prevIndex:u.index}))}}}},ie={picker:{launch:e=>{let n=e.tipsID||k.uuid.gen(),m=e,{onValueUpdate:y,min:t,max:I,era:f,restrict:v,defaultValue:p}=m,a=z(m,["onValueUpdate","min","max","era","restrict","defaultValue"]);re.open(E(l({gravityPoint:e.gravityPoint||24,tipsID:n,padding:0},a),{parent:a.parent,close_option:l({aroundClick:!0,parentBlur:!1},a.close_option),content:g(be,{restrict:v,min:t,max:I,era:f,defaultValue:p,tipsID:n,onValueUpdate:(o,i)=>{y(o,i)}})}))},remove:e=>{re.close(e)}}},Ee={Shallow:e=>{let{rootStates:n,val_status:y}=e,t=ce(n);return g(q,{position:"absolute",top:0,left:0,right:0,height:0,overflow:"hidden",opacity:"trans",freeCSS:{zIndex:3,pointerEvents:"none"},children:g(fe.Description,E(l({className:n.className},t),{position:"absolute",width:1,freeCSS:E(l({},t.freeCSS),{color:"orange"}),children:g(q,{"data-input-value-shallow":y.componentID,children:"A"})}))})}},we=e=>{let Q=e,{tone:n,required:y,restrict:t="clock",componentID:I,era:f,form:v,name:p,min:a,max:m,className:o,enableFormSubmit:i,checkValidationAtFirst:d,onKeyDown:b,onValidate:w,onUpdateValue:V,onUpdateValidValue:T,value:L="",leftIndicator:X,rightIndicator:N,leftIcon:D,rightIcon:s,freeCSS:U,wrapStyles:H}=Q,M=z(Q,["tone","required","restrict","componentID","era","form","name","min","max","className","enableFormSubmit","checkValidationAtFirst","onKeyDown","onValidate","onUpdateValue","onUpdateValidValue","value","leftIndicator","rightIndicator","leftIcon","rightIcon","freeCSS","wrapStyles"]),[c,R]=A(f),[r,u]=A(E(l({componentID:e.componentID||""},C.DataLeveling({restrict:t,value:L,era:c})),{eventType:"init",eventID:k.uuid.gen()})),[S,j]=A({ok:!1,notice:[]}),[O,B]=A({active:!1,index:0,prevIndex:-1}),oe={rootStates:e,val_status:r,set_status:u,val_validate:S,set_validate:j,val_era:c,set_era:R,val_focus:O,set_focus:B};K.CommonEffects({type:"time",states:e,val_status:r,set_status:u,val_validate:S,set_validate:j,onUpdateValue:V,onUpdateValidValue:T,DefaultValidation:C.DefaultValidation,ExtraOverrideStates:l({},C.DataLeveling({restrict:t,value:L,era:c}))});const G=me(!1);return Y(()=>{if(G.current){u(x=>l(l({},x),C.DataLeveling({restrict:t,value:x.dataValue,era:c})));let h=P.get("refreshEra_"+r.componentID);h&&h.refreshEra(c)}else G.current=!0},[c]),P.update({[r.componentID]:{openPicker:()=>{e.disabled||ie.picker.launch({parent:"#Picker-"+r.componentID,tipsID:"PickerTips-"+r.componentID,restrict:t,min:a,max:m,defaultValue:r.dataValue,era:c,onValueUpdate:(h,x)=>{u(W=>E(l(l({},W),C.DataLeveling({restrict:t,value:h,era:x})),{eventType:"update",eventID:k.uuid.gen()})),R(x)}})},resetEra:h=>{R(h),u(x=>E(l(l({},x),C.DataLeveling({restrict:t,value:"",era:c})),{eventType:"update",eventID:k.uuid.gen()}))}}}),Y(()=>{let{index:h,active:x}=O;if(x){h=Math.max(h,0),h=Math.min(h,r.ranges.length-1);let{from:W,length:$}=r.ranges[h],J=ue("#"+e.id)[0];J&&J.setSelectionRange(W,W+$)}},[O]),ne(ve,{val_status:r,set_status:u,val_validate:S,states:e,children:[g(Ee.Shallow,l({},oe)),g(xe,{componentID:e.componentID,fontSize:e.fontSize,required:e.required,label:e.label,isActive:!0}),g(Te,{name:p,"data-disabled":e.disabled,"data-input-type":"time","data-form":v,"data-validation":S.ok,componentID:r.componentID,"data-value":JSON.stringify(["dates","months"].includes(t)?!r.dataValue[0]||!r.dataValue[1]?null:r.dataValue:r.dataValue||null)}),te.get().isTouchDevice?g(ae.Button.Plain,{"data-show-validation":K.isShowValidation(S,r,!!d),"data-component-id":r.componentID,className:o,freeCSS:{textAlign:"left"},children:r.formatValue,onClick:h=>{let x=P.get(r.componentID);x&&x.openPicker(),h.stopPropagation()}}):g("input",l({type:"text",inputMode:"numeric","data-show-validation":K.isShowValidation(S,r,!!d),"data-input-origin":r.componentID,"data-disabled":e.disabled,"data-input-type":"time","data-form-name":v,value:r.formatValue,className:o,tabIndex:te.get().isTouchDevice?-1:0,onKeyDown:h=>{C.KeyDownEvent({restrict:t,event:h,val_era:c,val_status:r,set_status:u,val_focus:O,set_focus:B}),b&&b(h),i&&K.SubmitForm(h)},onKeyUp:h=>{h.key=="Tab"&&B(x=>E(l({},x),{active:!0}))},onClick:h=>{let x=h.target.selectionEnd,W=0;r.ranges.forEach(($,J)=>{let{from:Z,length:le,region:se}=$;Z<=x&&x<=Z+(se||le)&&(W=J)}),B($=>E(l({},$),{active:!0,index:W})),h.preventDefault()},onChange:()=>{}},M))]})},_={Origin:e=>{e=l({},e),e.rightIcon&&(e=l({paddingRight:3},e)),e.leftIcon&&(e=l({paddingLeft:3},e));let[n]=A(e.componentID||k.uuid.gen());if(e.componentID=n,k.is.nullish(e.rightIcon)){let y=(e.restrict||"").match(/clock/)?he:ge;e.rightIcon=g(Ie,{padding:0,children:g(ae.Button.Sub.R,{color:"cloud",border:"unset",ssSphere:2,fontColor:"theme",boxShadow:"0.normal",borderRadius:"3.tone.tertiary",flexCenter:!0,ssEffectsOnActive:"push",tabIndex:-1,id:"Picker-"+e.componentID,onClick:()=>{let t=P.get(e.componentID);t&&t.openPicker()},children:g(de,{icon:y})})})}return g(ye,{componentID:e.componentID,children:we,states:pe(De.Boxish(e))})},Clock:e=>g(_.Origin,l({restrict:"clock",era:"clock"},e)),Date:e=>g(_.Origin,l({restrict:"date"},e)),Week:e=>g(_.Origin,l({restrict:"week"},e)),Month:e=>g(_.Origin,l({restrict:"month"},e)),Year:e=>g(_.Origin,l({restrict:"year"},e)),DateWareki:e=>{e=l({},e);let[n]=A(e.componentID||k.uuid.gen());e.componentID=n;let{defaultEra:y="wareki"}=e,[t,I]=A((()=>{let f="year";if(y=="wareki"&&(f="reiwa",e.value)){let[v,p,a]=e.value.split(/\D/);if(v&&p&&a){let m=Number(v);m>=2019?(m-=2019,f="reiwa"):m>=1989?(m-=1989,f="heisei"):m>=1926?(m-=1926,f="shouwa"):m>=1912?(m-=1912,f="taisho"):m>=1868&&(m-=1868,f="meiji"),m+=1}}return f})());return Y(()=>{P.set({["refreshEra_"+n]:{refreshEra:f=>{I(f)}}})},[]),g(_.Origin,E(l({restrict:"dateWareki",leftIndicator:g(Se,{label:"\u5143\u53F7",emptySelect:!1,value:t,tone:e.tone,override:"force",flexCenter:!0,borderTopRightRadius:"2/3",borderBottomRightRadius:"2/3",height:1,freeCSS:{whiteSpace:"nowrap"},options:[{value:"year",label:"\u897F\u66A6"},{value:"reiwa",label:"\u4EE4\u548C"},{value:"heisei",label:"\u5E73\u6210"},{value:"shouwa",label:"\u662D\u548C"},{value:"taisho",label:"\u5927\u6B63"},{value:"meiji",label:"\u660E\u6CBB"}],onUpdateValidValue:({value:f,eventType:v})=>{I(f);let p=P.get(e.componentID);p&&p.resetEra&&p.resetEra(f)}})},e),{era:t}))},Periods:{Date:e=>g(_.Origin,l({restrict:"dates"},e)),Month:e=>g(_.Origin,l({restrict:"months"},e))},fn:ie};export{_ as Time,_ as default};
|
|
1
|
+
import{a as ee,b as l,c as E,d as Y}from"../../../chunk-C5N2D3ZX.js";import{Fragment as Ve,jsx as g,jsxs as ne}from"react/jsx-runtime";import{useState as A,useEffect as q,useRef as me}from"react";import k from"@mingoo/jsmin";import{$$fromRoot as ue,Config as te,useStore as P,ExtractStyles as ce,GenerateHTMLProps as pe}from"../../../@utils";import{Box as K,FAI as de}from"../../../atoms";import{Text as fe}from"../../../mols";import ae from"../../Button";import re from"../../Tooltips";import{faClock as he}from"@fortawesome/free-solid-svg-icons/faClock";import{faCalendarAlt as ge}from"@fortawesome/free-solid-svg-icons/faCalendarAlt";import{OptionalInputWrapper as ye,BoxWrapper as ve,CoreEffects as X,DefaultStyles as De}from"../core";import{RightIcon as Ie}from"..";import Te from"../Hidden";import Se from"../Select";import{InputLabel as xe}from"../Label";import be from"./Picker";const F=" ~ ",ke={clock:{defaultValue:"--:--",format:/^\d{2}\D\d{2}$/,ranges:[{type:"hour",from:0,length:2},{type:"minute",from:3,length:2}],sets:1},date:{defaultValue:"----/--/--",format:/^\d{4}\D\d{2}\D\d{2}$/,ranges:[{type:"year",from:0,length:4},{type:"month",from:5,length:2},{type:"date",from:8,length:2}],sets:1},week:{defaultValue:"----\u5E74\u7B2C--\u9031",format:/^\d{4}\D\d{2}$/,ranges:[{type:"year",from:0,length:4,region:6},{type:"week",from:6,length:2,region:3}],sets:1},month:{defaultValue:"----\u5E74--\u6708",format:/^\d{4}\D\d{2}$/,ranges:[{type:"year",from:0,length:4},{type:"month",from:5,length:2,region:3}],sets:1},year:{defaultValue:"----\u5E74",format:/^\d{4}$/,ranges:[{type:"year",from:0,length:4,region:5}],sets:1},dates:{defaultValue:"----/--/--",format:/^\d{4}\D\d{2}\D\d{2}$/,ranges:[{type:"year",from:0,length:4},{type:"month",from:5,length:2},{type:"date",from:8,length:2,region:5},{type:"year",from:10+F.length,length:4},{type:"month",from:15+F.length,length:2},{type:"date",from:18+F.length,length:2}],sets:2},months:{defaultValue:"----\u5E74--\u6708",format:/^\d{4}\D\d{2}$/,ranges:[{type:"year",from:0,length:4},{type:"month",from:5,length:2,region:6},{type:"year",from:8+F.length,length:4},{type:"month",from:13+F.length,length:2,region:3}],sets:2},dateWareki:{defaultValue:"----\u5E74--\u6708--\u65E5",format:/^\d{4}\D\d{2}\D\d{2}$/,ranges:[{type:"dateWareki",from:0,length:4,region:5},{type:"month",from:5,length:2,region:3},{type:"date",from:8,length:2,region:3}],sets:1}},C={PeriodMargin:" ~ ",DataLeveling:e=>{let{restrict:n,value:y,era:t}=e,I=k.flatArray(y||""),{defaultValue:f,format:v,ranges:p,sets:a}=ke[n],m=[],o=n=="clock"?":":"/";for(let i=0;i<I.length;i++)I[i]=String(I[i]).replace(/\D/ig,o);for(let i=0;i<a;i++){let d=I[i]||"";if(!d.match(v))I[i]="",m.push(f);else{let b=f;d.split(/\D/).forEach((w,V)=>{if(V==0&&n=="dateWareki"){let T=Number(w);t!="year"&&(T>=2019?t=="reiwa"?T-=2018:t=="heisei"&&(T=31):T>=1989?t=="heisei"?T-=1988:t=="shouwa"&&(T=64):T>=1926?t=="shouwa"?T-=1925:t=="taisho"&&(T=15):T>=1912?t=="taisho"?T-=1911:t=="meiji"&&(T=45):T>=1868&&(T-=1867)),w=T.zeroEmbed(4)}b=b.replace(new RegExp("------------------".slice(0,w.length)),w)}),m.push(b)}}return{formatValue:m.join(F),dataValue:["dates","months"].includes(n)?I:I[0],ranges:p}},DefaultValidation:e=>{let{states:n}=e,{restrict:y,min:t,max:I,required:f}=n,v=[],p=k.flatArray(e.value),a={empty:!1,escalated:1,filled:!0,correct:!0,prohibited:!1};(()=>{let m=y=="clock"?":":"/";for(let o=0;o<p.length;o++)p[o]=String(p[o]).replace(/\D/ig,m);for(let o=0;o<p.length;o++){let i=p[o],d=p[o-1];i.removeLetters()||(a.empty=!0),o>0&&(a.escalated&=+(i>=d))}a.escalated&&(a.empty||(y.match(/clock/)?p.forEach(o=>{let[i,d]=o.split(/\D+/);!i||!d?a.filled=!1:(Number(i)>23||Number(d)>59)&&(a.correct=!1)}):y.match(/date/)?p.forEach(o=>{let[i,d,b]=o.split(/\D+/);if(!i||!d||!b)a.filled=!1;else{let w=k.Time(o);(!w.validate||o!=w.toFormatYMD())&&(a.correct=!1)}}):y.match(/week/)?p.forEach(o=>{let[i,d]=o.split(/\D+/);if(!i||!d)a.filled=!1;else{let b=k.Time(i+"/01/01").weekday,V=k.Time(i+"/01/0"+(7-b+1)).addWeek(Number(d)-1);i!=String(V.year)&&(a.correct=!1)}}):y.match(/month/)?p.forEach(o=>{let[i,d]=o.split(/\D+/);!i||!d?a.filled=!1:k.Time([i,d,"01"].join("/")).validate||(a.correct=!1)}):y.match(/year/),a.filled&&a.correct&&p.forEach(o=>{{let i=Number(String(o).replace(/\D/ig,""));if(t&&Number(String(t).replace(/\D/ig,""))>i&&(a.prohibited=!0),I){let d=Number(String(I).replace(/\D/ig,""));i>d&&(a.prohibited=!0)}}})))})();{let{empty:m,escalated:o,filled:i,correct:d,prohibited:b}=a;m&&f&&(v=[{type:"invalid",label:"\u5FC5\u9808\u9805\u76EE\u3067\u3059"}]),o||v.push({type:"invalid",label:"\u6642\u7CFB\u5217\u3092\u6B63\u3057\u304F\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044"}),d||v.push({type:"invalid",label:"\u7121\u52B9\u306A\u5024\u304C\u5165\u529B\u3055\u308C\u3066\u3044\u307E\u3059"}),i||v.push({type:"invalid",label:"\u6700\u5F8C\u307E\u3067\u5024\u3092\u57CB\u3081\u3066\u304F\u3060\u3055\u3044"}),b&&v.push({type:"invalid",label:ne(Ve,{children:[g(K,{children:"\u5165\u529B\u7BC4\u56F2\u304C\u5236\u9650\u3055\u308C\u3066\u3044\u307E\u3059"}),"[",t||"\u4E0B\u9650\u7121\u3057","] ~ [",I||"\u4E0A\u9650\u7121\u3057","]"]})})}return{ok:!v.filter(({type:m})=>m=="invalid").length,notice:v}},KeyDownEvent:e=>{let{val_era:n,restrict:y,event:t,val_status:I,set_status:f,val_focus:v,set_focus:p}=e,{key:a,shiftKey:m,ctrlKey:o,metaKey:i}=t,d=o||i,{selectionStart:b,selectionEnd:w}=t.target,{index:V,prevIndex:T}=v,{ranges:L,formatValue:H}=I,N=L.length-1;if(["Tab","ArrowLeft","ArrowRight"].includes(a)){let D=0;if(a=="Tab"){let s=+!m*2-1;if(D=v.index+s,D<0||D>N)return}else{let s=a=="ArrowLeft"?-1:a=="ArrowRight"?1:0;d||b==0&&w==String(I.formatValue).length?D=s==1?N:0:D=Math.max(0,Math.min(V+s,N))}p(s=>E(l({},s),{index:D,prevIndex:V})),t.preventDefault()}if(["Backspace","ArrowUp","ArrowDown","0","1","2","3","4","5","6","7","8","9"].includes(a)){t.preventDefault();let D=V;D=Math.max(D,0),D=Math.min(D,N);let{type:s,from:U,length:z}=L[D],M=H.slice(U,U+z),c;if(a=="Backspace")c="------".slice(0,z);else if(["ArrowUp","ArrowDown"].includes(a)){let R=a=="ArrowUp"?1:-1;M=M|0,c=M+R;let[r,u,S]=s=="dateWareki"?n=="year"?[0,2999,4]:n=="reiwa"?[1,2999,4]:n=="heisei"?[1,31,4]:n=="shouwa"?[1,64,4]:n=="taisho"?[1,15,4]:n=="meiji"?[1,45,4]:[0,0,0]:s=="minute"?[0,59,2]:s=="hour"?[0,23,2]:s=="date"?[1,31,2]:s=="week"?[1,53,2]:s=="month"?[1,12,2]:s=="year"?[0,2999,4]:[0,0,0];c>u?c=r:c<r&&(c=u),c=Number(c).zeroEmbed(S)}else if(["0","1","2","3","4","5","6","7","8","9"].includes(a)){let R=M|0,r=a,u=`${R}${r}`;if(T!=V&&(R=0,u="0"+r),s=="year"||s=="dateWareki"&&n=="year")Number(u)>1e4?c=r:c=u,(c|0)>1e3&&D++;else if(["hour","minute","date","week","month"].includes(s)||s=="dateWareki"&&n!="year"){let S=s=="dateWareki"?n=="reiwa"?100:n=="heisei"?31:n=="shouwa"?64:n=="taisho"?15:n=="meiji"?45:0:s=="minute"?59:s=="hour"?23:s=="date"?31:s=="week"?53:s=="month"?12:0;c=(u|0)>S?r:u,(Number(r)>Number(String(S)[0])||M=="0000".slice(0,String(S).length)&&(u!="0000".slice(0,String(S).length)||["minute","hour"].includes(s)&&T==V)||(u|0)>=ee(10,String(S).length-1))&&D++}s=="year"||s=="dateWareki"?c=(c|0).zeroEmbed(4):c=(c|0).zeroEmbed(2)}{let R=String(H).partReplace(U,String(c)),r=R.split(F).map(u=>u.replace(/(^\D|\D$)/,"").split(/\D+/).join(y=="clock"?":":"/").replace(/(^\D|\D$)/,""));if(y=="dateWareki"){let u=r[0].split(/\D/),[S,j,O]=u;u.length==3&&S&&(r=[[Number(S)-1+Number({year:1,reiwa:2019,heisei:1989,shouwa:1926,taisho:1912,meiji:1868}[n]),j,O].join("/")])}D=Math.max(D,0),D=Math.min(D,N),f(u=>E(l({},u),{dataValue:["dates","months"].includes(y)?r:r[0],formatValue:R,eventType:"update",eventID:k.uuid.gen()})),p(u=>E(l({},u),{index:D,prevIndex:u.index}))}}}},ie={picker:{launch:e=>{let n=e.tipsID||k.uuid.gen(),m=e,{onValueUpdate:y,min:t,max:I,era:f,restrict:v,defaultValue:p}=m,a=Y(m,["onValueUpdate","min","max","era","restrict","defaultValue"]);re.open(E(l({gravityPoint:e.gravityPoint||24,tipsID:n,padding:0},a),{parent:a.parent,close_option:l({aroundClick:!0,parentBlur:!1},a.close_option),content:g(be,{restrict:v,min:t,max:I,era:f,defaultValue:p,tipsID:n,onValueUpdate:(o,i)=>{y(o,i)}})}))},remove:e=>{re.close(e)}}},Ee={Shallow:e=>{let{rootStates:n,val_status:y}=e,t=ce(n);return g(K,{position:"absolute",top:0,left:0,right:0,height:0,overflow:"hidden",opacity:"trans",freeCSS:{zIndex:3,pointerEvents:"none"},children:g(fe.Description,E(l({className:n.className},t),{position:"absolute",width:1,freeCSS:E(l({},t.freeCSS),{color:"orange"}),children:g(K,{"data-input-value-shallow":y.componentID,children:"A"})}))})}},we=e=>{let Q=e,{tone:n,required:y,restrict:t="clock",componentID:I,era:f,form:v,name:p,min:a,max:m,className:o,enableFormSubmit:i,checkValidationAtFirst:d,onKeyDown:b,onValidate:w,onUpdateValue:V,onUpdateValidValue:T,value:L="",leftIndicator:H,rightIndicator:N,leftIcon:D,rightIcon:s,freeCSS:U,wrapStyles:z}=Q,M=Y(Q,["tone","required","restrict","componentID","era","form","name","min","max","className","enableFormSubmit","checkValidationAtFirst","onKeyDown","onValidate","onUpdateValue","onUpdateValidValue","value","leftIndicator","rightIndicator","leftIcon","rightIcon","freeCSS","wrapStyles"]),[c,R]=A(f),[r,u]=A(E(l({componentID:e.componentID||""},C.DataLeveling({restrict:t,value:L,era:c})),{eventType:"init",eventID:k.uuid.gen()})),[S,j]=A({ok:!1,notice:[]}),[O,B]=A({active:!1,index:0,prevIndex:-1}),oe={rootStates:e,val_status:r,set_status:u,val_validate:S,set_validate:j,val_era:c,set_era:R,val_focus:O,set_focus:B};X.CommonEffects({type:"time",states:e,val_status:r,set_status:u,val_validate:S,set_validate:j,onUpdateValue:V,onUpdateValidValue:T,DefaultValidation:C.DefaultValidation,ExtraOverrideStates:l({},C.DataLeveling({restrict:t,value:L,era:c}))});const G=me(!1);return q(()=>{if(G.current){u(x=>l(l({},x),C.DataLeveling({restrict:t,value:x.dataValue,era:c})));let h=P.get("refreshEra_"+r.componentID);h&&h.refreshEra(c)}else G.current=!0},[c]),P.update({[r.componentID]:{openPicker:()=>{e.disabled||ie.picker.launch({parent:"#Picker-"+r.componentID,tipsID:"PickerTips-"+r.componentID,restrict:t,min:a,max:m,defaultValue:r.dataValue,era:c,onValueUpdate:(h,x)=>{u(W=>E(l(l({},W),C.DataLeveling({restrict:t,value:h,era:x})),{eventType:"update",eventID:k.uuid.gen()})),R(x)}})},resetEra:h=>{R(h),u(x=>E(l(l({},x),C.DataLeveling({restrict:t,value:"",era:c})),{eventType:"update",eventID:k.uuid.gen()}))}}}),q(()=>{let{index:h,active:x}=O;if(x){h=Math.max(h,0),h=Math.min(h,r.ranges.length-1);let{from:W,length:$}=r.ranges[h],J=ue("#"+e.id)[0];J&&J.setSelectionRange(W,W+$)}},[O]),ne(ve,{val_status:r,set_status:u,val_validate:S,states:e,children:[g(Ee.Shallow,l({},oe)),g(xe,{componentID:e.componentID,fontSize:e.fontSize,required:e.required,label:e.label,isActive:!0}),g(Te,{name:p,"data-disabled":e.disabled,"data-input-type":"time","data-form":v,"data-validation":S.ok,componentID:r.componentID,"data-value":JSON.stringify(["dates","months"].includes(t)?!r.dataValue[0]||!r.dataValue[1]?null:r.dataValue:r.dataValue||null)}),te.get().isTouchDevice?g(ae.Button.Plain,{"data-show-validation":X.isShowValidation(S,r,!!d),"data-component-id":r.componentID,className:o,freeCSS:{textAlign:"left"},children:r.formatValue,onClick:h=>{let x=P.get(r.componentID);x&&x.openPicker(),h.stopPropagation()}}):g(K,l({htmlTag:"input",type:"text",inputMode:"numeric","data-show-validation":X.isShowValidation(S,r,!!d),"data-input-origin":r.componentID,"data-disabled":e.disabled,"data-input-type":"time","data-form-name":v,value:r.formatValue,className:o,tabIndex:te.get().isTouchDevice?-1:0,onKeyDown:h=>{C.KeyDownEvent({restrict:t,event:h,val_era:c,val_status:r,set_status:u,val_focus:O,set_focus:B}),b&&b(h),i&&X.SubmitForm(h)},onKeyUp:h=>{h.key=="Tab"&&B(x=>E(l({},x),{active:!0}))},onClick:h=>{let x=h.target.selectionEnd,W=0;r.ranges.forEach(($,J)=>{let{from:Z,length:le,region:se}=$;Z<=x&&x<=Z+(se||le)&&(W=J)}),B($=>E(l({},$),{active:!0,index:W})),h.preventDefault()},onChange:()=>{}},M))]})},_={Origin:e=>{e=l({},e),e.rightIcon&&(e=l({paddingRight:3},e)),e.leftIcon&&(e=l({paddingLeft:3},e));let[n]=A(e.componentID||k.uuid.gen());if(e.componentID=n,k.is.nullish(e.rightIcon)){let y=(e.restrict||"").match(/clock/)?he:ge;e.rightIcon=g(Ie,{padding:0,children:g(ae.Button.Sub.R,{color:"cloud",border:"unset",ssSphere:2,fontColor:"theme",boxShadow:"0.normal",borderRadius:"3.tone.tertiary",flexCenter:!0,ssEffectsOnActive:"push",tabIndex:-1,id:"Picker-"+e.componentID,onClick:()=>{let t=P.get(e.componentID);t&&t.openPicker()},children:g(de,{icon:y})})})}return g(ye,{componentID:e.componentID,children:we,states:pe(De.Boxish(e))})},Clock:e=>g(_.Origin,l({restrict:"clock",era:"clock"},e)),Date:e=>g(_.Origin,l({restrict:"date"},e)),Week:e=>g(_.Origin,l({restrict:"week"},e)),Month:e=>g(_.Origin,l({restrict:"month"},e)),Year:e=>g(_.Origin,l({restrict:"year"},e)),DateWareki:e=>{e=l({},e);let[n]=A(e.componentID||k.uuid.gen());e.componentID=n;let{defaultEra:y="wareki"}=e,[t,I]=A((()=>{let f="year";if(y=="wareki"&&(f="reiwa",e.value)){let[v,p,a]=e.value.split(/\D/);if(v&&p&&a){let m=Number(v);m>=2019?(m-=2019,f="reiwa"):m>=1989?(m-=1989,f="heisei"):m>=1926?(m-=1926,f="shouwa"):m>=1912?(m-=1912,f="taisho"):m>=1868&&(m-=1868,f="meiji"),m+=1}}return f})());return q(()=>{P.set({["refreshEra_"+n]:{refreshEra:f=>{I(f)}}})},[]),g(_.Origin,E(l({restrict:"dateWareki",leftIndicator:g(Se,{label:"\u5143\u53F7",emptySelect:!1,value:t,tone:e.tone,override:"force",flexCenter:!0,borderTopRightRadius:"2/3",borderBottomRightRadius:"2/3",height:1,freeCSS:{whiteSpace:"nowrap"},options:[{value:"year",label:"\u897F\u66A6"},{value:"reiwa",label:"\u4EE4\u548C"},{value:"heisei",label:"\u5E73\u6210"},{value:"shouwa",label:"\u662D\u548C"},{value:"taisho",label:"\u5927\u6B63"},{value:"meiji",label:"\u660E\u6CBB"}],onUpdateValidValue:({value:f,eventType:v})=>{I(f);let p=P.get(e.componentID);p&&p.resetEra&&p.resetEra(f)}})},e),{era:t}))},Periods:{Date:e=>g(_.Origin,l({restrict:"dates"},e)),Month:e=>g(_.Origin,l({restrict:"months"},e))},fn:ie};export{_ as Time,_ as default};
|