amotify 0.2.216 → 0.2.218

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.
@@ -81,15 +81,34 @@ const SheetContent = () => {
81
81
  }
82
82
 
83
83
  let Page = () => {
84
- let [ val_selected,set_selected ] = useState<any>( 0 )
84
+ let select1: any = { test: 1 }
85
+ let select2: any = { test: 2 }
86
+ let select3: any = { test: 3 }
87
+ // select1 = 1
88
+ // select2 = 2
89
+ // select3 = 3
90
+
91
+ let [ val_selected,set_selected ] = useState<any>( !!select1 )
85
92
 
86
93
  // let [ val_value,set_value ] = useState( 'DFF' )
87
94
 
88
- let [ val_value,set_value ] = useState( '1996' )
95
+ let [ val_value,set_value ] = useState( '' )
89
96
 
90
97
  let [ val_checked1,set_checked1 ] = useState( false )
91
98
  let [ val_checked2,set_checked2 ] = useState( true )
92
99
 
100
+ useEffect( () => {
101
+ // $$.interval.once( () => {
102
+ // set_selected( !select2 )
103
+ // set_value( '1996/05/11' )
104
+
105
+ // $$.interval.once( () => {
106
+ // set_selected( !!select3 )
107
+ // set_value( '2025/05/11' )
108
+ // },1000,'test2' )
109
+ // },1000,'test1' )
110
+ },[] )
111
+
93
112
  return <Plate
94
113
  padding={ 3 }
95
114
  size="XS"
@@ -103,7 +122,24 @@ let Page = () => {
103
122
  <Literal>
104
123
  val_value { val_value || "null" }
105
124
  </Literal>
106
- <Input.TextField
125
+ <Button.Prime
126
+ onClick={ () => {
127
+ Cropper.openDialogNEdit( {
128
+ use: '1:1',
129
+ develops: [
130
+ { size: 'R',maxSize: 3 * 1024 * 1024 } // 3MB
131
+ ],
132
+ onProcessFinished: async ( files ) => {
133
+ if ( !files || !files[ 0 ] ) return
134
+ let mediaId = UUID()
135
+ console.log( files[ 0 ] )
136
+ }
137
+ } )
138
+ } }
139
+ >
140
+ Submit
141
+ </Button.Prime>
142
+ {/* <Input.TextField.Email
107
143
  form='form_test'
108
144
  name='testInput'
109
145
  override='force'
@@ -121,23 +157,22 @@ let Page = () => {
121
157
  )
122
158
  set_value( value )
123
159
  } }
124
- />
160
+ /> */}
125
161
 
126
- <Input.Select
162
+ {/* <Input.TextField
127
163
  override='force'
128
- options={ [
129
- {
130
- value: { test: 1 },
131
- label: "option1"
132
- },{
133
- value: { test: 2 },
134
- label: "option2"
135
- }
136
- ] }
164
+ multiline
165
+ value={ val_value }
166
+ // options={ [
167
+ // { value: select1,label: "option1" },
168
+ // { value: select2,label: "option2" },
169
+ // { value: select3,label: "option3" }
170
+ // ] }
137
171
  onUpdateValidValue={ value => {
138
172
  console.log( value )
173
+ set_value( value )
139
174
  } }
140
- />
175
+ /> */}
141
176
  {/* <Column>
142
177
  <Input.Checker
143
178
  override='force'
@@ -164,36 +199,6 @@ let Page = () => {
164
199
  } }
165
200
  />
166
201
  </Column> */}
167
- {/* <Input.Time.DateWareki
168
- form='form_test'
169
- name='dateInput'
170
- override='force'
171
- value={ "2025/09/12" }
172
- required
173
- // onValidate={ async () => {
174
- // await $$.pending( () => { },1000 )
175
-
176
- // return { ok: true,notice: [] }
177
- // } }
178
- onUserAction={ ( value,opt ) => {
179
- // console.log(
180
- // '[onUserAction]',value,opt
181
- // )
182
- // set_value( value )
183
- } }
184
- onUpdateValue={ ( value,opt ) => {
185
- // console.log(
186
- // '[onUpdateValue]',value,opt
187
- // )
188
- // set_value( value )
189
- } }
190
- onUpdateValidValue={ ( value,opt ) => {
191
- // console.log(
192
- // '[onUpdateValidValue]',value,opt
193
- // )
194
- // set_value( value )
195
- } }
196
- /> */}
197
202
  </Box>
198
203
  <Button.Prime
199
204
  submitOption={ {
@@ -1 +1 @@
1
- import{b as H,c as K,e as F}from"../chunk-C5N2D3ZX.js";import{jsx as i,jsxs as f}from"react/jsx-runtime";import y,{UUID as J,useStore as z}from"jmini";import{$$fromRoot as Z}from"../@utils";import{useState as N,useEffect as O}from"react";import{Box as B,FAI as L,Column as M}from"../atoms";import{Row as R,Literal as A}from"../mols";import{Button as P}from"./Button";import X from"./Sheet";import V from"./Loader";import $ from"./Input";import{faPalette as Q}from"@fortawesome/free-solid-svg-icons/faPalette";import{faBarsStaggered as ee}from"@fortawesome/free-solid-svg-icons/faBarsStaggered";import{faRotateLeft as te}from"@fortawesome/free-solid-svg-icons/faRotateLeft";import{faRotateRight as ae}from"@fortawesome/free-solid-svg-icons/faRotateRight";import{CropperClasses as U}from"../@styles/componentClasses";import Y from"./Tooltips";class re{constructor(a){this.set_scale=a.set_scale,this.val_file=a.val_file,this.develops=a.develops;{let[c,m]=y.is.array(a.use)&&a.use||a.use.split(":").map(o=>Number(o)),g=c/m;this.usage={w:c,h:m,aspect:g}}this.componentId=a.componentId,this.scale={current:a.scale.default,default:a.scale.default,min:a.scale.min,max:a.scale.max};let s=a.canvas;this.Canvas={elm:s,ctx:s.getContext("2d")};let e=a.picture.image,{width:r,height:t}=e,n=r/t;this.Picture={elm:e,originDataUrl:e.src,aspect:n,revisedAspect:1,rotate:a.picture.rotate,grayScale:a.picture.grayScale,tone:a.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:r/2,imageY:t/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 a=this.Canvas.elm,s=this.Picture.elm,e=0,r=0;if(this.usage.aspect==1){let o=a.width*.6666666666666666,l=a.height*(2/3);r=e=Math.min(o,l)}else this.usage.aspect>1?(e=a.width*(8/10),r=e/this.usage.aspect):(r=a.height*(8/10),e=r*this.usage.aspect);let{width:t,height:n}=s,c=(a.width-e)/2,m=(a.height-r)/2,g=e/r;this.pst={frame:{x:c,y:m,w:e,h:r,aspect:g},outImage:{x:0,y:0,w:0,h:0},imageX:t/2,imageY:n/2,centerX:a.width/2,centerY:a.height/2}}dragEffect(a){let{eventType:s,x:e,y:r}=a;if(s=="start"){let t=this.Canvas.elm.position();this.dragEffectInfo={origin:{x:e,y:r},frameExpandRate:{x:this.Canvas.elm.width/t.width,y:this.Canvas.elm.height/t.height}}}else{let{origin:t,frameExpandRate:n}=this.dragEffectInfo,c=t.x-e,m=t.y-r,g=this.scale.current*this.Picture.revisedAspect/100,o=c/g*n.x,l=m/g*n.y;s=="move"?this.drawImage(this.pst.imageX+o,this.pst.imageY+l):s=="end"&&this.drawImage(this.pst.imageX+=o,this.pst.imageY+=l)}}pinchEffect(a){let{eventType:s,event:e}=a,{x:r,y:t}=y.getCursor(e.touches[0]),{x:n,y:c}=y.getCursor(e.touches[1]),m=n-r,g=c-t;if(s=="start")this.pinchEffectInfo.origin={x:m,y:g,scale:this.scale.current};else if(s=="move"){let{origin:o}=this.pinchEffectInfo,l=Math.sqrt(Math.pow(o.x,2)+Math.pow(o.y,2)),v=Math.sqrt(Math.pow(m,2)+Math.pow(g,2))/l,C=Number(o.scale*v);this.set_scale(C)}}updateScale(a){let s=a;s=Math.max(s,this.scale.min),s=Math.min(s,this.scale.max),this.scale.current=s,this.drawImage()}updateFilter(a){this.Picture.grayScale=a.grayScale,this.Picture.tone=a.tone,this.Picture.rotate=a.rotate,this.modifyImage()}modifyImage(){return F(this,null,function*(){let{grayScale:a,tone:s,rotate:e}=this.Picture;const r=document.createElement("canvas");let t=r.getContext("2d"),n=yield y.ImageLoader(this.Picture.originDataUrl),c=n.width,m=n.height;(e==90||e==270)&&(c=n.height,m=n.width),r.width=c,r.height=m,a&&(t.filter="grayscale("+a+"%)"),e&&(t.translate(c/2,m/2),t.rotate(e*Math.PI/180),[90,270].includes(e)?t.translate(-m/2,-c/2):t.translate(-c/2,-m/2)),t.drawImage(n,0,0,n.width,n.height);let g=t.getImageData(0,0,r.width,r.height),o=g.data;{a/=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]][s],w=C[0]/255,x=C[1]/255,p=C[2]/255;for(let h=0;h<m;h++)for(let u=0;u<c;u++){var l=(h*c+u)*4;if(a){let E=.3*o[l]+.59*o[l+1]+.11*o[l+2];for(var S=0;S<3;S++){let _=o[l+S];o[l+S]=_+(E-_)*a}}o[l]*=w,o[l+1]*=x,o[l+2]*=p}}t.putImageData(g,0,0);let v=r.toDataURL("image/jpeg");{let C=yield y.ImageLoader(v),{width:w,height:x}=C,p=w/x;this.Picture=K(H({},this.Picture),{elm:C,aspect:p,revisedAspect:this.pst.frame.aspect>p?this.pst.frame.w/w:this.pst.frame.h/x})}this.drawImage()})}drawImage(a,s){let{Canvas:{ctx:e,elm:r},pst:{frame:t}}=this,n=a||this.pst.imageX,c=s||this.pst.imageY;{let m=this.scale.current/100,g=this.Picture.revisedAspect*m,o=this.pst.centerX-n*g,l=this.pst.centerY-c*g,S=this.Picture.elm.width*g,v=this.Picture.elm.height*g;{let C=this.pst.frame.x+this.pst.frame.w-S,w=this.pst.frame.x,x=this.pst.frame.y+this.pst.frame.h-v,p=this.pst.frame.y,h=0;o<C&&(h=o-C),o>w&&(h=o-w);let u=0;l<x&&(u=l-x),l>p&&(u=l-p),this.dragEffectInfo.origin.x+=h/2/this.dragEffectInfo.frameExpandRate.x,this.dragEffectInfo.origin.y+=u/2/this.dragEffectInfo.frameExpandRate.y,o=Math.min(Math.max(o,C),w),l=Math.min(Math.max(l,x),p)}this.pst.outImage={x:o,y:l,w:S,h:v},e.clearRect(0,0,this.Canvas.elm.width,this.Canvas.elm.height),e.drawImage(this.Picture.elm,0,0,this.Picture.elm.width,this.Picture.elm.height,o,l,S,v)}{if(this.usage.aspect==1){e.fillStyle="rgba( 20,24,20,.3 )",e.beginPath();let o=r.width/3*2,l=r.height/3*2,S=Math.min(o,l),v=Math.max(o,l);e.arc(r.width/2,r.height/2,v*1.41,0,Math.PI*2,!0),e.arc(r.width/2,r.height/2,S/2,0,Math.PI*2,!1),e.closePath(),e.fill()}else e.fillStyle="rgba( 20,24,20,.3 )";e.beginPath(),e.moveTo(0,0),e.lineTo(r.width,0),e.lineTo(r.width,r.height),e.lineTo(0,r.height),e.lineTo(0,0),e.closePath(),e.lineTo(t.x,t.y),e.lineTo(t.x,t.y+t.h),e.lineTo(t.x+t.w,t.y+t.h),e.lineTo(t.x+t.w,t.y),e.lineTo(t.x,t.y),e.fill();let g=y(document.body).getStyleProperty("--color-theme-hsl");e.lineWidth=4,e.strokeStyle=`hsla( ${g},1 )`,e.strokeRect(t.x,t.y,t.w,t.h)}}export(){return F(this,null,function*(){let{Canvas:a,develops:s,Picture:e,pst:{outImage:r,frame:t}}=this,n=r.w/e.elm.width,c=r.h/e.elm.height,m=(t.x-r.x)/n,g=(t.x-r.x+t.w)/n,o=(t.y-r.y)/c,l=(t.y-r.y+t.h)/c,S=Array.from({length:s.length}),v="image/jpeg";for(let C=0;C<s.length;C++){let{size:w,maxSize:x}=s[C];x=x||{S:1024*20,R:1024*100,L:1024*350}[w];let p={S:140,R:600,L:1200}[w],h=p;this.usage.aspect>1?h=p/this.usage.aspect:p=h*this.usage.aspect;let u=document.createElement("canvas");u.width=p,u.height=h;let E=u.getContext("2d");if(!E)return;E.clearRect(0,0,p,h),E.drawImage(this.Picture.elm,m,o,g-m,l-o,0,0,p,h);let _=u.toDataURL(v),b=yield _.toBlob(v);if(!b)return;if(b.size>=x){let k=x/b.size;if(_=u.toDataURL(v,k*.92),b=yield _.toBlob(v),!b)return}let W=new File([b],this.val_file.name,{type:v});S[C]=W}return S})}}const q={Core:d=>{let{val_file:a,options:s,finishedCallback:e,abortCallback:r}=d,{use:t,develops:n=[]}=s,[c]=N(J());const m={scale:{default:120,min:100,max:400},rotate:0,grayScale:0,tone:0};let[g,o]=N(m.scale.default),[l,S]=N(m.rotate),[v,C]=N(m.grayScale),[w,x]=N(m.tone);return O(()=>{let p="CropperResize";return y(window).addEvent({eventType:"resize",eventID:p,callback:()=>{y.interval.once(()=>{var k;let h=Z("#Canvas-"+c)[0];if(!h)return;let u=(k=z.get(c))==null?void 0:k.Instance;if(!u)return;let E=h.position(),_=E.width/E.height;h.width=2400,h.height=2400/_;let{width:b,height:W}=h;u.pst.centerX=b/2,u.pst.centerY=W/2,u.frameSizing(),u.modifyImage()},250,"CropperResize")}}),()=>{y(window).removeEvent(p)}},[]),O(()=>{z.set({[c]:{}}),F(void 0,null,function*(){V.fn.corner.active(),yield y.pending(()=>{},400);let{target:p}=yield a.convert();if(!p)return;let h=p.result,u=Z("#Canvas-"+c)[0];if(!u)return;let E=u.position(),_=E.width/E.height;u.width=2400,u.height=2400/_;let b=new re({set_scale:o,val_file:a,develops:n,use:t,scale:m.scale,componentId:c,canvas:u,picture:{image:yield y.ImageLoader(h),grayScale:m.grayScale,tone:m.tone,rotate:m.rotate}});z.set({[c]:{Instance:b}});const W=function(I){if(I.preventDefault(),I.touches&&I.touches.length>1)b.pinchEffect({eventType:"start",event:I}),y(document).addEvent({eventType:"touchmove",eventID:"CropperEffectMove",options:{passive:!1},callback:D=>{D.preventDefault(),b.pinchEffect({eventType:"move",event:D})}}).addEvent({eventType:"touchend",eventID:"CropperEffectEnd",options:{passive:!1},callback:G});else{b.dragEffect(H({eventType:"start"},y.getCursor(I)));let{type:D}=I;y(document).addEvent({eventType:D=="touchstart"?"touchmove":"mousemove",eventID:"CropperEffectMove",options:{passive:!1},callback:T=>{k("move",T)}}).addEvent({eventType:D=="touchstart"?"touchend":"mouseup",eventID:"CropperEffectEnd",options:{passive:!1},callback:T=>{k("end",T),G(T)}})}},k=function(I,D){D.preventDefault(),b.dragEffect(H({eventType:I},y.getCursor(D)))},G=function(I){I.preventDefault(),y(document).removeEvent(["CropperEffectMove","CropperEffectEnd"])};y(u).removeEvent(["CropperMouseWheel","CropperTouchStart","CropperMouseDown"]).addEvent({eventID:"CropperMouseWheel",eventType:"wheel",callback:I=>{I.preventDefault();let D=Number(I.wheelDelta*.04),T=b.scale.current+D;T=Math.max(T,b.scale.min),T=Math.min(T,b.scale.max),o(T)},options:{passive:!1}}).addEvent({eventType:"touchstart",eventID:"CropperTouchStart",callback:W,options:{passive:!1}}).addEvent({eventType:"mousedown",eventID:"CropperMouseDown",callback:W,options:{passive:!1}}),setTimeout(()=>{V.fn.corner.stop()},1e3)})},[a.id]),O(()=>{var h;let p=(h=z.get(c))==null?void 0:h.Instance;p&&p.updateScale(g)},[g]),O(()=>{var h;let p=(h=z.get(c))==null?void 0:h.Instance;p&&p.updateFilter({grayScale:v,tone:w,rotate:l})},[v,w,l]),i(X.Body,{borderRadius:0,height:"viewHeight",width:"viewWidth",children:f(M,{className:[U("Wrap"),U("Use_"+t)].join(" "),gap:0,height:1,position:"relative",overflow:"hidden",borderRadius:"inherit",children:[i(B,{flexSizing:0,overflow:"hidden",position:"relative",backgroundColor:"black",flexCenter:!0,freeCSS:{zIndex:1},children:i("canvas",{style:{width:"100%",height:"100%"},width:2400,height:2400,className:U("Canvas"),id:"Canvas-"+c})}),f(R.Separate,{borderTop:!0,flexSizing:"none",backgroundColor:"layer.1",padding:1,verticalAlign:"unset",UnderBreakPointStyles:{flexType:"col"},children:[i(q.SettingRegion,{DefaultOptions:m,val_scale:g,set_scale:o,val_tone:w,set_tone:x,val_grayScale:v,set_grayScale:C,val_rotate:l,set_rotate:S}),f(R.Right,{flexSizing:"none",children:[i(P.Border,{isRounded:!0,onClick:()=>{r()},children:"\u9589\u3058\u308B"}),i(P,{isRounded:!0,boxShadow:"3.remark",onClick:()=>F(void 0,null,function*(){var u;let p=(u=z.get(c))==null?void 0:u.Instance;if(!p)return;V.fn.mini.active("CropperExportation");let h=yield p.export();setTimeout(()=>{V.fn.mini.stop("CropperExportation"),e(h)},3e3)}),children:f(R.Center,{gap:"1/2",children:[i(V.White.R,{loaderID:"CropperExportation"}),"\u6C7A\u5B9A"]})})]})]})]})})},SettingRegion:d=>{let a=["","\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"],s=e=>a[e]||"\u306A\u3057";return f(R.Left,{verticalAlign:"unset",flexWrap:!0,children:[f(M,{gap:"1/3",children:[i(A.Supplement,{children:"Rotate"}),f(R.Left,{flexChilds:"even",gap:"1/6",children:[i(P.Border.S,{isRounded:!0,borderTopRightRadius:0,borderBottomRightRadius:0,onClick:()=>{let e=d.val_rotate-90;e<0&&(e+=360),d.set_rotate(e)},children:f(R.Center,{gap:"1/4",children:["90\xB0",i(L,{icon:te})]})}),i(P.Border.S,{isRounded:!0,borderTopLeftRadius:0,borderBottomLeftRadius:0,onClick:()=>{d.set_rotate((d.val_rotate+90)%360)},children:f(R.Center,{gap:"1/4",children:[i(L,{icon:ae}),"90\xB0"]})})]})]}),f(M,{gap:"1/3",freeCSS:{minWidth:12*6},children:[i(A.Supplement,{children:"Zoom"}),f(P.Border.S,{flexCenter:!0,isRounded:!0,flexSizing:0,onClick:e=>{let r="CropperZoomEdit";Y.open({tipsID:r,gravityPoint:3,event:e,closeAtParentBlur:!1,freeCSS:{minWidth:12*26},content:i(X.Body,{children:f(M,{padding:1.5,children:[f(R.Separate,{children:[i(A.Paragraph,{children:f(R.Center,{gap:"1/2",children:[i(L.Search,{fontColor:"5.translucent"}),"Zoom"]})}),i(P.Sub,{color:"cloud",ssSphere:2.5,onClick:()=>{Y.close(r)},children:i(L.X,{})})]}),i(B,{borderBottom:!0,opacity:"low"}),i($.Slider,{override:"force",value:d.val_scale-100,min:d.DefaultOptions.scale.min-100,max:d.DefaultOptions.scale.max-100,step:25,onUpdateValidValue:(t,n)=>{y.interval.once(()=>{d.set_scale(t+100)},250,"Cropper.UpdateScale")},legends:{enable:!0,custom:t=>"x"+Math.round(100+t)/100}})]})})})},children:[d.val_scale.rate(1,0),"%"]})]}),f(M,{gap:"1/3",freeCSS:{minWidth:12*6},children:[i(A.Supplement,{children:"GrayScale"}),f(P.Border.S,{flexCenter:!0,isRounded:!0,flexSizing:0,onClick:e=>{let r="CropperGrayScaleEdit";Y.open({tipsID:r,gravityPoint:3,event:e,closeAtParentBlur:!1,freeCSS:{minWidth:12*26},content:i(X.Body,{children:f(M,{padding:1.5,children:[f(R.Separate,{children:[i(A.Paragraph,{children:f(R.Center,{gap:"1/2",children:[i(L,{icon:Q,fontColor:"5.translucent"}),"Gray Scale"]})}),i(P.Sub,{color:"cloud",ssSphere:2.5,onClick:()=>{Y.close(r)},children:i(L.X,{})})]}),i(B,{borderBottom:!0,opacity:"low"}),i($.Slider,{value:d.val_grayScale,min:0,max:100,step:10,onUpdateValidValue:t=>{y.interval.once(()=>{d.set_grayScale(t)},250,"Cropper.GrayScale")},legends:{enable:!0,custom:t=>t+"%"}})]})})})},children:[d.val_grayScale.rate(1,0),"%"]})]}),f(M,{gap:"1/3",freeCSS:{minWidth:12*6},children:[i(A.Supplement,{children:"Tone"}),i(P.Border.S,{flexCenter:!0,isRounded:!0,flexSizing:0,onClick:e=>{let r="CropperToneEdit";Y.open({tipsID:r,gravityPoint:3,event:e,closeAtParentBlur:!1,freeCSS:{minWidth:12*26,maxWidth:12*24},content:()=>{let t=[];for(let n=1;n<=10;n++)t.push({value:n,label:f(R.Left,{gap:"1/3",children:[i(B,{ssSphere:1,className:[U("ToneBall"),U("ToneBall_"+n)].join(" ")}),i(B,{textAlign:"left",flexSizing:0,children:s(n)})]})});return i(X.Body,{children:f(M,{padding:1.5,children:[f(R.Separate,{children:[i(A.Paragraph,{children:f(R.Center,{gap:"1/2",children:[i(L,{icon:ee,fontColor:"5.translucent"}),"Tone"]})}),i(P.Sub,{color:"cloud",ssSphere:2.5,onClick:()=>{Y.close(r)},children:i(L.X,{})})]}),i(B,{borderBottom:!0,opacity:"low"}),i($.Radio.Normal,{value:d.val_tone,gap:"1/2",cellStyles:{fontColor:"3.blur"},options:[{value:0,label:i(B,{flexSizing:0,textAlign:"center",children:"\u306A\u3057"})},...t],onUpdateValidValue:n=>{d.set_tone(n)}})]})})}})},children:f(R.Center,{gap:"1/2",children:[i(B,{boxShadow:"2.remark",ssSphere:1,className:[U("ToneBall"),U("ToneBall_"+d.val_tone)].join(" ")}),s(d.val_tone)]})})]})]})}},j={openDialogNEdit:d=>F(void 0,null,function*(){let a=yield $.Filer.fn.openDialog({accept:"image",multiple:!1});j.openEditor(H({imageFile:a[0]},d))}),openEditor:d=>F(void 0,null,function*(){let a="CropperImage";X.open("middleCenter",{sheetID:a,size:"MAX",padding:0,margin:0,freeCSS:{maxWidth:"100%"},content:i(q.Core,{val_file:d.imageFile,options:d,finishedCallback:s=>{X.close(a),d.onProcessFinished(s)},abortCallback:()=>{X.close(a)}}),closeAtEscapeKeyDown:!1})})};export{j as Cropper,j as default};
1
+ import{b as H,c as K,e as W}from"../chunk-C5N2D3ZX.js";import{jsx as i,jsxs as f}from"react/jsx-runtime";import y,{UUID as J,useStore as z}from"jmini";import{$$fromRoot as Z}from"../@utils";import{useState as N,useEffect as O}from"react";import{Box as B,FAI as L,Column as M}from"../atoms";import{Row as R,Literal as F}from"../mols";import{Button as P}from"./Button";import A from"./Sheet";import V from"./Loader";import $ from"./Input";import{faPalette as Q}from"@fortawesome/free-solid-svg-icons/faPalette";import{faBarsStaggered as ee}from"@fortawesome/free-solid-svg-icons/faBarsStaggered";import{faRotateLeft as te}from"@fortawesome/free-solid-svg-icons/faRotateLeft";import{faRotateRight as ae}from"@fortawesome/free-solid-svg-icons/faRotateRight";import{CropperClasses as X}from"../@styles/componentClasses";import Y from"./Tooltips";class re{constructor(a){this.set_scale=a.set_scale,this.val_file=a.val_file,this.develops=a.develops;{let[c,p]=y.is.array(a.use)&&a.use||a.use.split(":").map(o=>Number(o)),g=c/p;this.usage={w:c,h:p,aspect:g}}this.componentId=a.componentId,this.scale={current:a.scale.default,default:a.scale.default,min:a.scale.min,max:a.scale.max};let s=a.canvas;this.Canvas={elm:s,ctx:s.getContext("2d")};let e=a.picture.image,{width:r,height:t}=e,n=r/t;this.Picture={elm:e,originDataUrl:e.src,aspect:n,revisedAspect:1,rotate:a.picture.rotate,grayScale:a.picture.grayScale,tone:a.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:r/2,imageY:t/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 a=this.Canvas.elm,s=this.Picture.elm,e=0,r=0;if(this.usage.aspect==1){let o=a.width*.6666666666666666,l=a.height*(2/3);r=e=Math.min(o,l)}else this.usage.aspect>1?(e=a.width*(8/10),r=e/this.usage.aspect):(r=a.height*(8/10),e=r*this.usage.aspect);let{width:t,height:n}=s,c=(a.width-e)/2,p=(a.height-r)/2,g=e/r;this.pst={frame:{x:c,y:p,w:e,h:r,aspect:g},outImage:{x:0,y:0,w:0,h:0},imageX:t/2,imageY:n/2,centerX:a.width/2,centerY:a.height/2}}dragEffect(a){let{eventType:s,x:e,y:r}=a;if(s=="start"){let t=this.Canvas.elm.position();this.dragEffectInfo={origin:{x:e,y:r},frameExpandRate:{x:this.Canvas.elm.width/t.width,y:this.Canvas.elm.height/t.height}}}else{let{origin:t,frameExpandRate:n}=this.dragEffectInfo,c=t.x-e,p=t.y-r,g=this.scale.current*this.Picture.revisedAspect/100,o=c/g*n.x,l=p/g*n.y;s=="move"?this.drawImage(this.pst.imageX+o,this.pst.imageY+l):s=="end"&&this.drawImage(this.pst.imageX+=o,this.pst.imageY+=l)}}pinchEffect(a){let{eventType:s,event:e}=a,{x:r,y:t}=y.getCursor(e.touches[0]),{x:n,y:c}=y.getCursor(e.touches[1]),p=n-r,g=c-t;if(s=="start")this.pinchEffectInfo.origin={x:p,y:g,scale:this.scale.current};else if(s=="move"){let{origin:o}=this.pinchEffectInfo,l=Math.sqrt(Math.pow(o.x,2)+Math.pow(o.y,2)),v=Math.sqrt(Math.pow(p,2)+Math.pow(g,2))/l,C=Number(o.scale*v);this.set_scale(C)}}updateScale(a){let s=a;s=Math.max(s,this.scale.min),s=Math.min(s,this.scale.max),this.scale.current=s,this.drawImage()}updateFilter(a){this.Picture.grayScale=a.grayScale,this.Picture.tone=a.tone,this.Picture.rotate=a.rotate,this.modifyImage()}modifyImage(){return W(this,null,function*(){let{grayScale:a,tone:s,rotate:e}=this.Picture;const r=document.createElement("canvas");let t=r.getContext("2d"),n=yield y.ImageLoader(this.Picture.originDataUrl),c=n.width,p=n.height;(e==90||e==270)&&(c=n.height,p=n.width),r.width=c,r.height=p,a&&(t.filter="grayscale("+a+"%)"),e&&(t.translate(c/2,p/2),t.rotate(e*Math.PI/180),[90,270].includes(e)?t.translate(-p/2,-c/2):t.translate(-c/2,-p/2)),t.drawImage(n,0,0,n.width,n.height);let g=t.getImageData(0,0,r.width,r.height),o=g.data;{a/=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]][s],w=C[0]/255,x=C[1]/255,m=C[2]/255;for(let h=0;h<p;h++)for(let u=0;u<c;u++){var l=(h*c+u)*4;if(a){let E=.3*o[l]+.59*o[l+1]+.11*o[l+2];for(var S=0;S<3;S++){let _=o[l+S];o[l+S]=_+(E-_)*a}}o[l]*=w,o[l+1]*=x,o[l+2]*=m}}t.putImageData(g,0,0);let v=r.toDataURL("image/jpeg");{let C=yield y.ImageLoader(v),{width:w,height:x}=C,m=w/x;this.Picture=K(H({},this.Picture),{elm:C,aspect:m,revisedAspect:this.pst.frame.aspect>m?this.pst.frame.w/w:this.pst.frame.h/x})}this.drawImage()})}drawImage(a,s){let{Canvas:{ctx:e,elm:r},pst:{frame:t}}=this,n=a||this.pst.imageX,c=s||this.pst.imageY;{let p=this.scale.current/100,g=this.Picture.revisedAspect*p,o=this.pst.centerX-n*g,l=this.pst.centerY-c*g,S=this.Picture.elm.width*g,v=this.Picture.elm.height*g;{let C=this.pst.frame.x+this.pst.frame.w-S,w=this.pst.frame.x,x=this.pst.frame.y+this.pst.frame.h-v,m=this.pst.frame.y,h=0;o<C&&(h=o-C),o>w&&(h=o-w);let u=0;l<x&&(u=l-x),l>m&&(u=l-m),this.dragEffectInfo.origin.x+=h/2/this.dragEffectInfo.frameExpandRate.x,this.dragEffectInfo.origin.y+=u/2/this.dragEffectInfo.frameExpandRate.y,o=Math.min(Math.max(o,C),w),l=Math.min(Math.max(l,x),m)}this.pst.outImage={x:o,y:l,w:S,h:v},e.clearRect(0,0,this.Canvas.elm.width,this.Canvas.elm.height),e.drawImage(this.Picture.elm,0,0,this.Picture.elm.width,this.Picture.elm.height,o,l,S,v)}{if(this.usage.aspect==1){e.fillStyle="rgba( 20,24,20,.3 )",e.beginPath();let o=r.width/3*2,l=r.height/3*2,S=Math.min(o,l),v=Math.max(o,l);e.arc(r.width/2,r.height/2,v*1.41,0,Math.PI*2,!0),e.arc(r.width/2,r.height/2,S/2,0,Math.PI*2,!1),e.closePath(),e.fill()}else e.fillStyle="rgba( 20,24,20,.3 )";e.beginPath(),e.moveTo(0,0),e.lineTo(r.width,0),e.lineTo(r.width,r.height),e.lineTo(0,r.height),e.lineTo(0,0),e.closePath(),e.lineTo(t.x,t.y),e.lineTo(t.x,t.y+t.h),e.lineTo(t.x+t.w,t.y+t.h),e.lineTo(t.x+t.w,t.y),e.lineTo(t.x,t.y),e.fill();let g=y(document.body).getStyleProperty("--color-theme-hsl");e.lineWidth=4,e.strokeStyle=`hsla( ${g},1 )`,e.strokeRect(t.x,t.y,t.w,t.h)}}export(){return W(this,null,function*(){let{Canvas:a,develops:s,Picture:e,pst:{outImage:r,frame:t}}=this,n=r.w/e.elm.width,c=r.h/e.elm.height,p=(t.x-r.x)/n,g=(t.x-r.x+t.w)/n,o=(t.y-r.y)/c,l=(t.y-r.y+t.h)/c,S=Array.from({length:s.length}),v="image/jpeg";for(let C=0;C<s.length;C++){let{size:w,maxSize:x}=s[C];x=x||{S:1024*20,R:1024*100,L:1024*350}[w];let m={S:140,R:600,L:1200}[w],h=m;this.usage.aspect>1?h=m/this.usage.aspect:m=h*this.usage.aspect;let u=document.createElement("canvas");u.width=m,u.height=h;let E=u.getContext("2d");if(!E)return;E.clearRect(0,0,m,h),E.drawImage(this.Picture.elm,p,o,g-p,l-o,0,0,m,h);let _=u.toDataURL(v),b=yield _.toBlob(v);if(!b)return;if(b.size>=x){let k=x/b.size;if(_=u.toDataURL(v,k*.92),b=yield _.toBlob(v),!b)return}let U=new File([b],this.val_file.name,{type:v});S[C]=U}return S})}}const q={Core:d=>{let{val_file:a,options:s,finishedCallback:e,abortCallback:r}=d,{use:t,develops:n=[]}=s,[c]=N(J());const p={scale:{default:120,min:100,max:400},rotate:0,grayScale:0,tone:0};let[g,o]=N(p.scale.default),[l,S]=N(p.rotate),[v,C]=N(p.grayScale),[w,x]=N(p.tone);return O(()=>{let m="CropperResize";return y(window).addEvent({eventType:"resize",eventID:m,callback:()=>{y.interval.once(()=>{var k;let h=Z("#Canvas-"+c)[0];if(!h)return;let u=(k=z.get(c))==null?void 0:k.Instance;if(!u)return;let E=h.position(),_=E.width/E.height;h.width=2400,h.height=2400/_;let{width:b,height:U}=h;u.pst.centerX=b/2,u.pst.centerY=U/2,u.frameSizing(),u.modifyImage()},250,"CropperResize")}}),()=>{y(window).removeEvent(m)}},[]),O(()=>{z.set({[c]:{}}),W(void 0,null,function*(){V.fn.corner.active(),yield y.pending(()=>{},400);let{target:m}=yield a.convert();if(!m)return;let h=m.result,u=Z("#Canvas-"+c)[0];if(!u)return;let E=u.position(),_=E.width/E.height;u.width=2400,u.height=2400/_;let b=new re({set_scale:o,val_file:a,develops:n,use:t,scale:p.scale,componentId:c,canvas:u,picture:{image:yield y.ImageLoader(h),grayScale:p.grayScale,tone:p.tone,rotate:p.rotate}});z.set({[c]:{Instance:b}});const U=function(I){if(I.preventDefault(),I.touches&&I.touches.length>1)b.pinchEffect({eventType:"start",event:I}),y(document).addEvent({eventType:"touchmove",eventID:"CropperEffectMove",options:{passive:!1},callback:D=>{D.preventDefault(),b.pinchEffect({eventType:"move",event:D})}}).addEvent({eventType:"touchend",eventID:"CropperEffectEnd",options:{passive:!1},callback:G});else{b.dragEffect(H({eventType:"start"},y.getCursor(I)));let{type:D}=I;y(document).addEvent({eventType:D=="touchstart"?"touchmove":"mousemove",eventID:"CropperEffectMove",options:{passive:!1},callback:T=>{k("move",T)}}).addEvent({eventType:D=="touchstart"?"touchend":"mouseup",eventID:"CropperEffectEnd",options:{passive:!1},callback:T=>{k("end",T),G(T)}})}},k=function(I,D){D.preventDefault(),b.dragEffect(H({eventType:I},y.getCursor(D)))},G=function(I){I.preventDefault(),y(document).removeEvent(["CropperEffectMove","CropperEffectEnd"])};y(u).removeEvent(["CropperMouseWheel","CropperTouchStart","CropperMouseDown"]).addEvent({eventID:"CropperMouseWheel",eventType:"wheel",callback:I=>{I.preventDefault();let D=Number(I.wheelDelta*.04),T=b.scale.current+D;T=Math.max(T,b.scale.min),T=Math.min(T,b.scale.max),o(T)},options:{passive:!1}}).addEvent({eventType:"touchstart",eventID:"CropperTouchStart",callback:U,options:{passive:!1}}).addEvent({eventType:"mousedown",eventID:"CropperMouseDown",callback:U,options:{passive:!1}}),setTimeout(()=>{V.fn.corner.stop()},1e3)})},[a.id]),O(()=>{var h;let m=(h=z.get(c))==null?void 0:h.Instance;m&&m.updateScale(g)},[g]),O(()=>{var h;let m=(h=z.get(c))==null?void 0:h.Instance;m&&m.updateFilter({grayScale:v,tone:w,rotate:l})},[v,w,l]),i(A.Body,{borderRadius:0,height:"viewHeight",width:"viewWidth",children:f(M,{className:[X("Wrap"),X("Use_"+t)].join(" "),gap:0,height:1,position:"relative",overflow:"hidden",borderRadius:"inherit",children:[i(B,{flexSizing:0,overflow:"hidden",position:"relative",backgroundColor:"black",flexCenter:!0,freeCSS:{zIndex:1},children:i("canvas",{style:{width:"100%",height:"100%"},width:2400,height:2400,className:X("Canvas"),id:"Canvas-"+c})}),f(R.Separate,{borderTop:!0,flexSizing:"none",backgroundColor:"layer.1",padding:1,verticalAlign:"unset",UnderBreakPointStyles:{flexType:"col"},children:[i(q.SettingRegion,{DefaultOptions:p,val_scale:g,set_scale:o,val_tone:w,set_tone:x,val_grayScale:v,set_grayScale:C,val_rotate:l,set_rotate:S}),f(R.Right,{flexSizing:"none",children:[i(P.Border,{isRounded:!0,onClick:()=>{r()},children:"\u9589\u3058\u308B"}),i(P,{isRounded:!0,boxShadow:"3.remark",onClick:()=>W(void 0,null,function*(){var u;let m=(u=z.get(c))==null?void 0:u.Instance;if(!m)return;V.fn.mini.active("CropperExportation");let h=yield m.export();setTimeout(()=>{V.fn.mini.stop("CropperExportation"),e(h)},3e3)}),children:f(R.Center,{gap:"1/2",children:[i(V.White.R,{loaderID:"CropperExportation"}),"\u6C7A\u5B9A"]})})]})]})]})})},SettingRegion:d=>{let a=["","\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"],s=e=>a[e]||"\u306A\u3057";return f(R.Left,{verticalAlign:"unset",flexWrap:!0,children:[f(M,{gap:"1/3",children:[i(F.Supplement,{children:"Rotate"}),f(R.Left,{flexChilds:"even",gap:"1/6",children:[i(P.Border.S,{isRounded:!0,borderTopRightRadius:0,borderBottomRightRadius:0,onClick:()=>{let e=d.val_rotate-90;e<0&&(e+=360),d.set_rotate(e)},children:f(R.Center,{gap:"1/4",children:["90\xB0",i(L,{icon:te})]})}),i(P.Border.S,{isRounded:!0,borderTopLeftRadius:0,borderBottomLeftRadius:0,onClick:()=>{d.set_rotate((d.val_rotate+90)%360)},children:f(R.Center,{gap:"1/4",children:[i(L,{icon:ae}),"90\xB0"]})})]})]}),f(M,{gap:"1/3",freeCSS:{minWidth:12*6},children:[i(F.Supplement,{children:"Zoom"}),f(P.Border.S,{flexCenter:!0,isRounded:!0,flexSizing:0,onClick:e=>{let r="CropperZoomEdit";Y.open({tipsID:r,gravityPoint:3,event:e,closeAtParentBlur:!1,freeCSS:{minWidth:12*26},content:i(A.Body,{children:f(M,{padding:1.5,children:[f(R.Separate,{children:[i(F.Paragraph,{children:f(R.Center,{gap:"1/2",children:[i(L.Search,{fontColor:"5.translucent"}),"Zoom"]})}),i(P.Sub,{color:"cloud",ssSphere:2.5,onClick:()=>{Y.close(r)},children:i(L.X,{})})]}),i(B,{borderBottom:!0,opacity:"low"}),i($.Slider,{override:"force",value:d.val_scale-100,min:d.DefaultOptions.scale.min-100,max:d.DefaultOptions.scale.max-100,step:25,onUpdateValidValue:(t,n)=>{y.interval.once(()=>{d.set_scale(t+100)},250,"Cropper.UpdateScale")},legends:{enable:!0,custom:t=>"x"+Math.round(100+t)/100}})]})})})},children:[d.val_scale.rate(1,0),"%"]})]}),f(M,{gap:"1/3",freeCSS:{minWidth:12*6},children:[i(F.Supplement,{children:"GrayScale"}),f(P.Border.S,{flexCenter:!0,isRounded:!0,flexSizing:0,onClick:e=>{let r="CropperGrayScaleEdit";Y.open({tipsID:r,gravityPoint:3,event:e,closeAtParentBlur:!1,freeCSS:{minWidth:12*26},content:i(A.Body,{children:f(M,{padding:1.5,children:[f(R.Separate,{children:[i(F.Paragraph,{children:f(R.Center,{gap:"1/2",children:[i(L,{icon:Q,fontColor:"5.translucent"}),"Gray Scale"]})}),i(P.Sub,{color:"cloud",ssSphere:2.5,onClick:()=>{Y.close(r)},children:i(L.X,{})})]}),i(B,{borderBottom:!0,opacity:"low"}),i($.Slider,{value:d.val_grayScale,min:0,max:100,step:10,onUpdateValidValue:t=>{y.interval.once(()=>{d.set_grayScale(t)},250,"Cropper.GrayScale")},legends:{enable:!0,custom:t=>t+"%"}})]})})})},children:[d.val_grayScale.rate(1,0),"%"]})]}),f(M,{gap:"1/3",freeCSS:{minWidth:12*6},children:[i(F.Supplement,{children:"Tone"}),i(P.Border.S,{flexCenter:!0,isRounded:!0,flexSizing:0,onClick:e=>{let r="CropperToneEdit";Y.open({tipsID:r,gravityPoint:3,event:e,closeAtParentBlur:!1,freeCSS:{minWidth:12*26,maxWidth:12*24},content:()=>{let t=[];for(let n=1;n<=10;n++)t.push({value:n,label:f(R.Left,{gap:"1/3",children:[i(B,{ssSphere:1,className:[X("ToneBall"),X("ToneBall_"+n)].join(" ")}),i(B,{textAlign:"left",flexSizing:0,children:s(n)})]})});return i(A.Body,{children:f(M,{padding:1.5,children:[f(R.Separate,{children:[i(F.Paragraph,{children:f(R.Center,{gap:"1/2",children:[i(L,{icon:ee,fontColor:"5.translucent"}),"Tone"]})}),i(P.Sub,{color:"cloud",ssSphere:2.5,onClick:()=>{Y.close(r)},children:i(L.X,{})})]}),i(B,{borderBottom:!0,opacity:"low"}),i($.Radio.Normal,{value:d.val_tone,gap:"1/2",cellStyles:{fontColor:"3.blur"},options:[{value:0,label:i(B,{flexSizing:0,textAlign:"center",children:"\u306A\u3057"})},...t],onUpdateValidValue:n=>{d.set_tone(n)}})]})})}})},children:f(R.Center,{gap:"1/2",children:[i(B,{boxShadow:"2.remark",ssSphere:1,className:[X("ToneBall"),X("ToneBall_"+d.val_tone)].join(" ")}),s(d.val_tone)]})})]})]})}},j={openDialogNEdit:d=>{$.Filer.fn.openDialog({accept:"image",multiple:!1,onChange:a=>{j.openEditor(H({imageFile:a[0]},d))}})},openEditor:d=>W(void 0,null,function*(){let a="CropperImage";A.open("middleCenter",{sheetID:a,size:"MAX",padding:0,margin:0,freeCSS:{maxWidth:"100%"},content:i(q.Core,{val_file:d.imageFile,options:d,finishedCallback:s=>{A.close(a),d.onProcessFinished(s)},abortCallback:()=>{A.close(a)}}),closeAtEscapeKeyDown:!1})})};export{j as Cropper,j as default};
@@ -39,7 +39,8 @@ declare namespace Filer {
39
39
  openDialog(p: {
40
40
  accept?: Accept;
41
41
  multiple?: boolean;
42
- }): Promise<File[]>;
42
+ onChange(files: File[]): void;
43
+ }): void;
43
44
  };
