@lattice-php/lattice 0.23.0 → 0.24.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{n,t as r}from"./chunks/j
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 O.useEffect(()=>{e&&(document.getElementById(e)||console.error(n))},[n,e]),null},xf=`DialogDescriptionWarning`,Sf=({contentRef:e,descriptionId:t})=>{let n=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${yf(xf).contentName}}.`;return O.useEffect(()=>{let r=e.current?.getAttribute(`aria-describedby`);t&&r&&(document.getElementById(t)||console.warn(n))},[n,e,t]),null},Cf=qd,wf=$d,Tf=tf,Ef=of,Df=df,Of=pf,kf=hf,Af=zd(`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 jf(e){return(0,Y.jsx)(Cf,{"data-slot":`dialog`,...e})}function Mf(e){return(0,Y.jsx)(kf,{"data-slot":`dialog-close`,...e})}function Nf({className:e,...t}){return(0,Y.jsx)(Df,{className:J(`text-lg font-semibold leading-none tracking-tight`,e),"data-slot":`dialog-title`,...t})}function Pf({className:e,...t}){return(0,Y.jsx)(Of,{className:J(`text-sm text-lt-muted-fg`,e),"data-slot":`dialog-description`,...t})}function Ff({children:e,className:t,placement:n=`center`,width:r=`lg`,...i}){return(0,Y.jsxs)(wf,{children:[(0,Y.jsx)(Tf,{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)(Ef,{className:J(Af({placement:n,width:r}),t),"data-slot":`dialog-content`,...i,children:e})]})}function If({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)(Nf,{children:n}),t?(0,Y.jsx)(Pf,{children:t}):null]}),(0,Y.jsx)(Mf,{asChild:!0,children:(0,Y.jsx)($,{"aria-label":e,"data-test":`dialog-close`,size:`icon`,variant:`ghost`,children:(0,Y.jsx)(X,{name:`x`,"aria-hidden":`true`,className:`size-lt-icon-md`})})})]})}function Lf({className:e,...t}){let{t:n}=U(`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 Rf({title:e,description:t,confirmLabel:n,cancelLabel:r=`Cancel`,confirmVariant:i=`default`,processing:a=!1,confirmDisabled:o=!1,onConfirm:s,onCancel:c}){let l=e=>{a&&e.preventDefault()};return(0,Y.jsx)(jf,{open:!0,onOpenChange:e=>{e||c()},children:(0,Y.jsxs)(Ff,{...t?{}:{"aria-describedby":void 0},width:`md`,onEscapeKeyDown:l,onInteractOutside:l,children:[(0,Y.jsxs)(`div`,{className:`grid gap-2`,children:[(0,Y.jsx)(Nf,{children:e}),t&&(0,Y.jsx)(Pf,{children:t})]}),(0,Y.jsxs)(`div`,{className:`mt-6 flex justify-end gap-2`,children:[(0,Y.jsx)($,{type:`button`,variant:`outline`,"data-test":`confirm-cancel`,disabled:a,onClick:c,children:r}),(0,Y.jsxs)($,{type:`button`,variant:i,"data-test":`confirm-accept`,disabled:a||o,onClick:s,children:[a&&(0,Y.jsx)(Lf,{}),n]})]})]})})}var zf=class extends Error{response;constructor(e){super(`HTTP ${e.status}`),this.response=e}};function Bf(){let e=document.cookie.match(/XSRF-TOKEN=([^;]+)/);return e?decodeURIComponent(e[1]):``}var Vf=1e4,Hf=new Map,Uf=new Map;function Wf(e){return e!==void 0&&e!==`GET`&&e!==`HEAD`?{Accept:`application/json`,"Content-Type":`application/json`,"X-Requested-With":`XMLHttpRequest`,"X-XSRF-TOKEN":Bf()}:{Accept:`application/json`}}async function Gf(e,t={}){let{ref:n,headers:r,throwOnError:i=!0,method:a,...o}=t,s=a?.toUpperCase(),c=await fetch(e,{credentials:`same-origin`,...o,method:s,headers:Pt(n??``,{...Wf(s),...r})});if(i&&!c.ok)throw new zf(c);return c}async function Kf(e,t){return(await Gf(e,t)).json()}function qf(e){return[e.source,e.audience,[...e.scopes].sort().join(` `)].join(``)}function Jf(e){Hf.delete(qf(e))}async function Yf(e){let t=qf(e),n=Hf.get(t);if(n&&n.expiresAt>Date.now()+Vf)return n.token;let r=Uf.get(t);if(r)return r;let i=Kf(e.tokenEndpoint,{method:`POST`,ref:e.ref,body:JSON.stringify({nodeId:e.nodeId,nodeType:e.nodeType,audience:e.audience,scopes:e.scopes})}).then(e=>(Hf.set(t,{token:e,expiresAt:Date.now()+Math.max(0,e.expiresIn)*1e3}),e)).finally(()=>{Uf.delete(t)});return Uf.set(t,i),i}function Xf(e){return e.status===401||e.status===403}async function Zf(e,t,n){let{headers:r,...i}=t;return fetch(e,{...i,credentials:`omit`,headers:{Accept:`application/json`,...b(),...r,Authorization:`${n.tokenType} ${n.accessToken}`}})}async function Qf(e,t){let{remote:n,retryOnUnauthorized:r=!0,throwOnError:i=!0,...a}=t,o=await Yf(n),s=await Zf(e,a,o);if(r&&Xf(s)&&(Jf(n),o=await Yf(n),s=await Zf(e,a,o)),i&&!s.ok)throw new zf(s);return s}async function $f(e,t){return(await Qf(e,t)).json()}async function ep(e,t){try{let n=await e();return t(m((await n.json().catch(()=>({}))).effects)),n.ok}catch(e){return d(e),!1}}function tp({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 np=(0,O.createContext)({action:`#`,clearErrors:()=>{},componentId:void 0,componentRef:``,errors:{},fieldIdPrefix:void 0,fieldLabels:{},precognitive:!1,processing:!1,validate:()=>{}});function rp({children:e,value:t}){return(0,Y.jsx)(np.Provider,{value:t,children:e})}function ip(){return(0,O.useContext)(np)}var ap=(0,O.createContext)(null),op=ap.Provider;function sp(){return(0,O.useContext)(ap)}function cp(e){return e.props}function lp(e,t){for(let n of e??[])t(cp(n),n),lp(n.schema,t)}function up(e){return e.split(`.`).filter(e=>e!==``)}function dp(e,...t){let n=t.map(String).filter(e=>e!==``);return[e??``,...n].filter(e=>e!==``).join(`.`)}function fp(e){let[t,...n]=up(e);return n.reduce((e,t)=>`${e}[${t}]`,t??``)}function pp(e,t){let n=e;for(let e of up(t)){if(n==null)return;n=n[e]}return n}function mp(e){return e!==void 0&&/^\d+$/.test(e)?[]:{}}function hp(e,t,n){let r=up(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:mp(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 gp=`rowId`;function _p(e){return e.rowId?e:{...e,[gp]:crypto.randomUUID()}}function vp(e){return e.every(e=>!!e.rowId)?e:e.map(_p)}function yp(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 bp(e,t){return e.filter((e,n)=>n!==t)}function xp(e,t){let n=e[t];if(!n)return e;let{[gp]:r,...i}=n;return[...e.slice(0,t+1),_p(i),...e.slice(t+1)]}function Sp(e,t,n){let r=[...e],[i]=r.splice(t,1);return r.splice(n,0,i),r}function Cp(e){return typeof e.rowId==`string`?e[gp]:null}function wp(e,t,n,r){return`${e}.${t??String(n)}.${r}`}var Tp=(0,O.createContext)(null);function Ep(e,t){if(!t)return e;let n=e.startsWith(`${t.path}.`)?e.slice(t.path.length+1):e;return dp(t.identityPath,n)}function Dp({base:e,index:t,row:n,onChange:r,children:i}){let a=(0,O.useContext)(Tp),o=(0,O.useMemo)(()=>{let i=n??{},o=Cp(i),s=dp(e,t),c=Ep(e,a),l=dp(c,o??t);return{row:i,rowId:o,path:s,values:a?{...a.values,...i}:i,identityPath:l,getValue:e=>pp(i,e),setValue:r,scopedName:e=>fp(dp(s,e)),errorKey:e=>dp(s,e),overrideKey:e=>wp(c,o,t,e)}},[e,t,n,r,a]);return(0,Y.jsx)(Tp.Provider,{value:o,children:i})}function Op(){return(0,O.useContext)(Tp)}var kp=(0,O.createContext)({});function Ap({nodes:e,children:t}){return(0,Y.jsx)(kp.Provider,{value:e,children:t})}function jp(e){let t=(0,O.useContext)(kp),n=cp(e).name??``,r=Op(),i=n&&r?r.errorKey(n):n;return i&&t[i]||n&&t[n]||e}var Mp={},Np={},Pp=(0,O.createContext)(null),Fp=(0,O.createContext)(()=>{});function Ip(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)=>Ip(e,t[n]));let n=Object.entries(e),r=t;return n.length===Object.keys(r).length&&n.every(([e,t])=>Ip(t,r[e]))}function Lp(e){return e.split(`.`).filter(e=>e!==``).join(`.`)}function Rp(e,t){return e===``||t===``||e===t||e.startsWith(`${t}.`)||t.startsWith(`${e}.`)}function zp(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=Lp(e);for(let[e,n]of i)if(Rp(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=Lp(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=>pp(n,e),getPathsSnapshot:e=>{if(e.length===0)return Np;let t=e.map(Lp),r=JSON.stringify(e),i=t.map(e=>pp(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=>{Ip(t,e)||(t=e,s(e,``))},setValue:(e,t)=>{let r=pp(n,e),i=typeof t==`function`?t(r):t;Object.is(r,i)||s(hp(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(Lp))).map(e=>c(e,t));return()=>{for(let e of n)e()}}}}var Bp=zp(Mp);function Vp({initial:e,children:t}){let n=(0,O.useRef)(null);return n.current===null&&(n.current=zp(e)),(0,O.useEffect)(()=>{n.current?.replaceInitial(e)},[e]),(0,Y.jsx)(Pp.Provider,{value:n.current,children:(0,Y.jsx)(Fp.Provider,{value:n.current.setValue,children:t})})}function Hp(){return(0,O.useContext)(Pp)??Bp}function Up(){let e=Hp();return(0,O.useSyncExternalStore)(e.subscribe,e.getSnapshot,e.getSnapshot)}function Wp(e){let t=Hp(),n=(0,O.useCallback)(n=>t.subscribePath(e,n),[e,t]),r=(0,O.useCallback)(()=>t.getPathSnapshot(e),[e,t]);return(0,O.useSyncExternalStore)(n,r,r)}function Gp(e){let t=Hp(),n=JSON.stringify(e),r=(0,O.useMemo)(()=>JSON.parse(n),[n]),i=(0,O.useCallback)(e=>t.subscribePaths(r,e),[r,t]),a=(0,O.useCallback)(()=>t.getPathsSnapshot(r),[r,t]);return(0,O.useSyncExternalStore)(i,a,a)}function Kp(){return(0,O.useContext)(Fp)}var qp=(0,O.createContext)(null);function Jp({children:e,value:t}){return(0,O.createElement)(qp.Provider,{value:t},e)}function Yp(){let e=(0,O.useContext)(qp),{clearErrors:t,precognitive:n,validate:r}=ip(),i=Kp(),a=Op(),o=sp();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 Xp=(0,O.createContext)(!1);function Zp({children:e}){return(0,Y.jsx)(Xp.Provider,{value:!0,children:e})}function Qp(){return(0,O.useContext)(Xp)}function $p(e,t,n,r){return Gf(e,{method:`POST`,ref:t,signal:r,body:JSON.stringify(n),throwOnError:!1}).then(e=>e.ok?e.json():null)}function em(e){return e.templates}function tm(e,t){let n=em(e);return n?n.find(e=>e.type===t.type)?.schema??[]:e.schema??[]}var nm=new Set([`field.builder`,`field.repeater`]);function rm(e,t){return e.startsWith(`@`)?e.slice(1):t===null?e:dp(t,e)}function im(e,t,n,r=0,i={}){let a=cp(e);if(!a.editablePrefill||!a.name)return null;let o=Cp(i);return{path:t===null?a.name:dp(t,a.name),overrideKey:n===null?a.name:wp(n,o,r,a.name),resetOn:(a.prefillResetOn??[]).map(e=>rm(e,t)),refreshOn:(a.prefillRefreshOn??[]).map(e=>rm(e,t))}}function am(e,t){let n=[],r=(e,i=null,a=null,o=null,s=0,c={})=>{for(let l of e??[]){if(nm.has(l.type)){let e=cp(l).name;if(e){let n=dp(i,e),o=dp(a,e),s=pp(t,n);(Array.isArray(s)?s:[]).forEach((e,t)=>{r(tm(l,e),dp(n,t),dp(o,Cp(e)??t),o,t,e)})}continue}let e=im(l,i,o,s,c);e&&n.push(e),r(l.schema,i,a,o,s,c)}};return r(e),n}function om(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(pp(e.values,a),pp(t.values,n))})}).map(e=>e.overrideKey)}function sm(e,t){return e.filter(e=>{let n=pp(t,e.path);return n!=null&&n!==``}).map(e=>e.overrideKey)}function cm(e,t){let n=new Set(t.map(e=>e.overrideKey));return new Set([...e].filter(e=>n.has(e)))}function lm(e,t,n){let r=Up(),i=Kp(),[a,o]=(0,O.useState)({}),s=(0,O.useMemo)(()=>am(n,r),[n,r]),c=(0,O.useRef)(new Set),l=(0,O.useRef)(new Set),u=(0,O.useRef)(r),d=(0,O.useRef)(s),f=(0,O.useRef)(s);f.current=s,(0,O.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 sm(t,r))c.current.add(e);for(let e of t)l.current.add(e.overrideKey)},[s,r]);let p=(0,O.useCallback)(e=>{c.current.add(e)},[]),m=(0,O.useMemo)(()=>{let e=new Set,t=!1;return lp(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,O.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,O.useEffect)(()=>{if(h.length===0&&!m.any)return;let n=u.current;u.current=r;for(let e of om({targets:d.current,values:n},{targets:f.current,values:r}))c.current.delete(e);d.current=f.current,c.current=cm(c.current,f.current);let a=new AbortController,s=window.setTimeout(()=>{$p(e,t,{_resolve:!0,...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=>pp(r,e))),e,t,m.any,i]),{nodes:a,markUserEdit:p}}function um(e){let t={labels:{},values:{}};return lp(e,e=>{e.name&&(e.label&&(t.labels[e.name]=e.label),e.value!==void 0&&(t.values[e.name]=e.value))}),t}function dm(e){let t={};for(let[n,r]of Object.entries(e??{}))t[n]=Array.isArray(r)?r[0]:r;return t}function fm(e,t){let n=(0,O.useRef)(e);n.current=e;let r=(0,O.useRef)(null),i=(0,O.useCallback)(()=>{r.current!==null&&(clearTimeout(r.current),r.current=null)},[]);return(0,O.useEffect)(()=>i,[i]),(0,O.useMemo)(()=>{let e=(...e)=>{i(),r.current=setTimeout(()=>{r.current=null,n.current(...e)},t)};return e.cancel=i,e},[i,t])}function pm(e,t,n){let[r,i]=(0,O.useState)(null);return(0,O.useEffect)(()=>{if(!n){i(null);return}let r=new AbortController;return Gf(e,{body:JSON.stringify({_form:!0}),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 mm(){return(0,Y.jsxs)(`div`,{className:`space-y-4`,"data-lattice-action-form-loading":!0,children:[(0,Y.jsx)(tp,{className:`h-4 w-24`}),(0,Y.jsx)(tp,{className:`h-10 w-full`}),(0,Y.jsx)(tp,{className:`h-10 w-full`})]})}function hm({cancelLabel:e,componentRef:t,endpoint:n,extraData:r,fieldLabels:i,formNode:a,method:o,onClose:s,onSuccess:c,precognitive:l,submitLabel:u}){let f=Up(),p=(0,O.useRef)(f);p.current=f;let h=(0,O.useRef)(r);h.current=r;let{nodes:_,markUserEdit:v}=lm(n,t,a.schema),y=g(),[b,x]=(0,O.useState)({}),[S,C]=(0,O.useState)(!1),w=(0,O.useCallback)(e=>Gf(n,{body:JSON.stringify({...p.current,...h.current}),method:o,ref:t,headers:e,throwOnError:!1}),[t,n,o]),T=(0,O.useCallback)(e=>{x(t=>t[e]===void 0?t:{...t,[e]:void 0})},[]),E=fm(e=>{w({Precognition:`true`,"Precognition-Validate-Only":e}).then(async t=>{if(t.status===422){let e=await t.json();x(t=>({...t,...dm(e.errors)}));return}T(e)}).catch(()=>{})},250),D=(0,O.useCallback)(e=>{l&&E(e)},[l,E]),k=(0,O.useCallback)(()=>{C(!0),w().then(async e=>{let t=await e.json().catch(()=>({}));if(y(m(t.effects)),e.status===422&&t.errors){x(dm(t.errors));return}e.ok&&c(t)}).catch(e=>d(e)).finally(()=>C(!1))},[y,c,w]);return(0,Y.jsx)(rp,{value:(0,O.useMemo)(()=>({action:n,clearErrors:T,componentRef:t,errors:b,fieldLabels:i,precognitive:l,processing:S,validate:D}),[T,t,n,b,i,l,S,D]),children:(0,Y.jsxs)(`form`,{className:`flex flex-col gap-6`,onSubmit:e=>{e.preventDefault(),k()},children:[(0,Y.jsx)(op,{value:{markUserEdit:v},children:(0,Y.jsx)(Ap,{nodes:_,children:(0,Y.jsx)(Tr,{nodes:a.schema??[]})})}),(0,Y.jsxs)(`div`,{className:`flex justify-end gap-3`,children:[(0,Y.jsx)($,{"data-test":`action-form-cancel`,disabled:S,onClick:s,type:`button`,variant:`ghost`,children:e}),(0,Y.jsxs)($,{"data-test":`action-form-submit`,disabled:S,type:`submit`,children:[S&&(0,Y.jsx)(Lf,{}),u]})]})]})})}function gm({formNode:e,...t}){let n=!!e.props?.precognitive,{labels:r,values:i}=(0,O.useMemo)(()=>{let{labels:t,values:n}=um(e.schema);return{labels:t,values:{...n,...e.props?.state}}},[e]);return(0,Y.jsx)(Vp,{initial:i,children:(0,Y.jsx)(hm,{fieldLabels:r,formNode:e,precognitive:n,...t})})}function _m({description:e,formNode:t,onClose:n,placement:r,title:i,width:a,...o}){let{t:s}=U(`lattice`);return(0,Y.jsx)(jf,{open:!0,onOpenChange:e=>{e||n()},children:(0,Y.jsxs)(Ff,{...e?{}:{"aria-describedby":void 0},placement:r,width:a,children:[(0,Y.jsx)(If,{closeLabel:s(`common.close`,`Close`),description:e,title:i}),(0,Y.jsx)(`div`,{className:`mt-6`,children:t?(0,Y.jsx)(gm,{formNode:t,onClose:n,...o}):(0,Y.jsx)(mm,{})})]})})}function vm(e){return e.props.label??bt(`lattice`,`common.action.run`,`Run action`)}function ym(e){let t=e.props.endpoint??``,n=e.props.ref??``,r=e.props.method??`post`,i=vm(e),a=e.props.variant??`default`,o=e.props.confirmation,s=e.props.form,c=e.props.lazyForm===!0,l=!!s||c,[u,d]=(0,O.useState)(!1),f=g(),[m,h]=(0,O.useState)(!1),[_,v]=(0,O.useState)(!1),y=pm(t,n,_&&c),b=c?y:s,x=async()=>{if(!t)return;if(r===`get`){p.visit(t,{headers:Pt(n)}),h(!1);return}d(!0);let e=await ep(()=>Gf(t,{method:r,ref:n,throwOnError:!1}),f);d(!1),e&&h(!1)},S=()=>{if(l){v(!0);return}if(o){h(!0);return}x()},C=o?.title??i,w=o?.confirmLabel??i,T=o?.cancelLabel??bt(`lattice`,`common.cancel`,`Cancel`);return{processing:u,requestSubmit:S,overlays:(0,Y.jsxs)(Y.Fragment,{children:[m&&o&&(0,Y.jsx)(Rf,{title:C,description:o.description??void 0,confirmLabel:w,cancelLabel:T,confirmVariant:a,processing:u,confirmDisabled:!t,onConfirm:()=>void x(),onCancel:()=>h(!1)}),_&&l&&(0,Y.jsx)(_m,{cancelLabel:T,componentRef:n,description:o?.description??void 0,endpoint:t,formNode:b,method:r,onClose:()=>v(!1),onSuccess:()=>{v(!1)},placement:e.props.modalSide??`center`,submitLabel:w,title:C,width:e.props.modalWidth??void 0})]})}}function bm({action:e,children:t}){let{processing:n,requestSubmit:r,overlays:i}=ym(e);return(0,Y.jsxs)(Y.Fragment,{children:[t({onClick:r,processing:n}),i]})}function xm({children:e}){return(0,Y.jsx)(ud,{render:e=>(0,Y.jsx)(bm,{action:e.action,children:e.children}),children:e})}function Sm(){let e=g();(0,O.useEffect)(()=>p.on(`flash`,t=>{let n=m(t.detail?.flash?.latticeEffects);n.length>0&&e(n)}),[e])}function Cm({onAppearanceChange:e,onLocaleChange:t,onToast:n}){return(0,O.useEffect)(()=>{if(n)return Pr(n)},[n]),xt(x.appearanceChange,t=>{let n=t.detail?.value;M(n)&&e?.(n)},{enabled:!!e}),xt(x.localeChange,e=>{let n=e.detail?.locale;typeof n==`string`&&n!==``&&t?.(n)},{enabled:!!t}),null}var wm={href:``};function Tm({children:e,registry:t,sprite:n=wm,toaster:r=!0}){return Sm(),(0,Y.jsx)(c.Provider,{value:t,children:(0,Y.jsx)(xm,{children:(0,Y.jsxs)(mr,{sprite:n,children:[e,(0,Y.jsx)(Cm,{onAppearanceChange:L}),r?(0,Y.jsx)(Ja,{}):null]})})})}var Em=(0,O.createContext)(!1),Dm=`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:opacity-50 [&_svg]:size-lt-icon-sm [&_svg]:text-lt-muted-fg`;function Om({children:e}){return(0,Y.jsx)(Em.Provider,{value:!0,children:e})}function km(){return(0,O.useContext)(Em)}var Am=({node:e})=>{let t=e.props.endpoint??``,n=e.props.icon,r=vm(e),i=km(),a=e.props.variant??`default`,{processing:o,requestSubmit:s,overlays:c}=ym(e),l=e.key??E(`action`,e.id);return(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsxs)($,{className:i?Dm:void 0,"data-lattice-component":e.id,"data-test":l,disabled:o||!t,onClick:s,type:`button`,variant:i?`ghost`:a,children:[o?(0,Y.jsx)(Lf,{className:i?`size-lt-icon-sm`:void 0}):n&&(0,Y.jsx)(_r,{className:i?`size-lt-icon-sm`:`size-lt-icon-md`,icon:n}),r]}),c]})};function jm(e){return(0,Y.jsx)(nd,{...e})}function Mm(e){return(0,Y.jsx)(rd,{...e})}function Nm({className:e,...t}){return(0,Y.jsx)(ad,{className:J(`grid min-w-40 gap-1 p-1`,e),role:`menu`,...t})}function Pm({children:e,className:t,destructive:n=!1,icon:r,...i}){return(0,Y.jsx)(id,{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 Fm=ie({components:{action:z(Am),"action.group":z(({children:e,node:t})=>{let{t:n}=U(`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)(jm,{children:[(0,Y.jsx)(Mm,{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":D(t),size:`icon`,type:`button`,variant:`ghost`,children:(0,Y.jsx)(X,{name:`more-horizontal`,"aria-hidden":`true`,className:`size-lt-icon-md`})})}),(0,Y.jsx)(Nm,{align:`end`,"aria-label":r,className:`min-w-44 gap-0.5 p-1.5`,sideOffset:8,children:(0,Y.jsx)(Om,{children:e})})]})})})},name:`lattice/action`});function Im(e){try{return JSON.parse(e)}catch{return null}}async function*Lm({url:e,body:t,signal:n}){let r=await Gf(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*zm(r.body)}function Rm(e){return async function*({url:t,body:n,signal:r}){let i=await Qf(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*zm(i.body)}}async function*zm(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=Im(e);t&&(yield t)}}if(r+=n.decode(),r.trim()!==``){let e=Im(r);e&&(yield e)}}finally{await t.cancel().catch(()=>{})}}var Bm=0;function Vm(){return Bm+=1,`chat-${Bm}`}function Hm(e){return e instanceof DOMException&&e.name===`AbortError`}function Um(e){return e instanceof Error?e.message:String(e)}function Wm(e){let t=e.at(-1);return t!==void 0&&t.role===`assistant`}function Gm(e,t){if(!Wm(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 Km({endpoint:e,transport:t=Lm,initialMessages:n=[],generateId:r=Vm}){let[i,a]=(0,O.useState)(n),[o,s]=(0,O.useState)(`idle`),[c,l]=(0,O.useState)(null),u=(0,O.useRef)(null),d=(0,O.useRef)(null),f=(0,O.useRef)(i);f.current=i;let p=(0,O.useCallback)(e=>{f.current=e,a(e)},[]),m=(0,O.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(Gm(f.current,n))}s(e=>e===`streaming`||e===`submitted`?`idle`:e)}catch(e){if(Hm(e)){s(`idle`);return}l(Um(e)),s(`error`)}},[p,e,r,t]),h=(0,O.useCallback)(e=>{let t=e.trim();t!==``&&(d.current=t,m(f.current,t))},[m]),g=(0,O.useCallback)(()=>{u.current?.abort(),s(`idle`)},[]),_=(0,O.useCallback)(()=>{let e=d.current;if(e===null)return;let t=f.current;m(Wm(t)?t.slice(0,-2):t,e)},[m]);return(0,O.useEffect)(()=>()=>{u.current?.abort()},[]),{messages:i,status:o,error:c,sendMessage:h,setMessages:p,stop:g,regenerate:_}}function qm({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":w(`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)(Er,{node:e},e.key??t))})})}function Jm({messages:e}){let t=(0,O.useRef)(null),n=e.at(-1),r=n?.parts.at(-1)===void 0?0:JSON.stringify(n.parts.at(-1)).length;return(0,O.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":w(`chat-messages`),children:[e.map(e=>(0,Y.jsx)(qm,{message:e},e.id)),(0,Y.jsx)(`div`,{ref:t})]})}function Ym({onSubmit:e,disabled:t=!1,placeholder:n}){let{t:r}=U(`lattice`),[i,a]=(0,O.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-1 focus:ring-lt-ring disabled:opacity-50`),"data-test":w(`chat-input`),disabled:t,onChange:e=>a(e.target.value),onKeyDown:s,placeholder:n,rows:1,value:i}),(0,Y.jsx)($,{"data-test":w(`chat-send`),disabled:t,onClick:o,size:`sm`,type:`button`,variant:`default`,children:r(`common.chat.send`,`Send`)})]})}var Xm=ie({name:`lattice/chat`,components:{"chat.box":z(({node:e})=>{let t=e.props,{t:n}=U(`lattice`),r=(0,O.useMemo)(()=>t.remote?Rm(t.remote):Lm,[t.remote]),{messages:i,status:a,error:o,sendMessage:s,setMessages:c}=Km({endpoint:t.streamEndpoint??``,transport:r}),l=(0,O.useRef)(!1),u=(0,O.useCallback)(async()=>{if(l.current||!t.historyEndpoint)return;if(l.current=!0,t.remote){c((await $f(t.historyEndpoint,{remote:t.remote})).messages);return}let e=await Gf(t.historyEndpoint,{throwOnError:!1});e.ok&&c((await e.json()).messages)},[t.historyEndpoint,t.remote,c]);(0,O.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":w(`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)(Jm,{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)(Ym,{disabled:d,onSubmit:s,placeholder:t.placeholder??void 0})]})}),"chat.part.text":z(({node:e})=>(0,Y.jsx)(`div`,{className:`whitespace-pre-wrap text-sm`,children:e.props.text})),"chat.part.tool-call":z(({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":w(`chat-tool-call`),children:[`🔧 `,e.props.name,`(`,JSON.stringify(e.props.args),`)`]}))}}),Zm={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 Qm(e){return e.trim().split(/\s+/).slice(0,2).map(e=>e.charAt(0).toUpperCase()).join(``)}function $m(){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 eh=({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`,Zm[r]),children:t?(0,Y.jsx)(`img`,{src:t,alt:i??``,className:`size-full object-cover`}):n?Qm(n):(0,Y.jsx)($m,{})})},th=zd(`inline-flex items-center justify-center rounded-lt-sm border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-lt-icon-xs gap-1 [&>svg]:pointer-events-none focus-visible:border-lt-ring focus-visible:ring-lt-ring/50 focus-visible:ring-[3px] aria-invalid:ring-lt-danger/20 dark:aria-invalid:ring-lt-danger/40 aria-invalid:border-lt-danger transition-[color,box-shadow] overflow-hidden`,{variants:{variant:{default:`border-transparent bg-lt-primary text-lt-primary-fg [a&]:hover:bg-lt-primary-hover`,secondary:`border-transparent bg-lt-secondary text-lt-secondary-fg [a&]:hover:bg-lt-secondary-hover`,destructive:`border-transparent bg-lt-danger text-lt-danger-fg [a&]:hover:bg-lt-danger-hover focus-visible:ring-lt-danger/20 dark:focus-visible:ring-lt-danger/40 dark:bg-lt-danger/60`,outline:`border-lt-border text-lt-fg [a&]:hover:bg-lt-accent [a&]:hover:text-lt-accent-fg`}},defaultVariants:{variant:`default`}});function nh({className:e,variant:t,asChild:n=!1,...r}){return(0,Y.jsx)(n?Wr:`span`,{"data-slot":`badge`,className:J(th({variant:t}),e),...r})}var rh=({node:e})=>(0,Y.jsx)(nh,{variant:`secondary`,className:`w-fit px-3 py-1`,children:e.props.label});function ih({content:e}){let{t}=U(`lattice`);return e?(0,Y.jsxs)(nd,{children:[(0,Y.jsx)(rd,{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-[3px]`,children:(0,Y.jsx)(X,{name:`info`,className:`size-lt-icon-sm`})}),(0,Y.jsx)(ad,{align:`start`,className:`max-w-xs p-3 text-sm [&_a]:underline`,dangerouslySetInnerHTML:{__html:e}})]}):null}function ah({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 oh({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 sh({className:e,...t}){return(0,Y.jsx)(`div`,{"data-slot":`card-title`,className:J(`font-semibold leading-none`,e),...t})}function ch({className:e,...t}){return(0,Y.jsx)(`div`,{"data-slot":`card-description`,className:J(`text-sm text-lt-muted-fg`,e),...t})}function lh({className:e,...t}){return(0,Y.jsx)(`div`,{"data-slot":`card-content`,className:J(`px-lt-gutter`,e),...t})}var uh=({children:e,node:t})=>{let{title:n,description:r,tooltip:i}=t.props;return(0,Y.jsxs)(ah,{"data-lattice-component":D(t),children:[(n||r)&&(0,Y.jsxs)(oh,{children:[n&&(0,Y.jsxs)(`div`,{className:`flex items-center`,children:[(0,Y.jsx)(sh,{children:n}),(0,Y.jsx)(ih,{content:i})]}),r&&(0,Y.jsxs)(`div`,{className:`flex items-center`,children:[(0,Y.jsx)(ch,{children:r}),!n&&(0,Y.jsx)(ih,{content:i})]})]}),e&&(0,Y.jsx)(lh,{className:`flex flex-col gap-6`,children:e})]})},dh=(0,O.lazy)(()=>u(()=>import(`./chunks/chart-view-DEwGTt9d.js`),__vite__mapDeps([6,1,7,3,8,4]),import.meta.url)),fh=({children:e,node:t})=>(0,Y.jsx)(O.Suspense,{fallback:null,children:(0,Y.jsx)(dh,{node:t,children:e})}),ph=({children:e,node:t})=>{let n=t.props.rememberState!==!1,r=yr(t.props.trigger),i=D(t),a=`lattice:collapsible:${i??`default`}`,o=`${i??`collapsible`}-content`,[s,c]=Td(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":E(`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)(Tr,{nodes:r}),t.props.tooltip&&(0,Y.jsx)(`span`,{role:`presentation`,onClick:e=>e.stopPropagation(),onKeyDown:e=>e.stopPropagation(),children:(0,Y.jsx)(ih,{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 hh=({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,O.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":D(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":D(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)(Er,{node:e},e.key??`${e.type}-${t}`))}),(0,Y.jsx)(`div`,{className:o?`block`:`hidden`,children:e})]})})},gh={lg:320,md:64,sm:40,xl:384,xs:32,"2xl":448,"3xl":512,"4xl":576},_h=({node:e})=>{let t=e.props.endpoint??``,n=e.props.lazy===!0,r=e.props.ref??``,i=gh[e.props.size],[a,o]=(0,O.useState)(()=>e.schema??[]),[s,c]=(0,O.useState)(!n),[l,u]=(0,O.useState)(n&&t!==``),d=(0,O.useCallback)(async()=>{if(t){u(!0);try{o(yr((await Kf(t,{ref:r})).schema)),c(!0)}finally{u(!1)}}},[t,r]);return(0,O.useEffect)(()=>{!n||s||d()},[s,n,d]),(0,O.useEffect)(()=>{function t(t){t.detail?.component===e.id&&d()}return window.addEventListener(x.reloadComponent,t),()=>window.removeEventListener(x.reloadComponent,t)},[d,e.id]),(0,O.useEffect)(()=>{function e(){s&&d()}return window.addEventListener(x.localeChange,e),()=>window.removeEventListener(x.localeChange,e)},[s,d]),(0,Y.jsx)(`div`,{"data-lattice-fragment":e.id,style:l&&a.length===0?{minHeight:i}:void 0,children:l&&a.length===0?(0,Y.jsx)(tp,{className:`w-full`,style:{height:i}}):(0,Y.jsx)(Tr,{nodes:a})})},vh=({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":D(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 yh(e){if(!navigator?.clipboard)return!1;try{return await navigator.clipboard.writeText(e),!0}catch{return!1}}function bh({value:e,label:t,testId:n,className:r}){let{t:i}=U(`lattice`),[a,o]=(0,O.useState)(!1);(0,O.useEffect)(()=>{if(!a)return;let e=window.setTimeout(()=>o(!1),1500);return()=>window.clearTimeout(e)},[a]);function s(){yh(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 xh({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)(bh,{value:e,label:t,testId:n})]})}var Sh=({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)(ih,{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)(xh,{value:t,label:t,children:o}):o},Ch=new Set([`default`,`muted`,`primary`,`success`,`info`,`warning`,`danger`,`gray`,`red`,`orange`,`yellow`,`green`,`blue`,`purple`]);function wh(e){return{kind:`named`,value:e,dark:null}}function Th(e){if(typeof e==`string`&&e!==``)return Ch.has(e)?wh(e):{kind:`css`,value:e,dark:null};if(typeof e==`object`&&e&&`kind`in e&&`value`in e)return e}function Eh(e){return e.kind===`named`?`var(--lt-color-${e.value})`:e.dark===null?e.value:`light-dark(${e.value}, ${e.dark})`}function Dh(e){if(e.kind===`named`)return{className:`lt-tone-${e.value}`};let t=Eh(e);return{style:{"--lt-tone-bg":`color-mix(in oklab, ${t} 12%, transparent)`,"--lt-tone-fg":t}}}var Oh={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`},kh=({node:e})=>{let{name:t,size:n,color:r,class:i}=e.props,a=(0,Y.jsx)(_r,{icon:t,className:J(Oh[n],i)}),o=Th(r);return o?(0,Y.jsx)(`span`,{className:`contents`,style:{color:Eh(o)},children:a}):a};function Ah({src:e,alt:t,previewable:n,width:r,height:i,className:a,testId:o}){let{t:s}=U(`lattice`),[c,l]=(0,O.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)(jf,{open:c,onOpenChange:l,children:(0,Y.jsxs)(Ff,{"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)(Nf,{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)(Mf,{asChild:!0,children:(0,Y.jsx)($,{icon:`x`,"aria-label":s(`common.close`,`Close`),"data-test":`lightbox-close`,size:`icon`,variant:`ghost`,className:`absolute top-2 right-2 bg-lt-bg/80 hover:bg-lt-bg`})})]})})]})}var jh=({node:e})=>{let{src:t,alt:n,size:r,circular:i,previewable:a}=e.props;return(0,Y.jsx)(Ah,{alt:n??``,className:J(`object-cover`,i?`rounded-full`:`rounded-lt-sm`),height:r??void 0,previewable:a,src:t,testId:D(e),width:r??void 0})},Mh=`text-lt-fg underline decoration-lt-border underline-offset-4 transition-colors duration-300 ease-out hover:decoration-current! dark:decoration-lt-border`;function Nh({className:e=``,children:t,...n}){return(0,Y.jsx)(_,{className:J(Mh,e),...n,children:t})}function Ph({affix:e,className:t}){return e.icon?(0,Y.jsx)(_r,{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 Fh({icon:e,isMenuItem:t,label:n,prefix:r,suffix:i}){return e?(0,Y.jsx)(_r,{className:`size-lt-icon-md shrink-0`,icon:e}):t?(0,Y.jsxs)(Y.Fragment,{children:[r?(0,Y.jsx)(Ph,{affix:r}):null,(0,Y.jsx)(`span`,{children:n}),i?(0,Y.jsx)(Ph,{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)(Ph,{affix:r}):null,(0,Y.jsx)(`span`,{children:n}),i?(0,Y.jsx)(Ph,{affix:i}):null]}):n}function Ih(e,t,n){if(!(!t?.text&&!n?.text))return[t?.text,e,n?.text].filter(e=>!!e).join(` `)}var Lh=({node:e})=>{let t=km(),{icon:n,label:r,prefix:i,suffix:a}=e.props,o=r??``,s=pd(e.props),c=t?Dm:void 0,l=D(e),u=(0,Y.jsx)(Fh,{icon:n,isMenuItem:t,label:o,prefix:i,suffix:a}),d=n?o:Ih(o,i,a),f=({onClick:e,processing:t})=>(0,Y.jsx)(`button`,{"aria-label":d,className:J(Mh,c),"data-test":l,disabled:t,onClick:e,type:`button`,children:u});return s.kind===`action`?(0,Y.jsx)(fd,{action:s.action,children:f}):s.kind===`effects`?f({onClick:s.onClick,processing:!1}):(0,Y.jsx)(Nh,{"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 Rh(e,t){let n=e.detail?.modal;return n==null||n===t}var zh=({children:e,node:t})=>{let{t:n}=U(`lattice`),r=t.props.title??n(`common.dialog`,`Dialog`),i=t.props.description,a=t.props.closeLabel,[o,s]=(0,O.useState)(t.props.open===!0),c=(0,O.useRef)(null),l=(0,O.useRef)(o);return(0,O.useEffect)(()=>{t.props.open===!0&&s(!0)},[t.props.open]),(0,O.useEffect)(()=>{function e(e){t.id&&Rh(e,t.id)&&(c.current=document.activeElement instanceof HTMLElement?document.activeElement:null,s(!0))}function n(e){(!t.id||Rh(e,t.id))&&s(!1)}return window.addEventListener(x.openModal,e),window.addEventListener(x.closeModal,n),()=>{window.removeEventListener(x.openModal,e),window.removeEventListener(x.closeModal,n)}},[t.id]),(0,O.useEffect)(()=>{if(l.current&&!o){let e=c.current;e&&requestAnimationFrame(()=>e.focus())}l.current=o},[o]),(0,Y.jsx)(jf,{open:o,onOpenChange:s,children:(0,Y.jsxs)(Ff,{...i?{}:{"aria-describedby":void 0},placement:t.props.side??`center`,width:t.props.width,children:[(0,Y.jsx)(If,{closeLabel:a,description:i,title:r}),(0,Y.jsx)(`div`,{className:`mt-6 space-y-6`,children:e})]})})},Bh={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`},Vh={xs:24,sm:32,md:40,lg:48,xl:64,"2xl":80,"3xl":96,"4xl":128},Hh={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`},Uh=({node:e})=>{let{value:t,max:n,variant:r,showValue:i,color:a,size:o}=e.props,{locale:s}=v(),c=Eh(Th(a)??wh(`primary`)),l=n>0?Math.min(Math.max(t,0),n):0,u=n>0?l/n:0,d=new Intl.NumberFormat(s,{maximumFractionDigits:0,style:`percent`}).format(u),f={"aria-valuemax":n,"aria-valuemin":0,"aria-valuenow":l,"aria-valuetext":d,role:`progressbar`};if(r===`circle`){let e=Vh[o],t=Math.max(3,e/10),n=(e-t)/2,r=2*Math.PI*n;return(0,Y.jsxs)(`div`,{...f,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-u),strokeLinecap:`round`,strokeWidth:t,style:{color:c}})]}),i&&(0,Y.jsx)(`span`,{className:J(`absolute inset-0 flex items-center justify-center font-medium text-lt-fg tabular-nums`,Hh[o]),children:d})]})}return(0,Y.jsxs)(`div`,{className:`flex w-full items-center gap-2`,"data-lattice-progress":`bar`,children:[(0,Y.jsx)(`div`,{...f,className:J(`w-full overflow-hidden rounded-full bg-lt-muted`,Bh[o]),children:(0,Y.jsx)(`div`,{className:`h-full rounded-full`,style:{background:c,width:`${u*100}%`}})}),i&&(0,Y.jsx)(`span`,{className:`shrink-0 text-lt-muted-fg text-sm tabular-nums`,children:d})]})},Wh=({node:e})=>(0,Y.jsx)(`span`,{style:{display:`contents`},dangerouslySetInnerHTML:{__html:e.props.html}}),Gh=({children:e,node:t})=>{let{title:n,description:r,tooltip:i}=t.props,a=t.props.collapsible===!0,o=t.props.rememberState!==!1,s=yr(t.props.headerActions),c=D(t),[l,u]=Td(`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":E(`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)(ih,{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)(ih,{content:i})]})]})]}),s.length>0&&(0,Y.jsx)(`div`,{className:`flex shrink-0 items-center gap-2`,children:(0,Y.jsx)(Tr,{nodes:s})})]}),!d&&e&&(0,Y.jsx)(`div`,{className:`flex flex-col gap-6 px-lt-gutter`,children:e})]})};function Kh(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 qh({ariaLabel:e,autoFocus:t=!1,disabled:n=!1,name:r,onSelect:i,options:a,tabIndex:o,value:s}){let c=(0,O.useRef)(null);return(0,O.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(Kh(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 Jh=({node:e})=>{let{options:t,name:n,emits:r}=e.props,[i,a]=(0,O.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)(qh,{ariaLabel:e.props.label??void 0,name:n,onSelect:o,options:t,value:i})},Yh=({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`)})},Xh={center:`justify-items-center text-center`,start:`justify-items-start text-left`,stretch:`justify-items-stretch`},Zh={center:`items-center text-center`,start:`items-center text-left`,stretch:`items-stretch justify-stretch`},Qh={none:`gap-0`,xs:`gap-1`,lg:`gap-6`,md:`gap-4`,sm:`gap-2`,xl:`gap-8`},$h={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`},eg={around:`justify-around`,between:`justify-between`,center:`justify-center`,end:`justify-end`,evenly:`justify-evenly`,start:`justify-start`},tg={full:`h-full`,screen:`min-h-screen`},ng={end:`ml-auto`,start:`mr-auto`},rg=({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":D(t),className:J(l?J(`flex`,r===`row`?`flex-wrap`:`flex-col`):`grid content-start`,l?Zh[n]??Zh.stretch:Xh[n]??Xh.stretch,Qh[i]??Qh.md,$h[a]??$h.full,o?eg[o]:null,s?tg[s]:null,c?ng[c]:null),children:e})},ig=(0,O.createContext)(null);function ag(){return(0,O.useContext)(ig)||{activeValue:``,setActiveValue:()=>{}}}function og(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 sg(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 cg(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 lg(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 ug=({children:e,node:t})=>{let{t:n}=U(`lattice`),r=(0,O.useMemo)(()=>og(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,O.useRef)(null),[m,h]=(0,O.useState)(()=>u||(sg(a,r)??d)||i),g=(0,O.useCallback)(e=>{if(e.confirm?.required){p.visit(lg(a,e.value),{preserveScroll:!0});return}h(e.value),cg(a,e.value)},[a]),_=(0,O.useCallback)(e=>{let t=r.find(t=>t.value===e);t&&g(t)},[g,r]),v=(0,O.useMemo)(()=>({activeValue:m,setActiveValue:_}),[m,_]);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)(ig.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=m===e.value;return(0,Y.jsx)(`button`,{"aria-controls":`${e.value}-panel`,"aria-selected":t,"data-test":`tab-${e.value}`,className:J(Kh(t),s&&`text-left`,l&&`flex-1`),id:`${e.value}-tab`,onClick:()=>g(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})]})})},dg=({children:e,node:t})=>{let{activeValue:n}=ag(),r=t.props.value,i=n===r,[a,o]=(0,O.useState)(i);return(0,O.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})},fg={center:`text-center`,left:`text-left`},pg={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`},mg=({node:e})=>{let t=e.props.align??`left`,n=Eh(Th(e.props.color)??wh(`muted`)),r=(0,Y.jsx)(`p`,{className:J(`m-0`,`max-w-2xl`,fg[t]??fg.left,pg[e.props.size]),style:{color:n},children:e.props.text});return e.props.copyable?(0,Y.jsx)(xh,{value:e.props.text,label:e.props.text,children:r}):r},hg=({node:e})=>{let t=e.props.content,n=yr(e.props.trigger);return t?n.length===0?(0,Y.jsx)(ih,{content:t}):(0,Y.jsxs)(nd,{children:[(0,Y.jsx)(rd,{type:`button`,className:`inline-flex items-center rounded-lt-sm outline-none focus-visible:ring-lt-ring/50 focus-visible:ring-[3px]`,children:(0,Y.jsx)(Tr,{nodes:n})}),(0,Y.jsx)(ad,{align:`start`,className:`max-w-xs p-3 text-sm [&_a]:underline`,dangerouslySetInnerHTML:{__html:t}})]}):null},gg={activate:()=>{},activeId:null,expanded:new Set,focus:()=>{},focusedId:null,moveFocus:()=>{},register:()=>{},toggle:()=>{},typeAhead:()=>{},unregister:()=>{}},_g=(0,O.createContext)(gg);function vg(){return(0,O.useContext)(_g)}function yg(e){let t=JSON.parse(e);if(!Array.isArray(t))throw Error(`expected an array of ids`);return new Set(t.filter(e=>typeof e==`string`))}function bg(e){return[...e.values()].sort((e,t)=>e.orderPath.localeCompare(t.orderPath))}var xg=800;function Sg({activeId:e,defaultExpanded:t,nodes:n,rememberState:r,storageKey:i}){let[a,o]=wd(i,()=>new Set(t),{enabled:r,parse:yg,serialize:e=>JSON.stringify([...e])}),[s,c]=(0,O.useState)(e),[l,u]=(0,O.useState)(()=>n[0]?.id??null),d=(0,O.useRef)(new Map),f=(0,O.useRef)({text:``,timestamp:0}),p=(0,O.useCallback)(e=>{o(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},[o]),m=(0,O.useCallback)(e=>c(e),[]),h=(0,O.useCallback)(e=>{u(e),[...d.current.values()].find(t=>t.id===e)?.ref.current?.focus()},[]),g=(0,O.useCallback)(e=>{d.current.set(e.path,e)},[]),_=(0,O.useCallback)(e=>{d.current.delete(e)},[]),v=(0,O.useCallback)((e,t)=>{let n=bg(d.current);if(n.length===0)return;let r=n.findIndex(t=>t.id===e),i=r===-1?void 0:n[r],a;switch(t){case`next`:a=r===-1?void 0:n[r+1];break;case`prev`:a=r===-1?void 0:n[r-1];break;case`first`:a=n[0];break;case`last`:a=n[n.length-1];break;case`parent`:a=i?n.find(e=>e.path===i.parentPath):void 0;break;case`firstChild`:a=i?n.find(e=>e.parentPath===i.path):void 0;break}a&&h(a.id)},[h]),y=(0,O.useCallback)((e,t)=>{let n=bg(d.current);if(n.length===0)return;let r=Date.now(),i=f.current,a=r-i.timestamp>xg?t:i.text+t;f.current={text:a,timestamp:r};let o=a.toLowerCase(),s=n.findIndex(t=>t.id===e),c=s===-1?0:s;for(let e=1;e<=n.length;e++){let t=n[(c+e)%n.length];if(t.label.toLowerCase().startsWith(o)){h(t.id);return}}},[h]);return(0,O.useMemo)(()=>({activate:m,activeId:s,expanded:a,focus:h,focusedId:l,moveFocus:v,register:g,toggle:p,typeAhead:y,unregister:_}),[m,s,a,h,l,v,g,p,y,_])}function Cg(e){return!!e.children?.length||e.hasChildren===!0}var wg=6;function Tg(e){return String(e).padStart(wg,`0`)}function Eg({depth:e,node:t,orderPath:n,parentPath:r,siblingCount:i,siblingIndex:a}){let{activate:o,activeId:s,expanded:c,focusedId:l,moveFocus:u,register:d,toggle:f,typeAhead:m,unregister:h}=vg(),{t:g}=U(`lattice`),_=(0,O.useRef)(null),v=r?`${r}/${t.id}`:t.id,y=c.has(t.id),b=s===t.id,x=l===t.id,S=t.disabled===!0,C=Cg(t),w=(0,O.useRef)(null);(0,O.useEffect)(()=>(d({id:t.id,label:t.label,orderPath:n,parentPath:r,path:v,ref:_}),()=>h(v)),[t.id,t.label,n,r,v,d,h]),(0,O.useEffect)(()=>{let e=w.current;e&&e.querySelectorAll(`button, a[href], [tabindex]`).forEach(e=>{e.tabIndex=-1})},[t.actions]);function T(e){if(e.target===e.currentTarget)switch(e.key){case`ArrowDown`:e.preventDefault(),u(t.id,`next`);return;case`ArrowUp`:e.preventDefault(),u(t.id,`prev`);return;case`ArrowRight`:e.preventDefault(),C&&!y?f(t.id):C&&u(t.id,`firstChild`);return;case`ArrowLeft`:e.preventDefault(),C&&y?f(t.id):u(t.id,`parent`);return;case`Home`:e.preventDefault(),u(t.id,`first`);return;case`End`:e.preventDefault(),u(t.id,`last`);return;case`Enter`:case` `:if(e.preventDefault(),S)return;t.href?p.visit(t.href):t.actions?(w.current?.querySelector(`button`)?.click(),_.current?.focus()):o(t.id);return;default:e.key.length===1&&!e.ctrlKey&&!e.metaKey&&!e.altKey&&m(t.id,e.key)}}return(0,Y.jsxs)(`li`,{"aria-disabled":S,"aria-expanded":C?y:void 0,"aria-level":e,"aria-posinset":a,"aria-selected":b,"aria-setsize":i,"data-test":`tree-node-${t.id}`,onKeyDown:T,ref:_,role:`treeitem`,tabIndex:x?0:-1,children:[(0,Y.jsxs)(`div`,{className:J(`flex items-center gap-2 rounded-lt-sm px-2 py-1.5 text-sm text-lt-fg`,b&&`bg-lt-muted font-medium`,S&&`pointer-events-none opacity-50`),children:[C?(0,Y.jsx)(`button`,{"aria-label":y?g(`common.tree.collapse`,`Collapse {{label}}`,{label:t.label}):g(`common.tree.expand`,`Expand {{label}}`,{label:t.label}),"data-test":`tree-node-${t.id}-toggle`,onClick:()=>f(t.id),tabIndex:-1,type:`button`,children:(0,Y.jsx)(X,{className:J(`size-lt-icon-md shrink-0 transition-transform`,y&&`rotate-90`),name:`chevron-right`})}):null,t.icon?(0,Y.jsx)(_r,{className:`size-lt-icon-md shrink-0`,icon:t.icon}):null,t.href&&!S?(0,Y.jsx)(Nh,{href:t.href,tabIndex:-1,children:t.label}):(0,Y.jsx)(`span`,{children:t.label}),t.badge?(0,Y.jsx)(nh,{variant:`secondary`,children:t.badge}):null,t.actions?(0,Y.jsx)(`span`,{className:`ml-auto`,ref:w,children:(0,Y.jsx)(Tr,{nodes:[t.actions]})}):null]}),C&&y&&t.children&&t.children.length>0?(0,Y.jsx)(`ul`,{className:`pl-6`,role:`group`,children:t.children.map((r,i)=>(0,Y.jsx)(Eg,{depth:e+1,node:r,orderPath:`${n}.${Tg(i)}`,parentPath:v,siblingCount:t.children?.length??1,siblingIndex:i+1},r.id))}):null]})}var Dg=ie({components:{avatar:z(eh),badge:z(rh),button:z(Vd),card:z(uh),chart:z(fh),collapsible:z(ph),"floating-panel":z(hh),fragment:z(_h),grid:z(vh),heading:z(Sh),icon:z(kh),image:z(jh),link:z(Lh),modal:z(zh),progress:z(Uh),"raw-block":z(Wh),section:z(Gh),"segmented-control":z(Jh),separator:z(Yh),stack:z(rg),tab:z(dg),tabs:z(ug),text:z(mg),tooltip:z(hg),tree:z(({node:e})=>{let t=D(e),n=Sg({activeId:e.props.activeId,defaultExpanded:e.props.defaultExpanded,nodes:e.props.nodes,rememberState:e.props.rememberState,storageKey:`lattice:tree:${t??`default`}`});return(0,Y.jsx)(_g.Provider,{value:n,children:(0,Y.jsx)(`ul`,{"data-lattice-component":t,role:`tree`,children:e.props.nodes.map((t,n)=>(0,Y.jsx)(Eg,{depth:1,node:t,orderPath:Tg(n),parentPath:null,siblingCount:e.props.nodes.length,siblingIndex:n+1},t.id))})})})},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=O.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]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50`,e),...t})}function Ng({children:e,error:t,helperText:n,label:r,labelAction:i,name:a,required:o,tooltip:s}){return Qp()?(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)(ih,{content:s}),i&&(0,Y.jsx)(Nh,{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=Op(),n=cp(e),r=Gp((0,O.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)(jm,{children:[(0,Y.jsx)(Mm,{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)(Nm,{align:`start`,className:`min-w-[12rem]`,children:t.map(e=>(0,Y.jsx)(Pm,{"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,destructive:!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,destructive:e.destructive,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,destructive:e.destructive,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}=U(`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.destructive),onClick:t.onClick,children:(0,Y.jsx)(X,{name:t.icon})})}return(0,Y.jsxs)(jm,{children:[(0,Y.jsx)(Mm,{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)(Nm,{align:`end`,className:`min-w-[10rem]`,children:e.map(e=>(0,Y.jsx)(Pm,{"data-test":`row-action-${e.key}`,destructive:e.destructive,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:fp(dp(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,O.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}=U(`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)(Dp,{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)(Er,{node:e},br(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,O.useMemo)(()=>t.map(e=>e.key),[t]),[c,l]=(0,O.useState)(()=>f_(a,t)),u=(0,O.useRef)(c),d=(0,O.useRef)(null),f=(0,O.useRef)(null),p=(0,O.useCallback)(e=>c_({columns:t,leadingTracks:r,trailingTracks:o,overrides:n?e:{}}),[t,n,r,o]),m=(0,O.useMemo)(()=>p(c),[c,p]),h=(0,O.useCallback)(e=>{let t=f.current;t&&(t.style.gridTemplateColumns=e,t.style.setProperty(`--lattice-table-columns`,e))},[]),g=(0,O.useCallback)(e=>{u.current=e,l(e),p_(a,s,e),h(p(e))},[h,s,a,p]),_=(0,O.useCallback)((e,t,n,r)=>({...e,[t.key]:Math.min(r??s_(t),Math.max(a_(t),n))}),[]),v=(0,O.useCallback)((e,t,n)=>{g(_(u.current,e,t,n))},[g,_]),y=(0,O.useCallback)(e=>{let t={...u.current};delete t[e.key],g(t)},[g]),b=(0,O.useCallback)(()=>{g({})},[g]),x=n&&Object.values(c).some(e=>typeof e==`number`),S=(0,O.useCallback)(e=>u.current[e.key]??o_(e),[]);return{getResizeHandleProps:(0,O.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 Cd(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,O.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:_}=U(`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)(Dp,{base:e,index:t,row:n,onChange:(e,n)=>f(t,e,n),children:(0,Y.jsx)(Zp,{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)(Er,{node:e},br(e,t)))}):r.map((e,t)=>(0,Y.jsx)(`div`,{children:(0,Y.jsx)(Er,{node:e})},br(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}=U(`lattice`),m=w_(),h=(0,O.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,O.useRef)(new Map),n=(0,O.useRef)(new Map),r=(0,O.useCallback)((e,n)=>{n?t.current.set(e,n):t.current.delete(e)},[]);return(0,O.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=Op(),r=n?n.errorKey(e):e,i=Kp(),a=Wp(r),o=Array.isArray(a)?a:yp(a,t),s=vp(o);(0,O.useLayoutEffect)(()=>{s!==o&&i(r,s)},[o,s,i,r]);let c=(0,O.useCallback)(e=>{i(r,n=>e(Array.isArray(n)?n:yp(n,t)))},[i,r,t]);return{path:r,rows:s,onField:(0,O.useCallback)((e,t,n)=>c(r=>r.map((r,i)=>i===e?{...r,[t]:n}:r)),[c]),onRemove:(0,O.useCallback)(e=>c(t=>bp(t,e)),[c]),onMove:(0,O.useCallback)((e,t)=>c(n=>Sp(n,e,e+t)),[c]),onDuplicate:(0,O.useCallback)(e=>c(t=>xp(t,e)),[c]),append:(0,O.useCallback)(e=>c(t=>[...t,_p(e)]),[c])}}var M_=[],N_=({node:e})=>{let t=e.props,n=t.name,r=em(e)??[],{errors:i}=ip(),{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}=U(`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:gp}),(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=O.useRef({value:e,previous:e});return O.useMemo(()=>(t.current.value!==e&&(t.current.previous=t.current.value,t.current.value=e),t.current.previous),[e])}var F_=`Checkbox`,[I_,L_]=Vr(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]=Mi({prop:n,defaultProp:i??!1,onChange:c,caller:F_}),[m,h]=O.useState(null),[g,_]=O.useState(null),v=O.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_=O.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=zr(i,u),g=O.useRef(c);return O.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_=O.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_=O.forwardRef((e,t)=>{let{__scopeCheckbox:n,forceMount:r,...i}=e,a=z_(W_,n);return(0,Y.jsx)(Ti,{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_=O.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=zr(n,p),h=P_(a),g=Lc(r);O.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 _=O.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-[3px] disabled:cursor-not-allowed disabled:opacity-50`,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=Op(),r=Wp(e),i=n?n.getValue(e):r,a=Kp();(0,O.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=Op(),{fieldIdPrefix:o}=ip(),s=Q_(a?a.scopedName(i):i,o),c=Wp(i),l=a?a.getValue(i):c,{commit:u}=Yp(),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":w(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}=ip(),r=Op(),i=Kg(e),a=cp(e),o=a.name??``,s=Wp(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}=Yp(),g=e=>p(o,e),_=e=>m(o,e),v=()=>h(o);return{...i,localName:o,name:d,testId:w(o),value:u,error:t[f],commit:g,change:_,blur:v}}var nv=({node:e})=>{let t=jp(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,O.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)(qh,{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,O.useRef)(e),n=(0,O.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=O.memo(function(e){var t=e.onMove,n=e.onKey,r=e.onEnd,i=iv(e,[`onMove`,`onKey`,`onEnd`]),a=(0,O.useRef)(null),o=av(t),s=av(n),c=av(r),l=(0,O.useRef)(null),u=(0,O.useRef)(!1),d=(0,O.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,O.useEffect)(function(){return h},[h]),O.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 O.createElement(`div`,{className:a,style:{top:100*i+`%`,left:100*n+`%`}},O.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=O.memo(function(e){var t=e.hue,n=e.onChange,r=e.onChangeEnd,i=fv([`react-colorful__hue`,e.className]);return O.createElement(`div`,{className:i},O.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`},O.createElement(pv,{className:`react-colorful__hue-pointer`,left:t/360,color:yv({h:t,s:100,v:100,a:1})})))}),Tv=O.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 O.createElement(`div`,{className:`react-colorful__saturation`,style:i},O.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)+`%`},O.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,O.useState)(function(){return e.toHsva(t)}),s=o[0],c=o[1],l=(0,O.useRef)({color:t,hsva:s}),u=(0,O.useRef)(!1);return(0,O.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,O.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,O.useCallback)(function(e){c(function(t){return Object.assign({},t,e)})},[]),(0,O.useCallback)(function(){u.current&&(u.current=!1,a(l.current.color))},[a])]}var kv,Av=typeof window<`u`?O.useLayoutEffect:O.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,O.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 O.createElement(`div`,rv({},s,{ref:c,className:p}),O.createElement(Tv,{hsva:u,onChange:d,onChangeEnd:f}),O.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 O.createElement(Pv,rv({},e,{colorModel:Fv}))},Lv=`focus-visible:border-lt-ring focus-visible:ring-lt-ring/50 focus-visible:ring-[3px]`,Rv=zd([`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,O.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:cp(e).helperText??void 0,tooltip:cp(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)(nd,{children:[(0,Y.jsx)(`input`,{name:e,type:`hidden`,value:o??``}),(0,Y.jsx)(rd,{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)(ad,{className:`p-3`,children:(0,Y.jsx)(Vv,{onChange:e=>a(e),palette:t.palette,value:o??`#6b7280`})})]})}})},Wv=(0,O.lazy)(async()=>{let{DatePickerField:e}=await u(async()=>{let{DatePickerField:e}=await import(`./chunks/date-picker-field-CCQ9nWx0.js`);return{DatePickerField:e}},__vite__mapDeps([9,1,3,4]),import.meta.url);return{default:e}});function Gv(e){return(0,Y.jsx)(O.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}=Va();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=zd(J(`relative inline-flex shrink-0 items-center justify-center rounded-lt-sm transition-colors`,`outline-none focus-visible:ring-2 focus-visible:ring-lt-ring/50`,`disabled:pointer-events-none disabled:opacity-50`),{variants:{variant:{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:{variant:`ghost`,size:`sm`}});function Yv({icon:e,label:t,active:n,size:r,variant: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({variant: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}=U(`lattice`),n=e.props,{hidden:r,required:i,readOnly:a,disabled:o}=Kg(e),{action:s,componentRef:c,errors:l}=ip(),u=n.name,d=Op(),f=d?d.scopedName(u):u,p=d?d.errorKey(u):u,m=p,h=Up(),g=Kp(),_=(0,O.useId)(),v=(0,O.useRef)(null),y=(0,O.useRef)(new Set),b=a||o,x=n.signed,S=n.multiple,C=S?`${f}[]`:f,[T,E]=(0,O.useState)((0,O.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,k]=(0,O.useState)([]);(0,O.useEffect)(()=>{if(!x)return;let e=T.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)},[T,S,u,d,g,x]),(0,O.useEffect)(()=>{!x||d||g(`${u}__removed`,D)},[u,D,d,g,x]),(0,O.useEffect)(()=>()=>{y.current.forEach(e=>URL.revokeObjectURL(e)),y.current.clear()},[]);let A=(0,O.useMemo)(()=>T.filter(e=>e.file&&!e.existing).map(e=>e.file),[T]);(0,O.useEffect)(()=>{if(x||!v.current)return;let e=new DataTransfer;A.forEach(t=>e.items.add(t)),v.current.files=e.files},[A,x]);function j(e){if(!n.image)return;let t=URL.createObjectURL(e);return y.current.add(t),t}function M(e){!e.url||!y.current.has(e.url)||(URL.revokeObjectURL(e.url),y.current.delete(e.url))}async function N(e,t){let n=await Gf(s,{method:`POST`,ref:c,body:JSON.stringify({...h,_upload: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 P(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:j(e),existing:!1}));if(!S&&(T.forEach(M),!d)){let e=T.filter(e=>e.existing&&e.token).map(e=>e.token);e.length>0&&k(t=>[...t,...e])}E(e=>S?[...e,...n]:n),x&&n.forEach((e,n)=>void N(e,t[n]))}function F(e){let t=T.find(t=>t.id===e);t&&M(t),t?.existing&&t.token&&!d&&k(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":w(u),onDragOver:e=>e.preventDefault(),onDrop:e=>{e.preventDefault(),P(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:T.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":w(`${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":w(`${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":w(e.existing?`${u}-remove-existing`:`${u}-remove`),disabled:b,onClick:()=>F(e.id)}),x&&!e.existing&&e.key&&e.status===`ready`&&(0,Y.jsx)(`input`,{"data-test":w(`${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":w(`${u}-input`),id:_,multiple:S,name:x?void 0:C,onChange:e=>{P(e.target.files),x&&(e.target.value=``)},ref:v,type:`file`})]})})};function Qv({label:e,summaryLabel:t,variant:n=`default`}){let{componentId:r,errors:i,fieldLabels:a,processing:o}=ip(),s=Object.entries(i).filter(([,e])=>!!e).map(([e,t])=>({label:a[e]??e,message:t})),c=s.length>0;return(0,Y.jsxs)(`span`,{className:`group relative inline-flex flex-col`,children:[(0,Y.jsxs)($,{"data-lattice-form":r,"data-test":`form-submit`,disabled:o||c,type:`submit`,variant:n,children:[o&&(0,Y.jsx)(Lf,{}),e]}),c&&(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:s.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}){return xt(x.resetForm,n=>{let r=n.detail;(!r?.form||r.form===e)&&t()}),null}function ty({action:e,children:t,componentRef:n,nodes:r,shouldRenderSubmitButton:i,submitButtons:a,submitJustify:o,submitLabel:s,submitVariant:c,summaryLabel:l}){let{nodes:u,markUserEdit:d}=lm(e,n,r);return(0,Y.jsx)(op,{value:{markUserEdit:d},children:(0,Y.jsx)(Ap,{nodes:u,children:(0,Y.jsxs)(`div`,{className:`flex flex-col gap-6`,children:[t,i&&(0,Y.jsx)(`div`,{className:`flex gap-3 ${$v[o??`end`]}`,children:a?.length?a.map((e,t)=>e.props.buttonType===`submit`?(0,Y.jsx)(Qv,{label:e.props.label??s,summaryLabel:l,variant:e.props.variant??c??`default`},br(e,t)):(0,Y.jsx)(Er,{node:e},br(e,t))):(0,Y.jsx)(Qv,{label:s,summaryLabel:l,variant:c??`default`})})]})})})}var ny=({children:e,node:t})=>{let{t:n}=U(`lattice`),r=t.props,i=r.action??`#`,o=r.errorBag,s=r.ref??``,c=r.method??`post`,l=r.precognitive,u=r.resetOnError??!1,d=r.resetOnSuccess??[],f=r.state,{labels:p,values:m}=(0,O.useMemo)(()=>um(t.schema),[t.schema]),h=(0,O.useMemo)(()=>({...m,...f}),[m,f]),g=r.submitButton,_=r.submitButtons??void 0,v=r.submitJustify??void 0,y=r.submitLabel??n(`form.submit`,`Submit`),b=r.submitVariant??void 0,x=r.validationSummaryLabel,S=r.validationTimeout??void 0;return(0,Y.jsx)(a,{action:i,"data-slot":`form`,"data-lattice-component":t.id,errorBag:o,method:c,resetOnError:u,resetOnSuccess:d,validationTimeout:l?S:void 0,headers:Pt(s),className:`mx-auto flex w-full max-w-2xl flex-col gap-6`,children:({clearErrors:n,errors:a,processing:o,reset:c,validate:u})=>(0,Y.jsxs)(rp,{value:{action:i,clearErrors:e=>n(e),componentId:t.id,componentRef:s,errors:a,fieldLabels:p,precognitive:l,processing:o,validate:e=>u(e)},children:[(0,Y.jsx)(ey,{componentId:t.id,reset:c}),r.status&&(0,Y.jsx)(`div`,{className:`text-center text-sm font-medium text-lt-success`,children:r.status}),(0,Y.jsx)(Vp,{initial:h,children:(0,Y.jsx)(ty,{action:i,componentRef:s,nodes:t.schema,shouldRenderSubmitButton:g,submitButtons:_,submitJustify:v,submitLabel:y,submitVariant:b,summaryLabel:x,children:e})})]})})},ry=({node:e})=>{let t=Op(),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 iy({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)(_r,{className:`size-lt-icon-md`,icon:e.icon}):e.text})}function ay({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-[3px] has-[:focus-visible]:ring-lt-ring/50`,"data-slot":`affix-group`,children:[e?(0,Y.jsx)(iy,{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)(iy,{affix:t,side:`end`,squared:!!n}):null,n]})}var oy=({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:opacity-50`,"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)(ay,{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})})}})},sy=Object.defineProperty,cy=Object.defineProperties,ly=Object.getOwnPropertyDescriptors,uy=Object.getOwnPropertySymbols,dy=Object.prototype.hasOwnProperty,fy=Object.prototype.propertyIsEnumerable,py=(e,t,n)=>t in e?sy(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,my=(e,t)=>{for(var n in t||={})dy.call(t,n)&&py(e,n,t[n]);if(uy)for(var n of uy(t))fy.call(t,n)&&py(e,n,t[n]);return e},hy=(e,t)=>cy(e,ly(t)),gy=(e,t)=>{var n={};for(var r in e)dy.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&uy)for(var r of uy(e))t.indexOf(r)<0&&fy.call(e,r)&&(n[r]=e[r]);return n};function _y(e){return[setTimeout(e,0),setTimeout(e,10),setTimeout(e,50)]}function vy(e){let t=O.useRef();return O.useEffect(()=>{t.current=e}),t.current}var yy=18,by=40,xy=`${by}px`,Sy=[`[data-lastpass-icon-root]`,`com-1password-button`,`[data-dashlanecreated]`,`[style$="2147483647 !important;"]`].join(`,`);function Cy({containerRef:e,inputRef:t,pushPasswordManagerStrategy:n,isFocused:r}){let[i,a]=O.useState(!1),[o,s]=O.useState(!1),[c,l]=O.useState(!1),u=O.useMemo(()=>n===`none`?!1:(n===`increase-width`||n===`experimental-no-flickering`)&&i&&o,[i,o,n]),d=O.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-yy,f=u;document.querySelectorAll(Sy).length===0&&document.elementFromPoint(d,f)===r||(a(!0),l(!0))},[e,t,c,n]);return O.useEffect(()=>{let t=e.current;if(!t||n===`none`)return;function r(){s(window.innerWidth-t.getBoundingClientRect().right>=by)}r();let i=setInterval(r,1e3);return()=>{clearInterval(i)}},[e,n]),O.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:xy}}var wy=O.createContext({}),Ty=O.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=Dy,render:h,children:g}=n,_=gy(n,[`value`,`onChange`,`maxLength`,`textAlign`,`pattern`,`placeholder`,`inputMode`,`onComplete`,`pushPasswordManagerStrategy`,`pasteTransformer`,`containerClassName`,`noScriptCSSFallback`,`render`,`children`]),v;let[y,b]=O.useState(typeof _.defaultValue==`string`?_.defaultValue:``),x=r??y,S=vy(x),C=O.useCallback(e=>{i?.(e),b(e)},[i]),w=O.useMemo(()=>s?typeof s==`string`?new RegExp(s):s:null,[s]),T=O.useRef(null),E=O.useRef(null),D=O.useRef({value:x,onChange:C,isIOS:typeof window<`u`&&((v=window==null?void 0:window.CSS)?.supports)?.call(v,`-webkit-touch-callout`,`none`)}),k=O.useRef({prev:[T.current?.selectionStart,T.current?.selectionEnd,T.current?.selectionDirection]});O.useImperativeHandle(t,()=>T.current,[]),O.useEffect(()=>{let e=T.current,t=E.current;if(!e||!t)return;D.current.value!==e.value&&D.current.onChange(e.value),k.current.prev=[e.selectionStart,e.selectionEnd,e.selectionDirection];function n(){if(document.activeElement!==e){F(null),ee(null);return}let t=e.selectionStart,n=e.selectionEnd,r=e.selectionDirection,i=e.maxLength,a=e.value,o=k.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;F(u),ee(d),k.current.prev=[u,d,f]}if(document.addEventListener(`selectionchange`,n,{capture:!0}),n(),document.activeElement===e&&N(!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;`;Ey(e.sheet,`[data-input-otp]::selection { background: transparent !important; color: transparent !important; }`),Ey(e.sheet,`[data-input-otp]:autofill { ${t} }`),Ey(e.sheet,`[data-input-otp]:-webkit-autofill { ${t} }`),Ey(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; } }`),Ey(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[A,j]=O.useState(!1),[M,N]=O.useState(!1),[P,F]=O.useState(null),[I,ee]=O.useState(null);O.useEffect(()=>{_y(()=>{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&&(F(t),ee(n),k.current.prev=[t,n,r])})},[x,M]),O.useEffect(()=>{S!==void 0&&x!==S&&S.length<a&&x.length===a&&u?.(x)},[a,u,S,x]);let te=Cy({containerRef:E,inputRef:T,pushPasswordManagerStrategy:d,isFocused:M}),ne=O.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]),re=O.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),F(t),ee(n)}N(!0)},[a]),L=O.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),F(c),ee(l)},[a,C,w,x]),R=O.useMemo(()=>({position:`relative`,cursor:_.disabled?`default`:`text`,userSelect:`none`,WebkitUserSelect:`none`,pointerEvents:`none`}),[_.disabled]),z=O.useMemo(()=>({position:`absolute`,inset:0,width:te.willPushPWMBadge?`calc(100% + ${te.PWM_BADGE_SPACE_WIDTH})`:`100%`,clipPath:te.willPushPWMBadge?`inset(0 ${te.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`}),[te.PWM_BADGE_SPACE_WIDTH,te.willPushPWMBadge,o]),ie=O.useMemo(()=>O.createElement(`input`,hy(my({autoComplete:_.autoComplete||`one-time-code`},_),{"data-input-otp":!0,"data-input-otp-placeholder-shown":x.length===0||void 0,"data-input-otp-mss":P,"data-input-otp-mse":I,inputMode:l,pattern:w?.source,"aria-placeholder":c,style:z,maxLength:a,value:x,ref:T,onPaste:e=>{var t;L(e),(t=_.onPaste)==null||t.call(_,e)},onChange:ne,onMouseOver:e=>{var t;j(!0),(t=_.onMouseOver)==null||t.call(_,e)},onMouseLeave:e=>{var t;j(!1),(t=_.onMouseLeave)==null||t.call(_,e)},onFocus:e=>{var t;re(),(t=_.onFocus)==null||t.call(_,e)},onBlur:e=>{var t;N(!1),(t=_.onBlur)==null||t.call(_,e)}})),[ne,re,L,l,z,a,I,P,_,w?.source,x]),B=O.useMemo(()=>({slots:Array.from({length:a}).map((e,t)=>{let n=M&&P!==null&&I!==null&&(P===I&&t===P||t>=P&&t<I),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:M,isHovering:!_.disabled&&A}),[M,A,a,I,P,_.disabled,x]),ae=O.useMemo(()=>h?h(B):O.createElement(wy.Provider,{value:B},g),[g,B,h]);return O.createElement(O.Fragment,null,m!==null&&O.createElement(`noscript`,null,O.createElement(`style`,null,m)),O.createElement(`div`,{ref:E,"data-input-otp-container":!0,style:R,className:p},ae,O.createElement(`div`,{style:{position:`absolute`,inset:0,pointerEvents:`none`}},ie)))});Ty.displayName=`Input`;function Ey(e,t){try{e.insertRule(t)}catch{console.error(`input-otp could not insert CSS rule:`,t)}}var Dy=`
47
+ `);r=a.pop()??``;for(let e of a){if(e.trim()===``)continue;let t=Im(e);t&&(yield t)}}if(r+=n.decode(),r.trim()!==``){let e=Im(r);e&&(yield e)}}finally{await t.cancel().catch(()=>{})}}var Bm=0;function Vm(){return Bm+=1,`chat-${Bm}`}function Hm(e){return e instanceof DOMException&&e.name===`AbortError`}function Um(e){return e instanceof Error?e.message:String(e)}function Wm(e){let t=e.at(-1);return t!==void 0&&t.role===`assistant`}function Gm(e,t){if(!Wm(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 Km({endpoint:e,transport:t=Lm,initialMessages:n=[],generateId:r=Vm}){let[i,a]=(0,O.useState)(n),[o,s]=(0,O.useState)(`idle`),[c,l]=(0,O.useState)(null),u=(0,O.useRef)(null),d=(0,O.useRef)(null),f=(0,O.useRef)(i);f.current=i;let p=(0,O.useCallback)(e=>{f.current=e,a(e)},[]),m=(0,O.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(Gm(f.current,n))}s(e=>e===`streaming`||e===`submitted`?`idle`:e)}catch(e){if(Hm(e)){s(`idle`);return}l(Um(e)),s(`error`)}},[p,e,r,t]),h=(0,O.useCallback)(e=>{let t=e.trim();t!==``&&(d.current=t,m(f.current,t))},[m]),g=(0,O.useCallback)(()=>{u.current?.abort(),s(`idle`)},[]),_=(0,O.useCallback)(()=>{let e=d.current;if(e===null)return;let t=f.current;m(Wm(t)?t.slice(0,-2):t,e)},[m]);return(0,O.useEffect)(()=>()=>{u.current?.abort()},[]),{messages:i,status:o,error:c,sendMessage:h,setMessages:p,stop:g,regenerate:_}}function qm({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":w(`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)(Er,{node:e},e.key??t))})})}function Jm({messages:e}){let t=(0,O.useRef)(null),n=e.at(-1),r=n?.parts.at(-1)===void 0?0:JSON.stringify(n.parts.at(-1)).length;return(0,O.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":w(`chat-messages`),children:[e.map(e=>(0,Y.jsx)(qm,{message:e},e.id)),(0,Y.jsx)(`div`,{ref:t})]})}function Ym({onSubmit:e,disabled:t=!1,placeholder:n}){let{t:r}=U(`lattice`),[i,a]=(0,O.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-1 focus:ring-lt-ring disabled:opacity-50`),"data-test":w(`chat-input`),disabled:t,onChange:e=>a(e.target.value),onKeyDown:s,placeholder:n,rows:1,value:i}),(0,Y.jsx)($,{"data-test":w(`chat-send`),disabled:t,onClick:o,size:`sm`,type:`button`,variant:`default`,children:r(`common.chat.send`,`Send`)})]})}var Xm=ie({name:`lattice/chat`,components:{"chat.box":z(({node:e})=>{let t=e.props,{t:n}=U(`lattice`),r=(0,O.useMemo)(()=>t.remote?Rm(t.remote):Lm,[t.remote]),{messages:i,status:a,error:o,sendMessage:s,setMessages:c}=Km({endpoint:t.streamEndpoint??``,transport:r}),l=(0,O.useRef)(!1),u=(0,O.useCallback)(async()=>{if(l.current||!t.historyEndpoint)return;if(l.current=!0,t.remote){c((await $f(t.historyEndpoint,{remote:t.remote})).messages);return}let e=await Gf(t.historyEndpoint,{throwOnError:!1});e.ok&&c((await e.json()).messages)},[t.historyEndpoint,t.remote,c]);(0,O.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":w(`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)(Jm,{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)(Ym,{disabled:d,onSubmit:s,placeholder:t.placeholder??void 0})]})}),"chat.part.text":z(({node:e})=>(0,Y.jsx)(`div`,{className:`whitespace-pre-wrap text-sm`,children:e.props.text})),"chat.part.tool-call":z(({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":w(`chat-tool-call`),children:[`🔧 `,e.props.name,`(`,JSON.stringify(e.props.args),`)`]}))}}),Zm={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 Qm(e){return e.trim().split(/\s+/).slice(0,2).map(e=>e.charAt(0).toUpperCase()).join(``)}function $m(){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 eh=({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`,Zm[r]),children:t?(0,Y.jsx)(`img`,{src:t,alt:i??``,className:`size-full object-cover`}):n?Qm(n):(0,Y.jsx)($m,{})})},th=zd(`inline-flex items-center justify-center rounded-lt-sm border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-lt-icon-xs gap-1 [&>svg]:pointer-events-none focus-visible:border-lt-ring focus-visible:ring-lt-ring/50 focus-visible:ring-[3px] aria-invalid:ring-lt-danger/20 dark:aria-invalid:ring-lt-danger/40 aria-invalid:border-lt-danger transition-[color,box-shadow] overflow-hidden`,{variants:{variant:{default:`border-transparent bg-lt-primary text-lt-primary-fg [a&]:hover:bg-lt-primary-hover`,secondary:`border-transparent bg-lt-secondary text-lt-secondary-fg [a&]:hover:bg-lt-secondary-hover`,destructive:`border-transparent bg-lt-danger text-lt-danger-fg [a&]:hover:bg-lt-danger-hover focus-visible:ring-lt-danger/20 dark:focus-visible:ring-lt-danger/40 dark:bg-lt-danger/60`,outline:`border-lt-border text-lt-fg [a&]:hover:bg-lt-accent [a&]:hover:text-lt-accent-fg`}},defaultVariants:{variant:`default`}});function nh({className:e,variant:t,asChild:n=!1,...r}){return(0,Y.jsx)(n?Wr:`span`,{"data-slot":`badge`,className:J(th({variant:t}),e),...r})}var rh=({node:e})=>(0,Y.jsx)(nh,{variant:`secondary`,className:`w-fit px-3 py-1`,children:e.props.label});function ih({content:e}){let{t}=U(`lattice`);return e?(0,Y.jsxs)(nd,{children:[(0,Y.jsx)(rd,{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-[3px]`,children:(0,Y.jsx)(X,{name:`info`,className:`size-lt-icon-sm`})}),(0,Y.jsx)(ad,{align:`start`,className:`max-w-xs p-3 text-sm [&_a]:underline`,dangerouslySetInnerHTML:{__html:e}})]}):null}function ah({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 oh({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 sh({className:e,...t}){return(0,Y.jsx)(`div`,{"data-slot":`card-title`,className:J(`font-semibold leading-none`,e),...t})}function ch({className:e,...t}){return(0,Y.jsx)(`div`,{"data-slot":`card-description`,className:J(`text-sm text-lt-muted-fg`,e),...t})}function lh({className:e,...t}){return(0,Y.jsx)(`div`,{"data-slot":`card-content`,className:J(`px-lt-gutter`,e),...t})}var uh=({children:e,node:t})=>{let{title:n,description:r,tooltip:i}=t.props;return(0,Y.jsxs)(ah,{"data-lattice-component":D(t),children:[(n||r)&&(0,Y.jsxs)(oh,{children:[n&&(0,Y.jsxs)(`div`,{className:`flex items-center`,children:[(0,Y.jsx)(sh,{children:n}),(0,Y.jsx)(ih,{content:i})]}),r&&(0,Y.jsxs)(`div`,{className:`flex items-center`,children:[(0,Y.jsx)(ch,{children:r}),!n&&(0,Y.jsx)(ih,{content:i})]})]}),e&&(0,Y.jsx)(lh,{className:`flex flex-col gap-6`,children:e})]})},dh=(0,O.lazy)(()=>u(()=>import(`./chunks/chart-view-DEwGTt9d.js`),__vite__mapDeps([6,1,7,3,8,4]),import.meta.url)),fh=({children:e,node:t})=>(0,Y.jsx)(O.Suspense,{fallback:null,children:(0,Y.jsx)(dh,{node:t,children:e})}),ph=({children:e,node:t})=>{let n=t.props.rememberState!==!1,r=yr(t.props.trigger),i=D(t),a=`lattice:collapsible:${i??`default`}`,o=`${i??`collapsible`}-content`,[s,c]=Td(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":E(`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)(Tr,{nodes:r}),t.props.tooltip&&(0,Y.jsx)(`span`,{role:`presentation`,onClick:e=>e.stopPropagation(),onKeyDown:e=>e.stopPropagation(),children:(0,Y.jsx)(ih,{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 hh=({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,O.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":D(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":D(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)(Er,{node:e},e.key??`${e.type}-${t}`))}),(0,Y.jsx)(`div`,{className:o?`block`:`hidden`,children:e})]})})},gh={lg:320,md:64,sm:40,xl:384,xs:32,"2xl":448,"3xl":512,"4xl":576},_h=({node:e})=>{let t=e.props.endpoint??``,n=e.props.lazy===!0,r=e.props.ref??``,i=gh[e.props.size],[a,o]=(0,O.useState)(()=>e.schema??[]),[s,c]=(0,O.useState)(!n),[l,u]=(0,O.useState)(n&&t!==``),d=(0,O.useCallback)(async()=>{if(t){u(!0);try{o(yr((await Kf(t,{ref:r})).schema)),c(!0)}finally{u(!1)}}},[t,r]);return(0,O.useEffect)(()=>{!n||s||d()},[s,n,d]),(0,O.useEffect)(()=>{function t(t){t.detail?.component===e.id&&d()}return window.addEventListener(x.reloadComponent,t),()=>window.removeEventListener(x.reloadComponent,t)},[d,e.id]),(0,O.useEffect)(()=>{function e(){s&&d()}return window.addEventListener(x.localeChange,e),()=>window.removeEventListener(x.localeChange,e)},[s,d]),(0,Y.jsx)(`div`,{"data-lattice-fragment":e.id,style:l&&a.length===0?{minHeight:i}:void 0,children:l&&a.length===0?(0,Y.jsx)(tp,{className:`w-full`,style:{height:i}}):(0,Y.jsx)(Tr,{nodes:a})})},vh=({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":D(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 yh(e){if(!navigator?.clipboard)return!1;try{return await navigator.clipboard.writeText(e),!0}catch{return!1}}function bh({value:e,label:t,testId:n,className:r}){let{t:i}=U(`lattice`),[a,o]=(0,O.useState)(!1);(0,O.useEffect)(()=>{if(!a)return;let e=window.setTimeout(()=>o(!1),1500);return()=>window.clearTimeout(e)},[a]);function s(){yh(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 xh({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)(bh,{value:e,label:t,testId:n})]})}var Sh=({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)(ih,{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)(xh,{value:t,label:t,children:o}):o},Ch=new Set([`default`,`muted`,`primary`,`success`,`info`,`warning`,`danger`,`gray`,`red`,`orange`,`yellow`,`green`,`blue`,`purple`]);function wh(e){return{kind:`named`,value:e,dark:null}}function Th(e){if(typeof e==`string`&&e!==``)return Ch.has(e)?wh(e):{kind:`css`,value:e,dark:null};if(typeof e==`object`&&e&&`kind`in e&&`value`in e)return e}function Eh(e){return e.kind===`named`?`var(--lt-color-${e.value})`:e.dark===null?e.value:`light-dark(${e.value}, ${e.dark})`}function Dh(e){if(e.kind===`named`)return{className:`lt-tone-${e.value}`};let t=Eh(e);return{style:{"--lt-tone-bg":`color-mix(in oklab, ${t} 12%, transparent)`,"--lt-tone-fg":t}}}var Oh={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`},kh=({node:e})=>{let{name:t,size:n,color:r,class:i}=e.props,a=(0,Y.jsx)(_r,{icon:t,className:J(Oh[n],i)}),o=Th(r);return o?(0,Y.jsx)(`span`,{className:`contents`,style:{color:Eh(o)},children:a}):a};function Ah({src:e,alt:t,previewable:n,width:r,height:i,className:a,testId:o}){let{t:s}=U(`lattice`),[c,l]=(0,O.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)(jf,{open:c,onOpenChange:l,children:(0,Y.jsxs)(Ff,{"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)(Nf,{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)(Mf,{asChild:!0,children:(0,Y.jsx)($,{icon:`x`,"aria-label":s(`common.close`,`Close`),"data-test":`lightbox-close`,size:`icon`,variant:`ghost`,className:`absolute top-2 right-2 bg-lt-bg/80 hover:bg-lt-bg`})})]})})]})}var jh=({node:e})=>{let{src:t,alt:n,size:r,circular:i,previewable:a}=e.props;return(0,Y.jsx)(Ah,{alt:n??``,className:J(`object-cover`,i?`rounded-full`:`rounded-lt-sm`),height:r??void 0,previewable:a,src:t,testId:D(e),width:r??void 0})},Mh=`text-lt-fg underline decoration-lt-border underline-offset-4 transition-colors duration-300 ease-out hover:decoration-current! dark:decoration-lt-border`;function Nh({className:e=``,children:t,...n}){return(0,Y.jsx)(_,{className:J(Mh,e),...n,children:t})}function Ph({affix:e,className:t}){return e.icon?(0,Y.jsx)(_r,{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 Fh({icon:e,isMenuItem:t,label:n,prefix:r,suffix:i}){return e?(0,Y.jsx)(_r,{className:`size-lt-icon-md shrink-0`,icon:e}):t?(0,Y.jsxs)(Y.Fragment,{children:[r?(0,Y.jsx)(Ph,{affix:r}):null,(0,Y.jsx)(`span`,{children:n}),i?(0,Y.jsx)(Ph,{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)(Ph,{affix:r}):null,(0,Y.jsx)(`span`,{children:n}),i?(0,Y.jsx)(Ph,{affix:i}):null]}):n}function Ih(e,t,n){if(!(!t?.text&&!n?.text))return[t?.text,e,n?.text].filter(e=>!!e).join(` `)}var Lh=({node:e})=>{let t=km(),{icon:n,label:r,prefix:i,suffix:a}=e.props,o=r??``,s=pd(e.props),c=t?Dm:void 0,l=D(e),u=(0,Y.jsx)(Fh,{icon:n,isMenuItem:t,label:o,prefix:i,suffix:a}),d=n?o:Ih(o,i,a),f=({onClick:e,processing:t})=>(0,Y.jsx)(`button`,{"aria-label":d,className:J(Mh,c),"data-test":l,disabled:t,onClick:e,type:`button`,children:u});return s.kind===`action`?(0,Y.jsx)(fd,{action:s.action,children:f}):s.kind===`effects`?f({onClick:s.onClick,processing:!1}):(0,Y.jsx)(Nh,{"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 Rh(e,t){let n=e.detail?.modal;return n==null||n===t}var zh=({children:e,node:t})=>{let{t:n}=U(`lattice`),r=t.props.title??n(`common.dialog`,`Dialog`),i=t.props.description,a=t.props.closeLabel,[o,s]=(0,O.useState)(t.props.open===!0),c=(0,O.useRef)(null),l=(0,O.useRef)(o);return(0,O.useEffect)(()=>{t.props.open===!0&&s(!0)},[t.props.open]),(0,O.useEffect)(()=>{function e(e){t.id&&Rh(e,t.id)&&(c.current=document.activeElement instanceof HTMLElement?document.activeElement:null,s(!0))}function n(e){(!t.id||Rh(e,t.id))&&s(!1)}return window.addEventListener(x.openModal,e),window.addEventListener(x.closeModal,n),()=>{window.removeEventListener(x.openModal,e),window.removeEventListener(x.closeModal,n)}},[t.id]),(0,O.useEffect)(()=>{if(l.current&&!o){let e=c.current;e&&requestAnimationFrame(()=>e.focus())}l.current=o},[o]),(0,Y.jsx)(jf,{open:o,onOpenChange:s,children:(0,Y.jsxs)(Ff,{...i?{}:{"aria-describedby":void 0},placement:t.props.side??`center`,width:t.props.width,children:[(0,Y.jsx)(If,{closeLabel:a,description:i,title:r}),(0,Y.jsx)(`div`,{className:`mt-6 space-y-6`,children:e})]})})},Bh={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`},Vh={xs:24,sm:32,md:40,lg:48,xl:64,"2xl":80,"3xl":96,"4xl":128},Hh={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`},Uh=({node:e})=>{let{value:t,max:n,variant:r,showValue:i,color:a,size:o}=e.props,{locale:s}=v(),c=Eh(Th(a)??wh(`primary`)),l=n>0?Math.min(Math.max(t,0),n):0,u=n>0?l/n:0,d=new Intl.NumberFormat(s,{maximumFractionDigits:0,style:`percent`}).format(u),f={"aria-valuemax":n,"aria-valuemin":0,"aria-valuenow":l,"aria-valuetext":d,role:`progressbar`};if(r===`circle`){let e=Vh[o],t=Math.max(3,e/10),n=(e-t)/2,r=2*Math.PI*n;return(0,Y.jsxs)(`div`,{...f,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-u),strokeLinecap:`round`,strokeWidth:t,style:{color:c}})]}),i&&(0,Y.jsx)(`span`,{className:J(`absolute inset-0 flex items-center justify-center font-medium text-lt-fg tabular-nums`,Hh[o]),children:d})]})}return(0,Y.jsxs)(`div`,{className:`flex w-full items-center gap-2`,"data-lattice-progress":`bar`,children:[(0,Y.jsx)(`div`,{...f,className:J(`w-full overflow-hidden rounded-full bg-lt-muted`,Bh[o]),children:(0,Y.jsx)(`div`,{className:`h-full rounded-full`,style:{background:c,width:`${u*100}%`}})}),i&&(0,Y.jsx)(`span`,{className:`shrink-0 text-lt-muted-fg text-sm tabular-nums`,children:d})]})},Wh=({node:e})=>(0,Y.jsx)(`span`,{style:{display:`contents`},dangerouslySetInnerHTML:{__html:e.props.html}}),Gh=({children:e,node:t})=>{let{title:n,description:r,tooltip:i}=t.props,a=t.props.collapsible===!0,o=t.props.rememberState!==!1,s=yr(t.props.headerActions),c=D(t),[l,u]=Td(`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":E(`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)(ih,{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)(ih,{content:i})]})]})]}),s.length>0&&(0,Y.jsx)(`div`,{className:`flex shrink-0 items-center gap-2`,children:(0,Y.jsx)(Tr,{nodes:s})})]}),!d&&e&&(0,Y.jsx)(`div`,{className:`flex flex-col gap-6 px-lt-gutter`,children:e})]})};function Kh(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 qh({ariaLabel:e,autoFocus:t=!1,disabled:n=!1,name:r,onSelect:i,options:a,tabIndex:o,value:s}){let c=(0,O.useRef)(null);return(0,O.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(Kh(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 Jh=({node:e})=>{let{options:t,name:n,emits:r}=e.props,[i,a]=(0,O.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)(qh,{ariaLabel:e.props.label??void 0,name:n,onSelect:o,options:t,value:i})},Yh=({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`)})},Xh={center:`justify-items-center text-center`,start:`justify-items-start text-left`,stretch:`justify-items-stretch`},Zh={center:`items-center text-center`,start:`items-center text-left`,stretch:`items-stretch justify-stretch`},Qh={none:`gap-0`,xs:`gap-1`,lg:`gap-6`,md:`gap-4`,sm:`gap-2`,xl:`gap-8`},$h={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`},eg={around:`justify-around`,between:`justify-between`,center:`justify-center`,end:`justify-end`,evenly:`justify-evenly`,start:`justify-start`},tg={full:`h-full`,screen:`min-h-screen`},ng={end:`ml-auto`,start:`mr-auto`},rg=({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":D(t),className:J(l?J(`flex`,r===`row`?`flex-wrap`:`flex-col`):`grid content-start`,l?Zh[n]??Zh.stretch:Xh[n]??Xh.stretch,Qh[i]??Qh.md,$h[a]??$h.full,o?eg[o]:null,s?tg[s]:null,c?ng[c]:null),children:e})},ig=(0,O.createContext)(null);function ag(){return(0,O.useContext)(ig)||{activeValue:``,setActiveValue:()=>{}}}function og(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 sg(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 cg(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 lg(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 ug=({children:e,node:t})=>{let{t:n}=U(`lattice`),r=(0,O.useMemo)(()=>og(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,O.useRef)(null),[m,h]=(0,O.useState)(()=>u||(sg(a,r)??d)||i),g=(0,O.useCallback)(e=>{if(e.confirm?.required){p.visit(lg(a,e.value),{preserveScroll:!0});return}h(e.value),cg(a,e.value)},[a]),_=(0,O.useCallback)(e=>{let t=r.find(t=>t.value===e);t&&g(t)},[g,r]),v=(0,O.useMemo)(()=>({activeValue:m,setActiveValue:_}),[m,_]);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)(ig.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=m===e.value;return(0,Y.jsx)(`button`,{"aria-controls":`${e.value}-panel`,"aria-selected":t,"data-test":`tab-${e.value}`,className:J(Kh(t),s&&`text-left`,l&&`flex-1`),id:`${e.value}-tab`,onClick:()=>g(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})]})})},dg=({children:e,node:t})=>{let{activeValue:n}=ag(),r=t.props.value,i=n===r,[a,o]=(0,O.useState)(i);return(0,O.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})},fg={center:`text-center`,left:`text-left`},pg={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`},mg=ie({components:{avatar:z(eh),badge:z(rh),button:z(Vd),card:z(uh),chart:z(fh),collapsible:z(ph),"floating-panel":z(hh),fragment:z(_h),grid:z(vh),heading:z(Sh),icon:z(kh),image:z(jh),link:z(Lh),modal:z(zh),progress:z(Uh),"raw-block":z(Wh),section:z(Gh),"segmented-control":z(Jh),separator:z(Yh),stack:z(rg),tab:z(dg),tabs:z(ug),text:z(({node:e})=>{let t=e.props.align??`left`,n=Eh(Th(e.props.color)??wh(`muted`)),r=(0,Y.jsx)(`p`,{className:J(`m-0`,`max-w-2xl`,fg[t]??fg.left,pg[e.props.size]),style:{color:n},children:e.props.text});return e.props.copyable?(0,Y.jsx)(xh,{value:e.props.text,label:e.props.text,children:r}):r}),tooltip:z(({node:e})=>{let t=e.props.content,n=yr(e.props.trigger);return t?n.length===0?(0,Y.jsx)(ih,{content:t}):(0,Y.jsxs)(nd,{children:[(0,Y.jsx)(rd,{type:`button`,className:`inline-flex items-center rounded-lt-sm outline-none focus-visible:ring-lt-ring/50 focus-visible:ring-[3px]`,children:(0,Y.jsx)(Tr,{nodes:n})}),(0,Y.jsx)(ad,{align:`start`,className:`max-w-xs p-3 text-sm [&_a]:underline`,dangerouslySetInnerHTML:{__html:t}})]}):null})},name:`lattice/ui`});function hg({message:e,className:t=``,...n}){return e?(0,Y.jsx)(`p`,{...n,className:J(`text-sm text-lt-danger`,t),children:e}):null}var gg=`Label`,_g=O.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())}}));_g.displayName=gg;var vg=_g;function yg({className:e,...t}){return(0,Y.jsx)(vg,{"data-slot":`label`,className:J(`text-base leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50`,e),...t})}function bg({children:e,error:t,helperText:n,label:r,labelAction:i,name:a,required:o,tooltip:s}){return Qp()?(0,Y.jsxs)(`div`,{className:`grid gap-1`,children:[(0,Y.jsx)(yg,{htmlFor:a,className:`sr-only`,children:r}),e,(0,Y.jsx)(hg,{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)(yg,{htmlFor:a,children:r}),o&&(0,Y.jsx)(`span`,{"aria-hidden":`true`,className:`ml-0.5 text-lt-danger`,children:`*`}),(0,Y.jsx)(ih,{content:s}),i&&(0,Y.jsx)(Nh,{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)(hg,{message:t})]})}function xg(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 Sg=new Set([`1`,`true`,`on`,`yes`]);function Cg(e){return typeof e==`boolean`?e:typeof e==`number`?e===1:Sg.has(String(e).toLowerCase())}function wg(e,t){return typeof t==`boolean`?Cg(e)===t:String(e??``)===String(t??``)}function Tg(e,t){return(Array.isArray(t)?t:[t]).map(e=>String(e)).includes(String(e??``))}function Eg(e){return e==null||String(e).trim()===``}function Dg(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 Og(e){return!0}function kg(e,t,n){switch(e){case`eq`:return wg(t,n);case`neq`:return!wg(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 Tg(t,n);case`not_in`:return!Tg(t,n);case`before`:return Dg(t,n)===-1;case`after`:return Dg(t,n)===1;case`empty`:return Eg(t);case`filled`:return!Eg(t);default:return Og(e)}}function Ag(e,t){return e.every(e=>kg(e.operator,t[e.field],e.value))}function jg(e,t){return!!e?.some(e=>kg(e.operator,t[e.field],e.value))}function Mg(e,t,n){let r=!e?.visible?.length||Ag(e.visible,t);return{hidden:!!n.hidden||!r,required:!!n.required||jg(e?.required,t),readOnly:!!n.readOnly||jg(e?.readOnly,t),disabled:!!n.disabled||jg(e?.disabled,t)}}function Ng(e){let t=Op(),n=cp(e),r=Gp((0,O.useMemo)(()=>xg(n.conditions),[n.conditions])),i=t?{...r,...t.values}:r;return Mg(n.conditions??void 0,i,{required:n.required??!1,readOnly:n.readOnly??!1,disabled:n.disabled??!1})}function Pg({addLabel:e,options:t,onSelect:n}){return(0,Y.jsxs)(jm,{children:[(0,Y.jsx)(Mm,{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)(Nm,{align:`start`,className:`min-w-[12rem]`,children:t.map(e=>(0,Y.jsx)(Pm,{"data-test":`builder-add-${e.type}`,onClick:()=>n(e.type),children:e.label},e.type))})]})}var Fg={duplicate:{key:`table.row-actions.duplicate`,fallback:`Duplicate`,icon:`copy`},remove:{key:`table.row-actions.remove`,fallback:`Remove`,icon:`trash-2`}};function Ig(e,t){return(e??Lg(t.removable)).map(e=>Rg(e,t)).filter(e=>e!==null)}function Lg(e){return e?[{type:`remove`,key:`remove`,label:null,icon:null,destructive:!0}]:[]}function Rg(e,t){if(e.type===`duplicate`){let n=Fg.duplicate;return{key:e.key,label:e.label??t.t(n.key,n.fallback),icon:e.icon??n.icon,destructive:e.destructive,onClick:()=>t.onDuplicate(t.index)}}if(e.type===`remove`){if(!t.removable)return null;let n=Fg.remove;return{key:e.key,label:e.label??t.t(n.key,n.fallback),icon:e.icon??n.icon,destructive:e.destructive,onClick:()=>t.onRemove(t.index)}}return null}function zg(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 Bg({actions:e}){let{t}=U(`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:zg(t.destructive),onClick:t.onClick,children:(0,Y.jsx)(X,{name:t.icon})})}return(0,Y.jsxs)(jm,{children:[(0,Y.jsx)(Mm,{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)(Nm,{align:`end`,className:`min-w-[10rem]`,children:e.map(e=>(0,Y.jsx)(Pm,{"data-test":`row-action-${e.key}`,destructive:e.destructive,icon:e.icon,onClick:e.onClick,children:e.label},e.key))})]})}function Vg({path:e,rows:t,rowKey:n}){return(0,Y.jsx)(Y.Fragment,{children:t.map((t,r)=>(0,Y.jsx)(`input`,{type:`hidden`,name:fp(dp(e,r,n)),value:String(t[n]??``)},String(t.rowId??r)))})}function Hg({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 Ug=(0,O.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}=U(`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)(Hg,{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)(Hg,{label:`Move down`,testId:`repeater-${e}-down-${t}`,onClick:()=>f(t,1),children:(0,Y.jsx)(X,{name:`arrow-down`})}),(0,Y.jsx)(Bg,{actions:Ig(l,{index:t,removable:c,onRemove:d,onDuplicate:p,t:m})})]})]}),(0,Y.jsx)(Dp,{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)(Er,{node:e},br(e,t)))})})]})}),Wg={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 Gg(e){return Wg[e].track}function Kg(e){return Wg[e.width].minPx}function qg(e){return Wg[e.width].defaultPx}function Jg(e){return Wg[e.width].maxPx}function Yg({columns:e,leadingTracks:t=[],trailingTracks:n=[],overrides:r={}}){return[...t,...e.map(e=>{let t=r[e.key];return t===void 0?Gg(e.width):`${Math.min(Jg(e),Math.max(Kg(e),t))}px`}),...n].join(` `)}var Xg=[];function Zg({columnGapPx:e=0,columns:t,enabled:n,leadingTracks:r=Xg,showIndicator:i=!1,storageKey:a,trailingTracks:o=Xg}){let s=(0,O.useMemo)(()=>t.map(e=>e.key),[t]),[c,l]=(0,O.useState)(()=>$g(a,t)),u=(0,O.useRef)(c),d=(0,O.useRef)(null),f=(0,O.useRef)(null),p=(0,O.useCallback)(e=>Yg({columns:t,leadingTracks:r,trailingTracks:o,overrides:n?e:{}}),[t,n,r,o]),m=(0,O.useMemo)(()=>p(c),[c,p]),h=(0,O.useCallback)(e=>{let t=f.current;t&&(t.style.gridTemplateColumns=e,t.style.setProperty(`--lattice-table-columns`,e))},[]),g=(0,O.useCallback)(e=>{u.current=e,l(e),e_(a,s,e),h(p(e))},[h,s,a,p]),_=(0,O.useCallback)((e,t,n,r)=>({...e,[t.key]:Math.min(r??Jg(t),Math.max(Kg(t),n))}),[]),v=(0,O.useCallback)((e,t,n)=>{g(_(u.current,e,t,n))},[g,_]),y=(0,O.useCallback)(e=>{let t={...u.current};delete t[e.key],g(t)},[g]),b=(0,O.useCallback)(()=>{g({})},[g]),x=n&&Object.values(c).some(e=>typeof e==`number`),S=(0,O.useCallback)(e=>u.current[e.key]??qg(e),[]);return{getResizeHandleProps:(0,O.useCallback)(a=>{let s=Jg(a),c=Kg(a),l=S(a),m=a.label??a.key,b=i?`after:bg-lt-border`:`after:bg-transparent`,x=n=>Qg({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 Qg({column:e,columnGapPx:t,columns:n,grid:r,leadingTracks:i,trailingTracks:a}){let o=r?.getBoundingClientRect().width??0;if(o<=0)return Jg(e);let s=[...i,...a].reduce((e,t)=>e+i_(t),0),c=n.reduce((t,n)=>n.key===e.key?t:t+Kg(n),0),l=n.length+i.length+a.length,u=Math.max(0,l-1)*t,d=o-s-c-u;return Math.min(Jg(e),Math.max(Kg(e),d))}function $g(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(!n_(r))return t_(e),{};let i=r_(r.overrides,t);return Object.keys(i).length===0&&t_(e),i}catch{return t_(e),{}}}function e_(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){t_(e);return}try{window.localStorage.setItem(e,JSON.stringify({columns:t,overrides:r}))}catch{return}}function t_(e){if(!(typeof window>`u`))try{window.localStorage.removeItem(e)}catch{return}}function n_(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 r_(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(Jg(r),Math.max(Kg(r),t)))}return n}function i_(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])*a_():0}function a_(){if(typeof window>`u`)return 16;let e=Number.parseFloat(window.getComputedStyle(document.documentElement).fontSize);return Number.isFinite(e)&&e>0?e:16}var o_=`3rem`,s_=`3rem`,c_=[o_],l_=[s_],u_=`(min-width: 768px)`;function d_(){return Cd(u_,!0)}function f_(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 p_=(0,O.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:_}=U(`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)(Hg,{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)(Hg,{label:`Move down`,testId:`table-${e}-down-${t}`,onClick:()=>p(t,1),children:(0,Y.jsx)(X,{name:`arrow-down`})})]}),(0,Y.jsx)(Dp,{base:e,index:t,row:n,onChange:(e,n)=>f(t,e,n),children:(0,Y.jsx)(Zp,{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)(Er,{node:e},br(e,t)))}):r.map((e,t)=>(0,Y.jsx)(`div`,{children:(0,Y.jsx)(Er,{node:e})},br(e,t)))})}),(0,Y.jsx)(`div`,{className:`flex items-center`,children:(0,Y.jsx)(Bg,{actions:Ig(d,{index:t,removable:u,onRemove:m,onDuplicate:h,t:_})})})]})});function m_({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}=U(`lattice`),m=d_(),h=(0,O.useMemo)(()=>t.map(e=>({key:e.name,label:e.label,width:e.columnWidth})),[t]),{getResizeHandleProps:g,gridTemplateColumns:_,hasOverrides:v,resizeRootRef:y,resetColumns:b}=Zg({columns:h,enabled:d,columnGapPx:12,leadingTracks:c_,showIndicator:f,storageKey:d?`lattice:table-columns:form:${e}`:void 0,trailingTracks:l_});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)(p_,{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)(Ug,{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 h_=180;function g_(){return typeof matchMedia==`function`&&matchMedia(`(prefers-reduced-motion: reduce)`).matches}function __(e){let t=(0,O.useRef)(new Map),n=(0,O.useRef)(new Map),r=(0,O.useCallback)((e,n)=>{n?t.current.set(e,n):t.current.delete(e)},[]);return(0,O.useLayoutEffect)(()=>{let e=[],r=new Map;return t.current.forEach((e,t)=>{e.style.transition=``,e.style.transform=``,r.set(t,e.getBoundingClientRect())}),g_()||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 ${h_}ms ease-out`,t.style.transform=``})))}}),n.current=r,()=>{for(let t of e)cancelAnimationFrame(t)}},[e]),r}function v_(e,t){let n=Op(),r=n?n.errorKey(e):e,i=Kp(),a=Wp(r),o=Array.isArray(a)?a:yp(a,t),s=vp(o);(0,O.useLayoutEffect)(()=>{s!==o&&i(r,s)},[o,s,i,r]);let c=(0,O.useCallback)(e=>{i(r,n=>e(Array.isArray(n)?n:yp(n,t)))},[i,r,t]);return{path:r,rows:s,onField:(0,O.useCallback)((e,t,n)=>c(r=>r.map((r,i)=>i===e?{...r,[t]:n}:r)),[c]),onRemove:(0,O.useCallback)(e=>c(t=>bp(t,e)),[c]),onMove:(0,O.useCallback)((e,t)=>c(n=>Sp(n,e,e+t)),[c]),onDuplicate:(0,O.useCallback)(e=>c(t=>xp(t,e)),[c]),append:(0,O.useCallback)(e=>c(t=>[...t,_p(e)]),[c])}}var y_=[],b_=({node:e})=>{let t=e.props,n=t.name,r=em(e)??[],{errors:i}=ip(),{hidden:a,required:o}=Ng(e),{path:s,rows:c,onField:l,onRemove:u,onMove:d,onDuplicate:f,append:p}=v_(n,t.defaultItems??0),{t:m}=U(`lattice`),h=__(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??y_,span:!r,heading:n?.label??`Unknown block: ${String(e.type)}`}});return(0,Y.jsx)(bg,{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)(Vg,{path:s,rows:c,rowKey:gp}),(0,Y.jsx)(Vg,{path:s,rows:c,rowKey:`type`}),v?(0,Y.jsx)(Y.Fragment,{children:(0,Y.jsx)(m_,{base:s,columns:f_(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)(Ug,{base:s,index:r,row:e,template:i.schema??y_,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)(Bg,{actions:Ig(t.rowActions,{index:r,removable:!_,onRemove:u,onDuplicate:f,t:m})})]})},a)}),!g&&(0,Y.jsx)(Pg,{addLabel:t.addLabel??`Add`,options:b,onSelect:e=>p({type:e})})]})})};function x_(e){let t=O.useRef({value:e,previous:e});return O.useMemo(()=>(t.current.value!==e&&(t.current.previous=t.current.value,t.current.value=e),t.current.previous),[e])}var S_=`Checkbox`,[C_,w_]=Vr(S_),[T_,E_]=C_(S_);function D_(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]=Mi({prop:n,defaultProp:i??!1,onChange:c,caller:S_}),[m,h]=O.useState(null),[g,_]=O.useState(null),v=O.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:I_(i)?!1:i,isFormControl:y,bubbleInput:g,setBubbleInput:_};return(0,Y.jsx)(T_,{scope:t,...b,children:F_(d)?d(b):r})}var O_=`CheckboxTrigger`,k_=O.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}=E_(O_,e),h=zr(i,u),g=O.useRef(c);return O.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":I_(c)?`mixed`:c,"aria-required":l,"data-state":L_(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=>I_(e)?!0:!e),m&&p&&(f.current=e.isPropagationStopped(),f.current||e.stopPropagation())})})});k_.displayName=O_;var A_=O.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)(D_,{__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)(k_,{...d,ref:t,__scopeCheckbox:n}),e&&(0,Y.jsx)(P_,{__scopeCheckbox:n})]})})});A_.displayName=S_;var j_=`CheckboxIndicator`,M_=O.forwardRef((e,t)=>{let{__scopeCheckbox:n,forceMount:r,...i}=e,a=E_(j_,n);return(0,Y.jsx)(Ti,{present:r||I_(a.checked)||a.checked===!0,children:(0,Y.jsx)(Q.span,{"data-state":L_(a.checked),"data-disabled":a.disabled?``:void 0,...i,ref:t,style:{pointerEvents:`none`,...e.style}})})});M_.displayName=j_;var N_=`CheckboxBubbleInput`,P_=O.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}=E_(N_,e),m=zr(n,p),h=x_(a),g=Lc(r);O.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=I_(a),n.call(e,I_(a)?!1:a),e.dispatchEvent(t)}},[f,h,a,i]);let _=O.useRef(I_(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%)`}})});P_.displayName=N_;function F_(e){return typeof e==`function`}function I_(e){return e===`indeterminate`}function L_(e){return I_(e)?`indeterminate`:e?`checked`:`unchecked`}function R_({className:e,...t}){return(0,Y.jsx)(A_,{"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-[3px] disabled:cursor-not-allowed disabled:opacity-50`,e),...t,children:(0,Y.jsx)(M_,{"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 z_(e,t){if(!t)return e;let n=e.replace(/[^A-Za-z0-9_-]+/g,`-`).replace(/^-+|-+$/g,``);return n?`${t}-${n}`:t}function B_(e,t){let n=Op(),r=Wp(e),i=n?n.getValue(e):r,a=Kp();(0,O.useEffect)(()=>{i===void 0&&t!==void 0&&(n?n.setValue(e,t):a(e,t))},[e,t,i,a,n])}var V_=({node:e})=>{let{hidden:t,readOnly:n,disabled:r}=Ng(e),i=e.props.name,a=Op(),{fieldIdPrefix:o}=ip(),s=z_(a?a.scopedName(i):i,o),c=Wp(i),l=a?a.getValue(i):c,{commit:u}=Yp(),d=Cg(e.props.value),f=l===void 0?d:Cg(l);return B_(i,d),t?null:(0,Y.jsxs)(`div`,{children:[(0,Y.jsxs)(`div`,{className:`flex items-center space-x-3`,children:[(0,Y.jsx)(R_,{autoFocus:e.props.autoFocus??void 0,checked:f,"data-test":w(i),disabled:n||r,id:s,name:s,onCheckedChange:e=>{u(i,e===!0)},tabIndex:e.props.tabIndex??void 0}),(0,Y.jsx)(yg,{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 H_(e){let{errors:t,fieldIdPrefix:n}=ip(),r=Op(),i=Ng(e),a=cp(e),o=a.name??``,s=Wp(o),c=r?r.getValue(o):s,l=c===void 0?a.value:c,u=typeof l==`string`||typeof l==`number`?String(l):``,d=z_(r?r.scopedName(o):o,n),f=r?r.errorKey(o):o,{commit:p,change:m,blur:h}=Yp(),g=e=>p(o,e),_=e=>m(o,e),v=()=>h(o);return{...i,localName:o,name:d,testId:w(o),value:u,error:t[f],commit:g,change:_,blur:v}}var U_=({node:e})=>{let t=jp(e),{localName:n,name:r,testId:i,value:a,error:o,hidden:s,required:c,readOnly:l,disabled:u,commit:d}=H_(e),f=(0,O.useMemo)(()=>t.props.options??[],[t.props]),p=f[0]?.value??``,m=a||p;return B_(n,m||void 0),s||f.length===0?null:(0,Y.jsxs)(bg,{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)(qh,{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 W_(){return(W_=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 G_(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 K_(e){var t=(0,O.useRef)(e),n=(0,O.useRef)(function(e){t.current&&t.current(e)});return t.current=e,n.current}var q_=function(e,t,n){return t===void 0&&(t=0),n===void 0&&(n=1),e>n?n:e<t?t:e},J_=function(e){return`touches`in e},Y_=function(e){return e&&e.ownerDocument.defaultView||self},X_=function(e,t,n){var r=e.getBoundingClientRect(),i=J_(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:q_((i.pageX-(r.left+Y_(e).pageXOffset))/r.width),top:q_((i.pageY-(r.top+Y_(e).pageYOffset))/r.height)}},Z_=function(e){!J_(e)&&e.preventDefault()},Q_=O.memo(function(e){var t=e.onMove,n=e.onKey,r=e.onEnd,i=G_(e,[`onMove`,`onKey`,`onEnd`]),a=(0,O.useRef)(null),o=K_(t),s=K_(n),c=K_(r),l=(0,O.useRef)(null),u=(0,O.useRef)(!1),d=(0,O.useMemo)(function(){var e=function(e){Z_(e),(J_(e)?e.touches.length>0:e.buttons>0)&&a.current?o(X_(a.current,e,l.current)):(n(!1),c())},t=function(){n(!1),c()};function n(n){var r=u.current,i=Y_(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&&(Z_(t),!function(e,t){return t&&!J_(e)}(t,u.current)&&r)){if(J_(t)){u.current=!0;var i=t.changedTouches||[];i.length&&(l.current=i[0].identifier)}r.focus(),o(X_(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,O.useEffect)(function(){return h},[h]),O.createElement(`div`,W_({},i,{onTouchStart:f,onMouseDown:f,className:`react-colorful__interactive`,ref:a,onKeyDown:p,onKeyUp:m,tabIndex:0,role:`slider`}))}),$_=function(e){return e.filter(Boolean).join(` `)},ev=function(e){var t=e.color,n=e.left,r=e.top,i=r===void 0?.5:r,a=$_([`react-colorful__pointer`,e.className]);return O.createElement(`div`,{className:a,style:{top:100*i+`%`,left:100*n+`%`}},O.createElement(`div`,{className:`react-colorful__pointer-fill`,style:{backgroundColor:t}}))},tv=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 nv=function(e){return uv(rv(e))},rv=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?tv(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?tv(parseInt(e.substring(6,8),16)/255,2):1}},iv=function(e){return lv(sv(e))},av=function(e){var t=e.s,n=e.v,r=e.a,i=(200-t)*n/100;return{h:tv(e.h),s:tv(i>0&&i<200?t*n/100/(i<=100?i:200-i)*100:0),l:tv(i/2),a:tv(r,2)}},ov=function(e){var t=av(e);return`hsl(`+t.h+`, `+t.s+`%, `+t.l+`%)`},sv=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:tv(255*[r,s,o,o,c,r][l]),g:tv(255*[c,r,r,s,o,o][l]),b:tv(255*[o,o,c,r,r,s][l]),a:tv(i,2)}},cv=function(e){var t=e.toString(16);return t.length<2?`0`+t:t},lv=function(e){var t=e.r,n=e.g,r=e.b,i=e.a,a=i<1?cv(tv(255*i)):``;return`#`+cv(t)+cv(n)+cv(r)+a},uv=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:tv(60*(s<0?s+6:s)),s:tv(a?o/a*100:0),v:tv(a/255*100),a:i}},dv=O.memo(function(e){var t=e.hue,n=e.onChange,r=e.onChangeEnd,i=$_([`react-colorful__hue`,e.className]);return O.createElement(`div`,{className:i},O.createElement(Q_,{onMove:function(e){n({h:360*e.left})},onKey:function(e){n({h:q_(t+360*e.left,0,360)})},onEnd:r,"aria-label":`Hue`,"aria-valuenow":tv(t),"aria-valuemax":`360`,"aria-valuemin":`0`},O.createElement(ev,{className:`react-colorful__hue-pointer`,left:t/360,color:ov({h:t,s:100,v:100,a:1})})))}),fv=O.memo(function(e){var t=e.hsva,n=e.onChange,r=e.onChangeEnd,i={backgroundColor:ov({h:t.h,s:100,v:100,a:1})};return O.createElement(`div`,{className:`react-colorful__saturation`,style:i},O.createElement(Q_,{onMove:function(e){n({s:100*e.left,v:100-100*e.top})},onKey:function(e){n({s:q_(t.s+100*e.left,0,100),v:q_(t.v-100*e.top,0,100)})},onEnd:r,"aria-label":`Color`,"aria-valuetext":`Saturation `+tv(t.s)+`%, Brightness `+tv(t.v)+`%`},O.createElement(ev,{className:`react-colorful__saturation-pointer`,top:1-t.v/100,left:t.s/100,color:ov(t)})))}),pv=function(e,t){if(e===t)return!0;for(var n in e)if(e[n]!==t[n])return!1;return!0},mv=function(e,t){return e.toLowerCase()===t.toLowerCase()||pv(rv(e),rv(t))};function hv(e,t,n,r){var i=K_(n),a=K_(r),o=(0,O.useState)(function(){return e.toHsva(t)}),s=o[0],c=o[1],l=(0,O.useRef)({color:t,hsva:s}),u=(0,O.useRef)(!1);return(0,O.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,O.useEffect)(function(){var t;pv(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,O.useCallback)(function(e){c(function(t){return Object.assign({},t,e)})},[]),(0,O.useCallback)(function(){u.current&&(u.current=!1,a(l.current.color))},[a])]}var gv,_v=typeof window<`u`?O.useLayoutEffect:O.useEffect,vv=function(){return gv||(typeof __webpack_nonce__<`u`?__webpack_nonce__:void 0)},yv=new WeakMap,bv=function(e){_v(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(!yv.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=vv();o&&a.setAttribute(`nonce`,o),yv.set(r,a),i.appendChild(a)}}},[])},xv=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=G_(e,[`className`,`colorModel`,`color`,`onChange`,`onChangeEnd`]),c=(0,O.useRef)(null);bv(c);var l=hv(n,i,a,o),u=l[0],d=l[1],f=l[2],p=$_([`react-colorful`,t]);return O.createElement(`div`,W_({},s,{ref:c,className:p}),O.createElement(fv,{hsva:u,onChange:d,onChangeEnd:f}),O.createElement(dv,{hue:u.h,onChange:d,onChangeEnd:f,className:`react-colorful__last-control`}))},Sv={defaultColor:`000`,toHsva:nv,fromHsva:function(e){return iv({h:e.h,s:e.s,v:e.v,a:1})},equal:mv},Cv=function(e){return O.createElement(xv,W_({},e,{colorModel:Sv}))},wv=`focus-visible:border-lt-ring focus-visible:ring-lt-ring/50 focus-visible:ring-[3px]`,Tv=zd([`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`,wv,`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 Ev({className:e,type:t,density:n,...r}){return(0,Y.jsx)(`input`,{type:t,"data-slot":`input`,className:J(Tv({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 Dv(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 Ov({value:e,onChange:t,palette:n,hexLabel:r=`Hex color`,paletteLabel:i=`Color palette`}){let[a,o]=(0,O.useState)(null),s=Dv(e)??`#6b7280`;return(0,Y.jsxs)(`div`,{className:`flex w-56 flex-col gap-3`,"data-slot":`color-picker`,children:[(0,Y.jsx)(Cv,{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=Dv(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)(Ev,{"aria-label":r,onBlur:()=>o(null),onChange:e=>{let n=e.target.value,r=Dv(n);o(n),r!==null&&t(r)},value:a??s})]})}function kv({node:e,label:t,children:n}){let r=H_(e);return r.hidden?null:(0,Y.jsx)(bg,{error:r.error,helperText:cp(e).helperText??void 0,tooltip:cp(e).tooltip??void 0,label:t,name:r.name,required:r.required,children:n(r)})}var Av=({node:e})=>{let t=e.props;return(0,Y.jsx)(kv,{node:e,label:t.label??``,children:({name:e,value:n,readOnly:r,disabled:i,commit:a})=>{let o=Dv(n);return(0,Y.jsxs)(nd,{children:[(0,Y.jsx)(`input`,{name:e,type:`hidden`,value:o??``}),(0,Y.jsx)(rd,{asChild:!0,children:(0,Y.jsx)(`button`,{className:J(Tv(),`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)(ad,{className:`p-3`,children:(0,Y.jsx)(Ov,{onChange:e=>a(e),palette:t.palette,value:o??`#6b7280`})})]})}})},jv=(0,O.lazy)(async()=>{let{DatePickerField:e}=await u(async()=>{let{DatePickerField:e}=await import(`./chunks/date-picker-field-CCQ9nWx0.js`);return{DatePickerField:e}},__vite__mapDeps([9,1,3,4]),import.meta.url);return{default:e}});function Mv(e){return(0,Y.jsx)(O.Suspense,{fallback:null,children:(0,Y.jsx)(jv,{...e})})}var Nv=({node:e})=>{let t=e.props;return(0,Y.jsx)(kv,{node:e,label:t.label??``,children:({name:e,testId:n,value:r,readOnly:i,disabled:a,change:o,blur:s})=>(0,Y.jsx)(Mv,{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})})},Pv=({node:e})=>{let t=e.props,{timezone:n}=Va();return(0,Y.jsx)(kv,{node:e,label:t.label??``,children:({name:e,testId:r,value:i,readOnly:a,disabled:o,change:s,blur:c})=>(0,Y.jsx)(Mv,{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})})},Fv=zd(J(`relative inline-flex shrink-0 items-center justify-center rounded-lt-sm transition-colors`,`outline-none focus-visible:ring-2 focus-visible:ring-lt-ring/50`,`disabled:pointer-events-none disabled:opacity-50`),{variants:{variant:{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:{variant:`ghost`,size:`sm`}});function Iv({icon:e,label:t,active:n,size:r,variant: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(Fv({variant:i,size:r}),a),...c,children:[e?(0,Y.jsx)(X,{name:e,"aria-hidden":`true`}):null,o]})}function Lv(e,t){return Array.isArray(t)?Array.isArray(e)&&e.length===t.length&&e.every((e,n)=>e===t[n]):e===t}var Rv=({node:e})=>{let{t}=U(`lattice`),n=e.props,{hidden:r,required:i,readOnly:a,disabled:o}=Ng(e),{action:s,componentRef:c,errors:l}=ip(),u=n.name,d=Op(),f=d?d.scopedName(u):u,p=d?d.errorKey(u):u,m=p,h=Up(),g=Kp(),_=(0,O.useId)(),v=(0,O.useRef)(null),y=(0,O.useRef)(new Set),b=a||o,x=n.signed,S=n.multiple,C=S?`${f}[]`:f,[T,E]=(0,O.useState)((0,O.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,k]=(0,O.useState)([]);(0,O.useEffect)(()=>{if(!x)return;let e=T.filter(e=>!e.existing&&e.key&&e.status===`ready`).map(e=>e.key),t=S?e:e[0]??``;if(d){Lv(d.getValue(u),t)||d.setValue(u,t);return}g(u,t)},[T,S,u,d,g,x]),(0,O.useEffect)(()=>{!x||d||g(`${u}__removed`,D)},[u,D,d,g,x]),(0,O.useEffect)(()=>()=>{y.current.forEach(e=>URL.revokeObjectURL(e)),y.current.clear()},[]);let A=(0,O.useMemo)(()=>T.filter(e=>e.file&&!e.existing).map(e=>e.file),[T]);(0,O.useEffect)(()=>{if(x||!v.current)return;let e=new DataTransfer;A.forEach(t=>e.items.add(t)),v.current.files=e.files},[A,x]);function j(e){if(!n.image)return;let t=URL.createObjectURL(e);return y.current.add(t),t}function M(e){!e.url||!y.current.has(e.url)||(URL.revokeObjectURL(e.url),y.current.delete(e.url))}async function N(e,t){let n=await Gf(s,{method:`POST`,ref:c,body:JSON.stringify({...h,_upload: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 P(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:j(e),existing:!1}));if(!S&&(T.forEach(M),!d)){let e=T.filter(e=>e.existing&&e.token).map(e=>e.token);e.length>0&&k(t=>[...t,...e])}E(e=>S?[...e,...n]:n),x&&n.forEach((e,n)=>void N(e,t[n]))}function F(e){let t=T.find(t=>t.id===e);t&&M(t),t?.existing&&t.token&&!d&&k(e=>[...e,t.token]),E(t=>t.filter(t=>t.id!==e))}return r?null:(0,Y.jsx)(bg,{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":w(u),onDragOver:e=>e.preventDefault(),onDrop:e=>{e.preventDefault(),P(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:T.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":w(`${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":w(`${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)(Iv,{size:`sm`,icon:`x`,label:t(`form.file-upload.remove`,`Remove {{name}}`,{name:e.name}),"data-test":w(e.existing?`${u}-remove-existing`:`${u}-remove`),disabled:b,onClick:()=>F(e.id)}),x&&!e.existing&&e.key&&e.status===`ready`&&(0,Y.jsx)(`input`,{"data-test":w(`${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":w(`${u}-input`),id:_,multiple:S,name:x?void 0:C,onChange:e=>{P(e.target.files),x&&(e.target.value=``)},ref:v,type:`file`})]})})};function zv({label:e,summaryLabel:t,variant:n=`default`}){let{componentId:r,errors:i,fieldLabels:a,processing:o}=ip(),s=Object.entries(i).filter(([,e])=>!!e).map(([e,t])=>({label:a[e]??e,message:t})),c=s.length>0;return(0,Y.jsxs)(`span`,{className:`group relative inline-flex flex-col`,children:[(0,Y.jsxs)($,{"data-lattice-form":r,"data-test":`form-submit`,disabled:o||c,type:`submit`,variant:n,children:[o&&(0,Y.jsx)(Lf,{}),e]}),c&&(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:s.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 Bv={start:`justify-start`,center:`justify-center`,end:`justify-end`,between:`justify-between`,around:`justify-around`,evenly:`justify-evenly`};function Vv({componentId:e,reset:t}){return xt(x.resetForm,n=>{let r=n.detail;(!r?.form||r.form===e)&&t()}),null}function Hv({action:e,children:t,componentRef:n,nodes:r,shouldRenderSubmitButton:i,submitButtons:a,submitJustify:o,submitLabel:s,submitVariant:c,summaryLabel:l}){let{nodes:u,markUserEdit:d}=lm(e,n,r);return(0,Y.jsx)(op,{value:{markUserEdit:d},children:(0,Y.jsx)(Ap,{nodes:u,children:(0,Y.jsxs)(`div`,{className:`flex flex-col gap-6`,children:[t,i&&(0,Y.jsx)(`div`,{className:`flex gap-3 ${Bv[o??`end`]}`,children:a?.length?a.map((e,t)=>e.props.buttonType===`submit`?(0,Y.jsx)(zv,{label:e.props.label??s,summaryLabel:l,variant:e.props.variant??c??`default`},br(e,t)):(0,Y.jsx)(Er,{node:e},br(e,t))):(0,Y.jsx)(zv,{label:s,summaryLabel:l,variant:c??`default`})})]})})})}var Uv=({children:e,node:t})=>{let{t:n}=U(`lattice`),r=t.props,i=r.action??`#`,o=r.errorBag,s=r.ref??``,c=r.method??`post`,l=r.precognitive,u=r.resetOnError??!1,d=r.resetOnSuccess??[],f=r.state,{labels:p,values:m}=(0,O.useMemo)(()=>um(t.schema),[t.schema]),h=(0,O.useMemo)(()=>({...m,...f}),[m,f]),g=r.submitButton,_=r.submitButtons??void 0,v=r.submitJustify??void 0,y=r.submitLabel??n(`form.submit`,`Submit`),b=r.submitVariant??void 0,x=r.validationSummaryLabel,S=r.validationTimeout??void 0;return(0,Y.jsx)(a,{action:i,"data-slot":`form`,"data-lattice-component":t.id,errorBag:o,method:c,resetOnError:u,resetOnSuccess:d,validationTimeout:l?S:void 0,headers:Pt(s),className:`mx-auto flex w-full max-w-2xl flex-col gap-6`,children:({clearErrors:n,errors:a,processing:o,reset:c,validate:u})=>(0,Y.jsxs)(rp,{value:{action:i,clearErrors:e=>n(e),componentId:t.id,componentRef:s,errors:a,fieldLabels:p,precognitive:l,processing:o,validate:e=>u(e)},children:[(0,Y.jsx)(Vv,{componentId:t.id,reset:c}),r.status&&(0,Y.jsx)(`div`,{className:`text-center text-sm font-medium text-lt-success`,children:r.status}),(0,Y.jsx)(Vp,{initial:h,children:(0,Y.jsx)(Hv,{action:i,componentRef:s,nodes:t.schema,shouldRenderSubmitButton:g,submitButtons:_,submitJustify:v,submitLabel:y,submitVariant:b,summaryLabel:x,children:e})})]})})},Wv=({node:e})=>{let t=Op(),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 Gv({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)(_r,{className:`size-lt-icon-md`,icon:e.icon}):e.text})}function Kv({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-[3px] has-[:focus-visible]:ring-lt-ring/50`,"data-slot":`affix-group`,children:[e?(0,Y.jsx)(Gv,{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)(Gv,{affix:t,side:`end`,squared:!!n}):null,n]})}var qv=({node:e})=>{let t=e.props;return(0,Y.jsx)(kv,{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:opacity-50`,"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)(Kv,{prefix:t.prefix,suffix:t.suffix,children:o=>(0,Y.jsx)(Ev,{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})})}})},Jv=Object.defineProperty,Yv=Object.defineProperties,Xv=Object.getOwnPropertyDescriptors,Zv=Object.getOwnPropertySymbols,Qv=Object.prototype.hasOwnProperty,$v=Object.prototype.propertyIsEnumerable,ey=(e,t,n)=>t in e?Jv(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,ty=(e,t)=>{for(var n in t||={})Qv.call(t,n)&&ey(e,n,t[n]);if(Zv)for(var n of Zv(t))$v.call(t,n)&&ey(e,n,t[n]);return e},ny=(e,t)=>Yv(e,Xv(t)),ry=(e,t)=>{var n={};for(var r in e)Qv.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Zv)for(var r of Zv(e))t.indexOf(r)<0&&$v.call(e,r)&&(n[r]=e[r]);return n};function iy(e){return[setTimeout(e,0),setTimeout(e,10),setTimeout(e,50)]}function ay(e){let t=O.useRef();return O.useEffect(()=>{t.current=e}),t.current}var oy=18,sy=40,cy=`${sy}px`,ly=[`[data-lastpass-icon-root]`,`com-1password-button`,`[data-dashlanecreated]`,`[style$="2147483647 !important;"]`].join(`,`);function uy({containerRef:e,inputRef:t,pushPasswordManagerStrategy:n,isFocused:r}){let[i,a]=O.useState(!1),[o,s]=O.useState(!1),[c,l]=O.useState(!1),u=O.useMemo(()=>n===`none`?!1:(n===`increase-width`||n===`experimental-no-flickering`)&&i&&o,[i,o,n]),d=O.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-oy,f=u;document.querySelectorAll(ly).length===0&&document.elementFromPoint(d,f)===r||(a(!0),l(!0))},[e,t,c,n]);return O.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]),O.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 dy=O.createContext({}),fy=O.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=my,render:h,children:g}=n,_=ry(n,[`value`,`onChange`,`maxLength`,`textAlign`,`pattern`,`placeholder`,`inputMode`,`onComplete`,`pushPasswordManagerStrategy`,`pasteTransformer`,`containerClassName`,`noScriptCSSFallback`,`render`,`children`]),v;let[y,b]=O.useState(typeof _.defaultValue==`string`?_.defaultValue:``),x=r??y,S=ay(x),C=O.useCallback(e=>{i?.(e),b(e)},[i]),w=O.useMemo(()=>s?typeof s==`string`?new RegExp(s):s:null,[s]),T=O.useRef(null),E=O.useRef(null),D=O.useRef({value:x,onChange:C,isIOS:typeof window<`u`&&((v=window==null?void 0:window.CSS)?.supports)?.call(v,`-webkit-touch-callout`,`none`)}),k=O.useRef({prev:[T.current?.selectionStart,T.current?.selectionEnd,T.current?.selectionDirection]});O.useImperativeHandle(t,()=>T.current,[]),O.useEffect(()=>{let e=T.current,t=E.current;if(!e||!t)return;D.current.value!==e.value&&D.current.onChange(e.value),k.current.prev=[e.selectionStart,e.selectionEnd,e.selectionDirection];function n(){if(document.activeElement!==e){F(null),ee(null);return}let t=e.selectionStart,n=e.selectionEnd,r=e.selectionDirection,i=e.maxLength,a=e.value,o=k.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;F(u),ee(d),k.current.prev=[u,d,f]}if(document.addEventListener(`selectionchange`,n,{capture:!0}),n(),document.activeElement===e&&N(!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;`;py(e.sheet,`[data-input-otp]::selection { background: transparent !important; color: transparent !important; }`),py(e.sheet,`[data-input-otp]:autofill { ${t} }`),py(e.sheet,`[data-input-otp]:-webkit-autofill { ${t} }`),py(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; } }`),py(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[A,j]=O.useState(!1),[M,N]=O.useState(!1),[P,F]=O.useState(null),[I,ee]=O.useState(null);O.useEffect(()=>{iy(()=>{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&&(F(t),ee(n),k.current.prev=[t,n,r])})},[x,M]),O.useEffect(()=>{S!==void 0&&x!==S&&S.length<a&&x.length===a&&u?.(x)},[a,u,S,x]);let te=uy({containerRef:E,inputRef:T,pushPasswordManagerStrategy:d,isFocused:M}),ne=O.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]),re=O.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),F(t),ee(n)}N(!0)},[a]),L=O.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),F(c),ee(l)},[a,C,w,x]),R=O.useMemo(()=>({position:`relative`,cursor:_.disabled?`default`:`text`,userSelect:`none`,WebkitUserSelect:`none`,pointerEvents:`none`}),[_.disabled]),z=O.useMemo(()=>({position:`absolute`,inset:0,width:te.willPushPWMBadge?`calc(100% + ${te.PWM_BADGE_SPACE_WIDTH})`:`100%`,clipPath:te.willPushPWMBadge?`inset(0 ${te.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`}),[te.PWM_BADGE_SPACE_WIDTH,te.willPushPWMBadge,o]),ie=O.useMemo(()=>O.createElement(`input`,ny(ty({autoComplete:_.autoComplete||`one-time-code`},_),{"data-input-otp":!0,"data-input-otp-placeholder-shown":x.length===0||void 0,"data-input-otp-mss":P,"data-input-otp-mse":I,inputMode:l,pattern:w?.source,"aria-placeholder":c,style:z,maxLength:a,value:x,ref:T,onPaste:e=>{var t;L(e),(t=_.onPaste)==null||t.call(_,e)},onChange:ne,onMouseOver:e=>{var t;j(!0),(t=_.onMouseOver)==null||t.call(_,e)},onMouseLeave:e=>{var t;j(!1),(t=_.onMouseLeave)==null||t.call(_,e)},onFocus:e=>{var t;re(),(t=_.onFocus)==null||t.call(_,e)},onBlur:e=>{var t;N(!1),(t=_.onBlur)==null||t.call(_,e)}})),[ne,re,L,l,z,a,I,P,_,w?.source,x]),B=O.useMemo(()=>({slots:Array.from({length:a}).map((e,t)=>{let n=M&&P!==null&&I!==null&&(P===I&&t===P||t>=P&&t<I),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:M,isHovering:!_.disabled&&A}),[M,A,a,I,P,_.disabled,x]),ae=O.useMemo(()=>h?h(B):O.createElement(dy.Provider,{value:B},g),[g,B,h]);return O.createElement(O.Fragment,null,m!==null&&O.createElement(`noscript`,null,O.createElement(`style`,null,m)),O.createElement(`div`,{ref:E,"data-input-otp-container":!0,style:R,className:p},ae,O.createElement(`div`,{style:{position:`absolute`,inset:0,pointerEvents:`none`}},ie)))});fy.displayName=`Input`;function py(e,t){try{e.insertRule(t)}catch{console.error(`input-otp could not insert CSS rule:`,t)}}var my=`
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
- }`,Oy=`^\\d+$`;function ky({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-[3px]`),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 Ay({length:e,containerClassName:t,pattern:n=Oy,...r}){return(0,Y.jsx)(Ty,{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)(ky,{...e},t))}),...r})}var jy=({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)(Ay,{autoFocus:t.autoFocus??!1,"data-test":n,disabled:a||i,id:e,length:t.length,name:e,onChange:e=>o(e),value:r})})};function My({className:e,ref:t,...n}){let[r,i]=(0,O.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-[3px] focus-visible:ring-lt-ring 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 Ny=({node:e})=>{let t=e.props,{errors:n}=ip(),r=tv(e),{commit:i}=Yp(),a=Op(),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)(ay,{prefix:t.prefix,suffix:t.suffix,children:e=>(0,Y.jsx)(My,{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)(My,{autoComplete:`new-password`,"data-test":w(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})})]})},Py=[],Fy=({node:e})=>{let t=e.props,n=t.name,{errors:r}=ip(),{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??Py,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:gp}),_?(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`]})]})})},Iy=250;function Ly({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}=U(`lattice`),[S,C]=(0,O.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(``):k()}let T=d.some(e=>e.label.toLowerCase()===S.trim().toLowerCase()),E=fm(e=>s?.(e),Iy);(0,O.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 k(){C(``),u(!1)}function A(e){c(e),i||k()}return(0,Y.jsxs)(nd,{open:l,onOpenChange:e=>e?u(!0):k(),children:[(0,Y.jsx)(rd,{asChild:!0,children:(0,Y.jsx)(`button`,{type:`button`,className:y,...b,children:v})}),(0,Y.jsxs)(ad,{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:()=>A(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 Ry(e,t){let n=e??t;return Array.isArray(n)?n.map(String):n==null||n===``?[]:[String(n)]}var zy=({node:e})=>{let{t}=U(`lattice`),n=e.props,{action:r,componentRef:i,errors:a,fieldIdPrefix:o,searchOptions:s}=ip(),{hidden:c,required:l,readOnly:u,disabled:d}=Kg(e),{change:f,blur:p}=Yp(),m=jp(e),h=n.name,g=Op(),_=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,O.useMemo)(()=>m.props.options??[],[m.props]),T=m.props.optionSchema,E=Wp(h),D=Up(),k=(0,O.useRef)(D);k.current=D;let A=g?g.getValue(h):E,j=(0,O.useMemo)(()=>Ry(A,n.value),[A,n.value]),M=(0,O.useRef)(j);M.current=j;let[N,P]=(0,O.useState)(!1),[F,I]=(0,O.useState)(null),[ee,te]=(0,O.useState)(!1),ne=(0,O.useRef)(null),re=(0,O.useMemo)(()=>{let e=new Map;for(let t of[...w,...F??[]])e.set(t.value,t);return e},[w,F]),L=e=>re.get(e)?.label??e,R=e=>Th(re.get(e)?.data?.color),z=u||d,ie=(0,O.useCallback)(e=>{if(ne.current?.abort(),e.trim()===``){I(null),te(!1);return}let t=new AbortController;if(ne.current=t,te(!0),s){s(y,e,k.current,t.signal).then(e=>{I(e),te(!1)}).catch(()=>{});return}$p(r,i,{...k.current,_search:y,q:e},t.signal).then(e=>{I(e?.options??[]),te(!1)}).catch(()=>{})},[r,i,y,s]);function B(e){f(h,x?e:e[0]??``)}function ae(e){if(x){let t=M.current.includes(e)?M.current.filter(t=>t!==e):[...M.current,e];M.current=t,B(t);return}M.current=[e],B([e])}function V(e){B(j.filter(t=>t!==e))}function oe(e){if(!x){M.current=[e],B([e]);return}if(!M.current.includes(e)){let t=[...M.current,e];M.current=t,B(t)}}if(c)return null;let se=S?F??w:w,ce=T?.length?e=>(0,Y.jsx)(Tr,{nodes:Ot(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?j.map(e=>(0,Y.jsx)(`input`,{name:`${_}[]`,type:`hidden`,value:e},e)):(0,Y.jsx)(`input`,{name:_,type:`hidden`,value:j[0]??``}),(0,Y.jsxs)(`div`,{children:[x&&j.length>0&&(0,Y.jsx)(`div`,{className:`mb-1.5 flex flex-wrap gap-1`,children:j.map(e=>{let n=R(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:Eh(n)}}),L(e),!z&&(0,Y.jsx)(`button`,{"aria-label":t(`form.remove-option`,`Remove {{label}}`,{label:L(e)}),"data-test":`select-${h}-remove-${e}`,className:`text-lt-muted-fg hover:text-lt-fg [&_svg]:size-lt-icon-xs`,onClick:()=>V(e),type:`button`,children:(0,Y.jsx)(X,{name:`x`})})]},e)})}),(0,Y.jsx)(Ly,{creatable:C,emptyLabel:n.emptyLabel??void 0,loading:ee,multiple:x,onCommit:oe,onCreate:oe,onSearch:S?ie:void 0,onSelect:ae,open:N&&!z,onOpenChange:e=>{P(e),e||p(h)},options:se,renderOption:ce,searchPlaceholder:n.searchPlaceholder??void 0,showSearch:!!(S||C),selected:j,testId:`select-${h}`,trigger:(0,Y.jsxs)(Y.Fragment,{children:[!x&&j.length>0?(0,Y.jsx)(`span`,{children:L(j[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`,z&&`cursor-not-allowed opacity-60`),triggerProps:{"aria-haspopup":`listbox`,autoFocus:n.autoFocus??void 0,"data-test":`select-${h}`,disabled:z,id:_,tabIndex:n.tabIndex??void 0}})]})]})};function By({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 Vy=({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)(By,{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})})},Hy=({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)(ay,{prefix:t.prefix,suffix:t.suffix,end:t.copyable?(0,Y.jsx)(bh,{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})})})},Uy=/^(\d{1,2}):(\d{2})(?::(\d{2}))?$/;function Wy(e){if(typeof e!=`string`)return null;let t=Uy.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 Gy(e,t){let n=[Qy(e.hour),Qy(e.minute)];return t&&n.push(Qy(e.second)),n.join(`:`)}function Ky(e){return e!=null&&e<60}function qy(e,t={}){let{min:n,max:r,current:i}=t,a=Yy(n),o=Yy(r),s=e==null||e<60?1:e%60==0?e/60:1;return{hours:Zy(0,23,1).map(e=>({value:e,label:Qy(e),disabled:a!=null&&e<a.hour||o!=null&&e>o.hour})),minutes:Xy(Zy(0,59,s),i?.minute).map(e=>({value:e,label:Qy(e),disabled:Jy(e,i,a,o)})),seconds:Ky(e)?Zy(0,59,1).map(e=>({value:e,label:Qy(e),disabled:!1})):null}}function Jy(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 Yy(e){let t=Wy(e);return t?{hour:t.hour,minute:t.minute}:null}function Xy(e,t){return t==null||e.includes(t)?e:[...e,t].sort((e,t)=>e-t)}function Zy(e,t,n){let r=[];for(let i=e;i<=t;i+=n)r.push(i);return r}function Qy(e){return String(e).padStart(2,`0`)}function $y({value:e,onChange:t,step:n,min:r,max:i,disabled:a=!1,readOnly:o=!1,labels:s,testId:c}){let l=(0,O.useRef)(null),u=qy(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)(eb,{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 eb({label:e,options:t,selected:n,disabled:r,onSelect:i,onHorizontal:a}){let o=(0,O.useRef)(null),s=t.filter(e=>!e.disabled).map(e=>e.value),c=n??s[0]??t[0]?.value??0;(0,O.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 tb=({node:e})=>{let t=e.props,n=Ky(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=Wy(a);e&&c(Gy(e,n)),l()},onChange:e=>c(e.target.value),readOnly:o,tabIndex:t.tabIndex??void 0,type:`text`,value:a}),(0,Y.jsxs)(nd,{children:[(0,Y.jsx)(rd,{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)(ad,{className:`p-2`,children:(0,Y.jsx)($y,{value:Wy(a),onChange:e=>c(Gy(e,n)),step:t.step,min:t.min,max:t.max,disabled:s,readOnly:o,testId:`${i}-picker`})})]})]})})},nb=({node:e})=>{let{hidden:t,required:n,readOnly:r,disabled:i}=Kg(e),a=e.props,o=a.name,s=Op(),{errors:c,fieldIdPrefix:l}=ip(),u=Q_(s?s.scopedName(o):o,l),d=s?s.errorKey(o):o,f=Wp(o),p=s?s.getValue(o):f,m=Ig(a.value),h=p===void 0?m:Ig(p),g=r||i,{commit:_}=Yp();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-[3px] focus-visible:ring-lt-ring/50 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-lt-primary`),"data-state":h?`checked`:`unchecked`,"data-test":w(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`})})]})},rb=(0,O.lazy)(()=>u(()=>import(`./chunks/rich-editor-field-B9Nv1qia.js`),__vite__mapDeps([10,1,3,8]),import.meta.url)),ib=ie({components:{form:z(ny),"field.builder":z(N_),"field.checkbox":z(ev),"field.choice":z(nv),"field.color-picker":z(Uv),"field.date-input":z(Kv),"field.date-time-input":z(qv),"field.file-upload":z(Zv),"field.hidden-input":z(ry),"field.number-input":z(oy),"field.otp":z(jy),"field.password-input":z(Ny),"field.repeater":z(Fy),"field.rich-editor":z(({children:e,node:t})=>(0,Y.jsx)(O.Suspense,{fallback:null,children:(0,Y.jsx)(rb,{node:t,children:e})})),"field.select":z(zy),"field.textarea":z(Vy),"field.text-input":z(Hy),"field.time-input":z(tb),"field.toggle":z(nb)},name:`lattice/form`});function ab(e,t=1){return Kf(`${e}?page=${t}`)}function ob(e,t){return Kf(`${e}/${t}/read`,{method:`PATCH`})}function sb(e){return Kf(`${e}/read-all`,{method:`POST`})}function cb(e,t){return Kf(`${e}/${t}`,{method:`DELETE`})}function lb(e){return Kf(e,{method:`DELETE`})}function ub(e,t){return e.some(e=>e.id===t.id)?e:[t,...e]}function db(e,t){return e.map(e=>e.id===t?{...e,isRead:!0}:e)}function fb(e,t){return e.filter(e=>e.id!==t)}function pb({endpoint:e,pollingInterval:t}){let[n,r]=(0,O.useState)([]),[i,a]=(0,O.useState)(0),[o,s]=(0,O.useState)(`loading`),[c,l]=(0,O.useState)(!1),[u,d]=(0,O.useState)(!1),f=(0,O.useRef)(1),p=(0,O.useRef)(c);p.current=c;let m=(0,O.useRef)(!1),h=(0,O.useCallback)(async()=>{try{let t=await ab(e,1);f.current=1,r(t.notifications),a(t.unreadCount),l(t.hasMore),s(`idle`)}catch{s(`error`)}},[e]);return(0,O.useEffect)(()=>{h()},[h]),(0,O.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,O.useCallback)(()=>{if(m.current||!p.current)return;m.current=!0;let t=f.current+1;ab(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,O.useCallback)(t=>{r(e=>db(e,t)),a(e=>Math.max(0,e-1)),ob(e,t).then(e=>a(e.unreadCount)).catch(()=>void h())},[e,h]),markAllRead:(0,O.useCallback)(()=>{r(e=>e.map(e=>({...e,isRead:!0}))),a(0),sb(e).then(e=>a(e.unreadCount)).catch(()=>void h())},[e,h]),dismiss:(0,O.useCallback)(t=>{r(e=>fb(e,t)),cb(e,t).then(e=>a(e.unreadCount)).catch(()=>void h())},[e,h]),clearAll:(0,O.useCallback)(()=>{r([]),a(0),lb(e).then(e=>a(e.unreadCount)).catch(()=>void h())},[e,h]),receive:(0,O.useCallback)(e=>{r(t=>{let n=ub(t,e);return n!==t&&a(e=>e+1),n})},[])}}function mb(){let{t:e}=U(`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 hb={success:`text-lt-success`,info:`text-lt-info`,warning:`text-lt-warning`,error:`text-lt-danger`};function gb({notification:e,onMarkRead:t,onDismiss:n}){let{t:r}=U(`lattice`),i=(0,Y.jsxs)(Y.Fragment,{children:[e.title?(0,Y.jsx)(`p`,{className:`truncate text-sm font-medium text-lt-fg`,children:e.title}):null,e.body?(0,Y.jsx)(`p`,{className:`text-sm text-lt-muted-fg`,children:e.body}):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)(_r,{icon:e.icon,className:J(`mt-0.5 size-lt-icon-md`,e.variant?hb[e.variant]:void 0)}):null,(0,Y.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[e.href?(0,Y.jsx)(_,{href:e.href,className:`block`,"data-test":`notification-link`,onClick:()=>t(e.id),children:i}):i,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)(Er,{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 _b({notifications:e,status:t,hasMore:n,onMarkRead:r,onDismiss:i,onLoadMore:a}){let{t:o}=U(`lattice`);return t===`loading`&&e.length===0?(0,Y.jsxs)(`div`,{className:`space-y-2 p-3`,children:[(0,Y.jsx)(tp,{className:`h-12 w-full`}),(0,Y.jsx)(tp,{className:`h-12 w-full`}),(0,Y.jsx)(tp,{className:`h-12 w-full`})]}):e.length===0?(0,Y.jsx)(mb,{}):(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)(gb,{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 vb=(0,O.lazy)(()=>u(()=>import(`./chunks/notifications-echo-DsfNc4Ge.js`).then(e=>({default:e.NotificationsEcho})),__vite__mapDeps([11,5,1]),import.meta.url)),yb=class extends O.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}},bb=ie({name:`lattice/notifications`,components:{notifications:z(({node:e})=>{let{t}=U(`lattice`),n=pb({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)(nh,{variant:`destructive`,"data-test":`notifications-badge`,className:`absolute -right-0.5 -top-0.5 min-w-4 px-1 py-0 text-[10px]`,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)(_b,{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)(yb,{children:(0,Y.jsx)(O.Suspense,{fallback:null,children:(0,Y.jsx)(vb,{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)(jf,{open:n.open,onOpenChange:n.setOpen,children:(0,Y.jsxs)(Ff,{"aria-describedby":void 0,className:`p-0`,placement:`end`,width:`sm`,children:[(0,Y.jsx)(Nf,{className:`sr-only`,children:r}),a]})})]}):(0,Y.jsxs)(nd,{open:n.open,onOpenChange:n.setOpen,children:[(0,Y.jsx)(rd,{asChild:!0,children:(0,Y.jsx)(`button`,{type:`button`,"aria-label":r,"data-test":`notifications-trigger`,children:i})}),(0,Y.jsx)(ad,{align:`end`,className:`p-0`,children:a})]})]})})}});function xb(e){return e==null?``:String(e)}function Sb({props:e}){let{t}=U(`lattice`),[n,r]=(0,O.useState)([]),[i,a]=(0,O.useState)(null),[o,s]=(0,O.useState)(!1);return(0,O.useEffect)(()=>{if(!e.remote||!e.dataEndpoint){r([]),s(!1);return}let t=!1;return a(null),s(!0),$f(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)(Tr,{nodes:Ot(e.schema,t)})},xb(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 Cb=ie({components:{"remote.data-list":z(({node:e})=>(0,Y.jsx)(Sb,{props:{...e.props,schema:e.schema}}))},name:`lattice/remote`});function wb({columns:e,storageKey:t}){let n=(0,O.useMemo)(()=>e.filter(e=>e.props.toggleable),[e]),r=(0,O.useMemo)(()=>n.map(e=>e.key),[n]),[i,a]=wd(t??``,{},{enabled:!!t,parse:e=>Eb(e,r),serialize:e=>Db(e,r)}),o=(0,O.useCallback)(e=>e.props.toggleable?i[e.key]??!e.props.hiddenByDefault:!0,[i]),s=(0,O.useMemo)(()=>e.filter(e=>o(e)),[e,o]),c=(0,O.useCallback)((e,t)=>{a(n=>({...n,[e]:t}))},[a]),l=(0,O.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 Tb(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 Eb(e,t){let n=JSON.parse(e);if(!Ob(n))throw Error(`unexpected stored column visibility shape`);return Tb(n.overrides,t)}function Db(e,t){let n=Tb(e,t);return Object.keys(n).length===0?null:JSON.stringify({columns:t,overrides:n})}function Ob(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 kb(){let[e,t]=(0,O.useState)(()=>new Set);return{isExpanded:(0,O.useCallback)(t=>e.has(t),[e]),toggle:(0,O.useCallback)(e=>{t(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},[])}}var Ab={start:`text-start`,center:`text-center`,end:`text-end`},jb={start:`justify-start`,center:`justify-center`,end:`justify-end`},Mb={start:`justify-items-start`,center:`justify-items-center`,end:`justify-items-end`},Nb=e=>Ab[e],Pb=e=>jb[e],Fb=e=>Mb[e];function Ib(e){return(e??[]).flatMap(e=>{if(e.type===`action.group`)return[];let t=e.props;return t.endpoint?[{id:e.id??``,label:vm(e),method:t.method??`post`,endpoint:t.endpoint,ref:t.ref??``,variant:t.variant??`default`,confirmation:t.confirmation,form:t.form,modalSide:t.modalSide,modalWidth:t.modalWidth}]:[]})}function Lb(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 Rb(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 Bb={mode:`none`,currentPage:null,lastPage:null,perPage:null,total:null,from:null,to:null,hasMore:!1,nextPage:null};function Vb(e){return typeof e!=`object`||!e||Array.isArray(e)?Bb:e}function Hb(e){if(typeof e!=`object`||!e||Array.isArray(e))return{filters:[],sorts:[],page:1,perPage:25,tableFilters:{},tableFilterIndicators:[],search:``};let t=e;return{filters:Lb(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:Ub(t.tableFilters),tableFilterIndicators:Wb(t.tableFilterIndicators),search:typeof t.search==`string`?t.search:``}}function Ub(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 Wb(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 Gb(e,t){let n=e.id??e.uuid??e.key??t;return String(n)}function Kb(e){return Array.isArray(e.actions)?e.actions:[]}function qb(e){let t=e.detail;return typeof t==`object`&&t&&!Array.isArray(t)?t:null}function Jb(e){return e==null||e===``}function Yb(e){return Jb(e)?!0:Array.isArray(e)?e.every(Yb):typeof e==`object`&&e?Object.values(e).every(Yb):!1}function Xb(e){return!Yb(e)}function Zb(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function Qb(e){return Zb(e)?e:{}}function $b(e,t){return e.sorts.find(e=>e.key===t.key)}function ex(e){if(e?.direction===`asc`)return`ascending`;if(e?.direction===`desc`)return`descending`}function tx(e,t){let n=new URL(e,window.location.origin);return t.filters.length>0&&n.searchParams.set(`filter`,cx(t)),t.sorts.length>0&&n.searchParams.set(`sort`,lx(t)),t.search!==``&&n.searchParams.set(`q`,t.search),nx(n,t.tableFilters),n.searchParams.set(`page`,String(t.page)),n.searchParams.set(`per_page`,String(t.perPage)),`${n.pathname}${n.search}`}function nx(e,t){for(let[n,r]of Object.entries(rx(t)))ox(e,`tf[${n}]`,r)}function rx(e){let t={};for(let[n,r]of Object.entries(e)){let e=ix(r);e!==void 0&&(t[n]=e)}return t}function ix(e){if(Jb(e)||Array.isArray(e)||typeof e!=`object`)return;let t=Object.entries(e).map(([e,t])=>[e,ax(t)]).filter(e=>e[1]!==void 0);return t.length>0?Object.fromEntries(t):void 0}function ax(e){if(!Jb(e)){if(Array.isArray(e)){let t=e.map(ax).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,ax(t)]).filter(e=>e[1]!==void 0);return t.length>0?Object.fromEntries(t):void 0}return String(e)}}function ox(e,t,n){if(Array.isArray(n)){for(let r of n)ox(e,`${t}[]`,r);return}if(typeof n==`object`&&n){for(let[r,i]of Object.entries(n))ox(e,`${t}[${r}]`,i);return}e.searchParams.append(t,String(n))}function sx(e){let t={};e.filters.length>0&&(t.filter=cx(e)),e.sorts.length>0&&(t.sort=lx(e));let n=rx(e.tableFilters);return Object.keys(n).length>0&&(t.tf=n),e.search!==``&&(t.q=e.search),t}function cx(e){return e.filters.map(e=>`${e.field}:${e.operator}:${encodeURIComponent(e.value)}`).join(`,`)}function lx(e){return e.sorts.map(e=>e.direction===`desc`?`-${e.key}`:e.key).join(`,`)}var ux={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`},dx=new Set([`empty`,`filled`]);function fx(e){return bt(`lattice`,`table.operators.${e}`,ux[e]??e)}function px(e){return e===`desc`?`descending`:`ascending`}function mx(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 hx(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 gx(e){return e.map(e=>({key:e.key,label:e.props.label,width:_x(e)}))}function _x(e){return e.props.width??`md`}function vx(e,t,n=!1){return{leadingTracks:[...n?[`2.5rem`]:[],...t?[`3rem`]:[]],trailingTracks:e?[`10rem`]:[]}}function yx(e){let t=(0,O.useMemo)(()=>Rb(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,a=(0,O.useMemo)(()=>Hb(e.props?.query),[e.props?.query]),o=(0,O.useMemo)(()=>zb(e.props?.data),[e.props?.data]),s=(0,O.useMemo)(()=>Vb(e.props?.pagination),[e.props?.pagination]),[c,l]=(0,O.useState)(o),[u,d]=(0,O.useState)(s),[f,p]=(0,O.useState)(a),[m,h]=(0,O.useState)(i),[g,_]=(0,O.useState)(!i),v=(0,O.useRef)(null),y=u.currentPage??f.page,b=(u.mode??`table`)===`infinite`,S=(0,O.useCallback)(async(e,t=!1)=>{if(n){h(!0);try{let i=await Kf(tx(n,e),{ref:r}),a=Hb(i.query),o=zb(i.data);l(e=>t?[...e,...o]:o),d(Vb(i.pagination)),p(a),_(!0)}finally{h(!1)}}},[n,r]);function C(e){S({...f,page:1,sorts:mx(f.sorts,e)})}function w(e){S({...f,page:1,sorts:f.sorts.filter(t=>t.key!==e.key)})}function T(e){let t={...f,filters:e,page:1};p(t),S(t)}function E(e){T([...f.filters,e])}function D(e,t){T(f.filters.map((n,r)=>r===e?t:n))}function k(e){T(f.filters.filter((t,n)=>n!==e))}function A(e,t){T([...f.filters.filter(t=>t.field!==e),...t])}function j(e,t){let n={...f.tableFilters};Yb(t)||!Zb(t)?delete n[e]:n[e]=t;let r={...f,tableFilters:n,tableFilterIndicators:f.tableFilterIndicators.filter(t=>t.filter!==e),page:1};p(r),S(r)}function M(){let e={...f,filters:[],tableFilters:{},tableFilterIndicators:[],search:``,page:1};p(e),S(e)}function N(e){let t={...f,search:e,page:1};p(t),S(t)}let P=(0,O.useCallback)(async(e,t,i)=>{if(!n)return[];let a=new URL(n,window.location.origin);a.searchParams.set(`_search`,e),a.searchParams.set(`_q`,t);let o=await Gf(`${a.pathname}${a.search}`,{ref:r,signal:i,throwOnError:!1});return o.ok?(await o.json()).options??[]:[]},[n,r]);function F(e){S({...f,page:e})}let I=(0,O.useCallback)(()=>{m||!u.hasMore||S({...f,page:u.nextPage??y+1},!0)},[y,S,u.hasMore,u.nextPage,m,f]);return(0,O.useEffect)(()=>{l(o),d(s),p(a),h(i),_(!i)},[o,s,a,i]),(0,O.useEffect)(()=>{!i||g||S(f)},[g,i,S,f]),xt(x.reloadComponent,t=>{t.detail?.component===e.id&&S(f)}),(0,O.useEffect)(()=>{if(!b||!u.hasMore||m||!v.current||typeof IntersectionObserver>`u`)return;let e=new IntersectionObserver(e=>{e.some(e=>e.isIntersecting)&&I()},{rootMargin:`240px`});return e.observe(v.current),()=>e.disconnect()},[b,I,u.hasMore,m]),{columns:t,rows:c,pagination:u,query:f,filters:f.filters,tableFilters:f.tableFilters,search:f.search,addFilter:E,updateFilter:D,removeFilter:k,replaceColumnFilters:A,setTableFilter:j,resetFilters:M,setSearch:N,searchFilterOptions:P,processing:m,hasLoaded:g,infiniteLoaderRef:v,sort:C,clearSort:w,goToPage:F,loadMore:I}}function bx(e){let[t,n]=(0,O.useState)(()=>new Set),[r,i]=(0,O.useState)(!1);(0,O.useEffect)(()=>{n(new Set),i(!1)},[e.join(` `)]);let a=(0,O.useCallback)(e=>{i(!1),n(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},[]),o=(0,O.useCallback)(()=>{i(!1),n(t=>t.size===e.length?new Set:new Set(e))},[e]),s=(0,O.useCallback)(()=>i(!0),[]),c=(0,O.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 xx({actions:e,selectedKeys:t,allMatching:n,total:r,query:i,canSelectAllMatching:a,onSelectAllMatching:o,onCompleted:s}){let{t:c}=U(`lattice`),[l,u]=(0,O.useState)(!1),d=g(),[f,p]=(0,O.useState)(null),[m,h]=(0,O.useState)(null),_=()=>n?{allMatching:!0,...i}:{selected:t};async function v(e){u(!0);let t=await ep(()=>Gf(e.endpoint,{method:e.method,ref:e.ref,body:JSON.stringify(_()),throwOnError:!1}),d);u(!1),t&&(p(null),s())}function y(e){if(e.form){h(e);return}if(e.confirmation){p(e);return}v(e)}let b=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:b}):c(`table.bulk.selected`,`{{count}} selected`,{count:b})}),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":E(`bulk-action`,e.id),variant:e.variant,disabled:l,onClick:()=>y(e),children:[l&&(0,Y.jsx)(Lf,{}),e.label]},e.id))}),f?.confirmation&&(0,Y.jsx)(Rf,{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,processing:l,onConfirm:()=>void v(f),onCancel:()=>p(null)}),m?.form&&(0,Y.jsx)(_m,{cancelLabel:m.confirmation?.cancelLabel??c(`common.cancel`,`Cancel`),componentRef:m.ref,description:m.confirmation?.description??void 0,endpoint:m.endpoint,extraData:_(),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 Sx({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 Cx(e){return e===!0||e===1||e===`1`||e===`true`}function wx({filter:e,value:t,processing:n,bare:r=!1,onChange:i,onSearch:a}){let{t:o}=U(`lattice`),s=e.schema??[];return s.length===0?(0,Y.jsx)(Dx,{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)(Tx,{filter:e,schema:s,value:t,processing:n,bare:r,onChange:i,onSearch:a})}),Xb(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 Tx({filter:e,schema:t,value:n,processing:r,bare:i,onChange:a,onSearch:o}){let s=(0,O.useMemo)(()=>Qb(n),[n]),c=(0,O.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([]),validate:()=>{}}),[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)(Tr,{nodes:t})});return(0,Y.jsx)(rp,{value:c,children:(0,Y.jsx)(op,{value:{markUserEdit:()=>{}},children:(0,Y.jsx)(Ap,{nodes:{},children:(0,Y.jsx)(Vp,{initial:s,children:(0,Y.jsx)(Ex,{onChange:a,children:i?(0,Y.jsx)(Zp,{children:l}):l})})})})})}function Ex({children:e,onChange:t}){let n=Up(),r=Kp(),i=(0,O.useRef)(n);i.current=n;let a=(0,O.useCallback)((e,n)=>{let a=typeof n==`function`?n(pp(i.current,e)):n,o=hp(i.current,e,a);i.current=o,r(e,a),t(o)},[t,r]);return(0,Y.jsx)(Jp,{value:(0,O.useMemo)(()=>({blur:()=>{},change:a,commit:a}),[a]),children:e})}function Dx({filter:e,value:t,processing:n,onChange:r}){let i=Cx(Qb(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 Ox({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}=U(`lattice`),[d,f]=(0,O.useState)(n),p=o??u(`table.filter.filter-by`,`Filter {{label}}`,{label:t}),m=a?`rounded-r-none`:``;return(0,O.useEffect)(()=>{f(n)},[n]),e===`boolean`?(0,Y.jsxs)(Sx,{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 kx({column:e,clauses:t,processing:n,onAdd:r,onUpdate:i,onRemove:a,onReplace:o,onSearch:s}){let{t:c}=U(`lattice`),{filter:l,label:u}=e.props,d=u??e.key;if(!l)return null;if(l.control===`filter.select`)return(0,Y.jsx)(jx,{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)(Ox,{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)(nd,{children:[(0,Y.jsx)(rd,{asChild:!0,children:(0,Y.jsx)(Yv,{variant:`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)(ad,{align:`start`,className:`w-80 p-4`,children:(0,Y.jsx)(Fx,{column:e,clauses:t,operators:p,defaultOperator:m,processing:n,onAdd:r,onUpdate:i,onRemove:a})})]})]})}function Ax(e){return Array.isArray(e)?e.join(`,`):typeof e==`string`?e:``}function jx({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=Nx(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=Ax(Qb(t).value);if(n===``){r(e.key,[]);return}let i=l.find(e=>e.value===n);if(i){r(e.key,Mx(e.key,i));return}r(e.key,[{field:e.key,operator:c,value:n}])}return(0,Y.jsx)(wx,{filter:p,value:{value:f},processing:n,bare:!0,onChange:m,onSearch:i?(e,t,n)=>i(t,n):void 0})}function Mx(e,t){return t.clauses.map(t=>({field:e,operator:t.operator,value:t.value}))}function Nx(e,t){return t.find(t=>Px(e,Mx(``,t)))}function Px(e,t){return e.length===t.length?t.every(t=>e.some(e=>e.operator===t.operator&&e.value===t.value)):!1}function Fx({column:e,clauses:t,operators:n,defaultOperator:r,processing:i,onAdd:a,onUpdate:o,onRemove:s}){let{t:c}=U(`lattice`),l=e.props.filter?.type??`text`,[u,d]=(0,O.useState)(r),[f,p]=(0,O.useState)(t.length===0);return(0,Y.jsxs)(`div`,{className:`grid gap-3`,children:[t.map(t=>(0,Y.jsx)(Ix,{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)(Ix,{column:e,type:l,operators:n,clause:{field:e.key,operator:u,value:``},processing:i,onOperator:t=>{if(dx.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 Ix({column:e,type:t,operators:n,clause:r,processing:i,onOperator:a,onValue:o,onRemove:s}){let{t:c}=U(`lattice`),l=e.props.label??e.key,u=dx.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)(Sx,{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:fx(e)},e))}):(0,Y.jsx)(`span`,{className:`flex-1 text-sm font-medium`,children:fx(r.operator)}),(0,Y.jsx)($,{variant:`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)(Ox,{type:t,label:l,ariaLabel:c(`table.filter.value`,`{{label}} filter value`,{label:l}),value:r.value,processing:i,onCommit:o,onClear:()=>o(``)})]})}function Lx({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 Rx({column:e,processing:t,resizeHandleProps:n,sort:r,query:i}){let a=$b(i,e),{t:o}=U(`lattice`),{align:s,label:c,sortable:l}=e.props;return(0,Y.jsxs)(`div`,{"aria-sort":ex(a),className:J(`relative min-w-0 px-4 py-3 pr-5 align-middle font-semibold text-lt-fg`,Nb(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`,Pb(s)),"data-test":`sort-${e.key}`,disabled:t,onClick:()=>r(e),children:[(0,Y.jsx)(`span`,{className:J(`min-w-0 flex-1 truncate`,Nb(s)),children:c}),(0,Y.jsx)(Lx,{sort:a})]}):(0,Y.jsx)(`span`,{className:J(`block truncate`,Nb(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}=U(`lattice`);return(0,Y.jsxs)(nd,{children:[(0,Y.jsx)(rd,{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)(ad,{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 Bx({clauses:e,columnsByKey:t,indicators:n,processing:r,onRemoveClause:i,onChange:a,onReset:o}){let{t:s}=U(`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=dx.has(e.operator);return(0,Y.jsx)(Vx,{label:`${a} ${fx(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)(Vx,{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:opacity-50`,disabled:r,onClick:o,children:s(`table.filter.reset-all`,`Reset all`)})]})})}function Vx({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 Hx({filters:e,values:t,processing:n,onChange:r,onSearch:i}){let{t:a}=U(`lattice`),o=e.filter(e=>Xb(t[e.key]));return(0,Y.jsxs)(nd,{children:[(0,Y.jsx)(rd,{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)(ad,{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)(wx,{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 Ux({pagination:e,currentPage:t,processing:n,mode:r,hasNextPage:i,visiblePages:a,infiniteLoaderRef:o,onPage:s,onLoadMore:c}){let{t:l}=U(`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)($,{variant:`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)($,{variant:`outline`,"data-test":`pagination-previous`,disabled:n||t<=1,onClick:()=>s(t-1),children:l(`table.pagination.previous`,`Previous`)}),(0,Y.jsx)($,{variant:`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)($,{variant:`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)($,{variant:`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)($,{variant:`outline`,"data-test":`pagination-next`,disabled:n||!i,onClick:()=>s(t+1),children:l(`table.pagination.next`,`Next`)})]}):null]})}function Wx({columnsByKey:e,query:t,processing:n,onClear:r}){let{t:i}=U(`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":px(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 Gx=300;function Kx({value:e,onSearch:t}){let{t:n}=U(`lattice`),[r,i]=(0,O.useState)(e),a=(0,O.useRef)(e);(0,O.useEffect)(()=>{e!==a.current&&(a.current=e,i(e))},[e]);function o(e){a.current=e,t(e)}let s=fm(o,Gx);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 qx(e){return e}function Jx(e,t,n){if(e==null)return``;let r=t?.props?.date;return r?Ha(e,r,n):typeof e==`string`||typeof e==`number`||typeof e==`boolean`?String(e):JSON.stringify(e)}function Yx(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 Xx=({column:e,props:t,value:n})=>{let r=Jx(n,e);if(r===``)return null;let i=Dh(Th(t.colors?.[String(n)])??wh(`gray`));return(0,Y.jsx)(`span`,{className:J(`lt-cell-badge`,i.className),style:i.style,children:r})},Zx=({value:e})=>{let{t}=U(`lattice`),n=Cx(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`)})})},Qx=({props:e,value:t})=>{let n=e.icons?.[String(t)]??e.icon??void 0;if(!n)return null;let r=Th(e.colors?.[String(t)]),i=r?Dh(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)(_r,{className:`size-lt-icon-md`,icon:n})})},$x=({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)(Ah,{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 eS(e){let t=typeof e==`number`?e:Number(e);return e!=null&&e!==``&&!Number.isNaN(t)?t:null}function tS(e,t,n){let r=eS(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 nS({children:e,column:t,copyable:n,value:r}){return n?(0,Y.jsx)(xh,{value:r,label:t.props.label??t.key,testId:`copy-${t.key}`,children:e}):e}function rS({column:e,copyable:t,format:n,value:r}){let{locale:i}=v();return eS(r)===null?(0,Y.jsx)(`span`,{children:Jx(r,e)}):(0,Y.jsx)(nS,{column:e,copyable:t,value:String(r),children:(0,Y.jsx)(`span`,{className:`tabular-nums`,children:tS(r,n,i)})})}var iS=({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)(rS,{column:e,copyable:t.copyable,value:r,format:{kind:`number`,notation:`standard`,minimumFractionDigits:t.minimumFractionDigits,maximumFractionDigits:t.maximumFractionDigits,currency:a,unit:null}})},aS=({column:e,props:t,value:n})=>(0,Y.jsx)(rS,{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}}),oS=({column:e,row:t})=>(0,Y.jsx)(`div`,{className:`grid gap-1`,children:(0,Y.jsx)(Tr,{nodes:Ot(e.schema,t)})}),sS=e=>e.props.multiple?(0,Y.jsx)(lS,{...e}):e.props.badge?(0,Y.jsx)(uS,{...e}):(0,Y.jsx)(dS,{...e});function cS({label:e,color:t}){if(e===``)return null;let n=Dh(Th(t)??wh(`gray`));return(0,Y.jsx)(`span`,{className:J(`lt-cell-badge`,n.className),style:n.style,children:e})}function lS({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)(cS,{label:Jx(r.value,e),color:r.color},n)})}):(0,Y.jsx)(`span`,{children:r.map(t=>Jx(t,e)).join(`, `)})}function uS({column:e,props:t,row:n,value:r}){let i=t.badge.colorKey;return(0,Y.jsx)(cS,{label:Jx(r,e),color:String(n[i]??``)})}function dS({column:e,props:t,row:n,value:r}){let i=e.props.date,a=Yx(e,n,r),o=Jx(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)(Wa,{value:r,dateStyle:i.dateStyle,timeStyle:i.timeStyle}):(0,Y.jsx)(nS,{column:e,copyable:t.copyable,value:o,children:s})}var fS={"column.badge":qx(Xx),"column.boolean":qx(Zx),"column.icon":qx(Qx),"column.image":qx($x),"column.money":qx(iS),"column.number":qx(aS),"column.stack":qx(oS),"column.text":qx(sS)};function pS({column:e,row:t}){return(0,Y.jsx)(f()[e.type]??fS[e.type]??fS[`column.text`],{column:e,props:e.props,row:t,value:t[e.key]})}var mS=B(Dg,Fm,ib,Od,ie({components:{table:z(({node:e})=>{let{t}=U(`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}=yx(e),w=(0,O.useMemo)(()=>Ib(e.props?.bulkActions),[e.props?.bulkActions]),T=w.length>0,E=(0,O.useMemo)(()=>r.map((e,t)=>({row:e,actions:Kb(e),detail:qb(e),key:Gb(e,t)})),[r]),k=bx(E.map(e=>e.key)),{isExpanded:A,toggle:j}=kb(),M=E.some(e=>e.detail!=null),N=(0,O.useMemo)(()=>new Map(n.map(e=>[e.key,e])),[n]),P=D(e),{hasToggleableColumns:F,hasHidden:I,isVisible:ee,resetVisibility:te,setColumnVisible:ne,toggleableColumns:re,visibleColumns:L}=wb({columns:n,storageKey:P?`lattice:table-column-visibility:${P}`:void 0}),R=i.currentPage??a.page,z=i.lastPage??R,ie=i.mode??`table`,B=hx(R,z),ae=i.hasMore??R<z,V=E.some(e=>e.actions.length>0),oe=e.props?.striped===!0,se=L.some(e=>e.props.filter!=null),ce=o.map((e,t)=>({clause:e,index:t})),le=(0,O.useMemo)(()=>Array.isArray(e.props?.filters)?e.props.filters:[],[e.props?.filters]),ue=le.length>0,de=V||ue||F,fe=(0,O.useMemo)(()=>gx(L),[L]),pe=(0,O.useMemo)(()=>vx(de,T,M),[de,T,M]),me=e.props?.resizableColumns===!0,he=D(e),{getResizeHandleProps:ge,gridTemplateColumns:_e,hasOverrides:ve,resizeRootRef:ye,resetColumns:be}=u_({columns:fe,enabled:me,leadingTracks:pe.leadingTracks,showIndicator:e.props?.resizeIndicator===!0,storageKey:me&&he?`lattice:table-columns:${he}`:void 0,trailingTracks:pe.trailingTracks});return(0,Y.jsxs)(`div`,{"data-slot":`table`,"data-lattice-component":e.id,className:`relative`,children:[ve&&(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:be,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)(Kx,{value:c,onSearch:h})}),(0,Y.jsx)(Bx,{clauses:o,columnsByKey:N,indicators:a.tableFilterIndicators,processing:_,onRemoveClause:d,onChange:p,onReset:m}),T&&k.active&&(0,Y.jsx)(xx,{actions:w,selectedKeys:k.selectedKeys,allMatching:k.allMatching,total:i.total??void 0,query:sx(a),canSelectAllMatching:k.allVisibleSelected&&!k.allMatching&&i.total!=null&&i.total>k.selectedKeys.length,onSelectAllMatching:k.selectAllMatching,onCompleted:k.clear}),a.sorts.length>0&&(0,Y.jsx)(Wx,{columnsByKey:N,query:a,processing:_,onClear:x}),(0,Y.jsxs)(`div`,{ref:ye,className:`min-w-full text-base`,role:`table`,style:{"--lattice-table-columns":_e},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:[M&&(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:k.allSelected,onCheckedChange:()=>k.toggleAll()})}),L.map((e,t)=>(0,Y.jsx)(Rx,{column:e,processing:_,resizeHandleProps:me?ge(fe[t]):void 0,sort:b,query:a},e.key)),de&&(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:[ue&&(0,Y.jsx)(Hx,{filters:le,values:s,processing:_,onChange:p,onSearch:g}),F&&(0,Y.jsx)(zx,{columns:re,isVisible:ee,visibleColumnCount:L.length,hasHidden:I,onToggle:ne,onReset:te,processing:_}),V&&(0,Y.jsx)(`span`,{className:`sr-only`,children:e.props?.actionsLabel??t(`table.actions`,`Actions`)})]})]}),se&&(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:[M&&(0,Y.jsx)(`div`,{className:`px-2 py-2`,role:`cell`}),T&&(0,Y.jsx)(`div`,{className:`px-4 py-2`,role:`cell`}),L.map(e=>(0,Y.jsx)(`div`,{className:`min-w-0 px-2 py-2`,role:`cell`,children:e.props.filter!=null&&(0,Y.jsx)(kx,{column:e,clauses:ce.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)),de&&(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&&A(a),s=`${D(e)??`table`}-row-detail-${a}`;return(0,Y.jsxs)(O.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)] ${oe?`odd:bg-lt-muted/30`:``}`,role:`row`,children:[M&&(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:()=>j(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:k.isSelected(a),onCheckedChange:()=>k.toggle(a)})}),L.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`,Nb(e.props.align),Fb(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)(pS,{column:e,row:n})})]},e.key)),de&&(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)(Er,{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)(Tr,{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)(Ux,{pagination:i,currentPage:R,processing:_,mode:ie,hasNextPage:ae,visiblePages:B,infiniteLoaderRef:y,onPage:S,onLoadMore:C})]})]})})},name:`lattice/table`}),Xm,bb,Cb);function hS(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 gS({ready:e,children:t}){let[n,r]=(0,O.useState)(!1);return(0,O.useEffect)(()=>{let t=!0,n=()=>{t&&r(!0)};return e.then(n,n),()=>{t=!1}},[e]),n?t:null}function _S({registry:e,plugins:t,sprite:n,pages:r={},defaultLayout:a,strictMode:s=!0,i18n:c,boot:l,wrap:d,...f}={}){let p=e??mS,m=t&&t.length>0?ae(p,...t):p;i(m);let h=c!==!1,g=t?.flatMap(e=>e.i18n?[e.i18n]:[])??[],_=h?hS(c??{},g):{},v=f.defaults?.visitOptions,y=h?{...f.defaults,visitOptions:(e,t)=>Id(e,v?.(e,t)??t)}:f.defaults,b=o({...f,defaults:y,strictMode:s,resolve:Pd(r),layout:Fd({defaultLayout:a}),withApp:(e,{ssr:t,page:r})=>{let i=[];if(!t){h&&jt(r.props)!==void 0&&i.push(u(()=>import(`./chunks/page-props-D3FnL614.js`).then(e=>e.configureI18nFromPageProps(r.props,_)),__vite__mapDeps([12,4,1]),import.meta.url));let e=l?.({page:r});e&&i.push(e)}let a=(0,Y.jsxs)(Y.Fragment,{children:[e,h?(0,Y.jsx)(St,{}):null]}),o=(0,Y.jsx)(Tm,{registry:m,sprite:n,children:d?d(a):a});return i.length>0?(0,Y.jsx)(gS,{ready:Promise.all(i),children:o}):o}});return R(),b}function vS(){return console.warn(`[lattice] The data-lattice-config script holds invalid JSON; booting with defaults.`),{}}function yS(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)?vS():e}catch{return vS()}}var bS=yS(document);async function xS(){if(bS.echo)try{let{configureEcho:e}=await u(async()=>{let{configureEcho:e}=await import(`./chunks/dist-PaT1gYi_.js`);return{configureEcho:e}},__vite__mapDeps([5,1]),import.meta.url);e(bS.echo)}catch(e){console.warn(`[lattice] Failed to load the realtime chunk; continuing without Echo.`,e)}_S({...bS.spriteUrl?{sprite:{href:bS.spriteUrl}}:{},defaults:{visitOptions:Id}})}xS();export{pc as A,vt as B,_c as C,gc as D,mc as E,Ar as F,yt as H,X as I,J as L,Ha as M,Va as N,vc as O,Or as P,jt as R,rd as S,yc as T,U,H as V,lt as W,Op as _,Yv as a,nd as b,Ng as c,jm as d,Nm as f,Wp as g,Yp as h,Wy as i,hc as j,fc as k,Th as l,Mm as m,eS as n,zv as o,Pm as p,$y as r,Kg as s,tS as t,Eh as u,ip as v,dc as w,ad as x,$ as y,Ct as z};
66
+ }`,hy=`^\\d+$`;function gy({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-[3px]`),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 _y({length:e,containerClassName:t,pattern:n=hy,...r}){return(0,Y.jsx)(fy,{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)(gy,{...e},t))}),...r})}var vy=({node:e})=>{let t=e.props;return(0,Y.jsx)(kv,{node:e,label:t.label??``,children:({name:e,testId:n,value:r,readOnly:i,disabled:a,commit:o})=>(0,Y.jsx)(_y,{autoFocus:t.autoFocus??!1,"data-test":n,disabled:a||i,id:e,length:t.length,name:e,onChange:e=>o(e),value:r})})};function yy({className:e,ref:t,...n}){let[r,i]=(0,O.useState)(!1);return(0,Y.jsxs)(`div`,{className:`relative`,children:[(0,Y.jsx)(Ev,{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-[3px] focus-visible:ring-lt-ring 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 by=({node:e})=>{let t=e.props,{errors:n}=ip(),r=H_(e),{commit:i}=Yp(),a=Op(),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)(bg,{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)(Kv,{prefix:t.prefix,suffix:t.suffix,children:e=>(0,Y.jsx)(yy,{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)(bg,{error:n[l],label:o.label??`Confirm password`,name:c,required:r.required,children:(0,Y.jsx)(yy,{autoComplete:`new-password`,"data-test":w(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})})]})},xy=[],Sy=({node:e})=>{let t=e.props,n=t.name,{errors:r}=ip(),{hidden:i,required:a}=Ng(e),{path:o,rows:s,onField:c,onRemove:l,onMove:u,onDuplicate:d,append:f}=v_(n,t.defaultItems??1),p=e.schema??xy,m=__(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)(bg,{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)(Vg,{path:o,rows:s,rowKey:gp}),_?(0,Y.jsx)(m_,{base:o,columns:f_(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)(Ug,{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`]})]})})},Cy=250;function wy({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}=U(`lattice`),[S,C]=(0,O.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(``):k()}let T=d.some(e=>e.label.toLowerCase()===S.trim().toLowerCase()),E=fm(e=>s?.(e),Cy);(0,O.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 k(){C(``),u(!1)}function A(e){c(e),i||k()}return(0,Y.jsxs)(nd,{open:l,onOpenChange:e=>e?u(!0):k(),children:[(0,Y.jsx)(rd,{asChild:!0,children:(0,Y.jsx)(`button`,{type:`button`,className:y,...b,children:v})}),(0,Y.jsxs)(ad,{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:()=>A(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 Ty(e,t){let n=e??t;return Array.isArray(n)?n.map(String):n==null||n===``?[]:[String(n)]}var Ey=({node:e})=>{let{t}=U(`lattice`),n=e.props,{action:r,componentRef:i,errors:a,fieldIdPrefix:o,searchOptions:s}=ip(),{hidden:c,required:l,readOnly:u,disabled:d}=Ng(e),{change:f,blur:p}=Yp(),m=jp(e),h=n.name,g=Op(),_=z_(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,O.useMemo)(()=>m.props.options??[],[m.props]),T=m.props.optionSchema,E=Wp(h),D=Up(),k=(0,O.useRef)(D);k.current=D;let A=g?g.getValue(h):E,j=(0,O.useMemo)(()=>Ty(A,n.value),[A,n.value]),M=(0,O.useRef)(j);M.current=j;let[N,P]=(0,O.useState)(!1),[F,I]=(0,O.useState)(null),[ee,te]=(0,O.useState)(!1),ne=(0,O.useRef)(null),re=(0,O.useMemo)(()=>{let e=new Map;for(let t of[...w,...F??[]])e.set(t.value,t);return e},[w,F]),L=e=>re.get(e)?.label??e,R=e=>Th(re.get(e)?.data?.color),z=u||d,ie=(0,O.useCallback)(e=>{if(ne.current?.abort(),e.trim()===``){I(null),te(!1);return}let t=new AbortController;if(ne.current=t,te(!0),s){s(y,e,k.current,t.signal).then(e=>{I(e),te(!1)}).catch(()=>{});return}$p(r,i,{...k.current,_search:y,q:e},t.signal).then(e=>{I(e?.options??[]),te(!1)}).catch(()=>{})},[r,i,y,s]);function B(e){f(h,x?e:e[0]??``)}function ae(e){if(x){let t=M.current.includes(e)?M.current.filter(t=>t!==e):[...M.current,e];M.current=t,B(t);return}M.current=[e],B([e])}function V(e){B(j.filter(t=>t!==e))}function oe(e){if(!x){M.current=[e],B([e]);return}if(!M.current.includes(e)){let t=[...M.current,e];M.current=t,B(t)}}if(c)return null;let se=S?F??w:w,ce=T?.length?e=>(0,Y.jsx)(Tr,{nodes:Ot(T,{...e.data,label:e.label,value:e.value})}):void 0;return(0,Y.jsxs)(bg,{error:a[v],helperText:n.helperText??void 0,tooltip:n.tooltip??void 0,label:n.label??``,name:_,required:l,children:[x?j.map(e=>(0,Y.jsx)(`input`,{name:`${_}[]`,type:`hidden`,value:e},e)):(0,Y.jsx)(`input`,{name:_,type:`hidden`,value:j[0]??``}),(0,Y.jsxs)(`div`,{children:[x&&j.length>0&&(0,Y.jsx)(`div`,{className:`mb-1.5 flex flex-wrap gap-1`,children:j.map(e=>{let n=R(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:Eh(n)}}),L(e),!z&&(0,Y.jsx)(`button`,{"aria-label":t(`form.remove-option`,`Remove {{label}}`,{label:L(e)}),"data-test":`select-${h}-remove-${e}`,className:`text-lt-muted-fg hover:text-lt-fg [&_svg]:size-lt-icon-xs`,onClick:()=>V(e),type:`button`,children:(0,Y.jsx)(X,{name:`x`})})]},e)})}),(0,Y.jsx)(wy,{creatable:C,emptyLabel:n.emptyLabel??void 0,loading:ee,multiple:x,onCommit:oe,onCreate:oe,onSearch:S?ie:void 0,onSelect:ae,open:N&&!z,onOpenChange:e=>{P(e),e||p(h)},options:se,renderOption:ce,searchPlaceholder:n.searchPlaceholder??void 0,showSearch:!!(S||C),selected:j,testId:`select-${h}`,trigger:(0,Y.jsxs)(Y.Fragment,{children:[!x&&j.length>0?(0,Y.jsx)(`span`,{children:L(j[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(Tv(),`flex items-center justify-between gap-2 text-left`,z&&`cursor-not-allowed opacity-60`),triggerProps:{"aria-haspopup":`listbox`,autoFocus:n.autoFocus??void 0,"data-test":`select-${h}`,disabled:z,id:_,tabIndex:n.tabIndex??void 0}})]})]})};function Dy({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`,wv,`aria-invalid:ring-lt-danger/20 dark:aria-invalid:ring-lt-danger/40 aria-invalid:border-lt-danger`,e),...t})}var Oy=({node:e})=>{let t=e.props;return(0,Y.jsx)(kv,{node:e,label:t.label??``,children:({name:e,testId:n,value:r,readOnly:i,disabled:a,commit:o})=>(0,Y.jsx)(Dy,{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)(kv,{node:e,label:t.label??``,children:({name:e,testId:n,value:r,readOnly:i,disabled:a,commit:o})=>(0,Y.jsx)(Kv,{prefix:t.prefix,suffix:t.suffix,end:t.copyable?(0,Y.jsx)(bh,{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)(Ev,{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})})})},Ay=/^(\d{1,2}):(\d{2})(?::(\d{2}))?$/;function jy(e){if(typeof e!=`string`)return null;let t=Ay.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 My(e,t){let n=[zy(e.hour),zy(e.minute)];return t&&n.push(zy(e.second)),n.join(`:`)}function Ny(e){return e!=null&&e<60}function Py(e,t={}){let{min:n,max:r,current:i}=t,a=Iy(n),o=Iy(r),s=e==null||e<60?1:e%60==0?e/60:1;return{hours:Ry(0,23,1).map(e=>({value:e,label:zy(e),disabled:a!=null&&e<a.hour||o!=null&&e>o.hour})),minutes:Ly(Ry(0,59,s),i?.minute).map(e=>({value:e,label:zy(e),disabled:Fy(e,i,a,o)})),seconds:Ny(e)?Ry(0,59,1).map(e=>({value:e,label:zy(e),disabled:!1})):null}}function Fy(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 Iy(e){let t=jy(e);return t?{hour:t.hour,minute:t.minute}:null}function Ly(e,t){return t==null||e.includes(t)?e:[...e,t].sort((e,t)=>e-t)}function Ry(e,t,n){let r=[];for(let i=e;i<=t;i+=n)r.push(i);return r}function zy(e){return String(e).padStart(2,`0`)}function By({value:e,onChange:t,step:n,min:r,max:i,disabled:a=!1,readOnly:o=!1,labels:s,testId:c}){let l=(0,O.useRef)(null),u=Py(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)(Vy,{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 Vy({label:e,options:t,selected:n,disabled:r,onSelect:i,onHorizontal:a}){let o=(0,O.useRef)(null),s=t.filter(e=>!e.disabled).map(e=>e.value),c=n??s[0]??t[0]?.value??0;(0,O.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 Hy=({node:e})=>{let t=e.props,n=Ny(t.step),r=t.label??t.name;return(0,Y.jsx)(kv,{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)(Ev,{"aria-label":r,autoFocus:t.autoFocus??!1,"data-test":i,disabled:s,id:e,name:e,onBlur:()=>{let e=jy(a);e&&c(My(e,n)),l()},onChange:e=>c(e.target.value),readOnly:o,tabIndex:t.tabIndex??void 0,type:`text`,value:a}),(0,Y.jsxs)(nd,{children:[(0,Y.jsx)(rd,{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)(ad,{className:`p-2`,children:(0,Y.jsx)(By,{value:jy(a),onChange:e=>c(My(e,n)),step:t.step,min:t.min,max:t.max,disabled:s,readOnly:o,testId:`${i}-picker`})})]})]})})},Uy=({node:e})=>{let{hidden:t,required:n,readOnly:r,disabled:i}=Ng(e),a=e.props,o=a.name,s=Op(),{errors:c,fieldIdPrefix:l}=ip(),u=z_(s?s.scopedName(o):o,l),d=s?s.errorKey(o):o,f=Wp(o),p=s?s.getValue(o):f,m=Cg(a.value),h=p===void 0?m:Cg(p),g=r||i,{commit:_}=Yp();return B_(o,m),t?null:(0,Y.jsxs)(bg,{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-[3px] focus-visible:ring-lt-ring/50 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-lt-primary`),"data-state":h?`checked`:`unchecked`,"data-test":w(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`})})]})},Wy=(0,O.lazy)(()=>u(()=>import(`./chunks/rich-editor-field-B9Nv1qia.js`),__vite__mapDeps([10,1,3,8]),import.meta.url)),Gy=ie({components:{form:z(Uv),"field.builder":z(b_),"field.checkbox":z(V_),"field.choice":z(U_),"field.color-picker":z(Av),"field.date-input":z(Nv),"field.date-time-input":z(Pv),"field.file-upload":z(Rv),"field.hidden-input":z(Wv),"field.number-input":z(qv),"field.otp":z(vy),"field.password-input":z(by),"field.repeater":z(Sy),"field.rich-editor":z(({children:e,node:t})=>(0,Y.jsx)(O.Suspense,{fallback:null,children:(0,Y.jsx)(Wy,{node:t,children:e})})),"field.select":z(Ey),"field.textarea":z(Oy),"field.text-input":z(ky),"field.time-input":z(Hy),"field.toggle":z(Uy)},name:`lattice/form`});function Ky(e,t=1){return Kf(`${e}?page=${t}`)}function qy(e,t){return Kf(`${e}/${t}/read`,{method:`PATCH`})}function Jy(e){return Kf(`${e}/read-all`,{method:`POST`})}function Yy(e,t){return Kf(`${e}/${t}`,{method:`DELETE`})}function Xy(e){return Kf(e,{method:`DELETE`})}function Zy(e,t){return e.some(e=>e.id===t.id)?e:[t,...e]}function Qy(e,t){return e.map(e=>e.id===t?{...e,isRead:!0}:e)}function $y(e,t){return e.filter(e=>e.id!==t)}function eb({endpoint:e,pollingInterval:t}){let[n,r]=(0,O.useState)([]),[i,a]=(0,O.useState)(0),[o,s]=(0,O.useState)(`loading`),[c,l]=(0,O.useState)(!1),[u,d]=(0,O.useState)(!1),f=(0,O.useRef)(1),p=(0,O.useRef)(c);p.current=c;let m=(0,O.useRef)(!1),h=(0,O.useCallback)(async()=>{try{let t=await Ky(e,1);f.current=1,r(t.notifications),a(t.unreadCount),l(t.hasMore),s(`idle`)}catch{s(`error`)}},[e]);return(0,O.useEffect)(()=>{h()},[h]),(0,O.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,O.useCallback)(()=>{if(m.current||!p.current)return;m.current=!0;let t=f.current+1;Ky(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,O.useCallback)(t=>{r(e=>Qy(e,t)),a(e=>Math.max(0,e-1)),qy(e,t).then(e=>a(e.unreadCount)).catch(()=>void h())},[e,h]),markAllRead:(0,O.useCallback)(()=>{r(e=>e.map(e=>({...e,isRead:!0}))),a(0),Jy(e).then(e=>a(e.unreadCount)).catch(()=>void h())},[e,h]),dismiss:(0,O.useCallback)(t=>{r(e=>$y(e,t)),Yy(e,t).then(e=>a(e.unreadCount)).catch(()=>void h())},[e,h]),clearAll:(0,O.useCallback)(()=>{r([]),a(0),Xy(e).then(e=>a(e.unreadCount)).catch(()=>void h())},[e,h]),receive:(0,O.useCallback)(e=>{r(t=>{let n=Zy(t,e);return n!==t&&a(e=>e+1),n})},[])}}function tb(){let{t:e}=U(`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 nb={success:`text-lt-success`,info:`text-lt-info`,warning:`text-lt-warning`,error:`text-lt-danger`};function rb({notification:e,onMarkRead:t,onDismiss:n}){let{t:r}=U(`lattice`),i=(0,Y.jsxs)(Y.Fragment,{children:[e.title?(0,Y.jsx)(`p`,{className:`truncate text-sm font-medium text-lt-fg`,children:e.title}):null,e.body?(0,Y.jsx)(`p`,{className:`text-sm text-lt-muted-fg`,children:e.body}):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)(_r,{icon:e.icon,className:J(`mt-0.5 size-lt-icon-md`,e.variant?nb[e.variant]:void 0)}):null,(0,Y.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[e.href?(0,Y.jsx)(_,{href:e.href,className:`block`,"data-test":`notification-link`,onClick:()=>t(e.id),children:i}):i,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)(Er,{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 ib({notifications:e,status:t,hasMore:n,onMarkRead:r,onDismiss:i,onLoadMore:a}){let{t:o}=U(`lattice`);return t===`loading`&&e.length===0?(0,Y.jsxs)(`div`,{className:`space-y-2 p-3`,children:[(0,Y.jsx)(tp,{className:`h-12 w-full`}),(0,Y.jsx)(tp,{className:`h-12 w-full`}),(0,Y.jsx)(tp,{className:`h-12 w-full`})]}):e.length===0?(0,Y.jsx)(tb,{}):(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)(rb,{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,O.lazy)(()=>u(()=>import(`./chunks/notifications-echo-DsfNc4Ge.js`).then(e=>({default:e.NotificationsEcho})),__vite__mapDeps([11,5,1]),import.meta.url)),ob=class extends O.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}},sb=ie({name:`lattice/notifications`,components:{notifications:z(({node:e})=>{let{t}=U(`lattice`),n=eb({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)(nh,{variant:`destructive`,"data-test":`notifications-badge`,className:`absolute -right-0.5 -top-0.5 min-w-4 px-1 py-0 text-[10px]`,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)(ib,{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)(ob,{children:(0,Y.jsx)(O.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)(jf,{open:n.open,onOpenChange:n.setOpen,children:(0,Y.jsxs)(Ff,{"aria-describedby":void 0,className:`p-0`,placement:`end`,width:`sm`,children:[(0,Y.jsx)(Nf,{className:`sr-only`,children:r}),a]})})]}):(0,Y.jsxs)(nd,{open:n.open,onOpenChange:n.setOpen,children:[(0,Y.jsx)(rd,{asChild:!0,children:(0,Y.jsx)(`button`,{type:`button`,"aria-label":r,"data-test":`notifications-trigger`,children:i})}),(0,Y.jsx)(ad,{align:`end`,className:`p-0`,children:a})]})]})})}});function cb(e){return e==null?``:String(e)}function lb({props:e}){let{t}=U(`lattice`),[n,r]=(0,O.useState)([]),[i,a]=(0,O.useState)(null),[o,s]=(0,O.useState)(!1);return(0,O.useEffect)(()=>{if(!e.remote||!e.dataEndpoint){r([]),s(!1);return}let t=!1;return a(null),s(!0),$f(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)(Tr,{nodes:Ot(e.schema,t)})},cb(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 ub=ie({components:{"remote.data-list":z(({node:e})=>(0,Y.jsx)(lb,{props:{...e.props,schema:e.schema}}))},name:`lattice/remote`});function db({columns:e,storageKey:t}){let n=(0,O.useMemo)(()=>e.filter(e=>e.props.toggleable),[e]),r=(0,O.useMemo)(()=>n.map(e=>e.key),[n]),[i,a]=wd(t??``,{},{enabled:!!t,parse:e=>pb(e,r),serialize:e=>mb(e,r)}),o=(0,O.useCallback)(e=>e.props.toggleable?i[e.key]??!e.props.hiddenByDefault:!0,[i]),s=(0,O.useMemo)(()=>e.filter(e=>o(e)),[e,o]),c=(0,O.useCallback)((e,t)=>{a(n=>({...n,[e]:t}))},[a]),l=(0,O.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 pb(e,t){let n=JSON.parse(e);if(!hb(n))throw Error(`unexpected stored column visibility shape`);return fb(n.overrides,t)}function mb(e,t){let n=fb(e,t);return Object.keys(n).length===0?null:JSON.stringify({columns:t,overrides:n})}function hb(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 gb(){let[e,t]=(0,O.useState)(()=>new Set);return{isExpanded:(0,O.useCallback)(t=>e.has(t),[e]),toggle:(0,O.useCallback)(e=>{t(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},[])}}var _b={start:`text-start`,center:`text-center`,end:`text-end`},vb={start:`justify-start`,center:`justify-center`,end:`justify-end`},yb={start:`justify-items-start`,center:`justify-items-center`,end:`justify-items-end`},bb=e=>_b[e],xb=e=>vb[e],Sb=e=>yb[e];function Cb(e){return(e??[]).flatMap(e=>{if(e.type===`action.group`)return[];let t=e.props;return t.endpoint?[{id:e.id??``,label:vm(e),method:t.method??`post`,endpoint:t.endpoint,ref:t.ref??``,variant:t.variant??`default`,confirmation:t.confirmation,form:t.form,modalSide:t.modalSide,modalWidth:t.modalWidth}]:[]})}function wb(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 Tb(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 Eb(e){return Array.isArray(e)?e.filter(e=>typeof e==`object`&&!!e&&!Array.isArray(e)):[]}var Db={mode:`none`,currentPage:null,lastPage:null,perPage:null,total:null,from:null,to:null,hasMore:!1,nextPage:null};function Ob(e){return typeof e!=`object`||!e||Array.isArray(e)?Db:e}function kb(e){if(typeof e!=`object`||!e||Array.isArray(e))return{filters:[],sorts:[],page:1,perPage:25,tableFilters:{},tableFilterIndicators:[],search:``};let t=e;return{filters:wb(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:Ab(t.tableFilters),tableFilterIndicators:jb(t.tableFilterIndicators),search:typeof t.search==`string`?t.search:``}}function Ab(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 jb(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 Mb(e,t){let n=e.id??e.uuid??e.key??t;return String(n)}function Nb(e){return Array.isArray(e.actions)?e.actions:[]}function Pb(e){let t=e.detail;return typeof t==`object`&&t&&!Array.isArray(t)?t:null}function Fb(e){return e==null||e===``}function Ib(e){return Fb(e)?!0:Array.isArray(e)?e.every(Ib):typeof e==`object`&&e?Object.values(e).every(Ib):!1}function Lb(e){return!Ib(e)}function Rb(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function zb(e){return Rb(e)?e:{}}function Bb(e,t){return e.sorts.find(e=>e.key===t.key)}function Vb(e){if(e?.direction===`asc`)return`ascending`;if(e?.direction===`desc`)return`descending`}function Hb(e,t){let n=new URL(e,window.location.origin);return t.filters.length>0&&n.searchParams.set(`filter`,Yb(t)),t.sorts.length>0&&n.searchParams.set(`sort`,Xb(t)),t.search!==``&&n.searchParams.set(`q`,t.search),Ub(n,t.tableFilters),n.searchParams.set(`page`,String(t.page)),n.searchParams.set(`per_page`,String(t.perPage)),`${n.pathname}${n.search}`}function Ub(e,t){for(let[n,r]of Object.entries(Wb(t)))qb(e,`tf[${n}]`,r)}function Wb(e){let t={};for(let[n,r]of Object.entries(e)){let e=Gb(r);e!==void 0&&(t[n]=e)}return t}function Gb(e){if(Fb(e)||Array.isArray(e)||typeof e!=`object`)return;let t=Object.entries(e).map(([e,t])=>[e,Kb(t)]).filter(e=>e[1]!==void 0);return t.length>0?Object.fromEntries(t):void 0}function Kb(e){if(!Fb(e)){if(Array.isArray(e)){let t=e.map(Kb).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,Kb(t)]).filter(e=>e[1]!==void 0);return t.length>0?Object.fromEntries(t):void 0}return String(e)}}function qb(e,t,n){if(Array.isArray(n)){for(let r of n)qb(e,`${t}[]`,r);return}if(typeof n==`object`&&n){for(let[r,i]of Object.entries(n))qb(e,`${t}[${r}]`,i);return}e.searchParams.append(t,String(n))}function Jb(e){let t={};e.filters.length>0&&(t.filter=Yb(e)),e.sorts.length>0&&(t.sort=Xb(e));let n=Wb(e.tableFilters);return Object.keys(n).length>0&&(t.tf=n),e.search!==``&&(t.q=e.search),t}function Yb(e){return e.filters.map(e=>`${e.field}:${e.operator}:${encodeURIComponent(e.value)}`).join(`,`)}function Xb(e){return e.sorts.map(e=>e.direction===`desc`?`-${e.key}`:e.key).join(`,`)}var Zb={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`},Qb=new Set([`empty`,`filled`]);function $b(e){return bt(`lattice`,`table.operators.${e}`,Zb[e]??e)}function ex(e){return e===`desc`?`descending`:`ascending`}function tx(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 nx(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 rx(e){return e.map(e=>({key:e.key,label:e.props.label,width:ix(e)}))}function ix(e){return e.props.width??`md`}function ax(e,t,n=!1){return{leadingTracks:[...n?[`2.5rem`]:[],...t?[`3rem`]:[]],trailingTracks:e?[`10rem`]:[]}}function ox(e){let t=(0,O.useMemo)(()=>Tb(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,a=(0,O.useMemo)(()=>kb(e.props?.query),[e.props?.query]),o=(0,O.useMemo)(()=>Eb(e.props?.data),[e.props?.data]),s=(0,O.useMemo)(()=>Ob(e.props?.pagination),[e.props?.pagination]),[c,l]=(0,O.useState)(o),[u,d]=(0,O.useState)(s),[f,p]=(0,O.useState)(a),[m,h]=(0,O.useState)(i),[g,_]=(0,O.useState)(!i),v=(0,O.useRef)(null),y=u.currentPage??f.page,b=(u.mode??`table`)===`infinite`,S=(0,O.useCallback)(async(e,t=!1)=>{if(n){h(!0);try{let i=await Kf(Hb(n,e),{ref:r}),a=kb(i.query),o=Eb(i.data);l(e=>t?[...e,...o]:o),d(Ob(i.pagination)),p(a),_(!0)}finally{h(!1)}}},[n,r]);function C(e){S({...f,page:1,sorts:tx(f.sorts,e)})}function w(e){S({...f,page:1,sorts:f.sorts.filter(t=>t.key!==e.key)})}function T(e){let t={...f,filters:e,page:1};p(t),S(t)}function E(e){T([...f.filters,e])}function D(e,t){T(f.filters.map((n,r)=>r===e?t:n))}function k(e){T(f.filters.filter((t,n)=>n!==e))}function A(e,t){T([...f.filters.filter(t=>t.field!==e),...t])}function j(e,t){let n={...f.tableFilters};Ib(t)||!Rb(t)?delete n[e]:n[e]=t;let r={...f,tableFilters:n,tableFilterIndicators:f.tableFilterIndicators.filter(t=>t.filter!==e),page:1};p(r),S(r)}function M(){let e={...f,filters:[],tableFilters:{},tableFilterIndicators:[],search:``,page:1};p(e),S(e)}function N(e){let t={...f,search:e,page:1};p(t),S(t)}let P=(0,O.useCallback)(async(e,t,i)=>{if(!n)return[];let a=new URL(n,window.location.origin);a.searchParams.set(`_search`,e),a.searchParams.set(`_q`,t);let o=await Gf(`${a.pathname}${a.search}`,{ref:r,signal:i,throwOnError:!1});return o.ok?(await o.json()).options??[]:[]},[n,r]);function F(e){S({...f,page:e})}let I=(0,O.useCallback)(()=>{m||!u.hasMore||S({...f,page:u.nextPage??y+1},!0)},[y,S,u.hasMore,u.nextPage,m,f]);return(0,O.useEffect)(()=>{l(o),d(s),p(a),h(i),_(!i)},[o,s,a,i]),(0,O.useEffect)(()=>{!i||g||S(f)},[g,i,S,f]),xt(x.reloadComponent,t=>{t.detail?.component===e.id&&S(f)}),(0,O.useEffect)(()=>{if(!b||!u.hasMore||m||!v.current||typeof IntersectionObserver>`u`)return;let e=new IntersectionObserver(e=>{e.some(e=>e.isIntersecting)&&I()},{rootMargin:`240px`});return e.observe(v.current),()=>e.disconnect()},[b,I,u.hasMore,m]),{columns:t,rows:c,pagination:u,query:f,filters:f.filters,tableFilters:f.tableFilters,search:f.search,addFilter:E,updateFilter:D,removeFilter:k,replaceColumnFilters:A,setTableFilter:j,resetFilters:M,setSearch:N,searchFilterOptions:P,processing:m,hasLoaded:g,infiniteLoaderRef:v,sort:C,clearSort:w,goToPage:F,loadMore:I}}function sx(e){let[t,n]=(0,O.useState)(()=>new Set),[r,i]=(0,O.useState)(!1);(0,O.useEffect)(()=>{n(new Set),i(!1)},[e.join(` `)]);let a=(0,O.useCallback)(e=>{i(!1),n(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},[]),o=(0,O.useCallback)(()=>{i(!1),n(t=>t.size===e.length?new Set:new Set(e))},[e]),s=(0,O.useCallback)(()=>i(!0),[]),c=(0,O.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 cx({actions:e,selectedKeys:t,allMatching:n,total:r,query:i,canSelectAllMatching:a,onSelectAllMatching:o,onCompleted:s}){let{t:c}=U(`lattice`),[l,u]=(0,O.useState)(!1),d=g(),[f,p]=(0,O.useState)(null),[m,h]=(0,O.useState)(null),_=()=>n?{allMatching:!0,...i}:{selected:t};async function v(e){u(!0);let t=await ep(()=>Gf(e.endpoint,{method:e.method,ref:e.ref,body:JSON.stringify(_()),throwOnError:!1}),d);u(!1),t&&(p(null),s())}function y(e){if(e.form){h(e);return}if(e.confirmation){p(e);return}v(e)}let b=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:b}):c(`table.bulk.selected`,`{{count}} selected`,{count:b})}),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":E(`bulk-action`,e.id),variant:e.variant,disabled:l,onClick:()=>y(e),children:[l&&(0,Y.jsx)(Lf,{}),e.label]},e.id))}),f?.confirmation&&(0,Y.jsx)(Rf,{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,processing:l,onConfirm:()=>void v(f),onCancel:()=>p(null)}),m?.form&&(0,Y.jsx)(_m,{cancelLabel:m.confirmation?.cancelLabel??c(`common.cancel`,`Cancel`),componentRef:m.ref,description:m.confirmation?.description??void 0,endpoint:m.endpoint,extraData:_(),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 lx({className:e,density:t,children:n,ref:r,...i}){return(0,Y.jsx)(`select`,{ref:r,"data-slot":`native-select`,className:J(Tv({density:t}),`cursor-pointer`,e),...i,children:n})}function ux(e){return e===!0||e===1||e===`1`||e===`true`}function dx({filter:e,value:t,processing:n,bare:r=!1,onChange:i,onSearch:a}){let{t:o}=U(`lattice`),s=e.schema??[];return s.length===0?(0,Y.jsx)(mx,{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})}),Lb(t)&&(0,Y.jsx)(Iv,{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,O.useMemo)(()=>zb(n),[n]),c=(0,O.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([]),validate:()=>{}}),[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)(Tr,{nodes:t})});return(0,Y.jsx)(rp,{value:c,children:(0,Y.jsx)(op,{value:{markUserEdit:()=>{}},children:(0,Y.jsx)(Ap,{nodes:{},children:(0,Y.jsx)(Vp,{initial:s,children:(0,Y.jsx)(px,{onChange:a,children:i?(0,Y.jsx)(Zp,{children:l}):l})})})})})}function px({children:e,onChange:t}){let n=Up(),r=Kp(),i=(0,O.useRef)(n);i.current=n;let a=(0,O.useCallback)((e,n)=>{let a=typeof n==`function`?n(pp(i.current,e)):n,o=hp(i.current,e,a);i.current=o,r(e,a),t(o)},[t,r]);return(0,Y.jsx)(Jp,{value:(0,O.useMemo)(()=>({blur:()=>{},change:a,commit:a}),[a]),children:e})}function mx({filter:e,value:t,processing:n,onChange:r}){let i=ux(zb(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)(R_,{"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 hx({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}=U(`lattice`),[d,f]=(0,O.useState)(n),p=o??u(`table.filter.filter-by`,`Filter {{label}}`,{label:t}),m=a?`rounded-r-none`:``;return(0,O.useEffect)(()=>{f(n)},[n]),e===`boolean`?(0,Y.jsxs)(lx,{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)(Ev,{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)(Ev,{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)(Iv,{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 gx({column:e,clauses:t,processing:n,onAdd:r,onUpdate:i,onRemove:a,onReplace:o,onSearch:s}){let{t:c}=U(`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)(hx,{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)(nd,{children:[(0,Y.jsx)(rd,{asChild:!0,children:(0,Y.jsx)(Iv,{variant:`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)(ad,{align:`start`,className:`w-80 p-4`,children:(0,Y.jsx)(Sx,{column:e,clauses:t,operators:p,defaultOperator:m,processing:n,onAdd:r,onUpdate:i,onRemove:a})})]})]})}function _x(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=bx(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=_x(zb(t).value);if(n===``){r(e.key,[]);return}let i=l.find(e=>e.value===n);if(i){r(e.key,yx(e.key,i));return}r(e.key,[{field:e.key,operator:c,value:n}])}return(0,Y.jsx)(dx,{filter:p,value:{value:f},processing:n,bare:!0,onChange:m,onSearch:i?(e,t,n)=>i(t,n):void 0})}function yx(e,t){return t.clauses.map(t=>({field:e,operator:t.operator,value:t.value}))}function bx(e,t){return t.find(t=>xx(e,yx(``,t)))}function xx(e,t){return e.length===t.length?t.every(t=>e.some(e=>e.operator===t.operator&&e.value===t.value)):!1}function Sx({column:e,clauses:t,operators:n,defaultOperator:r,processing:i,onAdd:a,onUpdate:o,onRemove:s}){let{t:c}=U(`lattice`),l=e.props.filter?.type??`text`,[u,d]=(0,O.useState)(r),[f,p]=(0,O.useState)(t.length===0);return(0,Y.jsxs)(`div`,{className:`grid gap-3`,children:[t.map(t=>(0,Y.jsx)(Cx,{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)(Cx,{column:e,type:l,operators:n,clause:{field:e.key,operator:u,value:``},processing:i,onOperator:t=>{if(Qb.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 Cx({column:e,type:t,operators:n,clause:r,processing:i,onOperator:a,onValue:o,onRemove:s}){let{t:c}=U(`lattice`),l=e.props.label??e.key,u=Qb.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)(lx,{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:$b(e)},e))}):(0,Y.jsx)(`span`,{className:`flex-1 text-sm font-medium`,children:$b(r.operator)}),(0,Y.jsx)($,{variant:`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)(hx,{type:t,label:l,ariaLabel:c(`table.filter.value`,`{{label}} filter value`,{label:l}),value:r.value,processing:i,onCommit:o,onClear:()=>o(``)})]})}function wx({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 Tx({column:e,processing:t,resizeHandleProps:n,sort:r,query:i}){let a=Bb(i,e),{t:o}=U(`lattice`),{align:s,label:c,sortable:l}=e.props;return(0,Y.jsxs)(`div`,{"aria-sort":Vb(a),className:J(`relative min-w-0 px-4 py-3 pr-5 align-middle font-semibold text-lt-fg`,bb(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`,xb(s)),"data-test":`sort-${e.key}`,disabled:t,onClick:()=>r(e),children:[(0,Y.jsx)(`span`,{className:J(`min-w-0 flex-1 truncate`,bb(s)),children:c}),(0,Y.jsx)(wx,{sort:a})]}):(0,Y.jsx)(`span`,{className:J(`block truncate`,bb(s)),children:c}),n&&(0,Y.jsx)(`div`,{...n})]})}function Ex({columns:e,hasHidden:t,isVisible:n,onReset:r,onToggle:i,processing:a,visibleColumnCount:o}){let{t:s}=U(`lattice`);return(0,Y.jsxs)(nd,{children:[(0,Y.jsx)(rd,{asChild:!0,children:(0,Y.jsx)(Iv,{size:`sm`,icon:`columns-3`,label:s(`table.columns.label`,`Columns`),"data-test":`table-columns-menu`,disabled:a})}),(0,Y.jsx)(ad,{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)(R_,{"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 Dx({clauses:e,columnsByKey:t,indicators:n,processing:r,onRemoveClause:i,onChange:a,onReset:o}){let{t:s}=U(`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=Qb.has(e.operator);return(0,Y.jsx)(Ox,{label:`${a} ${$b(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)(Ox,{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:opacity-50`,disabled:r,onClick:o,children:s(`table.filter.reset-all`,`Reset all`)})]})})}function Ox({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)(Iv,{size:`xs`,icon:`x`,label:r,"data-test":n,disabled:i,onClick:a})]})}function kx({filters:e,values:t,processing:n,onChange:r,onSearch:i}){let{t:a}=U(`lattice`),o=e.filter(e=>Lb(t[e.key]));return(0,Y.jsxs)(nd,{children:[(0,Y.jsx)(rd,{asChild:!0,children:(0,Y.jsx)(Iv,{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)(ad,{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)(dx,{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 Ax({pagination:e,currentPage:t,processing:n,mode:r,hasNextPage:i,visiblePages:a,infiniteLoaderRef:o,onPage:s,onLoadMore:c}){let{t:l}=U(`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)($,{variant:`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)($,{variant:`outline`,"data-test":`pagination-previous`,disabled:n||t<=1,onClick:()=>s(t-1),children:l(`table.pagination.previous`,`Previous`)}),(0,Y.jsx)($,{variant:`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)($,{variant:`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)($,{variant:`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)($,{variant:`outline`,"data-test":`pagination-next`,disabled:n||!i,onClick:()=>s(t+1),children:l(`table.pagination.next`,`Next`)})]}):null]})}function jx({columnsByKey:e,query:t,processing:n,onClear:r}){let{t:i}=U(`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":ex(t.direction),className:`size-lt-icon-sm text-lt-muted-fg`}),(0,Y.jsx)(Iv,{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 Mx=300;function Nx({value:e,onSearch:t}){let{t:n}=U(`lattice`),[r,i]=(0,O.useState)(e),a=(0,O.useRef)(e);(0,O.useEffect)(()=>{e!==a.current&&(a.current=e,i(e))},[e]);function o(e){a.current=e,t(e)}let s=fm(o,Mx);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)(Ev,{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)(Iv,{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 Px(e){return e}function Fx(e,t,n){if(e==null)return``;let r=t?.props?.date;return r?Ha(e,r,n):typeof e==`string`||typeof e==`number`||typeof e==`boolean`?String(e):JSON.stringify(e)}function Ix(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 Lx=({column:e,props:t,value:n})=>{let r=Fx(n,e);if(r===``)return null;let i=Dh(Th(t.colors?.[String(n)])??wh(`gray`));return(0,Y.jsx)(`span`,{className:J(`lt-cell-badge`,i.className),style:i.style,children:r})},Rx=({value:e})=>{let{t}=U(`lattice`),n=ux(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`)})})},zx=({props:e,value:t})=>{let n=e.icons?.[String(t)]??e.icon??void 0;if(!n)return null;let r=Th(e.colors?.[String(t)]),i=r?Dh(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)(_r,{className:`size-lt-icon-md`,icon:n})})},Bx=({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)(Ah,{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 Vx(e){let t=typeof e==`number`?e:Number(e);return e!=null&&e!==``&&!Number.isNaN(t)?t:null}function Hx(e,t,n){let r=Vx(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 Ux({children:e,column:t,copyable:n,value:r}){return n?(0,Y.jsx)(xh,{value:r,label:t.props.label??t.key,testId:`copy-${t.key}`,children:e}):e}function Wx({column:e,copyable:t,format:n,value:r}){let{locale:i}=v();return Vx(r)===null?(0,Y.jsx)(`span`,{children:Fx(r,e)}):(0,Y.jsx)(Ux,{column:e,copyable:t,value:String(r),children:(0,Y.jsx)(`span`,{className:`tabular-nums`,children:Hx(r,n,i)})})}var Gx=({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)(Wx,{column:e,copyable:t.copyable,value:r,format:{kind:`number`,notation:`standard`,minimumFractionDigits:t.minimumFractionDigits,maximumFractionDigits:t.maximumFractionDigits,currency:a,unit:null}})},Kx=({column:e,props:t,value:n})=>(0,Y.jsx)(Wx,{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}}),qx=({column:e,row:t})=>(0,Y.jsx)(`div`,{className:`grid gap-1`,children:(0,Y.jsx)(Tr,{nodes:Ot(e.schema,t)})}),Jx=e=>e.props.multiple?(0,Y.jsx)(Xx,{...e}):e.props.badge?(0,Y.jsx)(Zx,{...e}):(0,Y.jsx)(Qx,{...e});function Yx({label:e,color:t}){if(e===``)return null;let n=Dh(Th(t)??wh(`gray`));return(0,Y.jsx)(`span`,{className:J(`lt-cell-badge`,n.className),style:n.style,children:e})}function Xx({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)(Yx,{label:Fx(r.value,e),color:r.color},n)})}):(0,Y.jsx)(`span`,{children:r.map(t=>Fx(t,e)).join(`, `)})}function Zx({column:e,props:t,row:n,value:r}){let i=t.badge.colorKey;return(0,Y.jsx)(Yx,{label:Fx(r,e),color:String(n[i]??``)})}function Qx({column:e,props:t,row:n,value:r}){let i=e.props.date,a=Ix(e,n,r),o=Fx(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)(Wa,{value:r,dateStyle:i.dateStyle,timeStyle:i.timeStyle}):(0,Y.jsx)(Ux,{column:e,copyable:t.copyable,value:o,children:s})}var $x={"column.badge":Px(Lx),"column.boolean":Px(Rx),"column.icon":Px(zx),"column.image":Px(Bx),"column.money":Px(Gx),"column.number":Px(Kx),"column.stack":Px(qx),"column.text":Px(Jx)};function eS({column:e,row:t}){return(0,Y.jsx)(f()[e.type]??$x[e.type]??$x[`column.text`],{column:e,props:e.props,row:t,value:t[e.key]})}var tS=B(mg,Fm,Gy,Od,ie({components:{table:z(({node:e})=>{let{t}=U(`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}=ox(e),w=(0,O.useMemo)(()=>Cb(e.props?.bulkActions),[e.props?.bulkActions]),T=w.length>0,E=(0,O.useMemo)(()=>r.map((e,t)=>({row:e,actions:Nb(e),detail:Pb(e),key:Mb(e,t)})),[r]),k=sx(E.map(e=>e.key)),{isExpanded:A,toggle:j}=gb(),M=E.some(e=>e.detail!=null),N=(0,O.useMemo)(()=>new Map(n.map(e=>[e.key,e])),[n]),P=D(e),{hasToggleableColumns:F,hasHidden:I,isVisible:ee,resetVisibility:te,setColumnVisible:ne,toggleableColumns:re,visibleColumns:L}=db({columns:n,storageKey:P?`lattice:table-column-visibility:${P}`:void 0}),R=i.currentPage??a.page,z=i.lastPage??R,ie=i.mode??`table`,B=nx(R,z),ae=i.hasMore??R<z,V=E.some(e=>e.actions.length>0),oe=e.props?.striped===!0,se=L.some(e=>e.props.filter!=null),ce=o.map((e,t)=>({clause:e,index:t})),le=(0,O.useMemo)(()=>Array.isArray(e.props?.filters)?e.props.filters:[],[e.props?.filters]),ue=le.length>0,de=V||ue||F,fe=(0,O.useMemo)(()=>rx(L),[L]),pe=(0,O.useMemo)(()=>ax(de,T,M),[de,T,M]),me=e.props?.resizableColumns===!0,he=D(e),{getResizeHandleProps:ge,gridTemplateColumns:_e,hasOverrides:ve,resizeRootRef:ye,resetColumns:be}=Zg({columns:fe,enabled:me,leadingTracks:pe.leadingTracks,showIndicator:e.props?.resizeIndicator===!0,storageKey:me&&he?`lattice:table-columns:${he}`:void 0,trailingTracks:pe.trailingTracks});return(0,Y.jsxs)(`div`,{"data-slot":`table`,"data-lattice-component":e.id,className:`relative`,children:[ve&&(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:be,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)(Nx,{value:c,onSearch:h})}),(0,Y.jsx)(Dx,{clauses:o,columnsByKey:N,indicators:a.tableFilterIndicators,processing:_,onRemoveClause:d,onChange:p,onReset:m}),T&&k.active&&(0,Y.jsx)(cx,{actions:w,selectedKeys:k.selectedKeys,allMatching:k.allMatching,total:i.total??void 0,query:Jb(a),canSelectAllMatching:k.allVisibleSelected&&!k.allMatching&&i.total!=null&&i.total>k.selectedKeys.length,onSelectAllMatching:k.selectAllMatching,onCompleted:k.clear}),a.sorts.length>0&&(0,Y.jsx)(jx,{columnsByKey:N,query:a,processing:_,onClear:x}),(0,Y.jsxs)(`div`,{ref:ye,className:`min-w-full text-base`,role:`table`,style:{"--lattice-table-columns":_e},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:[M&&(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)(R_,{"aria-label":t(`table.select-all-rows`,`Select all rows`),"data-test":`select-all`,checked:k.allSelected,onCheckedChange:()=>k.toggleAll()})}),L.map((e,t)=>(0,Y.jsx)(Tx,{column:e,processing:_,resizeHandleProps:me?ge(fe[t]):void 0,sort:b,query:a},e.key)),de&&(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:[ue&&(0,Y.jsx)(kx,{filters:le,values:s,processing:_,onChange:p,onSearch:g}),F&&(0,Y.jsx)(Ex,{columns:re,isVisible:ee,visibleColumnCount:L.length,hasHidden:I,onToggle:ne,onReset:te,processing:_}),V&&(0,Y.jsx)(`span`,{className:`sr-only`,children:e.props?.actionsLabel??t(`table.actions`,`Actions`)})]})]}),se&&(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:[M&&(0,Y.jsx)(`div`,{className:`px-2 py-2`,role:`cell`}),T&&(0,Y.jsx)(`div`,{className:`px-4 py-2`,role:`cell`}),L.map(e=>(0,Y.jsx)(`div`,{className:`min-w-0 px-2 py-2`,role:`cell`,children:e.props.filter!=null&&(0,Y.jsx)(gx,{column:e,clauses:ce.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)),de&&(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&&A(a),s=`${D(e)??`table`}-row-detail-${a}`;return(0,Y.jsxs)(O.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)] ${oe?`odd:bg-lt-muted/30`:``}`,role:`row`,children:[M&&(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:()=>j(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)(R_,{"aria-label":t(`table.select-row`,`Select row {{key}}`,{key:a}),"data-test":`select-row-${a}`,checked:k.isSelected(a),onCheckedChange:()=>k.toggle(a)})}),L.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`,bb(e.props.align),Sb(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)(eS,{column:e,row:n})})]},e.key)),de&&(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)(Er,{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)(Tr,{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)(Ax,{pagination:i,currentPage:R,processing:_,mode:ie,hasNextPage:ae,visiblePages:B,infiniteLoaderRef:y,onPage:S,onLoadMore:C})]})]})})},name:`lattice/table`}),Xm,sb,ub);function nS(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 rS({ready:e,children:t}){let[n,r]=(0,O.useState)(!1);return(0,O.useEffect)(()=>{let t=!0,n=()=>{t&&r(!0)};return e.then(n,n),()=>{t=!1}},[e]),n?t:null}function iS({registry:e,plugins:t,sprite:n,pages:r={},defaultLayout:a,strictMode:s=!0,i18n:c,boot:l,wrap:d,...f}={}){let p=e??tS,m=t&&t.length>0?ae(p,...t):p;i(m);let h=c!==!1,g=t?.flatMap(e=>e.i18n?[e.i18n]:[])??[],_=h?nS(c??{},g):{},v=f.defaults?.visitOptions,y=h?{...f.defaults,visitOptions:(e,t)=>Id(e,v?.(e,t)??t)}:f.defaults,b=o({...f,defaults:y,strictMode:s,resolve:Pd(r),layout:Fd({defaultLayout:a}),withApp:(e,{ssr:t,page:r})=>{let i=[];if(!t){h&&jt(r.props)!==void 0&&i.push(u(()=>import(`./chunks/page-props-D3FnL614.js`).then(e=>e.configureI18nFromPageProps(r.props,_)),__vite__mapDeps([12,4,1]),import.meta.url));let e=l?.({page:r});e&&i.push(e)}let a=(0,Y.jsxs)(Y.Fragment,{children:[e,h?(0,Y.jsx)(St,{}):null]}),o=(0,Y.jsx)(Tm,{registry:m,sprite:n,children:d?d(a):a});return i.length>0?(0,Y.jsx)(rS,{ready:Promise.all(i),children:o}):o}});return R(),b}function aS(){return console.warn(`[lattice] The data-lattice-config script holds invalid JSON; booting with defaults.`),{}}function oS(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 sS=oS(document);async function cS(){if(sS.echo)try{let{configureEcho:e}=await u(async()=>{let{configureEcho:e}=await import(`./chunks/dist-PaT1gYi_.js`);return{configureEcho:e}},__vite__mapDeps([5,1]),import.meta.url);e(sS.echo)}catch(e){console.warn(`[lattice] Failed to load the realtime chunk; continuing without Echo.`,e)}iS({...sS.spriteUrl?{sprite:{href:sS.spriteUrl}}:{},defaults:{visitOptions:Id}})}cS();export{pc as A,vt as B,_c as C,gc as D,mc as E,Ar as F,yt as H,X as I,J as L,Ha as M,Va as N,vc as O,Or as P,jt as R,rd as S,yc as T,U,H as V,lt as W,Op as _,Iv as a,nd as b,bg as c,jm as d,Nm as f,Wp as g,Yp as h,jy as i,hc as j,fc as k,Th as l,Mm as m,Vx as n,Ev as o,Pm as p,By as r,Ng as s,Hx as t,Eh as u,ip as v,dc as w,ad as x,$ as y,Ct as z};