amotify 0.2.80 → 0.2.81

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.
@@ -1,5 +1,5 @@
1
1
  /// <reference types="react" />
2
- import { ReactElement } from '../../@declares';
2
+ import { StyleTags, ReactElement } from '../../@declares';
3
3
  import { KeyValueDict } from 'jmini';
4
4
  import { InputTypes } from '.';
5
5
  declare namespace Autocomplete {
@@ -28,6 +28,7 @@ declare namespace Autocomplete {
28
28
  SelectorComponent?: {
29
29
  (p: SelectorComponentProps<T>): JSX.Element;
30
30
  };
31
+ SelectorStyles?: StyleTags.PropsNFreeCSS;
31
32
  SelectorGravityPoint?: number;
32
33
  };
33
34
  type Value<T = any> = T extends infer V ? V : string | number | boolean | KeyValueDict | void | null;
@@ -1 +1 @@
1
- import{b as v,c as D,d as Q,e as Y}from"../../chunk-C5N2D3ZX.js";import{Fragment as J,jsx as l,jsxs as W}from"react/jsx-runtime";import{useState as g,useEffect as V,useRef as ae}from"react";import s,{UUID as B}from"jmini";import{ExtractStyles as re,useStore as Z}from"../../@utils";import{Box as x,Span as ie,FAI as M,Column as se}from"../../atoms";import{Text as L,Row as U}from"../../mols";import{Button as ee}from"../Button";import{Loader as ue}from"../Loader";import{Sheet as z}from"../Sheet";import{OptionalInputWrapper as ce,BoxWrapper as pe,CoreEffects as P,DefaultBoxishStyles as de}from"./core";import{InputAutocompleteClasses as K}from"../../@styles/componentClasses";import{InputLabel as me}from"./Label";import{RightIcon as te}from".";function Se(t){let{value:e,states:n}=t,{required:o,options:d,min:c,max:S}=n;c=c||0,S=S||65535;let a=[],r=e.filter(m=>m!==null).length;return o&&(r||a.push({type:"invalid",label:"\u5FC5\u9808\u9805\u76EE\u3067\u3059"})),r<c&&a.push({type:"invalid",label:c+"\u500B\u4EE5\u4E0A\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044"}),r>S&&a.push({type:"invalid",label:S+"\u500B\u307E\u3067\u9078\u629E\u3067\u304D\u307E\u3059"}),{ok:!a.filter(({type:m})=>m=="invalid").length,notice:a}}const A={InitOptions:t=>{let e=[];return t.forEach(n=>{let{type:o,label:d,value:c,searchValue:S}=n,a=S||(s.is.string(d)?d:"")||(s.is.string(c)?c:"");e.push(D(v({},n),{searchValue:a,type:o||"selector",value:c}))}),e},FilterSelectableOptions:(t,e)=>{let n=t.val_options;if(e||(n=t.val_options.filter(o=>o.type!="label")),t.val_keyword){let o=t.val_keyword.toLower().replace(/ /g,"");n=n.filter(d=>(d.searchValue||"").toLower().replace(/ /g,"").includes(o))}return n}},R={Shallow:t=>{let{rootStates:e,val_status:n}=t,o=re(e);return l(x,{position:"absolute",top:0,left:0,right:0,height:0,overflow:"hidden",opacity:"trans",freeCSS:{zIndex:3,pointerEvents:"none"},children:l(L.Description,D(v({className:e.className},o),{position:"absolute",width:1,freeCSS:D(v({},o.freeCSS),{color:"orange"}),"data-id":"shallow_"+n.componentID,children:l(x,{"data-input-value-shallow":n.componentID,children:"A"})}))})},Button:t=>{let{rootStates:e,val_keyword:n,set_keyword:o,val_optionFocused:d,set_optionFocused:c,val_options:S,set_options:a,val_optionsDict:r,set_optionsDict:m,val_preventOpenSelectorOnFocus:i,set_preventOpenSelectorOnFocus:u,val_selectorOpen:f,set_selectorOpen:h,val_status:p,set_status:C,val_validate:b,set_validate:T}=t,$=e,{tone:w,required:I,form:F,className:k,multiSelect:X,enableFormSubmit:E,checkValidationAtFirst:q,onValidate:G,onUpdateValue:N,onUpdateValidValue:fe,value:ve="",options:ye,leftIndicator:he,rightIndicator:_e,leftIcon:ge,rightIcon:be,componentID:Ie,status_id:Oe,wrapStyles:De,emptySelect:Ce,SearchInput:we,SearchInputPlaceholder:Ve,SelectedComponent:Te,SelectorComponent:ke,SelectorGravityPoint:xe,DynamicOptionsOnSearch:Ae}=$,_=Q($,["tone","required","form","className","multiSelect","enableFormSubmit","checkValidationAtFirst","onValidate","onUpdateValue","onUpdateValidValue","value","options","leftIndicator","rightIndicator","leftIcon","rightIcon","componentID","status_id","wrapStyles","emptySelect","SearchInput","SearchInputPlaceholder","SelectedComponent","SelectorComponent","SelectorGravityPoint","DynamicOptionsOnSearch"]);V(()=>{var O;if(e.disabled||!f)return;let y=A.FilterSelectableOptions(t);c(((O=y[0])==null?void 0:O.value)||null)},[n]),V(()=>{p.eventType!="init"&&(e.max==p.dataValue.length?(h(!1),u(!0),setTimeout(()=>{let y=s('[data-input-origin="'+e.componentID+'"]');y&&y.focus()},10)):s("#SearchInput_"+e.componentID).focus())},[p.dataValue]);let H="autocomplete-sheet-"+e.componentID;return V(()=>{let y="autocomplete-click-"+e.componentID;if(f){let O=s('[data-input-origin="'+e.componentID+'"]');if(!O)return;s("#SearchInput_"+e.componentID).focus(),z.open({sheetID:H,type:"custom",parent:O[0],padding:["1/4",0],gravityPoint:e.SelectorGravityPoint||22,closeAtAroundClick:!1,content:l(R.Selector,v({},t))}),s(document).addEvent({eventID:y,eventType:"mousedown",callback:le=>{let j=s(le.target),ne=!!s(j).parent("."+K("Core")).length;s(j).parent("."+K("Selector")).length||ne||h(!1)}})}else s(document).removeEvent([y]),o(""),z.close(H)},[f]),V(()=>{if(e.disabled||!f)return;z.customSheet.reposition(H);let y=Z.get("refresh-autocomplete-selector-"+e.componentID);y&&y(t)},[S,p.dataValue,n,d]),l(J,{children:l(x,D(v({tabIndex:0},_),{"data-disabled":e.disabled,"data-show-validation":P.isShowValidation(b,p,!!q),"data-component-id":p.componentID,"data-input-origin":p.componentID,"data-focus":!!f,className:[k,K("Core")].join(" "),onFocus:y=>{if(_!=null&&_.onFocus&&(_==null||_.onFocus(y)),!e.disabled){if(i)return u(!1);h(!0),y.preventDefault()}},onClick:y=>{_!=null&&_.onClick&&(_==null||_.onClick(y)),!e.disabled&&h(!0)},onKeyDown:y=>{let{key:O}=y;E&&P.SubmitForm(y,F),!f&&(O==" "||O=="ArrowDown"||O=="ArrowUp"||O=="Enter")&&h(!0)},children:W(U.Left,{flexWrap:!0,gap:"1/3",freeCSS:{letterSpacing:".5px"},children:[l(R.Selected,v({},t)),l(ie,{width:0,overflow:"hidden",opacity:"trans",children:"A"}),l(R.SearchInput,v({},t))]})}))})},SearchInput:t=>{let{rootStates:e}=t;return e.disabled||!t.val_selectorOpen?null:l(x,{id:"SearchInput_"+e.componentID,placeholder:e.SearchInputPlaceholder||"\u691C\u7D22...",opacity:t.val_selectorOpen?"max":"trans",transition:"middle",flexSizing:0,htmlTag:"input",border:"unset",backgroundColor:"trans",value:t.val_keyword,freeCSS:{outline:"none"},onKeyDown:n=>{let{key:o,metaKey:d,ctrlKey:c}=n,S=d||c;o=="Escape"?(t.set_selectorOpen(!1),t.set_preventOpenSelectorOnFocus(!0),setTimeout(()=>{let a=s('[data-input-origin="'+e.componentID+'"]');a&&a.focus()},10)):o=="Tab"?t.set_selectorOpen(!1):o==" "?s.scope(()=>{t.val_selectorOpen||t.val_keyword||(n.preventDefault(),t.set_selectorOpen(!0))}):o=="Backspace"?s.scope(()=>{if(t.val_keyword)return;let a=[...t.val_status.dataValue];a.pop(),t.set_status(r=>D(v({},r),{dataValue:a,eventType:"update",eventID:B()}))}):o=="Enter"&&s.scope(()=>{if(!t.val_selectorOpen)return t.set_selectorOpen(!0);let a=t.val_options.find(m=>m.value==t.val_optionFocused);if(!a)return;let{value:r}=a;t.set_status(m=>{let i=[...m.dataValue];return s.scope(()=>{if(r===null)return i=[];m.dataValue.includes(r)?i=i.filter(f=>f!==r):e.multiSelect?i.push(r):i=[r]}),D(v({},m),{dataValue:i,eventType:"update",eventID:B()})}),t.set_keyword(""),t.set_preventDynamicSearchOnKeywordChange(!0)}),s.scope(()=>{if(!["ArrowDown","ArrowUp"].includes(o))return;if(n.preventDefault(),!t.val_selectorOpen)return t.set_selectorOpen(!0);let a=o=="ArrowDown"?1:-1,r=A.FilterSelectableOptions(t),m=r.length-1,i=null;s.scope(()=>{var f,h,p,C;let u=r.findIndex(b=>b.value==t.val_optionFocused);if(a==1){if(i=((f=r[0])==null?void 0:f.value)||null,S){i=r[m].value||null;return}if(u==-1||u==m)return;i=((h=r[u+1])==null?void 0:h.value)||null}else{if(i=r[m].value||null,S){i=((p=r[0])==null?void 0:p.value)||null;return}if(u==-1||u==0)return;i=((C=r[u-1])==null?void 0:C.value)||null}}),t.set_optionFocused(i)}),e.enableFormSubmit&&P.SubmitForm(n,t.rootStates.form)},onChange:n=>{let d=n.target.value;t.set_keyword(d)}},"searchInput")},Selector:t=>{let[e,n]=g(t),{rootStates:o}=e,[d,c]=g("idle"),[S,a]=g("idle");V(()=>{Z.set({["refresh-autocomplete-selector-"+o.componentID]:u=>{n(u)}})},[]),V(()=>{if(!e.val_selectorOpen||!o.DynamicOptionsOnSearch)return;if(e.val_preventDynamicSearchOnKeywordChange)return e.set_preventDynamicSearchOnKeywordChange(!1);if(d=="idle")return c("ok");a("fetch");let u="autocomplete-search-"+o.componentID;s.interval.cycle(u,300,()=>Y(void 0,null,function*(){let f=yield o.DynamicOptionsOnSearch(e.val_keyword);a("idle");let h=A.InitOptions(f||[]);e.set_options(h)}))},[e.val_keyword]);let r=[],m=A.FilterSelectableOptions(e,!0),i=A.FilterSelectableOptions(e);return m.forEach((u,f)=>{let{type:h,value:p}=u,C=e.val_optionFocused==p,b=e.val_status.dataValue.includes(p),T=o.SelectorComponent;r.push(l(T,{option:u,isFocused:C,isSelected:b,addCallback:()=>{e.set_status(w=>{let I=[...w.dataValue];return s.scope(()=>{if(p===null)return I=[];w.dataValue.includes(p)?I=I.filter(k=>k!==p):o.multiSelect?I.push(p):I=[p]}),D(v({},w),{dataValue:I,eventType:"update",eventID:B()})})}},s.Stringify(p)||B()))}),i.length||(r=[l(L.Supplement,{padding:[0,1],fontColor:"4.thin",children:"\u5019\u88DC\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093"},"no-selector-notice")]),S=="fetch"&&(r=[W(U.Left,{padding:1,fontColor:"3.blur",children:[l(ue.Theme.R,{showInitial:!0}),l(L.Supplement,{children:"Loading..."})]},"loader")]),l(z.Body,{className:K("Selector"),ssCardBox:!0,borderRadius:"3.tone.tertiary",boxShadow:"1.normal",freeCSS:{minWidth:12*18},children:l(se,{gap:0,padding:[1,0],children:r})})},Selected:t=>{let{rootStates:e,val_status:n,set_status:o,val_optionsDict:d}=t,c=[];return n.dataValue.forEach(S=>{let a=d[s.Stringify(S)];if(!a)return;let r=e.SelectedComponent,m=a.label;a.value===null&&(m=""),c.push(l(x,{className:K("SelectedCell"),children:l(r,{value:a.value,label:m,removeCallback:i=>{if(i.stopPropagation(),i.preventDefault(),e.disabled)return;let u=[...n.dataValue];u=u.filter(f=>f!==S),o(f=>D(v({},f),{dataValue:u,eventType:"update",eventID:B()}))}})},s.Stringify(a.value)))}),l(J,{children:c})},Core:t=>{let{value:e}=t,[n,o]=g(!1),[d,c]=g(!1),[S,a]=g(!1),[r,m]=g(""),[i,u]=g(t.options),[f,h]=g(t.value[0]||null),[p,C]=g({}),[b,T]=g(P.DefaultStatus(t.componentID,e)),[w,I]=g({ok:!1,notice:[]}),F=ae(!1);V(()=>{F.current?u(t.options):F.current=!0},[t.options]),V(()=>{if(!i.length)return;let q=[...i],G=v({},p);q.forEach(N=>{N.type!="label"&&(G[s.Stringify(N.value)]=N)}),C(G)},[i]);let k={rootStates:t,val_options:i,set_options:u,val_optionFocused:f,set_optionFocused:h,val_optionsDict:p,set_optionsDict:C,val_preventDynamicSearchOnKeywordChange:d,set_preventDynamicSearchOnKeywordChange:c,val_preventOpenSelectorOnFocus:n,set_preventOpenSelectorOnFocus:o,val_selectorOpen:S,set_selectorOpen:a,val_keyword:r,set_keyword:m,val_status:b,set_status:T,val_validate:w,set_validate:I},X=!!t.multiSelect;P.CommonEffects({type:X?"autocomplete.multi":"autocomplete.single",states:t,val_status:b,set_status:T,val_validate:w,set_validate:I,SystemValidation:Se});let E=b.dataValue.length&&b.dataValue[0]!==null;return E=E||S,W(pe,{val_status:b,set_status:T,val_validate:w,states:t,children:[l(me,{componentID:t.componentID,fontSize:t.fontSize,required:t.required,label:t.label,isActive:E}),l(R.Shallow,v({},k)),l(R.Button,v({},k))]})}},oe=t=>{let e=v({},t);return e=D(v({value:[],min:0,max:65535,multiSelect:!0,SearchInput:!0,emptySelect:!0,SelectorComponent:({option:n,isSelected:o,isFocused:d,addCallback:c})=>n.type=="selector"?l(ee.Sub.S,{color:"cloud",backgroundColor:"trans",borderRadius:0,fontColor:"2.normal",textAlign:"left",padding:["1/2",1.5],isActive:d,isActiveStyles:{backgroundColor:"cloud"},onClick:S=>{c()},children:W(U.Left,{gap:"1/2",children:[o&&l(M.Check,{fontColor:"theme"}),l(L.Supplement,{transition:"short",children:n.label})]})}):l(J,{children:n.label}),SelectedComponent:({value:n,label:o,removeCallback:d})=>W(U.Left,{ssCardBox:"cloud",backgroundColor:"layer.3",borderRadius:"2.tone.secondary",fontSize:"1.mini",padding:"1/2",gap:0,children:[l(x,{padding:[0,"1/4"],children:o}),l(ee.Sub,{color:"cloud",fontColor:"white",backgroundColor:"layer.6",isRounded:!0,padding:"1/4",onClick:d,children:l(M.Times,{ssSphere:1})})]})},e),{freeCSS:v({cursor:"pointer"},e.freeCSS)}),e.multiSelect||(e.min=0,e.max=1),e.options=e.options||[],e.emptySelect&&(e.options=[{value:null,label:l(L.Supplement,{fontColor:"4.thin",children:"\u9078\u629E\u3092\u89E3\u9664"})},...e.options]),e.value=s.flatArray(e.value||null),e.options=A.InitOptions(e.options),s.is.nullish(e.rightIcon)&&(e.rightIcon=l(te,{ssSphere:2,children:l(M.Search,{})}),e.disabled&&(e.rightIcon=l(te,{ssSphere:2,fontColor:"5.translucent",children:l(M.Ban,{})}))),e.rightIcon&&(e=v({paddingRight:3},e)),e.leftIcon&&(e=v({paddingLeft:3},e)),l(ce,{componentID:e.componentID,children:R.Core,states:de(e)})};export{oe as Autocomplete,oe as default};
1
+ import{b as S,c as b,d as Q,e as Y}from"../../chunk-C5N2D3ZX.js";import{Fragment as J,jsx as o,jsxs as E}from"react/jsx-runtime";import{useState as I,useEffect as R,useRef as le}from"react";import c,{UUID as L}from"jmini";import{ExtractStyles as ne}from"../../@utils";import{Box as k,Span as ae,FAI as U,Column as re}from"../../atoms";import{Text as K,Row as q}from"../../mols";import{Button as Z}from"../Button";import{Loader as ie}from"../Loader";import{Sheet as se}from"../Sheet";import{OptionalInputWrapper as ue,BoxWrapper as ce,CoreEffects as P,DefaultBoxishStyles as pe}from"./core";import{InputAutocompleteClasses as W}from"../../@styles/componentClasses";import{InputLabel as de}from"./Label";import{RightIcon as ee}from".";function Se(e){let{value:t,states:n}=e,{required:l,options:m,min:i,max:f}=n;i=i||0,f=f||65535;let a=[],r=t.filter(p=>p!==null).length;return l&&(r||a.push({type:"invalid",label:"\u5FC5\u9808\u9805\u76EE\u3067\u3059"})),r<i&&a.push({type:"invalid",label:i+"\u500B\u4EE5\u4E0A\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044"}),r>f&&a.push({type:"invalid",label:f+"\u500B\u307E\u3067\u9078\u629E\u3067\u304D\u307E\u3059"}),{ok:!a.filter(({type:p})=>p=="invalid").length,notice:a}}const A={InitOptions:e=>{let t=[];return e.forEach(n=>{let{type:l,label:m,value:i,searchValue:f}=n,a=f||(c.is.string(m)?m:"")||(c.is.string(i)?i:"");t.push(b(S({},n),{searchValue:a,type:l||"selector",value:i}))}),t},FilterSelectableOptions:(e,t)=>{let n=e.val_options;if(t||(n=e.val_options.filter(l=>l.type!="label")),e.val_keyword){let l=e.val_keyword.toLower().replace(/ /g,"");n=n.filter(m=>(m.searchValue||"").toLower().replace(/ /g,"").includes(l))}return n}},F={Shallow:e=>{let{rootStates:t,val_status:n}=e,l=ne(t);return o(k,{position:"absolute",top:0,left:0,right:0,height:0,overflow:"hidden",opacity:"trans",freeCSS:{zIndex:3,pointerEvents:"none"},children:o(K.Description,b(S({className:t.className},l),{position:"absolute",width:1,freeCSS:b(S({},l.freeCSS),{color:"orange"}),"data-id":"shallow_"+n.componentID,children:o(k,{"data-input-value-shallow":n.componentID,children:"A"})}))})},Button:e=>{let{rootStates:t,val_keyword:n,set_keyword:l,val_optionFocused:m,set_optionFocused:i,val_options:f,set_options:a,val_optionsDict:r,set_optionsDict:p,val_preventOpenSelectorOnFocus:s,set_preventOpenSelectorOnFocus:d,val_selectorOpen:u,set_selectorOpen:y,val_status:h,set_status:D,val_validate:_,set_validate:g}=e,$=t,{tone:C,required:w,form:T,className:x,multiSelect:N,enableFormSubmit:B,checkValidationAtFirst:z,onValidate:X,onUpdateValue:G,onUpdateValidValue:H,value:me="",options:fe,leftIndicator:ve,rightIndicator:ye,leftIcon:he,rightIcon:_e,componentID:ge,status_id:Oe,wrapStyles:be,emptySelect:Ie,SearchInput:De,SearchInputPlaceholder:Ce,SelectedComponent:we,SelectorComponent:Ve,SelectorStyles:Te,SelectorGravityPoint:xe,DynamicOptionsOnSearch:ke}=$,O=Q($,["tone","required","form","className","multiSelect","enableFormSubmit","checkValidationAtFirst","onValidate","onUpdateValue","onUpdateValidValue","value","options","leftIndicator","rightIndicator","leftIcon","rightIcon","componentID","status_id","wrapStyles","emptySelect","SearchInput","SearchInputPlaceholder","SelectedComponent","SelectorComponent","SelectorStyles","SelectorGravityPoint","DynamicOptionsOnSearch"]);return R(()=>{var V,M;if(t.disabled||!u)return;let v=A.FilterSelectableOptions(e);i((M=(V=v[0])==null?void 0:V.value)!=null?M:null)},[n]),R(()=>{h.eventType!="init"&&(t.max==h.dataValue.length?(y(!1),d(!0),setTimeout(()=>{let v=c('[data-input-origin="'+t.componentID+'"]');v&&v.focus()},10)):c("#SearchInput_"+t.componentID).focus())},[h.dataValue]),R(()=>{let v="autocomplete-click-"+t.componentID;if(u){if(!c('[data-input-origin="'+t.componentID+'"]'))return;c("#SearchInput_"+t.componentID).focus(),c(document).addEvent({eventID:v,eventType:"mousedown",callback:M=>{let j=c(M.target),oe=!!c(j).parent("."+W("Core")).length;c(j).parent("."+W("Selector")).length||oe||y(!1)}})}else c(document).removeEvent([v]),l("")},[u]),E(J,{children:[o(k,b(S({tabIndex:0},O),{"data-disabled":t.disabled,"data-show-validation":P.isShowValidation(_,h,!!z),"data-component-id":h.componentID,"data-input-origin":h.componentID,"data-focus":!!u,className:[x,W("Core")].join(" "),onFocus:v=>{if(O!=null&&O.onFocus&&(O==null||O.onFocus(v)),!t.disabled){if(s)return d(!1);y(!0),v.preventDefault()}},onClick:v=>{O!=null&&O.onClick&&(O==null||O.onClick(v)),!t.disabled&&y(!0)},onKeyDown:v=>{let{key:V}=v;B&&P.SubmitForm(v,T),!u&&(V==" "||V=="ArrowDown"||V=="ArrowUp"||V=="Enter")&&y(!0)},children:E(q.Left,{flexWrap:!0,gap:"1/3",freeCSS:{letterSpacing:".5px"},children:[o(F.Selected,S({},e)),o(ae,{width:0,overflow:"hidden",opacity:"trans",children:"A"}),o(F.SearchInput,S({},e))]})})),u&&o(F.Selector,S({},e))]})},SearchInput:e=>{let{rootStates:t}=e;return t.disabled||!e.val_selectorOpen?null:o(k,{id:"SearchInput_"+t.componentID,placeholder:t.SearchInputPlaceholder||"\u691C\u7D22...",opacity:e.val_selectorOpen?"max":"trans",transition:"middle",flexSizing:0,htmlTag:"input",border:"unset",backgroundColor:"trans",value:e.val_keyword,freeCSS:{outline:"none"},onKeyDown:n=>{let{key:l,metaKey:m,ctrlKey:i}=n,f=m||i;l=="Escape"?(e.set_selectorOpen(!1),e.set_preventOpenSelectorOnFocus(!0),setTimeout(()=>{let a=c('[data-input-origin="'+t.componentID+'"]');a&&a.focus()},10)):l=="Tab"?e.set_selectorOpen(!1):l==" "?c.scope(()=>{e.val_selectorOpen||e.val_keyword||(n.preventDefault(),e.set_selectorOpen(!0))}):l=="Backspace"?c.scope(()=>{if(e.val_keyword)return;let a=[...e.val_status.dataValue];a.pop(),e.set_status(r=>b(S({},r),{dataValue:a,eventType:"update",eventID:L()}))}):l=="Enter"&&c.scope(()=>{if(!e.val_selectorOpen)return e.set_selectorOpen(!0);let a=e.val_options.find(p=>p.value==e.val_optionFocused);if(!a)return;let{value:r}=a;e.set_status(p=>{let s=[...p.dataValue];return c.scope(()=>{if(r===null)return s=[];p.dataValue.includes(r)?s=s.filter(u=>u!==r):t.multiSelect?s.push(r):s=[r]}),b(S({},p),{dataValue:s,eventType:"update",eventID:L()})}),e.set_keyword(""),e.set_preventDynamicSearchOnKeywordChange(!0)}),c.scope(()=>{if(!["ArrowDown","ArrowUp"].includes(l))return;if(n.preventDefault(),!e.val_selectorOpen)return e.set_selectorOpen(!0);let a=l=="ArrowDown"?1:-1,r=A.FilterSelectableOptions(e),p=r.length-1,s=null;c.scope(()=>{var u,y,h,D,_,g,C,w,T,x;let d=r.findIndex(N=>N.value==e.val_optionFocused);if(d==-1&&(d=0),a==1){if(s=(y=(u=r[0])==null?void 0:u.value)!=null?y:null,f){s=(h=r[p].value)!=null?h:null;return}if(d==-1||d==p)return;s=(_=(D=r[d+1])==null?void 0:D.value)!=null?_:null}else{if(s=(g=r[p].value)!=null?g:null,f){s=(w=(C=r[0])==null?void 0:C.value)!=null?w:null;return}if(d==-1||d==0)return;s=(x=(T=r[d-1])==null?void 0:T.value)!=null?x:null}}),e.set_optionFocused(s)}),t.enableFormSubmit&&P.SubmitForm(n,e.rootStates.form)},onChange:n=>{let m=n.target.value;e.set_keyword(m)}},"searchInput")},Selector:e=>{var r;let[t,n]=I("idle"),[l,m]=I("idle");R(()=>{if(!e.val_selectorOpen||!e.rootStates.DynamicOptionsOnSearch)return;if(e.val_preventDynamicSearchOnKeywordChange)return e.set_preventDynamicSearchOnKeywordChange(!1);if(t=="idle")return n("ok");m("fetch");let p="autocomplete-search-"+e.rootStates.componentID;c.interval.cycle(p,300,()=>Y(void 0,null,function*(){let s=yield e.rootStates.DynamicOptionsOnSearch(e.val_keyword);m("idle");let d=A.InitOptions(s||[]);e.set_options(d)}))},[e.val_keyword]);let i=[],f=A.FilterSelectableOptions(e,!0),a=A.FilterSelectableOptions(e);return f.forEach((p,s)=>{let{type:d,value:u}=p,y=e.val_optionFocused==u,h=e.val_status.dataValue.includes(u),D=e.rootStates.SelectorComponent;i.push(o(D,{option:p,isFocused:y,isSelected:h,addCallback:()=>{e.set_status(_=>{let g=[..._.dataValue];return c.scope(()=>{if(u===null)return g=[];_.dataValue.includes(u)?g=g.filter(w=>w!==u):e.rootStates.multiSelect?g.push(u):g=[u]}),b(S({},_),{dataValue:g,eventType:"update",eventID:L()})})}},c.Stringify(u)||L()))}),a.length||(i=[o(K.Supplement,{padding:[0,1],fontColor:"4.thin",children:"\u5019\u88DC\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093"},"no-selector-notice")]),l=="fetch"&&(i=[E(q.Left,{padding:1,fontColor:"3.blur",children:[o(ie.Theme.R,{showInitial:!0}),o(K.Supplement,{children:"Loading..."})]},"loader")]),o(k,{position:"absolute",left:0,right:0,top:"100%",padding:"1/3",freeCSS:{zIndex:1e3},children:o(se.Body,b(S({className:W("Selector"),borderRadius:"2.tone.secondary",ssCardBox:!0,boxShadow:"1.normal",overflow:"auto"},e.rootStates.SelectorStyles),{freeCSS:S({maxHeight:12*24},(r=e.rootStates.SelectorStyles)==null?void 0:r.freeCSS),children:o(re,{gap:0,padding:[1,0],children:i})}))})},Selected:e=>{let{rootStates:t,val_status:n,set_status:l,val_optionsDict:m}=e,i=[];return n.dataValue.forEach(f=>{let a=m[c.Stringify(f)];if(!a)return;let r=t.SelectedComponent,p=a.label;a.value===null&&(p=""),i.push(o(k,{className:W("SelectedCell"),children:o(r,{value:a.value,label:p,removeCallback:s=>{if(s.stopPropagation(),s.preventDefault(),t.disabled)return;let d=[...n.dataValue];d=d.filter(u=>u!==f),l(u=>b(S({},u),{dataValue:d,eventType:"update",eventID:L()}))}})},c.Stringify(a.value)))}),o(J,{children:i})},Core:e=>{var z;let{value:t}=e,[n,l]=I(!1),[m,i]=I(!1),[f,a]=I(!1),[r,p]=I(""),[s,d]=I(e.options),[u,y]=I((z=e.value[0])!=null?z:null),[h,D]=I({}),[_,g]=I(P.DefaultStatus(e.componentID,t)),[C,w]=I({ok:!1,notice:[]}),T=le(!1);R(()=>{T.current?d(e.options):T.current=!0},[e.options]),R(()=>{if(!s.length)return;let X=[...s],G=S({},h);X.forEach(H=>{H.type!="label"&&(G[c.Stringify(H.value)]=H)}),D(G)},[s]);let x={rootStates:e,val_options:s,set_options:d,val_optionFocused:u,set_optionFocused:y,val_optionsDict:h,set_optionsDict:D,val_preventDynamicSearchOnKeywordChange:m,set_preventDynamicSearchOnKeywordChange:i,val_preventOpenSelectorOnFocus:n,set_preventOpenSelectorOnFocus:l,val_selectorOpen:f,set_selectorOpen:a,val_keyword:r,set_keyword:p,val_status:_,set_status:g,val_validate:C,set_validate:w},N=!!e.multiSelect;P.CommonEffects({type:N?"autocomplete.multi":"autocomplete.single",states:e,val_status:_,set_status:g,val_validate:C,set_validate:w,SystemValidation:Se});let B=_.dataValue.length&&_.dataValue[0]!==null;return B=B||f,E(ce,{val_status:_,set_status:g,val_validate:C,states:e,children:[o(de,{componentID:e.componentID,fontSize:e.fontSize,required:e.required,label:e.label,isActive:B}),o(F.Shallow,S({},x)),o(F.Button,S({},x))]})}},te=e=>{var n;let t=S({},e);return t=b(S({value:[],min:0,max:65535,multiSelect:!0,SearchInput:!0,emptySelect:!0,SelectorComponent:({option:l,isSelected:m,isFocused:i,addCallback:f})=>l.type=="selector"?o(Z.Sub.S,{color:"cloud",backgroundColor:"trans",borderRadius:0,fontColor:"2.normal",textAlign:"left",padding:["1/2",1.5],isActive:i,isActiveStyles:{backgroundColor:"cloud"},onClick:a=>{f()},children:E(q.Left,{gap:"1/2",children:[m&&o(U.Check,{fontColor:"theme"}),o(K.Supplement,{transition:"short",children:l.label})]})}):o(J,{children:l.label}),SelectedComponent:({value:l,label:m,removeCallback:i})=>E(q.Left,{ssCardBox:"cloud",borderRadius:"2.tone.secondary",fontSize:"1.mini",padding:"1/2",gap:0,children:[o(k,{padding:[0,"1/4"],children:m}),o(Z.Sub,{flexSizing:"none",color:"cloud",fontColor:"white",backgroundColor:"layer.5",isRounded:!0,padding:"1/4",onClick:i,freeCSS:{lineHeight:1,aspectRatio:"1/1"},children:o(U.Times,{ssSphere:1})})]})},t),{freeCSS:S({cursor:"pointer"},t.freeCSS)}),t.multiSelect||(t.min=0,t.max=1),t.options=t.options||[],t.emptySelect&&(t.options=[{value:null,label:o(K.Supplement,{fontColor:"4.thin",children:"\u9078\u629E\u3092\u89E3\u9664"})},...t.options]),t.value=c.flatArray((n=t.value)!=null?n:null),t.options=A.InitOptions(t.options),c.is.nullish(t.rightIcon)&&(t.rightIcon=o(ee,{ssSphere:2,children:o(U.Search,{})}),t.disabled&&(t.rightIcon=o(ee,{ssSphere:2,fontColor:"5.translucent",children:o(U.Ban,{})}))),t.rightIcon&&(t=S({paddingRight:3},t)),t.leftIcon&&(t=S({paddingLeft:3},t)),o(ue,{componentID:t.componentID,children:F.Core,states:pe(t)})};export{te as Autocomplete,te as default};
@@ -1 +1 @@
1
- import{b as a,c as u}from"../../chunk-C5N2D3ZX.js";import{jsx as b,jsxs as x}from"react/jsx-runtime";import{useState as c,useEffect as S}from"react";import n from"jmini";import{Box as d,Span as g}from"../../atoms";import{Row as h}from"../../mols";const A=t=>{if(!t.label)return null;let[r,s]=c({});return S(()=>{let f=n('[data-input-origin="'+t.componentID+'"]'),e=n('[data-input-label="'+t.componentID+'"]'),p=n('[data-input-value-shallow="'+t.componentID+'"]');if(!f[0]||!e[0]||!p[0])return;let i=f.position(),l=p.position();if(t.isActive){let o=l.left-i.left;s({opacity:"max",freeCSS:{backgroundColor:"hsla(var(--color-layer1-hsl), .4)",backdropFilter:"blur(2px)",WebkitBackdropFilter:"blur(2px)",lineHeight:1,fontSize:"12px",transform:`translate(${o}px,-6px)`}})}else{let o=l.left-i.left,m=l.top-i.top;s({fontSize:t.fontSize||"inherit",opacity:"middle",freeCSS:{lineHeight:"inherit",transform:`translate(${o}px,${m}px)`,backgroundColor:"transparent"}})}e.getAttribute("data-label-init")=="true"&&e.setAttribute("data-label-init","false").await(10).css({transition:"var(--animation-time2)"})},[t.isActive]),b(d,u(a({htmlTag:"label","data-input-label":t.componentID,"data-label-init":"true",position:"absolute",left:0,top:0,fontColor:"3.blur",backgroundColor:"trans",borderRadius:"1/3",padding:[0,"1/4"],opacity:"min"},r),{freeCSS:a({zIndex:2,pointerEvents:"none",lineHeight:"inherit"},r.freeCSS),children:x(h.Left,{gap:"1/3",children:[t.label,t.required&&b(g,{fontColor:"nega",children:" * "})]})}))};export{A as InputLabel};
1
+ import{b as n,c as m}from"../../chunk-C5N2D3ZX.js";import{jsx as c,jsxs as y}from"react/jsx-runtime";import{useState as b,useEffect as S}from"react";import r from"jmini";import{Box as d,Span as g}from"../../atoms";import{Row as h}from"../../mols";const A=t=>{if(!t.label)return null;let[s,f]=b({});return S(()=>{let u=r('[data-input-origin="'+t.componentID+'"]'),i=r('[data-input-label="'+t.componentID+'"]'),p=r('[data-input-value-shallow="'+t.componentID+'"]');if(!u[0]||!i[0]||!p[0])return;let l=u.position(),e=p.position();if(t.isActive){let o=e.left-l.left,a=16/e.height;f({opacity:"max",backgroundColor:"layer.1",freeCSS:{transform:`scale(${a}) translate(${o}px,-8px)`}})}else{let o=e.left-l.left,a=e.top-l.top;f({fontSize:t.fontSize||"inherit",opacity:"middle",backgroundColor:"trans",freeCSS:{lineHeight:"inherit",transform:`scale(1) translate(${o}px,${a}px)`}})}i.getAttribute("data-label-init")=="true"&&i.setAttribute("data-label-init","false").await(10).css({transition:".25s"})},[t.isActive]),c(d,m(n({htmlTag:"label","data-input-label":t.componentID,"data-label-init":"true",position:"absolute",left:0,top:0,fontColor:"3.blur",backgroundColor:"trans",borderRadius:"1/3",padding:[0,"1/4"],opacity:"min"},s),{freeCSS:n({zIndex:2,transformOrigin:"top left",pointerEvents:"none",lineHeight:"inherit"},s.freeCSS),children:y(h.Left,{gap:"1/3",children:[t.label,t.required&&c(g,{fontColor:"nega",children:" * "})]})}))};export{A as InputLabel};
@@ -1 +1 @@
1
- import{b as e,c as n,d as C}from"../../chunk-C5N2D3ZX.js";import{jsx as r}from"react/jsx-runtime";import{UUID as x}from"jmini";import{useState as a}from"react";import{Radio as w}from"./List";import{InputSegmentedClasses as u}from"../../@styles/componentClasses";const E=t=>{let m=t,{__sys_segmented_type:o,tone:R,value:d,options:S,onUpdateValue:h,onUpdateValidValue:p,enableFormSubmit:B,checkValidationAtFirst:M,cellStyles:g,cellClassName:_,cellCheckedClassName:b,cellCheckedStyles:f,freeCSS:k,wrapStyles:J}=m,I=C(m,["__sys_segmented_type","tone","value","options","onUpdateValue","onUpdateValidValue","enableFormSubmit","checkValidationAtFirst","cellStyles","cellClassName","cellCheckedClassName","cellCheckedStyles","freeCSS","wrapStyles"]),[T]=a(x()),[i,V]=a(d),[v,c]=a(i);return i!=d&&(V(d),c(d)),r(w,n(e({options:S,value:v,componentID:T,icon:!1,flexWrap:!1,borderRadius:"2.tone.secondary",position:"relative"},I),{freeCSS:e({whiteSpace:"nowrap"},k),cellStyles:e({flexCenter:!0,ssEffectsOnActive:"push"},g),cellCheckedStyles:e({},f),cellClassName:[_,u("Label"),u("Tone_"+o.replace(/\./ig,""))].join(" "),cellCheckedClassName:[b,u("Checked")].join(" "),tone:"custom",onUpdateValue:h,onUpdateValidValue:y=>{p&&p(y),o=="bottomline"&&c(y.value)}}))},s=t=>{let{__sys_segmented_type:o}=t;return o=o||"plain",o=="plain"&&(t=n(e({padding:"1/3",gap:"1/3",ssCardBox:!0,isRounded:!0},t),{cellStyles:e({isRounded:!0,padding:["1/2","3/4"],borderRadius:"inherit",position:"relative"},t.cellStyles),cellCheckedStyles:e({backgroundColor:"theme",boxShadow:"1.normal",fontColor:"white"},t.cellCheckedStyles)})),r(E,e({__sys_segmented_type:"plain"},t))},l=s;l.Cloud=t=>{let o=n(e({__sys_segmented_type:"cloud",padding:"1/3",gap:"1/3",backgroundColor:"cloud"},t),{cellStyles:e({padding:"3/4",borderRadius:"inherit",position:"relative"},t.cellStyles),cellCheckedStyles:e({boxShadow:"1.normal",backgroundColor:"theme",fontColor:"white"},t.cellCheckedStyles)});return r(s,e({},o))},l.CloudTheme=t=>{let o=e({backgroundColor:"theme.opa.few",fontColor:"theme",__sys_segmented_type:"cloud.theme"},t);return r(l.Cloud,e({},o))},l.CloudMono=t=>{let o=n(e({fontColor:"3.blur",__sys_segmented_type:"cloud.mono"},t),{cellCheckedStyles:e({backgroundColor:"layer.1",fontColor:"1.clear"},t.cellCheckedStyles)});return r(l.Cloud,e({},o))},l.Border=t=>{let o=n(e({backgroundColor:"layer.1",border:"2.normal",overflow:"hidden",gap:0,fontColor:"3.blur",ssLastChildLossBorder:"right",boxShadow:"0.min",__sys_segmented_type:"border"},t),{cellStyles:e({padding:["3/4",1],borderRadius:0,borderRight:"2.normal"},t.cellStyles),cellCheckedStyles:e({backgroundColor:"theme.opa.few",fontColor:"theme"},t.cellCheckedStyles)});return r(s,e({},o))},l.BorderVivid=t=>{let o=n(e({border:!0,borderColor:"theme",__sys_segmented_type:"border.vivid"},t),{cellStyles:e({borderRight:!0,borderColor:"theme"},t.cellStyles),cellCheckedStyles:e({backgroundColor:"theme",fontColor:"white"},t.cellCheckedStyles)});return r(l.Border,e({},o))},l.Bottomline=t=>{let o=n(e({__sys_segmented_type:"bottomline",gap:0,fontColor:"3.blur"},t),{cellStyles:e({ssEffectsOnActive:"ripple.theme",borderRadius:0,padding:1},t.cellStyles),cellCheckedStyles:e({fontColor:"theme"},t.cellCheckedStyles)});return r(s,e({},o))};export{l as Segmented,l as default};
1
+ import{b as e,c as n,d as C}from"../../chunk-C5N2D3ZX.js";import{jsx as r}from"react/jsx-runtime";import{UUID as x}from"jmini";import{useState as a}from"react";import{Radio as w}from"./List";import{InputSegmentedClasses as u}from"../../@styles/componentClasses";const E=t=>{let i=t,{__sys_segmented_type:o,tone:B,value:d,options:S,onUpdateValue:h,onUpdateValidValue:p,enableFormSubmit:M,checkValidationAtFirst:R,cellStyles:g,cellClassName:_,cellCheckedClassName:b,cellCheckedStyles:f,freeCSS:k,wrapStyles:J}=i,I=C(i,["__sys_segmented_type","tone","value","options","onUpdateValue","onUpdateValidValue","enableFormSubmit","checkValidationAtFirst","cellStyles","cellClassName","cellCheckedClassName","cellCheckedStyles","freeCSS","wrapStyles"]),[T]=a(x()),[c,V]=a(d),[v,m]=a(c);return c!=d&&(V(d),m(d)),r(w,n(e({options:S,value:v,componentID:T,icon:!1,flexWrap:!1,borderRadius:"2.tone.secondary",position:"relative"},I),{freeCSS:e({whiteSpace:"nowrap"},k),cellStyles:e({flexCenter:!0,ssEffectsOnActive:"push"},g),cellCheckedStyles:e({},f),cellClassName:[_,u("Label"),u("Tone_"+o.replace(/\./ig,""))].join(" "),cellCheckedClassName:[b,u("Checked")].join(" "),tone:"custom",onUpdateValue:h,onUpdateValidValue:y=>{p&&p(y),o=="bottomline"&&m(y.value)}}))},s=t=>{let{__sys_segmented_type:o}=t;return o=o||"plain",o=="plain"&&(t=n(e({padding:"1/3",gap:"1/3",ssCardBox:!0},t),{cellStyles:e({padding:["1/2","3/4"],borderRadius:"inherit",position:"relative"},t.cellStyles),cellCheckedStyles:e({backgroundColor:"theme",boxShadow:"1.normal",fontColor:"white"},t.cellCheckedStyles)})),r(E,e({__sys_segmented_type:"plain"},t))},l=s;l.Cloud=t=>{let o=n(e({__sys_segmented_type:"cloud",padding:"1/3",gap:"1/3",backgroundColor:"cloud"},t),{cellStyles:e({padding:"3/4",borderRadius:"inherit",position:"relative"},t.cellStyles),cellCheckedStyles:e({boxShadow:"1.normal",backgroundColor:"theme",fontColor:"white"},t.cellCheckedStyles)});return r(s,e({},o))},l.CloudTheme=t=>{let o=e({backgroundColor:"theme.opa.few",fontColor:"theme",__sys_segmented_type:"cloud.theme"},t);return r(l.Cloud,e({},o))},l.CloudMono=t=>{let o=n(e({fontColor:"3.blur",__sys_segmented_type:"cloud.mono"},t),{cellCheckedStyles:e({backgroundColor:"layer.1",fontColor:"1.clear"},t.cellCheckedStyles)});return r(l.Cloud,e({},o))},l.Border=t=>{let o=n(e({backgroundColor:"layer.1",border:"2.normal",overflow:"hidden",gap:0,fontColor:"3.blur",ssLastChildLossBorder:"right",boxShadow:"0.min",__sys_segmented_type:"border"},t),{cellStyles:e({padding:["3/4",1],borderRadius:0,borderRight:"2.normal"},t.cellStyles),cellCheckedStyles:e({backgroundColor:"theme.opa.few",fontColor:"theme"},t.cellCheckedStyles)});return r(s,e({},o))},l.BorderVivid=t=>{let o=n(e({border:!0,borderColor:"theme",__sys_segmented_type:"border.vivid"},t),{cellStyles:e({borderRight:!0,borderColor:"theme"},t.cellStyles),cellCheckedStyles:e({backgroundColor:"theme",fontColor:"white"},t.cellCheckedStyles)});return r(l.Border,e({},o))},l.Bottomline=t=>{let o=n(e({__sys_segmented_type:"bottomline",gap:0,fontColor:"3.blur"},t),{cellStyles:e({ssEffectsOnActive:"ripple.theme",borderRadius:0,padding:1},t.cellStyles),cellCheckedStyles:e({fontColor:"theme"},t.cellCheckedStyles)});return r(s,e({},o))};export{l as Segmented,l as default};
@@ -1 +1 @@
1
- import{b as s,c as m,d as M}from"../../chunk-C5N2D3ZX.js";import{Fragment as Q,jsx as l,jsxs as N}from"react/jsx-runtime";import S,{UUID as R}from"jmini";import{useState as _,useEffect as F}from"react";import{ExtractStyles as ae,useStore as $}from"../../@utils";import{Box as T,Span as oe,FAI as J,Column as ne}from"../../atoms";import{Text as w,Row as X}from"../../mols";import{Button as re}from"../Button";import{Sheet as P}from"../Sheet";import{OptionalInputWrapper as se,BoxWrapper as ie,CoreEffects as A,DefaultBoxishStyles as ue}from"./core";import{InputAutocompleteClasses as E}from"../../@styles/componentClasses";import{InputLabel as ce}from"./Label";import{RightIcon as pe}from".";function Se(t){let{value:e,states:a}=t,{required:r,options:c}=a,d=[];return r&&e===null&&d.push({type:"invalid",label:"\u5FC5\u9808\u9805\u76EE\u3067\u3059"}),{ok:!d.filter(({type:b})=>b=="invalid").length,notice:d}}const L={FilterSelectableOptions:(t,e)=>{let a=t.rootStates.options;return e||(a=a.filter(r=>r.type!="label")),a}},V={Shallow:t=>{let{rootStates:e,val_status:a}=t,r=ae(e);return l(T,{position:"absolute",top:0,left:0,right:0,height:0,overflow:"hidden",opacity:"trans",freeCSS:{zIndex:3,pointerEvents:"none"},children:l(w.Description,m(s({className:e.className},r),{position:"absolute",width:1,freeCSS:m(s({},r.freeCSS),{color:"orange"}),children:l(T,{"data-input-value-shallow":a.componentID,children:"A"})}))})},Button:t=>{let{rootStates:e,val_preventOpenSelectorOnFocus:a,set_preventOpenSelectorOnFocus:r,val_optionFocused:c,set_optionFocused:d,val_validate:b,set_validate:y,val_status:v,set_status:g,val_selectorOpen:i,set_selectorOpen:u}=t,q=e,{tone:C,required:Y,form:k,className:Z,label:de,isLabelActive:fe,placeholder:me,enableFormSubmit:ee,emptySelect:ve,checkValidationAtFirst:te,onValidate:ye,onUpdateValue:be,onUpdateValidValue:Ie,value:he="",options:ge,leftIndicator:Ce,rightIndicator:De,leftIcon:_e,rightIcon:Te,componentID:Ve,status_id:xe,wrapStyles:Oe,SelectedCellStyles:Re,SelectorCellStyles:Fe,SelectorStyles:we,SelectorGravityPoint:Ae}=q,o=M(q,["tone","required","form","className","label","isLabelActive","placeholder","enableFormSubmit","emptySelect","checkValidationAtFirst","onValidate","onUpdateValue","onUpdateValidValue","value","options","leftIndicator","rightIndicator","leftIcon","rightIcon","componentID","status_id","wrapStyles","SelectedCellStyles","SelectorCellStyles","SelectorStyles","SelectorGravityPoint"]),K="select-sheet-"+e.componentID;return F(()=>{if(e.disabled)return;let n="select-click-"+e.componentID;if(i){let f=S('[data-input-origin="'+e.componentID+'"]');if(!f)return;P.open({sheetID:K,type:"custom",parent:f[0],padding:["1/4",0],gravityPoint:e.SelectorGravityPoint||22,closeAtAroundClick:!1,content:l(V.Selector,s({},t))}),S(document).addEvent({eventID:n,eventType:"click",callback:B=>{let x=S(B.target),O=!!S(x).parent("."+E("Core")).length;S(x).parent("."+E("Selector")).length||O||u(!1)}})}else S(document).removeEvent([n]),P.close(K)},[i]),F(()=>{if(v.eventType=="init"||!i)return;let n=S('[data-input-origin="'+e.componentID+'"]');n&&n.focus()},[v.dataValue]),F(()=>{if(e.disabled||!i)return;let n=$.get("refresh-select-selector-"+e.componentID);n&&n(t)},[e.options,v.dataValue,c]),l(Q,{children:l(T,m(s({tabIndex:0},o),{"data-disabled":e.disabled,"data-show-validation":A.isShowValidation(b,v,!!te),"data-component-id":v.componentID,"data-input-origin":v.componentID,className:[Z,E("Core")].join(" "),onFocus:n=>{if(o!=null&&o.onFocus&&(o==null||o.onFocus(n)),!e.disabled){if(a)return r(!1);u(!0)}},onClick:n=>{o!=null&&o.onClick&&(o==null||o.onClick(n)),!e.disabled&&u(!0)},onKeyDown:n=>{let{key:f,metaKey:B,ctrlKey:x}=n,O=B||x;if(o!=null&&o.onKeyDown&&(o==null||o.onKeyDown(n)),ee&&A.SubmitForm(n,k),!e.disabled){if(S.scope(()=>{if(!["ArrowDown","ArrowUp"].includes(f))return;if(n.preventDefault(),!i)return u(!0);let I=f=="ArrowDown"?1:-1,p=L.FilterSelectableOptions(t),W=p.length-1,h=null;S.scope(()=>{var U,G,z,H;let D=p.findIndex(le=>le.value==c);if(I==1){if(h=((U=p[0])==null?void 0:U.value)||null,O){h=p[W].value||null;return}if(D==-1||D==W)return;h=((G=p[D+1])==null?void 0:G.value)||null}else{if(h=p[W].value||null,O){h=((z=p[0])==null?void 0:z.value)||null;return}if(D==-1||D==0)return;h=((H=p[D-1])==null?void 0:H.value)||null}}),d(h)}),f=="Escape")u(!1);else if(f=="Tab")u(!1);else if(f=="Backspace")g(I=>m(s({},I),{dataValue:null,eventType:"update",eventID:R()}));else if(f==" ")n.preventDefault(),u(!0);else if(f=="Enter"){if(!i)return u(!0);n.preventDefault();let I=e.options.find(p=>p.value==c);if(!I)return;g(p=>m(s({},p),{dataValue:I.value,eventType:"update",eventID:R()})),u(!1)}}},children:N(X.Left,{flexWrap:!0,gap:"1/3",freeCSS:{letterSpacing:".5px"},children:[l(V.Placeholder,s({},t)),l(V.Selected,s({},t)),l(oe,{width:0,overflow:"hidden",opacity:"trans",children:"A"})]})}))})},Placeholder:t=>!t.rootStates.placeholder||t.val_status.dataValue!==null?null:l(T,{position:"absolute",opacity:"middle",fontColor:"3.blur",children:t.rootStates.placeholder||""}),Selector:t=>{let[e,a]=_(t),{rootStates:r}=e;F(()=>{$.set({["refresh-select-selector-"+r.componentID]:y=>{a(y)}})},[]);let c=[],d=L.FilterSelectableOptions(e,!0),b=L.FilterSelectableOptions(e);return d.forEach((y,v)=>{let{type:g,value:i}=y,u=e.val_optionFocused==i,C=e.val_status.dataValue===i;if(g=="selector"){c.push(l(re.Sub.S,{color:"cloud",backgroundColor:"trans",borderRadius:0,fontColor:"2.normal",textAlign:"left",padding:["1/2",1.5],isActive:C||u,isActiveStyles:u?{backgroundColor:"cloud"}:{backgroundColor:"theme.opa.few",fontColor:"theme"},onClick:Y=>{e.set_status(k=>m(s({},k),{dataValue:i,eventType:"update",eventID:R()})),e.set_selectorOpen(!1),e.set_preventOpenSelectorOnFocus(!0)},children:N(X.Left,{gap:"1/2",children:[C&&l(J.Check,{fontColor:"theme"}),l(w.Supplement,{transition:"short",children:y.label})]})},String(i)));return}c.push(l(T,{children:y.label},R()))}),b.length||(c=[l(w.Supplement,{padding:[0,1],fontColor:"4.thin",children:"\u5019\u88DC\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093"},"no-selector-notice")]),l(P.Body,{className:E("Selector"),ssCardBox:!0,borderRadius:"3.tone.tertiary",boxShadow:"1.normal",freeCSS:{minWidth:12*14},children:l(ne,{gap:0,padding:[1,0],children:c})})},Selected:t=>{let e=[];return t.val_status.dataValue!==null&&S.scope(()=>{let a=t.rootStates.options.find(r=>S.is.equal(r.value,t.val_status.dataValue));a&&e.push(l(T,m(s({},t.rootStates.SelectedCellStyles),{children:a.label}),String(a.value)))}),l(Q,{children:e})},Core:t=>{let{value:e}=t,[a,r]=_(A.DefaultStatus(t.componentID,e)),[c,d]=_(!1),[b,y]=_(!1),[v,g]=_(t.value||null),[i,u]=_({ok:!1,notice:[]}),C={rootStates:t,val_preventOpenSelectorOnFocus:c,set_preventOpenSelectorOnFocus:d,val_optionFocused:v,set_optionFocused:g,val_selectorOpen:b,set_selectorOpen:y,val_status:a,set_status:r,val_validate:i,set_validate:u};return A.CommonEffects({type:"select",states:t,val_status:a,set_status:r,val_validate:i,set_validate:u,SystemValidation:Se}),N(ie,{val_status:a,set_status:r,val_validate:i,states:t,children:[l(ce,{componentID:t.componentID,fontSize:t.fontSize,required:t.required,label:t.label,isActive:t.isLabelActive||a.dataValue!==null}),l(V.Shallow,s({},C)),l(V.Button,s({},C))]})}},j=t=>{let e=s({},t);return e=m(s({emptySelect:!0},e),{freeCSS:s({cursor:"pointer"},e.freeCSS)}),e.emptySelect&&(e.options=[{value:null,label:l(w.Supplement,{fontColor:"4.thin",children:"\u9078\u629E\u3092\u89E3\u9664"})},...e.options]),e.value=e.value||null,e.options.forEach((a,r)=>{let{type:c,value:d}=a;e.options[r]=m(s({},a),{value:d,type:c||"selector"})}),S.is.nullish(e.rightIcon)&&(e.rightIcon=l(pe,{ssSphere:2,children:l(J.AngleDown,{})})),l(se,{componentID:e.componentID,children:V.Core,states:ue(e)})};export{j as Select,j as default};
1
+ import{b as r,c as f,d as X}from"../../chunk-C5N2D3ZX.js";import{Fragment as ee,jsx as l,jsxs as k}from"react/jsx-runtime";import d,{UUID as R}from"jmini";import{useState as D,useEffect as j}from"react";import{ExtractStyles as re}from"../../@utils";import{Box as h,Span as se,FAI as Q,Column as ie}from"../../atoms";import{Text as F,Row as Y}from"../../mols";import{Button as ue}from"../Button";import{Sheet as ce}from"../Sheet";import{OptionalInputWrapper as pe,BoxWrapper as Se,CoreEffects as w,DefaultBoxishStyles as de}from"./core";import{InputAutocompleteClasses as E}from"../../@styles/componentClasses";import{InputLabel as fe}from"./Label";import{RightIcon as me}from".";function ve(e){let{value:t,states:a}=e,{required:o,options:m}=a,i=[];return o&&t===null&&i.push({type:"invalid",label:"\u5FC5\u9808\u9805\u76EE\u3067\u3059"}),{ok:!i.filter(({type:v})=>v=="invalid").length,notice:i}}const L={FilterSelectableOptions:(e,t)=>{let a=e.rootStates.options;return t||(a=a.filter(o=>o.type!="label")),a}},_={Shallow:e=>{let{rootStates:t,val_status:a}=e,o=re(t);return l(h,{position:"absolute",top:0,left:0,right:0,height:0,overflow:"hidden",opacity:"trans",freeCSS:{zIndex:3,pointerEvents:"none"},children:l(F.Description,f(r({className:t.className},o),{position:"absolute",width:1,freeCSS:f(r({},o.freeCSS),{color:"orange"}),children:l(h,{"data-input-value-shallow":a.componentID,children:"A"})}))})},Button:e=>{let{rootStates:t,val_preventOpenSelectorOnFocus:a,set_preventOpenSelectorOnFocus:o,val_optionFocused:m,set_optionFocused:i,val_validate:v,set_validate:T,val_status:p,set_status:b,val_selectorOpen:u,set_selectorOpen:c}=e,N=t,{tone:x,required:A,form:te,className:le,label:ye,isLabelActive:be,placeholder:Ie,enableFormSubmit:ae,emptySelect:ge,checkValidationAtFirst:oe,onValidate:he,onUpdateValue:Ce,onUpdateValidValue:_e,value:xe="",options:De,leftIndicator:Te,rightIndicator:Oe,leftIcon:Ve,rightIcon:Re,componentID:Fe,status_id:we,wrapStyles:Ee,SelectedCellStyles:ke,SelectorCellStyles:Ae,SelectorStyles:Be,SelectorGravityPoint:We}=N,n=X(N,["tone","required","form","className","label","isLabelActive","placeholder","enableFormSubmit","emptySelect","checkValidationAtFirst","onValidate","onUpdateValue","onUpdateValidValue","value","options","leftIndicator","rightIndicator","leftIcon","rightIcon","componentID","status_id","wrapStyles","SelectedCellStyles","SelectorCellStyles","SelectorStyles","SelectorGravityPoint"]);return j(()=>{if(t.disabled)return;let s="select-click-"+t.componentID;if(u){if(!d('[data-input-origin="'+t.componentID+'"]'))return;d(document).addEvent({eventID:s,eventType:"click",callback:B=>{let O=d(B.target),V=!!d(O).parent("."+E("Core")).length;d(O).parent("."+E("Selector")).length||V||c(!1)}})}else d(document).removeEvent([s])},[u]),j(()=>{if(p.eventType=="init"||!u)return;let s=d('[data-input-origin="'+t.componentID+'"]');s&&s.focus()},[p.dataValue]),k(ee,{children:[l(h,f(r({tabIndex:0},n),{"data-disabled":t.disabled,"data-show-validation":w.isShowValidation(v,p,!!oe),"data-component-id":p.componentID,"data-input-origin":p.componentID,className:[le,E("Core")].join(" "),onFocus:s=>{if(n!=null&&n.onFocus&&(n==null||n.onFocus(s)),!t.disabled){if(a)return o(!1);c(!0)}},onClick:s=>{n!=null&&n.onClick&&(n==null||n.onClick(s)),!t.disabled&&c(!0)},onKeyDown:s=>{let{key:y,metaKey:B,ctrlKey:O}=s,V=B||O;if(n!=null&&n.onKeyDown&&(n==null||n.onKeyDown(s)),ae&&w.SubmitForm(s,te),!t.disabled){if(d.scope(()=>{if(!["ArrowDown","ArrowUp"].includes(y))return;if(s.preventDefault(),!u)return c(!0);let I=y=="ArrowDown"?1:-1,S=L.FilterSelectableOptions(e),W=S.length-1,g=null;d.scope(()=>{var P,K,q,U,z,H,G,M,$,J;let C=S.findIndex(ne=>ne.value==m);if(I==1){if(g=(K=(P=S[0])==null?void 0:P.value)!=null?K:null,V){g=(q=S[W].value)!=null?q:null;return}if(C==-1||C==W)return;g=(z=(U=S[C+1])==null?void 0:U.value)!=null?z:null}else{if(g=(H=S[W].value)!=null?H:null,V){g=(M=(G=S[0])==null?void 0:G.value)!=null?M:null;return}if(C==-1||C==0)return;g=(J=($=S[C-1])==null?void 0:$.value)!=null?J:null}}),i(g)}),y=="Escape")c(!1);else if(y=="Tab")c(!1);else if(y=="Backspace")b(I=>f(r({},I),{dataValue:null,eventType:"update",eventID:R()}));else if(y==" ")s.preventDefault(),c(!0);else if(y=="Enter"){if(!u)return c(!0);s.preventDefault();let I=t.options.find(S=>S.value==m);if(!I)return;b(S=>f(r({},S),{dataValue:I.value,eventType:"update",eventID:R()})),c(!1)}}},children:k(Y.Left,{flexWrap:!0,gap:"1/3",freeCSS:{letterSpacing:".5px"},children:[l(_.Placeholder,r({},e)),l(_.Selected,r({},e)),l(se,{width:0,overflow:"hidden",opacity:"trans",children:"A"})]})})),u&&l(_.Selector,r({},e))]})},Placeholder:e=>!e.rootStates.placeholder||e.val_status.dataValue!==null?null:l(h,{position:"absolute",opacity:"middle",fontColor:"3.blur",children:e.rootStates.placeholder||""}),Selector:e=>{var m;let t=[],a=L.FilterSelectableOptions(e,!0),o=L.FilterSelectableOptions(e);return a.forEach((i,v)=>{let{type:T,value:p}=i,b=e.val_optionFocused==p,u=e.val_status.dataValue===p;if(T=="selector"){t.push(l(ue.Sub.S,{color:"cloud",backgroundColor:"trans",borderRadius:0,fontColor:"2.normal",textAlign:"left",padding:["1/2",1.5],isActive:u||b,isActiveStyles:b?{backgroundColor:"cloud"}:{backgroundColor:"theme.opa.few",fontColor:"theme"},onClick:c=>{e.set_status(x=>f(r({},x),{dataValue:p,eventType:"update",eventID:R()})),e.set_selectorOpen(!1),e.set_preventOpenSelectorOnFocus(!0)},children:k(Y.Left,{gap:"1/2",children:[u&&l(Q.Check,{fontColor:"theme"}),l(F.Supplement,{transition:"short",children:i.label})]})},String(p)));return}t.push(l(h,{children:i.label},R()))}),o.length||(t=[l(F.Supplement,{padding:[0,1],fontColor:"4.thin",children:"\u5019\u88DC\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093"},"no-selector-notice")]),l(h,{position:"absolute",left:0,right:0,top:"100%",padding:"1/3",freeCSS:{zIndex:1e3},children:l(ce.Body,f(r({className:E("Selector"),ssCardBox:!0,borderRadius:"2.tone.secondary",boxShadow:"1.normal",overflow:"auto"},e.rootStates.SelectorStyles),{freeCSS:r({maxHeight:12*24},(m=e.rootStates.SelectorStyles)==null?void 0:m.freeCSS),children:l(ie,{gap:0,padding:[1,0],children:t})}))})},Selected:e=>{let t=[];return e.val_status.dataValue!==null&&d.scope(()=>{let a=e.rootStates.options.find(o=>d.is.equal(o.value,e.val_status.dataValue));a&&t.push(l(h,f(r({},e.rootStates.SelectedCellStyles),{children:a.label}),String(a.value)))}),l(ee,{children:t})},Core:e=>{var A;let{value:t}=e,[a,o]=D(w.DefaultStatus(e.componentID,t)),[m,i]=D(!1),[v,T]=D(!1),[p,b]=D((A=e.value)!=null?A:null),[u,c]=D({ok:!1,notice:[]}),x={rootStates:e,val_preventOpenSelectorOnFocus:m,set_preventOpenSelectorOnFocus:i,val_optionFocused:p,set_optionFocused:b,val_selectorOpen:v,set_selectorOpen:T,val_status:a,set_status:o,val_validate:u,set_validate:c};return w.CommonEffects({type:"select",states:e,val_status:a,set_status:o,val_validate:u,set_validate:c,SystemValidation:ve}),k(Se,{val_status:a,set_status:o,val_validate:u,states:e,children:[l(fe,{componentID:e.componentID,fontSize:e.fontSize,required:e.required,label:e.label,isActive:e.isLabelActive||a.dataValue!==null}),l(_.Shallow,r({},x)),l(_.Button,r({},x))]})}},Z=e=>{var a;let t=r({},e);return t=f(r({emptySelect:!0},t),{freeCSS:r({cursor:"pointer"},t.freeCSS)}),t.emptySelect&&(t.options=[{value:null,label:l(F.Supplement,{fontColor:"4.thin",children:"\u9078\u629E\u3092\u89E3\u9664"})},...t.options]),t.value=(a=t.value)!=null?a:null,t.options.forEach((o,m)=>{let{type:i,value:v}=o;t.options[m]=f(r({},o),{value:v,type:i||"selector"})}),d.is.nullish(t.rightIcon)&&(t.rightIcon=l(me,{ssSphere:2,children:l(Q.AngleDown,{})})),l(pe,{componentID:t.componentID,children:_.Core,states:de(t)})};export{Z as Select,Z as default};
@@ -1 +1 @@
1
- import{b as h,c as x}from"../../../chunk-C5N2D3ZX.js";import{Fragment as q,jsx as a,jsxs as f}from"react/jsx-runtime";import{createElement as X}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 C,Flex as w,Grid as _,FAI as T,Column as V}from"../../../atoms";import{Row as N,Text as G}from"../../../mols";import{Button as k}from"../../Button";import $ from"../../Tooltips";import M from"../Select";import{Radio as j}from"../List";import{RightIcon as B}from"..";import{InputTimeClasses as y}from"../../../@styles/componentClasses";let E=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 L=i=>{let{restrict:e,era:d="year",defaultValue:o=""}=i;i=h({},i),i.tipsID=i.tipsID||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 p=x(h({},i),{val_value:r,set_value:m});return a(C,{backgroundColor:"layer.1",borderRadius:"2.tone.secondary",boxShadow:"1.remark",border:!0,overflow:"hidden",children:a(C,{overflow:"auto",className:y(e.toCapital()+"Base"),children:e=="clock"?a(g.Clock.index,h({},p)):e=="date"?a(g.Date.index,h({},p)):e=="week"?"":e=="month"?a(g.Month.index,h({},p)):e=="year"?a(g.Year.index,h({},p)):e=="dates"||e=="months"?"":e=="dateWareki"?a(g.DateWareki.index,h({},p)):a(q,{})})})},g={Clock:{index:i=>{let{min:e,max:d,onValueUpdate:o,tipsID:t,val_value:r,set_value:m}=i,[p,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(V,{padding:1,children:[f(w,{flexType:"row",flexWrap:!1,gap:1,className:y("Body"),children:[f(V,{className:y("DesignSide"),flexSizing:0,children:[a(C,{className:y("ClockUiBase"),padding:[1,"2/3"],flexCenter:!0,children:f(C,{className:y("ClockUi"),backgroundColor:"theme.opa.low",isRounded:!0,position:"relative",children:[a(C,{position:"absolute",backgroundColor:"theme",unitWidth:"1/12",className:[y("Needle"),y("hour")].join(" "),freeCSS:{transform:`rotate(${u*30+c/2}deg)`}}),a(C,{position:"absolute",backgroundColor:"theme",unitWidth:"1/12",className:[y("Needle"),y("minute")].join(" "),freeCSS:{transform:`rotate(${c*6}deg)`}})]})}),a(j,{icon:!0,value:[p],options:[{value:1,label:"AM"},{value:2,label:"PM"}],flexType:"col",gap:0,tabIndex:-1,onUpdateValidValue:({value:v})=>{let I=r.hour%12+(v==2?12:0);n(v),m({modifiedType:"update",hour:I,minutes:r.minutes})}}),a(C,{borderTop:!0,margin:[0,1]}),a(j,{icon:!0,value:[s],options:[{value:1,label:"/ 1\u5206"},{value:2,label:"/ 2\u5206"},{value:5,label:"/ 5\u5206"}],flexType:"col",gap:0,tabIndex:-1,onUpdateValidValue:({value:v})=>{l(v)}})]}),f(V,{children:[f(C,{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(V,{gap:0,overflow:"auto",padding:"2/3",borderRight:!0,freeCSS:{maxHeight:12*22},children:g.Clock.Hours({onClick:v=>{let R=v+(p==2?12:0);m({modifiedType:"update",hour:R,minutes:r.minutes})},min:e,max:d,ampm:p})}),a(V,{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,{tipsID: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(k.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(k.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,tipsID:t,val_value:r,set_value:m}=i,{year:p,month:n,date:s}=r;return f(V,{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:p,options:E(),fontSize:"1.mini",border:"1.thin",padding:["1/3","2/3"],paddingRight:1,onUpdateValidValue:({value:l})=>{m({modifiedType:"update",year:Number(l),month:n,date:s})},rightIcon:a(B,{ssSphere:2,right:"1/3",children:a(T.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,rightIcon:a(B,{ssSphere:2,right:"1/3",children:a(T.AngleDown,{})}),onUpdateValidValue:({value:l})=>{m({modifiedType:"update",year:p,month:Number(l),date:s})}})]}),a(g.Variables.ShiftButtons,{callback:l=>{let u=n+l,c=p;u<=0&&(c--,u=12),u>12&&(c++,u=1),m({modifiedType:"update",year:c,month:u,date:r.date})}})]}),a(C,{borderTop:!0}),a(C,{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,{tipsID:t,onValueUpdate:o})]})},MonthCalendar:i=>{let{min:e,max:d,year:o,month:t,current:r,callback:m}=i,p=S(),n=S([o,t.zeroEmbed(2),"01"].join("/")),s=n.getLastDayOfTheMonth(),l=S(n).addMonth(-1).getLastDayOfTheMonth().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(C,x(h({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(X(C,x(h({className:[y("CalendarDay"),y("Dummy")].join(" "),fontColor:"4.thin"},I),{key:b}),l-b));for(var b=1;b<=s.date;b++){let W=b,Y=o==p.year&&t==p.month&&b==p.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(k.Clear,x(h({className:[y("CalendarDay"),y("isToday_"+Y)].join(" ")},I),{fontColor:"1.clear",padding:0,flexCenter:!0,isRounded:!0,ssEffectsOnActive:"shrink",onClick:()=>{m([o,t,W])},tabIndex:-1,isLocked:P,children:b}),W))}for(var b=1;b<7-s.weekday;b++)R.push(a(C,x(h({className:[y("CalendarDay"),y("Dummy")].join(" "),fontColor:"4.thin"},I),{children:b}),b));return f(_,{gridCols:7,gap:"1/6",children:[u,c,v,R]})}},Month:{index:i=>{let{min:e,max:d,onValueUpdate:o,tipsID:t,val_value:r,set_value:m}=i,{year:p,month:n}=r;return f(V,{padding:1,children:[f(N.Separate,{gap:0,children:[a(N.Center,{verticalAlign:"bottom",gap:"2/3",children:a(M,{emptySelect:!1,value:p,options:E(),override:"force",border:"1.thin",padding:["1/3","2/3"],paddingRight:2,rightIcon:a(B,{ssSphere:2,right:"1/3",children:a(T.AngleDown,{})}),onUpdateValidValue:({value:s})=>{m({modifiedType:"update",year:Number(s),month:n})}})}),a(g.Variables.ShiftButtons,{callback:s=>{let l=Math.min(Math.max(p+s,1900),2100);m({modifiedType:"update",year:l,month:n})}})]}),a(C,{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,{tipsID: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,p=!1;{let s=Number(String([e,r.zeroEmbed(2)].join("/")).replace(/\D/ig,""));if(i.min&&Number(String(i.min).replace(/\D/ig,""))>s&&(p=!0),i.max){let l=Number(String(i.max).replace(/\D/ig,""));s>l&&(p=!0)}}let n=[y("Cell"),m?y("isThisMonth"):""].join(" ");t.push(f(k.Clear,{className:n,isLocked:p,fontColor:"2.normal",padding:["1/3",1],ssEffectsOnActive:"shrink",onClick:()=>{d([e,r])},children:[r," \u6708"]},e+"-"+r))}return a(_,{gridCols:4,gap:"2/3",children:t})}},Year:{index:i=>{let{min:e,max:d,onValueUpdate:o,tipsID:t,val_value:r,set_value:m}=i,{year:p}=r;return f(V,{padding:1,children:[a(M,{emptySelect:!1,paddingRight:1,fontSize:"1.mini",value:p||S().year,override:"force",options:E({min:e,max:d}),onUpdateValidValue:({value:n})=>{m({modifiedType:"update",year:Number(n)})}}),a(g.Variables.Footer,{tipsID:t,onValueUpdate:o,onSubmit:()=>{m({modifiedType:"update",year:Number(p||S().year)})}})]})}},DateWareki:{index:i=>{let{min:e,max:d,onValueUpdate:o,tipsID:t,val_value:r,set_value:m}=i,{era:p,year:n,month:s,date:l}=r,u={val_value:r,set_value:m};return f(C,{children:[f(N.Left,{borderBottom:!0,gap:0,verticalAlign:"unset",children:[a(g.DateWareki.EraSelect,h({},u)),a(C,{borderRight:!0}),a(g.DateWareki.Calendar,h({},u))]}),a(N.Right,{padding:1,children:a(g.Variables.Footer,{tipsID: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(V,{padding:1,gap:0,children:[a(k.Clear,x(h({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(k.Clear,x(h({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(k.Clear,x(h({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(k.Clear,x(h({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(k.Clear,x(h({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(k.Clear,x(h({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")for(let t=1900;t<2100;t++)o.unshift({value:t,label:t+"\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(V,{padding:1,children:[f(N.Separate,{children:[a(M,{emptySelect:!1,override:"force",border:"1.thin",padding:["1/3","2/3"],paddingRight:1,fontSize:"1.mini",rightIcon:a(B,{ssSphere:2,right:"1/3",children:a(T.AngleDown,{})}),options:o,value:e.year,onUpdateValidValue:({value:t})=>{d(r=>x(h({},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,fontSize:"1.mini",rightIcon:a(B,{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:({value:t})=>{d({modifiedType:"update",era:e.era,year:e.year,month:Number(t),date:1})}}),a(k.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(T.ChevronLeft,{})}),a(k.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(T.ChevronRight,{})})]})]}),a(g.DateWareki.MonthCell,h({},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.getFirstDayOfTheMonth().weekday,r=o.getLastDayOfTheMonth(),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).getFirstDayOfTheMonth().addDate(n-t);m.push(a(k.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 p=S();for(let n=1;n<=r.date;n++){let s=S(o).setDate(n),l=p.diff(s).dates==0;m.push(a(k.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(k.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(_,{gridCols:7,gap:"1/4",children:m})}},Variables:{Footer:i=>f(w,{flexWrap:!1,gap:1,flexChilds:"even",freeCSS:{whiteSpace:"nowrap"},children:[f(k.Sub.S,{tabIndex:-1,isRounded:!0,onClick:()=>{i.onValueUpdate("")},flexSizing:"none",children:[a(T.Times,{})," \u524A\u9664"]}),a(k.Prime.S,{tabIndex:-1,isRounded:!0,flexSizing:"auto",freeCSS:{minWidth:12*6},onClick:()=>{i.onSubmit&&i.onSubmit(),$.close(i.tipsID)},children:"\u6C7A\u5B9A"})]}),ShiftButtons:i=>f(w,{gap:"1/3",flexWrap:!1,children:[a(k.Clear,x(h({className:y("LeftButton"),tabIndex:-1,right:0},g.Variables.ShiftButtonStyles),{onClick:()=>{i.callback(-1)},children:a(T.ChevronLeft,{})})),a(k.Clear,x(h({className:y("RightButton"),tabIndex:-1,left:0},g.Variables.ShiftButtonStyles),{onClick:()=>{i.callback(1)},children:a(T.ChevronRight,{})}))]}),ShiftButtonStyles:{position:"relative",flexCenter:!0,ssSphere:2.5}}};export{L as Picker,L as default};
1
+ import{b as p,c as x}from"../../../chunk-C5N2D3ZX.js";import{Fragment as q,jsx as a,jsxs as f}from"react/jsx-runtime";import{createElement as X}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 T,Column as V}from"../../../atoms";import{Row as N,Text as G}from"../../../mols";import{Button as C}from"../../Button";import $ from"../../Sheet";import M from"../Select";import{Radio as j}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 L=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(q,{})})})},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(V,{padding:1,children:[f(w,{flexType:"row",flexWrap:!1,gap:1,className:y("Body"),children:[f(V,{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(j,{icon:!0,value:[h],options:[{value:1,label:"AM"},{value:2,label:"PM"}],flexType:"col",gap:0,tabIndex:-1,onUpdateValidValue:({value: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(j,{icon:!0,value:[s],options:[{value:1,label:"/ 1\u5206"},{value:2,label:"/ 2\u5206"},{value:5,label:"/ 5\u5206"}],flexType:"col",gap:0,tabIndex:-1,onUpdateValidValue:({value:v})=>{l(v)}})]}),f(V,{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(V,{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(V,{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(V,{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,SelectorStyles:{freeCSS:{minWidth:12*12}},onUpdateValidValue:({value:l})=>{m({modifiedType:"update",year:Number(l),month:n,date:s})},rightIcon:a(B,{ssSphere:2,right:"1/3",children:a(T.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,SelectorStyles:{freeCSS:{minWidth:12*8}},rightIcon:a(B,{ssSphere:2,right:"1/3",children:a(T.AngleDown,{})}),onUpdateValidValue:({value: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.getLastDayOfTheMonth(),l=S(n).addMonth(-1).getLastDayOfTheMonth().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(X(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(V,{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:2,SelectorStyles:{freeCSS:{minWidth:12*12}},rightIcon:a(B,{ssSphere:2,right:"1/3",children:a(T.AngleDown,{})}),onUpdateValidValue:({value: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(V,{padding:1,children:[a(M,{emptySelect:!1,paddingRight:1,fontSize:"1.mini",value:h||S().year,override:"force",SelectorStyles:{freeCSS:{minWidth:12*12}},options:_({min:e,max:d}),onUpdateValidValue:({value: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(V,{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(V,{padding:1,children:[f(N.Separate,{children:[a(M,{emptySelect:!1,override:"force",border:"1.thin",padding:["1/3","2/3"],paddingRight:1,fontSize:"1.mini",SelectorStyles:{freeCSS:{minWidth:12*12}},rightIcon:a(B,{ssSphere:2,right:"1/3",children:a(T.AngleDown,{})}),options:o,value:e.year,onUpdateValidValue:({value: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,fontSize:"1.mini",SelectorStyles:{freeCSS:{minWidth:12*9}},rightIcon:a(B,{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:({value: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(T.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(T.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.getFirstDayOfTheMonth().weekday,r=o.getLastDayOfTheMonth(),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).getFirstDayOfTheMonth().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,{tabIndex:-1,isRounded:!0,onClick:()=>{i.onValueUpdate("")},flexSizing:"none",children:[a(T.Times,{})," \u524A\u9664"]}),a(C.Prime.S,{tabIndex:-1,isRounded:!0,flexSizing:"auto",freeCSS:{minWidth:12*6},onClick:()=>{i.onSubmit&&i.onSubmit(),$.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(T.ChevronLeft,{})})),a(C.Clear,x(p({className:y("RightButton"),tabIndex:-1,left:0},g.Variables.ShiftButtonStyles),{onClick:()=>{i.callback(1)},children:a(T.ChevronRight,{})}))]}),ShiftButtonStyles:{position:"relative",flexCenter:!0,ssSphere:2.5}}};export{L as Picker,L as default};
@@ -12,7 +12,7 @@ export declare namespace TimeTypes {
12
12
  region?: number;
13
13
  };
14
14
  type Picker = {
15
- tipsID?: string;
15
+ sheetID?: string;
16
16
  restrict: Restrict;
17
17
  defaultValue: string | string[];
18
18
  era?: Era;
@@ -43,7 +43,7 @@ declare namespace Time {
43
43
  type FNs = {
44
44
  picker: {
45
45
  launch(p: TimeTypes.Picker & Omit<Tooltips.Input, 'content'>): void;
46
- remove(tipsID: string): void;
46
+ remove(sheetID: string): void;
47
47
  };
48
48
  };
49
49
  type Era = TimeTypes.Era;
@@ -1 +1 @@
1
- import{a as ae,b as s,c as k,d as q}from"../../../chunk-C5N2D3ZX.js";import{Fragment as Ve,jsx as y,jsxs as le}from"react/jsx-runtime";import G,{UUID as N}from"jmini";import*as K from"jmini";import{useState as W,useEffect as Q,useRef as ce}from"react";import{$$fromRoot as ue,Config as re,useStore as O,ExtractStyles as fe}from"../../../@utils";import{Box as X,FAI as de}from"../../../atoms";import{Text as he}from"../../../mols";import{Button as ie}from"../../Button";import ne from"../../Tooltips";import{faClock as ge}from"@fortawesome/free-solid-svg-icons/faClock";import{faCalendarAlt as ye}from"@fortawesome/free-solid-svg-icons/faCalendarAlt";import{OptionalInputWrapper as ve,BoxWrapper as De,CoreEffects as H,DefaultBoxishStyles as Ie}from"../core";import{RightIcon as Se}from"..";import Te from"../Select";import{InputLabel as xe}from"../Label";import be from"./Picker";const C=" ~ ",ke={clock:{defaultValue:"--:--",format:/^\d{2}\D\d{2}$/,ranges:[{type:"hour",from:0,length:2},{type:"minute",from:3,length:2}],sets:1},date:{defaultValue:"----/--/--",format:/^\d{4}\D\d{2}\D\d{2}$/,ranges:[{type:"year",from:0,length:4},{type:"month",from:5,length:2},{type:"date",from:8,length:2}],sets:1},week:{defaultValue:"----\u5E74\u7B2C--\u9031",format:/^\d{4}\D\d{2}$/,ranges:[{type:"year",from:0,length:4,region:6},{type:"week",from:6,length:2,region:3}],sets:1},month:{defaultValue:"----\u5E74--\u6708",format:/^\d{4}\D\d{2}$/,ranges:[{type:"year",from:0,length:4},{type:"month",from:5,length:2,region:3}],sets:1},year:{defaultValue:"----\u5E74",format:/^\d{4}$/,ranges:[{type:"year",from:0,length:4,region:5}],sets:1},dates:{defaultValue:"----/--/--",format:/^\d{4}\D\d{2}\D\d{2}$/,ranges:[{type:"year",from:0,length:4},{type:"month",from:5,length:2},{type:"date",from:8,length:2,region:5},{type:"year",from:10+C.length,length:4},{type:"month",from:15+C.length,length:2},{type:"date",from:18+C.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+C.length,length:4},{type:"month",from:13+C.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}},F={PeriodMargin:" ~ ",DataLeveling:e=>{let{restrict:t,value:v,era:r}=e,d=G.flatArray(v||""),{defaultValue:h,format:I,ranges:u,sets:a}=ke[t],m=[],n=t=="clock"?":":"/";for(let i=0;i<d.length;i++)d[i]=String(d[i]).replace(/\D/ig,n);for(let i=0;i<a;i++){let f=d[i]||"";if(!f.match(I))d[i]="",m.push(h);else{let b=h;f.split(/\D/).forEach((E,V)=>{if(V==0&&t=="dateWareki"){let S=Number(E);r!="year"&&(S>=2019?r=="reiwa"?S-=2018:r=="heisei"&&(S=31):S>=1989?r=="heisei"?S-=1988:r=="shouwa"&&(S=64):S>=1926?r=="shouwa"?S-=1925:r=="taisho"&&(S=15):S>=1912?r=="taisho"?S-=1911:r=="meiji"&&(S=45):S>=1868&&(S-=1867)),E=S.zeroEmbed(4)}b=b.replace(new RegExp("------------------".slice(0,E.length)),E)}),m.push(b)}}return{formatValue:m.join(C),dataValue:["dates","months"].includes(t)?d:d[0],ranges:u}},SystemValidation:e=>{let{states:t}=e,{restrict:v,min:r,max:d,required:h}=t,I=[],u=G.flatArray(e.value),a={empty:!1,escalated:1,filled:!0,correct:!0,prohibited:!1};(()=>{let m=v=="clock"?":":"/";for(let n=0;n<u.length;n++)u[n]=String(u[n]).replace(/\D/ig,m);for(let n=0;n<u.length;n++){let i=u[n],f=u[n-1];i.removeLetters()||(a.empty=!0),n>0&&(a.escalated&=+(i>=f))}a.escalated&&(a.empty||(v.match(/clock/)?u.forEach(n=>{let[i,f]=n.split(/\D+/);!i||!f?a.filled=!1:(Number(i)>23||Number(f)>59)&&(a.correct=!1)}):v.match(/date/)?u.forEach(n=>{let[i,f,b]=n.split(/\D+/);if(!i||!f||!b)a.filled=!1;else{let E=K.Time(n);(!E.validate||n!=E.toFormatYMD())&&(a.correct=!1)}}):v.match(/week/)?u.forEach(n=>{let[i,f]=n.split(/\D+/);if(!i||!f)a.filled=!1;else{let b=K.Time(i+"/01/01").weekday,V=K.Time(i+"/01/0"+(7-b+1)).addWeek(Number(f)-1);i!=String(V.year)&&(a.correct=!1)}}):v.match(/month/)?u.forEach(n=>{let[i,f]=n.split(/\D+/);!i||!f?a.filled=!1:K.Time([i,f,"01"].join("/")).validate||(a.correct=!1)}):v.match(/year/),a.filled&&a.correct&&u.forEach(n=>{{let i=Number(String(n).replace(/\D/ig,""));if(r&&Number(String(r).replace(/\D/ig,""))>i&&(a.prohibited=!0),d){let f=Number(String(d).replace(/\D/ig,""));i>f&&(a.prohibited=!0)}}})))})();{let{empty:m,escalated:n,filled:i,correct:f,prohibited:b}=a;m&&h&&(I=[{type:"invalid",label:"\u5FC5\u9808\u9805\u76EE\u3067\u3059"}]),n||I.push({type:"invalid",label:"\u6642\u7CFB\u5217\u3092\u6B63\u3057\u304F\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044"}),f||I.push({type:"invalid",label:"\u7121\u52B9\u306A\u5024\u304C\u5165\u529B\u3055\u308C\u3066\u3044\u307E\u3059"}),i||I.push({type:"invalid",label:"\u6700\u5F8C\u307E\u3067\u5024\u3092\u57CB\u3081\u3066\u304F\u3060\u3055\u3044"}),b&&I.push({type:"invalid",label:le(Ve,{children:[y(X,{children:"\u5165\u529B\u7BC4\u56F2\u304C\u5236\u9650\u3055\u308C\u3066\u3044\u307E\u3059"}),"[",r||"\u4E0B\u9650\u7121\u3057","] ~ [",d||"\u4E0A\u9650\u7121\u3057","]"]})})}return{ok:!I.filter(({type:m})=>m=="invalid").length,notice:I}},KeyDownEvent:e=>{let{val_era:t,restrict:v,event:r,val_status:d,set_status:h,val_focus:I,set_focus:u}=e,{key:a,shiftKey:m,ctrlKey:n,metaKey:i}=r,f=n||i,{selectionStart:b,selectionEnd:E}=r.target,{index:V,prevIndex:S}=I,{ranges:L,formatValue:z}=d,_=L.length-1;if(["Tab","ArrowLeft","ArrowRight"].includes(a)){let D=0;if(a=="Tab"){let l=+!m*2-1;if(D=I.index+l,D<0||D>_)return}else{let l=a=="ArrowLeft"?-1:a=="ArrowRight"?1:0;f||b==0&&E==String(d.formatValue).length?D=l==1?_:0:D=Math.max(0,Math.min(V+l,_))}u(l=>k(s({},l),{index:D,prevIndex:V})),r.preventDefault()}if(["Backspace","ArrowUp","ArrowDown","0","1","2","3","4","5","6","7","8","9"].includes(a)){r.preventDefault();let D=V;D=Math.max(D,0),D=Math.min(D,_);let{type:l,from:B,length:Y}=L[D],A=z.slice(B,B+Y),c;if(a=="Backspace")c="------".slice(0,Y);else if(["ArrowUp","ArrowDown"].includes(a)){let w=a=="ArrowUp"?1:-1;A=A|0,c=A+w;let[o,p,x]=l=="dateWareki"?t=="year"?[0,2999,4]:t=="reiwa"?[1,2999,4]:t=="heisei"?[1,31,4]:t=="shouwa"?[1,64,4]:t=="taisho"?[1,15,4]:t=="meiji"?[1,45,4]:[0,0,0]:l=="minute"?[0,59,2]:l=="hour"?[0,23,2]:l=="date"?[1,31,2]:l=="week"?[1,53,2]:l=="month"?[1,12,2]:l=="year"?[0,2999,4]:[0,0,0];c>p?c=o:c<o&&(c=p),c=Number(c).zeroEmbed(x)}else if(["0","1","2","3","4","5","6","7","8","9"].includes(a)){let w=A|0,o=a,p=`${w}${o}`;if(S!=V&&(w=0,p="0"+o),l=="year"||l=="dateWareki"&&t=="year")Number(p)>1e4?c=o:c=p,(c|0)>1e3&&D++;else if(["hour","minute","date","week","month"].includes(l)||l=="dateWareki"&&t!="year"){let x=l=="dateWareki"?t=="reiwa"?100:t=="heisei"?31:t=="shouwa"?64:t=="taisho"?15:t=="meiji"?45:0:l=="minute"?59:l=="hour"?23:l=="date"?31:l=="week"?53:l=="month"?12:0;c=(p|0)>x?o:p,(Number(o)>Number(String(x)[0])||A=="0000".slice(0,String(x).length)&&(p!="0000".slice(0,String(x).length)||["minute","hour"].includes(l)&&S==V)||(p|0)>=ae(10,String(x).length-1))&&D++}l=="year"||l=="dateWareki"?c=(c|0).zeroEmbed(4):c=(c|0).zeroEmbed(2)}{let w=String(z).partReplace(B,String(c)),o=w.split(C).map(p=>p.replace(/(^\D|\D$)/,"").split(/\D+/).join(v=="clock"?":":"/").replace(/(^\D|\D$)/,""));if(v=="dateWareki"){let p=o[0].split(/\D/),[x,j,P]=p;p.length==3&&x&&(o=[[Number(x)-1+Number({year:1,reiwa:2019,heisei:1989,shouwa:1926,taisho:1912,meiji:1868}[t]),j,P].join("/")])}D=Math.max(D,0),D=Math.min(D,_),h(p=>k(s({},p),{dataValue:["dates","months"].includes(v)?o:o[0],formatValue:w,eventType:"update",eventID:N()})),u(p=>k(s({},p),{index:D,prevIndex:p.index}))}}}},oe={picker:{launch:e=>{let t=e.tipsID||N(),m=e,{onValueUpdate:v,min:r,max:d,era:h,restrict:I,defaultValue:u}=m,a=q(m,["onValueUpdate","min","max","era","restrict","defaultValue"]);ne.open(k(s({gravityPoint:e.gravityPoint||24,tipsID:t,padding:0,closeAtAroundClick:!0,closeAtParentBlur:!1},a),{parent:a.parent,content:y(be,{restrict:I,min:r,max:d,era:h,defaultValue:u,tipsID:t,onValueUpdate:(n,i)=>{v(n,i)}})}))},remove:e=>{ne.close(e)}}},Ee={Shallow:e=>{let{rootStates:t,val_status:v}=e,r=fe(t);return y(X,{position:"absolute",top:0,left:0,right:0,height:0,overflow:"hidden",opacity:"trans",freeCSS:{zIndex:3,pointerEvents:"none"},children:y(he.Description,k(s({className:t.className},r),{position:"absolute",width:1,freeCSS:k(s({},r.freeCSS),{color:"orange"}),children:y(X,{"data-input-value-shallow":v.componentID,children:"A"})}))})}},we=e=>{let ee=e,{tone:t,required:v,restrict:r="clock",componentID:d,era:h,form:I,name:u,min:a,max:m,className:n,enableFormSubmit:i,checkValidationAtFirst:f,onKeyDown:b,onValidate:E,onUpdateValue:V,onUpdateValidValue:S,value:L="",leftIndicator:z,rightIndicator:_,leftIcon:D,rightIcon:l,freeCSS:B,wrapStyles:Y}=ee,A=q(ee,["tone","required","restrict","componentID","era","form","name","min","max","className","enableFormSubmit","checkValidationAtFirst","onKeyDown","onValidate","onUpdateValue","onUpdateValidValue","value","leftIndicator","rightIndicator","leftIcon","rightIcon","freeCSS","wrapStyles"]),[c,w]=W(h),[o,p]=W(k(s({componentID:e.componentID||""},F.DataLeveling({restrict:r,value:L,era:c})),{eventType:"init",eventID:N()})),[x,j]=W({ok:!1,notice:[]}),[P,$]=W({active:!1,index:0,prevIndex:-1}),se={rootStates:e,val_status:o,set_status:p,val_validate:x,set_validate:j,val_era:c,set_era:w,val_focus:P,set_focus:$};H.CommonEffects({type:"time",states:e,val_status:o,set_status:p,val_validate:x,set_validate:j,SystemValidation:F.SystemValidation,ExtraOverrideStates:s({},F.DataLeveling({restrict:r,value:L,era:c}))});const Z=ce(!1);return Q(()=>{if(Z.current){p(T=>s(s({},T),F.DataLeveling({restrict:r,value:T.dataValue,era:c})));let g=O.get("refreshEra_"+o.componentID);g&&g.refreshEra(c)}else Z.current=!0},[c]),O.update({[o.componentID]:{openPicker:()=>{e.disabled||oe.picker.launch({parent:"#Picker-"+o.componentID,tipsID:"PickerTips-"+o.componentID,restrict:r,min:a,max:m,defaultValue:o.dataValue,era:c,onValueUpdate:(g,T)=>{p(M=>k(s(s({},M),F.DataLeveling({restrict:r,value:g,era:T})),{eventType:"update",eventID:N()})),w(T)}})},resetEra:g=>{w(g),p(T=>k(s(s({},T),F.DataLeveling({restrict:r,value:"",era:c})),{eventType:"update",eventID:N()}))}}}),Q(()=>{let{index:g,active:T}=P;if(T){g=Math.max(g,0),g=Math.min(g,o.ranges.length-1);let{from:M,length:U}=o.ranges[g],J=ue("#"+e.id)[0];J&&J.setSelectionRange(M,M+U)}},[P]),le(De,{val_status:o,set_status:p,val_validate:x,states:e,children:[y(Ee.Shallow,s({},se)),y(xe,{componentID:e.componentID,fontSize:e.fontSize,required:e.required,label:e.label,isActive:!0}),re.get().isTouchDevice?y(ie.Plain,{"data-show-validation":H.isShowValidation(x,o,!!f),"data-component-id":o.componentID,className:n,freeCSS:{textAlign:"left"},children:o.formatValue,onClick:g=>{let T=O.get(o.componentID);T&&T.openPicker(),g.stopPropagation()}}):y(X,s({htmlTag:"input",type:"text",inputMode:"numeric","data-show-validation":H.isShowValidation(x,o,!!f),"data-input-origin":o.componentID,"data-disabled":e.disabled,value:o.formatValue,className:n,tabIndex:re.get().isTouchDevice?-1:0,onKeyDown:g=>{F.KeyDownEvent({restrict:r,event:g,val_era:c,val_status:o,set_status:p,val_focus:P,set_focus:$}),b&&b(g),i&&H.SubmitForm(g,I)},onKeyUp:g=>{g.key=="Tab"&&$(T=>k(s({},T),{active:!0}))},onClick:g=>{let T=g.target.selectionEnd,M=0;o.ranges.forEach((U,J)=>{let{from:te,length:me,region:pe}=U;te<=T&&T<=te+(pe||me)&&(M=J)}),$(U=>k(s({},U),{active:!0,index:M})),g.preventDefault()},onChange:()=>{}},A))]})},R={Origin:e=>{let t=s({},e),[v]=W(e.componentID||N());if(t.componentID=v,G.is.nullish(t.rightIcon)){let r=(e.restrict||"").match(/clock/)?ge:ye;t.rightIcon=y(Se,{ssSphere:2,freeCSS:{pointerEvents:"all"},children:y(ie.Sub,{color:"cloud",border:"unset",ssSphere:2,fontColor:"theme",boxShadow:"0.normal",borderRadius:"3.tone.tertiary",flexCenter:!0,ssEffectsOnActive:"push",tabIndex:-1,id:"Picker-"+t.componentID,onClick:()=>{let d=O.get(t.componentID);d&&d.openPicker()},children:y(de,{icon:r})})})}return y(ve,{componentID:t.componentID,children:we,states:Ie(t)})},Clock:e=>y(R.Origin,s({restrict:"clock",era:"clock"},e)),Date:e=>y(R.Origin,s({restrict:"date"},e)),Week:e=>y(R.Origin,s({restrict:"week"},e)),Month:e=>y(R.Origin,s({restrict:"month"},e)),Year:e=>y(R.Origin,s({restrict:"year"},e)),DateWareki:e=>{e=s({},e);let[t]=W(e.componentID||N());e.componentID=t;let{defaultEra:v="wareki"}=e,[r,d]=W((()=>{let h="year";if(v=="wareki"&&(h="reiwa",e.value)){let[I,u,a]=e.value.split(/\D/);if(I&&u&&a){let m=Number(I);m>=2019?(m-=2019,h="reiwa"):m>=1989?(m-=1989,h="heisei"):m>=1926?(m-=1926,h="shouwa"):m>=1912?(m-=1912,h="taisho"):m>=1868&&(m-=1868,h="meiji"),m+=1}}return h})());return Q(()=>{O.set({["refreshEra_"+t]:{refreshEra:h=>{d(h)}}})},[]),y(R.Origin,k(s({restrict:"dateWareki",leftIndicator:y(Te,{label:"\u5143\u53F7",emptySelect:!1,value:r,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:({value:h,eventType:I})=>{d(h);let u=O.get(e.componentID);u&&u.resetEra&&u.resetEra(h)}})},e),{era:r}))},Periods:{Date:e=>y(R.Origin,s({restrict:"dates"},e)),Month:e=>y(R.Origin,s({restrict:"months"},e))},fn:oe};export{R as Time,R as default};
1
+ import{a as ae,b as l,c as k,d as q}from"../../../chunk-C5N2D3ZX.js";import{Fragment as _e,jsx as y,jsxs as oe}from"react/jsx-runtime";import G,{UUID as N}from"jmini";import*as K from"jmini";import{useState as W,useEffect as Q,useRef as pe}from"react";import{$$fromRoot as ce,Config as re,useStore as L,ExtractStyles as ue}from"../../../@utils";import{Box as X,FAI as de}from"../../../atoms";import{Text as fe,Row as he}from"../../../mols";import{Button as ie}from"../../Button";import ge from"../../Tooltips";import ye from"../../Sheet";import{faClock as De}from"@fortawesome/free-solid-svg-icons/faClock";import{faCalendarAlt as ve}from"@fortawesome/free-solid-svg-icons/faCalendarAlt";import{OptionalInputWrapper as Ie,BoxWrapper as Se,CoreEffects as z,DefaultBoxishStyles as Te}from"../core";import{RightIcon as xe}from"..";import be from"../Select";import{InputLabel as ke}from"../Label";import Ee from"./Picker";const F=" ~ ",we={clock:{defaultValue:"--:--",format:/^\d{2}\D\d{2}$/,ranges:[{type:"hour",from:0,length:2},{type:"minute",from:3,length:2}],sets:1},date:{defaultValue:"----/--/--",format:/^\d{4}\D\d{2}\D\d{2}$/,ranges:[{type:"year",from:0,length:4},{type:"month",from:5,length:2},{type:"date",from:8,length:2}],sets:1},week:{defaultValue:"----\u5E74\u7B2C--\u9031",format:/^\d{4}\D\d{2}$/,ranges:[{type:"year",from:0,length:4,region:6},{type:"week",from:6,length:2,region:3}],sets:1},month:{defaultValue:"----\u5E74--\u6708",format:/^\d{4}\D\d{2}$/,ranges:[{type:"year",from:0,length:4},{type:"month",from:5,length:2,region:3}],sets:1},year:{defaultValue:"----\u5E74",format:/^\d{4}$/,ranges:[{type:"year",from:0,length:4,region:5}],sets:1},dates:{defaultValue:"----/--/--",format:/^\d{4}\D\d{2}\D\d{2}$/,ranges:[{type:"year",from:0,length:4},{type:"month",from:5,length:2},{type:"date",from:8,length:2,region:5},{type:"year",from:10+F.length,length:4},{type:"month",from:15+F.length,length:2},{type:"date",from:18+F.length,length:2}],sets:2},months:{defaultValue:"----\u5E74--\u6708",format:/^\d{4}\D\d{2}$/,ranges:[{type:"year",from:0,length:4},{type:"month",from:5,length:2,region:6},{type:"year",from:8+F.length,length:4},{type:"month",from:13+F.length,length:2,region:3}],sets:2},dateWareki:{defaultValue:"----\u5E74--\u6708--\u65E5",format:/^\d{4}\D\d{2}\D\d{2}$/,ranges:[{type:"dateWareki",from:0,length:4,region:5},{type:"month",from:5,length:2,region:3},{type:"date",from:8,length:2,region:3}],sets:1}},O={PeriodMargin:" ~ ",DataLeveling:e=>{let{restrict:t,value:D,era:a}=e,f=G.flatArray(D||""),{defaultValue:h,format:I,ranges:u,sets:r}=we[t],m=[],o=t=="clock"?":":"/";for(let i=0;i<f.length;i++)f[i]=String(f[i]).replace(/\D/ig,o);for(let i=0;i<r;i++){let d=f[i]||"";if(!d.match(I))f[i]="",m.push(h);else{let b=h;d.split(/\D/).forEach((E,R)=>{if(R==0&&t=="dateWareki"){let S=Number(E);a!="year"&&(S>=2019?a=="reiwa"?S-=2018:a=="heisei"&&(S=31):S>=1989?a=="heisei"?S-=1988:a=="shouwa"&&(S=64):S>=1926?a=="shouwa"?S-=1925:a=="taisho"&&(S=15):S>=1912?a=="taisho"?S-=1911:a=="meiji"&&(S=45):S>=1868&&(S-=1867)),E=S.zeroEmbed(4)}b=b.replace(new RegExp("------------------".slice(0,E.length)),E)}),m.push(b)}}return{formatValue:m.join(F),dataValue:["dates","months"].includes(t)?f:f[0],ranges:u}},SystemValidation:e=>{let{states:t}=e,{restrict:D,min:a,max:f,required:h}=t,I=[],u=G.flatArray(e.value),r={empty:!1,escalated:1,filled:!0,correct:!0,prohibited:!1};(()=>{let m=D=="clock"?":":"/";for(let o=0;o<u.length;o++)u[o]=String(u[o]).replace(/\D/ig,m);for(let o=0;o<u.length;o++){let i=u[o],d=u[o-1];i.removeLetters()||(r.empty=!0),o>0&&(r.escalated&=+(i>=d))}r.escalated&&(r.empty||(D.match(/clock/)?u.forEach(o=>{let[i,d]=o.split(/\D+/);!i||!d?r.filled=!1:(Number(i)>23||Number(d)>59)&&(r.correct=!1)}):D.match(/date/)?u.forEach(o=>{let[i,d,b]=o.split(/\D+/);if(!i||!d||!b)r.filled=!1;else{let E=K.Time(o);(!E.validate||o!=E.toFormatYMD())&&(r.correct=!1)}}):D.match(/week/)?u.forEach(o=>{let[i,d]=o.split(/\D+/);if(!i||!d)r.filled=!1;else{let b=K.Time(i+"/01/01").weekday,R=K.Time(i+"/01/0"+(7-b+1)).addWeek(Number(d)-1);i!=String(R.year)&&(r.correct=!1)}}):D.match(/month/)?u.forEach(o=>{let[i,d]=o.split(/\D+/);!i||!d?r.filled=!1:K.Time([i,d,"01"].join("/")).validate||(r.correct=!1)}):D.match(/year/),r.filled&&r.correct&&u.forEach(o=>{{let i=Number(String(o).replace(/\D/ig,""));if(a&&Number(String(a).replace(/\D/ig,""))>i&&(r.prohibited=!0),f){let d=Number(String(f).replace(/\D/ig,""));i>d&&(r.prohibited=!0)}}})))})();{let{empty:m,escalated:o,filled:i,correct:d,prohibited:b}=r;m&&h&&(I=[{type:"invalid",label:"\u5FC5\u9808\u9805\u76EE\u3067\u3059"}]),o||I.push({type:"invalid",label:"\u6642\u7CFB\u5217\u3092\u6B63\u3057\u304F\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044"}),d||I.push({type:"invalid",label:"\u7121\u52B9\u306A\u5024\u304C\u5165\u529B\u3055\u308C\u3066\u3044\u307E\u3059"}),i||I.push({type:"invalid",label:"\u6700\u5F8C\u307E\u3067\u5024\u3092\u57CB\u3081\u3066\u304F\u3060\u3055\u3044"}),b&&I.push({type:"invalid",label:oe(_e,{children:[y(X,{children:"\u5165\u529B\u7BC4\u56F2\u304C\u5236\u9650\u3055\u308C\u3066\u3044\u307E\u3059"}),"[",a||"\u4E0B\u9650\u7121\u3057","] ~ [",f||"\u4E0A\u9650\u7121\u3057","]"]})})}return{ok:!I.filter(({type:m})=>m=="invalid").length,notice:I}},KeyDownEvent:e=>{let{val_era:t,restrict:D,event:a,val_status:f,set_status:h,val_focus:I,set_focus:u}=e,{key:r,shiftKey:m,ctrlKey:o,metaKey:i}=a,d=o||i,{selectionStart:b,selectionEnd:E}=a.target,{index:R,prevIndex:S}=I,{ranges:$,formatValue:H}=f,C=$.length-1;if(["Tab","ArrowLeft","ArrowRight"].includes(r)){let v=0;if(r=="Tab"){let s=+!m*2-1;if(v=I.index+s,v<0||v>C)return}else{let s=r=="ArrowLeft"?-1:r=="ArrowRight"?1:0;d||b==0&&E==String(f.formatValue).length?v=s==1?C:0:v=Math.max(0,Math.min(R+s,C))}u(s=>k(l({},s),{index:v,prevIndex:R})),a.preventDefault()}if(["Backspace","ArrowUp","ArrowDown","0","1","2","3","4","5","6","7","8","9"].includes(r)){a.preventDefault();let v=R;v=Math.max(v,0),v=Math.min(v,C);let{type:s,from:B,length:Y}=$[v],_=H.slice(B,B+Y),c;if(r=="Backspace")c="------".slice(0,Y);else if(["ArrowUp","ArrowDown"].includes(r)){let w=r=="ArrowUp"?1:-1;_=_|0,c=_+w;let[n,p,T]=s=="dateWareki"?t=="year"?[0,2999,4]:t=="reiwa"?[1,2999,4]:t=="heisei"?[1,31,4]:t=="shouwa"?[1,64,4]:t=="taisho"?[1,15,4]:t=="meiji"?[1,45,4]:[0,0,0]:s=="minute"?[0,59,2]:s=="hour"?[0,23,2]:s=="date"?[1,31,2]:s=="week"?[1,53,2]:s=="month"?[1,12,2]:s=="year"?[0,2999,4]:[0,0,0];c>p?c=n:c<n&&(c=p),c=Number(c).zeroEmbed(T)}else if(["0","1","2","3","4","5","6","7","8","9"].includes(r)){let w=_|0,n=r,p=`${w}${n}`;if(S!=R&&(w=0,p="0"+n),s=="year"||s=="dateWareki"&&t=="year")Number(p)>1e4?c=n:c=p,(c|0)>1e3&&v++;else if(["hour","minute","date","week","month"].includes(s)||s=="dateWareki"&&t!="year"){let T=s=="dateWareki"?t=="reiwa"?100:t=="heisei"?31:t=="shouwa"?64:t=="taisho"?15:t=="meiji"?45:0:s=="minute"?59:s=="hour"?23:s=="date"?31:s=="week"?53:s=="month"?12:0;c=(p|0)>T?n:p,(Number(n)>Number(String(T)[0])||_=="0000".slice(0,String(T).length)&&(p!="0000".slice(0,String(T).length)||["minute","hour"].includes(s)&&S==R)||(p|0)>=ae(10,String(T).length-1))&&v++}s=="year"||s=="dateWareki"?c=(c|0).zeroEmbed(4):c=(c|0).zeroEmbed(2)}{let w=String(H).partReplace(B,String(c)),n=w.split(F).map(p=>p.replace(/(^\D|\D$)/,"").split(/\D+/).join(D=="clock"?":":"/").replace(/(^\D|\D$)/,""));if(D=="dateWareki"){let p=n[0].split(/\D/),[T,j,P]=p;p.length==3&&T&&(n=[[Number(T)-1+Number({year:1,reiwa:2019,heisei:1989,shouwa:1926,taisho:1912,meiji:1868}[t]),j,P].join("/")])}v=Math.max(v,0),v=Math.min(v,C),h(p=>k(l({},p),{dataValue:["dates","months"].includes(D)?n:n[0],formatValue:w,eventType:"update",eventID:N()})),u(p=>k(l({},p),{index:v,prevIndex:p.index}))}}}},ne={picker:{launch:e=>{let t=e.sheetID||N(),m=e,{onValueUpdate:D,min:a,max:f,era:h,restrict:I,defaultValue:u}=m,r=q(m,["onValueUpdate","min","max","era","restrict","defaultValue"]);ye.open(k(l({sheetID:t,type:"normal.middleCenter",size:"S",padding:0,closeAtAroundClick:!0,closeAtParentBlur:!1},r),{content:y(he.Center,{children:y(Ee,{restrict:I,min:a,max:f,era:h,defaultValue:u,sheetID:t,onValueUpdate:(o,i)=>{D(o,i)}})})}))},remove:e=>{ge.close(e)}}},Re={Shallow:e=>{let{rootStates:t,val_status:D}=e,a=ue(t);return y(X,{position:"absolute",top:0,left:0,right:0,height:0,overflow:"hidden",opacity:"trans",freeCSS:{zIndex:3,pointerEvents:"none"},children:y(fe.Description,k(l({className:t.className},a),{position:"absolute",width:1,freeCSS:k(l({},a.freeCSS),{color:"orange"}),children:y(X,{"data-input-value-shallow":D.componentID,children:"A"})}))})}},Ve=e=>{let ee=e,{tone:t,required:D,restrict:a="clock",componentID:f,era:h,form:I,name:u,min:r,max:m,className:o,enableFormSubmit:i,checkValidationAtFirst:d,onKeyDown:b,onValidate:E,onUpdateValue:R,onUpdateValidValue:S,value:$="",leftIndicator:H,rightIndicator:C,leftIcon:v,rightIcon:s,freeCSS:B,wrapStyles:Y}=ee,_=q(ee,["tone","required","restrict","componentID","era","form","name","min","max","className","enableFormSubmit","checkValidationAtFirst","onKeyDown","onValidate","onUpdateValue","onUpdateValidValue","value","leftIndicator","rightIndicator","leftIcon","rightIcon","freeCSS","wrapStyles"]),[c,w]=W(h),[n,p]=W(k(l({componentID:e.componentID||""},O.DataLeveling({restrict:a,value:$,era:c})),{eventType:"init",eventID:N()})),[T,j]=W({ok:!1,notice:[]}),[P,U]=W({active:!1,index:0,prevIndex:-1}),le={rootStates:e,val_status:n,set_status:p,val_validate:T,set_validate:j,val_era:c,set_era:w,val_focus:P,set_focus:U};z.CommonEffects({type:"time",states:e,val_status:n,set_status:p,val_validate:T,set_validate:j,SystemValidation:O.SystemValidation,ExtraOverrideStates:l({},O.DataLeveling({restrict:a,value:$,era:c}))});const Z=pe(!1);return Q(()=>{if(Z.current){p(x=>l(l({},x),O.DataLeveling({restrict:a,value:x.dataValue,era:c})));let g=L.get("refreshEra_"+n.componentID);g&&g.refreshEra(c)}else Z.current=!0},[c]),L.update({[n.componentID]:{openPicker:g=>{e.disabled||ne.picker.launch({parent:g,sheetID:"PickerTips-"+n.componentID,restrict:a,min:r,max:m,defaultValue:n.dataValue,era:c,onValueUpdate:(x,A)=>{p(M=>k(l(l({},M),O.DataLeveling({restrict:a,value:x,era:A})),{eventType:"update",eventID:N()})),w(A)}})},resetEra:g=>{w(g),p(x=>k(l(l({},x),O.DataLeveling({restrict:a,value:"",era:c})),{eventType:"update",eventID:N()}))}}}),Q(()=>{let{index:g,active:x}=P;if(x){g=Math.max(g,0),g=Math.min(g,n.ranges.length-1);let{from:A,length:M}=n.ranges[g],J=ce("#"+e.id)[0];J&&J.setSelectionRange(A,A+M)}},[P]),oe(Se,{val_status:n,set_status:p,val_validate:T,states:e,children:[y(Re.Shallow,l({},le)),y(ke,{componentID:e.componentID,fontSize:e.fontSize,required:e.required,label:e.label,isActive:!0}),re.get().isTouchDevice?y(ie.Plain,k(l({"data-show-validation":z.isShowValidation(T,n,!!d),"data-component-id":n.componentID,"data-input-origin":n.componentID,"data-disabled":e.disabled,className:o,freeCSS:{textAlign:"left"}},_),{children:n.formatValue,onClick:g=>{let x=L.get(n.componentID);x&&x.openPicker(`[data-input-origin="${n.componentID}"]`),g.stopPropagation()}})):y(X,l({htmlTag:"input",type:"text",inputMode:"numeric","data-show-validation":z.isShowValidation(T,n,!!d),"data-input-origin":n.componentID,"data-disabled":e.disabled,value:n.formatValue,className:o,tabIndex:re.get().isTouchDevice?-1:0,onKeyDown:g=>{O.KeyDownEvent({restrict:a,event:g,val_era:c,val_status:n,set_status:p,val_focus:P,set_focus:U}),b&&b(g),i&&z.SubmitForm(g,I)},onKeyUp:g=>{g.key=="Tab"&&U(x=>k(l({},x),{active:!0}))},onClick:g=>{let x=g.target.selectionEnd,A=0;n.ranges.forEach((M,J)=>{let{from:te,length:se,region:me}=M;te<=x&&x<=te+(me||se)&&(A=J)}),U(M=>k(l({},M),{active:!0,index:A})),g.preventDefault()},onChange:()=>{}},_))]})},V={Origin:e=>{let t=l({},e),[D]=W(e.componentID||N());if(t.componentID=D,G.is.nullish(t.rightIcon)){let a=(e.restrict||"").match(/clock/)?De:ve;t.rightIcon=y(xe,{ssSphere:2,freeCSS:{pointerEvents:"all"},children:y(ie.Sub,{color:"cloud",border:"unset",ssSphere:2,fontColor:"theme",boxShadow:"0.normal",borderRadius:"3.tone.tertiary",flexCenter:!0,ssEffectsOnActive:"push",tabIndex:-1,id:"Picker-"+t.componentID,onClick:()=>{let f=L.get(t.componentID);f&&f.openPicker("#Picker-"+t.componentID)},children:y(de,{icon:a})})})}return y(Ie,{componentID:t.componentID,children:Ve,states:Te(t)})},Clock:e=>y(V.Origin,l({restrict:"clock",era:"clock"},e)),Date:e=>y(V.Origin,l({restrict:"date"},e)),Week:e=>y(V.Origin,l({restrict:"week"},e)),Month:e=>y(V.Origin,l({restrict:"month"},e)),Year:e=>y(V.Origin,l({restrict:"year"},e)),DateWareki:e=>{e=l({},e);let[t]=W(e.componentID||N());e.componentID=t;let{defaultEra:D="wareki"}=e,[a,f]=W((()=>{let h="year";if(D=="wareki"&&(h="reiwa",e.value)){let[I,u,r]=e.value.split(/\D/);if(I&&u&&r){let m=Number(I);m>=2019?(m-=2019,h="reiwa"):m>=1989?(m-=1989,h="heisei"):m>=1926?(m-=1926,h="shouwa"):m>=1912?(m-=1912,h="taisho"):m>=1868&&(m-=1868,h="meiji"),m+=1}}return h})());return Q(()=>{L.set({["refreshEra_"+t]:{refreshEra:h=>{f(h)}}})},[]),y(V.Origin,k(l({restrict:"dateWareki",leftIndicator:y(be,{label:"\u5143\u53F7",emptySelect:!1,value:a,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:({value:h,eventType:I})=>{f(h);let u=L.get(e.componentID);u&&u.resetEra&&u.resetEra(h)}})},e),{era:a}))},Periods:{Date:e=>y(V.Origin,l({restrict:"dates"},e)),Month:e=>y(V.Origin,l({restrict:"months"},e))},fn:ne};export{V as Time,V as default};
@@ -51,6 +51,7 @@ declare namespace Sheet {
51
51
  };
52
52
  type Custom = UniInput & {
53
53
  type: 'custom';
54
+ resize?: boolean;
54
55
  nextToCursor?: boolean;
55
56
  gravityPoint?: number;
56
57
  } & ({
package/dist/fn/Sheet.js CHANGED
@@ -1 +1 @@
1
- import{b as C,c as E,d as X}from"../chunk-C5N2D3ZX.js";import{jsx as u,jsxs as F}from"react/jsx-runtime";import h,{UUID as Z,Time as ie}from"jmini";import{useState as O,useEffect as G,useRef as ae}from"react";import{$$fromRoot as Y,Config as K,useStore as x}from"../@utils";import{Box as _,Flex as le,Img as se,FAI as pe,Column as oe}from"../atoms";import{Row as J}from"../mols";import{Button as ne}from"./Button";import ce from"./SwipeView";import he from"./Input";import{SheetClasses as m}from"../@styles/componentClasses";const N={currentIndex:0,mainSheetIDs:{},getSessionStates:()=>{let t=x.get("sessionStates-"+K.get().sessionUID);return t||null},getNewSheetStates:t=>{var d;let e=E(C({sheetGroups:t.sheetGroups||[],backgroundEffect:!0,overwrap:t.type=="custom",hold_state:!1,closeAtPageTransit:!0,closeAtEscapeKeyDown:!0,closeAtAroundClick:t.type=="custom"},t),{sheetID:t.sheetID||Z(),isOpen:!0,created_at:ie()});if(e.type=="custom"){let p=e;p.parent=p.parent||((d=p==null?void 0:p.event)==null?void 0:d.currentTarget),e=p}return e}},Q={Wrapper:()=>{let[t,e]=O(!1),[d,p]=O([]),v={val_sheets:d,set_sheets:p};x.set({["sessionStates-"+K.get().sessionUID]:v}),G(()=>{x.set({["Sheet-"+K.get().sessionUID]:{add:(i,o)=>{let a=x.get("Sheet-"+K.get().sessionUID);if(!a)return;let n=N.getNewSheetStates(i);if(n.isOpen=o!=null?o:!0,!!a.find(n.sheetID)){p(g=>{let I=[...g],S=I.findIndex(z=>z.sheetID==n.sheetID);return S==-1||(I[S]=n),I});return}p(g=>[n,...g])},find:i=>{let o=N.getSessionStates();if(!o)return null;let{val_sheets:a}=o;return a.find(n=>n.sheetID==i)}}}),h(K.get().appRoot).addEvent({eventType:"keyup",eventID:"SheetEvent.keyUp",callback:function(i){let{key:o,metaKey:a}=i;if(o=="Escape"||o==","&&a){let n=N.getSessionStates();if(!n)return;let{val_sheets:c}=n,g=c.filter(S=>S.isOpen);if(!g.length)return;let I=g.reduce((S,z)=>S.created_at.value>z.created_at.value?S:z);L.close(I.sheetID,o)}}}).addEvent({eventType:"click",eventID:"SheetEvent.Click",callback:function(i){let o=N.getSessionStates();if(!o)return;let{val_sheets:a}=o,n=i.target;if(!n||n!=null&&n.closest("."+m("CustomSheet")))return;let c=a.filter(g=>g.type=="custom");c.length&&c.forEach(g=>{let{parent:I}=g;if(!g.closeAtAroundClick)return;let S=Y(I)[0];I!==n&&S!==n&&(h(S).find(n).length||L.close(g.sheetID))})}})},[]),G(()=>{let i=d.filter(o=>o.backgroundEffect&&o.isOpen&&!o.overwrap&&o.type!="custom");e(!!i.length)},[d]),G(()=>{let i=Y(".AMOTIFY_be_root");if(t){let a=h("html").position(),n=32/a.height,c=32/a.width;i.addClass(m("BodyEffect")).css({transform:`scale(${1-c},${1-n})`})}else i.css({transform:"scale(1)"}).removeClass(m("BodyEffect"))},[t]);let f=d.map(i=>u(Q.Core,E(C({},v),{val_sheet:i,patch_sheet:o=>{p(a=>{let n=[...a],c=n.findIndex(g=>g.sheetID==i.sheetID);return c==-1||(n[c]=C(C({},n[c]),o)),n})},delete_sheet:()=>{p(o=>{let a=[...o],n=a.findIndex(c=>c.sheetID==i.sheetID);return n==-1||a.splice(n,1),a})}}),i.sheetID));return u(_,{className:["AMOTIFY_be",m("Wrapper")].join(" "),children:f})},Core:t=>{let{val_sheet:e,patch_sheet:d}=t,[p,v]=O(N.currentIndex+1),[f]=O(Z()),i=e.type!="custom"&&!e.overwrap;G(()=>{N.currentIndex++,h.scope(()=>{if(!e.closeAtParentBlur)return;let c=h(e.parent);c[0]&&c.addEvent({eventID:"SheetClosation-"+e.sheetID,eventType:"mouseout",callback:()=>{c.removeEvent("SheetClosation-"+e.sheetID),d({isOpen:!1})}})}),x.set({[e.sheetID]:{resize:c=>{if(e.type=="drawer.bottom"){let g=x.get(f);g&&g.resize&&g.resize(c)}else(e.type.includes("normal")||e.type.includes("drawer"))&&d({size:c})},close:c=>{d({isOpen:!1})},open:()=>{d({isOpen:!0})}}})},[]),G(()=>{h.scope(()=>{let c=Y("#"+f);if(e.isOpen){e.hold_state&&v(N.currentIndex+1),c.await(10).removeClass(m("Hide")).await(10).addClass(m("Open")).callback(()=>{e.openAfter&&e.openAfter()});return}c.await(10).removeClass(m("Open")).await(251).addClass(m("Hide")).callback(()=>{if(e.closeAfter&&e.closeAfter(),i&&h(K.get().appRoot).focus(),e.hold_state)return d({isOpen:!1});t.delete_sheet()})})},[e.isOpen]);let[o,a]=e.type.split("."),n=Q.Types[{"normal.topLeft":"Normal","normal.topCenter":"Normal","normal.topRight":"Normal","normal.middleLeft":"Normal","normal.middleCenter":"Normal","normal.middleRight":"Normal","normal.bottomLeft":"Normal","normal.bottomCenter":"Normal","normal.bottomRight":"Normal",image:"Normal","drawer.left":"Edge","drawer.right":"Edge","drawer.bottom":"Bottom",custom:"Custom"}[e.type]];return u(_,{className:[m("Wrap"),m("Tcate_"+o),m("Tpos_"+a),m("isMainSheet_"+i)].join(" "),width:1,height:0,ssAbsoluteCovered:!0,freeCSS:{zIndex:p},id:f,children:F(oe,{className:m("Content"),gap:0,height:"viewHeight",overflow:"auto",transition:"middle",children:[!!i&&u(Q.TapSensor,{sheetID:e.sheetID,delegateAroundClick:e.closeAtAroundClick}),u(n,C({componentID:f},e))]})},f)},Types:{Normal:t=>{let D=t,{sheetID:e,sheetGroups:d,bodyScrolls:p,content:v,className:f="",type:i,size:o="R",freeCSS:a,openAfter:n,closeAfter:c,closeAtAroundClick:g,closeAtEscapeKeyDown:I,closeAtPageTransit:S,closeAtParentBlur:z,closeAtSwipeDown:j,hold_state:q,overwrap:ee,isOpen:te,backgroundEffect:$}=D,P=X(D,["sheetID","sheetGroups","bodyScrolls","content","className","type","size","freeCSS","openAfter","closeAfter","closeAtAroundClick","closeAtEscapeKeyDown","closeAtPageTransit","closeAtParentBlur","closeAtSwipeDown","hold_state","overwrap","isOpen","backgroundEffect"]),[H,b]=i.split("."),w={},B=[];return b.match(/top/)?(B.push("top"),w.marginBottom="auto"):b.match(/middle/)?(B.push("center"),w.marginTop="auto",w.marginBottom="auto"):b.match(/bottom/)&&(B.push("bottom"),w.marginTop="auto"),b.match(/left/i)?(B.push("left"),w.marginRight="auto"):b.match(/center/i)?(B.push("center"),w.marginLeft="auto",w.marginRight="auto"):b.match(/right/i)&&(B.push("right"),w.marginLeft="auto"),u(_,E(C(C({className:[m("BB"),f].join(" "),padding:1,transition:"long",opacity:"trans"},P),w),{freeCSS:C({width:{S:"26rem",R:"36rem",L:"44rem","2L":"60rem","3L":"72rem",MAX:"100vw"}[o],maxWidth:"96vw",transformOrigin:B.join(" ")},a),children:h.is.function(v)?u(v,{}):v}))},Edge:t=>{let P=t,{sheetID:e,sheetGroups:d,bodyScrolls:p,type:v,content:f,className:i="",size:o="R",openAfter:a,closeAfter:n,closeAtAroundClick:c,closeAtEscapeKeyDown:g,closeAtPageTransit:I,closeAtParentBlur:S,closeAtSwipeDown:z,hold_state:j,overwrap:q,isOpen:ee,backgroundEffect:te}=P,$=X(P,["sheetID","sheetGroups","bodyScrolls","type","content","className","size","openAfter","closeAfter","closeAtAroundClick","closeAtEscapeKeyDown","closeAtPageTransit","closeAtParentBlur","closeAtSwipeDown","hold_state","overwrap","isOpen","backgroundEffect"]);return u(_,E(C(E(C({className:[m("BB"),i].join(" ")},v=="drawer.right"?{marginLeft:"auto"}:v=="drawer.left"?{marginRight:"auto"}:{}),{opacity:"trans",transition:"long",position:"relative",backgroundColor:"layer.1",flexSizing:"none",minHeight:"viewHeight",boxShadow:"3.remark"}),$),{freeCSS:C({width:{S:"20rem",R:"27rem",L:"32rem","2L":"40rem","3L":"58rem",MAX:"100vw"}[o],maxWidth:"96vw"},$.freeCSS),children:h.is.function(f)?u(f,{}):f}))},Bottom:t=>{let T=t,{componentID:e,sheetID:d,sheetGroups:p,bodyScrolls:v,content:f,size:i="R",sizeChanged:o,baseStyles:a,openAfter:n,closeAfter:c,closeAtAroundClick:g,closeAtEscapeKeyDown:I,closeAtPageTransit:S,closeAtParentBlur:z,closeAtSwipeDown:j=!0,hold_state:q,overwrap:ee,isOpen:te,backgroundEffect:$}=T,P=X(T,["componentID","sheetID","sheetGroups","bodyScrolls","content","size","sizeChanged","baseStyles","openAfter","closeAfter","closeAtAroundClick","closeAtEscapeKeyDown","closeAtPageTransit","closeAtParentBlur","closeAtSwipeDown","hold_state","overwrap","isOpen","backgroundEffect"]),H=h.getScreenSize(),b=[0,.2,.6,.95],w={ZERO:0,S:1,R:2,L:3},[B,D]=O(i),[k,W]=O({process:!1,processStart:0,originY:0,originValue:0,viewHeight:0,value:b[w[i]]});x.update({[e]:{val_edit:k,resize:A=>{let l=b[w[A]];W(y=>E(C({},y),{value:l})),D(A)}}});const U={Start:A=>{h(document).addEvent({eventID:"BottomSheetMouseMove",eventType:"mousemove",callback:U.Move}).addEvent({eventID:"BottomSheetTouchMove",eventType:"touchmove",callback:U.Move}).addEvent({eventID:"BottomSheetMouseUp",eventType:"mouseup",callback:U.End}).addEvent({eventID:"BottomSheetTouchEnd",eventType:"touchend",callback:U.End});let l=h.getCursor(A),y=E(C({},k),{process:!0,processStart:new Date().getTime(),originY:l.y,originValue:k.value,viewHeight:h.getScreenSize().height});x.update({[e]:{val_edit:y}}),W(y)},Move:A=>{var M;let l=(M=x.get(e))==null?void 0:M.val_edit;if(!l.process)return;let r=(h.getCursor(A).y-l.originY)/l.viewHeight,R=l.originValue-r;if(R>.95)R=.95+(R-.95)*.5;else if(R<.2){let s=.2-R;s-=.1,R=.1+(.1-s)*.5}W(E(C({},l),{value:R}))},End:A=>{var R;let l=(R=x.get(e))==null?void 0:R.val_edit;if(!l.process)return;h(document).removeEvent(["BottomSheetMouseMove","BottomSheetTouchMove","BottomSheetMouseUp","BottomSheetTouchEnd"]);let y=0;if(l.value<.1||(l.value<.5?y=1:l.value>.75?y=3:y=2),new Date().getTime()-l.processStart<300){let M=h.getCursor(A).y-l.originY;if(Math.abs(M)>=20){let s=+(M<0)*2-1;y+=s,y=Math.min(Math.max(y,0),b.length-1)}}y==0&&(j||(y=1)),D(["ZERO","S","R","L"][y]),W(E(C({},l),{value:b[y],process:!1}))}},V=ae(!1);return G(()=>{V.current?B=="ZERO"?j&&L.close(d):setTimeout(()=>{t.sizeChanged&&t.sizeChanged(B)},250):V.current=!0},[B]),u(_,{className:m("BB"),margin:[0,"auto"],marginTop:"auto",opacity:"trans",width:1,transition:"long",freeCSS:C({maxWidth:12*60,height:H.height*k.value},k.process?{transition:"0s"}:{}),children:F(oe,E(C({gap:0,flexSizing:"none",borderTopLeftRadius:"1.tone.primary",borderTopRightRadius:"1.tone.primary",border:!0,borderBottom:"unset",boxShadow:"3.remark",position:"relative",overflow:"hidden",height:1},a),{children:[u(J.Separate,{padding:"1/2",backgroundColor:"layer.1",position:"relative",freeCSS:{userSelect:"none"},children:u(J.Center,{onMouseDown:U.Start,onTouchStart:U.Start,flexSizing:0,padding:"2/3",ssPushable:!0,isRounded:!0,freeCSS:{cursor:"grab",userSelect:"none"},children:u(_,{unitWidth:6,unitHeight:"1/2",backgroundColor:"layer.4",isRounded:!0,className:m("DragBar")})})}),u(_,E(C({backgroundColor:"layer.1",flexSizing:0,overflow:"auto"},P),{children:h.is.function(f)?u(f,{}):f}))]}))})},Custom:t=>{let V=t,{sheetID:e,sheetGroups:d,bodyScrolls:p,event:v,parent:f,nextToCursor:i,gravityPoint:o=22,content:a,closeAtAroundClick:n,closeAtEscapeKeyDown:c,closeAtPageTransit:g,closeAtParentBlur:I,closeAtSwipeDown:S,hold_state:z,openAfter:j,closeAfter:q,overwrap:ee,isOpen:te,backgroundEffect:$}=V,P=X(V,["sheetID","sheetGroups","bodyScrolls","event","parent","nextToCursor","gravityPoint","content","closeAtAroundClick","closeAtEscapeKeyDown","closeAtPageTransit","closeAtParentBlur","closeAtSwipeDown","hold_state","openAfter","closeAfter","overwrap","isOpen","backgroundEffect"]),[H]=O(Z()),b=h.is.element(f)||h.is.jmini(f)?h(f):Y(f),w='[data-sheet-id="'+H+'"]',B='[data-sheet-content="'+H+'"]';o=o;let D=o%5||5,k=Math.ceil(o/5);const W={Init:()=>{if(i&&v){let s=h.getScreenSize(),re=h.getCursor(v);return{top:re.y-s.pageYOffset,left:re.x-s.pageXOffset}}let T={};if(!b||!b[0])return T;let{top:A,right:l,bottom:y,left:r,height:R,width:M}=b.position();return[1,2].includes(D)?T.left=r:D==3?T.left=r+M/2:[4,5].includes(D)&&(T.left=l),o<=10?T.top=A:o<=15?T.top=A+R/2:o<=25&&(T.top=y),T},Adjust:()=>{let T=Y(w).position(),A=Y(B).position(),l=b.position(),y=h.getScreenSize(),r={};for(let s in A)r[s]=A[s];if(h.scope(()=>{if(t.nextToCursor)return;let s=0;k==1?s=l.top-r.bottom:k==2?s=l.top-r.top:k==3?s=l.top-r.top+(l.height-r.height)/2:k==4?s=l.bottom-r.bottom:k==5&&(s=l.bottom-r.top),r.top+=s,r.bottom+=s}),h.scope(()=>{if(t.nextToCursor)return;let s=0;D==1?s=l.left-r.right:D==2?s=l.left-r.left:D==3?s=l.left-r.left+(l.width-r.width)/2:D==4?s=l.right-r.right:D==5&&(s=l.right-r.left),r.left+=s,r.right+=s}),r.top<0){let s=-r.top;r.top+=s,r.bottom+=s}if(r.bottom>y.height){let s=r.bottom-y.height;r.top-=s,r.bottom-=s}if(r.left<0){let s=-r.left;r.left+=s,r.right+=s}if(r.right>y.width){let s=r.right-y.width;r.left-=s,r.right-=s}let R=r.top-A.top,M=r.left-A.left;h(w).css({top:T.top+R+"px",left:T.left+M+"px"})}};let[U]=O(W.Init());return G(()=>{Y(w).await(10).addClass(m("Open")).await(200).callback(()=>{W.Adjust()}),x.update({["customSheet-"+t.sheetID]:{reposition:()=>{W.Adjust()}}})},[]),b[0]?u(_,{className:[m("BB"),m("CustomSheet")].join(" "),"data-sheet-id":H,transition:"long",position:"absolute",width:0,height:0,opacity:"trans",flexCenter:!0,freeCSS:U,children:u(le,{position:"absolute",className:[m("GPT"),m("GPT_"+o),m("Col_"+D),m("Row_"+k)].join(" "),children:u(_,E(C({"data-sheet-content":H,flexSizing:"none",maxHeight:"viewHeight"},P),{freeCSS:C({maxWidth:"98vw"},P.freeCSS),children:h.is.function(a)?u(a,{}):a}))})}):null}},TapSensor:t=>u(_,{className:m("TapSensor"),children:u(ne.Plain,{className:m("TapContent"),onClick:()=>{var e;(e=t.delegateAroundClick)!=null&&e&&L.close(t.sheetID)},freeCSS:{cursor:"default",pointerEvents:"all"}})})},L={Wrapper:()=>u(Q.Wrapper,{}),open:(t,e)=>{if(t.sheetID=(t.sheetID||"").replace(/\./g,"-"),t.type=="image"){let v=t.sheetID||Z(),p=t,{type:f,src:i}=p,o=X(p,["type","src"]);L.open(E(C({type:"normal.topCenter",backgroundColor:"trans"},o),{sheetID:v,freeCSS:{maxWidth:"96vw",transformOrigin:"top"},content:()=>{let[a]=O(h.flatArray(i)),[n,c]=O(0),g=[],I=[];return a.forEach((S,z)=>{g.push({value:z,label:u(se,{src:h.flatArray(S)[0],width:"auto",height:1,freeCSS:{maxWidth:12*6,maxHeight:12*3}})}),I.push(u(se,{width:1,height:"auto",src:h.flatArray(S)[0]}))}),F(oe,{gap:0,children:[F(J.Separate,{gap:2,padding:1,backgroundColor:"layer.1",borderTopLeftRadius:"1.tone.primary",borderTopRightRadius:"1.tone.primary",children:[u(he.Radio.Border,{icon:!1,value:n,override:"force",horizontalAlign:"center",onUpdateValidValue:({value:S})=>{c(S)},cellStyles:{borderWidth:2,padding:"1/3"},options:g}),u(ne.Border.S,{color:"cloud",isRounded:!0,onClick:()=>{L.close(v)},children:F(J.Center,{gap:"1/3",children:["\u9589\u3058\u308B",u(pe.Times,{})]})})]}),u(ce,{slideIndex:n,options:{loop:a.length>1,onSlideCallback:S=>{c(S)}},slides:I,wrapper:S=>u(_,{borderBottomLeftRadius:"1.tone.primary",borderBottomRightRadius:"1.tone.primary",children:S})})]})}}));return}let d=x.get("Sheet-"+K.get().sessionUID);d&&d.add(t,e)},resize:t=>{t.sheetID=(t.sheetID||"").replace(/\./g,"-");let e=x.get(t.sheetID);e&&e.resize&&e.resize(t.size)},customSheet:{reposition:t=>{let e=x.get("customSheet-"+t);e&&e.reposition&&e.reposition()}},close:function(t,e,d){let p=N.getSessionStates();if(!p)return;let{val_sheets:v}=p;t=t==null?void 0:t.replace(/\./g,"-");let f=v.find(o=>o.sheetID==t);if(!f||e=="Escape"&&!f.closeAtEscapeKeyDown)return;let i=x.get(f.sheetID);i&&i.close&&i.close(d)},closeGroup:t=>{let e=N.getSessionStates();if(!e)return;let{val_sheets:d}=e;t=(t||"").replace(/\./g,"-");for(let p of d)p.sheetGroups&&p.sheetGroups==t&&L.close(p.sheetID)},closeAll:t=>{let e=N.getSessionStates();if(!e)return;let{val_sheets:d}=e;for(let p of d)t&&!p.closeAtPageTransit||L.close(p.sheetID,"pageTransit",!0)},Body:t=>u(_,C({className:m("BaseBody"),backgroundColor:"layer.1",borderRadius:"1.tone.primary",position:"relative",boxShadow:"3.remark",transition:"long"},t))};export{L as Sheet,L as default};
1
+ import{b as C,c as R,d as X}from"../chunk-C5N2D3ZX.js";import{jsx as u,jsxs as F}from"react/jsx-runtime";import h,{UUID as J,Time as ae}from"jmini";import{useState as z,useEffect as G,useRef as le}from"react";import{$$fromRoot as Y,Config as K,useStore as T}from"../@utils";import{Box as E,Flex as pe,Img as ne,FAI as ce,Column as re}from"../atoms";import{Row as Q}from"../mols";import{Button as ie}from"./Button";import he from"./SwipeView";import ue from"./Input";import{SheetClasses as m}from"../@styles/componentClasses";const O={currentIndex:0,mainSheetIDs:{},getSessionStates:()=>{let t=T.get("sessionStates-"+K.get().sessionUID);return t||null},getNewSheetStates:t=>{var d;let e=R(C({sheetGroups:t.sheetGroups||[],backgroundEffect:!0,overwrap:t.type=="custom",hold_state:!1,closeAtPageTransit:!0,closeAtEscapeKeyDown:!0,closeAtAroundClick:t.type=="custom"},t),{sheetID:t.sheetID||J(),isOpen:!0,created_at:ae()});if(e.type=="custom"){let l=e;l.parent=l.parent||((d=l==null?void 0:l.event)==null?void 0:d.currentTarget),e=l}return e}},q={Wrapper:()=>{let[t,e]=z(!1),[d,l]=z([]),v={val_sheets:d,set_sheets:l};T.set({["sessionStates-"+K.get().sessionUID]:v}),G(()=>{T.set({["Sheet-"+K.get().sessionUID]:{add:(n,r)=>{let a=T.get("Sheet-"+K.get().sessionUID);if(!a)return;let s=O.getNewSheetStates(n);if(s.isOpen=r!=null?r:!0,!!a.find(s.sheetID)){l(g=>{let w=[...g],y=w.findIndex(k=>k.sheetID==s.sheetID);return y==-1||(w[y]=s),w});return}l(g=>[s,...g])},find:n=>{let r=O.getSessionStates();if(!r)return null;let{val_sheets:a}=r;return a.find(s=>s.sheetID==n)}}}),h(K.get().appRoot).addEvent({eventType:"keyup",eventID:"SheetEvent.keyUp",callback:function(n){let{key:r,metaKey:a}=n;if(r=="Escape"||r==","&&a){let s=O.getSessionStates();if(!s)return;let{val_sheets:p}=s,g=p.filter(y=>y.isOpen);if(!g.length)return;let w=g.reduce((y,k)=>y.created_at.value>k.created_at.value?y:k);N.close(w.sheetID,r)}}}).addEvent({eventType:"click",eventID:"SheetEvent.Click",callback:function(n){let r=O.getSessionStates();if(!r)return;let{val_sheets:a}=r,s=n.target;if(!s||s!=null&&s.closest("."+m("CustomSheet")))return;let p=a.filter(g=>g.type=="custom");p.length&&p.forEach(g=>{let{parent:w}=g;if(!g.closeAtAroundClick)return;let y=Y(w)[0];w!==s&&y!==s&&(h(y).find(s).length||N.close(g.sheetID))})}})},[]),G(()=>{let n=d.filter(r=>r.backgroundEffect&&r.isOpen&&!r.overwrap&&r.type!="custom");e(!!n.length)},[d]),G(()=>{let n=Y(".AMOTIFY_be_root");if(t){let a=h("html").position(),s=32/a.height,p=32/a.width;n.addClass(m("BodyEffect")).css({transform:`scale(${1-p},${1-s})`})}else n.css({transform:"scale(1)"}).removeClass(m("BodyEffect"))},[t]);let f=d.map(n=>u(q.Core,R(C({},v),{val_sheet:n,patch_sheet:r=>{l(a=>{let s=[...a],p=s.findIndex(g=>g.sheetID==n.sheetID);return p==-1||(s[p]=C(C({},s[p]),r)),s})},delete_sheet:()=>{l(r=>{let a=[...r],s=a.findIndex(p=>p.sheetID==n.sheetID);return s==-1||a.splice(s,1),a})}}),n.sheetID));return u(E,{className:["AMOTIFY_be",m("Wrapper")].join(" "),children:f})},Core:t=>{let{val_sheet:e,patch_sheet:d}=t,[l,v]=z(O.currentIndex+1),[f]=z(J()),n=e.type!="custom"&&!e.overwrap;G(()=>{O.currentIndex++,h.scope(()=>{if(!e.closeAtParentBlur)return;let p=h(e.parent);p[0]&&p.addEvent({eventID:"SheetClosation-"+e.sheetID,eventType:"mouseout",callback:()=>{p.removeEvent("SheetClosation-"+e.sheetID),d({isOpen:!1})}})}),T.set({[e.sheetID]:{resize:p=>{if(e.type=="drawer.bottom"){let g=T.get(f);g&&g.resize&&g.resize(p)}else(e.type.includes("normal")||e.type.includes("drawer"))&&d({size:p})},close:p=>{d({isOpen:!1})},open:()=>{d({isOpen:!0})}}})},[]),G(()=>{h.scope(()=>{let p=Y("#"+f);if(e.isOpen){e.hold_state&&v(O.currentIndex+1),p.await(10).removeClass(m("Hide")).await(10).addClass(m("Open")).callback(()=>{e.openAfter&&e.openAfter()});return}p.await(10).removeClass(m("Open")).await(251).addClass(m("Hide")).callback(()=>{if(e.closeAfter&&e.closeAfter(),n&&h(K.get().appRoot).focus(),e.hold_state)return d({isOpen:!1});t.delete_sheet()})})},[e.isOpen]);let[r,a]=e.type.split("."),s=q.Types[{"normal.topLeft":"Normal","normal.topCenter":"Normal","normal.topRight":"Normal","normal.middleLeft":"Normal","normal.middleCenter":"Normal","normal.middleRight":"Normal","normal.bottomLeft":"Normal","normal.bottomCenter":"Normal","normal.bottomRight":"Normal",image:"Normal","drawer.left":"Edge","drawer.right":"Edge","drawer.bottom":"Bottom",custom:"Custom"}[e.type]];return u(E,{className:[m("Wrap"),m("Tcate_"+r),m("Tpos_"+a),m("isMainSheet_"+n)].join(" "),width:1,height:0,ssAbsoluteCovered:!0,freeCSS:{zIndex:l},id:f,children:F(re,{className:m("Content"),gap:0,height:"viewHeight",overflow:"auto",transition:"middle",children:[!!n&&u(q.TapSensor,{sheetID:e.sheetID,delegateAroundClick:e.closeAtAroundClick}),u(s,C({componentID:f},e))]})},f)},Types:{Normal:t=>{let H=t,{sheetID:e,sheetGroups:d,bodyScrolls:l,content:v,className:f="",type:n,size:r="R",freeCSS:a,openAfter:s,closeAfter:p,closeAtAroundClick:g,closeAtEscapeKeyDown:w,closeAtPageTransit:y,closeAtParentBlur:k,closeAtSwipeDown:j,hold_state:ee,overwrap:te,isOpen:oe,backgroundEffect:W}=H,U=X(H,["sheetID","sheetGroups","bodyScrolls","content","className","type","size","freeCSS","openAfter","closeAfter","closeAtAroundClick","closeAtEscapeKeyDown","closeAtPageTransit","closeAtParentBlur","closeAtSwipeDown","hold_state","overwrap","isOpen","backgroundEffect"]),[$,A]=n.split("."),I={},D=[];return A.match(/top/)?(D.push("top"),I.marginBottom="auto"):A.match(/middle/)?(D.push("center"),I.marginTop="auto",I.marginBottom="auto"):A.match(/bottom/)&&(D.push("bottom"),I.marginTop="auto"),A.match(/left/i)?(D.push("left"),I.marginRight="auto"):A.match(/center/i)?(D.push("center"),I.marginLeft="auto",I.marginRight="auto"):A.match(/right/i)&&(D.push("right"),I.marginLeft="auto"),u(E,R(C(C({className:[m("BB"),f].join(" "),padding:1,transition:"long",opacity:"trans"},U),I),{freeCSS:C({width:{S:"26rem",R:"36rem",L:"44rem","2L":"60rem","3L":"72rem",MAX:"100vw"}[r],maxWidth:"96vw",transformOrigin:D.join(" ")},a),children:h.is.function(v)?u(v,{}):v}))},Edge:t=>{let U=t,{sheetID:e,sheetGroups:d,bodyScrolls:l,type:v,content:f,className:n="",size:r="R",openAfter:a,closeAfter:s,closeAtAroundClick:p,closeAtEscapeKeyDown:g,closeAtPageTransit:w,closeAtParentBlur:y,closeAtSwipeDown:k,hold_state:j,overwrap:ee,isOpen:te,backgroundEffect:oe}=U,W=X(U,["sheetID","sheetGroups","bodyScrolls","type","content","className","size","openAfter","closeAfter","closeAtAroundClick","closeAtEscapeKeyDown","closeAtPageTransit","closeAtParentBlur","closeAtSwipeDown","hold_state","overwrap","isOpen","backgroundEffect"]);return u(E,R(C(R(C({className:[m("BB"),n].join(" ")},v=="drawer.right"?{marginLeft:"auto"}:v=="drawer.left"?{marginRight:"auto"}:{}),{opacity:"trans",transition:"long",position:"relative",backgroundColor:"layer.1",flexSizing:"none",minHeight:"viewHeight",boxShadow:"3.remark"}),W),{freeCSS:C({width:{S:"20rem",R:"27rem",L:"32rem","2L":"40rem","3L":"58rem",MAX:"100vw"}[r],maxWidth:"96vw"},W.freeCSS),children:h.is.function(f)?u(f,{}):f}))},Bottom:t=>{let V=t,{componentID:e,sheetID:d,sheetGroups:l,bodyScrolls:v,content:f,size:n="R",sizeChanged:r,baseStyles:a,openAfter:s,closeAfter:p,closeAtAroundClick:g,closeAtEscapeKeyDown:w,closeAtPageTransit:y,closeAtParentBlur:k,closeAtSwipeDown:j=!0,hold_state:ee,overwrap:te,isOpen:oe,backgroundEffect:W}=V,U=X(V,["componentID","sheetID","sheetGroups","bodyScrolls","content","size","sizeChanged","baseStyles","openAfter","closeAfter","closeAtAroundClick","closeAtEscapeKeyDown","closeAtPageTransit","closeAtParentBlur","closeAtSwipeDown","hold_state","overwrap","isOpen","backgroundEffect"]),$=h.getScreenSize(),A=[0,.2,.6,.95],I={ZERO:0,S:1,R:2,L:3},[D,H]=z(n),[x,B]=z({process:!1,processStart:0,originY:0,originValue:0,viewHeight:0,value:A[I[n]]});T.update({[e]:{val_edit:x,resize:b=>{let S=A[I[b]];B(c=>R(C({},c),{value:S})),H(b)}}});const _={Start:b=>{h(document).addEvent({eventID:"BottomSheetMouseMove",eventType:"mousemove",callback:_.Move}).addEvent({eventID:"BottomSheetTouchMove",eventType:"touchmove",callback:_.Move}).addEvent({eventID:"BottomSheetMouseUp",eventType:"mouseup",callback:_.End}).addEvent({eventID:"BottomSheetTouchEnd",eventType:"touchend",callback:_.End});let S=h.getCursor(b),c=R(C({},x),{process:!0,processStart:new Date().getTime(),originY:S.y,originValue:x.value,viewHeight:h.getScreenSize().height});T.update({[e]:{val_edit:c}}),B(c)},Move:b=>{var P;let S=(P=T.get(e))==null?void 0:P.val_edit;if(!S.process)return;let L=(h.getCursor(b).y-S.originY)/S.viewHeight,o=S.originValue-L;if(o>.95)o=.95+(o-.95)*.5;else if(o<.2){let M=.2-o;M-=.1,o=.1+(.1-M)*.5}B(R(C({},S),{value:o}))},End:b=>{var o;let S=(o=T.get(e))==null?void 0:o.val_edit;if(!S.process)return;h(document).removeEvent(["BottomSheetMouseMove","BottomSheetTouchMove","BottomSheetMouseUp","BottomSheetTouchEnd"]);let c=0;if(S.value<.1||(S.value<.5?c=1:S.value>.75?c=3:c=2),new Date().getTime()-S.processStart<300){let P=h.getCursor(b).y-S.originY;if(Math.abs(P)>=20){let M=+(P<0)*2-1;c+=M,c=Math.min(Math.max(c,0),A.length-1)}}c==0&&(j||(c=1)),H(["ZERO","S","R","L"][c]),B(R(C({},S),{value:A[c],process:!1}))}},Z=le(!1);return G(()=>{Z.current?D=="ZERO"?j&&N.close(d):setTimeout(()=>{t.sizeChanged&&t.sizeChanged(D)},250):Z.current=!0},[D]),u(E,{className:m("BB"),margin:[0,"auto"],marginTop:"auto",opacity:"trans",width:1,transition:"long",freeCSS:C({maxWidth:12*60,height:$.height*x.value},x.process?{transition:"0s"}:{}),children:F(re,R(C({gap:0,flexSizing:"none",borderTopLeftRadius:"1.tone.primary",borderTopRightRadius:"1.tone.primary",border:!0,borderBottom:"unset",boxShadow:"3.remark",position:"relative",overflow:"hidden",height:1},a),{children:[u(Q.Separate,{padding:"1/2",backgroundColor:"layer.1",position:"relative",freeCSS:{userSelect:"none"},children:u(Q.Center,{onMouseDown:_.Start,onTouchStart:_.Start,flexSizing:0,padding:"2/3",ssPushable:!0,isRounded:!0,freeCSS:{cursor:"grab",userSelect:"none"},children:u(E,{unitWidth:6,unitHeight:"1/2",backgroundColor:"layer.4",isRounded:!0,className:m("DragBar")})})}),u(E,R(C({backgroundColor:"layer.1",flexSizing:0,overflow:"auto"},U),{children:h.is.function(f)?u(f,{}):f}))]}))})},Custom:t=>{let V=t,{sheetID:e,sheetGroups:d,bodyScrolls:l,event:v,parent:f,nextToCursor:n,gravityPoint:r=22,content:a,closeAtAroundClick:s,closeAtEscapeKeyDown:p,closeAtPageTransit:g,closeAtParentBlur:w,closeAtSwipeDown:y,hold_state:k,openAfter:j,closeAfter:ee,overwrap:te,isOpen:oe,resize:W,backgroundEffect:U}=V,$=X(V,["sheetID","sheetGroups","bodyScrolls","event","parent","nextToCursor","gravityPoint","content","closeAtAroundClick","closeAtEscapeKeyDown","closeAtPageTransit","closeAtParentBlur","closeAtSwipeDown","hold_state","openAfter","closeAfter","overwrap","isOpen","resize","backgroundEffect"]),[A]=z(J()),I=h.is.element(f)||h.is.jmini(f)?h(f):Y(f),D='[data-sheet-id="'+A+'"]',H='[data-sheet-content="'+A+'"]';r=r;let x=r%5||5,B=Math.ceil(r/5);const _={Init:()=>{if(n&&v){let i=h.getScreenSize(),se=h.getCursor(v);return{top:se.y-i.pageYOffset,left:se.x-i.pageXOffset}}let b={};if(!I||!I[0])return b;let{top:S,right:c,bottom:L,left:o,height:P,width:M}=I.position();return[1,2].includes(x)?b.left=o:x==3?b.left=o+M/2:[4,5].includes(x)&&(b.left=c),r<=10?b.top=S:r<=15?b.top=S+P/2:r<=25&&(b.top=L),b},Adjust:()=>{let b=Y(D).position(),S=Y(H).position(),c=I.position(),L=h.getScreenSize(),o={};for(let i in S)o[i]=S[i];if(h.scope(()=>{if(t.nextToCursor)return;let i=0;B==1?i=c.top-o.bottom:B==2?i=c.top-o.top:B==3?i=c.top-o.top+(c.height-o.height)/2:B==4?i=c.bottom-o.bottom:B==5&&(i=c.bottom-o.top),o.top+=i,o.bottom+=i}),h.scope(()=>{if(t.nextToCursor)return;let i=0;x==1?i=c.left-o.right:x==2?i=c.left-o.left:x==3?i=c.left-o.left+(c.width-o.width)/2:x==4?i=c.right-o.right:x==5&&(i=c.right-o.left),o.left+=i,o.right+=i}),o.top<0){let i=-o.top;o.top+=i,o.bottom+=i}if(o.bottom>L.height){let i=o.bottom-L.height;o.top-=i,o.bottom-=i}if(o.left<0){let i=-o.left;o.left+=i,o.right+=i}if(o.right>L.width){let i=o.right-L.width;o.left-=i,o.right-=i}let P=o.top-S.top,M=o.left-S.left;h(D).css({top:b.top+P+"px",left:b.left+M+"px"})}};let[Z]=z(_.Init());return G(()=>{Y(D).await(10).addClass(m("Open")).await(200).callback(()=>{(W==null||W)&&_.Adjust()}),T.update({["customSheet-"+t.sheetID]:{reposition:()=>{_.Adjust()}}})},[]),I[0]?u(E,{className:[m("BB"),m("CustomSheet")].join(" "),"data-sheet-id":A,transition:"long",position:"absolute",width:0,height:0,opacity:"trans",flexCenter:!0,freeCSS:Z,children:u(pe,{position:"absolute",className:[m("GPT"),m("GPT_"+r),m("Col_"+x),m("Row_"+B)].join(" "),children:u(E,R(C({"data-sheet-content":A,flexSizing:"none",maxHeight:"viewHeight"},$),{freeCSS:C({maxWidth:"98vw"},$.freeCSS),children:h.is.function(a)?u(a,{}):a}))})}):null}},TapSensor:t=>u(E,{className:m("TapSensor"),children:u(ie.Plain,{className:m("TapContent"),onClick:()=>{var e;(e=t.delegateAroundClick)!=null&&e&&N.close(t.sheetID)},freeCSS:{cursor:"default",pointerEvents:"all"}})})},N={Wrapper:()=>u(q.Wrapper,{}),open:(t,e)=>{if(t.sheetID=(t.sheetID||"").replace(/\./g,"-"),t.type=="image"){let v=t.sheetID||J(),l=t,{type:f,src:n}=l,r=X(l,["type","src"]);N.open(R(C({type:"normal.topCenter",backgroundColor:"trans"},r),{sheetID:v,freeCSS:{maxWidth:"96vw",transformOrigin:"top"},content:()=>{let[a]=z(h.flatArray(n)),[s,p]=z(0),g=[],w=[];return a.forEach((y,k)=>{g.push({value:k,label:u(ne,{src:h.flatArray(y)[0],width:"auto",height:1,freeCSS:{maxWidth:12*6,maxHeight:12*3}})}),w.push(u(ne,{width:1,height:"auto",src:h.flatArray(y)[0]}))}),F(re,{gap:0,children:[F(Q.Separate,{gap:2,padding:1,backgroundColor:"layer.1",borderTopLeftRadius:"1.tone.primary",borderTopRightRadius:"1.tone.primary",children:[u(ue.Radio.Border,{icon:!1,value:s,override:"force",horizontalAlign:"center",onUpdateValidValue:({value:y})=>{p(y)},cellStyles:{borderWidth:2,padding:"1/3"},options:g}),u(ie.Border.S,{color:"cloud",isRounded:!0,onClick:()=>{N.close(v)},children:F(Q.Center,{gap:"1/3",children:["\u9589\u3058\u308B",u(ce.Times,{})]})})]}),u(he,{slideIndex:s,options:{loop:a.length>1,onSlideCallback:y=>{p(y)}},slides:w,wrapper:y=>u(E,{borderBottomLeftRadius:"1.tone.primary",borderBottomRightRadius:"1.tone.primary",children:y})})]})}}));return}let d=T.get("Sheet-"+K.get().sessionUID);d&&d.add(t,e)},resize:t=>{t.sheetID=(t.sheetID||"").replace(/\./g,"-");let e=T.get(t.sheetID);e&&e.resize&&e.resize(t.size)},customSheet:{reposition:t=>{let e=T.get("customSheet-"+t);e&&e.reposition&&e.reposition()}},close:function(t,e,d){let l=O.getSessionStates();if(!l)return;let{val_sheets:v}=l;t=t==null?void 0:t.replace(/\./g,"-");let f=v.find(r=>r.sheetID==t);if(!f||e=="Escape"&&!f.closeAtEscapeKeyDown)return;let n=T.get(f.sheetID);n&&n.close&&n.close(d)},closeGroup:t=>{let e=O.getSessionStates();if(!e)return;let{val_sheets:d}=e;t=(t||"").replace(/\./g,"-");for(let l of d)l.sheetGroups&&l.sheetGroups==t&&N.close(l.sheetID)},closeAll:t=>{let e=O.getSessionStates();if(!e)return;let{val_sheets:d}=e;for(let l of d)t&&!l.closeAtPageTransit||N.close(l.sheetID,"pageTransit",!0)},Body:t=>u(E,C({className:m("BaseBody"),backgroundColor:"layer.1",borderRadius:"1.tone.primary",position:"relative",boxShadow:"3.remark",transition:"long"},t))};export{N as Sheet,N as default};