amotify 0.2.128 → 0.2.130

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.
@@ -5,10 +5,10 @@ import { Box } from '../atoms';
5
5
  declare namespace Sheet {
6
6
  type Methods = {
7
7
  Wrapper(): JSX.Element;
8
- Element: React.FC<Omit<Input, 'content'> & {
8
+ Element(p: Omit<Input, 'content'> & {
9
9
  isOpen: boolean;
10
10
  children: ReactElement;
11
- }>;
11
+ }): ReactElement;
12
12
  open<T extends Input>(p: T, defaultOpen?: boolean | 'inherit'): void;
13
13
  resize(p: {
14
14
  sheetID: string;
@@ -25,11 +25,9 @@ declare namespace Sheet {
25
25
  type Input = Normal | Edge | Custom | Image | Bottom.Input;
26
26
  type UniInput = {
27
27
  sheetID?: string;
28
+ size?: Size;
28
29
  sheetGroups?: string | string[];
29
30
  backgroundEffect?: boolean;
30
- content: ReactElement | {
31
- (): JSX.Element;
32
- };
33
31
  overwrap?: boolean;
34
32
  hold_state?: boolean;
35
33
  bodyScrolls?: number;
@@ -37,6 +35,7 @@ declare namespace Sheet {
37
35
  closeAfter?(): void;
38
36
  } & StyleTags.BasicElement & CloseOptions;
39
37
  type Size = 'S' | 'R' | 'L' | '2L' | '3L' | 'MAX';
38
+ type Content = ReactElement | (() => JSX.Element);
40
39
  type CloseOptions = {
41
40
  closeAtPageTransit?: boolean;
42
41
  closeAtEscapeKeyDown?: boolean;
@@ -47,14 +46,15 @@ declare namespace Sheet {
47
46
  type Sheet = 'normal.topLeft' | 'normal.topCenter' | 'normal.topRight' | 'normal.middleLeft' | 'normal.middleCenter' | 'normal.middleRight' | 'normal.bottomLeft' | 'normal.bottomCenter' | 'normal.bottomRight' | 'drawer.left' | 'drawer.right' | 'drawer.bottom' | 'custom' | 'image';
48
47
  type Normal = UniInput & {
49
48
  type: Sheet;
50
- size?: Size;
49
+ content: Content;
51
50
  };
52
51
  type Edge = UniInput & {
53
52
  type: Sheet;
54
- size?: Size;
53
+ content: Content;
55
54
  };
56
55
  type Custom = UniInput & {
57
56
  type: 'custom';
57
+ content: Content;
58
58
  resize?: boolean;
59
59
  nextToCursor?: boolean;
60
60
  gravityPoint?: number;
@@ -65,7 +65,7 @@ declare namespace Sheet {
65
65
  event?: any;
66
66
  parent: $$.Args;
67
67
  });
68
- type Image = Omit<UniInput, 'content'> & {
68
+ type Image = UniInput & {
69
69
  type: 'image';
70
70
  src: string | string[];
71
71
  };
@@ -73,6 +73,7 @@ declare namespace Sheet {
73
73
  type Sizes = 'S' | 'R' | 'L';
74
74
  type Input = UniInput & {
75
75
  type: 'drawer.bottom';
76
+ content: Content;
76
77
  size: Sizes;
77
78
  sizeChanged?(size: Sizes): void;
78
79
  baseStyles?: StyleTags.States;
package/dist/fn/Sheet.js CHANGED
@@ -1 +1 @@
1
- import{b as C,c as D,d as H}from"../chunk-C5N2D3ZX.js";import{jsx as h,jsxs as V}from"react/jsx-runtime";import u,{UUID as Z,Time as le,useStore as x}from"jmini";import{useState as P,useEffect as G,useRef as pe}from"react";import{$$fromRoot as K,Config as M}from"../@utils";import{Box as R,Flex as he,Img as ie,FAI as ae,Column as oe}from"../atoms";import{Row as re}from"../mols";import{Button as se}from"./Button";import ce from"./Input";import{SheetClasses as S}from"../@styles/componentClasses";import ue from"./Effect";const k={currentIndex:0,mainSheetIDs:{},getSessionStates:()=>{let t=x.get("sessionStates-"+M.get().sessionUID);return t||null},getNewSheetStates:t=>{var c;let e=D(C({sheetGroups:t.sheetGroups||[],backgroundEffect:!0,overwrap:t.type=="custom",hold_state:!1,closeAtPageTransit:!0,closeAtEscapeKeyDown:!0,closeAtAroundClick:t.type=="custom"},t),{sheetID:t.sheetID||Z(),isOpen:!0,created_at:le()});if(e.type=="custom"){let l=e;l.parent=l.parent||((c=l==null?void 0:l.event)==null?void 0:c.currentTarget),e=l}return e}},J={Wrapper:()=>{let[t,e]=P([]),c={val_sheets:t,set_sheets:e};x.set({["sessionStates-"+M.get().sessionUID]:c}),G(()=>{x.set({["Sheet-"+M.get().sessionUID]:{add:(i,s)=>{let n=x.get("Sheet-"+M.get().sessionUID);if(!n)return;let r=k.getNewSheetStates(i);if(s!="inherit"&&(r.isOpen=s!=null?s:!0),!!n.find(r.sheetID)){e(g=>{let f=[...g],y=f.findIndex(E=>E.sheetID==r.sheetID);return y==-1||(f[y]=r),f});return}e(g=>[r,...g])},find:i=>{let s=k.getSessionStates();if(!s)return null;let{val_sheets:n}=s;return n.find(r=>r.sheetID==i)}}}),u(M.get().appRoot).addEvent({eventType:"keyup",eventID:"SheetEvent.keyUp",callback:function(i){let{key:s,metaKey:n}=i;if(s=="Escape"||s==","&&n){let r=k.getSessionStates();if(!r)return;let{val_sheets:m}=r,g=m.filter(y=>y.isOpen);if(!g.length)return;let f=g.reduce((y,E)=>y.created_at.value>E.created_at.value?y:E);T.close(f.sheetID,s)}}}).addEvent({eventType:"click",eventID:"SheetEvent.Click",callback:function(i){let s=k.getSessionStates();if(!s)return;let{val_sheets:n}=s,r=i.target;if(!r||r!=null&&r.closest("."+S("CustomSheet")))return;let m=n.filter(g=>g.type=="custom");m.length&&m.forEach(g=>{let{parent:f}=g;if(!g.closeAtAroundClick)return;let y=K(f)[0];f!==r&&y!==r&&(u(y).find(r).length||T.close(g.sheetID))})}})},[]);let l=t.map(i=>h(J.Core,D(C({},c),{val_sheet:i,patch_sheet:s=>{e(n=>{let r=[...n],m=r.findIndex(g=>g.sheetID==i.sheetID);return m==-1||(r[m]=C(C({},r[m]),s)),r})},delete_sheet:()=>{e(s=>{let n=[...s],r=n.findIndex(m=>m.sheetID==i.sheetID);return r==-1||n.splice(r,1),n})}}),i.sheetID));return h(R,{className:["AMOTIFY_be",S("Wrapper")].join(" "),children:l})},Core:t=>{let{val_sheet:e,patch_sheet:c}=t,[l,i]=P(k.currentIndex+2),[s]=P(Z()),n=e.type!="custom"&&!e.overwrap;G(()=>{k.currentIndex++,u.scope(()=>{if(!e.closeAtParentBlur)return;let f=u(e.parent);f[0]&&f.addEvent({eventID:"SheetClosation-"+e.sheetID,eventType:"mouseout",callback:()=>{f.removeEvent("SheetClosation-"+e.sheetID),c({isOpen:!1})}})}),x.set({[e.sheetID]:{resize:f=>{if(e.type=="drawer.bottom"){let y=x.get(s);y&&y.resize&&y.resize(f)}else(e.type.includes("normal")||e.type.includes("drawer"))&&c({size:f})},close:f=>{c({isOpen:!1})},open:()=>{c({isOpen:!0})}}})},[]),G(()=>{u.scope(()=>{let f=K("#"+s);if(e.isOpen){e.hold_state&&i(k.currentIndex+1),f.await(10).removeClass(S("Hide")).await(10).addClass(S("Open")).callback(()=>{e.openAfter&&e.openAfter()});return}f.await(10).removeClass(S("Open")).await(251).addClass(S("Hide")).callback(()=>{if(e.closeAfter&&e.closeAfter(),n&&M.get().browserIs!="safari"&&u(M.get().appRoot).focus(),e.hold_state)return c({isOpen:!1});t.delete_sheet()})})},[e.isOpen]);let[r,m]=e.type.split("."),g=J.Types[{"normal.topLeft":"Normal","normal.topCenter":"Normal","normal.topRight":"Normal","normal.middleLeft":"Normal","normal.middleCenter":"Normal","normal.middleRight":"Normal","normal.bottomLeft":"Normal","normal.bottomCenter":"Normal","normal.bottomRight":"Normal",image:"Normal","drawer.left":"Edge","drawer.right":"Edge","drawer.bottom":"Bottom",custom:"Custom"}[e.type]];return h(R,{className:[S("Wrap"),S("Tcate_"+r),S("Tpos_"+m),S("isMainSheet_"+n)].join(" "),width:1,ssAbsoluteCovered:!0,freeCSS:{zIndex:l},id:s,children:V(oe,{className:S("Content"),gap:0,height:"viewHeight",overflow:"auto",transition:"middle",children:[!!n&&h(J.TapSensor,{sheetID:e.sheetID,delegateAroundClick:e.closeAtAroundClick}),h(g,C({componentID:s},e))]})},s)},Types:{Normal:t=>{let U=t,{sheetID:e,sheetGroups:c,bodyScrolls:l,content:i,className:s="",type:n,size:r="R",freeCSS:m,openAfter:g,closeAfter:f,closeAtAroundClick:y,closeAtEscapeKeyDown:E,closeAtPageTransit:X,closeAtParentBlur:Q,closeAtSwipeDown:j,hold_state:q,overwrap:ee,isOpen:te,backgroundEffect:L}=U,W=H(U,["sheetID","sheetGroups","bodyScrolls","content","className","type","size","freeCSS","openAfter","closeAfter","closeAtAroundClick","closeAtEscapeKeyDown","closeAtPageTransit","closeAtParentBlur","closeAtSwipeDown","hold_state","overwrap","isOpen","backgroundEffect"]),[F,b]=n.split("."),I={},w=[];return b.match(/top/)?(w.push("top"),I.marginBottom="auto"):b.match(/middle/)?(w.push("center"),I.marginTop="auto",I.marginBottom="auto"):b.match(/bottom/)&&(w.push("bottom"),I.marginTop="auto"),b.match(/left/i)?(w.push("left"),I.marginRight="auto"):b.match(/center/i)?(w.push("center"),I.marginLeft="auto",I.marginRight="auto"):b.match(/right/i)&&(w.push("right"),I.marginLeft="auto"),h(R,D(C(C({className:[S("BB"),s].join(" "),padding:1,transition:"long",opacity:"trans"},W),I),{freeCSS:C({width:{S:"26rem",R:"36rem",L:"44rem","2L":"60rem","3L":"72rem",MAX:"100%"}[r],maxWidth:"96vw",transformOrigin:w.join(" ")},m),children:u.is.function(i)?h(i,{}):i}))},Edge:t=>{let W=t,{sheetID:e,sheetGroups:c,bodyScrolls:l,type:i,content:s,className:n="",size:r="R",openAfter:m,closeAfter:g,closeAtAroundClick:f,closeAtEscapeKeyDown:y,closeAtPageTransit:E,closeAtParentBlur:X,closeAtSwipeDown:Q,hold_state:j,overwrap:q,isOpen:ee,backgroundEffect:te}=W,L=H(W,["sheetID","sheetGroups","bodyScrolls","type","content","className","size","openAfter","closeAfter","closeAtAroundClick","closeAtEscapeKeyDown","closeAtPageTransit","closeAtParentBlur","closeAtSwipeDown","hold_state","overwrap","isOpen","backgroundEffect"]);return h(R,D(C(D(C({className:[S("BB"),n].join(" ")},i=="drawer.right"?{marginLeft:"auto"}:i=="drawer.left"?{marginRight:"auto"}:{}),{opacity:"trans",transition:"long",position:"relative",backgroundColor:"layer.1",flexSizing:"none",minHeight:"viewHeight",boxShadow:"3.remark"}),L),{freeCSS:C({width:{S:"20rem",R:"27rem",L:"32rem","2L":"40rem","3L":"58rem",MAX:"100vw"}[r],maxWidth:"96vw"},L.freeCSS),children:u.is.function(s)?h(s,{}):s}))},Bottom:t=>{let Y=t,{componentID:e,sheetID:c,sheetGroups:l,bodyScrolls:i,content:s,size:n="R",sizeChanged:r,baseStyles:m,openAfter:g,closeAfter:f,closeAtAroundClick:y,closeAtEscapeKeyDown:E,closeAtPageTransit:X,closeAtParentBlur:Q,closeAtSwipeDown:j=!0,hold_state:q,overwrap:ee,isOpen:te,backgroundEffect:L}=Y,W=H(Y,["componentID","sheetID","sheetGroups","bodyScrolls","content","size","sizeChanged","baseStyles","openAfter","closeAfter","closeAtAroundClick","closeAtEscapeKeyDown","closeAtPageTransit","closeAtParentBlur","closeAtSwipeDown","hold_state","overwrap","isOpen","backgroundEffect"]),F=u.getScreenSize(),b=[0,.2,.6,.95],I={ZERO:0,S:1,R:2,L:3},[w,U]=P(n),[A,_]=P({process:!1,processStart:0,originY:0,originValue:0,viewHeight:0,value:b[I[n]]});x.update({[e]:{val_edit:A,resize:v=>{let d=b[I[v]];_(p=>D(C({},p),{value:d})),U(v)}}});const z={Start:v=>{u(document).addEvent({eventID:"BottomSheetMouseMove",eventType:"mousemove",callback:z.Move,options:{passive:!1}}).addEvent({eventID:"BottomSheetTouchMove",eventType:"touchmove",callback:z.Move,options:{passive:!1}}).addEvent({eventID:"BottomSheetMouseUp",eventType:"mouseup",callback:z.End}).addEvent({eventID:"BottomSheetTouchEnd",eventType:"touchend",callback:z.End});let d=u.getCursor(v),p=D(C({},A),{process:!0,processStart:new Date().getTime(),originY:d.y,originValue:A.value,viewHeight:u.getScreenSize().height});x.update({[e]:{val_edit:p}}),_(p)},Move:v=>{var O;let d=(O=x.get(e))==null?void 0:O.val_edit;if(!d.process)return;let B=(u.getCursor(v).y-d.originY)/d.viewHeight,o=d.originValue-B;if(o>.95)o=.95+(o-.95)*.5;else if(o<.2){let N=.2-o;N-=.1,o=.1+(.1-N)*.5}return _(D(C({},d),{value:o})),v.preventDefault(),v.stopPropagation(),!1},End:v=>{var o;let d=(o=x.get(e))==null?void 0:o.val_edit;if(!d.process)return;u(document).removeEvent(["BottomSheetMouseMove","BottomSheetTouchMove","BottomSheetMouseUp","BottomSheetTouchEnd"]);let p=0;if(d.value<.1||(d.value<.5?p=1:d.value>.75?p=3:p=2),new Date().getTime()-d.processStart<300){let O=u.getCursor(v).y-d.originY;if(Math.abs(O)>=20){let N=+(O<0)*2-1;p+=N,p=Math.min(Math.max(p,0),b.length-1)}}p==0&&(j||(p=1)),U(["ZERO","S","R","L"][p]),_(D(C({},d),{value:b[p],process:!1}))}},$=pe(!1);return G(()=>{$.current?w=="ZERO"?j&&T.close(c):setTimeout(()=>{t.sizeChanged&&t.sizeChanged(w)},250):$.current=!0},[w]),h(R,{className:S("BB"),margin:[0,"auto"],marginTop:"auto",opacity:"trans",width:1,transition:"long",freeCSS:C({maxWidth:12*60,height:F.height*A.value},A.process?{transition:"0s"}:{}),children:V(oe,D(C({gap:0,flexSizing:"none",borderTopLeftRadius:"1.tone.primary",borderTopRightRadius:"1.tone.primary",borderBottom:"unset",boxShadow:"3.remark",position:"relative",overflow:"hidden",height:1},m),{children:[V(re.Separate,{padding:1,backgroundColor:"layer.1",position:"relative",freeCSS:{userSelect:"none"},children:[h(R,{ssSphere:2.5}),h(re.Center,{onPointerDown:z.Start,flexSizing:0,padding:"2/3",ssPushable:!0,isRounded:!0,freeCSS:{cursor:"grab",userSelect:"none"},children:h(R,{unitWidth:6,unitHeight:"1/2",backgroundColor:"layer.4",isRounded:!0,className:S("DragBar")})}),h(se.Sub,{color:"cloud",ssSphere:2.5,onClick:()=>{T.close(c)},children:h(ae.Times,{})})]}),h(R,D(C({backgroundColor:"layer.1",flexSizing:0,overflow:"auto"},W),{children:u.is.function(s)?h(s,{}):s}))]}))})},Custom:t=>{let Y=t,{sheetID:e,sheetGroups:c,bodyScrolls:l,event:i,parent:s,nextToCursor:n,gravityPoint:r=22,content:m,closeAtAroundClick:g,closeAtEscapeKeyDown:f,closeAtPageTransit:y,closeAtParentBlur:E,closeAtSwipeDown:X,hold_state:Q,openAfter:j,closeAfter:q,overwrap:ee,isOpen:te,resize:L,backgroundEffect:W}=Y,F=H(Y,["sheetID","sheetGroups","bodyScrolls","event","parent","nextToCursor","gravityPoint","content","closeAtAroundClick","closeAtEscapeKeyDown","closeAtPageTransit","closeAtParentBlur","closeAtSwipeDown","hold_state","openAfter","closeAfter","overwrap","isOpen","resize","backgroundEffect"]),[b]=P(Z()),I=u.is.element(s)||u.is.jmini(s)?u(s):K(s),w='[data-sheet-id="'+b+'"]',U='[data-sheet-content="'+b+'"]';r=r;let A=r%5||5,_=Math.ceil(r/5);const z={Init:()=>{if(n&&i){let a=u.getScreenSize(),ne=u.getCursor(i);return{top:ne.y-a.pageYOffset,left:ne.x-a.pageXOffset}}let v={};if(!I||!I[0])return v;let{top:d,right:p,bottom:B,left:o,height:O,width:N}=I.position();return[1,2].includes(A)?v.left=o:A==3?v.left=o+N/2:[4,5].includes(A)&&(v.left=p),r<=10?v.top=d:r<=15?v.top=d+O/2:r<=25&&(v.top=B),v},Adjust:()=>{let v=K(w).position(),d=K(U).position(),p=I.position(),B=u.getScreenSize(),o={};for(let a in d)o[a]=d[a];if(u.scope(()=>{if(t.nextToCursor)return;let a=0;_==1?a=p.top-o.bottom:_==2?a=p.top-o.top:_==3?a=p.top-o.top+(p.height-o.height)/2:_==4?a=p.bottom-o.bottom:_==5&&(a=p.bottom-o.top),o.top+=a,o.bottom+=a}),u.scope(()=>{if(t.nextToCursor)return;let a=0;A==1?a=p.left-o.right:A==2?a=p.left-o.left:A==3?a=p.left-o.left+(p.width-o.width)/2:A==4?a=p.right-o.right:A==5&&(a=p.right-o.left),o.left+=a,o.right+=a}),o.top<0){let a=-o.top;o.top+=a,o.bottom+=a}if(o.bottom>B.height){let a=o.bottom-B.height;o.top-=a,o.bottom-=a}if(o.left<0){let a=-o.left;o.left+=a,o.right+=a}if(o.right>B.width){let a=o.right-B.width;o.left-=a,o.right-=a}let O=o.top-d.top,N=o.left-d.left;u(w).css({top:v.top+O+"px",left:v.left+N+"px"})}};let[$]=P(z.Init());return G(()=>{K(w).await(10).addClass(S("Open")).await(200).callback(()=>{(L==null||L)&&z.Adjust()}),x.update({["customSheet-"+t.sheetID]:{reposition:()=>{z.Adjust()}}})},[]),I[0]?h(R,{className:[S("BB"),S("CustomSheet")].join(" "),"data-sheet-id":b,transition:"long",position:"absolute",width:0,height:0,opacity:"trans",flexCenter:!0,freeCSS:$,children:h(he,{position:"absolute",className:[S("GPT"),S("GPT_"+r),S("Col_"+A),S("Row_"+_)].join(" "),children:h(R,D(C({"data-sheet-content":b,flexSizing:"none",maxHeight:"viewHeight"},F),{freeCSS:C({maxWidth:"98vw"},F.freeCSS),children:u.is.function(m)?h(m,{}):m}))})}):null}},TapSensor:t=>h(R,{className:S("TapSensor"),children:h(se.Plain,{className:S("TapContent"),onClick:()=>{var e;(e=t.delegateAroundClick)!=null&&e&&T.close(t.sheetID)},freeCSS:{cursor:"default",pointerEvents:"all"}})})},T={Wrapper:()=>h(J.Wrapper,{}),Element:t=>{let i=t,{isOpen:e,children:c}=i,l=H(i,["isOpen","children"]);return G(()=>{if(e){T.open(D(C({},l),{content:c}));return}l.sheetID&&T.close(l.sheetID)},[e]),null},open:(t,e)=>{if(t.sheetID=(t.sheetID||"").replace(/\./g,"-"),t.type=="image"){let i=t.sheetID||Z(),l=t,{type:s,src:n}=l,r=H(l,["type","src"]);T.open(D(C({type:"normal.topCenter",size:"MAX",backgroundColor:"trans",height:"viewHeight"},r),{sheetID:i,freeCSS:{maxWidth:"96vw",transformOrigin:"top"},content:()=>{let[m]=P(u.flatArray(n)),[g,f]=P(0),y=[];return m.forEach((E,X)=>{y.push({value:X,label:h(ie,{src:u.flatArray(E)[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(re.Separate,{position:"absolute",top:0,left:0,right:0,padding:[1,2],freeCSS:{zIndex:2},children:[h(ce.Radio,{icon:!1,value:g,override:"force",horizontalAlign:"center",onUpdateValidValue:E=>{f(E)},cellStyles:{border:!0,borderWidth:2,padding:"1/3",paddingRight:"1/3",boxShadow:"2.normal",gap:0},cellCheckedStyles:{borderColor:"theme"},options:y}),h(se.Sub.S,{color:"cloud",ssSphere:3,onClick:()=>{T.close(i)},children:h(ae.Times,{})})]}),h(ue.FadeIn,{flexCenter:!0,flexSizing:0,overflow:"auto",children:h(ie,{width:"auto",height:"auto",maxWidth:1,maxHeight:1,src:m[g]})},g)]})}}));return}let c=x.get("Sheet-"+M.get().sessionUID);c&&c.add(t,e)},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,c){let l=k.getSessionStates();if(!l)return;let{val_sheets:i}=l;t=t==null?void 0:t.replace(/\./g,"-");let s=i.find(r=>r.sheetID==t);if(!s||e=="Escape"&&!s.closeAtEscapeKeyDown)return;let n=x.get(s.sheetID);n&&n.close&&n.close(c)},closeGroup:t=>{let e=k.getSessionStates();if(!e)return;let{val_sheets:c}=e;t=(t||"").replace(/\./g,"-");for(let l of c)l.sheetGroups&&l.sheetGroups==t&&T.close(l.sheetID)},closeAll:t=>{let e=k.getSessionStates();if(!e)return;let{val_sheets:c}=e;for(let l of c)t&&!l.closeAtPageTransit||T.close(l.sheetID,"pageTransit",!0)},Body:t=>h(R,C({className:S("BaseBody"),backgroundColor:"layer.1",borderRadius:"1.tone.primary",position:"relative",boxShadow:"3.remark",transition:"long"},t))};export{T as Sheet,T as default};
1
+ import{b as g,c as T,d as G}from"../chunk-C5N2D3ZX.js";import{jsx as h,jsxs as $}from"react/jsx-runtime";import f,{UUID as Z,Time as le,useStore as E}from"jmini";import{useState as L,useEffect as X,useRef as pe}from"react";import{$$fromRoot as j,Config as K}from"../@utils";import{Box as k,Flex as he,Img as ie,FAI as ae,Column as oe}from"../atoms";import{Row as re}from"../mols";import{Button as se}from"./Button";import ce from"./Input";import{SheetClasses as d}from"../@styles/componentClasses";import ue from"./Effect";const R={currentIndex:0,openQueue:{},getSessionStates:()=>{let t=E.get("sessionStates-"+K.get().sessionUID);return t||null},getNewSheetStates:t=>{var u;let e=T(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 a=e;a.parent=a.parent||((u=a==null?void 0:a.event)==null?void 0:u.currentTarget),e=a}return e}},J={Wrapper:()=>{let[t,e]=L([]),u={val_sheets:t,set_sheets:e},a="sessionStates-"+K.get().sessionUID;E.set({[a]:u}),X(()=>{let n="Sheet-"+K.get().sessionUID;E.set({[n]:{add:(c,r)=>{let l=E.get(n);if(!l)return;let s=R.getNewSheetStates(c);if(R.openQueue[s.sheetID])return;if(R.openQueue[s.sheetID]=!0,r!="inherit"&&(s.isOpen=r!=null?r:!0),!!l.find(s.sheetID)){e(C=>{let b=[...C],w=b.findIndex(M=>M.sheetID==s.sheetID);return w==-1||(b[w]=s),b}),delete R.openQueue[s.sheetID];return}e(C=>[s,...C])},find:c=>{let r=R.getSessionStates();if(!r)return null;let{val_sheets:l}=r;return l.find(s=>s.sheetID==c)}}}),f(K.get().appRoot).addEvent({eventType:"keyup",eventID:"SheetEvent.keyUp",callback:function(c){let{key:r,metaKey:l}=c;if(r=="Escape"||r==","&&l){let s=R.getSessionStates();if(!s)return;let{val_sheets:S}=s,C=S.filter(w=>w.isOpen);if(!C.length)return;let b=C.reduce((w,M)=>w.created_at.value>M.created_at.value?w:M);_.close(b.sheetID,r)}}}).addEvent({eventType:"click",eventID:"SheetEvent.Click",callback:function(c){let r=R.getSessionStates();if(!r)return;let{val_sheets:l}=r,s=c.target;if(!s||s!=null&&s.closest("."+d("CustomSheet")))return;let S=l.filter(C=>C.type=="custom");S.length&&S.forEach(C=>{let{parent:b}=C;if(!C.closeAtAroundClick)return;let w=j(b)[0];b!==s&&w!==s&&(f(w).find(s).length||_.close(C.sheetID))})}})},[]);let v=t.map(n=>h(J.Core,T(g({},u),{val_sheet:n,patch_sheet:c=>{e(r=>{let l=[...r],s=l.findIndex(S=>S.sheetID==n.sheetID);return s==-1||(l[s]=g(g({},l[s]),c)),l})},delete_sheet:()=>{e(c=>{let r=[...c],l=r.findIndex(s=>s.sheetID==n.sheetID);return l==-1||r.splice(l,1),r})}}),n.sheetID));return h(k,{className:["AMOTIFY_be",d("Wrapper")].join(" "),children:v})},Core:t=>{let{val_sheet:e,patch_sheet:u}=t,[a,v]=L(R.currentIndex+2),[n]=L(Z()),c=e.type!="custom"&&!e.overwrap;X(()=>{R.currentIndex++,f.scope(()=>{if(!e.closeAtParentBlur)return;let S=f(e.parent);S[0]&&S.addEvent({eventID:"SheetClosation-"+e.sheetID,eventType:"mouseout",callback:()=>{S.removeEvent("SheetClosation-"+e.sheetID),u({isOpen:!1})}})}),E.set({[e.sheetID]:{resize:S=>{if(e.type=="drawer.bottom"){let C=E.get(n);C&&C.resize&&C.resize(S)}else(e.type.includes("normal")||e.type.includes("drawer"))&&u({size:S})},close:S=>{u({isOpen:!1})},open:()=>{u({isOpen:!0})}}})},[]),X(()=>{f.scope(()=>{let S=j("#"+n);if(e.isOpen){e.hold_state&&v(R.currentIndex+1),S.await(10).removeClass(d("Hide")).await(10).addClass(d("Open")).callback(()=>{delete R.openQueue[e.sheetID],e.openAfter&&e.openAfter()});return}S.await(10).removeClass(d("Open")).await(251).addClass(d("Hide")).callback(()=>{if(e.closeAfter&&e.closeAfter(),c&&K.get().browserIs!="safari"&&f(K.get().appRoot).focus(),e.hold_state)return u({isOpen:!1});t.delete_sheet()})})},[e.isOpen]);let[r,l]=e.type.split("."),s=J.Types[{"normal.topLeft":"Normal","normal.topCenter":"Normal","normal.topRight":"Normal","normal.middleLeft":"Normal","normal.middleCenter":"Normal","normal.middleRight":"Normal","normal.bottomLeft":"Normal","normal.bottomCenter":"Normal","normal.bottomRight":"Normal",image:"Normal","drawer.left":"Edge","drawer.right":"Edge","drawer.bottom":"Bottom",custom:"Custom"}[e.type]];return h(k,{className:[d("Wrap"),d("Tcate_"+r),d("Tpos_"+l),d("isMainSheet_"+c)].join(" "),width:1,ssAbsoluteCovered:!0,freeCSS:{zIndex:a},id:n,children:$(oe,{className:d("Content"),gap:0,height:"viewHeight",overflow:"auto",transition:"middle",children:[!!c&&h(J.TapSensor,{sheetID:e.sheetID,delegateAroundClick:e.closeAtAroundClick}),h(s,g({componentID:n},e))]})},n)},Types:{Normal:t=>{let H=t,{sheetID:e,sheetGroups:u,bodyScrolls:a,content:v,className:n="",type:c,size:r="R",freeCSS:l,openAfter:s,closeAfter:S,closeAtAroundClick:C,closeAtEscapeKeyDown:b,closeAtPageTransit:w,closeAtParentBlur:M,closeAtSwipeDown:Y,hold_state:q,overwrap:ee,isOpen:te,backgroundEffect:W}=H,U=G(H,["sheetID","sheetGroups","bodyScrolls","content","className","type","size","freeCSS","openAfter","closeAfter","closeAtAroundClick","closeAtEscapeKeyDown","closeAtPageTransit","closeAtParentBlur","closeAtSwipeDown","hold_state","overwrap","isOpen","backgroundEffect"]),[F,D]=c.split("."),I={},A=[];return D.match(/top/)?(A.push("top"),I.marginBottom="auto"):D.match(/middle/)?(A.push("center"),I.marginTop="auto",I.marginBottom="auto"):D.match(/bottom/)&&(A.push("bottom"),I.marginTop="auto"),D.match(/left/i)?(A.push("left"),I.marginRight="auto"):D.match(/center/i)?(A.push("center"),I.marginLeft="auto",I.marginRight="auto"):D.match(/right/i)&&(A.push("right"),I.marginLeft="auto"),h(k,T(g(g({className:[d("BB"),n].join(" "),padding:1,transition:"long",opacity:"trans"},U),I),{freeCSS:g({width:{S:"26rem",R:"36rem",L:"44rem","2L":"60rem","3L":"72rem",MAX:"100%"}[r],maxWidth:"96vw",transformOrigin:A.join(" ")},l),children:f.is.function(v)?h(v,{}):v}))},Edge:t=>{let U=t,{sheetID:e,sheetGroups:u,bodyScrolls:a,type:v,content:n,className:c="",size:r="R",openAfter:l,closeAfter:s,closeAtAroundClick:S,closeAtEscapeKeyDown:C,closeAtPageTransit:b,closeAtParentBlur:w,closeAtSwipeDown:M,hold_state:Y,overwrap:q,isOpen:ee,backgroundEffect:te}=U,W=G(U,["sheetID","sheetGroups","bodyScrolls","type","content","className","size","openAfter","closeAfter","closeAtAroundClick","closeAtEscapeKeyDown","closeAtPageTransit","closeAtParentBlur","closeAtSwipeDown","hold_state","overwrap","isOpen","backgroundEffect"]);return h(k,T(g(T(g({className:[d("BB"),c].join(" ")},v=="drawer.right"?{marginLeft:"auto"}:v=="drawer.left"?{marginRight:"auto"}:{}),{opacity:"trans",transition:"long",position:"relative",backgroundColor:"layer.1",flexSizing:"none",minHeight:"viewHeight",boxShadow:"3.remark"}),W),{freeCSS:g({width:{S:"20rem",R:"27rem",L:"32rem","2L":"40rem","3L":"58rem",MAX:"100vw"}[r],maxWidth:"96vw"},W.freeCSS),children:f.is.function(n)?h(n,{}):n}))},Bottom:t=>{let V=t,{componentID:e,sheetID:u,sheetGroups:a,bodyScrolls:v,content:n,size:c="R",sizeChanged:r,baseStyles:l,openAfter:s,closeAfter:S,closeAtAroundClick:C,closeAtEscapeKeyDown:b,closeAtPageTransit:w,closeAtParentBlur:M,closeAtSwipeDown:Y=!0,hold_state:q,overwrap:ee,isOpen:te,backgroundEffect:W}=V,U=G(V,["componentID","sheetID","sheetGroups","bodyScrolls","content","size","sizeChanged","baseStyles","openAfter","closeAfter","closeAtAroundClick","closeAtEscapeKeyDown","closeAtPageTransit","closeAtParentBlur","closeAtSwipeDown","hold_state","overwrap","isOpen","backgroundEffect"]),F=f.getScreenSize(),D=[0,.2,.6,.95],I={ZERO:0,S:1,R:2,L:3},[A,H]=L(c),[x,B]=L({process:!1,processStart:0,originY:0,originValue:0,viewHeight:0,value:D[I[c]]});E.update({[e]:{val_edit:x,resize:y=>{let m=D[I[y]];B(p=>T(g({},p),{value:m})),H(y)}}});const z={Start:y=>{f(document).addEvent({eventID:"BottomSheetMouseMove",eventType:"mousemove",callback:z.Move,options:{passive:!1}}).addEvent({eventID:"BottomSheetTouchMove",eventType:"touchmove",callback:z.Move,options:{passive:!1}}).addEvent({eventID:"BottomSheetMouseUp",eventType:"mouseup",callback:z.End}).addEvent({eventID:"BottomSheetTouchEnd",eventType:"touchend",callback:z.End});let m=f.getCursor(y),p=T(g({},x),{process:!0,processStart:new Date().getTime(),originY:m.y,originValue:x.value,viewHeight:f.getScreenSize().height});E.update({[e]:{val_edit:p}}),B(p)},Move:y=>{var O;let m=(O=E.get(e))==null?void 0:O.val_edit;if(!m.process)return;let N=(f.getCursor(y).y-m.originY)/m.viewHeight,o=m.originValue-N;if(o>.95)o=.95+(o-.95)*.5;else if(o<.2){let P=.2-o;P-=.1,o=.1+(.1-P)*.5}return B(T(g({},m),{value:o})),y.preventDefault(),y.stopPropagation(),!1},End:y=>{var o;let m=(o=E.get(e))==null?void 0:o.val_edit;if(!m.process)return;f(document).removeEvent(["BottomSheetMouseMove","BottomSheetTouchMove","BottomSheetMouseUp","BottomSheetTouchEnd"]);let p=0;if(m.value<.1||(m.value<.5?p=1:m.value>.75?p=3:p=2),new Date().getTime()-m.processStart<300){let O=f.getCursor(y).y-m.originY;if(Math.abs(O)>=20){let P=+(O<0)*2-1;p+=P,p=Math.min(Math.max(p,0),D.length-1)}}p==0&&(Y||(p=1)),H(["ZERO","S","R","L"][p]),B(T(g({},m),{value:D[p],process:!1}))}},Q=pe(!1);return X(()=>{Q.current?A=="ZERO"?Y&&_.close(u):setTimeout(()=>{t.sizeChanged&&t.sizeChanged(A)},250):Q.current=!0},[A]),h(k,{className:d("BB"),margin:[0,"auto"],marginTop:"auto",opacity:"trans",width:1,transition:"long",freeCSS:g({maxWidth:12*60,height:F.height*x.value},x.process?{transition:"0s"}:{}),children:$(oe,T(g({gap:0,flexSizing:"none",borderTopLeftRadius:"1.tone.primary",borderTopRightRadius:"1.tone.primary",borderBottom:"unset",boxShadow:"3.remark",position:"relative",overflow:"hidden",height:1},l),{children:[$(re.Separate,{padding:1,backgroundColor:"layer.1",position:"relative",freeCSS:{userSelect:"none"},children:[h(k,{ssSphere:2.5}),h(re.Center,{onPointerDown:z.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:d("DragBar")})}),h(se.Sub,{color:"cloud",ssSphere:2.5,onClick:()=>{_.close(u)},children:h(ae.Times,{})})]}),h(k,T(g({backgroundColor:"layer.1",flexSizing:0,overflow:"auto"},U),{children:f.is.function(n)?h(n,{}):n}))]}))})},Custom:t=>{let V=t,{sheetID:e,sheetGroups:u,bodyScrolls:a,event:v,parent:n,nextToCursor:c,gravityPoint:r=22,content:l,closeAtAroundClick:s,closeAtEscapeKeyDown:S,closeAtPageTransit:C,closeAtParentBlur:b,closeAtSwipeDown:w,hold_state:M,openAfter:Y,closeAfter:q,overwrap:ee,isOpen:te,resize:W,backgroundEffect:U}=V,F=G(V,["sheetID","sheetGroups","bodyScrolls","event","parent","nextToCursor","gravityPoint","content","closeAtAroundClick","closeAtEscapeKeyDown","closeAtPageTransit","closeAtParentBlur","closeAtSwipeDown","hold_state","openAfter","closeAfter","overwrap","isOpen","resize","backgroundEffect"]),[D]=L(Z()),I=f.is.element(n)||f.is.jmini(n)?f(n):j(n),A='[data-sheet-id="'+D+'"]',H='[data-sheet-content="'+D+'"]';r=r;let x=r%5||5,B=Math.ceil(r/5);const z={Init:()=>{if(c&&v){let i=f.getScreenSize(),ne=f.getCursor(v);return{top:ne.y-i.pageYOffset,left:ne.x-i.pageXOffset}}let y={};if(!I||!I[0])return y;let{top:m,right:p,bottom:N,left:o,height:O,width:P}=I.position();return[1,2].includes(x)?y.left=o:x==3?y.left=o+P/2:[4,5].includes(x)&&(y.left=p),r<=10?y.top=m:r<=15?y.top=m+O/2:r<=25&&(y.top=N),y},Adjust:()=>{let y=j(A).position(),m=j(H).position(),p=I.position(),N=f.getScreenSize(),o={};for(let i in m)o[i]=m[i];if(f.scope(()=>{if(t.nextToCursor)return;let i=0;B==1?i=p.top-o.bottom:B==2?i=p.top-o.top:B==3?i=p.top-o.top+(p.height-o.height)/2:B==4?i=p.bottom-o.bottom:B==5&&(i=p.bottom-o.top),o.top+=i,o.bottom+=i}),f.scope(()=>{if(t.nextToCursor)return;let i=0;x==1?i=p.left-o.right:x==2?i=p.left-o.left:x==3?i=p.left-o.left+(p.width-o.width)/2:x==4?i=p.right-o.right:x==5&&(i=p.right-o.left),o.left+=i,o.right+=i}),o.top<0){let i=-o.top;o.top+=i,o.bottom+=i}if(o.bottom>N.height){let i=o.bottom-N.height;o.top-=i,o.bottom-=i}if(o.left<0){let i=-o.left;o.left+=i,o.right+=i}if(o.right>N.width){let i=o.right-N.width;o.left-=i,o.right-=i}let O=o.top-m.top,P=o.left-m.left;f(A).css({top:y.top+O+"px",left:y.left+P+"px"})}};let[Q]=L(z.Init());return X(()=>{j(A).await(10).addClass(d("Open")).await(200).callback(()=>{(W==null||W)&&z.Adjust()}),E.update({["customSheet-"+t.sheetID]:{reposition:()=>{z.Adjust()}}})},[]),I[0]?h(k,{className:[d("BB"),d("CustomSheet")].join(" "),"data-sheet-id":D,transition:"long",position:"absolute",width:0,height:0,opacity:"trans",flexCenter:!0,freeCSS:Q,children:h(he,{position:"absolute",className:[d("GPT"),d("GPT_"+r),d("Col_"+x),d("Row_"+B)].join(" "),children:h(k,T(g({"data-sheet-content":D,flexSizing:"none",maxHeight:"viewHeight"},F),{freeCSS:g({maxWidth:"98vw"},F.freeCSS),children:f.is.function(l)?h(l,{}):l}))})}):null}},TapSensor:t=>h(k,{className:d("TapSensor"),children:h(se.Plain,{className:d("TapContent"),onClick:()=>{var e;(e=t.delegateAroundClick)!=null&&e&&_.close(t.sheetID)},freeCSS:{cursor:"default",pointerEvents:"all"}})})},_={Wrapper:()=>h(J.Wrapper,{}),Element:t=>{let v=t,{isOpen:e,children:u}=v,a=G(v,["isOpen","children"]);return X(()=>{if(e){_.open(T(g({},a),{content:u}));return}a.sheetID&&_.close(a.sheetID)},[e]),null},open:(t,e)=>{if(t.sheetID=(t.sheetID||"").replace(/\./g,"-"),t.type=="image"){let v=t.sheetID||Z(),a=t,{type:n,src:c}=a,r=G(a,["type","src"]);_.open(T(g({type:"normal.topCenter",size:"MAX",backgroundColor:"trans",height:"viewHeight"},r),{sheetID:v,freeCSS:{maxWidth:"96vw",transformOrigin:"top"},content:()=>{let[l]=L(f.flatArray(c)),[s,S]=L(0),C=[];return l.forEach((b,w)=>{C.push({value:w,label:h(ie,{src:f.flatArray(b)[0],width:"auto",height:1,borderRadius:"3.tone.tertiary",freeCSS:{maxWidth:12*6,maxHeight:12*3}})})}),$(oe,{gap:0,height:1,position:"relative",children:[$(re.Separate,{position:"absolute",top:0,left:0,right:0,padding:[1,2],freeCSS:{zIndex:2},children:[h(ce.Radio,{icon:!1,value:s,override:"force",horizontalAlign:"center",onUpdateValidValue:b=>{S(b)},cellStyles:{border:!0,borderWidth:2,padding:"1/3",paddingRight:"1/3",boxShadow:"2.normal",gap:0},cellCheckedStyles:{borderColor:"theme"},options:C}),h(se.Sub.S,{color:"cloud",ssSphere:3,onClick:()=>{_.close(v)},children:h(ae.Times,{})})]}),h(ue.FadeIn,{flexCenter:!0,flexSizing:0,overflow:"auto",children:h(ie,{width:"auto",height:"auto",maxWidth:1,maxHeight:1,src:l[s]})},s)]})}}));return}let u=E.get("Sheet-"+K.get().sessionUID);u&&u.add(t,e)},resize:t=>{t.sheetID=(t.sheetID||"").replace(/\./g,"-");let e=E.get(t.sheetID);e&&e.resize&&e.resize(t.size)},customSheet:{reposition:t=>{let e=E.get("customSheet-"+t);e&&e.reposition&&e.reposition()}},close:function(t,e,u){let a=R.getSessionStates();if(!a)return;let{val_sheets:v}=a;t=t==null?void 0:t.replace(/\./g,"-");let n=v.find(r=>r.sheetID==t);if(!n||e=="Escape"&&!n.closeAtEscapeKeyDown)return;let c=E.get(n.sheetID);c&&c.close&&c.close(u)},closeGroup:t=>{let e=R.getSessionStates();if(!e)return;let{val_sheets:u}=e;t=(t||"").replace(/\./g,"-");for(let a of u)a.sheetGroups&&a.sheetGroups==t&&_.close(a.sheetID)},closeAll:t=>{let e=R.getSessionStates();if(!e)return;let{val_sheets:u}=e;for(let a of u)t&&!a.closeAtPageTransit||_.close(a.sheetID,"pageTransit",!0)},Body:t=>h(k,g({className:d("BaseBody"),backgroundColor:"layer.1",borderRadius:"1.tone.primary",position:"relative",boxShadow:"3.remark",transition:"long"},t))};export{_ as Sheet,_ as default};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "amotify",
3
- "version": "0.2.128",
3
+ "version": "0.2.130",
4
4
  "description": "UI Component for React,NextJS,esbuild",
5
5
  "scripts": {
6
6
  "start": "run-p clean build:*",