44
45
  };
45
46
  }
@@ -1 +1 @@
1
- import{b as s,c as u,d as Q,e as U}from"../../chunk-C5N2D3ZX.js";import{Fragment as ne,jsx as l,jsxs as p}from"react/jsx-runtime";import{useState as H,useEffect as Y}from"react";import re,{UUID as b,useStore as ee}from"jmini";import{$$fromRoot as D,ExtractStyles as pe}from"../../@utils";import{Box as d,FAI as R,Flex as P,Column as te}from"../../atoms";import{Row as ue}from"../../mols";import{Button as L}from"../Button";import j from"../Snackbar";import{OptionalInputWrapper as ce,BoxWrapper as me,CoreEffects as ae,DefaultBoxishStyles as de}from"./core";import fe from"./TextField";import{InputFilerClasses as f}from"../../@styles/componentClasses";import{faCloudArrowUp as ge}from"@fortawesome/free-solid-svg-icons/faCloudArrowUp";function ye(e){let{value:t,states:n}=e,{required:c}=n,a=[];return c&&!t.length&&a.push({type:"invalid",label:"\u5FC5\u9808\u9805\u76EE\u3067\u3059"}),{ok:!a.filter(({type:m})=>m=="invalid").length,notice:a}}const le={List:e=>{let{rootStates:t,val_status:n,set_status:c}=e;if(t.useSystemOnly)return null;let a=t.limit-(n.dataValue||[]).length,m=(n.dataValue||[]).map((r,g)=>l(le.ListCell,u(s({},e),{index:g,val_file:r}),r.name));return a>0&&m.push(l(d,u(s({htmlTag:"label"},t.cellStyles),{className:[t.cellClassName,f("AddButton")].join(" "),"data-component-id":n.componentId,htmlFor:t.id,tabIndex:t.tabIndex,onKeyDown:r=>{let{key:g}=r;t.tabIndex!=-1&&[" ","Enter"].includes(g)&&D("#"+t.id).click()},children:p(ue.Center,{padding:["1/3",0],children:[l(d,{isRounded:!0,className:f("AddIcon"),children:l(R,{icon:ge,className:f("Icon"),fontColor:"theme",fontSize:"4.thirdTitle",backgroundColor:"theme.opa.low",ssSphere:3,padding:"1/2"})}),p(d,{children:[p(d,{fontColor:"theme",fontSize:"2.normal",isSemiBoldFont:!0,children:["\u30D5\u30A1\u30A4\u30EB\u3092\u9078\u629E(",a,")"]}),l(d,{fontColor:"4.thin",fontSize:"0.xs",isSemiBoldFont:!0,children:"\u30D5\u30A1\u30A4\u30EB\u3092\u30C9\u30ED\u30C3\u30D7"})]})]})}),"AddButton")),l(te,u(s({flexSizing:"auto"},pe(t)),{className:t.className,children:m}))},ListCell:e=>{let{index:t,rootStates:n,val_file:c,val_status:a,set_status:m}=e,{name:r,size:g,type:i}=c,[F,T]=H(!1),B=b(),K=g.rank(),[J,W]=r.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"),Y(()=>{F&&setTimeout(()=>{D("#"+B).focus()},100)},[F]),p(P,u(s({verticalAlign:"center",flexWrap:!1,gap:1,className:n.cellClassName},n.cellStyles),{children:[l(R.File,{fontSize:"4.thirdTitle",fontColor:"4.thin"}),p(d,{flexSizing:0,children:[l(d,{children:l(P,{verticalAlign:"center",gap:"2/3",flexWrap:!1,className:f("FileName"),children:F?l(ne,{children:p(te,{flexSizing:0,gap:"1/2",children:[p(P,{gap:"2/3",verticalAlign:"center",children:[l(fe,{tone:"border",wrapStyles:{flexSizing:"auto"},restrict:"fileName",name:"name",required:!0,id:B,form:"form-"+B,enableFormSubmit:!0,value:J,onKeyDown:h=>{let{key:w}=h;w=="Escape"&&T(!1)}}),p(d,{children:[". ",W]})]}),p(P,{gap:"2/3",horizontalAlign:"right",flexWrap:!1,children:[l(L.Sub,{padding:["2/3",1],onClick:()=>{T(!1)},children:"\u9589\u3058\u308B"}),l(L,{padding:["2/3",1],submitOption:{formName:"form-"+B,callback:h=>U(void 0,null,function*(){let{name:w}=h,I=[...a.dataValue],N=I[t],X=N.id;if(!N)return;let{target:M}=yield N.convert();if(!M)return;let $=yield String(M.result).toBlob(c.type);if(!$)return;let _=new File([$],w+"."+W,{type:N.type});_.id=X,I[t]=_,m(C=>u(s({},C),{dataValue:I,eventType:"update",eventID:b()})),T(!1)})},children:"\u6C7A\u5B9A"})]})]})}):p(ne,{children:[r,!!n.isNameEditable&&l(L.Clear,{ssSphere:2.5,flexSizing:"none",fontColor:"4.thin",padding:"1/3",ssEffectsOnActive:"expand",color:"cloud",onClick:()=>{T(!0)},children:l(R.Pen,{})})]})})}),!F&&p(d,{fontSize:"1.mini",fontColor:"4.thin",flexSizing:0,children:[o,"\u30D5\u30A1\u30A4\u30EB / ",K,"B"]})]}),l(L.Sub,{color:"cloud",fontColor:"4.thin",ssSphere:3,onClick:()=>{let h=[...a.dataValue];h[t]&&(h.splice(t,1),m(I=>u(s({},I),{dataValue:h,eventType:"update",eventID:b()})))},children:l(R.X,{})})]}))}},Se=e=>{let G=e,{tone:t,required:n,form:c,isNameEditable:a,useSystemOnly:m,accept:r="*",limit:g=1,checkValidationAtFirst:i,onChange:F,onValidate:T,onValidateDelay:B,onUpdateValue:K,onUpdateValidValue:J,onUserAction:W,value:o=[],className:h,cellStyles:w,cellClassName:I,componentId:N,status_id:X,enableFormSubmit:M,freeCSS:oe,wrapStyles:$}=G,_=Q(G,["tone","required","form","isNameEditable","useSystemOnly","accept","limit","checkValidationAtFirst","onChange","onValidate","onValidateDelay","onUpdateValue","onUpdateValidValue","onUserAction","value","className","cellStyles","cellClassName","componentId","status_id","enableFormSubmit","freeCSS","wrapStyles"]),[C,A]=H(ae.DefaultStatus(e.componentId||"",o)),[Z,ie]=H({ok:!1,notice:[]}),se={rootStates:e,val_status:C,set_status:A};Y(()=>{ee.set({["AddFiles-"+C.componentId]:x=>{A(V=>{let v=V.dataValue,k=[];for(var y=0;y<(x==null?void 0:x.length);y++){let S=x[y],{type:E,name:z}=S;if(y+1+v.length>g){j.add({componentId:z,secondsToClose:12e3,children:`\u30D5\u30A1\u30A4\u30EB\u9078\u629E\u4E0A\u9650\u3092\u8D85\u3048\u305F\u305F\u3081\u3001${z}}\u306F\u8FFD\u52A0\u3067\u304D\u307E\u305B\u3093\u3002`,backgroundColor:"nega"});continue}if(r&&r=="image"&&!E.match(/image/)){j.add({componentId:z,secondsToClose:12e3,children:`\u30D5\u30A1\u30A4\u30EB\u5F62\u5F0F\u304C\u7570\u306A\u308B\u305F\u3081\u3001${z} \u306F\u8FFD\u52A0\u3067\u304D\u307E\u305B\u3093\u3002`,backgroundColor:"nega"});continue}k.push(S)}return u(s({},V),{dataValue:[...v,...k],eventType:"update",eventID:b()})})}})},[]),ae.CommonEffects({type:"file",states:e,val_status:C,set_status:A,val_validate:Z,set_validate:ie,SystemValidation:ye});let O="";return r&&(r=="image"?O="image/png,image/jpeg":O=r),p(me,{val_status:C,set_status:A,val_validate:Z,states:e,children:[l(d,u(s({htmlTag:"input",type:"file",className:f("Input"),"data-component-id":C.componentId,accept:O,multiple:g!=1,onChange:x=>U(void 0,null,function*(){F&&F(x);let V=x.target,v=V.files,k=[];for(var y=0;y<(v==null?void 0:v.length);y++){let S=v[y],E=S.name;if(S.id=b(),y+1+C.dataValue.length>g){j.add({componentId:E,secondsToClose:12e3,children:`\u30D5\u30A1\u30A4\u30EB\u767B\u9332\u6570\u3092\u8D85\u3048\u305F\u305F\u3081\u3001${E}}\u306F\u8FFD\u52A0\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002`,backgroundColor:"nega"});continue}k.push(S)}A(S=>u(s({},S),{dataValue:[...S.dataValue,...k],eventType:"update",eventID:b()})),V.value=""})},_),{opacity:"low",tabIndex:-1,value:""})),l(le.List,s({},se))]})},q=e=>(e=u(s({limit:1,isNameEditable:!0,useSystemOnly:!1,tone:"border",value:[]},e),{override:"force",cellStyles:s(s({},de({tone:e.tone||"border"})),e.cellStyles)}),l(ce,{componentId:e.componentId,children:Se,states:e}));q.fn={openDialog:e=>{let{multiple:t,accept:n}=e;return new Promise(c=>{const a=document.createElement("input");a.type="file",a.multiple=t!=null?t:!0,n&&(n=="image"?a.accept="image/png,image/jpeg,image/webp":a.accept=n),a.onchange=m=>{c(m.target.files)},a.click()})}},typeof window!="undefined"&&window.document&&re(document).addEvent({eventType:"dragover",callback:e=>{e.preventDefault(),D("."+f("AddButton")).addClass(f("Draggable"))},options:{passive:!1}}).addEvent({eventType:"drop",callback:e=>{e.preventDefault(),D("."+f("AddButton")).removeClass(f("Draggable"));let t=e.dataTransfer.files;if(t.length){let n=e.target;if(D(n).hasClass(f("AddButton"))){let{componentId:c}=n.dataset,a=ee.get("AddFiles-"+c);a&&a(t)}}},options:{passive:!1}});export{q as Filer,q as default};
1
+ import{b as r,c,d as Y,e as U}from"../../chunk-C5N2D3ZX.js";import{Fragment as oe,jsx as l,jsxs as d}from"react/jsx-runtime";import{useState as j,useEffect as ee}from"react";import H,{UUID as v,useStore as te}from"jmini";import{$$fromRoot as D,ExtractStyles as pe}from"../../@utils";import{Box as f,FAI as R,Flex as L,Column as ae}from"../../atoms";import{Row as ue}from"../../mols";import{Button as W}from"../Button";import q from"../Snackbar";import{OptionalInputWrapper as de,BoxWrapper as me,CoreEffects as le,DefaultBoxishStyles as ce}from"./core";import fe from"./TextField";import{InputFilerClasses as g}from"../../@styles/componentClasses";import{faCloudArrowUp as ge}from"@fortawesome/free-solid-svg-icons/faCloudArrowUp";function ye(e){let{value:t,states:o}=e,{required:m}=o,a=[];return m&&!t.length&&a.push({type:"invalid",label:"\u5FC5\u9808\u9805\u76EE\u3067\u3059"}),{ok:!a.filter(({type:p})=>p=="invalid").length,notice:a}}const ne={List:e=>{let{rootStates:t,val_status:o,set_status:m}=e;if(t.useSystemOnly)return null;let a=t.limit-(o.dataValue||[]).length,p=(o.dataValue||[]).map((n,u)=>l(ne.ListCell,c(r({},e),{index:u,val_file:n}),n.name));return a>0&&p.push(l(f,c(r({htmlTag:"label"},t.cellStyles),{className:[t.cellClassName,g("AddButton")].join(" "),"data-component-id":o.componentId,htmlFor:t.id,tabIndex:t.tabIndex,onKeyDown:n=>{let{key:u}=n;t.tabIndex!=-1&&[" ","Enter"].includes(u)&&D("#"+t.id).click()},children:d(ue.Center,{padding:["1/3",0],children:[l(f,{isRounded:!0,className:g("AddIcon"),children:l(R,{icon:ge,className:g("Icon"),fontColor:"theme",fontSize:"4.thirdTitle",backgroundColor:"theme.opa.low",ssSphere:3,padding:"1/2"})}),d(f,{children:[d(f,{fontColor:"theme",fontSize:"2.normal",isSemiBoldFont:!0,children:["\u30D5\u30A1\u30A4\u30EB\u3092\u9078\u629E(",a,")"]}),l(f,{fontColor:"4.thin",fontSize:"0.xs",isSemiBoldFont:!0,children:"\u30D5\u30A1\u30A4\u30EB\u3092\u30C9\u30ED\u30C3\u30D7"})]})]})}),"AddButton")),l(ae,c(r({flexSizing:"auto"},pe(t)),{className:t.className,children:p}))},ListCell:e=>{let{index:t,rootStates:o,val_file:m,val_status:a,set_status:p}=e,{name:n,size:u,type:s}=m,[F,T]=j(!1),B=v(),J=u.rank(),[X,M]=n.replace(/\s/,"").replace(/(.*)\.(.*)$/,"$1 $2").split(" "),i="\u30D5\u30A1\u30A4\u30EB";return s.match(/image/)?i=s.replace(/image\//,""):s.match(/pdf/)?i="PDF":s.match(/csv/)?i="CSV":s.match(/spreadsheet/)?i="SpreadSheet":s.match(/presentation/)?i="PowerPoint":s.match(/word/)?i="Word":s.match(/zip/)?i="Zip":s.match(/powerpoint/)?i="PowerPoint":s.match(/html/)?i="HTML":s.match(/js/)?i="JavaScript":s.match(/css/)?i="CSS":s.match(/text\/plain/)&&(i="\u30C6\u30AD\u30B9\u30C8"),ee(()=>{F&&setTimeout(()=>{D("#"+B).focus()},100)},[F]),d(L,c(r({verticalAlign:"center",flexWrap:!1,gap:1,className:o.cellClassName},o.cellStyles),{children:[l(R.File,{fontSize:"4.thirdTitle",fontColor:"4.thin"}),d(f,{flexSizing:0,children:[l(f,{children:l(L,{verticalAlign:"center",gap:"2/3",flexWrap:!1,className:g("FileName"),children:F?l(oe,{children:d(ae,{flexSizing:0,gap:"1/2",children:[d(L,{gap:"2/3",verticalAlign:"center",children:[l(fe,{tone:"border",wrapStyles:{flexSizing:"auto"},restrict:"fileName",name:"name",required:!0,id:B,form:"form-"+B,enableFormSubmit:!0,value:X,onKeyDown:h=>{let{key:N}=h;N=="Escape"&&T(!1)}}),d(f,{children:[". ",M]})]}),d(L,{gap:"2/3",horizontalAlign:"right",flexWrap:!1,children:[l(W.Sub,{padding:["2/3",1],onClick:()=>{T(!1)},children:"\u9589\u3058\u308B"}),l(W,{padding:["2/3",1],submitOption:{formName:"form-"+B,callback:h=>U(void 0,null,function*(){let{name:N}=h,b=[...a.dataValue],w=b[t],Z=w.id;if(!w)return;let{target:P}=yield w.convert();if(!P)return;let $=yield String(P.result).toBlob(m.type);if(!$)return;let _=new File([$],N+"."+M,{type:w.type});_.id=Z,b[t]=_,p(C=>c(r({},C),{dataValue:b,eventType:"update",eventID:v()})),T(!1)})},children:"\u6C7A\u5B9A"})]})]})}):d(oe,{children:[n,!!o.isNameEditable&&l(W.Clear,{ssSphere:2.5,flexSizing:"none",fontColor:"4.thin",padding:"1/3",ssEffectsOnActive:"expand",color:"cloud",onClick:()=>{T(!0)},children:l(R.Pen,{})})]})})}),!F&&d(f,{fontSize:"1.mini",fontColor:"4.thin",flexSizing:0,children:[i,"\u30D5\u30A1\u30A4\u30EB / ",J,"B"]})]}),l(W.Sub,{color:"cloud",fontColor:"4.thin",ssSphere:3,onClick:()=>{let h=[...a.dataValue];h[t]&&(h.splice(t,1),p(b=>c(r({},b),{dataValue:h,eventType:"update",eventID:v()})))},children:l(R.X,{})})]}))}},Se=e=>{let Q=e,{tone:t,required:o,form:m,isNameEditable:a,useSystemOnly:p,accept:n="*",limit:u=1,checkValidationAtFirst:s,onChange:F,onValidate:T,onValidateDelay:B,onUpdateValue:J,onUpdateValidValue:X,onUserAction:M,value:i=[],className:h,cellStyles:N,cellClassName:b,componentId:w,status_id:Z,enableFormSubmit:P,freeCSS:ie,wrapStyles:$}=Q,_=Y(Q,["tone","required","form","isNameEditable","useSystemOnly","accept","limit","checkValidationAtFirst","onChange","onValidate","onValidateDelay","onUpdateValue","onUpdateValidValue","onUserAction","value","className","cellStyles","cellClassName","componentId","status_id","enableFormSubmit","freeCSS","wrapStyles"]),[C,A]=j(le.DefaultStatus(e.componentId||"",i)),[G,se]=j({ok:!1,notice:[]}),re={rootStates:e,val_status:C,set_status:A};ee(()=>{te.set({["AddFiles-"+C.componentId]:x=>{A(V=>{let I=V.dataValue,k=[];for(var y=0;y<(x==null?void 0:x.length);y++){let S=x[y],{type:E,name:z}=S;if(y+1+I.length>u){q.add({componentId:z,secondsToClose:12e3,children:`\u30D5\u30A1\u30A4\u30EB\u9078\u629E\u4E0A\u9650\u3092\u8D85\u3048\u305F\u305F\u3081\u3001${z}}\u306F\u8FFD\u52A0\u3067\u304D\u307E\u305B\u3093\u3002`,backgroundColor:"nega"});continue}if(n&&n=="image"&&!E.match(/image/)){q.add({componentId:z,secondsToClose:12e3,children:`\u30D5\u30A1\u30A4\u30EB\u5F62\u5F0F\u304C\u7570\u306A\u308B\u305F\u3081\u3001${z} \u306F\u8FFD\u52A0\u3067\u304D\u307E\u305B\u3093\u3002`,backgroundColor:"nega"});continue}k.push(S)}return c(r({},V),{dataValue:[...I,...k],eventType:"update",eventID:v()})})}})},[]),le.CommonEffects({type:"file",states:e,val_status:C,set_status:A,val_validate:G,set_validate:se,SystemValidation:ye});let O="";return n&&(n=="image"?O="image/png,image/jpeg":O=n),d(me,{val_status:C,set_status:A,val_validate:G,states:e,children:[l(f,c(r({htmlTag:"input",type:"file",className:g("Input"),"data-component-id":C.componentId,accept:O,multiple:u!=1,onChange:x=>U(void 0,null,function*(){F&&F(x);let V=x.target,I=V.files,k=[];for(var y=0;y<(I==null?void 0:I.length);y++){let S=I[y],E=S.name;if(S.id=v(),y+1+C.dataValue.length>u){q.add({componentId:E,secondsToClose:12e3,children:`\u30D5\u30A1\u30A4\u30EB\u767B\u9332\u6570\u3092\u8D85\u3048\u305F\u305F\u3081\u3001${E}}\u306F\u8FFD\u52A0\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002`,backgroundColor:"nega"});continue}k.push(S)}A(S=>c(r({},S),{dataValue:[...S.dataValue,...k],eventType:"update",eventID:v()})),V.value=""})},_),{opacity:"low",tabIndex:-1,value:""})),l(ne.List,r({},re))]})},K=e=>(e=c(r({limit:1,isNameEditable:!0,useSystemOnly:!1,tone:"border",value:[]},e),{override:"force",cellStyles:r(r({},ce({tone:e.tone||"border"})),e.cellStyles)}),l(de,{componentId:e.componentId,children:Se,states:e}));K.fn={openDialog:e=>{let{multiple:t,accept:o}=e,m=v();const a=document.createElement("input");a.type="file",a.multiple=!!t,a.value="",a.id=m,o&&(o=="image"?a.accept="image/png,image/jpeg,image/jpg,image/webp":a.accept=o),H("body").append(a),a.onchange=p=>{var u;let n=((u=p==null?void 0:p.target)==null?void 0:u.files)||[];n!=null&&n.length&&(e.onChange(n),H("#"+m).remove())},a.click()}},typeof window!="undefined"&&window.document&&H(document).addEvent({eventType:"dragover",callback:e=>{e.preventDefault(),D("."+g("AddButton")).addClass(g("Draggable"))},options:{passive:!1}}).addEvent({eventType:"drop",callback:e=>{e.preventDefault(),D("."+g("AddButton")).removeClass(g("Draggable"));let t=e.dataTransfer.files;if(t.length){let o=e.target;if(D(o).hasClass(g("AddButton"))){let{componentId:m}=o.dataset,a=te.get("AddFiles-"+m);a&&a(t)}}},options:{passive:!1}});export{K as Filer,K as default};
@@ -1 +1 @@
1
- import{b as o,c as u,d as B}from"../../chunk-C5N2D3ZX.js";import{jsx as a}from"react/jsx-runtime";import S,{UUID as w}from"jmini";import{useState as ie}from"react";import{$$fromRoot as ne,GenerateHTMLProps as se}from"../../@utils";import{Box as T,Flex as re,FAI as ce,Span as de}from"../../atoms";import{Button as ue}from"../Button";import{OptionalInputWrapper as me,BoxWrapper as pe,CoreEffects as M}from"./core";import{InputListClasses as b}from"../../@styles/componentClasses";function Ce(t){let{value:l,states:i}=t,{type:e,required:s,min:n,max:p}=i;n=n||0,p=p||65535;let r=[],y=l.length;return s&&(y||e=="radio"&&r.push({type:"invalid",label:"\u5FC5\u9808\u9805\u76EE\u3067\u3059"})),y<n&&r.push({type:"invalid",label:n+"\u500B\u4EE5\u4E0A\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044"}),y>p&&r.push({type:"invalid",label:p+"\u500B\u307E\u3067\u9078\u629E\u3067\u304D\u307E\u3059"}),{ok:!r.filter(({type:V})=>V=="invalid").length,notice:r}}const C={InitOptions:t=>{let l=[];return t.forEach(i=>{if(!i)return;let{label:e,value:s}=i;S.is.nullish(e)&&(e=String(s)),l.push(u(o({},i),{label:e,value:s}))}),l},OptionalListWrapper:t=>{let{value:l,options:i=[]}=t,e=S.is.exist(l)?S.flatArray(l):[],s=[];return e.forEach(n=>{i.findIndex(r=>S.is.equal(r.value,n))!=-1&&s.push(n)}),a(C.Core,u(o({},t),{value:s,options:i}))},Core:t=>{let h=t,{type:l,tone:i,required:e,componentId:s="",form:n,override:p,icon:r,iconType:y,iconSize:V,iconPosition:P,iconColor:v,CustomIcon:X,enableFormSubmit:A,checkValidationAtFirst:$,onValidate:U,onValidateDelay:N,onUpdateValue:W,onUpdateValidValue:H,onUserAction:K,value:f,options:q,className:j,cellStyles:G,cellClassName:Q,cellCheckedStyles:Y,cellCheckedClassName:Z,min:D,max:m,hideInput:O,freeCSS:x,wrapStyles:ee}=h,L=B(h,["type","tone","required","componentId","form","override","icon","iconType","iconSize","iconPosition","iconColor","CustomIcon","enableFormSubmit","checkValidationAtFirst","onValidate","onValidateDelay","onUpdateValue","onUpdateValidValue","onUserAction","value","options","className","cellStyles","cellClassName","cellCheckedStyles","cellCheckedClassName","min","max","hideInput","freeCSS","wrapStyles"]),[k,R]=ie(M.DefaultStatus(s,f)),[_,E]=ie({ok:!1,notice:[]});return M.CommonEffects({type:"list."+l,states:t,val_status:k,set_status:R,val_validate:_,set_validate:E,SystemValidation:Ce}),a(pe,{val_status:k,set_status:R,val_validate:_,states:t,children:a(C.List,{rootStates:t,val_status:k,set_status:R})})},List:t=>{let{rootStates:l,val_status:i,set_status:e}=t,{componentId:s,type:n,tone:p,icon:r,iconSize:y,iconColor:V,isChecker:P,options:v,name:X,form:A,tabIndex:$,hideInput:U,disabled:N,className:W,cellStyles:H,cellClassName:K="",cellCheckedStyles:f,cellCheckedClassName:q="",enableFormSubmit:j}=l,{dataValue:G}=i,Q=l.CustomIcon,Y=v.map((Z,D)=>{let le=Z,{value:m,label:O,disabled:x,className:ee="",checkedStyles:L,checkedClassName:k="",freeCSS:R}=le,_=B(le,["value","label","disabled","className","checkedStyles","checkedClassName","freeCSS"]),E=w(),h=G.findIndex(c=>c===m)!=-1,I=o(o({},H),_),z=[b("Label"),K,ee];h&&(I=u(o(o(o({},I),f),L),{freeCSS:o(o(o({},I==null?void 0:I.freeCSS),f==null?void 0:f.freeCSS),L==null?void 0:L.freeCSS)}),z=[...z,q,k]);const te=()=>{if(N||x)return;let c=[];if(n=="radio")c=[m];else if(n=="checkbox"||P)if(!h)c=[...i.dataValue,m];else{let d=[...i.dataValue];d.splice(i.dataValue.findIndex(F=>F==m),1),c=d}e(d=>u(o({},d),{dataValue:c,eventType:"update",eventID:w()}))};let oe=[a(de,{position:"relative",freeCSS:{zIndex:2},flexSizing:0,children:S.is.string(O)?a(T,{children:O}):O},"content")];return r&&oe[l.iconPosition=="right"?"push":"unshift"](a(Q,{isChecked:h,iconSize:y,iconColor:V,toggle:te},"icon")),[a(T,{htmlTag:"input",type:n=="radio"?"radio":"checkbox",className:b("Input"),name:"RadioCheckbox-"+X,"data-list-index":s+"-"+D,id:E,value:String(m),disabled:N||x,checked:h,onFocus:c=>{x||n=="radio"&&(i.dataValue.length||e(d=>u(o({},d),{dataValue:[m],eventType:"update",eventID:w()})))},onChange:()=>{te()},onKeyDown:c=>{let{key:d,shiftKey:F}=c;if((n=="checkbox"||t.rootStates.isChecker)&&d!="Tab"){if(d.match(/Arrow/)){c.preventDefault();let ae=["ArrowLeft","ArrowUp"].includes(d)?-1:1,g=D+ae;g<0?g=v.length-1:g>=v.length&&(g=0),ne(`input[data-list-index="${s}-${g}"]`).focus()}}j&&M.SubmitForm(c,A)},tabIndex:$},"List-"+S.Stringify(m)),a(T,u(o({htmlTag:"label","data-disabled":N||x,htmlFor:E,className:z.join(" "),tabIndex:-1,display:"flex",verticalAlign:"center",flexWrap:!1},I),{children:oe}),"ListTrigger-"+S.Stringify(m))]});return a(re,{flexSizing:"auto",style:l.style,freeCSS:o({},l.freeCSS),className:[W,b("CellBase"),b("HideInput_"+U),b("IconIndicator_"+!!r),b("Tone_"+p)].join(" "),children:Y})},_Icon:t=>{let l=1.5;return t.iconSize=="small"?l=1.2:t.iconSize=="large"&&(l=2),a(ue.Normal,{ssPushable:!0,color:"cloud",tabIndex:-1,ssEffectsOnActive:"ripple.cloud",ssSphere:2,freeCSS:{transform:`scale(${l})`},onClick:i=>{i.preventDefault(),i.stopPropagation(),t.toggle()},children:t.children})},RadioIcon:t=>a(C._Icon,u(o({type:"radio"},t),{children:a(T,{flexCenter:!0,isRounded:!0,border:t.isChecked?"0.trans":"3.thick",borderColor:t.isChecked?t.iconColor:"3.thick",position:"relative",transition:"middle",freeCSS:{width:"50%",height:"50%"},children:a(T,{position:"absolute",transition:"middle",isRounded:!0,backgroundColor:t.iconColor,opacity:t.isChecked?"max":"trans",freeCSS:{width:"60%",height:"60%",transform:t.isChecked?"scale(1)":"scale(.4)"}})})})),CheckboxIcon:t=>a(C._Icon,u(o({type:"checkbox"},t),{children:a(T,{flexCenter:!0,boxShadow:t.isChecked?"0.remark":"none",border:t.isChecked?"0.trans":"3.thick",backgroundColor:t.isChecked?t.iconColor:"trans",position:"relative",transition:"middle",fontColor:"white",freeCSS:{borderRadius:"25%",padding:"4%",width:"50%",height:"50%"},children:a(ce.Check,{transition:"middle",opacity:t.isChecked?"max":"trans",freeCSS:{zIndex:8,width:"100%",height:"100%",transform:t.isChecked?"scale(1)":"scale(.5)"}})})}))},J=t=>{t=t||"checkbox";const l=e=>(e=u(o({gap:1,icon:!0,iconSize:"regular",iconType:t=="radio"?"radio":"checkbox",iconPosition:"left",iconColor:"theme"},e),{type:t,cellStyles:o({gap:"1/6",position:"relative",borderRadius:"2.tone.secondary",transition:"middle"},e.cellStyles)}),e.CustomIcon||(e.iconType=="radio"?e.CustomIcon=C.RadioIcon:e.iconType=="checkbox"&&(e.CustomIcon=C.CheckboxIcon)),e.iconSize=="small"?e.cellStyles.gap=0:e.iconSize=="large"&&(e.cellStyles.gap="1/2"),e.tone=="normal"?(e.cellStyles=o({padding:["1/4",1],border:"1.thin",backgroundColor:"layer.1"},e.cellStyles),e.cellCheckedStyles=o({borderColor:"theme",fontColor:"theme",boxShadow:"1.normal"},e.cellCheckedStyles)):e.tone=="border"?(e.cellStyles=o({border:"1.thin",backgroundColor:"layer.1",padding:["1/2",1,"1/2","1/2"]},e.cellStyles),e.cellCheckedStyles=o({borderColor:"theme",fontColor:"theme"},e.cellCheckedStyles)):e.tone=="cloud"&&(e.cellStyles=o({border:"1.thin",backgroundColor:"layer.2",padding:["1/2",1,"1/2","1/2"]},e.cellStyles),e.cellCheckedStyles=o({backgroundColor:"cloud",fontColor:"theme"},e.cellCheckedStyles)),e=se(e),e.options=C.InitOptions(e.options),a(me,{componentId:e.componentId,children:C.OptionalListWrapper,states:e})),i=l;return i.Normal=e=>a(l,o({type:t,tone:"normal",icon:!1},e)),i.Border=e=>a(l,o({type:t,tone:"border"},e)),i.Cloud=e=>a(l,o({type:t,tone:"cloud"},e)),i.Vivid=e=>a(l,o({type:t,tone:"normal",icon:!1,cellCheckedStyles:{backgroundColor:"theme",fontColor:"white"}},e)),i.Simple=e=>a(l,o({type:t,tone:"plain",icon:!1,cellCheckedStyles:{fontColor:"theme"}},e)),i},he=J("radio"),Se=J("checkbox"),ye=J();export{Se as Checkbox,ye as List,he as Radio};
1
+ import{b as o,c as m,d as B}from"../../chunk-C5N2D3ZX.js";import{jsx as a}from"react/jsx-runtime";import C,{UUID as w}from"jmini";import{useState as ie}from"react";import{$$fromRoot as ne,GenerateHTMLProps as se}from"../../@utils";import{Box as T,Flex as re,FAI as ce,Span as ue}from"../../atoms";import{Button as de}from"../Button";import{OptionalInputWrapper as me,BoxWrapper as pe,CoreEffects as M}from"./core";import{InputListClasses as b}from"../../@styles/componentClasses";function Ce(t){let{value:l,states:i}=t,{type:e,required:s,min:n,max:p}=i;n=n||0,p=p||65535;let c=[],y=l.length;return s&&(y||e=="radio"&&c.push({type:"invalid",label:"\u5FC5\u9808\u9805\u76EE\u3067\u3059"})),y<n&&c.push({type:"invalid",label:n+"\u500B\u4EE5\u4E0A\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044"}),y>p&&c.push({type:"invalid",label:p+"\u500B\u307E\u3067\u9078\u629E\u3067\u304D\u307E\u3059"}),{ok:!c.filter(({type:V})=>V=="invalid").length,notice:c}}const h={InitOptions:t=>{let l=[];return t.forEach(i=>{if(!i)return;let{label:e,value:s}=i;C.is.nullish(e)&&(e=String(s)),l.push(m(o({},i),{label:e,value:s}))}),l},OptionalListWrapper:t=>{let{value:l,options:i=[]}=t,e=C.is.exist(l)?C.flatArray(l):[],s=[];return e.forEach(n=>{i.findIndex(c=>C.is.equal(c.value,n))!=-1&&s.push(n)}),a(h.Core,m(o({},t),{value:s,options:i}))},Core:t=>{let S=t,{type:l,tone:i,required:e,componentId:s="",form:n,override:p,icon:c,iconType:y,iconSize:V,iconPosition:P,iconColor:v,CustomIcon:X,enableFormSubmit:A,checkValidationAtFirst:$,onValidate:U,onValidateDelay:N,onUpdateValue:W,onUpdateValidValue:H,onUserAction:q,value:f,options:K,className:j,cellStyles:G,cellClassName:Q,cellCheckedStyles:Y,cellCheckedClassName:Z,min:D,max:u,hideInput:O,freeCSS:x,wrapStyles:ee}=S,L=B(S,["type","tone","required","componentId","form","override","icon","iconType","iconSize","iconPosition","iconColor","CustomIcon","enableFormSubmit","checkValidationAtFirst","onValidate","onValidateDelay","onUpdateValue","onUpdateValidValue","onUserAction","value","options","className","cellStyles","cellClassName","cellCheckedStyles","cellCheckedClassName","min","max","hideInput","freeCSS","wrapStyles"]),[k,R]=ie(M.DefaultStatus(s,f)),[_,E]=ie({ok:!1,notice:[]});return M.CommonEffects({type:"list."+l,states:t,val_status:k,set_status:R,val_validate:_,set_validate:E,SystemValidation:Ce}),a(pe,{val_status:k,set_status:R,val_validate:_,states:t,children:a(h.List,{rootStates:t,val_status:k,set_status:R})})},List:t=>{let{rootStates:l,val_status:i,set_status:e}=t,{componentId:s,type:n,tone:p,icon:c,iconSize:y,iconColor:V,isChecker:P,options:v,name:X,form:A,tabIndex:$,hideInput:U,disabled:N,className:W,cellStyles:H,cellClassName:q="",cellCheckedStyles:f,cellCheckedClassName:K="",enableFormSubmit:j}=l,{dataValue:G}=i,Q=l.CustomIcon,Y=v.map((Z,D)=>{let le=Z,{value:u,label:O,disabled:x,className:ee="",checkedStyles:L,checkedClassName:k="",freeCSS:R}=le,_=B(le,["value","label","disabled","className","checkedStyles","checkedClassName","freeCSS"]),E=w(),S=G.findIndex(r=>r===u||C.is.equal(r,u))!=-1,I=o(o({},H),_),z=[b("Label"),q,ee];S&&(I=m(o(o(o({},I),f),L),{freeCSS:o(o(o({},I==null?void 0:I.freeCSS),f==null?void 0:f.freeCSS),L==null?void 0:L.freeCSS)}),z=[...z,K,k]);const te=()=>{if(N||x)return;let r=[];if(n=="radio")r=[u];else if(n=="checkbox"||P)if(!S)r=[...i.dataValue,u];else{let d=[...i.dataValue];d.splice(i.dataValue.findIndex(F=>F==u),1),r=d}e(d=>m(o({},d),{dataValue:r,eventType:"update",eventID:w()}))};let oe=[a(ue,{position:"relative",freeCSS:{zIndex:2},flexSizing:0,children:C.is.string(O)?a(T,{children:O}):O},"content")];return c&&oe[l.iconPosition=="right"?"push":"unshift"](a(Q,{isChecked:S,iconSize:y,iconColor:V,toggle:te},"icon")),[a(T,{htmlTag:"input",type:n=="radio"?"radio":"checkbox",className:b("Input"),name:"RadioCheckbox-"+X,"data-list-index":s+"-"+D,id:E,value:String(u),disabled:N||x,checked:S,onFocus:r=>{x||n=="radio"&&(i.dataValue.length||e(d=>m(o({},d),{dataValue:[u],eventType:"update",eventID:w()})))},onChange:()=>{te()},onKeyDown:r=>{let{key:d,shiftKey:F}=r;if((n=="checkbox"||t.rootStates.isChecker)&&d!="Tab"){if(d.match(/Arrow/)){r.preventDefault();let ae=["ArrowLeft","ArrowUp"].includes(d)?-1:1,g=D+ae;g<0?g=v.length-1:g>=v.length&&(g=0),ne(`input[data-list-index="${s}-${g}"]`).focus()}}j&&M.SubmitForm(r,A)},tabIndex:$},"List-"+C.Stringify(u)),a(T,m(o({htmlTag:"label","data-disabled":N||x,htmlFor:E,className:z.join(" "),tabIndex:-1,display:"flex",verticalAlign:"center",flexWrap:!1},I),{children:oe}),"ListTrigger-"+C.Stringify(u))]});return a(re,{flexSizing:"auto",style:l.style,freeCSS:o({},l.freeCSS),className:[W,b("CellBase"),b("HideInput_"+U),b("IconIndicator_"+!!c),b("Tone_"+p)].join(" "),children:Y})},_Icon:t=>{let l=1.5;return t.iconSize=="small"?l=1.2:t.iconSize=="large"&&(l=2),a(de.Normal,{ssPushable:!0,color:"cloud",tabIndex:-1,ssEffectsOnActive:"ripple.cloud",ssSphere:2,freeCSS:{transform:`scale(${l})`},onClick:i=>{i.preventDefault(),i.stopPropagation(),t.toggle()},children:t.children})},RadioIcon:t=>a(h._Icon,m(o({type:"radio"},t),{children:a(T,{flexCenter:!0,isRounded:!0,border:t.isChecked?"0.trans":"3.thick",borderColor:t.isChecked?t.iconColor:"3.thick",position:"relative",transition:"middle",freeCSS:{width:"50%",height:"50%"},children:a(T,{position:"absolute",transition:"middle",isRounded:!0,backgroundColor:t.iconColor,opacity:t.isChecked?"max":"trans",freeCSS:{width:"60%",height:"60%",transform:t.isChecked?"scale(1)":"scale(.4)"}})})})),CheckboxIcon:t=>a(h._Icon,m(o({type:"checkbox"},t),{children:a(T,{flexCenter:!0,boxShadow:t.isChecked?"0.remark":"none",border:t.isChecked?"0.trans":"3.thick",backgroundColor:t.isChecked?t.iconColor:"trans",position:"relative",transition:"middle",fontColor:"white",freeCSS:{borderRadius:"25%",padding:"4%",width:"50%",height:"50%"},children:a(ce.Check,{transition:"middle",opacity:t.isChecked?"max":"trans",freeCSS:{zIndex:8,width:"100%",height:"100%",transform:t.isChecked?"scale(1)":"scale(.5)"}})})}))},J=t=>{t=t||"checkbox";const l=e=>(e=m(o({gap:1,icon:!0,iconSize:"regular",iconType:t=="radio"?"radio":"checkbox",iconPosition:"left",iconColor:"theme"},e),{type:t,cellStyles:o({gap:"1/6",position:"relative",borderRadius:"2.tone.secondary",transition:"middle"},e.cellStyles)}),e.CustomIcon||(e.iconType=="radio"?e.CustomIcon=h.RadioIcon:e.iconType=="checkbox"&&(e.CustomIcon=h.CheckboxIcon)),e.iconSize=="small"?e.cellStyles.gap=0:e.iconSize=="large"&&(e.cellStyles.gap="1/2"),e.tone=="normal"?(e.cellStyles=o({padding:["1/4",1],border:"1.thin",backgroundColor:"layer.1"},e.cellStyles),e.cellCheckedStyles=o({borderColor:"theme",fontColor:"theme",boxShadow:"1.normal"},e.cellCheckedStyles)):e.tone=="border"?(e.cellStyles=o({border:"1.thin",backgroundColor:"layer.1",padding:["1/2",1,"1/2","1/2"]},e.cellStyles),e.cellCheckedStyles=o({borderColor:"theme",fontColor:"theme"},e.cellCheckedStyles)):e.tone=="cloud"&&(e.cellStyles=o({border:"1.thin",backgroundColor:"layer.2",padding:["1/2",1,"1/2","1/2"]},e.cellStyles),e.cellCheckedStyles=o({backgroundColor:"cloud",fontColor:"theme"},e.cellCheckedStyles)),e=se(e),e.options=h.InitOptions(e.options),a(me,{componentId:e.componentId,children:h.OptionalListWrapper,states:e})),i=l;return i.Normal=e=>a(l,o({type:t,tone:"normal",icon:!1},e)),i.Border=e=>a(l,o({type:t,tone:"border"},e)),i.Cloud=e=>a(l,o({type:t,tone:"cloud"},e)),i.Vivid=e=>a(l,o({type:t,tone:"normal",icon:!1,cellCheckedStyles:{backgroundColor:"theme",fontColor:"white"}},e)),i.Simple=e=>a(l,o({type:t,tone:"plain",icon:!1,cellCheckedStyles:{fontColor:"theme"}},e)),i},he=J("radio"),Se=J("checkbox"),ye=J();export{Se as Checkbox,ye as List,he as Radio};
@@ -1 +1 @@
1
- import{b as n,c as u,e as _}from"../../chunk-C5N2D3ZX.js";import{jsx as f,jsxs as R}from"react/jsx-runtime";import{useState as x,useEffect as S}from"react";import c,{UUID as v,useStore as g}from"jmini";import{$$fromRoot as D}from"../../@utils";import{InputClasses as b}from"../../@styles/componentClasses";import{Box as B,Flex as E,FAI as V,Column as F}from"../../atoms";import{Row as k,Literal as N}from"../../mols";import{Button as w}from"../Button";import C from"../Tooltips";const et=t=>{let[i]=x(t.componentId||v());t=n({},t),t.states=u(n({enableFormSubmit:!0,status_id:v(),override:"never",form:"",id:v(),"aria-label":"Input-"+i},t.states),{componentId:i});let{children:a}=t;return f(a,n({},t.states))},at=t=>{let{children:i,val_status:a,val_validate:e,states:s}=t,{leftIcon:r,wrapStyles:o}=s;return s.checkValidationAtFirst||a.eventType=="init"&&(e.notice=[]),R(k.Center,u(n({position:"relative",verticalAlign:"unset",gap:0},o),{className:b("Wrapper"),"data-notice-uid":a.componentId,children:[f(T.Notice,{notice:e.notice,val_status:a}),s.leftIndicator,R(E,{position:"relative",flexSizing:"auto",children:[i,r,f(T.RightIcon,n({},t)),f(T.ClearButton,n({},t))]}),s.rightIndicator]}))},T={ClearButton:t=>!t.states.clearButton||!t.val_status.dataValue?null:f(w.Normal,{ssSphere:2,flexCenter:!0,fontColor:"5.translucent",ssEffectsOnActive:["ripple.theme"],position:"absolute",right:1,top:"50%",freeCSS:{zIndex:3,transform:"translateY(-50%)"},onClick:()=>{t.set_status(i=>u(n({},i),{dataValue:"",formatValue:"",eventType:"update",eventID:v()}))},children:f(V.X,{})}),RightIcon:t=>t.states.clearButton&&t.val_status.dataValue?null:t.states.rightIcon,Notice:t=>{let{notice:i,val_status:a}=t,{componentId:e}=a,s="NoticeTimer-"+e,r="NoticeTimerClose-"+e,o="notice-tips-"+e;return S(()=>{c.interval.once(()=>{if(!i.length){C.close(o);return}C.open({tipsID:o,parent:`[data-notice-uid="${e}"]`,gravityPoint:24,padding:[1,0],closeAtParentBlur:!1,content:R(C.Body,{padding:["1/2","2/3"],fontSize:"1.mini",position:"relative",children:[f(B,{position:"absolute",unitHeight:1,unitWidth:1,right:1,backgroundColor:"dark",freeCSS:{zIndex:1,transform:"rotate(45deg)",top:-6}}),f(F,{backgroundColor:"inherit",gap:"1/3",position:"relative",freeCSS:{zIndex:2},children:i.map((y,I)=>{let{type:l,label:d}=y,m=l=="invalid"?V.Exclamation:l=="warn"?V.Exclamation:V.Check;return R(k.Left,{gap:0,borderRadius:"2.tone.secondary",children:[f(m,{flexCenter:!0,fontSize:"2.normal",fontColor:{invalid:"nega",warn:"warn",valid:"posi"}[l]}),f(N.Supplement,{fontSize:"0.xs",fontColor:"white",children:d})]},I+"-"+c.Stringify(y))})})]})})},350,s),c.interval.once(()=>{C.close(o)},6e3,r)},[i]),null}},A={DefaultStatus:(t,i)=>({componentId:t,dataValue:i,eventType:"init",eventID:v()}),CommonEffects:function(t){let{type:i,states:a,val_status:e,set_status:s,val_validate:r,set_validate:o,SystemValidation:y}=t;a=n({},a);let{componentId:I}=e;S(()=>(g.update({[I]:{ResolveRefresh:null,Refresh:()=>new Promise((l,d)=>{g.get(I).ResolveRefresh=l,s(m=>u(n({},m),{isValidating:!0,eventType:"refresh",eventID:v()}))}),GenNotice:l=>{let{ok:d,notice:m}=l;o({ok:d,notice:m})}}}),()=>{g.delete(I)}),[]),c.scope(()=>{let{override:l}=a;if(l=="never"||l=="beforeModified"&&!["init","override"].includes(e.eventType)||e.isComposing)return;let d=g.get(e.componentId);if(d){{if(c.is.equal(a.value,e.dataValue)){d.status_id=a.status_id;return}if(c.is.equal(c.SortifyObject(a.value),c.SortifyObject(e.dataValue)))return}a.status_id!=d.status_id&&e.eventType!="override"&&s(m=>u(n(u(n({},m),{dataValue:a.value}),t.ExtraOverrideStates&&t.ExtraOverrideStates()),{eventType:"override",eventID:v()}))}}),S(()=>{A.ValidationCheck({val_status:e,set_status:s,set_validate:o,SystemValidation:y,states:a})},[e.eventID,e.dataValue]);{let{componentId:l,eventType:d,dataValue:m}=e,p=m;i=="autocomplete.single"||i=="list.radio"?p=p[0]:a.isChecker&&(p=!!p[0]),S(()=>(c.scope(()=>{if(a.form=a.form||"testForm",a.name&&a.form&&g.update({[["form-data",a.form].join("-")]:{[a.name]:{componentId:l,type:i,value:p,validation:r.ok}}}),e.isValidating||d!="refresh")return;let h=g.get(l);h&&h.ResolveRefresh&&h.ResolveRefresh(null)}),()=>{g.update({[["form-data",a.form].join("-")]:{[a.name]:null}})}),[e,r]),S(()=>{a.onUserAction&&a.onUserAction(p,{eventType:d,componentId:l,isValidated:!!r.ok,isComposing:!!e.isComposing,isFocusing:!!e.isFocusing})},[e]),S(()=>{d=="update"&&(a.onUpdateValue&&a.onUpdateValue(p,{eventType:d,componentId:l,isValidated:!!r.ok,isComposing:!!e.isComposing,isFocusing:!!e.isFocusing}),a.onUpdateValidValue&&r.ok&&a.onUpdateValidValue(p,{eventType:d,componentId:l,isValidated:!!r.ok,isComposing:!!e.isComposing,isFocusing:!!e.isFocusing}))},[r.ok,e.dataValue])}},ValidationCheck:t=>{let{states:i}=t,a="ValidationTimer-"+t.val_status.componentId;c.interval.abort(a),t.set_status(o=>u(n({},o),{isValidating:!0}));let e=t.SystemValidation({value:t.val_status.dataValue,states:i});if(!e.ok){t.set_validate(e),t.set_status(o=>u(n({},o),{isValidating:!1}));return}let s=e.notice;const r=()=>_(void 0,null,function*(){if(!i.onValidate)return;let o=yield i.onValidate(t.val_status.dataValue,t.val_status.eventType,t);t.set_validate({ok:o.ok,notice:[...s,...o.notice]}),t.set_status(y=>u(n({},y),{isValidating:!1}))});if(i.onValidate){if(t.val_status.eventType=="refresh"){r();return}c.interval.once(r,i.onValidateDelay||500,a);return}t.set_validate({ok:!0,notice:s}),t.set_status(o=>u(n({},o),{isValidating:!1}))},SubmitForm:(t,i)=>{let a=!1;if(!i)return a;let e=D(`[data-form-submit-button="${i}"]`)[0];if(!e)return a;let s=e.dataset.sdfike||"",r=t.key,o=t.ctrlKey||t.metaKey;return c.scope(()=>{s.includes("enter")&&(r!="Enter"||t.nativeEvent.isComposing||(t==null?void 0:t.keyCode)==229)||((r=="Enter"&&(s.includes("enter")||s.includes("auxEnter")&&o)||r==" "&&s.includes("space"))&&(e.click(),t.preventDefault()),a=!0)}),a},isShowValidation:(t,i,a)=>{let e=t.ok;return!a&&i.eventType=="init"?!0:e}},it=function(t){t=n({tone:"border"},t);let i=c.scope(()=>{if(t.tone=="plain")return{};let e={padding:1,transition:"middle",flexSizing:"auto",boxShadow:"0.min"};return t.tone=="border"?e=u(n({},e),{border:!0,borderRadius:"2.tone.secondary",backgroundColor:"layer.1"}):t.tone=="cloud"?e=u(n({},e),{border:"1.thin",borderRadius:"2.tone.secondary",backgroundColor:"cloud"}):t.tone=="bottomBorder"&&(e=u(n({},e),{borderRadius:0,border:"unset",borderBottom:!0,backgroundColor:"cloud"})),e});return u(n(n(n(n(n(n({fontColor:"2.normal"},i),!!t.rightIcon&&{paddingRight:3}),!!t.leftIcon&&{paddingLeft:3}),!!t.leftIndicator&&{borderTopLeftRadius:"2/3",borderBottomLeftRadius:"2/3",marginLeft:"1/4"}),!!t.rightIndicator&&{borderTopRightRadius:"2/3",borderBottomRightRadius:"2/3",marginRight:"1/4"}),t),{freeCSS:n({letterSpacing:"1px",resize:"none"},t.freeCSS),className:[b("Input"),t.className].join(" ")})};export{at as BoxWrapper,A as CoreEffects,it as DefaultBoxishStyles,et as OptionalInputWrapper};
1
+ import{b as n,c as d,e as _}from"../../chunk-C5N2D3ZX.js";import{jsx as m,jsxs as h}from"react/jsx-runtime";import{useState as x,useEffect as S}from"react";import p,{UUID as v,useStore as g}from"jmini";import{$$fromRoot as D}from"../../@utils";import{InputClasses as b}from"../../@styles/componentClasses";import{Box as B,Flex as E,FAI as C,Column as F}from"../../atoms";import{Row as k,Literal as N}from"../../mols";import{Button as w}from"../Button";import R from"../Tooltips";const et=t=>{let[i]=x(t.componentId||v());t=n({},t),t.states=d(n({enableFormSubmit:!0,status_id:v(),override:"never",form:"",id:v(),"aria-label":"Input-"+i},t.states),{componentId:i});let{children:a}=t;return m(a,n({},t.states))},at=t=>{let{children:i,val_status:a,val_validate:e,states:s}=t,{leftIcon:r,wrapStyles:o}=s;return s.checkValidationAtFirst||a.eventType=="init"&&(e.notice=[]),h(k.Center,d(n({position:"relative",verticalAlign:"unset",gap:0},o),{className:b("Wrapper"),"data-notice-uid":a.componentId,children:[m(T.Notice,{notice:e.notice,val_status:a}),s.leftIndicator,h(E,{position:"relative",flexSizing:"auto",children:[i,r,m(T.RightIcon,n({},t)),m(T.ClearButton,n({},t))]}),s.rightIndicator]}))},T={ClearButton:t=>!t.states.clearButton||!t.val_status.dataValue?null:m(w.Normal,{ssSphere:2,flexCenter:!0,fontColor:"5.translucent",ssEffectsOnActive:["ripple.theme"],position:"absolute",right:1,top:"50%",freeCSS:{zIndex:3,transform:"translateY(-50%)"},onClick:()=>{t.set_status(i=>d(n({},i),{dataValue:"",formatValue:"",eventType:"update",eventID:v()}))},children:m(C.X,{})}),RightIcon:t=>t.states.clearButton&&t.val_status.dataValue?null:t.states.rightIcon,Notice:t=>{let{notice:i,val_status:a}=t,{componentId:e}=a,s="NoticeTimer-"+e,r="NoticeTimerClose-"+e,o="notice-tips-"+e;return S(()=>{p.interval.once(()=>{if(!i.length){R.close(o);return}R.open({tipsID:o,parent:`[data-notice-uid="${e}"]`,gravityPoint:24,padding:[1,0],closeAtParentBlur:!1,content:h(R.Body,{padding:["1/2","2/3"],fontSize:"1.mini",position:"relative",children:[m(B,{position:"absolute",unitHeight:1,unitWidth:1,right:1,backgroundColor:"dark",freeCSS:{zIndex:1,transform:"rotate(45deg)",top:-6}}),m(F,{backgroundColor:"inherit",gap:"1/3",position:"relative",freeCSS:{zIndex:2},children:i.map((y,I)=>{let{type:l,label:u}=y,f=l=="invalid"?C.Exclamation:l=="warn"?C.Exclamation:C.Check;return h(k.Left,{gap:0,borderRadius:"2.tone.secondary",children:[m(f,{flexCenter:!0,fontSize:"2.normal",fontColor:{invalid:"nega",warn:"warn",valid:"posi"}[l]}),m(N.Supplement,{fontSize:"0.xs",fontColor:"white",children:u})]},I+"-"+p.Stringify(y))})})]})})},350,s),p.interval.once(()=>{R.close(o)},6e3,r)},[i]),null}},A={DefaultStatus:(t,i)=>({componentId:t,dataValue:i,eventType:"init",eventID:v()}),CommonEffects:function(t){let{type:i,states:a,val_status:e,set_status:s,val_validate:r,set_validate:o,SystemValidation:y}=t;a=n({},a);let{componentId:I}=e;S(()=>(g.update({[I]:{ResolveRefresh:null,Refresh:()=>new Promise((l,u)=>{g.get(I).ResolveRefresh=l,s(f=>d(n({},f),{isValidating:!0,eventType:"refresh",eventID:v()}))}),GenNotice:l=>{let{ok:u,notice:f}=l;o({ok:u,notice:f})}}}),()=>{g.delete(I)}),[]),p.scope(()=>{let{override:l}=a;if(l=="never"||l=="beforeModified"&&!["init","override"].includes(e.eventType)||e.isComposing)return;let u=g.get(e.componentId);if(!u)return;if(p.is.equal(a.value,e.dataValue)){u.status_id=a.status_id;return}let f=p.SortifyObject(a.value),c=p.SortifyObject(e.dataValue);if(f&&c&&p.is.equal(f,c)){u.status_id=a.status_id;return}a.status_id!=u.status_id&&s(V=>d(n(d(n({},V),{dataValue:a.value}),t.ExtraOverrideStates&&t.ExtraOverrideStates()),{eventType:"override",eventID:v()}))}),S(()=>{A.ValidationCheck({val_status:e,set_status:s,set_validate:o,SystemValidation:y,states:a})},[e.eventID,e.dataValue]);{let{componentId:l,eventType:u,dataValue:f}=e,c=f;i=="autocomplete.single"||i=="list.radio"?c=c[0]:a.isChecker&&(c=!!c[0]),S(()=>(p.scope(()=>{if(a.form=a.form||"testForm",a.name&&a.form&&g.update({[["form-data",a.form].join("-")]:{[a.name]:{componentId:l,type:i,value:c,validation:r.ok}}}),e.isValidating||u!="refresh")return;let V=g.get(l);V&&V.ResolveRefresh&&V.ResolveRefresh(null)}),()=>{g.update({[["form-data",a.form].join("-")]:{[a.name]:null}})}),[e,r]),S(()=>{a.onUserAction&&a.onUserAction(c,{eventType:u,componentId:l,isValidated:!!r.ok,isComposing:!!e.isComposing,isFocusing:!!e.isFocusing})},[e]),S(()=>{u=="update"&&(a.onUpdateValue&&a.onUpdateValue(c,{eventType:u,componentId:l,isValidated:!!r.ok,isComposing:!!e.isComposing,isFocusing:!!e.isFocusing}),a.onUpdateValidValue&&r.ok&&a.onUpdateValidValue(c,{eventType:u,componentId:l,isValidated:!!r.ok,isComposing:!!e.isComposing,isFocusing:!!e.isFocusing}))},[r.ok,e.dataValue])}},ValidationCheck:t=>{let{states:i}=t,a="ValidationTimer-"+t.val_status.componentId;p.interval.abort(a),t.set_status(o=>d(n({},o),{isValidating:!0}));let e=t.SystemValidation({value:t.val_status.dataValue,states:i});if(!e.ok){t.set_validate(e),t.set_status(o=>d(n({},o),{isValidating:!1}));return}let s=e.notice;const r=()=>_(void 0,null,function*(){if(!i.onValidate)return;let o=yield i.onValidate(t.val_status.dataValue,t.val_status.eventType,t);t.set_validate({ok:o.ok,notice:[...s,...o.notice]}),t.set_status(y=>d(n({},y),{isValidating:!1}))});if(i.onValidate){if(t.val_status.eventType=="refresh"){r();return}p.interval.once(r,i.onValidateDelay||500,a);return}t.set_validate({ok:!0,notice:s}),t.set_status(o=>d(n({},o),{isValidating:!1}))},SubmitForm:(t,i)=>{let a=!1;if(!i)return a;let e=D(`[data-form-submit-button="${i}"]`)[0];if(!e)return a;let s=e.dataset.sdfike||"",r=t.key,o=t.ctrlKey||t.metaKey;return p.scope(()=>{s.includes("enter")&&(r!="Enter"||t.nativeEvent.isComposing||(t==null?void 0:t.keyCode)==229)||((r=="Enter"&&(s.includes("enter")||s.includes("auxEnter")&&o)||r==" "&&s.includes("space"))&&(e.click(),t.preventDefault()),a=!0)}),a},isShowValidation:(t,i,a)=>{let e=t.ok;return!a&&i.eventType=="init"?!0:e}},it=function(t){t=n({tone:"border"},t);let i=p.scope(()=>{if(t.tone=="plain")return{};let e={padding:1,transition:"middle",flexSizing:"auto",boxShadow:"0.min"};return t.tone=="border"?e=d(n({},e),{border:!0,borderRadius:"2.tone.secondary",backgroundColor:"layer.1"}):t.tone=="cloud"?e=d(n({},e),{border:"1.thin",borderRadius:"2.tone.secondary",backgroundColor:"cloud"}):t.tone=="bottomBorder"&&(e=d(n({},e),{borderRadius:0,border:"unset",borderBottom:!0,backgroundColor:"cloud"})),e});return d(n(n(n(n(n(n({fontColor:"2.normal"},i),!!t.rightIcon&&{paddingRight:3}),!!t.leftIcon&&{paddingLeft:3}),!!t.leftIndicator&&{borderTopLeftRadius:"2/3",borderBottomLeftRadius:"2/3",marginLeft:"1/4"}),!!t.rightIndicator&&{borderTopRightRadius:"2/3",borderBottomRightRadius:"2/3",marginRight:"1/4"}),t),{freeCSS:n({letterSpacing:"1px",resize:"none"},t.freeCSS),className:[b("Input"),t.className].join(" ")})};export{at as BoxWrapper,A as CoreEffects,it as DefaultBoxishStyles,et as OptionalInputWrapper};
@@ -9,7 +9,7 @@ declare namespace Sheet {
9
9
  type: T;
10
10
  isOpen: boolean;
11
11
  children: ReactElement;
12
- }): ReactElement;
12
+ }): JSX.Element;
13
13
  image(params: Omit<UniInput, 'content'>, src: string | string[]): void;
14
14
  open<T extends keyof TypesInput>(type: T, params: TypesInput[T], defaultOpen?: boolean | 'inherit'): void;
15
15
  resize(p: {
package/dist/fn/Sheet.js CHANGED
@@ -1 +1 @@
1
- import{b as g,c as w,d as H}from"../chunk-C5N2D3ZX.js";import{jsx as h,jsxs as V}from"react/jsx-runtime";import c,{UUID as Z,Time as le,useStore as x}from"jmini";import{useState as L,useEffect as G,useRef as pe}from"react";import{$$fromRoot as K,Config as X}from"../@utils";import{Box as k,Flex as ue,Img as ie,FAI as ae,Column as oe}from"../atoms";import{Row as ne}from"../mols";import{Button as se}from"./Button";import he from"./Input";import{SheetClasses as m}from"../@styles/componentClasses";import ce from"./Effect";const A={currentIndex:0,openQueue:{},getSessionStates:()=>{let t=x.get("sessionStates-"+X.get().sessionUID);return t||null},getNewSheetStates:t=>{var a;let e=w(g({sheetGroups:t.sheetGroups||[],backgroundEffect:!0,overwrap:t.type=="custom",hold_state:!1,closeAtPageTransit:!0,closeAtEscapeKeyDown:!0,closeAtAroundClick:t.type=="custom"},t),{sheetID:t.sheetID||Z(),isOpen:!0,created_at:le()});if(e.type=="custom"){let l=e;l.parent=l.parent||((a=l==null?void 0:l.event)==null?void 0:a.currentTarget),e=l}return e}},j={Wrapper:()=>{let[t,e]=L([]),a={val_sheets:t,set_sheets:e},l="sessionStates-"+X.get().sessionUID;return x.set({[l]:a}),G(()=>{let d="Sheet-"+X.get().sessionUID;x.set({[d]:{add:(r,s)=>{let i=x.get(d);if(!i)return;let o=A.getNewSheetStates(r);if(A.openQueue[o.sheetID])return;if(A.openQueue[o.sheetID]=!0,s!="inherit"&&(o.isOpen=s!=null?s:!0),!!i.find(o.sheetID)){e(C=>{let I=[...C],D=I.findIndex(N=>N.sheetID==o.sheetID);return D==-1||(I[D]=o),I}),delete A.openQueue[o.sheetID];return}e(C=>[o,...C])},find:r=>{let s=A.getSessionStates();if(!s)return null;let{val_sheets:i}=s;return i.find(o=>o.sheetID==r)}}}),c(X.get().appRoot).removeEvent(["SheetEvent.keyUp","SheetEvent.Click"]).addEvent({eventType:"keyup",eventID:"SheetEvent.keyUp",callback:function(r){let{key:s,metaKey:i}=r;if(s=="Escape"||s==","&&i){let o=A.getSessionStates();if(!o)return;let{val_sheets:v}=o,C=v.filter(D=>D.isOpen);if(!C.length)return;let I=C.reduce((D,N)=>D.created_at.value>N.created_at.value?D:N);E.close(I.sheetID,s)}}}).addEvent({eventType:"click",eventID:"SheetEvent.Click",callback:function(r){let s=A.getSessionStates();if(!s)return;let{val_sheets:i}=s,o=r.target;if(!o||o!=null&&o.closest("."+m("CustomSheet")))return;let v=i.filter(C=>C.type=="custom");v.length&&v.forEach(C=>{let{parent:I}=C;if(!C.closeAtAroundClick)return;let D=K(I)[0];I!==o&&D!==o&&(c(D).find(o).length||E.close(C.sheetID))})}})},[]),h(k,{className:["AMOTIFY_be",m("Wrapper")].join(" "),children:t.map(d=>h(j.Core,w(g({},a),{val_sheet:d,patch_sheet:r=>{e(s=>{let i=[...s],o=i.findIndex(v=>v.sheetID==d.sheetID);return o==-1||(i[o]=g(g({},i[o]),r)),i})},delete_sheet:()=>{e(r=>{let s=[...r],i=s.findIndex(o=>o.sheetID==d.sheetID);return i==-1||s.splice(i,1),s})}}),d.sheetID))})},sheetCategory:t=>t=="custom"?"custom":t.startsWith("drawer")?"drawer":"normal",sheetPosition:t=>t=="drawer.left"?"left":t=="drawer.right"?"right":t=="drawer.bottom"?"bottom":"",Core:t=>{let{val_sheet:e,patch_sheet:a}=t,[l,d]=L(A.currentIndex+2),[r]=L(Z()),s=e.type!="custom"&&!e.overwrap;G(()=>{A.currentIndex++,c.scope(()=>{if(!e.closeAtParentBlur)return;let o=c(e.parent);o[0]&&o.addEvent({eventID:"SheetClosation-"+e.sheetID,eventType:"mouseout",callback:()=>{o.removeEvent("SheetClosation-"+e.sheetID),a({isOpen:!1})}})}),x.set({[e.sheetID]:{resize:o=>{if(e.type=="drawer.bottom"){let v=x.get(r);v&&v.resize&&v.resize(o)}else(e.type.includes("normal")||e.type.includes("drawer"))&&a({size:o})},close:o=>{a({isOpen:!1})},open:()=>{a({isOpen:!0})}}})},[]),G(()=>{c.scope(()=>{let o=K("#"+r);if(e.isOpen){e.hold_state&&d(A.currentIndex+1),o.await(10).removeClass(m("Hide")).await(10).addClass(m("Open")).callback(()=>{delete A.openQueue[e.sheetID],e.onOpen&&e.onOpen()});return}o.await(10).removeClass(m("Open")).await(251).addClass(m("Hide")).callback(()=>{if(e.onClose&&e.onClose(),s&&X.get().browserIs!="safari"&&c(X.get().appRoot).focus(),e.hold_state)return a({isOpen:!1});t.delete_sheet()})})},[e.isOpen]);let i=j.Types[{topLeft:"Normal",topCenter:"Normal",topRight:"Normal",middleLeft:"Normal",middleCenter:"Normal",middleRight:"Normal",bottomLeft:"Normal",bottomCenter:"Normal",bottomRight:"Normal","drawer.left":"Edge","drawer.right":"Edge","drawer.bottom":"Bottom",custom:"Custom"}[e.type]];return h(k,{className:[m("Wrap"),m("Tcate_"+j.sheetCategory(e.type)),m("Tpos_"+j.sheetPosition(e.type)),m("isMainSheet_"+s)].join(" "),width:1,ssAbsoluteCovered:!0,freeCSS:{zIndex:l},id:r,children:V(oe,{className:m("Content"),gap:0,height:"viewHeight",overflow:"auto",transition:"middle",children:[!!s&&h(j.TapSensor,{sheetID:e.sheetID,delegateAroundClick:e.closeAtAroundClick}),h(i,g({componentId:r},e))]})},r)},Types:{Normal:t=>{let R=t,{sheetID:e,sheetGroups:a,bodyScrolls:l,content:d,className:r="",type:s,size:i="R",freeCSS:o,onOpen:v,onClose:C,closeAtAroundClick:I,closeAtEscapeKeyDown:D,closeAtPageTransit:N,closeAtParentBlur:J,closeAtSwipeDown:Y,hold_state:q,overwrap:ee,isOpen:te,backgroundEffect:U}=R,M=H(R,["sheetID","sheetGroups","bodyScrolls","content","className","type","size","freeCSS","onOpen","onClose","closeAtAroundClick","closeAtEscapeKeyDown","closeAtPageTransit","closeAtParentBlur","closeAtSwipeDown","hold_state","overwrap","isOpen","backgroundEffect"]),T={},y=[];return s.match(/top/)?(y.push("top"),T.marginBottom="auto"):s.match(/middle/)?(y.push("center"),T.marginTop="auto",T.marginBottom="auto"):s.match(/bottom/)&&(y.push("bottom"),T.marginTop="auto"),s.match(/left/i)?(y.push("left"),T.marginRight="auto"):s.match(/center/i)?(y.push("center"),T.marginLeft="auto",T.marginRight="auto"):s.match(/right/i)&&(y.push("right"),T.marginLeft="auto"),h(k,w(g(g({className:[m("BB"),r].join(" "),padding:1,transition:"long",opacity:"trans"},M),T),{freeCSS:g({width:{S:"26rem",R:"36rem",L:"44rem","2L":"60rem","3L":"72rem",MAX:"100%"}[i],maxWidth:"96vw",transformOrigin:y.join(" ")},o),children:c.is.function(d)?h(d,{}):d}))},Edge:t=>{let M=t,{sheetID:e,sheetGroups:a,bodyScrolls:l,type:d,content:r,className:s="",size:i="R",onOpen:o,onClose:v,closeAtAroundClick:C,closeAtEscapeKeyDown:I,closeAtPageTransit:D,closeAtParentBlur:N,closeAtSwipeDown:J,hold_state:Y,overwrap:q,isOpen:ee,backgroundEffect:te}=M,U=H(M,["sheetID","sheetGroups","bodyScrolls","type","content","className","size","onOpen","onClose","closeAtAroundClick","closeAtEscapeKeyDown","closeAtPageTransit","closeAtParentBlur","closeAtSwipeDown","hold_state","overwrap","isOpen","backgroundEffect"]);return h(k,w(g(w(g({className:[m("BB"),s].join(" ")},d=="drawer.right"?{marginLeft:"auto"}:d=="drawer.left"?{marginRight:"auto"}:{}),{opacity:"trans",transition:"long",position:"relative",backgroundColor:"layer.1",flexSizing:"none",minHeight:"viewHeight",boxShadow:"3.remark"}),U),{freeCSS:g({width:{S:"20rem",R:"27rem",L:"32rem","2L":"40rem","3L":"58rem",MAX:"100vw"}[i],maxWidth:"96vw"},U.freeCSS),children:c.is.function(r)?h(r,{}):r}))},Bottom:t=>{let F=t,{componentId:e,sheetID:a,sheetGroups:l,bodyScrolls:d,content:r,size:s="R",sizeChanged:i,baseStyles:o,onOpen:v,onClose:C,closeAtAroundClick:I,closeAtEscapeKeyDown:D,closeAtPageTransit:N,closeAtParentBlur:J,closeAtSwipeDown:Y=!0,hold_state:q,overwrap:ee,isOpen:te,backgroundEffect:U}=F,M=H(F,["componentId","sheetID","sheetGroups","bodyScrolls","content","size","sizeChanged","baseStyles","onOpen","onClose","closeAtAroundClick","closeAtEscapeKeyDown","closeAtPageTransit","closeAtParentBlur","closeAtSwipeDown","hold_state","overwrap","isOpen","backgroundEffect"]),T=c.getScreenSize(),y=[0,.2,.6,.95],R={ZERO:0,S:1,R:2,L:3,"2L":3,"3L":3,MAX:3},[W,$]=L(s),[b,_]=L({process:!1,processStart:0,originY:0,originValue:0,viewHeight:0,value:y[R[s]]});x.update({[e]:{val_edit:b,resize:S=>{let f=y[R[S]];_(u=>w(g({},u),{value:f})),$(S)}}});const B={Start:S=>{c(document).addEvent({eventID:"BottomSheetMouseMove",eventType:"mousemove",callback:B.Move,options:{passive:!1}}).addEvent({eventID:"BottomSheetTouchMove",eventType:"touchmove",callback:B.Move,options:{passive:!1}}).addEvent({eventID:"BottomSheetMouseUp",eventType:"mouseup",callback:B.End}).addEvent({eventID:"BottomSheetTouchEnd",eventType:"touchend",callback:B.End});let f=c.getCursor(S),u=w(g({},b),{process:!0,processStart:new Date().getTime(),originY:f.y,originValue:b.value,viewHeight:c.getScreenSize().height});x.update({[e]:{val_edit:u}}),_(u)},Move:S=>{var O;let f=(O=x.get(e))==null?void 0:O.val_edit;if(!f.process)return;let z=(c.getCursor(S).y-f.originY)/f.viewHeight,n=f.originValue-z;if(n>.95)n=.95+(n-.95)*.5;else if(n<.2){let P=.2-n;P-=.1,n=.1+(.1-P)*.5}return _(w(g({},f),{value:n})),S.preventDefault(),S.stopPropagation(),!1},End:S=>{var n;let f=(n=x.get(e))==null?void 0:n.val_edit;if(!f.process)return;c(document).removeEvent(["BottomSheetMouseMove","BottomSheetTouchMove","BottomSheetMouseUp","BottomSheetTouchEnd"]);let u=0;if(f.value<.1||(f.value<.5?u=1:f.value>.75?u=3:u=2),new Date().getTime()-f.processStart<300){let O=c.getCursor(S).y-f.originY;if(Math.abs(O)>=20){let P=+(O<0)*2-1;u+=P,u=Math.min(Math.max(u,0),y.length-1)}}u==0&&(Y||(u=1)),$(["ZERO","S","R","L"][u]),_(w(g({},f),{value:y[u],process:!1}))}},Q=pe(!1);return G(()=>{Q.current?W=="ZERO"?Y&&E.close(a):setTimeout(()=>{t.sizeChanged&&t.sizeChanged(W)},250):Q.current=!0},[W]),h(k,{className:m("BB"),margin:[0,"auto"],marginTop:"auto",opacity:"trans",width:1,transition:"long",freeCSS:g({maxWidth:12*60,height:T.height*b.value},b.process?{transition:"0s"}:{}),children:V(oe,w(g({gap:0,flexSizing:"none",borderTopLeftRadius:"1.tone.primary",borderTopRightRadius:"1.tone.primary",borderBottom:"unset",boxShadow:"3.remark",position:"relative",overflow:"hidden",height:1},o),{children:[V(ne.Separate,{padding:1,backgroundColor:"layer.1",position:"relative",freeCSS:{userSelect:"none"},children:[h(k,{ssSphere:2.5}),h(ne.Center,{onPointerDown:B.Start,flexSizing:0,padding:"2/3",ssPushable:!0,isRounded:!0,freeCSS:{cursor:"grab",userSelect:"none"},children:h(k,{unitWidth:6,unitHeight:"1/2",backgroundColor:"layer.4",isRounded:!0,className:m("DragBar")})}),h(se.Sub,{color:"cloud",ssSphere:2.5,onClick:()=>{E.close(a)},children:h(ae.X,{})})]}),h(k,w(g({backgroundColor:"layer.1",flexSizing:0,overflow:"auto"},M),{children:c.is.function(r)?h(r,{}):r}))]}))})},Custom:t=>{let F=t,{sheetID:e,sheetGroups:a,bodyScrolls:l,event:d,parent:r,nextToCursor:s,gravityPoint:i=22,content:o,closeAtAroundClick:v,closeAtEscapeKeyDown:C,closeAtPageTransit:I,closeAtParentBlur:D,closeAtSwipeDown:N,hold_state:J,onOpen:Y,onClose:q,overwrap:ee,isOpen:te,resize:U,backgroundEffect:M}=F,T=H(F,["sheetID","sheetGroups","bodyScrolls","event","parent","nextToCursor","gravityPoint","content","closeAtAroundClick","closeAtEscapeKeyDown","closeAtPageTransit","closeAtParentBlur","closeAtSwipeDown","hold_state","onOpen","onClose","overwrap","isOpen","resize","backgroundEffect"]),[y]=L(Z()),R=c.is.element(r)||c.is.jmini(r)?c(r):K(r),W='[data-sheet-id="'+y+'"]',$='[data-sheet-content="'+y+'"]';i=i;let b=i%5||5,_=Math.ceil(i/5);const B={Init:()=>{if(s&&d){let p=c.getScreenSize(),re=c.getCursor(d);return{top:re.y-p.pageYOffset,left:re.x-p.pageXOffset}}let S={};if(!R||!R[0])return S;let{top:f,right:u,bottom:z,left:n,height:O,width:P}=R.position();return[1,2].includes(b)?S.left=n:b==3?S.left=n+P/2:[4,5].includes(b)&&(S.left=u),i<=10?S.top=f:i<=15?S.top=f+O/2:i<=25&&(S.top=z),S},Adjust:()=>{let S=K(W).position(),f=K($).position(),u=R.position(),z=c.getScreenSize(),n={};for(let p in f)n[p]=f[p];if(c.scope(()=>{if(t.nextToCursor)return;let p=0;_==1?p=u.top-n.bottom:_==2?p=u.top-n.top:_==3?p=u.top-n.top+(u.height-n.height)/2:_==4?p=u.bottom-n.bottom:_==5&&(p=u.bottom-n.top),n.top+=p,n.bottom+=p}),c.scope(()=>{if(t.nextToCursor)return;let p=0;b==1?p=u.left-n.right:b==2?p=u.left-n.left:b==3?p=u.left-n.left+(u.width-n.width)/2:b==4?p=u.right-n.right:b==5&&(p=u.right-n.left),n.left+=p,n.right+=p}),n.top<0){let p=-n.top;n.top+=p,n.bottom+=p}if(n.bottom>z.height){let p=n.bottom-z.height;n.top-=p,n.bottom-=p}if(n.left<0){let p=-n.left;n.left+=p,n.right+=p}if(n.right>z.width){let p=n.right-z.width;n.left-=p,n.right-=p}let O=n.top-f.top,P=n.left-f.left;c(W).css({top:S.top+O+"px",left:S.left+P+"px"})}};let[Q]=L(B.Init());return G(()=>{K(W).await(10).addClass(m("Open")).await(200).callback(()=>{(U==null||U)&&B.Adjust()}),x.update({["customSheet-"+t.sheetID]:{reposition:()=>{B.Adjust()}}})},[]),R[0]?h(k,{className:[m("BB"),m("CustomSheet")].join(" "),"data-sheet-id":y,transition:"long",position:"absolute",width:0,height:0,opacity:"trans",flexCenter:!0,freeCSS:Q,children:h(ue,{position:"absolute",className:[m("GPT"),m("GPT_"+i),m("Col_"+b),m("Row_"+_)].join(" "),children:h(k,w(g({"data-sheet-content":y,flexSizing:"none",maxHeight:"viewHeight"},T),{freeCSS:g({maxWidth:"98vw"},T.freeCSS),children:c.is.function(o)?h(o,{}):o}))})}):null}},TapSensor:t=>h(k,{className:m("TapSensor"),children:h(se.Plain,{className:m("TapContent"),onClick:e=>{var a;(a=t.delegateAroundClick)!=null&&a&&E.close(t.sheetID)},freeCSS:{cursor:"default",pointerEvents:"all"}})})},E={Wrapper:()=>h(j.Wrapper,{}),Element:t=>{let d=t,{isOpen:e,children:a}=d,l=H(d,["isOpen","children"]);return G(()=>{if(e){E.open(t.type,w(g({},l),{content:a}));return}l.sheetID&&E.close(l.sheetID)},[e]),null},image:(t,e)=>{let a=t.sheetID||Z(),r=t,{type:l}=r,d=H(r,["type"]);E.open(l||"topCenter",w(g({size:"MAX",backgroundColor:"trans",height:"viewHeight"},d),{sheetID:a,freeCSS:{maxWidth:"96vw",transformOrigin:"top"},content:()=>{let[s]=L(c.flatArray(e)),[i,o]=L(0),v=[];return s.forEach((C,I)=>{v.push({value:I,label:h(ie,{src:c.flatArray(C)[0],width:"auto",height:1,borderRadius:"3.tone.tertiary",freeCSS:{maxWidth:12*6,maxHeight:12*3}})})}),V(oe,{gap:0,height:1,position:"relative",children:[V(ne.Separate,{position:"absolute",top:0,left:0,right:0,padding:[1,2],freeCSS:{zIndex:2},children:[h(he.Radio,{icon:!1,value:i,override:"force",horizontalAlign:"center",onUpdateValidValue:C=>{o(C)},cellStyles:{border:!0,borderWidth:2,padding:"1/3",paddingRight:"1/3",boxShadow:"2.normal",gap:0},cellCheckedStyles:{borderColor:"theme"},options:v}),h(se.Sub.S,{color:"cloud",ssSphere:3,onClick:()=>{E.close(a)},children:h(ae.X,{})})]}),h(ce.FadeIn,{flexCenter:!0,flexSizing:0,overflow:"auto",children:h(ie,{width:"auto",height:"auto",maxWidth:1,maxHeight:1,src:s[i]})},i)]})}}))},open:(t,e,a)=>{e.sheetID=(e.sheetID||"").replace(/\./g,"-"),e.type=t;let l=x.get("Sheet-"+X.get().sessionUID);l&&l.add(e,a)},resize:t=>{t.sheetID=(t.sheetID||"").replace(/\./g,"-");let e=x.get(t.sheetID);e&&e.resize&&e.resize(t.size)},customSheet:{reposition:t=>{let e=x.get("customSheet-"+t);e&&e.reposition&&e.reposition()}},close:function(t,e,a){let l=A.getSessionStates();if(!l)return;let{val_sheets:d}=l;t=t==null?void 0:t.replace(/\./g,"-");let r=d.find(i=>i.sheetID==t);if(!r||e=="Escape"&&!r.closeAtEscapeKeyDown)return;let s=x.get(r.sheetID);s&&s.close&&s.close(a)},closeGroup:t=>{let e=A.getSessionStates();if(!e)return;let{val_sheets:a}=e;t=(t||"").replace(/\./g,"-");for(let l of a)l.sheetGroups&&l.sheetGroups==t&&E.close(l.sheetID)},closeAll:t=>{let e=A.getSessionStates();if(!e)return;let{val_sheets:a}=e;for(let l of a)t&&!l.closeAtPageTransit||E.close(l.sheetID,"pageTransit",!0)},Body:t=>h(k,g({className:m("BaseBody"),backgroundColor:"layer.1",borderRadius:"1.tone.primary",position:"relative",boxShadow:"3.remark",transition:"long"},t))};export{E as Sheet,E as default};
1
+ import{b as g,c as w,d as H}from"../chunk-C5N2D3ZX.js";import{Fragment as de,jsx as u,jsxs as V}from"react/jsx-runtime";import c,{UUID as Z,Time as le,useStore as x}from"jmini";import{useState as L,useEffect as G,useRef as pe}from"react";import{$$fromRoot as K,Config as X}from"../@utils";import{Box as k,Flex as ue,Img as ie,FAI as ae,Column as oe}from"../atoms";import{Row as ne}from"../mols";import{Button as se}from"./Button";import he from"./Input";import{SheetClasses as m}from"../@styles/componentClasses";import ce from"./Effect";const A={currentIndex:0,openQueue:{},getSessionStates:()=>{let t=x.get("sessionStates-"+X.get().sessionUID);return t||null},getNewSheetStates:t=>{var a;let e=w(g({sheetGroups:t.sheetGroups||[],backgroundEffect:!0,overwrap:t.type=="custom",hold_state:!1,closeAtPageTransit:!0,closeAtEscapeKeyDown:!0,closeAtAroundClick:t.type=="custom"},t),{sheetID:t.sheetID||Z(),isOpen:!0,created_at:le()});if(e.type=="custom"){let l=e;l.parent=l.parent||((a=l==null?void 0:l.event)==null?void 0:a.currentTarget),e=l}return e}},j={Wrapper:()=>{let[t,e]=L([]),a={val_sheets:t,set_sheets:e},l="sessionStates-"+X.get().sessionUID;return x.set({[l]:a}),G(()=>{let d="Sheet-"+X.get().sessionUID;x.set({[d]:{add:(r,s)=>{let i=x.get(d);if(!i)return;let o=A.getNewSheetStates(r);if(A.openQueue[o.sheetID])return;if(A.openQueue[o.sheetID]=!0,s!="inherit"&&(o.isOpen=s!=null?s:!0),!!i.find(o.sheetID)){e(C=>{let I=[...C],D=I.findIndex(N=>N.sheetID==o.sheetID);return D==-1||(I[D]=o),I}),delete A.openQueue[o.sheetID];return}e(C=>[o,...C])},find:r=>{let s=A.getSessionStates();if(!s)return null;let{val_sheets:i}=s;return i.find(o=>o.sheetID==r)}}}),c(X.get().appRoot).removeEvent(["SheetEvent.keyUp","SheetEvent.Click"]).addEvent({eventType:"keyup",eventID:"SheetEvent.keyUp",callback:function(r){let{key:s,metaKey:i}=r;if(s=="Escape"||s==","&&i){let o=A.getSessionStates();if(!o)return;let{val_sheets:v}=o,C=v.filter(D=>D.isOpen);if(!C.length)return;let I=C.reduce((D,N)=>D.created_at.value>N.created_at.value?D:N);E.close(I.sheetID,s)}}}).addEvent({eventType:"click",eventID:"SheetEvent.Click",callback:function(r){let s=A.getSessionStates();if(!s)return;let{val_sheets:i}=s,o=r.target;if(!o||o!=null&&o.closest("."+m("CustomSheet")))return;let v=i.filter(C=>C.type=="custom");v.length&&v.forEach(C=>{let{parent:I}=C;if(!C.closeAtAroundClick)return;let D=K(I)[0];I!==o&&D!==o&&(c(D).find(o).length||E.close(C.sheetID))})}})},[]),u(k,{className:["AMOTIFY_be",m("Wrapper")].join(" "),children:t.map(d=>u(j.Core,w(g({},a),{val_sheet:d,patch_sheet:r=>{e(s=>{let i=[...s],o=i.findIndex(v=>v.sheetID==d.sheetID);return o==-1||(i[o]=g(g({},i[o]),r)),i})},delete_sheet:()=>{e(r=>{let s=[...r],i=s.findIndex(o=>o.sheetID==d.sheetID);return i==-1||s.splice(i,1),s})}}),d.sheetID))})},sheetCategory:t=>t=="custom"?"custom":t.startsWith("drawer")?"drawer":"normal",sheetPosition:t=>t=="drawer.left"?"left":t=="drawer.right"?"right":t=="drawer.bottom"?"bottom":"",Core:t=>{let{val_sheet:e,patch_sheet:a}=t,[l,d]=L(A.currentIndex+2),[r]=L(Z()),s=e.type!="custom"&&!e.overwrap;G(()=>{A.currentIndex++,c.scope(()=>{if(!e.closeAtParentBlur)return;let o=c(e.parent);o[0]&&o.addEvent({eventID:"SheetClosation-"+e.sheetID,eventType:"mouseout",callback:()=>{o.removeEvent("SheetClosation-"+e.sheetID),a({isOpen:!1})}})}),x.set({[e.sheetID]:{resize:o=>{if(e.type=="drawer.bottom"){let v=x.get(r);v&&v.resize&&v.resize(o)}else(e.type.includes("normal")||e.type.includes("drawer"))&&a({size:o})},close:o=>{a({isOpen:!1})},open:()=>{a({isOpen:!0})}}})},[]),G(()=>{c.scope(()=>{let o=K("#"+r);if(e.isOpen){e.hold_state&&d(A.currentIndex+1),o.await(10).removeClass(m("Hide")).await(10).addClass(m("Open")).callback(()=>{delete A.openQueue[e.sheetID],e.onOpen&&e.onOpen()});return}o.await(10).removeClass(m("Open")).await(251).addClass(m("Hide")).callback(()=>{if(e.onClose&&e.onClose(),s&&X.get().browserIs!="safari"&&c(X.get().appRoot).focus(),e.hold_state)return a({isOpen:!1});t.delete_sheet()})})},[e.isOpen]);let i=j.Types[{topLeft:"Normal",topCenter:"Normal",topRight:"Normal",middleLeft:"Normal",middleCenter:"Normal",middleRight:"Normal",bottomLeft:"Normal",bottomCenter:"Normal",bottomRight:"Normal","drawer.left":"Edge","drawer.right":"Edge","drawer.bottom":"Bottom",custom:"Custom"}[e.type]];return u(k,{className:[m("Wrap"),m("Tcate_"+j.sheetCategory(e.type)),m("Tpos_"+j.sheetPosition(e.type)),m("isMainSheet_"+s)].join(" "),width:1,ssAbsoluteCovered:!0,freeCSS:{zIndex:l},id:r,children:V(oe,{className:m("Content"),gap:0,height:"viewHeight",overflow:"auto",transition:"middle",children:[!!s&&u(j.TapSensor,{sheetID:e.sheetID,delegateAroundClick:e.closeAtAroundClick}),u(i,g({componentId:r},e))]})},r)},Types:{Normal:t=>{let R=t,{sheetID:e,sheetGroups:a,bodyScrolls:l,content:d,className:r="",type:s,size:i="R",freeCSS:o,onOpen:v,onClose:C,closeAtAroundClick:I,closeAtEscapeKeyDown:D,closeAtPageTransit:N,closeAtParentBlur:J,closeAtSwipeDown:Y,hold_state:q,overwrap:ee,isOpen:te,backgroundEffect:U}=R,M=H(R,["sheetID","sheetGroups","bodyScrolls","content","className","type","size","freeCSS","onOpen","onClose","closeAtAroundClick","closeAtEscapeKeyDown","closeAtPageTransit","closeAtParentBlur","closeAtSwipeDown","hold_state","overwrap","isOpen","backgroundEffect"]),T={},y=[];return s.match(/top/)?(y.push("top"),T.marginBottom="auto"):s.match(/middle/)?(y.push("center"),T.marginTop="auto",T.marginBottom="auto"):s.match(/bottom/)&&(y.push("bottom"),T.marginTop="auto"),s.match(/left/i)?(y.push("left"),T.marginRight="auto"):s.match(/center/i)?(y.push("center"),T.marginLeft="auto",T.marginRight="auto"):s.match(/right/i)&&(y.push("right"),T.marginLeft="auto"),u(k,w(g(g({className:[m("BB"),r].join(" "),padding:1,transition:"long",opacity:"trans"},M),T),{freeCSS:g({width:{S:"26rem",R:"36rem",L:"44rem","2L":"60rem","3L":"72rem",MAX:"100%"}[i],maxWidth:"96vw",transformOrigin:y.join(" ")},o),children:c.is.function(d)?u(d,{}):d}))},Edge:t=>{let M=t,{sheetID:e,sheetGroups:a,bodyScrolls:l,type:d,content:r,className:s="",size:i="R",onOpen:o,onClose:v,closeAtAroundClick:C,closeAtEscapeKeyDown:I,closeAtPageTransit:D,closeAtParentBlur:N,closeAtSwipeDown:J,hold_state:Y,overwrap:q,isOpen:ee,backgroundEffect:te}=M,U=H(M,["sheetID","sheetGroups","bodyScrolls","type","content","className","size","onOpen","onClose","closeAtAroundClick","closeAtEscapeKeyDown","closeAtPageTransit","closeAtParentBlur","closeAtSwipeDown","hold_state","overwrap","isOpen","backgroundEffect"]);return u(k,w(g(w(g({className:[m("BB"),s].join(" ")},d=="drawer.right"?{marginLeft:"auto"}:d=="drawer.left"?{marginRight:"auto"}:{}),{opacity:"trans",transition:"long",position:"relative",backgroundColor:"layer.1",flexSizing:"none",minHeight:"viewHeight",boxShadow:"3.remark"}),U),{freeCSS:g({width:{S:"20rem",R:"27rem",L:"32rem","2L":"40rem","3L":"58rem",MAX:"100vw"}[i],maxWidth:"96vw"},U.freeCSS),children:c.is.function(r)?u(r,{}):r}))},Bottom:t=>{let F=t,{componentId:e,sheetID:a,sheetGroups:l,bodyScrolls:d,content:r,size:s="R",sizeChanged:i,baseStyles:o,onOpen:v,onClose:C,closeAtAroundClick:I,closeAtEscapeKeyDown:D,closeAtPageTransit:N,closeAtParentBlur:J,closeAtSwipeDown:Y=!0,hold_state:q,overwrap:ee,isOpen:te,backgroundEffect:U}=F,M=H(F,["componentId","sheetID","sheetGroups","bodyScrolls","content","size","sizeChanged","baseStyles","onOpen","onClose","closeAtAroundClick","closeAtEscapeKeyDown","closeAtPageTransit","closeAtParentBlur","closeAtSwipeDown","hold_state","overwrap","isOpen","backgroundEffect"]),T=c.getScreenSize(),y=[0,.2,.6,.95],R={ZERO:0,S:1,R:2,L:3,"2L":3,"3L":3,MAX:3},[W,$]=L(s),[b,_]=L({process:!1,processStart:0,originY:0,originValue:0,viewHeight:0,value:y[R[s]]});x.update({[e]:{val_edit:b,resize:S=>{let f=y[R[S]];_(h=>w(g({},h),{value:f})),$(S)}}});const B={Start:S=>{c(document).addEvent({eventID:"BottomSheetMouseMove",eventType:"mousemove",callback:B.Move,options:{passive:!1}}).addEvent({eventID:"BottomSheetTouchMove",eventType:"touchmove",callback:B.Move,options:{passive:!1}}).addEvent({eventID:"BottomSheetMouseUp",eventType:"mouseup",callback:B.End}).addEvent({eventID:"BottomSheetTouchEnd",eventType:"touchend",callback:B.End});let f=c.getCursor(S),h=w(g({},b),{process:!0,processStart:new Date().getTime(),originY:f.y,originValue:b.value,viewHeight:c.getScreenSize().height});x.update({[e]:{val_edit:h}}),_(h)},Move:S=>{var O;let f=(O=x.get(e))==null?void 0:O.val_edit;if(!f.process)return;let z=(c.getCursor(S).y-f.originY)/f.viewHeight,n=f.originValue-z;if(n>.95)n=.95+(n-.95)*.5;else if(n<.2){let P=.2-n;P-=.1,n=.1+(.1-P)*.5}return _(w(g({},f),{value:n})),S.preventDefault(),S.stopPropagation(),!1},End:S=>{var n;let f=(n=x.get(e))==null?void 0:n.val_edit;if(!f.process)return;c(document).removeEvent(["BottomSheetMouseMove","BottomSheetTouchMove","BottomSheetMouseUp","BottomSheetTouchEnd"]);let h=0;if(f.value<.1||(f.value<.5?h=1:f.value>.75?h=3:h=2),new Date().getTime()-f.processStart<300){let O=c.getCursor(S).y-f.originY;if(Math.abs(O)>=20){let P=+(O<0)*2-1;h+=P,h=Math.min(Math.max(h,0),y.length-1)}}h==0&&(Y||(h=1)),$(["ZERO","S","R","L"][h]),_(w(g({},f),{value:y[h],process:!1}))}},Q=pe(!1);return G(()=>{Q.current?W=="ZERO"?Y&&E.close(a):setTimeout(()=>{t.sizeChanged&&t.sizeChanged(W)},250):Q.current=!0},[W]),u(k,{className:m("BB"),margin:[0,"auto"],marginTop:"auto",opacity:"trans",width:1,transition:"long",freeCSS:g({maxWidth:12*60,height:T.height*b.value},b.process?{transition:"0s"}:{}),children:V(oe,w(g({gap:0,flexSizing:"none",borderTopLeftRadius:"1.tone.primary",borderTopRightRadius:"1.tone.primary",borderBottom:"unset",boxShadow:"3.remark",position:"relative",overflow:"hidden",height:1},o),{children:[V(ne.Separate,{padding:1,backgroundColor:"layer.1",position:"relative",freeCSS:{userSelect:"none"},children:[u(k,{ssSphere:2.5}),u(ne.Center,{onPointerDown:B.Start,flexSizing:0,padding:"2/3",ssPushable:!0,isRounded:!0,freeCSS:{cursor:"grab",userSelect:"none"},children:u(k,{unitWidth:6,unitHeight:"1/2",backgroundColor:"layer.4",isRounded:!0,className:m("DragBar")})}),u(se.Sub,{color:"cloud",ssSphere:2.5,onClick:()=>{E.close(a)},children:u(ae.X,{})})]}),u(k,w(g({backgroundColor:"layer.1",flexSizing:0,overflow:"auto"},M),{children:c.is.function(r)?u(r,{}):r}))]}))})},Custom:t=>{let F=t,{sheetID:e,sheetGroups:a,bodyScrolls:l,event:d,parent:r,nextToCursor:s,gravityPoint:i=22,content:o,closeAtAroundClick:v,closeAtEscapeKeyDown:C,closeAtPageTransit:I,closeAtParentBlur:D,closeAtSwipeDown:N,hold_state:J,onOpen:Y,onClose:q,overwrap:ee,isOpen:te,resize:U,backgroundEffect:M}=F,T=H(F,["sheetID","sheetGroups","bodyScrolls","event","parent","nextToCursor","gravityPoint","content","closeAtAroundClick","closeAtEscapeKeyDown","closeAtPageTransit","closeAtParentBlur","closeAtSwipeDown","hold_state","onOpen","onClose","overwrap","isOpen","resize","backgroundEffect"]),[y]=L(Z()),R=c.is.element(r)||c.is.jmini(r)?c(r):K(r),W='[data-sheet-id="'+y+'"]',$='[data-sheet-content="'+y+'"]';i=i;let b=i%5||5,_=Math.ceil(i/5);const B={Init:()=>{if(s&&d){let p=c.getScreenSize(),re=c.getCursor(d);return{top:re.y-p.pageYOffset,left:re.x-p.pageXOffset}}let S={};if(!R||!R[0])return S;let{top:f,right:h,bottom:z,left:n,height:O,width:P}=R.position();return[1,2].includes(b)?S.left=n:b==3?S.left=n+P/2:[4,5].includes(b)&&(S.left=h),i<=10?S.top=f:i<=15?S.top=f+O/2:i<=25&&(S.top=z),S},Adjust:()=>{let S=K(W).position(),f=K($).position(),h=R.position(),z=c.getScreenSize(),n={};for(let p in f)n[p]=f[p];if(c.scope(()=>{if(t.nextToCursor)return;let p=0;_==1?p=h.top-n.bottom:_==2?p=h.top-n.top:_==3?p=h.top-n.top+(h.height-n.height)/2:_==4?p=h.bottom-n.bottom:_==5&&(p=h.bottom-n.top),n.top+=p,n.bottom+=p}),c.scope(()=>{if(t.nextToCursor)return;let p=0;b==1?p=h.left-n.right:b==2?p=h.left-n.left:b==3?p=h.left-n.left+(h.width-n.width)/2:b==4?p=h.right-n.right:b==5&&(p=h.right-n.left),n.left+=p,n.right+=p}),n.top<0){let p=-n.top;n.top+=p,n.bottom+=p}if(n.bottom>z.height){let p=n.bottom-z.height;n.top-=p,n.bottom-=p}if(n.left<0){let p=-n.left;n.left+=p,n.right+=p}if(n.right>z.width){let p=n.right-z.width;n.left-=p,n.right-=p}let O=n.top-f.top,P=n.left-f.left;c(W).css({top:S.top+O+"px",left:S.left+P+"px"})}};let[Q]=L(B.Init());return G(()=>{K(W).await(10).addClass(m("Open")).await(200).callback(()=>{(U==null||U)&&B.Adjust()}),x.update({["customSheet-"+t.sheetID]:{reposition:()=>{B.Adjust()}}})},[]),R[0]?u(k,{className:[m("BB"),m("CustomSheet")].join(" "),"data-sheet-id":y,transition:"long",position:"absolute",width:0,height:0,opacity:"trans",flexCenter:!0,freeCSS:Q,children:u(ue,{position:"absolute",className:[m("GPT"),m("GPT_"+i),m("Col_"+b),m("Row_"+_)].join(" "),children:u(k,w(g({"data-sheet-content":y,flexSizing:"none",maxHeight:"viewHeight"},T),{freeCSS:g({maxWidth:"98vw"},T.freeCSS),children:c.is.function(o)?u(o,{}):o}))})}):null}},TapSensor:t=>u(k,{className:m("TapSensor"),children:u(se.Plain,{className:m("TapContent"),onClick:e=>{var a;(a=t.delegateAroundClick)!=null&&a&&E.close(t.sheetID)},freeCSS:{cursor:"default",pointerEvents:"all"}})})},E={Wrapper:()=>u(j.Wrapper,{}),Element:t=>{let d=t,{isOpen:e,children:a}=d,l=H(d,["isOpen","children"]);return G(()=>{if(e){E.open(t.type,w(g({},l),{content:a}));return}l.sheetID&&E.close(l.sheetID)},[e]),u(de,{})},image:(t,e)=>{let a=t.sheetID||Z(),r=t,{type:l}=r,d=H(r,["type"]);E.open(l||"topCenter",w(g({size:"MAX",backgroundColor:"trans",height:"viewHeight"},d),{sheetID:a,freeCSS:{maxWidth:"96vw",transformOrigin:"top"},content:()=>{let[s]=L(c.flatArray(e)),[i,o]=L(0),v=[];return s.forEach((C,I)=>{v.push({value:I,label:u(ie,{src:c.flatArray(C)[0],width:"auto",height:1,borderRadius:"3.tone.tertiary",freeCSS:{maxWidth:12*6,maxHeight:12*3}})})}),V(oe,{gap:0,height:1,position:"relative",children:[V(ne.Separate,{position:"absolute",top:0,left:0,right:0,padding:[1,2],freeCSS:{zIndex:2},children:[u(he.Radio,{icon:!1,value:i,override:"force",horizontalAlign:"center",onUpdateValidValue:C=>{o(C)},cellStyles:{border:!0,borderWidth:2,padding:"1/3",paddingRight:"1/3",boxShadow:"2.normal",gap:0},cellCheckedStyles:{borderColor:"theme"},options:v}),u(se.Sub.S,{color:"cloud",ssSphere:3,onClick:()=>{E.close(a)},children:u(ae.X,{})})]}),u(ce.FadeIn,{flexCenter:!0,flexSizing:0,overflow:"auto",children:u(ie,{width:"auto",height:"auto",maxWidth:1,maxHeight:1,src:s[i]})},i)]})}}))},open:(t,e,a)=>{e.sheetID=(e.sheetID||"").replace(/\./g,"-"),e.type=t;let l=x.get("Sheet-"+X.get().sessionUID);l&&l.add(e,a)},resize:t=>{t.sheetID=(t.sheetID||"").replace(/\./g,"-");let e=x.get(t.sheetID);e&&e.resize&&e.resize(t.size)},customSheet:{reposition:t=>{let e=x.get("customSheet-"+t);e&&e.reposition&&e.reposition()}},close:function(t,e,a){let l=A.getSessionStates();if(!l)return;let{val_sheets:d}=l;t=t==null?void 0:t.replace(/\./g,"-");let r=d.find(i=>i.sheetID==t);if(!r||e=="Escape"&&!r.closeAtEscapeKeyDown)return;let s=x.get(r.sheetID);s&&s.close&&s.close(a)},closeGroup:t=>{let e=A.getSessionStates();if(!e)return;let{val_sheets:a}=e;t=(t||"").replace(/\./g,"-");for(let l of a)l.sheetGroups&&l.sheetGroups==t&&E.close(l.sheetID)},closeAll:t=>{let e=A.getSessionStates();if(!e)return;let{val_sheets:a}=e;for(let l of a)t&&!l.closeAtPageTransit||E.close(l.sheetID,"pageTransit",!0)},Body:t=>u(k,g({className:m("BaseBody"),backgroundColor:"layer.1",borderRadius:"1.tone.primary",position:"relative",boxShadow:"3.remark",transition:"long"},t))};export{E as Sheet,E as default};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "amotify",
3
- "version": "0.2.216",
3
+ "version": "0.2.218",
4
4
  "description": "UI Component for React,NextJS,esbuild",
5
5
  "scripts": {
6
6
  "start": "run-p clean build:*",
@@ -90,7 +90,7 @@
90
90
  "@fortawesome/free-solid-svg-icons": "^6.7.2",
91
91
  "@fortawesome/react-fontawesome": "^0.2.2",
92
92
  "dotenv": "^17.0.1",
93
- "jmini": "^0.0.96",
93
+ "jmini": "^0.0.97",
94
94
  "react": "^18.3.1"
95
95
  },
96
96
  "devDependencies": {