tanuki-ui
Version:
HTML-first React component library with semantic elements, multi-OS themes, and production-ready visual node editor
1 lines • 59 kB
JavaScript
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("react/jsx-runtime"),c=require("react"),fn=require("react-dom"),re=require("./vendor/useMeasure-C21c-kl-.js"),rt=require("./vendor/classNames-BlNBsLzi.js");function hn(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const s in e)if(s!=="default"){const r=Object.getOwnPropertyDescriptor(e,s);Object.defineProperty(t,s,r.get?r:{enumerable:!0,get:()=>e[s]})}}return t.default=e,Object.freeze(t)}const d=hn(c),Se=({onClose:e,id:t})=>{const s=c.useRef(null),r=c.useRef(null),a=c.useRef(e);return a.current=e,c.useEffect(()=>{let l;const u=o=>{var i;if(!o.defaultPrevented&&r.current&&o.target instanceof HTMLElement&&(o.type==="pointerdown"&&(l=o.target),!(o.type!=="pointerdown"&&l!==o.target))){if(r.current.contains(o.target)){o.stopPropagation();return}if((i=s.current)!=null&&i.contains(o.target)){o.preventDefault(),o.stopPropagation(),a.current();return}}};return window==null||window.addEventListener("pointerdown",u,!0),window==null||window.addEventListener("pointerup",u,!0),()=>{window==null||window.removeEventListener("pointerdown",u,!0),window==null||window.removeEventListener("pointerup",u,!0)}},[]),[s,r]},gn="dlgdlg",pn="dlgbdr",xn="dlgfade-in",bn="dlg_dlg_ovr",yn="dlgfixed",vn="dlgdlgftr",jn="dlgbodyLk3",wn="dlgshake",he={dialog:gn,backdrop:pn,fadeIn:xn,dialogOverlay:bn,fixed:yn,dialogFooter:vn,body:jn,shake:wn},Nn=()=>c.useMemo(()=>typeof window>"u"?null:window.document,[]),Re=({children:e,parentNode:t})=>{const s=d.useId(),[r,a]=d.useState(),l=Nn();d.useEffect(()=>{if(!l)return;const o=l.createElement("div");return o.setAttribute("id",s),l.body.appendChild(o),a(o),()=>{l.body.contains(o)&&l.body.removeChild(o),a(void 0)}},[s,l]);const u=d.useMemo(()=>t?kn(t):[1],[t,s]);return r&&u?n.jsx(n.Fragment,{children:fn.createPortal(n.jsx(at,{zIndexList:u,children:e}),r)}):n.jsx(n.Fragment,{})},at=({zIndexList:e,children:t})=>{const[s,...r]=e;return n.jsx("div",{style:{position:"relative",zIndex:s},children:r.length?n.jsx(at,{zIndexList:r,children:t}):t})},kn=e=>{const t=[],s=r=>{const l=+window.getComputedStyle(r).getPropertyValue("z-index");Number.isNaN(l)||t.push(l),r.parentElement&&s(r.parentElement)};return s(e),t.reverse()},Cn=e=>e?"current"in e:!1,In=(...e)=>c.useCallback(s=>{for(const r of e)if(r){if(typeof r=="string")throw new Error("LegacyRef is not supported");if(typeof r=="function"){r(s);continue}if(Cn(r)){r.current=s;continue}if(r&&"value"in r){r.value=s;continue}}},[e]),Me=d.memo(d.forwardRef(({onClose:e,modal:t=!0,open:s,...r},a)=>{const[l,u]=Se({onClose:e??(()=>{})}),o=d.useRef(null),i=In(a,o),f=t?d.Fragment:Re;d.useEffect(()=>{const b=o.current;b&&(s?t?b.showModal():b.show():b.close())},[s,t]);const h=d.useCallback(b=>{b.preventDefault(),b.stopPropagation(),e&&e(b)},[e]),p=n.jsx("div",{ref:l,className:he.backdrop}),g=n.jsx("div",{className:he.body,"data-role":"dialog-body",ref:u,children:r.children});return n.jsx(f,{children:n.jsx("dialog",{className:he.dialog,...r,open:t?void 0:s,ref:i,onClose:h,"data-role":t?"modal":"dialog-body",children:s&&n.jsxs(n.Fragment,{children:[p,g]})})})}));Me.displayName="Dialog";const Sn=({children:e})=>n.jsx("footer",{className:he.dialogFooter,children:e}),oe=d.memo(({potal:e,open:t=!0,onClose:s,onCancel:r,children:a,variant:l,animationName:u,direction:o="btt"})=>n.jsx(Me,{onClose:s,onCancel:r,open:t,modal:!1,"data-variant":l,"data-animation":u,"data-direction":o,children:a}));oe.displayName="PopupLayout";const Rn="dlgctn",ot={content:Rn},ct=({direction:e,open:t=!0,onClose:s,header:r,children:a,potal:l=!0})=>n.jsxs(oe,{open:t,onClose:s,potal:l,variant:"drawer",direction:e,children:[r,n.jsx("section",{className:ot.content,children:a})]});ct.displayName="Drawer";const Mn="blctxt",$n={text:Mn},Y=({ruby:e,children:t})=>n.jsx("span",{className:$n.text,children:e?n.jsxs("ruby",{children:[t,n.jsx("rt",{children:e})]}):t});Y.displayName="Text";const Ln="frminp",Dn="frmmediainp",Tn="frmmed",An="frmmedfil",En="frmmed9RB",On="frmmedhasfil",Pn="frmmeddra",Bn="frmbounce",Fn="frmsel",Hn="frmimgprv",zn="frmedi",qn="frmerrLine",Un="frmrange",Vn="frmprogress",Wn="frmbar",Xn="frmknob",B={input:Ln,mediaInput:Dn,mediaInputPreview:Tn,mediaInputFile:An,mediaInputEmpty:En,mediaInputHasFiles:On,mediaInputDragActive:Pn,bounce:Bn,selectbox:Fn,imagePreview:Hn,editablelabel:zn,errorLine:qn,range:Un,progress:Vn,bar:Wn,knob:Xn},lt=({...e})=>{const[t,s]=d.useState(!1),r=d.useCallback(()=>{s(!0)},[]),a=d.useCallback(()=>{s(!1)},[]),l=u=>{u instanceof HTMLInputElement&&u.focus()};return n.jsxs(n.Fragment,{children:[n.jsx("input",{...e,className:B.editablelabel,autoFocus:!0,ref:l,onBlur:a,type:"text",style:{display:t?"block":"none"}}),!t&&n.jsx("span",{onClick:r,children:n.jsx(Y,{children:e.value??e.defaultValue})})]})};lt.displayName="EditableLabel";const Zn="nvgtabnav",_n="nvgsrtitm",Gn="nvgsrtcon",Yn="nvghdl",Qn="nvgsrtbod",Kn="nvgico",Jn="nvgdel",ee={tabnav:Zn,sortableItem:_n,sortableItemControl:Gn,handle:Yn,sortableItemBody:Qn,icon:Kn,deleteButton:Jn};var es=function(e,t){return typeof t=="boolean"?t:!e},ts=function(e){return c.useReducer(es,e)};function Ce(e){var t=c.useRef();return c.useEffect(function(){t.current=e}),t.current}const ns="cntsrtitm",ss="cntsrtbod",rs="cntsrt",Ne={sortableItem:ns,sortableItemBody:ss,sortableItemHandle:rs},Qe=()=>Math.random().toString(36).substring(2),as=({value:e,onChange:t})=>{const[s,r]=d.useState(()=>(e??[]).map(i=>({value:i,id:Qe()}))),a=Ce(s),l=d.useRef(t);l.current=t,d.useEffect(()=>{if(!a||!l.current)return;const o=s.map(i=>i.value);l.current(o)},[s]);const u=Ce(e);return d.useEffect(()=>{if(!u||!e)return;const o=e;r(i=>{const f=i.map(m=>m.value),h=f.length===o.length;if(h&&o.every((m,x)=>m===f[x]))return i;const g=new WeakMap(i.map(m=>[m.value,m])),b=o.map((m,x)=>g.has(m)?-1:x).filter(m=>m!==-1);return h?i.map((m,x)=>b.includes(x)?{...m,value:o[x]}:m):o.map(m=>{const x=g.get(m);return x!=null&&x.value?x:{value:m,id:Qe()}})})},[e,r]),[s,r]},os=(e,t,s)=>{const r=[...e],[a]=r.splice(t,1);return r.splice(s,0,a),r},ce=({items:e,onChange:t,children:s,controlAs:r})=>{const[a,l]=as({value:e,onChange:t}),u=d.useRef(new WeakMap([])),[o,i]=d.useState(),[f,h]=d.useState(),p={draggingId:o,draggingOverId:f},g=d.useRef(p);g.current=p;const b=d.useCallback(v=>{const{draggingId:j,draggingOverId:w}=g.current;w!==v&&(l(S=>{const I=S.findIndex(T=>T.id===v),C=S.findIndex(T=>T.id===w);return os(S,I,C)}),i(void 0),h(void 0))},[]),m=d.useCallback((v,j)=>(u.current.set(j,v),()=>{u.current.delete(j)}),[]),x=a.map(v=>v.id),y=r??it;return n.jsx(dt.Provider,{value:{observe:m,items:x,draggingId:o,setDraggingId:i,draggingOverId:f,setDraggingOverId:h,end:b},children:d.Children.map(s,(v,j)=>{const w=x[j];return n.jsx(y,{id:w,children:v},w)})})},cs=(...e)=>e.filter(Boolean).join(" "),it=({id:e,children:t,className:s})=>{const{containerRef:r,listeners:a}=be(e);return n.jsxs("div",{className:cs(Ne.sortableItem,s),ref:r,children:[n.jsx("div",{className:Ne.sortableItemHandle,...a}),n.jsx("div",{className:Ne.sortableItemBody,children:t})]})};ce.SortableItem=it;const dt=d.createContext({items:[],setDraggingId:()=>{},setDraggingOverId:()=>{},end:()=>{},observe:()=>()=>{}}),be=e=>{const t=d.useRef(null),s=d.useRef(null),{setDraggingId:r,setDraggingOverId:a,end:l,observe:u}=d.useContext(dt);return d.useEffect(()=>{const o=t.current,i=s.current;if(!o||!i)return;const f=u(e,o);o.setAttribute("draggable","true"),o.setAttribute("data-draggable-id",e);const h=()=>{a(e)};let p;const g=v=>{p||(v.stopPropagation(),v.preventDefault(),v.dataTransfer&&(v.dataTransfer.effectAllowed="move"),r(e))},b=v=>(l(e),!1),m=v=>(v.preventDefault&&v.preventDefault(),v.dataTransfer&&(v.dataTransfer.dropEffect="move"),!1),x=v=>(v.stopPropagation(),v.preventDefault(),!1),y=v=>{if(v.target===i){p=e;return}return!1};return o.addEventListener("pointerdown",y),o.addEventListener("dragstart",g),o.addEventListener("dragover",m),o.addEventListener("dragend",b),o.addEventListener("dragenter",h),o.addEventListener("drop",x,!1),()=>{o.removeEventListener("pointerdown",y),o.removeEventListener("dragenter",h),o.removeEventListener("dragover",m),o.removeEventListener("dragstart",g),o.removeEventListener("dragend",b),o.removeEventListener("drop",x),f()}},[e]),{containerRef:t,listeners:{ref:s}}};ce.useSortable=be;const ut=({itemWrapper:e=Y,value:t,onChange:s,setItems:r,items:a,defaultValue:l})=>{const[u,o]=d.useState(t??l);d.useEffect(()=>{typeof t=="string"&&t!==u&&o(t)},[u,t]);const i=d.useCallback(h=>{r(p=>p.filter(({key:g})=>g!==h))},[]),f=d.useCallback(h=>{if(!(h.currentTarget instanceof HTMLDivElement))return;const p=h.currentTarget.dataset.id;p&&s(p)},[s]);return n.jsx("nav",{className:ee.tabnav,children:n.jsx(ce,{items:a,onChange:r,controlAs:ls,children:a.map(h=>n.jsx(is,{item:h,onSelect:f,selected:u,onRequestClose:i,children:n.jsx(e,{children:h.value})},h.key))})})};ut.displayName="TabNav";const ls=({children:e,id:t})=>{const{containerRef:s,listeners:r}=be(t),a=d.Children.map(e,l=>d.isValidElement(l)?d.cloneElement(l,r):l);return n.jsx("div",{ref:s,className:ee.sortableItemControl,children:a})},is=d.forwardRef(({selected:e,item:t,children:s,onSelect:r,onRequestClose:a,closeMark:l},u)=>{const o=d.useCallback(i=>{i.preventDefault(),a&&a(t.key)},[a]);return n.jsxs("div",{className:ee.sortableItem,"data-id":t.key,"aria-selected":e===t.key,onClick:r,children:[a?n.jsx("button",{type:"button",className:ee.deleteButton,value:`close ${t.value} tab`,onClick:o,children:l??"×"}):n.jsx("span",{}),n.jsxs("div",{className:ee.sortableItemBody,ref:u,children:[n.jsx("div",{}),t.icon,s]})]})}),ds="brstabbar",us="brstabitm",ms="brstab",fs="brstabF_L",hs="brstabins",gs="brstabwrp",ps="brsdrg",xs="brsdragOver",te={tabbar:ds,tabitem:us,tabitemIcon:ms,tabitemLabel:fs,tabInsertIndicator:hs,tabWrapper:gs,dragging:ps,dragOver:xs},mt=c.memo(({items:e,onSelect:t,tabIndex:s,defaultSelected:r})=>{const[a,l]=c.useState(()=>r??0),u=c.useCallback((o,i)=>{t(o,i),l(i)},[t]);return n.jsx("nav",{className:te.tabbar,tabIndex:s,children:n.jsx("ul",{className:te.tabs,children:e.map((o,i)=>n.jsx(bs,{item:o,tabIndex:i,onSelect:u,selected:i===a},i))})})});mt.displayName="TabBar";const bs=c.memo(({tabIndex:e,item:t,onSelect:s,selected:r})=>{const a=c.useCallback(l=>{l.preventDefault(),s(t,e)},[s,t,e]);return n.jsx("li",{className:te.tabitem,"data-selected":r,children:n.jsxs("a",{tabIndex:e,onClick:a,children:[n.jsx("div",{className:te.tabitemIcon,children:t.icon}),n.jsx("span",{className:te.tabitemLabel,children:t.value})]})})}),ys="blcmark",vs={mark:ys},U=({direction:e,size:t})=>{const s=d.useMemo(()=>{const r="1em";return{width:t??r,height:t??r}},[t]);return n.jsx("i",{className:vs.mark,"data-direction":e??"down",role:"decoration",style:s,children:n.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:n.jsx("polyline",{points:"6 9 12 15 18 9"})})})};U.displayName="ChevronMark";const js="brsinp",ws="brsbtn",Ns="brspuldowmar",ks="brslbl",Cs="brspullDown",Is="brstitle",Ss="brsbody",Rs="brschild",Ms="brssep",$s="brswithico",Ls="brsico",Ds="brstbr",Ts="brssegcon",As="brssegment",O={input:js,button:ws,pullDownMark:Ns,label:ks,pullDown:Cs,title:Is,body:Ss,child:Rs,separator:Ms,withIcon:$s,icon:Ls,toolbar:Ds,segmentControl:Ts,segment:As},$e=({size:e,className:t})=>n.jsx("svg",{className:t,stroke:"currentColor",fill:"currentColor",strokeWidth:"0",width:e,height:e,viewBox:"0 0 512 512",xmlns:"http://www.w3.org/2000/svg",children:n.jsx("path",{d:"M456.69 421.39 362.6 327.3a173.81 173.81 0 0 0 34.84-104.58C397.44 126.38 319.06 48 222.72 48S48 126.38 48 222.72s78.38 174.72 174.72 174.72A173.81 173.81 0 0 0 327.3 362.6l94.09 94.09a25 25 0 0 0 35.3-35.3zM97.92 222.72a124.8 124.8 0 1 1 124.8 124.8 124.95 124.95 0 0 1-124.8-124.8z"})});$e.displayName="SearchIcon";const Le=d.forwardRef(({children:e,variant:t,...s},r)=>{const a=s.as??"button";return n.jsxs(a,{className:O.button,"data-variant":t,...s,ref:r,children:[e,t==="combobox"&&n.jsx("i",{className:O.pullDownMark,role:"none",children:n.jsx(U,{})})]})});Le.displayName="PushButton";const le=d.forwardRef(({variant:e,...t},s)=>n.jsxs("div",{className:O.button,"data-variant":e,children:[n.jsx("select",{...t,ref:s,children:t.children}),n.jsx("div",{role:"none",className:O.pullDownMark,children:n.jsx(U,{})})]}));le.displayName="PullDown";const De=e=>n.jsx(le,{...e,variant:"popup"});De.displayName="PopUpButton";const Te=e=>n.jsx(le,{...e,variant:["combobox",e.variant].join(" ")});Te.displayName="ComboBox";const ye=d.memo(d.forwardRef(({children:e,variant:t,...s},r)=>n.jsx("input",{className:O.input,type:s.type??"text",...s,ref:r,"data-vatiant":t,children:e})));ye.displayName="InputField";const Ae=e=>n.jsxs("div",{className:O.withIcon,children:[n.jsx("i",{className:O.icon,children:n.jsx($e,{size:17})}),n.jsx(ye,{...e,type:"search",placeholder:e.placeholder??"Search..."})]});Ae.displayName="SearchField";const Ee=d.memo(({title:e,subTitle:t,children:s})=>n.jsxs("div",{className:O.title,children:[s,e&&n.jsx("strong",{children:e}),t&&n.jsx("small",{children:t})]}));Ee.displayName="Title";const Oe=d.forwardRef(({children:e,...t},s)=>n.jsx("div",{className:O.body,...t,ref:s,children:d.Children.map(e,(r,a)=>n.jsx("div",{className:O.child,children:r},a))}));Oe.displayName="Body";const ft=d.memo(()=>n.jsx("hr",{className:O.separator,role:"separator"})),ve=d.memo(({onClick:e,index:t,isActive:s,children:r})=>{const a=d.useCallback(()=>{e(t)},[t,e]);return n.jsx("div",{className:O.segment,"data-is-active":s,onClick:a,children:r})});ve.displayName="Segment";const Pe=d.memo(({items:e,defaultSelected:t=0,onSelect:s,children:r})=>{const[a,l]=d.useState(t),u=Ce(a);d.useEffect(()=>{typeof u>"u"||!s||u===a||s(a)},[a]);const o=d.useMemo(()=>r?d.Children.toArray(r):e??[],[r,e]);return n.jsx("div",{className:O.segmentControl,children:o.map((i,f)=>n.jsx(ve,{index:f,onClick:l,isActive:a===f,children:i},f))})});Pe.displayName="SegmentedControl";const Be=()=>n.jsx("div",{});Be.displayName="Spacer";const L=({children:e,style:t})=>n.jsx("div",{className:O.toolbar,role:"toolbar",style:t,children:e});L.displayName="Toolbar";const Es={SegmentedControl:Pe,Toolbar:L,SearchField:Ae,InputField:ye,Separator:ft,PushButton:Le,PullDown:le,Title:Ee,Body:Oe,Segment:ve,ComboBox:Te,PopUpButton:De,Spacer:Be};L.SegmentedControl=Pe;L.Toolbar=L;L.SearchField=Ae;L.InputField=ye;L.Separator=ft;L.PushButton=Le;L.PullDown=le;L.Title=Ee;L.Body=Oe;L.Segment=ve;L.ComboBox=Te;L.PopUpButton=De;L.Spacer=Be;const Os="blcico",Ps={icon:Os},ht=c.memo(({src:e,width:t,height:s,size:r})=>{const a=c.useMemo(()=>{const l=e.match(/-([a-zA-Z]+)$/);return l?l[1]:null},[e]);return n.jsx("i",{"data-fa":!0,className:Ps.icon,"data-icon":e,"data-postfix":a,style:{width:t,height:s,fontSize:r??t}})});ht.displayName="Icon";const Fe=c.memo(({children:e,size:t})=>n.jsx("svg",{stroke:"currentColor",fill:"currentColor",strokeWidth:"0",width:t,height:t,viewBox:"0 0 256 256",xmlns:"http://www.w3.org/2000/svg",children:e})),Bs=c.memo(({size:e})=>n.jsx(Fe,{size:e,children:n.jsx("path",{d:"M203.6,73.72c5.84-5.88,5.84-15.42,0-21.31-5.84-5.88-15.3-5.88-21.14,0l-54.47,53.65-54.47-53.05c-5.84-5.88-15.3-5.88-21.14,0-5.84,5.88-5.84,15.42,0,21.31l54.49,53.03-54.49,54.93c-5.84,5.88-5.84,15.42,0,21.31,5.84,5.88,15.3,5.88,21.14,0l54.47-54.95,54.49,54.93c5.84,5.88,15.3,5.88,21.14,0,5.84-5.88,5.84-15.42,0-21.31l-54.51-54.91,54.49-53.63Z"})})),Fs=c.memo(({size:e})=>n.jsx(Fe,{size:e,children:n.jsx("rect",{x:"29.34",y:"113.16",width:"198.32",height:"30.68",rx:"15.34",ry:"15.34"})})),gt=({size:e})=>n.jsx(Fe,{size:e,children:n.jsx("path",{d:"M231.6,56.14c6,6,6,15.75,0,21.76l-122.96,122.96c-6,6-15.75,6-21.76,0l-61.48-61.48c-6-6-6-15.75,0-21.76,6-6,15.75-6,21.76,0l50.62,50.57,112.1-112.05c6-6,15.75-6,21.76,0h-.05Z"})});gt.displayName="Checkmark";const Hs="cntrsz",zs={resizer:Hs},pt=({autoplace:e=!0,onResize:t,originX:s,originY:r,max:a,min:l,step:u})=>{const o=d.useRef(null),i=d.useMemo(()=>({x:s??.5,y:r??.5}),[s,r]),f=d.useCallback(p=>{p.type!=="pointerdown"&&t(qs(p.deltaX,p.deltaY,i.x,i.y),p.isFinal)},[a,l,u,i]);re.useObservePointer(o,f);const h=d.useMemo(()=>{if(e){const p=Math.atan2(i.y,i.x),g=["ew","nwse","ns","nesw","ew","nwse","ns","nesw"],b=Math.round(p/(Math.PI/4)),m=`${g.at(b)}-resize`,x=(i.x+1)/2,y=(i.y+1)/2;return{top:`${x*100}%`,left:`${y*100}%`,cursor:m,content:`${p}`}}return{}},[e,i]);return n.jsx("div",{className:zs.resizer,ref:o,style:h})};pt.displayName="Resizer";const qs=(e,t,s,r)=>({x:s,y:r,width:e,height:t}),Us="cntsegcon",Vs="cntseg",Ws="cntind",J={segmentControl:Us,segmentButton:Vs,indicator:Ws},Xs="cntsegment",Zs={segment:Xs},xt=c.memo(({children:e})=>n.jsx("div",{className:Zs.segment,children:e})),bt=(e=!1)=>{const[t,s]=c.useState(e),r=c.useCallback(()=>{s(a=>!a)},[]);return[t,r,s]},yt=c.memo(({items:e,selectedIndex:t,defaultSelected:s=0,onSelect:r,element:a=xt,controlled:l=!1,onPositionChange:u,onDragStart:o,onDragEnd:i,onDragPreview:f})=>{const[h,p]=c.useState(s),[g,b]=c.useState({}),m=c.useRef(null),[x,y]=c.useState(!1),[v,j]=c.useState(null),[w,S]=c.useState(null),I=l?t??s:h,C=x&&w!==null?w:I,$=c.useCallback(k=>{l||p(k),r==null||r(k)},[l,r]),T=c.useCallback(k=>{if(!(k.target instanceof HTMLButtonElement))return;const M=parseInt(k.target.dataset.index??"0");$(M)},[$]),H=c.useCallback(k=>{if(!(k.target instanceof HTMLButtonElement))return;const M=parseInt(k.target.dataset.index??"0");M===I&&(y(!0),j(M),S(M),o==null||o(M),k.currentTarget.setPointerCapture(k.pointerId))},[I,o]),z=c.useCallback(k=>{if(!x||!m.current)return;const M=m.current.getBoundingClientRect(),we=k.clientX-M.left,F=Array.from(m.current.children).filter(q=>q.classList.contains(J.segmentButton));let Z=v;for(let q=0;q<F.length;q++){const Ye=F[q].getBoundingClientRect(),un=Ye.left-M.left,mn=Ye.right-M.left;if(we>=un&&we<=mn){Z=q;break}}Z!==null&&Z!==w&&(S(Z),f==null||f(Z))},[x,v,w,f]),_=c.useCallback(k=>{if(!x)return;k.currentTarget.releasePointerCapture(k.pointerId);const M=w!==null?w:I;w!==null&&w!==I&&$(w),i==null||i(M),y(!1),j(null),S(null)},[x,w,I,$,i]),A=c.useCallback(k=>{if(!m.current)return;const M=Array.from(m.current.children).filter(Ge=>Ge.classList.contains(J.segmentButton));if(M.length===0||k>=M.length)return;const F=M[k].getBoundingClientRect(),Z=m.current.getBoundingClientRect(),q={top:F.top-Z.top,left:F.left-Z.left,width:F.width,height:F.height};b(q),u&&u({...q,x:F.x,y:F.y,right:F.right,bottom:F.bottom})},[u]);c.useEffect(()=>{A(C)},[C,A]),c.useEffect(()=>{if(!m.current)return;const k=new ResizeObserver(()=>{A(C)});return k.observe(m.current),()=>{k.disconnect()}},[C,A]);const X=c.useCallback(k=>{if(k.target instanceof HTMLButtonElement){if(!(k.target.dataset.index===C.toString()))return;ue(!0)}},[C]),de=c.useCallback(k=>{if(k.target instanceof HTMLButtonElement){if(!(k.target.dataset.index===C.toString()))return;ue(!1)}},[C]),[N,D,ue]=bt(!1);return n.jsxs("div",{className:J.segmentControl,ref:m,children:[e.map((k,M)=>n.jsx(_s,{index:M,active:M===C,onClick:T,focus:X,blur:de,onPointerDown:H,onPointerMove:z,onPointerUp:_,onPointerCancel:_,children:n.jsx(a,{children:k})},M)),g&&g.left!==void 0&&n.jsx("div",{className:J.indicator,role:"presentation","data-focus":N,style:{transform:`translate(${g.left}px, ${g.top}px) scale(${N?.97:1})`,width:g.width,height:g.height},children:e.at(C)})]})});yt.displayName="SegmentedControl";const _s=({children:e,index:t,active:s,onClick:r,focus:a,blur:l,onPointerDown:u,onPointerMove:o,onPointerUp:i,onPointerCancel:f})=>{const h=c.useCallback(m=>{a(m),u==null||u(m)},[a,u]),p=c.useCallback(m=>{l(m),i==null||i(m)},[l,i]),g=c.useCallback(m=>{l(m),f==null||f(m)},[l,f]),b=c.useCallback(m=>{m.currentTarget.hasPointerCapture(m.pointerId)||l(m)},[l]);return n.jsx("button",{onClick:r,type:"button","data-index":t,"data-active":s,className:J.segmentButton,onPointerDown:h,onPointerMove:o,onPointerUp:p,onPointerCancel:g,onPointerLeave:b,style:{touchAction:"none"},children:e})},Gs="lmnheading",Ys="lmndetails",Qs="lmnsummary",Ks="lmnarticle",Js="lmnsection",er="lmnnav",tr="lmnmain",nr="lmnhdr",sr="lmnftr",rr="lmnaside",ar="lmnaddress",or="lmnblo",cr="lmnfigure",lr="lmnfig",ir="lmnpre",dr="lmndiv",ur="lmnlbl",mr="lmnmarker",fr="lmndes",hr="lmncard",gr="lmnhzrule",pr="lmnimg",xr="lmna",R={heading:Gs,details:Ys,summary:Qs,article:Ks,section:Js,nav:er,main:tr,header:nr,footer:sr,aside:rr,address:ar,blockquote:or,figure:cr,figcaption:lr,pre:ir,div:dr,label:ur,marker:mr,descriptions:fr,card:hr,horizontalrule:gr,image:pr,a:xr},br={1:"h1",2:"h2",3:"h3",4:"h4",5:"h5",6:"h6"},V=c.memo(c.forwardRef(({level:e,children:t,...s},r)=>{const a=br[e]??"h3";return c.createElement(a,{...s,ref:r,className:R.heading},t)}));V.displayName="Heading";const yr=c.forwardRef((e,t)=>n.jsx(V,{level:1,...e,ref:t})),vr=c.forwardRef((e,t)=>n.jsx(V,{level:2,...e,ref:t})),jr=c.forwardRef((e,t)=>n.jsx(V,{level:3,...e,ref:t})),wr=c.forwardRef((e,t)=>n.jsx(V,{level:4,...e,ref:t})),Nr=c.forwardRef((e,t)=>n.jsx(V,{level:5,...e,ref:t})),kr=c.forwardRef((e,t)=>n.jsx(V,{level:6,...e,ref:t})),Cr="frmbtn",Ir={button:Cr},ae=c.memo(c.forwardRef(({children:e,color:t,quiet:s,size:r,variant:a,rounded:l,...u},o)=>{const i=c.useMemo(()=>[a,r,l?"rounded":"",t,u["data-variant"]].filter(Boolean).join(" ").trim(),[a,r,l,t]),f=rt.classNames(Ir.button,u.className);return n.jsx("button",{...u,ref:o,className:f,"data-variant":i,children:e})}));ae.displayName="Button";const Sr="dlgctnX-K",Rr="dlgdes",Mr="dlgtitle",$r="dlgbtngrp",ne={content:Sr,description:Rr,title:Mr,buttonGroup:$r},xe=({actions:e,onSelect:t,isLoading:s,children:r,title:a,error:l,description:u,direction:o,...i})=>{const f=c.useCallback(h=>{h.stopPropagation(),h.preventDefault();const p=h.currentTarget.getAttribute("data-action");!p||!t||t(p)},[]);return n.jsx(oe,{...i,variant:"alert",children:n.jsxs("div",{className:ne.content,"data-is-loading":s,children:[a&&n.jsx(V,{level:3,children:a}),u&&n.jsx("p",{className:ne.description,children:u}),l&&n.jsxs("p",{children:[n.jsx("strong",{children:l.name}),l.message,Lr(l)&&n.jsxs(n.Fragment,{children:["Caused by: ",l.cause.message]})]}),r,n.jsx("div",{className:ne.buttonGroup,"data-direction":o,children:e==null?void 0:e.map((h,p)=>n.jsx(ae,{onClick:f,"data-action":h.key,type:"button",disabled:s,variant:`alert ${h.variant??""}`.trim(),children:h.value},p))})]})})};xe.displayName="Alert";const Lr=e=>e instanceof Error?e.hasOwnProperty("cause"):!1,Dr="dlgbase",Tr="dlgcnt",Ar="dlgdec",Er="dlgbody",Or="dlgctnvg-",Pr="dlgblowout",Br="dlgfitbox",G={base:Dr,container:Tr,decoration:Ar,body:Er,content:Or,blowout:Pr,fitbox:Br},Fr=(e,t,s,r,a,l=0)=>(e+=l/2,t+=l/2,s-=l,r-=l,[`M ${e+a} ${t}`,`H ${e+s-a}`,`Q ${e+s} ${t} ${e+s} ${t+a}`,`V ${t+r-a}`,`Q ${e+s} ${t+r} ${e+s-a} ${t+r}`,`H ${e+a}`,`Q ${e} ${t+r} ${e} ${t+r-a}`,`V ${t+a}`,`Q ${e} ${t} ${e+a} ${t}`,"Z"].join(" ").replace(/\s+/g," ").replace(/\n/g,"")),Hr=({x:e,y:t,width:s,height:r,lookAtX:a,lookAtY:l,rx:u=10,shadowMargin:o=40,chevronSize:i=16})=>{const f=s/2,h=r/2,p=e+f,g=t+h,b=Math.atan2(l-g,a-p);let m=Math.min(Math.max(a-p,-f),f),x=Math.min(Math.max(l-g,-h),h);const y=u*2;((S,I)=>{const C=Math.abs(S)-f,$=Math.abs(I)-h;return C*C+$*$<y*y})(m,x)&&(Math.floor(4*(b%(Math.PI*2)/(Math.PI*2)))%2===0?(m=Math.min(Math.max(m,-f),f),x=Math.min(Math.max(x,-h+y),h-y)):(m=Math.min(Math.max(m,-f+y),f-y),x=Math.min(Math.max(x,-h),h)));const j={x:Math.min(Math.max(m,-f),f)+s/2-i/2,y:Math.min(Math.max(x,-h),h)+r/2-i/2},w=(()=>{const S=j.y<0,I=j.x<0,C=j.x>s-i;return j.y>r-i?0:S?2:I?3:C?1:0})();return{arrowSnapPoint:j,angle:w}},zr=({width:e,height:t,x:s,y:r,lookAtX:a,lookAtY:l,rx:u=10,shadowMargin:o=40,chevronSize:i=16})=>{const f=[s,r,e,t,a,l,u,o,i],h=d.useMemo(()=>{const{arrowSnapPoint:g,angle:b}=Hr({x:s,y:r,width:e,height:t,lookAtX:a,lookAtY:l,rx:u,shadowMargin:o,chevronSize:i});return n.jsx(n.Fragment,{children:n.jsx("g",{transform:`translate(${g.x}, ${g.y})`,children:n.jsxs("g",{transform:`translate(8, 8) rotate(${b*90}) translate(-8, -8)`,children:[n.jsx("rect",{x:"0",y:"0",width:"16",height:"16",fill:"transparent"}),n.jsx("g",{transform:"translate(-15, 16)",children:n.jsx("path",{d:"M7,-8.105 L10.3641716,-8.105 C12.6069526,-8.105 14.569386,-7.41371956 16.2514718,-6.03115868 C18.7746005,-3.95731736 19.6156434,-2.9203967 21.2977292,-1.1921956 C22.979815,0.536005499 23.8208579,0.536005499 25.5029437,-1.1921956 C27.1850294,-2.9203967 28.8671152,-4.6485978 30.549201,-6.03115868 C32.2312868,-7.41371956 33.0723297,-8.105 37.2775442,-8.105 C40.0810205,-8.105 41.4827586,-8.105 41.4827586,-8.105 L7,-8.105 Z"})})]})})})},f),p=d.useId();return n.jsxs("svg",{style:{position:"absolute",left:-o,top:-o,width:e+o*2,height:t+o*2},viewBox:`${-o} ${-o} ${e+o*2} ${t+o*2}`,version:"1.1",xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink",children:[n.jsx("defs",{children:n.jsxs("filter",{x:"-26.9%",y:"-32.0%",width:"161.5%",height:"164.0%",filterUnits:"objectBoundingBox",id:p,children:[n.jsx("feOffset",{dx:"0",dy:"0",in:"SourceAlpha",result:"shadowOffsetOuter1"}),n.jsx("feGaussianBlur",{stdDeviation:"1.5",in:"shadowOffsetOuter1",result:"shadowBlurOuter1"}),n.jsx("feColorMatrix",{values:"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.55 0",type:"matrix",in:"shadowBlurOuter1",result:"shadowMatrixOuter1"}),n.jsx("feOffset",{dx:"8",dy:"0",in:"SourceAlpha",result:"shadowOffsetOuter2"}),n.jsx("feGaussianBlur",{stdDeviation:"20",in:"shadowOffsetOuter2",result:"shadowBlurOuter2"}),n.jsx("feColorMatrix",{values:"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25 0",type:"matrix",in:"shadowBlurOuter2",result:"shadowMatrixOuter2"}),n.jsxs("feMerge",{children:[n.jsx("feMergeNode",{in:"shadowMatrixOuter1"}),n.jsx("feMergeNode",{in:"shadowMatrixOuter2"})]})]})}),n.jsx("g",{fillRule:"evenodd",stroke:"none",strokeWidth:"1",children:n.jsxs("g",{style:{mixBlendMode:"multiply"},children:[n.jsxs("g",{fill:"var(--textColor)",fillOpacity:"1",filter:`url(#${p})`,children:[n.jsx(Ke,{x:0,y:0,rx:u,width:e,height:t}),h]}),n.jsxs("g",{fill:"var(--windowBackgroundColor)",filter:"var(--dialogBackgroundFilter)",children:[n.jsx(Ke,{x:0,y:0,rx:u,width:e,height:t}),h]})]})})]})},Ke=({x:e,y:t,width:s,height:r,rx:a})=>{const l=Fr(e,t,s,r,a??0);return n.jsx("path",{d:l})},vt=({open:e=!0,onClose:t,children:s,measure:r,render:a})=>{const l=d.useRef(null),[u]=re.useMeasure(l),o=d.useMemo(()=>{if(typeof window>"u")return{x:0,y:0,overflowX:0,overflowY:0,width:0,height:0};const g={x:window.scrollX,y:window.scrollY,width:window.innerWidth,height:window.innerHeight},b={width:Math.min(g.width,320),height:Math.min(g.height,240)},m={x:(r.x<(g.width+g.x)/2,r.x),y:r.y<(g.height+g.y)/2?r.y:r.y-b.height-r.height,width:b.width,height:b.height},x=m.x+m.width,y=m.x,v=Math.max(x-g.width,0),j=Math.min(y,0);m.x+=-v+j;const w=m.y,S=m.y+m.height,I=Math.max(S-g.height,0),C=Math.min(w,0);return m.y+=-I+C,m.y<(g.y+g.height)/2&&(m.y+=r.height),m},[r,u]),[i,f]=Se({onClose:t}),h=d.useRef(null),p={x:r.x+r.width/2,y:r.y+r.height/2};return n.jsxs(n.Fragment,{children:[n.jsx("i",{ref:h}),n.jsx(Re,{parentNode:h.current,children:n.jsx("div",{className:G.base,"data-open":e,style:{pointerEvents:e?"auto":"none"},children:n.jsx("div",{className:G.container,ref:i,children:n.jsxs("div",{className:G.body,style:{width:o.width,height:o.height,transform:`translate(${o.x}px, ${o.y}px)`},children:[n.jsx("div",{className:G.decoration,children:n.jsx(zr,{width:o.width,height:o.height,x:o.x,y:o.y,lookAtX:p.x,lookAtY:p.y})}),n.jsx("div",{className:G.content,ref:f,children:n.jsxs("div",{ref:l,className:G.fitbox,children:[s,a&&a(o)]})})]})})})})]})};vt.displayName="ContextualMenu";const qr=e=>{const[t,s]=ts(e??!1),r=d.useRef(null),[a,l]=re.useMeasure(r);return d.useEffect(()=>{l()},[t]),[r,t,s,a]},jt=({open:e=!0,onClose:t,children:s,potal:r=!0})=>n.jsx(oe,{open:e,onClose:t,potal:r,children:n.jsx("section",{className:ot.content,children:s})});jt.displayName="Modal";const Ur="frmradio",Vr={radio:Ur},Wr="frmchk",Xr="frmbase",Zr="frmmark",ge={checkbox:Wr,base:Xr,mark:Zr};function _r(e){if(!e||typeof e!="string")return!1;const t=e.replace(/^data:[^;]*;base64,/,"");if(t.length===0||!/^[A-Za-z0-9+/]*={0,2}$/.test(t)||t.length%4!==0)return!1;try{return atob(t),!0}catch{return!1}}function Gr(e,t){if(!e||typeof e!="string")return!1;const s=e.trim();if(s.length===0)return!1;try{const r=new URL(s);return["http:","https:","ftp:","ftps:"].includes(r.protocol)?!0:(t==null||t.requireProtocol,!1)}catch{return!1}}const wt=()=>{const e=c.useRef(new Set),t=c.useCallback(a=>{const l=URL.createObjectURL(a);return e.current.add(l),l},[]),s=c.useCallback(a=>{e.current.has(a)&&(URL.revokeObjectURL(a),e.current.delete(a))},[]),r=c.useCallback(()=>{e.current.forEach(a=>URL.revokeObjectURL(a)),e.current.clear()},[]);return c.useEffect(()=>()=>{e.current.forEach(a=>URL.revokeObjectURL(a)),e.current.clear()},[]),{createObjectURL:t,revokeObjectURL:s,revokeAllObjectURLs:r,get activeURLCount(){return e.current.size}}},me={en:{clickToSelect:"Click to select files",orDragAndDrop:"or drag and drop",dropFilesHere:"Drop files here"},ja:{clickToSelect:"ファイルを選択",orDragAndDrop:"またはドラッグ&ドロップ",dropFilesHere:"ファイルをここにドロップ"},es:{clickToSelect:"Haz clic para seleccionar archivos",orDragAndDrop:"o arrastra y suelta",dropFilesHere:"Suelta los archivos aquí"},fr:{clickToSelect:"Cliquez pour sélectionner des fichiers",orDragAndDrop:"ou glissez-déposez",dropFilesHere:"Déposez les fichiers ici"},de:{clickToSelect:"Klicken Sie, um Dateien auszuwählen",orDragAndDrop:"oder ziehen und ablegen",dropFilesHere:"Dateien hier ablegen"},ko:{clickToSelect:"파일 선택하기",orDragAndDrop:"또는 드래그 앤 드롭",dropFilesHere:"파일을 여기에 드롭하세요"},"zh-CN":{clickToSelect:"点击选择文件",orDragAndDrop:"或拖拽上传",dropFilesHere:"将文件拖拽到这里"},"zh-TW":{clickToSelect:"點擊選擇檔案",orDragAndDrop:"或拖曳上傳",dropFilesHere:"將檔案拖曳到這裡"}},Nt=e=>{const t=c.useMemo(()=>{if(e)return e;if(typeof window>"u")return"en";const r=navigator.language;if(me[r])return r;const a=r.split("-")[0];return me[a]?a:"en"},[e]),s=me[t]||me.en;return{locale:t,messages:s,getSelectText:r=>r?s.dropFilesHere:`${s.clickToSelect} ${s.orDragAndDrop}`}},Yr="cimed",Qr="cimediaprv",Kr="cispin",Je={mediaPreviewContainer:Yr,mediaPreview:Qr,spin:Kr},Ie=c.memo(({src:e,alt:t="Media preview",maxWidth:s=256,maxHeight:r=256,minWidth:a=64,minHeight:l=64,aspectRatioRange:u={min:.25,max:4},onLoad:o,onError:i,className:f})=>{const h=c.useCallback(g=>{const b=g.currentTarget,{naturalWidth:m,naturalHeight:x}=b;if(m===0||x===0){i==null||i();return}o==null||o()},[o,i]),p=c.useMemo(()=>({"--max-width":`${s}px`,"--max-height":`${r}px`,"--min-width":`${a}px`,"--min-height":`${l}px`,"--aspect-ratio-min":u.min.toString(),"--aspect-ratio-max":u.max.toString()}),[s,r,a,l,u]);return n.jsx("div",{className:`${Je.mediaPreviewContainer} ${f||""}`,style:p,children:n.jsx("img",{src:e,alt:t,className:Je.mediaPreview,onLoad:h,onError:i,loading:"lazy"})})}),Jr=e=>e.startsWith("/")||e.startsWith("."),kt=c.memo(c.forwardRef(({defaultValue:e,value:t,variant:s="preview",maxPreviewWidth:r=96,maxPreviewHeight:a=96,minPreviewWidth:l=48,minPreviewHeight:u=48,aspectRatioRange:o={min:.25,max:4},locale:i,...f},h)=>{const[p,g]=c.useState(!1),[b,m]=c.useState([]),[x,y]=c.useState(!1),{createObjectURL:v,revokeAllObjectURLs:j}=wt(),{getSelectText:w}=Nt(i),S=c.useMemo(()=>{var N;return(N=f.accept)==null?void 0:N.split(",").some(D=>D.trim().startsWith("image"))},[f.accept]),I=c.useMemo(()=>{if(typeof e=="string"&&(Jr(e)||Gr(e)||_r(e)))return e},[e]),C=c.useMemo(()=>b.map(v),[b,v]),$=c.useCallback(N=>{if(!N||N.length===0)return m([]),g(!1),j(),[];const D=Array.from(N);return j(),m(D),g(!0),D},[j]),T=c.useCallback(N=>{var D;N.target instanceof HTMLInputElement&&($(N.target.files),(D=f.onChange)==null||D.call(f,N))},[f.onChange,$]),H=c.useCallback(N=>{N.preventDefault(),N.stopPropagation(),y(!0)},[]),z=c.useCallback(N=>{N.preventDefault(),N.stopPropagation(),N.currentTarget.contains(N.relatedTarget)||y(!1)},[]),_=c.useCallback(N=>{N.preventDefault(),N.stopPropagation()},[]),A=c.useCallback(N=>{N.preventDefault(),N.stopPropagation(),y(!1);const D=N.dataTransfer.files;if($(D),f.onChange){const ue={target:{files:D},currentTarget:{files:D}};f.onChange(ue)}},[$,f.onChange]),X=b.length>0||!p&&I;return s==="preview"?n.jsxs("div",{className:`${B.mediaInput} ${x?B.mediaInputDragActive:""} ${X?B.mediaInputHasFiles:""}`,"data-variant":"preview",onDragEnter:H,onDragLeave:z,onDragOver:_,onDrop:A,children:[n.jsxs("div",{className:B.mediaInputPreview,children:[S&&C.map((N,D)=>n.jsx(Ie,{src:N,alt:`Selected file ${D+1}`,maxWidth:r,maxHeight:a,minWidth:l,minHeight:u,aspectRatioRange:o},`selected-${D}`)),!p&&I&&S&&n.jsx(Ie,{src:I,alt:"Current file",maxWidth:r,maxHeight:a,minWidth:l,minHeight:u,aspectRatioRange:o}),!X&&n.jsx("div",{className:B.mediaInputEmpty,children:w(x)})]}),!p&&n.jsx("input",{type:"hidden",name:f.name,defaultValue:e,value:t}),n.jsx("input",{type:"file",...f,name:p?f.name:void 0,onChange:T,ref:h,className:B.mediaInputFile,"aria-label":X?`${b.length} files selected`:"Select files"})]}):n.jsxs(n.Fragment,{children:[!p&&n.jsx("input",{type:"hidden",name:f.name,defaultValue:e,value:t}),n.jsx("input",{type:"file",...f,name:p?f.name:void 0,onChange:T,ref:h,className:B.input,"data-variant":"files"})]})})),ea="cibasezEm",ta="ciinpyTf",et={base:ea,input:ta},Q=(e,t)=>Array.isArray(e)||e==null?t:typeof e=="number"?e:typeof e!="string"?t:parseFloat(e),Ct=d.forwardRef(({value:e,defaultValue:t,...s},r)=>{const a=d.useRef(null),{min:l,max:u,step:o}=d.useMemo(()=>({min:Q(s.min,Number.MIN_SAFE_INTEGER),max:Q(s.max,Number.MAX_SAFE_INTEGER),step:typeof s.step>"u"?void 0:Q(s.step,1)}),[s.min,s.max,s.step]),[i,f]=d.useState(()=>Q(t,l)),h=d.useMemo(()=>e!==void 0?Q(e,l):i,[e,i]),[p]=re.useMeasure(a),g=d.useMemo(()=>(h-l)/(u-l),[h,l,u]),b=d.useCallback(x=>{var T,H;const y=(T=a.current)==null?void 0:T.getBoundingClientRect();if(!y)return;const j=(x.pageX-y.left)/y.width,w=l+(u-l)*j,S=typeof o=="number"?Math.round(w/o)*o:w,I=Math.min(Math.max(S,l),u),C=(H=a.current)==null?void 0:H.querySelector("input");if(!C||!(C instanceof HTMLInputElement))return;C.setAttribute("value",I.toString());const $=new Event("change",{bubbles:!0});C.dispatchEvent($),f(I)},[a,l,u,o,f,p]);re.useObservePointer(a,b),d.useEffect(()=>{var y;if(!a.current)return;const x=(y=a.current)==null?void 0:y.querySelector("input");!x||!(x instanceof HTMLInputElement)||x.setAttribute("value",h.toString())},[h]),d.useEffect(()=>{a.current&&a.current.style.setProperty("--progress",`${g}`)},[g]);const m=d.useMemo(()=>Math.round((u-l)/(o??1))<100?"stepped":"linear",[l,u,o]);return n.jsx("div",{className:et.base,ref:a,"data-variant":m,children:n.jsx("input",{type:"range",className:et.input,...s,ref:r})})});Ct.displayName="RangeInput";const na="cibase",sa="ciinp",ra="citgl",aa="ciknob",fe={base:na,input:sa,toggle:ra,knob:aa},It=d.forwardRef(({defaultValue:e,value:t,...s},r)=>n.jsxs("label",{className:fe.base,htmlFor:s.name,children:[n.jsx("input",{type:"checkbox",...s,ref:r,className:fe.input}),n.jsx("div",{className:fe.toggle,children:n.jsx("div",{className:fe.knob})})]}));It.displayName="SwitchInput";const tt=e=>{const t=new Date(e),s=t.getTimezoneOffset();return new Date(t.getTime()-s*60*1e3).toISOString().replace("Z","")},St=d.forwardRef(({children:e,...t},s)=>{const r=t.value&&tt(t.value.toString()),a=t.defaultValue&&tt(t.defaultValue.toString());return n.jsx("input",{type:t.type??"text",...t,value:r,defaultValue:a,ref:s,children:e})});St.displayName="DateTimeInput";const oa={text:B.input,password:B.input,checkbox:ge.checkbox,radio:Vr.radio},ie=c.forwardRef(({children:e,...t},s)=>{const r=t["aria-errormessage"],a=oa[t.type??"text"]??B.input,l=r?n.jsx("span",{className:B.errorLine,children:r}):n.jsx(n.Fragment,{});return n.jsxs(n.Fragment,{children:[n.jsx(ca,{...t,className:a,ref:s}),l]})});ie.displayName="Input";const ca=c.forwardRef(({children:e,className:t,...s},r)=>{const a=s["data-variant"];return s.type==="file"?n.jsx(kt,{...s,variant:a,ref:r}):s.type==="checkbox"&&(a==="switch"||s.switch==="true")?n.jsx(It,{...s,switch:"false",ref:r}):s.type==="range"?n.jsx(Ct,{...s,ref:r}):s.type==="datetime-local"?n.jsx(St,{type:s.type??"text",...s,ref:r,className:t,children:e}):s.type==="checkbox"?n.jsx(la,{...s,ref:r}):n.jsx("input",{type:s.type??"text",...s,ref:r,className:t,children:e})}),la=({indeterminate:e,...t})=>{const s=c.useRef(null);c.useEffect(()=>{if(!s.current||typeof e!="boolean")return;const a=s.current.querySelector("input");a&&(a.indeterminate=e)},[e]);const r=e?n.jsx(Fs,{}):n.jsx(gt,{});return n.jsxs("div",{role:"checkbox",className:ge.base,ref:s,children:[n.jsx("input",{type:t.type,...t,ref:t.ref,className:ge.checkbox,role:"presentation",checked:t.checked,defaultChecked:t.defaultChecked,"aria-checked":t.checked,children:t.children}),n.jsx("i",{className:ge.mark,role:"presentation",children:r})]})},ia="frmbtnlLD",da="frmlbl",ua="frmform",ma="frmprogressdTb",fa="frmmeter",ha="frmoutput",ga="frmoptgrp",pa="frmoption",xa="frmfieldset",ba="frmlegend",W={button:ia,label:da,form:ua,progress:ma,meter:fa,output:ha,optgroup:ga,option:pa,fieldset:xa,legend:ba},He=c.memo(c.forwardRef(({children:e,...t},s)=>{const r=rt.classNames(W.label,t.className);return n.jsx("label",{className:r,...t,ref:s,children:c.Children.map(e,a=>typeof a=="string"?n.jsx(Y,{children:a}):a)})}));He.displayName="Label";const Rt=({isLoading:e,onSelect:t,message:s,defaultValue:r,open:a,onClose:l,potal:u,onCancel:o})=>{const i=c.useCallback(f=>{if(f.preventDefault(),!(f.target instanceof HTMLFormElement))return;const h=f.target.querySelector('input[name="value"]');if(!(h instanceof HTMLInputElement))return;const p=h.value;t(p)},[t]);return n.jsx(oe,{open:a,onClose:l,potal:u,children:n.jsx("div",{className:ne.content,"data-is-loading":e,children:n.jsxs("form",{onSubmit:i,children:[n.jsx(He,{children:s}),n.jsx(ie,{defaultValue:r,name:"value"}),n.jsxs("div",{className:ne.buttonGroup,children:[n.jsx(ae,{onClick:o,type:"reset",disabled:e,variant:"alert",children:"Cancel"}),n.jsx(ae,{type:"submit",disabled:e,variant:"alert primary",children:"OK"})]})]})})})};Rt.displayName="Prompt";const ya=()=>{const[e,t]=d.useState([]),s=d.useCallback(i=>{t(f=>f.filter(h=>h.id!==i))},[t]),r=d.useCallback(async i=>new Promise((f,h)=>{t(p=>[...p,{type:"alert",id:Symbol("alert"),message:i,resolve:g=>{s(g),f(void 0)},reject:g=>{s(g),h()}}])}),[s]),a=d.useCallback(async i=>new Promise((f,h)=>{t(p=>[...p,{type:"confirm",id:Symbol("alert"),message:i,resolve:g=>{s(g),f(g)},reject:g=>{s(g),h()}}])}),[]),l=d.useCallback(async(i,f)=>new Promise((h,p)=>{t(g=>[...g,{type:"prompt",id:Symbol("alert"),defaultValue:f,message:i,resolve:(b,m)=>{s(b),h(m)},reject:b=>{s(b),p()}}])}),[]),u=d.Fragment;return{confirm:a,alert:r,prompt:l,Outlet:()=>n.jsx(u,{children:e.map(({id:i,type:f,title:h,message:p,defaultValue:g,resolve:b,reject:m},x)=>{switch(f){case"alert":return n.jsx(xe,{open:!0,mark:"alert",title:h,description:p,onSelect:y=>b(i),onClose:()=>b(i),actions:[{key:"confirm",value:"ok",variant:"primary"}]},x);case"confirm":return n.jsx(xe,{open:!0,mark:"alert",title:h,description:p,onSelect:y=>{y==="confirm"?b(i):m(i)},onClose:()=>m(i),actions:[{key:"confirm",value:"ok",variant:"primary"},{key:"dismiss",value:"Cancel"}]},x);case"prompt":return n.jsx(Rt,{open:!0,message:p??"",onSelect:y=>{b(i,y)},defaultValue:g,onClose:()=>m(i),onCancel:()=>m(i)},x)}return n.jsx(n.Fragment,{})})})}},Mt=({variant:e="elevated",clickable:t=!1,disabled:s=!1,className:r,style:a,...l})=>n.jsx("div",{className:`${R.card} ${r||""}`,"data-variant":e,"data-clickable":t,"data-disabled":s,tabIndex:t&&!s?0:void 0,role:t?"button":void 0,"aria-disabled":t&&s?!0:void 0,style:{...a,...t&&!s?{cursor:"pointer"}:{}},...l});Mt.displayName="Card";const va=ce,$t=({items:e,setItems:t,element:s})=>n.jsx(ce,{items:e,onChange:t,children:e.map((r,a)=>n.jsx(d.Fragment,{children:s(r,a)},r.id))});$t.displayName="SortableList";const ja="shrcon",wa="shrdropdown",Na="shrdrobot",ka="shrdroappbot",Ca="shrdrotop",Ia="shrdroapptop",Sa="shrsea",Ra="shrseazC3",Ma="shrseanCa",$a="shrconsea",La="shrnoopt",Da="shroptions",Ta="shroption",Aa="shropt",Ea="shroptcpL",Oa="shrchkemp",Pa="shroptczS",E={contextDialog:ja,dropdown:wa,dropdownBottom:Na,dropdownAppearBottom:ka,dropdownTop:Ca,dropdownAppearTop:Ia,searchHeader:Sa,searchInputContainer:Ra,searchIcon:Ma,contextSearchInput:$a,noOptions:La,options:Da,option:Ta,optionButton:Aa,optionCheckbox:Ea,checkboxEmpty:Oa,optionLabel:Pa},Lt=d.forwardRef(({isOpen:e,position:t,dialogPosition:s,options:r,selectedValues:a,multiple:l=!1,searchTerm:u,onSearchChange:o,onOptionToggle:i,onClose:f,searchPlaceholder:h="Search options...",noOptionsMessage:p="No options available",noMatchingMessage:g="No matching options found"},b)=>{const m=d.useRef(null);d.useEffect(()=>{const y=w=>{w.key==="Escape"&&e&&f()},v=b&&"current"in b?b.current:null,j=w=>{w.target===v&&f()};return v&&v.addEventListener("click",j),document.addEventListener("keydown",y),()=>{v&&v.removeEventListener("click",j),document.removeEventListener("keydown",y)}},[e,f,b]),d.useEffect(()=>{e&&m.current&&setTimeout(()=>{m.current&&m.current.focus()},50)},[e]);const x=d.useMemo(()=>u?r.filter(y=>y.label.toLowerCase().includes(u.toLowerCase())):r,[r,u]);return n.jsx("dialog",{ref:b,className:E.contextDialog,style:{top:`${s.top}px`,left:`${s.left}px`,width:`${s.width}px`},children:n.jsxs("div",{className:`${E.dropdown} ${E[`dropdown${t==="top"?"Top":"Bottom"}`]}`,children:[n.jsx("div",{className:E.searchHeader,children:n.jsxs("div",{className:E.searchInputContainer,children:[n.jsx($e,{size:14,className:E.searchIcon}),n.jsx("input",{ref:m,type:"text",value:u,placeholder:h,onChange:y=>o(y.target.value),className:E.contextSearchInput,autoComplete:"off",autoFocus:!0})]})}),x.length===0?n.jsx("div",{className:E.noOptions,children:u?g:p}):n.jsx("ul",{className:E.options,children:x.map((y,v)=>{const j=a.includes(y.value);return n.jsx("li",{className:E.option,children:n.jsxs("button",{type:"button",className:E.optionButton,onClick:()=>i(y.value),children:[l&&n.jsx("span",{className:E.optionCheckbox,children:j?n.jsx("span",{children:"✓"}):n.jsx("span",{className:E.checkboxEmpty})}),n.jsx("span",{className:E.optionLabel,children:y.label})]})},v)})})]})})});Lt.displayName="SelectDropdown";const Ba="shrselmar",Fa="shrsel",Ha="shrinpcnt shrsel0qy",za="shrctn",qa="shrmark shrselmarbiW",ke={selectMark:Ba,selectContainer:Fa,inputContainer:Ha,content:za,mark:qa},Dt=d.forwardRef(({children:e,onClick:t,disabled:s=!1,isOpen:r=!1,className:a},l)=>n.jsxs("div",{ref:l,className:`${ke.inputContainer} ${a||""}`,onClick:s?void 0:t,"data-disabled":s,children:[n.jsx("div",{className:ke.content,children:e}),n.jsx("div",{className:ke.mark,role:"presentation",children:n.jsx(U,{direction:r?"up":"down"})})]}));Dt.displayName="SelectInput";const Ua="shrtagseg",Va="shrtagtxt",Wa="shrtagrem",Xa="shrsinval",Za="shrpla",K={tagSegment:Ua,tagText:Va,tagRemove:Wa,singleValue:Xa,placeholder:Za},Tt=({selectedValues:e,getOptionLabel:t,onRemoveTag:s,placeholder:r="Select option...",multiple:a=!1,disabled:l=!1,renderSelected:u})=>{if(e.length===0)return n.jsx("span",{className:K.placeholder,children:r});if(!a&&e.length>0){const o=e[0];return n.jsx("span",{className:K.singleValue,children:u?u(o):t(o)})}return n.jsx(n.Fragment,{children:e.map((o,i)=>n.jsxs("span",{className:K.tagSegment,children:[n.jsx("span",{className:K.tagText,children:t(o)}),!l&&s&&n.jsx("button",{type:"button",className:K.tagRemove,onClick:f=>s(o,f),"aria-label":`Remove ${t(o)}`,children:"×"})]},i))})};Tt.displayName="SelectTags";const _a=({value:e,defaultValue:t,multiple:s=!1,disabled:r=!1,onChange:a})=>{const[l,u]=d.useState(()=>t),o=d.useMemo(()=>e!==void 0?e:l,[e,l]),i=d.useMemo(()=>s?Array.isArray(o)?o.map(String):o?[String(o)]:[]:o?[String(o)]:[],[o,s]),f=d.useCallback(p=>{if(r)return;let g;if(s){const b=Array.isArray(o)?o.map(String):o?[String(o)]:[];b.includes(p)?g=b.filter(m=>m!==p):g=[...b,p]}else g=p;u(g),a&&a(g)},[r,s,o,a]),h=d.useCallback((p,g)=>{if(r)return;g.stopPropagation();const m=(Array.isArray(o)?o.map(String):o?[String(o)]:[]).filter(x=>x!==p);u(m),a&&a(m)},[r,o,a]);return{currentValue:o,selectedValues:i,handleToggleOption:f,handleRemoveTag:h}},Ga=({onClose:e}={})=>{const[t,s]=d.useState(!1),[r,a]=d.useState(""),[l,u]=d.useState("bottom"),[o,i]=d.useState({top:0,left:0,width:0}),f=d.useRef(null),h=d.useRef(null),p=d.useCallback(()=>{if(!f.current)return{position:"bottom",dialogPos:{top:0,left:0,width:0}};const x=f.current.getBoundingClientRect(),y=window.innerHeight,v=200,j=y-x.bottom,w=x.top,S={top:j<v&&w>=v?x.top-v-8:x.bottom+4,left:x.left,width:x.width};return{position:j<v&&w>=v?"top":"bottom",dialogPos:S}},[]),g=d.useCallback(()=>{const{position:x,dialogPos:y}=p();u(x),i(y),s(!0),h.current&&h.current.showModal()},[p]),b=d.useCallback(()=>{h.current&&h.current.open&&h.current.close()},[]),m=d.useCallback(()=>{s(!1),a(""),e&&e()},[e]);return d.useEffect(()=>{const x=()=>{if(t&&f.current){const{position:v,dialogPos:j}=p();u(v),i(j)}},y=h.current;return y&&y.addEventListener("close",m),window.addEventListener("resize",x),window.addEventListener("scroll",x),()=>{y&&y.removeEventListener("close",m),window.removeEventListener("resize",x),window.removeEventListener("scroll",x)}},[t,p,m]),{isOpen:t,searchTerm:r,dropdownPosition:l,dialogPosition:o,containerRef:f,dialogRef:h,openDialog:g,closeDialog:b,setSearchTerm:a}},Ya=e=>d.isValidElement(e)&&e.type==="option",nt=e=>e===void 0?[]:Array.isArray(e)?[...e]:[e],Qa=({children:e,value:t,defaultValue:s,multiple:r=!0})=>{const a=t!==void 0,[l,u]=d.useState(()=>nt(a?t:s)),o=a?nt(t):l,i=d.useMemo(()=>d.Children.toArray(e).filter(Ya).map(m=>{var x;return{value:m.props.value,label:((x=m.props.children)==null?void 0:x.toString())||m.props.value}}),[e]),f=d.useCallback((b,m)=>{if(!r){u(m?[b]:[]);return}u(x=>m?[...x,b]:x.filter(y=>y!==b))},[r]),h=d.useCallback(b=>{u(b?i.map(m=>m.value):[])},[i]),p=o.length>0&&o.length<i.length,g=p?!1:o.length===i.length;return{options:i,selectedValues:o,handleToggleOption:f,handleToggleAll:h,isCheckedAll:g,isCheckedPartially:p}},Ka="frmcnt",Ja="frmhid",eo={container:Ka,hiddenInput:Ja},to=({value:e,defaultValue:t,name:s,list:r,renderSelected:a,placeholder:l="Select option...",multiple:u=!1,disabled:o=!1,onChange:i,...f})=>{const{currentValue:h,selectedValues:p,handleToggleOption:g,handleRemoveTag:b}=_a({value:e,defaultValue:t,multiple:u,disabled:o,onChange:i}),{isOpen:m,searchTerm:x,dropdownPosition:y,dialogPosition:v,containerRef:j,dialogRef:w,openDialog:S,closeDialog:I,setSearchTerm:C}=Ga(),$=d.useCallback(()=>{!m&&!o&&S()},[m,o,S]),T=d.useCallback(A=>{g(A),u||I()},[g,u,I]),{dataListElement:H,options:z}=no({list:r}),_=d.useCallback(A=>{var X;return((X=z==null?void 0:z.find(de=>de.value===A))==null?void 0:X.label)||A},[z]);return n.jsxs("div",{className:eo.container,ref:j,children:[n.jsx(Dt,{onClick:$,disabled:o,isOpen:m,children:n.jsx(Tt,{selectedValues:p,getOptionLabel:_,onRemoveTag:b,placeholder:l,multiple:u,disabled:o,renderSelected:a?A=>a(A,H==null?void 0:H.querySelector(`option[value="${A}"]`)):void 0})}),n.jsx(Lt,{ref:w,isOpen:m,position:y,dialogPosition:v,options:z||[],selectedValues:p,multiple:u,searchTerm:x,onSearchChange:C,onOptionToggle:T,onClose:I}),n.jsx("input",{type:"hidden",name:s,value:u?JSON.stringify(p):String(p[0]||"")})]})},no=({list:e})=>{const[t,s]=d.useState(),[r,a]=d.useState([]);return d.useEffect(()=>{if(!(window!=null&&window.document)||!e)return;const l=document.getElementById(e);if(!l||!(l instanceof HTMLDataListElement))return;s(l);const o=Array.from(l.options).map(i=>({value:i.value,label:i.label||i.textContent||i.value}));a(o)},[e]),{dataListElement:t,options:r}},so="frmclsbtn",ro={closeButton:so},ao=c.memo(c.forwardRef(({children:e,...t},s)=>n.jsx("button",{...t,ref:s,className:ro.closeButton,"aria-label":"Close",type:"button","data-variant":"close",children:n.jsx(Bs,{size:16})}))),oo="blctime",co={time:oo},st=e=>e==null?!1:typeof e=="number"?!0:typeof e=="string"?!isNaN(Date.parse(e)):e instanceof Date&&!isNaN(e.getTime()),At=c.memo(c.forwardRef((e,t)=>{const s=c.useMemo(()=>{if(e.type==="ulid")return typeof e.timestamp!="string"?void 0:io(e.timestamp);if(!e.timestamp)return;if(e.type==="unix"||e.type==="unixtime"){const l=typeof e.timestamp=="number"?e.timestamp:+e.timestamp;return new Date(l*1e3)}return st(e.timestamp)&&e.timestamp instanceof Date?e.timestamp:new Date(e.timestamp)},[e.timestamp,e.type]),r=c.useMemo(()=>{if(st(s)&&s instanceof Date){if(!e.format)return s.toLocaleString();const a={y:s.getFullYear(),M:s.getMonth()+1,d:s.getDate(),H:s.getHours(),m:s.getMinutes(),s:s.getSeconds()};return e.format.replace(/yyyy|MM|dd|HH|mm|ss|yy/g,l=>{const u=l.length,o=l.charAt(0),i=a[o];return typeof i>"u"?l:i.toString().padStart(u,"0")})}},[s,e.format]);return n.jsx("time",{className:co.time,...e,ref:t,children:n.jsx(Y,{children:r})})}));At.displayName="Time";const lo="0123456789ABCDEFGHJKMNPQRSTVWXYZ",io=e=>{let t=0;const s=e.substring(0,10).toUpperCase();for(let r=0;r<s.length;r++){const a=s.charAt(r),l=lo.indexOf(a),u=9-r;t+=Math.pow(32,u)*l}return new Date(t)},uo="lmnlist",mo="lmnlistitm",fo="lmnlis",ho="lmnlisare",go="lmnlischi",pe={list:uo,listItem:mo,listItemLabel:fo,listItemLabelArea:ho,listItemChildren:go},je=c.memo(c.forwardRef(({children:e,...t},s)=>n.jsx("ul",{className:pe.list,...t,ref:s,children:e}))),po=je;je.displayName="List";const Et=c.memo(c.forwardRef(({children:e,...t},s)=>n.jsx("li",{className:pe.listItem,...t,ref:s,children:n.jsx("div",{className:pe.listItemLabelArea,children:n.jsx("span",{className:pe.listItemLabel,children:e})})}))),xo=Et,Ot=c.memo(c.forwardRef(({children:e,...t},s)=>n.jsx("fieldset",{className:W.fieldset,...t,ref:s,children:e})));Ot.displayName="Fieldset";const Pt=c.memo(c.forwardRef((e,t)=>n.jsx("legend",{className:W.legend,ref:t,children:e.children}