amotify 0.2.203 → 0.2.204
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/demo/next/src/app/(router)/page.tsx +33 -35
- package/dist/fn/Input/Parts.js +1 -1
- package/dist/fn/Input/Time/Picker.d.ts +2 -0
- package/dist/fn/Input/Time/Picker.js +1 -1
- package/dist/fn/Input/Time/index.d.ts +1 -1
- package/dist/fn/Input/Time/index.js +1 -1
- package/dist/fn/Sheet.d.ts +2 -2
- package/dist/fn/Sheet.js +1 -1
- package/package.json +1 -1
|
@@ -50,6 +50,36 @@ import {
|
|
|
50
50
|
} from '../../../../../dist/index'
|
|
51
51
|
|
|
52
52
|
|
|
53
|
+
const SheetContent = () => {
|
|
54
|
+
let sheetID = 'sheet1'
|
|
55
|
+
|
|
56
|
+
let [ val_keyword,set_keyword ] = useState( '' )
|
|
57
|
+
|
|
58
|
+
return <Sheet.Element
|
|
59
|
+
type='topCenter'
|
|
60
|
+
sheetID={ sheetID }
|
|
61
|
+
isOpen
|
|
62
|
+
key={ val_keyword }
|
|
63
|
+
>
|
|
64
|
+
<Sheet.Body>
|
|
65
|
+
<Column padding={ 2 }>
|
|
66
|
+
<Input.TextField.Email
|
|
67
|
+
label="Keyword"
|
|
68
|
+
value={ val_keyword }
|
|
69
|
+
// onUpdateValidValue={ value => {
|
|
70
|
+
// set_keyword( value )
|
|
71
|
+
// } }
|
|
72
|
+
/>
|
|
73
|
+
<Literal.Description>
|
|
74
|
+
<Literal>result:</Literal>
|
|
75
|
+
<Literal>{ val_keyword }</Literal>
|
|
76
|
+
</Literal.Description>
|
|
77
|
+
</Column>
|
|
78
|
+
</Sheet.Body>
|
|
79
|
+
</Sheet.Element>
|
|
80
|
+
|
|
81
|
+
}
|
|
82
|
+
|
|
53
83
|
let Page = () => {
|
|
54
84
|
let [ val_selected,set_selected ] = useState( [] )
|
|
55
85
|
let [ val_value,set_value ] = useState( '' )
|
|
@@ -59,47 +89,15 @@ let Page = () => {
|
|
|
59
89
|
padding={ 3 }
|
|
60
90
|
size="XS"
|
|
61
91
|
>
|
|
92
|
+
{/* <SheetContent /> */ }
|
|
62
93
|
<Column gap={ 2 }
|
|
63
94
|
UnderBreakPointStyles={ {
|
|
64
95
|
backgroundColor: 'nega'
|
|
65
96
|
} }
|
|
66
97
|
>
|
|
67
|
-
<Input.
|
|
68
|
-
// override='force'
|
|
69
|
-
required
|
|
70
|
-
// checkValidationAtFirst
|
|
71
|
-
label="AutocompletePlaceholder"
|
|
72
|
-
options={ [] }
|
|
73
|
-
DynamicOptionsOnSearch={ async ( keyword ) => {
|
|
74
|
-
return [
|
|
75
|
-
{ value: keyword + "1" },
|
|
76
|
-
{ value: keyword + "2" },
|
|
77
|
-
{ value: keyword + "3" },
|
|
78
|
-
{ value: keyword + "4" },
|
|
79
|
-
{ value: keyword + "5" },
|
|
80
|
-
]
|
|
81
|
-
} }
|
|
82
|
-
max={ 2 }
|
|
83
|
-
value={ val_selected }
|
|
98
|
+
<Input.Time.Clock
|
|
84
99
|
onUpdateValidValue={ value => {
|
|
85
|
-
|
|
86
|
-
} }
|
|
87
|
-
/>
|
|
88
|
-
|
|
89
|
-
<Input.TextField
|
|
90
|
-
// override='force'
|
|
91
|
-
multiline
|
|
92
|
-
required
|
|
93
|
-
value={ val_value }
|
|
94
|
-
onUpdateValidValue={ value => {
|
|
95
|
-
set_value( value )
|
|
96
|
-
} }
|
|
97
|
-
// onUserAction={ ( value,opt ) => {
|
|
98
|
-
// // console.log( value,opt )
|
|
99
|
-
// } }
|
|
100
|
-
onSelect={ event => {
|
|
101
|
-
// let textarea = event.target as HTMLTextAreaElement
|
|
102
|
-
// set_caret( [ textarea.selectionStart,textarea.selectionEnd ] )
|
|
100
|
+
console.log( value )
|
|
103
101
|
} }
|
|
104
102
|
/>
|
|
105
103
|
</Column>
|
package/dist/fn/Input/Parts.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{b as e,c as n,d as p}from"../../chunk-C5N2D3ZX.js";import{jsx as i}from"react/jsx-runtime";import{Box as s,Span as u}from"../../atoms";const c=t=>{if(t||(t="border"),t=="plain")return{};let r={flexSizing:"none",padding:1,borderRadius:"2.tone.secondary",backgroundColor:"cloud"};return t=="border"?r=n(e({},r),{border:!0}):t=="cloud"?r=n(e({},r),{border:"1.thin"}):t=="bottomBorder"&&(r=n(e({},r),{borderRadius:0,borderBottom:!0})),r},d={position:"absolute",flexCenter:!0,fontColor:"theme",fontSize:"1.mini",backgroundColor:"inherit",top:"50%",freeCSS:{pointerEvents:"none",transform:"translateY(-50%)"}},I=t=>i(u,e({children:"\u5FC5\u9808",fontColor:"white",fontSize:"0.xs",padding:["1/4","1/3"],backgroundColor:"nega",borderRadius:"3.tone.tertiary"},t)),b=t=>i(u,e({children:"*",fontColor:"nega",padding:["1/4","1/3"],borderRadius:"3.tone.tertiary"},t)),h=t=>i(u,e({children:"\u7701\u7565\u53EF",fontColor:"white",fontSize:"0.xs",padding:["1/4","1/3"],borderRadius:"3.tone.tertiary",backgroundColor:"layer.6"},t)),x=t=>{let o=t,{tone:r}=o,a=p(o,["tone"]);return i(s,e(n(e({},c(r)),{borderTopRightRadius:"2/3",borderBottomRightRadius:"2/3"}),a))},m=t=>{let o=t,{tone:r}=o,a=p(o,["tone"]);return i(s,e(n(e({},c(r)),{borderTopLeftRadius:"2/3",borderBottomLeftRadius:"2/3"}),a))},y=t=>{let o=t,{tone:r="border"}=o,a=p(o,["tone"]);return i(s,n(e(n(e({},d),{right:
|
|
1
|
+
import{b as e,c as n,d as p}from"../../chunk-C5N2D3ZX.js";import{jsx as i}from"react/jsx-runtime";import{Box as s,Span as u}from"../../atoms";const c=t=>{if(t||(t="border"),t=="plain")return{};let r={flexSizing:"none",padding:1,borderRadius:"2.tone.secondary",backgroundColor:"cloud"};return t=="border"?r=n(e({},r),{border:!0}):t=="cloud"?r=n(e({},r),{border:"1.thin"}):t=="bottomBorder"&&(r=n(e({},r),{borderRadius:0,borderBottom:!0})),r},d={position:"absolute",flexCenter:!0,fontColor:"theme",fontSize:"1.mini",backgroundColor:"inherit",top:"50%",freeCSS:{pointerEvents:"none",transform:"translateY(-50%)"}},I=t=>i(u,e({children:"\u5FC5\u9808",fontColor:"white",fontSize:"0.xs",padding:["1/4","1/3"],backgroundColor:"nega",borderRadius:"3.tone.tertiary"},t)),b=t=>i(u,e({children:"*",fontColor:"nega",padding:["1/4","1/3"],borderRadius:"3.tone.tertiary"},t)),h=t=>i(u,e({children:"\u7701\u7565\u53EF",fontColor:"white",fontSize:"0.xs",padding:["1/4","1/3"],borderRadius:"3.tone.tertiary",backgroundColor:"layer.6"},t)),x=t=>{let o=t,{tone:r}=o,a=p(o,["tone"]);return i(s,e(n(e({},c(r)),{borderTopRightRadius:"2/3",borderBottomRightRadius:"2/3"}),a))},m=t=>{let o=t,{tone:r}=o,a=p(o,["tone"]);return i(s,e(n(e({},c(r)),{borderTopLeftRadius:"2/3",borderBottomLeftRadius:"2/3"}),a))},y=t=>{let o=t,{tone:r="border"}=o,a=p(o,["tone"]);return i(s,n(e(n(e({},d),{right:1}),a),{freeCSS:e(e({},d.freeCSS),a.freeCSS)}))},F=t=>{let o=t,{tone:r="border"}=o,a=p(o,["tone"]);return i(s,n(e(n(e({},d),{left:1}),a),{freeCSS:e(e({},d.freeCSS),a.freeCSS)}))};export{F as LeftIcon,x as LeftIndicator,h as OmitSign,b as RequiredShortSign,I as RequiredSign,y as RightIcon,m as RightIndicator};
|
|
@@ -31,6 +31,8 @@ declare namespace Picker {
|
|
|
31
31
|
type Input<T> = TimeTypes.Picker & {
|
|
32
32
|
val_value: T;
|
|
33
33
|
set_value: React.Dispatch<React.SetStateAction<T>>;
|
|
34
|
+
val_confirmed: boolean;
|
|
35
|
+
set_confirmed: React.Dispatch<React.SetStateAction<boolean>>;
|
|
34
36
|
};
|
|
35
37
|
}
|
|
36
38
|
declare const Picker: React.FC<TimeTypes.Picker>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{b as p,c as x}from"../../../chunk-C5N2D3ZX.js";import{Fragment as $,jsx as a,jsxs as f}from"react/jsx-runtime";import{createElement as q}from"react";import D,{UUID as O,Time as S}from"jmini";import{useState as A,useEffect as F,useRef as H}from"react";import{Box as k,Flex as w,Grid as W,FAI as V,Column as T}from"../../../atoms";import{Row as N,Literal as G}from"../../../mols";import{Button as C}from"../../Button";import X from"../../Sheet";import M from"../Select";import{Radio as L}from"../List";import{RightIcon as B}from"..";import{InputTimeClasses as y}from"../../../@styles/componentClasses";let _=i=>{var t,r;let e=[],d=Number((t=i==null?void 0:i.min)!=null?t:1900),o=Number((r=i==null?void 0:i.max)!=null?r:S().addYear(10).year);for(let m=d;m<=o;m++)e.unshift({value:m,label:[m,...D.transformer.wareki(m).value].join(" -")});return e};const j=i=>{let{restrict:e,era:d="year",defaultValue:o=""}=i;i=p({},i),i.sheetID=i.sheetID||O();const t=H(!1);let[r,m]=A((()=>{var n,s;if(e=="clock"){let l=String(o).split(/[^\d]/);l[0]||(l=[0,0]);let u=Number(l[0]),c=Number(l[1]);return{modifiedType:"init",hour:u,minutes:c}}else if(e=="date"){let[l,u,c]=(n=String(o))==null?void 0:n.split(/\D/);return(D.is.nullish(l)||D.is.nullish(u)||D.is.nullish(c))&&([l,u,c]=S().toFormat("%Y-%M-%D").split("-")),{modifiedType:"init",year:Number(l),month:Number(u),date:Number(c)}}else if(e!="week"){if(e=="month"){let[l,u]=String(o).split(/\D/);return(D.is.nullish(l)||D.is.nullish(u))&&([l,u]=S().toFormat("%Y-%M").split("-")),{modifiedType:"init",year:Number(l),month:Number(u)}}else if(e=="year"){let[l]=String(o).split(/\D/);return D.is.nullish(l)&&([l]=S().toFormat("%Y").split("-")),{modifiedType:"init",year:Number(l)}}else if(e=="dateWareki"){let[l,u,c]=(s=String(o))==null?void 0:s.split(/\D/);return(D.is.nullish(l)||D.is.nullish(u)||D.is.nullish(c))&&([l,u,c]=S().toFormat("%Y-%M-%D").split("-")),{modifiedType:"init",era:d||"year",year:Number(l),month:Number(u),date:Number(c)}}}return{}})());F(()=>{if(t.current){if(r.modifiedType=="update"){let n="",s=d||"year";if(e=="clock"){let{hour:l,minutes:u}=r;n=[l.zeroEmbed(2),u.zeroEmbed(2)].join("/")}else if(e=="date"){let{year:l,month:u,date:c}=r;n=[l,u.zeroEmbed(2),c.zeroEmbed(2)].join("/")}else if(e!="week"){if(e=="month"){let{year:l,month:u}=r;n=[l,u.zeroEmbed(2)].join("/")}else if(e=="year"){let{year:l}=r;n=String(l)}else if(e=="dateWareki"){let{year:l,month:u,date:c,era:v}=r;s=v,n=[l,u.zeroEmbed(2),c.zeroEmbed(2)].join("/")}}i.onValueUpdate(n,s)}}else t.current=!0},[r]);let h=x(p({},i),{val_value:r,set_value:m});return a(k,{backgroundColor:"layer.1",borderRadius:"2.tone.secondary",boxShadow:"1.remark",children:a(k,{className:y(e.toCapital()+"Base"),children:e=="clock"?a(g.Clock.index,p({},h)):e=="date"?a(g.Date.index,p({},h)):e=="week"?"":e=="month"?a(g.Month.index,p({},h)):e=="year"?a(g.Year.index,p({},h)):e=="dates"||e=="months"?"":e=="dateWareki"?a(g.DateWareki.index,p({},h)):a($,{})})})},g={Clock:{index:i=>{let{min:e,max:d,onValueUpdate:o,sheetID:t,val_value:r,set_value:m}=i,[h,n]=A(r.hour>12?2:1),[s,l]=A(Number(localStorage.getItem("timePickerUnit")||5));F(()=>{localStorage.setItem("timePickerUnit",String(s))},[s]);let{hour:u,minutes:c}=r;return f(T,{padding:1,children:[f(w,{flexType:"row",flexWrap:!1,gap:1,className:y("Body"),children:[f(T,{className:y("DesignSide"),flexSizing:0,children:[a(k,{className:y("ClockUiBase"),padding:[1,"2/3"],flexCenter:!0,children:f(k,{className:y("ClockUi"),backgroundColor:"theme.opa.low",isRounded:!0,position:"relative",children:[a(k,{position:"absolute",backgroundColor:"theme",unitWidth:"1/12",className:[y("Needle"),y("hour")].join(" "),freeCSS:{transform:`rotate(${u*30+c/2}deg)`}}),a(k,{position:"absolute",backgroundColor:"theme",unitWidth:"1/12",className:[y("Needle"),y("minute")].join(" "),freeCSS:{transform:`rotate(${c*6}deg)`}})]})}),a(L,{icon:!0,value:[h],options:[{value:1,label:"AM"},{value:2,label:"PM"}],flexType:"col",gap:"1/2",tabIndex:-1,onUpdateValidValue:v=>{let I=r.hour%12+(v==2?12:0);n(v),m({modifiedType:"update",hour:I,minutes:r.minutes})}}),a(k,{borderTop:!0,margin:[0,1]}),a(L,{icon:!0,value:[s],options:[{value:1,label:"/ 1\u5206"},{value:2,label:"/ 2\u5206"},{value:5,label:"/ 5\u5206"}],flexType:"col",gap:"1/2",tabIndex:-1,onUpdateValidValue:v=>{l(v)}})]}),f(T,{children:[f(k,{flexCenter:!0,isSemiBoldFont:!0,fontSize:"3.paragraph",children:[r.hour.zeroEmbed(2)," : ",r.minutes.zeroEmbed(2)]}),f(w,{flexWrap:!1,ssCardBox:!0,flexChilds:"even",padding:["1/3",0],freeCSS:{minWidth:12*12},children:[a(T,{gap:0,overflow:"auto",padding:"2/3",borderRight:!0,freeCSS:{maxHeight:12*22},children:g.Clock.Hours({onClick:v=>{let R=v+(h==2?12:0);m({modifiedType:"update",hour:R,minutes:r.minutes})},min:e,max:d,ampm:h})}),a(T,{gap:0,overflow:"auto",padding:"2/3",freeCSS:{maxHeight:12*22},children:g.Clock.Minutes({onClick:v=>{m({modifiedType:"update",hour:r.hour,minutes:v})},min:e,max:d,unit:s})})]})]})]}),a(g.Variables.Footer,{sheetID:t,onValueUpdate:o})]})},Hours:i=>{let e=[];for(let d=0;d<12;d++){let o=i.ampm==2?d+12:d,t=!1;{let r=Number(String(o*100).replace(/\D/ig,""));if(i.min&&Number(String(i.min).replace(/\D/ig,""))>r&&(t=!0),i.max){let m=Number(String(i.max).replace(/\D/ig,""));r>m&&(t=!0)}}e.push(a(C.Normal,{isLocked:t,borderBottom:!0,borderRadius:0,padding:["1/2",1],freeCSS:{whiteSpace:"nowrap"},tabIndex:-1,onClick:()=>{i.onClick(d)},children:o.zeroEmbed(2)},d))}return e},Minutes:i=>{let e=[];for(let d=0;d<60/i.unit;d++){let o=d*i.unit;e.push(a(C.Normal,{borderBottom:!0,borderRadius:0,padding:["1/2",1],freeCSS:{whiteSpace:"nowrap"},tabIndex:-1,onClick:()=>{i.onClick(o)},children:o.zeroEmbed(2)},o))}return e}},Date:{index:i=>{let{min:e,max:d,onValueUpdate:o,sheetID:t,val_value:r,set_value:m}=i,{year:h,month:n,date:s}=r;return f(T,{padding:1,children:[f(N.Separate,{flexWrap:!0,children:[f(w,{verticalAlign:"bottom",horizontalAlign:"left",gap:"2/3",flexWrap:!1,children:[a(M,{override:"force",emptySelect:!1,value:h,options:_(),fontSize:"1.mini",border:"1.thin",padding:["1/3","2/3"],paddingRight:1.5,SelectorStyles:{freeCSS:{minWidth:12*12}},onUpdateValidValue:l=>{m({modifiedType:"update",year:Number(l),month:n,date:s})},rightIcon:a(B,{ssSphere:2,right:"1/3",children:a(V.AngleDown,{})})}),a(M,{override:"force",emptySelect:!1,value:n,options:(()=>{let l=[];for(let u=1;u<=12;u++)l.push({value:u,label:String(u)+"\u6708"});return l})(),fontSize:"1.mini",border:"1.thin",padding:["1/3","2/3"],paddingRight:1.5,SelectorStyles:{freeCSS:{minWidth:12*8}},rightIcon:a(B,{ssSphere:2,right:"1/3",children:a(V.AngleDown,{})}),onUpdateValidValue:l=>{m({modifiedType:"update",year:h,month:Number(l),date:s})}})]}),a(g.Variables.ShiftButtons,{callback:l=>{let u=n+l,c=h;u<=0&&(c--,u=12),u>12&&(c++,u=1),m({modifiedType:"update",year:c,month:u,date:r.date})}})]}),a(k,{borderTop:!0}),a(k,{children:g.Date.MonthCalendar({min:e,max:d,year:r.year,month:r.month,current:[r.year,r.month,r.date],callback:l=>{let[u,c,v]=l;m({modifiedType:"update",year:u,month:c,date:v})}})}),a(g.Variables.Footer,{sheetID:t,onValueUpdate:o})]})},MonthCalendar:i=>{let{min:e,max:d,year:o,month:t,current:r,callback:m}=i,h=S(),n=S([o,t.zeroEmbed(2),"01"].join("/")),s=n.getLastDayOfMonth(),l=S(n).addMonth(-1).getLastDayOfMonth().date,u=[],c=[],v=[],R=[],I={padding:0,unitWidth:3,unitHeight:3,flexCenter:!0,borderRadius:"3.tone.tertiary"};for(var b=0;b<7;b++)u.push(a(k,x(p({className:[y("CalendarDay"),y("Legend")].join(" ")},I),{children:["\u65E5","\u6708","\u706B","\u6C34","\u6728","\u91D1","\u571F"][b]}),b));for(var b=0;b<n.weekday;b++)c.unshift(q(k,x(p({className:[y("CalendarDay"),y("Dummy")].join(" "),fontColor:"4.thin"},I),{key:b}),l-b));for(var b=1;b<=s.date;b++){let E=b,Y=o==h.year&&t==h.month&&b==h.date,P=!1;{let z=Number(String([o,t.zeroEmbed(2),b.zeroEmbed(2)].join("/")).replace(/\D/ig,""));if(i.min&&Number(String(i.min).replace(/\D/ig,""))>z&&(P=!0),i.max){let U=Number(String(i.max).replace(/\D/ig,""));z>U&&(P=!0)}}v.push(a(C.Clear,x(p({className:[y("CalendarDay"),y("isToday_"+Y)].join(" ")},I),{fontColor:"1.clear",padding:0,flexCenter:!0,isRounded:!0,ssEffectsOnActive:"shrink",onClick:()=>{m([o,t,E])},tabIndex:-1,isLocked:P,children:b}),E))}for(var b=1;b<7-s.weekday;b++)R.push(a(k,x(p({className:[y("CalendarDay"),y("Dummy")].join(" "),fontColor:"4.thin"},I),{children:b}),b));return f(W,{gridCols:7,gap:"1/6",children:[u,c,v,R]})}},Month:{index:i=>{let{min:e,max:d,onValueUpdate:o,sheetID:t,val_value:r,set_value:m}=i,{year:h,month:n}=r;return f(T,{padding:1,children:[f(N.Separate,{gap:0,children:[a(N.Center,{verticalAlign:"bottom",gap:"2/3",children:a(M,{emptySelect:!1,value:h,options:_(),override:"force",border:"1.thin",padding:["1/3","2/3"],paddingRight:1.5,SelectorStyles:{freeCSS:{minWidth:12*12}},rightIcon:a(B,{ssSphere:2,right:"1/3",children:a(V.AngleDown,{})}),onUpdateValidValue:s=>{m({modifiedType:"update",year:Number(s),month:n})}})}),a(g.Variables.ShiftButtons,{callback:s=>{let l=Math.min(Math.max(h+s,1900),2100);m({modifiedType:"update",year:l,month:n})}})]}),a(k,{borderTop:!0}),g.Month.Months({min:e,max:d,year:r.year,callback:s=>{let[l,u]=s;m({modifiedType:"update",year:l,month:u})}}),a(g.Variables.Footer,{sheetID:t,onValueUpdate:o})]})},Months:i=>{let{year:e,callback:d}=i,o=S(),t=[];for(let r=1;r<=12;r++){let m=e==o.year&&r==o.month,h=!1;{let s=Number(String([e,r.zeroEmbed(2)].join("/")).replace(/\D/ig,""));if(i.min&&Number(String(i.min).replace(/\D/ig,""))>s&&(h=!0),i.max){let l=Number(String(i.max).replace(/\D/ig,""));s>l&&(h=!0)}}let n=[y("Cell"),m?y("isThisMonth"):""].join(" ");t.push(f(C.Clear,{className:n,isLocked:h,fontColor:"2.normal",padding:["1/3",1],ssEffectsOnActive:"shrink",onClick:()=>{d([e,r])},children:[r," \u6708"]},e+"-"+r))}return a(W,{gridCols:4,gap:"2/3",children:t})}},Year:{index:i=>{let{min:e,max:d,onValueUpdate:o,sheetID:t,val_value:r,set_value:m}=i,{year:h}=r;return f(T,{padding:1,children:[a(M,{emptySelect:!1,paddingRight:1.5,fontSize:"1.mini",value:h||S().year,override:"force",SelectorStyles:{freeCSS:{minWidth:12*12}},options:_({min:e,max:d}),onUpdateValidValue:n=>{m({modifiedType:"update",year:Number(n)})}}),a(g.Variables.Footer,{sheetID:t,onValueUpdate:o,onSubmit:()=>{m({modifiedType:"update",year:Number(h||S().year)})}})]})}},DateWareki:{index:i=>{let{min:e,max:d,onValueUpdate:o,sheetID:t,val_value:r,set_value:m}=i,{era:h,year:n,month:s,date:l}=r,u={val_value:r,set_value:m};return f(k,{children:[f(N.Left,{borderBottom:!0,gap:0,verticalAlign:"unset",children:[a(g.DateWareki.EraSelect,p({},u)),a(k,{borderRight:!0}),a(g.DateWareki.Calendar,p({},u))]}),a(N.Right,{padding:1,children:a(g.Variables.Footer,{sheetID:t,onValueUpdate:o})})]})},EraSelect:i=>{let{val_value:e,set_value:d}=i,o={padding:["1/2",1.5],fontColor:"3.blur"},t={backgroundColor:"cloud",fontColor:"2.normal",isSemiBoldFont:!0};return f(T,{padding:1,gap:0,children:[a(C.Clear,x(p({color:"cloud"},o),{isActiveStyles:t,isActive:e.era=="year",onClick:()=>{let r=S();d({modifiedType:"update",era:"year",year:r.year,month:r.month,date:r.date})},children:"\u897F\u66A6"})),a(C.Clear,x(p({color:"cloud"},o),{isActiveStyles:t,isActive:e.era=="reiwa",onClick:()=>{let r=S();d({modifiedType:"update",era:"reiwa",year:r.year,month:r.month,date:r.date})},children:"\u4EE4\u548C"})),a(C.Clear,x(p({color:"cloud"},o),{isActiveStyles:t,isActive:e.era=="heisei",onClick:()=>{d({modifiedType:"update",era:"heisei",year:2019,month:1,date:1})},children:"\u5E73\u6210"})),a(C.Clear,x(p({color:"cloud"},o),{isActiveStyles:t,isActive:e.era=="shouwa",onClick:()=>{d({modifiedType:"update",era:"shouwa",year:1989,month:1,date:1})},children:"\u662D\u548C"})),a(C.Clear,x(p({color:"cloud"},o),{isActiveStyles:t,isActive:e.era=="taisho",onClick:()=>{d({modifiedType:"update",era:"taisho",year:1926,month:1,date:1})},children:"\u5927\u6B63"})),a(C.Clear,x(p({color:"cloud"},o),{isActiveStyles:t,isActive:e.era=="meiji",onClick:()=>{d({modifiedType:"update",era:"meiji",year:1912,month:1,date:1})},children:"\u660E\u6CBB"}))]})},Calendar:i=>{let{val_value:e,set_value:d}=i,o=[];if(e.era=="year"){let t=S().year+10;for(let r=1900;r<t;r++)o.unshift({value:r,label:r+"\u5E74"})}else if(e.era=="reiwa"){let t=S().year-2018;for(let r=1;r<=t+10;r++)o.unshift({value:2019+r-1,label:"\u4EE4\u548C"+(r==1?"\u5143":r)+"\u5E74"})}else if(e.era=="heisei")for(let t=1;t<=31;t++)o.unshift({value:1989+t-1,label:"\u5E73\u6210"+(t==1?"\u5143":t)+"\u5E74"});else if(e.era=="shouwa")for(let t=1;t<=64;t++)o.unshift({value:1926+t-1,label:"\u662D\u548C"+(t==1?"\u5143":t)+"\u5E74"});else if(e.era=="taisho")for(let t=1;t<=15;t++)o.unshift({value:1912+t-1,label:"\u5927\u6B63"+(t==1?"\u5143":t)+"\u5E74"});else if(e.era=="meiji")for(let t=1;t<=45;t++)o.unshift({value:1868+t-1,label:"\u660E\u6CBB"+(t==1?"\u5143":t)+"\u5E74"});return f(T,{padding:1,children:[f(N.Separate,{children:[a(M,{emptySelect:!1,override:"force",border:"1.thin",padding:["1/3","2/3"],paddingRight:1.5,fontSize:"1.mini",SelectorStyles:{freeCSS:{minWidth:12*12}},rightIcon:a(B,{ssSphere:2,right:"1/3",children:a(V.AngleDown,{})}),options:o,value:e.year,onUpdateValidValue:t=>{d(r=>x(p({},r),{modifiedType:"update",year:Number(t)}))}}),f(N.Center,{gap:"1/3",children:[a(M,{emptySelect:!1,override:"force",border:"1.thin",padding:["1/3","2/3"],paddingRight:1.5,fontSize:"1.mini",SelectorStyles:{freeCSS:{minWidth:12*9}},rightIcon:a(B,{ssSphere:2,right:"1/3",children:a(V.AngleDown,{})}),options:[{value:1,label:"1\u6708"},{value:2,label:"2\u6708"},{value:3,label:"3\u6708"},{value:4,label:"4\u6708"},{value:5,label:"5\u6708"},{value:6,label:"6\u6708"},{value:7,label:"7\u6708"},{value:8,label:"8\u6708"},{value:9,label:"9\u6708"},{value:10,label:"10\u6708"},{value:11,label:"11\u6708"},{value:12,label:"12\u6708"}],value:e.month,onUpdateValidValue:t=>{d({modifiedType:"update",era:e.era,year:e.year,month:Number(t),date:1})}}),a(C.Clear.S,{ssSphere:2.5,onClick:()=>{let t=e.month-1;d({modifiedType:"update",era:e.era,year:t==0?e.year-1:e.year,month:t==0?12:t,date:1})},children:a(V.ChevronLeft,{})}),a(C.Clear.S,{ssSphere:2.5,onClick:()=>{let t=e.month+1;d({modifiedType:"update",era:e.era,year:t==13?e.year+1:e.year,month:t==13?1:t,date:1})},children:a(V.ChevronRight,{})})]})]}),a(g.DateWareki.MonthCell,p({},i))]},e.era)},MonthCell:i=>{let{val_value:e,set_value:d}=i,o=S([e.year.zeroEmbed(4),e.month.zeroEmbed(2),e.date.zeroEmbed(2)].join("/"));if(!o.validate)return;let t=o.getFirstDayOfMonth().weekday,r=o.getLastDayOfMonth(),m=[];for(let n=0;n<7;n++)m.push(a(G.Supplement,{flexCenter:!0,fontColor:n==0?"googleRed":n==6?"googleBlue":"3.blur",children:D.transformer.weekday.shortJP(n)},"legend-"+n));for(let n=0;n<t;n++){let s=S(o).getFirstDayOfMonth().addDate(n-t);m.push(a(C.Sub,{color:"cloud",ssSquare:3,opacity:"middle",onClick:l=>{l.preventDefault(),l.stopPropagation(),d({modifiedType:"update",era:e.era,year:s.year,month:s.month,date:s.date})},children:s.date},"lastMonth-"+n))}let h=S();for(let n=1;n<=r.date;n++){let s=S(o).setDate(n),l=h.diff(s).dates==0;m.push(a(C.Clear,{ssSquare:3,fontColor:"2.normal",className:[y("CalendarDay"),y("isToday_"+l)].join(" "),onClick:()=>{d({modifiedType:"update",era:e.era,year:s.year,month:s.month,date:s.date})},children:s.date},"currentMonth-"+n))}for(let n=0;n<7-r.weekday-1;n++){let s=S(o).addMonth(1).setDate(1).addDate(n);m.push(a(C.Sub,{color:"cloud",ssSquare:3,opacity:"middle",onClick:l=>{l.preventDefault(),l.stopPropagation(),d({modifiedType:"update",era:e.era,year:s.year,month:s.month,date:s.date})},children:s.date},"nextMonth-"+n))}return a(W,{gridCols:7,gap:"1/4",children:m})}},Variables:{Footer:i=>f(w,{flexWrap:!1,gap:1,flexChilds:"even",freeCSS:{whiteSpace:"nowrap"},children:[f(C.Sub.S,{color:"cloud",tabIndex:-1,isRounded:!0,onClick:()=>{i.onValueUpdate("")},flexSizing:"none",children:[a(V.X,{})," \u524A\u9664"]}),a(C.Prime.S,{tabIndex:-1,isRounded:!0,flexSizing:"auto",freeCSS:{minWidth:12*6},onClick:()=>{i.onSubmit&&i.onSubmit(),X.close(i.sheetID)},children:"\u6C7A\u5B9A"})]}),ShiftButtons:i=>f(w,{gap:"1/3",flexWrap:!1,children:[a(C.Clear,x(p({className:y("LeftButton"),tabIndex:-1,right:0},g.Variables.ShiftButtonStyles),{onClick:()=>{i.callback(-1)},children:a(V.ChevronLeft,{})})),a(C.Clear,x(p({className:y("RightButton"),tabIndex:-1,left:0},g.Variables.ShiftButtonStyles),{onClick:()=>{i.callback(1)},children:a(V.ChevronRight,{})}))]}),ShiftButtonStyles:{position:"relative",flexCenter:!0,ssSphere:2.5}}};export{j as Picker,j as default};
|
|
1
|
+
import{b as f,c as D}from"../../../chunk-C5N2D3ZX.js";import{Fragment as $,jsx as a,jsxs as y}from"react/jsx-runtime";import{createElement as q}from"react";import V,{UUID as O,Time as C}from"jmini";import{useState as B,useEffect as F,useRef as H}from"react";import{Box as x,Flex as _,Grid as A,FAI as T,Column as N}from"../../../atoms";import{Row as I,Literal as G}from"../../../mols";import{Button as v}from"../../Button";import X from"../../Sheet";import M from"../Select";import{Radio as L}from"../List";import{RightIcon as w}from"..";import{InputTimeClasses as b}from"../../../@styles/componentClasses";let W=r=>{var t,i;let e=[],o=Number((t=r==null?void 0:r.min)!=null?t:1900),l=Number((i=r==null?void 0:r.max)!=null?i:C().addYear(10).year);for(let m=o;m<=l;m++)e.unshift({value:m,label:[m,...V.transformer.wareki(m).value].join(" -")});return e};const j=r=>{let{restrict:e,era:o="year",defaultValue:l=""}=r;r=f({},r),r.sheetID=r.sheetID||O();const t=H(!1);let[i,m]=B(!1),[h,u]=B((()=>{var s,p;if(e=="clock"){let d=String(l).split(/[^\d]/);d[0]||(d=[0,0]);let c=Number(d[0]),k=Number(d[1]);return{modifiedType:"init",hour:c,minutes:k}}else if(e=="date"){let[d,c,k]=(s=String(l))==null?void 0:s.split(/\D/);return(V.is.nullish(d)||V.is.nullish(c)||V.is.nullish(k))&&([d,c,k]=C().toFormat("%Y-%M-%D").split("-")),{modifiedType:"init",year:Number(d),month:Number(c),date:Number(k)}}else if(e!="week"){if(e=="month"){let[d,c]=String(l).split(/\D/);return(V.is.nullish(d)||V.is.nullish(c))&&([d,c]=C().toFormat("%Y-%M").split("-")),{modifiedType:"init",year:Number(d),month:Number(c)}}else if(e=="year"){let[d]=String(l).split(/\D/);return V.is.nullish(d)&&([d]=C().toFormat("%Y").split("-")),{modifiedType:"init",year:Number(d)}}else if(e=="dateWareki"){let[d,c,k]=(p=String(l))==null?void 0:p.split(/\D/);return(V.is.nullish(d)||V.is.nullish(c)||V.is.nullish(k))&&([d,c,k]=C().toFormat("%Y-%M-%D").split("-")),{modifiedType:"init",era:o||"year",year:Number(d),month:Number(c),date:Number(k)}}}return{}})());F(()=>{if(t.current){if(h.modifiedType=="update"){let s="",p=o||"year";if(e=="clock"){let{hour:d,minutes:c}=h;s=[d.zeroEmbed(2),c.zeroEmbed(2)].join("/")}else if(e=="date"){let{year:d,month:c,date:k}=h;s=[d,c.zeroEmbed(2),k.zeroEmbed(2)].join("/")}else if(e!="week"){if(e=="month"){let{year:d,month:c}=h;s=[d,c.zeroEmbed(2)].join("/")}else if(e=="year"){let{year:d}=h;s=String(d)}else if(e=="dateWareki"){let{year:d,month:c,date:k,era:R}=h;p=R,s=[d,c.zeroEmbed(2),k.zeroEmbed(2)].join("/")}}r.onValueUpdate(s,p,i)}}else t.current=!0},[h,i]);let n=D(f({},r),{val_value:h,set_value:u,val_confirmed:i,set_confirmed:m});return a(x,{backgroundColor:"layer.1",borderRadius:"2.tone.secondary",boxShadow:"1.remark",children:a(x,{className:b(e.toCapital()+"Base"),children:e=="clock"?a(g.Clock.index,f({},n)):e=="date"?a(g.Date.index,f({},n)):e=="week"?"":e=="month"?a(g.Month.index,f({},n)):e=="year"?a(g.Year.index,f({},n)):e=="dates"||e=="months"?"":e=="dateWareki"?a(g.DateWareki.index,f({},n)):a($,{})})})},g={Clock:{index:r=>{let{min:e,max:o,onValueUpdate:l,sheetID:t,val_value:i,set_value:m}=r,[h,u]=B(i.hour>12?2:1),[n,s]=B(Number(localStorage.getItem("timePickerUnit")||5));F(()=>{localStorage.setItem("timePickerUnit",String(n))},[n]);let{hour:p,minutes:d}=i;return y(N,{padding:1,children:[y(_,{flexType:"row",flexWrap:!1,gap:1,className:b("Body"),children:[y(N,{className:b("DesignSide"),flexSizing:0,children:[a(x,{className:b("ClockUiBase"),padding:[1,"2/3"],flexCenter:!0,children:y(x,{className:b("ClockUi"),backgroundColor:"theme.opa.low",isRounded:!0,position:"relative",children:[a(x,{position:"absolute",backgroundColor:"theme",unitWidth:"1/12",className:[b("Needle"),b("hour")].join(" "),freeCSS:{transform:`rotate(${p*30+d/2}deg)`}}),a(x,{position:"absolute",backgroundColor:"theme",unitWidth:"1/12",className:[b("Needle"),b("minute")].join(" "),freeCSS:{transform:`rotate(${d*6}deg)`}})]})}),a(L,{icon:!0,value:[h],options:[{value:1,label:"AM"},{value:2,label:"PM"}],flexType:"col",gap:"1/2",tabIndex:-1,onUpdateValidValue:c=>{let R=i.hour%12+(c==2?12:0);u(c),m({modifiedType:"update",hour:R,minutes:i.minutes})}}),a(x,{borderTop:!0,margin:[0,1]}),a(L,{icon:!0,value:[n],options:[{value:1,label:"/ 1\u5206"},{value:2,label:"/ 2\u5206"},{value:5,label:"/ 5\u5206"}],flexType:"col",gap:"1/2",tabIndex:-1,onUpdateValidValue:c=>{s(c)}})]}),y(N,{children:[y(x,{flexCenter:!0,isSemiBoldFont:!0,fontSize:"3.paragraph",children:[i.hour.zeroEmbed(2)," : ",i.minutes.zeroEmbed(2)]}),y(_,{flexWrap:!1,ssCardBox:!0,flexChilds:"even",padding:["1/3",0],freeCSS:{minWidth:12*12},children:[a(N,{gap:0,overflow:"auto",padding:"2/3",borderRight:!0,freeCSS:{maxHeight:12*22},children:g.Clock.Hours({onClick:c=>{let k=c+(h==2?12:0);m({modifiedType:"update",hour:k,minutes:i.minutes})},min:e,max:o,ampm:h})}),a(N,{gap:0,overflow:"auto",padding:"2/3",freeCSS:{maxHeight:12*22},children:g.Clock.Minutes({onClick:c=>{m({modifiedType:"update",hour:i.hour,minutes:c})},min:e,max:o,unit:n})})]})]})]}),a(g.Variables.Footer,{sheetID:t,set_confirmed:r.set_confirmed,onValueUpdate:l})]})},Hours:r=>{let e=[];for(let o=0;o<12;o++){let l=r.ampm==2?o+12:o,t=!1;{let i=Number(String(l*100).replace(/\D/ig,""));if(r.min&&Number(String(r.min).replace(/\D/ig,""))>i&&(t=!0),r.max){let m=Number(String(r.max).replace(/\D/ig,""));i>m&&(t=!0)}}e.push(a(v.Normal,{isLocked:t,borderBottom:!0,borderRadius:0,padding:["1/2",1],freeCSS:{whiteSpace:"nowrap"},tabIndex:-1,onClick:()=>{r.onClick(o)},children:l.zeroEmbed(2)},o))}return e},Minutes:r=>{let e=[];for(let o=0;o<60/r.unit;o++){let l=o*r.unit;e.push(a(v.Normal,{borderBottom:!0,borderRadius:0,padding:["1/2",1],freeCSS:{whiteSpace:"nowrap"},tabIndex:-1,onClick:()=>{r.onClick(l)},children:l.zeroEmbed(2)},l))}return e}},Date:{index:r=>{let{min:e,max:o,onValueUpdate:l,sheetID:t,val_value:i,set_value:m}=r,{year:h,month:u,date:n}=i;return y(N,{padding:1,children:[y(I.Separate,{flexWrap:!0,children:[y(_,{verticalAlign:"bottom",horizontalAlign:"left",gap:"2/3",flexWrap:!1,children:[a(M,{override:"force",emptySelect:!1,value:h,options:W(),fontSize:"1.mini",border:"1.thin",padding:["1/3","2/3"],paddingRight:1.5,SelectorStyles:{freeCSS:{minWidth:12*12}},onUpdateValidValue:s=>{m({modifiedType:"update",year:Number(s),month:u,date:n})},rightIcon:a(w,{ssSphere:2,right:"1/3",children:a(T.AngleDown,{})})}),a(M,{override:"force",emptySelect:!1,value:u,options:(()=>{let s=[];for(let p=1;p<=12;p++)s.push({value:p,label:String(p)+"\u6708"});return s})(),fontSize:"1.mini",border:"1.thin",padding:["1/3","2/3"],paddingRight:1.5,SelectorStyles:{freeCSS:{minWidth:12*8}},rightIcon:a(w,{ssSphere:2,right:"1/3",children:a(T.AngleDown,{})}),onUpdateValidValue:s=>{m({modifiedType:"update",year:h,month:Number(s),date:n})}})]}),a(g.Variables.ShiftButtons,{callback:s=>{let p=u+s,d=h;p<=0&&(d--,p=12),p>12&&(d++,p=1),m({modifiedType:"update",year:d,month:p,date:i.date})}})]}),a(x,{borderTop:!0}),a(x,{children:g.Date.MonthCalendar({min:e,max:o,year:i.year,month:i.month,current:[i.year,i.month,i.date],callback:s=>{let[p,d,c]=s;m({modifiedType:"update",year:p,month:d,date:c})}})}),a(g.Variables.Footer,{sheetID:t,set_confirmed:r.set_confirmed,onValueUpdate:l})]})},MonthCalendar:r=>{let{min:e,max:o,year:l,month:t,current:i,callback:m}=r,h=C(),u=C([l,t.zeroEmbed(2),"01"].join("/")),n=u.getLastDayOfMonth(),s=C(u).addMonth(-1).getLastDayOfMonth().date,p=[],d=[],c=[],k=[],R={padding:0,unitWidth:3,unitHeight:3,flexCenter:!0,borderRadius:"3.tone.tertiary"};for(var S=0;S<7;S++)p.push(a(x,D(f({className:[b("CalendarDay"),b("Legend")].join(" ")},R),{children:["\u65E5","\u6708","\u706B","\u6C34","\u6728","\u91D1","\u571F"][S]}),S));for(var S=0;S<u.weekday;S++)d.unshift(q(x,D(f({className:[b("CalendarDay"),b("Dummy")].join(" "),fontColor:"4.thin"},R),{key:S}),s-S));for(var S=1;S<=n.date;S++){let E=S,Y=l==h.year&&t==h.month&&S==h.date,P=!1;{let z=Number(String([l,t.zeroEmbed(2),S.zeroEmbed(2)].join("/")).replace(/\D/ig,""));if(r.min&&Number(String(r.min).replace(/\D/ig,""))>z&&(P=!0),r.max){let U=Number(String(r.max).replace(/\D/ig,""));z>U&&(P=!0)}}c.push(a(v.Clear,D(f({className:[b("CalendarDay"),b("isToday_"+Y)].join(" ")},R),{fontColor:"1.clear",padding:0,flexCenter:!0,isRounded:!0,ssEffectsOnActive:"shrink",onClick:()=>{m([l,t,E])},tabIndex:-1,isLocked:P,children:S}),E))}for(var S=1;S<7-n.weekday;S++)k.push(a(x,D(f({className:[b("CalendarDay"),b("Dummy")].join(" "),fontColor:"4.thin"},R),{children:S}),S));return y(A,{gridCols:7,gap:"1/6",children:[p,d,c,k]})}},Month:{index:r=>{let{min:e,max:o,onValueUpdate:l,sheetID:t,val_value:i,set_value:m}=r,{year:h,month:u}=i;return y(N,{padding:1,children:[y(I.Separate,{gap:0,children:[a(I.Center,{verticalAlign:"bottom",gap:"2/3",children:a(M,{emptySelect:!1,value:h,options:W(),override:"force",border:"1.thin",padding:["1/3","2/3"],paddingRight:1.5,SelectorStyles:{freeCSS:{minWidth:12*12}},rightIcon:a(w,{ssSphere:2,right:"1/3",children:a(T.AngleDown,{})}),onUpdateValidValue:n=>{m({modifiedType:"update",year:Number(n),month:u})}})}),a(g.Variables.ShiftButtons,{callback:n=>{let s=Math.min(Math.max(h+n,1900),2100);m({modifiedType:"update",year:s,month:u})}})]}),a(x,{borderTop:!0}),g.Month.Months({min:e,max:o,year:i.year,callback:n=>{let[s,p]=n;m({modifiedType:"update",year:s,month:p})}}),a(g.Variables.Footer,{sheetID:t,set_confirmed:r.set_confirmed,onValueUpdate:l})]})},Months:r=>{let{year:e,callback:o}=r,l=C(),t=[];for(let i=1;i<=12;i++){let m=e==l.year&&i==l.month,h=!1;{let n=Number(String([e,i.zeroEmbed(2)].join("/")).replace(/\D/ig,""));if(r.min&&Number(String(r.min).replace(/\D/ig,""))>n&&(h=!0),r.max){let s=Number(String(r.max).replace(/\D/ig,""));n>s&&(h=!0)}}let u=[b("Cell"),m?b("isThisMonth"):""].join(" ");t.push(y(v.Clear,{className:u,isLocked:h,fontColor:"2.normal",padding:["1/3",1],ssEffectsOnActive:"shrink",onClick:()=>{o([e,i])},children:[i," \u6708"]},e+"-"+i))}return a(A,{gridCols:4,gap:"2/3",children:t})}},Year:{index:r=>{let{min:e,max:o,onValueUpdate:l,sheetID:t,val_value:i,set_value:m}=r,{year:h}=i;return y(N,{padding:1,children:[a(M,{emptySelect:!1,paddingRight:1.5,fontSize:"1.mini",value:h||C().year,override:"force",SelectorStyles:{freeCSS:{minWidth:12*12}},options:W({min:e,max:o}),onUpdateValidValue:u=>{m({modifiedType:"update",year:Number(u)})}}),a(g.Variables.Footer,{sheetID:t,set_confirmed:r.set_confirmed,onValueUpdate:l,onSubmit:()=>{m({modifiedType:"update",year:Number(h||C().year)})}})]})}},DateWareki:{index:r=>{let{min:e,max:o,onValueUpdate:l,sheetID:t,val_value:i,set_value:m}=r,{era:h,year:u,month:n,date:s}=i,p={val_value:i,set_value:m};return y(x,{children:[y(I.Left,{borderBottom:!0,gap:0,verticalAlign:"unset",children:[a(g.DateWareki.EraSelect,f({},p)),a(x,{borderRight:!0}),a(g.DateWareki.Calendar,f({},p))]}),a(I.Right,{padding:1,children:a(g.Variables.Footer,{sheetID:t,set_confirmed:r.set_confirmed,onValueUpdate:l})})]})},EraSelect:r=>{let{val_value:e,set_value:o}=r,l={padding:["1/2",1.5],fontColor:"3.blur"},t={backgroundColor:"cloud",fontColor:"2.normal",isSemiBoldFont:!0};return y(N,{padding:1,gap:0,children:[a(v.Clear,D(f({color:"cloud"},l),{isActiveStyles:t,isActive:e.era=="year",onClick:()=>{let i=C();o({modifiedType:"update",era:"year",year:i.year,month:i.month,date:i.date})},children:"\u897F\u66A6"})),a(v.Clear,D(f({color:"cloud"},l),{isActiveStyles:t,isActive:e.era=="reiwa",onClick:()=>{let i=C();o({modifiedType:"update",era:"reiwa",year:i.year,month:i.month,date:i.date})},children:"\u4EE4\u548C"})),a(v.Clear,D(f({color:"cloud"},l),{isActiveStyles:t,isActive:e.era=="heisei",onClick:()=>{o({modifiedType:"update",era:"heisei",year:2019,month:1,date:1})},children:"\u5E73\u6210"})),a(v.Clear,D(f({color:"cloud"},l),{isActiveStyles:t,isActive:e.era=="shouwa",onClick:()=>{o({modifiedType:"update",era:"shouwa",year:1989,month:1,date:1})},children:"\u662D\u548C"})),a(v.Clear,D(f({color:"cloud"},l),{isActiveStyles:t,isActive:e.era=="taisho",onClick:()=>{o({modifiedType:"update",era:"taisho",year:1926,month:1,date:1})},children:"\u5927\u6B63"})),a(v.Clear,D(f({color:"cloud"},l),{isActiveStyles:t,isActive:e.era=="meiji",onClick:()=>{o({modifiedType:"update",era:"meiji",year:1912,month:1,date:1})},children:"\u660E\u6CBB"}))]})},Calendar:r=>{let{val_value:e,set_value:o}=r,l=[];if(e.era=="year"){let t=C().year+10;for(let i=1900;i<t;i++)l.unshift({value:i,label:i+"\u5E74"})}else if(e.era=="reiwa"){let t=C().year-2018;for(let i=1;i<=t+10;i++)l.unshift({value:2019+i-1,label:"\u4EE4\u548C"+(i==1?"\u5143":i)+"\u5E74"})}else if(e.era=="heisei")for(let t=1;t<=31;t++)l.unshift({value:1989+t-1,label:"\u5E73\u6210"+(t==1?"\u5143":t)+"\u5E74"});else if(e.era=="shouwa")for(let t=1;t<=64;t++)l.unshift({value:1926+t-1,label:"\u662D\u548C"+(t==1?"\u5143":t)+"\u5E74"});else if(e.era=="taisho")for(let t=1;t<=15;t++)l.unshift({value:1912+t-1,label:"\u5927\u6B63"+(t==1?"\u5143":t)+"\u5E74"});else if(e.era=="meiji")for(let t=1;t<=45;t++)l.unshift({value:1868+t-1,label:"\u660E\u6CBB"+(t==1?"\u5143":t)+"\u5E74"});return y(N,{padding:1,children:[y(I.Separate,{children:[a(M,{emptySelect:!1,override:"force",border:"1.thin",padding:["1/3","2/3"],paddingRight:1.5,fontSize:"1.mini",SelectorStyles:{freeCSS:{minWidth:12*12}},rightIcon:a(w,{ssSphere:2,right:"1/3",children:a(T.AngleDown,{})}),options:l,value:e.year,onUpdateValidValue:t=>{o(i=>D(f({},i),{modifiedType:"update",year:Number(t)}))}}),y(I.Center,{gap:"1/3",children:[a(M,{emptySelect:!1,override:"force",border:"1.thin",padding:["1/3","2/3"],paddingRight:1.5,fontSize:"1.mini",SelectorStyles:{freeCSS:{minWidth:12*9}},rightIcon:a(w,{ssSphere:2,right:"1/3",children:a(T.AngleDown,{})}),options:[{value:1,label:"1\u6708"},{value:2,label:"2\u6708"},{value:3,label:"3\u6708"},{value:4,label:"4\u6708"},{value:5,label:"5\u6708"},{value:6,label:"6\u6708"},{value:7,label:"7\u6708"},{value:8,label:"8\u6708"},{value:9,label:"9\u6708"},{value:10,label:"10\u6708"},{value:11,label:"11\u6708"},{value:12,label:"12\u6708"}],value:e.month,onUpdateValidValue:t=>{o({modifiedType:"update",era:e.era,year:e.year,month:Number(t),date:1})}}),a(v.Clear.S,{ssSphere:2.5,onClick:()=>{let t=e.month-1;o({modifiedType:"update",era:e.era,year:t==0?e.year-1:e.year,month:t==0?12:t,date:1})},children:a(T.ChevronLeft,{})}),a(v.Clear.S,{ssSphere:2.5,onClick:()=>{let t=e.month+1;o({modifiedType:"update",era:e.era,year:t==13?e.year+1:e.year,month:t==13?1:t,date:1})},children:a(T.ChevronRight,{})})]})]}),a(g.DateWareki.MonthCell,f({},r))]},e.era)},MonthCell:r=>{let{val_value:e,set_value:o}=r,l=C([e.year.zeroEmbed(4),e.month.zeroEmbed(2),e.date.zeroEmbed(2)].join("/"));if(!l.validate)return;let t=l.getFirstDayOfMonth().weekday,i=l.getLastDayOfMonth(),m=[];for(let u=0;u<7;u++)m.push(a(G.Supplement,{flexCenter:!0,fontColor:u==0?"googleRed":u==6?"googleBlue":"3.blur",children:V.transformer.weekday.shortJP(u)},"legend-"+u));for(let u=0;u<t;u++){let n=C(l).getFirstDayOfMonth().addDate(u-t);m.push(a(v.Sub,{color:"cloud",ssSquare:3,opacity:"middle",onClick:s=>{s.preventDefault(),s.stopPropagation(),o({modifiedType:"update",era:e.era,year:n.year,month:n.month,date:n.date})},children:n.date},"lastMonth-"+u))}let h=C();for(let u=1;u<=i.date;u++){let n=C(l).setDate(u),s=h.diff(n).dates==0;m.push(a(v.Clear,{ssSquare:3,fontColor:"2.normal",className:[b("CalendarDay"),b("isToday_"+s)].join(" "),onClick:()=>{o({modifiedType:"update",era:e.era,year:n.year,month:n.month,date:n.date})},children:n.date},"currentMonth-"+u))}for(let u=0;u<7-i.weekday-1;u++){let n=C(l).addMonth(1).setDate(1).addDate(u);m.push(a(v.Sub,{color:"cloud",ssSquare:3,opacity:"middle",onClick:s=>{s.preventDefault(),s.stopPropagation(),o({modifiedType:"update",era:e.era,year:n.year,month:n.month,date:n.date})},children:n.date},"nextMonth-"+u))}return a(A,{gridCols:7,gap:"1/4",children:m})}},Variables:{Footer:r=>y(_,{flexWrap:!1,gap:1,flexChilds:"even",freeCSS:{whiteSpace:"nowrap"},children:[y(v.Sub.S,{color:"cloud",tabIndex:-1,isRounded:!0,onClick:()=>{r.onValueUpdate("")},flexSizing:"none",children:[a(T.X,{})," \u524A\u9664"]}),a(v.Prime.S,{tabIndex:-1,isRounded:!0,flexSizing:"auto",freeCSS:{minWidth:12*6},onClick:()=>{r.set_confirmed(!0),r.onSubmit&&r.onSubmit(),X.close(r.sheetID)},children:"\u6C7A\u5B9A"})]}),ShiftButtons:r=>y(_,{gap:"1/3",flexWrap:!1,children:[a(v.Clear,D(f({className:b("LeftButton"),tabIndex:-1,right:0},g.Variables.ShiftButtonStyles),{onClick:()=>{r.callback(-1)},children:a(T.ChevronLeft,{})})),a(v.Clear,D(f({className:b("RightButton"),tabIndex:-1,left:0},g.Variables.ShiftButtonStyles),{onClick:()=>{r.callback(1)},children:a(T.ChevronRight,{})}))]}),ShiftButtonStyles:{position:"relative",flexCenter:!0,ssSphere:2.5}}};export{j as Picker,j as default};
|
|
@@ -18,7 +18,7 @@ export declare namespace TimeTypes {
|
|
|
18
18
|
era?: Era;
|
|
19
19
|
min?: string;
|
|
20
20
|
max?: string;
|
|
21
|
-
onValueUpdate(value: string | [string, string], era: Era): void;
|
|
21
|
+
onValueUpdate(value: string | [string, string], era: Era, isConfirmed: boolean): void;
|
|
22
22
|
};
|
|
23
23
|
type Focus = {
|
|
24
24
|
active: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as ie,b as s,c as k,d as K}from"../../../chunk-C5N2D3ZX.js";import{Fragment as Ce,jsx as h,jsxs as se}from"react/jsx-runtime";import ee,{UUID as W,useStore as $}from"jmini";import*as X from"jmini";import{useState as F,useEffect as z,useRef as ue}from"react";import{$$fromRoot as de,Config as ne,ExtractStyles as fe}from"../../../@utils";import{Box as H,FAI as he}from"../../../atoms";import{Literal as ge,Row as ye}from"../../../mols";import{Button as oe}from"../../Button";import ve from"../../Tooltips";import Ie from"../../Sheet";import{faClock as Se}from"@fortawesome/free-solid-svg-icons/faClock";import{faCalendarAlt as Te}from"@fortawesome/free-solid-svg-icons/faCalendarAlt";import{OptionalInputWrapper as De,BoxWrapper as be,CoreEffects as Y,DefaultBoxishStyles as xe}from"../core";import{RightIcon as ke}from"..";import Ee from"../Select";import{InputLabel as we}from"../Label";import Ve from"./Picker";const O=" ~ ",Re={clock:{defaultValue:"--:--",format:/^\d{2}\D\d{2}$/,ranges:[{type:"hour",from:0,length:2},{type:"minute",from:3,length:2}],sets:1},date:{defaultValue:"----/--/--",format:/^\d{4}\D\d{2}\D\d{2}$/,ranges:[{type:"year",from:0,length:4},{type:"month",from:5,length:2},{type:"date",from:8,length:2}],sets:1},week:{defaultValue:"----\u5E74\u7B2C--\u9031",format:/^\d{4}\D\d{2}$/,ranges:[{type:"year",from:0,length:4,region:6},{type:"week",from:6,length:2,region:3}],sets:1},month:{defaultValue:"----\u5E74--\u6708",format:/^\d{4}\D\d{2}$/,ranges:[{type:"year",from:0,length:4},{type:"month",from:5,length:2,region:3}],sets:1},year:{defaultValue:"----\u5E74",format:/^\d{4}$/,ranges:[{type:"year",from:0,length:4,region:5}],sets:1},dates:{defaultValue:"----/--/--",format:/^\d{4}\D\d{2}\D\d{2}$/,ranges:[{type:"year",from:0,length:4},{type:"month",from:5,length:2},{type:"date",from:8,length:2,region:5},{type:"year",from:10+O.length,length:4},{type:"month",from:15+O.length,length:2},{type:"date",from:18+O.length,length:2}],sets:2},months:{defaultValue:"----\u5E74--\u6708",format:/^\d{4}\D\d{2}$/,ranges:[{type:"year",from:0,length:4},{type:"month",from:5,length:2,region:6},{type:"year",from:8+O.length,length:4},{type:"month",from:13+O.length,length:2,region:3}],sets:2},dateWareki:{defaultValue:"----\u5E74--\u6708--\u65E5",format:/^\d{4}\D\d{2}\D\d{2}$/,ranges:[{type:"dateWareki",from:0,length:4,region:5},{type:"month",from:5,length:2,region:3},{type:"date",from:8,length:2,region:3}],sets:1}},P={PeriodMargin:" ~ ",DataLeveling:e=>{let{restrict:r,value:g,era:i}=e,d=ee.flatArray(g||""),{defaultValue:x,format:v,ranges:o,sets:a}=Re[r],S=[],n=r=="clock"&&":"||"/";for(let t=0;t<d.length;t++)d[t]=String(d[t]).replace(/\D/ig,n);for(let t=0;t<a;t++){let p=d[t]||"";if(!p.match(v))d[t]="",S.push(x);else{let b=x;p.split(/\D/).forEach((E,w)=>{if(w==0&&r=="dateWareki"){let I=Number(E);i!="year"&&(I>=2019?i=="reiwa"?I-=2018:i=="heisei"&&(I=31):I>=1989?i=="heisei"?I-=1988:i=="shouwa"&&(I=64):I>=1926?i=="shouwa"?I-=1925:i=="taisho"&&(I=15):I>=1912?i=="taisho"?I-=1911:i=="meiji"&&(I=45):I>=1868&&(I-=1867)),E=I.zeroEmbed(4)}b=b.replace(new RegExp("------------------".slice(0,E.length)),E)}),S.push(b)}}return{formatValue:S.join(O),dataValue:["dates","months"].includes(r)?d:d[0],ranges:o}},SystemValidation:e=>{let{states:r}=e,{restrict:g,min:i,max:d,required:x}=r,v=[],o=ee.flatArray(e.value),a={empty:!1,escalated:1,filled:!0,correct:!0,prohibited:!1};(()=>{let S=g=="clock"&&":"||"/";for(let n=0;n<o.length;n++)o[n]=String(o[n]).replace(/\D/ig,S);for(let n=0;n<o.length;n++){let t=o[n],p=o[n-1];t.removeLetters()||(a.empty=!0),n>0&&(a.escalated&=+(t>=p))}a.escalated&&(a.empty||(g.match(/clock/)?o.forEach(n=>{let[t,p]=n.split(/\D+/);!t||!p?a.filled=!1:(Number(t)>23||Number(p)>59)&&(a.correct=!1)}):g.match(/date/)?o.forEach(n=>{let[t,p,b]=n.split(/\D+/);if(!t||!p||!b)a.filled=!1;else{let E=X.Time(n);(!E.validate||n!=E.toFormatYMD())&&(a.correct=!1)}}):g.match(/week/)?o.forEach(n=>{let[t,p]=n.split(/\D+/);if(!t||!p)a.filled=!1;else{let b=X.Time(t+"/01/01").weekday,w=X.Time(t+"/01/0"+(7-b+1)).addWeek(Number(p)-1);t!=String(w.year)&&(a.correct=!1)}}):g.match(/month/)?o.forEach(n=>{let[t,p]=n.split(/\D+/);!t||!p?a.filled=!1:X.Time([t,p,"01"].join("/")).validate||(a.correct=!1)}):g.match(/year/),a.filled&&a.correct&&o.forEach(n=>{{let t=Number(String(n).replace(/\D/ig,""));if(i&&Number(String(i).replace(/\D/ig,""))>t&&(a.prohibited=!0),d){let p=Number(String(d).replace(/\D/ig,""));t>p&&(a.prohibited=!0)}}})))})();{let{empty:S,escalated:n,filled:t,correct:p,prohibited:b}=a;S&&x&&(v=[{type:"invalid",label:"\u5FC5\u9808\u9805\u76EE\u3067\u3059"}]),n||v.push({type:"invalid",label:"\u6642\u7CFB\u5217\u3092\u6B63\u3057\u304F\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044"}),p||v.push({type:"invalid",label:"\u7121\u52B9\u306A\u5024\u304C\u5165\u529B\u3055\u308C\u3066\u3044\u307E\u3059"}),t||v.push({type:"invalid",label:"\u6700\u5F8C\u307E\u3067\u5024\u3092\u57CB\u3081\u3066\u304F\u3060\u3055\u3044"}),b&&v.push({type:"invalid",label:se(Ce,{children:[h(H,{children:"\u5165\u529B\u7BC4\u56F2\u304C\u5236\u9650\u3055\u308C\u3066\u3044\u307E\u3059"}),"[",i||"\u4E0B\u9650\u7121\u3057","] ~ [",d||"\u4E0A\u9650\u7121\u3057","]"]})})}return{ok:!v.filter(({type:S})=>S=="invalid").length,notice:v}},KeyDownEvent:e=>{let{val_era:r,restrict:g,event:i,val_status:d,set_status:x,val_focus:v,set_focus:o}=e,{key:a,shiftKey:S,ctrlKey:n,metaKey:t}=i,p=n||t,{selectionStart:b,selectionEnd:E}=i.target,{index:w,prevIndex:I}=v,{ranges:q,formatValue:G}=d,A=q.length-1;if(["Tab","ArrowLeft","ArrowRight"].includes(a)){let y=0;if(a=="Tab"){let m=+!S*2-1;if(y=v.index+m,y<0||y>A)return}else{let m=a=="ArrowLeft"?-1:a=="ArrowRight"?1:0;p||b==0&&E==String(d.formatValue).length?y=m==1?A:0:y=Math.max(0,Math.min(w+m,A))}o(m=>k(s({},m),{index:y,prevIndex:w})),i.preventDefault()}if(["Backspace","ArrowUp","ArrowDown","0","1","2","3","4","5","6","7","8","9"].includes(a)){i.preventDefault();let y=w;y=Math.max(y,0),y=Math.min(y,A);let{type:m,from:B,length:Q}=q[y],L=G.slice(B,B+Q),T;if(a=="Backspace")T="------".slice(0,Q);else if(["ArrowUp","ArrowDown"].includes(a)){let V=a=="ArrowUp"?1:-1;L=L|0,T=L+V;let[f,u,l]=m=="dateWareki"?r=="year"?[0,2999,4]:r=="reiwa"?[1,2999,4]:r=="heisei"?[1,31,4]:r=="shouwa"?[1,64,4]:r=="taisho"?[1,15,4]:r=="meiji"?[1,45,4]:[0,0,0]:m=="minute"?[0,59,2]:m=="hour"?[0,23,2]:m=="date"?[1,31,2]:m=="week"?[1,53,2]:m=="month"?[1,12,2]:m=="year"?[0,2999,4]:[0,0,0];T>u?T=f:T<f&&(T=u),T=Number(T).zeroEmbed(l)}else if(["0","1","2","3","4","5","6","7","8","9"].includes(a)){let V=L|0,f=a,u=`${V}${f}`;if(I!=w&&(V=0,u="0"+f),m=="year"||m=="dateWareki"&&r=="year")Number(u)>1e4?T=f:T=u,(T|0)>1e3&&y++;else if(["hour","minute","date","week","month"].includes(m)||m=="dateWareki"&&r!="year"){let l=m=="dateWareki"?r=="reiwa"?100:r=="heisei"?31:r=="shouwa"?64:r=="taisho"?15:r=="meiji"?45:0:m=="minute"?59:m=="hour"?23:m=="date"?31:m=="week"?53:m=="month"?12:0;T=(u|0)>l?f:u,(Number(f)>Number(String(l)[0])||L=="0000".slice(0,String(l).length)&&(u!="0000".slice(0,String(l).length)||["minute","hour"].includes(m)&&I==w)||(u|0)>=ie(10,String(l).length-1))&&y++}m=="year"||m=="dateWareki"?T=(T|0).zeroEmbed(4):T=(T|0).zeroEmbed(2)}{let V=String(G).partReplace(B,String(T)),f=V.split(O).map(u=>u.replace(/(^\D|\D$)/,"").split(/\D+/).join(g=="clock"&&":"||"/").replace(/(^\D|\D$)/,""));if(g=="dateWareki"){let u=f[0].split(/\D/),[l,R,M]=u;u.length==3&&l&&(f=[[Number(l)-1+Number({year:1,reiwa:2019,heisei:1989,shouwa:1926,taisho:1912,meiji:1868}[r]),R,M].join("/")])}y=Math.max(y,0),y=Math.min(y,A),x(u=>k(s({},u),{dataValue:["dates","months"].includes(g)?f:f[0],formatValue:V,eventType:"update",eventID:W()})),o(u=>k(s({},u),{index:y,prevIndex:u.index}))}}}},le={picker:{launch:e=>{let r=e.sheetID||W(),S=e,{onValueUpdate:g,min:i,max:d,era:x,restrict:v,defaultValue:o}=S,a=K(S,["onValueUpdate","min","max","era","restrict","defaultValue"]);Ie.open("middleCenter",k(s({sheetID:r,size:"S",padding:0,closeAtAroundClick:!0,closeAtParentBlur:!1},a),{content:h(ye.Center,{children:h(Ve,{restrict:v,min:i,max:d,era:x,defaultValue:o,sheetID:r,onValueUpdate:(n,t)=>{g(n,t)}})})}))},remove:e=>{ve.close(e)}}},_e={Shallow:e=>{let{rootStates:r,val_status:g}=e,i=fe(r);return h(H,{position:"absolute",top:0,left:0,right:0,height:0,overflow:"hidden",opacity:"trans",freeCSS:{zIndex:3,pointerEvents:"none"},children:h(ge.Description,k(s({className:r.className},i),{position:"absolute",width:1,freeCSS:k(s({},i.freeCSS),{color:"orange"}),children:h(H,{"data-input-value-shallow":g.componentId,children:"A"})}))})}},Ae=e=>{let ae=e,{tone:r,required:g,restrict:i="clock",componentId:d,era:x,form:v,name:o,min:a,max:S,className:n,enableFormSubmit:t,checkValidationAtFirst:p,onKeyDown:b,onValidate:E,onValidateDelay:w,onUpdateValue:I,onUpdateValidValue:q,onUserAction:G,value:A="",leftIndicator:y,rightIndicator:m,leftIcon:B,rightIcon:Q,freeCSS:L,wrapStyles:T}=ae,V=K(ae,["tone","required","restrict","componentId","era","form","name","min","max","className","enableFormSubmit","checkValidationAtFirst","onKeyDown","onValidate","onValidateDelay","onUpdateValue","onUpdateValidValue","onUserAction","value","leftIndicator","rightIndicator","leftIcon","rightIcon","freeCSS","wrapStyles"]),[f,u]=F(x),[l,R]=F({componentId:e.componentId||"",formatValue:"",dataValue:"",ranges:[],eventType:"init",eventID:W()}),[M,Z]=F({ok:!1,notice:[]}),[U,j]=F({active:!1,index:0,prevIndex:-1}),me={rootStates:e,val_status:l,set_status:R,val_validate:M,set_validate:Z,val_era:f,set_era:u,val_focus:U,set_focus:j};Y.CommonEffects({type:"time",states:e,val_status:l,set_status:R,val_validate:M,set_validate:Z,SystemValidation:P.SystemValidation,ExtraOverrideStates:()=>P.DataLeveling({restrict:i,value:A,era:f})}),z(()=>{R(c=>s(s({},c),P.DataLeveling({restrict:i,value:A,era:f})))},[]);const te=ue(!1);return z(()=>{if(te.current){R(D=>s(s({},D),P.DataLeveling({restrict:i,value:D.dataValue,era:f})));let c=$.get("refreshEra_"+l.componentId);c&&c.refreshEra(f)}else te.current=!0},[f]),$.update({[l.componentId]:{openPicker:c=>{e.disabled||le.picker.launch({parent:c,sheetID:"PickerTips-"+l.componentId,restrict:i,min:a,max:S,defaultValue:l.dataValue,era:f,onValueUpdate:(D,C)=>{R(N=>k(s(s({},N),P.DataLeveling({restrict:i,value:D,era:C})),{eventType:"update",eventID:W()})),u(C)}})},resetEra:c=>{u(c),R(D=>k(s(s({},D),P.DataLeveling({restrict:i,value:"",era:f})),{eventType:"update",eventID:W()}))}}}),z(()=>{let{index:c,active:D}=U;if(D){c=Math.max(c,0),c=Math.min(c,l.ranges.length-1);let{from:C,length:N}=l.ranges[c],J=de("#"+e.id)[0];J&&J.setSelectionRange(C,C+N)}},[U]),se(be,{val_status:l,set_status:R,val_validate:M,states:e,children:[h(_e.Shallow,s({},me)),h(we,{componentId:e.componentId,fontSize:e.fontSize,required:e.required,label:e.label,isActive:!0}),ne.get().isTouchDevice?h(oe.Plain,k(s({"data-show-validation":Y.isShowValidation(M,l,!!p),"data-component-id":l.componentId,"data-input-origin":l.componentId,"data-disabled":e.disabled,className:n,freeCSS:{textAlign:"left"}},V),{children:l.formatValue,onClick:c=>{let D=$.get(l.componentId);D&&D.openPicker(`[data-input-origin="${l.componentId}"]`),c.stopPropagation()}})):h(H,s({htmlTag:"input",type:"text",inputMode:"numeric","data-show-validation":Y.isShowValidation(M,l,!!p),"data-input-origin":l.componentId,"data-disabled":e.disabled,value:l.formatValue,className:n,tabIndex:ne.get().isTouchDevice?-1:0,onKeyDown:c=>{P.KeyDownEvent({restrict:i,event:c,val_era:f,val_status:l,set_status:R,val_focus:U,set_focus:j}),b&&b(c),t&&Y.SubmitForm(c,v)},onKeyUp:c=>{c.key=="Tab"&&j(D=>k(s({},D),{active:!0}))},onClick:c=>{let D=c.target.selectionEnd,C=0;l.ranges.forEach((N,J)=>{let{from:re,length:pe,region:ce}=N;re<=D&&D<=re+(ce||pe)&&(C=J)}),j(N=>k(s({},N),{active:!0,index:C})),c.preventDefault()},onChange:()=>{}},V))]})},_={Origin:e=>{let r=s({fontSize:"inherit",width:1},e),[g]=F(e.componentId||W());if(r.componentId=g,ee.is.nullish(r.rightIcon)){let i=(e.restrict||"").match(/clock/)?Se:Te;r.rightIcon=h(ke,{ssSphere:2,freeCSS:{pointerEvents:"all"},children:h(oe.Sub,{color:"cloud",border:"unset",ssSphere:2,fontColor:"theme",boxShadow:"0.normal",borderRadius:"3.tone.tertiary",flexCenter:!0,ssEffectsOnActive:"push",tabIndex:-1,id:"Picker-"+r.componentId,onClick:()=>{let d=$.get(r.componentId);d&&d.openPicker("#Picker-"+r.componentId)},children:h(he,{icon:i})})})}return h(De,{componentId:r.componentId,children:Ae,states:xe(r)})},Clock:e=>h(_.Origin,s({restrict:"clock",era:"clock"},e)),Date:e=>h(_.Origin,s({restrict:"date"},e)),Week:e=>h(_.Origin,s({restrict:"week"},e)),Month:e=>h(_.Origin,s({restrict:"month"},e)),Year:e=>h(_.Origin,s({restrict:"year"},e)),DateWareki:e=>{e=s({},e);let[r]=F(e.componentId||W());e.componentId=r;let v=e,{defaultEra:g="wareki"}=v,i=K(v,["defaultEra"]),[d,x]=F((()=>{let o="year";if(g=="wareki"&&(o="reiwa",e.value)){let[a,S,n]=e.value.split(/\D/);if(a&&S&&n){let t=Number(a);t>=2019?(t-=2019,o="reiwa"):t>=1989?(t-=1989,o="heisei"):t>=1926?(t-=1926,o="shouwa"):t>=1912?(t-=1912,o="taisho"):t>=1868&&(t-=1868,o="meiji"),t+=1}}return o})());return z(()=>{$.set({["refreshEra_"+r]:{refreshEra:o=>{x(o)}}})},[]),h(_.Origin,k(s({restrict:"dateWareki",leftIndicator:h(Ee,{label:"\u5143\u53F7",emptySelect:!1,value:d,tone:e.tone||"border",override:"force",flexCenter:!0,borderTopRightRadius:"2/3",borderBottomRightRadius:"2/3",height:1,freeCSS:{whiteSpace:"nowrap"},options:[{value:"year",label:"\u897F\u66A6"},{value:"reiwa",label:"\u4EE4\u548C"},{value:"heisei",label:"\u5E73\u6210"},{value:"shouwa",label:"\u662D\u548C"},{value:"taisho",label:"\u5927\u6B63"},{value:"meiji",label:"\u660E\u6CBB"}],onUpdateValidValue:o=>{x(o);let a=$.get(e.componentId);a&&a.resetEra&&a.resetEra(o)}})},i),{era:d}))},Periods:{Date:e=>h(_.Origin,s({restrict:"dates"},e)),Month:e=>h(_.Origin,s({restrict:"months"},e))},fn:le};export{_ as Time,_ as default};
|
|
1
|
+
import{a as ie,b as s,c as w,d as K}from"../../../chunk-C5N2D3ZX.js";import{Fragment as Ae,jsx as h,jsxs as se}from"react/jsx-runtime";import ee,{UUID as W,useStore as B}from"jmini";import*as X from"jmini";import{useState as F,useEffect as z,useRef as ue}from"react";import{$$fromRoot as de,Config as ne,ExtractStyles as fe}from"../../../@utils";import{Box as H,FAI as he}from"../../../atoms";import{Literal as ge,Row as ye}from"../../../mols";import{Button as oe}from"../../Button";import ve from"../../Tooltips";import Ie from"../../Sheet";import{faClock as Se}from"@fortawesome/free-solid-svg-icons/faClock";import{faCalendarAlt as Te}from"@fortawesome/free-solid-svg-icons/faCalendarAlt";import{OptionalInputWrapper as De,BoxWrapper as be,CoreEffects as Y,DefaultBoxishStyles as xe}from"../core";import{RightIcon as ke}from"..";import Ee from"../Select";import{InputLabel as we}from"../Label";import Ve from"./Picker";const O=" ~ ",Re={clock:{defaultValue:"--:--",format:/^\d{2}\D\d{2}$/,ranges:[{type:"hour",from:0,length:2},{type:"minute",from:3,length:2}],sets:1},date:{defaultValue:"----/--/--",format:/^\d{4}\D\d{2}\D\d{2}$/,ranges:[{type:"year",from:0,length:4},{type:"month",from:5,length:2},{type:"date",from:8,length:2}],sets:1},week:{defaultValue:"----\u5E74\u7B2C--\u9031",format:/^\d{4}\D\d{2}$/,ranges:[{type:"year",from:0,length:4,region:6},{type:"week",from:6,length:2,region:3}],sets:1},month:{defaultValue:"----\u5E74--\u6708",format:/^\d{4}\D\d{2}$/,ranges:[{type:"year",from:0,length:4},{type:"month",from:5,length:2,region:3}],sets:1},year:{defaultValue:"----\u5E74",format:/^\d{4}$/,ranges:[{type:"year",from:0,length:4,region:5}],sets:1},dates:{defaultValue:"----/--/--",format:/^\d{4}\D\d{2}\D\d{2}$/,ranges:[{type:"year",from:0,length:4},{type:"month",from:5,length:2},{type:"date",from:8,length:2,region:5},{type:"year",from:10+O.length,length:4},{type:"month",from:15+O.length,length:2},{type:"date",from:18+O.length,length:2}],sets:2},months:{defaultValue:"----\u5E74--\u6708",format:/^\d{4}\D\d{2}$/,ranges:[{type:"year",from:0,length:4},{type:"month",from:5,length:2,region:6},{type:"year",from:8+O.length,length:4},{type:"month",from:13+O.length,length:2,region:3}],sets:2},dateWareki:{defaultValue:"----\u5E74--\u6708--\u65E5",format:/^\d{4}\D\d{2}\D\d{2}$/,ranges:[{type:"dateWareki",from:0,length:4,region:5},{type:"month",from:5,length:2,region:3},{type:"date",from:8,length:2,region:3}],sets:1}},P={PeriodMargin:" ~ ",DataLeveling:e=>{let{restrict:r,value:g,era:n}=e,d=ee.flatArray(g||""),{defaultValue:k,format:v,ranges:o,sets:a}=Re[r],S=[],i=r=="clock"&&":"||"/";for(let t=0;t<d.length;t++)d[t]=String(d[t]).replace(/\D/ig,i);for(let t=0;t<a;t++){let p=d[t]||"";if(!p.match(v))d[t]="",S.push(k);else{let T=k;p.split(/\D/).forEach((x,E)=>{if(E==0&&r=="dateWareki"){let I=Number(x);n!="year"&&(I>=2019?n=="reiwa"?I-=2018:n=="heisei"&&(I=31):I>=1989?n=="heisei"?I-=1988:n=="shouwa"&&(I=64):I>=1926?n=="shouwa"?I-=1925:n=="taisho"&&(I=15):I>=1912?n=="taisho"?I-=1911:n=="meiji"&&(I=45):I>=1868&&(I-=1867)),x=I.zeroEmbed(4)}T=T.replace(new RegExp("------------------".slice(0,x.length)),x)}),S.push(T)}}return{formatValue:S.join(O),dataValue:["dates","months"].includes(r)?d:d[0],ranges:o}},SystemValidation:e=>{let{states:r}=e,{restrict:g,min:n,max:d,required:k}=r,v=[],o=ee.flatArray(e.value),a={empty:!1,escalated:1,filled:!0,correct:!0,prohibited:!1};(()=>{let S=g=="clock"&&":"||"/";for(let i=0;i<o.length;i++)o[i]=String(o[i]).replace(/\D/ig,S);for(let i=0;i<o.length;i++){let t=o[i],p=o[i-1];t.removeLetters()||(a.empty=!0),i>0&&(a.escalated&=+(t>=p))}a.escalated&&(a.empty||(g.match(/clock/)?o.forEach(i=>{let[t,p]=i.split(/\D+/);!t||!p?a.filled=!1:(Number(t)>23||Number(p)>59)&&(a.correct=!1)}):g.match(/date/)?o.forEach(i=>{let[t,p,T]=i.split(/\D+/);if(!t||!p||!T)a.filled=!1;else{let x=X.Time(i);(!x.validate||i!=x.toFormatYMD())&&(a.correct=!1)}}):g.match(/week/)?o.forEach(i=>{let[t,p]=i.split(/\D+/);if(!t||!p)a.filled=!1;else{let T=X.Time(t+"/01/01").weekday,E=X.Time(t+"/01/0"+(7-T+1)).addWeek(Number(p)-1);t!=String(E.year)&&(a.correct=!1)}}):g.match(/month/)?o.forEach(i=>{let[t,p]=i.split(/\D+/);!t||!p?a.filled=!1:X.Time([t,p,"01"].join("/")).validate||(a.correct=!1)}):g.match(/year/),a.filled&&a.correct&&o.forEach(i=>{{let t=Number(String(i).replace(/\D/ig,""));if(n&&Number(String(n).replace(/\D/ig,""))>t&&(a.prohibited=!0),d){let p=Number(String(d).replace(/\D/ig,""));t>p&&(a.prohibited=!0)}}})))})();{let{empty:S,escalated:i,filled:t,correct:p,prohibited:T}=a;S&&k&&(v=[{type:"invalid",label:"\u5FC5\u9808\u9805\u76EE\u3067\u3059"}]),i||v.push({type:"invalid",label:"\u6642\u7CFB\u5217\u3092\u6B63\u3057\u304F\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044"}),p||v.push({type:"invalid",label:"\u7121\u52B9\u306A\u5024\u304C\u5165\u529B\u3055\u308C\u3066\u3044\u307E\u3059"}),t||v.push({type:"invalid",label:"\u6700\u5F8C\u307E\u3067\u5024\u3092\u57CB\u3081\u3066\u304F\u3060\u3055\u3044"}),T&&v.push({type:"invalid",label:se(Ae,{children:[h(H,{children:"\u5165\u529B\u7BC4\u56F2\u304C\u5236\u9650\u3055\u308C\u3066\u3044\u307E\u3059"}),"[",n||"\u4E0B\u9650\u7121\u3057","] ~ [",d||"\u4E0A\u9650\u7121\u3057","]"]})})}return{ok:!v.filter(({type:S})=>S=="invalid").length,notice:v}},KeyDownEvent:e=>{let{val_era:r,restrict:g,event:n,val_status:d,set_status:k,val_focus:v,set_focus:o}=e,{key:a,shiftKey:S,ctrlKey:i,metaKey:t}=n,p=i||t,{selectionStart:T,selectionEnd:x}=n.target,{index:E,prevIndex:I}=v,{ranges:q,formatValue:G}=d,C=q.length-1;if(["Tab","ArrowLeft","ArrowRight"].includes(a)){let y=0;if(a=="Tab"){let m=+!S*2-1;if(y=v.index+m,y<0||y>C)return}else{let m=a=="ArrowLeft"?-1:a=="ArrowRight"?1:0;p||T==0&&x==String(d.formatValue).length?y=m==1?C:0:y=Math.max(0,Math.min(E+m,C))}o(m=>w(s({},m),{index:y,prevIndex:E})),n.preventDefault()}if(["Backspace","ArrowUp","ArrowDown","0","1","2","3","4","5","6","7","8","9"].includes(a)){n.preventDefault();let y=E;y=Math.max(y,0),y=Math.min(y,C);let{type:m,from:U,length:Q}=q[y],L=G.slice(U,U+Q),D;if(a=="Backspace")D="------".slice(0,Q);else if(["ArrowUp","ArrowDown"].includes(a)){let V=a=="ArrowUp"?1:-1;L=L|0,D=L+V;let[f,u,l]=m=="dateWareki"?r=="year"?[0,2999,4]:r=="reiwa"?[1,2999,4]:r=="heisei"?[1,31,4]:r=="shouwa"?[1,64,4]:r=="taisho"?[1,15,4]:r=="meiji"?[1,45,4]:[0,0,0]:m=="minute"?[0,59,2]:m=="hour"?[0,23,2]:m=="date"?[1,31,2]:m=="week"?[1,53,2]:m=="month"?[1,12,2]:m=="year"?[0,2999,4]:[0,0,0];D>u?D=f:D<f&&(D=u),D=Number(D).zeroEmbed(l)}else if(["0","1","2","3","4","5","6","7","8","9"].includes(a)){let V=L|0,f=a,u=`${V}${f}`;if(I!=E&&(V=0,u="0"+f),m=="year"||m=="dateWareki"&&r=="year")Number(u)>1e4?D=f:D=u,(D|0)>1e3&&y++;else if(["hour","minute","date","week","month"].includes(m)||m=="dateWareki"&&r!="year"){let l=m=="dateWareki"?r=="reiwa"?100:r=="heisei"?31:r=="shouwa"?64:r=="taisho"?15:r=="meiji"?45:0:m=="minute"?59:m=="hour"?23:m=="date"?31:m=="week"?53:m=="month"?12:0;D=(u|0)>l?f:u,(Number(f)>Number(String(l)[0])||L=="0000".slice(0,String(l).length)&&(u!="0000".slice(0,String(l).length)||["minute","hour"].includes(m)&&I==E)||(u|0)>=ie(10,String(l).length-1))&&y++}m=="year"||m=="dateWareki"?D=(D|0).zeroEmbed(4):D=(D|0).zeroEmbed(2)}{let V=String(G).partReplace(U,String(D)),f=V.split(O).map(u=>u.replace(/(^\D|\D$)/,"").split(/\D+/).join(g=="clock"&&":"||"/").replace(/(^\D|\D$)/,""));if(g=="dateWareki"){let u=f[0].split(/\D/),[l,R,M]=u;u.length==3&&l&&(f=[[Number(l)-1+Number({year:1,reiwa:2019,heisei:1989,shouwa:1926,taisho:1912,meiji:1868}[r]),R,M].join("/")])}y=Math.max(y,0),y=Math.min(y,C),k(u=>w(s({},u),{dataValue:["dates","months"].includes(g)?f:f[0],formatValue:V,eventType:"update",eventID:W()})),o(u=>w(s({},u),{index:y,prevIndex:u.index}))}}}},le={picker:{launch:e=>{let r=e.sheetID||W(),p=e,{onValueUpdate:g,min:n,max:d,era:k,restrict:v,defaultValue:o}=p,a=K(p,["onValueUpdate","min","max","era","restrict","defaultValue"]),S=!1,i=null,t=null;Ie.open("middleCenter",w(s({sheetID:r,size:"S",padding:0,closeAtAroundClick:!0,closeAtParentBlur:!1,onClose:()=>{S&&g(i,t,!0)}},a),{content:h(ye.Center,{children:h(Ve,{restrict:v,min:n,max:d,era:k,defaultValue:o,sheetID:r,onValueUpdate:(T,x,E)=>{g(T,x,E),S=!E,i=T,t=x}})})}))},remove:e=>{ve.close(e)}}},_e={Shallow:e=>{let{rootStates:r,val_status:g}=e,n=fe(r);return h(H,{position:"absolute",top:0,left:0,right:0,height:0,overflow:"hidden",opacity:"trans",freeCSS:{zIndex:3,pointerEvents:"none"},children:h(ge.Description,w(s({className:r.className},n),{position:"absolute",width:1,freeCSS:w(s({},n.freeCSS),{color:"orange"}),children:h(H,{"data-input-value-shallow":g.componentId,children:"A"})}))})}},Ce=e=>{let ae=e,{tone:r,required:g,restrict:n="clock",componentId:d,era:k,form:v,name:o,min:a,max:S,className:i,enableFormSubmit:t,checkValidationAtFirst:p,onKeyDown:T,onValidate:x,onValidateDelay:E,onUpdateValue:I,onUpdateValidValue:q,onUserAction:G,value:C="",leftIndicator:y,rightIndicator:m,leftIcon:U,rightIcon:Q,freeCSS:L,wrapStyles:D}=ae,V=K(ae,["tone","required","restrict","componentId","era","form","name","min","max","className","enableFormSubmit","checkValidationAtFirst","onKeyDown","onValidate","onValidateDelay","onUpdateValue","onUpdateValidValue","onUserAction","value","leftIndicator","rightIndicator","leftIcon","rightIcon","freeCSS","wrapStyles"]),[f,u]=F(k),[l,R]=F({componentId:e.componentId||"",formatValue:"",dataValue:"",ranges:[],eventType:"init",eventID:W()}),[M,Z]=F({ok:!1,notice:[]}),[j,J]=F({active:!1,index:0,prevIndex:-1}),me={rootStates:e,val_status:l,set_status:R,val_validate:M,set_validate:Z,val_era:f,set_era:u,val_focus:j,set_focus:J};Y.CommonEffects({type:"time",states:e,val_status:l,set_status:R,val_validate:M,set_validate:Z,SystemValidation:P.SystemValidation,ExtraOverrideStates:()=>P.DataLeveling({restrict:n,value:C,era:f})}),z(()=>{R(c=>s(s({},c),P.DataLeveling({restrict:n,value:C,era:f})))},[]);const te=ue(!1);return z(()=>{if(te.current){R(b=>s(s({},b),P.DataLeveling({restrict:n,value:b.dataValue,era:f})));let c=B.get("refreshEra_"+l.componentId);c&&c.refreshEra(f)}else te.current=!0},[f]),B.update({[l.componentId]:{openPicker:c=>{e.disabled||le.picker.launch({parent:c,sheetID:"PickerTips-"+l.componentId,restrict:n,min:a,max:S,defaultValue:l.dataValue,era:f,onValueUpdate:(b,A,N)=>{N&&(R($=>w(s(s({},$),P.DataLeveling({restrict:n,value:b,era:A})),{eventType:"update",eventID:W()})),u(A))}})},resetEra:c=>{u(c),R(b=>w(s(s({},b),P.DataLeveling({restrict:n,value:"",era:f})),{eventType:"update",eventID:W()}))}}}),z(()=>{let{index:c,active:b}=j;if(b){c=Math.max(c,0),c=Math.min(c,l.ranges.length-1);let{from:A,length:N}=l.ranges[c],$=de("#"+e.id)[0];$&&$.setSelectionRange(A,A+N)}},[j]),se(be,{val_status:l,set_status:R,val_validate:M,states:e,children:[h(_e.Shallow,s({},me)),h(we,{componentId:e.componentId,fontSize:e.fontSize,required:e.required,label:e.label,isActive:!0}),ne.get().isTouchDevice?h(oe.Plain,w(s({"data-show-validation":Y.isShowValidation(M,l,!!p),"data-component-id":l.componentId,"data-input-origin":l.componentId,"data-disabled":e.disabled,className:i,freeCSS:{textAlign:"left"}},V),{children:l.formatValue,onClick:c=>{let b=B.get(l.componentId);b&&b.openPicker(`[data-input-origin="${l.componentId}"]`),c.stopPropagation()}})):h(H,s({htmlTag:"input",type:"text",inputMode:"numeric","data-show-validation":Y.isShowValidation(M,l,!!p),"data-input-origin":l.componentId,"data-disabled":e.disabled,value:l.formatValue,className:i,tabIndex:ne.get().isTouchDevice?-1:0,onKeyDown:c=>{P.KeyDownEvent({restrict:n,event:c,val_era:f,val_status:l,set_status:R,val_focus:j,set_focus:J}),T&&T(c),t&&Y.SubmitForm(c,v)},onKeyUp:c=>{c.key=="Tab"&&J(b=>w(s({},b),{active:!0}))},onClick:c=>{let b=c.target.selectionEnd,A=0;l.ranges.forEach((N,$)=>{let{from:re,length:pe,region:ce}=N;re<=b&&b<=re+(ce||pe)&&(A=$)}),J(N=>w(s({},N),{active:!0,index:A})),c.preventDefault()},onChange:()=>{}},V))]})},_={Origin:e=>{let r=s({fontSize:"inherit",width:1},e),[g]=F(e.componentId||W());if(r.componentId=g,ee.is.nullish(r.rightIcon)){let n=(e.restrict||"").match(/clock/)?Se:Te;r.rightIcon=h(ke,{ssSphere:2,freeCSS:{pointerEvents:"all"},children:h(oe.Sub,{color:"cloud",border:"unset",ssSphere:2,fontColor:"theme",boxShadow:"0.normal",borderRadius:"3.tone.tertiary",flexCenter:!0,ssEffectsOnActive:"push",tabIndex:-1,id:"Picker-"+r.componentId,onClick:()=>{let d=B.get(r.componentId);d&&d.openPicker("#Picker-"+r.componentId)},children:h(he,{icon:n})})})}return h(De,{componentId:r.componentId,children:Ce,states:xe(r)})},Clock:e=>h(_.Origin,s({restrict:"clock",era:"clock"},e)),Date:e=>h(_.Origin,s({restrict:"date"},e)),Week:e=>h(_.Origin,s({restrict:"week"},e)),Month:e=>h(_.Origin,s({restrict:"month"},e)),Year:e=>h(_.Origin,s({restrict:"year"},e)),DateWareki:e=>{e=s({},e);let[r]=F(e.componentId||W());e.componentId=r;let v=e,{defaultEra:g="wareki"}=v,n=K(v,["defaultEra"]),[d,k]=F((()=>{let o="year";if(g=="wareki"&&(o="reiwa",e.value)){let[a,S,i]=e.value.split(/\D/);if(a&&S&&i){let t=Number(a);t>=2019?(t-=2019,o="reiwa"):t>=1989?(t-=1989,o="heisei"):t>=1926?(t-=1926,o="shouwa"):t>=1912?(t-=1912,o="taisho"):t>=1868&&(t-=1868,o="meiji"),t+=1}}return o})());return z(()=>{B.set({["refreshEra_"+r]:{refreshEra:o=>{k(o)}}})},[]),h(_.Origin,w(s({restrict:"dateWareki",leftIndicator:h(Ee,{label:"\u5143\u53F7",emptySelect:!1,value:d,tone:e.tone||"border",override:"force",flexCenter:!0,borderTopRightRadius:"2/3",borderBottomRightRadius:"2/3",height:1,freeCSS:{whiteSpace:"nowrap"},options:[{value:"year",label:"\u897F\u66A6"},{value:"reiwa",label:"\u4EE4\u548C"},{value:"heisei",label:"\u5E73\u6210"},{value:"shouwa",label:"\u662D\u548C"},{value:"taisho",label:"\u5927\u6B63"},{value:"meiji",label:"\u660E\u6CBB"}],onUpdateValidValue:o=>{k(o);let a=B.get(e.componentId);a&&a.resetEra&&a.resetEra(o)}})},n),{era:d}))},Periods:{Date:e=>h(_.Origin,s({restrict:"dates"},e)),Month:e=>h(_.Origin,s({restrict:"months"},e))},fn:le};export{_ as Time,_ as default};
|
package/dist/fn/Sheet.d.ts
CHANGED
|
@@ -34,8 +34,8 @@ declare namespace Sheet {
|
|
|
34
34
|
overwrap?: boolean;
|
|
35
35
|
hold_state?: boolean;
|
|
36
36
|
bodyScrolls?: number;
|
|
37
|
-
|
|
38
|
-
|
|
37
|
+
onOpen?(): void;
|
|
38
|
+
onClose?(): void;
|
|
39
39
|
} & StyleTags.BasicElement & CloseOptions;
|
|
40
40
|
type Input = UniInput & (Input.Custom | Input.Bottom);
|
|
41
41
|
type TypesInput = {
|
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 A}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 re}from"../mols";import{Button as ne}from"./Button";import he from"./Input";import{SheetClasses as m}from"../@styles/componentClasses";import ce from"./Effect";const T={currentIndex:0,openQueue:{},getSessionStates:()=>{let t=A.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 A.set({[l]:a}),G(()=>{let f="Sheet-"+X.get().sessionUID;A.set({[f]:{add:(s,n)=>{let i=A.get(f);if(!i)return;let o=T.getNewSheetStates(s);if(T.openQueue[o.sheetID])return;if(T.openQueue[o.sheetID]=!0,n!="inherit"&&(o.isOpen=n!=null?n:!0),!!i.find(o.sheetID)){e(C=>{let I=[...C],x=I.findIndex(N=>N.sheetID==o.sheetID);return x==-1||(I[x]=o),I}),delete T.openQueue[o.sheetID];return}e(C=>[o,...C])},find:s=>{let n=T.getSessionStates();if(!n)return null;let{val_sheets:i}=n;return i.find(o=>o.sheetID==s)}}}),c(X.get().appRoot).removeEvent(["SheetEvent.keyUp","SheetEvent.Click"]).addEvent({eventType:"keyup",eventID:"SheetEvent.keyUp",callback:function(s){let{key:n,metaKey:i}=s;if(n=="Escape"||n==","&&i){let o=T.getSessionStates();if(!o)return;let{val_sheets:v}=o,C=v.filter(x=>x.isOpen);if(!C.length)return;let I=C.reduce((x,N)=>x.created_at.value>N.created_at.value?x:N);E.close(I.sheetID,n)}}}).addEvent({eventType:"click",eventID:"SheetEvent.Click",callback:function(s){let n=T.getSessionStates();if(!n)return;let{val_sheets:i}=n,o=s.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 x=K(I)[0];I!==o&&x!==o&&(c(x).find(o).length||E.close(C.sheetID))})}})},[]),h(k,{className:["AMOTIFY_be",m("Wrapper")].join(" "),children:t.map(f=>h(j.Core,w(g({},a),{val_sheet:f,patch_sheet:s=>{e(n=>{let i=[...n],o=i.findIndex(v=>v.sheetID==f.sheetID);return o==-1||(i[o]=g(g({},i[o]),s)),i})},delete_sheet:()=>{e(s=>{let n=[...s],i=n.findIndex(o=>o.sheetID==f.sheetID);return i==-1||n.splice(i,1),n})}}),f.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,f]=L(T.currentIndex+2),[s]=L(Z()),n=e.type!="custom"&&!e.overwrap;G(()=>{T.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})}})}),A.set({[e.sheetID]:{resize:o=>{if(e.type=="drawer.bottom"){let v=A.get(s);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("#"+s);if(e.isOpen){e.hold_state&&f(T.currentIndex+1),o.await(10).removeClass(m("Hide")).await(10).addClass(m("Open")).callback(()=>{delete T.openQueue[e.sheetID],e.openAfter&&e.openAfter()});return}o.await(10).removeClass(m("Open")).await(251).addClass(m("Hide")).callback(()=>{if(e.closeAfter&&e.closeAfter(),n&&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_"+n)].join(" "),width:1,ssAbsoluteCovered:!0,freeCSS:{zIndex:l},id:s,children:V(oe,{className:m("Content"),gap:0,height:"viewHeight",overflow:"auto",transition:"middle",children:[!!n&&h(j.TapSensor,{sheetID:e.sheetID,delegateAroundClick:e.closeAtAroundClick}),h(i,g({componentId:s},e))]})},s)},Types:{Normal:t=>{let R=t,{sheetID:e,sheetGroups:a,bodyScrolls:l,content:f,className:s="",type:n,size:i="R",freeCSS:o,openAfter:v,closeAfter:C,closeAtAroundClick:I,closeAtEscapeKeyDown:x,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","openAfter","closeAfter","closeAtAroundClick","closeAtEscapeKeyDown","closeAtPageTransit","closeAtParentBlur","closeAtSwipeDown","hold_state","overwrap","isOpen","backgroundEffect"]),D={},y=[];return n.match(/top/)?(y.push("top"),D.marginBottom="auto"):n.match(/middle/)?(y.push("center"),D.marginTop="auto",D.marginBottom="auto"):n.match(/bottom/)&&(y.push("bottom"),D.marginTop="auto"),n.match(/left/i)?(y.push("left"),D.marginRight="auto"):n.match(/center/i)?(y.push("center"),D.marginLeft="auto",D.marginRight="auto"):n.match(/right/i)&&(y.push("right"),D.marginLeft="auto"),h(k,w(g(g({className:[m("BB"),s].join(" "),padding:1,transition:"long",opacity:"trans"},M),D),{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(f)?h(f,{}):f}))},Edge:t=>{let M=t,{sheetID:e,sheetGroups:a,bodyScrolls:l,type:f,content:s,className:n="",size:i="R",openAfter:o,closeAfter:v,closeAtAroundClick:C,closeAtEscapeKeyDown:I,closeAtPageTransit:x,closeAtParentBlur:N,closeAtSwipeDown:J,hold_state:Y,overwrap:q,isOpen:ee,backgroundEffect:te}=M,U=H(M,["sheetID","sheetGroups","bodyScrolls","type","content","className","size","openAfter","closeAfter","closeAtAroundClick","closeAtEscapeKeyDown","closeAtPageTransit","closeAtParentBlur","closeAtSwipeDown","hold_state","overwrap","isOpen","backgroundEffect"]);return h(k,w(g(w(g({className:[m("BB"),n].join(" ")},f=="drawer.right"?{marginLeft:"auto"}:f=="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(s)?h(s,{}):s}))},Bottom:t=>{let F=t,{componentId:e,sheetID:a,sheetGroups:l,bodyScrolls:f,content:s,size:n="R",sizeChanged:i,baseStyles:o,openAfter:v,closeAfter:C,closeAtAroundClick:I,closeAtEscapeKeyDown:x,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","openAfter","closeAfter","closeAtAroundClick","closeAtEscapeKeyDown","closeAtPageTransit","closeAtParentBlur","closeAtSwipeDown","hold_state","overwrap","isOpen","backgroundEffect"]),D=c.getScreenSize(),y=[0,.2,.6,.95],R={ZERO:0,S:1,R:2,L:3,"2L":3,"3L":3,MAX:3},[W,$]=L(n),[b,_]=L({process:!1,processStart:0,originY:0,originValue:0,viewHeight:0,value:y[R[n]]});A.update({[e]:{val_edit:b,resize:S=>{let d=y[R[S]];_(u=>w(g({},u),{value:d})),$(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 d=c.getCursor(S),u=w(g({},b),{process:!0,processStart:new Date().getTime(),originY:d.y,originValue:b.value,viewHeight:c.getScreenSize().height});A.update({[e]:{val_edit:u}}),_(u)},Move:S=>{var O;let d=(O=A.get(e))==null?void 0:O.val_edit;if(!d.process)return;let z=(c.getCursor(S).y-d.originY)/d.viewHeight,r=d.originValue-z;if(r>.95)r=.95+(r-.95)*.5;else if(r<.2){let P=.2-r;P-=.1,r=.1+(.1-P)*.5}return _(w(g({},d),{value:r})),S.preventDefault(),S.stopPropagation(),!1},End:S=>{var r;let d=(r=A.get(e))==null?void 0:r.val_edit;if(!d.process)return;c(document).removeEvent(["BottomSheetMouseMove","BottomSheetTouchMove","BottomSheetMouseUp","BottomSheetTouchEnd"]);let u=0;if(d.value<.1||(d.value<.5?u=1:d.value>.75?u=3:u=2),new Date().getTime()-d.processStart<300){let O=c.getCursor(S).y-d.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({},d),{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:D.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(re.Separate,{padding:1,backgroundColor:"layer.1",position:"relative",freeCSS:{userSelect:"none"},children:[h(k,{ssSphere:2.5}),h(re.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(ne.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(s)?h(s,{}):s}))]}))})},Custom:t=>{let F=t,{sheetID:e,sheetGroups:a,bodyScrolls:l,event:f,parent:s,nextToCursor:n,gravityPoint:i=22,content:o,closeAtAroundClick:v,closeAtEscapeKeyDown:C,closeAtPageTransit:I,closeAtParentBlur:x,closeAtSwipeDown:N,hold_state:J,openAfter:Y,closeAfter:q,overwrap:ee,isOpen:te,resize:U,backgroundEffect:M}=F,D=H(F,["sheetID","sheetGroups","bodyScrolls","event","parent","nextToCursor","gravityPoint","content","closeAtAroundClick","closeAtEscapeKeyDown","closeAtPageTransit","closeAtParentBlur","closeAtSwipeDown","hold_state","openAfter","closeAfter","overwrap","isOpen","resize","backgroundEffect"]),[y]=L(Z()),R=c.is.element(s)||c.is.jmini(s)?c(s):K(s),W='[data-sheet-id="'+y+'"]',$='[data-sheet-content="'+y+'"]';i=i;let b=i%5||5,_=Math.ceil(i/5);const B={Init:()=>{if(n&&f){let p=c.getScreenSize(),se=c.getCursor(f);return{top:se.y-p.pageYOffset,left:se.x-p.pageXOffset}}let S={};if(!R||!R[0])return S;let{top:d,right:u,bottom:z,left:r,height:O,width:P}=R.position();return[1,2].includes(b)?S.left=r:b==3?S.left=r+P/2:[4,5].includes(b)&&(S.left=u),i<=10?S.top=d:i<=15?S.top=d+O/2:i<=25&&(S.top=z),S},Adjust:()=>{let S=K(W).position(),d=K($).position(),u=R.position(),z=c.getScreenSize(),r={};for(let p in d)r[p]=d[p];if(c.scope(()=>{if(t.nextToCursor)return;let p=0;_==1?p=u.top-r.bottom:_==2?p=u.top-r.top:_==3?p=u.top-r.top+(u.height-r.height)/2:_==4?p=u.bottom-r.bottom:_==5&&(p=u.bottom-r.top),r.top+=p,r.bottom+=p}),c.scope(()=>{if(t.nextToCursor)return;let p=0;b==1?p=u.left-r.right:b==2?p=u.left-r.left:b==3?p=u.left-r.left+(u.width-r.width)/2:b==4?p=u.right-r.right:b==5&&(p=u.right-r.left),r.left+=p,r.right+=p}),r.top<0){let p=-r.top;r.top+=p,r.bottom+=p}if(r.bottom>z.height){let p=r.bottom-z.height;r.top-=p,r.bottom-=p}if(r.left<0){let p=-r.left;r.left+=p,r.right+=p}if(r.right>z.width){let p=r.right-z.width;r.left-=p,r.right-=p}let O=r.top-d.top,P=r.left-d.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()}),A.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"},D),{freeCSS:g({maxWidth:"98vw"},D.freeCSS),children:c.is.function(o)?h(o,{}):o}))})}):null}},TapSensor:t=>h(k,{className:m("TapSensor"),children:h(ne.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 f=t,{isOpen:e,children:a}=f,l=H(f,["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(),s=t,{type:l}=s,f=H(s,["type"]);E.open(l||"topCenter",w(g({size:"MAX",backgroundColor:"trans",height:"viewHeight"},f),{sheetID:a,freeCSS:{maxWidth:"96vw",transformOrigin:"top"},content:()=>{let[n]=L(c.flatArray(e)),[i,o]=L(0),v=[];return n.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(re.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(ne.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:n[i]})},i)]})}}))},open:(t,e,a)=>{e.sheetID=(e.sheetID||"").replace(/\./g,"-"),e.type=t;let l=A.get("Sheet-"+X.get().sessionUID);l&&l.add(e,a)},resize:t=>{t.sheetID=(t.sheetID||"").replace(/\./g,"-");let e=A.get(t.sheetID);e&&e.resize&&e.resize(t.size)},customSheet:{reposition:t=>{let e=A.get("customSheet-"+t);e&&e.reposition&&e.reposition()}},close:function(t,e,a){let l=T.getSessionStates();if(!l)return;let{val_sheets:f}=l;t=t==null?void 0:t.replace(/\./g,"-");let s=f.find(i=>i.sheetID==t);if(!s||e=="Escape"&&!s.closeAtEscapeKeyDown)return;let n=A.get(s.sheetID);n&&n.close&&n.close(a)},closeGroup:t=>{let e=T.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=T.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{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};
|