@lattice-php/lattice 0.28.0 → 0.29.0

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.
@@ -44,7 +44,7 @@ import{i as e,t}from"./chunks/react-B8IZ02wI.js";import{a as n,i as r,n as i,o a
44
44
  If you want to hide the \`${t.titleName}\`, you can wrap it with our VisuallyHidden component.
45
45
 
46
46
  For more information, see https://radix-ui.com/primitives/docs/components/${t.docsSlug}`;return B.useEffect(()=>{e&&(document.getElementById(e)||console.error(n))},[n,e]),null},Jf=`DialogDescriptionWarning`,Yf=({contentRef:e,descriptionId:t})=>{let n=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${Kf(Jf).contentName}}.`;return B.useEffect(()=>{let r=e.current?.getAttribute(`aria-describedby`);t&&r&&(document.getElementById(t)||console.warn(n))},[n,e,t]),null},Xf=xf,Zf=Df,Qf=kf,$f=Nf,ep=Rf,tp=Bf,np=Hf,rp=ff(`fixed z-lt-modal w-full overflow-y-auto bg-lt-bg p-6 shadow-lt-lg`,{variants:{placement:{center:`left-1/2 top-1/2 max-h-[min(680px,calc(100vh-2rem))] -translate-x-1/2 -translate-y-1/2 rounded-lt border border-lt-border data-[state=open]:animate-lt-dialog-in data-[state=closed]:animate-lt-dialog-out`,start:`inset-y-0 start-0 border-e border-lt-border data-[state=open]:animate-lt-sheet-in-start data-[state=closed]:animate-lt-sheet-out-start`,end:`inset-y-0 end-0 border-s border-lt-border data-[state=open]:animate-lt-sheet-in-end data-[state=closed]:animate-lt-sheet-out-end`},width:{sm:`max-w-sm`,md:`max-w-md`,lg:`max-w-lg`,xl:`max-w-xl`,"2xl":`max-w-2xl`,"3xl":`max-w-3xl`}},defaultVariants:{placement:`center`,width:`lg`}});function ip(e){return(0,Y.jsx)(Xf,{"data-slot":`dialog`,...e})}function ap(e){return(0,Y.jsx)(np,{"data-slot":`dialog-close`,...e})}function op({className:e,...t}){return(0,Y.jsx)(ep,{className:J(`text-lg font-semibold leading-none tracking-tight`,e),"data-slot":`dialog-title`,...t})}function sp({className:e,...t}){return(0,Y.jsx)(tp,{className:J(`text-sm text-lt-muted-fg`,e),"data-slot":`dialog-description`,...t})}function cp({children:e,className:t,placement:n=`center`,width:r=`lg`,...i}){return(0,Y.jsxs)(Zf,{children:[(0,Y.jsx)(Qf,{className:`fixed inset-0 z-lt-overlay bg-lt-overlay data-[state=open]:animate-lt-fade-in data-[state=closed]:animate-lt-fade-out`,"data-slot":`dialog-overlay`}),(0,Y.jsx)($f,{className:J(rp({placement:n,width:r}),t),"data-slot":`dialog-content`,...i,children:e})]})}function lp({closeLabel:e,description:t,title:n}){return(0,Y.jsxs)(`div`,{className:`flex items-start justify-between gap-4`,children:[(0,Y.jsxs)(`div`,{className:`grid gap-2`,children:[(0,Y.jsx)(op,{children:n}),t?(0,Y.jsx)(sp,{children:t}):null]}),(0,Y.jsx)(ap,{asChild:!0,children:(0,Y.jsx)($,{"aria-label":e,"data-test":`dialog-close`,size:`icon`,emphasis:`ghost`,children:(0,Y.jsx)(X,{name:`x`,"aria-hidden":`true`,className:`size-lt-icon-md`})})})]})}function up({className:e,...t}){let{t:n}=W(`lattice`);return(0,Y.jsx)(X,{name:`loader-2`,role:`status`,"aria-label":n(`common.loading`,`Loading`),"aria-hidden":!1,className:J(`animate-spin`,e),...t})}function dp({title:e,description:t,confirmLabel:n,cancelLabel:r=`Cancel`,confirmVariant:i=null,confirmEmphasis:a=null,processing:o=!1,confirmDisabled:s=!1,onConfirm:c,onCancel:l}){let u=e=>{o&&e.preventDefault()};return(0,Y.jsx)(ip,{open:!0,onOpenChange:e=>{e||l()},children:(0,Y.jsxs)(cp,{...t?{}:{"aria-describedby":void 0},width:`md`,onEscapeKeyDown:u,onInteractOutside:u,children:[(0,Y.jsxs)(`div`,{className:`grid gap-2`,children:[(0,Y.jsx)(op,{children:e}),t&&(0,Y.jsx)(sp,{children:t})]}),(0,Y.jsxs)(`div`,{className:`mt-6 flex justify-end gap-2`,children:[(0,Y.jsx)($,{type:`button`,emphasis:`outline`,"data-test":`confirm-cancel`,disabled:o,onClick:l,children:r}),(0,Y.jsxs)($,{type:`button`,emphasis:a,variant:i,"data-test":`confirm-accept`,disabled:o||s,onClick:c,children:[o&&(0,Y.jsx)(up,{}),n]})]})]})})}async function fp(e,t){try{let n=await e();return t(b((await n.json().catch(()=>({}))).effects)),n.ok}catch(e){return _(e),!1}}function pp({className:e,...t}){return(0,Y.jsx)(`div`,{"aria-hidden":`true`,className:J(`animate-pulse rounded-lt-sm bg-lt-muted`,e),"data-slot":`skeleton`,...t})}var mp=(0,B.createContext)({action:`#`,clearErrors:()=>{},componentId:void 0,componentRef:``,errors:{},fieldIdPrefix:void 0,fieldLabels:{},precognitive:!1,processing:!1,touch:()=>{},validate:()=>{},validateFields:()=>{},validating:!1});function hp({children:e,value:t}){return(0,Y.jsx)(mp.Provider,{value:t,children:e})}function gp(){return(0,B.useContext)(mp)}var _p=(0,B.createContext)(null),vp=_p.Provider;function yp(){return(0,B.useContext)(_p)}var bp=new Set([`field.builder`,`field.repeater`]);function xp(e){return e.props}function Sp(e,t){for(let n of e??[])t(xp(n),n),Sp(n.schema,t)}function Cp(e){return e.split(`.`).filter(e=>e!==``)}function wp(e,...t){let n=t.map(String).filter(e=>e!==``);return[e??``,...n].filter(e=>e!==``).join(`.`)}function Tp(e){let[t,...n]=Cp(e);return n.reduce((e,t)=>`${e}[${t}]`,t??``)}function Ep(e,t){let n=e;for(let e of Cp(t)){if(n==null)return;n=n[e]}return n}function Dp(e){return e!==void 0&&/^\d+$/.test(e)?[]:{}}function Op(e,t,n){let r=Cp(t);if(r.length===0)return e;let i=(e,t)=>{let a=r[t],o=t===r.length-1,s=e&&typeof e==`object`?e:Dp(r[t+1]),c=Array.isArray(s)?[...s]:{...s};return c[a]=o?n:i(s[a],t+1),c};return i(e,0)}var kp=`rowId`;function Ap(e){return e.rowId?e:{...e,[kp]:crypto.randomUUID()}}function jp(e){return e.every(e=>!!e.rowId)?e:e.map(Ap)}function Mp(e,t){return Array.isArray(e)&&e.length>0?e.map(e=>e&&typeof e==`object`?{...e}:{}):Array.from({length:Math.max(0,t)},()=>({}))}function Np(e,t){return e.filter((e,n)=>n!==t)}function Pp(e,t){let n=e[t];if(!n)return e;let{[kp]:r,...i}=n;return[...e.slice(0,t+1),Ap(i),...e.slice(t+1)]}function Fp(e,t,n){let r=[...e],[i]=r.splice(t,1);return r.splice(n,0,i),r}function Ip(e){return typeof e.rowId==`string`?e[kp]:null}function Lp(e,t,n,r){return`${e}.${t??String(n)}.${r}`}var Rp=(0,B.createContext)(null);function zp(e,t){if(!t)return e;let n=e.startsWith(`${t.path}.`)?e.slice(t.path.length+1):e;return wp(t.identityPath,n)}function Bp({base:e,index:t,row:n,onChange:r,children:i}){let a=(0,B.useContext)(Rp),o=(0,B.useMemo)(()=>{let i=n??{},o=Ip(i),s=wp(e,t),c=zp(e,a),l=wp(c,o??t);return{row:i,rowId:o,path:s,values:a?{...a.values,...i}:i,identityPath:l,getValue:e=>Ep(i,e),setValue:r,scopedName:e=>Tp(wp(s,e)),errorKey:e=>wp(s,e),overrideKey:e=>Lp(c,o,t,e)}},[e,t,n,r,a]);return(0,Y.jsx)(Rp.Provider,{value:o,children:i})}function Vp(){return(0,B.useContext)(Rp)}var Hp=(0,B.createContext)({});function Up({nodes:e,children:t}){return(0,Y.jsx)(Hp.Provider,{value:e,children:t})}function Wp(e){let t=(0,B.useContext)(Hp),n=xp(e).name??``,r=Vp(),i=n&&r?r.errorKey(n):n;return i&&t[i]||n&&t[n]||e}var Gp={},Kp={},qp=(0,B.createContext)(null),Jp=(0,B.createContext)(()=>{});function Yp(e,t){if(Object.is(e,t))return!0;if(!e||!t||typeof e!=`object`||typeof t!=`object`)return!1;if(Array.isArray(e)||Array.isArray(t))return Array.isArray(e)&&Array.isArray(t)&&e.length===t.length&&e.every((e,n)=>Yp(e,t[n]));let n=Object.entries(e),r=t;return n.length===Object.keys(r).length&&n.every(([e,t])=>Yp(t,r[e]))}function Xp(e){return e.split(`.`).filter(e=>e!==``).join(`.`)}function Zp(e,t){return e===``||t===``||e===t||e.startsWith(`${t}.`)||t.startsWith(`${e}.`)}function Qp(e){let t=e,n=e,r=new Set,i=new Map,a=new Map,o=e=>{for(let e of r)e();let t=Xp(e);for(let[e,n]of i)if(Zp(e,t))for(let e of n)e()},s=(e,t)=>{Object.is(n,e)||(n=e,a.clear(),o(t))},c=(e,t)=>{let n=Xp(e),r=i.get(n)??new Set;return r.add(t),i.set(n,r),()=>{r.delete(t),r.size===0&&i.delete(n)}};return{getPathSnapshot:e=>Ep(n,e),getPathsSnapshot:e=>{if(e.length===0)return Kp;let t=e.map(Xp),r=JSON.stringify(e),i=t.map(e=>Ep(n,e)),o=a.get(r);if(o&&o.values.length===i.length&&i.every((e,t)=>Object.is(e,o.values[t])))return o.snapshot;let s=Object.fromEntries(e.map((e,t)=>[e,i[t]]));return a.set(r,{snapshot:s,values:i}),s},getSnapshot:()=>n,replaceInitial:e=>{Yp(t,e)||(t=e,s(e,``))},reset:e=>{if(e===void 0){s(t,``);return}s(e.reduce((e,n)=>Op(e,n,Ep(t,n)),n),``)},setValue:(e,t)=>{let r=Ep(n,e),i=typeof t==`function`?t(r):t;Object.is(r,i)||s(Op(n,e,i),e)},subscribe:e=>(r.add(e),()=>r.delete(e)),subscribePath:c,subscribePaths:(e,t)=>{let n=Array.from(new Set(e.map(Xp))).map(e=>c(e,t));return()=>{for(let e of n)e()}}}}var $p=Qp(Gp);function em({initial:e,children:t}){let n=(0,B.useRef)(null);return n.current===null&&(n.current=Qp(e)),(0,B.useEffect)(()=>{n.current?.replaceInitial(e)},[e]),(0,Y.jsx)(qp.Provider,{value:n.current,children:(0,Y.jsx)(Jp.Provider,{value:n.current.setValue,children:t})})}function tm(){return(0,B.useContext)(qp)??$p}function nm(){let e=tm();return(0,B.useSyncExternalStore)(e.subscribe,e.getSnapshot,e.getSnapshot)}function rm(e){let t=tm(),n=(0,B.useCallback)(n=>t.subscribePath(e,n),[e,t]),r=(0,B.useCallback)(()=>t.getPathSnapshot(e),[e,t]);return(0,B.useSyncExternalStore)(n,r,r)}function im(e){let t=tm(),n=JSON.stringify(e),r=(0,B.useMemo)(()=>JSON.parse(n),[n]),i=(0,B.useCallback)(e=>t.subscribePaths(r,e),[r,t]),a=(0,B.useCallback)(()=>t.getPathsSnapshot(r),[r,t]);return(0,B.useSyncExternalStore)(i,a,a)}function am(){return(0,B.useContext)(Jp)}function om(){let e=tm();return(0,B.useCallback)(t=>e.reset(t),[e])}var sm=(0,B.createContext)(null);function cm({children:e,value:t}){return(0,B.createElement)(sm.Provider,{value:t},e)}function lm(){let e=(0,B.useContext)(sm),{clearErrors:t,precognitive:n,validate:r}=gp(),i=am(),a=Vp(),o=yp();if(e)return e;let s=(e,t)=>{a?a.setValue(e,t):i(e,t),o?.markUserEdit(a?a.overrideKey(e):e)},c=e=>a?a.errorKey(e):e;return{commit(e,i){s(e,i),n?r(c(e)):t(c(e))},change(e,n){s(e,n),t(c(e))},blur(e){n&&r(c(e))}}}var um=(0,B.createContext)(!1);function dm({children:e}){return(0,Y.jsx)(um.Provider,{value:!0,children:e})}function fm(){return(0,B.useContext)(um)}function pm(e,t,n,r){return z(e,{method:`POST`,ref:t,signal:r,body:JSON.stringify(n),throwOnError:!1}).then(e=>e.ok?e.json():null)}function mm(e){return e.templates}function hm(e,t){let n=mm(e);return n?n.find(e=>e.type===t.type)?.schema??[]:e.schema??[]}function gm(e,t){return e.startsWith(`@`)?e.slice(1):t===null?e:wp(t,e)}function _m(e,t,n,r=0,i={}){let a=xp(e);if(!a.editablePrefill||!a.name)return null;let o=Ip(i);return{path:t===null?a.name:wp(t,a.name),overrideKey:n===null?a.name:Lp(n,o,r,a.name),resetOn:(a.prefillResetOn??[]).map(e=>gm(e,t)),refreshOn:(a.prefillRefreshOn??[]).map(e=>gm(e,t))}}function vm(e,t){let n=[],r=(e,i=null,a=null,o=null,s=0,c={})=>{for(let l of e??[]){if(bp.has(l.type)){let e=xp(l).name;if(e){let n=wp(i,e),o=wp(a,e),s=Ep(t,n);(Array.isArray(s)?s:[]).forEach((e,t)=>{r(hm(l,e),wp(n,t),wp(o,Ip(e)??t),o,t,e)})}continue}let e=_m(l,i,o,s,c);e&&n.push(e),r(l.schema,i,a,o,s,c)}};return r(e),n}function ym(e,t){let n=new Map(e.targets.map(e=>[e.overrideKey,e]));return t.targets.filter(r=>{let i=n.get(r.overrideKey);return r.resetOn.some((n,r)=>{let a=i?.resetOn[r]??n;return!Object.is(Ep(e.values,a),Ep(t.values,n))})}).map(e=>e.overrideKey)}function bm(e,t){return e.filter(e=>{let n=Ep(t,e.path);return n!=null&&n!==``}).map(e=>e.overrideKey)}function xm(e,t){let n=new Set(t.map(e=>e.overrideKey));return new Set([...e].filter(e=>n.has(e)))}function Sm(e,t,n){let r=nm(),i=am(),[a,o]=(0,B.useState)({}),s=(0,B.useMemo)(()=>vm(n,r),[n,r]),c=(0,B.useRef)(new Set),l=(0,B.useRef)(new Set),u=(0,B.useRef)(r),d=(0,B.useRef)(s),f=(0,B.useRef)(s);f.current=s,(0,B.useLayoutEffect)(()=>{let e=new Set(s.map(e=>e.overrideKey));l.current=new Set([...l.current].filter(t=>e.has(t)));let t=s.filter(e=>!l.current.has(e.overrideKey));for(let e of bm(t,r))c.current.add(e);for(let e of t)l.current.add(e.overrideKey)},[s,r]);let p=(0,B.useCallback)(e=>{c.current.add(e)},[]),m=(0,B.useMemo)(()=>{let e=new Set,t=!1;return Sp(n,n=>{if(Array.isArray(n.dependsOnKeys))for(let t of n.dependsOnKeys)e.add(String(t));n.dependsOnAny&&(t=!0)}),{keys:[...e],any:t}},[n]),h=(0,B.useMemo)(()=>{let e=new Set(m.keys);for(let t of s){for(let n of t.resetOn)e.add(n);for(let n of t.refreshOn)e.add(n)}return[...e]},[m.keys,s]);return(0,B.useEffect)(()=>{if(h.length===0&&!m.any)return;let n=u.current;u.current=r;for(let e of ym({targets:d.current,values:n},{targets:f.current,values:r}))c.current.delete(e);d.current=f.current,c.current=xm(c.current,f.current);let a=new AbortController,s=window.setTimeout(()=>{pm(e,t,{_sub:`resolve`,...r},a.signal).then(e=>{if(!e)return;for(let[t,n]of Object.entries(e.values??{}))i(t,n);let t=new Map(f.current.map(e=>[e.path,e]));for(let[n,r]of Object.entries(e.prefill??{})){let e=t.get(n);e&&!c.current.has(e.overrideKey)&&i(n,r)}e.fields&&o(e.fields)}).catch(()=>{})},250);return()=>{window.clearTimeout(s),a.abort()}},[m.any?r:JSON.stringify(h.map(e=>Ep(r,e))),e,t,m.any,i]),{nodes:a,markUserEdit:p}}function Cm(e){let t={labels:{},values:{}};return Sp(e,e=>{e.name&&(e.label&&(t.labels[e.name]=e.label),e.value!==void 0&&(t.values[e.name]=e.value))}),t}function wm(e,t){return e===t||e.startsWith(`${t}.`)}function Tm(e){let t={};for(let[n,r]of Object.entries(e??{}))t[n]=Array.isArray(r)?r[0]:r;return t}function Em(e,t){let n=(0,B.useRef)(e);n.current=e;let r=(0,B.useRef)(null),i=(0,B.useCallback)(()=>{r.current!==null&&(clearTimeout(r.current),r.current=null)},[]);return(0,B.useEffect)(()=>i,[i]),(0,B.useMemo)(()=>{let e=(...e)=>{i(),r.current=setTimeout(()=>{r.current=null,n.current(...e)},t)};return e.cancel=i,e},[i,t])}function Dm(e,t,n){let[r,i]=(0,B.useState)(null);return(0,B.useEffect)(()=>{if(!n){i(null);return}let r=new AbortController;return z(e,{body:JSON.stringify({_sub:`schema`}),ref:t,method:`POST`,signal:r.signal,throwOnError:!1}).then(e=>e.ok?e.json():null).then(e=>i(e)).catch(()=>{}),()=>r.abort()},[n,e,t]),r}function Om(){return(0,Y.jsxs)(`div`,{className:`space-y-4`,"data-lattice-action-form-loading":!0,children:[(0,Y.jsx)(pp,{className:`h-4 w-24`}),(0,Y.jsx)(pp,{className:`h-10 w-full`}),(0,Y.jsx)(pp,{className:`h-10 w-full`})]})}function km({cancelLabel:e,componentRef:t,endpoint:n,extraData:r,fieldLabels:i,formNode:a,method:o,onClose:s,onSuccess:c,precognitive:l,submitLabel:u}){let d=nm(),f=(0,B.useRef)(d);f.current=d;let p=(0,B.useRef)(r);p.current=r;let{nodes:m,markUserEdit:h}=Sm(n,t,a.schema),g=S(),[v,y]=(0,B.useState)({}),[x,C]=(0,B.useState)(!1),[w,T]=(0,B.useState)(!1),E=(0,B.useCallback)(e=>z(n,{body:JSON.stringify({...f.current,...p.current}),method:o,ref:t,headers:e,throwOnError:!1}),[t,n,o]),D=(0,B.useCallback)(e=>{y(t=>t[e]===void 0?t:{...t,[e]:void 0})},[]),O=Em(e=>{E({Precognition:`true`,"Precognition-Validate-Only":e}).then(async t=>{if(t.status===422){let e=await t.json();y(t=>({...t,...Tm(e.errors)}));return}D(e)}).catch(()=>{})},250),k=(0,B.useCallback)(e=>{l&&O(e)},[l,O]),A=(0,B.useCallback)(()=>{},[]),j=(0,B.useCallback)((e,t)=>{T(!0),E({Precognition:`true`,"Precognition-Validate-Only":e.join(`,`)}).then(async n=>{if(n.status===422){let e=await n.json();y(t=>({...t,...Tm(e.errors)})),t?.onValidationError?.();return}if(!n.ok){t?.onValidationError?.();return}let r=e.filter(e=>!e.includes(`*`));y(e=>Object.fromEntries(Object.entries(e).filter(([e])=>!r.some(t=>wm(e,t))))),t?.onSuccess?.()}).catch(()=>t?.onValidationError?.()).finally(()=>T(!1))},[E]),M=(0,B.useCallback)(()=>{C(!0),E().then(async e=>{let t=await e.json().catch(()=>({}));if(g(b(t.effects)),e.status===422&&t.errors){y(Tm(t.errors));return}e.ok&&c(t)}).catch(e=>_(e)).finally(()=>C(!1))},[g,c,E]);return(0,Y.jsx)(hp,{value:(0,B.useMemo)(()=>({action:n,clearErrors:D,componentRef:t,errors:v,fieldLabels:i,precognitive:l,processing:x,touch:A,validate:k,validateFields:j,validating:w}),[D,t,n,v,i,l,x,A,k,j,w]),children:(0,Y.jsxs)(`form`,{className:`flex flex-col gap-6`,onSubmit:e=>{e.preventDefault(),M()},children:[(0,Y.jsx)(vp,{value:{markUserEdit:h},children:(0,Y.jsx)(Up,{nodes:m,children:(0,Y.jsx)(Jr,{nodes:a.schema??[]})})}),(0,Y.jsxs)(`div`,{className:`flex justify-end gap-3`,children:[(0,Y.jsx)($,{"data-test":`action-form-cancel`,disabled:x,onClick:s,type:`button`,emphasis:`ghost`,children:e}),a.props?.submitButton!==!1&&(0,Y.jsxs)($,{"data-test":`action-form-submit`,disabled:x,type:`submit`,children:[x&&(0,Y.jsx)(up,{}),u]})]})]})})}function Am({formNode:e,...t}){let n=!!e.props?.precognitive,{labels:r,values:i}=(0,B.useMemo)(()=>{let{labels:t,values:n}=Cm(e.schema);return{labels:t,values:{...n,...e.props?.state}}},[e]);return(0,Y.jsx)(em,{initial:i,children:(0,Y.jsx)(km,{fieldLabels:r,formNode:e,precognitive:n,...t})})}function jm({description:e,formNode:t,onClose:n,placement:r,title:i,width:a,...o}){let{t:s}=W(`lattice`);return(0,Y.jsx)(ip,{open:!0,onOpenChange:e=>{e||n()},children:(0,Y.jsxs)(cp,{...e?{}:{"aria-describedby":void 0},placement:r,width:a,children:[(0,Y.jsx)(lp,{closeLabel:s(`common.close`,`Close`),description:e,title:i}),(0,Y.jsx)(`div`,{className:`mt-6`,children:t?(0,Y.jsx)(Am,{formNode:t,onClose:n,...o}):(0,Y.jsx)(Om,{})})]})})}function Mm(e){return e.props.label??Zt(`lattice`,`common.action.run`,`Run action`)}function Nm(e){let t=e.props.endpoint??``,n=e.props.ref??``,r=e.props.method??`post`,i=Mm(e),{variant:a,emphasis:o}=e.props,s=e.props.confirmation,c=e.props.form,l=e.props.lazyForm===!0,u=!!c||l,[d,f]=(0,B.useState)(!1),p=S(),[m,h]=(0,B.useState)(!1),[_,v]=(0,B.useState)(!1),y=Dm(t,n,_&&l),b=l?y:c,x=async()=>{if(!t)return;if(r===`get`){g.visit(t,{headers:P(n)}),h(!1);return}f(!0);let e=await fp(()=>z(t,{method:r,ref:n,throwOnError:!1}),p);f(!1),e&&h(!1)},C=()=>{if(u){v(!0);return}if(s){h(!0);return}x()},w=s?.title??i,T=s?.confirmLabel??i,E=s?.cancelLabel??Zt(`lattice`,`common.cancel`,`Cancel`);return{processing:d,requestSubmit:C,overlays:(0,Y.jsxs)(Y.Fragment,{children:[m&&s&&(0,Y.jsx)(dp,{title:w,description:s.description??void 0,confirmLabel:T,cancelLabel:E,confirmVariant:a,confirmEmphasis:o,processing:d,confirmDisabled:!t,onConfirm:()=>void x(),onCancel:()=>h(!1)}),_&&u&&(0,Y.jsx)(jm,{cancelLabel:E,componentRef:n,description:s?.description??void 0,endpoint:t,formNode:b,method:r,onClose:()=>v(!1),onSuccess:()=>{v(!1)},placement:e.props.modalSide??`center`,submitLabel:T,title:w,width:e.props.modalWidth??void 0})]})}}function Pm({action:e,children:t}){let{processing:n,requestSubmit:r,overlays:i}=Nm(e);return(0,Y.jsxs)(Y.Fragment,{children:[t({onClick:r,processing:n}),i]})}function Fm({children:e}){return(0,Y.jsx)(Pd,{render:e=>(0,Y.jsx)(Pm,{action:e.action,children:e.children}),children:e})}function Im(){let e=S();(0,B.useEffect)(()=>g.on(`flash`,t=>{let n=b(t.detail?.flash?.latticeEffects);n.length>0&&e(n)}),[e])}function Lm({onAppearanceChange:e,onLocaleChange:t,onToast:n}){return(0,B.useEffect)(()=>{if(n)return ii(n)},[n]),Qt(a.appearanceChange,t=>{let n=t.detail?.value;_e(n)&&e?.(n)},{enabled:!!e}),Qt(a.localeChange,e=>{let n=e.detail?.locale;typeof n==`string`&&n!==``&&t?.(n)},{enabled:!!t}),null}var Rm={href:``};function zm({children:e,registry:t,sprite:n=Rm,toaster:r=!0}){return Im(),(0,Y.jsx)(m.Provider,{value:t,children:(0,Y.jsx)(Fm,{children:(0,Y.jsxs)(Lr,{sprite:n,children:[e,(0,Y.jsx)(Lm,{onAppearanceChange:Ee}),r?(0,Y.jsx)(yo,{}):null]})})})}var Bm=(0,B.createContext)(!1),Vm=`flex h-lt-control-sm w-full items-center justify-start gap-2 rounded-lt-sm px-2.5 text-left text-sm font-normal text-lt-popover-fg no-underline decoration-transparent shadow-none transition-colors hover:bg-lt-accent/70 hover:text-lt-popover-fg focus-visible:bg-lt-accent/70 focus-visible:text-lt-popover-fg focus-visible:ring-0 focus-visible:outline-none disabled:pointer-events-none disabled:text-lt-disabled-fg [&_svg]:size-lt-icon-sm [&_svg]:text-lt-muted-fg`;function Hm({children:e}){return(0,Y.jsx)(Bm.Provider,{value:!0,children:e})}function Um(){return(0,B.useContext)(Bm)}var Wm=({node:e})=>{let t=e.props.endpoint??``,n=e.props.icon,r=Mm(e),i=Um(),{variant:a,emphasis:o}=e.props,{processing:s,requestSubmit:c,overlays:l}=Nm(e),u=e.key??D(`action`,e.id);return(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsxs)($,{className:i?Vm:void 0,"data-lattice-component":e.id,"data-test":u,disabled:s||!t,onClick:c,type:`button`,emphasis:i?`ghost`:o,variant:i?null:a,children:[s?(0,Y.jsx)(up,{className:i?`size-lt-icon-sm`:void 0}):n&&(0,Y.jsx)(Br,{className:i?`size-lt-icon-sm`:`size-lt-icon-md`,icon:n}),r]}),l]})};function Gm(e){return(0,Y.jsx)(Ed,{...e})}function Km(e){return(0,Y.jsx)(Dd,{...e})}function qm({className:e,...t}){return(0,Y.jsx)(kd,{className:J(`grid min-w-40 gap-1 p-1`,e),role:`menu`,...t})}function Jm({children:e,className:t,danger:n=!1,icon:r,...i}){return(0,Y.jsx)(Od,{asChild:!0,children:(0,Y.jsxs)(`button`,{type:`button`,role:`menuitem`,className:J(`flex w-full items-center gap-2 rounded-lt-sm px-3 py-1.5 text-left text-sm [&_svg]:size-lt-icon-sm`,n?`text-lt-danger hover:bg-lt-danger/10`:`hover:bg-lt-accent hover:text-lt-accent-fg`,t),...i,children:[r?(0,Y.jsx)(X,{name:r,"aria-hidden":`true`}):null,e]})})}var Ym=Pe({components:{action:V(Wm),"action.group":V(({children:e,node:t})=>{let{t:n}=W(`lattice`),r=t.props.label??n(`common.action-group.label`,`Actions`),i=t.props.orientation;return i?(0,Y.jsx)(`div`,{"aria-label":r,className:J(`inline-flex max-w-full gap-1`,i===`vertical`?`flex-col items-stretch`:`flex-row flex-wrap items-center`),"data-lattice-component":t.id,role:`group`,children:e}):(0,Y.jsx)(`div`,{className:`inline-flex`,"data-lattice-component":t.id,children:(0,Y.jsxs)(Gm,{children:[(0,Y.jsx)(Km,{asChild:!0,children:(0,Y.jsx)($,{"aria-label":r,className:`size-lt-control-sm text-lt-muted-fg shadow-none hover:text-lt-fg`,"data-test":O(t),size:`icon`,type:`button`,emphasis:`ghost`,children:(0,Y.jsx)(X,{name:`more-horizontal`,"aria-hidden":`true`,className:`size-lt-icon-md`})})}),(0,Y.jsx)(qm,{align:`end`,"aria-label":r,className:`min-w-44 gap-0.5 p-1.5`,sideOffset:8,children:(0,Y.jsx)(Hm,{children:e})})]})})})},name:`lattice/action`});function Xm(e){try{return JSON.parse(e)}catch{return null}}async function*Zm({url:e,body:t,signal:n}){let r=await z(e,{method:`POST`,signal:n,headers:{Accept:`application/x-ndjson`},body:JSON.stringify(t),throwOnError:!1});if(!r.ok||!r.body)throw Error(`Chat stream failed (${r.status})`);yield*$m(r.body)}function Qm(e){return async function*({url:t,body:n,signal:r}){let i=await fe(t,{remote:e,method:`POST`,signal:r,headers:{Accept:`application/x-ndjson`,"Content-Type":`application/json`},body:JSON.stringify(n),throwOnError:!1});if(!i.ok||!i.body)throw Error(`Chat stream failed (${i.status})`);yield*$m(i.body)}}async function*$m(e){let t=e.getReader(),n=new TextDecoder,r=``;try{for(;;){let{done:e,value:i}=await t.read();if(e)break;r+=n.decode(i,{stream:!0});let a=r.split(`
47
- `);r=a.pop()??``;for(let e of a){if(e.trim()===``)continue;let t=Xm(e);t&&(yield t)}}if(r+=n.decode(),r.trim()!==``){let e=Xm(r);e&&(yield e)}}finally{await t.cancel().catch(()=>{})}}var eh=0;function th(){return eh+=1,`chat-${eh}`}function nh(e){return e instanceof DOMException&&e.name===`AbortError`}function rh(e){return e instanceof Error?e.message:String(e)}function ih(e){let t=e.at(-1);return t!==void 0&&t.role===`assistant`}function ah(e,t){if(!ih(e))return e;let n=e.length-1,r=e[n];if(t.type===`text`){let i=[...r.parts],a=i.length-1,o=i[a];o!==void 0&&o.type===`chat.part.text`?i[a]={type:`chat.part.text`,props:{text:`${o.props.text}${t.value}`}}:i.push({type:`chat.part.text`,props:{text:t.value}});let s=[...e];return s[n]={...r,parts:i},s}if(t.type===`part`){let i=[...e];return i[n]={...r,parts:[...r.parts,t.part]},i}return e}function oh({endpoint:e,transport:t=Zm,initialMessages:n=[],generateId:r=th}){let[i,a]=(0,B.useState)(n),[o,s]=(0,B.useState)(`idle`),[c,l]=(0,B.useState)(null),u=(0,B.useRef)(null),d=(0,B.useRef)(null),f=(0,B.useRef)(i);f.current=i;let p=(0,B.useCallback)(e=>{f.current=e,a(e)},[]),m=(0,B.useCallback)(async(n,i)=>{u.current?.abort();let a=new AbortController;u.current=a,l(null),s(`submitted`);let o={id:r(),role:`user`,parts:[{type:`chat.part.text`,props:{text:i}}]},c={id:r(),role:`assistant`,parts:[]};p([...n,o,c]),s(`streaming`);try{for await(let n of t({url:e,body:{message:i},signal:a.signal})){if(n.type===`done`){s(`idle`);continue}if(n.type===`error`){l(n.message??`Chat failed`),s(`error`);continue}p(ah(f.current,n))}s(e=>e===`streaming`||e===`submitted`?`idle`:e)}catch(e){if(nh(e)){s(`idle`);return}l(rh(e)),s(`error`)}},[p,e,r,t]),h=(0,B.useCallback)(e=>{let t=e.trim();t!==``&&(d.current=t,m(f.current,t))},[m]),g=(0,B.useCallback)(()=>{u.current?.abort(),s(`idle`)},[]),_=(0,B.useCallback)(()=>{let e=d.current;if(e===null)return;let t=f.current;m(ih(t)?t.slice(0,-2):t,e)},[m]);return(0,B.useEffect)(()=>()=>{u.current?.abort()},[]),{messages:i,status:o,error:c,sendMessage:h,setMessages:p,stop:g,regenerate:_}}function sh({message:e}){let t=e.role===`user`;return(0,Y.jsx)(`div`,{className:J(`flex flex-col gap-1`,t?`items-end`:`items-start`),"data-test":T(`chat-message-${e.role}`),children:(0,Y.jsx)(`div`,{className:J(`max-w-[80%] rounded-lt px-3 py-2 text-sm`,t?`bg-lt-primary text-lt-primary-fg`:`bg-lt-muted text-lt-fg`),children:e.parts.map((e,t)=>(0,Y.jsx)(Yr,{node:e},e.key??t))})})}function ch({messages:e}){let t=(0,B.useRef)(null),n=e.at(-1),r=n?.parts.at(-1)===void 0?0:JSON.stringify(n.parts.at(-1)).length;return(0,B.useEffect)(()=>{t.current&&typeof t.current.scrollIntoView==`function`&&t.current.scrollIntoView({behavior:`smooth`})},[e.length,r]),(0,Y.jsxs)(`div`,{className:`flex flex-col gap-2 overflow-y-auto p-3`,"data-test":T(`chat-messages`),children:[e.map(e=>(0,Y.jsx)(sh,{message:e},e.id)),(0,Y.jsx)(`div`,{ref:t})]})}function lh({onSubmit:e,disabled:t=!1,placeholder:n}){let{t:r}=W(`lattice`),[i,a]=(0,B.useState)(``);function o(){let n=i.trim();n===``||t||(e(n),a(``))}function s(e){e.key===`Enter`&&!e.shiftKey&&(e.preventDefault(),o())}return(0,Y.jsxs)(`div`,{className:`flex items-end gap-2 border-t border-lt-border p-3`,children:[(0,Y.jsx)(`textarea`,{"aria-label":r(`common.chat.input-label`,`Message input`),className:J(`min-h-[2.5rem] flex-1 resize-none rounded-lt-sm border border-lt-input bg-lt-bg px-3 py-2 text-sm text-lt-fg placeholder:text-lt-muted-fg focus:outline-none focus:ring-[length:var(--lt-ring-width)] focus:ring-lt-ring/50 disabled:bg-lt-disabled disabled:text-lt-disabled-fg`),"data-test":T(`chat-input`),disabled:t,onChange:e=>a(e.target.value),onKeyDown:s,placeholder:n,rows:1,value:i}),(0,Y.jsx)($,{"data-test":T(`chat-send`),disabled:t,onClick:o,size:`sm`,type:`button`,children:r(`common.chat.send`,`Send`)})]})}var uh=Pe({name:`lattice/chat`,components:{"chat.box":V(({node:e})=>{let t=e.props,{t:n}=W(`lattice`),r=(0,B.useMemo)(()=>t.remote?Qm(t.remote):Zm,[t.remote]),{messages:i,status:a,error:o,sendMessage:s,setMessages:c}=oh({endpoint:t.streamEndpoint??``,transport:r}),l=(0,B.useRef)(!1),u=(0,B.useCallback)(async()=>{if(l.current||!t.historyEndpoint)return;if(l.current=!0,t.remote){c((await pe(t.historyEndpoint,{remote:t.remote})).messages);return}let e=await z(t.historyEndpoint,{throwOnError:!1});e.ok&&c((await e.json()).messages)},[t.historyEndpoint,t.remote,c]);(0,B.useEffect)(()=>{u().catch(()=>{})},[u]);let d=a===`submitted`||a===`streaming`||!t.streamEndpoint;return(0,Y.jsxs)(`div`,{className:J(`flex flex-col overflow-hidden border border-lt-border bg-lt-bg`,t.fill?`sticky top-0 h-full min-h-[28rem] w-full`:`h-[28rem] w-80 rounded-lt shadow-lt-lg`),"data-test":T(`chat-box`),children:[(0,Y.jsx)(`div`,{className:`flex items-center border-b border-lt-border px-3 py-2`,children:(0,Y.jsx)(`span`,{className:`text-sm font-medium text-lt-fg`,children:t.title??n(`common.chat.title`,`Chat`)})}),(0,Y.jsx)(`div`,{className:`flex-1 overflow-y-auto`,children:(0,Y.jsx)(ch,{messages:i})}),o?(0,Y.jsx)(`div`,{className:`border-t border-lt-danger/40 px-3 py-2 text-xs text-lt-danger`,children:o}):null,(0,Y.jsx)(lh,{disabled:d,onSubmit:s,placeholder:t.placeholder??void 0})]})}),"chat.part.text":V(({node:e})=>(0,Y.jsx)(`div`,{className:`whitespace-pre-wrap text-sm`,children:e.props.text})),"chat.part.tool-call":V(({node:e})=>(0,Y.jsxs)(`div`,{className:`mt-1 inline-flex items-center gap-1 rounded-lt-sm bg-lt-muted px-2 py-0.5 font-mono text-xs text-lt-muted-fg`,"data-test":T(`chat-tool-call`),children:[`🔧 `,e.props.name,`(`,JSON.stringify(e.props.args),`)`]}))}}),dh={xs:`size-6 text-[0.5rem]`,sm:`size-8 text-xs`,md:`size-10 text-sm`,lg:`size-12 text-base`,xl:`size-16 text-lg`,"2xl":`size-20 text-xl`,"3xl":`size-24 text-2xl`,"4xl":`size-32 text-3xl`};function fh(e){return e.trim().split(/\s+/).slice(0,2).map(e=>e.charAt(0).toUpperCase()).join(``)}function ph(){return(0,Y.jsxs)(`svg`,{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:2,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,className:`size-[60%]`,children:[(0,Y.jsx)(`path`,{d:`M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2`}),(0,Y.jsx)(`circle`,{cx:`12`,cy:`7`,r:`4`})]})}var mh=({node:e})=>{let{src:t,name:n,size:r}=e.props,i=n??void 0;return(0,Y.jsx)(`span`,{"data-slot":`avatar`,role:t?void 0:`img`,"aria-label":t?void 0:i,className:J(`inline-flex shrink-0 items-center justify-center overflow-hidden rounded-full bg-lt-muted font-medium text-lt-muted-fg select-none`,dh[r]),children:t?(0,Y.jsx)(`img`,{src:t,alt:i??``,className:`size-full object-cover`}):n?fh(n):(0,Y.jsx)(ph,{})})},hh=new Set([`default`,`muted`,`primary`,`success`,`info`,`warning`,`danger`,`gray`,`red`,`orange`,`yellow`,`green`,`blue`,`purple`]);function gh(e){return{kind:`named`,value:e,dark:null}}function _h(e){if(typeof e==`string`&&e!==``)return hh.has(e)?gh(e):{kind:`css`,value:e,dark:null};if(typeof e==`object`&&e&&`kind`in e&&`value`in e)return e}function vh(e){return e.kind===`named`?`var(--lt-color-${e.value})`:e.dark===null?e.value:`light-dark(${e.value}, ${e.dark})`}function yh(e){if(e.kind===`named`)return{className:`lt-tone-${e.value}`};let t=vh(e);return{style:{"--lt-tone-bg":`color-mix(in oklab, ${t} 12%, transparent)`,"--lt-tone-fg":t}}}function bh({color:e,className:t,style:n,...r}){let i=yh(_h(e??void 0)??gh(`gray`));return(0,Y.jsx)(`span`,{"data-slot":`badge`,className:J(`lt-badge`,i.className,t),style:{...i.style,...n},...r})}var xh=({node:e})=>(0,Y.jsx)(bh,{color:e.props.color,children:e.props.label});function Sh({content:e}){let{t}=W(`lattice`);return e?(0,Y.jsxs)(Ed,{children:[(0,Y.jsx)(Dd,{type:`button`,"aria-label":t(`common.more-info`,`More information`),className:`ml-1 inline-flex rounded-lt-sm text-lt-muted-fg outline-none hover:text-lt-fg focus-visible:text-lt-fg focus-visible:ring-lt-ring/50 focus-visible:ring-[length:var(--lt-ring-width)]`,children:(0,Y.jsx)(X,{name:`info`,className:`size-lt-icon-sm`})}),(0,Y.jsx)(kd,{align:`start`,className:`max-w-xs p-3 text-sm [&_a]:underline`,dangerouslySetInnerHTML:{__html:e}})]}):null}function Ch({className:e,...t}){return(0,Y.jsx)(`article`,{"data-slot":`card`,className:J(`flex flex-col gap-6 rounded-lt border border-lt-border bg-lt-surface py-lt-gutter text-lt-surface-fg shadow-lt-sm`,e),...t})}function wh({className:e,...t}){return(0,Y.jsx)(`div`,{"data-slot":`card-header`,className:J(`flex flex-col gap-1.5 px-lt-gutter`,e),...t})}function Th({className:e,...t}){return(0,Y.jsx)(`div`,{"data-slot":`card-title`,className:J(`font-semibold leading-none`,e),...t})}function Eh({className:e,...t}){return(0,Y.jsx)(`div`,{"data-slot":`card-description`,className:J(`text-sm text-lt-muted-fg`,e),...t})}function Dh({className:e,...t}){return(0,Y.jsx)(`div`,{"data-slot":`card-content`,className:J(`px-lt-gutter`,e),...t})}var Oh=({children:e,node:t})=>{let{title:n,description:r,tooltip:i}=t.props;return(0,Y.jsxs)(Ch,{"data-lattice-component":O(t),children:[(n||r)&&(0,Y.jsxs)(wh,{children:[n&&(0,Y.jsxs)(`div`,{className:`flex items-center`,children:[(0,Y.jsx)(Th,{children:n}),(0,Y.jsx)(Sh,{content:i})]}),r&&(0,Y.jsxs)(`div`,{className:`flex items-center`,children:[(0,Y.jsx)(Eh,{children:r}),!n&&(0,Y.jsx)(Sh,{content:i})]})]}),e&&(0,Y.jsx)(Dh,{className:`flex flex-col gap-6`,children:e})]})},kh=(0,B.lazy)(()=>p(()=>import(`./chunks/chart-view-CpYsLvzR.js`),__vite__mapDeps([6,1,7,3,8,4]),import.meta.url)),Ah=({children:e,node:t})=>(0,Y.jsx)(B.Suspense,{fallback:null,children:(0,Y.jsx)(kh,{node:t,children:e})}),jh=({children:e,node:t})=>{let n=t.props.rememberState!==!1,r=Hr(t.props.trigger),i=O(t),a=`lattice:collapsible:${i??`default`}`,o=`${i??`collapsible`}-content`,[s,c]=Yd(a,t.props.collapsed===!1,n);return(0,Y.jsxs)(`div`,{"data-slot":`collapsible`,"data-lattice-component":i,children:[(0,Y.jsxs)(`div`,{"aria-controls":o,"aria-expanded":s,"data-test":D(`collapsible-toggle`,i)??`collapsible-toggle-default`,className:`flex w-full cursor-pointer items-center justify-between gap-4 rounded-lt-sm py-2 text-left text-lt-fg transition-colors hover:bg-lt-muted`,onClick:c,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),c())},role:`button`,tabIndex:0,children:[(0,Y.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-center gap-2`,children:[(0,Y.jsx)(Jr,{nodes:r}),t.props.tooltip&&(0,Y.jsx)(`span`,{role:`presentation`,onClick:e=>e.stopPropagation(),onKeyDown:e=>e.stopPropagation(),children:(0,Y.jsx)(Sh,{content:t.props.tooltip})})]}),(0,Y.jsx)(X,{name:`chevron-down`,className:J(`size-lt-icon-md shrink-0 text-lt-muted-fg transition-transform`,!s&&`-rotate-90`)})]}),s&&e&&(0,Y.jsx)(`div`,{id:o,className:`flex flex-col gap-4 pt-2`,children:e})]})};function Mh(e,t){return e===`top-start`?{left:t,top:t}:e===`top-end`?{right:t,top:t}:e===`bottom-start`?{bottom:t,left:t}:{bottom:t,right:t}}var Nh=({children:e,node:t})=>{let n=t.props.label??void 0,r=Math.max(0,t.props.offset??16),i=t.props.placement??`bottom-end`,a=t.props.trigger??[],[o,s]=(0,B.useState)(!1);if(a.length===0)return(0,Y.jsx)(`div`,{"aria-label":n,className:`fixed z-lt-popover max-w-[calc(100vw-2rem)] rounded-lt border border-lt-border bg-lt-popover p-1 text-lt-popover-fg shadow-lt-md`,"data-lattice-component":O(t),role:n?`group`:void 0,style:Mh(i,r),children:e});let c=i===`bottom-start`||i===`bottom-end`,l=i===`top-start`||i===`bottom-start`;return(0,Y.jsx)(`div`,{"aria-label":n,className:`fixed z-lt-popover max-w-[calc(100vw-2rem)]`,"data-lattice-component":O(t),role:n?`group`:void 0,style:Mh(i,r),children:(0,Y.jsxs)(`div`,{className:J(`flex w-fit gap-2`,c?`flex-col-reverse`:`flex-col`),children:[(0,Y.jsx)(`button`,{"aria-expanded":o,className:J(`inline-flex items-center gap-2 rounded-lt border border-lt-border bg-lt-popover px-3 py-1.5 text-sm font-medium text-lt-popover-fg shadow-lt-md hover:bg-lt-muted`,l?`self-start`:`self-end`),"data-test":t.key?`${t.key}-trigger`:void 0,onClick:()=>s(e=>!e),type:`button`,children:a.map((e,t)=>(0,Y.jsx)(Yr,{node:e},e.key??`${e.type}-${t}`))}),(0,Y.jsx)(`div`,{className:o?`block`:`hidden`,children:e})]})})},Ph={lg:320,md:64,sm:40,xl:384,xs:32,"2xl":448,"3xl":512,"4xl":576},Fh=({node:e})=>{let t=e.props.endpoint??``,n=e.props.lazy===!0,r=e.props.ref??``,i=Ph[e.props.size],[o,s]=(0,B.useState)(()=>e.schema??[]),[c,l]=(0,B.useState)(!n),[u,d]=(0,B.useState)(n&&t!==``),f=(0,B.useCallback)(async()=>{if(t){d(!0);try{s(Hr((await oe(t,{ref:r})).schema)),l(!0)}finally{d(!1)}}},[t,r]);return(0,B.useEffect)(()=>{!n||c||f()},[c,n,f]),(0,B.useEffect)(()=>{function t(t){t.detail?.component===e.id&&f()}return window.addEventListener(a.reloadComponent,t),()=>window.removeEventListener(a.reloadComponent,t)},[f,e.id]),(0,B.useEffect)(()=>{function e(){c&&f()}return window.addEventListener(a.localeChange,e),()=>window.removeEventListener(a.localeChange,e)},[c,f]),(0,Y.jsx)(`div`,{"data-lattice-fragment":e.id,style:u&&o.length===0?{minHeight:i}:void 0,children:u&&o.length===0?(0,Y.jsx)(pp,{className:`w-full`,style:{height:i}}):(0,Y.jsx)(Jr,{nodes:o})})},Ih=({children:e,node:t})=>{let n=Math.min(Math.max(t.props.columns??1,1),4);return(0,Y.jsx)(`div`,{"data-slot":`grid`,"data-lattice-component":O(t),className:J(`grid gap-x-4 gap-y-6`,n>=2&&`md:grid-cols-2`,n>=3&&`lg:grid-cols-3`,n>=4&&`xl:grid-cols-4`),children:e})};async function Lh(e){if(!navigator?.clipboard)return!1;try{return await navigator.clipboard.writeText(e),!0}catch{return!1}}function Rh({value:e,label:t,testId:n,className:r}){let{t:i}=W(`lattice`),[a,o]=(0,B.useState)(!1);(0,B.useEffect)(()=>{if(!a)return;let e=window.setTimeout(()=>o(!1),1500);return()=>window.clearTimeout(e)},[a]);function s(){Lh(e),o(!0)}let c=a?i(`common.copied-value`,`Copied {{label}}`,{label:t}):i(`common.copy-value`,`Copy {{label}}`,{label:t});return(0,Y.jsxs)(`button`,{type:`button`,"data-test":n,className:J(`inline-flex items-center gap-1 rounded-lt-sm border border-lt-border px-2 py-1 text-xs`,r),"aria-label":c,onClick:s,children:[(0,Y.jsx)(X,{name:a?`check`:`copy`,className:`size-lt-icon-xs`}),a?i(`common.copied`,`Copied`):i(`common.copy`,`Copy`)]})}function zh({value:e,label:t,testId:n,children:r}){return(0,Y.jsxs)(`div`,{className:`inline-flex items-center gap-2`,children:[r??e,(0,Y.jsx)(Rh,{value:e,label:t,testId:n})]})}var Bh=({node:e})=>{let{text:t,tooltip:n}=e.props,r=Math.min(Math.max(e.props.level,1),6),i=J(`max-w-3xl font-semibold tracking-normal text-balance text-lt-fg`,r===1&&`text-2xl font-bold leading-tight`,r===2&&`text-xl`,r>2&&`text-base`),a=(0,Y.jsxs)(Y.Fragment,{children:[t,(0,Y.jsx)(Sh,{content:n})]}),o;switch(r){case 1:o=(0,Y.jsx)(`h1`,{className:i,children:a});break;case 2:o=(0,Y.jsx)(`h2`,{className:i,children:a});break;case 3:o=(0,Y.jsx)(`h3`,{className:i,children:a});break;case 4:o=(0,Y.jsx)(`h4`,{className:i,children:a});break;case 5:o=(0,Y.jsx)(`h5`,{className:i,children:a});break;default:o=(0,Y.jsx)(`h6`,{className:i,children:a})}return e.props.copyable?(0,Y.jsx)(zh,{value:t,label:t,children:o}):o},Vh={xs:`size-lt-icon-xs`,sm:`size-lt-icon-sm`,md:`size-lt-icon-md`,lg:`size-lt-icon-lg`,xl:`size-lt-icon-xl`,"2xl":`size-lt-icon-2xl`,"3xl":`size-lt-icon-3xl`,"4xl":`size-lt-icon-4xl`},Hh=({node:e})=>{let{name:t,size:n,color:r,class:i}=e.props,a=(0,Y.jsx)(Br,{icon:t,className:J(Vh[n],i)}),o=_h(r);return o?(0,Y.jsx)(`span`,{className:`contents`,style:{color:vh(o)},children:a}):a};function Uh({src:e,alt:t,previewable:n,width:r,height:i,className:a,testId:o}){let{t:s}=W(`lattice`),[c,l]=(0,B.useState)(!1),u=(0,Y.jsx)(`img`,{alt:t,src:e,width:r,height:i,className:a,style:r?{width:r,height:i}:void 0});if(!n)return u;let d=s(`common.image.open-preview`,`View image`);return(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`button`,{type:`button`,"data-test":o,className:`cursor-zoom-in`,"aria-label":d,onClick:()=>l(!0),children:u}),(0,Y.jsx)(ip,{open:c,onOpenChange:l,children:(0,Y.jsxs)(cp,{"aria-describedby":void 0,className:`max-h-[90vh] w-auto max-w-[90vw] border-none bg-transparent p-0 shadow-none`,children:[(0,Y.jsx)(op,{className:`sr-only`,children:t||d}),(0,Y.jsx)(`img`,{alt:t,src:e,"data-slot":`image-lightbox`,className:`max-h-[90vh] max-w-[90vw] rounded-lt object-contain`}),(0,Y.jsx)(ap,{asChild:!0,children:(0,Y.jsx)($,{icon:`x`,"aria-label":s(`common.close`,`Close`),"data-test":`lightbox-close`,size:`icon`,emphasis:`ghost`,className:`absolute top-2 right-2 bg-lt-bg/80 hover:bg-lt-bg`})})]})})]})}var Wh=({node:e})=>{let{src:t,alt:n,size:r,circular:i,previewable:a}=e.props;return(0,Y.jsx)(Uh,{alt:n??``,className:J(`object-cover`,i?`rounded-full`:`rounded-lt-sm`),height:r??void 0,previewable:a,src:t,testId:O(e),width:r??void 0})},Gh=`text-lt-fg underline decoration-lt-border underline-offset-4 transition-colors duration-300 ease-out hover:decoration-current! dark:decoration-lt-border`;function Kh({className:e=``,children:t,...n}){return(0,Y.jsx)(C,{className:J(Gh,e),...n,children:t})}function qh({affix:e,className:t}){return e.icon?(0,Y.jsx)(Br,{className:J(`size-lt-icon-md shrink-0`,t),icon:e.icon}):(0,Y.jsx)(`span`,{className:J(`shrink-0 text-sm text-lt-muted-fg`,t),children:e.text})}function Jh({icon:e,isMenuItem:t,label:n,prefix:r,suffix:i}){return e?(0,Y.jsx)(Br,{className:`size-lt-icon-md shrink-0`,icon:e}):t?(0,Y.jsxs)(Y.Fragment,{children:[r?(0,Y.jsx)(qh,{affix:r}):null,(0,Y.jsx)(`span`,{children:n}),i?(0,Y.jsx)(qh,{affix:i,className:`ml-auto`}):null]}):r||i?(0,Y.jsxs)(`span`,{className:`inline-flex items-center gap-1.5 align-baseline`,children:[r?(0,Y.jsx)(qh,{affix:r}):null,(0,Y.jsx)(`span`,{children:n}),i?(0,Y.jsx)(qh,{affix:i}):null]}):n}function Yh(e,t,n){if(!(!t?.text&&!n?.text))return[t?.text,e,n?.text].filter(e=>!!e).join(` `)}var Xh=({node:e})=>{let t=Um(),{icon:n,label:r,prefix:i,suffix:a}=e.props,o=r??``,s=Ld(e.props),c=t?Vm:void 0,l=O(e),u=(0,Y.jsx)(Jh,{icon:n,isMenuItem:t,label:o,prefix:i,suffix:a}),d=n?o:Yh(o,i,a),f=({onClick:e,processing:t})=>(0,Y.jsx)(`button`,{"aria-label":d,className:J(Gh,c),"data-test":l,disabled:t,onClick:e,type:`button`,children:u});return s.kind===`action`?(0,Y.jsx)(Id,{action:s.action,children:f}):s.kind===`effects`?f({onClick:s.onClick,processing:!1}):(0,Y.jsx)(Kh,{"aria-label":d,className:c,"data-test":l,href:s.kind===`navigate`?s.href:`#`,method:s.kind===`navigate`?s.method:`get`,tabIndex:e.props.tabIndex??void 0,children:u})};function Zh(e,t){let n=e.detail?.modal;return n==null||n===t}var Qh=({children:e,node:t})=>{let{t:n}=W(`lattice`),r=t.props.title??n(`common.dialog`,`Dialog`),i=t.props.description,o=t.props.closeLabel,[s,c]=(0,B.useState)(t.props.open===!0),l=(0,B.useRef)(null),u=(0,B.useRef)(s);return(0,B.useEffect)(()=>{t.props.open===!0&&c(!0)},[t.props.open]),(0,B.useEffect)(()=>{function e(e){t.id&&Zh(e,t.id)&&(l.current=document.activeElement instanceof HTMLElement?document.activeElement:null,c(!0))}function n(e){(!t.id||Zh(e,t.id))&&c(!1)}return window.addEventListener(a.openModal,e),window.addEventListener(a.closeModal,n),()=>{window.removeEventListener(a.openModal,e),window.removeEventListener(a.closeModal,n)}},[t.id]),(0,B.useEffect)(()=>{if(u.current&&!s){let e=l.current;e&&requestAnimationFrame(()=>e.focus())}u.current=s},[s]),(0,Y.jsx)(ip,{open:s,onOpenChange:c,children:(0,Y.jsxs)(cp,{...i?{}:{"aria-describedby":void 0},placement:t.props.side??`center`,width:t.props.width,children:[(0,Y.jsx)(lp,{closeLabel:o,description:i,title:r}),(0,Y.jsx)(`div`,{className:`mt-6 space-y-6`,children:e})]})})},$h={xs:`h-1`,sm:`h-1.5`,md:`h-2.5`,lg:`h-3`,xl:`h-4`,"2xl":`h-5`,"3xl":`h-6`,"4xl":`h-8`},eg={xs:24,sm:32,md:40,lg:48,xl:64,"2xl":80,"3xl":96,"4xl":128},tg={xs:`text-[0.5rem]`,sm:`text-[0.625rem]`,md:`text-xs`,lg:`text-sm`,xl:`text-base`,"2xl":`text-lg`,"3xl":`text-xl`,"4xl":`text-2xl`},ng=({node:e})=>{let{value:t,max:r,shape:i,showValue:a,color:o,size:s}=e.props,{locale:c}=n(),l=vh(_h(o)??gh(`primary`)),u=r>0?Math.min(Math.max(t,0),r):0,d=r>0?u/r:0,f=new Intl.NumberFormat(c,{maximumFractionDigits:0,style:`percent`}).format(d),p={"aria-valuemax":r,"aria-valuemin":0,"aria-valuenow":u,"aria-valuetext":f,role:`progressbar`};if(i===`circle`){let e=eg[s],t=Math.max(3,e/10),n=(e-t)/2,r=2*Math.PI*n;return(0,Y.jsxs)(`div`,{...p,className:`relative inline-flex`,"data-lattice-progress":`circle`,children:[(0,Y.jsxs)(`svg`,{className:`-rotate-90`,height:e,width:e,children:[(0,Y.jsx)(`circle`,{className:`text-lt-muted`,cx:e/2,cy:e/2,fill:`none`,r:n,stroke:`currentColor`,strokeWidth:t}),(0,Y.jsx)(`circle`,{cx:e/2,cy:e/2,fill:`none`,r:n,stroke:`currentColor`,strokeDasharray:r,strokeDashoffset:r*(1-d),strokeLinecap:`round`,strokeWidth:t,style:{color:l}})]}),a&&(0,Y.jsx)(`span`,{className:J(`absolute inset-0 flex items-center justify-center font-medium text-lt-fg tabular-nums`,tg[s]),children:f})]})}return(0,Y.jsxs)(`div`,{className:`flex w-full items-center gap-2`,"data-lattice-progress":`bar`,children:[(0,Y.jsx)(`div`,{...p,className:J(`w-full overflow-hidden rounded-full bg-lt-muted`,$h[s]),children:(0,Y.jsx)(`div`,{className:`h-full rounded-full`,style:{background:l,width:`${d*100}%`}})}),a&&(0,Y.jsx)(`span`,{className:`shrink-0 text-lt-muted-fg text-sm tabular-nums`,children:f})]})},rg=({node:e})=>(0,Y.jsx)(`span`,{style:{display:`contents`},dangerouslySetInnerHTML:{__html:e.props.html}}),ig=({children:e,node:t})=>{let{title:n,description:r,tooltip:i}=t.props,a=t.props.collapsible===!0,o=t.props.rememberState!==!1,s=Hr(t.props.headerActions),c=O(t),[l,u]=Yd(`lattice:section:${c??`default`}`,t.props.collapsed===!0,a&&o),d=a&&l;return(0,Y.jsxs)(`section`,{"data-slot":`section`,className:`flex flex-col gap-6 rounded-lt border border-lt-border bg-lt-surface py-lt-gutter text-lt-surface-fg shadow-lt-sm`,"data-lattice-component":c,children:[!!(n||r||s.length>0||a)&&(0,Y.jsxs)(`div`,{className:`flex items-start justify-between gap-4 px-lt-gutter`,children:[(0,Y.jsxs)(`div`,{className:`flex min-w-0 items-start gap-2`,children:[a&&(0,Y.jsx)(`button`,{"aria-expanded":!d,"aria-label":d?`Expand section`:`Collapse section`,"data-test":D(`section-toggle`,c)??`section-toggle-default`,className:`mt-0.5 inline-flex shrink-0 items-center rounded-lt-sm p-0.5 text-lt-muted-fg transition-colors hover:bg-lt-muted hover:text-lt-fg`,onClick:u,type:`button`,children:(0,Y.jsx)(X,{name:`chevron-down`,className:J(`size-lt-icon-md transition-transform`,d&&`-rotate-90`)})}),(0,Y.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-1.5`,children:[n&&(0,Y.jsxs)(`div`,{className:`flex items-center`,children:[(0,Y.jsx)(`div`,{className:`font-semibold leading-none`,children:n}),(0,Y.jsx)(Sh,{content:i})]}),r&&(0,Y.jsxs)(`div`,{className:`flex items-center`,children:[(0,Y.jsx)(`div`,{className:`text-sm text-lt-muted-fg`,children:r}),!n&&(0,Y.jsx)(Sh,{content:i})]})]})]}),s.length>0&&(0,Y.jsx)(`div`,{className:`flex shrink-0 items-center gap-2`,children:(0,Y.jsx)(Jr,{nodes:s})})]}),!d&&e&&(0,Y.jsx)(`div`,{className:`flex flex-col gap-6 px-lt-gutter`,children:e})]})};function ag(e){return J(`whitespace-nowrap rounded-lt-sm px-3 py-1.5 text-sm font-medium transition-colors`,e?`bg-lt-bg text-lt-fg shadow-lt-xs`:`text-lt-muted-fg hover:bg-lt-bg/60 hover:text-lt-fg`)}function og({ariaLabel:e,autoFocus:t=!1,disabled:n=!1,name:r,onSelect:i,options:a,tabIndex:o,value:s}){let c=(0,B.useRef)(null);return(0,B.useEffect)(()=>{if(!t)return;let e=c.current;(e?.querySelector(`button[aria-checked="true"]`)??e?.querySelector(`button`))?.focus()},[t]),(0,Y.jsx)(`div`,{"aria-label":e,className:`inline-flex w-fit max-w-full gap-1 overflow-x-auto rounded-lt bg-lt-muted p-1`,ref:c,role:`radiogroup`,children:a.map(e=>{let t=s===e.value;return(0,Y.jsx)(`button`,{"aria-checked":t,"data-test":`${r??`segment`}-${e.value}`,className:J(ag(t),n&&`cursor-not-allowed opacity-60`),disabled:n,onClick:()=>i(e.value),role:`radio`,tabIndex:o,type:`button`,children:e.label},e.value)})})}var sg=({node:e})=>{let{options:t,name:n,emits:r}=e.props,[i,a]=(0,B.useState)(e.props.value||t[0]?.value||``);if(t.length===0)return null;function o(e){a(e),r&&window.dispatchEvent(new CustomEvent(r,{detail:{name:n,value:e}}))}return(0,Y.jsx)(og,{ariaLabel:e.props.label??void 0,name:n,onSelect:o,options:t,value:i})},cg=({node:e})=>{let t=e.props.orientation===`horizontal`;return(0,Y.jsx)(`div`,{role:`separator`,"aria-orientation":e.props.orientation,className:J(`shrink-0 bg-lt-border`,t?`h-px w-full`:`h-full w-px self-stretch`)})},lg={center:`justify-items-center text-center`,start:`justify-items-start text-left`,stretch:`justify-items-stretch`},ug={center:`items-center text-center`,start:`items-center text-left`,stretch:`items-stretch justify-stretch`},dg={none:`gap-0`,xs:`gap-1`,lg:`gap-6`,md:`gap-4`,sm:`gap-2`,xl:`gap-8`},fg={auto:`w-auto`,fill:`min-w-0 flex-1`,full:`w-full`,lg:`mx-auto w-full max-w-4xl`,md:`mx-auto w-full max-w-2xl`,sm:`mx-auto w-full max-w-md`},pg={around:`justify-around`,between:`justify-between`,center:`justify-center`,end:`justify-end`,evenly:`justify-evenly`,start:`justify-start`},mg={full:`h-full`,screen:`min-h-screen`},hg={end:`ml-auto`,start:`mr-auto`},gg=({children:e,node:t})=>{let n=t.props.align??`stretch`,r=t.props.direction??`column`,i=t.props.gap??`md`,a=t.props.width??`full`,o=t.props.justify,s=t.props.height,c=t.props.float,l=r===`row`||o!=null;return(0,Y.jsx)(`div`,{"data-slot":`stack`,"data-lattice-component":O(t),className:J(l?J(`flex`,r===`row`?`flex-wrap`:`flex-col`):`grid content-start`,l?ug[n]??ug.stretch:lg[n]??lg.stretch,dg[i]??dg.md,fg[a]??fg.full,o?pg[o]:null,s?mg[s]:null,c?hg[c]:null),children:e})},_g=(0,B.createContext)(null);function vg(){return(0,B.useContext)(_g)||{activeValue:``,setActiveValue:()=>{}}}function yg(e){return(e.schema??[]).filter(e=>e.type===`tab`).map(e=>{let t=e.props;return{confirm:t.confirm?{required:t.confirm.required}:void 0,label:t.label,value:t.value}}).filter(e=>e.value!==``)}function bg(e,t){if(typeof window>`u`)return null;let n=new URLSearchParams(window.location.search).get(e);return!n||!t.some(e=>e.value===n)?null:n}function xg(e,t){if(typeof window>`u`)return;let n=new URL(window.location.href);n.searchParams.set(e,t),window.history.replaceState(window.history.state,``,`${n.pathname}${n.search}${n.hash}`)}function Sg(e,t){if(typeof window>`u`)return``;let n=new URL(window.location.href);return n.searchParams.set(e,t),`${n.pathname}${n.search}${n.hash}`}var Cg=({children:e,node:t})=>{let{t:n}=W(`lattice`),r=(0,B.useMemo)(()=>yg(t),[t]),i=r[0]?.value??``,a=t.props.queryKey,o=t.props.orientation,s=o===`vertical`,c=t.props.alignment,l=!s&&c===`stretch`,u=t.props.activeValue,d=t.props.defaultValue??i,f=(0,B.useRef)(null),[p,m]=(0,B.useState)(()=>u||(bg(a,r)??d)||i),h=(0,B.useCallback)(e=>{if(e.confirm?.required){g.visit(Sg(a,e.value),{preserveScroll:!0});return}m(e.value),xg(a,e.value)},[a]),_=(0,B.useCallback)(e=>{let t=r.find(t=>t.value===e);t&&h(t)},[h,r]),v=(0,B.useMemo)(()=>({activeValue:p,setActiveValue:_}),[p,_]);function y(e){let t=s?`ArrowDown`:`ArrowRight`,n=s?`ArrowUp`:`ArrowLeft`;if(e.key!==t&&e.key!==n&&e.key!==`Home`&&e.key!==`End`)return;let r=Array.from(f.current?.querySelectorAll(`[role="tab"]`)??[]);if(r.length===0)return;e.preventDefault();let i=r.indexOf(document.activeElement),a;if(e.key===`Home`)a=0;else if(e.key===`End`)a=r.length-1;else{let n=e.key===t?1:-1;a=((i<0?0:i)+n+r.length)%r.length}r[a]?.focus()}return(0,Y.jsx)(_g.Provider,{value:v,children:(0,Y.jsxs)(`div`,{className:J(`gap-6`,s?J(`flex`,c===`end`&&`flex-row-reverse`):`grid`),"data-lattice-tabs":t.key??t.id,children:[(0,Y.jsx)(`div`,{"aria-label":n(`common.tabs`,`Tabs`),"aria-orientation":o,className:J(`gap-1 rounded-lt bg-lt-muted p-1`,s&&`flex flex-col`,l&&`flex w-full`,!s&&!l&&J(`inline-flex w-fit max-w-full overflow-x-auto`,{"justify-self-center":c===`center`,"justify-self-end":c===`end`})),ref:f,role:`tablist`,children:r.map(e=>{let t=p===e.value;return(0,Y.jsx)(`button`,{"aria-controls":`${e.value}-panel`,"aria-selected":t,"data-test":`tab-${e.value}`,className:J(ag(t),s&&`text-left`,l&&`flex-1`),id:`${e.value}-tab`,onClick:()=>h(e),onKeyDown:y,role:`tab`,tabIndex:t?0:-1,type:`button`,children:e.label},e.value)})}),(0,Y.jsx)(`div`,{className:J(`min-w-0`,s&&`flex-1`),children:e})]})})},wg=({children:e,node:t})=>{let{activeValue:n}=vg(),r=t.props.value,i=n===r,[a,o]=(0,B.useState)(i);return(0,B.useEffect)(()=>{i&&o(!0)},[i]),(0,Y.jsx)(`section`,{"aria-labelledby":`${r}-tab`,className:J(`space-y-8`,!i&&`hidden`),hidden:!i,id:`${r}-panel`,role:`tabpanel`,tabIndex:0,children:a?e:null})},Tg={center:`text-center`,left:`text-left`},Eg={xs:`text-xs leading-5`,sm:`text-sm leading-6`,md:`text-base leading-7`,lg:`text-lg leading-8`,xl:`text-xl leading-8`,"2xl":`text-2xl leading-9`,"3xl":`text-3xl leading-10`,"4xl":`text-4xl leading-none`},Dg=Pe({components:{avatar:V(mh),badge:V(xh),button:V(hf),card:V(Oh),chart:V(Ah),collapsible:V(jh),"floating-panel":V(Nh),fragment:V(Fh),grid:V(Ih),heading:V(Bh),icon:V(Hh),image:V(Wh),link:V(Xh),modal:V(Qh),progress:V(ng),"raw-block":V(rg),section:V(ig),"segmented-control":V(sg),separator:V(cg),stack:V(gg),tab:V(wg),tabs:V(Cg),text:V(({node:e})=>{let t=e.props.align??`left`,n=vh(_h(e.props.color)??gh(`muted`)),r=(0,Y.jsx)(`p`,{className:J(`m-0`,`max-w-2xl`,Tg[t]??Tg.left,Eg[e.props.size]),style:{color:n},children:e.props.text});return e.props.copyable?(0,Y.jsx)(zh,{value:e.props.text,label:e.props.text,children:r}):r}),tooltip:V(({node:e})=>{let t=e.props.content,n=Hr(e.props.trigger);return t?n.length===0?(0,Y.jsx)(Sh,{content:t}):(0,Y.jsxs)(Ed,{children:[(0,Y.jsx)(Dd,{type:`button`,className:`inline-flex items-center rounded-lt-sm outline-none focus-visible:ring-lt-ring/50 focus-visible:ring-[length:var(--lt-ring-width)]`,children:(0,Y.jsx)(Jr,{nodes:n})}),(0,Y.jsx)(kd,{align:`start`,className:`max-w-xs p-3 text-sm [&_a]:underline`,dangerouslySetInnerHTML:{__html:t}})]}):null})},name:`lattice/ui`});function Og({message:e,className:t=``,...n}){return e?(0,Y.jsx)(`p`,{...n,className:J(`text-sm text-lt-danger`,t),children:e}):null}var kg=`Label`,Ag=B.forwardRef((e,t)=>(0,Y.jsx)(Q.label,{...e,ref:t,onMouseDown:t=>{t.target.closest(`button, input, select, textarea`)||(e.onMouseDown?.(t),!t.defaultPrevented&&t.detail>1&&t.preventDefault())}}));Ag.displayName=kg;var jg=Ag;function Mg({className:e,...t}){return(0,Y.jsx)(jg,{"data-slot":`label`,className:J(`text-base leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:text-lt-disabled-fg peer-disabled:cursor-not-allowed peer-disabled:text-lt-disabled-fg`,e),...t})}function Ng({children:e,error:t,helperText:n,label:r,labelAction:i,name:a,required:o,tooltip:s}){return fm()?(0,Y.jsxs)(`div`,{className:`grid gap-1`,children:[(0,Y.jsx)(Mg,{htmlFor:a,className:`sr-only`,children:r}),e,(0,Y.jsx)(Og,{message:t})]}):(0,Y.jsxs)(`div`,{className:`grid gap-2`,children:[(0,Y.jsxs)(`div`,{className:`flex min-h-5 items-center`,children:[(0,Y.jsx)(Mg,{htmlFor:a,children:r}),o&&(0,Y.jsx)(`span`,{"aria-hidden":`true`,className:`ml-0.5 text-lt-danger`,children:`*`}),(0,Y.jsx)(Sh,{content:s}),i&&(0,Y.jsx)(Kh,{href:i.href,tabIndex:i.tabIndex??void 0,className:`ml-auto text-sm`,children:i.label})]}),e,n&&(0,Y.jsx)(`p`,{className:`text-sm text-lt-muted-fg`,children:n}),(0,Y.jsx)(Og,{message:t})]})}function Pg(e){let t=new Set;for(let n of[e?.visible,e?.required,e?.readOnly,e?.disabled])for(let e of n??[])t.add(e.field);return Array.from(t)}var Fg=new Set([`1`,`true`,`on`,`yes`]);function Ig(e){return typeof e==`boolean`?e:typeof e==`number`?e===1:Fg.has(String(e).toLowerCase())}function Lg(e,t){return typeof t==`boolean`?Ig(e)===t:String(e??``)===String(t??``)}function Rg(e,t){return(Array.isArray(t)?t:[t]).map(e=>String(e)).includes(String(e??``))}function zg(e){return e==null||String(e).trim()===``}function Bg(e,t){let n=Date.parse(String(e)),r=Date.parse(String(t));return Number.isNaN(n)||Number.isNaN(r)?null:n===r?0:n<r?-1:1}function Vg(e){return!0}function Hg(e,t,n){switch(e){case`eq`:return Lg(t,n);case`neq`:return!Lg(t,n);case`gt`:return Number(t)>Number(n);case`lt`:return Number(t)<Number(n);case`gte`:return Number(t)>=Number(n);case`lte`:return Number(t)<=Number(n);case`contains`:return String(t??``).includes(String(n??``));case`starts_with`:return String(t??``).startsWith(String(n??``));case`ends_with`:return String(t??``).endsWith(String(n??``));case`in`:return Rg(t,n);case`not_in`:return!Rg(t,n);case`before`:return Bg(t,n)===-1;case`after`:return Bg(t,n)===1;case`empty`:return zg(t);case`filled`:return!zg(t);default:return Vg(e)}}function Ug(e,t){return e.every(e=>Hg(e.operator,t[e.field],e.value))}function Wg(e,t){return!!e?.some(e=>Hg(e.operator,t[e.field],e.value))}function Gg(e,t,n){let r=!e?.visible?.length||Ug(e.visible,t);return{hidden:!!n.hidden||!r,required:!!n.required||Wg(e?.required,t),readOnly:!!n.readOnly||Wg(e?.readOnly,t),disabled:!!n.disabled||Wg(e?.disabled,t)}}function Kg(e){let t=Vp(),n=xp(e),r=im((0,B.useMemo)(()=>Pg(n.conditions),[n.conditions])),i=t?{...r,...t.values}:r;return Gg(n.conditions??void 0,i,{required:n.required??!1,readOnly:n.readOnly??!1,disabled:n.disabled??!1})}function qg({addLabel:e,options:t,onSelect:n}){return(0,Y.jsxs)(Gm,{children:[(0,Y.jsx)(Km,{asChild:!0,children:(0,Y.jsxs)(`button`,{type:`button`,"data-test":`builder-add`,className:`inline-flex items-center gap-1.5 self-start rounded-lt-sm border border-lt-border px-3 py-1.5 text-sm hover:bg-lt-accent [&_svg]:size-lt-icon-sm`,children:[(0,Y.jsx)(X,{name:`plus`}),e]})}),(0,Y.jsx)(qm,{align:`start`,className:`min-w-[12rem]`,children:t.map(e=>(0,Y.jsx)(Jm,{"data-test":`builder-add-${e.type}`,onClick:()=>n(e.type),children:e.label},e.type))})]})}var Jg={duplicate:{key:`table.row-actions.duplicate`,fallback:`Duplicate`,icon:`copy`},remove:{key:`table.row-actions.remove`,fallback:`Remove`,icon:`trash-2`}};function Yg(e,t){return(e??Xg(t.removable)).map(e=>Zg(e,t)).filter(e=>e!==null)}function Xg(e){return e?[{type:`remove`,key:`remove`,label:null,icon:null,danger:!0}]:[]}function Zg(e,t){if(e.type===`duplicate`){let n=Jg.duplicate;return{key:e.key,label:e.label??t.t(n.key,n.fallback),icon:e.icon??n.icon,danger:e.danger,onClick:()=>t.onDuplicate(t.index)}}if(e.type===`remove`){if(!t.removable)return null;let n=Jg.remove;return{key:e.key,label:e.label??t.t(n.key,n.fallback),icon:e.icon??n.icon,danger:e.danger,onClick:()=>t.onRemove(t.index)}}return null}function Qg(e){return e?`text-lt-danger hover:text-lt-danger [&_svg]:size-lt-icon-sm`:`text-lt-muted-fg hover:text-lt-fg [&_svg]:size-lt-icon-sm`}function $g({actions:e}){let{t}=W(`lattice`);if(e.length===0)return null;if(e.length===1){let t=e[0];return(0,Y.jsx)(`button`,{type:`button`,"aria-label":t.label,"data-test":`row-action-${t.key}`,className:Qg(t.danger),onClick:t.onClick,children:(0,Y.jsx)(X,{name:t.icon})})}return(0,Y.jsxs)(Gm,{children:[(0,Y.jsx)(Km,{asChild:!0,children:(0,Y.jsx)(`button`,{type:`button`,"aria-label":t(`common.action-group.label`,`Actions`),"data-test":`row-actions-menu`,className:`text-lt-muted-fg hover:text-lt-fg [&_svg]:size-lt-icon-sm`,children:(0,Y.jsx)(X,{name:`more-horizontal`})})}),(0,Y.jsx)(qm,{align:`end`,className:`min-w-[10rem]`,children:e.map(e=>(0,Y.jsx)(Jm,{"data-test":`row-action-${e.key}`,danger:e.danger,icon:e.icon,onClick:e.onClick,children:e.label},e.key))})]})}function e_({path:e,rows:t,rowKey:n}){return(0,Y.jsx)(Y.Fragment,{children:t.map((t,r)=>(0,Y.jsx)(`input`,{type:`hidden`,name:Tp(wp(e,r,n)),value:String(t[n]??``)},String(t.rowId??r)))})}function t_({label:e,testId:t,onClick:n,children:r}){return(0,Y.jsx)(`button`,{type:`button`,"aria-label":e,"data-test":t,className:`text-lt-muted-fg hover:text-lt-fg`,onClick:n,children:r})}var n_=(0,B.memo)(function({base:e,index:t,row:n,template:r,heading:i,reorderable:a,isFirst:o,isLast:s,removable:c,rowActions:l,onField:u,onRemove:d,onMove:f,onDuplicate:p}){let{t:m}=W(`lattice`);return(0,Y.jsxs)(`div`,{"data-test":`repeater-${e}-row-${t}`,className:`rounded-lt border border-lt-border bg-lt-surface p-4`,children:[(0,Y.jsxs)(`div`,{className:`mb-2 flex items-center justify-between`,children:[(0,Y.jsx)(`span`,{className:`text-sm font-medium text-lt-muted-fg`,children:i}),(0,Y.jsxs)(`div`,{className:`flex items-center gap-1 [&_svg]:size-lt-icon-sm`,children:[a&&!o&&(0,Y.jsx)(t_,{label:`Move up`,testId:`repeater-${e}-up-${t}`,onClick:()=>f(t,-1),children:(0,Y.jsx)(X,{name:`arrow-up`})}),a&&!s&&(0,Y.jsx)(t_,{label:`Move down`,testId:`repeater-${e}-down-${t}`,onClick:()=>f(t,1),children:(0,Y.jsx)(X,{name:`arrow-down`})}),(0,Y.jsx)($g,{actions:Yg(l,{index:t,removable:c,onRemove:d,onDuplicate:p,t:m})})]})]}),(0,Y.jsx)(Bp,{base:e,index:t,row:n,onChange:(e,n)=>u(t,e,n),children:(0,Y.jsx)(`div`,{className:`flex flex-col gap-4`,children:r.map((e,t)=>(0,Y.jsx)(Yr,{node:e},Ur(e,t)))})})]})}),r_={xs:{track:`minmax(4rem, 0.35fr)`,minPx:64,defaultPx:96,maxPx:1024},sm:{track:`minmax(6rem, 0.5fr)`,minPx:96,defaultPx:128,maxPx:1024},md:{track:`minmax(8rem, 1fr)`,minPx:128,defaultPx:176,maxPx:1024},lg:{track:`minmax(12rem, 1.5fr)`,minPx:192,defaultPx:240,maxPx:1024},xl:{track:`minmax(16rem, 2fr)`,minPx:256,defaultPx:320,maxPx:1024}};function i_(e){return r_[e].track}function a_(e){return r_[e.width].minPx}function o_(e){return r_[e.width].defaultPx}function s_(e){return r_[e.width].maxPx}function c_({columns:e,leadingTracks:t=[],trailingTracks:n=[],overrides:r={}}){return[...t,...e.map(e=>{let t=r[e.key];return t===void 0?i_(e.width):`${Math.min(s_(e),Math.max(a_(e),t))}px`}),...n].join(` `)}var l_=[];function u_({columnGapPx:e=0,columns:t,enabled:n,leadingTracks:r=l_,showIndicator:i=!1,storageKey:a,trailingTracks:o=l_}){let s=(0,B.useMemo)(()=>t.map(e=>e.key),[t]),[c,l]=(0,B.useState)(()=>f_(a,t)),u=(0,B.useRef)(c),d=(0,B.useRef)(null),f=(0,B.useRef)(null),p=(0,B.useCallback)(e=>c_({columns:t,leadingTracks:r,trailingTracks:o,overrides:n?e:{}}),[t,n,r,o]),m=(0,B.useMemo)(()=>p(c),[c,p]),h=(0,B.useCallback)(e=>{let t=f.current;t&&(t.style.gridTemplateColumns=e,t.style.setProperty(`--lattice-table-columns`,e))},[]),g=(0,B.useCallback)(e=>{u.current=e,l(e),p_(a,s,e),h(p(e))},[h,s,a,p]),_=(0,B.useCallback)((e,t,n,r)=>({...e,[t.key]:Math.min(r??s_(t),Math.max(a_(t),n))}),[]),v=(0,B.useCallback)((e,t,n)=>{g(_(u.current,e,t,n))},[g,_]),y=(0,B.useCallback)(e=>{let t={...u.current};delete t[e.key],g(t)},[g]),b=(0,B.useCallback)(()=>{g({})},[g]),x=n&&Object.values(c).some(e=>typeof e==`number`),S=(0,B.useCallback)(e=>u.current[e.key]??o_(e),[]);return{getResizeHandleProps:(0,B.useCallback)(a=>{let s=s_(a),c=a_(a),l=S(a),m=a.label??a.key,b=i?`after:bg-lt-border`:`after:bg-transparent`,x=n=>d_({column:a,columnGapPx:e,columns:t,grid:f.current??n.parentElement?.parentElement,leadingTracks:r,trailingTracks:o}),C=(e,t)=>v(a,l+t,x(e)),w=(e,t)=>{let n=d.current;n?.key===a.key&&(d.current=null,n.overrides!==null&&g(n.overrides),t&&e.currentTarget.releasePointerCapture?.(e.pointerId))};return{"aria-label":`Resize ${m}`,"aria-orientation":`vertical`,"aria-valuemax":s,"aria-valuemin":c,"aria-valuenow":l,className:`absolute inset-y-0 right-0 hidden w-2 cursor-col-resize touch-none items-stretch justify-center md:flex after:my-1 after:w-px ${b} hover:after:bg-lt-border focus-visible:outline-none focus-visible:after:bg-lt-ring`,onDoubleClick:()=>y(a),onKeyDown:e=>{if(!n)return;let t=e.shiftKey?32:8;if(e.key===`ArrowLeft`&&(e.preventDefault(),C(e.currentTarget,-t)),e.key===`ArrowRight`&&(e.preventDefault(),C(e.currentTarget,t)),e.key===`Home`&&(e.preventDefault(),v(a,c)),e.key===`End`){e.preventDefault();let t=x(e.currentTarget);v(a,t,t)}(e.key===`Enter`||e.key===`Escape`)&&(e.preventDefault(),y(a))},onPointerDown:e=>{if(!n)return;let t=e.currentTarget.parentElement?.getBoundingClientRect().width??0;d.current={key:a.key,maxWidth:x(e.currentTarget),overrides:null,startWidth:t>0?t:l,startX:e.clientX},e.currentTarget.setPointerCapture?.(e.pointerId),e.preventDefault()},onPointerMove:e=>{let t=d.current;if(!n||t?.key!==a.key)return;let r=_(u.current,a,t.startWidth+e.clientX-t.startX,t.maxWidth);t.overrides=r,u.current=r,h(p(r))},onPointerUp:e=>{w(e,!0)},onPointerCancel:e=>{w(e,!0)},onLostPointerCapture:e=>{w(e,!1)},role:`separator`,tabIndex:0}},[e,t,S,n,r,h,g,_,y,v,i,p,o]),gridTemplateColumns:m,hasOverrides:x,resizeRootRef:f,resetColumns:b,resetColumnWidth:y}}function d_({column:e,columnGapPx:t,columns:n,grid:r,leadingTracks:i,trailingTracks:a}){let o=r?.getBoundingClientRect().width??0;if(o<=0)return s_(e);let s=[...i,...a].reduce((e,t)=>e+__(t),0),c=n.reduce((t,n)=>n.key===e.key?t:t+a_(n),0),l=n.length+i.length+a.length,u=Math.max(0,l-1)*t,d=o-s-c-u;return Math.min(s_(e),Math.max(a_(e),d))}function f_(e,t){if(!e||typeof window>`u`)return{};try{let n=window.localStorage.getItem(e);if(n===null)return{};let r=JSON.parse(n);if(!h_(r))return m_(e),{};let i=g_(r.overrides,t);return Object.keys(i).length===0&&m_(e),i}catch{return m_(e),{}}}function p_(e,t,n){if(!e||typeof window>`u`)return;let r={},i=new Set(t);for(let[e,t]of Object.entries(n))i.has(e)&&typeof t==`number`&&Number.isFinite(t)&&(r[e]=t);if(Object.keys(r).length===0){m_(e);return}try{window.localStorage.setItem(e,JSON.stringify({columns:t,overrides:r}))}catch{return}}function m_(e){if(!(typeof window>`u`))try{window.localStorage.removeItem(e)}catch{return}}function h_(e){if(typeof e!=`object`||!e)return!1;let t=e;return Array.isArray(t.columns)&&t.columns.every(e=>typeof e==`string`)&&typeof t.overrides==`object`&&t.overrides!==null&&!Array.isArray(t.overrides)}function g_(e,t){let n={};for(let r of t){let t=e[r.key];typeof t!=`number`||!Number.isFinite(t)||(n[r.key]=Math.min(s_(r),Math.max(a_(r),t)))}return n}function __(e){let t=e.trim(),n=t.match(/^([0-9.]+)px$/);if(n)return Number.parseFloat(n[1]);let r=t.match(/^([0-9.]+)rem$/);return r?Number.parseFloat(r[1])*v_():0}function v_(){if(typeof window>`u`)return 16;let e=Number.parseFloat(window.getComputedStyle(document.documentElement).fontSize);return Number.isFinite(e)&&e>0?e:16}var y_=`3rem`,b_=`3rem`,x_=[y_],S_=[b_],C_=`(min-width: 768px)`;function w_(){return qd(C_,!0)}function T_(e){return e.map(e=>{let t=e.props;return{name:String(t.name),label:String(t.label??t.name),columnWidth:t.columnWidth??`md`}})}var E_=(0,B.memo)(function({base:e,index:t,row:n,template:r,span:i,isFirst:a,isLast:o,columnCount:s,flipKey:c,reorderable:l,removable:u,rowActions:d,onField:f,onMove:p,onRemove:m,onDuplicate:h,registerRow:g}){let{t:_}=W(`lattice`);return(0,Y.jsxs)(`div`,{ref:e=>g?.(c,e),"data-flip-key":c,"data-test":`table-row-${e}-${t}`,className:`grid grid-cols-[var(--lattice-table-columns)] items-start gap-x-3`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center gap-1 [&_svg]:size-lt-icon-sm`,children:[l&&!a&&(0,Y.jsx)(t_,{label:`Move up`,testId:`table-${e}-up-${t}`,onClick:()=>p(t,-1),children:(0,Y.jsx)(X,{name:`arrow-up`})}),l&&!o&&(0,Y.jsx)(t_,{label:`Move down`,testId:`table-${e}-down-${t}`,onClick:()=>p(t,1),children:(0,Y.jsx)(X,{name:`arrow-down`})})]}),(0,Y.jsx)(Bp,{base:e,index:t,row:n,onChange:(e,n)=>f(t,e,n),children:(0,Y.jsx)(dm,{children:i?(0,Y.jsx)(`div`,{"data-test":`table-row-${e}-${t}-span`,className:`flex flex-col gap-2`,style:{gridColumn:`span ${s}`},children:r.map((e,t)=>(0,Y.jsx)(Yr,{node:e},Ur(e,t)))}):r.map((e,t)=>(0,Y.jsx)(`div`,{children:(0,Y.jsx)(Yr,{node:e})},Ur(e,t)))})}),(0,Y.jsx)(`div`,{className:`flex items-center`,children:(0,Y.jsx)($g,{actions:Yg(d,{index:t,removable:u,onRemove:m,onDuplicate:h,t:_})})})]})});function D_({base:e,columns:t,rows:n,reorderable:r,removable:i,rowActions:a,onField:o,onMove:s,onRemove:c,onDuplicate:l,registerRow:u,resizableColumns:d=!1,resizeIndicator:f=!1}){let{t:p}=W(`lattice`),m=w_(),h=(0,B.useMemo)(()=>t.map(e=>({key:e.name,label:e.label,width:e.columnWidth})),[t]),{getResizeHandleProps:g,gridTemplateColumns:_,hasOverrides:v,resizeRootRef:y,resetColumns:b}=u_({columns:h,enabled:d,columnGapPx:12,leadingTracks:x_,showIndicator:f,storageKey:d?`lattice:table-columns:form:${e}`:void 0,trailingTracks:S_});return m?(0,Y.jsxs)(`div`,{className:`relative`,children:[v&&(0,Y.jsx)(`button`,{"aria-label":p(`table.reset-column-widths`,`Reset column widths`),className:`absolute right-1 top-1 z-10 hidden rounded-lt-sm p-1 text-lt-muted-fg hover:text-lt-fg md:inline-flex`,"data-test":`table-reset-columns`,onClick:b,title:p(`table.reset-column-widths`,`Reset column widths`),type:`button`,children:(0,Y.jsx)(X,{name:`rotate-ccw`,className:`size-lt-icon-sm`})}),(0,Y.jsx)(`div`,{className:`overflow-x-auto`,children:(0,Y.jsxs)(`div`,{ref:y,className:`flex min-w-max flex-col gap-2`,style:{"--lattice-table-columns":_},children:[(0,Y.jsxs)(`div`,{className:`grid grid-cols-[var(--lattice-table-columns)] items-center gap-x-3`,children:[(0,Y.jsx)(`div`,{}),t.map((e,t)=>(0,Y.jsxs)(`div`,{className:`relative min-w-0 pr-3 text-xs font-medium text-lt-muted-fg`,children:[e.label,d&&(0,Y.jsx)(`div`,{...g(h[t])})]},e.name)),(0,Y.jsx)(`div`,{})]}),n.map(d=>(0,Y.jsx)(E_,{base:e,index:d.index,row:d.row,template:d.template,span:d.span,isFirst:d.index===0,isLast:d.index===n.length-1,columnCount:t.length,flipKey:d.key,reorderable:r,removable:i(d.index),rowActions:a,onField:o,onMove:s,onRemove:c,onDuplicate:l,registerRow:u},d.key))]})})]}):(0,Y.jsx)(`div`,{className:`flex flex-col gap-3`,children:n.map(t=>(0,Y.jsx)(`div`,{ref:e=>u?.(t.key,e),"data-flip-key":t.key,children:(0,Y.jsx)(n_,{base:e,index:t.index,row:t.row,template:t.template,heading:t.heading??`#${t.index+1}`,reorderable:r,isFirst:t.index===0,isLast:t.index===n.length-1,removable:i(t.index),rowActions:a,onField:o,onRemove:c,onMove:s,onDuplicate:l})},t.key))})}var O_=180;function k_(){return typeof matchMedia==`function`&&matchMedia(`(prefers-reduced-motion: reduce)`).matches}function A_(e){let t=(0,B.useRef)(new Map),n=(0,B.useRef)(new Map),r=(0,B.useCallback)((e,n)=>{n?t.current.set(e,n):t.current.delete(e)},[]);return(0,B.useLayoutEffect)(()=>{let e=[],r=new Map;return t.current.forEach((e,t)=>{e.style.transition=``,e.style.transform=``,r.set(t,e.getBoundingClientRect())}),k_()||t.current.forEach((t,i)=>{let a=n.current.get(i),o=r.get(i);if(a&&o){let n=a.top-o.top;n&&(t.style.transform=`translateY(${n}px)`,e.push(requestAnimationFrame(()=>{t.style.transition=`transform ${O_}ms ease-out`,t.style.transform=``})))}}),n.current=r,()=>{for(let t of e)cancelAnimationFrame(t)}},[e]),r}function j_(e,t){let n=Vp(),r=n?n.errorKey(e):e,i=am(),a=rm(r),o=Array.isArray(a)?a:Mp(a,t),s=jp(o);(0,B.useLayoutEffect)(()=>{s!==o&&i(r,s)},[o,s,i,r]);let c=(0,B.useCallback)(e=>{i(r,n=>e(Array.isArray(n)?n:Mp(n,t)))},[i,r,t]);return{path:r,rows:s,onField:(0,B.useCallback)((e,t,n)=>c(r=>r.map((r,i)=>i===e?{...r,[t]:n}:r)),[c]),onRemove:(0,B.useCallback)(e=>c(t=>Np(t,e)),[c]),onMove:(0,B.useCallback)((e,t)=>c(n=>Fp(n,e,e+t)),[c]),onDuplicate:(0,B.useCallback)(e=>c(t=>Pp(t,e)),[c]),append:(0,B.useCallback)(e=>c(t=>[...t,Ap(e)]),[c])}}var M_=[],N_=({node:e})=>{let t=e.props,n=t.name,r=mm(e)??[],{errors:i}=gp(),{hidden:a,required:o}=Kg(e),{path:s,rows:c,onField:l,onRemove:u,onMove:d,onDuplicate:f,append:p}=j_(n,t.defaultItems??0),{t:m}=W(`lattice`),h=A_(c.map(e=>String(e.rowId??``)).join(`,`)),g=t.maxItems!=null&&c.length>=t.maxItems,_=t.minItems!=null&&c.length<=t.minItems,v=t.layout===`table`,y=e=>r.find(t=>t.type===e),b=r.map(e=>({type:e.type,label:e.label}));if(a)return null;let x=r[0],S=c.map((e,t)=>{let n=y(e.type),r=!!n&&!!x&&n.type===x.type;return{key:String(e.rowId??t),index:t,row:e,template:n?.schema??M_,span:!r,heading:n?.label??`Unknown block: ${String(e.type)}`}});return(0,Y.jsx)(Ng,{error:i[s],helperText:t.helperText??void 0,tooltip:t.tooltip??void 0,label:t.label??``,name:s,required:o,children:(0,Y.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,Y.jsx)(e_,{path:s,rows:c,rowKey:kp}),(0,Y.jsx)(e_,{path:s,rows:c,rowKey:`type`}),v?(0,Y.jsx)(Y.Fragment,{children:(0,Y.jsx)(D_,{base:s,columns:T_(x?.schema??[]),rows:S,reorderable:t.reorderable??!1,removable:()=>!_,rowActions:t.rowActions,onField:l,onMove:d,onRemove:u,onDuplicate:f,registerRow:h,resizableColumns:t.resizableColumns===!0,resizeIndicator:t.resizeIndicator===!0})}):c.map((e,r)=>{let i=y(e.type),a=String(e.rowId??r);return(0,Y.jsx)(`div`,{ref:e=>h(a,e),"data-flip-key":a,children:i?(0,Y.jsx)(n_,{base:s,index:r,row:e,template:i.schema??M_,heading:i.label,reorderable:t.reorderable??!1,isFirst:r===0,isLast:r===c.length-1,removable:!_,rowActions:t.rowActions,onField:l,onRemove:u,onMove:d,onDuplicate:f}):(0,Y.jsxs)(`div`,{"data-test":`repeater-${n}-row-${r}`,className:`flex items-center justify-between rounded-lt border border-dashed border-lt-border p-4 text-sm text-lt-muted-fg`,children:[(0,Y.jsxs)(`span`,{children:[`Unknown block: `,String(e.type)]}),(0,Y.jsx)($g,{actions:Yg(t.rowActions,{index:r,removable:!_,onRemove:u,onDuplicate:f,t:m})})]})},a)}),!g&&(0,Y.jsx)(qg,{addLabel:t.addLabel??`Add`,options:b,onSelect:e=>p({type:e})})]})})};function P_(e){let t=B.useRef({value:e,previous:e});return B.useMemo(()=>(t.current.value!==e&&(t.current.previous=t.current.value,t.current.value=e),t.current.previous),[e])}var F_=`Checkbox`,[I_,L_]=di(F_),[R_,z_]=I_(F_);function B_(e){let{__scopeCheckbox:t,checked:n,children:r,defaultChecked:i,disabled:a,form:o,name:s,onCheckedChange:c,required:l,value:u=`on`,internal_do_not_use_render:d}=e,[f,p]=na({prop:n,defaultProp:i??!1,onChange:c,caller:F_}),[m,h]=B.useState(null),[g,_]=B.useState(null),v=B.useRef(!1),y=m?!!o||!!m.closest(`form`):!0,b={checked:f,disabled:a,setChecked:p,control:m,setControl:h,name:s,form:o,value:u,hasConsumerStoppedPropagationRef:v,required:l,defaultChecked:Y_(i)?!1:i,isFormControl:y,bubbleInput:g,setBubbleInput:_};return(0,Y.jsx)(R_,{scope:t,...b,children:J_(d)?d(b):r})}var V_=`CheckboxTrigger`,H_=B.forwardRef(({__scopeCheckbox:e,onKeyDown:t,onClick:n,...r},i)=>{let{control:a,value:o,disabled:s,checked:c,required:l,setControl:u,setChecked:d,hasConsumerStoppedPropagationRef:f,isFormControl:p,bubbleInput:m}=z_(V_,e),h=li(i,u),g=B.useRef(c);return B.useEffect(()=>{let e=a?.form;if(e){let t=()=>d(g.current);return e.addEventListener(`reset`,t),()=>e.removeEventListener(`reset`,t)}},[a,d]),(0,Y.jsx)(Q.button,{type:`button`,role:`checkbox`,"aria-checked":Y_(c)?`mixed`:c,"aria-required":l,"data-state":X_(c),"data-disabled":s?``:void 0,disabled:s,value:o,...r,ref:h,onKeyDown:Z(t,e=>{e.key===`Enter`&&e.preventDefault()}),onClick:Z(n,e=>{d(e=>Y_(e)?!0:!e),m&&p&&(f.current=e.isPropagationStopped(),f.current||e.stopPropagation())})})});H_.displayName=V_;var U_=B.forwardRef((e,t)=>{let{__scopeCheckbox:n,name:r,checked:i,defaultChecked:a,required:o,disabled:s,value:c,onCheckedChange:l,form:u,...d}=e;return(0,Y.jsx)(B_,{__scopeCheckbox:n,checked:i,defaultChecked:a,disabled:s,required:o,onCheckedChange:l,name:r,form:u,value:c,internal_do_not_use_render:({isFormControl:e})=>(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(H_,{...d,ref:t,__scopeCheckbox:n}),e&&(0,Y.jsx)(q_,{__scopeCheckbox:n})]})})});U_.displayName=F_;var W_=`CheckboxIndicator`,G_=B.forwardRef((e,t)=>{let{__scopeCheckbox:n,forceMount:r,...i}=e,a=z_(W_,n);return(0,Y.jsx)(Yi,{present:r||Y_(a.checked)||a.checked===!0,children:(0,Y.jsx)(Q.span,{"data-state":X_(a.checked),"data-disabled":a.disabled?``:void 0,...i,ref:t,style:{pointerEvents:`none`,...e.style}})})});G_.displayName=W_;var K_=`CheckboxBubbleInput`,q_=B.forwardRef(({__scopeCheckbox:e,...t},n)=>{let{control:r,hasConsumerStoppedPropagationRef:i,checked:a,defaultChecked:o,required:s,disabled:c,name:l,value:u,form:d,bubbleInput:f,setBubbleInput:p}=z_(K_,e),m=li(n,p),h=P_(a),g=sl(r);B.useEffect(()=>{let e=f;if(!e)return;let t=window.HTMLInputElement.prototype,n=Object.getOwnPropertyDescriptor(t,`checked`).set,r=!i.current;if(h!==a&&n){let t=new Event(`click`,{bubbles:r});e.indeterminate=Y_(a),n.call(e,Y_(a)?!1:a),e.dispatchEvent(t)}},[f,h,a,i]);let _=B.useRef(Y_(a)?!1:a);return(0,Y.jsx)(Q.input,{type:`checkbox`,"aria-hidden":!0,defaultChecked:o??_.current,required:s,disabled:c,name:l,value:u,form:d,...t,tabIndex:-1,ref:m,style:{...t.style,...g,position:`absolute`,pointerEvents:`none`,opacity:0,margin:0,transform:`translateX(-100%)`}})});q_.displayName=K_;function J_(e){return typeof e==`function`}function Y_(e){return e===`indeterminate`}function X_(e){return Y_(e)?`indeterminate`:e?`checked`:`unchecked`}function Z_({className:e,...t}){return(0,Y.jsx)(U_,{"data-slot":`checkbox`,className:J(`peer border-lt-input data-[state=checked]:bg-lt-primary data-[state=checked]:text-lt-primary-fg data-[state=checked]:border-lt-primary focus-visible:border-lt-ring focus-visible:ring-lt-ring/50 aria-invalid:ring-lt-danger/20 dark:aria-invalid:ring-lt-danger/40 aria-invalid:border-lt-danger size-4 shrink-0 rounded-lt-xs border shadow-lt-xs transition-shadow outline-none focus-visible:ring-[length:var(--lt-ring-width)] disabled:cursor-not-allowed disabled:bg-lt-disabled disabled:text-lt-disabled-fg disabled:data-[state=checked]:bg-lt-disabled disabled:data-[state=checked]:text-lt-disabled-fg disabled:data-[state=checked]:border-lt-disabled`,e),...t,children:(0,Y.jsx)(G_,{"data-slot":`checkbox-indicator`,className:`flex items-center justify-center text-current transition-none`,children:(0,Y.jsx)(X,{name:`check`,className:`size-lt-icon-sm`})})})}function Q_(e,t){if(!t)return e;let n=e.replace(/[^A-Za-z0-9_-]+/g,`-`).replace(/^-+|-+$/g,``);return n?`${t}-${n}`:t}function $_(e,t){let n=Vp(),r=rm(e),i=n?n.getValue(e):r,a=am();(0,B.useEffect)(()=>{i===void 0&&t!==void 0&&(n?n.setValue(e,t):a(e,t))},[e,t,i,a,n])}var ev=({node:e})=>{let{hidden:t,readOnly:n,disabled:r}=Kg(e),i=e.props.name,a=Vp(),{fieldIdPrefix:o}=gp(),s=Q_(a?a.scopedName(i):i,o),c=rm(i),l=a?a.getValue(i):c,{commit:u}=lm(),d=Ig(e.props.value),f=l===void 0?d:Ig(l);return $_(i,d),t?null:(0,Y.jsxs)(`div`,{children:[(0,Y.jsxs)(`div`,{className:`flex items-center space-x-3`,children:[(0,Y.jsx)(Z_,{autoFocus:e.props.autoFocus??void 0,checked:f,"data-test":T(i),disabled:n||r,id:s,name:s,onCheckedChange:e=>{u(i,e===!0)},tabIndex:e.props.tabIndex??void 0}),(0,Y.jsx)(Mg,{htmlFor:s,children:e.props.label})]}),e.props.helperText&&(0,Y.jsx)(`p`,{className:`mt-1 pl-7 text-sm text-lt-muted-fg`,children:e.props.helperText})]})};function tv(e){let{errors:t,fieldIdPrefix:n}=gp(),r=Vp(),i=Kg(e),a=xp(e),o=a.name??``,s=rm(o),c=r?r.getValue(o):s,l=c===void 0?a.value:c,u=typeof l==`string`||typeof l==`number`?String(l):``,d=Q_(r?r.scopedName(o):o,n),f=r?r.errorKey(o):o,{commit:p,change:m,blur:h}=lm(),g=e=>p(o,e),_=e=>m(o,e),v=()=>h(o);return{...i,localName:o,name:d,testId:T(o),value:u,error:t[f],commit:g,change:_,blur:v}}var nv=({node:e})=>{let t=Wp(e),{localName:n,name:r,testId:i,value:a,error:o,hidden:s,required:c,readOnly:l,disabled:u,commit:d}=tv(e),f=(0,B.useMemo)(()=>t.props.options??[],[t.props]),p=f[0]?.value??``,m=a||p;return $_(n,m||void 0),s||f.length===0?null:(0,Y.jsxs)(Ng,{error:o,helperText:e.props.helperText??void 0,tooltip:e.props.tooltip??void 0,label:e.props.label??``,name:r,required:c,children:[(0,Y.jsx)(`input`,{name:r,type:`hidden`,value:m}),(0,Y.jsx)(og,{ariaLabel:e.props.label??void 0,autoFocus:e.props.autoFocus??void 0,disabled:l||u,name:i,onSelect:d,options:f,tabIndex:e.props.tabIndex??void 0,value:m})]})};function rv(){return(rv=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function iv(e,t){if(e==null)return{};var n,r,i={},a=Object.keys(e);for(r=0;r<a.length;r++)t.indexOf(n=a[r])>=0||(i[n]=e[n]);return i}function av(e){var t=(0,B.useRef)(e),n=(0,B.useRef)(function(e){t.current&&t.current(e)});return t.current=e,n.current}var ov=function(e,t,n){return t===void 0&&(t=0),n===void 0&&(n=1),e>n?n:e<t?t:e},sv=function(e){return`touches`in e},cv=function(e){return e&&e.ownerDocument.defaultView||self},lv=function(e,t,n){var r=e.getBoundingClientRect(),i=sv(t)?function(e,t){for(var n=0;n<e.length;n++)if(e[n].identifier===t)return e[n];return e[0]}(t.touches,n):t;return{left:ov((i.pageX-(r.left+cv(e).pageXOffset))/r.width),top:ov((i.pageY-(r.top+cv(e).pageYOffset))/r.height)}},uv=function(e){!sv(e)&&e.preventDefault()},dv=B.memo(function(e){var t=e.onMove,n=e.onKey,r=e.onEnd,i=iv(e,[`onMove`,`onKey`,`onEnd`]),a=(0,B.useRef)(null),o=av(t),s=av(n),c=av(r),l=(0,B.useRef)(null),u=(0,B.useRef)(!1),d=(0,B.useMemo)(function(){var e=function(e){uv(e),(sv(e)?e.touches.length>0:e.buttons>0)&&a.current?o(lv(a.current,e,l.current)):(n(!1),c())},t=function(){n(!1),c()};function n(n){var r=u.current,i=cv(a.current),o=n?i.addEventListener:i.removeEventListener;o(r?`touchmove`:`mousemove`,e),o(r?`touchend`:`mouseup`,t)}return[function(e){var t=e.nativeEvent,r=a.current;if(r&&(uv(t),!function(e,t){return t&&!sv(e)}(t,u.current)&&r)){if(sv(t)){u.current=!0;var i=t.changedTouches||[];i.length&&(l.current=i[0].identifier)}r.focus(),o(lv(r,t,l.current)),n(!0)}},function(e){var t=e.which||e.keyCode;t<37||t>40||(e.preventDefault(),s({left:t===39?.05:t===37?-.05:0,top:t===40?.05:t===38?-.05:0}))},function(e){var t=e.which||e.keyCode;t>=37&&t<=40&&c()},n]},[s,o,c]),f=d[0],p=d[1],m=d[2],h=d[3];return(0,B.useEffect)(function(){return h},[h]),B.createElement(`div`,rv({},i,{onTouchStart:f,onMouseDown:f,className:`react-colorful__interactive`,ref:a,onKeyDown:p,onKeyUp:m,tabIndex:0,role:`slider`}))}),fv=function(e){return e.filter(Boolean).join(` `)},pv=function(e){var t=e.color,n=e.left,r=e.top,i=r===void 0?.5:r,a=fv([`react-colorful__pointer`,e.className]);return B.createElement(`div`,{className:a,style:{top:100*i+`%`,left:100*n+`%`}},B.createElement(`div`,{className:`react-colorful__pointer-fill`,style:{backgroundColor:t}}))},mv=function(e,t,n){return t===void 0&&(t=0),n===void 0&&(n=10**t),Math.round(n*e)/n};360/(2*Math.PI);var hv=function(e){return Cv(gv(e))},gv=function(e){return e[0]===`#`&&(e=e.substring(1)),e.length<6?{r:parseInt(e[0]+e[0],16),g:parseInt(e[1]+e[1],16),b:parseInt(e[2]+e[2],16),a:e.length===4?mv(parseInt(e[3]+e[3],16)/255,2):1}:{r:parseInt(e.substring(0,2),16),g:parseInt(e.substring(2,4),16),b:parseInt(e.substring(4,6),16),a:e.length===8?mv(parseInt(e.substring(6,8),16)/255,2):1}},_v=function(e){return Sv(bv(e))},vv=function(e){var t=e.s,n=e.v,r=e.a,i=(200-t)*n/100;return{h:mv(e.h),s:mv(i>0&&i<200?t*n/100/(i<=100?i:200-i)*100:0),l:mv(i/2),a:mv(r,2)}},yv=function(e){var t=vv(e);return`hsl(`+t.h+`, `+t.s+`%, `+t.l+`%)`},bv=function(e){var t=e.h,n=e.s,r=e.v,i=e.a;t=t/360*6,n/=100,r/=100;var a=Math.floor(t),o=r*(1-n),s=r*(1-(t-a)*n),c=r*(1-(1-t+a)*n),l=a%6;return{r:mv(255*[r,s,o,o,c,r][l]),g:mv(255*[c,r,r,s,o,o][l]),b:mv(255*[o,o,c,r,r,s][l]),a:mv(i,2)}},xv=function(e){var t=e.toString(16);return t.length<2?`0`+t:t},Sv=function(e){var t=e.r,n=e.g,r=e.b,i=e.a,a=i<1?xv(mv(255*i)):``;return`#`+xv(t)+xv(n)+xv(r)+a},Cv=function(e){var t=e.r,n=e.g,r=e.b,i=e.a,a=Math.max(t,n,r),o=a-Math.min(t,n,r),s=o?a===t?(n-r)/o:a===n?2+(r-t)/o:4+(t-n)/o:0;return{h:mv(60*(s<0?s+6:s)),s:mv(a?o/a*100:0),v:mv(a/255*100),a:i}},wv=B.memo(function(e){var t=e.hue,n=e.onChange,r=e.onChangeEnd,i=fv([`react-colorful__hue`,e.className]);return B.createElement(`div`,{className:i},B.createElement(dv,{onMove:function(e){n({h:360*e.left})},onKey:function(e){n({h:ov(t+360*e.left,0,360)})},onEnd:r,"aria-label":`Hue`,"aria-valuenow":mv(t),"aria-valuemax":`360`,"aria-valuemin":`0`},B.createElement(pv,{className:`react-colorful__hue-pointer`,left:t/360,color:yv({h:t,s:100,v:100,a:1})})))}),Tv=B.memo(function(e){var t=e.hsva,n=e.onChange,r=e.onChangeEnd,i={backgroundColor:yv({h:t.h,s:100,v:100,a:1})};return B.createElement(`div`,{className:`react-colorful__saturation`,style:i},B.createElement(dv,{onMove:function(e){n({s:100*e.left,v:100-100*e.top})},onKey:function(e){n({s:ov(t.s+100*e.left,0,100),v:ov(t.v-100*e.top,0,100)})},onEnd:r,"aria-label":`Color`,"aria-valuetext":`Saturation `+mv(t.s)+`%, Brightness `+mv(t.v)+`%`},B.createElement(pv,{className:`react-colorful__saturation-pointer`,top:1-t.v/100,left:t.s/100,color:yv(t)})))}),Ev=function(e,t){if(e===t)return!0;for(var n in e)if(e[n]!==t[n])return!1;return!0},Dv=function(e,t){return e.toLowerCase()===t.toLowerCase()||Ev(gv(e),gv(t))};function Ov(e,t,n,r){var i=av(n),a=av(r),o=(0,B.useState)(function(){return e.toHsva(t)}),s=o[0],c=o[1],l=(0,B.useRef)({color:t,hsva:s}),u=(0,B.useRef)(!1);return(0,B.useEffect)(function(){if(!e.equal(t,l.current.color)){var n=e.toHsva(t);l.current={hsva:n,color:t},c(n),u.current=!1}},[t,e]),(0,B.useEffect)(function(){var t;Ev(s,l.current.hsva)||e.equal(t=e.fromHsva(s),l.current.color)||(l.current={hsva:s,color:t},i(t),u.current=!0)},[s,e,i]),[s,(0,B.useCallback)(function(e){c(function(t){return Object.assign({},t,e)})},[]),(0,B.useCallback)(function(){u.current&&(u.current=!1,a(l.current.color))},[a])]}var kv,Av=typeof window<`u`?B.useLayoutEffect:B.useEffect,jv=function(){return kv||(typeof __webpack_nonce__<`u`?__webpack_nonce__:void 0)},Mv=new WeakMap,Nv=function(e){Av(function(){var t=e.current;if(typeof document<`u`&&t){var n=t.getRootNode?t.getRootNode():t.ownerDocument,r=n&&(`head`in n||`host`in n)?n:t.ownerDocument;if(!Mv.has(r)){var i=`head`in r?r.head:r,a=(i.ownerDocument||document).createElement(`style`);a.innerHTML=`.react-colorful{position:relative;display:flex;flex-direction:column;width:200px;height:200px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.react-colorful__saturation{position:relative;flex-grow:1;border-color:transparent;border-bottom:12px solid #000;border-radius:8px 8px 0 0;background-image:linear-gradient(0deg,#000,transparent),linear-gradient(90deg,#fff,hsla(0,0%,100%,0))}.react-colorful__alpha-gradient,.react-colorful__pointer-fill{content:"";position:absolute;left:0;top:0;right:0;bottom:0;pointer-events:none;border-radius:inherit}.react-colorful__alpha-gradient,.react-colorful__saturation{box-shadow:inset 0 0 0 1px rgba(0,0,0,.05)}.react-colorful__alpha,.react-colorful__hue{position:relative;height:24px}.react-colorful__hue{background:linear-gradient(90deg,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red)}.react-colorful__last-control{border-radius:0 0 8px 8px}.react-colorful__interactive{position:absolute;left:0;top:0;right:0;bottom:0;border-radius:inherit;outline:none;touch-action:none}.react-colorful__pointer{position:absolute;z-index:1;box-sizing:border-box;width:28px;height:28px;transform:translate(-50%,-50%);background-color:#fff;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 4px rgba(0,0,0,.2)}.react-colorful__interactive:focus .react-colorful__pointer{transform:translate(-50%,-50%) scale(1.1)}.react-colorful__alpha,.react-colorful__alpha-pointer{background-color:#fff;background-image:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill-opacity=".05"><path d="M8 0h8v8H8zM0 8h8v8H0z"/></svg>')}.react-colorful__saturation-pointer{z-index:3}.react-colorful__hue-pointer{z-index:2}`;var o=jv();o&&a.setAttribute(`nonce`,o),Mv.set(r,a),i.appendChild(a)}}},[])},Pv=function(e){var t=e.className,n=e.colorModel,r=e.color,i=r===void 0?n.defaultColor:r,a=e.onChange,o=e.onChangeEnd,s=iv(e,[`className`,`colorModel`,`color`,`onChange`,`onChangeEnd`]),c=(0,B.useRef)(null);Nv(c);var l=Ov(n,i,a,o),u=l[0],d=l[1],f=l[2],p=fv([`react-colorful`,t]);return B.createElement(`div`,rv({},s,{ref:c,className:p}),B.createElement(Tv,{hsva:u,onChange:d,onChangeEnd:f}),B.createElement(wv,{hue:u.h,onChange:d,onChangeEnd:f,className:`react-colorful__last-control`}))},Fv={defaultColor:`000`,toHsva:hv,fromHsva:function(e){return _v({h:e.h,s:e.s,v:e.v,a:1})},equal:Dv},Iv=function(e){return B.createElement(Pv,rv({},e,{colorModel:Fv}))},Lv=`focus-visible:border-lt-ring focus-visible:ring-lt-ring/50 focus-visible:ring-[length:var(--lt-ring-width)] focus-visible:ring-offset-[length:var(--lt-ring-offset)]`,Rv=ff([`w-full min-w-0 rounded-lt-sm border border-lt-input shadow-lt-xs outline-none transition-[color,box-shadow]`,`placeholder:text-lt-muted-fg`,Lv,`aria-invalid:border-lt-danger aria-invalid:ring-lt-danger/20 dark:aria-invalid:ring-lt-danger/40`,`disabled:pointer-events-none disabled:cursor-not-allowed disabled:bg-lt-disabled disabled:text-lt-disabled-fg`],{variants:{density:{comfortable:`h-lt-control-md bg-transparent px-3 py-1 text-base`,compact:`h-lt-control-md bg-lt-bg px-2 text-sm font-normal`}},defaultVariants:{density:`comfortable`}});function zv({className:e,type:t,density:n,...r}){return(0,Y.jsx)(`input`,{type:t,"data-slot":`input`,className:J(Rv({density:n}),`file:text-lt-fg selection:bg-lt-primary selection:text-lt-primary-fg file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium`,e),...r})}function Bv(e){let t=e.trim().replace(/^#/,``).toLowerCase();return/^[0-9a-f]{6}$/.test(t)?`#${t}`:/^[0-9a-f]{3}$/.test(t)?`#${t[0]}${t[0]}${t[1]}${t[1]}${t[2]}${t[2]}`:null}function Vv({value:e,onChange:t,palette:n,hexLabel:r=`Hex color`,paletteLabel:i=`Color palette`}){let[a,o]=(0,B.useState)(null),s=Bv(e)??`#6b7280`;return(0,Y.jsxs)(`div`,{className:`flex w-56 flex-col gap-3`,"data-slot":`color-picker`,children:[(0,Y.jsx)(Iv,{className:`!w-full`,color:s,onChange:t}),n.length>0&&(0,Y.jsx)(`div`,{"aria-label":i,className:`flex flex-wrap gap-1.5`,role:`listbox`,children:n.map(e=>{let n=Bv(e)??e;return(0,Y.jsx)(`button`,{"aria-label":n,"aria-selected":n===s,className:J(`size-6 shrink-0 rounded-full border border-lt-border`,n===s&&`ring-2 ring-lt-ring ring-offset-1`),onClick:()=>t(n),role:`option`,style:{background:e},type:`button`},e)})}),(0,Y.jsx)(zv,{"aria-label":r,onBlur:()=>o(null),onChange:e=>{let n=e.target.value,r=Bv(n);o(n),r!==null&&t(r)},value:a??s})]})}function Hv({node:e,label:t,children:n}){let r=tv(e);return r.hidden?null:(0,Y.jsx)(Ng,{error:r.error,helperText:xp(e).helperText??void 0,tooltip:xp(e).tooltip??void 0,label:t,name:r.name,required:r.required,children:n(r)})}var Uv=({node:e})=>{let t=e.props;return(0,Y.jsx)(Hv,{node:e,label:t.label??``,children:({name:e,value:n,readOnly:r,disabled:i,commit:a})=>{let o=Bv(n);return(0,Y.jsxs)(Ed,{children:[(0,Y.jsx)(`input`,{name:e,type:`hidden`,value:o??``}),(0,Y.jsx)(Dd,{asChild:!0,children:(0,Y.jsx)(`button`,{className:J(Rv(),`flex items-center gap-2 text-left`),"data-test":`color-picker-${e}`,disabled:i||r,id:e,type:`button`,children:o?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`span`,{"aria-hidden":`true`,className:`size-4 shrink-0 rounded-full border border-lt-border`,style:{background:o}}),(0,Y.jsx)(`span`,{className:`tabular-nums`,children:o})]}):(0,Y.jsx)(`span`,{className:`text-lt-muted-fg`,children:t.placeholder??``})})}),(0,Y.jsx)(kd,{className:`p-3`,children:(0,Y.jsx)(Vv,{onChange:e=>a(e),palette:t.palette,value:o??`#6b7280`})})]})}})},Wv=(0,B.lazy)(async()=>{let{DatePickerField:e}=await p(async()=>{let{DatePickerField:e}=await import(`./chunks/date-picker-field-lX8N40Ii.js`);return{DatePickerField:e}},__vite__mapDeps([9,1,3,4]),import.meta.url);return{default:e}});function Gv(e){return(0,Y.jsx)(B.Suspense,{fallback:null,children:(0,Y.jsx)(Wv,{...e})})}var Kv=({node:e})=>{let t=e.props;return(0,Y.jsx)(Hv,{node:e,label:t.label??``,children:({name:e,testId:n,value:r,readOnly:i,disabled:a,change:o,blur:s})=>(0,Y.jsx)(Gv,{autoFocus:t.autoFocus??!1,disabled:a,label:t.label??t.name,max:t.max||void 0,min:t.min||void 0,mode:`date`,name:e,onBlur:s,onChange:o,readOnly:i,tabIndex:t.tabIndex??void 0,testId:n??t.name,value:r})})},qv=({node:e})=>{let t=e.props,{timezone:n}=fo();return(0,Y.jsx)(Hv,{node:e,label:t.label??``,children:({name:e,testId:r,value:i,readOnly:a,disabled:o,change:s,blur:c})=>(0,Y.jsx)(Gv,{autoFocus:t.autoFocus??!1,disabled:o,label:t.label??t.name,max:t.max,min:t.min,mode:`date-time`,name:e,onBlur:c,onChange:s,readOnly:a,step:t.step,tabIndex:t.tabIndex??void 0,testId:r??t.name,timezone:n,value:i})})},Jv=ff(J(`relative inline-flex shrink-0 items-center justify-center rounded-lt-sm transition-colors`,`outline-none focus-visible:ring-[length:var(--lt-ring-width)] focus-visible:ring-lt-ring/50`,`disabled:pointer-events-none disabled:bg-lt-disabled disabled:text-lt-disabled-fg`),{variants:{emphasis:{ghost:J(`text-lt-muted-fg hover:bg-lt-accent hover:text-lt-accent-fg`,`data-[state=open]:bg-lt-accent data-[state=open]:text-lt-accent-fg`,`aria-pressed:bg-lt-accent aria-pressed:text-lt-accent-fg`),segmented:J(`-ml-px rounded-l-none border border-lt-input text-lt-muted-fg hover:bg-lt-accent hover:text-lt-accent-fg`,`data-[state=open]:z-10 data-[state=open]:border-lt-primary data-[state=open]:text-lt-fg`)},size:{xs:`size-5 [&_svg]:size-lt-icon-sm`,sm:`size-7 [&_svg]:size-lt-icon-md`,md:`size-lt-control-md [&_svg]:size-lt-icon-md`}},defaultVariants:{emphasis:`ghost`,size:`sm`}});function Yv({icon:e,label:t,active:n,size:r,emphasis:i,className:a,children:o,ref:s,...c}){return(0,Y.jsxs)(`button`,{ref:s,type:`button`,"aria-label":t,"aria-pressed":n,className:J(Jv({emphasis:i,size:r}),a),...c,children:[e?(0,Y.jsx)(X,{name:e,"aria-hidden":`true`}):null,o]})}function Xv(e,t){return Array.isArray(t)?Array.isArray(e)&&e.length===t.length&&e.every((e,n)=>e===t[n]):e===t}var Zv=({node:e})=>{let{t}=W(`lattice`),n=e.props,{hidden:r,required:i,readOnly:a,disabled:o}=Kg(e),{action:s,componentRef:c,errors:l}=gp(),u=n.name,d=Vp(),f=d?d.scopedName(u):u,p=d?d.errorKey(u):u,m=p,h=nm(),g=am(),_=(0,B.useId)(),v=(0,B.useRef)(null),y=(0,B.useRef)(new Set),b=a||o,x=n.signed,S=n.multiple,C=S?`${f}[]`:f,[w,E]=(0,B.useState)((0,B.useMemo)(()=>(n.files??[]).map(e=>({id:crypto.randomUUID(),name:e.name,size:e.size,status:`ready`,progress:100,key:e.key,url:e.url,token:e.token,existing:!0})),[n.files])),[D,O]=(0,B.useState)([]);(0,B.useEffect)(()=>{if(!x)return;let e=w.filter(e=>!e.existing&&e.key&&e.status===`ready`).map(e=>e.key),t=S?e:e[0]??``;if(d){Xv(d.getValue(u),t)||d.setValue(u,t);return}g(u,t)},[w,S,u,d,g,x]),(0,B.useEffect)(()=>{!x||d||g(`${u}__removed`,D)},[u,D,d,g,x]),(0,B.useEffect)(()=>()=>{y.current.forEach(e=>URL.revokeObjectURL(e)),y.current.clear()},[]);let k=(0,B.useMemo)(()=>w.filter(e=>e.file&&!e.existing).map(e=>e.file),[w]);(0,B.useEffect)(()=>{if(x||!v.current)return;let e=new DataTransfer;k.forEach(t=>e.items.add(t)),v.current.files=e.files},[k,x]);function A(e){if(!n.image)return;let t=URL.createObjectURL(e);return y.current.add(t),t}function j(e){!e.url||!y.current.has(e.url)||(URL.revokeObjectURL(e.url),y.current.delete(e.url))}async function M(e,t){let n=await z(s,{method:`POST`,ref:c,body:JSON.stringify({...h,_sub:`upload`,_target:m,filename:t.name,contentType:t.type}),throwOnError:!1});if(!n.ok){E(t=>t.map(t=>t.id===e.id?{...t,status:`error`}:t));return}let r=await n.json();await new Promise(n=>{let i=new XMLHttpRequest;i.open(r.method.toUpperCase(),r.url,!0),Object.entries(r.headers).forEach(([e,t])=>i.setRequestHeader(e,String(t))),i.upload.onprogress=t=>{if(t.lengthComputable){let n=Math.round(t.loaded/t.total*100);E(t=>t.map(t=>t.id===e.id?{...t,progress:n}:t))}},i.onload=()=>{E(t=>t.map(t=>t.id===e.id?{...t,status:i.status<300?`ready`:`error`,key:r.key,progress:100}:t)),n()},i.onerror=()=>{E(t=>t.map(t=>t.id===e.id?{...t,status:`error`}:t)),n()},i.send(t)})}function N(e){if(!e||b)return;let t=Array.from(e),n=t.map(e=>({id:crypto.randomUUID(),name:e.name,size:e.size,status:x?`uploading`:`ready`,progress:0,file:e,url:A(e),existing:!1}));if(!S&&(w.forEach(j),!d)){let e=w.filter(e=>e.existing&&e.token).map(e=>e.token);e.length>0&&O(t=>[...t,...e])}E(e=>S?[...e,...n]:n),x&&n.forEach((e,n)=>void M(e,t[n]))}function P(e){let t=w.find(t=>t.id===e);t&&j(t),t?.existing&&t.token&&!d&&O(e=>[...e,t.token]),E(t=>t.filter(t=>t.id!==e))}return r?null:(0,Y.jsx)(Ng,{error:l[p],helperText:n.helperText??void 0,tooltip:n.tooltip??void 0,label:n.label??``,name:u,required:i,children:(0,Y.jsxs)(`div`,{className:`flex flex-col gap-3 rounded-lt-sm border border-dashed border-lt-border bg-lt-surface px-4 py-6`,"data-test":T(u),onDragOver:e=>e.preventDefault(),onDrop:e=>{e.preventDefault(),N(e.dataTransfer.files)},children:[(0,Y.jsx)(`button`,{className:`text-sm text-lt-muted-fg`,disabled:b,onClick:()=>v.current?.click(),type:`button`,children:t(`form.file-upload.dropzone`,`Drop files here or click to browse`)}),(0,Y.jsx)(`ul`,{className:n.image?`grid grid-cols-1 gap-3 sm:grid-cols-2`:`flex flex-col gap-2`,children:w.map(e=>(0,Y.jsxs)(`li`,{className:n.image?`flex min-w-0 items-center gap-3 rounded-lt-sm border border-lt-border bg-lt-bg p-2 text-sm`:`flex items-center justify-between gap-3 text-sm`,children:[n.image&&e.url?(0,Y.jsx)(`img`,{alt:e.name,className:`size-16 shrink-0 rounded-lt-sm border border-lt-border object-cover`,"data-test":T(`${u}-preview`),src:e.url}):null,(0,Y.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,Y.jsx)(`span`,{className:`block truncate`,"data-test":T(`${u}-item`),children:e.name}),e.status===`uploading`&&(0,Y.jsxs)(`span`,{className:`text-xs text-lt-muted-fg`,children:[e.progress,`%`]}),e.status===`error`&&(0,Y.jsx)(`span`,{className:`text-xs text-lt-danger`,children:t(`form.file-upload.failed`,`Failed`)})]}),(!e.existing||!d)&&(0,Y.jsx)(Yv,{size:`sm`,icon:`x`,label:t(`form.file-upload.remove`,`Remove {{name}}`,{name:e.name}),"data-test":T(e.existing?`${u}-remove-existing`:`${u}-remove`),disabled:b,onClick:()=>P(e.id)}),x&&!e.existing&&e.key&&e.status===`ready`&&(0,Y.jsx)(`input`,{"data-test":T(`${u}-uploaded`),name:C,type:`hidden`,value:e.key})]},e.id))}),!d&&D.map(e=>(0,Y.jsx)(`input`,{name:`${u}__removed[]`,type:`hidden`,value:e},e)),(0,Y.jsx)(`input`,{accept:n.accept??void 0,"aria-label":n.label??u,className:`sr-only`,"data-test":T(`${u}-input`),id:_,multiple:S,name:x?void 0:C,onChange:e=>{N(e.target.files),x&&(e.target.value=``)},ref:v,type:`file`})]})})};function Qv({label:e,summaryLabel:t,variant:n,emphasis:r}){let{componentId:i,errors:a,fieldLabels:o,processing:s}=gp(),c=Object.entries(a).filter(([,e])=>!!e).map(([e,t])=>({label:o[e]??e,message:t})),l=c.length>0;return(0,Y.jsxs)(`span`,{className:`group relative inline-flex flex-col`,children:[(0,Y.jsxs)($,{"data-lattice-form":i,"data-test":`form-submit`,disabled:s||l,emphasis:r,type:`submit`,variant:n,children:[s&&(0,Y.jsx)(up,{}),e]}),l&&(0,Y.jsxs)(`div`,{className:`pointer-events-none absolute bottom-full left-1/2 z-lt-popover mb-2 w-max max-w-xs -translate-x-1/2 rounded-lt border border-lt-border bg-lt-surface p-3 text-left text-sm opacity-0 shadow-lt-md transition-opacity group-hover:opacity-100`,role:`tooltip`,children:[(0,Y.jsx)(`p`,{className:`mb-1 font-medium text-lt-fg`,children:t}),(0,Y.jsx)(`ul`,{className:`space-y-1`,children:c.map(e=>(0,Y.jsxs)(`li`,{className:`text-lt-muted-fg`,children:[(0,Y.jsx)(`span`,{className:`font-medium text-lt-fg`,children:e.label}),` — `,e.message]},e.label))})]})]})}var $v={start:`justify-start`,center:`justify-center`,end:`justify-end`,between:`justify-between`,around:`justify-around`,evenly:`justify-evenly`};function ey({componentId:e,reset:t}){let n=om();return Qt(a.resetForm,r=>{let i=r.detail;(!i?.form||i.form===e)&&(t(),n())}),null}function ty({action:e,children:t,componentRef:n,nodes:r,shouldRenderSubmitButton:i,submitButtons:a,submitEmphasis:o,submitJustify:s,submitLabel:c,submitVariant:l,summaryLabel:u}){let{nodes:d,markUserEdit:f}=Sm(e,n,r);return(0,Y.jsx)(vp,{value:(0,B.useMemo)(()=>({markUserEdit:f}),[f]),children:(0,Y.jsx)(Up,{nodes:d,children:(0,Y.jsxs)(`div`,{className:`flex flex-col gap-6`,children:[t,i&&(0,Y.jsx)(`div`,{className:`flex gap-3 ${$v[s??`end`]}`,children:a?.length?a.map((e,t)=>e.props.buttonType===`submit`?(0,Y.jsx)(Qv,{emphasis:e.props.emphasis??o,label:e.props.label??c,summaryLabel:u,variant:e.props.variant??l},Ur(e,t)):(0,Y.jsx)(Yr,{node:e},Ur(e,t))):(0,Y.jsx)(Qv,{emphasis:o,label:c,summaryLabel:u,variant:l})})]})})})}function ny(e){return!e||Array.isArray(e)&&e.length===0?!1:Array.isArray(e)?e:void 0}var ry=({children:e,node:t})=>(0,Y.jsx)(em,{initial:(0,B.useMemo)(()=>({...Cm(t.schema).values,...t.props.state}),[t.schema,t.props.state]),children:(0,Y.jsx)(iy,{node:t,children:e})});function iy({children:e,node:t}){let{t:n}=W(`lattice`),r=t.props,i=r.action??`#`,a=r.errorBag,o=r.ref??``,s=r.method??`post`,c=r.precognitive,l=r.resetOnError??!1,d=r.resetOnSuccess??[],f=(0,B.useMemo)(()=>Cm(t.schema).labels,[t.schema]),p=r.submitButton,m=r.submitButtons??void 0,h=r.submitJustify??void 0,g=r.submitLabel??n(`form.submit`,`Submit`),_=r.submitVariant??void 0,v=r.submitEmphasis??void 0,y=r.validationSummaryLabel,b=r.validationTimeout??void 0,x=om(),S=e=>{let t=ny(e);t!==!1&&x(t)},C=(0,B.useRef)(null),w=(0,B.useRef)(`idle`),[T,E]=(0,B.useState)(0);return(0,B.useEffect)(()=>{T>0&&w.current===`renewing`&&C.current?.submit()},[T]),(0,Y.jsx)(u,{ref:C,action:i,"data-slot":`form`,"data-lattice-component":t.id,errorBag:a,method:s,resetOnError:l,resetOnSuccess:d,validationTimeout:c?b:void 0,headers:P(o),className:`mx-auto flex w-full max-w-2xl flex-col gap-6`,onStart:()=>{w.current=w.current===`renewing`?`retried`:`idle`},onSuccess:()=>S(d),onError:()=>S(l),onHttpException:e=>{if(!(e.status!==403||o===``||w.current===`retried`))return w.current=`renewing`,ae(o).finally(()=>E(e=>e+1)),!1},children:({clearErrors:n,errors:a,processing:s,reset:l,touch:u,validate:d,validating:b})=>(0,Y.jsxs)(hp,{value:{action:i,clearErrors:e=>n(e),componentId:t.id,componentRef:o,errors:a,fieldLabels:f,precognitive:c,processing:s,touch:e=>u(...e),validate:e=>d(e),validateFields:(e,t)=>d({only:e,...t}),validating:b},children:[(0,Y.jsx)(ey,{componentId:t.id,reset:l}),r.status&&(0,Y.jsx)(`div`,{className:`text-center text-sm font-medium text-lt-success`,children:r.status}),(0,Y.jsx)(ty,{action:i,componentRef:o,nodes:t.schema,shouldRenderSubmitButton:p,submitButtons:m,submitEmphasis:v,submitJustify:h,submitLabel:g,submitVariant:_,summaryLabel:y,children:e})]})})}var ay=({node:e})=>{let t=Vp(),n=e.props.name,r=t?t.getValue(n):e.props.value;return(0,Y.jsx)(`input`,{defaultValue:typeof r==`string`?r:``,name:t?t.scopedName(n):n,type:`hidden`})};function oy({affix:e,side:t,squared:n=!1}){return(0,Y.jsx)(`span`,{"data-slot":`affix-${t}`,className:J(`inline-flex h-lt-control-md shrink-0 items-center border border-lt-input bg-lt-muted px-3 text-base whitespace-nowrap text-lt-muted-fg`,`group-has-[:focus-visible]:border-lt-ring`,t===`start`?`rounded-l-lt-sm border-r-0`:`rounded-r-lt-sm border-l-0`,n&&`rounded-r-none border-r-0`),children:e.icon?(0,Y.jsx)(Br,{className:`size-lt-icon-md`,icon:e.icon}):e.text})}function sy({prefix:e,suffix:t,end:n,children:r}){return!e&&!t&&!n?r(``):(0,Y.jsxs)(`div`,{className:`group flex w-full rounded-lt-sm transition-[color,box-shadow] has-[:focus-visible]:ring-[length:var(--lt-ring-width)] has-[:focus-visible]:ring-lt-ring/50`,"data-slot":`affix-group`,children:[e?(0,Y.jsx)(oy,{affix:e,side:`start`}):null,(0,Y.jsx)(`div`,{className:`min-w-0 flex-1`,children:r(J(`focus-visible:ring-0`,e&&`rounded-l-none`,(t||n)&&`rounded-r-none`))}),t?(0,Y.jsx)(oy,{affix:t,side:`end`,squared:!!n}):null,n]})}var cy=({node:e})=>{let t=e.props;return(0,Y.jsx)(Hv,{node:e,label:t.label??``,children:({name:e,testId:n,value:r,readOnly:i,disabled:a,commit:o})=>{let s=e=>o(e.target.value);return t.slider?(0,Y.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,Y.jsx)(`input`,{"aria-label":t.label??``,className:`h-2 w-full cursor-pointer appearance-none rounded-lt-sm bg-lt-muted accent-lt-primary disabled:cursor-not-allowed disabled:accent-lt-disabled`,"data-test":n,disabled:a||i,id:e,max:t.max??void 0,min:t.min??void 0,name:e,onChange:s,step:t.step??void 0,tabIndex:t.tabIndex??void 0,type:`range`,value:r}),(0,Y.jsx)(`output`,{className:`w-10 shrink-0 text-right text-sm tabular-nums text-lt-fg`,children:r})]}):(0,Y.jsx)(sy,{prefix:t.prefix,suffix:t.suffix,children:o=>(0,Y.jsx)(zv,{autoFocus:t.autoFocus??!1,className:o,"data-test":n,disabled:a,id:e,max:t.max??void 0,min:t.min??void 0,name:e,onChange:s,placeholder:t.placeholder??``,readOnly:i,step:t.step??void 0,tabIndex:t.tabIndex??void 0,type:`number`,value:r})})}})},ly=Object.defineProperty,uy=Object.defineProperties,dy=Object.getOwnPropertyDescriptors,fy=Object.getOwnPropertySymbols,py=Object.prototype.hasOwnProperty,my=Object.prototype.propertyIsEnumerable,hy=(e,t,n)=>t in e?ly(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,gy=(e,t)=>{for(var n in t||={})py.call(t,n)&&hy(e,n,t[n]);if(fy)for(var n of fy(t))my.call(t,n)&&hy(e,n,t[n]);return e},_y=(e,t)=>uy(e,dy(t)),vy=(e,t)=>{var n={};for(var r in e)py.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&fy)for(var r of fy(e))t.indexOf(r)<0&&my.call(e,r)&&(n[r]=e[r]);return n};function yy(e){return[setTimeout(e,0),setTimeout(e,10),setTimeout(e,50)]}function by(e){let t=B.useRef();return B.useEffect(()=>{t.current=e}),t.current}var xy=18,Sy=40,Cy=`${Sy}px`,wy=[`[data-lastpass-icon-root]`,`com-1password-button`,`[data-dashlanecreated]`,`[style$="2147483647 !important;"]`].join(`,`);function Ty({containerRef:e,inputRef:t,pushPasswordManagerStrategy:n,isFocused:r}){let[i,a]=B.useState(!1),[o,s]=B.useState(!1),[c,l]=B.useState(!1),u=B.useMemo(()=>n===`none`?!1:(n===`increase-width`||n===`experimental-no-flickering`)&&i&&o,[i,o,n]),d=B.useCallback(()=>{let r=e.current,i=t.current;if(!r||!i||c||n===`none`)return;let o=r,s=o.getBoundingClientRect().left+o.offsetWidth,u=o.getBoundingClientRect().top+o.offsetHeight/2,d=s-xy,f=u;document.querySelectorAll(wy).length===0&&document.elementFromPoint(d,f)===r||(a(!0),l(!0))},[e,t,c,n]);return B.useEffect(()=>{let t=e.current;if(!t||n===`none`)return;function r(){s(window.innerWidth-t.getBoundingClientRect().right>=Sy)}r();let i=setInterval(r,1e3);return()=>{clearInterval(i)}},[e,n]),B.useEffect(()=>{let e=r||document.activeElement===t.current;if(n===`none`||!e)return;let i=setTimeout(d,0),a=setTimeout(d,2e3),o=setTimeout(d,5e3),s=setTimeout(()=>{l(!0)},6e3);return()=>{clearTimeout(i),clearTimeout(a),clearTimeout(o),clearTimeout(s)}},[t,r,n,d]),{hasPWMBadge:i,willPushPWMBadge:u,PWM_BADGE_SPACE_WIDTH:Cy}}var Ey=B.createContext({}),Dy=B.forwardRef((e,t)=>{var n=e,{value:r,onChange:i,maxLength:a,textAlign:o=`left`,pattern:s,placeholder:c,inputMode:l=`numeric`,onComplete:u,pushPasswordManagerStrategy:d=`increase-width`,pasteTransformer:f,containerClassName:p,noScriptCSSFallback:m=ky,render:h,children:g}=n,_=vy(n,[`value`,`onChange`,`maxLength`,`textAlign`,`pattern`,`placeholder`,`inputMode`,`onComplete`,`pushPasswordManagerStrategy`,`pasteTransformer`,`containerClassName`,`noScriptCSSFallback`,`render`,`children`]),v;let[y,b]=B.useState(typeof _.defaultValue==`string`?_.defaultValue:``),x=r??y,S=by(x),C=B.useCallback(e=>{i?.(e),b(e)},[i]),w=B.useMemo(()=>s?typeof s==`string`?new RegExp(s):s:null,[s]),T=B.useRef(null),E=B.useRef(null),D=B.useRef({value:x,onChange:C,isIOS:typeof window<`u`&&((v=window==null?void 0:window.CSS)?.supports)?.call(v,`-webkit-touch-callout`,`none`)}),O=B.useRef({prev:[T.current?.selectionStart,T.current?.selectionEnd,T.current?.selectionDirection]});B.useImperativeHandle(t,()=>T.current,[]),B.useEffect(()=>{let e=T.current,t=E.current;if(!e||!t)return;D.current.value!==e.value&&D.current.onChange(e.value),O.current.prev=[e.selectionStart,e.selectionEnd,e.selectionDirection];function n(){if(document.activeElement!==e){P(null),I(null);return}let t=e.selectionStart,n=e.selectionEnd,r=e.selectionDirection,i=e.maxLength,a=e.value,o=O.current.prev,s=-1,c=-1,l;if(a.length!==0&&t!==null&&n!==null){let e=t===n,r=t===a.length&&a.length<i;if(e&&!r){let e=t;if(e===0)s=0,c=1,l=`forward`;else if(e===i)s=e-1,c=e,l=`backward`;else if(i>1&&a.length>1){let t=0;if(o[0]!==null&&o[1]!==null){l=e<o[1]?`backward`:`forward`;let n=o[0]===o[1]&&o[0]<i;l===`backward`&&!n&&(t=-1)}s=t+e,c=t+e+1}}s!==-1&&c!==-1&&s!==c&&T.current.setSelectionRange(s,c,l)}let u=s===-1?t:s,d=c===-1?n:c,f=l??r;P(u),I(d),O.current.prev=[u,d,f]}if(document.addEventListener(`selectionchange`,n,{capture:!0}),n(),document.activeElement===e&&M(!0),!document.getElementById(`input-otp-style`)){let e=document.createElement(`style`);if(e.id=`input-otp-style`,document.head.appendChild(e),e.sheet){let t=`background: transparent !important; color: transparent !important; border-color: transparent !important; opacity: 0 !important; box-shadow: none !important; -webkit-box-shadow: none !important; -webkit-text-fill-color: transparent !important;`;Oy(e.sheet,`[data-input-otp]::selection { background: transparent !important; color: transparent !important; }`),Oy(e.sheet,`[data-input-otp]:autofill { ${t} }`),Oy(e.sheet,`[data-input-otp]:-webkit-autofill { ${t} }`),Oy(e.sheet,`@supports (-webkit-touch-callout: none) { [data-input-otp] { letter-spacing: -.6em !important; font-weight: 100 !important; font-stretch: ultra-condensed; font-optical-sizing: none !important; left: -1px !important; right: 1px !important; } }`),Oy(e.sheet,`[data-input-otp] + * { pointer-events: all !important; }`)}}let r=()=>{t&&t.style.setProperty(`--root-height`,`${e.clientHeight}px`)};r();let i=new ResizeObserver(r);return i.observe(e),()=>{document.removeEventListener(`selectionchange`,n,{capture:!0}),i.disconnect()}},[]);let[k,A]=B.useState(!1),[j,M]=B.useState(!1),[N,P]=B.useState(null),[F,I]=B.useState(null);B.useEffect(()=>{yy(()=>{var e;(e=T.current)==null||e.dispatchEvent(new Event(`input`));let t=T.current?.selectionStart,n=T.current?.selectionEnd,r=T.current?.selectionDirection;t!==null&&n!==null&&(P(t),I(n),O.current.prev=[t,n,r])})},[x,j]),B.useEffect(()=>{S!==void 0&&x!==S&&S.length<a&&x.length===a&&u?.(x)},[a,u,S,x]);let ee=Ty({containerRef:E,inputRef:T,pushPasswordManagerStrategy:d,isFocused:j}),te=B.useCallback(e=>{let t=e.currentTarget.value.slice(0,a);if(t.length>0&&w&&!w.test(t)){e.preventDefault();return}typeof S==`string`&&t.length<S.length&&document.dispatchEvent(new Event(`selectionchange`)),C(t)},[a,C,S,w]),ne=B.useCallback(()=>{var e;if(T.current){let t=Math.min(T.current.value.length,a-1),n=T.current.value.length;(e=T.current)==null||e.setSelectionRange(t,n),P(t),I(n)}M(!0)},[a]),re=B.useCallback(e=>{let t=T.current;if(!f&&(!D.current.isIOS||!e.clipboardData||!t))return;let n=e.clipboardData.getData(`text/plain`),r=f?f(n):n;e.preventDefault();let i=T.current?.selectionStart,o=T.current?.selectionEnd,s=(i===o?x.slice(0,i)+r+x.slice(i):x.slice(0,i)+r+x.slice(o)).slice(0,a);if(s.length>0&&w&&!w.test(s))return;t.value=s,C(s);let c=Math.min(s.length,a-1),l=s.length;t.setSelectionRange(c,l),P(c),I(l)},[a,C,w,x]),L=B.useMemo(()=>({position:`relative`,cursor:_.disabled?`default`:`text`,userSelect:`none`,WebkitUserSelect:`none`,pointerEvents:`none`}),[_.disabled]),R=B.useMemo(()=>({position:`absolute`,inset:0,width:ee.willPushPWMBadge?`calc(100% + ${ee.PWM_BADGE_SPACE_WIDTH})`:`100%`,clipPath:ee.willPushPWMBadge?`inset(0 ${ee.PWM_BADGE_SPACE_WIDTH} 0 0)`:void 0,height:`100%`,display:`flex`,textAlign:o,opacity:`1`,color:`transparent`,pointerEvents:`all`,background:`transparent`,caretColor:`transparent`,border:`0 solid transparent`,outline:`0 solid transparent`,boxShadow:`none`,lineHeight:`1`,letterSpacing:`-.5em`,fontSize:`var(--root-height)`,fontFamily:`monospace`,fontVariantNumeric:`tabular-nums`}),[ee.PWM_BADGE_SPACE_WIDTH,ee.willPushPWMBadge,o]),ie=B.useMemo(()=>B.createElement(`input`,_y(gy({autoComplete:_.autoComplete||`one-time-code`},_),{"data-input-otp":!0,"data-input-otp-placeholder-shown":x.length===0||void 0,"data-input-otp-mss":N,"data-input-otp-mse":F,inputMode:l,pattern:w?.source,"aria-placeholder":c,style:R,maxLength:a,value:x,ref:T,onPaste:e=>{var t;re(e),(t=_.onPaste)==null||t.call(_,e)},onChange:te,onMouseOver:e=>{var t;A(!0),(t=_.onMouseOver)==null||t.call(_,e)},onMouseLeave:e=>{var t;A(!1),(t=_.onMouseLeave)==null||t.call(_,e)},onFocus:e=>{var t;ne(),(t=_.onFocus)==null||t.call(_,e)},onBlur:e=>{var t;M(!1),(t=_.onBlur)==null||t.call(_,e)}})),[te,ne,re,l,R,a,F,N,_,w?.source,x]),ae=B.useMemo(()=>({slots:Array.from({length:a}).map((e,t)=>{let n=j&&N!==null&&F!==null&&(N===F&&t===N||t>=N&&t<F),r=x[t]===void 0?null:x[t];return{char:r,placeholderChar:x[0]===void 0?c?.[t]??null:null,isActive:n,hasFakeCaret:n&&r===null}}),isFocused:j,isHovering:!_.disabled&&k}),[j,k,a,F,N,_.disabled,x]),z=B.useMemo(()=>h?h(ae):B.createElement(Ey.Provider,{value:ae},g),[g,ae,h]);return B.createElement(B.Fragment,null,m!==null&&B.createElement(`noscript`,null,B.createElement(`style`,null,m)),B.createElement(`div`,{ref:E,"data-input-otp-container":!0,style:L,className:p},z,B.createElement(`div`,{style:{position:`absolute`,inset:0,pointerEvents:`none`}},ie)))});Dy.displayName=`Input`;function Oy(e,t){try{e.insertRule(t)}catch{console.error(`input-otp could not insert CSS rule:`,t)}}var ky=`
47
+ `);r=a.pop()??``;for(let e of a){if(e.trim()===``)continue;let t=Xm(e);t&&(yield t)}}if(r+=n.decode(),r.trim()!==``){let e=Xm(r);e&&(yield e)}}finally{await t.cancel().catch(()=>{})}}var eh=0;function th(){return eh+=1,`chat-${eh}`}function nh(e){return e instanceof DOMException&&e.name===`AbortError`}function rh(e){return e instanceof Error?e.message:String(e)}function ih(e){let t=e.at(-1);return t!==void 0&&t.role===`assistant`}function ah(e,t){if(!ih(e))return e;let n=e.length-1,r=e[n];if(t.type===`text`){let i=[...r.parts],a=i.length-1,o=i[a];o!==void 0&&o.type===`chat.part.text`?i[a]={type:`chat.part.text`,props:{text:`${o.props.text}${t.value}`}}:i.push({type:`chat.part.text`,props:{text:t.value}});let s=[...e];return s[n]={...r,parts:i},s}if(t.type===`part`){let i=[...e];return i[n]={...r,parts:[...r.parts,t.part]},i}return e}function oh({endpoint:e,transport:t=Zm,initialMessages:n=[],generateId:r=th}){let[i,a]=(0,B.useState)(n),[o,s]=(0,B.useState)(`idle`),[c,l]=(0,B.useState)(null),u=(0,B.useRef)(null),d=(0,B.useRef)(null),f=(0,B.useRef)(i);f.current=i;let p=(0,B.useCallback)(e=>{f.current=e,a(e)},[]),m=(0,B.useCallback)(async(n,i)=>{u.current?.abort();let a=new AbortController;u.current=a,l(null),s(`submitted`);let o={id:r(),role:`user`,parts:[{type:`chat.part.text`,props:{text:i}}]},c={id:r(),role:`assistant`,parts:[]};p([...n,o,c]),s(`streaming`);try{for await(let n of t({url:e,body:{message:i},signal:a.signal})){if(n.type===`done`){s(`idle`);continue}if(n.type===`error`){l(n.message??`Chat failed`),s(`error`);continue}p(ah(f.current,n))}s(e=>e===`streaming`||e===`submitted`?`idle`:e)}catch(e){if(nh(e)){s(`idle`);return}l(rh(e)),s(`error`)}},[p,e,r,t]),h=(0,B.useCallback)(e=>{let t=e.trim();t!==``&&(d.current=t,m(f.current,t))},[m]),g=(0,B.useCallback)(()=>{u.current?.abort(),s(`idle`)},[]),_=(0,B.useCallback)(()=>{let e=d.current;if(e===null)return;let t=f.current;m(ih(t)?t.slice(0,-2):t,e)},[m]);return(0,B.useEffect)(()=>()=>{u.current?.abort()},[]),{messages:i,status:o,error:c,sendMessage:h,setMessages:p,stop:g,regenerate:_}}function sh({message:e}){let t=e.role===`user`;return(0,Y.jsx)(`div`,{className:J(`flex flex-col gap-1`,t?`items-end`:`items-start`),"data-test":T(`chat-message-${e.role}`),children:(0,Y.jsx)(`div`,{className:J(`max-w-[80%] rounded-lt px-3 py-2 text-sm`,t?`bg-lt-primary text-lt-primary-fg`:`bg-lt-muted text-lt-fg`),children:e.parts.map((e,t)=>(0,Y.jsx)(Yr,{node:e},e.key??t))})})}function ch({messages:e}){let t=(0,B.useRef)(null),n=e.at(-1),r=n?.parts.at(-1)===void 0?0:JSON.stringify(n.parts.at(-1)).length;return(0,B.useEffect)(()=>{t.current&&typeof t.current.scrollIntoView==`function`&&t.current.scrollIntoView({behavior:`smooth`})},[e.length,r]),(0,Y.jsxs)(`div`,{className:`flex flex-col gap-2 overflow-y-auto p-3`,"data-test":T(`chat-messages`),children:[e.map(e=>(0,Y.jsx)(sh,{message:e},e.id)),(0,Y.jsx)(`div`,{ref:t})]})}function lh({onSubmit:e,disabled:t=!1,placeholder:n}){let{t:r}=W(`lattice`),[i,a]=(0,B.useState)(``);function o(){let n=i.trim();n===``||t||(e(n),a(``))}function s(e){e.key===`Enter`&&!e.shiftKey&&(e.preventDefault(),o())}return(0,Y.jsxs)(`div`,{className:`flex items-end gap-2 border-t border-lt-border p-3`,children:[(0,Y.jsx)(`textarea`,{"aria-label":r(`common.chat.input-label`,`Message input`),className:J(`min-h-[2.5rem] flex-1 resize-none rounded-lt-sm border border-lt-input bg-lt-bg px-3 py-2 text-sm text-lt-fg placeholder:text-lt-muted-fg focus:outline-none focus:ring-[length:var(--lt-ring-width)] focus:ring-lt-ring/50 disabled:bg-lt-disabled disabled:text-lt-disabled-fg`),"data-test":T(`chat-input`),disabled:t,onChange:e=>a(e.target.value),onKeyDown:s,placeholder:n,rows:1,value:i}),(0,Y.jsx)($,{"data-test":T(`chat-send`),disabled:t,onClick:o,size:`sm`,type:`button`,children:r(`common.chat.send`,`Send`)})]})}var uh=Pe({name:`lattice/chat`,components:{"chat.box":V(({node:e})=>{let t=e.props,{t:n}=W(`lattice`),r=(0,B.useMemo)(()=>t.remote?Qm(t.remote):Zm,[t.remote]),{messages:i,status:a,error:o,sendMessage:s,setMessages:c}=oh({endpoint:t.streamEndpoint??``,transport:r}),l=(0,B.useRef)(!1),u=(0,B.useCallback)(async()=>{if(l.current||!t.historyEndpoint)return;if(l.current=!0,t.remote){c((await pe(t.historyEndpoint,{remote:t.remote})).messages);return}let e=await z(t.historyEndpoint,{throwOnError:!1});e.ok&&c((await e.json()).messages)},[t.historyEndpoint,t.remote,c]);(0,B.useEffect)(()=>{u().catch(()=>{})},[u]);let d=a===`submitted`||a===`streaming`||!t.streamEndpoint;return(0,Y.jsxs)(`div`,{className:J(`flex flex-col overflow-hidden border border-lt-border bg-lt-bg`,t.fill?`sticky top-0 h-full min-h-[28rem] w-full`:`h-[28rem] w-80 rounded-lt shadow-lt-lg`),"data-test":T(`chat-box`),children:[(0,Y.jsx)(`div`,{className:`flex items-center border-b border-lt-border px-3 py-2`,children:(0,Y.jsx)(`span`,{className:`text-sm font-medium text-lt-fg`,children:t.title??n(`common.chat.title`,`Chat`)})}),(0,Y.jsx)(`div`,{className:`flex-1 overflow-y-auto`,children:(0,Y.jsx)(ch,{messages:i})}),o?(0,Y.jsx)(`div`,{className:`border-t border-lt-danger/40 px-3 py-2 text-xs text-lt-danger`,children:o}):null,(0,Y.jsx)(lh,{disabled:d,onSubmit:s,placeholder:t.placeholder??void 0})]})}),"chat.part.text":V(({node:e})=>(0,Y.jsx)(`div`,{className:`whitespace-pre-wrap text-sm`,children:e.props.text})),"chat.part.tool-call":V(({node:e})=>(0,Y.jsxs)(`div`,{className:`mt-1 inline-flex items-center gap-1 rounded-lt-sm bg-lt-muted px-2 py-0.5 font-mono text-xs text-lt-muted-fg`,"data-test":T(`chat-tool-call`),children:[`🔧 `,e.props.name,`(`,JSON.stringify(e.props.args),`)`]}))}}),dh={xs:`size-6 text-[0.5rem]`,sm:`size-8 text-xs`,md:`size-10 text-sm`,lg:`size-12 text-base`,xl:`size-16 text-lg`,"2xl":`size-20 text-xl`,"3xl":`size-24 text-2xl`,"4xl":`size-32 text-3xl`};function fh(e){return e.trim().split(/\s+/).slice(0,2).map(e=>e.charAt(0).toUpperCase()).join(``)}function ph(){return(0,Y.jsxs)(`svg`,{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:2,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,className:`size-[60%]`,children:[(0,Y.jsx)(`path`,{d:`M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2`}),(0,Y.jsx)(`circle`,{cx:`12`,cy:`7`,r:`4`})]})}var mh=({node:e})=>{let{src:t,name:n,size:r}=e.props,i=n??void 0;return(0,Y.jsx)(`span`,{"data-slot":`avatar`,role:t?void 0:`img`,"aria-label":t?void 0:i,className:J(`inline-flex shrink-0 items-center justify-center overflow-hidden rounded-full bg-lt-muted font-medium text-lt-muted-fg select-none`,dh[r]),children:t?(0,Y.jsx)(`img`,{src:t,alt:i??``,className:`size-full object-cover`}):n?fh(n):(0,Y.jsx)(ph,{})})},hh=new Set([`default`,`muted`,`primary`,`success`,`info`,`warning`,`danger`,`gray`,`red`,`orange`,`yellow`,`green`,`blue`,`purple`]);function gh(e){return{kind:`named`,value:e,dark:null}}function _h(e){if(typeof e==`string`&&e!==``)return hh.has(e)?gh(e):{kind:`css`,value:e,dark:null};if(typeof e==`object`&&e&&`kind`in e&&`value`in e)return e}function vh(e){return e.kind===`named`?`var(--lt-color-${e.value})`:e.dark===null?e.value:`light-dark(${e.value}, ${e.dark})`}function yh(e){if(e.kind===`named`)return{className:`lt-tone-${e.value}`};let t=vh(e);return{style:{"--lt-tone-bg":`color-mix(in oklab, ${t} 12%, transparent)`,"--lt-tone-fg":t}}}function bh({color:e,className:t,style:n,...r}){let i=yh(_h(e??void 0)??gh(`gray`));return(0,Y.jsx)(`span`,{"data-slot":`badge`,className:J(`lt-badge`,i.className,t),style:{...i.style,...n},...r})}var xh=({node:e})=>(0,Y.jsx)(bh,{color:e.props.color,children:e.props.label});function Sh({content:e}){let{t}=W(`lattice`);return e?(0,Y.jsxs)(Ed,{children:[(0,Y.jsx)(Dd,{type:`button`,"aria-label":t(`common.more-info`,`More information`),className:`ml-1 inline-flex rounded-lt-sm text-lt-muted-fg outline-none hover:text-lt-fg focus-visible:text-lt-fg focus-visible:ring-lt-ring/50 focus-visible:ring-[length:var(--lt-ring-width)]`,children:(0,Y.jsx)(X,{name:`info`,className:`size-lt-icon-sm`})}),(0,Y.jsx)(kd,{align:`start`,className:`max-w-xs p-3 text-sm [&_a]:underline`,dangerouslySetInnerHTML:{__html:e}})]}):null}function Ch({className:e,...t}){return(0,Y.jsx)(`article`,{"data-slot":`card`,className:J(`flex flex-col gap-6 rounded-lt border border-lt-border bg-lt-surface py-lt-gutter text-lt-surface-fg shadow-lt-sm`,e),...t})}function wh({className:e,...t}){return(0,Y.jsx)(`div`,{"data-slot":`card-header`,className:J(`flex flex-col gap-1.5 px-lt-gutter`,e),...t})}function Th({className:e,...t}){return(0,Y.jsx)(`div`,{"data-slot":`card-title`,className:J(`font-semibold leading-none`,e),...t})}function Eh({className:e,...t}){return(0,Y.jsx)(`div`,{"data-slot":`card-description`,className:J(`text-sm text-lt-muted-fg`,e),...t})}function Dh({className:e,...t}){return(0,Y.jsx)(`div`,{"data-slot":`card-content`,className:J(`px-lt-gutter`,e),...t})}var Oh=({children:e,node:t})=>{let{title:n,description:r,tooltip:i}=t.props;return(0,Y.jsxs)(Ch,{"data-lattice-component":O(t),children:[(n||r)&&(0,Y.jsxs)(wh,{children:[n&&(0,Y.jsxs)(`div`,{className:`flex items-center`,children:[(0,Y.jsx)(Th,{children:n}),(0,Y.jsx)(Sh,{content:i})]}),r&&(0,Y.jsxs)(`div`,{className:`flex items-center`,children:[(0,Y.jsx)(Eh,{children:r}),!n&&(0,Y.jsx)(Sh,{content:i})]})]}),e&&(0,Y.jsx)(Dh,{className:`flex flex-col gap-6`,children:e})]})},kh=(0,B.lazy)(()=>p(()=>import(`./chunks/chart-view-CpYsLvzR.js`),__vite__mapDeps([6,1,7,3,8,4]),import.meta.url)),Ah=({children:e,node:t})=>(0,Y.jsx)(B.Suspense,{fallback:null,children:(0,Y.jsx)(kh,{node:t,children:e})}),jh=({children:e,node:t})=>{let n=t.props.rememberState!==!1,r=Hr(t.props.trigger),i=O(t),a=`lattice:collapsible:${i??`default`}`,o=`${i??`collapsible`}-content`,[s,c]=Yd(a,t.props.collapsed===!1,n);return(0,Y.jsxs)(`div`,{"data-slot":`collapsible`,"data-lattice-component":i,children:[(0,Y.jsxs)(`div`,{"aria-controls":o,"aria-expanded":s,"data-test":D(`collapsible-toggle`,i)??`collapsible-toggle-default`,className:`flex w-full cursor-pointer items-center justify-between gap-4 rounded-lt-sm py-2 text-left text-lt-fg transition-colors hover:bg-lt-muted`,onClick:c,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),c())},role:`button`,tabIndex:0,children:[(0,Y.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-center gap-2`,children:[(0,Y.jsx)(Jr,{nodes:r}),t.props.tooltip&&(0,Y.jsx)(`span`,{role:`presentation`,onClick:e=>e.stopPropagation(),onKeyDown:e=>e.stopPropagation(),children:(0,Y.jsx)(Sh,{content:t.props.tooltip})})]}),(0,Y.jsx)(X,{name:`chevron-down`,className:J(`size-lt-icon-md shrink-0 text-lt-muted-fg transition-transform`,!s&&`-rotate-90`)})]}),s&&e&&(0,Y.jsx)(`div`,{id:o,className:`flex flex-col gap-4 pt-2`,children:e})]})};function Mh(e,t){return e===`top-start`?{left:t,top:t}:e===`top-end`?{right:t,top:t}:e===`bottom-start`?{bottom:t,left:t}:{bottom:t,right:t}}var Nh=({children:e,node:t})=>{let n=t.props.label??void 0,r=Math.max(0,t.props.offset??16),i=t.props.placement??`bottom-end`,a=t.props.trigger??[],[o,s]=(0,B.useState)(!1);if(a.length===0)return(0,Y.jsx)(`div`,{"aria-label":n,className:`fixed z-lt-popover max-w-[calc(100vw-2rem)] rounded-lt border border-lt-border bg-lt-popover p-1 text-lt-popover-fg shadow-lt-md`,"data-lattice-component":O(t),role:n?`group`:void 0,style:Mh(i,r),children:e});let c=i===`bottom-start`||i===`bottom-end`,l=i===`top-start`||i===`bottom-start`;return(0,Y.jsx)(`div`,{"aria-label":n,className:`fixed z-lt-popover max-w-[calc(100vw-2rem)]`,"data-lattice-component":O(t),role:n?`group`:void 0,style:Mh(i,r),children:(0,Y.jsxs)(`div`,{className:J(`flex w-fit gap-2`,c?`flex-col-reverse`:`flex-col`),children:[(0,Y.jsx)(`button`,{"aria-expanded":o,className:J(`inline-flex items-center gap-2 rounded-lt border border-lt-border bg-lt-popover px-3 py-1.5 text-sm font-medium text-lt-popover-fg shadow-lt-md hover:bg-lt-muted`,l?`self-start`:`self-end`),"data-test":t.key?`${t.key}-trigger`:void 0,onClick:()=>s(e=>!e),type:`button`,children:a.map((e,t)=>(0,Y.jsx)(Yr,{node:e},e.key??`${e.type}-${t}`))}),(0,Y.jsx)(`div`,{className:o?`block`:`hidden`,children:e})]})})},Ph={lg:320,md:64,sm:40,xl:384,xs:32,"2xl":448,"3xl":512,"4xl":576},Fh=({node:e})=>{let t=e.props.endpoint??``,n=e.props.lazy===!0,r=e.props.ref??``,i=Ph[e.props.size],[o,s]=(0,B.useState)(()=>e.schema??[]),[c,l]=(0,B.useState)(!n),[u,d]=(0,B.useState)(n&&t!==``),f=(0,B.useCallback)(async()=>{if(t){d(!0);try{s(Hr((await oe(t,{ref:r})).schema)),l(!0)}finally{d(!1)}}},[t,r]);return(0,B.useEffect)(()=>{!n||c||f()},[c,n,f]),(0,B.useEffect)(()=>{function t(t){t.detail?.component===e.id&&f()}return window.addEventListener(a.reloadComponent,t),()=>window.removeEventListener(a.reloadComponent,t)},[f,e.id]),(0,B.useEffect)(()=>{function e(){c&&f()}return window.addEventListener(a.localeChange,e),()=>window.removeEventListener(a.localeChange,e)},[c,f]),(0,Y.jsx)(`div`,{"data-lattice-fragment":e.id,style:u&&o.length===0?{minHeight:i}:void 0,children:u&&o.length===0?(0,Y.jsx)(pp,{className:`w-full`,style:{height:i}}):(0,Y.jsx)(Jr,{nodes:o})})},Ih=({children:e,node:t})=>{let n=Math.min(Math.max(t.props.columns??1,1),4);return(0,Y.jsx)(`div`,{"data-slot":`grid`,"data-lattice-component":O(t),className:J(`grid gap-x-4 gap-y-6`,n>=2&&`md:grid-cols-2`,n>=3&&`lg:grid-cols-3`,n>=4&&`xl:grid-cols-4`),children:e})};async function Lh(e){if(!navigator?.clipboard)return!1;try{return await navigator.clipboard.writeText(e),!0}catch{return!1}}function Rh({value:e,label:t,testId:n,className:r}){let{t:i}=W(`lattice`),[a,o]=(0,B.useState)(!1);(0,B.useEffect)(()=>{if(!a)return;let e=window.setTimeout(()=>o(!1),1500);return()=>window.clearTimeout(e)},[a]);function s(){Lh(e),o(!0)}let c=a?i(`common.copied-value`,`Copied {{label}}`,{label:t}):i(`common.copy-value`,`Copy {{label}}`,{label:t});return(0,Y.jsxs)(`button`,{type:`button`,"data-test":n,className:J(`inline-flex items-center gap-1 rounded-lt-sm border border-lt-border px-2 py-1 text-xs`,r),"aria-label":c,onClick:s,children:[(0,Y.jsx)(X,{name:a?`check`:`copy`,className:`size-lt-icon-xs`}),a?i(`common.copied`,`Copied`):i(`common.copy`,`Copy`)]})}function zh({value:e,label:t,testId:n,children:r}){return(0,Y.jsxs)(`div`,{className:`inline-flex items-center gap-2`,children:[r??e,(0,Y.jsx)(Rh,{value:e,label:t,testId:n})]})}var Bh=({node:e})=>{let{text:t,tooltip:n}=e.props,r=Math.min(Math.max(e.props.level,1),6),i=J(`max-w-3xl font-semibold tracking-normal text-balance text-lt-fg`,r===1&&`text-2xl font-bold leading-tight`,r===2&&`text-xl`,r>2&&`text-base`),a=(0,Y.jsxs)(Y.Fragment,{children:[t,(0,Y.jsx)(Sh,{content:n})]}),o;switch(r){case 1:o=(0,Y.jsx)(`h1`,{className:i,children:a});break;case 2:o=(0,Y.jsx)(`h2`,{className:i,children:a});break;case 3:o=(0,Y.jsx)(`h3`,{className:i,children:a});break;case 4:o=(0,Y.jsx)(`h4`,{className:i,children:a});break;case 5:o=(0,Y.jsx)(`h5`,{className:i,children:a});break;default:o=(0,Y.jsx)(`h6`,{className:i,children:a})}return e.props.copyable?(0,Y.jsx)(zh,{value:t,label:t,children:o}):o},Vh={xs:`size-lt-icon-xs`,sm:`size-lt-icon-sm`,md:`size-lt-icon-md`,lg:`size-lt-icon-lg`,xl:`size-lt-icon-xl`,"2xl":`size-lt-icon-2xl`,"3xl":`size-lt-icon-3xl`,"4xl":`size-lt-icon-4xl`},Hh=({node:e})=>{let{name:t,size:n,color:r,class:i}=e.props,a=(0,Y.jsx)(Br,{icon:t,className:J(Vh[n],i)}),o=_h(r);return o?(0,Y.jsx)(`span`,{className:`contents`,style:{color:vh(o)},children:a}):a};function Uh({src:e,alt:t,previewable:n,width:r,height:i,className:a,testId:o}){let{t:s}=W(`lattice`),[c,l]=(0,B.useState)(!1),u=(0,Y.jsx)(`img`,{alt:t,src:e,width:r,height:i,className:a,style:r?{width:r,height:i}:void 0});if(!n)return u;let d=s(`common.image.open-preview`,`View image`);return(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`button`,{type:`button`,"data-test":o,className:`cursor-zoom-in`,"aria-label":d,onClick:()=>l(!0),children:u}),(0,Y.jsx)(ip,{open:c,onOpenChange:l,children:(0,Y.jsxs)(cp,{"aria-describedby":void 0,className:`max-h-[90vh] w-auto max-w-[90vw] border-none bg-transparent p-0 shadow-none`,children:[(0,Y.jsx)(op,{className:`sr-only`,children:t||d}),(0,Y.jsx)(`img`,{alt:t,src:e,"data-slot":`image-lightbox`,className:`max-h-[90vh] max-w-[90vw] rounded-lt object-contain`}),(0,Y.jsx)(ap,{asChild:!0,children:(0,Y.jsx)($,{icon:`x`,"aria-label":s(`common.close`,`Close`),"data-test":`lightbox-close`,size:`icon`,emphasis:`ghost`,className:`absolute top-2 right-2 bg-lt-bg/80 hover:bg-lt-bg`})})]})})]})}var Wh=({node:e})=>{let{src:t,alt:n,size:r,circular:i,previewable:a}=e.props;return(0,Y.jsx)(Uh,{alt:n??``,className:J(`object-cover`,i?`rounded-full`:`rounded-lt-sm`),height:r??void 0,previewable:a,src:t,testId:O(e),width:r??void 0})},Gh=`text-lt-fg underline decoration-lt-border underline-offset-4 transition-colors duration-300 ease-out hover:decoration-current! dark:decoration-lt-border`;function Kh({className:e=``,children:t,...n}){return(0,Y.jsx)(C,{className:J(Gh,e),...n,children:t})}function qh({affix:e,className:t}){return e.icon?(0,Y.jsx)(Br,{className:J(`size-lt-icon-md shrink-0`,t),icon:e.icon}):(0,Y.jsx)(`span`,{className:J(`shrink-0 text-sm text-lt-muted-fg`,t),children:e.text})}function Jh({icon:e,isMenuItem:t,label:n,prefix:r,suffix:i}){return e?(0,Y.jsx)(Br,{className:`size-lt-icon-md shrink-0`,icon:e}):t?(0,Y.jsxs)(Y.Fragment,{children:[r?(0,Y.jsx)(qh,{affix:r}):null,(0,Y.jsx)(`span`,{children:n}),i?(0,Y.jsx)(qh,{affix:i,className:`ml-auto`}):null]}):r||i?(0,Y.jsxs)(`span`,{className:`inline-flex items-center gap-1.5 align-baseline`,children:[r?(0,Y.jsx)(qh,{affix:r}):null,(0,Y.jsx)(`span`,{children:n}),i?(0,Y.jsx)(qh,{affix:i}):null]}):n}function Yh(e,t,n){if(!(!t?.text&&!n?.text))return[t?.text,e,n?.text].filter(e=>!!e).join(` `)}var Xh=({node:e})=>{let t=Um(),{icon:n,label:r,prefix:i,suffix:a}=e.props,o=r??``,s=Ld(e.props),c=t?Vm:void 0,l=O(e),u=(0,Y.jsx)(Jh,{icon:n,isMenuItem:t,label:o,prefix:i,suffix:a}),d=n?o:Yh(o,i,a),f=({onClick:e,processing:t})=>(0,Y.jsx)(`button`,{"aria-label":d,className:J(Gh,c),"data-test":l,disabled:t,onClick:e,type:`button`,children:u});return s.kind===`action`?(0,Y.jsx)(Id,{action:s.action,children:f}):s.kind===`effects`?f({onClick:s.onClick,processing:!1}):(0,Y.jsx)(Kh,{"aria-label":d,className:c,"data-test":l,href:s.kind===`navigate`?s.href:`#`,method:s.kind===`navigate`?s.method:`get`,tabIndex:e.props.tabIndex??void 0,children:u})};function Zh(e,t){let n=e.detail?.modal;return n==null||n===t}var Qh=({children:e,node:t})=>{let{t:n}=W(`lattice`),r=t.props.title??n(`common.dialog`,`Dialog`),i=t.props.description,o=t.props.closeLabel,[s,c]=(0,B.useState)(t.props.open===!0),l=(0,B.useRef)(null),u=(0,B.useRef)(s);return(0,B.useEffect)(()=>{t.props.open===!0&&c(!0)},[t.props.open]),(0,B.useEffect)(()=>{function e(e){t.id&&Zh(e,t.id)&&(l.current=document.activeElement instanceof HTMLElement?document.activeElement:null,c(!0))}function n(e){(!t.id||Zh(e,t.id))&&c(!1)}return window.addEventListener(a.openModal,e),window.addEventListener(a.closeModal,n),()=>{window.removeEventListener(a.openModal,e),window.removeEventListener(a.closeModal,n)}},[t.id]),(0,B.useEffect)(()=>{if(u.current&&!s){let e=l.current;e&&requestAnimationFrame(()=>e.focus())}u.current=s},[s]),(0,Y.jsx)(ip,{open:s,onOpenChange:c,children:(0,Y.jsxs)(cp,{...i?{}:{"aria-describedby":void 0},placement:t.props.side??`center`,width:t.props.width,children:[(0,Y.jsx)(lp,{closeLabel:o,description:i,title:r}),(0,Y.jsx)(`div`,{className:`mt-6 space-y-6`,children:e})]})})},$h={xs:`h-1`,sm:`h-1.5`,md:`h-2.5`,lg:`h-3`,xl:`h-4`,"2xl":`h-5`,"3xl":`h-6`,"4xl":`h-8`},eg={xs:24,sm:32,md:40,lg:48,xl:64,"2xl":80,"3xl":96,"4xl":128},tg={xs:`text-[0.5rem]`,sm:`text-[0.625rem]`,md:`text-xs`,lg:`text-sm`,xl:`text-base`,"2xl":`text-lg`,"3xl":`text-xl`,"4xl":`text-2xl`},ng=({node:e})=>{let{value:t,max:r,shape:i,showValue:a,color:o,size:s}=e.props,{locale:c}=n(),l=vh(_h(o)??gh(`primary`)),u=r>0?Math.min(Math.max(t,0),r):0,d=r>0?u/r:0,f=new Intl.NumberFormat(c,{maximumFractionDigits:0,style:`percent`}).format(d),p={"aria-valuemax":r,"aria-valuemin":0,"aria-valuenow":u,"aria-valuetext":f,role:`progressbar`};if(i===`circle`){let e=eg[s],t=Math.max(3,e/10),n=(e-t)/2,r=2*Math.PI*n;return(0,Y.jsxs)(`div`,{...p,className:`relative inline-flex`,"data-lattice-progress":`circle`,children:[(0,Y.jsxs)(`svg`,{className:`-rotate-90`,height:e,width:e,children:[(0,Y.jsx)(`circle`,{className:`text-lt-muted`,cx:e/2,cy:e/2,fill:`none`,r:n,stroke:`currentColor`,strokeWidth:t}),(0,Y.jsx)(`circle`,{cx:e/2,cy:e/2,fill:`none`,r:n,stroke:`currentColor`,strokeDasharray:r,strokeDashoffset:r*(1-d),strokeLinecap:`round`,strokeWidth:t,style:{color:l}})]}),a&&(0,Y.jsx)(`span`,{className:J(`absolute inset-0 flex items-center justify-center font-medium text-lt-fg tabular-nums`,tg[s]),children:f})]})}return(0,Y.jsxs)(`div`,{className:`flex w-full items-center gap-2`,"data-lattice-progress":`bar`,children:[(0,Y.jsx)(`div`,{...p,className:J(`w-full overflow-hidden rounded-full bg-lt-muted`,$h[s]),children:(0,Y.jsx)(`div`,{className:`h-full rounded-full`,style:{background:l,width:`${d*100}%`}})}),a&&(0,Y.jsx)(`span`,{className:`shrink-0 text-lt-muted-fg text-sm tabular-nums`,children:f})]})},rg=({node:e})=>(0,Y.jsx)(`span`,{style:{display:`contents`},dangerouslySetInnerHTML:{__html:e.props.html}}),ig=({children:e,node:t})=>{let{title:n,description:r,tooltip:i}=t.props,a=t.props.collapsible===!0,o=t.props.rememberState!==!1,s=Hr(t.props.headerActions),c=O(t),[l,u]=Yd(`lattice:section:${c??`default`}`,t.props.collapsed===!0,a&&o),d=a&&l;return(0,Y.jsxs)(`section`,{"data-slot":`section`,className:`flex flex-col gap-6 rounded-lt border border-lt-border bg-lt-surface py-lt-gutter text-lt-surface-fg shadow-lt-sm`,"data-lattice-component":c,children:[!!(n||r||s.length>0||a)&&(0,Y.jsxs)(`div`,{className:`flex items-start justify-between gap-4 px-lt-gutter`,children:[(0,Y.jsxs)(`div`,{className:`flex min-w-0 items-start gap-2`,children:[a&&(0,Y.jsx)(`button`,{"aria-expanded":!d,"aria-label":d?`Expand section`:`Collapse section`,"data-test":D(`section-toggle`,c)??`section-toggle-default`,className:`mt-0.5 inline-flex shrink-0 items-center rounded-lt-sm p-0.5 text-lt-muted-fg transition-colors hover:bg-lt-muted hover:text-lt-fg`,onClick:u,type:`button`,children:(0,Y.jsx)(X,{name:`chevron-down`,className:J(`size-lt-icon-md transition-transform`,d&&`-rotate-90`)})}),(0,Y.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-1.5`,children:[n&&(0,Y.jsxs)(`div`,{className:`flex items-center`,children:[(0,Y.jsx)(`div`,{className:`font-semibold leading-none`,children:n}),(0,Y.jsx)(Sh,{content:i})]}),r&&(0,Y.jsxs)(`div`,{className:`flex items-center`,children:[(0,Y.jsx)(`div`,{className:`text-sm text-lt-muted-fg`,children:r}),!n&&(0,Y.jsx)(Sh,{content:i})]})]})]}),s.length>0&&(0,Y.jsx)(`div`,{className:`flex shrink-0 items-center gap-2`,children:(0,Y.jsx)(Jr,{nodes:s})})]}),!d&&e&&(0,Y.jsx)(`div`,{className:`flex flex-col gap-6 px-lt-gutter`,children:e})]})};function ag(e){return J(`whitespace-nowrap rounded-lt-sm px-3 py-1.5 text-sm font-medium transition-colors`,e?`bg-lt-bg text-lt-fg shadow-lt-xs`:`text-lt-muted-fg hover:bg-lt-bg/60 hover:text-lt-fg`)}function og({ariaLabel:e,autoFocus:t=!1,disabled:n=!1,name:r,onSelect:i,options:a,tabIndex:o,value:s}){let c=(0,B.useRef)(null);return(0,B.useEffect)(()=>{if(!t)return;let e=c.current;(e?.querySelector(`button[aria-checked="true"]`)??e?.querySelector(`button`))?.focus()},[t]),(0,Y.jsx)(`div`,{"aria-label":e,className:`inline-flex w-fit max-w-full gap-1 overflow-x-auto rounded-lt bg-lt-muted p-1`,ref:c,role:`radiogroup`,children:a.map(e=>{let t=s===e.value;return(0,Y.jsx)(`button`,{"aria-checked":t,"data-test":`${r??`segment`}-${e.value}`,className:J(ag(t),n&&`cursor-not-allowed opacity-60`),disabled:n,onClick:()=>i(e.value),role:`radio`,tabIndex:o,type:`button`,children:e.label},e.value)})})}var sg=({node:e})=>{let{options:t,name:n,emits:r}=e.props,[i,a]=(0,B.useState)(e.props.value||t[0]?.value||``);if(t.length===0)return null;function o(e){a(e),r&&window.dispatchEvent(new CustomEvent(r,{detail:{name:n,value:e}}))}return(0,Y.jsx)(og,{ariaLabel:e.props.label??void 0,name:n,onSelect:o,options:t,value:i})},cg=({node:e})=>{let t=e.props.orientation===`horizontal`;return(0,Y.jsx)(`div`,{role:`separator`,"aria-orientation":e.props.orientation,className:J(`shrink-0 bg-lt-border`,t?`h-px w-full`:`h-full w-px self-stretch`)})},lg={center:`justify-items-center text-center`,start:`justify-items-start text-left`,stretch:`justify-items-stretch`},ug={center:`items-center text-center`,start:`items-center text-left`,stretch:`items-stretch justify-stretch`},dg={none:`gap-0`,xs:`gap-1`,lg:`gap-6`,md:`gap-4`,sm:`gap-2`,xl:`gap-8`},fg={auto:`w-auto`,fill:`min-w-0 flex-1`,full:`w-full`,lg:`mx-auto w-full max-w-4xl`,md:`mx-auto w-full max-w-2xl`,sm:`mx-auto w-full max-w-md`},pg={around:`justify-around`,between:`justify-between`,center:`justify-center`,end:`justify-end`,evenly:`justify-evenly`,start:`justify-start`},mg={full:`h-full`,screen:`min-h-screen`},hg={end:`ml-auto`,start:`mr-auto`},gg=({children:e,node:t})=>{let n=t.props.align??`stretch`,r=t.props.direction??`column`,i=t.props.gap??`md`,a=t.props.width??`full`,o=t.props.justify,s=t.props.height,c=t.props.float,l=r===`row`||o!=null;return(0,Y.jsx)(`div`,{"data-slot":`stack`,"data-lattice-component":O(t),className:J(l?J(`flex`,r===`row`?`flex-wrap`:`flex-col`):`grid content-start`,l?ug[n]??ug.stretch:lg[n]??lg.stretch,dg[i]??dg.md,fg[a]??fg.full,o?pg[o]:null,s?mg[s]:null,c?hg[c]:null),children:e})},_g=(0,B.createContext)(null);function vg(){return(0,B.useContext)(_g)||{activeValue:``,setActiveValue:()=>{}}}function yg(e){return(e.schema??[]).filter(e=>e.type===`tab`).map(e=>{let t=e.props;return{confirm:t.confirm?{required:t.confirm.required}:void 0,label:t.label,value:t.value}}).filter(e=>e.value!==``)}function bg(e,t){if(typeof window>`u`)return null;let n=new URLSearchParams(window.location.search).get(e);return!n||!t.some(e=>e.value===n)?null:n}function xg(e,t){if(typeof window>`u`)return;let n=new URL(window.location.href);n.searchParams.set(e,t),window.history.replaceState(window.history.state,``,`${n.pathname}${n.search}${n.hash}`)}function Sg(e,t){if(typeof window>`u`)return``;let n=new URL(window.location.href);return n.searchParams.set(e,t),`${n.pathname}${n.search}${n.hash}`}var Cg=({children:e,node:t})=>{let{t:n}=W(`lattice`),r=(0,B.useMemo)(()=>yg(t),[t]),i=r[0]?.value??``,a=t.props.queryKey,o=t.props.orientation,s=o===`vertical`,c=t.props.alignment,l=!s&&c===`stretch`,u=t.props.activeValue,d=t.props.defaultValue??i,f=(0,B.useRef)(null),[p,m]=(0,B.useState)(()=>u||(bg(a,r)??d)||i),h=(0,B.useCallback)(e=>{if(e.confirm?.required){g.visit(Sg(a,e.value),{preserveScroll:!0});return}m(e.value),xg(a,e.value)},[a]),_=(0,B.useCallback)(e=>{let t=r.find(t=>t.value===e);t&&h(t)},[h,r]),v=(0,B.useMemo)(()=>({activeValue:p,setActiveValue:_}),[p,_]);function y(e){let t=s?`ArrowDown`:`ArrowRight`,n=s?`ArrowUp`:`ArrowLeft`;if(e.key!==t&&e.key!==n&&e.key!==`Home`&&e.key!==`End`)return;let r=Array.from(f.current?.querySelectorAll(`[role="tab"]`)??[]);if(r.length===0)return;e.preventDefault();let i=r.indexOf(document.activeElement),a;if(e.key===`Home`)a=0;else if(e.key===`End`)a=r.length-1;else{let n=e.key===t?1:-1;a=((i<0?0:i)+n+r.length)%r.length}r[a]?.focus()}return(0,Y.jsx)(_g.Provider,{value:v,children:(0,Y.jsxs)(`div`,{className:J(`gap-6`,s?J(`flex`,c===`end`&&`flex-row-reverse`):`grid`),"data-lattice-tabs":t.key??t.id,children:[(0,Y.jsx)(`div`,{"aria-label":n(`common.tabs`,`Tabs`),"aria-orientation":o,className:J(`gap-1 rounded-lt bg-lt-muted p-1`,s&&`flex flex-col`,l&&`flex w-full`,!s&&!l&&J(`inline-flex w-fit max-w-full overflow-x-auto`,{"justify-self-center":c===`center`,"justify-self-end":c===`end`})),ref:f,role:`tablist`,children:r.map(e=>{let t=p===e.value;return(0,Y.jsx)(`button`,{"aria-controls":`${e.value}-panel`,"aria-selected":t,"data-test":`tab-${e.value}`,className:J(ag(t),s&&`text-left`,l&&`flex-1`),id:`${e.value}-tab`,onClick:()=>h(e),onKeyDown:y,role:`tab`,tabIndex:t?0:-1,type:`button`,children:e.label},e.value)})}),(0,Y.jsx)(`div`,{className:J(`min-w-0`,s&&`flex-1`),children:e})]})})},wg=({children:e,node:t})=>{let{activeValue:n}=vg(),r=t.props.value,i=n===r,[a,o]=(0,B.useState)(i);return(0,B.useEffect)(()=>{i&&o(!0)},[i]),(0,Y.jsx)(`section`,{"aria-labelledby":`${r}-tab`,className:J(`space-y-8`,!i&&`hidden`),hidden:!i,id:`${r}-panel`,role:`tabpanel`,tabIndex:0,children:a?e:null})},Tg={center:`text-center`,left:`text-left`},Eg={xs:`text-xs leading-5`,sm:`text-sm leading-6`,md:`text-base leading-7`,lg:`text-lg leading-8`,xl:`text-xl leading-8`,"2xl":`text-2xl leading-9`,"3xl":`text-3xl leading-10`,"4xl":`text-4xl leading-none`},Dg=Pe({components:{avatar:V(mh),badge:V(xh),button:V(hf),card:V(Oh),chart:V(Ah),collapsible:V(jh),"floating-panel":V(Nh),fragment:V(Fh),grid:V(Ih),heading:V(Bh),icon:V(Hh),image:V(Wh),link:V(Xh),modal:V(Qh),progress:V(ng),"raw-block":V(rg),section:V(ig),"segmented-control":V(sg),separator:V(cg),stack:V(gg),tab:V(wg),tabs:V(Cg),text:V(({node:e})=>{let t=e.props.align??`left`,n=vh(_h(e.props.color)??gh(`muted`)),r=(0,Y.jsx)(`p`,{className:J(`m-0`,`max-w-2xl`,Tg[t]??Tg.left,Eg[e.props.size]),style:{color:n},children:e.props.text});return e.props.copyable?(0,Y.jsx)(zh,{value:e.props.text,label:e.props.text,children:r}):r}),tooltip:V(({node:e})=>{let t=e.props.content,n=Hr(e.props.trigger);return t?n.length===0?(0,Y.jsx)(Sh,{content:t}):(0,Y.jsxs)(Ed,{children:[(0,Y.jsx)(Dd,{type:`button`,className:`inline-flex items-center rounded-lt-sm outline-none focus-visible:ring-lt-ring/50 focus-visible:ring-[length:var(--lt-ring-width)]`,children:(0,Y.jsx)(Jr,{nodes:n})}),(0,Y.jsx)(kd,{align:`start`,className:`max-w-xs p-3 text-sm [&_a]:underline`,dangerouslySetInnerHTML:{__html:t}})]}):null})},name:`lattice/ui`});function Og({message:e,className:t=``,...n}){return e?(0,Y.jsx)(`p`,{...n,className:J(`text-sm text-lt-danger`,t),children:e}):null}var kg=`Label`,Ag=B.forwardRef((e,t)=>(0,Y.jsx)(Q.label,{...e,ref:t,onMouseDown:t=>{t.target.closest(`button, input, select, textarea`)||(e.onMouseDown?.(t),!t.defaultPrevented&&t.detail>1&&t.preventDefault())}}));Ag.displayName=kg;var jg=Ag;function Mg({className:e,...t}){return(0,Y.jsx)(jg,{"data-slot":`label`,className:J(`text-base leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:text-lt-disabled-fg peer-disabled:cursor-not-allowed peer-disabled:text-lt-disabled-fg`,e),...t})}function Ng({children:e,error:t,helperText:n,label:r,labelAction:i,name:a,required:o,tooltip:s}){return fm()?(0,Y.jsxs)(`div`,{className:`grid gap-1`,children:[(0,Y.jsx)(Mg,{htmlFor:a,className:`sr-only`,children:r}),e,(0,Y.jsx)(Og,{message:t})]}):(0,Y.jsxs)(`div`,{className:`grid gap-2`,children:[(0,Y.jsxs)(`div`,{className:`flex min-h-5 items-center`,children:[(0,Y.jsx)(Mg,{htmlFor:a,children:r}),o&&(0,Y.jsx)(`span`,{"aria-hidden":`true`,className:`ml-0.5 text-lt-danger`,children:`*`}),(0,Y.jsx)(Sh,{content:s}),i&&(0,Y.jsx)(Kh,{href:i.href,tabIndex:i.tabIndex??void 0,className:`ml-auto text-sm`,children:i.label})]}),e,n&&(0,Y.jsx)(`p`,{className:`text-sm text-lt-muted-fg`,children:n}),(0,Y.jsx)(Og,{message:t})]})}function Pg(e){let t=new Set;for(let n of[e?.visible,e?.required,e?.readOnly,e?.disabled])for(let e of n??[])t.add(e.field);return Array.from(t)}var Fg=new Set([`1`,`true`,`on`,`yes`]);function Ig(e){return typeof e==`boolean`?e:typeof e==`number`?e===1:Fg.has(String(e).toLowerCase())}function Lg(e,t){return typeof t==`boolean`?Ig(e)===t:String(e??``)===String(t??``)}function Rg(e,t){return(Array.isArray(t)?t:[t]).map(e=>String(e)).includes(String(e??``))}function zg(e){return e==null||String(e).trim()===``}function Bg(e,t){let n=Date.parse(String(e)),r=Date.parse(String(t));return Number.isNaN(n)||Number.isNaN(r)?null:n===r?0:n<r?-1:1}function Vg(e){return!0}function Hg(e,t,n){switch(e){case`eq`:return Lg(t,n);case`neq`:return!Lg(t,n);case`gt`:return Number(t)>Number(n);case`lt`:return Number(t)<Number(n);case`gte`:return Number(t)>=Number(n);case`lte`:return Number(t)<=Number(n);case`contains`:return String(t??``).includes(String(n??``));case`starts_with`:return String(t??``).startsWith(String(n??``));case`ends_with`:return String(t??``).endsWith(String(n??``));case`in`:return Rg(t,n);case`not_in`:return!Rg(t,n);case`before`:return Bg(t,n)===-1;case`after`:return Bg(t,n)===1;case`empty`:return zg(t);case`filled`:return!zg(t);default:return Vg(e)}}function Ug(e,t){return e.every(e=>Hg(e.operator,t[e.field],e.value))}function Wg(e,t){return!!e?.some(e=>Hg(e.operator,t[e.field],e.value))}function Gg(e,t,n){let r=!e?.visible?.length||Ug(e.visible,t);return{hidden:!!n.hidden||!r,required:!!n.required||Wg(e?.required,t),readOnly:!!n.readOnly||Wg(e?.readOnly,t),disabled:!!n.disabled||Wg(e?.disabled,t)}}function Kg(e){let t=Vp(),n=xp(e),r=im((0,B.useMemo)(()=>Pg(n.conditions),[n.conditions])),i=t?{...r,...t.values}:r;return Gg(n.conditions??void 0,i,{required:n.required??!1,readOnly:n.readOnly??!1,disabled:n.disabled??!1})}function qg({addLabel:e,options:t,onSelect:n}){return(0,Y.jsxs)(Gm,{children:[(0,Y.jsx)(Km,{asChild:!0,children:(0,Y.jsxs)(`button`,{type:`button`,"data-test":`builder-add`,className:`inline-flex items-center gap-1.5 self-start rounded-lt-sm border border-lt-border px-3 py-1.5 text-sm hover:bg-lt-accent [&_svg]:size-lt-icon-sm`,children:[(0,Y.jsx)(X,{name:`plus`}),e]})}),(0,Y.jsx)(qm,{align:`start`,className:`min-w-[12rem]`,children:t.map(e=>(0,Y.jsx)(Jm,{"data-test":`builder-add-${e.type}`,onClick:()=>n(e.type),children:e.label},e.type))})]})}var Jg={duplicate:{key:`table.row-actions.duplicate`,fallback:`Duplicate`,icon:`copy`},remove:{key:`table.row-actions.remove`,fallback:`Remove`,icon:`trash-2`}};function Yg(e,t){return(e??Xg(t.removable)).map(e=>Zg(e,t)).filter(e=>e!==null)}function Xg(e){return e?[{type:`remove`,key:`remove`,label:null,icon:null,danger:!0}]:[]}function Zg(e,t){if(e.type===`duplicate`){let n=Jg.duplicate;return{key:e.key,label:e.label??t.t(n.key,n.fallback),icon:e.icon??n.icon,danger:e.danger,onClick:()=>t.onDuplicate(t.index)}}if(e.type===`remove`){if(!t.removable)return null;let n=Jg.remove;return{key:e.key,label:e.label??t.t(n.key,n.fallback),icon:e.icon??n.icon,danger:e.danger,onClick:()=>t.onRemove(t.index)}}return null}function Qg(e){return e?`text-lt-danger hover:text-lt-danger [&_svg]:size-lt-icon-sm`:`text-lt-muted-fg hover:text-lt-fg [&_svg]:size-lt-icon-sm`}function $g({actions:e}){let{t}=W(`lattice`);if(e.length===0)return null;if(e.length===1){let t=e[0];return(0,Y.jsx)(`button`,{type:`button`,"aria-label":t.label,"data-test":`row-action-${t.key}`,className:Qg(t.danger),onClick:t.onClick,children:(0,Y.jsx)(X,{name:t.icon})})}return(0,Y.jsxs)(Gm,{children:[(0,Y.jsx)(Km,{asChild:!0,children:(0,Y.jsx)(`button`,{type:`button`,"aria-label":t(`common.action-group.label`,`Actions`),"data-test":`row-actions-menu`,className:`text-lt-muted-fg hover:text-lt-fg [&_svg]:size-lt-icon-sm`,children:(0,Y.jsx)(X,{name:`more-horizontal`})})}),(0,Y.jsx)(qm,{align:`end`,className:`min-w-[10rem]`,children:e.map(e=>(0,Y.jsx)(Jm,{"data-test":`row-action-${e.key}`,danger:e.danger,icon:e.icon,onClick:e.onClick,children:e.label},e.key))})]})}function e_({path:e,rows:t,rowKey:n}){return(0,Y.jsx)(Y.Fragment,{children:t.map((t,r)=>(0,Y.jsx)(`input`,{type:`hidden`,name:Tp(wp(e,r,n)),value:String(t[n]??``)},String(t.rowId??r)))})}function t_({label:e,testId:t,onClick:n,children:r}){return(0,Y.jsx)(`button`,{type:`button`,"aria-label":e,"data-test":t,className:`text-lt-muted-fg hover:text-lt-fg`,onClick:n,children:r})}var n_=(0,B.memo)(function({base:e,index:t,row:n,template:r,heading:i,reorderable:a,isFirst:o,isLast:s,removable:c,rowActions:l,onField:u,onRemove:d,onMove:f,onDuplicate:p}){let{t:m}=W(`lattice`);return(0,Y.jsxs)(`div`,{"data-test":`repeater-${e}-row-${t}`,className:`rounded-lt border border-lt-border bg-lt-surface p-4`,children:[(0,Y.jsxs)(`div`,{className:`mb-2 flex items-center justify-between`,children:[(0,Y.jsx)(`span`,{className:`text-sm font-medium text-lt-muted-fg`,children:i}),(0,Y.jsxs)(`div`,{className:`flex items-center gap-1 [&_svg]:size-lt-icon-sm`,children:[a&&!o&&(0,Y.jsx)(t_,{label:`Move up`,testId:`repeater-${e}-up-${t}`,onClick:()=>f(t,-1),children:(0,Y.jsx)(X,{name:`arrow-up`})}),a&&!s&&(0,Y.jsx)(t_,{label:`Move down`,testId:`repeater-${e}-down-${t}`,onClick:()=>f(t,1),children:(0,Y.jsx)(X,{name:`arrow-down`})}),(0,Y.jsx)($g,{actions:Yg(l,{index:t,removable:c,onRemove:d,onDuplicate:p,t:m})})]})]}),(0,Y.jsx)(Bp,{base:e,index:t,row:n,onChange:(e,n)=>u(t,e,n),children:(0,Y.jsx)(`div`,{className:`flex flex-col gap-4`,children:r.map((e,t)=>(0,Y.jsx)(Yr,{node:e},Ur(e,t)))})})]})}),r_={xs:{track:`minmax(4rem, 0.35fr)`,minPx:64,defaultPx:96,maxPx:1024},sm:{track:`minmax(6rem, 0.5fr)`,minPx:96,defaultPx:128,maxPx:1024},md:{track:`minmax(8rem, 1fr)`,minPx:128,defaultPx:176,maxPx:1024},lg:{track:`minmax(12rem, 1.5fr)`,minPx:192,defaultPx:240,maxPx:1024},xl:{track:`minmax(16rem, 2fr)`,minPx:256,defaultPx:320,maxPx:1024}};function i_(e){return r_[e].track}function a_(e){return r_[e.width].minPx}function o_(e){return r_[e.width].defaultPx}function s_(e){return r_[e.width].maxPx}function c_({columns:e,leadingTracks:t=[],trailingTracks:n=[],overrides:r={}}){return[...t,...e.map(e=>{let t=r[e.key];return t===void 0?i_(e.width):`${Math.min(s_(e),Math.max(a_(e),t))}px`}),...n].join(` `)}var l_=[];function u_({columnGapPx:e=0,columns:t,enabled:n,leadingTracks:r=l_,showIndicator:i=!1,storageKey:a,trailingTracks:o=l_}){let s=(0,B.useMemo)(()=>t.map(e=>e.key),[t]),[c,l]=(0,B.useState)(()=>f_(a,t)),u=(0,B.useRef)(c),d=(0,B.useRef)(null),f=(0,B.useRef)(null),p=(0,B.useCallback)(e=>c_({columns:t,leadingTracks:r,trailingTracks:o,overrides:n?e:{}}),[t,n,r,o]),m=(0,B.useMemo)(()=>p(c),[c,p]),h=(0,B.useCallback)(e=>{let t=f.current;t&&(t.style.gridTemplateColumns=e,t.style.setProperty(`--lattice-table-columns`,e))},[]),g=(0,B.useCallback)(e=>{u.current=e,l(e),p_(a,s,e),h(p(e))},[h,s,a,p]),_=(0,B.useCallback)((e,t,n,r)=>({...e,[t.key]:Math.min(r??s_(t),Math.max(a_(t),n))}),[]),v=(0,B.useCallback)((e,t,n)=>{g(_(u.current,e,t,n))},[g,_]),y=(0,B.useCallback)(e=>{let t={...u.current};delete t[e.key],g(t)},[g]),b=(0,B.useCallback)(()=>{g({})},[g]),x=n&&Object.values(c).some(e=>typeof e==`number`),S=(0,B.useCallback)(e=>u.current[e.key]??o_(e),[]);return{getResizeHandleProps:(0,B.useCallback)(a=>{let s=s_(a),c=a_(a),l=S(a),m=a.label??a.key,b=i?`after:bg-lt-border`:`after:bg-transparent`,x=n=>d_({column:a,columnGapPx:e,columns:t,grid:f.current??n.parentElement?.parentElement,leadingTracks:r,trailingTracks:o}),C=(e,t)=>v(a,l+t,x(e)),w=(e,t)=>{let n=d.current;n?.key===a.key&&(d.current=null,n.overrides!==null&&g(n.overrides),t&&e.currentTarget.releasePointerCapture?.(e.pointerId))};return{"aria-label":`Resize ${m}`,"aria-orientation":`vertical`,"aria-valuemax":s,"aria-valuemin":c,"aria-valuenow":l,className:`absolute inset-y-0 right-0 hidden w-2 cursor-col-resize touch-none items-stretch justify-center md:flex after:my-1 after:w-px ${b} hover:after:bg-lt-border focus-visible:outline-none focus-visible:after:bg-lt-ring`,onDoubleClick:()=>y(a),onKeyDown:e=>{if(!n)return;let t=e.shiftKey?32:8;if(e.key===`ArrowLeft`&&(e.preventDefault(),C(e.currentTarget,-t)),e.key===`ArrowRight`&&(e.preventDefault(),C(e.currentTarget,t)),e.key===`Home`&&(e.preventDefault(),v(a,c)),e.key===`End`){e.preventDefault();let t=x(e.currentTarget);v(a,t,t)}(e.key===`Enter`||e.key===`Escape`)&&(e.preventDefault(),y(a))},onPointerDown:e=>{if(!n)return;let t=e.currentTarget.parentElement?.getBoundingClientRect().width??0;d.current={key:a.key,maxWidth:x(e.currentTarget),overrides:null,startWidth:t>0?t:l,startX:e.clientX},e.currentTarget.setPointerCapture?.(e.pointerId),e.preventDefault()},onPointerMove:e=>{let t=d.current;if(!n||t?.key!==a.key)return;let r=_(u.current,a,t.startWidth+e.clientX-t.startX,t.maxWidth);t.overrides=r,u.current=r,h(p(r))},onPointerUp:e=>{w(e,!0)},onPointerCancel:e=>{w(e,!0)},onLostPointerCapture:e=>{w(e,!1)},role:`separator`,tabIndex:0}},[e,t,S,n,r,h,g,_,y,v,i,p,o]),gridTemplateColumns:m,hasOverrides:x,resizeRootRef:f,resetColumns:b,resetColumnWidth:y}}function d_({column:e,columnGapPx:t,columns:n,grid:r,leadingTracks:i,trailingTracks:a}){let o=r?.getBoundingClientRect().width??0;if(o<=0)return s_(e);let s=[...i,...a].reduce((e,t)=>e+__(t),0),c=n.reduce((t,n)=>n.key===e.key?t:t+a_(n),0),l=n.length+i.length+a.length,u=Math.max(0,l-1)*t,d=o-s-c-u;return Math.min(s_(e),Math.max(a_(e),d))}function f_(e,t){if(!e||typeof window>`u`)return{};try{let n=window.localStorage.getItem(e);if(n===null)return{};let r=JSON.parse(n);if(!h_(r))return m_(e),{};let i=g_(r.overrides,t);return Object.keys(i).length===0&&m_(e),i}catch{return m_(e),{}}}function p_(e,t,n){if(!e||typeof window>`u`)return;let r={},i=new Set(t);for(let[e,t]of Object.entries(n))i.has(e)&&typeof t==`number`&&Number.isFinite(t)&&(r[e]=t);if(Object.keys(r).length===0){m_(e);return}try{window.localStorage.setItem(e,JSON.stringify({columns:t,overrides:r}))}catch{return}}function m_(e){if(!(typeof window>`u`))try{window.localStorage.removeItem(e)}catch{return}}function h_(e){if(typeof e!=`object`||!e)return!1;let t=e;return Array.isArray(t.columns)&&t.columns.every(e=>typeof e==`string`)&&typeof t.overrides==`object`&&t.overrides!==null&&!Array.isArray(t.overrides)}function g_(e,t){let n={};for(let r of t){let t=e[r.key];typeof t!=`number`||!Number.isFinite(t)||(n[r.key]=Math.min(s_(r),Math.max(a_(r),t)))}return n}function __(e){let t=e.trim(),n=t.match(/^([0-9.]+)px$/);if(n)return Number.parseFloat(n[1]);let r=t.match(/^([0-9.]+)rem$/);return r?Number.parseFloat(r[1])*v_():0}function v_(){if(typeof window>`u`)return 16;let e=Number.parseFloat(window.getComputedStyle(document.documentElement).fontSize);return Number.isFinite(e)&&e>0?e:16}var y_=`3rem`,b_=`3rem`,x_=[y_],S_=[b_],C_=`(min-width: 768px)`;function w_(){return qd(C_,!0)}function T_(e){return e.map(e=>{let t=e.props;return{name:String(t.name),label:String(t.label??t.name),columnWidth:t.columnWidth??`md`}})}var E_=(0,B.memo)(function({base:e,index:t,row:n,template:r,span:i,isFirst:a,isLast:o,columnCount:s,flipKey:c,reorderable:l,removable:u,rowActions:d,onField:f,onMove:p,onRemove:m,onDuplicate:h,registerRow:g}){let{t:_}=W(`lattice`);return(0,Y.jsxs)(`div`,{ref:e=>g?.(c,e),"data-flip-key":c,"data-test":`table-row-${e}-${t}`,className:`grid grid-cols-[var(--lattice-table-columns)] items-start gap-x-3`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center gap-1 [&_svg]:size-lt-icon-sm`,children:[l&&!a&&(0,Y.jsx)(t_,{label:`Move up`,testId:`table-${e}-up-${t}`,onClick:()=>p(t,-1),children:(0,Y.jsx)(X,{name:`arrow-up`})}),l&&!o&&(0,Y.jsx)(t_,{label:`Move down`,testId:`table-${e}-down-${t}`,onClick:()=>p(t,1),children:(0,Y.jsx)(X,{name:`arrow-down`})})]}),(0,Y.jsx)(Bp,{base:e,index:t,row:n,onChange:(e,n)=>f(t,e,n),children:(0,Y.jsx)(dm,{children:i?(0,Y.jsx)(`div`,{"data-test":`table-row-${e}-${t}-span`,className:`flex flex-col gap-2`,style:{gridColumn:`span ${s}`},children:r.map((e,t)=>(0,Y.jsx)(Yr,{node:e},Ur(e,t)))}):r.map((e,t)=>(0,Y.jsx)(`div`,{children:(0,Y.jsx)(Yr,{node:e})},Ur(e,t)))})}),(0,Y.jsx)(`div`,{className:`flex items-center`,children:(0,Y.jsx)($g,{actions:Yg(d,{index:t,removable:u,onRemove:m,onDuplicate:h,t:_})})})]})});function D_({base:e,columns:t,rows:n,reorderable:r,removable:i,rowActions:a,onField:o,onMove:s,onRemove:c,onDuplicate:l,registerRow:u,resizableColumns:d=!1,resizeIndicator:f=!1}){let{t:p}=W(`lattice`),m=w_(),h=(0,B.useMemo)(()=>t.map(e=>({key:e.name,label:e.label,width:e.columnWidth})),[t]),{getResizeHandleProps:g,gridTemplateColumns:_,hasOverrides:v,resizeRootRef:y,resetColumns:b}=u_({columns:h,enabled:d,columnGapPx:12,leadingTracks:x_,showIndicator:f,storageKey:d?`lattice:table-columns:form:${e}`:void 0,trailingTracks:S_});return m?(0,Y.jsxs)(`div`,{className:`relative`,children:[v&&(0,Y.jsx)(`button`,{"aria-label":p(`table.reset-column-widths`,`Reset column widths`),className:`absolute right-1 top-1 z-10 hidden rounded-lt-sm p-1 text-lt-muted-fg hover:text-lt-fg md:inline-flex`,"data-test":`table-reset-columns`,onClick:b,title:p(`table.reset-column-widths`,`Reset column widths`),type:`button`,children:(0,Y.jsx)(X,{name:`rotate-ccw`,className:`size-lt-icon-sm`})}),(0,Y.jsx)(`div`,{className:`overflow-x-auto`,children:(0,Y.jsxs)(`div`,{ref:y,className:`flex min-w-max flex-col gap-2`,style:{"--lattice-table-columns":_},children:[(0,Y.jsxs)(`div`,{className:`grid grid-cols-[var(--lattice-table-columns)] items-center gap-x-3`,children:[(0,Y.jsx)(`div`,{}),t.map((e,t)=>(0,Y.jsxs)(`div`,{className:`relative min-w-0 pr-3 text-xs font-medium text-lt-muted-fg`,children:[e.label,d&&(0,Y.jsx)(`div`,{...g(h[t])})]},e.name)),(0,Y.jsx)(`div`,{})]}),n.map(d=>(0,Y.jsx)(E_,{base:e,index:d.index,row:d.row,template:d.template,span:d.span,isFirst:d.index===0,isLast:d.index===n.length-1,columnCount:t.length,flipKey:d.key,reorderable:r,removable:i(d.index),rowActions:a,onField:o,onMove:s,onRemove:c,onDuplicate:l,registerRow:u},d.key))]})})]}):(0,Y.jsx)(`div`,{className:`flex flex-col gap-3`,children:n.map(t=>(0,Y.jsx)(`div`,{ref:e=>u?.(t.key,e),"data-flip-key":t.key,children:(0,Y.jsx)(n_,{base:e,index:t.index,row:t.row,template:t.template,heading:t.heading??`#${t.index+1}`,reorderable:r,isFirst:t.index===0,isLast:t.index===n.length-1,removable:i(t.index),rowActions:a,onField:o,onRemove:c,onMove:s,onDuplicate:l})},t.key))})}var O_=180;function k_(){return typeof matchMedia==`function`&&matchMedia(`(prefers-reduced-motion: reduce)`).matches}function A_(e){let t=(0,B.useRef)(new Map),n=(0,B.useRef)(new Map),r=(0,B.useCallback)((e,n)=>{n?t.current.set(e,n):t.current.delete(e)},[]);return(0,B.useLayoutEffect)(()=>{let e=[],r=new Map;return t.current.forEach((e,t)=>{e.style.transition=``,e.style.transform=``,r.set(t,e.getBoundingClientRect())}),k_()||t.current.forEach((t,i)=>{let a=n.current.get(i),o=r.get(i);if(a&&o){let n=a.top-o.top;n&&(t.style.transform=`translateY(${n}px)`,e.push(requestAnimationFrame(()=>{t.style.transition=`transform ${O_}ms ease-out`,t.style.transform=``})))}}),n.current=r,()=>{for(let t of e)cancelAnimationFrame(t)}},[e]),r}function j_(e,t){let n=Vp(),r=n?n.errorKey(e):e,i=am(),a=rm(r),o=Array.isArray(a)?a:Mp(a,t),s=jp(o);(0,B.useLayoutEffect)(()=>{s!==o&&i(r,s)},[o,s,i,r]);let c=(0,B.useCallback)(e=>{i(r,n=>e(Array.isArray(n)?n:Mp(n,t)))},[i,r,t]);return{path:r,rows:s,onField:(0,B.useCallback)((e,t,n)=>c(r=>r.map((r,i)=>i===e?{...r,[t]:n}:r)),[c]),onRemove:(0,B.useCallback)(e=>c(t=>Np(t,e)),[c]),onMove:(0,B.useCallback)((e,t)=>c(n=>Fp(n,e,e+t)),[c]),onDuplicate:(0,B.useCallback)(e=>c(t=>Pp(t,e)),[c]),append:(0,B.useCallback)(e=>c(t=>[...t,Ap(e)]),[c])}}var M_=[],N_=({node:e})=>{let t=e.props,n=t.name,r=mm(e)??[],{errors:i}=gp(),{hidden:a,required:o}=Kg(e),{path:s,rows:c,onField:l,onRemove:u,onMove:d,onDuplicate:f,append:p}=j_(n,t.defaultItems??0),{t:m}=W(`lattice`),h=A_(c.map(e=>String(e.rowId??``)).join(`,`)),g=t.maxItems!=null&&c.length>=t.maxItems,_=t.minItems!=null&&c.length<=t.minItems,v=t.layout===`table`,y=e=>r.find(t=>t.type===e),b=r.map(e=>({type:e.type,label:e.label}));if(a)return null;let x=r[0],S=c.map((e,t)=>{let n=y(e.type),r=!!n&&!!x&&n.type===x.type;return{key:String(e.rowId??t),index:t,row:e,template:n?.schema??M_,span:!r,heading:n?.label??`Unknown block: ${String(e.type)}`}});return(0,Y.jsx)(Ng,{error:i[s],helperText:t.helperText??void 0,tooltip:t.tooltip??void 0,label:t.label??``,name:s,required:o,children:(0,Y.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,Y.jsx)(e_,{path:s,rows:c,rowKey:kp}),(0,Y.jsx)(e_,{path:s,rows:c,rowKey:`type`}),v?(0,Y.jsx)(Y.Fragment,{children:(0,Y.jsx)(D_,{base:s,columns:T_(x?.schema??[]),rows:S,reorderable:t.reorderable??!1,removable:()=>!_,rowActions:t.rowActions,onField:l,onMove:d,onRemove:u,onDuplicate:f,registerRow:h,resizableColumns:t.resizableColumns===!0,resizeIndicator:t.resizeIndicator===!0})}):c.map((e,r)=>{let i=y(e.type),a=String(e.rowId??r);return(0,Y.jsx)(`div`,{ref:e=>h(a,e),"data-flip-key":a,children:i?(0,Y.jsx)(n_,{base:s,index:r,row:e,template:i.schema??M_,heading:i.label,reorderable:t.reorderable??!1,isFirst:r===0,isLast:r===c.length-1,removable:!_,rowActions:t.rowActions,onField:l,onRemove:u,onMove:d,onDuplicate:f}):(0,Y.jsxs)(`div`,{"data-test":`repeater-${n}-row-${r}`,className:`flex items-center justify-between rounded-lt border border-dashed border-lt-border p-4 text-sm text-lt-muted-fg`,children:[(0,Y.jsxs)(`span`,{children:[`Unknown block: `,String(e.type)]}),(0,Y.jsx)($g,{actions:Yg(t.rowActions,{index:r,removable:!_,onRemove:u,onDuplicate:f,t:m})})]})},a)}),!g&&(0,Y.jsx)(qg,{addLabel:t.addLabel??`Add`,options:b,onSelect:e=>p({type:e})})]})})};function P_(e){let t=B.useRef({value:e,previous:e});return B.useMemo(()=>(t.current.value!==e&&(t.current.previous=t.current.value,t.current.value=e),t.current.previous),[e])}var F_=`Checkbox`,[I_,L_]=di(F_),[R_,z_]=I_(F_);function B_(e){let{__scopeCheckbox:t,checked:n,children:r,defaultChecked:i,disabled:a,form:o,name:s,onCheckedChange:c,required:l,value:u=`on`,internal_do_not_use_render:d}=e,[f,p]=na({prop:n,defaultProp:i??!1,onChange:c,caller:F_}),[m,h]=B.useState(null),[g,_]=B.useState(null),v=B.useRef(!1),y=m?!!o||!!m.closest(`form`):!0,b={checked:f,disabled:a,setChecked:p,control:m,setControl:h,name:s,form:o,value:u,hasConsumerStoppedPropagationRef:v,required:l,defaultChecked:Y_(i)?!1:i,isFormControl:y,bubbleInput:g,setBubbleInput:_};return(0,Y.jsx)(R_,{scope:t,...b,children:J_(d)?d(b):r})}var V_=`CheckboxTrigger`,H_=B.forwardRef(({__scopeCheckbox:e,onKeyDown:t,onClick:n,...r},i)=>{let{control:a,value:o,disabled:s,checked:c,required:l,setControl:u,setChecked:d,hasConsumerStoppedPropagationRef:f,isFormControl:p,bubbleInput:m}=z_(V_,e),h=li(i,u),g=B.useRef(c);return B.useEffect(()=>{let e=a?.form;if(e){let t=()=>d(g.current);return e.addEventListener(`reset`,t),()=>e.removeEventListener(`reset`,t)}},[a,d]),(0,Y.jsx)(Q.button,{type:`button`,role:`checkbox`,"aria-checked":Y_(c)?`mixed`:c,"aria-required":l,"data-state":X_(c),"data-disabled":s?``:void 0,disabled:s,value:o,...r,ref:h,onKeyDown:Z(t,e=>{e.key===`Enter`&&e.preventDefault()}),onClick:Z(n,e=>{d(e=>Y_(e)?!0:!e),m&&p&&(f.current=e.isPropagationStopped(),f.current||e.stopPropagation())})})});H_.displayName=V_;var U_=B.forwardRef((e,t)=>{let{__scopeCheckbox:n,name:r,checked:i,defaultChecked:a,required:o,disabled:s,value:c,onCheckedChange:l,form:u,...d}=e;return(0,Y.jsx)(B_,{__scopeCheckbox:n,checked:i,defaultChecked:a,disabled:s,required:o,onCheckedChange:l,name:r,form:u,value:c,internal_do_not_use_render:({isFormControl:e})=>(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(H_,{...d,ref:t,__scopeCheckbox:n}),e&&(0,Y.jsx)(q_,{__scopeCheckbox:n})]})})});U_.displayName=F_;var W_=`CheckboxIndicator`,G_=B.forwardRef((e,t)=>{let{__scopeCheckbox:n,forceMount:r,...i}=e,a=z_(W_,n);return(0,Y.jsx)(Yi,{present:r||Y_(a.checked)||a.checked===!0,children:(0,Y.jsx)(Q.span,{"data-state":X_(a.checked),"data-disabled":a.disabled?``:void 0,...i,ref:t,style:{pointerEvents:`none`,...e.style}})})});G_.displayName=W_;var K_=`CheckboxBubbleInput`,q_=B.forwardRef(({__scopeCheckbox:e,...t},n)=>{let{control:r,hasConsumerStoppedPropagationRef:i,checked:a,defaultChecked:o,required:s,disabled:c,name:l,value:u,form:d,bubbleInput:f,setBubbleInput:p}=z_(K_,e),m=li(n,p),h=P_(a),g=sl(r);B.useEffect(()=>{let e=f;if(!e)return;let t=window.HTMLInputElement.prototype,n=Object.getOwnPropertyDescriptor(t,`checked`).set,r=!i.current;if(h!==a&&n){let t=new Event(`click`,{bubbles:r});e.indeterminate=Y_(a),n.call(e,Y_(a)?!1:a),e.dispatchEvent(t)}},[f,h,a,i]);let _=B.useRef(Y_(a)?!1:a);return(0,Y.jsx)(Q.input,{type:`checkbox`,"aria-hidden":!0,defaultChecked:o??_.current,required:s,disabled:c,name:l,value:u,form:d,...t,tabIndex:-1,ref:m,style:{...t.style,...g,position:`absolute`,pointerEvents:`none`,opacity:0,margin:0,transform:`translateX(-100%)`}})});q_.displayName=K_;function J_(e){return typeof e==`function`}function Y_(e){return e===`indeterminate`}function X_(e){return Y_(e)?`indeterminate`:e?`checked`:`unchecked`}function Z_({className:e,...t}){return(0,Y.jsx)(U_,{"data-slot":`checkbox`,className:J(`peer border-lt-input data-[state=checked]:bg-lt-primary data-[state=checked]:text-lt-primary-fg data-[state=checked]:border-lt-primary focus-visible:border-lt-ring focus-visible:ring-lt-ring/50 aria-invalid:ring-lt-danger/20 dark:aria-invalid:ring-lt-danger/40 aria-invalid:border-lt-danger size-4 shrink-0 rounded-lt-xs border shadow-lt-xs transition-shadow outline-none focus-visible:ring-[length:var(--lt-ring-width)] disabled:cursor-not-allowed disabled:bg-lt-disabled disabled:text-lt-disabled-fg disabled:data-[state=checked]:bg-lt-disabled disabled:data-[state=checked]:text-lt-disabled-fg disabled:data-[state=checked]:border-lt-disabled`,e),...t,children:(0,Y.jsx)(G_,{"data-slot":`checkbox-indicator`,className:`flex items-center justify-center text-current transition-none`,children:(0,Y.jsx)(X,{name:`check`,className:`size-lt-icon-sm`})})})}function Q_(e,t){if(!t)return e;let n=e.replace(/[^A-Za-z0-9_-]+/g,`-`).replace(/^-+|-+$/g,``);return n?`${t}-${n}`:t}function $_(e,t){let n=Vp(),r=rm(e),i=n?n.getValue(e):r,a=am();(0,B.useEffect)(()=>{i===void 0&&t!==void 0&&(n?n.setValue(e,t):a(e,t))},[e,t,i,a,n])}var ev=({node:e})=>{let{hidden:t,readOnly:n,disabled:r}=Kg(e),i=e.props.name,a=Vp(),{fieldIdPrefix:o}=gp(),s=Q_(a?a.scopedName(i):i,o),c=rm(i),l=a?a.getValue(i):c,{commit:u}=lm(),d=Ig(e.props.value),f=l===void 0?d:Ig(l);return $_(i,d),t?null:(0,Y.jsxs)(`div`,{children:[(0,Y.jsxs)(`div`,{className:`flex items-center space-x-3`,children:[(0,Y.jsx)(Z_,{autoFocus:e.props.autoFocus??void 0,checked:f,"data-test":T(i),disabled:n||r,id:s,name:s,onCheckedChange:e=>{u(i,e===!0)},tabIndex:e.props.tabIndex??void 0}),(0,Y.jsx)(Mg,{htmlFor:s,children:e.props.label})]}),e.props.helperText&&(0,Y.jsx)(`p`,{className:`mt-1 pl-7 text-sm text-lt-muted-fg`,children:e.props.helperText})]})};function tv(e){let{errors:t,fieldIdPrefix:n}=gp(),r=Vp(),i=Kg(e),a=xp(e),o=a.name??``,s=rm(o),c=r?r.getValue(o):s,l=c===void 0?a.value:c,u=typeof l==`string`||typeof l==`number`?String(l):``,d=Q_(r?r.scopedName(o):o,n),f=r?r.errorKey(o):o,{commit:p,change:m,blur:h}=lm(),g=e=>p(o,e),_=e=>m(o,e),v=()=>h(o);return{...i,localName:o,name:d,testId:T(o),value:u,error:t[f],commit:g,change:_,blur:v}}var nv=({node:e})=>{let t=Wp(e),{localName:n,name:r,testId:i,value:a,error:o,hidden:s,required:c,readOnly:l,disabled:u,commit:d}=tv(e),f=(0,B.useMemo)(()=>t.props.options??[],[t.props]),p=f[0]?.value??``,m=a||p;return $_(n,m||void 0),s||f.length===0?null:(0,Y.jsxs)(Ng,{error:o,helperText:e.props.helperText??void 0,tooltip:e.props.tooltip??void 0,label:e.props.label??``,name:r,required:c,children:[(0,Y.jsx)(`input`,{name:r,type:`hidden`,value:m}),(0,Y.jsx)(og,{ariaLabel:e.props.label??void 0,autoFocus:e.props.autoFocus??void 0,disabled:l||u,name:i,onSelect:d,options:f,tabIndex:e.props.tabIndex??void 0,value:m})]})};function rv(){return(rv=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function iv(e,t){if(e==null)return{};var n,r,i={},a=Object.keys(e);for(r=0;r<a.length;r++)t.indexOf(n=a[r])>=0||(i[n]=e[n]);return i}function av(e){var t=(0,B.useRef)(e),n=(0,B.useRef)(function(e){t.current&&t.current(e)});return t.current=e,n.current}var ov=function(e,t,n){return t===void 0&&(t=0),n===void 0&&(n=1),e>n?n:e<t?t:e},sv=function(e){return`touches`in e},cv=function(e){return e&&e.ownerDocument.defaultView||self},lv=function(e,t,n){var r=e.getBoundingClientRect(),i=sv(t)?function(e,t){for(var n=0;n<e.length;n++)if(e[n].identifier===t)return e[n];return e[0]}(t.touches,n):t;return{left:ov((i.pageX-(r.left+cv(e).pageXOffset))/r.width),top:ov((i.pageY-(r.top+cv(e).pageYOffset))/r.height)}},uv=function(e){!sv(e)&&e.preventDefault()},dv=B.memo(function(e){var t=e.onMove,n=e.onKey,r=e.onEnd,i=iv(e,[`onMove`,`onKey`,`onEnd`]),a=(0,B.useRef)(null),o=av(t),s=av(n),c=av(r),l=(0,B.useRef)(null),u=(0,B.useRef)(!1),d=(0,B.useMemo)(function(){var e=function(e){uv(e),(sv(e)?e.touches.length>0:e.buttons>0)&&a.current?o(lv(a.current,e,l.current)):(n(!1),c())},t=function(){n(!1),c()};function n(n){var r=u.current,i=cv(a.current),o=n?i.addEventListener:i.removeEventListener;o(r?`touchmove`:`mousemove`,e),o(r?`touchend`:`mouseup`,t)}return[function(e){var t=e.nativeEvent,r=a.current;if(r&&(uv(t),!function(e,t){return t&&!sv(e)}(t,u.current)&&r)){if(sv(t)){u.current=!0;var i=t.changedTouches||[];i.length&&(l.current=i[0].identifier)}r.focus(),o(lv(r,t,l.current)),n(!0)}},function(e){var t=e.which||e.keyCode;t<37||t>40||(e.preventDefault(),s({left:t===39?.05:t===37?-.05:0,top:t===40?.05:t===38?-.05:0}))},function(e){var t=e.which||e.keyCode;t>=37&&t<=40&&c()},n]},[s,o,c]),f=d[0],p=d[1],m=d[2],h=d[3];return(0,B.useEffect)(function(){return h},[h]),B.createElement(`div`,rv({},i,{onTouchStart:f,onMouseDown:f,className:`react-colorful__interactive`,ref:a,onKeyDown:p,onKeyUp:m,tabIndex:0,role:`slider`}))}),fv=function(e){return e.filter(Boolean).join(` `)},pv=function(e){var t=e.color,n=e.left,r=e.top,i=r===void 0?.5:r,a=fv([`react-colorful__pointer`,e.className]);return B.createElement(`div`,{className:a,style:{top:100*i+`%`,left:100*n+`%`}},B.createElement(`div`,{className:`react-colorful__pointer-fill`,style:{backgroundColor:t}}))},mv=function(e,t,n){return t===void 0&&(t=0),n===void 0&&(n=10**t),Math.round(n*e)/n};360/(2*Math.PI);var hv=function(e){return Cv(gv(e))},gv=function(e){return e[0]===`#`&&(e=e.substring(1)),e.length<6?{r:parseInt(e[0]+e[0],16),g:parseInt(e[1]+e[1],16),b:parseInt(e[2]+e[2],16),a:e.length===4?mv(parseInt(e[3]+e[3],16)/255,2):1}:{r:parseInt(e.substring(0,2),16),g:parseInt(e.substring(2,4),16),b:parseInt(e.substring(4,6),16),a:e.length===8?mv(parseInt(e.substring(6,8),16)/255,2):1}},_v=function(e){return Sv(bv(e))},vv=function(e){var t=e.s,n=e.v,r=e.a,i=(200-t)*n/100;return{h:mv(e.h),s:mv(i>0&&i<200?t*n/100/(i<=100?i:200-i)*100:0),l:mv(i/2),a:mv(r,2)}},yv=function(e){var t=vv(e);return`hsl(`+t.h+`, `+t.s+`%, `+t.l+`%)`},bv=function(e){var t=e.h,n=e.s,r=e.v,i=e.a;t=t/360*6,n/=100,r/=100;var a=Math.floor(t),o=r*(1-n),s=r*(1-(t-a)*n),c=r*(1-(1-t+a)*n),l=a%6;return{r:mv(255*[r,s,o,o,c,r][l]),g:mv(255*[c,r,r,s,o,o][l]),b:mv(255*[o,o,c,r,r,s][l]),a:mv(i,2)}},xv=function(e){var t=e.toString(16);return t.length<2?`0`+t:t},Sv=function(e){var t=e.r,n=e.g,r=e.b,i=e.a,a=i<1?xv(mv(255*i)):``;return`#`+xv(t)+xv(n)+xv(r)+a},Cv=function(e){var t=e.r,n=e.g,r=e.b,i=e.a,a=Math.max(t,n,r),o=a-Math.min(t,n,r),s=o?a===t?(n-r)/o:a===n?2+(r-t)/o:4+(t-n)/o:0;return{h:mv(60*(s<0?s+6:s)),s:mv(a?o/a*100:0),v:mv(a/255*100),a:i}},wv=B.memo(function(e){var t=e.hue,n=e.onChange,r=e.onChangeEnd,i=fv([`react-colorful__hue`,e.className]);return B.createElement(`div`,{className:i},B.createElement(dv,{onMove:function(e){n({h:360*e.left})},onKey:function(e){n({h:ov(t+360*e.left,0,360)})},onEnd:r,"aria-label":`Hue`,"aria-valuenow":mv(t),"aria-valuemax":`360`,"aria-valuemin":`0`},B.createElement(pv,{className:`react-colorful__hue-pointer`,left:t/360,color:yv({h:t,s:100,v:100,a:1})})))}),Tv=B.memo(function(e){var t=e.hsva,n=e.onChange,r=e.onChangeEnd,i={backgroundColor:yv({h:t.h,s:100,v:100,a:1})};return B.createElement(`div`,{className:`react-colorful__saturation`,style:i},B.createElement(dv,{onMove:function(e){n({s:100*e.left,v:100-100*e.top})},onKey:function(e){n({s:ov(t.s+100*e.left,0,100),v:ov(t.v-100*e.top,0,100)})},onEnd:r,"aria-label":`Color`,"aria-valuetext":`Saturation `+mv(t.s)+`%, Brightness `+mv(t.v)+`%`},B.createElement(pv,{className:`react-colorful__saturation-pointer`,top:1-t.v/100,left:t.s/100,color:yv(t)})))}),Ev=function(e,t){if(e===t)return!0;for(var n in e)if(e[n]!==t[n])return!1;return!0},Dv=function(e,t){return e.toLowerCase()===t.toLowerCase()||Ev(gv(e),gv(t))};function Ov(e,t,n,r){var i=av(n),a=av(r),o=(0,B.useState)(function(){return e.toHsva(t)}),s=o[0],c=o[1],l=(0,B.useRef)({color:t,hsva:s}),u=(0,B.useRef)(!1);return(0,B.useEffect)(function(){if(!e.equal(t,l.current.color)){var n=e.toHsva(t);l.current={hsva:n,color:t},c(n),u.current=!1}},[t,e]),(0,B.useEffect)(function(){var t;Ev(s,l.current.hsva)||e.equal(t=e.fromHsva(s),l.current.color)||(l.current={hsva:s,color:t},i(t),u.current=!0)},[s,e,i]),[s,(0,B.useCallback)(function(e){c(function(t){return Object.assign({},t,e)})},[]),(0,B.useCallback)(function(){u.current&&(u.current=!1,a(l.current.color))},[a])]}var kv,Av=typeof window<`u`?B.useLayoutEffect:B.useEffect,jv=function(){return kv||(typeof __webpack_nonce__<`u`?__webpack_nonce__:void 0)},Mv=new WeakMap,Nv=function(e){Av(function(){var t=e.current;if(typeof document<`u`&&t){var n=t.getRootNode?t.getRootNode():t.ownerDocument,r=n&&(`head`in n||`host`in n)?n:t.ownerDocument;if(!Mv.has(r)){var i=`head`in r?r.head:r,a=(i.ownerDocument||document).createElement(`style`);a.innerHTML=`.react-colorful{position:relative;display:flex;flex-direction:column;width:200px;height:200px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.react-colorful__saturation{position:relative;flex-grow:1;border-color:transparent;border-bottom:12px solid #000;border-radius:8px 8px 0 0;background-image:linear-gradient(0deg,#000,transparent),linear-gradient(90deg,#fff,hsla(0,0%,100%,0))}.react-colorful__alpha-gradient,.react-colorful__pointer-fill{content:"";position:absolute;left:0;top:0;right:0;bottom:0;pointer-events:none;border-radius:inherit}.react-colorful__alpha-gradient,.react-colorful__saturation{box-shadow:inset 0 0 0 1px rgba(0,0,0,.05)}.react-colorful__alpha,.react-colorful__hue{position:relative;height:24px}.react-colorful__hue{background:linear-gradient(90deg,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red)}.react-colorful__last-control{border-radius:0 0 8px 8px}.react-colorful__interactive{position:absolute;left:0;top:0;right:0;bottom:0;border-radius:inherit;outline:none;touch-action:none}.react-colorful__pointer{position:absolute;z-index:1;box-sizing:border-box;width:28px;height:28px;transform:translate(-50%,-50%);background-color:#fff;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 4px rgba(0,0,0,.2)}.react-colorful__interactive:focus .react-colorful__pointer{transform:translate(-50%,-50%) scale(1.1)}.react-colorful__alpha,.react-colorful__alpha-pointer{background-color:#fff;background-image:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill-opacity=".05"><path d="M8 0h8v8H8zM0 8h8v8H0z"/></svg>')}.react-colorful__saturation-pointer{z-index:3}.react-colorful__hue-pointer{z-index:2}`;var o=jv();o&&a.setAttribute(`nonce`,o),Mv.set(r,a),i.appendChild(a)}}},[])},Pv=function(e){var t=e.className,n=e.colorModel,r=e.color,i=r===void 0?n.defaultColor:r,a=e.onChange,o=e.onChangeEnd,s=iv(e,[`className`,`colorModel`,`color`,`onChange`,`onChangeEnd`]),c=(0,B.useRef)(null);Nv(c);var l=Ov(n,i,a,o),u=l[0],d=l[1],f=l[2],p=fv([`react-colorful`,t]);return B.createElement(`div`,rv({},s,{ref:c,className:p}),B.createElement(Tv,{hsva:u,onChange:d,onChangeEnd:f}),B.createElement(wv,{hue:u.h,onChange:d,onChangeEnd:f,className:`react-colorful__last-control`}))},Fv={defaultColor:`000`,toHsva:hv,fromHsva:function(e){return _v({h:e.h,s:e.s,v:e.v,a:1})},equal:Dv},Iv=function(e){return B.createElement(Pv,rv({},e,{colorModel:Fv}))},Lv=`focus-visible:border-lt-ring focus-visible:ring-lt-ring/50 focus-visible:ring-[length:var(--lt-ring-width)] focus-visible:ring-offset-[length:var(--lt-ring-offset)]`,Rv=ff([`w-full min-w-0 rounded-lt-sm border border-lt-input shadow-lt-xs outline-none transition-[color,box-shadow]`,`placeholder:text-lt-muted-fg`,Lv,`aria-invalid:border-lt-danger aria-invalid:ring-lt-danger/20 dark:aria-invalid:ring-lt-danger/40`,`disabled:pointer-events-none disabled:cursor-not-allowed disabled:bg-lt-disabled disabled:text-lt-disabled-fg`],{variants:{density:{comfortable:`h-lt-control-md bg-transparent px-3 py-1 text-base`,compact:`h-lt-control-md bg-lt-bg px-2 text-sm font-normal`}},defaultVariants:{density:`comfortable`}});function zv({className:e,type:t,density:n,...r}){return(0,Y.jsx)(`input`,{type:t,"data-slot":`input`,className:J(Rv({density:n}),`file:text-lt-fg selection:bg-lt-primary selection:text-lt-primary-fg file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium`,e),...r})}function Bv(e){let t=e.trim().replace(/^#/,``).toLowerCase();return/^[0-9a-f]{6}$/.test(t)?`#${t}`:/^[0-9a-f]{3}$/.test(t)?`#${t[0]}${t[0]}${t[1]}${t[1]}${t[2]}${t[2]}`:null}function Vv({value:e,onChange:t,palette:n,hexLabel:r=`Hex color`,paletteLabel:i=`Color palette`}){let[a,o]=(0,B.useState)(null),s=Bv(e)??`#6b7280`;return(0,Y.jsxs)(`div`,{className:`flex w-56 flex-col gap-3`,"data-slot":`color-picker`,children:[(0,Y.jsx)(Iv,{className:`!w-full`,color:s,onChange:t}),n.length>0&&(0,Y.jsx)(`div`,{"aria-label":i,className:`flex flex-wrap gap-1.5`,role:`listbox`,children:n.map(e=>{let n=Bv(e)??e;return(0,Y.jsx)(`button`,{"aria-label":n,"aria-selected":n===s,className:J(`size-6 shrink-0 rounded-full border border-lt-border`,n===s&&`ring-2 ring-lt-ring ring-offset-1`),onClick:()=>t(n),role:`option`,style:{background:e},type:`button`},e)})}),(0,Y.jsx)(zv,{"aria-label":r,onBlur:()=>o(null),onChange:e=>{let n=e.target.value,r=Bv(n);o(n),r!==null&&t(r)},value:a??s})]})}function Hv({node:e,label:t,children:n}){let r=tv(e);return r.hidden?null:(0,Y.jsx)(Ng,{error:r.error,helperText:xp(e).helperText??void 0,tooltip:xp(e).tooltip??void 0,label:t,name:r.name,required:r.required,children:n(r)})}var Uv=({node:e})=>{let t=e.props;return(0,Y.jsx)(Hv,{node:e,label:t.label??``,children:({name:e,value:n,readOnly:r,disabled:i,commit:a})=>{let o=Bv(n);return(0,Y.jsxs)(Ed,{children:[(0,Y.jsx)(`input`,{name:e,type:`hidden`,value:o??``}),(0,Y.jsx)(Dd,{asChild:!0,children:(0,Y.jsx)(`button`,{className:J(Rv(),`flex items-center gap-2 text-left`),"data-test":`color-picker-${e}`,disabled:i||r,id:e,type:`button`,children:o?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`span`,{"aria-hidden":`true`,className:`size-4 shrink-0 rounded-full border border-lt-border`,style:{background:o}}),(0,Y.jsx)(`span`,{className:`tabular-nums`,children:o})]}):(0,Y.jsx)(`span`,{className:`text-lt-muted-fg`,children:t.placeholder??``})})}),(0,Y.jsx)(kd,{className:`p-3`,children:(0,Y.jsx)(Vv,{onChange:e=>a(e),palette:t.palette,value:o??`#6b7280`})})]})}})},Wv=(0,B.lazy)(async()=>{let{DatePickerField:e}=await p(async()=>{let{DatePickerField:e}=await import(`./chunks/date-picker-field-lX8N40Ii.js`);return{DatePickerField:e}},__vite__mapDeps([9,1,3,4]),import.meta.url);return{default:e}});function Gv(e){return(0,Y.jsx)(B.Suspense,{fallback:null,children:(0,Y.jsx)(Wv,{...e})})}var Kv=({node:e})=>{let t=e.props;return(0,Y.jsx)(Hv,{node:e,label:t.label??``,children:({name:e,testId:n,value:r,readOnly:i,disabled:a,change:o,blur:s})=>(0,Y.jsx)(Gv,{autoFocus:t.autoFocus??!1,disabled:a,label:t.label??t.name,max:t.max||void 0,min:t.min||void 0,mode:`date`,name:e,onBlur:s,onChange:o,readOnly:i,tabIndex:t.tabIndex??void 0,testId:n??t.name,value:r})})},qv=({node:e})=>{let t=e.props,{timezone:n}=fo();return(0,Y.jsx)(Hv,{node:e,label:t.label??``,children:({name:e,testId:r,value:i,readOnly:a,disabled:o,change:s,blur:c})=>(0,Y.jsx)(Gv,{autoFocus:t.autoFocus??!1,disabled:o,label:t.label??t.name,max:t.max,min:t.min,mode:`date-time`,name:e,onBlur:c,onChange:s,readOnly:a,step:t.step,tabIndex:t.tabIndex??void 0,testId:r??t.name,timezone:n,value:i})})};function Jv({url:e,method:t,body:n,headers:r,onProgress:i}){return new Promise((a,o)=>{let s=new XMLHttpRequest;s.open(t,e,!0),Object.entries(r).forEach(([e,t])=>s.setRequestHeader(e,String(t))),s.upload.onprogress=e=>{e.lengthComputable&&i?.(Math.round(e.loaded/e.total*100))},s.onload=()=>{try{a(new Response(s.responseText||null,{status:s.status||500}))}catch{o(Error(`Upload to ${e} returned an unusable response`))}},s.onerror=()=>o(Error(`Upload to ${e} failed`)),s.send(n)})}function Yv(e,{ref:t,target:n,filename:r,contentType:i,values:a}){return z(e,{method:`POST`,ref:t,body:JSON.stringify({...a,_sub:`upload`,_target:n,filename:r,contentType:i}),throwOnError:!1})}var Xv=ff(J(`relative inline-flex shrink-0 items-center justify-center rounded-lt-sm transition-colors`,`outline-none focus-visible:ring-[length:var(--lt-ring-width)] focus-visible:ring-lt-ring/50`,`disabled:pointer-events-none disabled:bg-lt-disabled disabled:text-lt-disabled-fg`),{variants:{emphasis:{ghost:J(`text-lt-muted-fg hover:bg-lt-accent hover:text-lt-accent-fg`,`data-[state=open]:bg-lt-accent data-[state=open]:text-lt-accent-fg`,`aria-pressed:bg-lt-accent aria-pressed:text-lt-accent-fg`),segmented:J(`-ml-px rounded-l-none border border-lt-input text-lt-muted-fg hover:bg-lt-accent hover:text-lt-accent-fg`,`data-[state=open]:z-10 data-[state=open]:border-lt-primary data-[state=open]:text-lt-fg`)},size:{xs:`size-5 [&_svg]:size-lt-icon-sm`,sm:`size-7 [&_svg]:size-lt-icon-md`,md:`size-lt-control-md [&_svg]:size-lt-icon-md`}},defaultVariants:{emphasis:`ghost`,size:`sm`}});function Zv({icon:e,label:t,active:n,size:r,emphasis:i,className:a,children:o,ref:s,...c}){return(0,Y.jsxs)(`button`,{ref:s,type:`button`,"aria-label":t,"aria-pressed":n,className:J(Xv({emphasis:i,size:r}),a),...c,children:[e?(0,Y.jsx)(X,{name:e,"aria-hidden":`true`}):null,o]})}function Qv(e,t){return Array.isArray(t)?Array.isArray(e)&&e.length===t.length&&e.every((e,n)=>e===t[n]):e===t}var $v=({node:e})=>{let{t}=W(`lattice`),n=e.props,{hidden:r,required:i,readOnly:a,disabled:o}=Kg(e),{action:s,componentRef:c,errors:l}=gp(),u=n.name,d=Vp(),f=d?d.scopedName(u):u,p=d?d.errorKey(u):u,m=p,h=nm(),g=am(),_=(0,B.useId)(),v=(0,B.useRef)(null),y=(0,B.useRef)(new Set),b=a||o,x=n.signed,S=n.multiple,C=S?`${f}[]`:f,[w,E]=(0,B.useState)((0,B.useMemo)(()=>(n.files??[]).map(e=>({id:crypto.randomUUID(),name:e.name,size:e.size,status:`ready`,progress:100,key:e.key,url:e.url,token:e.token,existing:!0})),[n.files])),[D,O]=(0,B.useState)([]);(0,B.useEffect)(()=>{if(!x)return;let e=w.filter(e=>!e.existing&&e.key&&e.status===`ready`).map(e=>e.key),t=S?e:e[0]??``;if(d){Qv(d.getValue(u),t)||d.setValue(u,t);return}g(u,t)},[w,S,u,d,g,x]),(0,B.useEffect)(()=>{!x||d||g(`${u}__removed`,D)},[u,D,d,g,x]),(0,B.useEffect)(()=>()=>{y.current.forEach(e=>URL.revokeObjectURL(e)),y.current.clear()},[]);let k=(0,B.useMemo)(()=>w.filter(e=>e.file&&!e.existing).map(e=>e.file),[w]);(0,B.useEffect)(()=>{if(x||!v.current)return;let e=new DataTransfer;k.forEach(t=>e.items.add(t)),v.current.files=e.files},[k,x]);function A(e){if(!n.image)return;let t=URL.createObjectURL(e);return y.current.add(t),t}function j(e){!e.url||!y.current.has(e.url)||(URL.revokeObjectURL(e.url),y.current.delete(e.url))}async function M(e,t){let n=()=>{E(t=>t.map(t=>t.id===e.id?{...t,status:`error`}:t))},r=await Yv(s,{ref:c,target:m,filename:t.name,contentType:t.type,values:h});if(!r.ok){n();return}let i=await r.json();try{let n=await Jv({url:i.url,method:i.method.toUpperCase(),body:t,headers:i.headers,onProgress:t=>E(n=>n.map(n=>n.id===e.id?{...n,progress:t}:n))});E(t=>t.map(t=>t.id===e.id?{...t,status:n.ok?`ready`:`error`,key:i.key,progress:100}:t))}catch{n()}}function N(e){if(!e||b)return;let t=Array.from(e),n=t.map(e=>({id:crypto.randomUUID(),name:e.name,size:e.size,status:x?`uploading`:`ready`,progress:0,file:e,url:A(e),existing:!1}));if(!S&&(w.forEach(j),!d)){let e=w.filter(e=>e.existing&&e.token).map(e=>e.token);e.length>0&&O(t=>[...t,...e])}E(e=>S?[...e,...n]:n),x&&n.forEach((e,n)=>void M(e,t[n]))}function P(e){let t=w.find(t=>t.id===e);t&&j(t),t?.existing&&t.token&&!d&&O(e=>[...e,t.token]),E(t=>t.filter(t=>t.id!==e))}return r?null:(0,Y.jsx)(Ng,{error:l[p],helperText:n.helperText??void 0,tooltip:n.tooltip??void 0,label:n.label??``,name:u,required:i,children:(0,Y.jsxs)(`div`,{className:`flex flex-col gap-3 rounded-lt-sm border border-dashed border-lt-border bg-lt-surface px-4 py-6`,"data-test":T(u),onDragOver:e=>e.preventDefault(),onDrop:e=>{e.preventDefault(),N(e.dataTransfer.files)},children:[(0,Y.jsx)(`button`,{className:`text-sm text-lt-muted-fg`,disabled:b,onClick:()=>v.current?.click(),type:`button`,children:t(`form.file-upload.dropzone`,`Drop files here or click to browse`)}),(0,Y.jsx)(`ul`,{className:n.image?`grid grid-cols-1 gap-3 sm:grid-cols-2`:`flex flex-col gap-2`,children:w.map(e=>(0,Y.jsxs)(`li`,{className:n.image?`flex min-w-0 items-center gap-3 rounded-lt-sm border border-lt-border bg-lt-bg p-2 text-sm`:`flex items-center justify-between gap-3 text-sm`,children:[n.image&&e.url?(0,Y.jsx)(`img`,{alt:e.name,className:`size-16 shrink-0 rounded-lt-sm border border-lt-border object-cover`,"data-test":T(`${u}-preview`),src:e.url}):null,(0,Y.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,Y.jsx)(`span`,{className:`block truncate`,"data-test":T(`${u}-item`),children:e.name}),e.status===`uploading`&&(0,Y.jsxs)(`span`,{className:`text-xs text-lt-muted-fg`,children:[e.progress,`%`]}),e.status===`error`&&(0,Y.jsx)(`span`,{className:`text-xs text-lt-danger`,children:t(`form.file-upload.failed`,`Failed`)})]}),(!e.existing||!d)&&(0,Y.jsx)(Zv,{size:`sm`,icon:`x`,label:t(`form.file-upload.remove`,`Remove {{name}}`,{name:e.name}),"data-test":T(e.existing?`${u}-remove-existing`:`${u}-remove`),disabled:b,onClick:()=>P(e.id)}),x&&!e.existing&&e.key&&e.status===`ready`&&(0,Y.jsx)(`input`,{"data-test":T(`${u}-uploaded`),name:C,type:`hidden`,value:e.key})]},e.id))}),!d&&D.map(e=>(0,Y.jsx)(`input`,{name:`${u}__removed[]`,type:`hidden`,value:e},e)),(0,Y.jsx)(`input`,{accept:n.accept??void 0,"aria-label":n.label??u,className:`sr-only`,"data-test":T(`${u}-input`),id:_,multiple:S,name:x?void 0:C,onChange:e=>{N(e.target.files),x&&(e.target.value=``)},ref:v,type:`file`})]})})};function ey({label:e,summaryLabel:t,variant:n,emphasis:r}){let{componentId:i,errors:a,fieldLabels:o,processing:s}=gp(),c=Object.entries(a).filter(([,e])=>!!e).map(([e,t])=>({label:o[e]??e,message:t})),l=c.length>0;return(0,Y.jsxs)(`span`,{className:`group relative inline-flex flex-col`,children:[(0,Y.jsxs)($,{"data-lattice-form":i,"data-test":`form-submit`,disabled:s||l,emphasis:r,type:`submit`,variant:n,children:[s&&(0,Y.jsx)(up,{}),e]}),l&&(0,Y.jsxs)(`div`,{className:`pointer-events-none absolute bottom-full left-1/2 z-lt-popover mb-2 w-max max-w-xs -translate-x-1/2 rounded-lt border border-lt-border bg-lt-surface p-3 text-left text-sm opacity-0 shadow-lt-md transition-opacity group-hover:opacity-100`,role:`tooltip`,children:[(0,Y.jsx)(`p`,{className:`mb-1 font-medium text-lt-fg`,children:t}),(0,Y.jsx)(`ul`,{className:`space-y-1`,children:c.map(e=>(0,Y.jsxs)(`li`,{className:`text-lt-muted-fg`,children:[(0,Y.jsx)(`span`,{className:`font-medium text-lt-fg`,children:e.label}),` — `,e.message]},e.label))})]})]})}var ty={start:`justify-start`,center:`justify-center`,end:`justify-end`,between:`justify-between`,around:`justify-around`,evenly:`justify-evenly`};function ny({componentId:e,reset:t}){let n=om();return Qt(a.resetForm,r=>{let i=r.detail;(!i?.form||i.form===e)&&(t(),n())}),null}function ry({action:e,children:t,componentRef:n,nodes:r,shouldRenderSubmitButton:i,submitButtons:a,submitEmphasis:o,submitJustify:s,submitLabel:c,submitVariant:l,summaryLabel:u}){let{nodes:d,markUserEdit:f}=Sm(e,n,r);return(0,Y.jsx)(vp,{value:(0,B.useMemo)(()=>({markUserEdit:f}),[f]),children:(0,Y.jsx)(Up,{nodes:d,children:(0,Y.jsxs)(`div`,{className:`flex flex-col gap-6`,children:[t,i&&(0,Y.jsx)(`div`,{className:`flex gap-3 ${ty[s??`end`]}`,children:a?.length?a.map((e,t)=>e.props.buttonType===`submit`?(0,Y.jsx)(ey,{emphasis:e.props.emphasis??o,label:e.props.label??c,summaryLabel:u,variant:e.props.variant??l},Ur(e,t)):(0,Y.jsx)(Yr,{node:e},Ur(e,t))):(0,Y.jsx)(ey,{emphasis:o,label:c,summaryLabel:u,variant:l})})]})})})}function iy(e){return!e||Array.isArray(e)&&e.length===0?!1:Array.isArray(e)?e:void 0}var ay=({children:e,node:t})=>(0,Y.jsx)(em,{initial:(0,B.useMemo)(()=>({...Cm(t.schema).values,...t.props.state}),[t.schema,t.props.state]),children:(0,Y.jsx)(oy,{node:t,children:e})});function oy({children:e,node:t}){let{t:n}=W(`lattice`),r=t.props,i=r.action??`#`,a=r.errorBag,o=r.ref??``,s=r.method??`post`,c=r.precognitive,l=r.resetOnError??!1,d=r.resetOnSuccess??[],f=(0,B.useMemo)(()=>Cm(t.schema).labels,[t.schema]),p=r.submitButton,m=r.submitButtons??void 0,h=r.submitJustify??void 0,g=r.submitLabel??n(`form.submit`,`Submit`),_=r.submitVariant??void 0,v=r.submitEmphasis??void 0,y=r.validationSummaryLabel,b=r.validationTimeout??void 0,x=om(),S=e=>{let t=iy(e);t!==!1&&x(t)},C=(0,B.useRef)(null),w=(0,B.useRef)(`idle`),[T,E]=(0,B.useState)(0);return(0,B.useEffect)(()=>{T>0&&w.current===`renewing`&&C.current?.submit()},[T]),(0,Y.jsx)(u,{ref:C,action:i,"data-slot":`form`,"data-lattice-component":t.id,errorBag:a,method:s,resetOnError:l,resetOnSuccess:d,validationTimeout:c?b:void 0,headers:P(o),className:`mx-auto flex w-full max-w-2xl flex-col gap-6`,onStart:()=>{w.current=w.current===`renewing`?`retried`:`idle`},onSuccess:()=>S(d),onError:()=>S(l),onHttpException:e=>{if(!(e.status!==403||o===``||w.current===`retried`))return w.current=`renewing`,ae(o).finally(()=>E(e=>e+1)),!1},children:({clearErrors:n,errors:a,processing:s,reset:l,touch:u,validate:d,validating:b})=>(0,Y.jsxs)(hp,{value:{action:i,clearErrors:e=>n(e),componentId:t.id,componentRef:o,errors:a,fieldLabels:f,precognitive:c,processing:s,touch:e=>u(...e),validate:e=>d(e),validateFields:(e,t)=>d({only:e,...t}),validating:b},children:[(0,Y.jsx)(ny,{componentId:t.id,reset:l}),r.status&&(0,Y.jsx)(`div`,{className:`text-center text-sm font-medium text-lt-success`,children:r.status}),(0,Y.jsx)(ry,{action:i,componentRef:o,nodes:t.schema,shouldRenderSubmitButton:p,submitButtons:m,submitEmphasis:v,submitJustify:h,submitLabel:g,submitVariant:_,summaryLabel:y,children:e})]})})}var sy=({node:e})=>{let t=Vp(),n=e.props.name,r=t?t.getValue(n):e.props.value;return(0,Y.jsx)(`input`,{defaultValue:typeof r==`string`?r:``,name:t?t.scopedName(n):n,type:`hidden`})};function cy({affix:e,side:t,squared:n=!1}){return(0,Y.jsx)(`span`,{"data-slot":`affix-${t}`,className:J(`inline-flex h-lt-control-md shrink-0 items-center border border-lt-input bg-lt-muted px-3 text-base whitespace-nowrap text-lt-muted-fg`,`group-has-[:focus-visible]:border-lt-ring`,t===`start`?`rounded-l-lt-sm border-r-0`:`rounded-r-lt-sm border-l-0`,n&&`rounded-r-none border-r-0`),children:e.icon?(0,Y.jsx)(Br,{className:`size-lt-icon-md`,icon:e.icon}):e.text})}function ly({prefix:e,suffix:t,end:n,children:r}){return!e&&!t&&!n?r(``):(0,Y.jsxs)(`div`,{className:`group flex w-full rounded-lt-sm transition-[color,box-shadow] has-[:focus-visible]:ring-[length:var(--lt-ring-width)] has-[:focus-visible]:ring-lt-ring/50`,"data-slot":`affix-group`,children:[e?(0,Y.jsx)(cy,{affix:e,side:`start`}):null,(0,Y.jsx)(`div`,{className:`min-w-0 flex-1`,children:r(J(`focus-visible:ring-0`,e&&`rounded-l-none`,(t||n)&&`rounded-r-none`))}),t?(0,Y.jsx)(cy,{affix:t,side:`end`,squared:!!n}):null,n]})}var uy=({node:e})=>{let t=e.props;return(0,Y.jsx)(Hv,{node:e,label:t.label??``,children:({name:e,testId:n,value:r,readOnly:i,disabled:a,commit:o})=>{let s=e=>o(e.target.value);return t.slider?(0,Y.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,Y.jsx)(`input`,{"aria-label":t.label??``,className:`h-2 w-full cursor-pointer appearance-none rounded-lt-sm bg-lt-muted accent-lt-primary disabled:cursor-not-allowed disabled:accent-lt-disabled`,"data-test":n,disabled:a||i,id:e,max:t.max??void 0,min:t.min??void 0,name:e,onChange:s,step:t.step??void 0,tabIndex:t.tabIndex??void 0,type:`range`,value:r}),(0,Y.jsx)(`output`,{className:`w-10 shrink-0 text-right text-sm tabular-nums text-lt-fg`,children:r})]}):(0,Y.jsx)(ly,{prefix:t.prefix,suffix:t.suffix,children:o=>(0,Y.jsx)(zv,{autoFocus:t.autoFocus??!1,className:o,"data-test":n,disabled:a,id:e,max:t.max??void 0,min:t.min??void 0,name:e,onChange:s,placeholder:t.placeholder??``,readOnly:i,step:t.step??void 0,tabIndex:t.tabIndex??void 0,type:`number`,value:r})})}})},dy=Object.defineProperty,fy=Object.defineProperties,py=Object.getOwnPropertyDescriptors,my=Object.getOwnPropertySymbols,hy=Object.prototype.hasOwnProperty,gy=Object.prototype.propertyIsEnumerable,_y=(e,t,n)=>t in e?dy(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,vy=(e,t)=>{for(var n in t||={})hy.call(t,n)&&_y(e,n,t[n]);if(my)for(var n of my(t))gy.call(t,n)&&_y(e,n,t[n]);return e},yy=(e,t)=>fy(e,py(t)),by=(e,t)=>{var n={};for(var r in e)hy.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&my)for(var r of my(e))t.indexOf(r)<0&&gy.call(e,r)&&(n[r]=e[r]);return n};function xy(e){return[setTimeout(e,0),setTimeout(e,10),setTimeout(e,50)]}function Sy(e){let t=B.useRef();return B.useEffect(()=>{t.current=e}),t.current}var Cy=18,wy=40,Ty=`${wy}px`,Ey=[`[data-lastpass-icon-root]`,`com-1password-button`,`[data-dashlanecreated]`,`[style$="2147483647 !important;"]`].join(`,`);function Dy({containerRef:e,inputRef:t,pushPasswordManagerStrategy:n,isFocused:r}){let[i,a]=B.useState(!1),[o,s]=B.useState(!1),[c,l]=B.useState(!1),u=B.useMemo(()=>n===`none`?!1:(n===`increase-width`||n===`experimental-no-flickering`)&&i&&o,[i,o,n]),d=B.useCallback(()=>{let r=e.current,i=t.current;if(!r||!i||c||n===`none`)return;let o=r,s=o.getBoundingClientRect().left+o.offsetWidth,u=o.getBoundingClientRect().top+o.offsetHeight/2,d=s-Cy,f=u;document.querySelectorAll(Ey).length===0&&document.elementFromPoint(d,f)===r||(a(!0),l(!0))},[e,t,c,n]);return B.useEffect(()=>{let t=e.current;if(!t||n===`none`)return;function r(){s(window.innerWidth-t.getBoundingClientRect().right>=wy)}r();let i=setInterval(r,1e3);return()=>{clearInterval(i)}},[e,n]),B.useEffect(()=>{let e=r||document.activeElement===t.current;if(n===`none`||!e)return;let i=setTimeout(d,0),a=setTimeout(d,2e3),o=setTimeout(d,5e3),s=setTimeout(()=>{l(!0)},6e3);return()=>{clearTimeout(i),clearTimeout(a),clearTimeout(o),clearTimeout(s)}},[t,r,n,d]),{hasPWMBadge:i,willPushPWMBadge:u,PWM_BADGE_SPACE_WIDTH:Ty}}var Oy=B.createContext({}),ky=B.forwardRef((e,t)=>{var n=e,{value:r,onChange:i,maxLength:a,textAlign:o=`left`,pattern:s,placeholder:c,inputMode:l=`numeric`,onComplete:u,pushPasswordManagerStrategy:d=`increase-width`,pasteTransformer:f,containerClassName:p,noScriptCSSFallback:m=jy,render:h,children:g}=n,_=by(n,[`value`,`onChange`,`maxLength`,`textAlign`,`pattern`,`placeholder`,`inputMode`,`onComplete`,`pushPasswordManagerStrategy`,`pasteTransformer`,`containerClassName`,`noScriptCSSFallback`,`render`,`children`]),v;let[y,b]=B.useState(typeof _.defaultValue==`string`?_.defaultValue:``),x=r??y,S=Sy(x),C=B.useCallback(e=>{i?.(e),b(e)},[i]),w=B.useMemo(()=>s?typeof s==`string`?new RegExp(s):s:null,[s]),T=B.useRef(null),E=B.useRef(null),D=B.useRef({value:x,onChange:C,isIOS:typeof window<`u`&&((v=window==null?void 0:window.CSS)?.supports)?.call(v,`-webkit-touch-callout`,`none`)}),O=B.useRef({prev:[T.current?.selectionStart,T.current?.selectionEnd,T.current?.selectionDirection]});B.useImperativeHandle(t,()=>T.current,[]),B.useEffect(()=>{let e=T.current,t=E.current;if(!e||!t)return;D.current.value!==e.value&&D.current.onChange(e.value),O.current.prev=[e.selectionStart,e.selectionEnd,e.selectionDirection];function n(){if(document.activeElement!==e){P(null),I(null);return}let t=e.selectionStart,n=e.selectionEnd,r=e.selectionDirection,i=e.maxLength,a=e.value,o=O.current.prev,s=-1,c=-1,l;if(a.length!==0&&t!==null&&n!==null){let e=t===n,r=t===a.length&&a.length<i;if(e&&!r){let e=t;if(e===0)s=0,c=1,l=`forward`;else if(e===i)s=e-1,c=e,l=`backward`;else if(i>1&&a.length>1){let t=0;if(o[0]!==null&&o[1]!==null){l=e<o[1]?`backward`:`forward`;let n=o[0]===o[1]&&o[0]<i;l===`backward`&&!n&&(t=-1)}s=t+e,c=t+e+1}}s!==-1&&c!==-1&&s!==c&&T.current.setSelectionRange(s,c,l)}let u=s===-1?t:s,d=c===-1?n:c,f=l??r;P(u),I(d),O.current.prev=[u,d,f]}if(document.addEventListener(`selectionchange`,n,{capture:!0}),n(),document.activeElement===e&&M(!0),!document.getElementById(`input-otp-style`)){let e=document.createElement(`style`);if(e.id=`input-otp-style`,document.head.appendChild(e),e.sheet){let t=`background: transparent !important; color: transparent !important; border-color: transparent !important; opacity: 0 !important; box-shadow: none !important; -webkit-box-shadow: none !important; -webkit-text-fill-color: transparent !important;`;Ay(e.sheet,`[data-input-otp]::selection { background: transparent !important; color: transparent !important; }`),Ay(e.sheet,`[data-input-otp]:autofill { ${t} }`),Ay(e.sheet,`[data-input-otp]:-webkit-autofill { ${t} }`),Ay(e.sheet,`@supports (-webkit-touch-callout: none) { [data-input-otp] { letter-spacing: -.6em !important; font-weight: 100 !important; font-stretch: ultra-condensed; font-optical-sizing: none !important; left: -1px !important; right: 1px !important; } }`),Ay(e.sheet,`[data-input-otp] + * { pointer-events: all !important; }`)}}let r=()=>{t&&t.style.setProperty(`--root-height`,`${e.clientHeight}px`)};r();let i=new ResizeObserver(r);return i.observe(e),()=>{document.removeEventListener(`selectionchange`,n,{capture:!0}),i.disconnect()}},[]);let[k,A]=B.useState(!1),[j,M]=B.useState(!1),[N,P]=B.useState(null),[F,I]=B.useState(null);B.useEffect(()=>{xy(()=>{var e;(e=T.current)==null||e.dispatchEvent(new Event(`input`));let t=T.current?.selectionStart,n=T.current?.selectionEnd,r=T.current?.selectionDirection;t!==null&&n!==null&&(P(t),I(n),O.current.prev=[t,n,r])})},[x,j]),B.useEffect(()=>{S!==void 0&&x!==S&&S.length<a&&x.length===a&&u?.(x)},[a,u,S,x]);let ee=Dy({containerRef:E,inputRef:T,pushPasswordManagerStrategy:d,isFocused:j}),te=B.useCallback(e=>{let t=e.currentTarget.value.slice(0,a);if(t.length>0&&w&&!w.test(t)){e.preventDefault();return}typeof S==`string`&&t.length<S.length&&document.dispatchEvent(new Event(`selectionchange`)),C(t)},[a,C,S,w]),ne=B.useCallback(()=>{var e;if(T.current){let t=Math.min(T.current.value.length,a-1),n=T.current.value.length;(e=T.current)==null||e.setSelectionRange(t,n),P(t),I(n)}M(!0)},[a]),re=B.useCallback(e=>{let t=T.current;if(!f&&(!D.current.isIOS||!e.clipboardData||!t))return;let n=e.clipboardData.getData(`text/plain`),r=f?f(n):n;e.preventDefault();let i=T.current?.selectionStart,o=T.current?.selectionEnd,s=(i===o?x.slice(0,i)+r+x.slice(i):x.slice(0,i)+r+x.slice(o)).slice(0,a);if(s.length>0&&w&&!w.test(s))return;t.value=s,C(s);let c=Math.min(s.length,a-1),l=s.length;t.setSelectionRange(c,l),P(c),I(l)},[a,C,w,x]),L=B.useMemo(()=>({position:`relative`,cursor:_.disabled?`default`:`text`,userSelect:`none`,WebkitUserSelect:`none`,pointerEvents:`none`}),[_.disabled]),R=B.useMemo(()=>({position:`absolute`,inset:0,width:ee.willPushPWMBadge?`calc(100% + ${ee.PWM_BADGE_SPACE_WIDTH})`:`100%`,clipPath:ee.willPushPWMBadge?`inset(0 ${ee.PWM_BADGE_SPACE_WIDTH} 0 0)`:void 0,height:`100%`,display:`flex`,textAlign:o,opacity:`1`,color:`transparent`,pointerEvents:`all`,background:`transparent`,caretColor:`transparent`,border:`0 solid transparent`,outline:`0 solid transparent`,boxShadow:`none`,lineHeight:`1`,letterSpacing:`-.5em`,fontSize:`var(--root-height)`,fontFamily:`monospace`,fontVariantNumeric:`tabular-nums`}),[ee.PWM_BADGE_SPACE_WIDTH,ee.willPushPWMBadge,o]),ie=B.useMemo(()=>B.createElement(`input`,yy(vy({autoComplete:_.autoComplete||`one-time-code`},_),{"data-input-otp":!0,"data-input-otp-placeholder-shown":x.length===0||void 0,"data-input-otp-mss":N,"data-input-otp-mse":F,inputMode:l,pattern:w?.source,"aria-placeholder":c,style:R,maxLength:a,value:x,ref:T,onPaste:e=>{var t;re(e),(t=_.onPaste)==null||t.call(_,e)},onChange:te,onMouseOver:e=>{var t;A(!0),(t=_.onMouseOver)==null||t.call(_,e)},onMouseLeave:e=>{var t;A(!1),(t=_.onMouseLeave)==null||t.call(_,e)},onFocus:e=>{var t;ne(),(t=_.onFocus)==null||t.call(_,e)},onBlur:e=>{var t;M(!1),(t=_.onBlur)==null||t.call(_,e)}})),[te,ne,re,l,R,a,F,N,_,w?.source,x]),ae=B.useMemo(()=>({slots:Array.from({length:a}).map((e,t)=>{let n=j&&N!==null&&F!==null&&(N===F&&t===N||t>=N&&t<F),r=x[t]===void 0?null:x[t];return{char:r,placeholderChar:x[0]===void 0?c?.[t]??null:null,isActive:n,hasFakeCaret:n&&r===null}}),isFocused:j,isHovering:!_.disabled&&k}),[j,k,a,F,N,_.disabled,x]),z=B.useMemo(()=>h?h(ae):B.createElement(Oy.Provider,{value:ae},g),[g,ae,h]);return B.createElement(B.Fragment,null,m!==null&&B.createElement(`noscript`,null,B.createElement(`style`,null,m)),B.createElement(`div`,{ref:E,"data-input-otp-container":!0,style:L,className:p},z,B.createElement(`div`,{style:{position:`absolute`,inset:0,pointerEvents:`none`}},ie)))});ky.displayName=`Input`;function Ay(e,t){try{e.insertRule(t)}catch{console.error(`input-otp could not insert CSS rule:`,t)}}var jy=`
48
48
  [data-input-otp] {
49
49
  --nojs-bg: white !important;
50
50
  --nojs-fg: black !important;
@@ -63,4 +63,4 @@ For more information, see https://radix-ui.com/primitives/docs/components/${t.do
63
63
  --nojs-bg: black !important;
64
64
  --nojs-fg: white !important;
65
65
  }
66
- }`,Ay=`^\\d+$`;function jy({char:e,hasFakeCaret:t,isActive:n}){return(0,Y.jsxs)(`div`,{className:J(`relative flex h-lt-control-md w-10 items-center justify-center border-y border-r border-lt-input text-base shadow-lt-xs transition-all first:rounded-l-lt-sm first:border-l last:rounded-r-lt-sm`,n&&`z-10 border-lt-ring ring-lt-ring/50 ring-[length:var(--lt-ring-width)]`),children:[e,t?(0,Y.jsx)(`div`,{className:`pointer-events-none absolute inset-0 flex items-center justify-center`,children:(0,Y.jsx)(`div`,{className:`bg-lt-fg h-5 w-px animate-pulse`})}):null]})}function My({length:e,containerClassName:t,pattern:n=Ay,...r}){return(0,Y.jsx)(Dy,{maxLength:e,pattern:n,containerClassName:J(`flex items-center gap-2 has-[:disabled]:opacity-50`,t),render:({slots:e})=>(0,Y.jsx)(`div`,{className:`flex items-center`,children:e.map((e,t)=>(0,Y.jsx)(jy,{...e},t))}),...r})}var Ny=({node:e})=>{let t=e.props;return(0,Y.jsx)(Hv,{node:e,label:t.label??``,children:({name:e,testId:n,value:r,readOnly:i,disabled:a,commit:o})=>(0,Y.jsx)(My,{autoFocus:t.autoFocus??!1,"data-test":n,disabled:a||i,id:e,length:t.length,name:e,onChange:e=>o(e),value:r})})};function Py({className:e,ref:t,...n}){let[r,i]=(0,B.useState)(!1);return(0,Y.jsxs)(`div`,{className:`relative`,children:[(0,Y.jsx)(zv,{type:r?`text`:`password`,className:J(`pr-10`,e),ref:t,...n}),(0,Y.jsx)(`button`,{type:`button`,"data-test":typeof n.name==`string`?`${n.name}-visibility`:`password-visibility`,onClick:()=>i(e=>!e),className:`absolute inset-y-0 right-0 flex items-center rounded-r-lt-sm px-3 text-lt-muted-fg hover:text-lt-fg focus-visible:ring-[length:var(--lt-ring-width)] focus-visible:ring-lt-ring/50 focus-visible:outline-none`,"aria-label":r?`Hide password`:`Show password`,tabIndex:-1,children:r?(0,Y.jsx)(X,{name:`eye-off`,className:`size-lt-icon-md`}):(0,Y.jsx)(X,{name:`eye`,className:`size-lt-icon-md`})})]})}var Fy=({node:e})=>{let t=e.props,{errors:n}=gp(),r=tv(e),{commit:i}=lm(),a=Vp(),o=t.confirmation,s=o?.name??`${r.localName}_confirmation`,c=a?a.scopedName(s):s,l=a?a.errorKey(s):s,u=(t.passwordRules??``)||void 0;return r.hidden?null:(0,Y.jsxs)(`div`,{className:`grid gap-6`,children:[(0,Y.jsx)(Ng,{error:r.error,helperText:t.helperText??void 0,tooltip:t.tooltip??void 0,label:t.label??``,labelAction:t.labelAction??void 0,name:r.name,required:r.required,children:(0,Y.jsx)(sy,{prefix:t.prefix,suffix:t.suffix,children:e=>(0,Y.jsx)(Py,{autoComplete:t.autoComplete??``,autoFocus:t.autoFocus??!1,className:e,"data-test":r.testId,disabled:r.disabled,id:r.name,name:r.name,onChange:e=>{r.commit(e.target.value)},placeholder:t.placeholder??``,passwordrules:u,readOnly:r.readOnly,tabIndex:t.tabIndex??void 0,value:r.value})})}),o&&(0,Y.jsx)(Ng,{error:n[l],label:o.label??`Confirm password`,name:c,required:r.required,children:(0,Y.jsx)(Py,{autoComplete:`new-password`,"data-test":T(s),disabled:r.disabled,id:c,name:c,onChange:e=>{i(s,e.target.value)},placeholder:o.placeholder??o.label??`Confirm password`,passwordrules:u,readOnly:r.readOnly,tabIndex:t.tabIndex??void 0})})]})},Iy=[],Ly=({node:e})=>{let t=e.props,n=t.name,{errors:r}=gp(),{hidden:i,required:a}=Kg(e),{path:o,rows:s,onField:c,onRemove:l,onMove:u,onDuplicate:d,append:f}=j_(n,t.defaultItems??1),p=e.schema??Iy,m=A_(s.map(e=>String(e.rowId??``)).join(`,`)),h=t.maxItems!=null&&s.length>=t.maxItems,g=t.minItems!=null&&s.length<=t.minItems,_=t.layout===`table`,v=t.itemLabels,y=e=>{let n=v?.[e];return typeof n==`string`&&n!==``?n:t.itemLabel?`${t.itemLabel} ${e+1}`:`#${e+1}`};if(i)return null;let b=s.map((e,t)=>({key:String(e.rowId??t),index:t,row:e,template:p,span:!1,heading:y(t)}));return(0,Y.jsx)(Ng,{error:r[o],helperText:t.helperText??void 0,tooltip:t.tooltip??void 0,label:t.label??``,name:o,required:a,children:(0,Y.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,Y.jsx)(e_,{path:o,rows:s,rowKey:kp}),_?(0,Y.jsx)(D_,{base:o,columns:T_(p),rows:b,reorderable:t.reorderable??!1,removable:()=>!g,rowActions:t.rowActions,onField:c,onMove:u,onRemove:l,onDuplicate:d,registerRow:m,resizableColumns:t.resizableColumns===!0,resizeIndicator:t.resizeIndicator===!0}):s.map((e,n)=>{let r=String(e.rowId??n);return(0,Y.jsx)(`div`,{ref:e=>m(r,e),"data-flip-key":r,children:(0,Y.jsx)(n_,{base:o,index:n,row:e,template:p,heading:y(n),reorderable:t.reorderable??!1,isFirst:n===0,isLast:n===s.length-1,removable:!g,rowActions:t.rowActions,onField:c,onRemove:l,onMove:u,onDuplicate:d})},r)}),!h&&(0,Y.jsxs)(`button`,{type:`button`,"data-test":`repeater-${n}-add`,className:`inline-flex items-center gap-1.5 self-start rounded-lt-sm border border-lt-border px-3 py-1.5 text-sm hover:bg-lt-accent [&_svg]:size-lt-icon-sm`,onClick:()=>f({}),children:[(0,Y.jsx)(X,{name:`plus`}),t.addLabel??`Add`]})]})})},Ry=250;function zy({contentClassName:e,creatable:t=!1,emptyLabel:n,loading:r=!1,multiple:i=!1,onCommit:a,onCreate:o,onSearch:s,onSelect:c,open:l,onOpenChange:u,options:d,renderOption:f,searchLabel:p,searchPlaceholder:m,selected:h,showSearch:g=!0,testId:_,trigger:v,triggerClassName:y,triggerProps:b}){let{t:x}=W(`lattice`),[S,C]=(0,B.useState)(``);function w(e){let t=e.split(`,`).map(e=>e.trim()).filter(Boolean);for(let e of t){let t=d.find(t=>t.label.toLowerCase()===e.toLowerCase());t?(a??c)(t.value):o?.(e)}i?C(``):O()}let T=d.some(e=>e.label.toLowerCase()===S.trim().toLowerCase()),E=Em(e=>s?.(e),Ry);(0,B.useEffect)(()=>{if(!(!s||!l))return E(S),()=>E.cancel()},[S,s,l,E]);let D=s?d:d.filter(e=>e.label.toLowerCase().includes(S.toLowerCase()));function O(){C(``),u(!1)}function k(e){c(e),i||O()}return(0,Y.jsxs)(Ed,{open:l,onOpenChange:e=>e?u(!0):O(),children:[(0,Y.jsx)(Dd,{asChild:!0,children:(0,Y.jsx)(`button`,{type:`button`,className:y,...b,children:v})}),(0,Y.jsxs)(kd,{align:`start`,className:J(`w-[var(--radix-popover-trigger-width)] overflow-hidden p-0`,e),children:[g&&(0,Y.jsxs)(`div`,{className:`flex items-center gap-2 border-b border-lt-border px-3 py-2`,children:[(0,Y.jsx)(`input`,{"aria-label":p??x(`form.search-options`,`Search options`),"data-slot":`combobox-search`,"data-test":_?`${_}-search`:void 0,className:`w-full bg-transparent text-sm outline-none placeholder:text-lt-muted-fg`,onChange:e=>{let n=e.target.value;if(t&&n.includes(`,`)){w(n);return}C(n)},onKeyDown:e=>{t&&e.key===`Enter`&&S.trim()!==``&&(e.preventDefault(),w(S))},placeholder:m,value:S}),r&&(0,Y.jsx)(X,{name:`loader-2`,"aria-hidden":`true`,className:`size-lt-icon-md shrink-0 animate-spin text-lt-muted-fg`})]}),(0,Y.jsxs)(`div`,{className:`max-h-60 overflow-y-auto p-1`,role:`listbox`,children:[t&&S.trim()!==``&&!T&&(0,Y.jsxs)(`button`,{className:`flex w-full items-center gap-2 rounded-lt-sm px-3 py-1.5 text-left text-sm transition-colors hover:bg-lt-accent hover:text-lt-accent-fg`,"data-test":_?`${_}-create`:void 0,onClick:()=>w(S),type:`button`,children:[(0,Y.jsx)(X,{name:`plus`,"aria-hidden":`true`,className:`size-lt-icon-md shrink-0`}),x(`form.create-option`,`Create "{{label}}"`,{label:S.trim()})]}),D.length===0&&!(t&&S.trim()!==``&&!T)?(0,Y.jsx)(`p`,{className:`px-3 py-2 text-sm text-lt-muted-fg`,children:n}):D.map(e=>{let t=h.includes(e.value);return(0,Y.jsxs)(`button`,{"aria-label":f?e.label:void 0,"aria-selected":t,className:J(`flex w-full items-center justify-between gap-2 rounded-lt-sm px-3 py-1.5 text-left text-sm transition-colors hover:bg-lt-accent hover:text-lt-accent-fg`,t&&`bg-lt-accent/60`),"data-slot":`combobox-option`,"data-test":_?`${_}-option-${e.value}`:void 0,"data-value":e.value,onClick:()=>k(e.value),role:`option`,type:`button`,children:[f?(0,Y.jsx)(`span`,{className:`flex min-w-0 flex-1 items-center gap-2`,children:f(e)}):e.label,t&&(0,Y.jsx)(X,{name:`check`,"aria-hidden":`true`,className:`size-lt-icon-md shrink-0`})]},e.value)})]})]})]})}function By(e,t){let n=e??t;return Array.isArray(n)?n.map(String):n==null||n===``?[]:[String(n)]}var Vy=({node:e})=>{let{t}=W(`lattice`),n=e.props,{action:r,componentRef:i,errors:a,fieldIdPrefix:o,searchOptions:s}=gp(),{hidden:c,required:l,readOnly:u,disabled:d}=Kg(e),{change:f,blur:p}=lm(),m=Wp(e),h=n.name,g=Vp(),_=Q_(g?g.scopedName(h):h,o),v=g?g.errorKey(h):h,y=v,b=n.placeholder||`Select…`,x=n.multiple,S=n.searchable,C=n.creatable,w=(0,B.useMemo)(()=>m.props.options??[],[m.props]),T=m.props.optionSchema,E=rm(h),D=nm(),O=(0,B.useRef)(D);O.current=D;let k=g?g.getValue(h):E,A=(0,B.useMemo)(()=>By(k,n.value),[k,n.value]),j=(0,B.useRef)(A);j.current=A;let[M,N]=(0,B.useState)(!1),[P,F]=(0,B.useState)(null),[I,ee]=(0,B.useState)(!1),te=(0,B.useRef)(null),ne=(0,B.useMemo)(()=>{let e=new Map;for(let t of[...w,...P??[]])e.set(t.value,t);return e},[w,P]),re=e=>ne.get(e)?.label??e,L=e=>_h(ne.get(e)?.data?.color),R=u||d,ie=(0,B.useCallback)(e=>{if(te.current?.abort(),e.trim()===``){F(null),ee(!1);return}let t=new AbortController;if(te.current=t,ee(!0),s){s(y,e,O.current,t.signal).then(e=>{F(e),ee(!1)}).catch(()=>{});return}pm(r,i,{...O.current,_sub:`search`,_target:y,_q:e},t.signal).then(e=>{F(e?.options??[]),ee(!1)}).catch(()=>{})},[r,i,y,s]);function ae(e){f(h,x?e:e[0]??``)}function z(e){if(x){let t=j.current.includes(e)?j.current.filter(t=>t!==e):[...j.current,e];j.current=t,ae(t);return}j.current=[e],ae([e])}function oe(e){ae(A.filter(t=>t!==e))}function se(e){if(!x){j.current=[e],ae([e]);return}if(!j.current.includes(e)){let t=[...j.current,e];j.current=t,ae(t)}}if(c)return null;let ce=S?P??w:w,le=T?.length?e=>(0,Y.jsx)(Jr,{nodes:Ne(T,{...e.data,label:e.label,value:e.value})}):void 0;return(0,Y.jsxs)(Ng,{error:a[v],helperText:n.helperText??void 0,tooltip:n.tooltip??void 0,label:n.label??``,name:_,required:l,children:[x?A.map(e=>(0,Y.jsx)(`input`,{name:`${_}[]`,type:`hidden`,value:e},e)):(0,Y.jsx)(`input`,{name:_,type:`hidden`,value:A[0]??``}),(0,Y.jsxs)(`div`,{children:[x&&A.length>0&&(0,Y.jsx)(`div`,{className:`mb-1.5 flex flex-wrap gap-1`,children:A.map(e=>{let n=L(e);return(0,Y.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded-lt-sm bg-lt-muted px-2 py-0.5 text-xs`,children:[n&&(0,Y.jsx)(`span`,{"aria-hidden":`true`,className:`size-2 shrink-0 rounded-full`,style:{background:vh(n)}}),re(e),!R&&(0,Y.jsx)(`button`,{"aria-label":t(`form.remove-option`,`Remove {{label}}`,{label:re(e)}),"data-test":`select-${h}-remove-${e}`,className:`text-lt-muted-fg hover:text-lt-fg [&_svg]:size-lt-icon-xs`,onClick:()=>oe(e),type:`button`,children:(0,Y.jsx)(X,{name:`x`})})]},e)})}),(0,Y.jsx)(zy,{creatable:C,emptyLabel:n.emptyLabel??void 0,loading:I,multiple:x,onCommit:se,onCreate:se,onSearch:S?ie:void 0,onSelect:z,open:M&&!R,onOpenChange:e=>{N(e),e||p(h)},options:ce,renderOption:le,searchPlaceholder:n.searchPlaceholder??void 0,showSearch:!!(S||C),selected:A,testId:`select-${h}`,trigger:(0,Y.jsxs)(Y.Fragment,{children:[!x&&A.length>0?(0,Y.jsx)(`span`,{children:re(A[0])}):(0,Y.jsx)(`span`,{className:`text-lt-muted-fg`,children:b}),(0,Y.jsx)(X,{name:`chevrons-up-down`,className:`size-lt-icon-md shrink-0 text-lt-muted-fg`})]}),triggerClassName:J(Rv(),`flex items-center justify-between gap-2 text-left`,R&&`cursor-not-allowed opacity-60`),triggerProps:{"aria-haspopup":`listbox`,autoFocus:n.autoFocus??void 0,"data-test":`select-${h}`,disabled:R,id:_,tabIndex:n.tabIndex??void 0}})]})]})};function Hy({className:e,...t}){return(0,Y.jsx)(`textarea`,{"data-slot":`textarea`,className:J(`border-lt-input placeholder:text-lt-muted-fg flex field-sizing-content min-h-16 w-full rounded-lt-sm border bg-transparent px-3 py-2 text-base shadow-lt-xs transition-[color,box-shadow] outline-none disabled:pointer-events-none disabled:cursor-not-allowed disabled:bg-lt-disabled disabled:text-lt-disabled-fg`,Lv,`aria-invalid:ring-lt-danger/20 dark:aria-invalid:ring-lt-danger/40 aria-invalid:border-lt-danger`,e),...t})}var Uy=({node:e})=>{let t=e.props;return(0,Y.jsx)(Hv,{node:e,label:t.label??``,children:({name:e,testId:n,value:r,readOnly:i,disabled:a,commit:o})=>(0,Y.jsx)(Hy,{autoFocus:t.autoFocus??!1,"data-test":n,disabled:a,id:e,name:e,onChange:e=>o(e.target.value),placeholder:t.placeholder??``,readOnly:i,rows:t.rows??void 0,tabIndex:t.tabIndex??void 0,value:r})})},Wy=({node:e})=>{let t=e.props;return(0,Y.jsx)(Hv,{node:e,label:t.label??``,children:({name:e,testId:n,value:r,readOnly:i,disabled:a,commit:o})=>(0,Y.jsx)(sy,{prefix:t.prefix,suffix:t.suffix,end:t.copyable?(0,Y.jsx)(Rh,{className:`h-lt-control-md gap-1.5 rounded-l-none rounded-r-lt-sm border-l-0 border-lt-input px-3 group-has-[:focus-visible]:border-lt-ring`,label:t.label??e,testId:`${n}-copy`,value:r}):null,children:s=>(0,Y.jsx)(zv,{autoComplete:t.autoComplete??``,autoFocus:t.autoFocus??!1,className:s,"data-test":n,disabled:a,id:e,name:e,onChange:e=>o(e.target.value),placeholder:t.placeholder??``,readOnly:i,tabIndex:t.tabIndex??void 0,type:t.type??`text`,value:r})})})},Gy=/^(\d{1,2}):(\d{2})(?::(\d{2}))?$/;function Ky(e){if(typeof e!=`string`)return null;let t=Gy.exec(e.trim());if(!t)return null;let n=Number(t[1]),r=Number(t[2]),i=t[3]?Number(t[3]):0;return n>23||r>59||i>59?null:{hour:n,minute:r,second:i}}function qy(e,t){let n=[eb(e.hour),eb(e.minute)];return t&&n.push(eb(e.second)),n.join(`:`)}function Jy(e){return e!=null&&e<60}function Yy(e,t={}){let{min:n,max:r,current:i}=t,a=Zy(n),o=Zy(r),s=e==null||e<60?1:e%60==0?e/60:1;return{hours:$y(0,23,1).map(e=>({value:e,label:eb(e),disabled:a!=null&&e<a.hour||o!=null&&e>o.hour})),minutes:Qy($y(0,59,s),i?.minute).map(e=>({value:e,label:eb(e),disabled:Xy(e,i,a,o)})),seconds:Jy(e)?$y(0,59,1).map(e=>({value:e,label:eb(e),disabled:!1})):null}}function Xy(e,t,n,r){return t?n!=null&&t.hour===n.hour&&e<n.minute||r!=null&&t.hour===r.hour&&e>r.minute:!1}function Zy(e){let t=Ky(e);return t?{hour:t.hour,minute:t.minute}:null}function Qy(e,t){return t==null||e.includes(t)?e:[...e,t].sort((e,t)=>e-t)}function $y(e,t,n){let r=[];for(let i=e;i<=t;i+=n)r.push(i);return r}function eb(e){return String(e).padStart(2,`0`)}function tb({value:e,onChange:t,step:n,min:r,max:i,disabled:a=!1,readOnly:o=!1,labels:s,testId:c}){let l=(0,B.useRef)(null),u=Yy(n,{min:r,max:i,current:e}),d=e??{hour:0,minute:0,second:0},f=!a&&!o,p=[{key:`hour`,label:s?.hour??`Hour`,options:u.hours,selected:d.hour},{key:`minute`,label:s?.minute??`Minute`,options:u.minutes,selected:d.minute},...u.seconds?[{key:`second`,label:s?.second??`Second`,options:u.seconds,selected:d.second}]:[]];function m(e){let t=l.current?.querySelectorAll(`[role="listbox"]`)?.[e];t&&(t.querySelector(`[data-active="true"]`)??t.querySelector(`[role="option"]`))?.focus()}return(0,Y.jsx)(`div`,{ref:l,className:`flex gap-1`,"data-test":c,children:p.map((n,r)=>(0,Y.jsx)(nb,{label:n.label,options:n.options,selected:e?n.selected:null,disabled:!f,onSelect:e=>f&&t({...d,[n.key]:e}),onHorizontal:e=>m(r+e)},n.key))})}function nb({label:e,options:t,selected:n,disabled:r,onSelect:i,onHorizontal:a}){let o=(0,B.useRef)(null),s=t.filter(e=>!e.disabled).map(e=>e.value),c=n??s[0]??t[0]?.value??0;(0,B.useEffect)(()=>{(o.current?.querySelector(`[data-active="true"]`))?.scrollIntoView?.({block:`nearest`})},[n]);function l(e){e!=null&&(o.current?.querySelector(`[data-value="${e}"]`)?.focus(),i(e))}function u(e){if(r)return;let t=s.indexOf(c);switch(e.key){case`ArrowDown`:e.preventDefault(),l(s[Math.min(t+1,s.length-1)]);break;case`ArrowUp`:e.preventDefault(),l(s[Math.max(t-1,0)]);break;case`Home`:e.preventDefault(),l(s[0]);break;case`End`:e.preventDefault(),l(s[s.length-1]);break;case`ArrowRight`:e.preventDefault(),a(1);break;case`ArrowLeft`:e.preventDefault(),a(-1);break}}return(0,Y.jsx)(`div`,{ref:o,role:`listbox`,"aria-label":e,"aria-orientation":`vertical`,tabIndex:-1,className:`flex max-h-40 w-14 flex-col overflow-y-auto`,onKeyDown:u,children:t.map(t=>{let a=n===t.value;return(0,Y.jsx)(`button`,{type:`button`,role:`option`,"aria-selected":a,"aria-label":`${e} ${t.label}`,"data-value":t.value,"data-active":c===t.value,disabled:r||t.disabled,tabIndex:c===t.value?0:-1,onClick:()=>i(t.value),className:J(`shrink-0 rounded-lt-sm px-2 py-1 text-sm text-lt-fg hover:bg-lt-muted`,a&&`bg-lt-primary text-lt-primary-fg`,(r||t.disabled)&&`cursor-not-allowed opacity-40`),children:t.label},t.value)})})}var rb=({node:e})=>{let t=e.props,n=Jy(t.step),r=t.label??t.name;return(0,Y.jsx)(Hv,{node:e,label:t.label??``,children:({name:e,testId:i,value:a,readOnly:o,disabled:s,commit:c,blur:l})=>(0,Y.jsxs)(`div`,{className:`flex gap-2`,children:[(0,Y.jsx)(zv,{"aria-label":r,autoFocus:t.autoFocus??!1,"data-test":i,disabled:s,id:e,name:e,onBlur:()=>{let e=Ky(a);e&&c(qy(e,n)),l()},onChange:e=>c(e.target.value),readOnly:o,tabIndex:t.tabIndex??void 0,type:`text`,value:a}),(0,Y.jsxs)(Ed,{children:[(0,Y.jsx)(Dd,{asChild:!0,children:(0,Y.jsx)($,{"aria-label":`Open ${r} time picker`,disabled:s||o,size:`icon`,type:`button`,variant:`secondary`,children:(0,Y.jsx)(X,{name:`clock`,className:`size-lt-icon-md`,"aria-hidden":`true`})})}),(0,Y.jsx)(kd,{className:`p-2`,children:(0,Y.jsx)(tb,{value:Ky(a),onChange:e=>c(qy(e,n)),step:t.step,min:t.min,max:t.max,disabled:s,readOnly:o,testId:`${i}-picker`})})]})]})})},ib=({node:e})=>{let{hidden:t,required:n,readOnly:r,disabled:i}=Kg(e),a=e.props,o=a.name,s=Vp(),{errors:c,fieldIdPrefix:l}=gp(),u=Q_(s?s.scopedName(o):o,l),d=s?s.errorKey(o):o,f=rm(o),p=s?s.getValue(o):f,m=Ig(a.value),h=p===void 0?m:Ig(p),g=r||i,{commit:_}=lm();return $_(o,m),t?null:(0,Y.jsxs)(Ng,{error:c[d],helperText:a.helperText??void 0,tooltip:a.tooltip??void 0,label:a.label??``,name:u,required:n,children:[(0,Y.jsx)(`input`,{disabled:g,name:u,type:`hidden`,value:h?`1`:`0`}),(0,Y.jsx)(`button`,{"aria-checked":h,"aria-label":a.label??o,autoFocus:a.autoFocus??!1,className:J(`inline-flex h-6 w-11 shrink-0 cursor-pointer items-center rounded-full border border-transparent bg-lt-muted p-0.5 shadow-lt-xs transition-colors outline-none focus-visible:border-lt-ring focus-visible:ring-[length:var(--lt-ring-width)] focus-visible:ring-lt-ring/50 disabled:cursor-not-allowed disabled:bg-lt-disabled data-[state=checked]:bg-lt-primary disabled:data-[state=checked]:bg-lt-disabled`),"data-state":h?`checked`:`unchecked`,"data-test":T(o),disabled:g,id:u,name:u,onClick:()=>_(o,!h),role:`switch`,tabIndex:a.tabIndex??void 0,type:`button`,children:(0,Y.jsx)(`span`,{className:`size-5 rounded-full bg-lt-bg shadow-lt-sm transition-transform data-[state=checked]:translate-x-5 data-[state=unchecked]:translate-x-0`,"data-state":h?`checked`:`unchecked`})})]})};function ab(e){let t=[],n=e=>{let r=xp(e).name;if(r&&t.push(r),!(r&&bp.has(e.type)))for(let t of e.schema??[])n(t)};for(let t of e.schema??[])n(t);return t}function ob(e){let t=[],n=e=>{let r=xp(e).name;if(r&&t.push(r,`${r}.*`),r&&bp.has(e.type)){for(let n of ab(e))t.push(`${r}.*.${n}`);return}for(let t of e.schema??[])n(t)};for(let t of e.schema??[])n(t);return t}function sb(e,t){let n=Object.keys(t).filter(e=>!!t[e]),r=new Set;return e.forEach((e,t)=>{n.some(t=>e.some(e=>wm(t,e)))&&r.add(t)}),r}function cb(e,t){let n=sb(e,t);return n.size>0?Math.min(...n):null}var lb=(0,B.createContext)({activeName:``});function ub(e){let t=(e.schema??[]).filter(e=>e.type===`wizard-step`);return{items:t.map(e=>e.props),nodes:t}}var db=({children:e,node:t})=>{let{t:n}=W(`lattice`),{errors:r,processing:i,touch:a,validateFields:o,validating:s}=gp(),{items:c,nodes:l}=(0,B.useMemo)(()=>ub(t),[t]),u=(0,B.useMemo)(()=>l.map(e=>ab(e)),[l]),d=t.props.orientation===`vertical`,[f,p]=(0,B.useState)(0),[m,h]=(0,B.useState)(()=>new Set([0])),[g,_]=(0,B.useState)(()=>new Set),v=(0,B.useMemo)(()=>sb(u,r),[u,r]),y=f===c.length-1,b=e=>{p(e),h(t=>new Set(t).add(e))},x=()=>{_(e=>new Set(e).add(f)),y||b(f+1)},S=()=>{let e=l[f],t=e?ob(e):[];if(t.length===0){x();return}a(t),o(t,{onSuccess:x})},C=(0,B.useRef)(!1);(0,B.useEffect)(()=>{if(C.current&&!i){let e=cb(u,r);e!==null&&e!==f&&b(e)}C.current=i},[i,r,u,f]);let w=(0,B.useMemo)(()=>({activeName:c[f]?.name??``}),[c,f]);return(0,Y.jsx)(lb.Provider,{value:w,children:(0,Y.jsxs)(`div`,{className:J(`gap-6`,d?`flex`:`grid`),"data-slot":`wizard`,children:[(0,Y.jsx)(`ol`,{"aria-label":n(`form.wizard.steps`,`Steps`),className:J(`gap-1`,d?`flex w-56 shrink-0 flex-col`:`flex flex-wrap`),children:c.map((e,t)=>{let n=t===f,r=g.has(t),i=v.has(t);return(0,Y.jsx)(`li`,{children:(0,Y.jsxs)(`button`,{"aria-current":n?`step`:void 0,className:J(`flex w-full items-center gap-2 rounded-lt px-3 py-2 text-left text-sm`,n?`bg-lt-muted font-medium text-lt-fg`:`text-lt-muted-fg`,!m.has(t)&&`cursor-not-allowed opacity-60`),"data-error":i||void 0,"data-test":`wizard-rail-${e.name}`,disabled:!m.has(t),id:`wizard-step-${e.name}-trigger`,onClick:()=>b(t),type:`button`,children:[(0,Y.jsx)(`span`,{className:J(`flex size-5 shrink-0 items-center justify-center rounded-full border text-xs`,i?`border-lt-danger text-lt-danger`:r?`border-lt-primary bg-lt-primary text-lt-primary-fg`:`border-lt-border`),children:r&&!i?(0,Y.jsx)(X,{className:`size-lt-icon-sm`,name:`check`}):t+1}),(0,Y.jsxs)(`span`,{className:`min-w-0`,children:[(0,Y.jsx)(`span`,{className:`block truncate`,children:e.label}),d&&e.description&&(0,Y.jsx)(`span`,{className:`block truncate text-xs text-lt-muted-fg`,children:e.description})]})]})},e.name)})}),(0,Y.jsxs)(`div`,{className:`min-w-0 flex-1 space-y-6`,children:[e,(0,Y.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,Y.jsx)($,{"data-test":`wizard-back`,disabled:f===0||i,onClick:()=>b(f-1),type:`button`,emphasis:`outline`,children:n(`form.wizard.back`,`Back`)}),y?(0,Y.jsxs)($,{"data-test":`wizard-finish`,disabled:i,type:`submit`,children:[i&&(0,Y.jsx)(up,{}),n(`form.wizard.finish`,`Finish`)]}):(0,Y.jsxs)($,{"data-test":`wizard-next`,disabled:i||s,onClick:S,type:`button`,children:[s&&(0,Y.jsx)(up,{}),n(`form.wizard.next`,`Next`)]})]})]})]})})},fb=({children:e,node:t})=>{let{activeName:n}=(0,B.useContext)(lb),r=t.props.name,i=n===r,[a,o]=(0,B.useState)(i);return(0,B.useEffect)(()=>{i&&o(!0)},[i]),(0,Y.jsx)(`section`,{"aria-labelledby":`wizard-step-${r}-trigger`,className:J(`space-y-8`,!i&&`hidden`),hidden:!i,id:`wizard-step-${r}-panel`,children:a?e:null})},pb=(0,B.lazy)(()=>p(()=>import(`./chunks/rich-editor-field-C71csVJv.js`),__vite__mapDeps([10,1,3,8]),import.meta.url)),mb=Pe({components:{form:V(ry),"field.builder":V(N_),"field.checkbox":V(ev),"field.choice":V(nv),"field.color-picker":V(Uv),"field.date-input":V(Kv),"field.date-time-input":V(qv),"field.file-upload":V(Zv),"field.hidden-input":V(ay),"field.number-input":V(cy),"field.otp":V(Ny),"field.password-input":V(Fy),"field.repeater":V(Ly),"field.rich-editor":V(({children:e,node:t})=>(0,Y.jsx)(B.Suspense,{fallback:null,children:(0,Y.jsx)(pb,{node:t,children:e})})),"field.select":V(Vy),"field.textarea":V(Uy),"field.text-input":V(Wy),"field.time-input":V(rb),"field.toggle":V(ib),wizard:V(db),"wizard-step":V(fb)},name:`lattice/form`});function hb(e,t=1){return oe(`${e}?page=${t}`)}function gb(e,t){return oe(`${e}/${t}/read`,{method:`PATCH`})}function _b(e){return oe(`${e}/read-all`,{method:`POST`})}function vb(e,t){return oe(`${e}/${t}`,{method:`DELETE`})}function yb(e){return oe(e,{method:`DELETE`})}function bb(e,t){return e.some(e=>e.id===t.id)?e:[t,...e]}function xb(e,t){return e.map(e=>e.id===t?{...e,isRead:!0}:e)}function Sb(e,t){return e.filter(e=>e.id!==t)}function Cb({endpoint:e,pollingInterval:t}){let[n,r]=(0,B.useState)([]),[i,a]=(0,B.useState)(0),[o,s]=(0,B.useState)(`loading`),[c,l]=(0,B.useState)(!1),[u,d]=(0,B.useState)(!1),f=(0,B.useRef)(1),p=(0,B.useRef)(c);p.current=c;let m=(0,B.useRef)(!1),h=(0,B.useCallback)(async()=>{try{let t=await hb(e,1);f.current=1,r(t.notifications),a(t.unreadCount),l(t.hasMore),s(`idle`)}catch{s(`error`)}},[e]);return(0,B.useEffect)(()=>{h()},[h]),(0,B.useEffect)(()=>{if(!t||t<=0)return;let e=setInterval(()=>void h(),t*1e3);return()=>clearInterval(e)},[h,t]),{notifications:n,unreadCount:i,status:o,hasMore:c,open:u,setOpen:d,loadMore:(0,B.useCallback)(()=>{if(m.current||!p.current)return;m.current=!0;let t=f.current+1;hb(e,t).then(e=>{f.current=t,r(t=>[...t,...e.notifications]),l(e.hasMore)}).catch(()=>void h()).finally(()=>{m.current=!1})},[e,h]),markRead:(0,B.useCallback)(t=>{r(e=>xb(e,t)),a(e=>Math.max(0,e-1)),gb(e,t).then(e=>a(e.unreadCount)).catch(()=>void h())},[e,h]),markAllRead:(0,B.useCallback)(()=>{r(e=>e.map(e=>({...e,isRead:!0}))),a(0),_b(e).then(e=>a(e.unreadCount)).catch(()=>void h())},[e,h]),dismiss:(0,B.useCallback)(t=>{r(e=>Sb(e,t)),vb(e,t).then(e=>a(e.unreadCount)).catch(()=>void h())},[e,h]),clearAll:(0,B.useCallback)(()=>{r([]),a(0),yb(e).then(e=>a(e.unreadCount)).catch(()=>void h())},[e,h]),receive:(0,B.useCallback)(e=>{r(t=>{let n=bb(t,e);return n!==t&&a(e=>e+1),n})},[])}}function wb(){let{t:e}=W(`lattice`);return(0,Y.jsxs)(`div`,{className:`flex flex-col items-center gap-2 px-4 py-10 text-lt-muted-fg`,children:[(0,Y.jsx)(X,{name:`bell`,className:`size-lt-icon-lg`}),(0,Y.jsx)(`p`,{className:`text-sm`,children:e(`notifications.empty`,`No notifications yet`)})]})}var Tb={primary:`text-lt-primary`,secondary:`text-lt-muted-fg`,success:`text-lt-success`,info:`text-lt-info`,warning:`text-lt-warning`,danger:`text-lt-danger`};function Eb({notification:e,onMarkRead:t,onDismiss:n}){let{t:r}=W(`lattice`),i=$r(e.title,r),a=$r(e.body,r),o=(0,Y.jsxs)(Y.Fragment,{children:[i?(0,Y.jsx)(`p`,{className:`truncate text-sm font-medium text-lt-fg`,children:i}):null,a?(0,Y.jsx)(`p`,{className:`text-sm text-lt-muted-fg`,children:a}):null]});return(0,Y.jsxs)(`li`,{className:J(`flex gap-3 px-3 py-3`,!e.isRead&&`bg-lt-muted/40`),"data-test":`notification`,children:[e.icon?(0,Y.jsx)(Br,{icon:e.icon,className:J(`mt-0.5 size-lt-icon-md`,e.variant?Tb[e.variant]:void 0)}):null,(0,Y.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[e.href?(0,Y.jsx)(C,{href:e.href,className:`block`,"data-test":`notification-link`,onClick:()=>t(e.id),children:o}):o,e.actions.length>0?(0,Y.jsx)(`div`,{className:`mt-2 flex flex-wrap gap-2`,children:e.actions.map((e,t)=>(0,Y.jsx)(Yr,{node:e},e.key??e.id??`action-${t}`))}):null]}),(0,Y.jsxs)(`div`,{className:`flex shrink-0 flex-col gap-1`,children:[e.isRead?null:(0,Y.jsx)(`button`,{type:`button`,className:`text-xs text-lt-muted-fg hover:text-lt-fg`,onClick:()=>t(e.id),children:r(`notifications.mark-read`,`Mark read`)}),(0,Y.jsx)(`button`,{type:`button`,"aria-label":r(`notifications.dismiss`,`Dismiss`),className:`text-xs text-lt-muted-fg hover:text-lt-fg`,onClick:()=>n(e.id),children:r(`notifications.dismiss`,`Dismiss`)})]})]})}function Db({notifications:e,status:t,hasMore:n,onMarkRead:r,onDismiss:i,onLoadMore:a}){let{t:o}=W(`lattice`);return t===`loading`&&e.length===0?(0,Y.jsxs)(`div`,{className:`space-y-2 p-3`,children:[(0,Y.jsx)(pp,{className:`h-12 w-full`}),(0,Y.jsx)(pp,{className:`h-12 w-full`}),(0,Y.jsx)(pp,{className:`h-12 w-full`})]}):e.length===0?(0,Y.jsx)(wb,{}):(0,Y.jsxs)(`div`,{className:`max-h-96 overflow-y-auto`,children:[(0,Y.jsx)(`ul`,{className:`divide-y divide-lt-border`,children:e.map(e=>(0,Y.jsx)(Eb,{notification:e,onMarkRead:r,onDismiss:i},e.id))}),n?(0,Y.jsx)(`button`,{type:`button`,className:`w-full py-2 text-sm text-lt-muted-fg hover:text-lt-fg`,onClick:a,children:o(`notifications.load-more`,`Load more`)}):null]})}var Ob=(0,B.lazy)(()=>p(()=>import(`./chunks/notifications-echo-DsfNc4Ge.js`).then(e=>({default:e.NotificationsEcho})),__vite__mapDeps([11,5,1]),import.meta.url)),kb=class extends B.Component{state={failed:!1};static getDerivedStateFromError(){return{failed:!0}}componentDidCatch(){console.warn(`[lattice] The notifications bell declares a realtime channel but Echo is unavailable. Install @laravel/echo-react and call configureEcho().`)}render(){return this.state.failed?null:this.props.children}},Ab=Pe({name:`lattice/notifications`,components:{notifications:V(({node:e})=>{let{t}=W(`lattice`),n=Cb({endpoint:e.props.endpoint,pollingInterval:e.props.pollingInterval}),r=t(`notifications.label`,`Notifications`),i=(0,Y.jsxs)(`span`,{className:`relative inline-flex items-center justify-center rounded-lt-sm p-2 hover:bg-lt-muted`,children:[(0,Y.jsx)(X,{name:`bell`,className:`size-lt-icon-md`}),n.unreadCount>0?(0,Y.jsx)(`span`,{"data-test":`notifications-badge`,className:`absolute -right-0.5 -top-0.5 inline-flex min-w-4 items-center justify-center rounded-lt-full bg-lt-danger px-1 py-0 text-[10px] font-medium text-lt-danger-fg`,children:n.unreadCount}):null]}),a=(0,Y.jsxs)(`div`,{className:`w-80`,"data-test":`notifications-panel`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center justify-between border-b border-lt-border px-3 py-2`,children:[(0,Y.jsx)(`span`,{className:`text-sm font-medium`,children:t(`notifications.heading`,`Notifications`)}),n.unreadCount>0?(0,Y.jsx)(`button`,{type:`button`,className:`text-xs text-lt-muted-fg hover:text-lt-fg`,onClick:n.markAllRead,children:t(`notifications.mark-all-read`,`Mark all read`)}):null]}),(0,Y.jsx)(Db,{notifications:n.notifications,status:n.status,hasMore:n.hasMore,onMarkRead:n.markRead,onDismiss:n.dismiss,onLoadMore:n.loadMore})]});return(0,Y.jsxs)(Y.Fragment,{children:[e.props.channel?(0,Y.jsx)(kb,{children:(0,Y.jsx)(B.Suspense,{fallback:null,children:(0,Y.jsx)(Ob,{channel:e.props.channel,onReceive:e=>n.receive(e)})})}):null,e.props.slideOut?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`button`,{type:`button`,"aria-label":r,"data-test":`notifications-trigger`,onClick:()=>n.setOpen(!0),children:i}),(0,Y.jsx)(ip,{open:n.open,onOpenChange:n.setOpen,children:(0,Y.jsxs)(cp,{"aria-describedby":void 0,className:`p-0`,placement:`end`,width:`sm`,children:[(0,Y.jsx)(op,{className:`sr-only`,children:r}),a]})})]}):(0,Y.jsxs)(Ed,{open:n.open,onOpenChange:n.setOpen,children:[(0,Y.jsx)(Dd,{asChild:!0,children:(0,Y.jsx)(`button`,{type:`button`,"aria-label":r,"data-test":`notifications-trigger`,children:i})}),(0,Y.jsx)(kd,{align:`end`,className:`p-0`,children:a})]})]})})}});function jb(e){return e==null?``:String(e)}function Mb({props:e}){let{t}=W(`lattice`),[n,r]=(0,B.useState)([]),[i,a]=(0,B.useState)(null),[o,s]=(0,B.useState)(!1);return(0,B.useEffect)(()=>{if(!e.remote||!e.dataEndpoint){r([]),s(!1);return}let t=!1;return a(null),s(!0),pe(e.dataEndpoint,{remote:e.remote}).then(e=>{t||r(e.data??[])}).catch(e=>{t||a(e instanceof Error?e.message:String(e))}).finally(()=>{t||s(!1)}),()=>{t=!0}},[e.dataEndpoint,e.remote]),i?(0,Y.jsx)(`div`,{className:`rounded-lt border border-lt-danger/40 p-3 text-sm`,children:i}):o||!e.remote?(0,Y.jsx)(`div`,{className:`rounded-lt border border-lt-border p-3 text-sm`,children:t(`common.remote.data-list.loading`,`Loading...`)}):(0,Y.jsxs)(`div`,{className:`rounded-lt border border-lt-border bg-lt-bg`,children:[(0,Y.jsx)(`div`,{className:`border-b border-lt-border px-3 py-2 text-sm font-medium`,children:t(`common.remote.data-list.title`,`Remote data`)}),(0,Y.jsxs)(`div`,{className:`divide-y divide-lt-border`,children:[n.map((t,n)=>(0,Y.jsx)(`div`,{className:`px-3 py-2`,children:(0,Y.jsx)(Jr,{nodes:Ne(e.schema,t)})},jb(t.id)||n)),n.length===0?(0,Y.jsx)(`div`,{className:`px-3 py-2 text-sm text-lt-muted-fg`,children:e.emptyLabel??t(`common.remote.data-list.empty`,`No data`)}):null]})]})}var Nb=Pe({components:{"remote.data-list":V(({node:e})=>(0,Y.jsx)(Mb,{props:{...e.props,schema:e.schema}}))},name:`lattice/remote`});function Pb({columns:e,storageKey:t}){let n=(0,B.useMemo)(()=>e.filter(e=>e.props.toggleable),[e]),r=(0,B.useMemo)(()=>n.map(e=>e.key),[n]),[i,a]=Jd(t??``,{},{enabled:!!t,parse:e=>Ib(e,r),serialize:e=>Lb(e,r)}),o=(0,B.useCallback)(e=>e.props.toggleable?i[e.key]??!e.props.hiddenByDefault:!0,[i]),s=(0,B.useMemo)(()=>e.filter(e=>o(e)),[e,o]),c=(0,B.useCallback)((e,t)=>{a(n=>({...n,[e]:t}))},[a]),l=(0,B.useCallback)(()=>a({}),[a]),u=n.length>0;return{hasHidden:n.some(e=>!o(e)),hasToggleableColumns:u,isVisible:o,resetVisibility:l,setColumnVisible:c,toggleableColumns:n,visibleColumns:s}}function Fb(e,t){let n=new Set(t),r={};for(let[t,i]of Object.entries(e))n.has(t)&&typeof i==`boolean`&&(r[t]=i);return r}function Ib(e,t){let n=JSON.parse(e);if(!Rb(n))throw Error(`unexpected stored column visibility shape`);return Fb(n.overrides,t)}function Lb(e,t){let n=Fb(e,t);return Object.keys(n).length===0?null:JSON.stringify({columns:t,overrides:n})}function Rb(e){if(typeof e!=`object`||!e)return!1;let t=e;return Array.isArray(t.columns)&&t.columns.every(e=>typeof e==`string`)&&typeof t.overrides==`object`&&t.overrides!==null&&!Array.isArray(t.overrides)}function zb(){let[e,t]=(0,B.useState)(()=>new Set);return{isExpanded:(0,B.useCallback)(t=>e.has(t),[e]),toggle:(0,B.useCallback)(e=>{t(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},[])}}var Bb={start:`text-start`,center:`text-center`,end:`text-end`},Vb={start:`justify-start`,center:`justify-center`,end:`justify-end`},Hb={start:`justify-items-start`,center:`justify-items-center`,end:`justify-items-end`},Ub=e=>Bb[e],Wb=e=>Vb[e],Gb=e=>Hb[e];function Kb(e){return(e??[]).flatMap(e=>{if(e.type===`action.group`)return[];let t=e.props;return t.endpoint?[{id:e.id??``,label:Mm(e),method:t.method??`post`,endpoint:t.endpoint,ref:t.ref??``,variant:t.variant,emphasis:t.emphasis,confirmation:t.confirmation,form:t.form,modalSide:t.modalSide,modalWidth:t.modalWidth}]:[]})}function qb(e){return Array.isArray(e)?e.filter(e=>typeof e==`object`&&!!e&&typeof e.field==`string`&&typeof e.operator==`string`&&typeof e.value==`string`):[]}function Jb(e){return Array.isArray(e)?e.filter(e=>typeof e==`object`&&!!e&&`key`in e&&`props`in e&&typeof e.key==`string`&&typeof e.props==`object`&&e.props!==null&&typeof e.props.label==`string`):[]}function Yb(e){return Array.isArray(e)?e.filter(e=>typeof e==`object`&&!!e&&!Array.isArray(e)):[]}var Xb={mode:`none`,currentPage:null,lastPage:null,perPage:null,total:null,from:null,to:null,hasMore:!1,nextPage:null};function Zb(e){return typeof e!=`object`||!e||Array.isArray(e)?Xb:e}function Qb(e){if(typeof e!=`object`||!e||Array.isArray(e))return{filters:[],sorts:[],page:1,perPage:25,tableFilters:{},tableFilterIndicators:[],search:``};let t=e;return{filters:qb(t.filters),sorts:Array.isArray(t.sorts)?t.sorts:[],page:typeof t.page==`number`?t.page:1,perPage:typeof t.perPage==`number`?t.perPage:25,tableFilters:$b(t.tableFilters),tableFilterIndicators:ex(t.tableFilterIndicators),search:typeof t.search==`string`?t.search:``}}function $b(e){return typeof e!=`object`||!e||Array.isArray(e)?{}:Object.fromEntries(Object.entries(e).filter(e=>typeof e[1]==`object`&&e[1]!==null&&!Array.isArray(e[1])))}function ex(e){return Array.isArray(e)?e.filter(e=>typeof e==`object`&&!!e&&typeof e.filter==`string`&&typeof e.label==`string`&&typeof e.value==`string`):[]}function tx(e,t){let n=e.id??e.uuid??e.key??t;return String(n)}function nx(e){return Array.isArray(e.actions)?e.actions:[]}function rx(e){let t=e.detail;return typeof t==`object`&&t&&!Array.isArray(t)?t:null}function ix(e){return e==null||e===``}function ax(e){return ix(e)?!0:Array.isArray(e)?e.every(ax):typeof e==`object`&&e?Object.values(e).every(ax):!1}function ox(e){return!ax(e)}function sx(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function cx(e){return sx(e)?e:{}}function lx(e,t){return e.sorts.find(e=>e.key===t.key)}function ux(e){if(e?.direction===`asc`)return`ascending`;if(e?.direction===`desc`)return`descending`}function dx(e,t){let n=new URL(e,window.location.origin);return t.filters.length>0&&n.searchParams.set(`filter`,vx(t)),t.sorts.length>0&&n.searchParams.set(`sort`,yx(t)),t.search!==``&&n.searchParams.set(`q`,t.search),fx(n,t.tableFilters),n.searchParams.set(`page`,String(t.page)),n.searchParams.set(`per_page`,String(t.perPage)),`${n.pathname}${n.search}`}function fx(e,t){for(let[n,r]of Object.entries(px(t)))gx(e,`tf[${n}]`,r)}function px(e){let t={};for(let[n,r]of Object.entries(e)){let e=mx(r);e!==void 0&&(t[n]=e)}return t}function mx(e){if(ix(e)||Array.isArray(e)||typeof e!=`object`)return;let t=Object.entries(e).map(([e,t])=>[e,hx(t)]).filter(e=>e[1]!==void 0);return t.length>0?Object.fromEntries(t):void 0}function hx(e){if(!ix(e)){if(Array.isArray(e)){let t=e.map(hx).filter(e=>e!==void 0);return t.length>0?t:void 0}if(typeof e==`object`){if(e===null)return;let t=Object.entries(e).map(([e,t])=>[e,hx(t)]).filter(e=>e[1]!==void 0);return t.length>0?Object.fromEntries(t):void 0}return String(e)}}function gx(e,t,n){if(Array.isArray(n)){for(let r of n)gx(e,`${t}[]`,r);return}if(typeof n==`object`&&n){for(let[r,i]of Object.entries(n))gx(e,`${t}[${r}]`,i);return}e.searchParams.append(t,String(n))}function _x(e){let t={};e.filters.length>0&&(t.filter=vx(e)),e.sorts.length>0&&(t.sort=yx(e));let n=px(e.tableFilters);return Object.keys(n).length>0&&(t.tf=n),e.search!==``&&(t.q=e.search),t}function vx(e){return e.filters.map(e=>`${e.field}:${e.operator}:${encodeURIComponent(e.value)}`).join(`,`)}function yx(e){return e.sorts.map(e=>e.direction===`desc`?`-${e.key}`:e.key).join(`,`)}var bx={contains:`contains`,starts_with:`starts with`,ends_with:`ends with`,eq:`equals`,neq:`not equals`,gt:`>`,gte:`≥`,lt:`<`,lte:`≤`,in:`in`,not_in:`not in`,before:`before`,after:`after`,empty:`is empty`,filled:`is not empty`},xx=new Set([`empty`,`filled`]);function Sx(e){return Zt(`lattice`,`table.operators.${e}`,bx[e]??e)}function Cx(e){return e===`desc`?`descending`:`ascending`}function wx(e,t){if(!t.props.sortable)return e;let n=e.find(e=>e.key===t.key),r=e.filter(e=>e.key!==t.key);return n?n.direction===`asc`?[...r,{key:t.key,direction:`desc`}]:r:[...e,{key:t.key,direction:`asc`}]}function Tx(e,t){if(t<=5)return Array.from({length:t},(e,t)=>t+1);let n=Math.max(1,Math.min(e-2,t-4));return Array.from({length:5},(e,t)=>n+t)}function Ex(e){return e.map(e=>({key:e.key,label:e.props.label,width:Dx(e)}))}function Dx(e){return e.props.width??`md`}function Ox(e,t,n=!1){return{leadingTracks:[...n?[`2.5rem`]:[],...t?[`3rem`]:[]],trailingTracks:e?[`10rem`]:[]}}function kx(e){let t=(0,B.useMemo)(()=>Jb(e.props?.columns),[e.props?.columns]),n=typeof e.props?.endpoint==`string`?e.props.endpoint:null,r=typeof e.props?.ref==`string`?e.props.ref:``,i=e.props?.lazy===!0,o=(0,B.useMemo)(()=>Qb(e.props?.query),[e.props?.query]),s=(0,B.useMemo)(()=>Yb(e.props?.data),[e.props?.data]),c=(0,B.useMemo)(()=>Zb(e.props?.pagination),[e.props?.pagination]),[l,u]=(0,B.useState)(s),[d,f]=(0,B.useState)(c),[p,m]=(0,B.useState)(o),[h,g]=(0,B.useState)(i),[_,v]=(0,B.useState)(!i),y=(0,B.useRef)(null),b=d.currentPage??p.page,x=(d.mode??`table`)===`infinite`,S=(0,B.useCallback)(async(e,t=!1)=>{if(n){g(!0);try{let i=await oe(dx(n,e),{ref:r}),a=Qb(i.query),o=Yb(i.data);u(e=>t?[...e,...o]:o),f(Zb(i.pagination)),m(a),v(!0)}finally{g(!1)}}},[n,r]);function C(e){S({...p,page:1,sorts:wx(p.sorts,e)})}function w(e){S({...p,page:1,sorts:p.sorts.filter(t=>t.key!==e.key)})}function T(e){let t={...p,filters:e,page:1};m(t),S(t)}function E(e){T([...p.filters,e])}function D(e,t){T(p.filters.map((n,r)=>r===e?t:n))}function O(e){T(p.filters.filter((t,n)=>n!==e))}function k(e,t){T([...p.filters.filter(t=>t.field!==e),...t])}function A(e,t){let n={...p.tableFilters};ax(t)||!sx(t)?delete n[e]:n[e]=t;let r={...p,tableFilters:n,tableFilterIndicators:p.tableFilterIndicators.filter(t=>t.filter!==e),page:1};m(r),S(r)}function j(){let e={...p,filters:[],tableFilters:{},tableFilterIndicators:[],search:``,page:1};m(e),S(e)}function M(e){let t={...p,search:e,page:1};m(t),S(t)}let N=(0,B.useCallback)(async(e,t,i)=>{if(!n)return[];let a=new URL(n,window.location.origin);a.searchParams.set(`_sub`,`search`),a.searchParams.set(`_target`,e),a.searchParams.set(`_q`,t);let o=await z(`${a.pathname}${a.search}`,{ref:r,signal:i,throwOnError:!1});return o.ok?(await o.json()).options??[]:[]},[n,r]);function P(e){S({...p,page:e})}let F=(0,B.useCallback)(()=>{h||!d.hasMore||S({...p,page:d.nextPage??b+1},!0)},[b,S,d.hasMore,d.nextPage,h,p]);return(0,B.useEffect)(()=>{u(s),f(c),m(o),g(i),v(!i)},[s,c,o,i]),(0,B.useEffect)(()=>{!i||_||S(p)},[_,i,S,p]),Qt(a.reloadComponent,t=>{t.detail?.component===e.id&&S(p)}),(0,B.useEffect)(()=>{if(!x||!d.hasMore||h||!y.current||typeof IntersectionObserver>`u`)return;let e=new IntersectionObserver(e=>{e.some(e=>e.isIntersecting)&&F()},{rootMargin:`240px`});return e.observe(y.current),()=>e.disconnect()},[x,F,d.hasMore,h]),{columns:t,rows:l,pagination:d,query:p,filters:p.filters,tableFilters:p.tableFilters,search:p.search,addFilter:E,updateFilter:D,removeFilter:O,replaceColumnFilters:k,setTableFilter:A,resetFilters:j,setSearch:M,searchFilterOptions:N,processing:h,hasLoaded:_,infiniteLoaderRef:y,sort:C,clearSort:w,goToPage:P,loadMore:F}}function Ax(e){let[t,n]=(0,B.useState)(()=>new Set),[r,i]=(0,B.useState)(!1);(0,B.useEffect)(()=>{n(new Set),i(!1)},[e.join(` `)]);let a=(0,B.useCallback)(e=>{i(!1),n(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},[]),o=(0,B.useCallback)(()=>{i(!1),n(t=>t.size===e.length?new Set:new Set(e))},[e]),s=(0,B.useCallback)(()=>i(!0),[]),c=(0,B.useCallback)(()=>{i(!1),n(new Set)},[]),l=e.filter(e=>t.has(e)),u=e.length>0&&l.length===e.length;return{selectedKeys:l,allMatching:r,allVisibleSelected:u,allSelected:r||u,active:r||l.length>0,isSelected:e=>r||t.has(e),toggle:a,toggleAll:o,selectAllMatching:s,clear:c}}function jx({actions:e,selectedKeys:t,allMatching:n,total:r,query:i,canSelectAllMatching:a,onSelectAllMatching:o,onCompleted:s}){let{t:c}=W(`lattice`),[l,u]=(0,B.useState)(!1),d=S(),[f,p]=(0,B.useState)(null),[m,h]=(0,B.useState)(null),g=()=>n?{allMatching:!0,...i}:{selected:t};async function _(e){u(!0);let t=await fp(()=>z(e.endpoint,{method:e.method,ref:e.ref,body:JSON.stringify(g()),throwOnError:!1}),d);u(!1),t&&(p(null),s())}function v(e){if(e.form){h(e);return}if(e.confirmation){p(e);return}_(e)}let y=n?r??t.length:t.length;return(0,Y.jsxs)(`div`,{className:`flex flex-wrap items-center gap-3 border-b border-lt-border bg-lt-muted/50 p-4 text-sm`,children:[(0,Y.jsx)(`span`,{className:`font-medium`,children:n?c(`table.bulk.all-selected`,`All {{count}} selected`,{count:y}):c(`table.bulk.selected`,`{{count}} selected`,{count:y})}),a&&(0,Y.jsx)(`button`,{type:`button`,"data-test":`bulk-select-all-matching`,className:`font-medium text-lt-primary underline underline-offset-2`,onClick:o,children:c(`table.bulk.select-all-matching`,`Select all {{total}} matching`,{total:r})}),(0,Y.jsx)(`div`,{className:`flex flex-wrap items-center gap-2`,children:e.map(e=>(0,Y.jsxs)($,{type:`button`,"data-test":D(`bulk-action`,e.id),variant:e.variant,emphasis:e.emphasis,disabled:l,onClick:()=>v(e),children:[l&&(0,Y.jsx)(up,{}),e.label]},e.id))}),f?.confirmation&&(0,Y.jsx)(dp,{title:f.confirmation.title??f.label,description:f.confirmation.description??void 0,confirmLabel:f.confirmation.confirmLabel??f.label,cancelLabel:f.confirmation.cancelLabel??c(`common.cancel`,`Cancel`),confirmVariant:f.variant,confirmEmphasis:f.emphasis,processing:l,onConfirm:()=>void _(f),onCancel:()=>p(null)}),m?.form&&(0,Y.jsx)(jm,{cancelLabel:m.confirmation?.cancelLabel??c(`common.cancel`,`Cancel`),componentRef:m.ref,description:m.confirmation?.description??void 0,endpoint:m.endpoint,extraData:g(),formNode:m.form,method:m.method,onClose:()=>h(null),onSuccess:()=>{h(null),s()},placement:m.modalSide??`center`,submitLabel:m.confirmation?.confirmLabel??m.label,title:m.confirmation?.title??m.label,width:m.modalWidth??void 0})]})}function Mx({className:e,density:t,children:n,ref:r,...i}){return(0,Y.jsx)(`select`,{ref:r,"data-slot":`native-select`,className:J(Rv({density:t}),`cursor-pointer`,e),...i,children:n})}function Nx(e){return e===!0||e===1||e===`1`||e===`true`}function Px({filter:e,value:t,processing:n,bare:r=!1,onChange:i,onSearch:a}){let{t:o}=W(`lattice`),s=e.schema??[];return s.length===0?(0,Y.jsx)(Lx,{filter:e,value:t,processing:n,onChange:i}):(0,Y.jsxs)(`div`,{className:`flex items-end gap-2`,children:[(0,Y.jsx)(`div`,{className:`min-w-0 flex-1`,children:(0,Y.jsx)(Fx,{filter:e,schema:s,value:t,processing:n,bare:r,onChange:i,onSearch:a})}),ox(t)&&(0,Y.jsx)(Yv,{size:`md`,icon:`x`,label:o(`table.filter.clear`,`Clear {{label}} filter`,{label:e.props.label??``}),disabled:n,onClick:()=>i(void 0)})]})}function Fx({filter:e,schema:t,value:n,processing:r,bare:i,onChange:a,onSearch:o}){let s=(0,B.useMemo)(()=>cx(n),[n]),c=(0,B.useMemo)(()=>({action:`#`,clearErrors:()=>{},componentId:`table-filter-${e.key}`,componentRef:``,errors:{},fieldIdPrefix:`table-filter-${e.key}`,fieldLabels:{},precognitive:!1,processing:r,searchOptions:(e,t,n,r)=>o?o(e,t,r):Promise.resolve([]),touch:()=>{},validate:()=>{},validateFields:()=>{},validating:!1}),[e.key,o,r]),l=(0,Y.jsx)(`div`,{"aria-disabled":r,className:J(`grid gap-3`,r&&`pointer-events-none opacity-60`),children:(0,Y.jsx)(Jr,{nodes:t})});return(0,Y.jsx)(hp,{value:c,children:(0,Y.jsx)(vp,{value:{markUserEdit:()=>{}},children:(0,Y.jsx)(Up,{nodes:{},children:(0,Y.jsx)(em,{initial:s,children:(0,Y.jsx)(Ix,{onChange:a,children:i?(0,Y.jsx)(dm,{children:l}):l})})})})})}function Ix({children:e,onChange:t}){let n=nm(),r=am(),i=(0,B.useRef)(n);i.current=n;let a=(0,B.useCallback)((e,n)=>{let a=typeof n==`function`?n(Ep(i.current,e)):n,o=Op(i.current,e,a);i.current=o,r(e,a),t(o)},[t,r]);return(0,Y.jsx)(cm,{value:(0,B.useMemo)(()=>({blur:()=>{},change:a,commit:a}),[a]),children:e})}function Lx({filter:e,value:t,processing:n,onChange:r}){let i=Nx(cx(t).value);return(0,Y.jsxs)(`label`,{className:`flex h-lt-control-md cursor-pointer items-center gap-2 text-sm`,children:[(0,Y.jsx)(Z_,{"aria-label":e.props.label??void 0,"data-test":`table-filter-${e.key}`,checked:i,disabled:n,onCheckedChange:e=>r(e===!0?{value:`1`}:void 0)}),(0,Y.jsx)(`span`,{children:e.props.label})]})}function Rx({type:e,label:t,value:n,processing:r,withSearchIcon:i=!1,grouped:a=!1,ariaLabel:o,testId:s,onCommit:c,onClear:l}){let{t:u}=W(`lattice`),[d,f]=(0,B.useState)(n),p=o??u(`table.filter.filter-by`,`Filter {{label}}`,{label:t}),m=a?`rounded-r-none`:``;return(0,B.useEffect)(()=>{f(n)},[n]),e===`boolean`?(0,Y.jsxs)(Mx,{density:`compact`,"aria-label":p,"data-test":s,className:m,disabled:r,value:n,onChange:e=>c(e.target.value),children:[(0,Y.jsx)(`option`,{value:``,children:u(`table.filter.all`,`All`)}),(0,Y.jsx)(`option`,{value:`true`,children:u(`table.filter.true`,`True`)}),(0,Y.jsx)(`option`,{value:`false`,children:u(`table.filter.false`,`False`)})]}):e===`date`?(0,Y.jsx)(zv,{type:`date`,density:`compact`,"aria-label":p,"data-test":s,className:m,disabled:r,value:d,onChange:e=>{f(e.target.value),c(e.target.value)}}):(0,Y.jsxs)(`div`,{className:`relative flex w-full min-w-0 items-center`,children:[i&&(0,Y.jsx)(X,{name:`search`,"aria-hidden":`true`,className:`pointer-events-none absolute left-2 size-lt-icon-md text-lt-muted-fg`}),(0,Y.jsx)(zv,{type:e===`number`?`number`:`text`,density:`compact`,"aria-label":p,"data-test":s,className:J(m,i&&`pl-8`,l&&`pr-8`),disabled:r,value:d,onChange:e=>f(e.target.value),onKeyDown:e=>{e.key===`Enter`&&c(d)},onBlur:()=>{d!==n&&c(d)}}),l&&d!==``&&(0,Y.jsx)(Yv,{size:`xs`,icon:`x`,label:u(`table.filter.clear`,`Clear {{label}} filter`,{label:t}),"data-test":s?`${s}-clear`:void 0,className:`absolute right-1 size-6`,disabled:r,onClick:l})]})}function zx({column:e,clauses:t,processing:n,onAdd:r,onUpdate:i,onRemove:a,onReplace:o,onSearch:s}){let{t:c}=W(`lattice`),{filter:l,label:u}=e.props,d=u??e.key;if(!l)return null;if(l.control===`filter.select`)return(0,Y.jsx)(Vx,{column:e,clauses:t,processing:n,onReplace:o,onSearch:s});let f=l.type??`text`,p=l.operators??[],m=l.defaultOperator??p[0]??`eq`,h=t.find(e=>e.clause.operator===m)??t[0];function g(t){if(t===``){h&&a(h.index);return}h?i(h.index,{...h.clause,value:t}):r({field:e.key,operator:m,value:t})}return(0,Y.jsxs)(`div`,{className:`flex min-w-0 max-w-80 items-stretch`,children:[(0,Y.jsx)(`div`,{className:`min-w-0 flex-1`,children:(0,Y.jsx)(Rx,{type:f,label:d,value:h?.clause.value??``,processing:n,withSearchIcon:f===`text`||f===`number`,grouped:!0,testId:`filter-${e.key}-value`,onCommit:g,onClear:h?()=>a(h.index):void 0})}),(0,Y.jsxs)(Ed,{children:[(0,Y.jsx)(Dd,{asChild:!0,children:(0,Y.jsx)(Yv,{emphasis:`segmented`,size:`md`,icon:`filter`,label:c(`table.filter.column-filters`,`{{label}} filters`,{label:d}),"data-test":`filter-${e.key}`,disabled:n,children:t.length>0&&(0,Y.jsx)(`span`,{className:`absolute -right-1.5 -top-1.5 inline-flex size-4 items-center justify-center rounded-full bg-lt-primary text-xs font-medium text-lt-primary-fg`,children:t.length})})}),(0,Y.jsx)(kd,{align:`start`,className:`w-80 p-4`,children:(0,Y.jsx)(Gx,{column:e,clauses:t,operators:p,defaultOperator:m,processing:n,onAdd:r,onUpdate:i,onRemove:a})})]})]})}function Bx(e){return Array.isArray(e)?e.join(`,`):typeof e==`string`?e:``}function Vx({column:e,clauses:t,processing:n,onReplace:r,onSearch:i}){let{filter:a,label:o}=e.props;if(!a)return null;let s=a.multiple,c=a.defaultOperator,l=a.clauseOptions??[],u=Ux(t.map(e=>e.clause),l),d=t.find(e=>e.clause.operator===c)??t[0],f=u?u.value:s?d?.clause.value?d.clause.value.split(`,`):[]:d?.clause.value??``,p={key:e.key,type:`filter.select`,props:{label:o,options:a.options,multiple:s,searchable:a.searchable,placeholder:null},schema:[{type:`field.select`,key:e.key,props:{name:`value`,label:o,options:a.options,multiple:s,searchable:a.searchable,placeholder:null}}]};function m(t){let n=Bx(cx(t).value);if(n===``){r(e.key,[]);return}let i=l.find(e=>e.value===n);if(i){r(e.key,Hx(e.key,i));return}r(e.key,[{field:e.key,operator:c,value:n}])}return(0,Y.jsx)(Px,{filter:p,value:{value:f},processing:n,bare:!0,onChange:m,onSearch:i?(e,t,n)=>i(t,n):void 0})}function Hx(e,t){return t.clauses.map(t=>({field:e,operator:t.operator,value:t.value}))}function Ux(e,t){return t.find(t=>Wx(e,Hx(``,t)))}function Wx(e,t){return e.length===t.length?t.every(t=>e.some(e=>e.operator===t.operator&&e.value===t.value)):!1}function Gx({column:e,clauses:t,operators:n,defaultOperator:r,processing:i,onAdd:a,onUpdate:o,onRemove:s}){let{t:c}=W(`lattice`),l=e.props.filter?.type??`text`,[u,d]=(0,B.useState)(r),[f,p]=(0,B.useState)(t.length===0);return(0,Y.jsxs)(`div`,{className:`grid gap-3`,children:[t.map(t=>(0,Y.jsx)(Kx,{column:e,type:l,operators:n,clause:t.clause,processing:i,onOperator:e=>o(t.index,{...t.clause,operator:e}),onValue:e=>e===``?s(t.index):o(t.index,{...t.clause,value:e}),onRemove:()=>s(t.index)},t.index)),f&&(0,Y.jsx)(Kx,{column:e,type:l,operators:n,clause:{field:e.key,operator:u,value:``},processing:i,onOperator:t=>{if(xx.has(t)){a({field:e.key,operator:t,value:``}),d(r),p(!1);return}d(t)},onValue:t=>{t!==``&&(a({field:e.key,operator:u,value:t}),d(r),p(!1))},onRemove:()=>p(!1)}),(0,Y.jsx)(`div`,{className:`border-t border-lt-border pt-3`,children:(0,Y.jsx)($,{variant:`secondary`,icon:`plus`,"data-test":`filter-${e.key}-add`,className:`w-full`,disabled:i,onClick:()=>p(!0),children:c(`table.filter.add`,`Add filter`)})})]})}function Kx({column:e,type:t,operators:n,clause:r,processing:i,onOperator:a,onValue:o,onRemove:s}){let{t:c}=W(`lattice`),l=e.props.label??e.key,u=xx.has(r.operator);return(0,Y.jsxs)(`div`,{className:`grid gap-2`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center gap-2`,children:[n.length>1?(0,Y.jsx)(Mx,{density:`compact`,"aria-label":c(`table.filter.operator`,`{{label}} operator`,{label:l}),"data-test":`filter-${e.key}-operator`,className:`flex-1`,disabled:i,value:r.operator,onChange:e=>a(e.target.value),children:n.map(e=>(0,Y.jsx)(`option`,{value:e,children:Sx(e)},e))}):(0,Y.jsx)(`span`,{className:`flex-1 text-sm font-medium`,children:Sx(r.operator)}),(0,Y.jsx)($,{emphasis:`outline`,size:`icon`,icon:`trash-2`,"aria-label":c(`table.filter.remove`,`Remove {{label}} filter`,{label:l}),"data-test":`filter-${e.key}-remove`,disabled:i,onClick:s})]}),!u&&(0,Y.jsx)(Rx,{type:t,label:l,ariaLabel:c(`table.filter.value`,`{{label}} filter value`,{label:l}),value:r.value,processing:i,onCommit:o,onClear:()=>o(``)})]})}function qx({sort:e}){return e?.direction===`asc`?(0,Y.jsx)(X,{name:`arrow-up`,"aria-hidden":`true`,className:`size-lt-icon-sm shrink-0`}):e?.direction===`desc`?(0,Y.jsx)(X,{name:`arrow-down`,"aria-hidden":`true`,className:`size-lt-icon-sm shrink-0`}):(0,Y.jsx)(X,{name:`chevrons-up-down`,"aria-hidden":`true`,className:`size-lt-icon-sm shrink-0 opacity-50`})}function Jx({column:e,processing:t,resizeHandleProps:n,sort:r,query:i}){let a=lx(i,e),{t:o}=W(`lattice`),{align:s,label:c,sortable:l}=e.props;return(0,Y.jsxs)(`div`,{"aria-sort":ux(a),className:J(`relative min-w-0 px-4 py-3 pr-5 align-middle font-semibold text-lt-fg`,Ub(s)),role:`columnheader`,children:[l?(0,Y.jsxs)(`button`,{type:`button`,"aria-label":o(`table.sort.column`,`Sort {{label}}`,{label:c}),className:J(`flex w-full items-center gap-1.5 font-semibold`,Wb(s)),"data-test":`sort-${e.key}`,disabled:t,onClick:()=>r(e),children:[(0,Y.jsx)(`span`,{className:J(`min-w-0 flex-1 truncate`,Ub(s)),children:c}),(0,Y.jsx)(qx,{sort:a})]}):(0,Y.jsx)(`span`,{className:J(`block truncate`,Ub(s)),children:c}),n&&(0,Y.jsx)(`div`,{...n})]})}function Yx({columns:e,hasHidden:t,isVisible:n,onReset:r,onToggle:i,processing:a,visibleColumnCount:o}){let{t:s}=W(`lattice`);return(0,Y.jsxs)(Ed,{children:[(0,Y.jsx)(Dd,{asChild:!0,children:(0,Y.jsx)(Yv,{size:`sm`,icon:`columns-3`,label:s(`table.columns.label`,`Columns`),"data-test":`table-columns-menu`,disabled:a})}),(0,Y.jsx)(kd,{align:`end`,className:`w-64 p-4`,children:(0,Y.jsxs)(`div`,{className:`grid gap-3`,children:[e.map(e=>{let t=n(e),r=t&&o<=1;return(0,Y.jsxs)(`label`,{className:`flex items-center gap-2 text-base text-lt-fg`,children:[(0,Y.jsx)(Z_,{"data-test":`table-column-toggle-${e.key}`,checked:t,disabled:r,onCheckedChange:t=>i(e.key,t===!0)}),(0,Y.jsx)(`span`,{children:e.props.label??e.key})]},e.key)}),t&&(0,Y.jsx)(`button`,{type:`button`,"data-test":`table-columns-reset`,className:`mt-1 justify-self-start text-sm text-lt-muted-fg hover:text-lt-fg`,onClick:r,children:s(`table.columns.reset`,`Reset`)})]})})]})}function Xx({clauses:e,columnsByKey:t,indicators:n,processing:r,onRemoveClause:i,onChange:a,onReset:o}){let{t:s}=W(`lattice`);return e.length===0&&n.length===0?null:(0,Y.jsx)(`div`,{className:`border-b border-lt-border px-4 py-3`,children:(0,Y.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2 text-sm`,children:[e.map((e,n)=>{let a=t.get(e.field)?.props.label??e.field,o=xx.has(e.operator);return(0,Y.jsx)(Zx,{label:`${a} ${Sx(e.operator)}`,value:o?``:e.value,removeTestId:`filter-chip-${e.field}-remove`,removeLabel:s(`table.filter.remove`,`Remove {{label}} filter`,{label:a}),processing:r,onRemove:()=>i(n)},`${e.field}-${e.operator}-${n}`)}),n.map(e=>(0,Y.jsx)(Zx,{label:e.label,value:e.value,removeTestId:`table-filter-chip-${e.filter}-remove`,removeLabel:s(`table.filter.remove`,`Remove {{label}} filter`,{label:e.label}),processing:r,onRemove:()=>a(e.filter,void 0)},`${e.filter}:${e.label}:${e.value}`)),(0,Y.jsx)(`button`,{type:`button`,"data-test":`table-filters-reset`,className:`text-lt-muted-fg underline-offset-2 hover:underline disabled:text-lt-disabled-fg`,disabled:r,onClick:o,children:s(`table.filter.reset-all`,`Reset all`)})]})})}function Zx({label:e,value:t,removeTestId:n,removeLabel:r,processing:i,onRemove:a}){return(0,Y.jsxs)(`span`,{className:`inline-flex items-center gap-1.5 rounded-lt-sm bg-lt-muted px-2 py-1`,children:[(0,Y.jsx)(`span`,{children:t===``?(0,Y.jsx)(`span`,{className:`font-semibold`,children:e}):(0,Y.jsxs)(Y.Fragment,{children:[`${e}: `,(0,Y.jsx)(`span`,{className:`font-semibold`,children:t})]})}),(0,Y.jsx)(Yv,{size:`xs`,icon:`x`,label:r,"data-test":n,disabled:i,onClick:a})]})}function Qx({filters:e,values:t,processing:n,onChange:r,onSearch:i}){let{t:a}=W(`lattice`),o=e.filter(e=>ox(t[e.key]));return(0,Y.jsxs)(Ed,{children:[(0,Y.jsx)(Dd,{asChild:!0,children:(0,Y.jsx)(Yv,{size:`sm`,icon:`filter`,label:a(`table.filter.filters`,`Filters`),"data-test":`table-filters-menu`,disabled:n,children:o.length>0&&(0,Y.jsx)(`span`,{className:`absolute -right-1 -top-1 inline-flex size-3.5 items-center justify-center rounded-full bg-lt-primary text-[10px] font-medium leading-none text-lt-primary-fg`,children:o.length})})}),(0,Y.jsx)(kd,{align:`end`,className:`w-80 p-4`,children:(0,Y.jsx)(`div`,{className:`grid gap-3`,children:e.map(e=>(0,Y.jsx)(`div`,{className:`grid gap-1`,children:(0,Y.jsx)(Px,{filter:e,value:t[e.key],processing:n,onChange:t=>r(e.key,t),onSearch:i?(t,n,r)=>i(`filter:${e.key}.${t}`,n,r):void 0})},e.key))})})]})}function $x({pagination:e,currentPage:t,processing:n,mode:r,hasNextPage:i,visiblePages:a,infiniteLoaderRef:o,onPage:s,onLoadMore:c}){let{t:l}=W(`lattice`);return(0,Y.jsxs)(`div`,{"data-slot":`table-pagination`,className:`flex items-center justify-between gap-3 border-t border-lt-border p-4 text-sm`,children:[(0,Y.jsx)(`span`,{children:e.total==null?l(`table.pagination.page`,`Page {{page}}`,{page:t}):l(`table.pagination.showing`,`Showing {{from}}-{{to}} of {{total}}`,{from:e.from??0,to:e.to??0,total:e.total})}),r===`infinite`?(0,Y.jsx)(`div`,{ref:o,className:`flex items-center gap-2`,children:e.hasMore?(0,Y.jsx)($,{emphasis:`outline`,"data-test":`pagination-load-more`,disabled:n,onClick:c,children:n?l(`table.pagination.loading`,`Loading...`):l(`table.pagination.load-more`,`Load more`)}):(0,Y.jsx)(`span`,{className:`text-lt-muted-fg`,children:l(`table.pagination.all-loaded`,`All rows loaded`)})}):r===`simple`?(0,Y.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Y.jsx)($,{emphasis:`outline`,"data-test":`pagination-previous`,disabled:n||t<=1,onClick:()=>s(t-1),children:l(`table.pagination.previous`,`Previous`)}),(0,Y.jsx)($,{emphasis:`outline`,"data-test":`pagination-next`,disabled:n||!i,onClick:()=>s(t+1),children:l(`table.pagination.next`,`Next`)})]}):r===`table`?(0,Y.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Y.jsx)($,{emphasis:`outline`,"data-test":`pagination-previous`,disabled:n||t<=1,onClick:()=>s(t-1),children:l(`table.pagination.previous`,`Previous`)}),a.map(e=>(0,Y.jsx)($,{emphasis:`outline`,size:`icon`,"data-test":`pagination-page-${e}`,disabled:n||e===t,"aria-current":e===t?`page`:void 0,"aria-label":l(`table.pagination.page`,`Page {{page}}`,{page:e}),onClick:()=>s(e),children:e},e)),(0,Y.jsx)($,{emphasis:`outline`,"data-test":`pagination-next`,disabled:n||!i,onClick:()=>s(t+1),children:l(`table.pagination.next`,`Next`)})]}):null]})}function eS({columnsByKey:e,query:t,processing:n,onClear:r}){let{t:i}=W(`lattice`);return(0,Y.jsx)(`div`,{className:`flex flex-wrap items-center gap-4 border-b border-lt-border px-4 py-2.5 text-sm`,children:t.sorts.map((t,a)=>{let o=e.get(t.key)?.props.label??t.key,s=t.direction===`desc`?`arrow-down`:`arrow-up`;return(0,Y.jsxs)(`span`,{className:`inline-flex items-center gap-1.5`,children:[(0,Y.jsx)(`span`,{className:`font-medium`,children:`${a+1}. ${o}`}),(0,Y.jsx)(X,{name:s,role:`img`,"aria-hidden":!1,"aria-label":Cx(t.direction),className:`size-lt-icon-sm text-lt-muted-fg`}),(0,Y.jsx)(Yv,{size:`xs`,icon:`x`,label:i(`table.sort.clear`,`Clear {{label}} sort`,{label:o}),"data-test":`clear-${t.key}-sort`,disabled:n,onClick:()=>r(t)})]},t.key)})})}var tS=300;function nS({value:e,onSearch:t}){let{t:n}=W(`lattice`),[r,i]=(0,B.useState)(e),a=(0,B.useRef)(e);(0,B.useEffect)(()=>{e!==a.current&&(a.current=e,i(e))},[e]);function o(e){a.current=e,t(e)}let s=Em(o,tS);function c(e){i(e),s(e)}function l(){s.cancel(),i(``),o(``)}let u=n(`table.search.placeholder`,`Search`);return(0,Y.jsxs)(`div`,{className:`relative w-full max-w-xs`,children:[(0,Y.jsx)(X,{name:`search`,"aria-hidden":`true`,className:`pointer-events-none absolute left-2.5 top-1/2 size-lt-icon-sm -translate-y-1/2 text-lt-muted-fg`}),(0,Y.jsx)(zv,{type:`search`,"data-test":`table-search`,value:r,placeholder:u,"aria-label":u,onChange:e=>c(e.target.value),className:J(`px-8`,`[&::-webkit-search-cancel-button]:hidden`)}),r!==``&&(0,Y.jsx)(Yv,{size:`xs`,icon:`x`,label:n(`table.search.clear`,`Clear search`),"data-test":`table-search-clear`,className:`absolute right-1.5 top-1/2 -translate-y-1/2`,onClick:l})]})}function rS(e){return e}function iS(e,t,n){if(e==null)return``;let r=t?.props?.date;return r?po(e,r,n):typeof e==`string`||typeof e==`number`||typeof e==`boolean`?String(e):JSON.stringify(e)}function aS(e,t,n){let r=e.props.link;if(!r)return null;let i=r.href??String(n??``);return i===``?null:i.replace(/\{([^}]+)\}/g,(e,r)=>encodeURIComponent(String(r===`value`?n??``:t[r]??``)))}var oS=({column:e,props:t,value:n})=>{let r=iS(n,e);return r===``?null:(0,Y.jsx)(bh,{color:t.colors?.[String(n)],children:r})},sS=({value:e})=>{let{t}=W(`lattice`),n=Nx(e);return(0,Y.jsx)(`span`,{"aria-label":n?t(`common.yes`,`Yes`):t(`common.no`,`No`),role:`img`,children:(0,Y.jsx)(X,{name:n?`check`:`x`,className:J(`size-lt-icon-md`,n?`text-lt-success`:`text-lt-muted-fg`)})})},cS=({props:e,value:t})=>{let n=e.icons?.[String(t)]??e.icon??void 0;if(!n)return null;let r=_h(e.colors?.[String(t)]),i=r?yh(r):void 0;return(0,Y.jsx)(`span`,{"aria-label":String(t),className:J(`lt-cell-icon`,i?.className),style:i?.style,children:(0,Y.jsx)(Br,{className:`size-lt-icon-md`,icon:n})})},lS=({column:e,props:t,value:n})=>{let r=typeof n==`string`?n:``;if(r===``)return null;let i=t.size??32;return(0,Y.jsx)(Uh,{alt:e.props.label??``,className:J(`object-cover`,t.circular?`rounded-full`:`rounded-lt-sm`),height:i,previewable:t.previewable,src:r,testId:`preview-${e.key}`,width:i})};function uS(e){let t=typeof e==`number`?e:Number(e);return e!=null&&e!==``&&!Number.isNaN(t)?t:null}function dS(e,t,n){let r=uS(e);if(r===null)return String(e??``);let i={notation:t.notation,minimumFractionDigits:t.minimumFractionDigits??void 0,maximumFractionDigits:t.maximumFractionDigits??void 0};return t.currency?(i.style=`currency`,i.currency=t.currency):t.unit&&(i.style=`unit`,i.unit=t.unit),new Intl.NumberFormat(n,i).format(r)}function fS({children:e,column:t,copyable:n,value:r}){return n?(0,Y.jsx)(zh,{value:r,label:t.props.label??t.key,testId:`copy-${t.key}`,children:e}):e}function pS({column:e,copyable:t,format:r,value:i}){let{locale:a}=n();return uS(i)===null?(0,Y.jsx)(`span`,{children:iS(i,e)}):(0,Y.jsx)(fS,{column:e,copyable:t,value:String(i),children:(0,Y.jsx)(`span`,{className:`tabular-nums`,children:dS(i,r,a)})})}var mS=({column:e,props:t,row:n,value:r})=>{let i=t.currencyField?n[t.currencyField]:void 0,a=t.currency??(typeof i==`string`?i:null);return(0,Y.jsx)(pS,{column:e,copyable:t.copyable,value:r,format:{kind:`number`,notation:`standard`,minimumFractionDigits:t.minimumFractionDigits,maximumFractionDigits:t.maximumFractionDigits,currency:a,unit:null}})},hS=({column:e,props:t,value:n})=>(0,Y.jsx)(pS,{column:e,copyable:t.copyable,value:n,format:{kind:`number`,notation:t.compact?`compact`:`standard`,minimumFractionDigits:t.minimumFractionDigits,maximumFractionDigits:t.maximumFractionDigits,currency:null,unit:t.unit}}),gS=({column:e,row:t})=>(0,Y.jsx)(`div`,{className:`grid gap-1`,children:(0,Y.jsx)(Jr,{nodes:Ne(e.schema,t)})}),_S=e=>e.props.multiple?(0,Y.jsx)(yS,{...e}):e.props.badge?(0,Y.jsx)(bS,{...e}):(0,Y.jsx)(xS,{...e});function vS({label:e,color:t}){return e===``?null:(0,Y.jsx)(bh,{color:t,children:e})}function yS({column:e,props:t,value:n}){let r=Array.isArray(n)?n:[];return r.length===0?null:t.badge?(0,Y.jsx)(`div`,{className:`flex flex-wrap gap-1`,children:r.map((t,n)=>{let r=t;return(0,Y.jsx)(vS,{label:iS(r.value,e),color:r.color},n)})}):(0,Y.jsx)(`span`,{children:r.map(t=>iS(t,e)).join(`, `)})}function bS({column:e,props:t,row:n,value:r}){let i=t.badge.colorKey;return(0,Y.jsx)(vS,{label:iS(r,e),color:String(n[i]??``)})}function xS({column:e,props:t,row:n,value:r}){let i=e.props.date,a=aS(e,n,r),o=iS(r,e),s=a?(0,Y.jsx)(`a`,{className:`underline underline-offset-2`,href:a,rel:t.link?.external?`noreferrer`:void 0,target:t.link?.external?`_blank`:void 0,children:o}):o;return i&&!a&&!t.copyable&&r!=null?(0,Y.jsx)(ho,{value:r,dateStyle:i.dateStyle,timeStyle:i.timeStyle}):(0,Y.jsx)(fS,{column:e,copyable:t.copyable,value:o,children:s})}var SS={"column.badge":rS(oS),"column.boolean":rS(sS),"column.icon":rS(cS),"column.image":rS(lS),"column.money":rS(mS),"column.number":rS(hS),"column.stack":rS(gS),"column.text":rS(_S)};function CS({column:e,row:t}){return(0,Y.jsx)(v()[e.type]??SS[e.type]??SS[`column.text`],{column:e,props:e.props,row:t,value:t[e.key]})}var wS=Fe(Dg,Ym,mb,Qd,Pe({components:{table:V(({node:e})=>{let{t}=W(`lattice`),{columns:n,rows:r,pagination:i,query:a,filters:o,tableFilters:s,search:c,addFilter:l,updateFilter:u,removeFilter:d,replaceColumnFilters:f,setTableFilter:p,resetFilters:m,setSearch:h,searchFilterOptions:g,processing:_,hasLoaded:v,infiniteLoaderRef:y,sort:b,clearSort:x,goToPage:S,loadMore:C}=kx(e),w=(0,B.useMemo)(()=>Kb(e.props?.bulkActions),[e.props?.bulkActions]),T=w.length>0,E=(0,B.useMemo)(()=>r.map((e,t)=>({row:e,actions:nx(e),detail:rx(e),key:tx(e,t)})),[r]),D=Ax(E.map(e=>e.key)),{isExpanded:k,toggle:A}=zb(),j=E.some(e=>e.detail!=null),M=(0,B.useMemo)(()=>new Map(n.map(e=>[e.key,e])),[n]),N=O(e),{hasToggleableColumns:P,hasHidden:F,isVisible:I,resetVisibility:ee,setColumnVisible:te,toggleableColumns:ne,visibleColumns:re}=Pb({columns:n,storageKey:N?`lattice:table-column-visibility:${N}`:void 0}),L=i.currentPage??a.page,R=i.lastPage??L,ie=i.mode??`table`,ae=Tx(L,R),z=i.hasMore??L<R,oe=E.some(e=>e.actions.length>0),se=e.props?.striped===!0,ce=re.some(e=>e.props.filter!=null),le=o.map((e,t)=>({clause:e,index:t})),ue=(0,B.useMemo)(()=>Array.isArray(e.props?.filters)?e.props.filters:[],[e.props?.filters]),de=ue.length>0,fe=oe||de||P,pe=(0,B.useMemo)(()=>Ex(re),[re]),me=(0,B.useMemo)(()=>Ox(fe,T,j),[fe,T,j]),he=e.props?.resizableColumns===!0,ge=O(e),{getResizeHandleProps:_e,gridTemplateColumns:ve,hasOverrides:ye,resizeRootRef:be,resetColumns:xe}=u_({columns:pe,enabled:he,leadingTracks:me.leadingTracks,showIndicator:e.props?.resizeIndicator===!0,storageKey:he&&ge?`lattice:table-columns:${ge}`:void 0,trailingTracks:me.trailingTracks});return(0,Y.jsxs)(`div`,{"data-slot":`table`,"data-lattice-component":e.id,className:`relative`,children:[ye&&(0,Y.jsx)(`button`,{"aria-label":t(`table.reset-column-widths`,`Reset column widths`),className:`absolute right-1 top-1 z-10 hidden rounded-lt-sm p-1 text-lt-muted-fg hover:text-lt-fg md:inline-flex`,"data-test":`table-reset-columns`,onClick:xe,title:t(`table.reset-column-widths`,`Reset column widths`),type:`button`,children:(0,Y.jsx)(X,{name:`rotate-ccw`,className:`size-lt-icon-sm`})}),(0,Y.jsxs)(`div`,{"data-slot":`table-scroll`,className:`overflow-x-auto rounded-lt-sm border border-lt-border`,children:[e.props?.searchable&&(0,Y.jsx)(`div`,{"data-slot":`table-toolbar`,className:`flex items-center gap-2 border-b border-lt-border px-4 py-2`,children:(0,Y.jsx)(nS,{value:c,onSearch:h})}),(0,Y.jsx)(Xx,{clauses:o,columnsByKey:M,indicators:a.tableFilterIndicators,processing:_,onRemoveClause:d,onChange:p,onReset:m}),T&&D.active&&(0,Y.jsx)(jx,{actions:w,selectedKeys:D.selectedKeys,allMatching:D.allMatching,total:i.total??void 0,query:_x(a),canSelectAllMatching:D.allVisibleSelected&&!D.allMatching&&i.total!=null&&i.total>D.selectedKeys.length,onSelectAllMatching:D.selectAllMatching,onCompleted:D.clear}),a.sorts.length>0&&(0,Y.jsx)(eS,{columnsByKey:M,query:a,processing:_,onClear:x}),(0,Y.jsxs)(`div`,{ref:be,className:`min-w-full text-base`,role:`table`,style:{"--lattice-table-columns":ve},children:[(0,Y.jsxs)(`div`,{"data-slot":`table-header`,className:`border-b border-lt-border bg-lt-muted/50`,role:`rowgroup`,children:[(0,Y.jsxs)(`div`,{className:`hidden min-w-full md:grid md:grid-cols-[var(--lattice-table-columns)]`,role:`row`,children:[j&&(0,Y.jsx)(`div`,{className:`px-2 py-3`,role:`columnheader`,"aria-hidden":`true`}),T&&(0,Y.jsx)(`div`,{className:`flex items-center px-4 py-3`,role:`columnheader`,children:(0,Y.jsx)(Z_,{"aria-label":t(`table.select-all-rows`,`Select all rows`),"data-test":`select-all`,checked:D.allSelected,onCheckedChange:()=>D.toggleAll()})}),re.map((e,t)=>(0,Y.jsx)(Jx,{column:e,processing:_,resizeHandleProps:he?_e(pe[t]):void 0,sort:b,query:a},e.key)),fe&&(0,Y.jsxs)(`div`,{className:`flex items-center justify-end gap-2 px-4 py-2 align-middle font-semibold text-lt-fg`,role:`columnheader`,children:[de&&(0,Y.jsx)(Qx,{filters:ue,values:s,processing:_,onChange:p,onSearch:g}),P&&(0,Y.jsx)(Yx,{columns:ne,isVisible:I,visibleColumnCount:re.length,hasHidden:F,onToggle:te,onReset:ee,processing:_}),oe&&(0,Y.jsx)(`span`,{className:`sr-only`,children:e.props?.actionsLabel??t(`table.actions`,`Actions`)})]})]}),ce&&(0,Y.jsxs)(`div`,{className:`hidden min-w-full border-t border-lt-border md:grid md:grid-cols-[var(--lattice-table-columns)]`,role:`row`,children:[j&&(0,Y.jsx)(`div`,{className:`px-2 py-2`,role:`cell`}),T&&(0,Y.jsx)(`div`,{className:`px-4 py-2`,role:`cell`}),re.map(e=>(0,Y.jsx)(`div`,{className:`min-w-0 px-2 py-2`,role:`cell`,children:e.props.filter!=null&&(0,Y.jsx)(zx,{column:e,clauses:le.filter(t=>t.clause.field===e.key),processing:_,onAdd:l,onUpdate:u,onRemove:d,onReplace:f,onSearch:(t,n)=>g(`column:${e.key}`,t,n)})},e.key)),fe&&(0,Y.jsx)(`div`,{className:`px-4 py-2`,role:`cell`})]})]}),(0,Y.jsx)(`div`,{role:`rowgroup`,children:v?E.length===0?(0,Y.jsx)(`div`,{"data-slot":`table-empty`,className:`p-8 text-center text-lt-muted-fg`,role:`row`,children:(0,Y.jsx)(`div`,{role:`cell`,children:e.props?.emptyLabel??t(`table.empty`,`No results`)})}):E.map(({row:n,actions:r,detail:i,key:a})=>{let o=i!=null&&k(a),s=`${O(e)??`table`}-row-detail-${a}`;return(0,Y.jsxs)(B.Fragment,{children:[(0,Y.jsxs)(`div`,{"data-slot":`table-row`,className:`grid grid-cols-1 border-b border-lt-border last:border-b-0 md:grid-cols-[var(--lattice-table-columns)] ${se?`odd:bg-lt-muted/30`:``}`,role:`row`,children:[j&&(0,Y.jsx)(`div`,{className:`flex items-center px-2 py-lt-cell-y`,role:`cell`,children:i&&(0,Y.jsx)(`button`,{type:`button`,"data-test":`row-expand-${a}`,"aria-expanded":o,"aria-controls":s,"aria-label":t(`table.row-detail.toggle`,`Toggle detail`),className:`inline-flex size-6 items-center justify-center rounded-lt-sm text-lt-muted-fg hover:bg-lt-muted hover:text-lt-fg`,onClick:()=>A(a),children:(0,Y.jsx)(X,{name:`chevron-down`,"aria-hidden":`true`,className:J(`size-lt-icon-md transition-transform`,!o&&`-rotate-90`)})})}),T&&(0,Y.jsx)(`div`,{className:`flex items-center px-lt-cell-x py-lt-cell-y`,role:`cell`,children:(0,Y.jsx)(Z_,{"aria-label":t(`table.select-row`,`Select row {{key}}`,{key:a}),"data-test":`select-row-${a}`,checked:D.isSelected(a),onCheckedChange:()=>D.toggle(a)})}),re.map(e=>(0,Y.jsxs)(`div`,{"data-slot":`table-cell`,className:J(`grid min-w-0 gap-1 overflow-hidden px-lt-cell-x py-lt-cell-y align-middle`,Ub(e.props.align),Gb(e.props.align)),role:`cell`,children:[(0,Y.jsx)(`span`,{"aria-hidden":`true`,className:`text-xs font-medium text-lt-muted-fg md:hidden`,children:e.props.label}),(0,Y.jsx)(`div`,{"data-slot":`table-cell-content`,className:`min-w-0 max-w-full overflow-hidden truncate`,children:(0,Y.jsx)(CS,{column:e,row:n})})]},e.key)),fe&&(0,Y.jsx)(`div`,{className:J(`items-center justify-start gap-2 px-lt-cell-x py-lt-cell-y md:justify-end`,r.length>0?`flex`:`hidden md:flex`),role:`cell`,children:r.map((e,t)=>(0,Y.jsx)(Yr,{node:e},e.key??e.id??t))})]}),o&&i&&(0,Y.jsx)(`div`,{id:s,role:`region`,"data-slot":`table-row-detail`,className:`border-b border-lt-border bg-lt-muted/20 px-lt-cell-x py-lt-cell-y`,children:(0,Y.jsx)(Jr,{nodes:[i]})})]},a)}):(0,Y.jsx)(`div`,{className:`p-4 text-lt-muted-fg`,role:`row`,children:(0,Y.jsx)(`div`,{role:`cell`,children:t(`table.loading`,`Loading rows...`)})})})]}),v&&(0,Y.jsx)($x,{pagination:i,currentPage:L,processing:_,mode:ie,hasNextPage:z,visiblePages:ae,infiniteLoaderRef:y,onPage:S,onLoadMore:C})]})]})})},name:`lattice/table`}),uh,Ab,Nb);function TS(e,t){if(t.length===0)return e;let n=new Set([...e.namespaces??[`lattice`],...t.map(e=>e.namespace)]);return{...e,namespaces:[...n]}}function ES({ready:e,children:t}){let[n,r]=(0,B.useState)(!1);return(0,B.useEffect)(()=>{let t=!0,n=()=>{t&&r(!0)};return e.then(n,n),()=>{t=!1}},[e]),n?t:null}function DS({registry:e,plugins:t,sprite:n,pages:r={},defaultLayout:i,strictMode:a=!0,i18n:o,boot:s,wrap:c,...u}={}){let f=e??wS,m=t&&t.length>0?Ie(f,...t):f;l(m),lf();let h=o!==!1,g=t?.flatMap(e=>e.i18n?[e.i18n]:[])??[],_=h?TS(o??{},g):{},v=u.defaults?.visitOptions,y=h?{...u.defaults,visitOptions:(e,t)=>sf(e,v?.(e,t)??t)}:u.defaults,b=d({...u,defaults:y,strictMode:a,resolve:af(r),layout:of({defaultLayout:i}),withApp:(e,{ssr:t,page:r})=>{let i=[];if(!t){let e=r.props.lattice;Oe(e)&&Oe(e.urls)&&typeof e.urls.refreshRef==`string`&&R(e.urls.refreshRef),h&&nn(r.props)!==void 0&&i.push(p(()=>import(`./chunks/page-props-ClpVjpOc.js`).then(e=>e.configureI18nFromPageProps(r.props,_)),__vite__mapDeps([12,4,1]),import.meta.url));let t=s?.({page:r});t&&i.push(t)}let a=(0,Y.jsxs)(Y.Fragment,{children:[e,h?(0,Y.jsx)($t,{}):null]}),o=(0,Y.jsx)(zm,{registry:m,sprite:n,children:c?c(a):a});return i.length>0?(0,Y.jsx)(ES,{ready:Promise.all(i),children:o}):o}});return De(),b}function OS(){return console.warn(`[lattice] The data-lattice-config script holds invalid JSON; booting with defaults.`),{}}function kS(e){let t=e.querySelector(`script[data-lattice-config]`);if(!t?.textContent)return{};try{let e=JSON.parse(t.textContent);return typeof e!=`object`||!e||Array.isArray(e)?OS():e}catch{return OS()}}var AS=kS(document);async function jS(){if(AS.refreshRefUrl&&R(AS.refreshRefUrl),AS.echo)try{let{configureEcho:e}=await p(async()=>{let{configureEcho:e}=await import(`./chunks/dist-PaT1gYi_.js`);return{configureEcho:e}},__vite__mapDeps([5,1]),import.meta.url);e(AS.echo)}catch(e){console.warn(`[lattice] Failed to load the realtime chunk; continuing without Echo.`,e)}DS({...AS.spriteUrl?{sprite:{href:AS.spriteUrl}}:{},defaults:{visitOptions:sf}})}jS();export{Lc as A,U as B,Vc as C,Bc as D,Rc as E,ei as F,W as H,X as I,J as L,po as M,fo as N,Hc as O,Zr as P,nn as R,Dd as S,Uc as T,Bt as U,Xt as V,Oe as W,Vp as _,Yv as a,Ed as b,Ng as c,Gm as d,qm as f,rm as g,lm as h,Ky as i,zc as j,Ic as k,_h as l,Km as m,uS as n,zv as o,Jm as p,tb as r,Kg as s,dS as t,vh as u,gp as v,Fc as w,kd as x,$ as y,Yt as z};
66
+ }`,My=`^\\d+$`;function Ny({char:e,hasFakeCaret:t,isActive:n}){return(0,Y.jsxs)(`div`,{className:J(`relative flex h-lt-control-md w-10 items-center justify-center border-y border-r border-lt-input text-base shadow-lt-xs transition-all first:rounded-l-lt-sm first:border-l last:rounded-r-lt-sm`,n&&`z-10 border-lt-ring ring-lt-ring/50 ring-[length:var(--lt-ring-width)]`),children:[e,t?(0,Y.jsx)(`div`,{className:`pointer-events-none absolute inset-0 flex items-center justify-center`,children:(0,Y.jsx)(`div`,{className:`bg-lt-fg h-5 w-px animate-pulse`})}):null]})}function Py({length:e,containerClassName:t,pattern:n=My,...r}){return(0,Y.jsx)(ky,{maxLength:e,pattern:n,containerClassName:J(`flex items-center gap-2 has-[:disabled]:opacity-50`,t),render:({slots:e})=>(0,Y.jsx)(`div`,{className:`flex items-center`,children:e.map((e,t)=>(0,Y.jsx)(Ny,{...e},t))}),...r})}var Fy=({node:e})=>{let t=e.props;return(0,Y.jsx)(Hv,{node:e,label:t.label??``,children:({name:e,testId:n,value:r,readOnly:i,disabled:a,commit:o})=>(0,Y.jsx)(Py,{autoFocus:t.autoFocus??!1,"data-test":n,disabled:a||i,id:e,length:t.length,name:e,onChange:e=>o(e),value:r})})};function Iy({className:e,ref:t,...n}){let[r,i]=(0,B.useState)(!1);return(0,Y.jsxs)(`div`,{className:`relative`,children:[(0,Y.jsx)(zv,{type:r?`text`:`password`,className:J(`pr-10`,e),ref:t,...n}),(0,Y.jsx)(`button`,{type:`button`,"data-test":typeof n.name==`string`?`${n.name}-visibility`:`password-visibility`,onClick:()=>i(e=>!e),className:`absolute inset-y-0 right-0 flex items-center rounded-r-lt-sm px-3 text-lt-muted-fg hover:text-lt-fg focus-visible:ring-[length:var(--lt-ring-width)] focus-visible:ring-lt-ring/50 focus-visible:outline-none`,"aria-label":r?`Hide password`:`Show password`,tabIndex:-1,children:r?(0,Y.jsx)(X,{name:`eye-off`,className:`size-lt-icon-md`}):(0,Y.jsx)(X,{name:`eye`,className:`size-lt-icon-md`})})]})}var Ly=({node:e})=>{let t=e.props,{errors:n}=gp(),r=tv(e),{commit:i}=lm(),a=Vp(),o=t.confirmation,s=o?.name??`${r.localName}_confirmation`,c=a?a.scopedName(s):s,l=a?a.errorKey(s):s,u=(t.passwordRules??``)||void 0;return r.hidden?null:(0,Y.jsxs)(`div`,{className:`grid gap-6`,children:[(0,Y.jsx)(Ng,{error:r.error,helperText:t.helperText??void 0,tooltip:t.tooltip??void 0,label:t.label??``,labelAction:t.labelAction??void 0,name:r.name,required:r.required,children:(0,Y.jsx)(ly,{prefix:t.prefix,suffix:t.suffix,children:e=>(0,Y.jsx)(Iy,{autoComplete:t.autoComplete??``,autoFocus:t.autoFocus??!1,className:e,"data-test":r.testId,disabled:r.disabled,id:r.name,name:r.name,onChange:e=>{r.commit(e.target.value)},placeholder:t.placeholder??``,passwordrules:u,readOnly:r.readOnly,tabIndex:t.tabIndex??void 0,value:r.value})})}),o&&(0,Y.jsx)(Ng,{error:n[l],label:o.label??`Confirm password`,name:c,required:r.required,children:(0,Y.jsx)(Iy,{autoComplete:`new-password`,"data-test":T(s),disabled:r.disabled,id:c,name:c,onChange:e=>{i(s,e.target.value)},placeholder:o.placeholder??o.label??`Confirm password`,passwordrules:u,readOnly:r.readOnly,tabIndex:t.tabIndex??void 0})})]})},Ry=[],zy=({node:e})=>{let t=e.props,n=t.name,{errors:r}=gp(),{hidden:i,required:a}=Kg(e),{path:o,rows:s,onField:c,onRemove:l,onMove:u,onDuplicate:d,append:f}=j_(n,t.defaultItems??1),p=e.schema??Ry,m=A_(s.map(e=>String(e.rowId??``)).join(`,`)),h=t.maxItems!=null&&s.length>=t.maxItems,g=t.minItems!=null&&s.length<=t.minItems,_=t.layout===`table`,v=t.itemLabels,y=e=>{let n=v?.[e];return typeof n==`string`&&n!==``?n:t.itemLabel?`${t.itemLabel} ${e+1}`:`#${e+1}`};if(i)return null;let b=s.map((e,t)=>({key:String(e.rowId??t),index:t,row:e,template:p,span:!1,heading:y(t)}));return(0,Y.jsx)(Ng,{error:r[o],helperText:t.helperText??void 0,tooltip:t.tooltip??void 0,label:t.label??``,name:o,required:a,children:(0,Y.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,Y.jsx)(e_,{path:o,rows:s,rowKey:kp}),_?(0,Y.jsx)(D_,{base:o,columns:T_(p),rows:b,reorderable:t.reorderable??!1,removable:()=>!g,rowActions:t.rowActions,onField:c,onMove:u,onRemove:l,onDuplicate:d,registerRow:m,resizableColumns:t.resizableColumns===!0,resizeIndicator:t.resizeIndicator===!0}):s.map((e,n)=>{let r=String(e.rowId??n);return(0,Y.jsx)(`div`,{ref:e=>m(r,e),"data-flip-key":r,children:(0,Y.jsx)(n_,{base:o,index:n,row:e,template:p,heading:y(n),reorderable:t.reorderable??!1,isFirst:n===0,isLast:n===s.length-1,removable:!g,rowActions:t.rowActions,onField:c,onRemove:l,onMove:u,onDuplicate:d})},r)}),!h&&(0,Y.jsxs)(`button`,{type:`button`,"data-test":`repeater-${n}-add`,className:`inline-flex items-center gap-1.5 self-start rounded-lt-sm border border-lt-border px-3 py-1.5 text-sm hover:bg-lt-accent [&_svg]:size-lt-icon-sm`,onClick:()=>f({}),children:[(0,Y.jsx)(X,{name:`plus`}),t.addLabel??`Add`]})]})})},By=250;function Vy({contentClassName:e,creatable:t=!1,emptyLabel:n,loading:r=!1,multiple:i=!1,onCommit:a,onCreate:o,onSearch:s,onSelect:c,open:l,onOpenChange:u,options:d,renderOption:f,searchLabel:p,searchPlaceholder:m,selected:h,showSearch:g=!0,testId:_,trigger:v,triggerClassName:y,triggerProps:b}){let{t:x}=W(`lattice`),[S,C]=(0,B.useState)(``);function w(e){let t=e.split(`,`).map(e=>e.trim()).filter(Boolean);for(let e of t){let t=d.find(t=>t.label.toLowerCase()===e.toLowerCase());t?(a??c)(t.value):o?.(e)}i?C(``):O()}let T=d.some(e=>e.label.toLowerCase()===S.trim().toLowerCase()),E=Em(e=>s?.(e),By);(0,B.useEffect)(()=>{if(!(!s||!l))return E(S),()=>E.cancel()},[S,s,l,E]);let D=s?d:d.filter(e=>e.label.toLowerCase().includes(S.toLowerCase()));function O(){C(``),u(!1)}function k(e){c(e),i||O()}return(0,Y.jsxs)(Ed,{open:l,onOpenChange:e=>e?u(!0):O(),children:[(0,Y.jsx)(Dd,{asChild:!0,children:(0,Y.jsx)(`button`,{type:`button`,className:y,...b,children:v})}),(0,Y.jsxs)(kd,{align:`start`,className:J(`w-[var(--radix-popover-trigger-width)] overflow-hidden p-0`,e),children:[g&&(0,Y.jsxs)(`div`,{className:`flex items-center gap-2 border-b border-lt-border px-3 py-2`,children:[(0,Y.jsx)(`input`,{"aria-label":p??x(`form.search-options`,`Search options`),"data-slot":`combobox-search`,"data-test":_?`${_}-search`:void 0,className:`w-full bg-transparent text-sm outline-none placeholder:text-lt-muted-fg`,onChange:e=>{let n=e.target.value;if(t&&n.includes(`,`)){w(n);return}C(n)},onKeyDown:e=>{t&&e.key===`Enter`&&S.trim()!==``&&(e.preventDefault(),w(S))},placeholder:m,value:S}),r&&(0,Y.jsx)(X,{name:`loader-2`,"aria-hidden":`true`,className:`size-lt-icon-md shrink-0 animate-spin text-lt-muted-fg`})]}),(0,Y.jsxs)(`div`,{className:`max-h-60 overflow-y-auto p-1`,role:`listbox`,children:[t&&S.trim()!==``&&!T&&(0,Y.jsxs)(`button`,{className:`flex w-full items-center gap-2 rounded-lt-sm px-3 py-1.5 text-left text-sm transition-colors hover:bg-lt-accent hover:text-lt-accent-fg`,"data-test":_?`${_}-create`:void 0,onClick:()=>w(S),type:`button`,children:[(0,Y.jsx)(X,{name:`plus`,"aria-hidden":`true`,className:`size-lt-icon-md shrink-0`}),x(`form.create-option`,`Create "{{label}}"`,{label:S.trim()})]}),D.length===0&&!(t&&S.trim()!==``&&!T)?(0,Y.jsx)(`p`,{className:`px-3 py-2 text-sm text-lt-muted-fg`,children:n}):D.map(e=>{let t=h.includes(e.value);return(0,Y.jsxs)(`button`,{"aria-label":f?e.label:void 0,"aria-selected":t,className:J(`flex w-full items-center justify-between gap-2 rounded-lt-sm px-3 py-1.5 text-left text-sm transition-colors hover:bg-lt-accent hover:text-lt-accent-fg`,t&&`bg-lt-accent/60`),"data-slot":`combobox-option`,"data-test":_?`${_}-option-${e.value}`:void 0,"data-value":e.value,onClick:()=>k(e.value),role:`option`,type:`button`,children:[f?(0,Y.jsx)(`span`,{className:`flex min-w-0 flex-1 items-center gap-2`,children:f(e)}):e.label,t&&(0,Y.jsx)(X,{name:`check`,"aria-hidden":`true`,className:`size-lt-icon-md shrink-0`})]},e.value)})]})]})]})}function Hy(e,t){let n=e??t;return Array.isArray(n)?n.map(String):n==null||n===``?[]:[String(n)]}var Uy=({node:e})=>{let{t}=W(`lattice`),n=e.props,{action:r,componentRef:i,errors:a,fieldIdPrefix:o,searchOptions:s}=gp(),{hidden:c,required:l,readOnly:u,disabled:d}=Kg(e),{change:f,blur:p}=lm(),m=Wp(e),h=n.name,g=Vp(),_=Q_(g?g.scopedName(h):h,o),v=g?g.errorKey(h):h,y=v,b=n.placeholder||`Select…`,x=n.multiple,S=n.searchable,C=n.creatable,w=(0,B.useMemo)(()=>m.props.options??[],[m.props]),T=m.props.optionSchema,E=rm(h),D=nm(),O=(0,B.useRef)(D);O.current=D;let k=g?g.getValue(h):E,A=(0,B.useMemo)(()=>Hy(k,n.value),[k,n.value]),j=(0,B.useRef)(A);j.current=A;let[M,N]=(0,B.useState)(!1),[P,F]=(0,B.useState)(null),[I,ee]=(0,B.useState)(!1),te=(0,B.useRef)(null),ne=(0,B.useMemo)(()=>{let e=new Map;for(let t of[...w,...P??[]])e.set(t.value,t);return e},[w,P]),re=e=>ne.get(e)?.label??e,L=e=>_h(ne.get(e)?.data?.color),R=u||d,ie=(0,B.useCallback)(e=>{if(te.current?.abort(),e.trim()===``){F(null),ee(!1);return}let t=new AbortController;if(te.current=t,ee(!0),s){s(y,e,O.current,t.signal).then(e=>{F(e),ee(!1)}).catch(()=>{});return}pm(r,i,{...O.current,_sub:`search`,_target:y,_q:e},t.signal).then(e=>{F(e?.options??[]),ee(!1)}).catch(()=>{})},[r,i,y,s]);function ae(e){f(h,x?e:e[0]??``)}function z(e){if(x){let t=j.current.includes(e)?j.current.filter(t=>t!==e):[...j.current,e];j.current=t,ae(t);return}j.current=[e],ae([e])}function oe(e){ae(A.filter(t=>t!==e))}function se(e){if(!x){j.current=[e],ae([e]);return}if(!j.current.includes(e)){let t=[...j.current,e];j.current=t,ae(t)}}if(c)return null;let ce=S?P??w:w,le=T?.length?e=>(0,Y.jsx)(Jr,{nodes:Ne(T,{...e.data,label:e.label,value:e.value})}):void 0;return(0,Y.jsxs)(Ng,{error:a[v],helperText:n.helperText??void 0,tooltip:n.tooltip??void 0,label:n.label??``,name:_,required:l,children:[x?A.map(e=>(0,Y.jsx)(`input`,{name:`${_}[]`,type:`hidden`,value:e},e)):(0,Y.jsx)(`input`,{name:_,type:`hidden`,value:A[0]??``}),(0,Y.jsxs)(`div`,{children:[x&&A.length>0&&(0,Y.jsx)(`div`,{className:`mb-1.5 flex flex-wrap gap-1`,children:A.map(e=>{let n=L(e);return(0,Y.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded-lt-sm bg-lt-muted px-2 py-0.5 text-xs`,children:[n&&(0,Y.jsx)(`span`,{"aria-hidden":`true`,className:`size-2 shrink-0 rounded-full`,style:{background:vh(n)}}),re(e),!R&&(0,Y.jsx)(`button`,{"aria-label":t(`form.remove-option`,`Remove {{label}}`,{label:re(e)}),"data-test":`select-${h}-remove-${e}`,className:`text-lt-muted-fg hover:text-lt-fg [&_svg]:size-lt-icon-xs`,onClick:()=>oe(e),type:`button`,children:(0,Y.jsx)(X,{name:`x`})})]},e)})}),(0,Y.jsx)(Vy,{creatable:C,emptyLabel:n.emptyLabel??void 0,loading:I,multiple:x,onCommit:se,onCreate:se,onSearch:S?ie:void 0,onSelect:z,open:M&&!R,onOpenChange:e=>{N(e),e||p(h)},options:ce,renderOption:le,searchPlaceholder:n.searchPlaceholder??void 0,showSearch:!!(S||C),selected:A,testId:`select-${h}`,trigger:(0,Y.jsxs)(Y.Fragment,{children:[!x&&A.length>0?(0,Y.jsx)(`span`,{children:re(A[0])}):(0,Y.jsx)(`span`,{className:`text-lt-muted-fg`,children:b}),(0,Y.jsx)(X,{name:`chevrons-up-down`,className:`size-lt-icon-md shrink-0 text-lt-muted-fg`})]}),triggerClassName:J(Rv(),`flex items-center justify-between gap-2 text-left`,R&&`cursor-not-allowed opacity-60`),triggerProps:{"aria-haspopup":`listbox`,autoFocus:n.autoFocus??void 0,"data-test":`select-${h}`,disabled:R,id:_,tabIndex:n.tabIndex??void 0}})]})]})};function Wy({className:e,...t}){return(0,Y.jsx)(`textarea`,{"data-slot":`textarea`,className:J(`border-lt-input placeholder:text-lt-muted-fg flex field-sizing-content min-h-16 w-full rounded-lt-sm border bg-transparent px-3 py-2 text-base shadow-lt-xs transition-[color,box-shadow] outline-none disabled:pointer-events-none disabled:cursor-not-allowed disabled:bg-lt-disabled disabled:text-lt-disabled-fg`,Lv,`aria-invalid:ring-lt-danger/20 dark:aria-invalid:ring-lt-danger/40 aria-invalid:border-lt-danger`,e),...t})}var Gy=({node:e})=>{let t=e.props;return(0,Y.jsx)(Hv,{node:e,label:t.label??``,children:({name:e,testId:n,value:r,readOnly:i,disabled:a,commit:o})=>(0,Y.jsx)(Wy,{autoFocus:t.autoFocus??!1,"data-test":n,disabled:a,id:e,name:e,onChange:e=>o(e.target.value),placeholder:t.placeholder??``,readOnly:i,rows:t.rows??void 0,tabIndex:t.tabIndex??void 0,value:r})})},Ky=({node:e})=>{let t=e.props;return(0,Y.jsx)(Hv,{node:e,label:t.label??``,children:({name:e,testId:n,value:r,readOnly:i,disabled:a,commit:o})=>(0,Y.jsx)(ly,{prefix:t.prefix,suffix:t.suffix,end:t.copyable?(0,Y.jsx)(Rh,{className:`h-lt-control-md gap-1.5 rounded-l-none rounded-r-lt-sm border-l-0 border-lt-input px-3 group-has-[:focus-visible]:border-lt-ring`,label:t.label??e,testId:`${n}-copy`,value:r}):null,children:s=>(0,Y.jsx)(zv,{autoComplete:t.autoComplete??``,autoFocus:t.autoFocus??!1,className:s,"data-test":n,disabled:a,id:e,name:e,onChange:e=>o(e.target.value),placeholder:t.placeholder??``,readOnly:i,tabIndex:t.tabIndex??void 0,type:t.type??`text`,value:r})})})},qy=/^(\d{1,2}):(\d{2})(?::(\d{2}))?$/;function Jy(e){if(typeof e!=`string`)return null;let t=qy.exec(e.trim());if(!t)return null;let n=Number(t[1]),r=Number(t[2]),i=t[3]?Number(t[3]):0;return n>23||r>59||i>59?null:{hour:n,minute:r,second:i}}function Yy(e,t){let n=[nb(e.hour),nb(e.minute)];return t&&n.push(nb(e.second)),n.join(`:`)}function Xy(e){return e!=null&&e<60}function Zy(e,t={}){let{min:n,max:r,current:i}=t,a=$y(n),o=$y(r),s=e==null||e<60?1:e%60==0?e/60:1;return{hours:tb(0,23,1).map(e=>({value:e,label:nb(e),disabled:a!=null&&e<a.hour||o!=null&&e>o.hour})),minutes:eb(tb(0,59,s),i?.minute).map(e=>({value:e,label:nb(e),disabled:Qy(e,i,a,o)})),seconds:Xy(e)?tb(0,59,1).map(e=>({value:e,label:nb(e),disabled:!1})):null}}function Qy(e,t,n,r){return t?n!=null&&t.hour===n.hour&&e<n.minute||r!=null&&t.hour===r.hour&&e>r.minute:!1}function $y(e){let t=Jy(e);return t?{hour:t.hour,minute:t.minute}:null}function eb(e,t){return t==null||e.includes(t)?e:[...e,t].sort((e,t)=>e-t)}function tb(e,t,n){let r=[];for(let i=e;i<=t;i+=n)r.push(i);return r}function nb(e){return String(e).padStart(2,`0`)}function rb({value:e,onChange:t,step:n,min:r,max:i,disabled:a=!1,readOnly:o=!1,labels:s,testId:c}){let l=(0,B.useRef)(null),u=Zy(n,{min:r,max:i,current:e}),d=e??{hour:0,minute:0,second:0},f=!a&&!o,p=[{key:`hour`,label:s?.hour??`Hour`,options:u.hours,selected:d.hour},{key:`minute`,label:s?.minute??`Minute`,options:u.minutes,selected:d.minute},...u.seconds?[{key:`second`,label:s?.second??`Second`,options:u.seconds,selected:d.second}]:[]];function m(e){let t=l.current?.querySelectorAll(`[role="listbox"]`)?.[e];t&&(t.querySelector(`[data-active="true"]`)??t.querySelector(`[role="option"]`))?.focus()}return(0,Y.jsx)(`div`,{ref:l,className:`flex gap-1`,"data-test":c,children:p.map((n,r)=>(0,Y.jsx)(ib,{label:n.label,options:n.options,selected:e?n.selected:null,disabled:!f,onSelect:e=>f&&t({...d,[n.key]:e}),onHorizontal:e=>m(r+e)},n.key))})}function ib({label:e,options:t,selected:n,disabled:r,onSelect:i,onHorizontal:a}){let o=(0,B.useRef)(null),s=t.filter(e=>!e.disabled).map(e=>e.value),c=n??s[0]??t[0]?.value??0;(0,B.useEffect)(()=>{(o.current?.querySelector(`[data-active="true"]`))?.scrollIntoView?.({block:`nearest`})},[n]);function l(e){e!=null&&(o.current?.querySelector(`[data-value="${e}"]`)?.focus(),i(e))}function u(e){if(r)return;let t=s.indexOf(c);switch(e.key){case`ArrowDown`:e.preventDefault(),l(s[Math.min(t+1,s.length-1)]);break;case`ArrowUp`:e.preventDefault(),l(s[Math.max(t-1,0)]);break;case`Home`:e.preventDefault(),l(s[0]);break;case`End`:e.preventDefault(),l(s[s.length-1]);break;case`ArrowRight`:e.preventDefault(),a(1);break;case`ArrowLeft`:e.preventDefault(),a(-1);break}}return(0,Y.jsx)(`div`,{ref:o,role:`listbox`,"aria-label":e,"aria-orientation":`vertical`,tabIndex:-1,className:`flex max-h-40 w-14 flex-col overflow-y-auto`,onKeyDown:u,children:t.map(t=>{let a=n===t.value;return(0,Y.jsx)(`button`,{type:`button`,role:`option`,"aria-selected":a,"aria-label":`${e} ${t.label}`,"data-value":t.value,"data-active":c===t.value,disabled:r||t.disabled,tabIndex:c===t.value?0:-1,onClick:()=>i(t.value),className:J(`shrink-0 rounded-lt-sm px-2 py-1 text-sm text-lt-fg hover:bg-lt-muted`,a&&`bg-lt-primary text-lt-primary-fg`,(r||t.disabled)&&`cursor-not-allowed opacity-40`),children:t.label},t.value)})})}var ab=({node:e})=>{let t=e.props,n=Xy(t.step),r=t.label??t.name;return(0,Y.jsx)(Hv,{node:e,label:t.label??``,children:({name:e,testId:i,value:a,readOnly:o,disabled:s,commit:c,blur:l})=>(0,Y.jsxs)(`div`,{className:`flex gap-2`,children:[(0,Y.jsx)(zv,{"aria-label":r,autoFocus:t.autoFocus??!1,"data-test":i,disabled:s,id:e,name:e,onBlur:()=>{let e=Jy(a);e&&c(Yy(e,n)),l()},onChange:e=>c(e.target.value),readOnly:o,tabIndex:t.tabIndex??void 0,type:`text`,value:a}),(0,Y.jsxs)(Ed,{children:[(0,Y.jsx)(Dd,{asChild:!0,children:(0,Y.jsx)($,{"aria-label":`Open ${r} time picker`,disabled:s||o,size:`icon`,type:`button`,variant:`secondary`,children:(0,Y.jsx)(X,{name:`clock`,className:`size-lt-icon-md`,"aria-hidden":`true`})})}),(0,Y.jsx)(kd,{className:`p-2`,children:(0,Y.jsx)(rb,{value:Jy(a),onChange:e=>c(Yy(e,n)),step:t.step,min:t.min,max:t.max,disabled:s,readOnly:o,testId:`${i}-picker`})})]})]})})},ob=({node:e})=>{let{hidden:t,required:n,readOnly:r,disabled:i}=Kg(e),a=e.props,o=a.name,s=Vp(),{errors:c,fieldIdPrefix:l}=gp(),u=Q_(s?s.scopedName(o):o,l),d=s?s.errorKey(o):o,f=rm(o),p=s?s.getValue(o):f,m=Ig(a.value),h=p===void 0?m:Ig(p),g=r||i,{commit:_}=lm();return $_(o,m),t?null:(0,Y.jsxs)(Ng,{error:c[d],helperText:a.helperText??void 0,tooltip:a.tooltip??void 0,label:a.label??``,name:u,required:n,children:[(0,Y.jsx)(`input`,{disabled:g,name:u,type:`hidden`,value:h?`1`:`0`}),(0,Y.jsx)(`button`,{"aria-checked":h,"aria-label":a.label??o,autoFocus:a.autoFocus??!1,className:J(`inline-flex h-6 w-11 shrink-0 cursor-pointer items-center rounded-full border border-transparent bg-lt-muted p-0.5 shadow-lt-xs transition-colors outline-none focus-visible:border-lt-ring focus-visible:ring-[length:var(--lt-ring-width)] focus-visible:ring-lt-ring/50 disabled:cursor-not-allowed disabled:bg-lt-disabled data-[state=checked]:bg-lt-primary disabled:data-[state=checked]:bg-lt-disabled`),"data-state":h?`checked`:`unchecked`,"data-test":T(o),disabled:g,id:u,name:u,onClick:()=>_(o,!h),role:`switch`,tabIndex:a.tabIndex??void 0,type:`button`,children:(0,Y.jsx)(`span`,{className:`size-5 rounded-full bg-lt-bg shadow-lt-sm transition-transform data-[state=checked]:translate-x-5 data-[state=unchecked]:translate-x-0`,"data-state":h?`checked`:`unchecked`})})]})};function sb(e){let t=[],n=e=>{let r=xp(e).name;if(r&&t.push(r),!(r&&bp.has(e.type)))for(let t of e.schema??[])n(t)};for(let t of e.schema??[])n(t);return t}function cb(e){let t=[],n=e=>{let r=xp(e).name;if(r&&t.push(r,`${r}.*`),r&&bp.has(e.type)){for(let n of sb(e))t.push(`${r}.*.${n}`);return}for(let t of e.schema??[])n(t)};for(let t of e.schema??[])n(t);return t}function lb(e,t){let n=Object.keys(t).filter(e=>!!t[e]),r=new Set;return e.forEach((e,t)=>{n.some(t=>e.some(e=>wm(t,e)))&&r.add(t)}),r}function ub(e,t){let n=lb(e,t);return n.size>0?Math.min(...n):null}var db=(0,B.createContext)({activeName:``});function fb(e){let t=(e.schema??[]).filter(e=>e.type===`wizard-step`);return{items:t.map(e=>e.props),nodes:t}}var pb=({children:e,node:t})=>{let{t:n}=W(`lattice`),{errors:r,processing:i,touch:a,validateFields:o,validating:s}=gp(),{items:c,nodes:l}=(0,B.useMemo)(()=>fb(t),[t]),u=(0,B.useMemo)(()=>l.map(e=>sb(e)),[l]),d=t.props.orientation===`vertical`,[f,p]=(0,B.useState)(0),[m,h]=(0,B.useState)(()=>new Set([0])),[g,_]=(0,B.useState)(()=>new Set),v=(0,B.useMemo)(()=>lb(u,r),[u,r]),y=f===c.length-1,b=e=>{p(e),h(t=>new Set(t).add(e))},x=()=>{_(e=>new Set(e).add(f)),y||b(f+1)},S=()=>{let e=l[f],t=e?cb(e):[];if(t.length===0){x();return}a(t),o(t,{onSuccess:x})},C=(0,B.useRef)(!1);(0,B.useEffect)(()=>{if(C.current&&!i){let e=ub(u,r);e!==null&&e!==f&&b(e)}C.current=i},[i,r,u,f]);let w=(0,B.useMemo)(()=>({activeName:c[f]?.name??``}),[c,f]);return(0,Y.jsx)(db.Provider,{value:w,children:(0,Y.jsxs)(`div`,{className:J(`gap-6`,d?`flex`:`grid`),"data-slot":`wizard`,children:[(0,Y.jsx)(`ol`,{"aria-label":n(`form.wizard.steps`,`Steps`),className:J(`gap-1`,d?`flex w-56 shrink-0 flex-col`:`flex flex-wrap`),children:c.map((e,t)=>{let n=t===f,r=g.has(t),i=v.has(t);return(0,Y.jsx)(`li`,{children:(0,Y.jsxs)(`button`,{"aria-current":n?`step`:void 0,className:J(`flex w-full items-center gap-2 rounded-lt px-3 py-2 text-left text-sm`,n?`bg-lt-muted font-medium text-lt-fg`:`text-lt-muted-fg`,!m.has(t)&&`cursor-not-allowed opacity-60`),"data-error":i||void 0,"data-test":`wizard-rail-${e.name}`,disabled:!m.has(t),id:`wizard-step-${e.name}-trigger`,onClick:()=>b(t),type:`button`,children:[(0,Y.jsx)(`span`,{className:J(`flex size-5 shrink-0 items-center justify-center rounded-full border text-xs`,i?`border-lt-danger text-lt-danger`:r?`border-lt-primary bg-lt-primary text-lt-primary-fg`:`border-lt-border`),children:r&&!i?(0,Y.jsx)(X,{className:`size-lt-icon-sm`,name:`check`}):t+1}),(0,Y.jsxs)(`span`,{className:`min-w-0`,children:[(0,Y.jsx)(`span`,{className:`block truncate`,children:e.label}),d&&e.description&&(0,Y.jsx)(`span`,{className:`block truncate text-xs text-lt-muted-fg`,children:e.description})]})]})},e.name)})}),(0,Y.jsxs)(`div`,{className:`min-w-0 flex-1 space-y-6`,children:[e,(0,Y.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,Y.jsx)($,{"data-test":`wizard-back`,disabled:f===0||i,onClick:()=>b(f-1),type:`button`,emphasis:`outline`,children:n(`form.wizard.back`,`Back`)}),y?(0,Y.jsxs)($,{"data-test":`wizard-finish`,disabled:i,type:`submit`,children:[i&&(0,Y.jsx)(up,{}),n(`form.wizard.finish`,`Finish`)]}):(0,Y.jsxs)($,{"data-test":`wizard-next`,disabled:i||s,onClick:S,type:`button`,children:[s&&(0,Y.jsx)(up,{}),n(`form.wizard.next`,`Next`)]})]})]})]})})},mb=({children:e,node:t})=>{let{activeName:n}=(0,B.useContext)(db),r=t.props.name,i=n===r,[a,o]=(0,B.useState)(i);return(0,B.useEffect)(()=>{i&&o(!0)},[i]),(0,Y.jsx)(`section`,{"aria-labelledby":`wizard-step-${r}-trigger`,className:J(`space-y-8`,!i&&`hidden`),hidden:!i,id:`wizard-step-${r}-panel`,children:a?e:null})},hb=(0,B.lazy)(()=>p(()=>import(`./chunks/rich-editor-field-C71csVJv.js`),__vite__mapDeps([10,1,3,8]),import.meta.url)),gb=Pe({components:{form:V(ay),"field.builder":V(N_),"field.checkbox":V(ev),"field.choice":V(nv),"field.color-picker":V(Uv),"field.date-input":V(Kv),"field.date-time-input":V(qv),"field.file-upload":V($v),"field.hidden-input":V(sy),"field.number-input":V(uy),"field.otp":V(Fy),"field.password-input":V(Ly),"field.repeater":V(zy),"field.rich-editor":V(({children:e,node:t})=>(0,Y.jsx)(B.Suspense,{fallback:null,children:(0,Y.jsx)(hb,{node:t,children:e})})),"field.select":V(Uy),"field.textarea":V(Gy),"field.text-input":V(Ky),"field.time-input":V(ab),"field.toggle":V(ob),wizard:V(pb),"wizard-step":V(mb)},name:`lattice/form`});function _b(e,t=1){return oe(`${e}?page=${t}`)}function vb(e,t){return oe(`${e}/${t}/read`,{method:`PATCH`})}function yb(e){return oe(`${e}/read-all`,{method:`POST`})}function bb(e,t){return oe(`${e}/${t}`,{method:`DELETE`})}function xb(e){return oe(e,{method:`DELETE`})}function Sb(e,t){return e.some(e=>e.id===t.id)?e:[t,...e]}function Cb(e,t){return e.map(e=>e.id===t?{...e,isRead:!0}:e)}function wb(e,t){return e.filter(e=>e.id!==t)}function Tb({endpoint:e,pollingInterval:t}){let[n,r]=(0,B.useState)([]),[i,a]=(0,B.useState)(0),[o,s]=(0,B.useState)(`loading`),[c,l]=(0,B.useState)(!1),[u,d]=(0,B.useState)(!1),f=(0,B.useRef)(1),p=(0,B.useRef)(c);p.current=c;let m=(0,B.useRef)(!1),h=(0,B.useCallback)(async()=>{try{let t=await _b(e,1);f.current=1,r(t.notifications),a(t.unreadCount),l(t.hasMore),s(`idle`)}catch{s(`error`)}},[e]);return(0,B.useEffect)(()=>{h()},[h]),(0,B.useEffect)(()=>{if(!t||t<=0)return;let e=setInterval(()=>void h(),t*1e3);return()=>clearInterval(e)},[h,t]),{notifications:n,unreadCount:i,status:o,hasMore:c,open:u,setOpen:d,loadMore:(0,B.useCallback)(()=>{if(m.current||!p.current)return;m.current=!0;let t=f.current+1;_b(e,t).then(e=>{f.current=t,r(t=>[...t,...e.notifications]),l(e.hasMore)}).catch(()=>void h()).finally(()=>{m.current=!1})},[e,h]),markRead:(0,B.useCallback)(t=>{r(e=>Cb(e,t)),a(e=>Math.max(0,e-1)),vb(e,t).then(e=>a(e.unreadCount)).catch(()=>void h())},[e,h]),markAllRead:(0,B.useCallback)(()=>{r(e=>e.map(e=>({...e,isRead:!0}))),a(0),yb(e).then(e=>a(e.unreadCount)).catch(()=>void h())},[e,h]),dismiss:(0,B.useCallback)(t=>{r(e=>wb(e,t)),bb(e,t).then(e=>a(e.unreadCount)).catch(()=>void h())},[e,h]),clearAll:(0,B.useCallback)(()=>{r([]),a(0),xb(e).then(e=>a(e.unreadCount)).catch(()=>void h())},[e,h]),receive:(0,B.useCallback)(e=>{r(t=>{let n=Sb(t,e);return n!==t&&a(e=>e+1),n})},[])}}function Eb(){let{t:e}=W(`lattice`);return(0,Y.jsxs)(`div`,{className:`flex flex-col items-center gap-2 px-4 py-10 text-lt-muted-fg`,children:[(0,Y.jsx)(X,{name:`bell`,className:`size-lt-icon-lg`}),(0,Y.jsx)(`p`,{className:`text-sm`,children:e(`notifications.empty`,`No notifications yet`)})]})}var Db={primary:`text-lt-primary`,secondary:`text-lt-muted-fg`,success:`text-lt-success`,info:`text-lt-info`,warning:`text-lt-warning`,danger:`text-lt-danger`};function Ob({notification:e,onMarkRead:t,onDismiss:n}){let{t:r}=W(`lattice`),i=$r(e.title,r),a=$r(e.body,r),o=(0,Y.jsxs)(Y.Fragment,{children:[i?(0,Y.jsx)(`p`,{className:`truncate text-sm font-medium text-lt-fg`,children:i}):null,a?(0,Y.jsx)(`p`,{className:`text-sm text-lt-muted-fg`,children:a}):null]});return(0,Y.jsxs)(`li`,{className:J(`flex gap-3 px-3 py-3`,!e.isRead&&`bg-lt-muted/40`),"data-test":`notification`,children:[e.icon?(0,Y.jsx)(Br,{icon:e.icon,className:J(`mt-0.5 size-lt-icon-md`,e.variant?Db[e.variant]:void 0)}):null,(0,Y.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[e.href?(0,Y.jsx)(C,{href:e.href,className:`block`,"data-test":`notification-link`,onClick:()=>t(e.id),children:o}):o,e.actions.length>0?(0,Y.jsx)(`div`,{className:`mt-2 flex flex-wrap gap-2`,children:e.actions.map((e,t)=>(0,Y.jsx)(Yr,{node:e},e.key??e.id??`action-${t}`))}):null]}),(0,Y.jsxs)(`div`,{className:`flex shrink-0 flex-col gap-1`,children:[e.isRead?null:(0,Y.jsx)(`button`,{type:`button`,className:`text-xs text-lt-muted-fg hover:text-lt-fg`,onClick:()=>t(e.id),children:r(`notifications.mark-read`,`Mark read`)}),(0,Y.jsx)(`button`,{type:`button`,"aria-label":r(`notifications.dismiss`,`Dismiss`),className:`text-xs text-lt-muted-fg hover:text-lt-fg`,onClick:()=>n(e.id),children:r(`notifications.dismiss`,`Dismiss`)})]})]})}function kb({notifications:e,status:t,hasMore:n,onMarkRead:r,onDismiss:i,onLoadMore:a}){let{t:o}=W(`lattice`);return t===`loading`&&e.length===0?(0,Y.jsxs)(`div`,{className:`space-y-2 p-3`,children:[(0,Y.jsx)(pp,{className:`h-12 w-full`}),(0,Y.jsx)(pp,{className:`h-12 w-full`}),(0,Y.jsx)(pp,{className:`h-12 w-full`})]}):e.length===0?(0,Y.jsx)(Eb,{}):(0,Y.jsxs)(`div`,{className:`max-h-96 overflow-y-auto`,children:[(0,Y.jsx)(`ul`,{className:`divide-y divide-lt-border`,children:e.map(e=>(0,Y.jsx)(Ob,{notification:e,onMarkRead:r,onDismiss:i},e.id))}),n?(0,Y.jsx)(`button`,{type:`button`,className:`w-full py-2 text-sm text-lt-muted-fg hover:text-lt-fg`,onClick:a,children:o(`notifications.load-more`,`Load more`)}):null]})}var Ab=(0,B.lazy)(()=>p(()=>import(`./chunks/notifications-echo-DsfNc4Ge.js`).then(e=>({default:e.NotificationsEcho})),__vite__mapDeps([11,5,1]),import.meta.url)),jb=class extends B.Component{state={failed:!1};static getDerivedStateFromError(){return{failed:!0}}componentDidCatch(){console.warn(`[lattice] The notifications bell declares a realtime channel but Echo is unavailable. Install @laravel/echo-react and call configureEcho().`)}render(){return this.state.failed?null:this.props.children}},Mb=Pe({name:`lattice/notifications`,components:{notifications:V(({node:e})=>{let{t}=W(`lattice`),n=Tb({endpoint:e.props.endpoint,pollingInterval:e.props.pollingInterval}),r=t(`notifications.label`,`Notifications`),i=(0,Y.jsxs)(`span`,{className:`relative inline-flex items-center justify-center rounded-lt-sm p-2 hover:bg-lt-muted`,children:[(0,Y.jsx)(X,{name:`bell`,className:`size-lt-icon-md`}),n.unreadCount>0?(0,Y.jsx)(`span`,{"data-test":`notifications-badge`,className:`absolute -right-0.5 -top-0.5 inline-flex min-w-4 items-center justify-center rounded-lt-full bg-lt-danger px-1 py-0 text-[10px] font-medium text-lt-danger-fg`,children:n.unreadCount}):null]}),a=(0,Y.jsxs)(`div`,{className:`w-80`,"data-test":`notifications-panel`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center justify-between border-b border-lt-border px-3 py-2`,children:[(0,Y.jsx)(`span`,{className:`text-sm font-medium`,children:t(`notifications.heading`,`Notifications`)}),n.unreadCount>0?(0,Y.jsx)(`button`,{type:`button`,className:`text-xs text-lt-muted-fg hover:text-lt-fg`,onClick:n.markAllRead,children:t(`notifications.mark-all-read`,`Mark all read`)}):null]}),(0,Y.jsx)(kb,{notifications:n.notifications,status:n.status,hasMore:n.hasMore,onMarkRead:n.markRead,onDismiss:n.dismiss,onLoadMore:n.loadMore})]});return(0,Y.jsxs)(Y.Fragment,{children:[e.props.channel?(0,Y.jsx)(jb,{children:(0,Y.jsx)(B.Suspense,{fallback:null,children:(0,Y.jsx)(Ab,{channel:e.props.channel,onReceive:e=>n.receive(e)})})}):null,e.props.slideOut?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`button`,{type:`button`,"aria-label":r,"data-test":`notifications-trigger`,onClick:()=>n.setOpen(!0),children:i}),(0,Y.jsx)(ip,{open:n.open,onOpenChange:n.setOpen,children:(0,Y.jsxs)(cp,{"aria-describedby":void 0,className:`p-0`,placement:`end`,width:`sm`,children:[(0,Y.jsx)(op,{className:`sr-only`,children:r}),a]})})]}):(0,Y.jsxs)(Ed,{open:n.open,onOpenChange:n.setOpen,children:[(0,Y.jsx)(Dd,{asChild:!0,children:(0,Y.jsx)(`button`,{type:`button`,"aria-label":r,"data-test":`notifications-trigger`,children:i})}),(0,Y.jsx)(kd,{align:`end`,className:`p-0`,children:a})]})]})})}});function Nb(e){return e==null?``:String(e)}function Pb({props:e}){let{t}=W(`lattice`),[n,r]=(0,B.useState)([]),[i,a]=(0,B.useState)(null),[o,s]=(0,B.useState)(!1);return(0,B.useEffect)(()=>{if(!e.remote||!e.dataEndpoint){r([]),s(!1);return}let t=!1;return a(null),s(!0),pe(e.dataEndpoint,{remote:e.remote}).then(e=>{t||r(e.data??[])}).catch(e=>{t||a(e instanceof Error?e.message:String(e))}).finally(()=>{t||s(!1)}),()=>{t=!0}},[e.dataEndpoint,e.remote]),i?(0,Y.jsx)(`div`,{className:`rounded-lt border border-lt-danger/40 p-3 text-sm`,children:i}):o||!e.remote?(0,Y.jsx)(`div`,{className:`rounded-lt border border-lt-border p-3 text-sm`,children:t(`common.remote.data-list.loading`,`Loading...`)}):(0,Y.jsxs)(`div`,{className:`rounded-lt border border-lt-border bg-lt-bg`,children:[(0,Y.jsx)(`div`,{className:`border-b border-lt-border px-3 py-2 text-sm font-medium`,children:t(`common.remote.data-list.title`,`Remote data`)}),(0,Y.jsxs)(`div`,{className:`divide-y divide-lt-border`,children:[n.map((t,n)=>(0,Y.jsx)(`div`,{className:`px-3 py-2`,children:(0,Y.jsx)(Jr,{nodes:Ne(e.schema,t)})},Nb(t.id)||n)),n.length===0?(0,Y.jsx)(`div`,{className:`px-3 py-2 text-sm text-lt-muted-fg`,children:e.emptyLabel??t(`common.remote.data-list.empty`,`No data`)}):null]})]})}var Fb=Pe({components:{"remote.data-list":V(({node:e})=>(0,Y.jsx)(Pb,{props:{...e.props,schema:e.schema}}))},name:`lattice/remote`});function Ib({columns:e,storageKey:t}){let n=(0,B.useMemo)(()=>e.filter(e=>e.props.toggleable),[e]),r=(0,B.useMemo)(()=>n.map(e=>e.key),[n]),[i,a]=Jd(t??``,{},{enabled:!!t,parse:e=>Rb(e,r),serialize:e=>zb(e,r)}),o=(0,B.useCallback)(e=>e.props.toggleable?i[e.key]??!e.props.hiddenByDefault:!0,[i]),s=(0,B.useMemo)(()=>e.filter(e=>o(e)),[e,o]),c=(0,B.useCallback)((e,t)=>{a(n=>({...n,[e]:t}))},[a]),l=(0,B.useCallback)(()=>a({}),[a]),u=n.length>0;return{hasHidden:n.some(e=>!o(e)),hasToggleableColumns:u,isVisible:o,resetVisibility:l,setColumnVisible:c,toggleableColumns:n,visibleColumns:s}}function Lb(e,t){let n=new Set(t),r={};for(let[t,i]of Object.entries(e))n.has(t)&&typeof i==`boolean`&&(r[t]=i);return r}function Rb(e,t){let n=JSON.parse(e);if(!Bb(n))throw Error(`unexpected stored column visibility shape`);return Lb(n.overrides,t)}function zb(e,t){let n=Lb(e,t);return Object.keys(n).length===0?null:JSON.stringify({columns:t,overrides:n})}function Bb(e){if(typeof e!=`object`||!e)return!1;let t=e;return Array.isArray(t.columns)&&t.columns.every(e=>typeof e==`string`)&&typeof t.overrides==`object`&&t.overrides!==null&&!Array.isArray(t.overrides)}function Vb(){let[e,t]=(0,B.useState)(()=>new Set);return{isExpanded:(0,B.useCallback)(t=>e.has(t),[e]),toggle:(0,B.useCallback)(e=>{t(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},[])}}var Hb={start:`text-start`,center:`text-center`,end:`text-end`},Ub={start:`justify-start`,center:`justify-center`,end:`justify-end`},Wb={start:`justify-items-start`,center:`justify-items-center`,end:`justify-items-end`},Gb=e=>Hb[e],Kb=e=>Ub[e],qb=e=>Wb[e];function Jb(e){return(e??[]).flatMap(e=>{if(e.type===`action.group`)return[];let t=e.props;return t.endpoint?[{id:e.id??``,label:Mm(e),method:t.method??`post`,endpoint:t.endpoint,ref:t.ref??``,variant:t.variant,emphasis:t.emphasis,confirmation:t.confirmation,form:t.form,modalSide:t.modalSide,modalWidth:t.modalWidth}]:[]})}function Yb(e){return Array.isArray(e)?e.filter(e=>typeof e==`object`&&!!e&&typeof e.field==`string`&&typeof e.operator==`string`&&typeof e.value==`string`):[]}function Xb(e){return Array.isArray(e)?e.filter(e=>typeof e==`object`&&!!e&&`key`in e&&`props`in e&&typeof e.key==`string`&&typeof e.props==`object`&&e.props!==null&&typeof e.props.label==`string`):[]}function Zb(e){return Array.isArray(e)?e.filter(e=>typeof e==`object`&&!!e&&!Array.isArray(e)):[]}var Qb={mode:`none`,currentPage:null,lastPage:null,perPage:null,total:null,from:null,to:null,hasMore:!1,nextPage:null};function $b(e){return typeof e!=`object`||!e||Array.isArray(e)?Qb:e}function ex(e){if(typeof e!=`object`||!e||Array.isArray(e))return{filters:[],sorts:[],page:1,perPage:25,tableFilters:{},tableFilterIndicators:[],search:``};let t=e;return{filters:Yb(t.filters),sorts:Array.isArray(t.sorts)?t.sorts:[],page:typeof t.page==`number`?t.page:1,perPage:typeof t.perPage==`number`?t.perPage:25,tableFilters:tx(t.tableFilters),tableFilterIndicators:nx(t.tableFilterIndicators),search:typeof t.search==`string`?t.search:``}}function tx(e){return typeof e!=`object`||!e||Array.isArray(e)?{}:Object.fromEntries(Object.entries(e).filter(e=>typeof e[1]==`object`&&e[1]!==null&&!Array.isArray(e[1])))}function nx(e){return Array.isArray(e)?e.filter(e=>typeof e==`object`&&!!e&&typeof e.filter==`string`&&typeof e.label==`string`&&typeof e.value==`string`):[]}function rx(e,t){let n=e.id??e.uuid??e.key??t;return String(n)}function ix(e){return Array.isArray(e.actions)?e.actions:[]}function ax(e){let t=e.detail;return typeof t==`object`&&t&&!Array.isArray(t)?t:null}function ox(e){return e==null||e===``}function sx(e){return ox(e)?!0:Array.isArray(e)?e.every(sx):typeof e==`object`&&e?Object.values(e).every(sx):!1}function cx(e){return!sx(e)}function lx(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function ux(e){return lx(e)?e:{}}function dx(e,t){return e.sorts.find(e=>e.key===t.key)}function fx(e){if(e?.direction===`asc`)return`ascending`;if(e?.direction===`desc`)return`descending`}function px(e,t){let n=new URL(e,window.location.origin);return t.filters.length>0&&n.searchParams.set(`filter`,bx(t)),t.sorts.length>0&&n.searchParams.set(`sort`,xx(t)),t.search!==``&&n.searchParams.set(`q`,t.search),mx(n,t.tableFilters),n.searchParams.set(`page`,String(t.page)),n.searchParams.set(`per_page`,String(t.perPage)),`${n.pathname}${n.search}`}function mx(e,t){for(let[n,r]of Object.entries(hx(t)))vx(e,`tf[${n}]`,r)}function hx(e){let t={};for(let[n,r]of Object.entries(e)){let e=gx(r);e!==void 0&&(t[n]=e)}return t}function gx(e){if(ox(e)||Array.isArray(e)||typeof e!=`object`)return;let t=Object.entries(e).map(([e,t])=>[e,_x(t)]).filter(e=>e[1]!==void 0);return t.length>0?Object.fromEntries(t):void 0}function _x(e){if(!ox(e)){if(Array.isArray(e)){let t=e.map(_x).filter(e=>e!==void 0);return t.length>0?t:void 0}if(typeof e==`object`){if(e===null)return;let t=Object.entries(e).map(([e,t])=>[e,_x(t)]).filter(e=>e[1]!==void 0);return t.length>0?Object.fromEntries(t):void 0}return String(e)}}function vx(e,t,n){if(Array.isArray(n)){for(let r of n)vx(e,`${t}[]`,r);return}if(typeof n==`object`&&n){for(let[r,i]of Object.entries(n))vx(e,`${t}[${r}]`,i);return}e.searchParams.append(t,String(n))}function yx(e){let t={};e.filters.length>0&&(t.filter=bx(e)),e.sorts.length>0&&(t.sort=xx(e));let n=hx(e.tableFilters);return Object.keys(n).length>0&&(t.tf=n),e.search!==``&&(t.q=e.search),t}function bx(e){return e.filters.map(e=>`${e.field}:${e.operator}:${encodeURIComponent(e.value)}`).join(`,`)}function xx(e){return e.sorts.map(e=>e.direction===`desc`?`-${e.key}`:e.key).join(`,`)}var Sx={contains:`contains`,starts_with:`starts with`,ends_with:`ends with`,eq:`equals`,neq:`not equals`,gt:`>`,gte:`≥`,lt:`<`,lte:`≤`,in:`in`,not_in:`not in`,before:`before`,after:`after`,empty:`is empty`,filled:`is not empty`},Cx=new Set([`empty`,`filled`]);function wx(e){return Zt(`lattice`,`table.operators.${e}`,Sx[e]??e)}function Tx(e){return e===`desc`?`descending`:`ascending`}function Ex(e,t){if(!t.props.sortable)return e;let n=e.find(e=>e.key===t.key),r=e.filter(e=>e.key!==t.key);return n?n.direction===`asc`?[...r,{key:t.key,direction:`desc`}]:r:[...e,{key:t.key,direction:`asc`}]}function Dx(e,t){if(t<=5)return Array.from({length:t},(e,t)=>t+1);let n=Math.max(1,Math.min(e-2,t-4));return Array.from({length:5},(e,t)=>n+t)}function Ox(e){return e.map(e=>({key:e.key,label:e.props.label,width:kx(e)}))}function kx(e){return e.props.width??`md`}function Ax(e,t,n=!1){return{leadingTracks:[...n?[`2.5rem`]:[],...t?[`3rem`]:[]],trailingTracks:e?[`10rem`]:[]}}function jx(e){let t=(0,B.useMemo)(()=>Xb(e.props?.columns),[e.props?.columns]),n=typeof e.props?.endpoint==`string`?e.props.endpoint:null,r=typeof e.props?.ref==`string`?e.props.ref:``,i=e.props?.lazy===!0,o=(0,B.useMemo)(()=>ex(e.props?.query),[e.props?.query]),s=(0,B.useMemo)(()=>Zb(e.props?.data),[e.props?.data]),c=(0,B.useMemo)(()=>$b(e.props?.pagination),[e.props?.pagination]),[l,u]=(0,B.useState)(s),[d,f]=(0,B.useState)(c),[p,m]=(0,B.useState)(o),[h,g]=(0,B.useState)(i),[_,v]=(0,B.useState)(!i),y=(0,B.useRef)(null),b=d.currentPage??p.page,x=(d.mode??`table`)===`infinite`,S=(0,B.useCallback)(async(e,t=!1)=>{if(n){g(!0);try{let i=await oe(px(n,e),{ref:r}),a=ex(i.query),o=Zb(i.data);u(e=>t?[...e,...o]:o),f($b(i.pagination)),m(a),v(!0)}finally{g(!1)}}},[n,r]);function C(e){S({...p,page:1,sorts:Ex(p.sorts,e)})}function w(e){S({...p,page:1,sorts:p.sorts.filter(t=>t.key!==e.key)})}function T(e){let t={...p,filters:e,page:1};m(t),S(t)}function E(e){T([...p.filters,e])}function D(e,t){T(p.filters.map((n,r)=>r===e?t:n))}function O(e){T(p.filters.filter((t,n)=>n!==e))}function k(e,t){T([...p.filters.filter(t=>t.field!==e),...t])}function A(e,t){let n={...p.tableFilters};sx(t)||!lx(t)?delete n[e]:n[e]=t;let r={...p,tableFilters:n,tableFilterIndicators:p.tableFilterIndicators.filter(t=>t.filter!==e),page:1};m(r),S(r)}function j(){let e={...p,filters:[],tableFilters:{},tableFilterIndicators:[],search:``,page:1};m(e),S(e)}function M(e){let t={...p,search:e,page:1};m(t),S(t)}let N=(0,B.useCallback)(async(e,t,i)=>{if(!n)return[];let a=new URL(n,window.location.origin);a.searchParams.set(`_sub`,`search`),a.searchParams.set(`_target`,e),a.searchParams.set(`_q`,t);let o=await z(`${a.pathname}${a.search}`,{ref:r,signal:i,throwOnError:!1});return o.ok?(await o.json()).options??[]:[]},[n,r]);function P(e){S({...p,page:e})}let F=(0,B.useCallback)(()=>{h||!d.hasMore||S({...p,page:d.nextPage??b+1},!0)},[b,S,d.hasMore,d.nextPage,h,p]);return(0,B.useEffect)(()=>{u(s),f(c),m(o),g(i),v(!i)},[s,c,o,i]),(0,B.useEffect)(()=>{!i||_||S(p)},[_,i,S,p]),Qt(a.reloadComponent,t=>{t.detail?.component===e.id&&S(p)}),(0,B.useEffect)(()=>{if(!x||!d.hasMore||h||!y.current||typeof IntersectionObserver>`u`)return;let e=new IntersectionObserver(e=>{e.some(e=>e.isIntersecting)&&F()},{rootMargin:`240px`});return e.observe(y.current),()=>e.disconnect()},[x,F,d.hasMore,h]),{columns:t,rows:l,pagination:d,query:p,filters:p.filters,tableFilters:p.tableFilters,search:p.search,addFilter:E,updateFilter:D,removeFilter:O,replaceColumnFilters:k,setTableFilter:A,resetFilters:j,setSearch:M,searchFilterOptions:N,processing:h,hasLoaded:_,infiniteLoaderRef:y,sort:C,clearSort:w,goToPage:P,loadMore:F}}function Mx(e){let[t,n]=(0,B.useState)(()=>new Set),[r,i]=(0,B.useState)(!1);(0,B.useEffect)(()=>{n(new Set),i(!1)},[e.join(` `)]);let a=(0,B.useCallback)(e=>{i(!1),n(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},[]),o=(0,B.useCallback)(()=>{i(!1),n(t=>t.size===e.length?new Set:new Set(e))},[e]),s=(0,B.useCallback)(()=>i(!0),[]),c=(0,B.useCallback)(()=>{i(!1),n(new Set)},[]),l=e.filter(e=>t.has(e)),u=e.length>0&&l.length===e.length;return{selectedKeys:l,allMatching:r,allVisibleSelected:u,allSelected:r||u,active:r||l.length>0,isSelected:e=>r||t.has(e),toggle:a,toggleAll:o,selectAllMatching:s,clear:c}}function Nx({actions:e,selectedKeys:t,allMatching:n,total:r,query:i,canSelectAllMatching:a,onSelectAllMatching:o,onCompleted:s}){let{t:c}=W(`lattice`),[l,u]=(0,B.useState)(!1),d=S(),[f,p]=(0,B.useState)(null),[m,h]=(0,B.useState)(null),g=()=>n?{allMatching:!0,...i}:{selected:t};async function _(e){u(!0);let t=await fp(()=>z(e.endpoint,{method:e.method,ref:e.ref,body:JSON.stringify(g()),throwOnError:!1}),d);u(!1),t&&(p(null),s())}function v(e){if(e.form){h(e);return}if(e.confirmation){p(e);return}_(e)}let y=n?r??t.length:t.length;return(0,Y.jsxs)(`div`,{className:`flex flex-wrap items-center gap-3 border-b border-lt-border bg-lt-muted/50 p-4 text-sm`,children:[(0,Y.jsx)(`span`,{className:`font-medium`,children:n?c(`table.bulk.all-selected`,`All {{count}} selected`,{count:y}):c(`table.bulk.selected`,`{{count}} selected`,{count:y})}),a&&(0,Y.jsx)(`button`,{type:`button`,"data-test":`bulk-select-all-matching`,className:`font-medium text-lt-primary underline underline-offset-2`,onClick:o,children:c(`table.bulk.select-all-matching`,`Select all {{total}} matching`,{total:r})}),(0,Y.jsx)(`div`,{className:`flex flex-wrap items-center gap-2`,children:e.map(e=>(0,Y.jsxs)($,{type:`button`,"data-test":D(`bulk-action`,e.id),variant:e.variant,emphasis:e.emphasis,disabled:l,onClick:()=>v(e),children:[l&&(0,Y.jsx)(up,{}),e.label]},e.id))}),f?.confirmation&&(0,Y.jsx)(dp,{title:f.confirmation.title??f.label,description:f.confirmation.description??void 0,confirmLabel:f.confirmation.confirmLabel??f.label,cancelLabel:f.confirmation.cancelLabel??c(`common.cancel`,`Cancel`),confirmVariant:f.variant,confirmEmphasis:f.emphasis,processing:l,onConfirm:()=>void _(f),onCancel:()=>p(null)}),m?.form&&(0,Y.jsx)(jm,{cancelLabel:m.confirmation?.cancelLabel??c(`common.cancel`,`Cancel`),componentRef:m.ref,description:m.confirmation?.description??void 0,endpoint:m.endpoint,extraData:g(),formNode:m.form,method:m.method,onClose:()=>h(null),onSuccess:()=>{h(null),s()},placement:m.modalSide??`center`,submitLabel:m.confirmation?.confirmLabel??m.label,title:m.confirmation?.title??m.label,width:m.modalWidth??void 0})]})}function Px({className:e,density:t,children:n,ref:r,...i}){return(0,Y.jsx)(`select`,{ref:r,"data-slot":`native-select`,className:J(Rv({density:t}),`cursor-pointer`,e),...i,children:n})}function Fx(e){return e===!0||e===1||e===`1`||e===`true`}function Ix({filter:e,value:t,processing:n,bare:r=!1,onChange:i,onSearch:a}){let{t:o}=W(`lattice`),s=e.schema??[];return s.length===0?(0,Y.jsx)(zx,{filter:e,value:t,processing:n,onChange:i}):(0,Y.jsxs)(`div`,{className:`flex items-end gap-2`,children:[(0,Y.jsx)(`div`,{className:`min-w-0 flex-1`,children:(0,Y.jsx)(Lx,{filter:e,schema:s,value:t,processing:n,bare:r,onChange:i,onSearch:a})}),cx(t)&&(0,Y.jsx)(Zv,{size:`md`,icon:`x`,label:o(`table.filter.clear`,`Clear {{label}} filter`,{label:e.props.label??``}),disabled:n,onClick:()=>i(void 0)})]})}function Lx({filter:e,schema:t,value:n,processing:r,bare:i,onChange:a,onSearch:o}){let s=(0,B.useMemo)(()=>ux(n),[n]),c=(0,B.useMemo)(()=>({action:`#`,clearErrors:()=>{},componentId:`table-filter-${e.key}`,componentRef:``,errors:{},fieldIdPrefix:`table-filter-${e.key}`,fieldLabels:{},precognitive:!1,processing:r,searchOptions:(e,t,n,r)=>o?o(e,t,r):Promise.resolve([]),touch:()=>{},validate:()=>{},validateFields:()=>{},validating:!1}),[e.key,o,r]),l=(0,Y.jsx)(`div`,{"aria-disabled":r,className:J(`grid gap-3`,r&&`pointer-events-none opacity-60`),children:(0,Y.jsx)(Jr,{nodes:t})});return(0,Y.jsx)(hp,{value:c,children:(0,Y.jsx)(vp,{value:{markUserEdit:()=>{}},children:(0,Y.jsx)(Up,{nodes:{},children:(0,Y.jsx)(em,{initial:s,children:(0,Y.jsx)(Rx,{onChange:a,children:i?(0,Y.jsx)(dm,{children:l}):l})})})})})}function Rx({children:e,onChange:t}){let n=nm(),r=am(),i=(0,B.useRef)(n);i.current=n;let a=(0,B.useCallback)((e,n)=>{let a=typeof n==`function`?n(Ep(i.current,e)):n,o=Op(i.current,e,a);i.current=o,r(e,a),t(o)},[t,r]);return(0,Y.jsx)(cm,{value:(0,B.useMemo)(()=>({blur:()=>{},change:a,commit:a}),[a]),children:e})}function zx({filter:e,value:t,processing:n,onChange:r}){let i=Fx(ux(t).value);return(0,Y.jsxs)(`label`,{className:`flex h-lt-control-md cursor-pointer items-center gap-2 text-sm`,children:[(0,Y.jsx)(Z_,{"aria-label":e.props.label??void 0,"data-test":`table-filter-${e.key}`,checked:i,disabled:n,onCheckedChange:e=>r(e===!0?{value:`1`}:void 0)}),(0,Y.jsx)(`span`,{children:e.props.label})]})}function Bx({type:e,label:t,value:n,processing:r,withSearchIcon:i=!1,grouped:a=!1,ariaLabel:o,testId:s,onCommit:c,onClear:l}){let{t:u}=W(`lattice`),[d,f]=(0,B.useState)(n),p=o??u(`table.filter.filter-by`,`Filter {{label}}`,{label:t}),m=a?`rounded-r-none`:``;return(0,B.useEffect)(()=>{f(n)},[n]),e===`boolean`?(0,Y.jsxs)(Px,{density:`compact`,"aria-label":p,"data-test":s,className:m,disabled:r,value:n,onChange:e=>c(e.target.value),children:[(0,Y.jsx)(`option`,{value:``,children:u(`table.filter.all`,`All`)}),(0,Y.jsx)(`option`,{value:`true`,children:u(`table.filter.true`,`True`)}),(0,Y.jsx)(`option`,{value:`false`,children:u(`table.filter.false`,`False`)})]}):e===`date`?(0,Y.jsx)(zv,{type:`date`,density:`compact`,"aria-label":p,"data-test":s,className:m,disabled:r,value:d,onChange:e=>{f(e.target.value),c(e.target.value)}}):(0,Y.jsxs)(`div`,{className:`relative flex w-full min-w-0 items-center`,children:[i&&(0,Y.jsx)(X,{name:`search`,"aria-hidden":`true`,className:`pointer-events-none absolute left-2 size-lt-icon-md text-lt-muted-fg`}),(0,Y.jsx)(zv,{type:e===`number`?`number`:`text`,density:`compact`,"aria-label":p,"data-test":s,className:J(m,i&&`pl-8`,l&&`pr-8`),disabled:r,value:d,onChange:e=>f(e.target.value),onKeyDown:e=>{e.key===`Enter`&&c(d)},onBlur:()=>{d!==n&&c(d)}}),l&&d!==``&&(0,Y.jsx)(Zv,{size:`xs`,icon:`x`,label:u(`table.filter.clear`,`Clear {{label}} filter`,{label:t}),"data-test":s?`${s}-clear`:void 0,className:`absolute right-1 size-6`,disabled:r,onClick:l})]})}function Vx({column:e,clauses:t,processing:n,onAdd:r,onUpdate:i,onRemove:a,onReplace:o,onSearch:s}){let{t:c}=W(`lattice`),{filter:l,label:u}=e.props,d=u??e.key;if(!l)return null;if(l.control===`filter.select`)return(0,Y.jsx)(Ux,{column:e,clauses:t,processing:n,onReplace:o,onSearch:s});let f=l.type??`text`,p=l.operators??[],m=l.defaultOperator??p[0]??`eq`,h=t.find(e=>e.clause.operator===m)??t[0];function g(t){if(t===``){h&&a(h.index);return}h?i(h.index,{...h.clause,value:t}):r({field:e.key,operator:m,value:t})}return(0,Y.jsxs)(`div`,{className:`flex min-w-0 max-w-80 items-stretch`,children:[(0,Y.jsx)(`div`,{className:`min-w-0 flex-1`,children:(0,Y.jsx)(Bx,{type:f,label:d,value:h?.clause.value??``,processing:n,withSearchIcon:f===`text`||f===`number`,grouped:!0,testId:`filter-${e.key}-value`,onCommit:g,onClear:h?()=>a(h.index):void 0})}),(0,Y.jsxs)(Ed,{children:[(0,Y.jsx)(Dd,{asChild:!0,children:(0,Y.jsx)(Zv,{emphasis:`segmented`,size:`md`,icon:`filter`,label:c(`table.filter.column-filters`,`{{label}} filters`,{label:d}),"data-test":`filter-${e.key}`,disabled:n,children:t.length>0&&(0,Y.jsx)(`span`,{className:`absolute -right-1.5 -top-1.5 inline-flex size-4 items-center justify-center rounded-full bg-lt-primary text-xs font-medium text-lt-primary-fg`,children:t.length})})}),(0,Y.jsx)(kd,{align:`start`,className:`w-80 p-4`,children:(0,Y.jsx)(qx,{column:e,clauses:t,operators:p,defaultOperator:m,processing:n,onAdd:r,onUpdate:i,onRemove:a})})]})]})}function Hx(e){return Array.isArray(e)?e.join(`,`):typeof e==`string`?e:``}function Ux({column:e,clauses:t,processing:n,onReplace:r,onSearch:i}){let{filter:a,label:o}=e.props;if(!a)return null;let s=a.multiple,c=a.defaultOperator,l=a.clauseOptions??[],u=Gx(t.map(e=>e.clause),l),d=t.find(e=>e.clause.operator===c)??t[0],f=u?u.value:s?d?.clause.value?d.clause.value.split(`,`):[]:d?.clause.value??``,p={key:e.key,type:`filter.select`,props:{label:o,options:a.options,multiple:s,searchable:a.searchable,placeholder:null},schema:[{type:`field.select`,key:e.key,props:{name:`value`,label:o,options:a.options,multiple:s,searchable:a.searchable,placeholder:null}}]};function m(t){let n=Hx(ux(t).value);if(n===``){r(e.key,[]);return}let i=l.find(e=>e.value===n);if(i){r(e.key,Wx(e.key,i));return}r(e.key,[{field:e.key,operator:c,value:n}])}return(0,Y.jsx)(Ix,{filter:p,value:{value:f},processing:n,bare:!0,onChange:m,onSearch:i?(e,t,n)=>i(t,n):void 0})}function Wx(e,t){return t.clauses.map(t=>({field:e,operator:t.operator,value:t.value}))}function Gx(e,t){return t.find(t=>Kx(e,Wx(``,t)))}function Kx(e,t){return e.length===t.length?t.every(t=>e.some(e=>e.operator===t.operator&&e.value===t.value)):!1}function qx({column:e,clauses:t,operators:n,defaultOperator:r,processing:i,onAdd:a,onUpdate:o,onRemove:s}){let{t:c}=W(`lattice`),l=e.props.filter?.type??`text`,[u,d]=(0,B.useState)(r),[f,p]=(0,B.useState)(t.length===0);return(0,Y.jsxs)(`div`,{className:`grid gap-3`,children:[t.map(t=>(0,Y.jsx)(Jx,{column:e,type:l,operators:n,clause:t.clause,processing:i,onOperator:e=>o(t.index,{...t.clause,operator:e}),onValue:e=>e===``?s(t.index):o(t.index,{...t.clause,value:e}),onRemove:()=>s(t.index)},t.index)),f&&(0,Y.jsx)(Jx,{column:e,type:l,operators:n,clause:{field:e.key,operator:u,value:``},processing:i,onOperator:t=>{if(Cx.has(t)){a({field:e.key,operator:t,value:``}),d(r),p(!1);return}d(t)},onValue:t=>{t!==``&&(a({field:e.key,operator:u,value:t}),d(r),p(!1))},onRemove:()=>p(!1)}),(0,Y.jsx)(`div`,{className:`border-t border-lt-border pt-3`,children:(0,Y.jsx)($,{variant:`secondary`,icon:`plus`,"data-test":`filter-${e.key}-add`,className:`w-full`,disabled:i,onClick:()=>p(!0),children:c(`table.filter.add`,`Add filter`)})})]})}function Jx({column:e,type:t,operators:n,clause:r,processing:i,onOperator:a,onValue:o,onRemove:s}){let{t:c}=W(`lattice`),l=e.props.label??e.key,u=Cx.has(r.operator);return(0,Y.jsxs)(`div`,{className:`grid gap-2`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center gap-2`,children:[n.length>1?(0,Y.jsx)(Px,{density:`compact`,"aria-label":c(`table.filter.operator`,`{{label}} operator`,{label:l}),"data-test":`filter-${e.key}-operator`,className:`flex-1`,disabled:i,value:r.operator,onChange:e=>a(e.target.value),children:n.map(e=>(0,Y.jsx)(`option`,{value:e,children:wx(e)},e))}):(0,Y.jsx)(`span`,{className:`flex-1 text-sm font-medium`,children:wx(r.operator)}),(0,Y.jsx)($,{emphasis:`outline`,size:`icon`,icon:`trash-2`,"aria-label":c(`table.filter.remove`,`Remove {{label}} filter`,{label:l}),"data-test":`filter-${e.key}-remove`,disabled:i,onClick:s})]}),!u&&(0,Y.jsx)(Bx,{type:t,label:l,ariaLabel:c(`table.filter.value`,`{{label}} filter value`,{label:l}),value:r.value,processing:i,onCommit:o,onClear:()=>o(``)})]})}function Yx({sort:e}){return e?.direction===`asc`?(0,Y.jsx)(X,{name:`arrow-up`,"aria-hidden":`true`,className:`size-lt-icon-sm shrink-0`}):e?.direction===`desc`?(0,Y.jsx)(X,{name:`arrow-down`,"aria-hidden":`true`,className:`size-lt-icon-sm shrink-0`}):(0,Y.jsx)(X,{name:`chevrons-up-down`,"aria-hidden":`true`,className:`size-lt-icon-sm shrink-0 opacity-50`})}function Xx({column:e,processing:t,resizeHandleProps:n,sort:r,query:i}){let a=dx(i,e),{t:o}=W(`lattice`),{align:s,label:c,sortable:l}=e.props;return(0,Y.jsxs)(`div`,{"aria-sort":fx(a),className:J(`relative min-w-0 px-4 py-3 pr-5 align-middle font-semibold text-lt-fg`,Gb(s)),role:`columnheader`,children:[l?(0,Y.jsxs)(`button`,{type:`button`,"aria-label":o(`table.sort.column`,`Sort {{label}}`,{label:c}),className:J(`flex w-full items-center gap-1.5 font-semibold`,Kb(s)),"data-test":`sort-${e.key}`,disabled:t,onClick:()=>r(e),children:[(0,Y.jsx)(`span`,{className:J(`min-w-0 flex-1 truncate`,Gb(s)),children:c}),(0,Y.jsx)(Yx,{sort:a})]}):(0,Y.jsx)(`span`,{className:J(`block truncate`,Gb(s)),children:c}),n&&(0,Y.jsx)(`div`,{...n})]})}function Zx({columns:e,hasHidden:t,isVisible:n,onReset:r,onToggle:i,processing:a,visibleColumnCount:o}){let{t:s}=W(`lattice`);return(0,Y.jsxs)(Ed,{children:[(0,Y.jsx)(Dd,{asChild:!0,children:(0,Y.jsx)(Zv,{size:`sm`,icon:`columns-3`,label:s(`table.columns.label`,`Columns`),"data-test":`table-columns-menu`,disabled:a})}),(0,Y.jsx)(kd,{align:`end`,className:`w-64 p-4`,children:(0,Y.jsxs)(`div`,{className:`grid gap-3`,children:[e.map(e=>{let t=n(e),r=t&&o<=1;return(0,Y.jsxs)(`label`,{className:`flex items-center gap-2 text-base text-lt-fg`,children:[(0,Y.jsx)(Z_,{"data-test":`table-column-toggle-${e.key}`,checked:t,disabled:r,onCheckedChange:t=>i(e.key,t===!0)}),(0,Y.jsx)(`span`,{children:e.props.label??e.key})]},e.key)}),t&&(0,Y.jsx)(`button`,{type:`button`,"data-test":`table-columns-reset`,className:`mt-1 justify-self-start text-sm text-lt-muted-fg hover:text-lt-fg`,onClick:r,children:s(`table.columns.reset`,`Reset`)})]})})]})}function Qx({clauses:e,columnsByKey:t,indicators:n,processing:r,onRemoveClause:i,onChange:a,onReset:o}){let{t:s}=W(`lattice`);return e.length===0&&n.length===0?null:(0,Y.jsx)(`div`,{className:`border-b border-lt-border px-4 py-3`,children:(0,Y.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2 text-sm`,children:[e.map((e,n)=>{let a=t.get(e.field)?.props.label??e.field,o=Cx.has(e.operator);return(0,Y.jsx)($x,{label:`${a} ${wx(e.operator)}`,value:o?``:e.value,removeTestId:`filter-chip-${e.field}-remove`,removeLabel:s(`table.filter.remove`,`Remove {{label}} filter`,{label:a}),processing:r,onRemove:()=>i(n)},`${e.field}-${e.operator}-${n}`)}),n.map(e=>(0,Y.jsx)($x,{label:e.label,value:e.value,removeTestId:`table-filter-chip-${e.filter}-remove`,removeLabel:s(`table.filter.remove`,`Remove {{label}} filter`,{label:e.label}),processing:r,onRemove:()=>a(e.filter,void 0)},`${e.filter}:${e.label}:${e.value}`)),(0,Y.jsx)(`button`,{type:`button`,"data-test":`table-filters-reset`,className:`text-lt-muted-fg underline-offset-2 hover:underline disabled:text-lt-disabled-fg`,disabled:r,onClick:o,children:s(`table.filter.reset-all`,`Reset all`)})]})})}function $x({label:e,value:t,removeTestId:n,removeLabel:r,processing:i,onRemove:a}){return(0,Y.jsxs)(`span`,{className:`inline-flex items-center gap-1.5 rounded-lt-sm bg-lt-muted px-2 py-1`,children:[(0,Y.jsx)(`span`,{children:t===``?(0,Y.jsx)(`span`,{className:`font-semibold`,children:e}):(0,Y.jsxs)(Y.Fragment,{children:[`${e}: `,(0,Y.jsx)(`span`,{className:`font-semibold`,children:t})]})}),(0,Y.jsx)(Zv,{size:`xs`,icon:`x`,label:r,"data-test":n,disabled:i,onClick:a})]})}function eS({filters:e,values:t,processing:n,onChange:r,onSearch:i}){let{t:a}=W(`lattice`),o=e.filter(e=>cx(t[e.key]));return(0,Y.jsxs)(Ed,{children:[(0,Y.jsx)(Dd,{asChild:!0,children:(0,Y.jsx)(Zv,{size:`sm`,icon:`filter`,label:a(`table.filter.filters`,`Filters`),"data-test":`table-filters-menu`,disabled:n,children:o.length>0&&(0,Y.jsx)(`span`,{className:`absolute -right-1 -top-1 inline-flex size-3.5 items-center justify-center rounded-full bg-lt-primary text-[10px] font-medium leading-none text-lt-primary-fg`,children:o.length})})}),(0,Y.jsx)(kd,{align:`end`,className:`w-80 p-4`,children:(0,Y.jsx)(`div`,{className:`grid gap-3`,children:e.map(e=>(0,Y.jsx)(`div`,{className:`grid gap-1`,children:(0,Y.jsx)(Ix,{filter:e,value:t[e.key],processing:n,onChange:t=>r(e.key,t),onSearch:i?(t,n,r)=>i(`filter:${e.key}.${t}`,n,r):void 0})},e.key))})})]})}function tS({pagination:e,currentPage:t,processing:n,mode:r,hasNextPage:i,visiblePages:a,infiniteLoaderRef:o,onPage:s,onLoadMore:c}){let{t:l}=W(`lattice`);return(0,Y.jsxs)(`div`,{"data-slot":`table-pagination`,className:`flex items-center justify-between gap-3 border-t border-lt-border p-4 text-sm`,children:[(0,Y.jsx)(`span`,{children:e.total==null?l(`table.pagination.page`,`Page {{page}}`,{page:t}):l(`table.pagination.showing`,`Showing {{from}}-{{to}} of {{total}}`,{from:e.from??0,to:e.to??0,total:e.total})}),r===`infinite`?(0,Y.jsx)(`div`,{ref:o,className:`flex items-center gap-2`,children:e.hasMore?(0,Y.jsx)($,{emphasis:`outline`,"data-test":`pagination-load-more`,disabled:n,onClick:c,children:n?l(`table.pagination.loading`,`Loading...`):l(`table.pagination.load-more`,`Load more`)}):(0,Y.jsx)(`span`,{className:`text-lt-muted-fg`,children:l(`table.pagination.all-loaded`,`All rows loaded`)})}):r===`simple`?(0,Y.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Y.jsx)($,{emphasis:`outline`,"data-test":`pagination-previous`,disabled:n||t<=1,onClick:()=>s(t-1),children:l(`table.pagination.previous`,`Previous`)}),(0,Y.jsx)($,{emphasis:`outline`,"data-test":`pagination-next`,disabled:n||!i,onClick:()=>s(t+1),children:l(`table.pagination.next`,`Next`)})]}):r===`table`?(0,Y.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Y.jsx)($,{emphasis:`outline`,"data-test":`pagination-previous`,disabled:n||t<=1,onClick:()=>s(t-1),children:l(`table.pagination.previous`,`Previous`)}),a.map(e=>(0,Y.jsx)($,{emphasis:`outline`,size:`icon`,"data-test":`pagination-page-${e}`,disabled:n||e===t,"aria-current":e===t?`page`:void 0,"aria-label":l(`table.pagination.page`,`Page {{page}}`,{page:e}),onClick:()=>s(e),children:e},e)),(0,Y.jsx)($,{emphasis:`outline`,"data-test":`pagination-next`,disabled:n||!i,onClick:()=>s(t+1),children:l(`table.pagination.next`,`Next`)})]}):null]})}function nS({columnsByKey:e,query:t,processing:n,onClear:r}){let{t:i}=W(`lattice`);return(0,Y.jsx)(`div`,{className:`flex flex-wrap items-center gap-4 border-b border-lt-border px-4 py-2.5 text-sm`,children:t.sorts.map((t,a)=>{let o=e.get(t.key)?.props.label??t.key,s=t.direction===`desc`?`arrow-down`:`arrow-up`;return(0,Y.jsxs)(`span`,{className:`inline-flex items-center gap-1.5`,children:[(0,Y.jsx)(`span`,{className:`font-medium`,children:`${a+1}. ${o}`}),(0,Y.jsx)(X,{name:s,role:`img`,"aria-hidden":!1,"aria-label":Tx(t.direction),className:`size-lt-icon-sm text-lt-muted-fg`}),(0,Y.jsx)(Zv,{size:`xs`,icon:`x`,label:i(`table.sort.clear`,`Clear {{label}} sort`,{label:o}),"data-test":`clear-${t.key}-sort`,disabled:n,onClick:()=>r(t)})]},t.key)})})}var rS=300;function iS({value:e,onSearch:t}){let{t:n}=W(`lattice`),[r,i]=(0,B.useState)(e),a=(0,B.useRef)(e);(0,B.useEffect)(()=>{e!==a.current&&(a.current=e,i(e))},[e]);function o(e){a.current=e,t(e)}let s=Em(o,rS);function c(e){i(e),s(e)}function l(){s.cancel(),i(``),o(``)}let u=n(`table.search.placeholder`,`Search`);return(0,Y.jsxs)(`div`,{className:`relative w-full max-w-xs`,children:[(0,Y.jsx)(X,{name:`search`,"aria-hidden":`true`,className:`pointer-events-none absolute left-2.5 top-1/2 size-lt-icon-sm -translate-y-1/2 text-lt-muted-fg`}),(0,Y.jsx)(zv,{type:`search`,"data-test":`table-search`,value:r,placeholder:u,"aria-label":u,onChange:e=>c(e.target.value),className:J(`px-8`,`[&::-webkit-search-cancel-button]:hidden`)}),r!==``&&(0,Y.jsx)(Zv,{size:`xs`,icon:`x`,label:n(`table.search.clear`,`Clear search`),"data-test":`table-search-clear`,className:`absolute right-1.5 top-1/2 -translate-y-1/2`,onClick:l})]})}function aS(e){return e}function oS(e,t,n){if(e==null)return``;let r=t?.props?.date;return r?po(e,r,n):typeof e==`string`||typeof e==`number`||typeof e==`boolean`?String(e):JSON.stringify(e)}function sS(e,t,n){let r=e.props.link;if(!r)return null;let i=r.href??String(n??``);return i===``?null:i.replace(/\{([^}]+)\}/g,(e,r)=>encodeURIComponent(String(r===`value`?n??``:t[r]??``)))}var cS=({column:e,props:t,value:n})=>{let r=oS(n,e);return r===``?null:(0,Y.jsx)(bh,{color:t.colors?.[String(n)],children:r})},lS=({value:e})=>{let{t}=W(`lattice`),n=Fx(e);return(0,Y.jsx)(`span`,{"aria-label":n?t(`common.yes`,`Yes`):t(`common.no`,`No`),role:`img`,children:(0,Y.jsx)(X,{name:n?`check`:`x`,className:J(`size-lt-icon-md`,n?`text-lt-success`:`text-lt-muted-fg`)})})},uS=({props:e,value:t})=>{let n=e.icons?.[String(t)]??e.icon??void 0;if(!n)return null;let r=_h(e.colors?.[String(t)]),i=r?yh(r):void 0;return(0,Y.jsx)(`span`,{"aria-label":String(t),className:J(`lt-cell-icon`,i?.className),style:i?.style,children:(0,Y.jsx)(Br,{className:`size-lt-icon-md`,icon:n})})},dS=({column:e,props:t,value:n})=>{let r=typeof n==`string`?n:``;if(r===``)return null;let i=t.size??32;return(0,Y.jsx)(Uh,{alt:e.props.label??``,className:J(`object-cover`,t.circular?`rounded-full`:`rounded-lt-sm`),height:i,previewable:t.previewable,src:r,testId:`preview-${e.key}`,width:i})};function fS(e){let t=typeof e==`number`?e:Number(e);return e!=null&&e!==``&&!Number.isNaN(t)?t:null}function pS(e,t,n){let r=fS(e);if(r===null)return String(e??``);let i={notation:t.notation,minimumFractionDigits:t.minimumFractionDigits??void 0,maximumFractionDigits:t.maximumFractionDigits??void 0};return t.currency?(i.style=`currency`,i.currency=t.currency):t.unit&&(i.style=`unit`,i.unit=t.unit),new Intl.NumberFormat(n,i).format(r)}function mS({children:e,column:t,copyable:n,value:r}){return n?(0,Y.jsx)(zh,{value:r,label:t.props.label??t.key,testId:`copy-${t.key}`,children:e}):e}function hS({column:e,copyable:t,format:r,value:i}){let{locale:a}=n();return fS(i)===null?(0,Y.jsx)(`span`,{children:oS(i,e)}):(0,Y.jsx)(mS,{column:e,copyable:t,value:String(i),children:(0,Y.jsx)(`span`,{className:`tabular-nums`,children:pS(i,r,a)})})}var gS=({column:e,props:t,row:n,value:r})=>{let i=t.currencyField?n[t.currencyField]:void 0,a=t.currency??(typeof i==`string`?i:null);return(0,Y.jsx)(hS,{column:e,copyable:t.copyable,value:r,format:{kind:`number`,notation:`standard`,minimumFractionDigits:t.minimumFractionDigits,maximumFractionDigits:t.maximumFractionDigits,currency:a,unit:null}})},_S=({column:e,props:t,value:n})=>(0,Y.jsx)(hS,{column:e,copyable:t.copyable,value:n,format:{kind:`number`,notation:t.compact?`compact`:`standard`,minimumFractionDigits:t.minimumFractionDigits,maximumFractionDigits:t.maximumFractionDigits,currency:null,unit:t.unit}}),vS=({column:e,row:t})=>(0,Y.jsx)(`div`,{className:`grid gap-1`,children:(0,Y.jsx)(Jr,{nodes:Ne(e.schema,t)})}),yS=e=>e.props.multiple?(0,Y.jsx)(xS,{...e}):e.props.badge?(0,Y.jsx)(SS,{...e}):(0,Y.jsx)(CS,{...e});function bS({label:e,color:t}){return e===``?null:(0,Y.jsx)(bh,{color:t,children:e})}function xS({column:e,props:t,value:n}){let r=Array.isArray(n)?n:[];return r.length===0?null:t.badge?(0,Y.jsx)(`div`,{className:`flex flex-wrap gap-1`,children:r.map((t,n)=>{let r=t;return(0,Y.jsx)(bS,{label:oS(r.value,e),color:r.color},n)})}):(0,Y.jsx)(`span`,{children:r.map(t=>oS(t,e)).join(`, `)})}function SS({column:e,props:t,row:n,value:r}){let i=t.badge.colorKey;return(0,Y.jsx)(bS,{label:oS(r,e),color:String(n[i]??``)})}function CS({column:e,props:t,row:n,value:r}){let i=e.props.date,a=sS(e,n,r),o=oS(r,e),s=a?(0,Y.jsx)(`a`,{className:`underline underline-offset-2`,href:a,rel:t.link?.external?`noreferrer`:void 0,target:t.link?.external?`_blank`:void 0,children:o}):o;return i&&!a&&!t.copyable&&r!=null?(0,Y.jsx)(ho,{value:r,dateStyle:i.dateStyle,timeStyle:i.timeStyle}):(0,Y.jsx)(mS,{column:e,copyable:t.copyable,value:o,children:s})}var wS={"column.badge":aS(cS),"column.boolean":aS(lS),"column.icon":aS(uS),"column.image":aS(dS),"column.money":aS(gS),"column.number":aS(_S),"column.stack":aS(vS),"column.text":aS(yS)};function TS({column:e,row:t}){return(0,Y.jsx)(v()[e.type]??wS[e.type]??wS[`column.text`],{column:e,props:e.props,row:t,value:t[e.key]})}var ES=Fe(Dg,Ym,gb,Qd,Pe({components:{table:V(({node:e})=>{let{t}=W(`lattice`),{columns:n,rows:r,pagination:i,query:a,filters:o,tableFilters:s,search:c,addFilter:l,updateFilter:u,removeFilter:d,replaceColumnFilters:f,setTableFilter:p,resetFilters:m,setSearch:h,searchFilterOptions:g,processing:_,hasLoaded:v,infiniteLoaderRef:y,sort:b,clearSort:x,goToPage:S,loadMore:C}=jx(e),w=(0,B.useMemo)(()=>Jb(e.props?.bulkActions),[e.props?.bulkActions]),T=w.length>0,E=(0,B.useMemo)(()=>r.map((e,t)=>({row:e,actions:ix(e),detail:ax(e),key:rx(e,t)})),[r]),D=Mx(E.map(e=>e.key)),{isExpanded:k,toggle:A}=Vb(),j=E.some(e=>e.detail!=null),M=(0,B.useMemo)(()=>new Map(n.map(e=>[e.key,e])),[n]),N=O(e),{hasToggleableColumns:P,hasHidden:F,isVisible:I,resetVisibility:ee,setColumnVisible:te,toggleableColumns:ne,visibleColumns:re}=Ib({columns:n,storageKey:N?`lattice:table-column-visibility:${N}`:void 0}),L=i.currentPage??a.page,R=i.lastPage??L,ie=i.mode??`table`,ae=Dx(L,R),z=i.hasMore??L<R,oe=E.some(e=>e.actions.length>0),se=e.props?.striped===!0,ce=re.some(e=>e.props.filter!=null),le=o.map((e,t)=>({clause:e,index:t})),ue=(0,B.useMemo)(()=>Array.isArray(e.props?.filters)?e.props.filters:[],[e.props?.filters]),de=ue.length>0,fe=oe||de||P,pe=(0,B.useMemo)(()=>Ox(re),[re]),me=(0,B.useMemo)(()=>Ax(fe,T,j),[fe,T,j]),he=e.props?.resizableColumns===!0,ge=O(e),{getResizeHandleProps:_e,gridTemplateColumns:ve,hasOverrides:ye,resizeRootRef:be,resetColumns:xe}=u_({columns:pe,enabled:he,leadingTracks:me.leadingTracks,showIndicator:e.props?.resizeIndicator===!0,storageKey:he&&ge?`lattice:table-columns:${ge}`:void 0,trailingTracks:me.trailingTracks});return(0,Y.jsxs)(`div`,{"data-slot":`table`,"data-lattice-component":e.id,className:`relative`,children:[ye&&(0,Y.jsx)(`button`,{"aria-label":t(`table.reset-column-widths`,`Reset column widths`),className:`absolute right-1 top-1 z-10 hidden rounded-lt-sm p-1 text-lt-muted-fg hover:text-lt-fg md:inline-flex`,"data-test":`table-reset-columns`,onClick:xe,title:t(`table.reset-column-widths`,`Reset column widths`),type:`button`,children:(0,Y.jsx)(X,{name:`rotate-ccw`,className:`size-lt-icon-sm`})}),(0,Y.jsxs)(`div`,{"data-slot":`table-scroll`,className:`overflow-x-auto rounded-lt-sm border border-lt-border`,children:[e.props?.searchable&&(0,Y.jsx)(`div`,{"data-slot":`table-toolbar`,className:`flex items-center gap-2 border-b border-lt-border px-4 py-2`,children:(0,Y.jsx)(iS,{value:c,onSearch:h})}),(0,Y.jsx)(Qx,{clauses:o,columnsByKey:M,indicators:a.tableFilterIndicators,processing:_,onRemoveClause:d,onChange:p,onReset:m}),T&&D.active&&(0,Y.jsx)(Nx,{actions:w,selectedKeys:D.selectedKeys,allMatching:D.allMatching,total:i.total??void 0,query:yx(a),canSelectAllMatching:D.allVisibleSelected&&!D.allMatching&&i.total!=null&&i.total>D.selectedKeys.length,onSelectAllMatching:D.selectAllMatching,onCompleted:D.clear}),a.sorts.length>0&&(0,Y.jsx)(nS,{columnsByKey:M,query:a,processing:_,onClear:x}),(0,Y.jsxs)(`div`,{ref:be,className:`min-w-full text-base`,role:`table`,style:{"--lattice-table-columns":ve},children:[(0,Y.jsxs)(`div`,{"data-slot":`table-header`,className:`border-b border-lt-border bg-lt-muted/50`,role:`rowgroup`,children:[(0,Y.jsxs)(`div`,{className:`hidden min-w-full md:grid md:grid-cols-[var(--lattice-table-columns)]`,role:`row`,children:[j&&(0,Y.jsx)(`div`,{className:`px-2 py-3`,role:`columnheader`,"aria-hidden":`true`}),T&&(0,Y.jsx)(`div`,{className:`flex items-center px-4 py-3`,role:`columnheader`,children:(0,Y.jsx)(Z_,{"aria-label":t(`table.select-all-rows`,`Select all rows`),"data-test":`select-all`,checked:D.allSelected,onCheckedChange:()=>D.toggleAll()})}),re.map((e,t)=>(0,Y.jsx)(Xx,{column:e,processing:_,resizeHandleProps:he?_e(pe[t]):void 0,sort:b,query:a},e.key)),fe&&(0,Y.jsxs)(`div`,{className:`flex items-center justify-end gap-2 px-4 py-2 align-middle font-semibold text-lt-fg`,role:`columnheader`,children:[de&&(0,Y.jsx)(eS,{filters:ue,values:s,processing:_,onChange:p,onSearch:g}),P&&(0,Y.jsx)(Zx,{columns:ne,isVisible:I,visibleColumnCount:re.length,hasHidden:F,onToggle:te,onReset:ee,processing:_}),oe&&(0,Y.jsx)(`span`,{className:`sr-only`,children:e.props?.actionsLabel??t(`table.actions`,`Actions`)})]})]}),ce&&(0,Y.jsxs)(`div`,{className:`hidden min-w-full border-t border-lt-border md:grid md:grid-cols-[var(--lattice-table-columns)]`,role:`row`,children:[j&&(0,Y.jsx)(`div`,{className:`px-2 py-2`,role:`cell`}),T&&(0,Y.jsx)(`div`,{className:`px-4 py-2`,role:`cell`}),re.map(e=>(0,Y.jsx)(`div`,{className:`min-w-0 px-2 py-2`,role:`cell`,children:e.props.filter!=null&&(0,Y.jsx)(Vx,{column:e,clauses:le.filter(t=>t.clause.field===e.key),processing:_,onAdd:l,onUpdate:u,onRemove:d,onReplace:f,onSearch:(t,n)=>g(`column:${e.key}`,t,n)})},e.key)),fe&&(0,Y.jsx)(`div`,{className:`px-4 py-2`,role:`cell`})]})]}),(0,Y.jsx)(`div`,{role:`rowgroup`,children:v?E.length===0?(0,Y.jsx)(`div`,{"data-slot":`table-empty`,className:`p-8 text-center text-lt-muted-fg`,role:`row`,children:(0,Y.jsx)(`div`,{role:`cell`,children:e.props?.emptyLabel??t(`table.empty`,`No results`)})}):E.map(({row:n,actions:r,detail:i,key:a})=>{let o=i!=null&&k(a),s=`${O(e)??`table`}-row-detail-${a}`;return(0,Y.jsxs)(B.Fragment,{children:[(0,Y.jsxs)(`div`,{"data-slot":`table-row`,className:`grid grid-cols-1 border-b border-lt-border last:border-b-0 md:grid-cols-[var(--lattice-table-columns)] ${se?`odd:bg-lt-muted/30`:``}`,role:`row`,children:[j&&(0,Y.jsx)(`div`,{className:`flex items-center px-2 py-lt-cell-y`,role:`cell`,children:i&&(0,Y.jsx)(`button`,{type:`button`,"data-test":`row-expand-${a}`,"aria-expanded":o,"aria-controls":s,"aria-label":t(`table.row-detail.toggle`,`Toggle detail`),className:`inline-flex size-6 items-center justify-center rounded-lt-sm text-lt-muted-fg hover:bg-lt-muted hover:text-lt-fg`,onClick:()=>A(a),children:(0,Y.jsx)(X,{name:`chevron-down`,"aria-hidden":`true`,className:J(`size-lt-icon-md transition-transform`,!o&&`-rotate-90`)})})}),T&&(0,Y.jsx)(`div`,{className:`flex items-center px-lt-cell-x py-lt-cell-y`,role:`cell`,children:(0,Y.jsx)(Z_,{"aria-label":t(`table.select-row`,`Select row {{key}}`,{key:a}),"data-test":`select-row-${a}`,checked:D.isSelected(a),onCheckedChange:()=>D.toggle(a)})}),re.map(e=>(0,Y.jsxs)(`div`,{"data-slot":`table-cell`,className:J(`grid min-w-0 gap-1 overflow-hidden px-lt-cell-x py-lt-cell-y align-middle`,Gb(e.props.align),qb(e.props.align)),role:`cell`,children:[(0,Y.jsx)(`span`,{"aria-hidden":`true`,className:`text-xs font-medium text-lt-muted-fg md:hidden`,children:e.props.label}),(0,Y.jsx)(`div`,{"data-slot":`table-cell-content`,className:`min-w-0 max-w-full overflow-hidden truncate`,children:(0,Y.jsx)(TS,{column:e,row:n})})]},e.key)),fe&&(0,Y.jsx)(`div`,{className:J(`items-center justify-start gap-2 px-lt-cell-x py-lt-cell-y md:justify-end`,r.length>0?`flex`:`hidden md:flex`),role:`cell`,children:r.map((e,t)=>(0,Y.jsx)(Yr,{node:e},e.key??e.id??t))})]}),o&&i&&(0,Y.jsx)(`div`,{id:s,role:`region`,"data-slot":`table-row-detail`,className:`border-b border-lt-border bg-lt-muted/20 px-lt-cell-x py-lt-cell-y`,children:(0,Y.jsx)(Jr,{nodes:[i]})})]},a)}):(0,Y.jsx)(`div`,{className:`p-4 text-lt-muted-fg`,role:`row`,children:(0,Y.jsx)(`div`,{role:`cell`,children:t(`table.loading`,`Loading rows...`)})})})]}),v&&(0,Y.jsx)(tS,{pagination:i,currentPage:L,processing:_,mode:ie,hasNextPage:z,visiblePages:ae,infiniteLoaderRef:y,onPage:S,onLoadMore:C})]})]})})},name:`lattice/table`}),uh,Mb,Fb);function DS(e,t){if(t.length===0)return e;let n=new Set([...e.namespaces??[`lattice`],...t.map(e=>e.namespace)]);return{...e,namespaces:[...n]}}function OS({ready:e,children:t}){let[n,r]=(0,B.useState)(!1);return(0,B.useEffect)(()=>{let t=!0,n=()=>{t&&r(!0)};return e.then(n,n),()=>{t=!1}},[e]),n?t:null}function kS({registry:e,plugins:t,sprite:n,pages:r={},defaultLayout:i,strictMode:a=!0,i18n:o,boot:s,wrap:c,...u}={}){let f=e??ES,m=t&&t.length>0?Ie(f,...t):f;l(m),lf();let h=o!==!1,g=t?.flatMap(e=>e.i18n?[e.i18n]:[])??[],_=h?DS(o??{},g):{},v=u.defaults?.visitOptions,y=h?{...u.defaults,visitOptions:(e,t)=>sf(e,v?.(e,t)??t)}:u.defaults,b=d({...u,defaults:y,strictMode:a,resolve:af(r),layout:of({defaultLayout:i}),withApp:(e,{ssr:t,page:r})=>{let i=[];if(!t){let e=r.props.lattice;Oe(e)&&Oe(e.urls)&&typeof e.urls.refreshRef==`string`&&R(e.urls.refreshRef),h&&nn(r.props)!==void 0&&i.push(p(()=>import(`./chunks/page-props-ClpVjpOc.js`).then(e=>e.configureI18nFromPageProps(r.props,_)),__vite__mapDeps([12,4,1]),import.meta.url));let t=s?.({page:r});t&&i.push(t)}let a=(0,Y.jsxs)(Y.Fragment,{children:[e,h?(0,Y.jsx)($t,{}):null]}),o=(0,Y.jsx)(zm,{registry:m,sprite:n,children:c?c(a):a});return i.length>0?(0,Y.jsx)(OS,{ready:Promise.all(i),children:o}):o}});return De(),b}function AS(){return console.warn(`[lattice] The data-lattice-config script holds invalid JSON; booting with defaults.`),{}}function jS(e){let t=e.querySelector(`script[data-lattice-config]`);if(!t?.textContent)return{};try{let e=JSON.parse(t.textContent);return typeof e!=`object`||!e||Array.isArray(e)?AS():e}catch{return AS()}}var MS=jS(document);async function NS(){if(MS.refreshRefUrl&&R(MS.refreshRefUrl),MS.echo)try{let{configureEcho:e}=await p(async()=>{let{configureEcho:e}=await import(`./chunks/dist-PaT1gYi_.js`);return{configureEcho:e}},__vite__mapDeps([5,1]),import.meta.url);e(MS.echo)}catch(e){console.warn(`[lattice] Failed to load the realtime chunk; continuing without Echo.`,e)}kS({...MS.spriteUrl?{sprite:{href:MS.spriteUrl}}:{},defaults:{visitOptions:sf}})}NS();export{Lc as A,U as B,Vc as C,Bc as D,Rc as E,ei as F,W as H,X as I,J as L,po as M,fo as N,Hc as O,Zr as P,nn as R,Dd as S,Uc as T,Bt as U,Xt as V,Oe as W,Vp as _,Zv as a,Ed as b,Ng as c,Gm as d,qm as f,rm as g,lm as h,Jy as i,zc as j,Ic as k,_h as l,Km as m,fS as n,zv as o,Jm as p,rb as r,Kg as s,pS as t,vh as u,gp as v,Fc as w,kd as x,$ as y,Yt as z};