amotify 0.2.203 → 0.2.205

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.
@@ -50,58 +50,89 @@ import {
50
50
  } from '../../../../../dist/index'
51
51
 
52
52
 
53
+ const SheetContent = () => {
54
+ let sheetID = 'sheet1'
55
+
56
+ let [ val_keyword,set_keyword ] = useState( '' )
57
+
58
+ return <Sheet.Element
59
+ type='topCenter'
60
+ sheetID={ sheetID }
61
+ isOpen
62
+ key={ val_keyword }
63
+ >
64
+ <Sheet.Body>
65
+ <Column padding={ 2 }>
66
+ <Input.TextField.Email
67
+ label="Keyword"
68
+ value={ val_keyword }
69
+ // onUpdateValidValue={ value => {
70
+ // set_keyword( value )
71
+ // } }
72
+ />
73
+ <Literal.Description>
74
+ <Literal>result:</Literal>
75
+ <Literal>{ val_keyword }</Literal>
76
+ </Literal.Description>
77
+ </Column>
78
+ </Sheet.Body>
79
+ </Sheet.Element>
80
+
81
+ }
82
+
53
83
  let Page = () => {
54
- let [ val_selected,set_selected ] = useState( [] )
84
+ let [ val_selected,set_selected ] = useState<any>( 0 )
55
85
  let [ val_value,set_value ] = useState( '' )
56
86
  let [ val_caret,set_caret ] = useState<any>( [ 0,0 ] )
57
87
 
88
+ let [ val_refresh,set_refresh ] = useState( UUID() )
89
+ let [ val_replyText,set_replyText ] = useState( '' )
90
+
91
+ useEffect( () => {
92
+ // setTimeout( () => {
93
+ // set_selected( 'B' )
94
+ // set_value( 'BBB' )
95
+ // },1000 );
96
+ },[] )
97
+
58
98
  return <Plate
59
99
  padding={ 3 }
60
100
  size="XS"
61
101
  >
102
+ {/* <SheetContent /> */ }
62
103
  <Column gap={ 2 }
63
- UnderBreakPointStyles={ {
64
- backgroundColor: 'nega'
65
- } }
66
104
  >
67
- <Input.Autocomplete
68
- // override='force'
69
- required
70
- // checkValidationAtFirst
71
- label="AutocompletePlaceholder"
72
- options={ [] }
73
- DynamicOptionsOnSearch={ async ( keyword ) => {
74
- return [
75
- { value: keyword + "1" },
76
- { value: keyword + "2" },
77
- { value: keyword + "3" },
78
- { value: keyword + "4" },
79
- { value: keyword + "5" },
80
- ]
81
- } }
82
- max={ 2 }
83
- value={ val_selected }
84
- onUpdateValidValue={ value => {
85
- set_selected( value )
86
- } }
87
- />
88
-
89
- <Input.TextField
90
- // override='force'
91
- multiline
92
- required
93
- value={ val_value }
94
- onUpdateValidValue={ value => {
95
- set_value( value )
96
- } }
97
- // onUserAction={ ( value,opt ) => {
98
- // // console.log( value,opt )
99
- // } }
100
- onSelect={ event => {
101
- // let textarea = event.target as HTMLTextAreaElement
102
- // set_caret( [ textarea.selectionStart,textarea.selectionEnd ] )
103
- } }
104
- />
105
+ <Box
106
+ padding={ 1 }
107
+ >
108
+ <Literal>
109
+ val_value { val_value || "null" }
110
+ </Literal>
111
+ <input
112
+ type='text'
113
+ onChange={ event => {
114
+ let {
115
+ value: rawValue,
116
+ selectionStart,
117
+ selectionEnd,
118
+ } = event.target as HTMLInputElement
119
+ console.log(
120
+ rawValue,
121
+ ( event as any ).key
122
+ )
123
+ } }
124
+ />
125
+ <Input.TextField
126
+ override='force'
127
+ value={ val_value }
128
+ onUpdateValidValue={ value => {
129
+ console.log(
130
+ '[onUpdateValidValue]',value
131
+ )
132
+ set_value( value )
133
+ } }
134
+ />
135
+ </Box>
105
136
  </Column>
106
137
  </Plate>
107
138
  }
@@ -1 +1 @@
1
- import{b as m,c as g,d as ee,e as te}from"../../chunk-C5N2D3ZX.js";import{Fragment as X,jsx as l,jsxs as V}from"react/jsx-runtime";import{useState as b,useEffect as F,useRef as ue}from"react";import p,{UUID as D}from"jmini";import{ExtractStyles as ce}from"../../@utils";import{Box as E,Span as pe,FAI as H,Column as oe}from"../../atoms";import{Literal as q,Row as P}from"../../mols";import{Button as ae}from"../Button";import{Loader as de}from"../Loader";import{Sheet as Se}from"../Sheet";import{OptionalInputWrapper as fe,BoxWrapper as me,CoreEffects as M,DefaultBoxishStyles as ve}from"./core";import{InputAutocompleteClasses as W}from"../../@styles/componentClasses";import{InputLabel as ye}from"./Label";import{RightIcon as le}from".";function _e(e){let{value:t,states:s}=e,{required:d,options:o,min:a,max:n}=s;a=a||0,n=n||65535;let S=[],u=t.filter(c=>c!==null).length;return d&&(u||S.push({type:"invalid",label:"\u5FC5\u9808\u9805\u76EE\u3067\u3059"})),u<a&&S.push({type:"invalid",label:a+"\u500B\u4EE5\u4E0A\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044"}),u>n&&S.push({type:"invalid",label:n+"\u500B\u307E\u3067\u9078\u629E\u3067\u304D\u307E\u3059"}),{ok:!S.filter(({type:c})=>c=="invalid").length,notice:S}}const z={InitOptions:e=>{let t=[];return e.forEach(s=>{if(!s)return;let{type:d,label:o,value:a,searchValue:n}=s,S=n||p.is.string(o)&&o||""||p.is.string(a)&&a||p.Stringify(a||"")||"";p.is.nullish(o)&&(o=String(a)),t.push(g(m({id:D()},s),{searchValue:S,type:d||"selector",label:o,value:a}))}),t},FilterSelectableOptions:(e,t,s)=>{let d=e;return s||(d=e.filter(o=>(o==null?void 0:o.type)!="label")),p.scope(()=>{if(!t)return;let o=t.toLower().replace(/ /g,"");d=d.filter(a=>(a.searchValue||"").toLower().replace(/ /g,"").includes(o))}),d}},L={Shallow:e=>{let{rootStates:t,val_status:s}=e,d=ce(t);return l(E,{position:"absolute",top:0,left:0,right:0,height:0,overflow:"hidden",opacity:"trans",freeCSS:{zIndex:3,pointerEvents:"none"},children:l(q.Description,g(m({className:t.className},d),{position:"absolute",width:1,freeCSS:g(m({},d.freeCSS),{color:"orange"}),"data-id":"shallow_"+s.componentId,children:l(E,{"data-input-value-shallow":s.componentId,children:"A"})}))})},Button:e=>{let{rootStates:t,val_keyword:s,set_keyword:d,val_optionFocused:o,set_optionFocused:a,val_preventOpenSelector:n,set_preventOpenSelector:S,val_openSelector:u,set_openSelector:c,val_status:i,set_status:f,val_activeInput:v,set_activeInput:y,val_validate:C,set_validate:O}=e,Y=t,{tone:h,required:A,form:I,className:T,multiSelect:w,enableFormSubmit:K,checkValidationAtFirst:N,onValidate:$,onValidateDelay:Q,onUpdateValue:U,onUpdateValidValue:J,onUserAction:j,value:G="",options:R,leftIndicator:B,rightIndicator:k,leftIcon:ge,rightIcon:he,componentId:Ie,status_id:be,wrapStyles:Ce,emptySelect:De,SearchInput:Oe,SearchInputPlaceholder:Te,SelectedComponent:we,SelectorComponent:Re,SelectorStyles:ke,SelectorPosition:xe,DynamicOptionsOnSearch:Ve,DynamicOptionsOnSearchDelay:Ae}=Y,r=ee(Y,["tone","required","form","className","multiSelect","enableFormSubmit","checkValidationAtFirst","onValidate","onValidateDelay","onUpdateValue","onUpdateValidValue","onUserAction","value","options","leftIndicator","rightIndicator","leftIcon","rightIcon","componentId","status_id","wrapStyles","emptySelect","SearchInput","SearchInputPlaceholder","SelectedComponent","SelectorComponent","SelectorStyles","SelectorPosition","DynamicOptionsOnSearch","DynamicOptionsOnSearchDelay"]);return F(()=>{var x;if(t.disabled||!u||p.is.exist(o))return;let _=z.FilterSelectableOptions(e.val_options,s,!1);a(((x=_[0])==null?void 0:x.id)||"")},[s]),F(()=>{if(i.eventType!="init"&&i.eventType!="override"){if(t.max==i.dataValue.length){c(!1),S(!0),d("");return}p("#SearchInput_"+t.componentId).focus()}},[i.dataValue]),F(()=>{if(i.eventType=="override")return;let _="autocomplete-click-"+t.componentId;if(!u){p(document).removeEvent([_]);return}p('[data-input-origin="'+t.componentId+'"]')&&(p("#SearchInput_"+t.componentId).focus(),p(document).addEvent({eventID:_,eventType:"mousedown",callback:ie=>{let Z=p(ie.target),re=!!p(Z).parent("."+W("Core")).length,se=!!p(Z).parent("."+W("Selector")).length;re||se||(c(!1),y(!1))},options:{passive:!1}}))},[u]),V(X,{children:[l(E,g(m({tabIndex:0},r),{"data-disabled":t.disabled,"data-show-validation":M.isShowValidation(C,i,!!N),"data-component-id":i.componentId,"data-input-origin":i.componentId,"data-focus":!!u||!!v,className:[T,W("Core")].join(" "),onFocus:_=>{if(r!=null&&r.onFocus&&(r==null||r.onFocus(_)),!t.disabled){if(n)return S(!1);c(!0),y(!0),_.preventDefault()}},onBlur:_=>{r!=null&&r.onBlur&&(r==null||r.onBlur(_))},onCompositionStart:_=>{r!=null&&r.onCompositionStart&&(r==null||r.onCompositionStart(_))},onCompositionEnd:_=>{r!=null&&r.onCompositionEnd&&(r==null||r.onCompositionEnd(_))},onClick:_=>{r!=null&&r.onClick&&(r==null||r.onClick(_)),!t.disabled&&(c(!0),y(!0))},onKeyDown:_=>{let{key:x}=_;K&&M.SubmitForm(_,I),!u&&(x==" "||x=="ArrowDown"||x=="ArrowUp"||x=="Enter")&&(c(!0),y(!0))},children:V(P.Left,{gap:0,children:[l(pe,{width:0,overflow:"hidden",opacity:"trans",children:"A"}),V(P.Left,{flexWrap:!0,flexSizing:0,gap:"1/3",freeCSS:{letterSpacing:".5px"},children:[l(L.Selected,m({},e)),l(L.SearchInput,m({},e))]})]})})),u&&l(L.Selector,m({},e))]})},SearchInput:e=>{let{rootStates:t,val_status:s,set_status:d}=e;return t.disabled||!e.val_openSelector&&!e.val_activeInput?null:l(E,{htmlTag:"input",id:"SearchInput_"+t.componentId,placeholder:t.SearchInputPlaceholder||"\u691C\u7D22...",opacity:e.val_openSelector?"max":"middle",transition:"middle",flexSizing:0,fontSize:"inherit",border:"unset",backgroundColor:"trans",value:e.val_keyword,freeCSS:{outline:"none"},onFocus:o=>{d(a=>g(m({},a),{eventID:D(),eventType:"focus.start",isFocusing:!0}))},onBlur:o=>{e.set_activeInput(!1),d(a=>g(m({},a),{eventID:D(),eventType:"focus.end",isFocusing:!1}))},onCompositionStart:o=>{d(a=>g(m({},a),{eventID:D(),eventType:"composing.start",isComposing:!0}))},onCompositionEnd:o=>{d(a=>g(m({},a),{eventID:D(),eventType:"composing.end",isComposing:!1}))},onKeyDown:o=>{let{key:a,metaKey:n,ctrlKey:S}=o,u=n||S;a=="Tab"?(e.set_openSelector(!1),e.set_activeInput(!1),e.set_preventOpenSelector(!1)):a==" "?p.scope(()=>{e.val_openSelector||e.val_keyword||(o.preventDefault(),e.set_openSelector(!0))}):a=="Backspace"?p.scope(()=>{if(e.val_keyword)return;let c=[...e.val_status.dataValue];c.pop(),e.set_status(i=>g(m({},i),{dataValue:c,eventType:"update",eventID:D()}))}):a=="Enter"&&p.scope(()=>{if(s.isComposing||(o==null?void 0:o.keyCode)===229)return;if(!e.val_openSelector)return e.set_openSelector(!0);if(!e.val_optionFocused)return;let c=e.val_options.find(f=>(f==null?void 0:f.id)==e.val_optionFocused);if(!c)return;let{value:i}=c;e.set_status(f=>{let v=[...f.dataValue];return p.scope(()=>{if(i===null)return v=[];f.dataValue.includes(i)?v=v.filter(C=>C!==i):t.multiSelect?v.push(i):v=[i]}),g(m({},f),{dataValue:v,eventType:"update",eventID:D()})}),e.set_optionsModified(!0),e.set_keyword("")}),p.scope(()=>{if(!["ArrowDown","ArrowUp"].includes(a))return;if(o.preventDefault(),!e.val_openSelector)return e.set_openSelector(!0);let c=a=="ArrowDown"?1:-1,i=z.FilterSelectableOptions(e.val_options),f=i.length-1,v=null;p.scope(()=>{var C,O,h,A,I,T;let y=i.findIndex(w=>(w==null?void 0:w.id)==e.val_optionFocused);if(y==-1&&(y=0),c==1){if(v=(C=i[0])==null?void 0:C.id,u){v=(O=i[f])==null?void 0:O.id;return}if(y==-1||y==f)return;v=(h=i[y+1])==null?void 0:h.id}else{if(v=(A=i[f])==null?void 0:A.id,u){v=(I=i[0])==null?void 0:I.id;return}if(y==-1||y==0)return;v=(T=i[y-1])==null?void 0:T.id}}),e.set_optionFocused(v)}),t.enableFormSubmit&&M.SubmitForm(o,e.rootStates.form)},onChange:o=>{let n=o.target.value;e.set_openSelector(!0),e.set_keyword(n)}},"searchInput")},Selector:e=>{var S;let[t,s]=b("idle"),[d,o]=b("idle");F(()=>{if(!e.rootStates.DynamicOptionsOnSearch||!e.val_openSelector)return;if(e.val_optionsModified)return e.set_optionsModified(!1);if(e.val_status.isComposing)return;if(t=="idle")return s("ok");o("fetch");let u="autocomplete-search-"+e.rootStates.componentId;e.set_optionFocused(""),p.interval.once(()=>te(void 0,null,function*(){var f;let c=yield e.rootStates.DynamicOptionsOnSearch(e.val_keyword);o("idle");let i=z.InitOptions(c||[]);e.set_options(i),e.set_optionFocused(((f=i[0])==null?void 0:f.id)||"")}),e.rootStates.DynamicOptionsOnSearchDelay||500,u)},[e.val_keyword,e.val_status.isComposing]),F(()=>{let u=p(`[data-selector-id="${e.val_status.componentId}"]`)[0];if(!u)return;let c=p(`[data-autocomplete-input-value="${e.val_optionFocused}"]`)[0];c&&(u.scrollTop=c.offsetTop-24)},[e.val_optionFocused]);let a=z.FilterSelectableOptions(e.val_options,e.rootStates.DynamicOptionsOnSearch?"":e.val_keyword,!0),n={};switch(e.rootStates.SelectorPosition){case 1:n.bottom="100%",n.left=0,n.paddingBottom="1/3";break;case 2:n.bottom="100%",n.right=0,n.paddingBottom="1/3";break;case 3:n.top="100%",n.left=0,n.paddingTop="1/3";break;case 4:n.top="100%",n.right=0,n.paddingTop="1/3";break;default:break}return l(E,g(m({position:"absolute"},n),{freeCSS:m({minWidth:"75%",zIndex:1e3},n.freeCSS),children:l(Se.Body,g(m({className:W("Selector"),borderRadius:"2.tone.secondary",ssCardBox:!0,boxShadow:"1.normal",overflow:"auto","data-selector-id":e.val_status.componentId},e.rootStates.SelectorStyles),{freeCSS:m({maxHeight:12*24},(S=e.rootStates.SelectorStyles)==null?void 0:S.freeCSS),children:V(oe,{gap:"1/12",padding:[1,0],children:[d=="fetch"&&l(P.Center,{padding:"1/2",children:l(de.Theme.R,{showInitial:!0})}),d!="fetch"&&V(X,{children:[!a.length&&l(q.Supplement,{padding:[0,1],fontColor:"4.thin",children:"\u5019\u88DC\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093"}),a.map((u,c)=>{if(!u)return null;let{type:i,value:f}=u,v=e.val_optionFocused==u.id,y=e.val_status.dataValue.includes(f),C=e.rootStates.SelectorComponent;return l(oe,{"data-autocomplete-input-value":u.id,children:l(C,{option:u,isFocused:v,isSelected:y,addCallback:()=>{e.set_status(O=>{let h=[...O.dataValue];return p.scope(()=>{if(f===null)return h=[];O.dataValue.includes(f)?h=h.filter(I=>I!==f):e.rootStates.multiSelect?h.push(f):h=[f]}),g(m({},O),{dataValue:h,eventType:"update",eventID:D()})})}})},u.id)})]})]})}))}))},Selected:e=>{let{rootStates:t,val_status:s,set_status:d,val_optionsDict:o}=e,a=[];return s.dataValue.forEach(n=>{let S=o[p.Stringify(n)];if(!S)return;let u=t.SelectedComponent,c=S.label;(S==null?void 0:S.value)===null&&(c=""),a.push(l(E,{className:W("SelectedCell"),children:l(u,{value:S==null?void 0:S.value,label:c,removeCallback:i=>{if(i.stopPropagation(),i.preventDefault(),t.disabled)return;let f=[...s.dataValue];f=f.filter(v=>v!==n),d(v=>g(m({},v),{dataValue:f,eventType:"update",eventID:D()}))}})},p.Stringify(S==null?void 0:S.value)||D()))}),l(X,{children:a})},Core:e=>{var J,j,G;let{value:t}=e,[s,d]=b(!1),[o,a]=b(!1),[n,S]=b(!1),[u,c]=b(!1),[i,f]=b(""),[v,y]=b(e.options),[C,O]=b(((J=e.options.find(R=>{var B;return(R==null?void 0:R.value)===((B=e.value)==null?void 0:B[0])}))==null?void 0:J.id)||((j=e.options[0])==null?void 0:j.id)||""),[h,A]=b({}),[I,T]=b(M.DefaultStatus(e.componentId,t)),[w,K]=b({ok:!1,notice:[]}),N=ue(!1);F(()=>{o||(N.current?y(e.options):N.current=!0)},[p.Stringify((G=e.options)==null?void 0:G.map(R=>R.value))]),F(()=>{if(!v.length)return;let R=[...v],B=m({},h);R.forEach(k=>{(k==null?void 0:k.type)!="label"&&(B[p.Stringify(k==null?void 0:k.value)]=k)}),A(B)},[v]);let $={rootStates:e,val_options:v,set_options:y,val_optionFocused:C,set_optionFocused:O,val_optionsDict:h,set_optionsDict:A,val_optionsModified:o,set_optionsModified:a,val_preventOpenSelector:s,set_preventOpenSelector:d,val_openSelector:n,set_openSelector:S,val_activeInput:u,set_activeInput:c,val_keyword:i,set_keyword:f,val_status:I,set_status:T,val_validate:w,set_validate:K},Q=!!e.multiSelect;M.CommonEffects({type:Q?"autocomplete.multi":"autocomplete.single",states:e,val_status:I,set_status:T,val_validate:w,set_validate:K,SystemValidation:_e});let U=I.dataValue.length&&I.dataValue[0]!==null;return U=U||n||u,V(me,{val_status:I,set_status:T,val_validate:w,states:e,children:[l(ye,{componentId:e.componentId,fontSize:e.fontSize,required:e.required,label:e.label,isActive:U}),l(L.Shallow,m({},$)),l(L.Button,m({},$))]})}},ne=e=>{let t=m({},e);return t=g(m({value:[],min:0,max:65535,multiSelect:!0,SearchInput:!0,emptySelect:!0,SelectorComponent:({option:s,isSelected:d,isFocused:o,addCallback:a})=>s?(s==null?void 0:s.type)=="label"?l(X,{children:s.label}):l(ae.Sub.S,{color:"cloud",backgroundColor:"trans",borderRadius:0,fontColor:"2.normal",textAlign:"left",padding:["1/2",1.5],isActive:o,isActiveStyles:{backgroundColor:"cloud"},onClick:a,children:V(P.Left,{gap:"1/2",children:[d&&l(H.Check,{fontColor:"theme"}),l(q.Supplement,{transition:"short",children:s.label})]})}):null,SelectedComponent:({value:s,label:d,removeCallback:o})=>V(P.Left,{ssCardBox:"cloud",borderRadius:"2.tone.secondary",fontSize:"1.mini",padding:"1/2",gap:0,children:[l(E,{padding:[0,"1/4"],children:d}),l(ae.Clear,{flexSizing:"none",color:"nega",fontColor:"4.thin",tabIndex:-1,isRounded:!0,padding:"1/4",onClick:o,freeCSS:{lineHeight:1,aspectRatio:"1/1"},children:l(H.X,{})})]}),SelectorPosition:3},t),{freeCSS:m({cursor:"pointer"},t.freeCSS)}),t.multiSelect||(t.min=0,t.max=1),t.options=t.options||[],t.emptySelect&&(t.options=[{value:null,label:l(q.Supplement,{fontColor:"4.thin",children:"\u9078\u629E\u3092\u89E3\u9664"})},...t.options]),t.value=p.flatArray(t.value),t.options=z.InitOptions(t.options),p.is.nullish(t.rightIcon)&&(t.rightIcon=l(le,{ssSphere:2,children:l(H.Search,{})}),t.disabled&&(t.rightIcon=l(le,{ssSphere:2,fontColor:"5.translucent",children:l(H.Ban,{})}))),t.rightIcon&&(t=m({paddingRight:3},t)),t.leftIcon&&(t=m({paddingLeft:3},t)),l(fe,{componentId:t.componentId,children:L.Core,states:ve(t)})};export{ne as Autocomplete,ne as default};
1
+ import{b as m,c as g,d as ee,e as te}from"../../chunk-C5N2D3ZX.js";import{Fragment as X,jsx as l,jsxs as V}from"react/jsx-runtime";import{useState as b,useEffect as F,useRef as ue}from"react";import p,{UUID as D}from"jmini";import{ExtractStyles as ce}from"../../@utils";import{Box as E,Span as pe,FAI as H,Column as oe}from"../../atoms";import{Literal as q,Row as P}from"../../mols";import{Button as ae}from"../Button";import{Loader as de}from"../Loader";import{Sheet as Se}from"../Sheet";import{OptionalInputWrapper as fe,BoxWrapper as me,CoreEffects as M,DefaultBoxishStyles as ve}from"./core";import{InputAutocompleteClasses as W}from"../../@styles/componentClasses";import{InputLabel as ye}from"./Label";import{RightIcon as le}from".";function _e(e){let{value:t,states:s}=e,{required:d,options:o,min:a,max:n}=s;a=a||0,n=n||65535;let S=[],u=t.filter(c=>c!==null).length;return d&&(u||S.push({type:"invalid",label:"\u5FC5\u9808\u9805\u76EE\u3067\u3059"})),u<a&&S.push({type:"invalid",label:a+"\u500B\u4EE5\u4E0A\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044"}),u>n&&S.push({type:"invalid",label:n+"\u500B\u307E\u3067\u9078\u629E\u3067\u304D\u307E\u3059"}),{ok:!S.filter(({type:c})=>c=="invalid").length,notice:S}}const z={InitOptions:e=>{let t=[];return e.forEach(s=>{if(!s)return;let{type:d,label:o,value:a,searchValue:n}=s,S=n||p.is.string(o)&&o||""||p.is.string(a)&&a||p.Stringify(a||"")||"";p.is.nullish(o)&&(o=String(a)),t.push(g(m({id:D()},s),{searchValue:S,type:d||"selector",label:o,value:a}))}),t},FilterSelectableOptions:(e,t,s)=>{let d=e;return s||(d=e.filter(o=>(o==null?void 0:o.type)!="label")),p.scope(()=>{if(!t)return;let o=t.toLower().replace(/ /g,"");d=d.filter(a=>(a.searchValue||"").toLower().replace(/ /g,"").includes(o))}),d}},L={Shallow:e=>{let{rootStates:t,val_status:s}=e,d=ce(t);return l(E,{position:"absolute",top:0,left:0,right:0,height:0,overflow:"hidden",opacity:"trans",freeCSS:{zIndex:3,pointerEvents:"none"},children:l(q.Description,g(m({className:t.className},d),{position:"absolute",width:1,freeCSS:g(m({},d.freeCSS),{color:"orange"}),"data-id":"shallow_"+s.componentId,children:l(E,{"data-input-value-shallow":s.componentId,children:"A"})}))})},Button:e=>{let{rootStates:t,val_keyword:s,set_keyword:d,val_optionFocused:o,set_optionFocused:a,val_preventOpenSelector:n,set_preventOpenSelector:S,val_openSelector:u,set_openSelector:c,val_status:i,set_status:f,val_activeInput:v,set_activeInput:y,val_validate:C,set_validate:O}=e,Y=t,{tone:h,required:A,form:I,className:w,multiSelect:T,enableFormSubmit:K,checkValidationAtFirst:N,onValidate:$,onValidateDelay:Q,onUpdateValue:U,onUpdateValidValue:J,onUserAction:j,value:G="",options:R,leftIndicator:B,rightIndicator:k,leftIcon:ge,rightIcon:he,componentId:Ie,status_id:be,wrapStyles:Ce,emptySelect:De,SearchInput:Oe,SearchInputPlaceholder:we,SelectedComponent:Te,SelectorComponent:Re,SelectorStyles:ke,SelectorPosition:xe,DynamicOptionsOnSearch:Ve,DynamicOptionsOnSearchDelay:Ae}=Y,r=ee(Y,["tone","required","form","className","multiSelect","enableFormSubmit","checkValidationAtFirst","onValidate","onValidateDelay","onUpdateValue","onUpdateValidValue","onUserAction","value","options","leftIndicator","rightIndicator","leftIcon","rightIcon","componentId","status_id","wrapStyles","emptySelect","SearchInput","SearchInputPlaceholder","SelectedComponent","SelectorComponent","SelectorStyles","SelectorPosition","DynamicOptionsOnSearch","DynamicOptionsOnSearchDelay"]);return F(()=>{var x;if(t.disabled||!u||p.is.exist(o))return;let _=z.FilterSelectableOptions(e.val_options,s,!1);a(((x=_[0])==null?void 0:x.id)||"")},[s]),F(()=>{if(i.eventType!="init"&&i.eventType!="override"){if(t.max==i.dataValue.length){c(!1),S(!0),d("");return}p("#SearchInput_"+t.componentId).focus()}},[i.dataValue]),F(()=>{if(i.eventType=="override")return;let _="autocomplete-click-"+t.componentId;if(!u){p(document).removeEvent([_]);return}p('[data-input-origin="'+t.componentId+'"]')&&(p("#SearchInput_"+t.componentId).focus(),p(document).addEvent({eventID:_,eventType:"mousedown",callback:ie=>{let Z=p(ie.target),re=!!p(Z).parent("."+W("Core")).length,se=!!p(Z).parent("."+W("Selector")).length;re||se||(c(!1),y(!1))},options:{passive:!1}}))},[u]),V(X,{children:[l(E,g(m({tabIndex:0},r),{"data-disabled":t.disabled,"data-show-validation":M.isShowValidation(C,i,!!N),"data-component-id":i.componentId,"data-input-origin":i.componentId,"data-focus":!!u||!!v,className:[w,W("Core")].join(" "),onFocus:_=>{if(r!=null&&r.onFocus&&(r==null||r.onFocus(_)),!t.disabled){if(n)return S(!1);c(!0),y(!0),_.preventDefault()}},onBlur:_=>{r!=null&&r.onBlur&&(r==null||r.onBlur(_))},onCompositionStart:_=>{r!=null&&r.onCompositionStart&&(r==null||r.onCompositionStart(_))},onCompositionEnd:_=>{r!=null&&r.onCompositionEnd&&(r==null||r.onCompositionEnd(_))},onClick:_=>{r!=null&&r.onClick&&(r==null||r.onClick(_)),!t.disabled&&(c(!0),y(!0))},onKeyDown:_=>{let{key:x}=_;K&&M.SubmitForm(_,I),!u&&(x==" "||x=="ArrowDown"||x=="ArrowUp"||x=="Enter")&&(c(!0),y(!0))},children:V(P.Left,{gap:0,children:[l(pe,{width:0,overflow:"hidden",opacity:"trans",children:"A"}),V(P.Left,{flexWrap:!0,flexSizing:0,gap:"1/3",freeCSS:{letterSpacing:".5px"},children:[l(L.Selected,m({},e)),l(L.SearchInput,m({},e))]})]})})),u&&l(L.Selector,m({},e))]})},SearchInput:e=>{let{rootStates:t,val_status:s,set_status:d}=e;return t.disabled||!e.val_openSelector&&!e.val_activeInput?null:l(E,{htmlTag:"input",id:"SearchInput_"+t.componentId,placeholder:t.SearchInputPlaceholder||"\u691C\u7D22...",opacity:e.val_openSelector?"max":"middle",transition:"middle",flexSizing:0,fontSize:"inherit",border:"unset",backgroundColor:"trans",value:e.val_keyword,freeCSS:{outline:"none"},onFocus:o=>{d(a=>g(m({},a),{eventID:D(),isFocusing:!0}))},onBlur:o=>{e.set_activeInput(!1),d(a=>g(m({},a),{eventID:D(),isFocusing:!1}))},onCompositionStart:o=>{d(a=>g(m({},a),{eventID:D(),isComposing:!0}))},onCompositionEnd:o=>{d(a=>g(m({},a),{eventID:D(),isComposing:!1}))},onKeyDown:o=>{let{key:a,metaKey:n,ctrlKey:S}=o,u=n||S;a=="Tab"?(e.set_openSelector(!1),e.set_activeInput(!1),e.set_preventOpenSelector(!1)):a==" "?p.scope(()=>{e.val_openSelector||e.val_keyword||(o.preventDefault(),e.set_openSelector(!0))}):a=="Backspace"?p.scope(()=>{if(e.val_keyword)return;let c=[...e.val_status.dataValue];c.pop(),e.set_status(i=>g(m({},i),{dataValue:c,eventType:"update",eventID:D()}))}):a=="Enter"&&p.scope(()=>{if(s.isComposing||(o==null?void 0:o.keyCode)===229)return;if(!e.val_openSelector)return e.set_openSelector(!0);if(!e.val_optionFocused)return;let c=e.val_options.find(f=>(f==null?void 0:f.id)==e.val_optionFocused);if(!c)return;let{value:i}=c;e.set_status(f=>{let v=[...f.dataValue];return p.scope(()=>{if(i===null)return v=[];f.dataValue.includes(i)?v=v.filter(C=>C!==i):t.multiSelect?v.push(i):v=[i]}),g(m({},f),{dataValue:v,eventType:"update",eventID:D()})}),e.set_optionsModified(!0),e.set_keyword("")}),p.scope(()=>{if(!["ArrowDown","ArrowUp"].includes(a))return;if(o.preventDefault(),!e.val_openSelector)return e.set_openSelector(!0);let c=a=="ArrowDown"?1:-1,i=z.FilterSelectableOptions(e.val_options),f=i.length-1,v=null;p.scope(()=>{var C,O,h,A,I,w;let y=i.findIndex(T=>(T==null?void 0:T.id)==e.val_optionFocused);if(y==-1&&(y=0),c==1){if(v=(C=i[0])==null?void 0:C.id,u){v=(O=i[f])==null?void 0:O.id;return}if(y==-1||y==f)return;v=(h=i[y+1])==null?void 0:h.id}else{if(v=(A=i[f])==null?void 0:A.id,u){v=(I=i[0])==null?void 0:I.id;return}if(y==-1||y==0)return;v=(w=i[y-1])==null?void 0:w.id}}),e.set_optionFocused(v)}),t.enableFormSubmit&&M.SubmitForm(o,e.rootStates.form)},onChange:o=>{let n=o.target.value;e.set_openSelector(!0),e.set_keyword(n)}},"searchInput")},Selector:e=>{var S;let[t,s]=b("idle"),[d,o]=b("idle");F(()=>{if(!e.rootStates.DynamicOptionsOnSearch||!e.val_openSelector)return;if(e.val_optionsModified)return e.set_optionsModified(!1);if(e.val_status.isComposing)return;if(t=="idle")return s("ok");o("fetch");let u="autocomplete-search-"+e.rootStates.componentId;e.set_optionFocused(""),p.interval.once(()=>te(void 0,null,function*(){var f;let c=yield e.rootStates.DynamicOptionsOnSearch(e.val_keyword);o("idle");let i=z.InitOptions(c||[]);e.set_options(i),e.set_optionFocused(((f=i[0])==null?void 0:f.id)||"")}),e.rootStates.DynamicOptionsOnSearchDelay||500,u)},[e.val_keyword,e.val_status.isComposing]),F(()=>{let u=p(`[data-selector-id="${e.val_status.componentId}"]`)[0];if(!u)return;let c=p(`[data-autocomplete-input-value="${e.val_optionFocused}"]`)[0];c&&(u.scrollTop=c.offsetTop-24)},[e.val_optionFocused]);let a=z.FilterSelectableOptions(e.val_options,e.rootStates.DynamicOptionsOnSearch?"":e.val_keyword,!0),n={};switch(e.rootStates.SelectorPosition){case 1:n.bottom="100%",n.left=0,n.paddingBottom="1/3";break;case 2:n.bottom="100%",n.right=0,n.paddingBottom="1/3";break;case 3:n.top="100%",n.left=0,n.paddingTop="1/3";break;case 4:n.top="100%",n.right=0,n.paddingTop="1/3";break;default:break}return l(E,g(m({position:"absolute"},n),{freeCSS:m({minWidth:"75%",zIndex:1e3},n.freeCSS),children:l(Se.Body,g(m({className:W("Selector"),borderRadius:"2.tone.secondary",ssCardBox:!0,boxShadow:"1.normal",overflow:"auto","data-selector-id":e.val_status.componentId},e.rootStates.SelectorStyles),{freeCSS:m({maxHeight:12*24},(S=e.rootStates.SelectorStyles)==null?void 0:S.freeCSS),children:V(oe,{gap:"1/12",padding:[1,0],children:[d=="fetch"&&l(P.Center,{padding:"1/2",children:l(de.Theme.R,{showInitial:!0})}),d!="fetch"&&V(X,{children:[!a.length&&l(q.Supplement,{padding:[0,1],fontColor:"4.thin",children:"\u5019\u88DC\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093"}),a.map((u,c)=>{if(!u)return null;let{type:i,value:f}=u,v=e.val_optionFocused==u.id,y=e.val_status.dataValue.includes(f),C=e.rootStates.SelectorComponent;return l(oe,{"data-autocomplete-input-value":u.id,children:l(C,{option:u,isFocused:v,isSelected:y,addCallback:()=>{e.set_status(O=>{let h=[...O.dataValue];return p.scope(()=>{if(f===null)return h=[];O.dataValue.includes(f)?h=h.filter(I=>I!==f):e.rootStates.multiSelect?h.push(f):h=[f]}),g(m({},O),{dataValue:h,eventType:"update",eventID:D()})})}})},u.id)})]})]})}))}))},Selected:e=>{let{rootStates:t,val_status:s,set_status:d,val_optionsDict:o}=e,a=[];return s.dataValue.forEach(n=>{let S=o[p.Stringify(n)];if(!S)return;let u=t.SelectedComponent,c=S.label;(S==null?void 0:S.value)===null&&(c=""),a.push(l(E,{className:W("SelectedCell"),children:l(u,{value:S==null?void 0:S.value,label:c,removeCallback:i=>{if(i.stopPropagation(),i.preventDefault(),t.disabled)return;let f=[...s.dataValue];f=f.filter(v=>v!==n),d(v=>g(m({},v),{dataValue:f,eventType:"update",eventID:D()}))}})},p.Stringify(S==null?void 0:S.value)||D()))}),l(X,{children:a})},Core:e=>{var J,j,G;let{value:t}=e,[s,d]=b(!1),[o,a]=b(!1),[n,S]=b(!1),[u,c]=b(!1),[i,f]=b(""),[v,y]=b(e.options),[C,O]=b(((J=e.options.find(R=>{var B;return(R==null?void 0:R.value)===((B=e.value)==null?void 0:B[0])}))==null?void 0:J.id)||((j=e.options[0])==null?void 0:j.id)||""),[h,A]=b({}),[I,w]=b(M.DefaultStatus(e.componentId,t)),[T,K]=b({ok:!1,notice:[]}),N=ue(!1);F(()=>{o||(N.current?y(e.options):N.current=!0)},[p.Stringify((G=e.options)==null?void 0:G.map(R=>R.value))]),F(()=>{if(!v.length)return;let R=[...v],B=m({},h);R.forEach(k=>{(k==null?void 0:k.type)!="label"&&(B[p.Stringify(k==null?void 0:k.value)]=k)}),A(B)},[v]);let $={rootStates:e,val_options:v,set_options:y,val_optionFocused:C,set_optionFocused:O,val_optionsDict:h,set_optionsDict:A,val_optionsModified:o,set_optionsModified:a,val_preventOpenSelector:s,set_preventOpenSelector:d,val_openSelector:n,set_openSelector:S,val_activeInput:u,set_activeInput:c,val_keyword:i,set_keyword:f,val_status:I,set_status:w,val_validate:T,set_validate:K},Q=!!e.multiSelect;M.CommonEffects({type:Q?"autocomplete.multi":"autocomplete.single",states:e,val_status:I,set_status:w,val_validate:T,set_validate:K,SystemValidation:_e});let U=I.dataValue.length&&I.dataValue[0]!==null;return U=U||n||u,V(me,{val_status:I,set_status:w,val_validate:T,states:e,children:[l(ye,{componentId:e.componentId,fontSize:e.fontSize,required:e.required,label:e.label,isActive:U}),l(L.Shallow,m({},$)),l(L.Button,m({},$))]})}},ne=e=>{let t=m({},e);return t=g(m({value:[],min:0,max:65535,multiSelect:!0,SearchInput:!0,emptySelect:!0,SelectorComponent:({option:s,isSelected:d,isFocused:o,addCallback:a})=>s?(s==null?void 0:s.type)=="label"?l(X,{children:s.label}):l(ae.Sub.S,{color:"cloud",backgroundColor:"trans",borderRadius:0,fontColor:"2.normal",textAlign:"left",padding:["1/2",1.5],isActive:o,isActiveStyles:{backgroundColor:"cloud"},onClick:a,children:V(P.Left,{gap:"1/2",children:[d&&l(H.Check,{fontColor:"theme"}),l(q.Supplement,{transition:"short",children:s.label})]})}):null,SelectedComponent:({value:s,label:d,removeCallback:o})=>V(P.Left,{ssCardBox:"cloud",borderRadius:"2.tone.secondary",fontSize:"1.mini",padding:"1/2",gap:0,children:[l(E,{padding:[0,"1/4"],children:d}),l(ae.Clear,{flexSizing:"none",color:"nega",fontColor:"4.thin",tabIndex:-1,isRounded:!0,padding:"1/4",onClick:o,freeCSS:{lineHeight:1,aspectRatio:"1/1"},children:l(H.X,{})})]}),SelectorPosition:3},t),{freeCSS:m({cursor:"pointer"},t.freeCSS)}),t.multiSelect||(t.min=0,t.max=1),t.options=t.options||[],t.emptySelect&&(t.options=[{value:null,label:l(q.Supplement,{fontColor:"4.thin",children:"\u9078\u629E\u3092\u89E3\u9664"})},...t.options]),t.value=p.flatArray(t.value),t.options=z.InitOptions(t.options),p.is.nullish(t.rightIcon)&&(t.rightIcon=l(le,{ssSphere:2,children:l(H.Search,{})}),t.disabled&&(t.rightIcon=l(le,{ssSphere:2,fontColor:"5.translucent",children:l(H.Ban,{})}))),t.rightIcon&&(t=m({paddingRight:3},t)),t.leftIcon&&(t=m({paddingLeft:3},t)),l(fe,{componentId:t.componentId,children:L.Core,states:ve(t)})};export{ne as Autocomplete,ne as default};
@@ -1 +1 @@
1
- import{b as a,c as n,d as V}from"../../chunk-C5N2D3ZX.js";import{jsx as I}from"react/jsx-runtime";import{UUID as m}from"jmini";import{useState as S}from"react";import h from"../../atoms/Box";import{OptionalInputWrapper as x,BoxWrapper as B,CoreEffects as c,DefaultBoxishStyles as _}from"./core";import{InputSwitchClasses as k}from"../../@styles/componentClasses";function R(e){let{value:i,states:f}=e,{required:p}=f,l=[];return p&&!i&&l.push({type:"invalid",label:"ON\u306B\u306A\u3063\u3066\u3044\u307E\u305B\u3093"}),{ok:!l.filter(({type:C})=>C=="invalid").length,notice:l}}const U=e=>{let T=e,{componentId:i,required:f,form:p,enableFormSubmit:l,checkValidationAtFirst:C,onChange:y,onKeyDown:v,onValidate:w,onValidateDelay:E,onUpdateValue:W,onUpdateValidValue:A,onUserAction:H,value:D=""}=T,t=V(T,["componentId","required","form","enableFormSubmit","checkValidationAtFirst","onChange","onKeyDown","onValidate","onValidateDelay","onUpdateValue","onUpdateValidValue","onUserAction","value"]),[r,u]=S(c.DefaultStatus(e.componentId||"",D)),[d,g]=S({ok:!1,notice:[]});return c.CommonEffects({type:"color",states:e,val_status:r,set_status:u,val_validate:d,set_validate:g,SystemValidation:R}),I(B,{val_status:r,set_status:u,val_validate:d,states:e,children:I(h,a({htmlTag:"input",type:"color","data-component-id":r.componentId,value:r.dataValue,className:k("Input"),onKeyDown:o=>{v&&v(o),l&&c.SubmitForm(o,p)},onChange:o=>{let{value:s}=o.target;d.ok&&g({ok:!1,notice:[]}),u(F=>n(a({},F),{dataValue:s,eventType:"update",eventID:m()})),y&&y(o)},onFocus:o=>{t!=null&&t.onFocus&&(t==null||t.onFocus(o)),u(s=>n(a({},s),{eventID:m(),eventType:"focus.start",isFocusing:!0}))},onBlur:o=>{t!=null&&t.onBlur&&(t==null||t.onBlur(o)),u(s=>n(a({},s),{eventID:m(),eventType:"focus.end",isFocusing:!1}))}},t))})},b=e=>{let i=n(a(n(a({},_(e)),{backgroundColor:"cloud",unitHeight:3}),e),{freeCSS:a({minWidth:108},e.freeCSS)});return I(x,{componentId:e.componentId,children:U,states:i})};export{b as Color,b as default};
1
+ import{b as a,c as n,d as S}from"../../chunk-C5N2D3ZX.js";import{jsx as I}from"react/jsx-runtime";import{UUID as d}from"jmini";import{useState as T}from"react";import h from"../../atoms/Box";import{OptionalInputWrapper as x,BoxWrapper as B,CoreEffects as c,DefaultBoxishStyles as _}from"./core";import{InputSwitchClasses as k}from"../../@styles/componentClasses";function R(e){let{value:r,states:f}=e,{required:p}=f,l=[];return p&&!r&&l.push({type:"invalid",label:"ON\u306B\u306A\u3063\u3066\u3044\u307E\u305B\u3093"}),{ok:!l.filter(({type:C})=>C=="invalid").length,notice:l}}const U=e=>{let V=e,{componentId:r,required:f,form:p,enableFormSubmit:l,checkValidationAtFirst:C,onChange:y,onKeyDown:v,onValidate:w,onValidateDelay:E,onUpdateValue:W,onUpdateValidValue:A,onUserAction:H,value:D=""}=V,t=S(V,["componentId","required","form","enableFormSubmit","checkValidationAtFirst","onChange","onKeyDown","onValidate","onValidateDelay","onUpdateValue","onUpdateValidValue","onUserAction","value"]),[s,i]=T(c.DefaultStatus(e.componentId||"",D)),[m,g]=T({ok:!1,notice:[]});return c.CommonEffects({type:"color",states:e,val_status:s,set_status:i,val_validate:m,set_validate:g,SystemValidation:R}),I(B,{val_status:s,set_status:i,val_validate:m,states:e,children:I(h,a({htmlTag:"input",type:"color","data-component-id":s.componentId,value:s.dataValue,className:k("Input"),onKeyDown:o=>{v&&v(o),l&&c.SubmitForm(o,p)},onChange:o=>{let{value:u}=o.target;m.ok&&g({ok:!1,notice:[]}),i(F=>n(a({},F),{dataValue:u,eventType:"update",eventID:d()})),y&&y(o)},onFocus:o=>{t!=null&&t.onFocus&&(t==null||t.onFocus(o)),i(u=>n(a({},u),{eventID:d(),isFocusing:!0}))},onBlur:o=>{t!=null&&t.onBlur&&(t==null||t.onBlur(o)),i(u=>n(a({},u),{eventID:d(),isFocusing:!1}))}},t))})},b=e=>{let r=n(a(n(a({},_(e)),{backgroundColor:"cloud",unitHeight:3}),e),{freeCSS:a({minWidth:108},e.freeCSS)});return I(x,{componentId:e.componentId,children:U,states:r})};export{b as Color,b as default};
@@ -1 +1 @@
1
- import{b as t,c as s,d as V}from"../../chunk-C5N2D3ZX.js";import{jsx as D}from"react/jsx-runtime";import{useState as w}from"react";import K,{UUID as I}from"jmini";import{$$fromRoot as U,GenerateHTMLProps as W}from"../../@utils";import{OptionalInputWrapper as $,BoxWrapper as P,CoreEffects as R,DefaultBoxishStyles as q}from"./core";import{Flex as j}from"../../atoms";import{InputClasses as A}from"../../@styles/componentClasses";function z(e){let{value:a,states:u}=e,{required:d,numericOnly:p=!1,digits:C}=u,l=[];return d&&!a&&l.push({type:"invalid",label:"\u5FC5\u9808\u9805\u76EE\u3067\u3059"}),a&&(p&&a.match(/\D/)&&l.push({type:"invalid",label:"\u6570\u5B57\u306E\u307F\u3067\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044"}),a.length!=C&&l.push({type:"warn",label:"\u6700\u5F8C\u307E\u3067\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044"})),{ok:!l.filter(({type:S})=>S=="invalid"||S=="warn").length,notice:l}}const G=(e,a="")=>{let u=String(a),d=[];for(let p=0;p<e;p++)d[p]=u[p]||"";return{formatValue:d,dataValue:u}},B=(e="")=>{let a=e,u=a.join("");return{formatValue:a,dataValue:u}},J=e=>{let b=e,{tone:a,required:u,form:d,name:p,className:C="",digits:l,numericOnly:v=!1,enableFormSubmit:S,checkValidationAtFirst:Q,onChange:X,onKeyDown:Y,onValidate:Z,onValidateDelay:ee,onUpdateValue:te,onUpdateValidValue:ae,onUserAction:ne,value:N="",override:ie,freeCSS:re,wrapStyles:le,combineInput:oe,componentId:se,listStyles:_}=b,n=V(b,["tone","required","form","name","className","digits","numericOnly","enableFormSubmit","checkValidationAtFirst","onChange","onKeyDown","onValidate","onValidateDelay","onUpdateValue","onUpdateValidValue","onUserAction","value","override","freeCSS","wrapStyles","combineInput","componentId","listStyles"]),[m,f]=w(s(t({componentId:e.componentId||""},G(l,N)),{eventType:"init",eventID:I()})),[h,k]=w({ok:!1,notice:[]});R.CommonEffects({type:"textfield",states:e,val_status:m,set_status:f,val_validate:h,set_validate:k,SystemValidation:z});let T=[];for(let i=0;i<l;i++){let E=m.formatValue[i],H={},x=C;e.combineInput&&(x=[C,A("DigitCharacterCell"),A("Combined")].join(" ")),T.push(D("input",{type:"text",inputMode:v?"numeric":e.inputMode||"text",value:E,id:"Digit-"+i+"-"+m.componentId,className:x,style:t(t({},e.style),H),onKeyDown:c=>{let{key:o,code:L}=c;if(o=="Tab")return;c.preventDefault();let y=null;if(o=="Backspace"){let r=m.formatValue;r[i]="",f(g=>s(t(t({},g),B(r)),{eventType:"update",eventID:I()})),y=i-1}else if(["ArrowLeft","ArrowRight"].includes(o)){let r=+(o=="ArrowRight")*2-1;y=i+r}else S&&R.SubmitForm(c,d),(()=>{let r=L.match(/^(Key(.)|Digit(\d)|Numpad(\d))/);if(!r)return;let g=r[2]||r[3]||r[4];if(v&&!g.match(/\d/)||!g)return;let F=m.formatValue;F[i]=g,f(O=>s(t(t({},O),B(F)),{eventType:"update",eventID:I()})),y=i+1})();K.is.exist(y)&&U("#Digit-"+y+"-"+m.componentId).focus()},onChange:()=>{},onFocus:c=>{n!=null&&n.onFocus&&(n==null||n.onFocus(c)),f(o=>s(t({},o),{eventID:I(),eventType:"focus.start",isFocusing:!0}))},onBlur:c=>{n!=null&&n.onBlur&&(n==null||n.onBlur(c)),f(o=>s(t({},o),{eventID:I(),eventType:"focus.end",isFocusing:!1}))}},i))}return D(P,{val_status:m,set_status:f,val_validate:h,states:e,children:D(j,s(t({gap:"1/2",flexChilds:"even",flexWrap:!1,flexSizing:"auto"},_),{children:T}))})},M=e=>{e=t({},e),e=t({textAlign:"center",width:0},e),e.combineInput&&(e=s(t({textAlign:"center",width:0},e),{freeCSS:t({minWidth:12*2,marginRight:-1},e.freeCSS),listStyles:t({borderRadius:"2.tone.secondary",border:"unset",gap:0},e.listStyles)}));let a=W(q(e));return D($,{componentId:e.componentId,children:J,states:a})};export{M as DigitCharacters,M as default};
1
+ import{b as t,c as s,d as V}from"../../chunk-C5N2D3ZX.js";import{jsx as D}from"react/jsx-runtime";import{useState as w}from"react";import K,{UUID as I}from"jmini";import{$$fromRoot as U,GenerateHTMLProps as W}from"../../@utils";import{OptionalInputWrapper as $,BoxWrapper as P,CoreEffects as R,DefaultBoxishStyles as q}from"./core";import{Flex as j}from"../../atoms";import{InputClasses as A}from"../../@styles/componentClasses";function z(e){let{value:a,states:u}=e,{required:d,numericOnly:p=!1,digits:C}=u,l=[];return d&&!a&&l.push({type:"invalid",label:"\u5FC5\u9808\u9805\u76EE\u3067\u3059"}),a&&(p&&a.match(/\D/)&&l.push({type:"invalid",label:"\u6570\u5B57\u306E\u307F\u3067\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044"}),a.length!=C&&l.push({type:"warn",label:"\u6700\u5F8C\u307E\u3067\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044"})),{ok:!l.filter(({type:S})=>S=="invalid"||S=="warn").length,notice:l}}const G=(e,a="")=>{let u=String(a),d=[];for(let p=0;p<e;p++)d[p]=u[p]||"";return{formatValue:d,dataValue:u}},B=(e="")=>{let a=e,u=a.join("");return{formatValue:a,dataValue:u}},J=e=>{let x=e,{tone:a,required:u,form:d,name:p,className:C="",digits:l,numericOnly:h=!1,enableFormSubmit:S,checkValidationAtFirst:Q,onChange:X,onKeyDown:Y,onValidate:Z,onValidateDelay:ee,onUpdateValue:te,onUpdateValidValue:ae,onUserAction:ne,value:N="",override:ie,freeCSS:re,wrapStyles:le,combineInput:oe,componentId:se,listStyles:_}=x,n=V(x,["tone","required","form","name","className","digits","numericOnly","enableFormSubmit","checkValidationAtFirst","onChange","onKeyDown","onValidate","onValidateDelay","onUpdateValue","onUpdateValidValue","onUserAction","value","override","freeCSS","wrapStyles","combineInput","componentId","listStyles"]),[m,f]=w(s(t({componentId:e.componentId||""},G(l,N)),{eventType:"init",eventID:I()})),[v,k]=w({ok:!1,notice:[]});R.CommonEffects({type:"textfield",states:e,val_status:m,set_status:f,val_validate:v,set_validate:k,SystemValidation:z});let b=[];for(let i=0;i<l;i++){let E=m.formatValue[i],H={},T=C;e.combineInput&&(T=[C,A("DigitCharacterCell"),A("Combined")].join(" ")),b.push(D("input",{type:"text",inputMode:h?"numeric":e.inputMode||"text",value:E,id:"Digit-"+i+"-"+m.componentId,className:T,style:t(t({},e.style),H),onKeyDown:c=>{let{key:o,code:L}=c;if(o=="Tab")return;c.preventDefault();let y=null;if(o=="Backspace"){let r=m.formatValue;r[i]="",f(g=>s(t(t({},g),B(r)),{eventType:"update",eventID:I()})),y=i-1}else if(["ArrowLeft","ArrowRight"].includes(o)){let r=+(o=="ArrowRight")*2-1;y=i+r}else S&&R.SubmitForm(c,d),(()=>{let r=L.match(/^(Key(.)|Digit(\d)|Numpad(\d))/);if(!r)return;let g=r[2]||r[3]||r[4];if(h&&!g.match(/\d/)||!g)return;let F=m.formatValue;F[i]=g,f(O=>s(t(t({},O),B(F)),{eventType:"update",eventID:I()})),y=i+1})();K.is.exist(y)&&U("#Digit-"+y+"-"+m.componentId).focus()},onChange:()=>{},onFocus:c=>{n!=null&&n.onFocus&&(n==null||n.onFocus(c)),f(o=>s(t({},o),{eventID:I(),isFocusing:!0}))},onBlur:c=>{n!=null&&n.onBlur&&(n==null||n.onBlur(c)),f(o=>s(t({},o),{eventID:I(),isFocusing:!1}))}},i))}return D(P,{val_status:m,set_status:f,val_validate:v,states:e,children:D(j,s(t({gap:"1/2",flexChilds:"even",flexWrap:!1,flexSizing:"auto"},_),{children:b}))})},M=e=>{e=t({},e),e=t({textAlign:"center",width:0},e),e.combineInput&&(e=s(t({textAlign:"center",width:0},e),{freeCSS:t({minWidth:12*2,marginRight:-1},e.freeCSS),listStyles:t({borderRadius:"2.tone.secondary",border:"unset",gap:0},e.listStyles)}));let a=W(q(e));return D($,{componentId:e.componentId,children:J,states:a})};export{M as DigitCharacters,M as default};
@@ -1 +1 @@
1
- import{b as e,c as n,d as p}from"../../chunk-C5N2D3ZX.js";import{jsx as i}from"react/jsx-runtime";import{Box as s,Span as u}from"../../atoms";const c=t=>{if(t||(t="border"),t=="plain")return{};let r={flexSizing:"none",padding:1,borderRadius:"2.tone.secondary",backgroundColor:"cloud"};return t=="border"?r=n(e({},r),{border:!0}):t=="cloud"?r=n(e({},r),{border:"1.thin"}):t=="bottomBorder"&&(r=n(e({},r),{borderRadius:0,borderBottom:!0})),r},d={position:"absolute",flexCenter:!0,fontColor:"theme",fontSize:"1.mini",backgroundColor:"inherit",top:"50%",freeCSS:{pointerEvents:"none",transform:"translateY(-50%)"}},I=t=>i(u,e({children:"\u5FC5\u9808",fontColor:"white",fontSize:"0.xs",padding:["1/4","1/3"],backgroundColor:"nega",borderRadius:"3.tone.tertiary"},t)),b=t=>i(u,e({children:"*",fontColor:"nega",padding:["1/4","1/3"],borderRadius:"3.tone.tertiary"},t)),h=t=>i(u,e({children:"\u7701\u7565\u53EF",fontColor:"white",fontSize:"0.xs",padding:["1/4","1/3"],borderRadius:"3.tone.tertiary",backgroundColor:"layer.6"},t)),x=t=>{let o=t,{tone:r}=o,a=p(o,["tone"]);return i(s,e(n(e({},c(r)),{borderTopRightRadius:"2/3",borderBottomRightRadius:"2/3"}),a))},m=t=>{let o=t,{tone:r}=o,a=p(o,["tone"]);return i(s,e(n(e({},c(r)),{borderTopLeftRadius:"2/3",borderBottomLeftRadius:"2/3"}),a))},y=t=>{let o=t,{tone:r="border"}=o,a=p(o,["tone"]);return i(s,n(e(n(e({},d),{right:"3/4"}),a),{freeCSS:e(e({},d.freeCSS),a.freeCSS)}))},F=t=>{let o=t,{tone:r="border"}=o,a=p(o,["tone"]);return i(s,n(e(n(e({},d),{left:"3/4"}),a),{freeCSS:e(e({},d.freeCSS),a.freeCSS)}))};export{F as LeftIcon,x as LeftIndicator,h as OmitSign,b as RequiredShortSign,I as RequiredSign,y as RightIcon,m as RightIndicator};
1
+ import{b as e,c as n,d as p}from"../../chunk-C5N2D3ZX.js";import{jsx as i}from"react/jsx-runtime";import{Box as s,Span as u}from"../../atoms";const c=t=>{if(t||(t="border"),t=="plain")return{};let r={flexSizing:"none",padding:1,borderRadius:"2.tone.secondary",backgroundColor:"cloud"};return t=="border"?r=n(e({},r),{border:!0}):t=="cloud"?r=n(e({},r),{border:"1.thin"}):t=="bottomBorder"&&(r=n(e({},r),{borderRadius:0,borderBottom:!0})),r},d={position:"absolute",flexCenter:!0,fontColor:"theme",fontSize:"1.mini",backgroundColor:"inherit",top:"50%",freeCSS:{pointerEvents:"none",transform:"translateY(-50%)"}},I=t=>i(u,e({children:"\u5FC5\u9808",fontColor:"white",fontSize:"0.xs",padding:["1/4","1/3"],backgroundColor:"nega",borderRadius:"3.tone.tertiary"},t)),b=t=>i(u,e({children:"*",fontColor:"nega",padding:["1/4","1/3"],borderRadius:"3.tone.tertiary"},t)),h=t=>i(u,e({children:"\u7701\u7565\u53EF",fontColor:"white",fontSize:"0.xs",padding:["1/4","1/3"],borderRadius:"3.tone.tertiary",backgroundColor:"layer.6"},t)),x=t=>{let o=t,{tone:r}=o,a=p(o,["tone"]);return i(s,e(n(e({},c(r)),{borderTopRightRadius:"2/3",borderBottomRightRadius:"2/3"}),a))},m=t=>{let o=t,{tone:r}=o,a=p(o,["tone"]);return i(s,e(n(e({},c(r)),{borderTopLeftRadius:"2/3",borderBottomLeftRadius:"2/3"}),a))},y=t=>{let o=t,{tone:r="border"}=o,a=p(o,["tone"]);return i(s,n(e(n(e({},d),{right:1}),a),{freeCSS:e(e({},d.freeCSS),a.freeCSS)}))},F=t=>{let o=t,{tone:r="border"}=o,a=p(o,["tone"]);return i(s,n(e(n(e({},d),{left:1}),a),{freeCSS:e(e({},d.freeCSS),a.freeCSS)}))};export{F as LeftIcon,x as LeftIndicator,h as OmitSign,b as RequiredShortSign,I as RequiredSign,y as RightIcon,m as RightIndicator};
@@ -1 +1 @@
1
- import{b as o,c as u,d as H}from"../../chunk-C5N2D3ZX.js";import{Fragment as J,jsx as a,jsxs as T}from"react/jsx-runtime";import d,{UUID as C}from"jmini";import{useState as A,useEffect as $}from"react";import{ExtractStyles as Ve}from"../../@utils";import{Box as _,Span as Te,FAI as le,Column as Oe}from"../../atoms";import{Literal as W,Row as j}from"../../mols";import{Button as Fe}from"../Button";import{Sheet as xe}from"../Sheet";import{OptionalInputWrapper as De,BoxWrapper as we,CoreEffects as k,DefaultBoxishStyles as Re}from"./core";import{InputAutocompleteClasses as B}from"../../@styles/componentClasses";import{InputLabel as ke}from"./Label";import{RightIcon as Ae}from".";function Be(e){let{value:t,states:l}=e,{required:n,options:c}=l,y=[];return n&&t===null&&y.push({type:"invalid",label:"\u5FC5\u9808\u9805\u76EE\u3067\u3059"}),{ok:!y.filter(({type:S})=>S=="invalid").length,notice:y}}const ae={FilterSelectableOptions:(e,t)=>{let l=e.rootStates.options;return t||(l=l.filter(n=>(n==null?void 0:n.type)!="label")),l}},V={Shallow:e=>{let{rootStates:t,val_status:l}=e,n=Ve(t);return a(_,{position:"absolute",top:0,left:0,right:0,height:0,overflow:"hidden",opacity:"trans",freeCSS:{zIndex:3,pointerEvents:"none"},children:a(W.Description,u(o({className:t.className},n),{position:"absolute",width:1,freeCSS:u(o({},n.freeCSS),{color:"orange"}),children:a(_,{"data-input-value-shallow":l.componentId,children:"A"})}))})},Button:e=>T(J,{children:[a(V.LegacySelector,o({},e)),a(V.Original,o({},e))]}),Placeholder:e=>!e.rootStates.placeholder||e.val_status.dataValue!==null?null:a(_,{position:"absolute",opacity:"middle",fontColor:"3.blur",children:e.rootStates.placeholder||""}),Original:e=>{let{rootStates:t,val_preventOpenSelectorOnFocus:l,set_preventOpenSelectorOnFocus:n,val_optionFocused:c,set_optionFocused:y,val_validate:S,set_validate:I,val_status:p,set_status:b,val_selectorOpen:g,set_selectorOpen:f}=e,U=t,{tone:E,required:L,form:x,className:O,label:ne,isLabelActive:re,placeholder:se,enableFormSubmit:P,emptySelect:X,checkValidationAtFirst:M,onValidate:ie,onValidateDelay:ce,onUpdateValue:ue,onUpdateValidValue:de,onUserAction:pe,value:N="",options:K,leftIndicator:Se,rightIndicator:G,leftIcon:fe,rightIcon:me,componentId:ye,status_id:ve,wrapStyles:ge,SelectedCellStyles:be,SelectorCellStyles:Ie,SelectorMode:he,SelectorStyles:Ce,SelectorPosition:_e}=U,r=H(U,["tone","required","form","className","label","isLabelActive","placeholder","enableFormSubmit","emptySelect","checkValidationAtFirst","onValidate","onValidateDelay","onUpdateValue","onUpdateValidValue","onUserAction","value","options","leftIndicator","rightIndicator","leftIcon","rightIcon","componentId","status_id","wrapStyles","SelectedCellStyles","SelectorCellStyles","SelectorMode","SelectorStyles","SelectorPosition"]);return $(()=>{if(e.rootStates.SelectorMode!="original"||t.disabled)return;let s="select-click-"+t.componentId;if(g){if(!d('[data-input-origin="'+t.componentId+'"]'))return;d(document).addEvent({eventID:s,eventType:"click",callback:i=>{let D=d(i.target),w=!!d(D).parent("."+B("Core")).length;d(D).parent("."+B("Selector")).length||w||f(!1)}})}else d(document).removeEvent([s])},[g]),$(()=>{if(e.rootStates.SelectorMode!="original"||p.eventType=="init"||!g)return;let s=d('[data-input-origin="'+t.componentId+'"]');s&&s.focus()},[p.dataValue]),e.rootStates.SelectorMode!="original"?null:T(J,{children:[a(_,u(o({tabIndex:0},r),{"data-disabled":t.disabled,"data-show-validation":k.isShowValidation(S,p,!!M),"data-component-id":p.componentId,"data-input-origin":p.componentId,className:[O,B("Core")].join(" "),onFocus:s=>{if(r!=null&&r.onFocus&&(r==null||r.onFocus(s)),b(m=>u(o({},m),{eventID:C(),eventType:"focus.start",isFocusing:!0})),!t.disabled){if(l)return n(!1);f(!0)}},onBlur:s=>{r!=null&&r.onBlur&&(r==null||r.onBlur(s)),b(m=>u(o({},m),{eventID:C(),eventType:"focus.end",isFocusing:!1}))},onClick:s=>{r!=null&&r.onClick&&(r==null||r.onClick(s)),!t.disabled&&f(!0)},onKeyDown:s=>{let{key:m,metaKey:i,ctrlKey:D}=s,w=i||D;if(r!=null&&r.onKeyDown&&(r==null||r.onKeyDown(s)),P&&k.SubmitForm(s,x),!t.disabled){if(d.scope(()=>{if(!["ArrowDown","ArrowUp"].includes(m))return;if(s.preventDefault(),!g)return f(!0);let h=m=="ArrowDown"?1:-1,v=ae.FilterSelectableOptions(e),q=v.length-1,F=null;d.scope(()=>{var Q,Y,Z,ee,te;let R=v.findIndex(z=>(z==null?void 0:z.id)==c);if(h==1){if(F=(Q=v[0])==null?void 0:Q.id,w){F=v[q].id;return}if(R==-1||R==q)return;F=(Y=v[R+1])==null?void 0:Y.id}else{if(F=(Z=v[q])==null?void 0:Z.id,w){F=(ee=v[0])==null?void 0:ee.id;return}if(R==-1||R==0)return;F=(te=v[R-1])==null?void 0:te.id}}),y(F)}),m=="Escape")f(!1);else if(m=="Tab")f(!1);else if(m=="Backspace")b(h=>u(o({},h),{dataValue:null,eventType:"update",eventID:C()}));else if(m==" ")s.preventDefault(),f(!0);else if(m=="Enter"){if(!g)return f(!0);s.preventDefault();let h=t.options.find(v=>(v==null?void 0:v.id)==c);if(!h)return;b(v=>u(o({},v),{dataValue:h==null?void 0:h.value,eventType:"update",eventID:C()})),f(!1)}}},children:T(j.Left,{gap:0,children:[a(Te,{width:0,overflow:"hidden",opacity:"trans",children:"A"}),T(j.Left,{flexWrap:!0,gap:"1/3",freeCSS:{letterSpacing:".5px"},children:[a(V.Placeholder,o({},e)),a(V.Selected,o({},e))]})]})})),g&&a(V.Selector,o({},e))]})},LegacySelector:e=>{let{rootStates:t,val_preventOpenSelectorOnFocus:l,set_preventOpenSelectorOnFocus:n,val_optionFocused:c,set_optionFocused:y,val_validate:S,set_validate:I,val_status:p,set_status:b,val_selectorOpen:g,set_selectorOpen:f}=e,m=t,{tone:E,required:L,form:x,className:O,label:ne,isLabelActive:re,placeholder:se,enableFormSubmit:P,emptySelect:X,checkValidationAtFirst:M,onValidate:ie,onValidateDelay:ce,onUpdateValue:ue,onUpdateValidValue:de,onUserAction:pe,onKeyDown:N,onChange:K,value:Se="",options:G,leftIndicator:fe,rightIndicator:me,leftIcon:ye,rightIcon:ve,componentId:ge,status_id:be,wrapStyles:Ie,SelectedCellStyles:he,SelectorCellStyles:Ce,SelectorMode:_e,SelectorStyles:r,SelectorPosition:U}=m,s=H(m,["tone","required","form","className","label","isLabelActive","placeholder","enableFormSubmit","emptySelect","checkValidationAtFirst","onValidate","onValidateDelay","onUpdateValue","onUpdateValidValue","onUserAction","onKeyDown","onChange","value","options","leftIndicator","rightIndicator","leftIcon","rightIcon","componentId","status_id","wrapStyles","SelectedCellStyles","SelectorCellStyles","SelectorMode","SelectorStyles","SelectorPosition"]);return e.rootStates.SelectorMode!="legacy"?null:T(_,u(o({htmlTag:"select",tabIndex:0},s),{"data-disabled":t.disabled,"data-show-validation":k.isShowValidation(S,p,!!M),"data-component-id":p.componentId,"data-input-origin":p.componentId,className:[O,B("Core")].join(" "),onKeyDown:i=>{N&&N(i),P&&k.SubmitForm(i,x)},onChange:i=>{let{value:D}=i.target;S.ok&&I({ok:!1,notice:[]}),b(w=>u(o({},w),{dataValue:D,eventType:"update",eventID:C()})),K&&K(i)},children:[!!X&&a("option",{value:"null",children:"\u9078\u629E"}),G.map(i=>d.is.nullish(i==null?void 0:i.value)?null:a("option",{value:i==null?void 0:i.value,children:i.label},String(i==null?void 0:i.value)))]}))},Selector:e=>{var n;$(()=>{let c=d(`[data-selector-id="${e.val_status.componentId}"]`)[0];if(!c)return;let y=d(`[data-select-input-value="${e.val_optionFocused}"]`)[0];y&&(c.scrollTop=y.offsetTop-24)},[e.val_optionFocused]);let t=ae.FilterSelectableOptions(e,!0),l={position:"absolute",minWidth:1,freeCSS:{zIndex:1e3}};switch(e.rootStates.SelectorPosition){case 1:l.bottom="100%",l.left=0,l.paddingBottom="1/3";break;case 2:l.bottom="100%",l.right=0,l.paddingBottom="1/3";break;case 3:l.top="100%",l.left=0,l.paddingTop="1/3";break;case 4:l.top="100%",l.right=0,l.paddingTop="1/3";break;default:break}return a(_,u(o({},l),{children:a(xe.Body,u(o({className:B("Selector"),ssCardBox:!0,borderRadius:"2.tone.secondary",boxShadow:"1.normal",overflow:"auto","data-selector-id":e.val_status.componentId},e.rootStates.SelectorStyles),{freeCSS:o({minWidth:12*6,maxHeight:12*24},(n=e.rootStates.SelectorStyles)==null?void 0:n.freeCSS),children:T(Oe,{gap:"1/12",padding:[1,0],children:[t.map((c,y)=>{if(!c)return null;let{type:S,value:I}=c,p=e.val_optionFocused==c.id,b=e.val_status.dataValue===I;return S=="label"?a(_,{children:c.label},C()):a(Fe.Sub.S,u(o({"data-select-input-value":c.id,color:"cloud",backgroundColor:"trans",borderRadius:0,fontColor:"2.normal",textAlign:"left",padding:["1/2",1],isActive:b||p,isActiveStyles:p?{backgroundColor:"cloud"}:{backgroundColor:"theme.opa.few",fontColor:"theme"}},e.rootStates.SelectorCellStyles),{onClick:g=>{e.set_status(f=>u(o({},f),{dataValue:I,eventType:"update",eventID:C()})),e.set_selectorOpen(!1),e.set_preventOpenSelectorOnFocus(!0)},children:T(j.Left,{gap:"1/2",children:[b&&a(le.Check,{fontColor:"theme"}),a(W.Supplement,{transition:"short",flexSizing:0,children:c.label})]})}),c.id)}),!t.length&&a(W.Supplement,{padding:[0,1],fontColor:"4.thin",children:"\u5019\u88DC\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093"},"no-selector-notice")]})}))}))},Selected:e=>{let t=[];return e.val_status.dataValue!==null&&d.scope(()=>{let l=e.rootStates.options.find(n=>d.is.equal(n==null?void 0:n.value,e.val_status.dataValue));l&&t.push(a(_,u(o({},e.rootStates.SelectedCellStyles),{children:l.label}),String(l==null?void 0:l.value)))}),a(J,{children:t})},Core:e=>{var L,x;let{value:t}=e,[l,n]=A(k.DefaultStatus(e.componentId,t)),[c,y]=A(!1),[S,I]=A(!1),[p,b]=A(((L=e.options.find(O=>(O==null?void 0:O.value)===e.value))==null?void 0:L.id)||((x=e.options[0])==null?void 0:x.id)||""),[g,f]=A({ok:!1,notice:[]}),E={rootStates:e,val_preventOpenSelectorOnFocus:c,set_preventOpenSelectorOnFocus:y,val_optionFocused:p,set_optionFocused:b,val_selectorOpen:S,set_selectorOpen:I,val_status:l,set_status:n,val_validate:g,set_validate:f};return k.CommonEffects({type:"select",states:e,val_status:l,set_status:n,val_validate:g,set_validate:f,SystemValidation:Be}),T(we,{val_status:l,set_status:n,val_validate:g,states:e,children:[a(ke,{componentId:e.componentId,fontSize:e.fontSize,required:e.required,label:e.label,isActive:e.isLabelActive||l.dataValue!==null}),a(V.Shallow,o({},E)),a(V.Button,o({},E))]})}},oe=e=>{var l;let t=o({},e);return t=u(o({emptySelect:!0,SelectorMode:"original",SelectorPosition:3},t),{freeCSS:o({cursor:"pointer"},t.freeCSS)}),t.emptySelect&&(t.options=[{value:null,label:a(W.Supplement,{fontColor:"4.thin",children:"\u672A\u9078\u629E"})},...t.options]),t.value=(l=t.value)!=null?l:null,t.options.forEach((n,c)=>{if(!n)return;let{type:y,value:S,searchValue:I}=n,p=I||d.is.string(S)&&S||d.Stringify(S||"")||"";t.options[c]=u(o({id:C()},n),{value:S,searchValue:p,type:y||"selector"})}),d.is.nullish(t.rightIcon)&&(t.rightIcon=a(Ae,{ssSphere:2,children:a(le.AngleDown,{})})),a(De,{componentId:t.componentId,children:V.Core,states:Re(t)})};export{oe as Select,oe as default};
1
+ import{b as o,c as u,d as H}from"../../chunk-C5N2D3ZX.js";import{Fragment as J,jsx as a,jsxs as O}from"react/jsx-runtime";import d,{UUID as C}from"jmini";import{useState as A,useEffect as $}from"react";import{ExtractStyles as Ve}from"../../@utils";import{Box as _,Span as Oe,FAI as le,Column as Te}from"../../atoms";import{Literal as W,Row as j}from"../../mols";import{Button as Fe}from"../Button";import{Sheet as xe}from"../Sheet";import{OptionalInputWrapper as De,BoxWrapper as we,CoreEffects as k,DefaultBoxishStyles as Re}from"./core";import{InputAutocompleteClasses as B}from"../../@styles/componentClasses";import{InputLabel as ke}from"./Label";import{RightIcon as Ae}from".";function Be(e){let{value:t,states:l}=e,{required:n,options:c}=l,y=[];return n&&t===null&&y.push({type:"invalid",label:"\u5FC5\u9808\u9805\u76EE\u3067\u3059"}),{ok:!y.filter(({type:S})=>S=="invalid").length,notice:y}}const ae={FilterSelectableOptions:(e,t)=>{let l=e.rootStates.options;return t||(l=l.filter(n=>(n==null?void 0:n.type)!="label")),l}},V={Shallow:e=>{let{rootStates:t,val_status:l}=e,n=Ve(t);return a(_,{position:"absolute",top:0,left:0,right:0,height:0,overflow:"hidden",opacity:"trans",freeCSS:{zIndex:3,pointerEvents:"none"},children:a(W.Description,u(o({className:t.className},n),{position:"absolute",width:1,freeCSS:u(o({},n.freeCSS),{color:"orange"}),children:a(_,{"data-input-value-shallow":l.componentId,children:"A"})}))})},Button:e=>O(J,{children:[a(V.LegacySelector,o({},e)),a(V.Original,o({},e))]}),Placeholder:e=>!e.rootStates.placeholder||e.val_status.dataValue!==null?null:a(_,{position:"absolute",opacity:"middle",fontColor:"3.blur",children:e.rootStates.placeholder||""}),Original:e=>{let{rootStates:t,val_preventOpenSelectorOnFocus:l,set_preventOpenSelectorOnFocus:n,val_optionFocused:c,set_optionFocused:y,val_validate:S,set_validate:I,val_status:p,set_status:b,val_selectorOpen:g,set_selectorOpen:f}=e,U=t,{tone:E,required:L,form:x,className:T,label:ne,isLabelActive:re,placeholder:se,enableFormSubmit:P,emptySelect:X,checkValidationAtFirst:M,onValidate:ie,onValidateDelay:ce,onUpdateValue:ue,onUpdateValidValue:de,onUserAction:pe,value:N="",options:K,leftIndicator:Se,rightIndicator:G,leftIcon:fe,rightIcon:me,componentId:ye,status_id:ve,wrapStyles:ge,SelectedCellStyles:be,SelectorCellStyles:Ie,SelectorMode:he,SelectorStyles:Ce,SelectorPosition:_e}=U,r=H(U,["tone","required","form","className","label","isLabelActive","placeholder","enableFormSubmit","emptySelect","checkValidationAtFirst","onValidate","onValidateDelay","onUpdateValue","onUpdateValidValue","onUserAction","value","options","leftIndicator","rightIndicator","leftIcon","rightIcon","componentId","status_id","wrapStyles","SelectedCellStyles","SelectorCellStyles","SelectorMode","SelectorStyles","SelectorPosition"]);return $(()=>{if(e.rootStates.SelectorMode!="original"||t.disabled)return;let s="select-click-"+t.componentId;if(g){if(!d('[data-input-origin="'+t.componentId+'"]'))return;d(document).addEvent({eventID:s,eventType:"click",callback:i=>{let D=d(i.target),w=!!d(D).parent("."+B("Core")).length;d(D).parent("."+B("Selector")).length||w||f(!1)}})}else d(document).removeEvent([s])},[g]),$(()=>{if(e.rootStates.SelectorMode!="original"||p.eventType=="init"||!g)return;let s=d('[data-input-origin="'+t.componentId+'"]');s&&s.focus()},[p.dataValue]),e.rootStates.SelectorMode!="original"?null:O(J,{children:[a(_,u(o({tabIndex:0},r),{"data-disabled":t.disabled,"data-show-validation":k.isShowValidation(S,p,!!M),"data-component-id":p.componentId,"data-input-origin":p.componentId,className:[T,B("Core")].join(" "),onFocus:s=>{if(r!=null&&r.onFocus&&(r==null||r.onFocus(s)),b(m=>u(o({},m),{eventID:C(),isFocusing:!0})),!t.disabled){if(l)return n(!1);f(!0)}},onBlur:s=>{r!=null&&r.onBlur&&(r==null||r.onBlur(s)),b(m=>u(o({},m),{eventID:C(),isFocusing:!1}))},onClick:s=>{r!=null&&r.onClick&&(r==null||r.onClick(s)),!t.disabled&&f(!0)},onKeyDown:s=>{let{key:m,metaKey:i,ctrlKey:D}=s,w=i||D;if(r!=null&&r.onKeyDown&&(r==null||r.onKeyDown(s)),P&&k.SubmitForm(s,x),!t.disabled){if(d.scope(()=>{if(!["ArrowDown","ArrowUp"].includes(m))return;if(s.preventDefault(),!g)return f(!0);let h=m=="ArrowDown"?1:-1,v=ae.FilterSelectableOptions(e),q=v.length-1,F=null;d.scope(()=>{var Q,Y,Z,ee,te;let R=v.findIndex(z=>(z==null?void 0:z.id)==c);if(h==1){if(F=(Q=v[0])==null?void 0:Q.id,w){F=v[q].id;return}if(R==-1||R==q)return;F=(Y=v[R+1])==null?void 0:Y.id}else{if(F=(Z=v[q])==null?void 0:Z.id,w){F=(ee=v[0])==null?void 0:ee.id;return}if(R==-1||R==0)return;F=(te=v[R-1])==null?void 0:te.id}}),y(F)}),m=="Escape")f(!1);else if(m=="Tab")f(!1);else if(m=="Backspace")b(h=>u(o({},h),{dataValue:null,eventType:"update",eventID:C()}));else if(m==" ")s.preventDefault(),f(!0);else if(m=="Enter"){if(!g)return f(!0);s.preventDefault();let h=t.options.find(v=>(v==null?void 0:v.id)==c);if(!h)return;b(v=>u(o({},v),{dataValue:h==null?void 0:h.value,eventType:"update",eventID:C()})),f(!1)}}},children:O(j.Left,{gap:0,children:[a(Oe,{width:0,overflow:"hidden",opacity:"trans",children:"A"}),O(j.Left,{flexWrap:!0,gap:"1/3",freeCSS:{letterSpacing:".5px"},children:[a(V.Placeholder,o({},e)),a(V.Selected,o({},e))]})]})})),g&&a(V.Selector,o({},e))]})},LegacySelector:e=>{let{rootStates:t,val_preventOpenSelectorOnFocus:l,set_preventOpenSelectorOnFocus:n,val_optionFocused:c,set_optionFocused:y,val_validate:S,set_validate:I,val_status:p,set_status:b,val_selectorOpen:g,set_selectorOpen:f}=e,m=t,{tone:E,required:L,form:x,className:T,label:ne,isLabelActive:re,placeholder:se,enableFormSubmit:P,emptySelect:X,checkValidationAtFirst:M,onValidate:ie,onValidateDelay:ce,onUpdateValue:ue,onUpdateValidValue:de,onUserAction:pe,onKeyDown:N,onChange:K,value:Se="",options:G,leftIndicator:fe,rightIndicator:me,leftIcon:ye,rightIcon:ve,componentId:ge,status_id:be,wrapStyles:Ie,SelectedCellStyles:he,SelectorCellStyles:Ce,SelectorMode:_e,SelectorStyles:r,SelectorPosition:U}=m,s=H(m,["tone","required","form","className","label","isLabelActive","placeholder","enableFormSubmit","emptySelect","checkValidationAtFirst","onValidate","onValidateDelay","onUpdateValue","onUpdateValidValue","onUserAction","onKeyDown","onChange","value","options","leftIndicator","rightIndicator","leftIcon","rightIcon","componentId","status_id","wrapStyles","SelectedCellStyles","SelectorCellStyles","SelectorMode","SelectorStyles","SelectorPosition"]);return e.rootStates.SelectorMode!="legacy"?null:O(_,u(o({htmlTag:"select",tabIndex:0},s),{"data-disabled":t.disabled,"data-show-validation":k.isShowValidation(S,p,!!M),"data-component-id":p.componentId,"data-input-origin":p.componentId,className:[T,B("Core")].join(" "),onKeyDown:i=>{N&&N(i),P&&k.SubmitForm(i,x)},onChange:i=>{let{value:D}=i.target;S.ok&&I({ok:!1,notice:[]}),b(w=>u(o({},w),{dataValue:D,eventType:"update",eventID:C()})),K&&K(i)},children:[!!X&&a("option",{value:"null",children:"\u9078\u629E"}),G.map(i=>d.is.nullish(i==null?void 0:i.value)?null:a("option",{value:i==null?void 0:i.value,children:i.label},String(i==null?void 0:i.value)))]}))},Selector:e=>{var n;$(()=>{let c=d(`[data-selector-id="${e.val_status.componentId}"]`)[0];if(!c)return;let y=d(`[data-select-input-value="${e.val_optionFocused}"]`)[0];y&&(c.scrollTop=y.offsetTop-24)},[e.val_optionFocused]);let t=ae.FilterSelectableOptions(e,!0),l={position:"absolute",minWidth:1,freeCSS:{zIndex:1e3}};switch(e.rootStates.SelectorPosition){case 1:l.bottom="100%",l.left=0,l.paddingBottom="1/3";break;case 2:l.bottom="100%",l.right=0,l.paddingBottom="1/3";break;case 3:l.top="100%",l.left=0,l.paddingTop="1/3";break;case 4:l.top="100%",l.right=0,l.paddingTop="1/3";break;default:break}return a(_,u(o({},l),{children:a(xe.Body,u(o({className:B("Selector"),ssCardBox:!0,borderRadius:"2.tone.secondary",boxShadow:"1.normal",overflow:"auto","data-selector-id":e.val_status.componentId},e.rootStates.SelectorStyles),{freeCSS:o({minWidth:12*6,maxHeight:12*24},(n=e.rootStates.SelectorStyles)==null?void 0:n.freeCSS),children:O(Te,{gap:"1/12",padding:[1,0],children:[t.map((c,y)=>{if(!c)return null;let{type:S,value:I}=c,p=e.val_optionFocused==c.id,b=e.val_status.dataValue===I;return S=="label"?a(_,{children:c.label},C()):a(Fe.Sub.S,u(o({"data-select-input-value":c.id,color:"cloud",backgroundColor:"trans",borderRadius:0,fontColor:"2.normal",textAlign:"left",padding:["1/2",1],isActive:b||p,isActiveStyles:p?{backgroundColor:"cloud"}:{backgroundColor:"theme.opa.few",fontColor:"theme"}},e.rootStates.SelectorCellStyles),{onClick:g=>{e.set_status(f=>u(o({},f),{dataValue:I,eventType:"update",eventID:C()})),e.set_selectorOpen(!1),e.set_preventOpenSelectorOnFocus(!0)},children:O(j.Left,{gap:"1/2",children:[b&&a(le.Check,{fontColor:"theme"}),a(W.Supplement,{transition:"short",flexSizing:0,children:c.label})]})}),c.id)}),!t.length&&a(W.Supplement,{padding:[0,1],fontColor:"4.thin",children:"\u5019\u88DC\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093"},"no-selector-notice")]})}))}))},Selected:e=>{let t=[];return e.val_status.dataValue!==null&&d.scope(()=>{let l=e.rootStates.options.find(n=>d.is.equal(n==null?void 0:n.value,e.val_status.dataValue));l&&t.push(a(_,u(o({},e.rootStates.SelectedCellStyles),{children:l.label}),String(l==null?void 0:l.value)))}),a(J,{children:t})},Core:e=>{var L,x;let{value:t}=e,[l,n]=A(k.DefaultStatus(e.componentId,t)),[c,y]=A(!1),[S,I]=A(!1),[p,b]=A(((L=e.options.find(T=>(T==null?void 0:T.value)===e.value))==null?void 0:L.id)||((x=e.options[0])==null?void 0:x.id)||""),[g,f]=A({ok:!1,notice:[]}),E={rootStates:e,val_preventOpenSelectorOnFocus:c,set_preventOpenSelectorOnFocus:y,val_optionFocused:p,set_optionFocused:b,val_selectorOpen:S,set_selectorOpen:I,val_status:l,set_status:n,val_validate:g,set_validate:f};return k.CommonEffects({type:"select",states:e,val_status:l,set_status:n,val_validate:g,set_validate:f,SystemValidation:Be}),O(we,{val_status:l,set_status:n,val_validate:g,states:e,children:[a(ke,{componentId:e.componentId,fontSize:e.fontSize,required:e.required,label:e.label,isActive:e.isLabelActive||l.dataValue!==null}),a(V.Shallow,o({},E)),a(V.Button,o({},E))]})}},oe=e=>{var l;let t=o({},e);return t=u(o({emptySelect:!0,SelectorMode:"original",SelectorPosition:3},t),{freeCSS:o({cursor:"pointer"},t.freeCSS)}),t.emptySelect&&(t.options=[{value:null,label:a(W.Supplement,{fontColor:"4.thin",children:"\u672A\u9078\u629E"})},...t.options]),t.value=(l=t.value)!=null?l:null,t.options.forEach((n,c)=>{if(!n)return;let{type:y,value:S,searchValue:I}=n,p=I||d.is.string(S)&&S||d.Stringify(S||"")||"";t.options[c]=u(o({id:C()},n),{value:S,searchValue:p,type:y||"selector"})}),d.is.nullish(t.rightIcon)&&(t.rightIcon=a(Ae,{ssSphere:2,children:a(le.AngleDown,{})})),a(De,{componentId:t.componentId,children:V.Core,states:Re(t)})};export{oe as Select,oe as default};
@@ -1 +1 @@
1
- import{b,c as h,d as B}from"../../chunk-C5N2D3ZX.js";import{jsx as p,jsxs as U}from"react/jsx-runtime";import L,{UUID as x}from"jmini";import{useState as k,useEffect as $}from"react";import{$$fromRoot as C,GenerateHTMLProps as q}from"../../@utils";import{Box as w,Flex as A,Column as O}from"../../atoms";import{Button as G}from"../Button";import{OptionalInputWrapper as X,BoxWrapper as j,CoreEffects as F}from"./core";import{InputSliderClasses as m}from"../../@styles/componentClasses";function J(t){let{value:e,states:o}=t,{required:s}=o,n=[];return s&&!e&&n.push({type:"invalid",label:"\u5FC5\u9808\u9805\u76EE\u3067\u3059"}),{ok:!n.filter(({type:i})=>i=="invalid").length,notice:n}}const z=t=>{let{value:e,val_status:o}=t,{min:s,max:n,step:i}=o;e=Math.max(e,s),e=Math.min(e,n);let a=e/n*n;return a=Math.round(a/i),{stepValue:a*i,stepIndex:a,positionLeft:a*i/n*100+"%"}},N={IndicatorLabels:t=>{let{componentId:e,min:o,max:s,step:n,customLegends:i}=t,u=[],a=Math.round(o/n),r=Math.round(s/n),c=r-a+1;for(var d=a;d<=r;d++){let l=d*n;l=Math.max(l,o),l=Math.min(l,s);let S=l/s*100+"%";u.push(p(w,{className:m("Label"),id:"Legend-"+e+"-"+d,display:d==a||d==r?"flex":"none",position:"absolute",top:0,unitHeight:1,unitWidth:1.5,transition:"middle",fontColor:"1.clear",verticalAlign:"center",horizontalAlign:"center",freeCSS:{left:S,whiteSpace:"nowrap",textAlign:"center"},children:i?i(l):l.rank()},l))}return $(()=>{const l=()=>{let S=C("#Labels-"+e),{width:f}=S.position(),T=Math.round(f/50)-1,I=Math.round(c/T);for(let v=a+1;v<r;v++)C("#Legend-"+e+"-"+v).css({display:v%I==0?"flex":"none"})};return L(window).addEvent({eventID:"SliderResizeCallback-"+e,eventType:"resize",callback:()=>{l()}}),l(),()=>{L(window).removeEvent("SliderResizeCallback-"+e)}},[]),p(A,{className:m("Labels"),verticalAlign:"center",horizontalAlign:"between",fontSize:"0.xs",position:"relative",unitHeight:1,id:"Labels-"+e,children:p(w,{position:"absolute",top:0,left:0,bottom:0,freeCSS:{right:12*1.5},children:u})})},Rail:t=>{let{val_status:e,set_status:o,DotData:s,form:n,enableFormSubmit:i}=t,{componentId:u}=e;return U(A,{className:m("Rail"),position:"relative",paddingLeft:"1/2",unitHeight:1.5,verticalAlign:"center",freeCSS:{zIndex:1,cursor:"pointer"},onPointerDown:a=>{t.rootStates.disabled||(a.stopPropagation(),g.Effects.Start(a,{val_status:e,set_status:o,DotData:s}))},children:[p(w,{className:m("Bar"),backgroundColor:"layer.4",position:"relative",borderRadius:"1.tone.primary",transition:"middle",flexSizing:"none",unitHeight:"2/3",width:1,id:u+"_Bar",children:p(w,{className:m("BarColor"),position:"relative",height:1,width:0,left:0,transition:"long",borderRadius:"inherit",backgroundColor:t.color,opacity:"middle",overflow:"hidden",freeCSS:{width:s.positionLeft},id:u+"_BarColor"})}),p(w,{className:m("BallWrap"),position:"absolute",top:0,left:0,bottom:0,freeCSS:{right:12*1.5},children:p(G.Plain,{className:m("Ball"),position:"absolute",boxShadow:"1.remark",backgroundColor:t.color,top:0,left:0,ssSquare:1.5,borderRadius:"1.tone.primary",freeCSS:{zIndex:2,left:s.positionLeft},id:u+"_Ball",onKeyDown:a=>{g.KeyDownEvent({event:a,val_status:e,set_status:o,DotData:s}),i&&F.SubmitForm(a,n)},onFocus:a=>{o(r=>h(b({},r),{eventID:x(),eventType:"focus.start",isFocusing:!0}))},onBlur:a=>{o(r=>h(b({},r),{eventID:x(),eventType:"focus.end",isFocusing:!1}))}})})]})}},g={Effects:{Start:(t,e)=>{L(document).addEvent({eventID:"SliderMouseMove",eventType:"mousemove",callback:o=>{g.Effects.Move(o,e)},options:{passive:!1}}).addEvent({eventID:"SliderTouchMove",eventType:"touchmove",callback:o=>{g.Effects.Move(o,e)},options:{passive:!1}}).addEvent({eventID:"SliderMouseUp",eventType:"mouseup",callback:()=>{g.Effects.End()}}).addEvent({eventID:"SliderTouchEnd",eventType:"touchend",callback:()=>{g.Effects.End()}})},Move:(t,e)=>{let o=L.getCursor(t).x,{val_status:s,set_status:n}=e,{componentId:i,min:u,max:a}=s,r=C("#"+i+"_Ball"),c=C("#"+i+"_Bar"),d=C("#"+i+"_BarColor"),{width:l,left:S}=c.position(),f=(o-S)/l;f=Math.max(f,0),f=Math.min(f,1);let T=f*a,I=z({value:T,val_status:s}),v=I.positionLeft,R=I.stepValue;return r.css({left:v}),d.css({width:v}),n(D=>{let E=D.dataValue;return R==E?D:h(b({},D),{dataValue:R,eventType:"update",eventID:x()})}),t.preventDefault(),t.stopPropagation(),!1},End:()=>{L(document).removeEvent(["SliderMouseMove","SliderTouchMove","SliderMouseUp","SliderTouchEnd"])}},KeyDownEvent:t=>{let{event:e,val_status:o,set_status:s}=t,{min:n,max:i,step:u}=o,{key:a,metaKey:r,ctrlKey:c}=e,d=c||r,l=o.dataValue;a.match(/Arrow/)&&(e.preventDefault(),a.match(/Left|Up/)?d?l=n:l-=u:a.match(/Right|Down/)&&(d?l=i:l+=u),l=Math.max(Math.min(l,i),n),s(S=>h(b({},S),{dataValue:l,eventType:"update",eventID:x()})))}},Q=t=>{let V=t,{color:e="theme",required:o,form:s="",legends:{enable:n=!0,custom:i,showAlways:u=!1}={},min:a,max:r,step:c,enableFormSubmit:d,checkValidationAtFirst:l,onValidate:S,onValidateDelay:f,onUpdateValue:T,onUpdateValidValue:I,onUserAction:v,value:R="",className:D,wrapStyles:E}=V,W=B(V,["color","required","form","legends","min","max","step","enableFormSubmit","checkValidationAtFirst","onValidate","onValidateDelay","onUpdateValue","onUpdateValidValue","onUserAction","value","className","wrapStyles"]),[y,_]=k({componentId:t.componentId||"",dataValue:R,min:a,max:r,step:c,eventType:"init",eventID:x()}),[M,K]=k({ok:!1,notice:[]});F.CommonEffects({type:"slider",states:t,val_status:y,set_status:_,val_validate:M,set_validate:K,SystemValidation:J});let P=z({value:y.dataValue,val_status:y});return p(j,{val_status:y,set_status:_,val_validate:M,states:t,children:U(O,h(b({gap:"1/2",flexSizing:"auto"},W),{className:[m("Wrap"),D,m("ShowLegendsAlways_"+u)].join(" "),children:[p(N.Rail,{rootStates:t,color:e,val_status:y,set_status:_,DotData:P,form:s,enableFormSubmit:d}),!!n&&p(N.IndicatorLabels,{componentId:y.componentId,min:a,max:r,step:c,customLegends:i})]}))})},H=t=>{let e=h(b({},t),{freeCSS:b({minWidth:120},t.freeCSS)});return p(X,{componentId:t.componentId,children:Q,states:q(e)})};export{H as Slider,H as default};
1
+ import{b,c as h,d as B}from"../../chunk-C5N2D3ZX.js";import{jsx as p,jsxs as U}from"react/jsx-runtime";import L,{UUID as x}from"jmini";import{useState as k,useEffect as $}from"react";import{$$fromRoot as C,GenerateHTMLProps as q}from"../../@utils";import{Box as w,Flex as A,Column as O}from"../../atoms";import{Button as G}from"../Button";import{OptionalInputWrapper as X,BoxWrapper as j,CoreEffects as F}from"./core";import{InputSliderClasses as m}from"../../@styles/componentClasses";function J(t){let{value:e,states:o}=t,{required:s}=o,n=[];return s&&!e&&n.push({type:"invalid",label:"\u5FC5\u9808\u9805\u76EE\u3067\u3059"}),{ok:!n.filter(({type:i})=>i=="invalid").length,notice:n}}const z=t=>{let{value:e,val_status:o}=t,{min:s,max:n,step:i}=o;e=Math.max(e,s),e=Math.min(e,n);let a=e/n*n;return a=Math.round(a/i),{stepValue:a*i,stepIndex:a,positionLeft:a*i/n*100+"%"}},N={IndicatorLabels:t=>{let{componentId:e,min:o,max:s,step:n,customLegends:i}=t,u=[],a=Math.round(o/n),r=Math.round(s/n),c=r-a+1;for(var d=a;d<=r;d++){let l=d*n;l=Math.max(l,o),l=Math.min(l,s);let S=l/s*100+"%";u.push(p(w,{className:m("Label"),id:"Legend-"+e+"-"+d,display:d==a||d==r?"flex":"none",position:"absolute",top:0,unitHeight:1,unitWidth:1.5,transition:"middle",fontColor:"1.clear",verticalAlign:"center",horizontalAlign:"center",freeCSS:{left:S,whiteSpace:"nowrap",textAlign:"center"},children:i?i(l):l.rank()},l))}return $(()=>{const l=()=>{let S=C("#Labels-"+e),{width:f}=S.position(),R=Math.round(f/50)-1,I=Math.round(c/R);for(let v=a+1;v<r;v++)C("#Legend-"+e+"-"+v).css({display:v%I==0?"flex":"none"})};return L(window).addEvent({eventID:"SliderResizeCallback-"+e,eventType:"resize",callback:()=>{l()}}),l(),()=>{L(window).removeEvent("SliderResizeCallback-"+e)}},[]),p(A,{className:m("Labels"),verticalAlign:"center",horizontalAlign:"between",fontSize:"0.xs",position:"relative",unitHeight:1,id:"Labels-"+e,children:p(w,{position:"absolute",top:0,left:0,bottom:0,freeCSS:{right:12*1.5},children:u})})},Rail:t=>{let{val_status:e,set_status:o,DotData:s,form:n,enableFormSubmit:i}=t,{componentId:u}=e;return U(A,{className:m("Rail"),position:"relative",paddingLeft:"1/2",unitHeight:1.5,verticalAlign:"center",freeCSS:{zIndex:1,cursor:"pointer"},onPointerDown:a=>{t.rootStates.disabled||(a.stopPropagation(),g.Effects.Start(a,{val_status:e,set_status:o,DotData:s}))},children:[p(w,{className:m("Bar"),backgroundColor:"layer.4",position:"relative",borderRadius:"1.tone.primary",transition:"middle",flexSizing:"none",unitHeight:"2/3",width:1,id:u+"_Bar",children:p(w,{className:m("BarColor"),position:"relative",height:1,width:0,left:0,transition:"long",borderRadius:"inherit",backgroundColor:t.color,opacity:"middle",overflow:"hidden",freeCSS:{width:s.positionLeft},id:u+"_BarColor"})}),p(w,{className:m("BallWrap"),position:"absolute",top:0,left:0,bottom:0,freeCSS:{right:12*1.5},children:p(G.Plain,{className:m("Ball"),position:"absolute",boxShadow:"1.remark",backgroundColor:t.color,top:0,left:0,ssSquare:1.5,borderRadius:"1.tone.primary",freeCSS:{zIndex:2,left:s.positionLeft},id:u+"_Ball",onKeyDown:a=>{g.KeyDownEvent({event:a,val_status:e,set_status:o,DotData:s}),i&&F.SubmitForm(a,n)},onFocus:a=>{o(r=>h(b({},r),{eventID:x(),isFocusing:!0}))},onBlur:a=>{o(r=>h(b({},r),{eventID:x(),isFocusing:!1}))}})})]})}},g={Effects:{Start:(t,e)=>{L(document).addEvent({eventID:"SliderMouseMove",eventType:"mousemove",callback:o=>{g.Effects.Move(o,e)},options:{passive:!1}}).addEvent({eventID:"SliderTouchMove",eventType:"touchmove",callback:o=>{g.Effects.Move(o,e)},options:{passive:!1}}).addEvent({eventID:"SliderMouseUp",eventType:"mouseup",callback:()=>{g.Effects.End()}}).addEvent({eventID:"SliderTouchEnd",eventType:"touchend",callback:()=>{g.Effects.End()}})},Move:(t,e)=>{let o=L.getCursor(t).x,{val_status:s,set_status:n}=e,{componentId:i,min:u,max:a}=s,r=C("#"+i+"_Ball"),c=C("#"+i+"_Bar"),d=C("#"+i+"_BarColor"),{width:l,left:S}=c.position(),f=(o-S)/l;f=Math.max(f,0),f=Math.min(f,1);let R=f*a,I=z({value:R,val_status:s}),v=I.positionLeft,T=I.stepValue;return r.css({left:v}),d.css({width:v}),n(D=>{let E=D.dataValue;return T==E?D:h(b({},D),{dataValue:T,eventType:"update",eventID:x()})}),t.preventDefault(),t.stopPropagation(),!1},End:()=>{L(document).removeEvent(["SliderMouseMove","SliderTouchMove","SliderMouseUp","SliderTouchEnd"])}},KeyDownEvent:t=>{let{event:e,val_status:o,set_status:s}=t,{min:n,max:i,step:u}=o,{key:a,metaKey:r,ctrlKey:c}=e,d=c||r,l=o.dataValue;a.match(/Arrow/)&&(e.preventDefault(),a.match(/Left|Up/)?d?l=n:l-=u:a.match(/Right|Down/)&&(d?l=i:l+=u),l=Math.max(Math.min(l,i),n),s(S=>h(b({},S),{dataValue:l,eventType:"update",eventID:x()})))}},Q=t=>{let V=t,{color:e="theme",required:o,form:s="",legends:{enable:n=!0,custom:i,showAlways:u=!1}={},min:a,max:r,step:c,enableFormSubmit:d,checkValidationAtFirst:l,onValidate:S,onValidateDelay:f,onUpdateValue:R,onUpdateValidValue:I,onUserAction:v,value:T="",className:D,wrapStyles:E}=V,W=B(V,["color","required","form","legends","min","max","step","enableFormSubmit","checkValidationAtFirst","onValidate","onValidateDelay","onUpdateValue","onUpdateValidValue","onUserAction","value","className","wrapStyles"]),[y,_]=k({componentId:t.componentId||"",dataValue:T,min:a,max:r,step:c,eventType:"init",eventID:x()}),[M,K]=k({ok:!1,notice:[]});F.CommonEffects({type:"slider",states:t,val_status:y,set_status:_,val_validate:M,set_validate:K,SystemValidation:J});let P=z({value:y.dataValue,val_status:y});return p(j,{val_status:y,set_status:_,val_validate:M,states:t,children:U(O,h(b({gap:"1/2",flexSizing:"auto"},W),{className:[m("Wrap"),D,m("ShowLegendsAlways_"+u)].join(" "),children:[p(N.Rail,{rootStates:t,color:e,val_status:y,set_status:_,DotData:P,form:s,enableFormSubmit:d}),!!n&&p(N.IndicatorLabels,{componentId:y.componentId,min:a,max:r,step:c,customLegends:i})]}))})},H=t=>{let e=h(b({},t),{freeCSS:b({minWidth:120},t.freeCSS)});return p(X,{componentId:t.componentId,children:Q,states:q(e)})};export{H as Slider,H as default};
@@ -1 +1 @@
1
- import{b as o,c as l,d as D}from"../../chunk-C5N2D3ZX.js";import{jsx as a,jsxs as z}from"react/jsx-runtime";import{UUID as S}from"jmini";import{useState as M}from"react";import I from"../../atoms/Box";import{Row as U}from"../../mols";import{Label as A}from"../Button";import{OptionalInputWrapper as W,BoxWrapper as P,CoreEffects as N}from"./core";import{InputSwitchClasses as g}from"../../@styles/componentClasses";function H(e){let{value:n,states:s}=e,{required:x}=s,r=[];return x&&!n&&r.push({type:"invalid",label:"ON\u306B\u306A\u3063\u3066\u3044\u307E\u305B\u3093"}),{ok:!r.filter(({type:h})=>h=="invalid").length,notice:r}}const O=e=>{let B=e,{componentId:n,color:s="posi",required:x,form:r,id:h,enableFormSubmit:E,checkValidationAtFirst:q,onChange:F,onKeyDown:T,onValidate:K,onValidateDelay:$,onUpdateValue:G,onUpdateValidValue:J,onUserAction:Q,size:v="regular",value:L="",icon:V="",isApply:p=!1}=B,t=D(B,["componentId","color","required","form","id","enableFormSubmit","checkValidationAtFirst","onChange","onKeyDown","onValidate","onValidateDelay","onUpdateValue","onUpdateValidValue","onUserAction","size","value","icon","isApply"]),[u,c]=M({componentId:e.componentId||"",dataValue:L,eventType:"init",eventID:S()}),[R,k]=M({ok:!1,notice:[]}),d=!!u.dataValue;N.CommonEffects({type:"switch",states:e,val_status:u,set_status:c,val_validate:R,set_validate:k,SystemValidation:H});let y="middle",w=5,C=3;return p&&(C=4),z(P,{val_status:u,set_status:c,val_validate:R,states:e,children:[a(I,l(o({htmlTag:"input",type:"checkbox","data-component-id":u.componentId,checked:u.dataValue,className:g("Input"),id:h,onKeyDown:i=>{T&&T(i),E&&N.SubmitForm(i,r)},onChange:i=>{let{checked:m}=i.target;R.ok&&k({ok:!1,notice:[]}),c(_=>l(o({},_),{dataValue:m,eventType:"update",eventID:S()})),F&&F(i)}},t),{onFocus:i=>{t!=null&&t.onFocus&&(t==null||t.onFocus(i)),c(m=>l(o({},m),{eventID:S(),eventType:"focus.start",isFocusing:!0}))},onBlur:i=>{t!=null&&t.onBlur&&(t==null||t.onBlur(i)),c(m=>l(o({},m),{eventID:S(),eventType:"focus.end",isFocusing:!1}))}})),a(A.Plain,{tabIndex:-1,htmlFor:h,padding:"1/4",transition:y,borderRadius:"1.tone.primary",className:g("Label"),children:a(I,l(o({},p?{padding:"1/4",isRounded:!0,backgroundColor:d?s:"layer.3"}:{}),{children:z(U.Center,{unitHeight:v=="small"?2:v=="regular"?2.5:v=="large"?3:0,position:"relative",freeCSS:{aspectRatio:(w+C)/w},children:[!p&&a(I,{position:"absolute",backgroundColor:d?s:"layer.5",isRounded:!0,transition:y,width:1,opacity:"middle",className:g("Bar"),freeCSS:{height:"40%"}}),a(I,{position:"absolute",top:0,backgroundColor:!p&&d?s:"white",transition:y,isRounded:!0,flexCenter:!0,boxShadow:"1.remark",className:g("Dot"),freeCSS:{height:"100%",aspectRatio:"1",left:d?`calc(${C.ratio(w+C)}%)`:0},children:V&&a(I,{transition:y,flexCenter:!0,fontColor:d?p?s:"white":"6.clear",children:V})})]})}))})]})},b=e=>{let n=o({},e);return n.value=!!n.value,n.color=n.color||"theme",a(W,{componentId:n.componentId,children:O,states:n})},f=b;f.S=e=>a(b,l(o({},e),{size:"small"})),f.R=e=>a(b,l(o({},e),{size:"regular"})),f.L=e=>a(b,l(o({},e),{size:"large"}));export{f as Switch,f as default};
1
+ import{b as o,c as l,d as D}from"../../chunk-C5N2D3ZX.js";import{jsx as a,jsxs as z}from"react/jsx-runtime";import{UUID as S}from"jmini";import{useState as M}from"react";import I from"../../atoms/Box";import{Row as U}from"../../mols";import{Label as A}from"../Button";import{OptionalInputWrapper as W,BoxWrapper as P,CoreEffects as N}from"./core";import{InputSwitchClasses as g}from"../../@styles/componentClasses";function H(e){let{value:n,states:s}=e,{required:x}=s,r=[];return x&&!n&&r.push({type:"invalid",label:"ON\u306B\u306A\u3063\u3066\u3044\u307E\u305B\u3093"}),{ok:!r.filter(({type:f})=>f=="invalid").length,notice:r}}const O=e=>{let B=e,{componentId:n,color:s="posi",required:x,form:r,id:f,enableFormSubmit:E,checkValidationAtFirst:q,onChange:F,onKeyDown:T,onValidate:K,onValidateDelay:$,onUpdateValue:G,onUpdateValidValue:J,onUserAction:Q,size:R="regular",value:L="",icon:V="",isApply:p=!1}=B,t=D(B,["componentId","color","required","form","id","enableFormSubmit","checkValidationAtFirst","onChange","onKeyDown","onValidate","onValidateDelay","onUpdateValue","onUpdateValidValue","onUserAction","size","value","icon","isApply"]),[u,c]=M({componentId:e.componentId||"",dataValue:L,eventType:"init",eventID:S()}),[v,k]=M({ok:!1,notice:[]}),d=!!u.dataValue;N.CommonEffects({type:"switch",states:e,val_status:u,set_status:c,val_validate:v,set_validate:k,SystemValidation:H});let y="middle",w=5,C=3;return p&&(C=4),z(P,{val_status:u,set_status:c,val_validate:v,states:e,children:[a(I,l(o({htmlTag:"input",type:"checkbox","data-component-id":u.componentId,checked:u.dataValue,className:g("Input"),id:f,onKeyDown:i=>{T&&T(i),E&&N.SubmitForm(i,r)},onChange:i=>{let{checked:m}=i.target;v.ok&&k({ok:!1,notice:[]}),c(_=>l(o({},_),{dataValue:m,eventType:"update",eventID:S()})),F&&F(i)}},t),{onFocus:i=>{t!=null&&t.onFocus&&(t==null||t.onFocus(i)),c(m=>l(o({},m),{eventID:S(),isFocusing:!0}))},onBlur:i=>{t!=null&&t.onBlur&&(t==null||t.onBlur(i)),c(m=>l(o({},m),{eventID:S(),isFocusing:!1}))}})),a(A.Plain,{tabIndex:-1,htmlFor:f,padding:"1/4",transition:y,borderRadius:"1.tone.primary",className:g("Label"),children:a(I,l(o({},p?{padding:"1/4",isRounded:!0,backgroundColor:d?s:"layer.3"}:{}),{children:z(U.Center,{unitHeight:R=="small"?2:R=="regular"?2.5:R=="large"?3:0,position:"relative",freeCSS:{aspectRatio:(w+C)/w},children:[!p&&a(I,{position:"absolute",backgroundColor:d?s:"layer.5",isRounded:!0,transition:y,width:1,opacity:"middle",className:g("Bar"),freeCSS:{height:"40%"}}),a(I,{position:"absolute",top:0,backgroundColor:!p&&d?s:"white",transition:y,isRounded:!0,flexCenter:!0,boxShadow:"1.remark",className:g("Dot"),freeCSS:{height:"100%",aspectRatio:"1",left:d?`calc(${C.ratio(w+C)}%)`:0},children:V&&a(I,{transition:y,flexCenter:!0,fontColor:d?p?s:"white":"6.clear",children:V})})]})}))})]})},b=e=>{let n=o({},e);return n.value=!!n.value,n.color=n.color||"theme",a(W,{componentId:n.componentId,children:O,states:n})},h=b;h.S=e=>a(b,l(o({},e),{size:"small"})),h.R=e=>a(b,l(o({},e),{size:"regular"})),h.L=e=>a(b,l(o({},e),{size:"large"}));export{h as Switch,h as default};
@@ -1,3 +1,3 @@
1
- import{b as i,c as r,d as ae,e as ue}from"../../chunk-C5N2D3ZX.js";import{Fragment as de,jsx as s,jsxs as Y}from"react/jsx-runtime";import h,{UUID as T,useStore as pe}from"jmini";import{useState as ie,useEffect as ne}from"react";import{$$fromRoot as ke,ExtractStyles as De}from"../../@utils";import{Box as k,FAI as Ne}from"../../atoms";import{Literal as le}from"../../mols";import{Tips as ce,Button as Ee}from"..";import{faEye as Le}from"@fortawesome/free-solid-svg-icons/faEye";import{OptionalInputWrapper as _e,BoxWrapper as He,CoreEffects as K,DefaultBoxishStyles as Ae}from"./core";import{InputLabel as Be}from"./Label";import{LeftIcon as Me,RightIcon as me}from".";const $e={katakana:{reg:/^[ァ-ヶー  ヲ-゚  ]*$/g,exist:!0,reason:"\u30AB\u30BF\u30AB\u30CA\u3067\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044"},"hankaku.katakana":{reg:/^[ヲ-゚  ]*$/g,exist:!0,reason:"\u534A\u89D2\u30AB\u30BF\u30AB\u30CA\u3067\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044"},number:{reg:/^-?[0-9\.]{0,}[0-9]{1,}$/g,exist:!0,reason:"\u534A\u89D2\u6570\u5B57\u3067\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044"},digitNumber:{reg:/^-?[0-9\,\.]{0,}[0-9]{1,}$/g,exist:!0,reason:"\u534A\u89D2\u6570\u5B57\u3067\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044"},fileName:{reg:/[¥\/:*\?\"\'\|\.\s\n\r\<\>]/g,exist:!1,reason:"\u7A7A\u767D\u307E\u305F\u306F\u4E00\u90E8\u306E\u7279\u6B8A\u6587\u5B57\u306F\u4F7F\u7528\u3067\u304D\u307E\u305B\u3093"},creditCard:{reg:/^\d{14,16}$/g,exist:!0,reason:"14~16\u6841\u306E\u6570\u5B57\u3067\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044"},email:{reg:/^[A-Za-z0-9]{1}[A-Za-z0-9_.-]*@{1}[A-Za-z0-9_.-]+\.[A-Za-z0-9]+$/,exist:!0,reason:Y(de,{children:[s(k,{children:"\u25CB\u25CB\u25CB\u25CB@\u25CB\u25CB\u25CB\u25CB.\u25CB\u25CB\u25CB\u306E\u5F62\u5F0F\u3067\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044"}),s(k,{children:"\u6700\u5F8C\u306E\u6587\u5B57\u306B.(\u30C9\u30C3\u30C8)\u3092\u5165\u308C\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093"})]})},password:{reg:/^(?=[^A-Z]*[A-Z])(?=[^a-z]*[a-z])(?=[^0-9]*[0-9]).{8,}$/,exist:!0,reason:"8\u6587\u5B57\u4EE5\u4E0A\u3001\u534A\u89D2\u82F1\u6570\u5927\u5C0F\u6587\u5B57\u3067\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044"},tel:{reg:/.*$/g,exist:!0,reason:Y(de,{children:[s(k,{children:"0\u304B\u3089\u59CB\u307E\u308B\u756A\u53F7\u306E\u307F\u5165\u529B\u53EF\u80FD\u3067\u3059"}),s(k,{children:"9~12\u6841\u306E\u6570\u5B57\u3067\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044"}),s(k,{children:"\u6570\u5B57\u306E\u307F\u5165\u529B\u53EF\u80FD\u3067\u3059"})]})},url:{reg:/^https?:\/\/[^\n\s]+(\.|\:)[^\n\s\.\:]+$/,exist:!0,reason:"URL\u5F62\u5F0F : http(s)://\u25EF\u25EF\u25EF\u25EF"},postal:{reg:/^\d{7}$/g,exist:!0,reason:"7\u6841\u306E\u6570\u5B57\u3067\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044"}},y={setSelection:t=>{let{id:n,restrict:o,val_status:p}=t,a=ke("#"+n)[0];if(a&&p.prevValue&&p.formatValue){let{formatValue:e,prevValue:f,caretFrom:b,caretTo:l}=p;if(o=="creditCard")e.length>=f.length&&b%5==0&&(b++,l++),a.setSelectionRange(b,l);else if(o=="postal")e.length==5&&f.length==3&&(b++,l++),a.setSelectionRange(b,l);else if(o=="digitNumber"){let c=e.length-f.length;c==2&&(b++,l++),c==-2&&(b--,l--),a.setSelectionRange(b,l)}}},Validation:{System:t=>{let{value:n,states:o}=t,{restrict:p="text",defaultValidation:a,maxLength:e,multiline:f,required:b}=o,l=[];if(f||(e=e||255),h.is.exist(e)&&n.length>=Number(e)&&l.push({type:"invalid",label:e+"\u5B57\u4EE5\u5185\u3067\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044"}),n){let c=y.Validation.Text(n,p,a);c.ok||l.push({type:"invalid",label:c.body})}else b&&l.push({type:"invalid",label:"\u5FC5\u9808\u9805\u76EE\u3067\u3059"});return{ok:!l.filter(({type:c})=>c=="invalid").length,notice:l}},Text:(t,n,o)=>{let p={ok:!0,body:""};return(()=>{let a=o||$e[n];if(!a)return;let e=a.reason;if(a){let f=!!(+!!t.match(a.reg)^+!a.exist);p={ok:f,body:f?"":e}}})(),p},DataLeveling:t=>{let{restrict:n,allowDecimals:o,allowZeroStart:p,value:a=""}=t,e=String(a);["tel","number","digitNumber","postal","creditCard"].includes(n)&&(e=e.zen2hanNumber()),n=="katakana",n=="hankaku.katakana",["postal","creditCard"].includes(n)&&(e=e.removeLetters()),h.scope(()=>{if(!["number","digitNumber"].includes(n))return;e=e.replace(/(\.\d+)\..*/g,"$1").replace(/\.+/g,".").replace(/[^0-9.-]/g,"");let b=Number(e)<0||e[0]=="-";e=e.replace(/[^0-9.]/g,""),b&&(e="-"+e);let l=Number(o);o?e=e.replace(/(\.\d{0,})\..*/g,"$1").replace(/\.(\d{0,})/g,(c,g)=>g.length>l?"."+g.slice(0,l):c):e=e.replace(/\.\d?/g,""),h.scope(()=>{n=="number"&&(p||(e=e.replace(/^0(\d+)/g,"$1").replace(/^-0(\d+)/g,"-$1")))}),h.scope(()=>{let c=e.slice(-1);if(!e||c=="."||c=="-")return;let{min:g,max:u}=t;h.is.exist(g)&&h.is.number(g)&&Number(e)<Number(g)&&(e=String(g.toFixed(l))),h.is.exist(u)&&h.is.number(u)&&Number(e)>Number(u)&&(e=String(u.toFixed(l)))}),h.scope(()=>{if(!e||e=="-"||n!="digitNumber")return;let c=e.slice(-1),[g,u]=e.split(".");e=g.replace(/\B(?=(\d{3})+(?!\d))/g,","),u&&(e+="."+u),c=="."&&(e+=".")})});let f=e;return n=="digitNumber"||(n=="postal"?e.length>=4&&(f=e.clip(0,3)+"-"+e.clip(3)):n=="creditCard"&&(f=e.replace(/.{4}(?=.)/g,"$& "))),e=e.replace(/,/g,""),{formatValue:f,dataValue:e}}},Shallow:t=>{let{rootStates:n,val_status:o}=t,p=o.dataValue||"";ne(()=>{h.scope(()=>ue(void 0,null,function*(){if(!n.multiline)return;let c=h('[data-input-origin="'+o.componentId+'"]'),g=h('[data-input-shallow="'+o.componentId+'"]'),u=h('[data-input-min-height-value-shallow="'+o.componentId+'"]'),E=h('[data-input-max-height-value-shallow="'+o.componentId+'"]');if(!c[0]||!g[0]||!u[0]||!E[0])return;let L=g.position(),F=u.position(),$=E.position(),D=0;n.autoHeight&&(D=L.height),D=Math.max(D,F.height),D=Math.min(D,$.height),c[0].style.height=D+"px"}))},[p]);let a=p||"";(!!p.match(/\n$/)||!p)&&(a+="T");let f="",b="";if(n.multiline){let c=n.minRows||1,g=n.maxRows||100;f=`
2
- T`.repeat(c-1),b=`
3
- T`.repeat(g-1)}let l=De(n);return Y(k,{position:"absolute",top:0,left:0,right:0,height:0,overflow:"hidden",opacity:"trans",freeCSS:{zIndex:3,pointerEvents:"none"},children:[s(le.Description,r(i({className:n.className},l),{position:"absolute",width:1,freeCSS:r(i({},l.freeCSS),{color:"orange"}),"data-input-shallow":o.componentId,children:s(k,{"data-input-value-shallow":o.componentId,children:a})})),s(le.Description,r(i({className:n.className},l),{position:"absolute",left:0,freeCSS:r(i({},l.freeCSS),{backgroundColor:"transparent",color:"blue"}),"data-input-min-height-value-shallow":o.componentId,children:f})),s(le.Description,r(i({className:n.className},l),{position:"absolute",right:0,freeCSS:r(i({},l.freeCSS),{backgroundColor:"transparent",color:"red"}),"data-input-max-height-value-shallow":o.componentId,children:b}))]})},InputBox:t=>{let{rootStates:n,val_validate:o,set_validate:p,val_status:a,set_status:e,val_inputType:f,set_inputType:b}=t;if(n.multiline)return null;let re=n,{componentId:l,tone:c,required:g,restrict:u="text",form:E,autoComplete:L="off",autoCapitalize:F="off",minRows:$,maxRows:D,multiline:fe,autoHeight:ge,enableFormSubmit:G,clearButton:be=!1,allowDecimals:z,allowZeroStart:A,checkValidationAtFirst:W,onChange:X,onKeyDown:Q,onValidate:xe,onValidateDelay:he,onUpdateValue:Ie,onUpdateValidValue:ve,onUserAction:Se,value:Te="",leftIndicator:ye,rightIndicator:Ce,leftIcon:Re,rightIcon:we,maxLength:m,min:O,max:B,label:S,isLabelActive:R,defaultValidation:oe,wrapStyles:Pe}=re,d=ae(re,["componentId","tone","required","restrict","form","autoComplete","autoCapitalize","minRows","maxRows","multiline","autoHeight","enableFormSubmit","clearButton","allowDecimals","allowZeroStart","checkValidationAtFirst","onChange","onKeyDown","onValidate","onValidateDelay","onUpdateValue","onUpdateValidValue","onUserAction","value","leftIndicator","rightIndicator","leftIcon","rightIcon","maxLength","min","max","label","isLabelActive","defaultValidation","wrapStyles"]);return s(k,r(i({htmlTag:"input",type:f,inputMode:["number","digitNumber","creditCard"].includes(u)?"numeric":u=="email"?"email":"text","data-disabled":n.disabled,"data-show-validation":K.isShowValidation(o,a,!!W),"data-component-id":a.componentId,"data-input-origin":a.componentId,value:a.formatValue,autoComplete:L,autoCapitalize:F,onKeyDown:I=>{let{key:x,target:w}=I,M=w,{selectionStart:P,selectionEnd:j}=M,q=Number(P),U=Number(j);{let _=a.formatValue[Number(q)],H=a.formatValue[Number(q)-1];x=="Delete"&&(u=="creditCard"&&_==" "||u=="postal"&&_=="-"||u=="digitNumber"&&_==",")&&(M.setSelectionRange(q+1,U+1),I.preventDefault()),x=="Backspace"&&(u=="creditCard"&&H==" "||u=="postal"&&H=="-"||u=="digitNumber"&&H==",")&&(M.setSelectionRange(q-1,U-1),I.preventDefault()),x=="Enter"||x=="Tab"}h.scope(()=>{["number","digitNumber","creditCard"].includes(u)&&x=="Clear"&&e(_=>r(i({},_),{dataValue:"",formatValue:"",eventType:"update",eventID:T(),isFocusing:!0}))}),h.scope(()=>{if(!["number","digitNumber"].includes(u)||!["ArrowUp","ArrowDown"].includes(x))return;let _=+(x=="ArrowUp")*2-1,H=a.dataValue.slice(-1),se=a.formatValue[U-1],N=U-1,V=String(a.formatValue),ee=a.dataValue.split(".")[1],Ve=(ee==null?void 0:ee.length)||0;h.scope(()=>{if(!H){V="0";return}if(H=="-"){V+="0";return}if(H=="."){V+="0";return}if(U==0)return;let te=String(V).slice(0,N).match(/\./),Fe=String(V).slice(N),J=String(Fe.toNumber().toFixed(0)).length;se=="."&&(J=1,N=V.split(".")[0].length-1),se==","&&(J+=1,N--),te&&(J=-1*(Ve-J));let Z=V[N].toNumber()+_;Z<0?Z=9:Z>=10&&(Z=0),V=V.partReplace(N,String(Z)),setTimeout(()=>{M.setSelectionRange(N+1,N+1)},1)}),o.ok&&p({ok:!1,notice:[]}),e(te=>r(i(i({},te),y.Validation.DataLeveling({allowDecimals:z,allowZeroStart:A,min:O,max:B,restrict:u,value:V})),{eventType:"update",eventID:T(),isFocusing:!0})),I.preventDefault()}),Q&&Q(I),G&&K.SubmitForm(I,E)},onChange:I=>{let{value:x,selectionStart:w,selectionEnd:M}=I.target,P=y.Validation.DataLeveling({allowDecimals:z,allowZeroStart:A,min:O,max:B,restrict:u,value:x});a.isComposing&&(P.formatValue=x),P.formatValue!=a.formatValue&&(o.ok&&p({ok:!1,notice:[]}),e(j=>r(i(i({},j),P),{prevValue:a.formatValue,eventType:"update",eventID:T(),caretFrom:Number(w),caretTo:Number(M),isFocusing:!0})),X&&X(I))},width:1},d),{onFocus:I=>{d!=null&&d.onFocus&&(d==null||d.onFocus(I)),e(x=>r(i({},x),{eventID:T(),eventType:"focus.start",isFocusing:!0}))},onBlur:I=>{d!=null&&d.onBlur&&(d==null||d.onBlur(I)),e(x=>r(i({},x),{eventID:T(),eventType:"focus.end",isFocusing:!1}))},onCompositionStart:I=>{d!=null&&d.onCompositionStart&&(d==null||d.onCompositionStart(I)),e(x=>r(i({},x),{eventID:T(),eventType:"composing.start",isComposing:!0}))},onCompositionEnd:I=>{if(d!=null&&d.onCompositionEnd&&(d==null||d.onCompositionEnd(I)),u=="text"){e(w=>r(i({},w),{eventID:T(),eventType:"composing.end",isComposing:!1}));return}let x=y.Validation.DataLeveling({allowDecimals:z,allowZeroStart:A,min:O,max:B,restrict:u,value:a.formatValue});e(w=>r(i(i({},w),x),{prevValue:w.formatValue,eventType:"update",eventID:T(),caretFrom:Number(w.formatValue.length+1),caretTo:Number(w.formatValue.length+1),isComposing:!1}))}}))},TextAreaBox:t=>{let{rootStates:n,val_validate:o,set_validate:p,val_status:a,set_status:e,isShallow:f}=t,B=n,{componentId:b,tone:l,required:c,form:g,label:u,isLabelActive:E,minRows:L,maxRows:F,multiline:$,autoHeight:D,allowDecimals:fe,allowZeroStart:ge,enableFormSubmit:G,maxLength:be,checkValidationAtFirst:z,onChange:A,onKeyDown:W,onValidate:X,onValidateDelay:Q,onUpdateValue:xe,onUpdateValidValue:he,onUserAction:Ie,value:ve="",leftIndicator:Se,rightIndicator:Te,leftIcon:ye,rightIcon:Ce,defaultValidation:Re,wrapStyles:we}=B,m=ae(B,["componentId","tone","required","form","label","isLabelActive","minRows","maxRows","multiline","autoHeight","allowDecimals","allowZeroStart","enableFormSubmit","maxLength","checkValidationAtFirst","onChange","onKeyDown","onValidate","onValidateDelay","onUpdateValue","onUpdateValidValue","onUserAction","value","leftIndicator","rightIndicator","leftIcon","rightIcon","defaultValidation","wrapStyles"]);return!n.multiline?null:s(k,r(i({htmlTag:"textarea","data-show-validation":K.isShowValidation(o,a,!!z),"data-input-origin":a.componentId,"data-component-id":a.componentId,value:a.dataValue,width:1},m),{onFocus:S=>{m!=null&&m.onFocus&&(m==null||m.onFocus(S)),e(R=>r(i({},R),{eventID:T(),eventType:"focus.start",isFocusing:!0}))},onBlur:S=>{m!=null&&m.onBlur&&(m==null||m.onBlur(S)),e(R=>r(i({},R),{eventID:T(),eventType:"focus.end",isFocusing:!1}))},onCompositionStart:S=>{m!=null&&m.onCompositionStart&&(m==null||m.onCompositionStart(S)),e(R=>r(i({},R),{eventID:T(),eventType:"composing.start",isComposing:!0}))},onCompositionEnd:S=>{m!=null&&m.onCompositionEnd&&(m==null||m.onCompositionEnd(S)),e(R=>r(i({},R),{eventID:T(),eventType:"composing.end",isComposing:!1}))},onKeyDown:S=>{W&&W(S),G&&K.SubmitForm(S,g)},onChange:S=>{let{value:R}=S.target;o.ok&&p({ok:!1,notice:[]}),e(oe=>r(i({},oe),{dataValue:R,eventType:"update",eventID:T(),isFocusing:!0})),A&&A(S)}}))}},ze=t=>{let{componentId:n,restrict:o="text",value:p="",min:a,max:e,allowDecimals:f,allowZeroStart:b}=t,[l,c]=ie({componentId:n,formatValue:"",dataValue:"",prevValue:"",eventType:"init",eventID:T(),caretFrom:null,caretTo:null}),[g,u]=ie({ok:!1,notice:[]}),[E,L]=ie(["password","concealed"].includes(o)&&"password"||"text");ne(()=>{c($=>i(i({},$),y.Validation.DataLeveling({allowDecimals:f,allowZeroStart:b,min:a,max:e,restrict:o,value:p}))),pe.set({[n+":set_inputType"]:L})},[]);let F={rootStates:t,val_inputType:E,set_inputType:L,val_status:l,set_status:c,val_validate:g,set_validate:u};return K.CommonEffects({type:"textfield",states:t,val_status:l,set_status:c,val_validate:g,set_validate:u,SystemValidation:y.Validation.System,ExtraOverrideStates:()=>y.Validation.DataLeveling({allowDecimals:f,allowZeroStart:b,min:a,max:e,restrict:o,value:p})}),ne(()=>{y.setSelection({id:t.id,restrict:o,val_status:l})},[l]),Y(He,{val_status:l,set_status:c,val_validate:g,states:F.rootStates,children:[s(Be,{componentId:t.componentId,fontSize:t.fontSize,required:t.required,label:t.label,isActive:t.isLabelActive||!!l.isFocusing||!!l.dataValue}),s(y.Shallow,i({},F)),s(y.InputBox,i({},F)),s(y.TextAreaBox,i({},F))]})},C=t=>(t=i({autoHeight:!0,restrict:"text",fontSize:"inherit"},t),t.multiline?(t.minRows=t.minRows||5,t.maxRows=t.maxRows||20):(t.minRows=1,t.maxRows=1),s(_e,{componentId:t.componentId,children:ze,states:Ae(t)})),v=C;v.Validate=y.Validation.Text,v.Katakana=t=>s(C,r(i({},t),{restrict:"katakana",multiline:!1,autoHeight:!1})),v.HankakuKatakana=t=>s(C,r(i({},t),{restrict:"hankaku.katakana",multiline:!1,autoHeight:!1})),v.CreditCard=t=>s(C,r(i({},t),{restrict:"creditCard",multiline:!1,autoHeight:!1})),v.Tel=t=>s(C,r(i({},t),{restrict:"tel",multiline:!1,autoHeight:!1})),v.Number=t=>s(C,r(i({},t),{restrict:"number",multiline:!1,autoHeight:!1})),v.DigitNumber=t=>s(C,r(i({},t),{restrict:"digitNumber",multiline:!1,autoHeight:!1})),v.Email=t=>s(C,r(i({},t),{restrict:"email",multiline:!1,autoHeight:!1})),v.Url=t=>s(C,r(i({},t),{restrict:"url",multiline:!1,autoHeight:!1})),v.Postal=t=>s(C,r(i({label:"\u90F5\u4FBF\u756A\u53F7"},t),{restrict:"postal",multiline:!1,autoHeight:!1,leftIcon:s(Me,{ssSphere:2,fontColor:"4.thin",children:"\u3012"})})),v.Password=t=>s(C,r(i({label:"\u30D1\u30B9\u30EF\u30FC\u30C9",rightIcon:s(me,{ssSphere:2.5,freeCSS:{pointerEvents:"all"},children:s(Ee.Sub,{ssSphere:2.5,borderRadius:"3.tone.tertiary",fontColor:"theme",flexCenter:!0,height:1,ssEffectsOnActive:["expand"],onMouseOver:n=>{ce.open(n.currentTarget,"\u30C6\u30AD\u30B9\u30C8\u3092\u8868\u793A",24)},onMouseLeave:ce.abort,tabIndex:-1,onClick:n=>{h(n.target).parent().parent().find("input").callback(o=>{let p=o[0];if(!p)return;let a=p.dataset.componentId;if(!a)return;let e=pe.get(a+":set_inputType");e&&e(f=>f==="password"&&"text"||"password")})},children:s(Ne,{icon:Le})})}),restrict:"password"},t),{multiline:!1,autoHeight:!1})),v.Concealed=t=>s(v.Password,r(i({label:"\u79D8\u5BC6\u9375"},t),{restrict:"concealed"})),v.Money={JPY:t=>s(v.DigitNumber,r(i({rightIcon:s(me,{ssSphere:2,fontColor:"4.thin",children:"\u5186"})},t),{multiline:!1,autoHeight:!1}))};export{v as TextField,ze as TextInput,v as default};
1
+ import{b as i,c as r,d as ae,e as ue}from"../../chunk-C5N2D3ZX.js";import{Fragment as de,jsx as s,jsxs as Y}from"react/jsx-runtime";import b,{UUID as T,useStore as pe}from"jmini";import{useState as ie,useEffect as ne}from"react";import{$$fromRoot as ke,ExtractStyles as De}from"../../@utils";import{Box as k,FAI as Ne}from"../../atoms";import{Literal as le}from"../../mols";import{Tips as ce,Button as Ee}from"..";import{faEye as Le}from"@fortawesome/free-solid-svg-icons/faEye";import{OptionalInputWrapper as _e,BoxWrapper as He,CoreEffects as K,DefaultBoxishStyles as Ae}from"./core";import{InputLabel as Be}from"./Label";import{LeftIcon as Me,RightIcon as me}from".";const $e={katakana:{reg:/^[ァ-ヶー  ヲ-゚  ]*$/g,exist:!0,reason:"\u30AB\u30BF\u30AB\u30CA\u3067\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044"},"hankaku.katakana":{reg:/^[ヲ-゚  ]*$/g,exist:!0,reason:"\u534A\u89D2\u30AB\u30BF\u30AB\u30CA\u3067\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044"},number:{reg:/^-?[0-9\.]{0,}[0-9]{1,}$/g,exist:!0,reason:"\u534A\u89D2\u6570\u5B57\u3067\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044"},digitNumber:{reg:/^-?[0-9\,\.]{0,}[0-9]{1,}$/g,exist:!0,reason:"\u534A\u89D2\u6570\u5B57\u3067\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044"},fileName:{reg:/[¥\/:*\?\"\'\|\.\s\n\r\<\>]/g,exist:!1,reason:"\u7A7A\u767D\u307E\u305F\u306F\u4E00\u90E8\u306E\u7279\u6B8A\u6587\u5B57\u306F\u4F7F\u7528\u3067\u304D\u307E\u305B\u3093"},creditCard:{reg:/^\d{14,16}$/g,exist:!0,reason:"14~16\u6841\u306E\u6570\u5B57\u3067\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044"},email:{reg:/^[A-Za-z0-9]{1}[A-Za-z0-9_.-]*@{1}[A-Za-z0-9_.-]+\.[A-Za-z0-9]+$/,exist:!0,reason:Y(de,{children:[s(k,{children:"\u25CB\u25CB\u25CB\u25CB@\u25CB\u25CB\u25CB\u25CB.\u25CB\u25CB\u25CB\u306E\u5F62\u5F0F\u3067\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044"}),s(k,{children:"\u6700\u5F8C\u306E\u6587\u5B57\u306B.(\u30C9\u30C3\u30C8)\u3092\u5165\u308C\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093"})]})},password:{reg:/^(?=[^A-Z]*[A-Z])(?=[^a-z]*[a-z])(?=[^0-9]*[0-9]).{8,}$/,exist:!0,reason:"8\u6587\u5B57\u4EE5\u4E0A\u3001\u534A\u89D2\u82F1\u6570\u5927\u5C0F\u6587\u5B57\u3067\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044"},tel:{reg:/.*$/g,exist:!0,reason:Y(de,{children:[s(k,{children:"0\u304B\u3089\u59CB\u307E\u308B\u756A\u53F7\u306E\u307F\u5165\u529B\u53EF\u80FD\u3067\u3059"}),s(k,{children:"9~12\u6841\u306E\u6570\u5B57\u3067\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044"}),s(k,{children:"\u6570\u5B57\u306E\u307F\u5165\u529B\u53EF\u80FD\u3067\u3059"})]})},url:{reg:/^https?:\/\/[^\n\s]+(\.|\:)[^\n\s\.\:]+$/,exist:!0,reason:"URL\u5F62\u5F0F : http(s)://\u25EF\u25EF\u25EF\u25EF"},postal:{reg:/^\d{7}$/g,exist:!0,reason:"7\u6841\u306E\u6570\u5B57\u3067\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044"}},C={setSelection:t=>{let{id:n,restrict:o,val_status:p}=t,a=ke("#"+n)[0];if(a&&p.prevValue&&p.formatValue){let{formatValue:e,prevValue:f,caretFrom:x,caretTo:l}=p;if(o=="creditCard")e.length>=f.length&&x%5==0&&(x++,l++),a.setSelectionRange(x,l);else if(o=="postal")e.length==5&&f.length==3&&(x++,l++),a.setSelectionRange(x,l);else if(o=="digitNumber"){let c=e.length-f.length;c==2&&(x++,l++),c==-2&&(x--,l--),a.setSelectionRange(x,l)}}},Validation:{System:t=>{let{value:n,states:o}=t,{restrict:p="text",defaultValidation:a,maxLength:e,multiline:f,required:x}=o,l=[];if(f||(e=e||255),b.is.exist(e)&&n.length>=Number(e)&&l.push({type:"invalid",label:e+"\u5B57\u4EE5\u5185\u3067\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044"}),n){let c=C.Validation.Text(n,p,a);c.ok||l.push({type:"invalid",label:c.body})}else x&&l.push({type:"invalid",label:"\u5FC5\u9808\u9805\u76EE\u3067\u3059"});return{ok:!l.filter(({type:c})=>c=="invalid").length,notice:l}},Text:(t,n,o)=>{let p={ok:!0,body:""};return(()=>{let a=o||$e[n];if(!a)return;let e=a.reason;if(a){let f=!!(+!!t.match(a.reg)^+!a.exist);p={ok:f,body:f?"":e}}})(),p},DataLeveling:t=>{let{restrict:n,allowDecimals:o,allowZeroStart:p,value:a=""}=t,e=String(a);["tel","number","digitNumber","postal","creditCard"].includes(n)&&(e=e.zen2hanNumber()),n=="katakana",n=="hankaku.katakana",["postal","creditCard"].includes(n)&&(e=e.removeLetters()),b.scope(()=>{if(!["number","digitNumber"].includes(n))return;e=e.replace(/(\.\d+)\..*/g,"$1").replace(/\.+/g,".").replace(/[^0-9.-]/g,"");let x=Number(e)<0||e[0]=="-";e=e.replace(/[^0-9.]/g,""),x&&(e="-"+e);let l=Number(o);o?e=e.replace(/(\.\d{0,})\..*/g,"$1").replace(/\.(\d{0,})/g,(c,g)=>g.length>l?"."+g.slice(0,l):c):e=e.replace(/\.\d?/g,""),b.scope(()=>{n=="number"&&(p||(e=e.replace(/^0(\d+)/g,"$1").replace(/^-0(\d+)/g,"-$1")))}),b.scope(()=>{let c=e.slice(-1);if(!e||c=="."||c=="-")return;let{min:g,max:u}=t;b.is.exist(g)&&b.is.number(g)&&Number(e)<Number(g)&&(e=String(g.toFixed(l))),b.is.exist(u)&&b.is.number(u)&&Number(e)>Number(u)&&(e=String(u.toFixed(l)))}),b.scope(()=>{if(!e||e=="-"||n!="digitNumber")return;let c=e.slice(-1),[g,u]=e.split(".");e=g.replace(/\B(?=(\d{3})+(?!\d))/g,","),u&&(e+="."+u),c=="."&&(e+=".")})});let f=e;return n=="digitNumber"||(n=="postal"?e.length>=4&&(f=e.clip(0,3)+"-"+e.clip(3)):n=="creditCard"&&(f=e.replace(/.{4}(?=.)/g,"$& "))),e=e.replace(/,/g,""),{formatValue:f,dataValue:e}}},Shallow:t=>{let{rootStates:n,val_status:o}=t,p=o.dataValue||"";ne(()=>{b.scope(()=>ue(void 0,null,function*(){if(!n.multiline)return;let c=b('[data-input-origin="'+o.componentId+'"]'),g=b('[data-input-shallow="'+o.componentId+'"]'),u=b('[data-input-min-height-value-shallow="'+o.componentId+'"]'),E=b('[data-input-max-height-value-shallow="'+o.componentId+'"]');if(!c[0]||!g[0]||!u[0]||!E[0])return;let L=g.position(),F=u.position(),$=E.position(),D=0;n.autoHeight&&(D=L.height),D=Math.max(D,F.height),D=Math.min(D,$.height),c[0].style.height=D+"px"}))},[p]);let a=p||"";(!!p.match(/\n$/)||!p)&&(a+="T");let f="",x="";if(n.multiline){let c=n.minRows||1,g=n.maxRows||100;f=`
2
+ T`.repeat(c-1),x=`
3
+ T`.repeat(g-1)}let l=De(n);return Y(k,{position:"absolute",top:0,left:0,right:0,height:0,overflow:"hidden",opacity:"trans",freeCSS:{zIndex:3,pointerEvents:"none"},children:[s(le.Description,r(i({className:n.className},l),{position:"absolute",width:1,freeCSS:r(i({},l.freeCSS),{color:"orange"}),"data-input-shallow":o.componentId,children:s(k,{"data-input-value-shallow":o.componentId,children:a})})),s(le.Description,r(i({className:n.className},l),{position:"absolute",left:0,freeCSS:r(i({},l.freeCSS),{backgroundColor:"transparent",color:"blue"}),"data-input-min-height-value-shallow":o.componentId,children:f})),s(le.Description,r(i({className:n.className},l),{position:"absolute",right:0,freeCSS:r(i({},l.freeCSS),{backgroundColor:"transparent",color:"red"}),"data-input-max-height-value-shallow":o.componentId,children:x}))]})},InputBox:t=>{let{rootStates:n,val_validate:o,set_validate:p,val_status:a,set_status:e,val_inputType:f,set_inputType:x}=t;if(n.multiline)return null;let re=n,{componentId:l,tone:c,required:g,restrict:u="text",form:E,autoComplete:L="off",autoCapitalize:F="off",minRows:$,maxRows:D,multiline:fe,autoHeight:ge,enableFormSubmit:G,clearButton:xe=!1,allowDecimals:z,allowZeroStart:A,checkValidationAtFirst:W,onChange:X,onKeyDown:Q,onValidate:be,onValidateDelay:he,onUpdateValue:Ie,onUpdateValidValue:Se,onUserAction:ve,value:Te="",leftIndicator:Ce,rightIndicator:Re,leftIcon:ye,rightIcon:we,maxLength:m,min:O,max:B,label:v,isLabelActive:y,defaultValidation:oe,wrapStyles:Pe}=re,d=ae(re,["componentId","tone","required","restrict","form","autoComplete","autoCapitalize","minRows","maxRows","multiline","autoHeight","enableFormSubmit","clearButton","allowDecimals","allowZeroStart","checkValidationAtFirst","onChange","onKeyDown","onValidate","onValidateDelay","onUpdateValue","onUpdateValidValue","onUserAction","value","leftIndicator","rightIndicator","leftIcon","rightIcon","maxLength","min","max","label","isLabelActive","defaultValidation","wrapStyles"]);return s(k,r(i({htmlTag:"input",type:f,inputMode:["number","digitNumber","creditCard"].includes(u)?"numeric":u=="email"?"email":"text","data-disabled":n.disabled,"data-show-validation":K.isShowValidation(o,a,!!W),"data-component-id":a.componentId,"data-input-origin":a.componentId,value:a.formatValue,autoComplete:L,autoCapitalize:F,onKeyDown:I=>{let{key:h,target:w}=I,M=w,{selectionStart:P,selectionEnd:j}=M,q=Number(P),U=Number(j);{let _=a.formatValue[Number(q)],H=a.formatValue[Number(q)-1];h=="Delete"&&(u=="creditCard"&&_==" "||u=="postal"&&_=="-"||u=="digitNumber"&&_==",")&&(M.setSelectionRange(q+1,U+1),I.preventDefault()),h=="Backspace"&&(u=="creditCard"&&H==" "||u=="postal"&&H=="-"||u=="digitNumber"&&H==",")&&(M.setSelectionRange(q-1,U-1),I.preventDefault()),h=="Enter"||h=="Tab"}b.scope(()=>{["number","digitNumber","creditCard"].includes(u)&&h=="Clear"&&e(_=>r(i({},_),{dataValue:"",formatValue:"",eventType:"update",eventID:T(),isFocusing:!0}))}),b.scope(()=>{if(!["number","digitNumber"].includes(u)||!["ArrowUp","ArrowDown"].includes(h))return;let _=+(h=="ArrowUp")*2-1,H=a.dataValue.slice(-1),se=a.formatValue[U-1],N=U-1,V=String(a.formatValue),ee=a.dataValue.split(".")[1],Ve=(ee==null?void 0:ee.length)||0;b.scope(()=>{if(!H){V="0";return}if(H=="-"){V+="0";return}if(H=="."){V+="0";return}if(U==0)return;let te=String(V).slice(0,N).match(/\./),Fe=String(V).slice(N),J=String(Fe.toNumber().toFixed(0)).length;se=="."&&(J=1,N=V.split(".")[0].length-1),se==","&&(J+=1,N--),te&&(J=-1*(Ve-J));let Z=V[N].toNumber()+_;Z<0?Z=9:Z>=10&&(Z=0),V=V.partReplace(N,String(Z)),setTimeout(()=>{M.setSelectionRange(N+1,N+1)},1)}),o.ok&&p({ok:!1,notice:[]}),e(te=>r(i(i({},te),C.Validation.DataLeveling({allowDecimals:z,allowZeroStart:A,min:O,max:B,restrict:u,value:V})),{eventType:"update",eventID:T(),isFocusing:!0})),I.preventDefault()}),Q&&Q(I),G&&K.SubmitForm(I,E)},onChange:I=>{let{value:h,selectionStart:w,selectionEnd:M}=I.target,P=C.Validation.DataLeveling({allowDecimals:z,allowZeroStart:A,min:O,max:B,restrict:u,value:h});a.isComposing&&(P.formatValue=h),P.formatValue!=a.formatValue&&(o.ok&&p({ok:!1,notice:[]}),e(j=>r(i(i({},j),P),{prevValue:a.formatValue,eventType:"update",eventID:T(),caretFrom:Number(w),caretTo:Number(M),isFocusing:!0})),X&&X(I))},width:1},d),{onFocus:I=>{d!=null&&d.onFocus&&(d==null||d.onFocus(I)),e(h=>r(i({},h),{eventID:T(),isFocusing:!0}))},onBlur:I=>{d!=null&&d.onBlur&&(d==null||d.onBlur(I)),e(h=>r(i({},h),{eventID:T(),isFocusing:!1}))},onCompositionStart:I=>{d!=null&&d.onCompositionStart&&(d==null||d.onCompositionStart(I)),e(h=>r(i({},h),{eventID:T(),isComposing:!0}))},onCompositionEnd:I=>{if(d!=null&&d.onCompositionEnd&&(d==null||d.onCompositionEnd(I)),u=="text"){b.interval.once(()=>{e(w=>r(i({},w),{isComposing:!1}))},100,"input.textfield.composing.end");return}let h=C.Validation.DataLeveling({allowDecimals:z,allowZeroStart:A,min:O,max:B,restrict:u,value:a.formatValue});e(w=>r(i(i({},w),h),{prevValue:w.formatValue,eventType:"update",eventID:T(),caretFrom:Number(w.formatValue.length+1),caretTo:Number(w.formatValue.length+1),isComposing:!1}))}}))},TextAreaBox:t=>{let{rootStates:n,val_validate:o,set_validate:p,val_status:a,set_status:e,isShallow:f}=t,B=n,{componentId:x,tone:l,required:c,form:g,label:u,isLabelActive:E,minRows:L,maxRows:F,multiline:$,autoHeight:D,allowDecimals:fe,allowZeroStart:ge,enableFormSubmit:G,maxLength:xe,checkValidationAtFirst:z,onChange:A,onKeyDown:W,onValidate:X,onValidateDelay:Q,onUpdateValue:be,onUpdateValidValue:he,onUserAction:Ie,value:Se="",leftIndicator:ve,rightIndicator:Te,leftIcon:Ce,rightIcon:Re,defaultValidation:ye,wrapStyles:we}=B,m=ae(B,["componentId","tone","required","form","label","isLabelActive","minRows","maxRows","multiline","autoHeight","allowDecimals","allowZeroStart","enableFormSubmit","maxLength","checkValidationAtFirst","onChange","onKeyDown","onValidate","onValidateDelay","onUpdateValue","onUpdateValidValue","onUserAction","value","leftIndicator","rightIndicator","leftIcon","rightIcon","defaultValidation","wrapStyles"]);return!n.multiline?null:s(k,r(i({htmlTag:"textarea","data-show-validation":K.isShowValidation(o,a,!!z),"data-input-origin":a.componentId,"data-component-id":a.componentId,value:a.dataValue,width:1},m),{onFocus:v=>{m!=null&&m.onFocus&&(m==null||m.onFocus(v)),e(y=>r(i({},y),{eventID:T(),isFocusing:!0}))},onBlur:v=>{m!=null&&m.onBlur&&(m==null||m.onBlur(v)),e(y=>r(i({},y),{eventID:T(),isFocusing:!1}))},onCompositionStart:v=>{m!=null&&m.onCompositionStart&&(m==null||m.onCompositionStart(v)),e(y=>r(i({},y),{eventID:T(),isComposing:!0}))},onCompositionEnd:v=>{m!=null&&m.onCompositionEnd&&(m==null||m.onCompositionEnd(v)),b.interval.once(()=>{e(y=>r(i({},y),{eventID:T(),isComposing:!1}))},100,"input.textfield.composing.end")},onKeyDown:v=>{W&&W(v),G&&K.SubmitForm(v,g)},onChange:v=>{let{value:y}=v.target;o.ok&&p({ok:!1,notice:[]}),e(oe=>r(i({},oe),{dataValue:y,eventType:"update",eventID:T(),isFocusing:!0})),A&&A(v)}}))}},ze=t=>{let{componentId:n,restrict:o="text",value:p="",min:a,max:e,allowDecimals:f,allowZeroStart:x}=t,[l,c]=ie({componentId:n,formatValue:"",dataValue:"",prevValue:"",eventType:"init",eventID:T(),caretFrom:null,caretTo:null}),[g,u]=ie({ok:!1,notice:[]}),[E,L]=ie(["password","concealed"].includes(o)&&"password"||"text");ne(()=>{c($=>i(i({},$),C.Validation.DataLeveling({allowDecimals:f,allowZeroStart:x,min:a,max:e,restrict:o,value:p}))),pe.set({[n+":set_inputType"]:L})},[]);let F={rootStates:t,val_inputType:E,set_inputType:L,val_status:l,set_status:c,val_validate:g,set_validate:u};return K.CommonEffects({type:"textfield",states:t,val_status:l,set_status:c,val_validate:g,set_validate:u,SystemValidation:C.Validation.System,ExtraOverrideStates:()=>C.Validation.DataLeveling({allowDecimals:f,allowZeroStart:x,min:a,max:e,restrict:o,value:p})}),ne(()=>{C.setSelection({id:t.id,restrict:o,val_status:l})},[l]),Y(He,{val_status:l,set_status:c,val_validate:g,states:F.rootStates,children:[s(Be,{componentId:t.componentId,fontSize:t.fontSize,required:t.required,label:t.label,isActive:t.isLabelActive||!!l.isFocusing||!!l.dataValue}),s(C.Shallow,i({},F)),s(C.InputBox,i({},F)),s(C.TextAreaBox,i({},F))]})},R=t=>(t=i({autoHeight:!0,restrict:"text",fontSize:"inherit"},t),t.multiline?(t.minRows=t.minRows||5,t.maxRows=t.maxRows||20):(t.minRows=1,t.maxRows=1),s(_e,{componentId:t.componentId,children:ze,states:Ae(t)})),S=R;S.Validate=C.Validation.Text,S.Katakana=t=>s(R,r(i({},t),{restrict:"katakana",multiline:!1,autoHeight:!1})),S.HankakuKatakana=t=>s(R,r(i({},t),{restrict:"hankaku.katakana",multiline:!1,autoHeight:!1})),S.CreditCard=t=>s(R,r(i({},t),{restrict:"creditCard",multiline:!1,autoHeight:!1})),S.Tel=t=>s(R,r(i({},t),{restrict:"tel",multiline:!1,autoHeight:!1})),S.Number=t=>s(R,r(i({},t),{restrict:"number",multiline:!1,autoHeight:!1})),S.DigitNumber=t=>s(R,r(i({},t),{restrict:"digitNumber",multiline:!1,autoHeight:!1})),S.Email=t=>s(R,r(i({},t),{restrict:"email",multiline:!1,autoHeight:!1})),S.Url=t=>s(R,r(i({},t),{restrict:"url",multiline:!1,autoHeight:!1})),S.Postal=t=>s(R,r(i({label:"\u90F5\u4FBF\u756A\u53F7"},t),{restrict:"postal",multiline:!1,autoHeight:!1,leftIcon:s(Me,{ssSphere:2,fontColor:"4.thin",children:"\u3012"})})),S.Password=t=>s(R,r(i({label:"\u30D1\u30B9\u30EF\u30FC\u30C9",rightIcon:s(me,{ssSphere:2.5,freeCSS:{pointerEvents:"all"},children:s(Ee.Sub,{ssSphere:2.5,borderRadius:"3.tone.tertiary",fontColor:"theme",flexCenter:!0,height:1,ssEffectsOnActive:["expand"],onMouseOver:n=>{ce.open(n.currentTarget,"\u30C6\u30AD\u30B9\u30C8\u3092\u8868\u793A",24)},onMouseLeave:ce.abort,tabIndex:-1,onClick:n=>{b(n.target).parent().parent().find("input").callback(o=>{let p=o[0];if(!p)return;let a=p.dataset.componentId;if(!a)return;let e=pe.get(a+":set_inputType");e&&e(f=>f==="password"&&"text"||"password")})},children:s(Ne,{icon:Le})})}),restrict:"password"},t),{multiline:!1,autoHeight:!1})),S.Concealed=t=>s(S.Password,r(i({label:"\u79D8\u5BC6\u9375"},t),{restrict:"concealed"})),S.Money={JPY:t=>s(S.DigitNumber,r(i({rightIcon:s(me,{ssSphere:2,fontColor:"4.thin",children:"\u5186"})},t),{multiline:!1,autoHeight:!1}))};export{S as TextField,ze as TextInput,S as default};
@@ -31,6 +31,8 @@ declare namespace Picker {
31
31
  type Input<T> = TimeTypes.Picker & {
32
32
  val_value: T;
33
33
  set_value: React.Dispatch<React.SetStateAction<T>>;
34
+ val_confirmed: boolean;
35
+ set_confirmed: React.Dispatch<React.SetStateAction<boolean>>;
34
36
  };
35
37
  }
36
38
  declare const Picker: React.FC<TimeTypes.Picker>;
@@ -1 +1 @@
1
- import{b as p,c as x}from"../../../chunk-C5N2D3ZX.js";import{Fragment as $,jsx as a,jsxs as f}from"react/jsx-runtime";import{createElement as q}from"react";import D,{UUID as O,Time as S}from"jmini";import{useState as A,useEffect as F,useRef as H}from"react";import{Box as k,Flex as w,Grid as W,FAI as V,Column as T}from"../../../atoms";import{Row as N,Literal as G}from"../../../mols";import{Button as C}from"../../Button";import X from"../../Sheet";import M from"../Select";import{Radio as L}from"../List";import{RightIcon as B}from"..";import{InputTimeClasses as y}from"../../../@styles/componentClasses";let _=i=>{var t,r;let e=[],d=Number((t=i==null?void 0:i.min)!=null?t:1900),o=Number((r=i==null?void 0:i.max)!=null?r:S().addYear(10).year);for(let m=d;m<=o;m++)e.unshift({value:m,label:[m,...D.transformer.wareki(m).value].join(" -")});return e};const j=i=>{let{restrict:e,era:d="year",defaultValue:o=""}=i;i=p({},i),i.sheetID=i.sheetID||O();const t=H(!1);let[r,m]=A((()=>{var n,s;if(e=="clock"){let l=String(o).split(/[^\d]/);l[0]||(l=[0,0]);let u=Number(l[0]),c=Number(l[1]);return{modifiedType:"init",hour:u,minutes:c}}else if(e=="date"){let[l,u,c]=(n=String(o))==null?void 0:n.split(/\D/);return(D.is.nullish(l)||D.is.nullish(u)||D.is.nullish(c))&&([l,u,c]=S().toFormat("%Y-%M-%D").split("-")),{modifiedType:"init",year:Number(l),month:Number(u),date:Number(c)}}else if(e!="week"){if(e=="month"){let[l,u]=String(o).split(/\D/);return(D.is.nullish(l)||D.is.nullish(u))&&([l,u]=S().toFormat("%Y-%M").split("-")),{modifiedType:"init",year:Number(l),month:Number(u)}}else if(e=="year"){let[l]=String(o).split(/\D/);return D.is.nullish(l)&&([l]=S().toFormat("%Y").split("-")),{modifiedType:"init",year:Number(l)}}else if(e=="dateWareki"){let[l,u,c]=(s=String(o))==null?void 0:s.split(/\D/);return(D.is.nullish(l)||D.is.nullish(u)||D.is.nullish(c))&&([l,u,c]=S().toFormat("%Y-%M-%D").split("-")),{modifiedType:"init",era:d||"year",year:Number(l),month:Number(u),date:Number(c)}}}return{}})());F(()=>{if(t.current){if(r.modifiedType=="update"){let n="",s=d||"year";if(e=="clock"){let{hour:l,minutes:u}=r;n=[l.zeroEmbed(2),u.zeroEmbed(2)].join("/")}else if(e=="date"){let{year:l,month:u,date:c}=r;n=[l,u.zeroEmbed(2),c.zeroEmbed(2)].join("/")}else if(e!="week"){if(e=="month"){let{year:l,month:u}=r;n=[l,u.zeroEmbed(2)].join("/")}else if(e=="year"){let{year:l}=r;n=String(l)}else if(e=="dateWareki"){let{year:l,month:u,date:c,era:v}=r;s=v,n=[l,u.zeroEmbed(2),c.zeroEmbed(2)].join("/")}}i.onValueUpdate(n,s)}}else t.current=!0},[r]);let h=x(p({},i),{val_value:r,set_value:m});return a(k,{backgroundColor:"layer.1",borderRadius:"2.tone.secondary",boxShadow:"1.remark",children:a(k,{className:y(e.toCapital()+"Base"),children:e=="clock"?a(g.Clock.index,p({},h)):e=="date"?a(g.Date.index,p({},h)):e=="week"?"":e=="month"?a(g.Month.index,p({},h)):e=="year"?a(g.Year.index,p({},h)):e=="dates"||e=="months"?"":e=="dateWareki"?a(g.DateWareki.index,p({},h)):a($,{})})})},g={Clock:{index:i=>{let{min:e,max:d,onValueUpdate:o,sheetID:t,val_value:r,set_value:m}=i,[h,n]=A(r.hour>12?2:1),[s,l]=A(Number(localStorage.getItem("timePickerUnit")||5));F(()=>{localStorage.setItem("timePickerUnit",String(s))},[s]);let{hour:u,minutes:c}=r;return f(T,{padding:1,children:[f(w,{flexType:"row",flexWrap:!1,gap:1,className:y("Body"),children:[f(T,{className:y("DesignSide"),flexSizing:0,children:[a(k,{className:y("ClockUiBase"),padding:[1,"2/3"],flexCenter:!0,children:f(k,{className:y("ClockUi"),backgroundColor:"theme.opa.low",isRounded:!0,position:"relative",children:[a(k,{position:"absolute",backgroundColor:"theme",unitWidth:"1/12",className:[y("Needle"),y("hour")].join(" "),freeCSS:{transform:`rotate(${u*30+c/2}deg)`}}),a(k,{position:"absolute",backgroundColor:"theme",unitWidth:"1/12",className:[y("Needle"),y("minute")].join(" "),freeCSS:{transform:`rotate(${c*6}deg)`}})]})}),a(L,{icon:!0,value:[h],options:[{value:1,label:"AM"},{value:2,label:"PM"}],flexType:"col",gap:"1/2",tabIndex:-1,onUpdateValidValue:v=>{let I=r.hour%12+(v==2?12:0);n(v),m({modifiedType:"update",hour:I,minutes:r.minutes})}}),a(k,{borderTop:!0,margin:[0,1]}),a(L,{icon:!0,value:[s],options:[{value:1,label:"/ 1\u5206"},{value:2,label:"/ 2\u5206"},{value:5,label:"/ 5\u5206"}],flexType:"col",gap:"1/2",tabIndex:-1,onUpdateValidValue:v=>{l(v)}})]}),f(T,{children:[f(k,{flexCenter:!0,isSemiBoldFont:!0,fontSize:"3.paragraph",children:[r.hour.zeroEmbed(2)," : ",r.minutes.zeroEmbed(2)]}),f(w,{flexWrap:!1,ssCardBox:!0,flexChilds:"even",padding:["1/3",0],freeCSS:{minWidth:12*12},children:[a(T,{gap:0,overflow:"auto",padding:"2/3",borderRight:!0,freeCSS:{maxHeight:12*22},children:g.Clock.Hours({onClick:v=>{let R=v+(h==2?12:0);m({modifiedType:"update",hour:R,minutes:r.minutes})},min:e,max:d,ampm:h})}),a(T,{gap:0,overflow:"auto",padding:"2/3",freeCSS:{maxHeight:12*22},children:g.Clock.Minutes({onClick:v=>{m({modifiedType:"update",hour:r.hour,minutes:v})},min:e,max:d,unit:s})})]})]})]}),a(g.Variables.Footer,{sheetID:t,onValueUpdate:o})]})},Hours:i=>{let e=[];for(let d=0;d<12;d++){let o=i.ampm==2?d+12:d,t=!1;{let r=Number(String(o*100).replace(/\D/ig,""));if(i.min&&Number(String(i.min).replace(/\D/ig,""))>r&&(t=!0),i.max){let m=Number(String(i.max).replace(/\D/ig,""));r>m&&(t=!0)}}e.push(a(C.Normal,{isLocked:t,borderBottom:!0,borderRadius:0,padding:["1/2",1],freeCSS:{whiteSpace:"nowrap"},tabIndex:-1,onClick:()=>{i.onClick(d)},children:o.zeroEmbed(2)},d))}return e},Minutes:i=>{let e=[];for(let d=0;d<60/i.unit;d++){let o=d*i.unit;e.push(a(C.Normal,{borderBottom:!0,borderRadius:0,padding:["1/2",1],freeCSS:{whiteSpace:"nowrap"},tabIndex:-1,onClick:()=>{i.onClick(o)},children:o.zeroEmbed(2)},o))}return e}},Date:{index:i=>{let{min:e,max:d,onValueUpdate:o,sheetID:t,val_value:r,set_value:m}=i,{year:h,month:n,date:s}=r;return f(T,{padding:1,children:[f(N.Separate,{flexWrap:!0,children:[f(w,{verticalAlign:"bottom",horizontalAlign:"left",gap:"2/3",flexWrap:!1,children:[a(M,{override:"force",emptySelect:!1,value:h,options:_(),fontSize:"1.mini",border:"1.thin",padding:["1/3","2/3"],paddingRight:1.5,SelectorStyles:{freeCSS:{minWidth:12*12}},onUpdateValidValue:l=>{m({modifiedType:"update",year:Number(l),month:n,date:s})},rightIcon:a(B,{ssSphere:2,right:"1/3",children:a(V.AngleDown,{})})}),a(M,{override:"force",emptySelect:!1,value:n,options:(()=>{let l=[];for(let u=1;u<=12;u++)l.push({value:u,label:String(u)+"\u6708"});return l})(),fontSize:"1.mini",border:"1.thin",padding:["1/3","2/3"],paddingRight:1.5,SelectorStyles:{freeCSS:{minWidth:12*8}},rightIcon:a(B,{ssSphere:2,right:"1/3",children:a(V.AngleDown,{})}),onUpdateValidValue:l=>{m({modifiedType:"update",year:h,month:Number(l),date:s})}})]}),a(g.Variables.ShiftButtons,{callback:l=>{let u=n+l,c=h;u<=0&&(c--,u=12),u>12&&(c++,u=1),m({modifiedType:"update",year:c,month:u,date:r.date})}})]}),a(k,{borderTop:!0}),a(k,{children:g.Date.MonthCalendar({min:e,max:d,year:r.year,month:r.month,current:[r.year,r.month,r.date],callback:l=>{let[u,c,v]=l;m({modifiedType:"update",year:u,month:c,date:v})}})}),a(g.Variables.Footer,{sheetID:t,onValueUpdate:o})]})},MonthCalendar:i=>{let{min:e,max:d,year:o,month:t,current:r,callback:m}=i,h=S(),n=S([o,t.zeroEmbed(2),"01"].join("/")),s=n.getLastDayOfMonth(),l=S(n).addMonth(-1).getLastDayOfMonth().date,u=[],c=[],v=[],R=[],I={padding:0,unitWidth:3,unitHeight:3,flexCenter:!0,borderRadius:"3.tone.tertiary"};for(var b=0;b<7;b++)u.push(a(k,x(p({className:[y("CalendarDay"),y("Legend")].join(" ")},I),{children:["\u65E5","\u6708","\u706B","\u6C34","\u6728","\u91D1","\u571F"][b]}),b));for(var b=0;b<n.weekday;b++)c.unshift(q(k,x(p({className:[y("CalendarDay"),y("Dummy")].join(" "),fontColor:"4.thin"},I),{key:b}),l-b));for(var b=1;b<=s.date;b++){let E=b,Y=o==h.year&&t==h.month&&b==h.date,P=!1;{let z=Number(String([o,t.zeroEmbed(2),b.zeroEmbed(2)].join("/")).replace(/\D/ig,""));if(i.min&&Number(String(i.min).replace(/\D/ig,""))>z&&(P=!0),i.max){let U=Number(String(i.max).replace(/\D/ig,""));z>U&&(P=!0)}}v.push(a(C.Clear,x(p({className:[y("CalendarDay"),y("isToday_"+Y)].join(" ")},I),{fontColor:"1.clear",padding:0,flexCenter:!0,isRounded:!0,ssEffectsOnActive:"shrink",onClick:()=>{m([o,t,E])},tabIndex:-1,isLocked:P,children:b}),E))}for(var b=1;b<7-s.weekday;b++)R.push(a(k,x(p({className:[y("CalendarDay"),y("Dummy")].join(" "),fontColor:"4.thin"},I),{children:b}),b));return f(W,{gridCols:7,gap:"1/6",children:[u,c,v,R]})}},Month:{index:i=>{let{min:e,max:d,onValueUpdate:o,sheetID:t,val_value:r,set_value:m}=i,{year:h,month:n}=r;return f(T,{padding:1,children:[f(N.Separate,{gap:0,children:[a(N.Center,{verticalAlign:"bottom",gap:"2/3",children:a(M,{emptySelect:!1,value:h,options:_(),override:"force",border:"1.thin",padding:["1/3","2/3"],paddingRight:1.5,SelectorStyles:{freeCSS:{minWidth:12*12}},rightIcon:a(B,{ssSphere:2,right:"1/3",children:a(V.AngleDown,{})}),onUpdateValidValue:s=>{m({modifiedType:"update",year:Number(s),month:n})}})}),a(g.Variables.ShiftButtons,{callback:s=>{let l=Math.min(Math.max(h+s,1900),2100);m({modifiedType:"update",year:l,month:n})}})]}),a(k,{borderTop:!0}),g.Month.Months({min:e,max:d,year:r.year,callback:s=>{let[l,u]=s;m({modifiedType:"update",year:l,month:u})}}),a(g.Variables.Footer,{sheetID:t,onValueUpdate:o})]})},Months:i=>{let{year:e,callback:d}=i,o=S(),t=[];for(let r=1;r<=12;r++){let m=e==o.year&&r==o.month,h=!1;{let s=Number(String([e,r.zeroEmbed(2)].join("/")).replace(/\D/ig,""));if(i.min&&Number(String(i.min).replace(/\D/ig,""))>s&&(h=!0),i.max){let l=Number(String(i.max).replace(/\D/ig,""));s>l&&(h=!0)}}let n=[y("Cell"),m?y("isThisMonth"):""].join(" ");t.push(f(C.Clear,{className:n,isLocked:h,fontColor:"2.normal",padding:["1/3",1],ssEffectsOnActive:"shrink",onClick:()=>{d([e,r])},children:[r," \u6708"]},e+"-"+r))}return a(W,{gridCols:4,gap:"2/3",children:t})}},Year:{index:i=>{let{min:e,max:d,onValueUpdate:o,sheetID:t,val_value:r,set_value:m}=i,{year:h}=r;return f(T,{padding:1,children:[a(M,{emptySelect:!1,paddingRight:1.5,fontSize:"1.mini",value:h||S().year,override:"force",SelectorStyles:{freeCSS:{minWidth:12*12}},options:_({min:e,max:d}),onUpdateValidValue:n=>{m({modifiedType:"update",year:Number(n)})}}),a(g.Variables.Footer,{sheetID:t,onValueUpdate:o,onSubmit:()=>{m({modifiedType:"update",year:Number(h||S().year)})}})]})}},DateWareki:{index:i=>{let{min:e,max:d,onValueUpdate:o,sheetID:t,val_value:r,set_value:m}=i,{era:h,year:n,month:s,date:l}=r,u={val_value:r,set_value:m};return f(k,{children:[f(N.Left,{borderBottom:!0,gap:0,verticalAlign:"unset",children:[a(g.DateWareki.EraSelect,p({},u)),a(k,{borderRight:!0}),a(g.DateWareki.Calendar,p({},u))]}),a(N.Right,{padding:1,children:a(g.Variables.Footer,{sheetID:t,onValueUpdate:o})})]})},EraSelect:i=>{let{val_value:e,set_value:d}=i,o={padding:["1/2",1.5],fontColor:"3.blur"},t={backgroundColor:"cloud",fontColor:"2.normal",isSemiBoldFont:!0};return f(T,{padding:1,gap:0,children:[a(C.Clear,x(p({color:"cloud"},o),{isActiveStyles:t,isActive:e.era=="year",onClick:()=>{let r=S();d({modifiedType:"update",era:"year",year:r.year,month:r.month,date:r.date})},children:"\u897F\u66A6"})),a(C.Clear,x(p({color:"cloud"},o),{isActiveStyles:t,isActive:e.era=="reiwa",onClick:()=>{let r=S();d({modifiedType:"update",era:"reiwa",year:r.year,month:r.month,date:r.date})},children:"\u4EE4\u548C"})),a(C.Clear,x(p({color:"cloud"},o),{isActiveStyles:t,isActive:e.era=="heisei",onClick:()=>{d({modifiedType:"update",era:"heisei",year:2019,month:1,date:1})},children:"\u5E73\u6210"})),a(C.Clear,x(p({color:"cloud"},o),{isActiveStyles:t,isActive:e.era=="shouwa",onClick:()=>{d({modifiedType:"update",era:"shouwa",year:1989,month:1,date:1})},children:"\u662D\u548C"})),a(C.Clear,x(p({color:"cloud"},o),{isActiveStyles:t,isActive:e.era=="taisho",onClick:()=>{d({modifiedType:"update",era:"taisho",year:1926,month:1,date:1})},children:"\u5927\u6B63"})),a(C.Clear,x(p({color:"cloud"},o),{isActiveStyles:t,isActive:e.era=="meiji",onClick:()=>{d({modifiedType:"update",era:"meiji",year:1912,month:1,date:1})},children:"\u660E\u6CBB"}))]})},Calendar:i=>{let{val_value:e,set_value:d}=i,o=[];if(e.era=="year"){let t=S().year+10;for(let r=1900;r<t;r++)o.unshift({value:r,label:r+"\u5E74"})}else if(e.era=="reiwa"){let t=S().year-2018;for(let r=1;r<=t+10;r++)o.unshift({value:2019+r-1,label:"\u4EE4\u548C"+(r==1?"\u5143":r)+"\u5E74"})}else if(e.era=="heisei")for(let t=1;t<=31;t++)o.unshift({value:1989+t-1,label:"\u5E73\u6210"+(t==1?"\u5143":t)+"\u5E74"});else if(e.era=="shouwa")for(let t=1;t<=64;t++)o.unshift({value:1926+t-1,label:"\u662D\u548C"+(t==1?"\u5143":t)+"\u5E74"});else if(e.era=="taisho")for(let t=1;t<=15;t++)o.unshift({value:1912+t-1,label:"\u5927\u6B63"+(t==1?"\u5143":t)+"\u5E74"});else if(e.era=="meiji")for(let t=1;t<=45;t++)o.unshift({value:1868+t-1,label:"\u660E\u6CBB"+(t==1?"\u5143":t)+"\u5E74"});return f(T,{padding:1,children:[f(N.Separate,{children:[a(M,{emptySelect:!1,override:"force",border:"1.thin",padding:["1/3","2/3"],paddingRight:1.5,fontSize:"1.mini",SelectorStyles:{freeCSS:{minWidth:12*12}},rightIcon:a(B,{ssSphere:2,right:"1/3",children:a(V.AngleDown,{})}),options:o,value:e.year,onUpdateValidValue:t=>{d(r=>x(p({},r),{modifiedType:"update",year:Number(t)}))}}),f(N.Center,{gap:"1/3",children:[a(M,{emptySelect:!1,override:"force",border:"1.thin",padding:["1/3","2/3"],paddingRight:1.5,fontSize:"1.mini",SelectorStyles:{freeCSS:{minWidth:12*9}},rightIcon:a(B,{ssSphere:2,right:"1/3",children:a(V.AngleDown,{})}),options:[{value:1,label:"1\u6708"},{value:2,label:"2\u6708"},{value:3,label:"3\u6708"},{value:4,label:"4\u6708"},{value:5,label:"5\u6708"},{value:6,label:"6\u6708"},{value:7,label:"7\u6708"},{value:8,label:"8\u6708"},{value:9,label:"9\u6708"},{value:10,label:"10\u6708"},{value:11,label:"11\u6708"},{value:12,label:"12\u6708"}],value:e.month,onUpdateValidValue:t=>{d({modifiedType:"update",era:e.era,year:e.year,month:Number(t),date:1})}}),a(C.Clear.S,{ssSphere:2.5,onClick:()=>{let t=e.month-1;d({modifiedType:"update",era:e.era,year:t==0?e.year-1:e.year,month:t==0?12:t,date:1})},children:a(V.ChevronLeft,{})}),a(C.Clear.S,{ssSphere:2.5,onClick:()=>{let t=e.month+1;d({modifiedType:"update",era:e.era,year:t==13?e.year+1:e.year,month:t==13?1:t,date:1})},children:a(V.ChevronRight,{})})]})]}),a(g.DateWareki.MonthCell,p({},i))]},e.era)},MonthCell:i=>{let{val_value:e,set_value:d}=i,o=S([e.year.zeroEmbed(4),e.month.zeroEmbed(2),e.date.zeroEmbed(2)].join("/"));if(!o.validate)return;let t=o.getFirstDayOfMonth().weekday,r=o.getLastDayOfMonth(),m=[];for(let n=0;n<7;n++)m.push(a(G.Supplement,{flexCenter:!0,fontColor:n==0?"googleRed":n==6?"googleBlue":"3.blur",children:D.transformer.weekday.shortJP(n)},"legend-"+n));for(let n=0;n<t;n++){let s=S(o).getFirstDayOfMonth().addDate(n-t);m.push(a(C.Sub,{color:"cloud",ssSquare:3,opacity:"middle",onClick:l=>{l.preventDefault(),l.stopPropagation(),d({modifiedType:"update",era:e.era,year:s.year,month:s.month,date:s.date})},children:s.date},"lastMonth-"+n))}let h=S();for(let n=1;n<=r.date;n++){let s=S(o).setDate(n),l=h.diff(s).dates==0;m.push(a(C.Clear,{ssSquare:3,fontColor:"2.normal",className:[y("CalendarDay"),y("isToday_"+l)].join(" "),onClick:()=>{d({modifiedType:"update",era:e.era,year:s.year,month:s.month,date:s.date})},children:s.date},"currentMonth-"+n))}for(let n=0;n<7-r.weekday-1;n++){let s=S(o).addMonth(1).setDate(1).addDate(n);m.push(a(C.Sub,{color:"cloud",ssSquare:3,opacity:"middle",onClick:l=>{l.preventDefault(),l.stopPropagation(),d({modifiedType:"update",era:e.era,year:s.year,month:s.month,date:s.date})},children:s.date},"nextMonth-"+n))}return a(W,{gridCols:7,gap:"1/4",children:m})}},Variables:{Footer:i=>f(w,{flexWrap:!1,gap:1,flexChilds:"even",freeCSS:{whiteSpace:"nowrap"},children:[f(C.Sub.S,{color:"cloud",tabIndex:-1,isRounded:!0,onClick:()=>{i.onValueUpdate("")},flexSizing:"none",children:[a(V.X,{})," \u524A\u9664"]}),a(C.Prime.S,{tabIndex:-1,isRounded:!0,flexSizing:"auto",freeCSS:{minWidth:12*6},onClick:()=>{i.onSubmit&&i.onSubmit(),X.close(i.sheetID)},children:"\u6C7A\u5B9A"})]}),ShiftButtons:i=>f(w,{gap:"1/3",flexWrap:!1,children:[a(C.Clear,x(p({className:y("LeftButton"),tabIndex:-1,right:0},g.Variables.ShiftButtonStyles),{onClick:()=>{i.callback(-1)},children:a(V.ChevronLeft,{})})),a(C.Clear,x(p({className:y("RightButton"),tabIndex:-1,left:0},g.Variables.ShiftButtonStyles),{onClick:()=>{i.callback(1)},children:a(V.ChevronRight,{})}))]}),ShiftButtonStyles:{position:"relative",flexCenter:!0,ssSphere:2.5}}};export{j as Picker,j as default};
1
+ import{b as f,c as D}from"../../../chunk-C5N2D3ZX.js";import{Fragment as $,jsx as a,jsxs as y}from"react/jsx-runtime";import{createElement as q}from"react";import V,{UUID as O,Time as C}from"jmini";import{useState as B,useEffect as F,useRef as H}from"react";import{Box as x,Flex as _,Grid as A,FAI as T,Column as N}from"../../../atoms";import{Row as I,Literal as G}from"../../../mols";import{Button as v}from"../../Button";import X from"../../Sheet";import M from"../Select";import{Radio as L}from"../List";import{RightIcon as w}from"..";import{InputTimeClasses as b}from"../../../@styles/componentClasses";let W=r=>{var t,i;let e=[],o=Number((t=r==null?void 0:r.min)!=null?t:1900),l=Number((i=r==null?void 0:r.max)!=null?i:C().addYear(10).year);for(let m=o;m<=l;m++)e.unshift({value:m,label:[m,...V.transformer.wareki(m).value].join(" -")});return e};const j=r=>{let{restrict:e,era:o="year",defaultValue:l=""}=r;r=f({},r),r.sheetID=r.sheetID||O();const t=H(!1);let[i,m]=B(!1),[h,u]=B((()=>{var s,p;if(e=="clock"){let d=String(l).split(/[^\d]/);d[0]||(d=[0,0]);let c=Number(d[0]),k=Number(d[1]);return{modifiedType:"init",hour:c,minutes:k}}else if(e=="date"){let[d,c,k]=(s=String(l))==null?void 0:s.split(/\D/);return(V.is.nullish(d)||V.is.nullish(c)||V.is.nullish(k))&&([d,c,k]=C().toFormat("%Y-%M-%D").split("-")),{modifiedType:"init",year:Number(d),month:Number(c),date:Number(k)}}else if(e!="week"){if(e=="month"){let[d,c]=String(l).split(/\D/);return(V.is.nullish(d)||V.is.nullish(c))&&([d,c]=C().toFormat("%Y-%M").split("-")),{modifiedType:"init",year:Number(d),month:Number(c)}}else if(e=="year"){let[d]=String(l).split(/\D/);return V.is.nullish(d)&&([d]=C().toFormat("%Y").split("-")),{modifiedType:"init",year:Number(d)}}else if(e=="dateWareki"){let[d,c,k]=(p=String(l))==null?void 0:p.split(/\D/);return(V.is.nullish(d)||V.is.nullish(c)||V.is.nullish(k))&&([d,c,k]=C().toFormat("%Y-%M-%D").split("-")),{modifiedType:"init",era:o||"year",year:Number(d),month:Number(c),date:Number(k)}}}return{}})());F(()=>{if(t.current){if(h.modifiedType=="update"){let s="",p=o||"year";if(e=="clock"){let{hour:d,minutes:c}=h;s=[d.zeroEmbed(2),c.zeroEmbed(2)].join("/")}else if(e=="date"){let{year:d,month:c,date:k}=h;s=[d,c.zeroEmbed(2),k.zeroEmbed(2)].join("/")}else if(e!="week"){if(e=="month"){let{year:d,month:c}=h;s=[d,c.zeroEmbed(2)].join("/")}else if(e=="year"){let{year:d}=h;s=String(d)}else if(e=="dateWareki"){let{year:d,month:c,date:k,era:R}=h;p=R,s=[d,c.zeroEmbed(2),k.zeroEmbed(2)].join("/")}}r.onValueUpdate(s,p,i)}}else t.current=!0},[h,i]);let n=D(f({},r),{val_value:h,set_value:u,val_confirmed:i,set_confirmed:m});return a(x,{backgroundColor:"layer.1",borderRadius:"2.tone.secondary",boxShadow:"1.remark",children:a(x,{className:b(e.toCapital()+"Base"),children:e=="clock"?a(g.Clock.index,f({},n)):e=="date"?a(g.Date.index,f({},n)):e=="week"?"":e=="month"?a(g.Month.index,f({},n)):e=="year"?a(g.Year.index,f({},n)):e=="dates"||e=="months"?"":e=="dateWareki"?a(g.DateWareki.index,f({},n)):a($,{})})})},g={Clock:{index:r=>{let{min:e,max:o,onValueUpdate:l,sheetID:t,val_value:i,set_value:m}=r,[h,u]=B(i.hour>12?2:1),[n,s]=B(Number(localStorage.getItem("timePickerUnit")||5));F(()=>{localStorage.setItem("timePickerUnit",String(n))},[n]);let{hour:p,minutes:d}=i;return y(N,{padding:1,children:[y(_,{flexType:"row",flexWrap:!1,gap:1,className:b("Body"),children:[y(N,{className:b("DesignSide"),flexSizing:0,children:[a(x,{className:b("ClockUiBase"),padding:[1,"2/3"],flexCenter:!0,children:y(x,{className:b("ClockUi"),backgroundColor:"theme.opa.low",isRounded:!0,position:"relative",children:[a(x,{position:"absolute",backgroundColor:"theme",unitWidth:"1/12",className:[b("Needle"),b("hour")].join(" "),freeCSS:{transform:`rotate(${p*30+d/2}deg)`}}),a(x,{position:"absolute",backgroundColor:"theme",unitWidth:"1/12",className:[b("Needle"),b("minute")].join(" "),freeCSS:{transform:`rotate(${d*6}deg)`}})]})}),a(L,{icon:!0,value:[h],options:[{value:1,label:"AM"},{value:2,label:"PM"}],flexType:"col",gap:"1/2",tabIndex:-1,onUpdateValidValue:c=>{let R=i.hour%12+(c==2?12:0);u(c),m({modifiedType:"update",hour:R,minutes:i.minutes})}}),a(x,{borderTop:!0,margin:[0,1]}),a(L,{icon:!0,value:[n],options:[{value:1,label:"/ 1\u5206"},{value:2,label:"/ 2\u5206"},{value:5,label:"/ 5\u5206"}],flexType:"col",gap:"1/2",tabIndex:-1,onUpdateValidValue:c=>{s(c)}})]}),y(N,{children:[y(x,{flexCenter:!0,isSemiBoldFont:!0,fontSize:"3.paragraph",children:[i.hour.zeroEmbed(2)," : ",i.minutes.zeroEmbed(2)]}),y(_,{flexWrap:!1,ssCardBox:!0,flexChilds:"even",padding:["1/3",0],freeCSS:{minWidth:12*12},children:[a(N,{gap:0,overflow:"auto",padding:"2/3",borderRight:!0,freeCSS:{maxHeight:12*22},children:g.Clock.Hours({onClick:c=>{let k=c+(h==2?12:0);m({modifiedType:"update",hour:k,minutes:i.minutes})},min:e,max:o,ampm:h})}),a(N,{gap:0,overflow:"auto",padding:"2/3",freeCSS:{maxHeight:12*22},children:g.Clock.Minutes({onClick:c=>{m({modifiedType:"update",hour:i.hour,minutes:c})},min:e,max:o,unit:n})})]})]})]}),a(g.Variables.Footer,{sheetID:t,set_confirmed:r.set_confirmed,onValueUpdate:l})]})},Hours:r=>{let e=[];for(let o=0;o<12;o++){let l=r.ampm==2?o+12:o,t=!1;{let i=Number(String(l*100).replace(/\D/ig,""));if(r.min&&Number(String(r.min).replace(/\D/ig,""))>i&&(t=!0),r.max){let m=Number(String(r.max).replace(/\D/ig,""));i>m&&(t=!0)}}e.push(a(v.Normal,{isLocked:t,borderBottom:!0,borderRadius:0,padding:["1/2",1],freeCSS:{whiteSpace:"nowrap"},tabIndex:-1,onClick:()=>{r.onClick(o)},children:l.zeroEmbed(2)},o))}return e},Minutes:r=>{let e=[];for(let o=0;o<60/r.unit;o++){let l=o*r.unit;e.push(a(v.Normal,{borderBottom:!0,borderRadius:0,padding:["1/2",1],freeCSS:{whiteSpace:"nowrap"},tabIndex:-1,onClick:()=>{r.onClick(l)},children:l.zeroEmbed(2)},l))}return e}},Date:{index:r=>{let{min:e,max:o,onValueUpdate:l,sheetID:t,val_value:i,set_value:m}=r,{year:h,month:u,date:n}=i;return y(N,{padding:1,children:[y(I.Separate,{flexWrap:!0,children:[y(_,{verticalAlign:"bottom",horizontalAlign:"left",gap:"2/3",flexWrap:!1,children:[a(M,{override:"force",emptySelect:!1,value:h,options:W(),fontSize:"1.mini",border:"1.thin",padding:["1/3","2/3"],paddingRight:1.5,SelectorStyles:{freeCSS:{minWidth:12*12}},onUpdateValidValue:s=>{m({modifiedType:"update",year:Number(s),month:u,date:n})},rightIcon:a(w,{ssSphere:2,right:"1/3",children:a(T.AngleDown,{})})}),a(M,{override:"force",emptySelect:!1,value:u,options:(()=>{let s=[];for(let p=1;p<=12;p++)s.push({value:p,label:String(p)+"\u6708"});return s})(),fontSize:"1.mini",border:"1.thin",padding:["1/3","2/3"],paddingRight:1.5,SelectorStyles:{freeCSS:{minWidth:12*8}},rightIcon:a(w,{ssSphere:2,right:"1/3",children:a(T.AngleDown,{})}),onUpdateValidValue:s=>{m({modifiedType:"update",year:h,month:Number(s),date:n})}})]}),a(g.Variables.ShiftButtons,{callback:s=>{let p=u+s,d=h;p<=0&&(d--,p=12),p>12&&(d++,p=1),m({modifiedType:"update",year:d,month:p,date:i.date})}})]}),a(x,{borderTop:!0}),a(x,{children:g.Date.MonthCalendar({min:e,max:o,year:i.year,month:i.month,current:[i.year,i.month,i.date],callback:s=>{let[p,d,c]=s;m({modifiedType:"update",year:p,month:d,date:c})}})}),a(g.Variables.Footer,{sheetID:t,set_confirmed:r.set_confirmed,onValueUpdate:l})]})},MonthCalendar:r=>{let{min:e,max:o,year:l,month:t,current:i,callback:m}=r,h=C(),u=C([l,t.zeroEmbed(2),"01"].join("/")),n=u.getLastDayOfMonth(),s=C(u).addMonth(-1).getLastDayOfMonth().date,p=[],d=[],c=[],k=[],R={padding:0,unitWidth:3,unitHeight:3,flexCenter:!0,borderRadius:"3.tone.tertiary"};for(var S=0;S<7;S++)p.push(a(x,D(f({className:[b("CalendarDay"),b("Legend")].join(" ")},R),{children:["\u65E5","\u6708","\u706B","\u6C34","\u6728","\u91D1","\u571F"][S]}),S));for(var S=0;S<u.weekday;S++)d.unshift(q(x,D(f({className:[b("CalendarDay"),b("Dummy")].join(" "),fontColor:"4.thin"},R),{key:S}),s-S));for(var S=1;S<=n.date;S++){let E=S,Y=l==h.year&&t==h.month&&S==h.date,P=!1;{let z=Number(String([l,t.zeroEmbed(2),S.zeroEmbed(2)].join("/")).replace(/\D/ig,""));if(r.min&&Number(String(r.min).replace(/\D/ig,""))>z&&(P=!0),r.max){let U=Number(String(r.max).replace(/\D/ig,""));z>U&&(P=!0)}}c.push(a(v.Clear,D(f({className:[b("CalendarDay"),b("isToday_"+Y)].join(" ")},R),{fontColor:"1.clear",padding:0,flexCenter:!0,isRounded:!0,ssEffectsOnActive:"shrink",onClick:()=>{m([l,t,E])},tabIndex:-1,isLocked:P,children:S}),E))}for(var S=1;S<7-n.weekday;S++)k.push(a(x,D(f({className:[b("CalendarDay"),b("Dummy")].join(" "),fontColor:"4.thin"},R),{children:S}),S));return y(A,{gridCols:7,gap:"1/6",children:[p,d,c,k]})}},Month:{index:r=>{let{min:e,max:o,onValueUpdate:l,sheetID:t,val_value:i,set_value:m}=r,{year:h,month:u}=i;return y(N,{padding:1,children:[y(I.Separate,{gap:0,children:[a(I.Center,{verticalAlign:"bottom",gap:"2/3",children:a(M,{emptySelect:!1,value:h,options:W(),override:"force",border:"1.thin",padding:["1/3","2/3"],paddingRight:1.5,SelectorStyles:{freeCSS:{minWidth:12*12}},rightIcon:a(w,{ssSphere:2,right:"1/3",children:a(T.AngleDown,{})}),onUpdateValidValue:n=>{m({modifiedType:"update",year:Number(n),month:u})}})}),a(g.Variables.ShiftButtons,{callback:n=>{let s=Math.min(Math.max(h+n,1900),2100);m({modifiedType:"update",year:s,month:u})}})]}),a(x,{borderTop:!0}),g.Month.Months({min:e,max:o,year:i.year,callback:n=>{let[s,p]=n;m({modifiedType:"update",year:s,month:p})}}),a(g.Variables.Footer,{sheetID:t,set_confirmed:r.set_confirmed,onValueUpdate:l})]})},Months:r=>{let{year:e,callback:o}=r,l=C(),t=[];for(let i=1;i<=12;i++){let m=e==l.year&&i==l.month,h=!1;{let n=Number(String([e,i.zeroEmbed(2)].join("/")).replace(/\D/ig,""));if(r.min&&Number(String(r.min).replace(/\D/ig,""))>n&&(h=!0),r.max){let s=Number(String(r.max).replace(/\D/ig,""));n>s&&(h=!0)}}let u=[b("Cell"),m?b("isThisMonth"):""].join(" ");t.push(y(v.Clear,{className:u,isLocked:h,fontColor:"2.normal",padding:["1/3",1],ssEffectsOnActive:"shrink",onClick:()=>{o([e,i])},children:[i," \u6708"]},e+"-"+i))}return a(A,{gridCols:4,gap:"2/3",children:t})}},Year:{index:r=>{let{min:e,max:o,onValueUpdate:l,sheetID:t,val_value:i,set_value:m}=r,{year:h}=i;return y(N,{padding:1,children:[a(M,{emptySelect:!1,paddingRight:1.5,fontSize:"1.mini",value:h||C().year,override:"force",SelectorStyles:{freeCSS:{minWidth:12*12}},options:W({min:e,max:o}),onUpdateValidValue:u=>{m({modifiedType:"update",year:Number(u)})}}),a(g.Variables.Footer,{sheetID:t,set_confirmed:r.set_confirmed,onValueUpdate:l,onSubmit:()=>{m({modifiedType:"update",year:Number(h||C().year)})}})]})}},DateWareki:{index:r=>{let{min:e,max:o,onValueUpdate:l,sheetID:t,val_value:i,set_value:m}=r,{era:h,year:u,month:n,date:s}=i,p={val_value:i,set_value:m};return y(x,{children:[y(I.Left,{borderBottom:!0,gap:0,verticalAlign:"unset",children:[a(g.DateWareki.EraSelect,f({},p)),a(x,{borderRight:!0}),a(g.DateWareki.Calendar,f({},p))]}),a(I.Right,{padding:1,children:a(g.Variables.Footer,{sheetID:t,set_confirmed:r.set_confirmed,onValueUpdate:l})})]})},EraSelect:r=>{let{val_value:e,set_value:o}=r,l={padding:["1/2",1.5],fontColor:"3.blur"},t={backgroundColor:"cloud",fontColor:"2.normal",isSemiBoldFont:!0};return y(N,{padding:1,gap:0,children:[a(v.Clear,D(f({color:"cloud"},l),{isActiveStyles:t,isActive:e.era=="year",onClick:()=>{let i=C();o({modifiedType:"update",era:"year",year:i.year,month:i.month,date:i.date})},children:"\u897F\u66A6"})),a(v.Clear,D(f({color:"cloud"},l),{isActiveStyles:t,isActive:e.era=="reiwa",onClick:()=>{let i=C();o({modifiedType:"update",era:"reiwa",year:i.year,month:i.month,date:i.date})},children:"\u4EE4\u548C"})),a(v.Clear,D(f({color:"cloud"},l),{isActiveStyles:t,isActive:e.era=="heisei",onClick:()=>{o({modifiedType:"update",era:"heisei",year:2019,month:1,date:1})},children:"\u5E73\u6210"})),a(v.Clear,D(f({color:"cloud"},l),{isActiveStyles:t,isActive:e.era=="shouwa",onClick:()=>{o({modifiedType:"update",era:"shouwa",year:1989,month:1,date:1})},children:"\u662D\u548C"})),a(v.Clear,D(f({color:"cloud"},l),{isActiveStyles:t,isActive:e.era=="taisho",onClick:()=>{o({modifiedType:"update",era:"taisho",year:1926,month:1,date:1})},children:"\u5927\u6B63"})),a(v.Clear,D(f({color:"cloud"},l),{isActiveStyles:t,isActive:e.era=="meiji",onClick:()=>{o({modifiedType:"update",era:"meiji",year:1912,month:1,date:1})},children:"\u660E\u6CBB"}))]})},Calendar:r=>{let{val_value:e,set_value:o}=r,l=[];if(e.era=="year"){let t=C().year+10;for(let i=1900;i<t;i++)l.unshift({value:i,label:i+"\u5E74"})}else if(e.era=="reiwa"){let t=C().year-2018;for(let i=1;i<=t+10;i++)l.unshift({value:2019+i-1,label:"\u4EE4\u548C"+(i==1?"\u5143":i)+"\u5E74"})}else if(e.era=="heisei")for(let t=1;t<=31;t++)l.unshift({value:1989+t-1,label:"\u5E73\u6210"+(t==1?"\u5143":t)+"\u5E74"});else if(e.era=="shouwa")for(let t=1;t<=64;t++)l.unshift({value:1926+t-1,label:"\u662D\u548C"+(t==1?"\u5143":t)+"\u5E74"});else if(e.era=="taisho")for(let t=1;t<=15;t++)l.unshift({value:1912+t-1,label:"\u5927\u6B63"+(t==1?"\u5143":t)+"\u5E74"});else if(e.era=="meiji")for(let t=1;t<=45;t++)l.unshift({value:1868+t-1,label:"\u660E\u6CBB"+(t==1?"\u5143":t)+"\u5E74"});return y(N,{padding:1,children:[y(I.Separate,{children:[a(M,{emptySelect:!1,override:"force",border:"1.thin",padding:["1/3","2/3"],paddingRight:1.5,fontSize:"1.mini",SelectorStyles:{freeCSS:{minWidth:12*12}},rightIcon:a(w,{ssSphere:2,right:"1/3",children:a(T.AngleDown,{})}),options:l,value:e.year,onUpdateValidValue:t=>{o(i=>D(f({},i),{modifiedType:"update",year:Number(t)}))}}),y(I.Center,{gap:"1/3",children:[a(M,{emptySelect:!1,override:"force",border:"1.thin",padding:["1/3","2/3"],paddingRight:1.5,fontSize:"1.mini",SelectorStyles:{freeCSS:{minWidth:12*9}},rightIcon:a(w,{ssSphere:2,right:"1/3",children:a(T.AngleDown,{})}),options:[{value:1,label:"1\u6708"},{value:2,label:"2\u6708"},{value:3,label:"3\u6708"},{value:4,label:"4\u6708"},{value:5,label:"5\u6708"},{value:6,label:"6\u6708"},{value:7,label:"7\u6708"},{value:8,label:"8\u6708"},{value:9,label:"9\u6708"},{value:10,label:"10\u6708"},{value:11,label:"11\u6708"},{value:12,label:"12\u6708"}],value:e.month,onUpdateValidValue:t=>{o({modifiedType:"update",era:e.era,year:e.year,month:Number(t),date:1})}}),a(v.Clear.S,{ssSphere:2.5,onClick:()=>{let t=e.month-1;o({modifiedType:"update",era:e.era,year:t==0?e.year-1:e.year,month:t==0?12:t,date:1})},children:a(T.ChevronLeft,{})}),a(v.Clear.S,{ssSphere:2.5,onClick:()=>{let t=e.month+1;o({modifiedType:"update",era:e.era,year:t==13?e.year+1:e.year,month:t==13?1:t,date:1})},children:a(T.ChevronRight,{})})]})]}),a(g.DateWareki.MonthCell,f({},r))]},e.era)},MonthCell:r=>{let{val_value:e,set_value:o}=r,l=C([e.year.zeroEmbed(4),e.month.zeroEmbed(2),e.date.zeroEmbed(2)].join("/"));if(!l.validate)return;let t=l.getFirstDayOfMonth().weekday,i=l.getLastDayOfMonth(),m=[];for(let u=0;u<7;u++)m.push(a(G.Supplement,{flexCenter:!0,fontColor:u==0?"googleRed":u==6?"googleBlue":"3.blur",children:V.transformer.weekday.shortJP(u)},"legend-"+u));for(let u=0;u<t;u++){let n=C(l).getFirstDayOfMonth().addDate(u-t);m.push(a(v.Sub,{color:"cloud",ssSquare:3,opacity:"middle",onClick:s=>{s.preventDefault(),s.stopPropagation(),o({modifiedType:"update",era:e.era,year:n.year,month:n.month,date:n.date})},children:n.date},"lastMonth-"+u))}let h=C();for(let u=1;u<=i.date;u++){let n=C(l).setDate(u),s=h.diff(n).dates==0;m.push(a(v.Clear,{ssSquare:3,fontColor:"2.normal",className:[b("CalendarDay"),b("isToday_"+s)].join(" "),onClick:()=>{o({modifiedType:"update",era:e.era,year:n.year,month:n.month,date:n.date})},children:n.date},"currentMonth-"+u))}for(let u=0;u<7-i.weekday-1;u++){let n=C(l).addMonth(1).setDate(1).addDate(u);m.push(a(v.Sub,{color:"cloud",ssSquare:3,opacity:"middle",onClick:s=>{s.preventDefault(),s.stopPropagation(),o({modifiedType:"update",era:e.era,year:n.year,month:n.month,date:n.date})},children:n.date},"nextMonth-"+u))}return a(A,{gridCols:7,gap:"1/4",children:m})}},Variables:{Footer:r=>y(_,{flexWrap:!1,gap:1,flexChilds:"even",freeCSS:{whiteSpace:"nowrap"},children:[y(v.Sub.S,{color:"cloud",tabIndex:-1,isRounded:!0,onClick:()=>{r.onValueUpdate("")},flexSizing:"none",children:[a(T.X,{})," \u524A\u9664"]}),a(v.Prime.S,{tabIndex:-1,isRounded:!0,flexSizing:"auto",freeCSS:{minWidth:12*6},onClick:()=>{r.set_confirmed(!0),r.onSubmit&&r.onSubmit(),X.close(r.sheetID)},children:"\u6C7A\u5B9A"})]}),ShiftButtons:r=>y(_,{gap:"1/3",flexWrap:!1,children:[a(v.Clear,D(f({className:b("LeftButton"),tabIndex:-1,right:0},g.Variables.ShiftButtonStyles),{onClick:()=>{r.callback(-1)},children:a(T.ChevronLeft,{})})),a(v.Clear,D(f({className:b("RightButton"),tabIndex:-1,left:0},g.Variables.ShiftButtonStyles),{onClick:()=>{r.callback(1)},children:a(T.ChevronRight,{})}))]}),ShiftButtonStyles:{position:"relative",flexCenter:!0,ssSphere:2.5}}};export{j as Picker,j as default};
@@ -18,7 +18,7 @@ export declare namespace TimeTypes {
18
18
  era?: Era;
19
19
  min?: string;
20
20
  max?: string;
21
- onValueUpdate(value: string | [string, string], era: Era): void;
21
+ onValueUpdate(value: string | [string, string], era: Era, isConfirmed: boolean): void;
22
22
  };
23
23
  type Focus = {
24
24
  active: boolean;
@@ -1 +1 @@
1
- import{a as ie,b as s,c as k,d as K}from"../../../chunk-C5N2D3ZX.js";import{Fragment as Ce,jsx as h,jsxs as se}from"react/jsx-runtime";import ee,{UUID as W,useStore as $}from"jmini";import*as X from"jmini";import{useState as F,useEffect as z,useRef as ue}from"react";import{$$fromRoot as de,Config as ne,ExtractStyles as fe}from"../../../@utils";import{Box as H,FAI as he}from"../../../atoms";import{Literal as ge,Row as ye}from"../../../mols";import{Button as oe}from"../../Button";import ve from"../../Tooltips";import Ie from"../../Sheet";import{faClock as Se}from"@fortawesome/free-solid-svg-icons/faClock";import{faCalendarAlt as Te}from"@fortawesome/free-solid-svg-icons/faCalendarAlt";import{OptionalInputWrapper as De,BoxWrapper as be,CoreEffects as Y,DefaultBoxishStyles as xe}from"../core";import{RightIcon as ke}from"..";import Ee from"../Select";import{InputLabel as we}from"../Label";import Ve from"./Picker";const O=" ~ ",Re={clock:{defaultValue:"--:--",format:/^\d{2}\D\d{2}$/,ranges:[{type:"hour",from:0,length:2},{type:"minute",from:3,length:2}],sets:1},date:{defaultValue:"----/--/--",format:/^\d{4}\D\d{2}\D\d{2}$/,ranges:[{type:"year",from:0,length:4},{type:"month",from:5,length:2},{type:"date",from:8,length:2}],sets:1},week:{defaultValue:"----\u5E74\u7B2C--\u9031",format:/^\d{4}\D\d{2}$/,ranges:[{type:"year",from:0,length:4,region:6},{type:"week",from:6,length:2,region:3}],sets:1},month:{defaultValue:"----\u5E74--\u6708",format:/^\d{4}\D\d{2}$/,ranges:[{type:"year",from:0,length:4},{type:"month",from:5,length:2,region:3}],sets:1},year:{defaultValue:"----\u5E74",format:/^\d{4}$/,ranges:[{type:"year",from:0,length:4,region:5}],sets:1},dates:{defaultValue:"----/--/--",format:/^\d{4}\D\d{2}\D\d{2}$/,ranges:[{type:"year",from:0,length:4},{type:"month",from:5,length:2},{type:"date",from:8,length:2,region:5},{type:"year",from:10+O.length,length:4},{type:"month",from:15+O.length,length:2},{type:"date",from:18+O.length,length:2}],sets:2},months:{defaultValue:"----\u5E74--\u6708",format:/^\d{4}\D\d{2}$/,ranges:[{type:"year",from:0,length:4},{type:"month",from:5,length:2,region:6},{type:"year",from:8+O.length,length:4},{type:"month",from:13+O.length,length:2,region:3}],sets:2},dateWareki:{defaultValue:"----\u5E74--\u6708--\u65E5",format:/^\d{4}\D\d{2}\D\d{2}$/,ranges:[{type:"dateWareki",from:0,length:4,region:5},{type:"month",from:5,length:2,region:3},{type:"date",from:8,length:2,region:3}],sets:1}},P={PeriodMargin:" ~ ",DataLeveling:e=>{let{restrict:r,value:g,era:i}=e,d=ee.flatArray(g||""),{defaultValue:x,format:v,ranges:o,sets:a}=Re[r],S=[],n=r=="clock"&&":"||"/";for(let t=0;t<d.length;t++)d[t]=String(d[t]).replace(/\D/ig,n);for(let t=0;t<a;t++){let p=d[t]||"";if(!p.match(v))d[t]="",S.push(x);else{let b=x;p.split(/\D/).forEach((E,w)=>{if(w==0&&r=="dateWareki"){let I=Number(E);i!="year"&&(I>=2019?i=="reiwa"?I-=2018:i=="heisei"&&(I=31):I>=1989?i=="heisei"?I-=1988:i=="shouwa"&&(I=64):I>=1926?i=="shouwa"?I-=1925:i=="taisho"&&(I=15):I>=1912?i=="taisho"?I-=1911:i=="meiji"&&(I=45):I>=1868&&(I-=1867)),E=I.zeroEmbed(4)}b=b.replace(new RegExp("------------------".slice(0,E.length)),E)}),S.push(b)}}return{formatValue:S.join(O),dataValue:["dates","months"].includes(r)?d:d[0],ranges:o}},SystemValidation:e=>{let{states:r}=e,{restrict:g,min:i,max:d,required:x}=r,v=[],o=ee.flatArray(e.value),a={empty:!1,escalated:1,filled:!0,correct:!0,prohibited:!1};(()=>{let S=g=="clock"&&":"||"/";for(let n=0;n<o.length;n++)o[n]=String(o[n]).replace(/\D/ig,S);for(let n=0;n<o.length;n++){let t=o[n],p=o[n-1];t.removeLetters()||(a.empty=!0),n>0&&(a.escalated&=+(t>=p))}a.escalated&&(a.empty||(g.match(/clock/)?o.forEach(n=>{let[t,p]=n.split(/\D+/);!t||!p?a.filled=!1:(Number(t)>23||Number(p)>59)&&(a.correct=!1)}):g.match(/date/)?o.forEach(n=>{let[t,p,b]=n.split(/\D+/);if(!t||!p||!b)a.filled=!1;else{let E=X.Time(n);(!E.validate||n!=E.toFormatYMD())&&(a.correct=!1)}}):g.match(/week/)?o.forEach(n=>{let[t,p]=n.split(/\D+/);if(!t||!p)a.filled=!1;else{let b=X.Time(t+"/01/01").weekday,w=X.Time(t+"/01/0"+(7-b+1)).addWeek(Number(p)-1);t!=String(w.year)&&(a.correct=!1)}}):g.match(/month/)?o.forEach(n=>{let[t,p]=n.split(/\D+/);!t||!p?a.filled=!1:X.Time([t,p,"01"].join("/")).validate||(a.correct=!1)}):g.match(/year/),a.filled&&a.correct&&o.forEach(n=>{{let t=Number(String(n).replace(/\D/ig,""));if(i&&Number(String(i).replace(/\D/ig,""))>t&&(a.prohibited=!0),d){let p=Number(String(d).replace(/\D/ig,""));t>p&&(a.prohibited=!0)}}})))})();{let{empty:S,escalated:n,filled:t,correct:p,prohibited:b}=a;S&&x&&(v=[{type:"invalid",label:"\u5FC5\u9808\u9805\u76EE\u3067\u3059"}]),n||v.push({type:"invalid",label:"\u6642\u7CFB\u5217\u3092\u6B63\u3057\u304F\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044"}),p||v.push({type:"invalid",label:"\u7121\u52B9\u306A\u5024\u304C\u5165\u529B\u3055\u308C\u3066\u3044\u307E\u3059"}),t||v.push({type:"invalid",label:"\u6700\u5F8C\u307E\u3067\u5024\u3092\u57CB\u3081\u3066\u304F\u3060\u3055\u3044"}),b&&v.push({type:"invalid",label:se(Ce,{children:[h(H,{children:"\u5165\u529B\u7BC4\u56F2\u304C\u5236\u9650\u3055\u308C\u3066\u3044\u307E\u3059"}),"[",i||"\u4E0B\u9650\u7121\u3057","] ~ [",d||"\u4E0A\u9650\u7121\u3057","]"]})})}return{ok:!v.filter(({type:S})=>S=="invalid").length,notice:v}},KeyDownEvent:e=>{let{val_era:r,restrict:g,event:i,val_status:d,set_status:x,val_focus:v,set_focus:o}=e,{key:a,shiftKey:S,ctrlKey:n,metaKey:t}=i,p=n||t,{selectionStart:b,selectionEnd:E}=i.target,{index:w,prevIndex:I}=v,{ranges:q,formatValue:G}=d,A=q.length-1;if(["Tab","ArrowLeft","ArrowRight"].includes(a)){let y=0;if(a=="Tab"){let m=+!S*2-1;if(y=v.index+m,y<0||y>A)return}else{let m=a=="ArrowLeft"?-1:a=="ArrowRight"?1:0;p||b==0&&E==String(d.formatValue).length?y=m==1?A:0:y=Math.max(0,Math.min(w+m,A))}o(m=>k(s({},m),{index:y,prevIndex:w})),i.preventDefault()}if(["Backspace","ArrowUp","ArrowDown","0","1","2","3","4","5","6","7","8","9"].includes(a)){i.preventDefault();let y=w;y=Math.max(y,0),y=Math.min(y,A);let{type:m,from:B,length:Q}=q[y],L=G.slice(B,B+Q),T;if(a=="Backspace")T="------".slice(0,Q);else if(["ArrowUp","ArrowDown"].includes(a)){let V=a=="ArrowUp"?1:-1;L=L|0,T=L+V;let[f,u,l]=m=="dateWareki"?r=="year"?[0,2999,4]:r=="reiwa"?[1,2999,4]:r=="heisei"?[1,31,4]:r=="shouwa"?[1,64,4]:r=="taisho"?[1,15,4]:r=="meiji"?[1,45,4]:[0,0,0]:m=="minute"?[0,59,2]:m=="hour"?[0,23,2]:m=="date"?[1,31,2]:m=="week"?[1,53,2]:m=="month"?[1,12,2]:m=="year"?[0,2999,4]:[0,0,0];T>u?T=f:T<f&&(T=u),T=Number(T).zeroEmbed(l)}else if(["0","1","2","3","4","5","6","7","8","9"].includes(a)){let V=L|0,f=a,u=`${V}${f}`;if(I!=w&&(V=0,u="0"+f),m=="year"||m=="dateWareki"&&r=="year")Number(u)>1e4?T=f:T=u,(T|0)>1e3&&y++;else if(["hour","minute","date","week","month"].includes(m)||m=="dateWareki"&&r!="year"){let l=m=="dateWareki"?r=="reiwa"?100:r=="heisei"?31:r=="shouwa"?64:r=="taisho"?15:r=="meiji"?45:0:m=="minute"?59:m=="hour"?23:m=="date"?31:m=="week"?53:m=="month"?12:0;T=(u|0)>l?f:u,(Number(f)>Number(String(l)[0])||L=="0000".slice(0,String(l).length)&&(u!="0000".slice(0,String(l).length)||["minute","hour"].includes(m)&&I==w)||(u|0)>=ie(10,String(l).length-1))&&y++}m=="year"||m=="dateWareki"?T=(T|0).zeroEmbed(4):T=(T|0).zeroEmbed(2)}{let V=String(G).partReplace(B,String(T)),f=V.split(O).map(u=>u.replace(/(^\D|\D$)/,"").split(/\D+/).join(g=="clock"&&":"||"/").replace(/(^\D|\D$)/,""));if(g=="dateWareki"){let u=f[0].split(/\D/),[l,R,M]=u;u.length==3&&l&&(f=[[Number(l)-1+Number({year:1,reiwa:2019,heisei:1989,shouwa:1926,taisho:1912,meiji:1868}[r]),R,M].join("/")])}y=Math.max(y,0),y=Math.min(y,A),x(u=>k(s({},u),{dataValue:["dates","months"].includes(g)?f:f[0],formatValue:V,eventType:"update",eventID:W()})),o(u=>k(s({},u),{index:y,prevIndex:u.index}))}}}},le={picker:{launch:e=>{let r=e.sheetID||W(),S=e,{onValueUpdate:g,min:i,max:d,era:x,restrict:v,defaultValue:o}=S,a=K(S,["onValueUpdate","min","max","era","restrict","defaultValue"]);Ie.open("middleCenter",k(s({sheetID:r,size:"S",padding:0,closeAtAroundClick:!0,closeAtParentBlur:!1},a),{content:h(ye.Center,{children:h(Ve,{restrict:v,min:i,max:d,era:x,defaultValue:o,sheetID:r,onValueUpdate:(n,t)=>{g(n,t)}})})}))},remove:e=>{ve.close(e)}}},_e={Shallow:e=>{let{rootStates:r,val_status:g}=e,i=fe(r);return h(H,{position:"absolute",top:0,left:0,right:0,height:0,overflow:"hidden",opacity:"trans",freeCSS:{zIndex:3,pointerEvents:"none"},children:h(ge.Description,k(s({className:r.className},i),{position:"absolute",width:1,freeCSS:k(s({},i.freeCSS),{color:"orange"}),children:h(H,{"data-input-value-shallow":g.componentId,children:"A"})}))})}},Ae=e=>{let ae=e,{tone:r,required:g,restrict:i="clock",componentId:d,era:x,form:v,name:o,min:a,max:S,className:n,enableFormSubmit:t,checkValidationAtFirst:p,onKeyDown:b,onValidate:E,onValidateDelay:w,onUpdateValue:I,onUpdateValidValue:q,onUserAction:G,value:A="",leftIndicator:y,rightIndicator:m,leftIcon:B,rightIcon:Q,freeCSS:L,wrapStyles:T}=ae,V=K(ae,["tone","required","restrict","componentId","era","form","name","min","max","className","enableFormSubmit","checkValidationAtFirst","onKeyDown","onValidate","onValidateDelay","onUpdateValue","onUpdateValidValue","onUserAction","value","leftIndicator","rightIndicator","leftIcon","rightIcon","freeCSS","wrapStyles"]),[f,u]=F(x),[l,R]=F({componentId:e.componentId||"",formatValue:"",dataValue:"",ranges:[],eventType:"init",eventID:W()}),[M,Z]=F({ok:!1,notice:[]}),[U,j]=F({active:!1,index:0,prevIndex:-1}),me={rootStates:e,val_status:l,set_status:R,val_validate:M,set_validate:Z,val_era:f,set_era:u,val_focus:U,set_focus:j};Y.CommonEffects({type:"time",states:e,val_status:l,set_status:R,val_validate:M,set_validate:Z,SystemValidation:P.SystemValidation,ExtraOverrideStates:()=>P.DataLeveling({restrict:i,value:A,era:f})}),z(()=>{R(c=>s(s({},c),P.DataLeveling({restrict:i,value:A,era:f})))},[]);const te=ue(!1);return z(()=>{if(te.current){R(D=>s(s({},D),P.DataLeveling({restrict:i,value:D.dataValue,era:f})));let c=$.get("refreshEra_"+l.componentId);c&&c.refreshEra(f)}else te.current=!0},[f]),$.update({[l.componentId]:{openPicker:c=>{e.disabled||le.picker.launch({parent:c,sheetID:"PickerTips-"+l.componentId,restrict:i,min:a,max:S,defaultValue:l.dataValue,era:f,onValueUpdate:(D,C)=>{R(N=>k(s(s({},N),P.DataLeveling({restrict:i,value:D,era:C})),{eventType:"update",eventID:W()})),u(C)}})},resetEra:c=>{u(c),R(D=>k(s(s({},D),P.DataLeveling({restrict:i,value:"",era:f})),{eventType:"update",eventID:W()}))}}}),z(()=>{let{index:c,active:D}=U;if(D){c=Math.max(c,0),c=Math.min(c,l.ranges.length-1);let{from:C,length:N}=l.ranges[c],J=de("#"+e.id)[0];J&&J.setSelectionRange(C,C+N)}},[U]),se(be,{val_status:l,set_status:R,val_validate:M,states:e,children:[h(_e.Shallow,s({},me)),h(we,{componentId:e.componentId,fontSize:e.fontSize,required:e.required,label:e.label,isActive:!0}),ne.get().isTouchDevice?h(oe.Plain,k(s({"data-show-validation":Y.isShowValidation(M,l,!!p),"data-component-id":l.componentId,"data-input-origin":l.componentId,"data-disabled":e.disabled,className:n,freeCSS:{textAlign:"left"}},V),{children:l.formatValue,onClick:c=>{let D=$.get(l.componentId);D&&D.openPicker(`[data-input-origin="${l.componentId}"]`),c.stopPropagation()}})):h(H,s({htmlTag:"input",type:"text",inputMode:"numeric","data-show-validation":Y.isShowValidation(M,l,!!p),"data-input-origin":l.componentId,"data-disabled":e.disabled,value:l.formatValue,className:n,tabIndex:ne.get().isTouchDevice?-1:0,onKeyDown:c=>{P.KeyDownEvent({restrict:i,event:c,val_era:f,val_status:l,set_status:R,val_focus:U,set_focus:j}),b&&b(c),t&&Y.SubmitForm(c,v)},onKeyUp:c=>{c.key=="Tab"&&j(D=>k(s({},D),{active:!0}))},onClick:c=>{let D=c.target.selectionEnd,C=0;l.ranges.forEach((N,J)=>{let{from:re,length:pe,region:ce}=N;re<=D&&D<=re+(ce||pe)&&(C=J)}),j(N=>k(s({},N),{active:!0,index:C})),c.preventDefault()},onChange:()=>{}},V))]})},_={Origin:e=>{let r=s({fontSize:"inherit",width:1},e),[g]=F(e.componentId||W());if(r.componentId=g,ee.is.nullish(r.rightIcon)){let i=(e.restrict||"").match(/clock/)?Se:Te;r.rightIcon=h(ke,{ssSphere:2,freeCSS:{pointerEvents:"all"},children:h(oe.Sub,{color:"cloud",border:"unset",ssSphere:2,fontColor:"theme",boxShadow:"0.normal",borderRadius:"3.tone.tertiary",flexCenter:!0,ssEffectsOnActive:"push",tabIndex:-1,id:"Picker-"+r.componentId,onClick:()=>{let d=$.get(r.componentId);d&&d.openPicker("#Picker-"+r.componentId)},children:h(he,{icon:i})})})}return h(De,{componentId:r.componentId,children:Ae,states:xe(r)})},Clock:e=>h(_.Origin,s({restrict:"clock",era:"clock"},e)),Date:e=>h(_.Origin,s({restrict:"date"},e)),Week:e=>h(_.Origin,s({restrict:"week"},e)),Month:e=>h(_.Origin,s({restrict:"month"},e)),Year:e=>h(_.Origin,s({restrict:"year"},e)),DateWareki:e=>{e=s({},e);let[r]=F(e.componentId||W());e.componentId=r;let v=e,{defaultEra:g="wareki"}=v,i=K(v,["defaultEra"]),[d,x]=F((()=>{let o="year";if(g=="wareki"&&(o="reiwa",e.value)){let[a,S,n]=e.value.split(/\D/);if(a&&S&&n){let t=Number(a);t>=2019?(t-=2019,o="reiwa"):t>=1989?(t-=1989,o="heisei"):t>=1926?(t-=1926,o="shouwa"):t>=1912?(t-=1912,o="taisho"):t>=1868&&(t-=1868,o="meiji"),t+=1}}return o})());return z(()=>{$.set({["refreshEra_"+r]:{refreshEra:o=>{x(o)}}})},[]),h(_.Origin,k(s({restrict:"dateWareki",leftIndicator:h(Ee,{label:"\u5143\u53F7",emptySelect:!1,value:d,tone:e.tone||"border",override:"force",flexCenter:!0,borderTopRightRadius:"2/3",borderBottomRightRadius:"2/3",height:1,freeCSS:{whiteSpace:"nowrap"},options:[{value:"year",label:"\u897F\u66A6"},{value:"reiwa",label:"\u4EE4\u548C"},{value:"heisei",label:"\u5E73\u6210"},{value:"shouwa",label:"\u662D\u548C"},{value:"taisho",label:"\u5927\u6B63"},{value:"meiji",label:"\u660E\u6CBB"}],onUpdateValidValue:o=>{x(o);let a=$.get(e.componentId);a&&a.resetEra&&a.resetEra(o)}})},i),{era:d}))},Periods:{Date:e=>h(_.Origin,s({restrict:"dates"},e)),Month:e=>h(_.Origin,s({restrict:"months"},e))},fn:le};export{_ as Time,_ as default};
1
+ import{a as ie,b as s,c as w,d as K}from"../../../chunk-C5N2D3ZX.js";import{Fragment as Ae,jsx as h,jsxs as se}from"react/jsx-runtime";import ee,{UUID as W,useStore as B}from"jmini";import*as X from"jmini";import{useState as F,useEffect as z,useRef as ue}from"react";import{$$fromRoot as de,Config as ne,ExtractStyles as fe}from"../../../@utils";import{Box as H,FAI as he}from"../../../atoms";import{Literal as ge,Row as ye}from"../../../mols";import{Button as oe}from"../../Button";import ve from"../../Tooltips";import Ie from"../../Sheet";import{faClock as Se}from"@fortawesome/free-solid-svg-icons/faClock";import{faCalendarAlt as Te}from"@fortawesome/free-solid-svg-icons/faCalendarAlt";import{OptionalInputWrapper as De,BoxWrapper as be,CoreEffects as Y,DefaultBoxishStyles as xe}from"../core";import{RightIcon as ke}from"..";import Ee from"../Select";import{InputLabel as we}from"../Label";import Ve from"./Picker";const O=" ~ ",Re={clock:{defaultValue:"--:--",format:/^\d{2}\D\d{2}$/,ranges:[{type:"hour",from:0,length:2},{type:"minute",from:3,length:2}],sets:1},date:{defaultValue:"----/--/--",format:/^\d{4}\D\d{2}\D\d{2}$/,ranges:[{type:"year",from:0,length:4},{type:"month",from:5,length:2},{type:"date",from:8,length:2}],sets:1},week:{defaultValue:"----\u5E74\u7B2C--\u9031",format:/^\d{4}\D\d{2}$/,ranges:[{type:"year",from:0,length:4,region:6},{type:"week",from:6,length:2,region:3}],sets:1},month:{defaultValue:"----\u5E74--\u6708",format:/^\d{4}\D\d{2}$/,ranges:[{type:"year",from:0,length:4},{type:"month",from:5,length:2,region:3}],sets:1},year:{defaultValue:"----\u5E74",format:/^\d{4}$/,ranges:[{type:"year",from:0,length:4,region:5}],sets:1},dates:{defaultValue:"----/--/--",format:/^\d{4}\D\d{2}\D\d{2}$/,ranges:[{type:"year",from:0,length:4},{type:"month",from:5,length:2},{type:"date",from:8,length:2,region:5},{type:"year",from:10+O.length,length:4},{type:"month",from:15+O.length,length:2},{type:"date",from:18+O.length,length:2}],sets:2},months:{defaultValue:"----\u5E74--\u6708",format:/^\d{4}\D\d{2}$/,ranges:[{type:"year",from:0,length:4},{type:"month",from:5,length:2,region:6},{type:"year",from:8+O.length,length:4},{type:"month",from:13+O.length,length:2,region:3}],sets:2},dateWareki:{defaultValue:"----\u5E74--\u6708--\u65E5",format:/^\d{4}\D\d{2}\D\d{2}$/,ranges:[{type:"dateWareki",from:0,length:4,region:5},{type:"month",from:5,length:2,region:3},{type:"date",from:8,length:2,region:3}],sets:1}},P={PeriodMargin:" ~ ",DataLeveling:e=>{let{restrict:r,value:g,era:n}=e,d=ee.flatArray(g||""),{defaultValue:k,format:v,ranges:o,sets:a}=Re[r],S=[],i=r=="clock"&&":"||"/";for(let t=0;t<d.length;t++)d[t]=String(d[t]).replace(/\D/ig,i);for(let t=0;t<a;t++){let p=d[t]||"";if(!p.match(v))d[t]="",S.push(k);else{let T=k;p.split(/\D/).forEach((x,E)=>{if(E==0&&r=="dateWareki"){let I=Number(x);n!="year"&&(I>=2019?n=="reiwa"?I-=2018:n=="heisei"&&(I=31):I>=1989?n=="heisei"?I-=1988:n=="shouwa"&&(I=64):I>=1926?n=="shouwa"?I-=1925:n=="taisho"&&(I=15):I>=1912?n=="taisho"?I-=1911:n=="meiji"&&(I=45):I>=1868&&(I-=1867)),x=I.zeroEmbed(4)}T=T.replace(new RegExp("------------------".slice(0,x.length)),x)}),S.push(T)}}return{formatValue:S.join(O),dataValue:["dates","months"].includes(r)?d:d[0],ranges:o}},SystemValidation:e=>{let{states:r}=e,{restrict:g,min:n,max:d,required:k}=r,v=[],o=ee.flatArray(e.value),a={empty:!1,escalated:1,filled:!0,correct:!0,prohibited:!1};(()=>{let S=g=="clock"&&":"||"/";for(let i=0;i<o.length;i++)o[i]=String(o[i]).replace(/\D/ig,S);for(let i=0;i<o.length;i++){let t=o[i],p=o[i-1];t.removeLetters()||(a.empty=!0),i>0&&(a.escalated&=+(t>=p))}a.escalated&&(a.empty||(g.match(/clock/)?o.forEach(i=>{let[t,p]=i.split(/\D+/);!t||!p?a.filled=!1:(Number(t)>23||Number(p)>59)&&(a.correct=!1)}):g.match(/date/)?o.forEach(i=>{let[t,p,T]=i.split(/\D+/);if(!t||!p||!T)a.filled=!1;else{let x=X.Time(i);(!x.validate||i!=x.toFormatYMD())&&(a.correct=!1)}}):g.match(/week/)?o.forEach(i=>{let[t,p]=i.split(/\D+/);if(!t||!p)a.filled=!1;else{let T=X.Time(t+"/01/01").weekday,E=X.Time(t+"/01/0"+(7-T+1)).addWeek(Number(p)-1);t!=String(E.year)&&(a.correct=!1)}}):g.match(/month/)?o.forEach(i=>{let[t,p]=i.split(/\D+/);!t||!p?a.filled=!1:X.Time([t,p,"01"].join("/")).validate||(a.correct=!1)}):g.match(/year/),a.filled&&a.correct&&o.forEach(i=>{{let t=Number(String(i).replace(/\D/ig,""));if(n&&Number(String(n).replace(/\D/ig,""))>t&&(a.prohibited=!0),d){let p=Number(String(d).replace(/\D/ig,""));t>p&&(a.prohibited=!0)}}})))})();{let{empty:S,escalated:i,filled:t,correct:p,prohibited:T}=a;S&&k&&(v=[{type:"invalid",label:"\u5FC5\u9808\u9805\u76EE\u3067\u3059"}]),i||v.push({type:"invalid",label:"\u6642\u7CFB\u5217\u3092\u6B63\u3057\u304F\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044"}),p||v.push({type:"invalid",label:"\u7121\u52B9\u306A\u5024\u304C\u5165\u529B\u3055\u308C\u3066\u3044\u307E\u3059"}),t||v.push({type:"invalid",label:"\u6700\u5F8C\u307E\u3067\u5024\u3092\u57CB\u3081\u3066\u304F\u3060\u3055\u3044"}),T&&v.push({type:"invalid",label:se(Ae,{children:[h(H,{children:"\u5165\u529B\u7BC4\u56F2\u304C\u5236\u9650\u3055\u308C\u3066\u3044\u307E\u3059"}),"[",n||"\u4E0B\u9650\u7121\u3057","] ~ [",d||"\u4E0A\u9650\u7121\u3057","]"]})})}return{ok:!v.filter(({type:S})=>S=="invalid").length,notice:v}},KeyDownEvent:e=>{let{val_era:r,restrict:g,event:n,val_status:d,set_status:k,val_focus:v,set_focus:o}=e,{key:a,shiftKey:S,ctrlKey:i,metaKey:t}=n,p=i||t,{selectionStart:T,selectionEnd:x}=n.target,{index:E,prevIndex:I}=v,{ranges:q,formatValue:G}=d,C=q.length-1;if(["Tab","ArrowLeft","ArrowRight"].includes(a)){let y=0;if(a=="Tab"){let m=+!S*2-1;if(y=v.index+m,y<0||y>C)return}else{let m=a=="ArrowLeft"?-1:a=="ArrowRight"?1:0;p||T==0&&x==String(d.formatValue).length?y=m==1?C:0:y=Math.max(0,Math.min(E+m,C))}o(m=>w(s({},m),{index:y,prevIndex:E})),n.preventDefault()}if(["Backspace","ArrowUp","ArrowDown","0","1","2","3","4","5","6","7","8","9"].includes(a)){n.preventDefault();let y=E;y=Math.max(y,0),y=Math.min(y,C);let{type:m,from:U,length:Q}=q[y],L=G.slice(U,U+Q),D;if(a=="Backspace")D="------".slice(0,Q);else if(["ArrowUp","ArrowDown"].includes(a)){let V=a=="ArrowUp"?1:-1;L=L|0,D=L+V;let[f,u,l]=m=="dateWareki"?r=="year"?[0,2999,4]:r=="reiwa"?[1,2999,4]:r=="heisei"?[1,31,4]:r=="shouwa"?[1,64,4]:r=="taisho"?[1,15,4]:r=="meiji"?[1,45,4]:[0,0,0]:m=="minute"?[0,59,2]:m=="hour"?[0,23,2]:m=="date"?[1,31,2]:m=="week"?[1,53,2]:m=="month"?[1,12,2]:m=="year"?[0,2999,4]:[0,0,0];D>u?D=f:D<f&&(D=u),D=Number(D).zeroEmbed(l)}else if(["0","1","2","3","4","5","6","7","8","9"].includes(a)){let V=L|0,f=a,u=`${V}${f}`;if(I!=E&&(V=0,u="0"+f),m=="year"||m=="dateWareki"&&r=="year")Number(u)>1e4?D=f:D=u,(D|0)>1e3&&y++;else if(["hour","minute","date","week","month"].includes(m)||m=="dateWareki"&&r!="year"){let l=m=="dateWareki"?r=="reiwa"?100:r=="heisei"?31:r=="shouwa"?64:r=="taisho"?15:r=="meiji"?45:0:m=="minute"?59:m=="hour"?23:m=="date"?31:m=="week"?53:m=="month"?12:0;D=(u|0)>l?f:u,(Number(f)>Number(String(l)[0])||L=="0000".slice(0,String(l).length)&&(u!="0000".slice(0,String(l).length)||["minute","hour"].includes(m)&&I==E)||(u|0)>=ie(10,String(l).length-1))&&y++}m=="year"||m=="dateWareki"?D=(D|0).zeroEmbed(4):D=(D|0).zeroEmbed(2)}{let V=String(G).partReplace(U,String(D)),f=V.split(O).map(u=>u.replace(/(^\D|\D$)/,"").split(/\D+/).join(g=="clock"&&":"||"/").replace(/(^\D|\D$)/,""));if(g=="dateWareki"){let u=f[0].split(/\D/),[l,R,M]=u;u.length==3&&l&&(f=[[Number(l)-1+Number({year:1,reiwa:2019,heisei:1989,shouwa:1926,taisho:1912,meiji:1868}[r]),R,M].join("/")])}y=Math.max(y,0),y=Math.min(y,C),k(u=>w(s({},u),{dataValue:["dates","months"].includes(g)?f:f[0],formatValue:V,eventType:"update",eventID:W()})),o(u=>w(s({},u),{index:y,prevIndex:u.index}))}}}},le={picker:{launch:e=>{let r=e.sheetID||W(),p=e,{onValueUpdate:g,min:n,max:d,era:k,restrict:v,defaultValue:o}=p,a=K(p,["onValueUpdate","min","max","era","restrict","defaultValue"]),S=!1,i=null,t=null;Ie.open("middleCenter",w(s({sheetID:r,size:"S",padding:0,closeAtAroundClick:!0,closeAtParentBlur:!1,onClose:()=>{S&&g(i,t,!0)}},a),{content:h(ye.Center,{children:h(Ve,{restrict:v,min:n,max:d,era:k,defaultValue:o,sheetID:r,onValueUpdate:(T,x,E)=>{g(T,x,E),S=!E,i=T,t=x}})})}))},remove:e=>{ve.close(e)}}},_e={Shallow:e=>{let{rootStates:r,val_status:g}=e,n=fe(r);return h(H,{position:"absolute",top:0,left:0,right:0,height:0,overflow:"hidden",opacity:"trans",freeCSS:{zIndex:3,pointerEvents:"none"},children:h(ge.Description,w(s({className:r.className},n),{position:"absolute",width:1,freeCSS:w(s({},n.freeCSS),{color:"orange"}),children:h(H,{"data-input-value-shallow":g.componentId,children:"A"})}))})}},Ce=e=>{let ae=e,{tone:r,required:g,restrict:n="clock",componentId:d,era:k,form:v,name:o,min:a,max:S,className:i,enableFormSubmit:t,checkValidationAtFirst:p,onKeyDown:T,onValidate:x,onValidateDelay:E,onUpdateValue:I,onUpdateValidValue:q,onUserAction:G,value:C="",leftIndicator:y,rightIndicator:m,leftIcon:U,rightIcon:Q,freeCSS:L,wrapStyles:D}=ae,V=K(ae,["tone","required","restrict","componentId","era","form","name","min","max","className","enableFormSubmit","checkValidationAtFirst","onKeyDown","onValidate","onValidateDelay","onUpdateValue","onUpdateValidValue","onUserAction","value","leftIndicator","rightIndicator","leftIcon","rightIcon","freeCSS","wrapStyles"]),[f,u]=F(k),[l,R]=F({componentId:e.componentId||"",formatValue:"",dataValue:"",ranges:[],eventType:"init",eventID:W()}),[M,Z]=F({ok:!1,notice:[]}),[j,J]=F({active:!1,index:0,prevIndex:-1}),me={rootStates:e,val_status:l,set_status:R,val_validate:M,set_validate:Z,val_era:f,set_era:u,val_focus:j,set_focus:J};Y.CommonEffects({type:"time",states:e,val_status:l,set_status:R,val_validate:M,set_validate:Z,SystemValidation:P.SystemValidation,ExtraOverrideStates:()=>P.DataLeveling({restrict:n,value:C,era:f})}),z(()=>{R(c=>s(s({},c),P.DataLeveling({restrict:n,value:C,era:f})))},[]);const te=ue(!1);return z(()=>{if(te.current){R(b=>s(s({},b),P.DataLeveling({restrict:n,value:b.dataValue,era:f})));let c=B.get("refreshEra_"+l.componentId);c&&c.refreshEra(f)}else te.current=!0},[f]),B.update({[l.componentId]:{openPicker:c=>{e.disabled||le.picker.launch({parent:c,sheetID:"PickerTips-"+l.componentId,restrict:n,min:a,max:S,defaultValue:l.dataValue,era:f,onValueUpdate:(b,A,N)=>{N&&(R($=>w(s(s({},$),P.DataLeveling({restrict:n,value:b,era:A})),{eventType:"update",eventID:W()})),u(A))}})},resetEra:c=>{u(c),R(b=>w(s(s({},b),P.DataLeveling({restrict:n,value:"",era:f})),{eventType:"update",eventID:W()}))}}}),z(()=>{let{index:c,active:b}=j;if(b){c=Math.max(c,0),c=Math.min(c,l.ranges.length-1);let{from:A,length:N}=l.ranges[c],$=de("#"+e.id)[0];$&&$.setSelectionRange(A,A+N)}},[j]),se(be,{val_status:l,set_status:R,val_validate:M,states:e,children:[h(_e.Shallow,s({},me)),h(we,{componentId:e.componentId,fontSize:e.fontSize,required:e.required,label:e.label,isActive:!0}),ne.get().isTouchDevice?h(oe.Plain,w(s({"data-show-validation":Y.isShowValidation(M,l,!!p),"data-component-id":l.componentId,"data-input-origin":l.componentId,"data-disabled":e.disabled,className:i,freeCSS:{textAlign:"left"}},V),{children:l.formatValue,onClick:c=>{let b=B.get(l.componentId);b&&b.openPicker(`[data-input-origin="${l.componentId}"]`),c.stopPropagation()}})):h(H,s({htmlTag:"input",type:"text",inputMode:"numeric","data-show-validation":Y.isShowValidation(M,l,!!p),"data-input-origin":l.componentId,"data-disabled":e.disabled,value:l.formatValue,className:i,tabIndex:ne.get().isTouchDevice?-1:0,onKeyDown:c=>{P.KeyDownEvent({restrict:n,event:c,val_era:f,val_status:l,set_status:R,val_focus:j,set_focus:J}),T&&T(c),t&&Y.SubmitForm(c,v)},onKeyUp:c=>{c.key=="Tab"&&J(b=>w(s({},b),{active:!0}))},onClick:c=>{let b=c.target.selectionEnd,A=0;l.ranges.forEach((N,$)=>{let{from:re,length:pe,region:ce}=N;re<=b&&b<=re+(ce||pe)&&(A=$)}),J(N=>w(s({},N),{active:!0,index:A})),c.preventDefault()},onChange:()=>{}},V))]})},_={Origin:e=>{let r=s({fontSize:"inherit",width:1},e),[g]=F(e.componentId||W());if(r.componentId=g,ee.is.nullish(r.rightIcon)){let n=(e.restrict||"").match(/clock/)?Se:Te;r.rightIcon=h(ke,{ssSphere:2,freeCSS:{pointerEvents:"all"},children:h(oe.Sub,{color:"cloud",border:"unset",ssSphere:2,fontColor:"theme",boxShadow:"0.normal",borderRadius:"3.tone.tertiary",flexCenter:!0,ssEffectsOnActive:"push",tabIndex:-1,id:"Picker-"+r.componentId,onClick:()=>{let d=B.get(r.componentId);d&&d.openPicker("#Picker-"+r.componentId)},children:h(he,{icon:n})})})}return h(De,{componentId:r.componentId,children:Ce,states:xe(r)})},Clock:e=>h(_.Origin,s({restrict:"clock",era:"clock"},e)),Date:e=>h(_.Origin,s({restrict:"date"},e)),Week:e=>h(_.Origin,s({restrict:"week"},e)),Month:e=>h(_.Origin,s({restrict:"month"},e)),Year:e=>h(_.Origin,s({restrict:"year"},e)),DateWareki:e=>{e=s({},e);let[r]=F(e.componentId||W());e.componentId=r;let v=e,{defaultEra:g="wareki"}=v,n=K(v,["defaultEra"]),[d,k]=F((()=>{let o="year";if(g=="wareki"&&(o="reiwa",e.value)){let[a,S,i]=e.value.split(/\D/);if(a&&S&&i){let t=Number(a);t>=2019?(t-=2019,o="reiwa"):t>=1989?(t-=1989,o="heisei"):t>=1926?(t-=1926,o="shouwa"):t>=1912?(t-=1912,o="taisho"):t>=1868&&(t-=1868,o="meiji"),t+=1}}return o})());return z(()=>{B.set({["refreshEra_"+r]:{refreshEra:o=>{k(o)}}})},[]),h(_.Origin,w(s({restrict:"dateWareki",leftIndicator:h(Ee,{label:"\u5143\u53F7",emptySelect:!1,value:d,tone:e.tone||"border",override:"force",flexCenter:!0,borderTopRightRadius:"2/3",borderBottomRightRadius:"2/3",height:1,freeCSS:{whiteSpace:"nowrap"},options:[{value:"year",label:"\u897F\u66A6"},{value:"reiwa",label:"\u4EE4\u548C"},{value:"heisei",label:"\u5E73\u6210"},{value:"shouwa",label:"\u662D\u548C"},{value:"taisho",label:"\u5927\u6B63"},{value:"meiji",label:"\u660E\u6CBB"}],onUpdateValidValue:o=>{k(o);let a=B.get(e.componentId);a&&a.resetEra&&a.resetEra(o)}})},n),{era:d}))},Periods:{Date:e=>h(_.Origin,s({restrict:"dates"},e)),Month:e=>h(_.Origin,s({restrict:"months"},e))},fn:le};export{_ as Time,_ as default};
@@ -1 +1 @@
1
- import{b as o,c as d,e as b}from"../../chunk-C5N2D3ZX.js";import{jsx as f,jsxs as V}from"react/jsx-runtime";import{useState as k,useEffect as g}from"react";import p,{UUID as y,useStore as v}from"jmini";import{$$fromRoot as D,Config as B}from"../../@utils";import{InputClasses as _}from"../../@styles/componentClasses";import{Box as E,Flex as w,FAI as h,Column as N}from"../../atoms";import{Row as x,Literal as F}from"../../mols";import{Button as A}from"../Button";import R from"../Tooltips";const et=t=>{let[n]=k(t.componentId||y());t=o({},t),t.states=d(o({enableFormSubmit:!0,status_id:y(),override:"never",form:"",id:y(),"aria-label":"Input-"+n},t.states),{componentId:n});let{children:e}=t;return f(e,o({},t.states))},at=t=>{let{children:n,val_status:e,val_validate:a,states:i}=t,{leftIcon:s,wrapStyles:u}=i;return i.checkValidationAtFirst||(e.eventType=="init"&&(a.notice=[]),e.eventType=="focus.start"&&(a.notice=[])),V(x.Center,d(o({position:"relative",verticalAlign:"unset",gap:0},u),{className:_("Wrapper"),"data-notice-uid":e.componentId,children:[f(T.Notice,{notice:a.notice,val_status:e}),i.leftIndicator,V(w,{position:"relative",flexSizing:"auto",children:[n,s,f(T.RightIcon,o({},t)),f(T.ClearButton,o({},t))]}),i.rightIndicator]}))},T={ClearButton:t=>!t.states.clearButton||!t.val_status.dataValue?null:f(A.Normal,{ssSphere:2,flexCenter:!0,fontColor:"5.translucent",ssEffectsOnActive:["ripple.theme"],position:"absolute",right:1,top:"50%",freeCSS:{zIndex:3,transform:"translateY(-50%)"},onClick:()=>{t.set_status(n=>d(o({},n),{dataValue:"",formatValue:"",eventType:"update",eventID:y()}))},children:f(h.X,{})}),RightIcon:t=>t.states.clearButton&&t.val_status.dataValue?null:t.states.rightIcon,Notice:t=>{let{notice:n,val_status:e}=t,{componentId:a}=e,i="NoticeTimer-"+a,s="NoticeTimerClose-"+a,u="notice-tips-"+a;return g(()=>{p.interval.once(()=>{if(!n.length){R.close(u);return}R.open({tipsID:u,parent:`[data-notice-uid="${a}"]`,gravityPoint:24,padding:[1,0],closeAtParentBlur:!1,content:V(R.Body,{padding:["1/2","2/3"],fontSize:"1.mini",position:"relative",children:[f(E,{position:"absolute",unitHeight:1,unitWidth:1,right:1,backgroundColor:"dark",freeCSS:{zIndex:1,transform:"rotate(45deg)",top:-6}}),f(N,{backgroundColor:"inherit",gap:"1/3",position:"relative",freeCSS:{zIndex:2},children:n.map((I,S)=>{let{type:r,label:l}=I,m=r=="invalid"?h.Exclamation:r=="warn"?h.Exclamation:h.Check;return V(x.Left,{gap:0,borderRadius:"2.tone.secondary",children:[f(m,{flexCenter:!0,fontSize:"2.normal",fontColor:{invalid:"nega",warn:"warn",valid:"posi"}[r]}),f(F.Supplement,{fontSize:"0.xs",fontColor:"white",children:l})]},S+"-"+p.Stringify(I))})})]})})},350,i),p.interval.once(()=>{R.close(u)},6e3,s)},[n]),null}},L={DefaultStatus:(t,n)=>({componentId:t,dataValue:n,eventType:"init",eventID:y()}),CommonEffects:function(t){let{type:n,states:e,val_status:a,set_status:i,val_validate:s,set_validate:u,SystemValidation:I}=t;e=o({},e);let{componentId:S}=a;g(()=>(v.update({[S]:{ResolveRefresh:null,Refresh:()=>new Promise((r,l)=>{v.get(S).ResolveRefresh=r,i(m=>d(o({},m),{eventType:"refresh",eventID:y()}))}),GenNotice:r=>{let{ok:l,notice:m}=r;u({ok:l,notice:m})}}}),()=>{v.delete(S)}),[]),p.scope(()=>{let{override:r}=e;if(r=="never"||r=="beforeModified"&&!["init","override"].includes(a.eventType)||a.isComposing)return;let l=v.get(a.componentId);l&&(e.value!=a.dataValue&&e.status_id!=l.status_id&&i(m=>d(o(d(o({},m),{dataValue:e.value}),t.ExtraOverrideStates&&t.ExtraOverrideStates()),{eventType:"override",eventID:y()})),l.status_id=e.status_id)}),g(()=>{L.ValidationCheck({val_status:a,set_validate:u,SystemValidation:I,states:e})},[a.eventID,a.dataValue]),g(()=>(p.scope(()=>{let{componentId:r,eventType:l,dataValue:m}=a,c=m;if(n=="autocomplete.single"||n=="list.radio"?c=c[0]:e.isChecker&&(c=!!c[0]),e.form=e.form||"testForm",e.name&&e.form&&v.update({[["form-data",e.form].join("-")]:{[e.name]:{componentId:r,type:n,value:c,validation:s.ok}}}),e.onUserAction&&e.onUserAction(c,{eventType:l,componentId:r,isValidated:!!s.ok,isComposing:!!a.isComposing,isFocusing:!!a.isFocusing}),l=="refresh"){let C=v.get(r);C&&C.ResolveRefresh&&C.ResolveRefresh(null)}else l=="update"&&(e.onUpdateValue&&e.onUpdateValue(c,l,r),p.scope(()=>{s.ok&&e.onUpdateValidValue&&e.onUpdateValidValue(c,l,r)}))}),()=>{v.update({[["form-data",e.form].join("-")]:{[e.name]:null}})}),[s])},ValidationCheck:t=>{let{states:n}=t,e="ValidationTimer-"+t.val_status.componentId;p.interval.abort(e);let a=t.SystemValidation({value:t.val_status.dataValue,states:n});if(!a.ok){t.set_validate(a);return}let i=a.notice;const s=()=>b(void 0,null,function*(){if(!n.onValidate)return;let u=yield n.onValidate(t.val_status.dataValue,t.val_status.eventType,t);t.set_validate({ok:u.ok,notice:[...i,...u.notice]})});if(n.onValidate){if(t.val_status.eventType=="refresh"){s();return}p.interval.once(s,n.onValidateDelay||500,e);return}t.set_validate({ok:!0,notice:i})},SubmitForm:(t,n)=>{let e=!1;if(!n)return e;let a=D(`[data-form-submit-button="${n}"]`)[0];if(!a)return e;let i=a.dataset.sdfike||"",s=t.key,u=t.ctrlKey||t.metaKey;return p.scope(()=>{i.includes("enter")&&(s!="Enter"||t.nativeEvent.isComposing||B.get().browserIs=="safari"&&t.keyCode==229)||((s=="Enter"&&(i.includes("enter")||i.includes("auxEnter")&&u)||s==" "&&i.includes("space"))&&(a.click(),t.preventDefault()),e=!0)}),e},isShowValidation:(t,n,e)=>{let a=t.ok;return!e&&(n.eventType=="init"||n.eventType=="focus.start")?!0:a}},nt=function(t){t=o({tone:"border"},t);let n=p.scope(()=>{if(t.tone=="plain")return{};let a={padding:1,transition:"middle",flexSizing:"auto",boxShadow:"0.min"};return t.tone=="border"?a=d(o({},a),{border:!0,borderRadius:"2.tone.secondary",backgroundColor:"layer.1"}):t.tone=="cloud"?a=d(o({},a),{border:"1.thin",borderRadius:"2.tone.secondary",backgroundColor:"cloud"}):t.tone=="bottomBorder"&&(a=d(o({},a),{borderRadius:0,border:"unset",borderBottom:!0,backgroundColor:"cloud"})),a});return d(o(o(o(o(o(o({fontColor:"2.normal"},n),!!t.rightIcon&&{paddingRight:3}),!!t.leftIcon&&{paddingLeft:3}),!!t.leftIndicator&&{borderTopLeftRadius:"2/3",borderBottomLeftRadius:"2/3",marginLeft:"1/4"}),!!t.rightIndicator&&{borderTopRightRadius:"2/3",borderBottomRightRadius:"2/3",marginRight:"1/4"}),t),{freeCSS:o({letterSpacing:"1px",resize:"none"},t.freeCSS),className:[_("Input"),t.className].join(" ")})};export{at as BoxWrapper,L as CoreEffects,nt as DefaultBoxishStyles,et as OptionalInputWrapper};
1
+ import{b as o,c as d,e as b}from"../../chunk-C5N2D3ZX.js";import{jsx as f,jsxs as V}from"react/jsx-runtime";import{useState as k,useEffect as g}from"react";import p,{UUID as y,useStore as v}from"jmini";import{$$fromRoot as D}from"../../@utils";import{InputClasses as _}from"../../@styles/componentClasses";import{Box as B,Flex as E,FAI as h,Column as N}from"../../atoms";import{Row as x,Literal as w}from"../../mols";import{Button as F}from"../Button";import R from"../Tooltips";const et=t=>{let[n]=k(t.componentId||y());t=o({},t),t.states=d(o({enableFormSubmit:!0,status_id:y(),override:"never",form:"",id:y(),"aria-label":"Input-"+n},t.states),{componentId:n});let{children:e}=t;return f(e,o({},t.states))},at=t=>{let{children:n,val_status:e,val_validate:a,states:i}=t,{leftIcon:l,wrapStyles:u}=i;return i.checkValidationAtFirst||e.eventType=="init"&&(a.notice=[]),V(x.Center,d(o({position:"relative",verticalAlign:"unset",gap:0},u),{className:_("Wrapper"),"data-notice-uid":e.componentId,children:[f(T.Notice,{notice:a.notice,val_status:e}),i.leftIndicator,V(E,{position:"relative",flexSizing:"auto",children:[n,l,f(T.RightIcon,o({},t)),f(T.ClearButton,o({},t))]}),i.rightIndicator]}))},T={ClearButton:t=>!t.states.clearButton||!t.val_status.dataValue?null:f(F.Normal,{ssSphere:2,flexCenter:!0,fontColor:"5.translucent",ssEffectsOnActive:["ripple.theme"],position:"absolute",right:1,top:"50%",freeCSS:{zIndex:3,transform:"translateY(-50%)"},onClick:()=>{t.set_status(n=>d(o({},n),{dataValue:"",formatValue:"",eventType:"update",eventID:y()}))},children:f(h.X,{})}),RightIcon:t=>t.states.clearButton&&t.val_status.dataValue?null:t.states.rightIcon,Notice:t=>{let{notice:n,val_status:e}=t,{componentId:a}=e,i="NoticeTimer-"+a,l="NoticeTimerClose-"+a,u="notice-tips-"+a;return g(()=>{p.interval.once(()=>{if(!n.length){R.close(u);return}R.open({tipsID:u,parent:`[data-notice-uid="${a}"]`,gravityPoint:24,padding:[1,0],closeAtParentBlur:!1,content:V(R.Body,{padding:["1/2","2/3"],fontSize:"1.mini",position:"relative",children:[f(B,{position:"absolute",unitHeight:1,unitWidth:1,right:1,backgroundColor:"dark",freeCSS:{zIndex:1,transform:"rotate(45deg)",top:-6}}),f(N,{backgroundColor:"inherit",gap:"1/3",position:"relative",freeCSS:{zIndex:2},children:n.map((I,S)=>{let{type:r,label:s}=I,m=r=="invalid"?h.Exclamation:r=="warn"?h.Exclamation:h.Check;return V(x.Left,{gap:0,borderRadius:"2.tone.secondary",children:[f(m,{flexCenter:!0,fontSize:"2.normal",fontColor:{invalid:"nega",warn:"warn",valid:"posi"}[r]}),f(w.Supplement,{fontSize:"0.xs",fontColor:"white",children:s})]},S+"-"+p.Stringify(I))})})]})})},350,i),p.interval.once(()=>{R.close(u)},6e3,l)},[n]),null}},A={DefaultStatus:(t,n)=>({componentId:t,dataValue:n,eventType:"init",eventID:y()}),CommonEffects:function(t){let{type:n,states:e,val_status:a,set_status:i,val_validate:l,set_validate:u,SystemValidation:I}=t;e=o({},e);let{componentId:S}=a;g(()=>(v.update({[S]:{ResolveRefresh:null,Refresh:()=>new Promise((r,s)=>{v.get(S).ResolveRefresh=r,i(m=>d(o({},m),{eventType:"refresh",eventID:y()}))}),GenNotice:r=>{let{ok:s,notice:m}=r;u({ok:s,notice:m})}}}),()=>{v.delete(S)}),[]),p.scope(()=>{let{override:r}=e;if(r=="never"||r=="beforeModified"&&!["init","override"].includes(a.eventType)||a.isComposing)return;let s=v.get(a.componentId);if(s){if(e.value==a.dataValue){s.status_id=e.status_id;return}e.status_id!=s.status_id&&i(m=>d(o(d(o({},m),{dataValue:e.value}),t.ExtraOverrideStates&&t.ExtraOverrideStates()),{eventType:"override",eventID:y()}))}}),g(()=>{A.ValidationCheck({val_status:a,set_validate:u,SystemValidation:I,states:e})},[a.eventID,a.dataValue]),g(()=>(p.scope(()=>{let{componentId:r,eventType:s,dataValue:m}=a,c=m;if(n=="autocomplete.single"||n=="list.radio"?c=c[0]:e.isChecker&&(c=!!c[0]),e.form=e.form||"testForm",e.name&&e.form&&v.update({[["form-data",e.form].join("-")]:{[e.name]:{componentId:r,type:n,value:c,validation:l.ok}}}),e.onUserAction&&e.onUserAction(c,{eventType:s,componentId:r,isValidated:!!l.ok,isComposing:!!a.isComposing,isFocusing:!!a.isFocusing}),s=="refresh"){let C=v.get(r);C&&C.ResolveRefresh&&C.ResolveRefresh(null)}else s=="update"&&(e.onUpdateValue&&e.onUpdateValue(c,s,r),p.scope(()=>{e.onUpdateValidValue&&l.ok&&e.onUpdateValidValue(c,s,r)}))}),()=>{v.update({[["form-data",e.form].join("-")]:{[e.name]:null}})}),[l])},ValidationCheck:t=>{let{states:n}=t,e="ValidationTimer-"+t.val_status.componentId;p.interval.abort(e);let a=t.SystemValidation({value:t.val_status.dataValue,states:n});if(!a.ok){t.set_validate(a);return}let i=a.notice;const l=()=>b(void 0,null,function*(){if(!n.onValidate)return;let u=yield n.onValidate(t.val_status.dataValue,t.val_status.eventType,t);t.set_validate({ok:u.ok,notice:[...i,...u.notice]})});if(n.onValidate){if(t.val_status.eventType=="refresh"){l();return}p.interval.once(l,n.onValidateDelay||500,e);return}t.set_validate({ok:!0,notice:i})},SubmitForm:(t,n)=>{let e=!1;if(!n)return e;let a=D(`[data-form-submit-button="${n}"]`)[0];if(!a)return e;let i=a.dataset.sdfike||"",l=t.key,u=t.ctrlKey||t.metaKey;return p.scope(()=>{i.includes("enter")&&(l!="Enter"||t.nativeEvent.isComposing||(t==null?void 0:t.keyCode)==229)||((l=="Enter"&&(i.includes("enter")||i.includes("auxEnter")&&u)||l==" "&&i.includes("space"))&&(a.click(),t.preventDefault()),e=!0)}),e},isShowValidation:(t,n,e)=>{let a=t.ok;return!e&&n.eventType=="init"?!0:a}},nt=function(t){t=o({tone:"border"},t);let n=p.scope(()=>{if(t.tone=="plain")return{};let a={padding:1,transition:"middle",flexSizing:"auto",boxShadow:"0.min"};return t.tone=="border"?a=d(o({},a),{border:!0,borderRadius:"2.tone.secondary",backgroundColor:"layer.1"}):t.tone=="cloud"?a=d(o({},a),{border:"1.thin",borderRadius:"2.tone.secondary",backgroundColor:"cloud"}):t.tone=="bottomBorder"&&(a=d(o({},a),{borderRadius:0,border:"unset",borderBottom:!0,backgroundColor:"cloud"})),a});return d(o(o(o(o(o(o({fontColor:"2.normal"},n),!!t.rightIcon&&{paddingRight:3}),!!t.leftIcon&&{paddingLeft:3}),!!t.leftIndicator&&{borderTopLeftRadius:"2/3",borderBottomLeftRadius:"2/3",marginLeft:"1/4"}),!!t.rightIndicator&&{borderTopRightRadius:"2/3",borderBottomRightRadius:"2/3",marginRight:"1/4"}),t),{freeCSS:o({letterSpacing:"1px",resize:"none"},t.freeCSS),className:[_("Input"),t.className].join(" ")})};export{at as BoxWrapper,A as CoreEffects,nt as DefaultBoxishStyles,et as OptionalInputWrapper};
@@ -32,7 +32,7 @@ export declare namespace InputTypes {
32
32
  wrapStyles?: StyleTags.States;
33
33
  };
34
34
  namespace Validation {
35
- type EventType = 'init' | 'update' | 'override' | 'refresh' | "composing.start" | "composing.end" | "focus.start" | "focus.end";
35
+ type EventType = 'init' | 'update' | 'override' | 'refresh';
36
36
  type Notice = {
37
37
  type: 'valid' | 'invalid' | 'warn';
38
38
  label: ReactElement;
@@ -1 +1 @@
1
- import"../../chunk-C5N2D3ZX.js";import*as t from"./Parts";export*from"./Parts";import i from"./Plain";import a from"./Hidden";import p from"./TextField";import m from"./Contenteditable";import n from"./DigitCharacters";import l from"./Time";import s from"./Select";import d from"./Autocomplete";import*as r from"./List";import c from"./Search";import x from"./Filer";import y from"./Slider";import f from"./Switch";import T from"./Checker";import g from"./Segmented";import S from"./Color";import b from"./CollectForm";var o;(e=>(e.Plain=i,e.Hidden=a,e.TextField=p,e.Contenteditable=m,e.DigitCharacters=n,e.Time=l,e.Select=s,e.Autocomplete=d,e.List=r.List,e.Radio=r.Radio,e.Checkbox=r.Checkbox,e.Checker=T,e.Search=c,e.Filer=x,e.Slider=y,e.Switch=f,e.Segmented=g,e.Color=S,e.LeftIcon=t.LeftIcon,e.RightIcon=t.RightIcon,e.LeftIndicator=t.LeftIndicator,e.RightIndicator=t.RightIndicator,e.RequiredSign=t.RequiredSign,e.RequiredShortSign=t.RequiredShortSign,e.OmitSign=t.OmitSign,e.CollectForm=b))(o||(o={}));export{o as Input,o as default};
1
+ import"../../chunk-C5N2D3ZX.js";import*as t from"./Parts";export*from"./Parts";import i from"./Plain";import a from"./Hidden";import p from"./TextField";import m from"./Contenteditable";import n from"./DigitCharacters";import l from"./Time";import d from"./Select";import s from"./Autocomplete";import*as r from"./List";import c from"./Search";import x from"./Filer";import y from"./Slider";import T from"./Switch";import f from"./Checker";import g from"./Segmented";import S from"./Color";import b from"./CollectForm";var o;(e=>(e.Plain=i,e.Hidden=a,e.TextField=p,e.Contenteditable=m,e.DigitCharacters=n,e.Time=l,e.Select=d,e.Autocomplete=s,e.List=r.List,e.Radio=r.Radio,e.Checkbox=r.Checkbox,e.Checker=f,e.Search=c,e.Filer=x,e.Slider=y,e.Switch=T,e.Segmented=g,e.Color=S,e.LeftIcon=t.LeftIcon,e.RightIcon=t.RightIcon,e.LeftIndicator=t.LeftIndicator,e.RightIndicator=t.RightIndicator,e.RequiredSign=t.RequiredSign,e.RequiredShortSign=t.RequiredShortSign,e.OmitSign=t.OmitSign,e.CollectForm=b))(o||(o={}));export{o as Input,o as default};
@@ -34,8 +34,8 @@ declare namespace Sheet {
34
34
  overwrap?: boolean;
35
35
  hold_state?: boolean;
36
36
  bodyScrolls?: number;
37
- openAfter?(): void;
38
- closeAfter?(): void;
37
+ onOpen?(): void;
38
+ onClose?(): void;
39
39
  } & StyleTags.BasicElement & CloseOptions;
40
40
  type Input = UniInput & (Input.Custom | Input.Bottom);
41
41
  type TypesInput = {
package/dist/fn/Sheet.js CHANGED
@@ -1 +1 @@
1
- import{b as g,c as w,d as H}from"../chunk-C5N2D3ZX.js";import{jsx as h,jsxs as V}from"react/jsx-runtime";import c,{UUID as Z,Time as le,useStore as A}from"jmini";import{useState as L,useEffect as G,useRef as pe}from"react";import{$$fromRoot as K,Config as X}from"../@utils";import{Box as k,Flex as ue,Img as ie,FAI as ae,Column as oe}from"../atoms";import{Row as re}from"../mols";import{Button as ne}from"./Button";import he from"./Input";import{SheetClasses as m}from"../@styles/componentClasses";import ce from"./Effect";const T={currentIndex:0,openQueue:{},getSessionStates:()=>{let t=A.get("sessionStates-"+X.get().sessionUID);return t||null},getNewSheetStates:t=>{var a;let e=w(g({sheetGroups:t.sheetGroups||[],backgroundEffect:!0,overwrap:t.type=="custom",hold_state:!1,closeAtPageTransit:!0,closeAtEscapeKeyDown:!0,closeAtAroundClick:t.type=="custom"},t),{sheetID:t.sheetID||Z(),isOpen:!0,created_at:le()});if(e.type=="custom"){let l=e;l.parent=l.parent||((a=l==null?void 0:l.event)==null?void 0:a.currentTarget),e=l}return e}},j={Wrapper:()=>{let[t,e]=L([]),a={val_sheets:t,set_sheets:e},l="sessionStates-"+X.get().sessionUID;return A.set({[l]:a}),G(()=>{let f="Sheet-"+X.get().sessionUID;A.set({[f]:{add:(s,n)=>{let i=A.get(f);if(!i)return;let o=T.getNewSheetStates(s);if(T.openQueue[o.sheetID])return;if(T.openQueue[o.sheetID]=!0,n!="inherit"&&(o.isOpen=n!=null?n:!0),!!i.find(o.sheetID)){e(C=>{let I=[...C],x=I.findIndex(N=>N.sheetID==o.sheetID);return x==-1||(I[x]=o),I}),delete T.openQueue[o.sheetID];return}e(C=>[o,...C])},find:s=>{let n=T.getSessionStates();if(!n)return null;let{val_sheets:i}=n;return i.find(o=>o.sheetID==s)}}}),c(X.get().appRoot).removeEvent(["SheetEvent.keyUp","SheetEvent.Click"]).addEvent({eventType:"keyup",eventID:"SheetEvent.keyUp",callback:function(s){let{key:n,metaKey:i}=s;if(n=="Escape"||n==","&&i){let o=T.getSessionStates();if(!o)return;let{val_sheets:v}=o,C=v.filter(x=>x.isOpen);if(!C.length)return;let I=C.reduce((x,N)=>x.created_at.value>N.created_at.value?x:N);E.close(I.sheetID,n)}}}).addEvent({eventType:"click",eventID:"SheetEvent.Click",callback:function(s){let n=T.getSessionStates();if(!n)return;let{val_sheets:i}=n,o=s.target;if(!o||o!=null&&o.closest("."+m("CustomSheet")))return;let v=i.filter(C=>C.type=="custom");v.length&&v.forEach(C=>{let{parent:I}=C;if(!C.closeAtAroundClick)return;let x=K(I)[0];I!==o&&x!==o&&(c(x).find(o).length||E.close(C.sheetID))})}})},[]),h(k,{className:["AMOTIFY_be",m("Wrapper")].join(" "),children:t.map(f=>h(j.Core,w(g({},a),{val_sheet:f,patch_sheet:s=>{e(n=>{let i=[...n],o=i.findIndex(v=>v.sheetID==f.sheetID);return o==-1||(i[o]=g(g({},i[o]),s)),i})},delete_sheet:()=>{e(s=>{let n=[...s],i=n.findIndex(o=>o.sheetID==f.sheetID);return i==-1||n.splice(i,1),n})}}),f.sheetID))})},sheetCategory:t=>t=="custom"?"custom":t.startsWith("drawer")?"drawer":"normal",sheetPosition:t=>t=="drawer.left"?"left":t=="drawer.right"?"right":t=="drawer.bottom"?"bottom":"",Core:t=>{let{val_sheet:e,patch_sheet:a}=t,[l,f]=L(T.currentIndex+2),[s]=L(Z()),n=e.type!="custom"&&!e.overwrap;G(()=>{T.currentIndex++,c.scope(()=>{if(!e.closeAtParentBlur)return;let o=c(e.parent);o[0]&&o.addEvent({eventID:"SheetClosation-"+e.sheetID,eventType:"mouseout",callback:()=>{o.removeEvent("SheetClosation-"+e.sheetID),a({isOpen:!1})}})}),A.set({[e.sheetID]:{resize:o=>{if(e.type=="drawer.bottom"){let v=A.get(s);v&&v.resize&&v.resize(o)}else(e.type.includes("normal")||e.type.includes("drawer"))&&a({size:o})},close:o=>{a({isOpen:!1})},open:()=>{a({isOpen:!0})}}})},[]),G(()=>{c.scope(()=>{let o=K("#"+s);if(e.isOpen){e.hold_state&&f(T.currentIndex+1),o.await(10).removeClass(m("Hide")).await(10).addClass(m("Open")).callback(()=>{delete T.openQueue[e.sheetID],e.openAfter&&e.openAfter()});return}o.await(10).removeClass(m("Open")).await(251).addClass(m("Hide")).callback(()=>{if(e.closeAfter&&e.closeAfter(),n&&X.get().browserIs!="safari"&&c(X.get().appRoot).focus(),e.hold_state)return a({isOpen:!1});t.delete_sheet()})})},[e.isOpen]);let i=j.Types[{topLeft:"Normal",topCenter:"Normal",topRight:"Normal",middleLeft:"Normal",middleCenter:"Normal",middleRight:"Normal",bottomLeft:"Normal",bottomCenter:"Normal",bottomRight:"Normal","drawer.left":"Edge","drawer.right":"Edge","drawer.bottom":"Bottom",custom:"Custom"}[e.type]];return h(k,{className:[m("Wrap"),m("Tcate_"+j.sheetCategory(e.type)),m("Tpos_"+j.sheetPosition(e.type)),m("isMainSheet_"+n)].join(" "),width:1,ssAbsoluteCovered:!0,freeCSS:{zIndex:l},id:s,children:V(oe,{className:m("Content"),gap:0,height:"viewHeight",overflow:"auto",transition:"middle",children:[!!n&&h(j.TapSensor,{sheetID:e.sheetID,delegateAroundClick:e.closeAtAroundClick}),h(i,g({componentId:s},e))]})},s)},Types:{Normal:t=>{let R=t,{sheetID:e,sheetGroups:a,bodyScrolls:l,content:f,className:s="",type:n,size:i="R",freeCSS:o,openAfter:v,closeAfter:C,closeAtAroundClick:I,closeAtEscapeKeyDown:x,closeAtPageTransit:N,closeAtParentBlur:J,closeAtSwipeDown:Y,hold_state:q,overwrap:ee,isOpen:te,backgroundEffect:U}=R,M=H(R,["sheetID","sheetGroups","bodyScrolls","content","className","type","size","freeCSS","openAfter","closeAfter","closeAtAroundClick","closeAtEscapeKeyDown","closeAtPageTransit","closeAtParentBlur","closeAtSwipeDown","hold_state","overwrap","isOpen","backgroundEffect"]),D={},y=[];return n.match(/top/)?(y.push("top"),D.marginBottom="auto"):n.match(/middle/)?(y.push("center"),D.marginTop="auto",D.marginBottom="auto"):n.match(/bottom/)&&(y.push("bottom"),D.marginTop="auto"),n.match(/left/i)?(y.push("left"),D.marginRight="auto"):n.match(/center/i)?(y.push("center"),D.marginLeft="auto",D.marginRight="auto"):n.match(/right/i)&&(y.push("right"),D.marginLeft="auto"),h(k,w(g(g({className:[m("BB"),s].join(" "),padding:1,transition:"long",opacity:"trans"},M),D),{freeCSS:g({width:{S:"26rem",R:"36rem",L:"44rem","2L":"60rem","3L":"72rem",MAX:"100%"}[i],maxWidth:"96vw",transformOrigin:y.join(" ")},o),children:c.is.function(f)?h(f,{}):f}))},Edge:t=>{let M=t,{sheetID:e,sheetGroups:a,bodyScrolls:l,type:f,content:s,className:n="",size:i="R",openAfter:o,closeAfter:v,closeAtAroundClick:C,closeAtEscapeKeyDown:I,closeAtPageTransit:x,closeAtParentBlur:N,closeAtSwipeDown:J,hold_state:Y,overwrap:q,isOpen:ee,backgroundEffect:te}=M,U=H(M,["sheetID","sheetGroups","bodyScrolls","type","content","className","size","openAfter","closeAfter","closeAtAroundClick","closeAtEscapeKeyDown","closeAtPageTransit","closeAtParentBlur","closeAtSwipeDown","hold_state","overwrap","isOpen","backgroundEffect"]);return h(k,w(g(w(g({className:[m("BB"),n].join(" ")},f=="drawer.right"?{marginLeft:"auto"}:f=="drawer.left"?{marginRight:"auto"}:{}),{opacity:"trans",transition:"long",position:"relative",backgroundColor:"layer.1",flexSizing:"none",minHeight:"viewHeight",boxShadow:"3.remark"}),U),{freeCSS:g({width:{S:"20rem",R:"27rem",L:"32rem","2L":"40rem","3L":"58rem",MAX:"100vw"}[i],maxWidth:"96vw"},U.freeCSS),children:c.is.function(s)?h(s,{}):s}))},Bottom:t=>{let F=t,{componentId:e,sheetID:a,sheetGroups:l,bodyScrolls:f,content:s,size:n="R",sizeChanged:i,baseStyles:o,openAfter:v,closeAfter:C,closeAtAroundClick:I,closeAtEscapeKeyDown:x,closeAtPageTransit:N,closeAtParentBlur:J,closeAtSwipeDown:Y=!0,hold_state:q,overwrap:ee,isOpen:te,backgroundEffect:U}=F,M=H(F,["componentId","sheetID","sheetGroups","bodyScrolls","content","size","sizeChanged","baseStyles","openAfter","closeAfter","closeAtAroundClick","closeAtEscapeKeyDown","closeAtPageTransit","closeAtParentBlur","closeAtSwipeDown","hold_state","overwrap","isOpen","backgroundEffect"]),D=c.getScreenSize(),y=[0,.2,.6,.95],R={ZERO:0,S:1,R:2,L:3,"2L":3,"3L":3,MAX:3},[W,$]=L(n),[b,_]=L({process:!1,processStart:0,originY:0,originValue:0,viewHeight:0,value:y[R[n]]});A.update({[e]:{val_edit:b,resize:S=>{let d=y[R[S]];_(u=>w(g({},u),{value:d})),$(S)}}});const B={Start:S=>{c(document).addEvent({eventID:"BottomSheetMouseMove",eventType:"mousemove",callback:B.Move,options:{passive:!1}}).addEvent({eventID:"BottomSheetTouchMove",eventType:"touchmove",callback:B.Move,options:{passive:!1}}).addEvent({eventID:"BottomSheetMouseUp",eventType:"mouseup",callback:B.End}).addEvent({eventID:"BottomSheetTouchEnd",eventType:"touchend",callback:B.End});let d=c.getCursor(S),u=w(g({},b),{process:!0,processStart:new Date().getTime(),originY:d.y,originValue:b.value,viewHeight:c.getScreenSize().height});A.update({[e]:{val_edit:u}}),_(u)},Move:S=>{var O;let d=(O=A.get(e))==null?void 0:O.val_edit;if(!d.process)return;let z=(c.getCursor(S).y-d.originY)/d.viewHeight,r=d.originValue-z;if(r>.95)r=.95+(r-.95)*.5;else if(r<.2){let P=.2-r;P-=.1,r=.1+(.1-P)*.5}return _(w(g({},d),{value:r})),S.preventDefault(),S.stopPropagation(),!1},End:S=>{var r;let d=(r=A.get(e))==null?void 0:r.val_edit;if(!d.process)return;c(document).removeEvent(["BottomSheetMouseMove","BottomSheetTouchMove","BottomSheetMouseUp","BottomSheetTouchEnd"]);let u=0;if(d.value<.1||(d.value<.5?u=1:d.value>.75?u=3:u=2),new Date().getTime()-d.processStart<300){let O=c.getCursor(S).y-d.originY;if(Math.abs(O)>=20){let P=+(O<0)*2-1;u+=P,u=Math.min(Math.max(u,0),y.length-1)}}u==0&&(Y||(u=1)),$(["ZERO","S","R","L"][u]),_(w(g({},d),{value:y[u],process:!1}))}},Q=pe(!1);return G(()=>{Q.current?W=="ZERO"?Y&&E.close(a):setTimeout(()=>{t.sizeChanged&&t.sizeChanged(W)},250):Q.current=!0},[W]),h(k,{className:m("BB"),margin:[0,"auto"],marginTop:"auto",opacity:"trans",width:1,transition:"long",freeCSS:g({maxWidth:12*60,height:D.height*b.value},b.process?{transition:"0s"}:{}),children:V(oe,w(g({gap:0,flexSizing:"none",borderTopLeftRadius:"1.tone.primary",borderTopRightRadius:"1.tone.primary",borderBottom:"unset",boxShadow:"3.remark",position:"relative",overflow:"hidden",height:1},o),{children:[V(re.Separate,{padding:1,backgroundColor:"layer.1",position:"relative",freeCSS:{userSelect:"none"},children:[h(k,{ssSphere:2.5}),h(re.Center,{onPointerDown:B.Start,flexSizing:0,padding:"2/3",ssPushable:!0,isRounded:!0,freeCSS:{cursor:"grab",userSelect:"none"},children:h(k,{unitWidth:6,unitHeight:"1/2",backgroundColor:"layer.4",isRounded:!0,className:m("DragBar")})}),h(ne.Sub,{color:"cloud",ssSphere:2.5,onClick:()=>{E.close(a)},children:h(ae.X,{})})]}),h(k,w(g({backgroundColor:"layer.1",flexSizing:0,overflow:"auto"},M),{children:c.is.function(s)?h(s,{}):s}))]}))})},Custom:t=>{let F=t,{sheetID:e,sheetGroups:a,bodyScrolls:l,event:f,parent:s,nextToCursor:n,gravityPoint:i=22,content:o,closeAtAroundClick:v,closeAtEscapeKeyDown:C,closeAtPageTransit:I,closeAtParentBlur:x,closeAtSwipeDown:N,hold_state:J,openAfter:Y,closeAfter:q,overwrap:ee,isOpen:te,resize:U,backgroundEffect:M}=F,D=H(F,["sheetID","sheetGroups","bodyScrolls","event","parent","nextToCursor","gravityPoint","content","closeAtAroundClick","closeAtEscapeKeyDown","closeAtPageTransit","closeAtParentBlur","closeAtSwipeDown","hold_state","openAfter","closeAfter","overwrap","isOpen","resize","backgroundEffect"]),[y]=L(Z()),R=c.is.element(s)||c.is.jmini(s)?c(s):K(s),W='[data-sheet-id="'+y+'"]',$='[data-sheet-content="'+y+'"]';i=i;let b=i%5||5,_=Math.ceil(i/5);const B={Init:()=>{if(n&&f){let p=c.getScreenSize(),se=c.getCursor(f);return{top:se.y-p.pageYOffset,left:se.x-p.pageXOffset}}let S={};if(!R||!R[0])return S;let{top:d,right:u,bottom:z,left:r,height:O,width:P}=R.position();return[1,2].includes(b)?S.left=r:b==3?S.left=r+P/2:[4,5].includes(b)&&(S.left=u),i<=10?S.top=d:i<=15?S.top=d+O/2:i<=25&&(S.top=z),S},Adjust:()=>{let S=K(W).position(),d=K($).position(),u=R.position(),z=c.getScreenSize(),r={};for(let p in d)r[p]=d[p];if(c.scope(()=>{if(t.nextToCursor)return;let p=0;_==1?p=u.top-r.bottom:_==2?p=u.top-r.top:_==3?p=u.top-r.top+(u.height-r.height)/2:_==4?p=u.bottom-r.bottom:_==5&&(p=u.bottom-r.top),r.top+=p,r.bottom+=p}),c.scope(()=>{if(t.nextToCursor)return;let p=0;b==1?p=u.left-r.right:b==2?p=u.left-r.left:b==3?p=u.left-r.left+(u.width-r.width)/2:b==4?p=u.right-r.right:b==5&&(p=u.right-r.left),r.left+=p,r.right+=p}),r.top<0){let p=-r.top;r.top+=p,r.bottom+=p}if(r.bottom>z.height){let p=r.bottom-z.height;r.top-=p,r.bottom-=p}if(r.left<0){let p=-r.left;r.left+=p,r.right+=p}if(r.right>z.width){let p=r.right-z.width;r.left-=p,r.right-=p}let O=r.top-d.top,P=r.left-d.left;c(W).css({top:S.top+O+"px",left:S.left+P+"px"})}};let[Q]=L(B.Init());return G(()=>{K(W).await(10).addClass(m("Open")).await(200).callback(()=>{(U==null||U)&&B.Adjust()}),A.update({["customSheet-"+t.sheetID]:{reposition:()=>{B.Adjust()}}})},[]),R[0]?h(k,{className:[m("BB"),m("CustomSheet")].join(" "),"data-sheet-id":y,transition:"long",position:"absolute",width:0,height:0,opacity:"trans",flexCenter:!0,freeCSS:Q,children:h(ue,{position:"absolute",className:[m("GPT"),m("GPT_"+i),m("Col_"+b),m("Row_"+_)].join(" "),children:h(k,w(g({"data-sheet-content":y,flexSizing:"none",maxHeight:"viewHeight"},D),{freeCSS:g({maxWidth:"98vw"},D.freeCSS),children:c.is.function(o)?h(o,{}):o}))})}):null}},TapSensor:t=>h(k,{className:m("TapSensor"),children:h(ne.Plain,{className:m("TapContent"),onClick:e=>{var a;(a=t.delegateAroundClick)!=null&&a&&E.close(t.sheetID)},freeCSS:{cursor:"default",pointerEvents:"all"}})})},E={Wrapper:()=>h(j.Wrapper,{}),Element:t=>{let f=t,{isOpen:e,children:a}=f,l=H(f,["isOpen","children"]);return G(()=>{if(e){E.open(t.type,w(g({},l),{content:a}));return}l.sheetID&&E.close(l.sheetID)},[e]),null},image:(t,e)=>{let a=t.sheetID||Z(),s=t,{type:l}=s,f=H(s,["type"]);E.open(l||"topCenter",w(g({size:"MAX",backgroundColor:"trans",height:"viewHeight"},f),{sheetID:a,freeCSS:{maxWidth:"96vw",transformOrigin:"top"},content:()=>{let[n]=L(c.flatArray(e)),[i,o]=L(0),v=[];return n.forEach((C,I)=>{v.push({value:I,label:h(ie,{src:c.flatArray(C)[0],width:"auto",height:1,borderRadius:"3.tone.tertiary",freeCSS:{maxWidth:12*6,maxHeight:12*3}})})}),V(oe,{gap:0,height:1,position:"relative",children:[V(re.Separate,{position:"absolute",top:0,left:0,right:0,padding:[1,2],freeCSS:{zIndex:2},children:[h(he.Radio,{icon:!1,value:i,override:"force",horizontalAlign:"center",onUpdateValidValue:C=>{o(C)},cellStyles:{border:!0,borderWidth:2,padding:"1/3",paddingRight:"1/3",boxShadow:"2.normal",gap:0},cellCheckedStyles:{borderColor:"theme"},options:v}),h(ne.Sub.S,{color:"cloud",ssSphere:3,onClick:()=>{E.close(a)},children:h(ae.X,{})})]}),h(ce.FadeIn,{flexCenter:!0,flexSizing:0,overflow:"auto",children:h(ie,{width:"auto",height:"auto",maxWidth:1,maxHeight:1,src:n[i]})},i)]})}}))},open:(t,e,a)=>{e.sheetID=(e.sheetID||"").replace(/\./g,"-"),e.type=t;let l=A.get("Sheet-"+X.get().sessionUID);l&&l.add(e,a)},resize:t=>{t.sheetID=(t.sheetID||"").replace(/\./g,"-");let e=A.get(t.sheetID);e&&e.resize&&e.resize(t.size)},customSheet:{reposition:t=>{let e=A.get("customSheet-"+t);e&&e.reposition&&e.reposition()}},close:function(t,e,a){let l=T.getSessionStates();if(!l)return;let{val_sheets:f}=l;t=t==null?void 0:t.replace(/\./g,"-");let s=f.find(i=>i.sheetID==t);if(!s||e=="Escape"&&!s.closeAtEscapeKeyDown)return;let n=A.get(s.sheetID);n&&n.close&&n.close(a)},closeGroup:t=>{let e=T.getSessionStates();if(!e)return;let{val_sheets:a}=e;t=(t||"").replace(/\./g,"-");for(let l of a)l.sheetGroups&&l.sheetGroups==t&&E.close(l.sheetID)},closeAll:t=>{let e=T.getSessionStates();if(!e)return;let{val_sheets:a}=e;for(let l of a)t&&!l.closeAtPageTransit||E.close(l.sheetID,"pageTransit",!0)},Body:t=>h(k,g({className:m("BaseBody"),backgroundColor:"layer.1",borderRadius:"1.tone.primary",position:"relative",boxShadow:"3.remark",transition:"long"},t))};export{E as Sheet,E as default};
1
+ import{b as g,c as w,d as H}from"../chunk-C5N2D3ZX.js";import{jsx as h,jsxs as V}from"react/jsx-runtime";import c,{UUID as Z,Time as le,useStore as x}from"jmini";import{useState as L,useEffect as G,useRef as pe}from"react";import{$$fromRoot as K,Config as X}from"../@utils";import{Box as k,Flex as ue,Img as ie,FAI as ae,Column as oe}from"../atoms";import{Row as ne}from"../mols";import{Button as se}from"./Button";import he from"./Input";import{SheetClasses as m}from"../@styles/componentClasses";import ce from"./Effect";const A={currentIndex:0,openQueue:{},getSessionStates:()=>{let t=x.get("sessionStates-"+X.get().sessionUID);return t||null},getNewSheetStates:t=>{var a;let e=w(g({sheetGroups:t.sheetGroups||[],backgroundEffect:!0,overwrap:t.type=="custom",hold_state:!1,closeAtPageTransit:!0,closeAtEscapeKeyDown:!0,closeAtAroundClick:t.type=="custom"},t),{sheetID:t.sheetID||Z(),isOpen:!0,created_at:le()});if(e.type=="custom"){let l=e;l.parent=l.parent||((a=l==null?void 0:l.event)==null?void 0:a.currentTarget),e=l}return e}},j={Wrapper:()=>{let[t,e]=L([]),a={val_sheets:t,set_sheets:e},l="sessionStates-"+X.get().sessionUID;return x.set({[l]:a}),G(()=>{let d="Sheet-"+X.get().sessionUID;x.set({[d]:{add:(r,s)=>{let i=x.get(d);if(!i)return;let o=A.getNewSheetStates(r);if(A.openQueue[o.sheetID])return;if(A.openQueue[o.sheetID]=!0,s!="inherit"&&(o.isOpen=s!=null?s:!0),!!i.find(o.sheetID)){e(C=>{let I=[...C],D=I.findIndex(N=>N.sheetID==o.sheetID);return D==-1||(I[D]=o),I}),delete A.openQueue[o.sheetID];return}e(C=>[o,...C])},find:r=>{let s=A.getSessionStates();if(!s)return null;let{val_sheets:i}=s;return i.find(o=>o.sheetID==r)}}}),c(X.get().appRoot).removeEvent(["SheetEvent.keyUp","SheetEvent.Click"]).addEvent({eventType:"keyup",eventID:"SheetEvent.keyUp",callback:function(r){let{key:s,metaKey:i}=r;if(s=="Escape"||s==","&&i){let o=A.getSessionStates();if(!o)return;let{val_sheets:v}=o,C=v.filter(D=>D.isOpen);if(!C.length)return;let I=C.reduce((D,N)=>D.created_at.value>N.created_at.value?D:N);E.close(I.sheetID,s)}}}).addEvent({eventType:"click",eventID:"SheetEvent.Click",callback:function(r){let s=A.getSessionStates();if(!s)return;let{val_sheets:i}=s,o=r.target;if(!o||o!=null&&o.closest("."+m("CustomSheet")))return;let v=i.filter(C=>C.type=="custom");v.length&&v.forEach(C=>{let{parent:I}=C;if(!C.closeAtAroundClick)return;let D=K(I)[0];I!==o&&D!==o&&(c(D).find(o).length||E.close(C.sheetID))})}})},[]),h(k,{className:["AMOTIFY_be",m("Wrapper")].join(" "),children:t.map(d=>h(j.Core,w(g({},a),{val_sheet:d,patch_sheet:r=>{e(s=>{let i=[...s],o=i.findIndex(v=>v.sheetID==d.sheetID);return o==-1||(i[o]=g(g({},i[o]),r)),i})},delete_sheet:()=>{e(r=>{let s=[...r],i=s.findIndex(o=>o.sheetID==d.sheetID);return i==-1||s.splice(i,1),s})}}),d.sheetID))})},sheetCategory:t=>t=="custom"?"custom":t.startsWith("drawer")?"drawer":"normal",sheetPosition:t=>t=="drawer.left"?"left":t=="drawer.right"?"right":t=="drawer.bottom"?"bottom":"",Core:t=>{let{val_sheet:e,patch_sheet:a}=t,[l,d]=L(A.currentIndex+2),[r]=L(Z()),s=e.type!="custom"&&!e.overwrap;G(()=>{A.currentIndex++,c.scope(()=>{if(!e.closeAtParentBlur)return;let o=c(e.parent);o[0]&&o.addEvent({eventID:"SheetClosation-"+e.sheetID,eventType:"mouseout",callback:()=>{o.removeEvent("SheetClosation-"+e.sheetID),a({isOpen:!1})}})}),x.set({[e.sheetID]:{resize:o=>{if(e.type=="drawer.bottom"){let v=x.get(r);v&&v.resize&&v.resize(o)}else(e.type.includes("normal")||e.type.includes("drawer"))&&a({size:o})},close:o=>{a({isOpen:!1})},open:()=>{a({isOpen:!0})}}})},[]),G(()=>{c.scope(()=>{let o=K("#"+r);if(e.isOpen){e.hold_state&&d(A.currentIndex+1),o.await(10).removeClass(m("Hide")).await(10).addClass(m("Open")).callback(()=>{delete A.openQueue[e.sheetID],e.onOpen&&e.onOpen()});return}o.await(10).removeClass(m("Open")).await(251).addClass(m("Hide")).callback(()=>{if(e.onClose&&e.onClose(),s&&X.get().browserIs!="safari"&&c(X.get().appRoot).focus(),e.hold_state)return a({isOpen:!1});t.delete_sheet()})})},[e.isOpen]);let i=j.Types[{topLeft:"Normal",topCenter:"Normal",topRight:"Normal",middleLeft:"Normal",middleCenter:"Normal",middleRight:"Normal",bottomLeft:"Normal",bottomCenter:"Normal",bottomRight:"Normal","drawer.left":"Edge","drawer.right":"Edge","drawer.bottom":"Bottom",custom:"Custom"}[e.type]];return h(k,{className:[m("Wrap"),m("Tcate_"+j.sheetCategory(e.type)),m("Tpos_"+j.sheetPosition(e.type)),m("isMainSheet_"+s)].join(" "),width:1,ssAbsoluteCovered:!0,freeCSS:{zIndex:l},id:r,children:V(oe,{className:m("Content"),gap:0,height:"viewHeight",overflow:"auto",transition:"middle",children:[!!s&&h(j.TapSensor,{sheetID:e.sheetID,delegateAroundClick:e.closeAtAroundClick}),h(i,g({componentId:r},e))]})},r)},Types:{Normal:t=>{let R=t,{sheetID:e,sheetGroups:a,bodyScrolls:l,content:d,className:r="",type:s,size:i="R",freeCSS:o,onOpen:v,onClose:C,closeAtAroundClick:I,closeAtEscapeKeyDown:D,closeAtPageTransit:N,closeAtParentBlur:J,closeAtSwipeDown:Y,hold_state:q,overwrap:ee,isOpen:te,backgroundEffect:U}=R,M=H(R,["sheetID","sheetGroups","bodyScrolls","content","className","type","size","freeCSS","onOpen","onClose","closeAtAroundClick","closeAtEscapeKeyDown","closeAtPageTransit","closeAtParentBlur","closeAtSwipeDown","hold_state","overwrap","isOpen","backgroundEffect"]),T={},y=[];return s.match(/top/)?(y.push("top"),T.marginBottom="auto"):s.match(/middle/)?(y.push("center"),T.marginTop="auto",T.marginBottom="auto"):s.match(/bottom/)&&(y.push("bottom"),T.marginTop="auto"),s.match(/left/i)?(y.push("left"),T.marginRight="auto"):s.match(/center/i)?(y.push("center"),T.marginLeft="auto",T.marginRight="auto"):s.match(/right/i)&&(y.push("right"),T.marginLeft="auto"),h(k,w(g(g({className:[m("BB"),r].join(" "),padding:1,transition:"long",opacity:"trans"},M),T),{freeCSS:g({width:{S:"26rem",R:"36rem",L:"44rem","2L":"60rem","3L":"72rem",MAX:"100%"}[i],maxWidth:"96vw",transformOrigin:y.join(" ")},o),children:c.is.function(d)?h(d,{}):d}))},Edge:t=>{let M=t,{sheetID:e,sheetGroups:a,bodyScrolls:l,type:d,content:r,className:s="",size:i="R",onOpen:o,onClose:v,closeAtAroundClick:C,closeAtEscapeKeyDown:I,closeAtPageTransit:D,closeAtParentBlur:N,closeAtSwipeDown:J,hold_state:Y,overwrap:q,isOpen:ee,backgroundEffect:te}=M,U=H(M,["sheetID","sheetGroups","bodyScrolls","type","content","className","size","onOpen","onClose","closeAtAroundClick","closeAtEscapeKeyDown","closeAtPageTransit","closeAtParentBlur","closeAtSwipeDown","hold_state","overwrap","isOpen","backgroundEffect"]);return h(k,w(g(w(g({className:[m("BB"),s].join(" ")},d=="drawer.right"?{marginLeft:"auto"}:d=="drawer.left"?{marginRight:"auto"}:{}),{opacity:"trans",transition:"long",position:"relative",backgroundColor:"layer.1",flexSizing:"none",minHeight:"viewHeight",boxShadow:"3.remark"}),U),{freeCSS:g({width:{S:"20rem",R:"27rem",L:"32rem","2L":"40rem","3L":"58rem",MAX:"100vw"}[i],maxWidth:"96vw"},U.freeCSS),children:c.is.function(r)?h(r,{}):r}))},Bottom:t=>{let F=t,{componentId:e,sheetID:a,sheetGroups:l,bodyScrolls:d,content:r,size:s="R",sizeChanged:i,baseStyles:o,onOpen:v,onClose:C,closeAtAroundClick:I,closeAtEscapeKeyDown:D,closeAtPageTransit:N,closeAtParentBlur:J,closeAtSwipeDown:Y=!0,hold_state:q,overwrap:ee,isOpen:te,backgroundEffect:U}=F,M=H(F,["componentId","sheetID","sheetGroups","bodyScrolls","content","size","sizeChanged","baseStyles","onOpen","onClose","closeAtAroundClick","closeAtEscapeKeyDown","closeAtPageTransit","closeAtParentBlur","closeAtSwipeDown","hold_state","overwrap","isOpen","backgroundEffect"]),T=c.getScreenSize(),y=[0,.2,.6,.95],R={ZERO:0,S:1,R:2,L:3,"2L":3,"3L":3,MAX:3},[W,$]=L(s),[b,_]=L({process:!1,processStart:0,originY:0,originValue:0,viewHeight:0,value:y[R[s]]});x.update({[e]:{val_edit:b,resize:S=>{let f=y[R[S]];_(u=>w(g({},u),{value:f})),$(S)}}});const B={Start:S=>{c(document).addEvent({eventID:"BottomSheetMouseMove",eventType:"mousemove",callback:B.Move,options:{passive:!1}}).addEvent({eventID:"BottomSheetTouchMove",eventType:"touchmove",callback:B.Move,options:{passive:!1}}).addEvent({eventID:"BottomSheetMouseUp",eventType:"mouseup",callback:B.End}).addEvent({eventID:"BottomSheetTouchEnd",eventType:"touchend",callback:B.End});let f=c.getCursor(S),u=w(g({},b),{process:!0,processStart:new Date().getTime(),originY:f.y,originValue:b.value,viewHeight:c.getScreenSize().height});x.update({[e]:{val_edit:u}}),_(u)},Move:S=>{var O;let f=(O=x.get(e))==null?void 0:O.val_edit;if(!f.process)return;let z=(c.getCursor(S).y-f.originY)/f.viewHeight,n=f.originValue-z;if(n>.95)n=.95+(n-.95)*.5;else if(n<.2){let P=.2-n;P-=.1,n=.1+(.1-P)*.5}return _(w(g({},f),{value:n})),S.preventDefault(),S.stopPropagation(),!1},End:S=>{var n;let f=(n=x.get(e))==null?void 0:n.val_edit;if(!f.process)return;c(document).removeEvent(["BottomSheetMouseMove","BottomSheetTouchMove","BottomSheetMouseUp","BottomSheetTouchEnd"]);let u=0;if(f.value<.1||(f.value<.5?u=1:f.value>.75?u=3:u=2),new Date().getTime()-f.processStart<300){let O=c.getCursor(S).y-f.originY;if(Math.abs(O)>=20){let P=+(O<0)*2-1;u+=P,u=Math.min(Math.max(u,0),y.length-1)}}u==0&&(Y||(u=1)),$(["ZERO","S","R","L"][u]),_(w(g({},f),{value:y[u],process:!1}))}},Q=pe(!1);return G(()=>{Q.current?W=="ZERO"?Y&&E.close(a):setTimeout(()=>{t.sizeChanged&&t.sizeChanged(W)},250):Q.current=!0},[W]),h(k,{className:m("BB"),margin:[0,"auto"],marginTop:"auto",opacity:"trans",width:1,transition:"long",freeCSS:g({maxWidth:12*60,height:T.height*b.value},b.process?{transition:"0s"}:{}),children:V(oe,w(g({gap:0,flexSizing:"none",borderTopLeftRadius:"1.tone.primary",borderTopRightRadius:"1.tone.primary",borderBottom:"unset",boxShadow:"3.remark",position:"relative",overflow:"hidden",height:1},o),{children:[V(ne.Separate,{padding:1,backgroundColor:"layer.1",position:"relative",freeCSS:{userSelect:"none"},children:[h(k,{ssSphere:2.5}),h(ne.Center,{onPointerDown:B.Start,flexSizing:0,padding:"2/3",ssPushable:!0,isRounded:!0,freeCSS:{cursor:"grab",userSelect:"none"},children:h(k,{unitWidth:6,unitHeight:"1/2",backgroundColor:"layer.4",isRounded:!0,className:m("DragBar")})}),h(se.Sub,{color:"cloud",ssSphere:2.5,onClick:()=>{E.close(a)},children:h(ae.X,{})})]}),h(k,w(g({backgroundColor:"layer.1",flexSizing:0,overflow:"auto"},M),{children:c.is.function(r)?h(r,{}):r}))]}))})},Custom:t=>{let F=t,{sheetID:e,sheetGroups:a,bodyScrolls:l,event:d,parent:r,nextToCursor:s,gravityPoint:i=22,content:o,closeAtAroundClick:v,closeAtEscapeKeyDown:C,closeAtPageTransit:I,closeAtParentBlur:D,closeAtSwipeDown:N,hold_state:J,onOpen:Y,onClose:q,overwrap:ee,isOpen:te,resize:U,backgroundEffect:M}=F,T=H(F,["sheetID","sheetGroups","bodyScrolls","event","parent","nextToCursor","gravityPoint","content","closeAtAroundClick","closeAtEscapeKeyDown","closeAtPageTransit","closeAtParentBlur","closeAtSwipeDown","hold_state","onOpen","onClose","overwrap","isOpen","resize","backgroundEffect"]),[y]=L(Z()),R=c.is.element(r)||c.is.jmini(r)?c(r):K(r),W='[data-sheet-id="'+y+'"]',$='[data-sheet-content="'+y+'"]';i=i;let b=i%5||5,_=Math.ceil(i/5);const B={Init:()=>{if(s&&d){let p=c.getScreenSize(),re=c.getCursor(d);return{top:re.y-p.pageYOffset,left:re.x-p.pageXOffset}}let S={};if(!R||!R[0])return S;let{top:f,right:u,bottom:z,left:n,height:O,width:P}=R.position();return[1,2].includes(b)?S.left=n:b==3?S.left=n+P/2:[4,5].includes(b)&&(S.left=u),i<=10?S.top=f:i<=15?S.top=f+O/2:i<=25&&(S.top=z),S},Adjust:()=>{let S=K(W).position(),f=K($).position(),u=R.position(),z=c.getScreenSize(),n={};for(let p in f)n[p]=f[p];if(c.scope(()=>{if(t.nextToCursor)return;let p=0;_==1?p=u.top-n.bottom:_==2?p=u.top-n.top:_==3?p=u.top-n.top+(u.height-n.height)/2:_==4?p=u.bottom-n.bottom:_==5&&(p=u.bottom-n.top),n.top+=p,n.bottom+=p}),c.scope(()=>{if(t.nextToCursor)return;let p=0;b==1?p=u.left-n.right:b==2?p=u.left-n.left:b==3?p=u.left-n.left+(u.width-n.width)/2:b==4?p=u.right-n.right:b==5&&(p=u.right-n.left),n.left+=p,n.right+=p}),n.top<0){let p=-n.top;n.top+=p,n.bottom+=p}if(n.bottom>z.height){let p=n.bottom-z.height;n.top-=p,n.bottom-=p}if(n.left<0){let p=-n.left;n.left+=p,n.right+=p}if(n.right>z.width){let p=n.right-z.width;n.left-=p,n.right-=p}let O=n.top-f.top,P=n.left-f.left;c(W).css({top:S.top+O+"px",left:S.left+P+"px"})}};let[Q]=L(B.Init());return G(()=>{K(W).await(10).addClass(m("Open")).await(200).callback(()=>{(U==null||U)&&B.Adjust()}),x.update({["customSheet-"+t.sheetID]:{reposition:()=>{B.Adjust()}}})},[]),R[0]?h(k,{className:[m("BB"),m("CustomSheet")].join(" "),"data-sheet-id":y,transition:"long",position:"absolute",width:0,height:0,opacity:"trans",flexCenter:!0,freeCSS:Q,children:h(ue,{position:"absolute",className:[m("GPT"),m("GPT_"+i),m("Col_"+b),m("Row_"+_)].join(" "),children:h(k,w(g({"data-sheet-content":y,flexSizing:"none",maxHeight:"viewHeight"},T),{freeCSS:g({maxWidth:"98vw"},T.freeCSS),children:c.is.function(o)?h(o,{}):o}))})}):null}},TapSensor:t=>h(k,{className:m("TapSensor"),children:h(se.Plain,{className:m("TapContent"),onClick:e=>{var a;(a=t.delegateAroundClick)!=null&&a&&E.close(t.sheetID)},freeCSS:{cursor:"default",pointerEvents:"all"}})})},E={Wrapper:()=>h(j.Wrapper,{}),Element:t=>{let d=t,{isOpen:e,children:a}=d,l=H(d,["isOpen","children"]);return G(()=>{if(e){E.open(t.type,w(g({},l),{content:a}));return}l.sheetID&&E.close(l.sheetID)},[e]),null},image:(t,e)=>{let a=t.sheetID||Z(),r=t,{type:l}=r,d=H(r,["type"]);E.open(l||"topCenter",w(g({size:"MAX",backgroundColor:"trans",height:"viewHeight"},d),{sheetID:a,freeCSS:{maxWidth:"96vw",transformOrigin:"top"},content:()=>{let[s]=L(c.flatArray(e)),[i,o]=L(0),v=[];return s.forEach((C,I)=>{v.push({value:I,label:h(ie,{src:c.flatArray(C)[0],width:"auto",height:1,borderRadius:"3.tone.tertiary",freeCSS:{maxWidth:12*6,maxHeight:12*3}})})}),V(oe,{gap:0,height:1,position:"relative",children:[V(ne.Separate,{position:"absolute",top:0,left:0,right:0,padding:[1,2],freeCSS:{zIndex:2},children:[h(he.Radio,{icon:!1,value:i,override:"force",horizontalAlign:"center",onUpdateValidValue:C=>{o(C)},cellStyles:{border:!0,borderWidth:2,padding:"1/3",paddingRight:"1/3",boxShadow:"2.normal",gap:0},cellCheckedStyles:{borderColor:"theme"},options:v}),h(se.Sub.S,{color:"cloud",ssSphere:3,onClick:()=>{E.close(a)},children:h(ae.X,{})})]}),h(ce.FadeIn,{flexCenter:!0,flexSizing:0,overflow:"auto",children:h(ie,{width:"auto",height:"auto",maxWidth:1,maxHeight:1,src:s[i]})},i)]})}}))},open:(t,e,a)=>{e.sheetID=(e.sheetID||"").replace(/\./g,"-"),e.type=t;let l=x.get("Sheet-"+X.get().sessionUID);l&&l.add(e,a)},resize:t=>{t.sheetID=(t.sheetID||"").replace(/\./g,"-");let e=x.get(t.sheetID);e&&e.resize&&e.resize(t.size)},customSheet:{reposition:t=>{let e=x.get("customSheet-"+t);e&&e.reposition&&e.reposition()}},close:function(t,e,a){let l=A.getSessionStates();if(!l)return;let{val_sheets:d}=l;t=t==null?void 0:t.replace(/\./g,"-");let r=d.find(i=>i.sheetID==t);if(!r||e=="Escape"&&!r.closeAtEscapeKeyDown)return;let s=x.get(r.sheetID);s&&s.close&&s.close(a)},closeGroup:t=>{let e=A.getSessionStates();if(!e)return;let{val_sheets:a}=e;t=(t||"").replace(/\./g,"-");for(let l of a)l.sheetGroups&&l.sheetGroups==t&&E.close(l.sheetID)},closeAll:t=>{let e=A.getSessionStates();if(!e)return;let{val_sheets:a}=e;for(let l of a)t&&!l.closeAtPageTransit||E.close(l.sheetID,"pageTransit",!0)},Body:t=>h(k,g({className:m("BaseBody"),backgroundColor:"layer.1",borderRadius:"1.tone.primary",position:"relative",boxShadow:"3.remark",transition:"long"},t))};export{E as Sheet,E as default};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "amotify",
3
- "version": "0.2.203",
3
+ "version": "0.2.205",
4
4
  "description": "UI Component for React,NextJS,esbuild",
5
5
  "scripts": {
6
6
  "start": "run-p clean build:*",