@object-ui/components 5.0.2 → 5.2.1
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.
- package/CHANGELOG.md +201 -0
- package/dist/index.css +102 -4
- package/dist/index.js +1314 -1226
- package/dist/index.umd.cjs +3 -3
- package/dist/packages/components/src/custom/index.d.ts +1 -0
- package/dist/packages/components/src/custom/shimmer-skeleton.d.ts +32 -0
- package/dist/packages/components/src/custom/view-states.d.ts +27 -2
- package/package.json +5 -5
package/dist/index.umd.cjs
CHANGED
|
@@ -10,10 +10,10 @@ ${n.map(([e,n])=>{let r=n.theme?.[t]||n.color;return r?` --color-${e}: ${r};`:n
|
|
|
10
10
|
`)}
|
|
11
11
|
}
|
|
12
12
|
`).join(`
|
|
13
|
-
`)}}):null},mt=g.Tooltip,ht=a.forwardRef(({active:e,payload:t,className:n,indicator:r=`dot`,hideLabel:i=!1,hideIndicator:s=!1,label:c,labelFormatter:l,labelClassName:u,formatter:d,color:f,nameKey:p,labelKey:m},h)=>{let{config:g}=dt(),_=a.useMemo(()=>{if(i||!t?.length)return null;let[e]=t,n=vt(g,e,`${m||e?.dataKey||e?.name||`value`}`),r=!m&&typeof c==`string`?g[c]?.label||c:n?.label;return l?(0,o.jsx)(`div`,{className:B(`font-medium`,u),children:l(r,t)}):r?(0,o.jsx)(`div`,{className:B(`font-medium`,u),children:r}):null},[c,l,t,i,u,g,m]);if(!e||!t?.length)return null;let v=t.length===1&&r!==`dot`;return(0,o.jsxs)(`div`,{ref:h,className:B(`grid min-w-[8rem] items-start gap-1.5 rounded-lg border border-border/50 bg-background px-2.5 py-1.5 text-xs shadow-xl`,n),children:[v?null:_,(0,o.jsx)(`div`,{className:`grid gap-1.5`,children:t.filter(e=>e.type!==`none`).map((e,t)=>{let n=vt(g,e,`${p||e.name||e.dataKey||`value`}`),i=f||e.payload.fill||e.color;return(0,o.jsx)(`div`,{className:B(`flex w-full flex-wrap items-stretch gap-2 [&>svg]:h-2.5 [&>svg]:w-2.5 [&>svg]:text-muted-foreground`,r===`dot`&&`items-center`),children:d&&e?.value!==void 0&&e.name?d(e.value,e.name,e,t,e.payload):(0,o.jsxs)(o.Fragment,{children:[n?.icon?(0,o.jsx)(n.icon,{}):!s&&(0,o.jsx)(`div`,{className:B(`shrink-0 rounded-[2px] border-(--color-border) bg-(--color-bg)`,{"h-2.5 w-2.5":r===`dot`,"w-1":r===`line`,"w-0 border-[1.5px] border-dashed bg-transparent":r===`dashed`,"my-0.5":v&&r===`dashed`}),style:{"--color-bg":i,"--color-border":i}}),(0,o.jsxs)(`div`,{className:B(`flex flex-1 justify-between leading-none`,v?`items-end`:`items-center`),children:[(0,o.jsxs)(`div`,{className:`grid gap-1.5`,children:[v?_:null,(0,o.jsx)(`span`,{className:`text-muted-foreground`,children:n?.label||e.name})]}),e.value&&(0,o.jsx)(`span`,{className:`font-mono font-medium tabular-nums text-foreground`,children:e.value.toLocaleString()})]})]})},e.dataKey)})})]})});ht.displayName=`ChartTooltip`;var gt=g.Legend,_t=a.forwardRef(({className:e,hideIcon:t=!1,payload:n,verticalAlign:r=`bottom`,nameKey:i},a)=>{let{config:s}=dt();return n?.length?(0,o.jsx)(`div`,{ref:a,className:B(`flex items-center justify-center gap-4`,r===`top`?`pb-3`:`pt-3`,e),children:n.filter(e=>e.type!==`none`).map(e=>{let n=vt(s,e,`${i||e.dataKey||`value`}`);return(0,o.jsxs)(`div`,{className:B(`flex items-center gap-1.5 [&>svg]:h-3 [&>svg]:w-3 [&>svg]:text-muted-foreground`),children:[n?.icon&&!t?(0,o.jsx)(n.icon,{}):(0,o.jsx)(`div`,{className:`h-2 w-2 shrink-0 rounded-[2px]`,style:{backgroundColor:e.color}}),n?.label]},e.value)})}):null});_t.displayName=`ChartLegend`;function vt(e,t,n){if(typeof t!=`object`||!t)return;let r=`payload`in t&&typeof t.payload==`object`&&t.payload!==null?t.payload:void 0,i=n;return n in t&&typeof t[n]==`string`?i=t[n]:r&&n in r&&typeof r[n]==`string`&&(i=r[n]),i in e?e[i]:e[n]}var yt=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(_.Root,{ref:n,className:B(`grid place-content-center peer h-4 w-4 shrink-0 rounded-sm border border-primary ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground`,e),...t,children:(0,o.jsx)(_.Indicator,{className:B(`grid place-content-center text-current`),children:(0,o.jsx)(c.Check,{className:`h-4 w-4`})})}));yt.displayName=_.Root.displayName;var bt=v.Root,xt=v.CollapsibleTrigger,St=v.CollapsibleContent,Ct=b.Root,wt=b.Trigger,Tt=b.Portal,Et=b.Close,Dt=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(b.Overlay,{ref:n,className:B(`fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0`,e),...t}));Dt.displayName=b.Overlay.displayName;var Ot=a.forwardRef(({className:e,children:t,...n},r)=>(0,o.jsxs)(Tt,{children:[(0,o.jsx)(Dt,{}),(0,o.jsxs)(b.Content,{ref:r,className:B(`fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg`,e),...n,children:[t,(0,o.jsxs)(b.Close,{className:`absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground`,children:[(0,o.jsx)(c.X,{className:`h-4 w-4`}),(0,o.jsx)(`span`,{className:`sr-only`,children:`Close`})]})]})]}));Ot.displayName=b.Content.displayName;var kt=({className:e,...t})=>(0,o.jsx)(`div`,{className:B(`flex flex-col space-y-1.5 text-center sm:text-left`,e),...t});kt.displayName=`DialogHeader`;var At=({className:e,...t})=>(0,o.jsx)(`div`,{className:B(`flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2`,e),...t});At.displayName=`DialogFooter`;var jt=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(b.Title,{ref:n,className:B(`text-lg font-semibold leading-none tracking-tight`,e),...t}));jt.displayName=b.Title.displayName;var Mt=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(b.Description,{ref:n,className:B(`text-sm text-muted-foreground`,e),...t}));Mt.displayName=b.Description.displayName;var Nt=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(y.Command,{ref:n,className:B(`flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground`,e),...t}));Nt.displayName=y.Command.displayName;var Pt=({children:e,...t})=>(0,o.jsx)(Ct,{...t,children:(0,o.jsx)(Ot,{className:`overflow-hidden p-0 shadow-lg`,children:(0,o.jsx)(Nt,{className:`[&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-group]]:px-2 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5`,children:e})})}),Ft=a.forwardRef(({className:e,...t},n)=>(0,o.jsxs)(`div`,{className:`flex items-center border-b px-3`,"cmdk-input-wrapper":``,children:[(0,o.jsx)(c.Search,{className:`mr-2 h-4 w-4 shrink-0 opacity-50`}),(0,o.jsx)(y.Command.Input,{ref:n,className:B(`flex h-11 w-full rounded-md bg-transparent py-3 text-sm outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50`,e),...t})]}));Ft.displayName=y.Command.Input.displayName;var It=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(y.Command.List,{ref:n,className:B(`max-h-[300px] overflow-y-auto overflow-x-hidden`,e),...t}));It.displayName=y.Command.List.displayName;var Lt=a.forwardRef((e,t)=>(0,o.jsx)(y.Command.Empty,{ref:t,className:`py-6 text-center text-sm`,...e}));Lt.displayName=y.Command.Empty.displayName;var Rt=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(y.Command.Group,{ref:n,className:B(`overflow-hidden p-1 text-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground`,e),...t}));Rt.displayName=y.Command.Group.displayName;var zt=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(y.Command.Separator,{ref:n,className:B(`-mx-1 h-px bg-border`,e),...t}));zt.displayName=y.Command.Separator.displayName;var Bt=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(y.Command.Item,{ref:n,className:B(`relative flex cursor-default gap-2 select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none data-[disabled=true]:pointer-events-none data-[selected='true']:bg-accent data-[selected=true]:text-accent-foreground data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0`,e),...t}));Bt.displayName=y.Command.Item.displayName;var Vt=({className:e,...t})=>(0,o.jsx)(`span`,{className:B(`ml-auto text-xs tracking-widest text-muted-foreground`,e),...t});Vt.displayName=`CommandShortcut`;var Ht=x.Root,Ut=x.Trigger,Wt=x.Group,Gt=x.Portal,Kt=x.Sub,qt=x.RadioGroup,Jt=a.forwardRef(({className:e,inset:t,children:n,...r},i)=>(0,o.jsxs)(x.SubTrigger,{ref:i,className:B(`flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground`,t&&`pl-8`,e),...r,children:[n,(0,o.jsx)(c.ChevronRight,{className:`ml-auto h-4 w-4`})]}));Jt.displayName=x.SubTrigger.displayName;var Yt=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(x.SubContent,{ref:n,className:B(`z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-(--radix-context-menu-content-transform-origin)`,e),...t}));Yt.displayName=x.SubContent.displayName;var Xt=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(x.Portal,{children:(0,o.jsx)(x.Content,{ref:n,className:B(`z-50 max-h-(--radix-context-menu-content-available-height) min-w-[8rem] overflow-y-auto overflow-x-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md animate-in fade-in-80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-(--radix-context-menu-content-transform-origin)`,e),...t})}));Xt.displayName=x.Content.displayName;var Zt=a.forwardRef(({className:e,inset:t,...n},r)=>(0,o.jsx)(x.Item,{ref:r,className:B(`relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50`,t&&`pl-8`,e),...n}));Zt.displayName=x.Item.displayName;var Qt=a.forwardRef(({className:e,children:t,checked:n,...r},i)=>(0,o.jsxs)(x.CheckboxItem,{ref:i,className:B(`relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50`,e),checked:n,...r,children:[(0,o.jsx)(`span`,{className:`absolute left-2 flex h-3.5 w-3.5 items-center justify-center`,children:(0,o.jsx)(x.ItemIndicator,{children:(0,o.jsx)(c.Check,{className:`h-4 w-4`})})}),t]}));Qt.displayName=x.CheckboxItem.displayName;var $t=a.forwardRef(({className:e,children:t,...n},r)=>(0,o.jsxs)(x.RadioItem,{ref:r,className:B(`relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50`,e),...n,children:[(0,o.jsx)(`span`,{className:`absolute left-2 flex h-3.5 w-3.5 items-center justify-center`,children:(0,o.jsx)(x.ItemIndicator,{children:(0,o.jsx)(c.Circle,{className:`h-2 w-2 fill-current`})})}),t]}));$t.displayName=x.RadioItem.displayName;var en=a.forwardRef(({className:e,inset:t,...n},r)=>(0,o.jsx)(x.Label,{ref:r,className:B(`px-2 py-1.5 text-sm font-semibold text-foreground`,t&&`pl-8`,e),...n}));en.displayName=x.Label.displayName;var tn=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(x.Separator,{ref:n,className:B(`-mx-1 my-1 h-px bg-border`,e),...t}));tn.displayName=x.Separator.displayName;var nn=({className:e,...t})=>(0,o.jsx)(`span`,{className:B(`ml-auto text-xs tracking-widest text-muted-foreground`,e),...t});nn.displayName=`ContextMenuShortcut`;var rn=({shouldScaleBackground:e=!0,...t})=>(0,o.jsx)(S.Drawer.Root,{shouldScaleBackground:e,...t});rn.displayName=`Drawer`;var an=S.Drawer.Trigger,on=S.Drawer.Portal,sn=S.Drawer.Close,cn=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(S.Drawer.Overlay,{ref:n,className:B(`fixed inset-0 z-50 bg-black/80`,e),...t}));cn.displayName=S.Drawer.Overlay.displayName;var ln=a.forwardRef(({className:e,children:t,...n},r)=>(0,o.jsxs)(on,{children:[(0,o.jsx)(cn,{}),(0,o.jsxs)(S.Drawer.Content,{ref:r,className:B(`fixed inset-x-0 bottom-0 z-50 mt-24 flex h-auto flex-col rounded-t-[10px] border bg-background`,e),...n,children:[(0,o.jsx)(`div`,{className:`mx-auto mt-4 h-2 w-[100px] rounded-full bg-muted`}),t]})]}));ln.displayName=`DrawerContent`;var un=({className:e,...t})=>(0,o.jsx)(`div`,{className:B(`grid gap-1.5 p-4 text-center sm:text-left`,e),...t});un.displayName=`DrawerHeader`;var dn=({className:e,...t})=>(0,o.jsx)(`div`,{className:B(`mt-auto flex flex-col gap-2 p-4`,e),...t});dn.displayName=`DrawerFooter`;var fn=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(S.Drawer.Title,{ref:n,className:B(`text-lg font-semibold leading-none tracking-tight`,e),...t}));fn.displayName=S.Drawer.Title.displayName;var pn=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(S.Drawer.Description,{ref:n,className:B(`text-sm text-muted-foreground`,e),...t}));pn.displayName=S.Drawer.Description.displayName;var mn=C.Root,hn=C.Trigger,gn=C.Group,_n=C.Portal,vn=C.Sub,yn=C.RadioGroup,bn=a.forwardRef(({className:e,inset:t,children:n,...r},i)=>(0,o.jsxs)(C.SubTrigger,{ref:i,className:B(`flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent data-[state=open]:bg-accent [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0`,t&&`pl-8`,e),...r,children:[n,(0,o.jsx)(c.ChevronRight,{className:`ml-auto`})]}));bn.displayName=C.SubTrigger.displayName;var xn=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(C.SubContent,{ref:n,className:B(`z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-(--radix-dropdown-menu-content-transform-origin)`,e),...t}));xn.displayName=C.SubContent.displayName;var Sn=a.forwardRef(({className:e,sideOffset:t=4,...n},r)=>(0,o.jsx)(C.Portal,{children:(0,o.jsx)(C.Content,{ref:r,sideOffset:t,className:B(`z-50 max-h-[var(--radix-dropdown-menu-content-available-height)] min-w-[8rem] overflow-y-auto overflow-x-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-(--radix-dropdown-menu-content-transform-origin)`,e),...n})}));Sn.displayName=C.Content.displayName;var Cn=a.forwardRef(({className:e,inset:t,...n},r)=>(0,o.jsx)(C.Item,{ref:r,className:B(`relative flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0`,t&&`pl-8`,e),...n}));Cn.displayName=C.Item.displayName;var wn=a.forwardRef(({className:e,children:t,checked:n,...r},i)=>(0,o.jsxs)(C.CheckboxItem,{ref:i,className:B(`relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50`,e),checked:n,...r,children:[(0,o.jsx)(`span`,{className:`absolute left-2 flex h-3.5 w-3.5 items-center justify-center`,children:(0,o.jsx)(C.ItemIndicator,{children:(0,o.jsx)(c.Check,{className:`h-4 w-4`})})}),t]}));wn.displayName=C.CheckboxItem.displayName;var Tn=a.forwardRef(({className:e,children:t,...n},r)=>(0,o.jsxs)(C.RadioItem,{ref:r,className:B(`relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50`,e),...n,children:[(0,o.jsx)(`span`,{className:`absolute left-2 flex h-3.5 w-3.5 items-center justify-center`,children:(0,o.jsx)(C.ItemIndicator,{children:(0,o.jsx)(c.Circle,{className:`h-2 w-2 fill-current`})})}),t]}));Tn.displayName=C.RadioItem.displayName;var En=a.forwardRef(({className:e,inset:t,...n},r)=>(0,o.jsx)(C.Label,{ref:r,className:B(`px-2 py-1.5 text-sm font-semibold`,t&&`pl-8`,e),...n}));En.displayName=C.Label.displayName;var Dn=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(C.Separator,{ref:n,className:B(`-mx-1 my-1 h-px bg-muted`,e),...t}));Dn.displayName=C.Separator.displayName;var On=({className:e,...t})=>(0,o.jsx)(`span`,{className:B(`ml-auto text-xs tracking-widest opacity-60`,e),...t});On.displayName=`DropdownMenuShortcut`;var kn=(0,d.cva)(`text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70`),K=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(T.Root,{ref:n,className:B(kn(),e),...t}));K.displayName=T.Root.displayName;var An=w.FormProvider,jn=a.createContext(null),Mn=({...e})=>(0,o.jsx)(jn.Provider,{value:{name:e.name},children:(0,o.jsx)(w.Controller,{...e})}),Nn=()=>{let e=a.useContext(jn),t=a.useContext(Pn),{getFieldState:n,formState:r}=(0,w.useFormContext)();if(!e)throw Error(`useFormField should be used within <FormField>`);if(!t)throw Error(`useFormField should be used within <FormItem>`);let i=n(e.name,r),{id:o}=t;return{id:o,name:e.name,formItemId:`${o}-form-item`,formDescriptionId:`${o}-form-item-description`,formMessageId:`${o}-form-item-message`,...i}},Pn=a.createContext(null),Fn=a.forwardRef(({className:e,...t},n)=>{let r=a.useId();return(0,o.jsx)(Pn.Provider,{value:{id:r},children:(0,o.jsx)(`div`,{ref:n,className:B(`space-y-2`,e),...t})})});Fn.displayName=`FormItem`;var In=a.forwardRef(({className:e,...t},n)=>{let{error:r,formItemId:i}=Nn();return(0,o.jsx)(K,{ref:n,className:B(r&&`text-destructive`,e),htmlFor:i,...t})});In.displayName=`FormLabel`;var Ln=a.forwardRef(({...e},t)=>{let{error:n,formItemId:r,formDescriptionId:i,formMessageId:a}=Nn();return(0,o.jsx)(u.Slot,{ref:t,id:r,"aria-describedby":n?`${i} ${a}`:`${i}`,"aria-invalid":!!n,...e})});Ln.displayName=`FormControl`;var Rn=a.forwardRef(({className:e,...t},n)=>{let{formDescriptionId:r}=Nn();return(0,o.jsx)(`p`,{ref:n,id:r,className:B(`text-sm text-muted-foreground`,e),...t})});Rn.displayName=`FormDescription`;var zn=a.forwardRef(({className:e,children:t,...n},r)=>{let{error:i,formMessageId:a}=Nn(),s=i?String(i?.message??``):t;return s?(0,o.jsx)(`p`,{ref:r,id:a,className:B(`text-sm font-medium text-destructive`,e),...n,children:s}):null});zn.displayName=`FormMessage`;var Bn=E.Root,Vn=E.Trigger,Hn=a.forwardRef(({className:e,align:t=`center`,sideOffset:n=4,...r},i)=>(0,o.jsx)(E.Content,{ref:i,align:t,sideOffset:n,className:B(`z-50 w-64 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-(--radix-hover-card-content-transform-origin)`,e),...r}));Hn.displayName=E.Content.displayName;var Un=a.forwardRef(({className:e,containerClassName:t,...n},r)=>(0,o.jsx)(D.OTPInput,{ref:r,containerClassName:B(`flex items-center gap-2 has-[:disabled]:opacity-50`,t),className:B(`disabled:cursor-not-allowed`,e),...n}));Un.displayName=`InputOTP`;var Wn=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(`div`,{ref:n,className:B(`flex items-center`,e),...t}));Wn.displayName=`InputOTPGroup`;var Gn=a.forwardRef(({index:e,className:t,...n},r)=>{let{char:i,hasFakeCaret:s,isActive:c}=a.useContext(D.OTPInputContext).slots[e];return(0,o.jsxs)(`div`,{ref:r,className:B(`relative flex h-10 w-10 items-center justify-center border-y border-r border-input text-sm transition-all first:rounded-l-md first:border-l last:rounded-r-md`,c&&`z-10 ring-2 ring-ring ring-offset-background`,t),...n,children:[i,s&&(0,o.jsx)(`div`,{className:`pointer-events-none absolute inset-0 flex items-center justify-center`,children:(0,o.jsx)(`div`,{className:`h-4 w-px animate-caret-blink bg-foreground duration-1000`})})]})});Gn.displayName=`InputOTPSlot`;var Kn=a.forwardRef(({...e},t)=>(0,o.jsx)(`div`,{ref:t,role:`separator`,...e,children:(0,o.jsx)(c.Dot,{})}));Kn.displayName=`InputOTPSeparator`;var q=a.forwardRef(({className:e,type:t,...n},r)=>(0,o.jsx)(`input`,{type:t,className:B(`flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-base ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm`,e),ref:r,...n}));q.displayName=`Input`;function qn({...e}){return(0,o.jsx)(O.Menu,{...e})}function Jn({...e}){return(0,o.jsx)(O.Group,{...e})}function Yn({...e}){return(0,o.jsx)(O.Portal,{...e})}function Xn({...e}){return(0,o.jsx)(O.RadioGroup,{...e})}function Zn({...e}){return(0,o.jsx)(O.Sub,{"data-slot":`menubar-sub`,...e})}var Qn=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(O.Root,{ref:n,className:B(`flex h-10 items-center space-x-1 rounded-md border bg-background p-1`,e),...t}));Qn.displayName=O.Root.displayName;var $n=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(O.Trigger,{ref:n,className:B(`flex cursor-default select-none items-center rounded-sm px-3 py-1.5 text-sm font-medium outline-none focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground`,e),...t}));$n.displayName=O.Trigger.displayName;var er=a.forwardRef(({className:e,inset:t,children:n,...r},i)=>(0,o.jsxs)(O.SubTrigger,{ref:i,className:B(`flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground`,t&&`pl-8`,e),...r,children:[n,(0,o.jsx)(c.ChevronRight,{className:`ml-auto h-4 w-4`})]}));er.displayName=O.SubTrigger.displayName;var tr=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(O.SubContent,{ref:n,className:B(`z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-(--radix-menubar-content-transform-origin)`,e),...t}));tr.displayName=O.SubContent.displayName;var nr=a.forwardRef(({className:e,align:t=`start`,alignOffset:n=-4,sideOffset:r=8,...i},a)=>(0,o.jsx)(O.Portal,{children:(0,o.jsx)(O.Content,{ref:a,align:t,alignOffset:n,sideOffset:r,className:B(`z-50 min-w-[12rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-(--radix-menubar-content-transform-origin)`,e),...i})}));nr.displayName=O.Content.displayName;var rr=a.forwardRef(({className:e,inset:t,...n},r)=>(0,o.jsx)(O.Item,{ref:r,className:B(`relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50`,t&&`pl-8`,e),...n}));rr.displayName=O.Item.displayName;var ir=a.forwardRef(({className:e,children:t,checked:n,...r},i)=>(0,o.jsxs)(O.CheckboxItem,{ref:i,className:B(`relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50`,e),checked:n,...r,children:[(0,o.jsx)(`span`,{className:`absolute left-2 flex h-3.5 w-3.5 items-center justify-center`,children:(0,o.jsx)(O.ItemIndicator,{children:(0,o.jsx)(c.Check,{className:`h-4 w-4`})})}),t]}));ir.displayName=O.CheckboxItem.displayName;var ar=a.forwardRef(({className:e,children:t,...n},r)=>(0,o.jsxs)(O.RadioItem,{ref:r,className:B(`relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50`,e),...n,children:[(0,o.jsx)(`span`,{className:`absolute left-2 flex h-3.5 w-3.5 items-center justify-center`,children:(0,o.jsx)(O.ItemIndicator,{children:(0,o.jsx)(c.Circle,{className:`h-2 w-2 fill-current`})})}),t]}));ar.displayName=O.RadioItem.displayName;var or=a.forwardRef(({className:e,inset:t,...n},r)=>(0,o.jsx)(O.Label,{ref:r,className:B(`px-2 py-1.5 text-sm font-semibold`,t&&`pl-8`,e),...n}));or.displayName=O.Label.displayName;var sr=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(O.Separator,{ref:n,className:B(`-mx-1 my-1 h-px bg-muted`,e),...t}));sr.displayName=O.Separator.displayName;var cr=({className:e,...t})=>(0,o.jsx)(`span`,{className:B(`ml-auto text-xs tracking-widest text-muted-foreground`,e),...t});cr.displayname=`MenubarShortcut`;var lr=a.forwardRef(({className:e,children:t,...n},r)=>(0,o.jsxs)(k.Root,{ref:r,className:B(`relative z-10 flex max-w-max flex-1 items-center justify-center`,e),...n,children:[t,(0,o.jsx)(gr,{})]}));lr.displayName=k.Root.displayName;var ur=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(k.List,{ref:n,className:B(`group flex flex-1 list-none items-center justify-center space-x-1`,e),...t}));ur.displayName=k.List.displayName;var dr=k.Item,fr=(0,d.cva)(`group inline-flex h-10 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus:outline-none disabled:pointer-events-none disabled:opacity-50 data-[state=open]:text-accent-foreground data-[state=open]:bg-accent/50 data-[state=open]:hover:bg-accent data-[state=open]:focus:bg-accent`),pr=a.forwardRef(({className:e,children:t,...n},r)=>(0,o.jsxs)(k.Trigger,{ref:r,className:B(fr(),`group`,e),...n,children:[t,` `,(0,o.jsx)(c.ChevronDown,{className:`relative top-[1px] ml-1 h-3 w-3 transition duration-200 group-data-[state=open]:rotate-180`,"aria-hidden":`true`})]}));pr.displayName=k.Trigger.displayName;var mr=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(k.Content,{ref:n,className:B(`left-0 top-0 w-full data-[motion^=from-]:animate-in data-[motion^=to-]:animate-out data-[motion^=from-]:fade-in data-[motion^=to-]:fade-out data-[motion=from-end]:slide-in-from-right-52 data-[motion=from-start]:slide-in-from-left-52 data-[motion=to-end]:slide-out-to-right-52 data-[motion=to-start]:slide-out-to-left-52 md:absolute md:w-auto `,e),...t}));mr.displayName=k.Content.displayName;var hr=k.Link,gr=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(`div`,{className:B(`absolute left-0 top-full flex justify-center`),children:(0,o.jsx)(k.Viewport,{className:B(`origin-top-center relative mt-1.5 h-[var(--radix-navigation-menu-viewport-height)] w-full overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-90 md:w-[var(--radix-navigation-menu-viewport-width)]`,e),ref:n,...t})}));gr.displayName=k.Viewport.displayName;var _r=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(k.Indicator,{ref:n,className:B(`top-full z-[1] flex h-1.5 items-end justify-center overflow-hidden data-[state=visible]:animate-in data-[state=hidden]:animate-out data-[state=hidden]:fade-out data-[state=visible]:fade-in`,e),...t,children:(0,o.jsx)(`div`,{className:`relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm bg-border shadow-md`})}));_r.displayName=k.Indicator.displayName;var vr=({className:e,...t})=>(0,o.jsx)(`nav`,{role:`navigation`,"aria-label":`pagination`,className:B(`mx-auto flex w-full justify-center`,e),...t});vr.displayName=`Pagination`;var yr=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(`ul`,{ref:n,className:B(`flex flex-row items-center gap-1`,e),...t}));yr.displayName=`PaginationContent`;var br=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(`li`,{ref:n,className:B(``,e),...t}));br.displayName=`PaginationItem`;var xr=({className:e,isActive:t,size:n=`icon`,...r})=>(0,o.jsx)(`a`,{"aria-current":t?`page`:void 0,className:B(U({variant:t?`outline`:`ghost`,size:n}),e),...r});xr.displayName=`PaginationLink`;var Sr=({className:e,...t})=>(0,o.jsxs)(xr,{"aria-label":`Go to previous page`,size:`default`,className:B(`gap-1 pl-2.5`,e),...t,children:[(0,o.jsx)(c.ChevronLeft,{className:`h-4 w-4`}),(0,o.jsx)(`span`,{children:`Previous`})]});Sr.displayName=`PaginationPrevious`;var Cr=({className:e,...t})=>(0,o.jsxs)(xr,{"aria-label":`Go to next page`,size:`default`,className:B(`gap-1 pr-2.5`,e),...t,children:[(0,o.jsx)(`span`,{children:`Next`}),(0,o.jsx)(c.ChevronRight,{className:`h-4 w-4`})]});Cr.displayName=`PaginationNext`;var wr=({className:e,...t})=>(0,o.jsxs)(`span`,{"aria-hidden":!0,className:B(`flex h-9 w-9 items-center justify-center`,e),...t,children:[(0,o.jsx)(c.MoreHorizontal,{className:`h-4 w-4`}),(0,o.jsx)(`span`,{className:`sr-only`,children:`More pages`})]});wr.displayName=`PaginationEllipsis`;var Tr=A.Root,Er=A.Trigger,Dr=a.forwardRef(({className:e,align:t=`center`,sideOffset:n=4,...r},i)=>(0,o.jsx)(A.Portal,{children:(0,o.jsx)(A.Content,{ref:i,align:t,sideOffset:n,className:B(`z-50 w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-(--radix-popover-content-transform-origin)`,e),...r})}));Dr.displayName=A.Content.displayName;var Or=a.forwardRef(({className:e,value:t,...n},r)=>(0,o.jsx)(ee.Root,{ref:r,className:B(`relative h-4 w-full overflow-hidden rounded-full bg-secondary`,e),...n,children:(0,o.jsx)(ee.Indicator,{className:`h-full w-full flex-1 bg-primary transition-all`,style:{transform:`translateX(-${100-(t||0)}%)`}})}));Or.displayName=ee.Root.displayName;var kr=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(j.Root,{className:B(`grid gap-2`,e),...t,ref:n}));kr.displayName=j.Root.displayName;var Ar=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(j.Item,{ref:n,className:B(`aspect-square h-4 w-4 rounded-full border border-primary text-primary ring-offset-background focus:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50`,e),...t,children:(0,o.jsx)(j.Indicator,{className:`flex items-center justify-center`,children:(0,o.jsx)(c.Circle,{className:`h-2.5 w-2.5 fill-current text-current`})})}));Ar.displayName=j.Item.displayName;var jr=({className:e,...t})=>(0,o.jsx)(te.Group,{className:B(`flex h-full w-full data-[panel-group-direction=vertical]:flex-col`,e),...t}),Mr=te.Panel,Nr=({withHandle:e,className:t,...n})=>(0,o.jsx)(te.Separator,{className:B(`relative flex w-px items-center justify-center bg-border after:absolute after:inset-y-0 after:left-1/2 after:w-1 after:-translate-x-1/2 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring focus-visible:ring-offset-1 data-[panel-group-direction=vertical]:h-px data-[panel-group-direction=vertical]:w-full data-[panel-group-direction=vertical]:after:left-0 data-[panel-group-direction=vertical]:after:h-1 data-[panel-group-direction=vertical]:after:w-full data-[panel-group-direction=vertical]:after:-translate-y-1/2 data-[panel-group-direction=vertical]:after:translate-x-0 [&[data-panel-group-direction=vertical]>div]:rotate-90`,t),...n,children:e&&(0,o.jsx)(`div`,{className:`z-10 flex h-4 w-3 items-center justify-center rounded-sm border bg-border`,children:(0,o.jsx)(c.GripVertical,{className:`h-2.5 w-2.5`})})}),Pr=a.forwardRef(({className:e,children:t,...n},r)=>(0,o.jsxs)(M.Root,{ref:r,className:B(`relative overflow-hidden`,e),...n,children:[(0,o.jsx)(M.Viewport,{className:`h-full w-full rounded-[inherit]`,children:t}),(0,o.jsx)(Fr,{}),(0,o.jsx)(M.Corner,{})]}));Pr.displayName=M.Root.displayName;var Fr=a.forwardRef(({className:e,orientation:t=`vertical`,...n},r)=>(0,o.jsx)(M.ScrollAreaScrollbar,{ref:r,orientation:t,className:B(`flex touch-none select-none transition-colors`,t===`vertical`&&`h-full w-2.5 border-l border-l-transparent p-[1px]`,t===`horizontal`&&`h-2.5 flex-col border-t border-t-transparent p-[1px]`,e),...n,children:(0,o.jsx)(M.ScrollAreaThumb,{className:`relative flex-1 rounded-full bg-border`})}));Fr.displayName=M.ScrollAreaScrollbar.displayName;var Ir=N.Root,Lr=N.Group,Rr=N.Value,J=a.forwardRef(({className:e,children:t,...n},r)=>(0,o.jsxs)(N.Trigger,{ref:r,className:B(`flex h-10 w-full items-center justify-between rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background data-[placeholder]:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1`,e),...n,children:[t,(0,o.jsx)(N.Icon,{asChild:!0,children:(0,o.jsx)(c.ChevronDown,{className:`h-4 w-4 opacity-50`})})]}));J.displayName=N.Trigger.displayName;var zr=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(N.ScrollUpButton,{ref:n,className:B(`flex cursor-default items-center justify-center py-1`,e),...t,children:(0,o.jsx)(c.ChevronUp,{className:`h-4 w-4`})}));zr.displayName=N.ScrollUpButton.displayName;var Br=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(N.ScrollDownButton,{ref:n,className:B(`flex cursor-default items-center justify-center py-1`,e),...t,children:(0,o.jsx)(c.ChevronDown,{className:`h-4 w-4`})}));Br.displayName=N.ScrollDownButton.displayName;var Y=a.forwardRef(({className:e,children:t,position:n=`popper`,...r},i)=>(0,o.jsx)(N.Portal,{children:(0,o.jsxs)(N.Content,{ref:i,className:B(`relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] overflow-y-auto overflow-x-hidden rounded-md border bg-popover text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-(--radix-select-content-transform-origin)`,n===`popper`&&`data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1`,e),position:n,...r,children:[(0,o.jsx)(zr,{}),(0,o.jsx)(N.Viewport,{className:B(`p-1`,n===`popper`&&`h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]`),children:t}),(0,o.jsx)(Br,{})]})}));Y.displayName=N.Content.displayName;var Vr=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(N.Label,{ref:n,className:B(`py-1.5 pl-8 pr-2 text-sm font-semibold`,e),...t}));Vr.displayName=N.Label.displayName;var X=a.forwardRef(({className:e,children:t,...n},r)=>(0,o.jsxs)(N.Item,{ref:r,className:B(`relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50`,e),...n,children:[(0,o.jsx)(`span`,{className:`absolute left-2 flex h-3.5 w-3.5 items-center justify-center`,children:(0,o.jsx)(N.ItemIndicator,{children:(0,o.jsx)(c.Check,{className:`h-4 w-4`})})}),(0,o.jsx)(N.ItemText,{children:t})]}));X.displayName=N.Item.displayName;var Hr=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(N.Separator,{ref:n,className:B(`-mx-1 my-1 h-px bg-muted`,e),...t}));Hr.displayName=N.Separator.displayName;var Ur=a.forwardRef(({className:e,orientation:t=`horizontal`,decorative:n=!0,...r},i)=>(0,o.jsx)(ne.Root,{ref:i,decorative:n,orientation:t,className:B(`shrink-0 bg-border`,t===`horizontal`?`h-[1px] w-full`:`h-full w-[1px]`,e),...r}));Ur.displayName=ne.Root.displayName;var Wr=b.Root,Gr=b.Trigger,Kr=b.Close,qr=b.Portal,Jr=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(b.Overlay,{className:B(`fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0`,e),...t,ref:n}));Jr.displayName=b.Overlay.displayName;var Yr=(0,d.cva)(`fixed z-50 gap-4 bg-background p-6 shadow-lg transition ease-in-out data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:duration-300 data-[state=open]:duration-500`,{variants:{side:{top:`inset-x-0 top-0 border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top`,bottom:`inset-x-0 bottom-0 border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom`,left:`inset-y-0 left-0 h-full w-3/4 border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm`,right:`inset-y-0 right-0 h-full w-3/4 border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm`}},defaultVariants:{side:`right`}}),Xr=a.forwardRef(({side:e=`right`,className:t,children:n,hideOverlay:r,...i},a)=>(0,o.jsxs)(qr,{children:[!r&&(0,o.jsx)(Jr,{}),(0,o.jsxs)(b.Content,{ref:a,className:B(Yr({side:e}),t),...i,children:[n,(0,o.jsxs)(b.Close,{className:`absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-secondary`,children:[(0,o.jsx)(c.X,{className:`h-4 w-4`}),(0,o.jsx)(`span`,{className:`sr-only`,children:`Close`})]})]})]}));Xr.displayName=b.Content.displayName;var Zr=({className:e,...t})=>(0,o.jsx)(`div`,{className:B(`flex flex-col space-y-2 text-center sm:text-left`,e),...t});Zr.displayName=`SheetHeader`;var Qr=({className:e,...t})=>(0,o.jsx)(`div`,{className:B(`flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2`,e),...t});Qr.displayName=`SheetFooter`;var $r=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(b.Title,{ref:n,className:B(`text-lg font-semibold text-foreground`,e),...t}));$r.displayName=b.Title.displayName;var ei=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(b.Description,{ref:n,className:B(`text-sm text-muted-foreground`,e),...t}));ei.displayName=b.Description.displayName;var ti=768;function ni(){let[e,t]=a.useState(void 0);return a.useEffect(()=>{let e=window.matchMedia(`(max-width: ${ti-1}px)`),n=()=>{t(window.innerWidth<ti)};return e.addEventListener(`change`,n),t(window.innerWidth<ti),()=>e.removeEventListener(`change`,n)},[]),!!e}function Z({className:e,...t}){return(0,o.jsx)(`div`,{className:B(`animate-pulse rounded-md bg-muted`,e),...t})}var ri=P.Provider,ii=P.Root,ai=P.Trigger,oi=a.forwardRef(({className:e,sideOffset:t=4,...n},r)=>(0,o.jsx)(P.Content,{ref:r,sideOffset:t,className:B(`z-50 overflow-hidden rounded-md border bg-popover px-3 py-1.5 text-sm text-popover-foreground shadow-md animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-(--radix-tooltip-content-transform-origin)`,e),...n}));oi.displayName=P.Content.displayName;var si=`sidebar_state`,ci=3600*24*7,li=`16rem`,ui=`18rem`,di=`3rem`,fi=`b`,pi=a.createContext(null);function mi(){let e=a.useContext(pi);if(!e)throw Error(`useSidebar must be used within a SidebarProvider.`);return e}var hi=a.forwardRef(({defaultOpen:e=!0,open:t,onOpenChange:n,className:r,style:i,children:s,...c},l)=>{let u=ni(),[d,f]=a.useState(!1),[p,m]=a.useState(e),h=t??p,g=a.useCallback(e=>{let t=typeof e==`function`?e(h):e;n?n(t):m(t),document.cookie=`${si}=${t}; path=/; max-age=${ci}`},[n,h]),_=a.useCallback(()=>u?f(e=>!e):g(e=>!e),[u,g,f]);a.useEffect(()=>{let e=e=>{e.key===fi&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),_())};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[_]);let v=h?`expanded`:`collapsed`,y=a.useMemo(()=>({state:v,open:h,setOpen:g,isMobile:u,openMobile:d,setOpenMobile:f,toggleSidebar:_}),[v,h,g,u,d,f,_]);return(0,o.jsx)(pi.Provider,{value:y,children:(0,o.jsx)(ri,{delayDuration:0,children:(0,o.jsx)(`div`,{style:{"--sidebar-width":li,"--sidebar-width-icon":di,...i},className:B(`group/sidebar-wrapper flex min-h-svh w-full has-[[data-variant=inset]]:bg-sidebar`,r),ref:l,...c,children:s})})})});hi.displayName=`SidebarProvider`;var gi=a.forwardRef(({side:e=`left`,variant:t=`sidebar`,collapsible:n=`offcanvas`,className:r,children:i,...a},s)=>{let{isMobile:c,state:l,openMobile:u,setOpenMobile:d}=mi();return n===`none`?(0,o.jsx)(`div`,{className:B(`flex h-full w-(--sidebar-width) flex-col bg-sidebar text-sidebar-foreground`,r),ref:s,...a,children:i}):c?(0,o.jsx)(Wr,{open:u,onOpenChange:d,...a,children:(0,o.jsxs)(Xr,{"data-sidebar":`sidebar`,"data-mobile":`true`,className:`w-(--sidebar-width) bg-sidebar p-0 text-sidebar-foreground [&>button]:hidden`,style:{"--sidebar-width":ui},side:e,children:[(0,o.jsxs)(Zr,{className:`sr-only`,children:[(0,o.jsx)($r,{children:`Sidebar`}),(0,o.jsx)(ei,{children:`Displays the mobile sidebar.`})]}),(0,o.jsx)(`div`,{className:`flex h-full w-full flex-col`,children:i})]})}):(0,o.jsxs)(`div`,{ref:s,className:`group peer hidden text-sidebar-foreground md:block`,"data-state":l,"data-collapsible":n,"data-variant":t,"data-side":e,children:[(0,o.jsx)(`div`,{className:B(`relative w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear`,`group-data-[collapsible=offcanvas]:w-0`,`group-data-[side=right]:rotate-180`,t===`floating`||t===`inset`?`group-data-[state=collapsed]:group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_1rem)]`:`group-data-[state=collapsed]:group-data-[collapsible=icon]:w-(--sidebar-width-icon)`)}),(0,o.jsx)(`div`,{className:B(`fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear md:flex`,e===`left`?`left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]`:`right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]`,t===`floating`||t===`inset`?`p-2 group-data-[state=collapsed]:group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_1rem_+_2px)]`:`group-data-[state=collapsed]:group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l`,r),...a,children:(0,o.jsx)(`div`,{"data-sidebar":`sidebar`,className:`flex h-full w-full flex-col bg-sidebar group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:border-sidebar-border group-data-[variant=floating]:shadow`,children:i})})]})});gi.displayName=`Sidebar`;var _i=a.forwardRef(({className:e,onClick:t,...n},r)=>{let{toggleSidebar:i}=mi();return(0,o.jsxs)(W,{ref:r,"data-sidebar":`trigger`,variant:`ghost`,size:`icon`,className:B(`h-7 w-7`,e),onClick:e=>{t?.(e),i()},...n,children:[(0,o.jsx)(c.PanelLeft,{}),(0,o.jsx)(`span`,{className:`sr-only`,children:`Toggle Sidebar`})]})});_i.displayName=`SidebarTrigger`;var vi=a.forwardRef(({className:e,...t},n)=>{let{toggleSidebar:r}=mi();return(0,o.jsx)(`button`,{ref:n,"data-sidebar":`rail`,"aria-label":`Toggle Sidebar`,tabIndex:-1,onClick:r,title:`Toggle Sidebar`,className:B(`absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] hover:after:bg-sidebar-border group-data-[side=left]:-right-4 group-data-[side=right]:left-0 sm:flex`,`[[data-side=left]_&]:cursor-w-resize [[data-side=right]_&]:cursor-e-resize`,`[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize`,`group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full group-data-[collapsible=offcanvas]:hover:bg-sidebar`,`[[data-side=left][data-collapsible=offcanvas]_&]:-right-2`,`[[data-side=right][data-collapsible=offcanvas]_&]:-left-2`,e),...t})});vi.displayName=`SidebarRail`;var yi=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(`main`,{ref:n,className:B(`relative flex w-full flex-1 flex-col bg-background`,`md:peer-data-[variant=inset]:m-2 md:peer-data-[state=collapsed]:peer-data-[variant=inset]:ml-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow`,e),...t}));yi.displayName=`SidebarInset`;var bi=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(q,{ref:n,"data-sidebar":`input`,className:B(`h-8 w-full bg-background shadow-none focus-visible:ring-2 focus-visible:ring-sidebar-ring`,e),...t}));bi.displayName=`SidebarInput`;var xi=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(`div`,{ref:n,"data-sidebar":`header`,className:B(`flex flex-col gap-2 p-2`,e),...t}));xi.displayName=`SidebarHeader`;var Si=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(`div`,{ref:n,"data-sidebar":`footer`,className:B(`flex flex-col gap-2 p-2`,e),...t}));Si.displayName=`SidebarFooter`;var Ci=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(Ur,{ref:n,"data-sidebar":`separator`,className:B(`mx-2 w-auto bg-sidebar-border`,e),...t}));Ci.displayName=`SidebarSeparator`;var wi=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(`div`,{ref:n,"data-sidebar":`content`,className:B(`flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[state=collapsed]:group-data-[collapsible=icon]:overflow-hidden`,e),...t}));wi.displayName=`SidebarContent`;var Ti=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(`div`,{ref:n,"data-sidebar":`group`,className:B(`relative flex w-full min-w-0 flex-col p-2`,e),...t}));Ti.displayName=`SidebarGroup`;var Ei=a.forwardRef(({className:e,asChild:t=!1,...n},r)=>(0,o.jsx)(t?u.Slot:`div`,{ref:r,"data-sidebar":`group-label`,className:B(`flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium text-sidebar-foreground/70 outline-none ring-sidebar-ring transition-[margin,opacity] duration-200 ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0`,`group-data-[state=collapsed]:group-data-[collapsible=icon]:-mt-8 group-data-[state=collapsed]:group-data-[collapsible=icon]:opacity-0`,e),...n}));Ei.displayName=`SidebarGroupLabel`;var Di=a.forwardRef(({className:e,asChild:t=!1,...n},r)=>(0,o.jsx)(t?u.Slot:`button`,{ref:r,"data-sidebar":`group-action`,className:B(`absolute right-3 top-3.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground outline-none ring-sidebar-ring transition-transform hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0`,`after:absolute after:-inset-2 after:md:hidden`,`group-data-[state=collapsed]:group-data-[collapsible=icon]:hidden`,e),...n}));Di.displayName=`SidebarGroupAction`;var Oi=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(`div`,{ref:n,"data-sidebar":`group-content`,className:B(`w-full text-sm`,e),...t}));Oi.displayName=`SidebarGroupContent`;var ki=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(`ul`,{ref:n,"data-sidebar":`menu`,className:B(`flex w-full min-w-0 flex-col gap-1`,e),...t}));ki.displayName=`SidebarMenu`;var Ai=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(`li`,{ref:n,"data-sidebar":`menu-item`,className:B(`group/menu-item relative`,e),...t}));Ai.displayName=`SidebarMenuItem`;var ji=(0,d.cva)(`peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-none ring-sidebar-ring transition-[width,height,padding] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-[[data-sidebar=menu-action]]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground sidebar-menu-button-icon-mode [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0`,{variants:{variant:{default:`hover:bg-sidebar-accent hover:text-sidebar-accent-foreground`,outline:`bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]`},size:{default:`h-8 text-sm`,sm:`h-7 text-xs`,lg:`h-12 text-sm sidebar-menu-button-icon-mode-lg`}},defaultVariants:{variant:`default`,size:`default`}}),Mi=a.forwardRef(({asChild:e=!1,isActive:t=!1,variant:n=`default`,size:r=`default`,tooltip:i,className:a,...s},c)=>{let l=e?u.Slot:`button`,{isMobile:d,state:f}=mi(),p=(0,o.jsx)(l,{ref:c,"data-sidebar":`menu-button`,"data-size":r,"data-active":t,className:B(ji({variant:n,size:r}),a),...s});return i?(typeof i==`string`&&(i={children:i}),(0,o.jsxs)(ii,{children:[(0,o.jsx)(ai,{asChild:!0,children:p}),(0,o.jsx)(oi,{side:`right`,align:`center`,hidden:f!==`collapsed`||d,...i})]})):p});Mi.displayName=`SidebarMenuButton`;var Ni=a.forwardRef(({className:e,asChild:t=!1,showOnHover:n=!1,...r},i)=>(0,o.jsx)(t?u.Slot:`button`,{ref:i,"data-sidebar":`menu-action`,className:B(`absolute right-1 top-1.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground outline-none ring-sidebar-ring transition-transform hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 peer-hover/menu-button:text-sidebar-accent-foreground [&>svg]:size-4 [&>svg]:shrink-0`,`after:absolute after:-inset-2 after:md:hidden`,`peer-data-[size=sm]/menu-button:top-1`,`peer-data-[size=default]/menu-button:top-1.5`,`peer-data-[size=lg]/menu-button:top-2.5`,`group-data-[state=collapsed]:group-data-[collapsible=icon]:hidden`,n&&`group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-[state=open]:opacity-100 peer-data-[active=true]/menu-button:text-sidebar-accent-foreground md:opacity-0`,e),...r}));Ni.displayName=`SidebarMenuAction`;var Pi=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(`div`,{ref:n,"data-sidebar":`menu-badge`,className:B(`pointer-events-none absolute right-1 flex h-5 min-w-5 select-none items-center justify-center rounded-md px-1 text-xs font-medium tabular-nums text-sidebar-foreground`,`peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[active=true]/menu-button:text-sidebar-accent-foreground`,`peer-data-[size=sm]/menu-button:top-1`,`peer-data-[size=default]/menu-button:top-1.5`,`peer-data-[size=lg]/menu-button:top-2.5`,`group-data-[state=collapsed]:group-data-[collapsible=icon]:hidden`,e),...t}));Pi.displayName=`SidebarMenuBadge`;var Fi=a.forwardRef(({className:e,showIcon:t=!1,...n},r)=>{let i=a.useMemo(()=>`${Math.floor(Math.random()*40)+50}%`,[]);return(0,o.jsxs)(`div`,{ref:r,"data-sidebar":`menu-skeleton`,className:B(`flex h-8 items-center gap-2 rounded-md px-2`,e),...n,children:[t&&(0,o.jsx)(Z,{className:`size-4 rounded-md`,"data-sidebar":`menu-skeleton-icon`}),(0,o.jsx)(Z,{className:`h-4 max-w-(--skeleton-width) flex-1`,"data-sidebar":`menu-skeleton-text`,style:{"--skeleton-width":i}})]})});Fi.displayName=`SidebarMenuSkeleton`;var Ii=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(`ul`,{ref:n,"data-sidebar":`menu-sub`,className:B(`mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l border-sidebar-border px-2.5 py-0.5`,`group-data-[state=collapsed]:group-data-[collapsible=icon]:hidden`,e),...t}));Ii.displayName=`SidebarMenuSub`;var Li=a.forwardRef(({...e},t)=>(0,o.jsx)(`li`,{ref:t,...e}));Li.displayName=`SidebarMenuSubItem`;var Ri=a.forwardRef(({asChild:e=!1,size:t=`md`,isActive:n,className:r,...i},a)=>(0,o.jsx)(e?u.Slot:`a`,{ref:a,"data-sidebar":`menu-sub-button`,"data-size":t,"data-active":n,className:B(`flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 text-sidebar-foreground outline-none ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0 [&>svg]:text-sidebar-accent-foreground`,`data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground`,t===`sm`&&`text-xs`,t===`md`&&`text-sm`,`group-data-[state=collapsed]:group-data-[collapsible=icon]:hidden`,r),...i}));Ri.displayName=`SidebarMenuSubButton`;var zi=a.forwardRef(({className:e,...t},n)=>(0,o.jsxs)(re.Root,{ref:n,className:B(`relative flex w-full touch-none select-none items-center`,e),...t,children:[(0,o.jsx)(re.Track,{className:`relative h-2 w-full grow overflow-hidden rounded-full bg-secondary`,children:(0,o.jsx)(re.Range,{className:`absolute h-full bg-primary`})}),(0,o.jsx)(re.Thumb,{className:`block h-5 w-5 rounded-full border-2 border-primary bg-background ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50`,"aria-label":t[`aria-label`]})]}));zi.displayName=re.Root.displayName;var Bi=({...e})=>{let{theme:t=`system`}=(0,ie.useTheme)();return(0,o.jsx)(F.Toaster,{theme:t,className:`toaster group`,icons:{success:(0,o.jsx)(c.CircleCheck,{className:`h-4 w-4`}),info:(0,o.jsx)(c.Info,{className:`h-4 w-4`}),warning:(0,o.jsx)(c.TriangleAlert,{className:`h-4 w-4`}),error:(0,o.jsx)(c.OctagonX,{className:`h-4 w-4`}),loading:(0,o.jsx)(c.LoaderCircle,{className:`h-4 w-4 animate-spin`})},toastOptions:{classNames:{toast:`group toast group-[.toaster]:bg-background group-[.toaster]:text-foreground group-[.toaster]:border-border group-[.toaster]:shadow-lg`,description:`group-[.toast]:text-muted-foreground`,actionButton:`group-[.toast]:bg-primary group-[.toast]:text-primary-foreground`,cancelButton:`group-[.toast]:bg-muted group-[.toast]:text-muted-foreground`}},...e})},Vi=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(ae.Root,{className:B(`peer inline-flex h-6 w-11 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input`,e),...t,ref:n,children:(0,o.jsx)(ae.Thumb,{className:B(`pointer-events-none block h-5 w-5 rounded-full bg-background shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-5 data-[state=unchecked]:translate-x-0`)})}));Vi.displayName=ae.Root.displayName;var Hi=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(`div`,{className:`relative w-full overflow-auto`,children:(0,o.jsx)(`table`,{ref:n,className:B(`w-full caption-bottom text-sm`,e),...t})}));Hi.displayName=`Table`;var Ui=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(`thead`,{ref:n,className:B(`[&_tr]:border-b`,e),...t}));Ui.displayName=`TableHeader`;var Wi=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(`tbody`,{ref:n,className:B(`[&_tr:last-child]:border-0`,e),...t}));Wi.displayName=`TableBody`;var Gi=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(`tfoot`,{ref:n,className:B(`border-t bg-muted/50 font-medium [&>tr]:last:border-b-0`,e),...t}));Gi.displayName=`TableFooter`;var Ki=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(`tr`,{ref:n,className:B(`border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted`,e),...t}));Ki.displayName=`TableRow`;var qi=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(`th`,{ref:n,className:B(`h-12 px-4 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0`,e),...t}));qi.displayName=`TableHead`;var Ji=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(`td`,{ref:n,className:B(`p-4 align-middle [&:has([role=checkbox])]:pr-0`,e),...t}));Ji.displayName=`TableCell`;var Yi=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(`caption`,{ref:n,className:B(`mt-4 text-sm text-muted-foreground`,e),...t}));Yi.displayName=`TableCaption`;var Xi=oe.Root,Zi=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(oe.List,{ref:n,className:B(`inline-flex h-10 items-center justify-center rounded-md bg-muted p-1 text-muted-foreground`,e),...t}));Zi.displayName=oe.List.displayName;var Qi=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(oe.Trigger,{ref:n,className:B(`inline-flex items-center justify-center whitespace-nowrap rounded-sm px-3 py-1.5 text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-sm`,e),...t}));Qi.displayName=oe.Trigger.displayName;var $i=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(oe.Content,{ref:n,className:B(`mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2`,e),...t}));$i.displayName=oe.Content.displayName;var ea=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(`textarea`,{className:B(`flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2 text-base ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm`,e),ref:n,...t}));ea.displayName=`Textarea`;var ta=(0,d.cva)(`inline-flex items-center justify-center rounded-md text-sm font-medium ring-offset-background transition-colors hover:bg-muted hover:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=on]:bg-accent data-[state=on]:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 gap-2`,{variants:{variant:{default:`bg-transparent`,outline:`border border-input bg-transparent hover:bg-accent hover:text-accent-foreground`},size:{default:`h-10 px-3 min-w-10`,sm:`h-9 px-2.5 min-w-9`,lg:`h-11 px-5 min-w-11`}},defaultVariants:{variant:`default`,size:`default`}}),na=a.forwardRef(({className:e,variant:t,size:n,...r},i)=>(0,o.jsx)(se.Root,{ref:i,className:B(ta({variant:t,size:n,className:e})),...r}));na.displayName=se.Root.displayName;var ra=a.createContext({size:`default`,variant:`default`}),ia=a.forwardRef(({className:e,variant:t,size:n,children:r,...i},a)=>(0,o.jsx)(I.Root,{ref:a,className:B(`flex items-center justify-center gap-1`,e),...i,children:(0,o.jsx)(ra.Provider,{value:{variant:t,size:n},children:r})}));ia.displayName=I.Root.displayName;var aa=a.forwardRef(({className:e,children:t,variant:n,size:r,...i},s)=>{let c=a.useContext(ra);return(0,o.jsx)(I.Item,{ref:s,className:B(ta({variant:c.variant||n,size:c.size||r}),e),...i,children:t})});aa.displayName=I.Item.displayName;var oa=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(`h1`,{ref:n,className:B(`scroll-m-20 text-4xl font-extrabold tracking-tight lg:text-5xl`,e),...t}));oa.displayName=`TypographyH1`;var sa=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(`h2`,{ref:n,className:B(`scroll-m-20 border-b pb-2 text-3xl font-semibold tracking-tight first:mt-0`,e),...t}));sa.displayName=`TypographyH2`;var ca=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(`h3`,{ref:n,className:B(`scroll-m-20 text-2xl font-semibold tracking-tight`,e),...t}));ca.displayName=`TypographyH3`;var la=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(`h4`,{ref:n,className:B(`scroll-m-20 text-xl font-semibold tracking-tight`,e),...t}));la.displayName=`TypographyH4`;var ua=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(`p`,{ref:n,className:B(`leading-7 [&:not(:first-child)]:mt-6`,e),...t}));ua.displayName=`TypographyP`;var da=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(`blockquote`,{ref:n,className:B(`mt-6 border-l-2 pl-6 italic`,e),...t}));da.displayName=`TypographyBlockquote`;var fa=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(`ul`,{ref:n,className:B(`my-6 ml-6 list-disc [&>li]:mt-2`,e),...t}));fa.displayName=`TypographyList`;var pa=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(`code`,{ref:n,className:B(`relative rounded bg-muted px-[0.3rem] py-[0.2rem] font-mono text-sm font-semibold`,e),...t}));pa.displayName=`TypographyInlineCode`;var ma=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(`p`,{ref:n,className:B(`text-xl text-muted-foreground`,e),...t}));ma.displayName=`TypographyLead`;var ha=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(`div`,{ref:n,className:B(`text-lg font-semibold`,e),...t}));ha.displayName=`TypographyLarge`;var ga=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(`small`,{ref:n,className:B(`text-sm font-medium leading-none`,e),...t}));ga.displayName=`TypographySmall`;var _a=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(`p`,{ref:n,className:B(`text-sm text-muted-foreground`,e),...t}));_a.displayName=`TypographyMuted`;var va=(0,a.forwardRef)(({schema:e,className:t,...n},r)=>{let{"data-obj-id":i,"data-obj-type":a,style:s,...c}=n;return(0,o.jsx)(Ur,{ref:r,orientation:e.orientation,className:t,...c,"data-obj-id":i,"data-obj-type":a,style:s})});t.ComponentRegistry.register(`separator`,va,{namespace:`ui`,label:`Separator`,inputs:[{name:`orientation`,type:`enum`,enum:[`horizontal`,`vertical`],defaultValue:`horizontal`,label:`Orientation`},{name:`className`,type:`string`,label:`CSS Class`}],defaultProps:{orientation:`horizontal`,className:`my-2 sm:my-4`}}),t.ComponentRegistry.register(`image`,({schema:e,className:t,...n})=>{let{"data-obj-id":r,"data-obj-type":i,style:a,...s}=n;return(0,o.jsx)(`img`,{src:e.src,alt:e.alt||``,className:t,...s,"data-obj-id":r,"data-obj-type":i,style:a})},{namespace:`ui`,label:`Image`,icon:`image`,category:`basic`,inputs:[{name:`src`,type:`string`,label:`Source URL`},{name:`alt`,type:`string`,label:`Alt Text`},{name:`className`,type:`string`,label:`Classes`}],defaultProps:{className:`max-w-full h-auto`}});function ya(e){return e.split(`-`).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(``)}var ba={Home:`House`},xa=(0,a.forwardRef)(({schema:e,className:t,...n},r)=>{let{"data-obj-id":i,"data-obj-type":a,style:s,...l}=n,u=ya(e.name),d=ba[u]||u,f=c.icons[d];if(!f)return console.warn(`Icon "${e.name}" (lookup: "${u}"${d===u?``:` -> "${d}"`}) not found in lucide-react`),null;let p=e.size?{width:e.size,height:e.size}:void 0;return(0,o.jsx)(f,{ref:r,className:B(e.color,e.className,t),style:{...p,...s},...l,"data-obj-id":i,"data-obj-type":a})});xa.displayName=`IconRenderer`,t.ComponentRegistry.register(`icon`,xa,{namespace:`ui`,label:`Icon`,icon:`smile`,category:`basic`,inputs:[{name:`name`,type:`string`,label:`Icon Name`,defaultValue:`smile`},{name:`size`,type:`number`,label:`Size (px)`},{name:`color`,type:`string`,label:`Color Class`},{name:`className`,type:`string`,label:`CSS Class`}]}),t.ComponentRegistry.register(`html`,({schema:e,className:t,...n})=>{let{"data-obj-id":r,"data-obj-type":i,style:a,...s}=n;return(0,o.jsx)(`div`,{className:B(`prose prose-sm max-w-none dark:prose-invert`,t),dangerouslySetInnerHTML:{__html:e.html},...s,"data-obj-id":r,"data-obj-type":i,style:a})},{namespace:`ui`,label:`HTML Content`,inputs:[{name:`html`,type:`string`,label:`HTML`,description:`Raw HTML content`}]}),t.ComponentRegistry.register(`button-group`,({schema:e,...t})=>{let{"data-obj-id":n,"data-obj-type":r,style:i,...a}=t;return(0,o.jsx)(`div`,{className:B(`flex flex-wrap sm:inline-flex rounded-md shadow-sm`,e.className),role:`group`,...a,"data-obj-id":n,"data-obj-type":r,style:i,children:e.buttons?.map((t,n)=>(0,o.jsx)(W,{variant:t.variant||e.variant,size:t.size||e.size,className:B(`rounded-none`,n===0&&`rounded-l-md`,n===(e.buttons?.length||0)-1&&`rounded-r-md`,n>0&&`-ml-px`,t.className),children:t.label},n))})},{namespace:`ui`,label:`Button Group`,inputs:[{name:`variant`,type:`enum`,enum:[`default`,`destructive`,`outline`,`secondary`,`ghost`,`link`],defaultValue:`default`,label:`Variant`},{name:`size`,type:`enum`,enum:[`default`,`sm`,`lg`,`icon`],defaultValue:`default`,label:`Size`},{name:`className`,type:`string`,label:`CSS Class`}],defaultProps:{variant:`default`,size:`default`,buttons:[{label:`Left`},{label:`Middle`},{label:`Right`}]}}),t.ComponentRegistry.register(`pagination`,({schema:e,...t})=>{let{"data-obj-id":n,"data-obj-type":r,style:i,onPageChange:a,...s}=t,c=e.currentPage||e.page||1,l=e.totalPages||1,u=(e,t)=>{t.preventDefault(),e!==c&&(e<1||e>l||a&&a(e))},d=()=>l<=7?Array.from({length:l},(e,t)=>t+1):c<=3?[1,2,3,4,5,-1,l]:c>=l-2?[1,-1,l-4,l-3,l-2,l-1,l]:[1,-1,c-1,c,c+1,-1,l];return(0,o.jsx)(vr,{className:e.className,...s,"data-obj-id":n,"data-obj-type":r,style:i,children:(0,o.jsxs)(yr,{children:[(0,o.jsx)(br,{children:(0,o.jsx)(Sr,{href:`#`,onClick:e=>u(c-1,e),className:c<=1?`pointer-events-none opacity-50`:`cursor-pointer`,"aria-disabled":c<=1})}),d().map((e,t)=>(0,o.jsx)(br,{children:e===-1?(0,o.jsx)(wr,{}):(0,o.jsx)(xr,{href:`#`,isActive:e===c,onClick:t=>u(e,t),className:`cursor-pointer`,children:e})},t)),(0,o.jsx)(br,{children:(0,o.jsx)(Cr,{href:`#`,onClick:e=>u(c+1,e),className:c>=l?`pointer-events-none opacity-50`:`cursor-pointer`,"aria-disabled":c>=l})})]})})},{namespace:`ui`,label:`Pagination`,inputs:[{name:`currentPage`,type:`number`,label:`Current Page`,defaultValue:1},{name:`totalPages`,type:`number`,label:`Total Pages`,defaultValue:10},{name:`className`,type:`string`,label:`CSS Class`}],defaultProps:{currentPage:1,totalPages:10}}),t.ComponentRegistry.register(`navigation-menu`,({schema:e,...t})=>{let{"data-obj-id":n,"data-obj-type":r,style:i,...a}=t;return(0,o.jsx)(lr,{className:e.className,...a,"data-obj-id":n,"data-obj-type":r,style:i,children:(0,o.jsx)(ur,{children:e.items?.map((e,t)=>(0,o.jsx)(dr,{children:e.children?(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(pr,{children:e.label}),(0,o.jsx)(mr,{children:(0,o.jsx)(`ul`,{className:`grid w-full gap-3 p-4 sm:w-[400px] md:w-[500px] md:grid-cols-2 lg:w-[600px]`,children:e.children.map((e,t)=>(0,o.jsx)(`li`,{children:(0,o.jsx)(hr,{asChild:!0,children:(0,o.jsxs)(`a`,{className:B(`block select-none space-y-1 rounded-md p-3 leading-none no-underline outline-none transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground`),href:e.href,children:[(0,o.jsx)(`div`,{className:`text-sm font-medium leading-none`,children:e.label}),e.description&&(0,o.jsx)(`p`,{className:`line-clamp-2 text-sm leading-snug text-muted-foreground`,children:e.description})]})})},t))})})]}):(0,o.jsx)(hr,{href:e.href,children:e.label})},t))})})},{namespace:`ui`,label:`Navigation Menu`,inputs:[{name:`className`,type:`string`,label:`CSS Class`}],defaultProps:{items:[{label:`Home`,href:`/`},{label:`About`,href:`/about`}]}});function Sa({label:e,collapsible:t,collapsed:n,onToggle:r}){return e?(0,o.jsx)(`div`,{className:B(`col-span-full pt-4 pb-1 border-b border-border`,t&&`cursor-pointer select-none`),onClick:t?r:void 0,role:t?`button`:void 0,"aria-expanded":t?!n:void 0,children:(0,o.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[t&&(n?(0,o.jsx)(c.ChevronRight,{className:`h-3.5 w-3.5 text-muted-foreground`}):(0,o.jsx)(c.ChevronDown,{className:`h-3.5 w-3.5 text-muted-foreground`})),(0,o.jsx)(`span`,{className:`text-sm font-semibold text-foreground`,children:e})]})}):null}var Ca=(0,L.createSafeTranslation)({"common.selectOption":`Select an option`},`common.selectOption`);function wa({value:e,onChange:t,placeholder:n,className:r,label:i,...s}){let[l,u]=a.default.useState(!1),[d,f]=a.default.useState(e??``),p=e=>t&&t(e),m=()=>{f(e??``),u(!0)},h=()=>{p(d),u(!1)};return(0,o.jsxs)(`div`,{className:`relative`,children:[(0,o.jsx)(ea,{placeholder:n,className:B(`pr-10`,r),value:e??``,onChange:e=>p(e.target.value),...s}),(0,o.jsx)(`button`,{type:`button`,onClick:m,className:`absolute top-1.5 right-1.5 inline-flex items-center justify-center size-7 rounded-md bg-background/80 text-muted-foreground hover:text-foreground hover:bg-background border shadow-sm`,"aria-label":`Edit ${i??`text`} fullscreen`,"data-testid":`form-textarea-fullscreen-toggle`,children:(0,o.jsx)(c.Maximize2,{className:`size-3.5`})}),(0,o.jsx)(Ct,{open:l,onOpenChange:u,children:(0,o.jsxs)(Ot,{className:`sm:max-w-3xl h-[100dvh] sm:h-[80vh] max-h-[100dvh] sm:max-h-[80vh] flex flex-col p-0 gap-0`,"data-testid":`form-textarea-fullscreen-dialog`,children:[(0,o.jsx)(kt,{className:`p-4 border-b`,children:(0,o.jsx)(jt,{className:`text-base`,children:i??`Edit text`})}),(0,o.jsx)(`div`,{className:`flex-1 min-h-0 p-4`,children:(0,o.jsx)(ea,{autoFocus:!0,value:d,onChange:e=>f(e.target.value),placeholder:n,className:`h-full min-h-full resize-none text-base`,"data-testid":`form-textarea-fullscreen-input`})}),(0,o.jsxs)(At,{className:`p-3 border-t flex-row justify-end gap-2`,children:[(0,o.jsxs)(W,{type:`button`,variant:`ghost`,onClick:()=>u(!1),children:[(0,o.jsx)(c.X,{className:`size-4 mr-1`}),` Cancel`]}),(0,o.jsxs)(W,{type:`button`,onClick:h,"data-testid":`form-textarea-fullscreen-save`,children:[(0,o.jsx)(c.Check,{className:`size-4 mr-1`}),` Done`]})]})]})})]})}t.ComponentRegistry.register(`form`,({schema:e,className:t,onAction:n,...r})=>{let{t:s}=Ca(),{defaultValues:l={},fields:u=[],submitLabel:d=`Submit`,cancelLabel:f=`Cancel`,showCancel:p=!1,showSubmit:m=!0,layout:h=`vertical`,columns:g=1,onSubmit:_,onChange:v,onCancel:y,resetOnSubmit:b=!1,validationMode:x=`onSubmit`,disabled:S=!1}=e,C=(0,w.useForm)({defaultValues:l,mode:x}),[T,E]=a.default.useState(!1),[D,O]=a.default.useState(null),k=a.default.useContext(i.SchemaRendererContext)?.dataSource??null;a.default.useEffect(()=>{C.reset(l)},[l]),a.default.useEffect(()=>{if(n){let e=C.watch(e=>{n({type:`form_change`,data:e,formData:e})});return()=>e.unsubscribe()}},[C,n]);let A=C.handleSubmit(async e=>{E(!0),O(null);let t=e;if(e&&(e.nativeEvent||typeof e.preventDefault==`function`||typeof e.stopPropagation==`function`||e.target||e.bubbles))t=C.getValues();else if(!t||Object.keys(t).length===0){let e=C.getValues();e&&Object.keys(e).length>0&&(t=e)}try{if(n){let e=await n({type:`form_submit`,data:t,formData:t});if(e?.error){O(e.error);return}}_&&typeof _==`function`&&await _(t),b&&C.reset()}catch(e){O(e instanceof Error?e.message:typeof e==`string`?e:`An error occurred during submission`),typeof process<`u`&&process.env.NODE_ENV===`development`&&console.error(`Form submission error:`,e)}finally{E(!1)}}),ee=()=>{C.reset(),y&&typeof y==`function`&&y(),n&&n({type:`form_cancel`,data:C.getValues()})},j=g>1?B(`grid gap-4`,g===1?``:g===2?`md:grid-cols-2`:g===3?`md:grid-cols-2 lg:grid-cols-3`:`md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4`):`space-y-4`,{"data-obj-id":te,"data-obj-type":M,style:N,onSubmit:ne,onChange:P,submitLabel:re,cancelLabel:ie,showSubmit:F,showCancel:ae,resetOnSubmit:oe,defaultValues:I,inputType:se,...L}=r;return(0,o.jsx)(An,{...C,children:(0,o.jsxs)(`form`,{onSubmit:A,className:t,...L,"data-obj-id":te,"data-obj-type":M,style:N,children:[D&&(0,o.jsxs)(Me,{variant:`destructive`,className:`mb-4`,children:[(0,o.jsx)(c.AlertCircle,{className:`h-4 w-4`}),(0,o.jsx)(Pe,{children:D})]}),e.children?(0,o.jsx)(`div`,{className:e.fieldContainerClass||`space-y-4`,children:V(e.children)}):(0,o.jsx)(`div`,{className:e.fieldContainerClass||j,children:u.map(t=>{let{name:n,label:r,description:i,type:a=`input`,required:c=!1,disabled:l=!1,validation:u={},condition:d,colSpan:f,hidden:p,widget:m,visibleOn:h,readonly:g,..._}=t;if(p)return null;if(d){let e=d.field,t=C.watch(e),n=t!=null;if(d.equals!==void 0&&t!==d.equals||d.notEquals!==void 0&&t===d.notEquals||d.in&&(!n||!d.in.includes(t)))return null}if(a===`section-divider`){let e=_;return(0,o.jsx)(Sa,{label:r,collapsible:e.collapsible,collapsed:e.collapsed,onToggle:e.onToggle},n)}let v={...u};c&&(v.required=typeof u.required==`string`?u.required:`${r||n} is required`);let y=t.id??n,b=m||a,x=e.fieldContainerClass||j,w=e=>{let t=Array.from(x.matchAll(/(@)?(sm|md|lg|xl|2xl|3xl|4xl|5xl|6xl|7xl):grid-cols-(\d+)/g)).map(e=>({at:e[1]||``,bp:e[2],cols:Number(e[3])}));if(!t.length)return e===2?`col-span-2`:e===3?`col-span-3`:`col-span-4`;let n=t.find(t=>t.cols>=e)||t[t.length-1];return{"@sm:2":`@sm:col-span-2`,"@md:2":`@md:col-span-2`,"@lg:2":`@lg:col-span-2`,"@xl:2":`@xl:col-span-2`,"@2xl:2":`@2xl:col-span-2`,"@sm:3":`@sm:col-span-3`,"@md:3":`@md:col-span-3`,"@lg:3":`@lg:col-span-3`,"@xl:3":`@xl:col-span-3`,"@2xl:3":`@2xl:col-span-3`,"@4xl:3":`@4xl:col-span-3`,"@sm:4":`@sm:col-span-4`,"@md:4":`@md:col-span-4`,"@lg:4":`@lg:col-span-4`,"@xl:4":`@xl:col-span-4`,"@2xl:4":`@2xl:col-span-4`,"@4xl:4":`@4xl:col-span-4`,"sm:2":`sm:col-span-2`,"md:2":`md:col-span-2`,"lg:2":`lg:col-span-2`,"xl:2":`xl:col-span-2`,"sm:3":`sm:col-span-3`,"md:3":`md:col-span-3`,"lg:3":`lg:col-span-3`,"xl:3":`xl:col-span-3`,"sm:4":`sm:col-span-4`,"md:4":`md:col-span-4`,"lg:4":`lg:col-span-4`,"xl:4":`xl:col-span-4`}[`${n.at}${n.bp}:${e}`]||(e===2?`col-span-2`:e===3?`col-span-3`:`col-span-4`)},E=f&&f>1?f===2?w(2):f===3?w(3):f>=4?w(4):``:``;return(0,o.jsx)(Mn,{control:C.control,name:n,rules:v,render:({field:e})=>(0,o.jsxs)(Fn,{className:E||void 0,children:[r&&(0,o.jsxs)(In,{className:`text-xs sm:text-sm`,children:[r,c&&(0,o.jsx)(`span`,{className:`text-destructive ml-1`,"aria-label":`required`,children:`*`})]}),(0,o.jsx)(Ln,{children:Ta(b,{..._,field:t.field||t,...e,inputType:_.inputType,options:_.options,placeholder:_.placeholder??(b===`select`?s(`common.selectOption`):void 0),disabled:S||l||g||T,dataSource:k})}),i&&(0,o.jsx)(Rn,{children:i}),(0,o.jsx)(zn,{})]})},y)})}),e.showActions!==!1&&(0,o.jsxs)(`div`,{className:B(`flex flex-col sm:flex-row gap-2 ${h===`horizontal`?`sm:justify-end`:`sm:justify-start`} mt-6`,e.mobileStickyActions&&`sticky bottom-0 z-10 -mx-4 px-4 py-3 bg-background/95 supports-[backdrop-filter]:bg-background/80 backdrop-blur border-t md:static md:mx-0 md:px-0 md:py-0 md:bg-transparent md:border-0 md:backdrop-blur-none`),"data-testid":e.mobileStickyActions?`form-mobile-sticky-actions`:void 0,children:[p&&(0,o.jsx)(W,{type:`button`,variant:`outline`,onClick:ee,disabled:T||S,className:`w-full sm:w-auto`,children:f}),m&&(0,o.jsxs)(W,{type:`submit`,disabled:T||S,className:`w-full sm:w-auto`,children:[T&&(0,o.jsx)(c.Loader2,{className:`mr-2 h-4 w-4 animate-spin`}),d]})]})]})})},{namespace:`ui`,label:`Form`,inputs:[{name:`fields`,type:`array`,label:`Fields`,description:`Array of field configurations with name, label, type, validation, etc.`},{name:`defaultValues`,type:`object`,label:`Default Values`,description:`Object with default values for form fields`},{name:`submitLabel`,type:`string`,label:`Submit Button Label`,defaultValue:`Submit`},{name:`cancelLabel`,type:`string`,label:`Cancel Button Label`,defaultValue:`Cancel`},{name:`showCancel`,type:`boolean`,label:`Show Cancel Button`,defaultValue:!1},{name:`layout`,type:`enum`,enum:[`vertical`,`horizontal`],label:`Layout`,defaultValue:`vertical`},{name:`columns`,type:`number`,label:`Number of Columns`,defaultValue:1,description:`For multi-column layouts (1-4)`},{name:`validationMode`,type:`enum`,enum:[`onSubmit`,`onBlur`,`onChange`,`onTouched`,`all`],label:`Validation Mode`,defaultValue:`onSubmit`},{name:`resetOnSubmit`,type:`boolean`,label:`Reset After Submit`,defaultValue:!1},{name:`disabled`,type:`boolean`,label:`Disabled`,defaultValue:!1},{name:`className`,type:`string`,label:`CSS Class`},{name:`fieldContainerClass`,type:`string`,label:`Field Container CSS Class`}],defaultProps:{submitLabel:`Submit`,cancelLabel:`Cancel`,showCancel:!1,layout:`vertical`,columns:1,validationMode:`onSubmit`,resetOnSubmit:!1,disabled:!1,fields:[{name:`name`,label:`Name`,type:`input`,required:!0,placeholder:`Enter your name`},{name:`email`,label:`Email`,type:`input`,inputType:`email`,required:!0,placeholder:`Enter your email`}]}});function Ta(e,n){let r=t.ComponentRegistry.get(e);if(r)return(0,o.jsx)(r,{schema:n,...n});let{inputType:i,options:a=[],placeholder:s,...c}=n;switch(e){case`input`:if(i===`file`){let{value:e,...t}=c;return(0,o.jsx)(q,{type:`file`,placeholder:s,className:`min-h-[44px] sm:min-h-0`,...t})}return(0,o.jsx)(q,{type:i||`text`,placeholder:s,className:`min-h-[44px] sm:min-h-0`,...c,value:c.value??``});case`textarea`:{let{mobile_fullscreen:e,fullscreen:t,label:n,...r}=c;return e||t?(0,o.jsx)(wa,{placeholder:s,label:n,className:`min-h-[44px] sm:min-h-0`,...r,value:r.value??``}):(0,o.jsx)(ea,{placeholder:s,className:`min-h-[44px] sm:min-h-0`,...r,value:r.value??``})}case`checkbox`:{let{value:e,onChange:t,...n}=c;return(0,o.jsx)(yt,{checked:e,onCheckedChange:t,className:`min-h-[44px] min-w-[44px] sm:min-h-0 sm:min-w-0`,...n})}case`switch`:{let{value:e,onChange:t,...n}=c;return(0,o.jsx)(Vi,{checked:e,onCheckedChange:t,className:`min-h-[44px] min-w-[44px] sm:min-h-0 sm:min-w-0`,...n})}case`select`:{let{value:e,onChange:t,...n}=c;return!a||a.length===0?(0,o.jsx)(`div`,{className:`text-sm text-muted-foreground`,children:`No options available`}):(0,o.jsxs)(Ir,{value:e,onValueChange:t,...n,children:[(0,o.jsx)(J,{className:`min-h-[44px] sm:min-h-0`,children:(0,o.jsx)(Rr,{placeholder:s||`Select an option`})}),(0,o.jsx)(Y,{children:a.map(e=>(0,o.jsx)(X,{value:e.value,children:e.label},e.value))})]})}default:return(0,o.jsx)(q,{type:i||`text`,placeholder:s,...c})}}function Ea(e){return e.split(`-`).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(``)}var Da={Home:`House`},Oa=(0,a.forwardRef)(({schema:e,...t},n)=>{let{"data-obj-id":r,"data-obj-type":i,style:a,...s}=t,l=null;if(e.icon){let t=Ea(e.icon);l=c.icons[Da[t]||t]}let u=e.loading||t.loading,d=e.disabled||t.disabled||u;return(0,o.jsxs)(W,{ref:n,type:e.buttonType||`button`,variant:e.variant,size:e.size,className:e.className,disabled:d,...s,"data-obj-id":r,"data-obj-type":i,style:a,children:[u&&(0,o.jsx)(c.Loader2,{className:`mr-2 h-4 w-4 animate-spin`}),!u&&l&&e.iconPosition!==`right`&&(0,o.jsx)(l,{className:`mr-2 h-4 w-4`}),e.label||V(e.body||e.children),!u&&l&&e.iconPosition===`right`&&(0,o.jsx)(l,{className:`ml-2 h-4 w-4`})]})});Oa.displayName=`ButtonRenderer`,t.ComponentRegistry.register(`button`,Oa,{namespace:`ui`,label:`Button`,inputs:[{name:`label`,type:`string`,label:`Label`,defaultValue:`Button`},{name:`variant`,type:`enum`,label:`Variant`,enum:[`default`,`secondary`,`destructive`,`outline`,`ghost`,`link`],defaultValue:`default`},{name:`size`,type:`enum`,label:`Size`,enum:[`default`,`sm`,`lg`,`icon`],defaultValue:`default`},{name:`className`,type:`string`,label:`CSS Class`,advanced:!0}],defaultProps:{label:`Button`,variant:`default`,size:`default`}}),t.ComponentRegistry.register(`label`,({schema:e,className:t,...n})=>{let{"data-obj-id":r,"data-obj-type":i,style:a,...s}=n;return(0,o.jsx)(K,{className:t,...s,"data-obj-id":r,"data-obj-type":i,style:a,children:e.text||e.label||e.content})},{namespace:`ui`,label:`Label`,inputs:[{name:`text`,type:`string`,label:`Text`,required:!0},{name:`className`,type:`string`,label:`CSS Class`}],defaultProps:{text:`Label Text`}});var ka=({schema:e,className:t,onChange:n,value:r,...i})=>{let a=e=>{n&&n(e.target.value)},{"data-obj-id":s,"data-obj-type":c,style:l,...u}=i;return(0,o.jsxs)(`div`,{className:B(`grid w-full items-center gap-1.5`,e.wrapperClass),"data-obj-id":s,"data-obj-type":c,style:l,children:[e.label&&(0,o.jsx)(K,{htmlFor:e.id,className:B(e.required&&`text-destructive after:content-['*'] after:ml-0.5`),children:e.label}),(0,o.jsx)(q,{type:e.inputType||`text`,id:e.id,name:e.name,placeholder:e.placeholder,className:t,required:e.required,disabled:e.disabled,readOnly:e.readOnly,value:r??e.value??``,defaultValue:r===void 0?e.defaultValue:void 0,onChange:a,min:e.min,max:e.max,step:e.step,maxLength:e.maxLength,pattern:e.pattern,...u}),e.description&&(0,o.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:e.description}),e.error&&(0,o.jsx)(`p`,{className:`text-sm font-medium text-destructive`,children:e.error})]})};t.ComponentRegistry.register(`input`,ka,{namespace:`ui`,label:`Input Field`,inputs:[{name:`label`,type:`string`,label:`Label`},{name:`name`,type:`string`,label:`Field Name`},{name:`placeholder`,type:`string`,label:`Placeholder`},{name:`inputType`,type:`enum`,label:`Type`,enum:[`text`,`email`,`password`,`number`,`tel`,`url`,`date`,`time`,`datetime-local`],defaultValue:`text`},{name:`required`,type:`boolean`,label:`Required`},{name:`disabled`,type:`boolean`,label:`Disabled`},{name:`description`,type:`string`,label:`Description`}],defaultProps:{inputType:`text`}}),t.ComponentRegistry.register(`email`,e=>(0,o.jsx)(ka,{...e,schema:{...e.schema,inputType:`email`}}),{namespace:`ui`,label:`Email Input`,icon:`mail`,inputs:[{name:`label`,type:`string`,label:`Label`},{name:`name`,type:`string`,label:`Field Name`},{name:`placeholder`,type:`string`,label:`Placeholder`},{name:`required`,type:`boolean`,label:`Required`},{name:`disabled`,type:`boolean`,label:`Disabled`},{name:`description`,type:`string`,label:`Description`}]}),t.ComponentRegistry.register(`password`,e=>(0,o.jsx)(ka,{...e,schema:{...e.schema,inputType:`password`}}),{namespace:`ui`,label:`Password Input`,icon:`lock`,inputs:[{name:`label`,type:`string`,label:`Label`},{name:`name`,type:`string`,label:`Field Name`},{name:`placeholder`,type:`string`,label:`Placeholder`},{name:`required`,type:`boolean`,label:`Required`},{name:`disabled`,type:`boolean`,label:`Disabled`},{name:`description`,type:`string`,label:`Description`}]}),t.ComponentRegistry.register(`textarea`,({schema:e,className:t,onChange:n,value:r,...i})=>{let a=e=>{n&&n(e.target.value)},{"data-obj-id":s,"data-obj-type":c,style:l,...u}=i;return(0,o.jsxs)(`div`,{className:B(`grid w-full gap-1.5`,e.wrapperClass),"data-obj-id":s,"data-obj-type":c,style:l,children:[e.label&&(0,o.jsx)(K,{htmlFor:e.id,className:B(e.required&&`text-destructive after:content-['*'] after:ml-0.5`),children:e.label}),(0,o.jsx)(ea,{id:e.id,name:e.name,placeholder:e.placeholder,className:t,disabled:e.disabled,readOnly:e.readOnly,required:e.required,rows:e.rows,value:r??e.value??``,defaultValue:r===void 0?e.defaultValue:void 0,onChange:a,...u})]})},{namespace:`ui`,label:`Textarea`,inputs:[{name:`label`,type:`string`,label:`Label`},{name:`placeholder`,type:`string`,label:`Placeholder`},{name:`rows`,type:`number`,label:`Rows`},{name:`required`,type:`boolean`,label:`Required`},{name:`disabled`,type:`boolean`,label:`Disabled`},{name:`id`,type:`string`,label:`ID`,required:!0}],defaultProps:{label:`Textarea label`,placeholder:`Enter text here...`,rows:3,id:`textarea-field`}}),t.ComponentRegistry.register(`checkbox`,({schema:e,className:t,onChange:n,value:r,...i})=>{let{"data-obj-id":a,"data-obj-type":s,style:c,...l}=i;return(0,o.jsxs)(`div`,{className:B(`flex items-center space-x-2`,e.wrapperClass),"data-obj-id":a,"data-obj-type":s,style:c,children:[(0,o.jsx)(yt,{id:e.id,className:t,checked:r??e.checked??!1,defaultChecked:r===void 0?e.defaultChecked:void 0,onCheckedChange:e=>{n&&n(e)},disabled:e.disabled,required:e.required,name:e.name,...l}),(0,o.jsx)(K,{htmlFor:e.id,className:B(`text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70`,e.required&&`text-destructive after:content-['*'] after:ml-0.5`),children:e.label})]})},{namespace:`ui`,label:`Checkbox`,inputs:[{name:`label`,type:`string`,label:`Label`,required:!0},{name:`id`,type:`string`,label:`ID`,required:!0},{name:`checked`,type:`boolean`,label:`Checked`},{name:`required`,type:`boolean`,label:`Required`},{name:`disabled`,type:`boolean`,label:`Disabled`}],defaultProps:{label:`Checkbox label`,id:`checkbox-field`}}),t.ComponentRegistry.register(`switch`,({schema:e,className:t,...n})=>{let{"data-obj-id":r,"data-obj-type":i,style:a,...s}=n;return(0,o.jsxs)(`div`,{className:`flex items-center space-x-2 ${e.wrapperClass||``}`,"data-obj-id":r,"data-obj-type":i,style:a,children:[(0,o.jsx)(Vi,{id:e.id,className:t,...s}),(0,o.jsx)(K,{htmlFor:e.id,children:e.label})]})},{namespace:`ui`,label:`Switch`,inputs:[{name:`label`,type:`string`,label:`Label`,required:!0},{name:`id`,type:`string`,label:`ID`,required:!0},{name:`checked`,type:`boolean`,label:`Checked`}],defaultProps:{label:`Switch label`,id:`switch-field`}}),t.ComponentRegistry.register(`select`,({schema:e,className:t,onChange:n,value:r,...i})=>{let{"data-obj-id":a,"data-obj-type":s,style:c,...l}=i;return(0,o.jsxs)(`div`,{className:B(`grid w-full items-center gap-1.5`,e.wrapperClass),"data-obj-id":a,"data-obj-type":s,style:c,children:[e.label&&(0,o.jsx)(K,{className:B(e.required&&`text-destructive after:content-['*'] after:ml-0.5`),children:e.label}),(0,o.jsxs)(Ir,{defaultValue:r===void 0?e.defaultValue:void 0,value:r??e.value,onValueChange:e=>{n&&n(e)},disabled:e.disabled,required:e.required,name:e.name,...l,children:[(0,o.jsx)(J,{className:t,children:(0,o.jsx)(Rr,{placeholder:e.placeholder})}),(0,o.jsx)(Y,{children:e.options?.map(e=>(0,o.jsx)(X,{value:e.value,disabled:e.disabled,children:e.label},e.value))})]})]})},{namespace:`ui`,label:`Select`,inputs:[{name:`label`,type:`string`,label:`Label`},{name:`placeholder`,type:`string`,label:`Placeholder`},{name:`defaultValue`,type:`string`,label:`Default Value`},{name:`required`,type:`boolean`,label:`Required`},{name:`disabled`,type:`boolean`,label:`Disabled`},{name:`options`,type:`array`,label:`Options`,description:`Array of {label, value} objects`}],defaultProps:{label:`Select an option`,placeholder:`Choose...`,options:[{label:`Option 1`,value:`option1`},{label:`Option 2`,value:`option2`},{label:`Option 3`,value:`option3`}]}}),t.ComponentRegistry.register(`radio-group`,({schema:e,className:t,...n})=>{let{"data-obj-id":r,"data-obj-type":i,style:a,...s}=n;return(0,o.jsx)(kr,{defaultValue:e.defaultValue,className:t,...s,"data-obj-id":r,"data-obj-type":i,style:a,children:e.options?.map(t=>(0,o.jsxs)(`div`,{className:`flex items-center space-x-2`,children:[(0,o.jsx)(Ar,{value:t.value,id:`${e.id}-${t.value}`}),(0,o.jsx)(K,{htmlFor:`${e.id}-${t.value}`,children:t.label})]},t.value))})},{namespace:`ui`,label:`Radio Group`,inputs:[{name:`defaultValue`,type:`string`,label:`Default Value`},{name:`id`,type:`string`,label:`Group ID`,required:!0},{name:`options`,type:`array`,label:`Options`,description:`Array of {label, value} objects`},{name:`className`,type:`string`,label:`CSS Class`}],defaultProps:{id:`radio-group`,options:[{label:`Option 1`,value:`option1`},{label:`Option 2`,value:`option2`},{label:`Option 3`,value:`option3`}]}}),t.ComponentRegistry.register(`slider`,({schema:e,className:t,...n})=>{let{"data-obj-id":r,"data-obj-type":i,style:a,...s}=n;return(0,o.jsx)(zi,{defaultValue:Array.isArray(e.defaultValue)?e.defaultValue:e.defaultValue===void 0?void 0:[e.defaultValue],max:e.max,min:e.min,step:e.step,className:t,...s,"data-obj-id":r,"data-obj-type":i,style:a})},{namespace:`ui`,label:`Slider`,inputs:[{name:`defaultValue`,type:`array`,label:`Default Value`,defaultValue:[50]},{name:`max`,type:`number`,label:`Max`,defaultValue:100},{name:`min`,type:`number`,label:`Min`,defaultValue:0},{name:`step`,type:`number`,label:`Step`,defaultValue:1},{name:`className`,type:`string`,label:`CSS Class`}],defaultProps:{defaultValue:[50],max:100,min:0,step:1,className:`w-full`}}),t.ComponentRegistry.register(`toggle`,({schema:e,...t})=>(0,o.jsx)(na,{variant:e.variant,size:e.size,pressed:e.pressed,"aria-label":e.ariaLabel,...t,children:e.label||V(e.children)}),{namespace:`ui`,label:`Toggle`,inputs:[{name:`label`,type:`string`,label:`Label`},{name:`pressed`,type:`boolean`,label:`Pressed`},{name:`variant`,type:`enum`,enum:[`default`,`outline`],defaultValue:`default`,label:`Variant`},{name:`size`,type:`enum`,enum:[`default`,`sm`,`lg`],defaultValue:`default`,label:`Size`},{name:`ariaLabel`,type:`string`,label:`Aria Label`}],defaultProps:{label:`Toggle`,variant:`default`,size:`default`}}),t.ComponentRegistry.register(`input-otp`,({schema:e,className:t,onChange:n,value:r,...i})=>{let a=e.maxLength||6,s=Array.from({length:a});return(0,o.jsx)(Un,{maxLength:a,className:t,value:r??e.value,onChange:e=>{n&&n(e)},...i,children:(0,o.jsx)(Wn,{children:s.map((e,t)=>(0,o.jsx)(Gn,{index:t},t))})})},{namespace:`ui`,label:`Input OTP`,inputs:[{name:`maxLength`,type:`number`,label:`Max Length`,defaultValue:6},{name:`className`,type:`string`,label:`CSS Class`}],defaultProps:{maxLength:6}}),t.ComponentRegistry.register(`calendar`,({schema:e,className:t,...n})=>(0,o.jsx)(Je,{mode:e.mode||`single`,selected:e.value||e.defaultValue,className:t,...n}),{namespace:`ui`,label:`Calendar`,inputs:[{name:`mode`,type:`enum`,enum:[`default`,`single`,`multiple`,`range`],defaultValue:`single`,label:`Mode`},{name:`className`,type:`string`,label:`CSS Class`}],defaultProps:{mode:`single`,className:`rounded-md border`}}),t.ComponentRegistry.register(`date-picker`,({schema:e,className:t,value:n,onChange:r,...i})=>{let a=e=>{r&&r(e)},{"data-obj-id":s,"data-obj-type":l,style:u,...d}=i;return(0,o.jsxs)(`div`,{className:`grid w-full max-w-sm items-center gap-1.5 ${e.wrapperClass||``}`,"data-obj-id":s,"data-obj-type":l,style:u,children:[e.label&&(0,o.jsx)(K,{htmlFor:e.id,children:e.label}),(0,o.jsxs)(Tr,{children:[(0,o.jsx)(Er,{asChild:!0,children:(0,o.jsxs)(W,{id:e.id,variant:`outline`,className:B(`w-full justify-start text-left font-normal`,!n&&`text-muted-foreground`,t),...d,children:[(0,o.jsx)(c.CalendarIcon,{className:`mr-2 h-4 w-4`}),n?(0,ce.format)(n,e.format||`PPP`):(0,o.jsx)(`span`,{children:e.placeholder||`Pick a date`})]})}),(0,o.jsx)(Dr,{className:`w-auto p-0`,children:(0,o.jsx)(Je,{mode:`single`,selected:n,onSelect:a,initialFocus:!0})})]})]})},{namespace:`ui`,label:`Date Picker`,inputs:[{name:`label`,type:`string`,label:`Label`},{name:`placeholder`,type:`string`,label:`Placeholder`},{name:`format`,type:`string`,label:`Date Format`,description:`date-fns format string (e.g., "PPP", "yyyy-MM-dd")`},{name:`id`,type:`string`,label:`ID`,required:!0}],defaultProps:{label:`Date`,placeholder:`Pick a date`,format:`PPP`,id:`date-picker-field`}}),t.ComponentRegistry.register(`file-upload`,({schema:e,className:t,value:n,onChange:r,...i})=>{let[s,l]=(0,a.useState)(n||[]),[u,d]=(0,a.useState)(!1),[f,p]=(0,a.useState)(0),m=(0,a.useRef)(null);(0,a.useEffect)(()=>{if(u){let e=setInterval(()=>{p(t=>t>=100?(clearInterval(e),d(!1),0):t+5)},50);return()=>clearInterval(e)}},[u]);let h=t=>{let n=Array.from(t.target.files||[]);if(n.length>0){d(!0),p(0);let t=e.multiple?[...s,...n]:n;setTimeout(()=>{l(t),r&&r(t)},1e3)}},g=e=>{let t=s.filter((t,n)=>n!==e);l(t),r&&r(t)},_=()=>{m.current?.click()},{"data-obj-id":v,"data-obj-type":y,style:b,...x}=i;return(0,o.jsxs)(`div`,{className:`grid w-full max-w-sm items-center gap-2 ${e.wrapperClass||``}`,"data-obj-id":v,"data-obj-type":y,style:b,children:[e.label&&(0,o.jsx)(K,{htmlFor:e.id,children:e.label}),(0,o.jsxs)(`div`,{className:B(`relative flex flex-col gap-3 group/upload`,t),children:[(0,o.jsx)(`input`,{ref:m,type:`file`,id:e.id,className:`hidden`,accept:e.accept,multiple:e.multiple,onChange:h,...x}),(0,o.jsxs)(`div`,{onClick:_,className:B(`relative overflow-hidden cursor-pointer rounded-lg border-2 border-dashed transition-all duration-300 min-h-[120px] flex flex-col items-center justify-center p-4 sm:p-6 gap-3`,u?`border-cyan-400 bg-cyan-950/30`:`border-slate-700 bg-slate-900/50 hover:bg-slate-900 hover:border-cyan-500/50 hover:shadow-[0_0_20px_-5px_rgba(6,182,212,0.3)]`),children:[(0,o.jsx)(`div`,{className:`absolute inset-0 bg-[url('https://grainy-gradients.vercel.app/noise.svg')] opacity-5 pointer-events-none`}),(0,o.jsx)(`div`,{className:`absolute inset-0 bg-[linear-gradient(to_right,#80808012_1px,transparent_1px),linear-gradient(to_bottom,#80808012_1px,transparent_1px)] bg-[size:14px_24px] pointer-events-none`}),(0,o.jsx)(`div`,{className:B(`relative z-10 p-3 rounded-full bg-slate-800 border border-slate-700 transition-all duration-500`,u?`scale-110 shadow-[0_0_30px_cyan] border-cyan-400 animate-bounce`:`group-hover/upload:scale-110 group-hover/upload:shadow-lg group-hover/upload:border-cyan-500`),children:u?(0,o.jsx)(c.Rocket,{className:`w-8 h-8 text-cyan-300 animate-pulse`}):(0,o.jsx)(c.Upload,{className:`w-6 h-6 text-slate-400 group-hover/upload:text-cyan-400`})}),(0,o.jsx)(`div`,{className:`relative z-10 text-center`,children:(0,o.jsx)(`p`,{className:B(`text-xs font-mono uppercase tracking-widest transition-colors`,u?`text-cyan-300`:`text-slate-500 group-hover/upload:text-cyan-200`),children:u?`INITIATING LAUNCH SEQUENCE...`:e.buttonText||`DROP PAYLOAD OR CLICK TO UPLOAD`})}),u&&(0,o.jsx)(`div`,{className:`absolute bottom-0 left-0 h-1 bg-cyan-500 shadow-[0_0_10px_cyan] transition-all duration-75 ease-out`,style:{width:`${f}%`}})]}),s.length>0&&(0,o.jsx)(`div`,{className:`flex flex-col gap-2 mt-1 perspective-1000`,children:s.map((e,t)=>(0,o.jsxs)(`div`,{className:`relative group/file overflow-hidden flex items-center justify-between p-3 border border-border bg-card/80 rounded-sm text-sm transition-all hover:border-primary/30 hover:shadow-lg hover:shadow-primary/10 animate-in slide-in-from-bottom-2 fade-in`,children:[(0,o.jsx)(`div`,{className:`absolute left-0 top-0 bottom-0 w-[2px] bg-primary/50 group-hover/file:bg-primary group-hover/file:shadow-[0_0_8px_hsl(var(--primary))]`}),(0,o.jsxs)(`div`,{className:`flex items-center gap-3 z-10`,children:[(0,o.jsx)(c.CheckCircle2,{className:`w-4 h-4 text-emerald-500 rounded-full`}),(0,o.jsx)(`span`,{className:`truncate max-w-[150px] sm:max-w-[200px] md:max-w-[300px] text-muted-foreground group-hover/file:text-foreground font-mono text-xs transition-colors`,children:e.name})]}),(0,o.jsx)(W,{type:`button`,variant:`ghost`,size:`sm`,className:`h-6 w-6 p-0 hover:bg-destructive/10 hover:text-destructive`,onClick:()=>g(t),children:(0,o.jsx)(c.X,{className:`h-3 w-3`})}),(0,o.jsx)(`div`,{className:`absolute inset-0 bg-gradient-to-r from-transparent via-primary/5 to-transparent -translate-x-full group-hover/file:animate-[shimmer_1s_infinite] pointer-events-none`})]},t))})]})]})},{namespace:`ui`,label:`File Upload`,inputs:[{name:`label`,type:`string`,label:`Label`},{name:`buttonText`,type:`string`,label:`Button Text`},{name:`accept`,type:`string`,label:`Accepted File Types`,description:`MIME types (e.g., "image/*,application/pdf")`},{name:`multiple`,type:`boolean`,label:`Allow Multiple Files`},{name:`id`,type:`string`,label:`ID`,required:!0}],defaultProps:{label:`Upload files`,buttonText:`Choose files`,multiple:!0,id:`file-upload-field`}});var Aa=(0,d.cva)(`flex w-fit items-stretch [&>*]:focus-visible:z-10 [&>*]:focus-visible:relative [&>[data-slot=select-trigger]:not([class*='w-'])]:w-fit [&>input]:flex-1 has-[select[aria-hidden=true]:last-child]:[&>[data-slot=select-trigger]:last-of-type]:rounded-r-md has-[>[data-slot=button-group]]:gap-2`,{variants:{orientation:{horizontal:`[&>*:not(:first-child)]:rounded-l-none [&>*:not(:first-child)]:border-l-0 [&>*:not(:last-child)]:rounded-r-none`,vertical:`flex-col [&>*:not(:first-child)]:rounded-t-none [&>*:not(:first-child)]:border-t-0 [&>*:not(:last-child)]:rounded-b-none`}},defaultVariants:{orientation:`horizontal`}});function ja({className:e,orientation:t,...n}){return(0,o.jsx)(`div`,{role:`group`,"data-slot":`button-group`,"data-orientation":t,className:B(Aa({orientation:t}),e),...n})}function Ma({className:e,asChild:t=!1,...n}){return(0,o.jsx)(t?u.Slot:`div`,{className:B(`bg-muted flex items-center gap-2 rounded-md border px-4 text-sm font-medium shadow-xs [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4`,e),...n})}function Na({className:e,orientation:t=`vertical`,...n}){return(0,o.jsx)(Ur,{"data-slot":`button-group-separator`,orientation:t,className:B(`bg-input relative !m-0 self-stretch data-[orientation=vertical]:h-auto`,e),...n})}function Pa({options:e,value:t,onValueChange:n,placeholder:r=`Select option...`,searchPlaceholder:i=`Search...`,emptyText:s=`No option found.`,className:l,disabled:u}){let[d,f]=a.useState(!1);return(0,o.jsxs)(Tr,{open:d,onOpenChange:f,children:[(0,o.jsx)(Er,{asChild:!0,children:(0,o.jsxs)(W,{variant:`outline`,role:`combobox`,"aria-expanded":d,className:B(`w-[200px] justify-between`,l),disabled:u,children:[t?e.find(e=>e.value===t)?.label:r,(0,o.jsx)(c.ChevronsUpDown,{className:`ml-2 h-4 w-4 shrink-0 opacity-50`})]})}),(0,o.jsx)(Dr,{className:`w-[200px] p-0`,children:(0,o.jsxs)(Nt,{children:[(0,o.jsx)(Ft,{placeholder:i}),(0,o.jsxs)(It,{children:[(0,o.jsx)(Lt,{children:s}),(0,o.jsx)(Rt,{children:e.map(e=>(0,o.jsxs)(Bt,{value:e.value,onSelect:e=>{n?.(e===t?``:e),f(!1)},children:[(0,o.jsx)(c.Check,{className:B(`mr-2 h-4 w-4`,t===e.value?`opacity-100`:`opacity-0`)}),e.label]},e.value))})]})]})})]})}function Fa({label:e,value:t,onClick:n,children:r,className:i}){return(0,o.jsxs)(n?`button`:`div`,{className:B(`flex items-center justify-between py-1.5 min-h-[32px] w-full text-left`,n&&`cursor-pointer hover:bg-accent/50 rounded-sm -mx-1 px-1`,i),onClick:n,type:n?`button`:void 0,children:[(0,o.jsx)(`span`,{className:`text-xs text-muted-foreground shrink-0 max-w-[45%] truncate`,title:e,children:e}),r||(0,o.jsx)(`span`,{className:`text-xs text-foreground truncate ml-4 text-right max-w-[55%]`,title:t,children:t})]})}var Ia=[{value:`equals`,label:`Equals`},{value:`notEquals`,label:`Does not equal`},{value:`contains`,label:`Contains`},{value:`notContains`,label:`Does not contain`},{value:`isEmpty`,label:`Is empty`},{value:`isNotEmpty`,label:`Is not empty`},{value:`greaterThan`,label:`Greater than`},{value:`lessThan`,label:`Less than`},{value:`greaterOrEqual`,label:`Greater than or equal`},{value:`lessOrEqual`,label:`Less than or equal`},{value:`before`,label:`Before`},{value:`after`,label:`After`},{value:`between`,label:`Between`},{value:`in`,label:`In`},{value:`notIn`,label:`Not in`}],La=[`equals`,`notEquals`,`contains`,`notContains`,`isEmpty`,`isNotEmpty`],Ra=[`equals`,`notEquals`,`greaterThan`,`lessThan`,`greaterOrEqual`,`lessOrEqual`,`isEmpty`,`isNotEmpty`],za=[`equals`,`notEquals`],Ba=[`equals`,`notEquals`,`before`,`after`,`between`,`isEmpty`,`isNotEmpty`],Va=[`equals`,`notEquals`,`in`,`notIn`,`isEmpty`,`isNotEmpty`],Ha=[`equals`,`notEquals`,`in`,`notIn`,`isEmpty`,`isNotEmpty`],Ua=[`number`,`currency`,`percent`,`rating`],Wa=[`date`,`datetime`,`time`],Ga=[`select`,`status`],Ka=[`lookup`,`master_detail`,`user`,`owner`];function qa(e){return Array.isArray(e)?e:e!=null&&e!==``?[e]:[]}function Ja(e){return!!e&&typeof e==`object`&&Array.isArray(e.conditions)&&(e.logic===`and`||e.logic===`or`)}var Ya={id:`root`,logic:`and`,conditions:[]};function Xa({fields:e=[],value:t,onChange:n,className:r,showClearAll:i=!0}){let[s,l]=a.useState(Ja(t)?t:Ya);a.useEffect(()=>{Ja(t)&&JSON.stringify(t)!==JSON.stringify(s)&&l(t)},[t]);let u=e=>{l(e),n?.(e)},d=()=>{let t={id:crypto.randomUUID(),field:e[0]?.value||``,operator:`equals`,value:``};u({...s,conditions:[...s.conditions,t]})},f=e=>{u({...s,conditions:s.conditions.filter(t=>t.id!==e)})},p=()=>{u({...s,conditions:[]})},m=(e,t)=>{u({...s,conditions:s.conditions.map(n=>n.id===e?{...n,...t}:n)})},h=()=>{u({...s,logic:s.logic===`and`?`or`:`and`})},g=t=>{let n=e.find(e=>e.value===t)?.type||`text`;return Ua.includes(n)?Ia.filter(e=>Ra.includes(e.value)):n===`boolean`?Ia.filter(e=>za.includes(e.value)):Wa.includes(n)?Ia.filter(e=>Ba.includes(e.value)):Ga.includes(n)?Ia.filter(e=>Va.includes(e.value)):Ka.includes(n)?Ia.filter(e=>Ha.includes(e.value)):Ia.filter(e=>La.includes(e.value))},_=e=>![`isEmpty`,`isNotEmpty`].includes(e),v=t=>{let n=e.find(e=>e.value===t)?.type||`text`;return Ua.includes(n)?`number`:n===`date`?`date`:n===`datetime`?`datetime-local`:n===`time`?`time`:`text`},y=t=>{let n=e.find(e=>e.value===t.field),r=[`in`,`notIn`].includes(t.operator);if(Ka.includes(n?.type||``)&&!n?.options&&(n?.referenceTo||n?.type===`user`||n?.type===`owner`))return(0,o.jsx)(Za,{field:n,value:t.value,multiple:r,onChange:e=>m(t.id,{value:e})});if(n?.options&&r){let e=qa(t.value);return(0,o.jsx)(`div`,{className:`max-h-40 overflow-y-auto space-y-0.5 border rounded-md p-2`,children:n.options.map(n=>{let r=e.map(String).includes(String(n.value));return(0,o.jsxs)(`label`,{className:B(`flex items-center gap-2 text-sm py-1 px-1.5 rounded cursor-pointer`,r?`bg-primary/5 text-primary`:`hover:bg-muted`),children:[(0,o.jsx)(yt,{checked:r,onCheckedChange:r=>{let i=r?[...e,n.value]:e.filter(e=>String(e)!==String(n.value));m(t.id,{value:i})}}),(0,o.jsx)(`span`,{className:`truncate`,children:n.label})]},n.value)})})}if(n?.options&&(Ga.includes(n.type||``)||Ka.includes(n.type||``)))return(0,o.jsxs)(Ir,{value:String(t.value||``),onValueChange:e=>m(t.id,{value:e}),children:[(0,o.jsx)(J,{className:`h-9 text-sm`,children:(0,o.jsx)(Rr,{placeholder:`Select value`})}),(0,o.jsx)(Y,{children:n.options.map(e=>(0,o.jsx)(X,{value:e.value,children:e.label},e.value))})]});if(n?.type===`boolean`)return(0,o.jsxs)(Ir,{value:String(t.value||``),onValueChange:e=>m(t.id,{value:e===`true`}),children:[(0,o.jsx)(J,{className:`h-9 text-sm`,children:(0,o.jsx)(Rr,{placeholder:`Select value`})}),(0,o.jsxs)(Y,{children:[(0,o.jsx)(X,{value:`true`,children:`True`}),(0,o.jsx)(X,{value:`false`,children:`False`})]})]});let i=v(t.field),a=()=>t.value?i===`date`&&typeof t.value==`string`?t.value.split(`T`)[0]:String(t.value):``,s=e=>{let r=e;Ua.includes(n?.type||``)&&e!==``?r=parseFloat(e)||0:Wa.includes(n?.type||``)&&(r=e),m(t.id,{value:r})};return(0,o.jsx)(q,{type:i,className:`h-9 text-sm`,placeholder:`Value`,value:a(),onChange:e=>s(e.target.value)})};return(0,o.jsxs)(`div`,{className:B(`space-y-3`,r),children:[(0,o.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,o.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,o.jsx)(`span`,{className:`text-sm font-medium`,children:`Where`}),s.conditions.length>1&&(0,o.jsx)(W,{variant:`outline`,size:`sm`,onClick:h,className:`h-7 text-xs`,children:s.logic.toUpperCase()})]}),i&&s.conditions.length>0&&(0,o.jsxs)(W,{variant:`ghost`,size:`sm`,onClick:p,className:`h-7 text-xs text-muted-foreground hover:text-destructive`,children:[(0,o.jsx)(c.Trash2,{className:`h-3 w-3 mr-1`}),`Clear all`]})]}),(0,o.jsx)(`div`,{className:`space-y-2`,children:s.conditions.map(t=>(0,o.jsxs)(`div`,{className:`flex items-start gap-2`,children:[(0,o.jsxs)(`div`,{className:`flex-1 grid grid-cols-12 gap-2`,children:[(0,o.jsx)(`div`,{className:`col-span-4`,children:(0,o.jsxs)(Ir,{value:t.field,onValueChange:e=>m(t.id,{field:e}),children:[(0,o.jsx)(J,{className:`h-9 text-sm`,children:(0,o.jsx)(Rr,{placeholder:`Select field`})}),(0,o.jsx)(Y,{children:e.map(e=>(0,o.jsx)(X,{value:e.value,children:e.label},e.value))})]})}),(0,o.jsx)(`div`,{className:`col-span-4`,children:(0,o.jsxs)(Ir,{value:t.operator,onValueChange:e=>m(t.id,{operator:e}),children:[(0,o.jsx)(J,{className:`h-9 text-sm`,children:(0,o.jsx)(Rr,{placeholder:`Operator`})}),(0,o.jsx)(Y,{children:g(t.field).map(e=>(0,o.jsx)(X,{value:e.value,children:e.label},e.value))})]})}),_(t.operator)&&(0,o.jsx)(`div`,{className:`col-span-4`,children:y(t)})]}),(0,o.jsxs)(W,{variant:`ghost`,size:`icon`,className:`h-9 w-9 shrink-0`,onClick:()=>f(t.id),children:[(0,o.jsx)(c.X,{className:`h-4 w-4`}),(0,o.jsx)(`span`,{className:`sr-only`,children:`Remove condition`})]})]},t.id))}),(0,o.jsxs)(W,{variant:`outline`,size:`sm`,onClick:d,className:`h-8`,disabled:e.length===0,children:[(0,o.jsx)(c.Plus,{className:`h-3 w-3`}),`Add filter`]})]})}Xa.displayName=`FilterBuilder`;function Za({field:e,value:t,multiple:n,onChange:r}){let s=a.useContext(i.SchemaRendererContext)?.dataSource??null,l=e.referenceTo||(e.type===`user`||e.type===`owner`?`users`:void 0),u=e.displayField||`name`,d=e.idField||`id`,[f,p]=a.useState(!1),[m,h]=a.useState(``),[g,_]=a.useState([]),[v,y]=a.useState(!1),[b,x]=a.useState(null),[S,C]=a.useState({}),w=a.useRef(null),T=a.useMemo(()=>n?qa(t).map(e=>String(e)):t==null||t===``?[]:[String(t)],[t,n]),E=s!=null&&typeof s.find==`function`&&!!l,D=a.useCallback(e=>{let t=e?.[d]??e?.id??e?._id,n=e?.[u]??e?.label??e?.name??String(t);return{value:t,label:String(n)}},[u,d]),O=a.useCallback(async e=>{if(E){y(!0),x(null);try{let t={$top:50};e&&e.trim()&&(t.$search=e.trim());let n=await s.find(l,t),r=(n?.data??n??[]).map(D);_(r),r.length>0&&C(e=>{let t={...e};for(let e of r)t[String(e.value)]=e.label;return t})}catch(e){x(e instanceof Error?e.message:String(e)),_([])}finally{y(!1)}}},[s,l,E,D]);a.useEffect(()=>{if(!E||T.length===0)return;let e=T.filter(e=>!(e in S));if(e.length===0)return;let t=!1;return(async()=>{try{let n=await s.find(l,{$top:e.length,$filter:{[d]:{$in:e}}}),r=n?.data??n??[];if(t)return;C(e=>{let t={...e};for(let e of r){let n=D(e);t[String(n.value)]=n.label}return t})}catch{}})(),()=>{t=!0}},[T,E,s,l,d,D,S]),a.useEffect(()=>{f&&E&&g.length===0&&O()},[f]);let k=e=>{h(e),E&&(w.current&&clearTimeout(w.current),w.current=setTimeout(()=>O(e||void 0),300))},A=e=>{if(n){let n=qa(t);r(n.map(String).includes(String(e))?n.filter(t=>String(t)!==String(e)):[...n,e])}else r(e),p(!1)};return E?(0,o.jsxs)(Tr,{open:f,onOpenChange:p,children:[(0,o.jsx)(Er,{asChild:!0,children:(0,o.jsxs)(`button`,{type:`button`,className:B(`inline-flex h-9 w-full items-center justify-between gap-2 rounded-md border border-input bg-background px-3 text-sm`,`hover:bg-accent hover:text-accent-foreground`,`focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-1`),"data-testid":`lookup-picker-${e.value}`,children:[T.length===0?(0,o.jsxs)(`span`,{className:`text-muted-foreground truncate`,children:[`Search `,e.label,`…`]}):n?(0,o.jsx)(`span`,{className:`truncate`,children:T.length===1?S[T[0]]||T[0]:`${T.length} selected`}):(0,o.jsx)(`span`,{className:`truncate`,children:S[T[0]]||T[0]}),(0,o.jsxs)(`span`,{className:`flex items-center gap-1 shrink-0`,children:[T.length>0&&(0,o.jsx)(c.X,{className:`h-3.5 w-3.5 opacity-60 hover:opacity-100`,onClick:e=>{e.stopPropagation(),r(n?[]:``)}}),(0,o.jsx)(c.ChevronDown,{className:`h-3.5 w-3.5 opacity-60`})]})]})}),(0,o.jsxs)(Dr,{align:`start`,className:`w-72 p-0`,children:[(0,o.jsxs)(`div`,{className:`flex items-center border-b px-3`,children:[(0,o.jsx)(c.Search,{className:`h-4 w-4 text-muted-foreground shrink-0`}),(0,o.jsx)(`input`,{autoFocus:!0,value:m,onChange:e=>k(e.target.value),placeholder:`Search ${e.label}…`,className:`flex h-9 w-full bg-transparent px-2 py-1 text-sm outline-none placeholder:text-muted-foreground`,"data-testid":`lookup-search-${e.value}`}),v&&(0,o.jsx)(c.Loader2,{className:`h-3.5 w-3.5 animate-spin text-muted-foreground`})]}),(0,o.jsxs)(`div`,{className:`max-h-64 overflow-y-auto p-1`,"data-testid":`lookup-options-${e.value}`,children:[b&&(0,o.jsx)(`div`,{className:`px-3 py-2 text-xs text-destructive`,children:b}),!b&&!v&&g.length===0&&(0,o.jsx)(`div`,{className:`px-3 py-4 text-center text-xs text-muted-foreground`,children:`No results`}),g.map(e=>{let t=T.includes(String(e.value));return(0,o.jsxs)(`label`,{className:B(`flex items-center gap-2 px-2 py-1.5 rounded text-sm cursor-pointer`,t?`bg-primary/5 text-primary`:`hover:bg-muted`),children:[n?(0,o.jsx)(yt,{checked:t,onCheckedChange:()=>A(e.value)}):(0,o.jsx)(`input`,{type:`radio`,checked:t,onChange:()=>A(e.value),className:`rounded-full border-input`}),(0,o.jsx)(`span`,{className:`truncate flex-1`,children:e.label})]},String(e.value))})]})]})]}):(0,o.jsx)(q,{className:`h-9 text-sm`,placeholder:`Enter ${e.label} id`,value:T[0]??``,onChange:e=>r(e.target.value)})}function Qa({fields:e=[],value:t=[],onChange:n,className:r}){let i=a.useCallback(e=>(e||[]).map((e,t)=>({id:e?.id??(typeof crypto<`u`&&crypto.randomUUID?crypto.randomUUID():`sort-${t}-${e?.field??``}`),field:e?.field??``,order:e?.order??e?.sortOrder??`asc`})),[]),[s,l]=a.useState(()=>i(t));a.useEffect(()=>{let e=i(t),n=e=>e.map(({id:e,...t})=>t);JSON.stringify(n(e))!==JSON.stringify(n(s))&&l(e)},[t,s,i]);let u=e=>{l(e),n?.(e)},d=()=>{let t={id:crypto.randomUUID(),field:e[0]?.value||``,order:`asc`};u([...s,t])},f=(e,t)=>{u(s.map(n=>n.id===e?{...n,...t}:n))},p=e=>{u(s.filter(t=>t.id!==e))};return(0,o.jsxs)(`div`,{className:B(`space-y-3`,r),children:[(0,o.jsx)(`div`,{className:`space-y-2`,children:s.map((t,n)=>(0,o.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,o.jsx)(`span`,{className:`text-sm font-medium w-16 text-muted-foreground`,children:n===0?`Sort by`:`Then by`}),(0,o.jsx)(`div`,{className:`flex-1`,children:(0,o.jsxs)(Ir,{value:t.field,onValueChange:e=>f(t.id,{field:e}),children:[(0,o.jsx)(J,{className:`h-9`,children:(0,o.jsx)(Rr,{placeholder:`Select field`})}),(0,o.jsx)(Y,{children:e.map(e=>(0,o.jsx)(X,{value:e.value,children:e.label},e.value))})]})}),(0,o.jsx)(`div`,{className:`w-28`,children:(0,o.jsxs)(Ir,{value:t.order,onValueChange:e=>f(t.id,{order:e}),children:[(0,o.jsx)(J,{className:`h-9`,children:(0,o.jsx)(Rr,{})}),(0,o.jsxs)(Y,{children:[(0,o.jsx)(X,{value:`asc`,children:`A -> Z`}),(0,o.jsx)(X,{value:`desc`,children:`Z -> A`})]})]})}),(0,o.jsx)(W,{variant:`ghost`,size:`icon`,className:`h-9 w-9 shrink-0`,onClick:()=>p(t.id),children:(0,o.jsx)(c.X,{className:`h-4 w-4`})})]},t.id))}),(0,o.jsxs)(W,{variant:`outline`,size:`sm`,onClick:d,className:`h-8`,disabled:e.length===0,children:[(0,o.jsx)(c.Plus,{className:`h-3 w-3 mr-2`}),`Add sort`]})]})}function $a({field:e,value:t,onChange:n,draft:r,objectDef:i}){if(e.visibleWhen&&!e.visibleWhen(r))return null;let a=e.disabled||(e.disabledWhen?e.disabledWhen(r):!1),s=t??e.defaultValue,l=null;switch(e.type){case`input`:l=(0,o.jsx)(Fa,{label:e.label,children:(0,o.jsx)(q,{"data-testid":`config-field-${e.key}`,className:`h-7 w-32 text-xs`,value:s??``,placeholder:e.placeholder,disabled:a,onChange:e=>n(e.target.value)})});break;case`textarea`:l=(0,o.jsx)(Fa,{label:e.label,className:`flex-col items-stretch gap-1`,children:(0,o.jsx)(ea,{"data-testid":`config-field-${e.key}`,className:`min-h-[60px] w-full text-xs`,value:s??``,placeholder:e.placeholder,disabled:a,rows:3,onChange:e=>n(e.target.value)})});break;case`switch`:l=(0,o.jsx)(Fa,{label:e.label,children:(0,o.jsx)(Vi,{"data-testid":`config-field-${e.key}`,checked:!!s,disabled:a,onCheckedChange:e=>n(e),className:`scale-75`})});break;case`checkbox`:l=(0,o.jsx)(Fa,{label:e.label,children:(0,o.jsx)(yt,{"data-testid":`config-field-${e.key}`,checked:!!s,disabled:a,onCheckedChange:e=>n(e)})});break;case`select`:l=(0,o.jsx)(Fa,{label:e.label,children:(0,o.jsxs)(Ir,{value:String(s??``),onValueChange:e=>n(e),disabled:a,children:[(0,o.jsx)(J,{"data-testid":`config-field-${e.key}`,className:`h-7 w-32 text-xs`,children:(0,o.jsx)(Rr,{placeholder:e.placeholder??`Select…`})}),(0,o.jsx)(Y,{children:(e.options??[]).map(e=>(0,o.jsx)(X,{value:e.value,children:e.label},e.value))})]})});break;case`slider`:l=(0,o.jsx)(Fa,{label:e.label,children:(0,o.jsxs)(`div`,{className:`flex items-center gap-2 w-32`,children:[(0,o.jsx)(zi,{"data-testid":`config-field-${e.key}`,value:[Number(s??e.min??0)],min:e.min??0,max:e.max??100,step:e.step??1,disabled:a,onValueChange:e=>n(e[0]),"aria-label":e.label}),(0,o.jsx)(`span`,{className:`text-xs text-muted-foreground w-6 text-right`,children:s??e.min??0})]})});break;case`color`:l=(0,o.jsx)(Fa,{label:e.label,children:(0,o.jsx)(`input`,{"data-testid":`config-field-${e.key}`,type:`color`,className:`h-7 w-10 rounded border cursor-pointer`,value:s??`#000000`,disabled:a,onChange:e=>n(e.target.value)})});break;case`icon-group`:l=(0,o.jsx)(Fa,{label:e.label,children:(0,o.jsx)(`div`,{className:`flex items-center gap-0.5`,"data-testid":`config-field-${e.key}`,children:(e.options??[]).map(e=>(0,o.jsx)(W,{type:`button`,size:`sm`,variant:s===e.value?`default`:`ghost`,className:B(`h-7 w-7 p-0`,s===e.value&&`ring-1 ring-primary`),disabled:a,onClick:()=>n(e.value),title:e.label,children:e.icon??(0,o.jsx)(`span`,{className:`text-[10px]`,children:e.label.charAt(0)})},e.value))})});break;case`field-picker`:l=(0,o.jsx)(Fa,{label:e.label,value:s??e.placeholder??`Select field…`,onClick:a?void 0:()=>{}});break;case`filter`:l=(0,o.jsxs)(`div`,{"data-testid":`config-field-${e.key}`,children:[(0,o.jsx)(Fa,{label:e.label}),(0,o.jsx)(Xa,{fields:e.fields,value:s,onChange:n,className:`px-1 pb-2`})]});break;case`sort`:l=(0,o.jsxs)(`div`,{"data-testid":`config-field-${e.key}`,children:[(0,o.jsx)(Fa,{label:e.label}),(0,o.jsx)(Qa,{fields:e.fields,value:s,onChange:n,className:`px-1 pb-2`})]});break;case`custom`:e.render&&(l=(0,o.jsx)(o.Fragment,{children:e.render(s,n,r)}));break;case`summary`:l=(0,o.jsx)(Fa,{label:e.label,onClick:e.onSummaryClick,children:(0,o.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,o.jsx)(`span`,{className:`text-xs text-foreground truncate max-w-[120px]`,"data-testid":`config-field-${e.key}-text`,children:e.summaryText??s??``}),e.onSummaryClick&&(0,o.jsx)(c.Settings,{className:`h-3.5 w-3.5 text-muted-foreground shrink-0`,"aria-hidden":`true`,"data-testid":`config-field-${e.key}-gear`})]})});break;default:break}return l?e.helpText?(0,o.jsxs)(`div`,{children:[l,(0,o.jsx)(`p`,{className:`text-[10px] text-muted-foreground mt-0.5 mb-1`,children:e.helpText})]}):(0,o.jsx)(o.Fragment,{children:l}):null}function eo({title:e,icon:t,collapsible:n,collapsed:r,onToggle:i,testId:a,className:s}){let l=(0,o.jsxs)(`h3`,{className:`text-xs font-semibold text-foreground uppercase tracking-wider flex items-center gap-1.5`,children:[t&&(0,o.jsx)(`span`,{className:`text-muted-foreground shrink-0`,"aria-hidden":`true`,children:t}),e]});return n?(0,o.jsxs)(`button`,{"data-testid":a,className:B(`flex items-center justify-between pt-4 pb-1.5 first:pt-0 w-full text-left`,s),onClick:i,type:`button`,"aria-expanded":!r,children:[l,r?(0,o.jsx)(c.ChevronRight,{className:`h-3 w-3 text-muted-foreground`}):(0,o.jsx)(c.ChevronDown,{className:`h-3 w-3 text-muted-foreground`})]}):(0,o.jsx)(`div`,{className:B(`pt-4 pb-1.5 first:pt-0`,s),"data-testid":a,children:l})}function to({open:e,onClose:t,schema:n,draft:r,isDirty:i,onFieldChange:s,onSave:l,onDiscard:u,headerExtra:d,objectDef:f,className:p,style:m,saveLabel:h=`Save`,discardLabel:g=`Discard`,panelRef:_,role:v,ariaLabel:y,tabIndex:b,testId:x,closeTitle:S,footerTestId:C,saveTestId:w,discardTestId:T,expandedSections:E,onUndo:D,onRedo:O,canUndo:k,canRedo:A,undoLabel:ee=`Undo`,redoLabel:j=`Redo`}){let[te,M]=(0,a.useState)({});if(!e)return null;let N=(e,t)=>{M(n=>({...n,[e]:!(n[e]??t??!1)}))},ne=(e,t)=>E&&E.includes(e)?!1:te[e]??t??!1;return(0,o.jsxs)(`div`,{ref:_,"data-testid":x??`config-panel`,role:v,"aria-label":y,tabIndex:b,style:m,className:B(`absolute inset-y-0 right-0 w-full sm:w-[var(--config-panel-width,280px)] sm:relative border-l bg-background flex flex-col shrink-0 z-20`,p),children:[(0,o.jsxs)(`div`,{className:`px-4 py-3 border-b flex items-center justify-between shrink-0`,children:[(0,o.jsx)(`nav`,{"aria-label":`breadcrumb`,children:(0,o.jsx)(`ol`,{className:`flex items-center gap-1 text-xs text-muted-foreground`,children:n.breadcrumb.map((e,t)=>(0,o.jsxs)(a.Fragment,{children:[t>0&&(0,o.jsx)(c.ChevronRight,{className:`h-3 w-3`}),(0,o.jsx)(`li`,{className:B(t===n.breadcrumb.length-1&&`text-foreground font-medium`),children:e})]},t))})}),(0,o.jsxs)(`div`,{className:`flex items-center gap-1`,children:[D&&(0,o.jsx)(W,{size:`sm`,variant:`ghost`,onClick:D,disabled:!k,className:`h-7 w-7 p-0`,"data-testid":`config-panel-undo`,title:ee,children:(0,o.jsx)(c.Undo2,{className:`h-3.5 w-3.5`})}),O&&(0,o.jsx)(W,{size:`sm`,variant:`ghost`,onClick:O,disabled:!A,className:`h-7 w-7 p-0`,"data-testid":`config-panel-redo`,title:j,children:(0,o.jsx)(c.Redo2,{className:`h-3.5 w-3.5`})}),d,(0,o.jsx)(W,{size:`sm`,variant:`ghost`,onClick:t,className:`h-7 w-7 p-0`,"data-testid":`config-panel-close`,title:S,children:(0,o.jsx)(c.X,{className:`h-3.5 w-3.5`})})]})]}),(0,o.jsx)(`div`,{className:`flex-1 overflow-auto px-4 pb-4`,children:n.sections.map((e,t)=>{if(e.visibleWhen&&!e.visibleWhen(r))return null;let n=ne(e.key,e.defaultCollapsed);return(0,o.jsxs)(`div`,{"data-testid":`config-section-${e.key}`,children:[t>0&&(0,o.jsx)(Ur,{className:`my-3`}),(0,o.jsx)(eo,{title:e.title,icon:e.icon,collapsible:e.collapsible,collapsed:n,onToggle:()=>N(e.key,e.defaultCollapsed),testId:`section-header-${e.key}`}),e.hint&&(0,o.jsx)(`p`,{className:`text-[10px] text-muted-foreground mb-1`,children:e.hint}),!n&&(0,o.jsxs)(`div`,{className:`space-y-1`,children:[e.fields.map(e=>(0,o.jsx)($a,{field:e,value:r[e.key],onChange:t=>s(e.key,t),draft:r,objectDef:f},e.key)),e.subsections?.map(e=>{if(e.visibleWhen&&!e.visibleWhen(r))return null;let t=ne(e.key,e.defaultCollapsed);return(0,o.jsxs)(`div`,{"data-testid":`config-subsection-${e.key}`,className:`ml-1`,role:`group`,"aria-label":e.title,children:[(0,o.jsx)(eo,{title:e.title,icon:e.icon,collapsible:e.collapsible,collapsed:t,onToggle:()=>N(e.key,e.defaultCollapsed),testId:`section-header-${e.key}`,className:`pt-2 pb-1`}),!t&&(0,o.jsx)(`div`,{className:`space-y-1`,children:e.fields.map(e=>(0,o.jsx)($a,{field:e,value:r[e.key],onChange:t=>s(e.key,t),draft:r,objectDef:f},e.key))})]},e.key)})]})]},e.key)})}),i&&(0,o.jsxs)(`div`,{className:`px-4 py-2 border-t flex gap-2 shrink-0`,"data-testid":C??`config-panel-footer`,children:[(0,o.jsxs)(W,{size:`sm`,onClick:l,"data-testid":w??`config-panel-save`,children:[(0,o.jsx)(c.Save,{className:`h-3.5 w-3.5 mr-1`}),h]}),(0,o.jsxs)(W,{size:`sm`,variant:`ghost`,onClick:u,"data-testid":T??`config-panel-discard`,children:[(0,o.jsx)(c.RotateCcw,{className:`h-3.5 w-3.5 mr-1`}),g]})]})]})}function no({date:e,onDateChange:t,placeholder:n=`Pick a date`,className:r,disabled:i}){return(0,o.jsxs)(Tr,{children:[(0,o.jsx)(Er,{asChild:!0,children:(0,o.jsxs)(W,{variant:`outline`,className:B(`w-[280px] justify-start text-left font-normal`,!e&&`text-muted-foreground`,r),disabled:i,children:[(0,o.jsx)(c.CalendarIcon,{className:`mr-2 h-4 w-4`}),e?(0,ce.format)(e,`PPP`):(0,o.jsx)(`span`,{children:n})]})}),(0,o.jsx)(Dr,{className:`w-auto p-0`,children:(0,o.jsx)(Je,{mode:`single`,selected:e,onSelect:t,initialFocus:!0})})]})}function ro(){try{let{t:e}=(0,L.useObjectTranslation)(),t=e(`detail.noValue`);return!t||t===`detail.noValue`?`No value`:t}catch{return`No value`}}function io({className:e,...t}){return(0,o.jsx)(`div`,{"data-slot":`empty`,className:B(`flex min-w-0 flex-1 flex-col items-center justify-center gap-6 rounded-lg border-dashed p-6 text-center text-balance md:p-12`,e),...t})}function ao({className:e,...t}){return(0,o.jsx)(`div`,{"data-slot":`empty-header`,className:B(`flex max-w-sm flex-col items-center gap-2 text-center`,e),...t})}var oo=(0,d.cva)(`flex shrink-0 items-center justify-center mb-2 [&_svg]:pointer-events-none [&_svg]:shrink-0`,{variants:{variant:{default:`bg-transparent`,icon:`bg-muted text-foreground flex size-10 shrink-0 items-center justify-center rounded-lg [&_svg:not([class*='size-'])]:size-6`}},defaultVariants:{variant:`default`}});function so({className:e,variant:t=`default`,...n}){return(0,o.jsx)(`div`,{"data-slot":`empty-icon`,"data-variant":t,className:B(oo({variant:t,className:e})),...n})}function co({className:e,...t}){return(0,o.jsx)(`div`,{"data-slot":`empty-title`,className:B(`text-lg font-medium tracking-tight`,e),...t})}function lo({className:e,...t}){return(0,o.jsx)(`div`,{"data-slot":`empty-description`,className:B(`text-muted-foreground [&>a:hover]:text-primary text-sm/relaxed [&>a]:underline [&>a]:underline-offset-4`,e),...t})}function uo({className:e,...t}){return(0,o.jsx)(`div`,{"data-slot":`empty-content`,className:B(`flex w-full max-w-sm min-w-0 flex-col items-center gap-4 text-sm text-balance`,e),...t})}function fo({className:e,glyph:t=`—`,...n}){return(0,o.jsx)(`span`,{"data-slot":`empty-value`,"aria-label":ro(),className:B(`select-none text-muted-foreground/50 no-underline pointer-events-none`,e),...n,children:t})}var po=(0,d.cva)(`space-y-2`),mo=a.forwardRef(({className:e,label:t,description:n,error:r,required:i,htmlFor:s,children:c,...l},d)=>{let f=a.useId(),p=s||f,m=`${p}-description`,h=`${p}-error`;return(0,o.jsxs)(`div`,{ref:d,className:B(po(),e),...l,children:[t&&(0,o.jsx)(K,{htmlFor:p,className:B(r&&`text-destructive`,i&&`after:content-['*'] after:ml-0.5 after:text-destructive`),children:t}),(0,o.jsx)(u.Slot,{id:p,"aria-describedby":[n&&m,r&&h].filter(Boolean).join(` `)||void 0,"aria-invalid":!!r,children:c}),n&&!r&&(0,o.jsx)(`p`,{id:m,className:`text-[0.8rem] text-muted-foreground`,children:n}),r&&(0,o.jsx)(`p`,{id:h,className:`text-[0.8rem] font-medium text-destructive`,children:r})]})});mo.displayName=`Field`;var ho=a.forwardRef(({className:e,startContent:t,endContent:n,children:r,...i},a)=>(0,o.jsxs)(`div`,{ref:a,className:B(`flex w-full items-center rounded-md border border-input bg-transparent ring-offset-background focus-within:ring-2 focus-within:ring-ring focus-within:ring-offset-2`,`has-[[data-invalid]]:border-destructive`,e),...i,children:[t&&(0,o.jsx)(`div`,{className:`flex items-center px-3 text-muted-foreground bg-muted/50 border-r h-full self-stretch rounded-l-md`,children:t}),(0,o.jsx)(`div`,{className:`flex-1 relative [&_input]:border-0 [&_input]:shadow-none [&_input]:focus-visible:ring-0 [&_input]:bg-transparent`,children:r}),n&&(0,o.jsx)(`div`,{className:`flex items-center px-3 text-muted-foreground bg-muted/50 border-l h-full self-stretch rounded-r-md`,children:n})]}));ho.displayName=`InputGroup`;function go({className:e,...t}){return(0,o.jsx)(`div`,{role:`list`,"data-slot":`item-group`,className:B(`group/item-group flex flex-col`,e),...t})}function _o({className:e,...t}){return(0,o.jsx)(Ur,{"data-slot":`item-separator`,orientation:`horizontal`,className:B(`my-0`,e),...t})}var vo=(0,d.cva)(`group/item flex items-center border border-transparent text-sm rounded-md transition-colors [a]:hover:bg-accent/50 [a]:transition-colors duration-100 flex-wrap outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]`,{variants:{variant:{default:`bg-transparent`,outline:`border-border`,muted:`bg-muted/50`},size:{default:`p-4 gap-4 `,sm:`py-3 px-4 gap-2.5`}},defaultVariants:{variant:`default`,size:`default`}});function yo({className:e,variant:t=`default`,size:n=`default`,asChild:r=!1,...i}){return(0,o.jsx)(r?u.Slot:`div`,{"data-slot":`item`,"data-variant":t,"data-size":n,className:B(vo({variant:t,size:n,className:e})),...i})}var bo=(0,d.cva)(`flex shrink-0 items-center justify-center gap-2 group-has-[[data-slot=item-description]]/item:self-start [&_svg]:pointer-events-none group-has-[[data-slot=item-description]]/item:translate-y-0.5`,{variants:{variant:{default:`bg-transparent`,icon:`size-8 border rounded-sm bg-muted [&_svg:not([class*='size-'])]:size-4`,image:`size-10 rounded-sm overflow-hidden [&_img]:size-full [&_img]:object-cover`}},defaultVariants:{variant:`default`}});function xo({className:e,variant:t=`default`,...n}){return(0,o.jsx)(`div`,{"data-slot":`item-media`,"data-variant":t,className:B(bo({variant:t,className:e})),...n})}function So({className:e,...t}){return(0,o.jsx)(`div`,{"data-slot":`item-content`,className:B(`flex flex-1 flex-col gap-1 [&+[data-slot=item-content]]:flex-none`,e),...t})}function Co({className:e,...t}){return(0,o.jsx)(`div`,{"data-slot":`item-title`,className:B(`flex w-fit items-center gap-2 text-sm leading-snug font-medium`,e),...t})}function wo({className:e,...t}){return(0,o.jsx)(`p`,{"data-slot":`item-description`,className:B(`text-muted-foreground line-clamp-2 text-sm leading-normal font-normal text-balance`,`[&>a:hover]:text-primary [&>a]:underline [&>a]:underline-offset-4`,e),...t})}function To({className:e,...t}){return(0,o.jsx)(`div`,{"data-slot":`item-actions`,className:B(`flex items-center gap-2`,e),...t})}function Eo({className:e,...t}){return(0,o.jsx)(`div`,{"data-slot":`item-header`,className:B(`flex basis-full items-center justify-between gap-2`,e),...t})}function Do({className:e,...t}){return(0,o.jsx)(`div`,{"data-slot":`item-footer`,className:B(`flex basis-full items-center justify-between gap-2`,e),...t})}function Oo({className:e,...t}){return(0,o.jsx)(`kbd`,{"data-slot":`kbd`,className:B(`bg-muted text-muted-foreground pointer-events-none inline-flex h-5 w-fit min-w-5 items-center justify-center gap-1 rounded-sm px-1 font-sans text-xs font-medium select-none`,`[&_svg:not([class*='size-'])]:size-3`,`[[data-slot=tooltip-content]_&]:bg-background/20 [[data-slot=tooltip-content]_&]:text-background dark:[[data-slot=tooltip-content]_&]:bg-background/10`,e),...t})}function ko({className:e,...t}){return(0,o.jsx)(`kbd`,{"data-slot":`kbd-group`,className:B(`inline-flex items-center gap-1`,e),...t})}var Ao=a.forwardRef(({className:e,children:t,...n},r)=>(0,o.jsx)(`select`,{className:B(`flex h-10 w-full items-center justify-between rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50`,e),ref:r,...n,children:t}));Ao.displayName=`NativeSelect`;function jo(e){if(e!=null)return typeof e==`number`?`${e}px`:e}function Mo(e){let t=jo(e);return t?{"--ov-w":t}:{}}var No=360,Po=.95;function Fo(e){let[t,n]=a.default.useState(null),r=a.default.useRef(!1);return a.default.useEffect(()=>{if(!(!e||typeof window>`u`))try{let t=window.localStorage.getItem(`ov:${e}`);if(!t)return;let r=Number(t);Number.isFinite(r)&&r>=No&&n(r)}catch{}},[e]),{width:t,handleMouseDown:a.default.useCallback(t=>{if(!e||typeof window>`u`)return;t.preventDefault(),r.current=!0;let i=Math.floor(window.innerWidth*Po);document.body.style.cursor=`col-resize`,document.body.style.userSelect=`none`;let a=e=>{r.current&&n(Math.min(i,Math.max(No,window.innerWidth-e.clientX)))},o=()=>{r.current=!1,document.body.style.cursor=``,document.body.style.userSelect=``,window.removeEventListener(`mousemove`,a),window.removeEventListener(`mouseup`,o),n(t=>{if(t!=null)try{window.localStorage.setItem(`ov:${e}`,String(t))}catch{}return t})};window.addEventListener(`mousemove`,a),window.addEventListener(`mouseup`,o)},[e]),handleDoubleClick:a.default.useCallback(()=>{if(!(!e||typeof window>`u`)){n(null);try{window.localStorage.removeItem(`ov:${e}`)}catch{}}},[e]),enabled:!!e}}var Io=({isOpen:e,selectedRecord:t,mode:n,close:r,setIsOpen:i,width:a,view:s,title:l,description:u,className:d,children:f,renderView:p,mainContent:m,popoverTrigger:h,onExpand:g,expandLabel:_=`Open as full page`,storageKey:v})=>{if(n===`page`||n===`new_window`||n===`none`||!t)return null;let y=Mo(a),b=l||`Record Detail`,x=Fo(n===`drawer`?v:void 0),S=jo(a)??`42rem`,C=x.width==null?{"--ov-w":`max(${S}, min(60vw, 880px))`}:{"--ov-w":`${x.width}px`},w=e=>p&&s?p(e,s):f(e);if(n===`drawer`)return(0,o.jsx)(Wr,{open:e,onOpenChange:i,children:(0,o.jsxs)(Xr,{side:`right`,className:B(`w-screen max-w-none sm:w-full sm:max-w-[var(--ov-w,42rem)] p-0 flex flex-col gap-0 overflow-hidden`,`[&>button:last-of-type]:hidden`,d),style:C,children:[x.enabled&&(0,o.jsx)(`div`,{role:`separator`,"aria-orientation":`vertical`,"aria-label":`Resize drawer`,onMouseDown:x.handleMouseDown,onDoubleClick:x.handleDoubleClick,className:`hidden sm:block absolute left-0 top-0 bottom-0 z-30 w-1 cursor-col-resize bg-transparent hover:bg-primary/40 active:bg-primary/60 transition-colors`,style:{touchAction:`none`}}),(0,o.jsxs)(Zr,{className:`shrink-0 flex-row items-center justify-between gap-2 space-y-0 px-4 py-2 border-b bg-muted/30`,children:[(0,o.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,o.jsx)($r,{className:`truncate text-xs font-medium tracking-wide text-muted-foreground`,children:b}),u&&(0,o.jsx)(ei,{className:`truncate text-xs`,children:u})]}),(0,o.jsxs)(`div`,{className:`flex shrink-0 items-center gap-0.5`,children:[g&&(0,o.jsx)(`button`,{type:`button`,onClick:g,"aria-label":_,title:_,className:`inline-flex h-7 w-7 items-center justify-center rounded-md text-muted-foreground transition-colors hover:bg-accent hover:text-foreground focus:outline-none focus-visible:ring-2 focus-visible:ring-ring`,children:(0,o.jsx)(c.Maximize2,{className:`h-3.5 w-3.5`})}),(0,o.jsx)(Kr,{asChild:!0,children:(0,o.jsx)(`button`,{type:`button`,"aria-label":`Close`,title:`Close`,className:`inline-flex h-7 w-7 items-center justify-center rounded-md text-muted-foreground transition-colors hover:bg-accent hover:text-foreground focus:outline-none focus-visible:ring-2 focus-visible:ring-ring`,children:(0,o.jsx)(c.X,{className:`h-3.5 w-3.5`})})})]})]}),(0,o.jsx)(`div`,{className:`flex-1 min-h-0 overflow-y-auto`,children:w(t)})]})});if(n===`modal`)return(0,o.jsx)(Ct,{open:e,onOpenChange:i,children:(0,o.jsxs)(Ot,{className:B(`w-[calc(100vw-1rem)] max-w-none sm:max-w-[var(--ov-w,42rem)] max-h-[90vh] overflow-y-auto`,d),style:y,children:[g&&(0,o.jsx)(`button`,{type:`button`,onClick:g,"aria-label":_,title:_,className:`absolute right-12 top-4 z-10 inline-flex h-7 w-7 items-center justify-center rounded-md text-muted-foreground hover:bg-accent hover:text-accent-foreground transition-colors`,children:(0,o.jsx)(c.Maximize2,{className:`h-4 w-4`})}),(0,o.jsxs)(kt,{children:[(0,o.jsx)(jt,{children:b}),u&&(0,o.jsx)(Mt,{children:u})]}),(0,o.jsx)(`div`,{className:`mt-4`,children:w(t)})]})});if(n===`split`){if(!e||!m)return null;let n=a&&typeof a==`number`?Math.min(70,Math.max(20,a/1200*100)):40,i=100-n;return(0,o.jsxs)(jr,{direction:`horizontal`,className:B(`h-full`,d),children:[(0,o.jsx)(Mr,{defaultSize:i,minSize:30,children:m}),(0,o.jsx)(Nr,{withHandle:!0}),(0,o.jsx)(Mr,{defaultSize:n,minSize:20,children:(0,o.jsxs)(`div`,{className:`h-full overflow-y-auto p-4`,children:[(0,o.jsxs)(`div`,{className:`flex items-center justify-between mb-4`,children:[(0,o.jsx)(`h3`,{className:`text-lg font-semibold`,children:b}),(0,o.jsx)(`button`,{onClick:r,className:`rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2`,"aria-label":`Close panel`,children:(0,o.jsxs)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`16`,height:`16`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,o.jsx)(`line`,{x1:`18`,y1:`6`,x2:`6`,y2:`18`}),(0,o.jsx)(`line`,{x1:`6`,y1:`6`,x2:`18`,y2:`18`})]})})]}),u&&(0,o.jsx)(`p`,{className:`text-sm text-muted-foreground mb-4`,children:u}),w(t)]})})]})}return n===`popover`?h?(0,o.jsxs)(Tr,{open:e,onOpenChange:i,children:[h&&(0,o.jsx)(Er,{asChild:!0,children:h}),(0,o.jsx)(Dr,{className:B(`w-96 max-h-[400px] overflow-y-auto p-4`,d),style:y,children:(0,o.jsxs)(`div`,{className:`space-y-2`,children:[(0,o.jsx)(`h4`,{className:`text-sm font-semibold`,children:b}),u&&(0,o.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:u}),w(t)]})})]}):e?(0,o.jsx)(Ct,{open:e,onOpenChange:i,children:(0,o.jsxs)(Ot,{className:B(`w-96 max-h-[80vh] overflow-y-auto p-4`,d),style:y,children:[(0,o.jsxs)(kt,{children:[(0,o.jsx)(jt,{className:`text-sm`,children:b}),u&&(0,o.jsx)(Mt,{className:`text-xs`,children:u})]}),(0,o.jsx)(`div`,{className:`mt-2`,children:w(t)})]})}):null:null};Io.displayName=`NavigationOverlay`;function Lo({className:e,...t}){return(0,o.jsx)(`div`,{role:`status`,"aria-label":`Loading`,className:B(`flex items-center justify-center`,e),...t,children:(0,o.jsx)(c.Loader2,{className:`animate-spin text-muted-foreground w-full h-full min-w-4 min-h-4`})})}var Ro={addGroup:`Add group field`,collapseTitle:`Collapsed by default`,removeTitle:`Remove`,ascendingTitle:`Ascending`,descendingTitle:`Descending`};function zo({value:e,onChange:t,fieldOptions:n,maxLevels:r=3,className:i,labels:a}){let s={...Ro,...a||{}},l=e?.fields??[],u=new Set(l.map(e=>e.field)),d=e=>{t(e.length?{fields:e}:void 0)};return(0,o.jsxs)(`div`,{"data-testid":`grouping-editor`,className:B(`flex flex-col gap-1.5 w-full`,i),children:[l.map((e,t)=>(0,o.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,o.jsx)(`select`,{"data-testid":`grouping-field-${t}`,className:`text-xs h-7 rounded-md border border-input bg-background px-2 text-foreground flex-1 min-w-0`,value:e.field,onChange:n=>{let r=[...l];r[t]={...e,field:n.target.value},d(r)},children:n.filter(t=>t.value===e.field||!u.has(t.value)).map(e=>(0,o.jsx)(`option`,{value:e.value,children:e.label},e.value))}),(0,o.jsx)(`button`,{type:`button`,title:e.order===`asc`?s.ascendingTitle:s.descendingTitle,"data-testid":`grouping-order-${t}`,className:`flex h-7 w-7 items-center justify-center rounded-md border border-input bg-background text-foreground hover:bg-muted`,onClick:()=>{let n=[...l];n[t]={...e,order:e.order===`asc`?`desc`:`asc`},d(n)},children:e.order===`asc`?(0,o.jsx)(c.ArrowUp,{className:`h-3 w-3`}):(0,o.jsx)(c.ArrowDown,{className:`h-3 w-3`})}),(0,o.jsx)(`label`,{title:s.collapseTitle,className:`flex items-center text-xs text-muted-foreground`,children:(0,o.jsx)(`input`,{type:`checkbox`,"data-testid":`grouping-collapsed-${t}`,className:`h-3 w-3`,checked:e.collapsed,onChange:n=>{let r=[...l];r[t]={...e,collapsed:n.target.checked},d(r)}})}),(0,o.jsx)(`button`,{type:`button`,title:s.removeTitle,"data-testid":`grouping-remove-${t}`,className:`flex h-7 w-7 items-center justify-center rounded-md border border-input bg-background text-muted-foreground hover:bg-muted hover:text-destructive`,onClick:()=>{d(l.filter((e,n)=>n!==t))},children:(0,o.jsx)(c.X,{className:`h-3 w-3`})})]},t)),l.length<r&&(()=>{let e=n.filter(e=>!u.has(e.value));return e.length===0?null:(0,o.jsxs)(`button`,{type:`button`,"data-testid":`grouping-add`,className:`flex h-7 items-center gap-1 self-start rounded-md border border-dashed border-input bg-background px-2 text-xs text-muted-foreground hover:bg-muted hover:text-foreground`,onClick:()=>{d([...l,{field:e[0].value,order:`asc`,collapsed:!1}])},children:[(0,o.jsx)(c.Plus,{className:`h-3 w-3`}),s.addGroup]})})()]})}var Bo=({params:e,open:t,onSubmit:n,onCancel:r,title:i=`Action Parameters`,description:s=`Please provide the required parameters.`})=>{let[c,l]=(0,a.useState)(()=>{let t={};return e.forEach(e=>{e.defaultValue===void 0?t[e.name]=e.type===`boolean`?!1:``:t[e.name]=e.defaultValue}),t}),[u,d]=(0,a.useState)({}),f=(0,a.useCallback)((e,t)=>{l(n=>({...n,[e]:t})),d(t=>{let n={...t};return delete n[e],n})},[]),p=(0,a.useCallback)(()=>{let t={};if(e.forEach(e=>{if(e.required){let n=c[e.name];(n==null||n===``)&&(t[e.name]=`${e.label} is required`)}}),Object.keys(t).length>0){d(t);return}n(c)},[e,c,n]);return(0,o.jsx)(Ct,{open:t,onOpenChange:e=>{e||r()},children:(0,o.jsxs)(Ot,{className:`sm:max-w-[425px]`,children:[(0,o.jsxs)(kt,{children:[(0,o.jsx)(jt,{children:i}),(0,o.jsx)(Mt,{children:s})]}),(0,o.jsx)(`div`,{className:`space-y-4 py-4`,children:e.map(e=>{let t=c[e.name],n=u[e.name];switch(e.type){case`textarea`:return(0,o.jsxs)(`div`,{className:`space-y-2`,children:[(0,o.jsxs)(K,{htmlFor:e.name,children:[e.label,e.required&&(0,o.jsx)(`span`,{className:`text-destructive ml-1`,children:`*`})]}),(0,o.jsx)(ea,{id:e.name,value:t||``,onChange:t=>f(e.name,t.target.value),placeholder:e.placeholder}),e.helpText&&(0,o.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:e.helpText}),n&&(0,o.jsx)(`p`,{className:`text-sm text-destructive`,children:n})]},e.name);case`number`:return(0,o.jsxs)(`div`,{className:`space-y-2`,children:[(0,o.jsxs)(K,{htmlFor:e.name,children:[e.label,e.required&&(0,o.jsx)(`span`,{className:`text-destructive ml-1`,children:`*`})]}),(0,o.jsx)(q,{id:e.name,type:`number`,value:t??``,onChange:t=>f(e.name,Number.isNaN(t.target.valueAsNumber)?``:t.target.valueAsNumber),placeholder:e.placeholder}),e.helpText&&(0,o.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:e.helpText}),n&&(0,o.jsx)(`p`,{className:`text-sm text-destructive`,children:n})]},e.name);case`boolean`:return(0,o.jsxs)(`div`,{className:`flex items-center space-x-2`,children:[(0,o.jsx)(yt,{id:e.name,checked:!!t,onCheckedChange:t=>f(e.name,!!t)}),(0,o.jsx)(K,{htmlFor:e.name,children:e.label}),e.helpText&&(0,o.jsx)(`p`,{className:`text-sm text-muted-foreground ml-2`,children:e.helpText})]},e.name);case`select`:return(0,o.jsxs)(`div`,{className:`space-y-2`,children:[(0,o.jsxs)(K,{htmlFor:e.name,children:[e.label,e.required&&(0,o.jsx)(`span`,{className:`text-destructive ml-1`,children:`*`})]}),(0,o.jsxs)(Ir,{value:t||``,onValueChange:t=>f(e.name,t),children:[(0,o.jsx)(J,{children:(0,o.jsx)(Rr,{placeholder:e.placeholder||`Select...`})}),(0,o.jsx)(Y,{children:e.options?.map(e=>(0,o.jsx)(X,{value:e.value,children:e.label},e.value))})]}),e.helpText&&(0,o.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:e.helpText}),n&&(0,o.jsx)(`p`,{className:`text-sm text-destructive`,children:n})]},e.name);case`date`:return(0,o.jsxs)(`div`,{className:`space-y-2`,children:[(0,o.jsxs)(K,{htmlFor:e.name,children:[e.label,e.required&&(0,o.jsx)(`span`,{className:`text-destructive ml-1`,children:`*`})]}),(0,o.jsx)(q,{id:e.name,type:`date`,value:t||``,onChange:t=>f(e.name,t.target.value)}),e.helpText&&(0,o.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:e.helpText}),n&&(0,o.jsx)(`p`,{className:`text-sm text-destructive`,children:n})]},e.name);default:return(0,o.jsxs)(`div`,{className:`space-y-2`,children:[(0,o.jsxs)(K,{htmlFor:e.name,children:[e.label,e.required&&(0,o.jsx)(`span`,{className:`text-destructive ml-1`,children:`*`})]}),(0,o.jsx)(q,{id:e.name,type:`text`,value:t||``,onChange:t=>f(e.name,t.target.value),placeholder:e.placeholder}),e.helpText&&(0,o.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:e.helpText}),n&&(0,o.jsx)(`p`,{className:`text-sm text-destructive`,children:n})]},e.name)}})}),(0,o.jsxs)(At,{children:[(0,o.jsx)(W,{variant:`outline`,onClick:r,children:`Cancel`}),(0,o.jsx)(W,{onClick:p,children:`Continue`})]})]})})};Bo.displayName=`ActionParamDialog`;function Vo({rows:e=5,columns:t=4,className:n,...r}){return(0,o.jsxs)(`div`,{"data-slot":`grid-skeleton`,className:B(`w-full space-y-2`,n),...r,children:[(0,o.jsx)(`div`,{className:`flex gap-4 px-4 py-2`,children:Array.from({length:t}).map((e,t)=>(0,o.jsx)(Z,{className:`h-4 flex-1 rounded`},t))}),Array.from({length:e}).map((e,n)=>(0,o.jsx)(`div`,{className:`flex gap-4 rounded-md border px-4 py-3`,children:Array.from({length:t}).map((e,t)=>(0,o.jsx)(Z,{className:B(`h-4 flex-1 rounded`,t===0&&`max-w-[40%]`)},t))},n))]})}function Ho({columns:e=3,cardsPerColumn:t=3,className:n,...r}){return(0,o.jsx)(`div`,{"data-slot":`kanban-skeleton`,className:B(`flex gap-4 overflow-x-auto`,n),...r,children:Array.from({length:e}).map((e,n)=>(0,o.jsxs)(`div`,{className:`flex w-72 shrink-0 flex-col gap-3 rounded-lg border bg-muted/30 p-3`,children:[(0,o.jsx)(Z,{className:`h-5 w-24 rounded`}),Array.from({length:t}).map((e,t)=>(0,o.jsxs)(`div`,{className:`space-y-2 rounded-md border bg-background p-3`,children:[(0,o.jsx)(Z,{className:`h-4 w-3/4 rounded`}),(0,o.jsx)(Z,{className:`h-3 w-1/2 rounded`})]},t))]},n))})}function Uo({rows:e=4,className:t,...n}){return(0,o.jsxs)(`div`,{"data-slot":`form-skeleton`,className:B(`w-full max-w-lg space-y-6`,t),...n,children:[Array.from({length:e}).map((e,t)=>(0,o.jsxs)(`div`,{className:`space-y-2`,children:[(0,o.jsx)(Z,{className:`h-4 w-28 rounded`}),(0,o.jsx)(Z,{className:`h-9 w-full rounded-md`})]},t)),(0,o.jsx)(Z,{className:`h-9 w-24 rounded-md`})]})}function Wo({rows:e=5,className:t,...n}){return(0,o.jsx)(`div`,{"data-slot":`list-skeleton`,className:B(`w-full space-y-3`,t),...n,children:Array.from({length:e}).map((e,t)=>(0,o.jsxs)(`div`,{className:`flex items-center gap-3 rounded-md border px-4 py-3`,children:[(0,o.jsx)(Z,{className:`size-8 shrink-0 rounded-full`}),(0,o.jsxs)(`div`,{className:`flex-1 space-y-2`,children:[(0,o.jsx)(Z,{className:`h-4 w-3/5 rounded`}),(0,o.jsx)(Z,{className:`h-3 w-2/5 rounded`})]})]},t))})}function Go({className:e,...t}){return(0,o.jsxs)(`div`,{"data-slot":`chart-skeleton`,className:B(`w-full space-y-4`,e),...t,children:[(0,o.jsx)(Z,{className:`h-5 w-40 rounded`}),(0,o.jsx)(`div`,{className:`flex h-48 items-end gap-2 rounded-md border p-4`,children:[`h-2/5`,`h-3/5`,`h-1/3`,`h-4/5`,`h-1/2`,`h-3/4`,`h-2/5`].map((e,t)=>(0,o.jsx)(Z,{className:B(`flex-1 rounded-t`,e)},t))}),(0,o.jsxs)(`div`,{className:`flex gap-4`,children:[(0,o.jsx)(Z,{className:`h-3 w-16 rounded`}),(0,o.jsx)(Z,{className:`h-3 w-16 rounded`}),(0,o.jsx)(Z,{className:`h-3 w-16 rounded`})]})]})}function Ko({variant:e,...t}){switch(e){case`grid`:return(0,o.jsx)(Vo,{...t});case`kanban`:return(0,o.jsx)(Ho,{...t});case`form`:return(0,o.jsx)(Uo,{...t});case`list`:return(0,o.jsx)(Wo,{...t});case`chart`:return(0,o.jsx)(Go,{...t})}}var qo={"zh-CN":{addToFavorites:`加入收藏`,removeFromFavorites:`从收藏移除`,copyRecordId:`复制记录 ID`,copied:`已复制`},"zh-TW":{addToFavorites:`加入收藏`,removeFromFavorites:`從收藏移除`,copyRecordId:`複製記錄 ID`,copied:`已複製`}},Jo=()=>{if(typeof document<`u`){let e=document.documentElement?.lang;if(e)return e}return typeof navigator<`u`&&navigator.language?navigator.language:`en`},Yo=(e,t)=>{let n=Jo(),r=qo[n],i=n.split(`-`)[0],a=r||(i===`zh`?qo[`zh-CN`]:void 0);return a&&a[e]||t},Xo=({title:e,icon:t,objectLabel:n,resourceId:r,showStar:i=!0,showCopyId:s=!0,isFavorite:l,onToggleFavorite:u,className:d,inlineExtras:f})=>{let[p,m]=a.default.useState(!1),[h,g]=a.default.useState(!1),_=l??p,v=a.default.useCallback(()=>{let e=!_;u&&u(e),l===void 0&&m(e)},[_,l,u]),y=a.default.useCallback(()=>{if(r)try{typeof navigator<`u`&&navigator.clipboard&&navigator.clipboard.writeText(r),g(!0),setTimeout(()=>g(!1),1500)}catch{}},[r]),b=_?Yo(`removeFromFavorites`,`Remove from favourites`):Yo(`addToFavorites`,`Add to favourites`),x=h?Yo(`copied`,`Copied`):Yo(`copyRecordId`,`Copy record ID`);return(0,o.jsx)(ri,{children:(0,o.jsx)(`div`,{className:B(`flex flex-col min-w-0`,d),children:(0,o.jsxs)(`div`,{className:`flex items-baseline gap-2 flex-wrap`,children:[t&&(0,o.jsx)(`span`,{className:`text-muted-foreground shrink-0 self-center`,"aria-hidden":!0,children:t}),(0,o.jsx)(`h1`,{className:`text-xl sm:text-2xl font-bold truncate`,children:e}),n&&(0,o.jsx)(`span`,{className:`text-xs font-medium tracking-wide text-muted-foreground/70 shrink-0`,children:n}),s&&r&&(0,o.jsxs)(ii,{children:[(0,o.jsx)(ai,{asChild:!0,children:(0,o.jsx)(W,{variant:`ghost`,size:`icon`,className:`h-5 w-5 shrink-0 text-muted-foreground/50 hover:text-foreground`,onClick:y,"aria-label":x,children:h?(0,o.jsx)(c.Check,{className:`h-3 w-3 text-green-600`}):(0,o.jsx)(c.Copy,{className:`h-3 w-3`})})}),(0,o.jsx)(oi,{children:x})]}),i&&(0,o.jsxs)(ii,{children:[(0,o.jsx)(ai,{asChild:!0,children:(0,o.jsx)(W,{variant:`ghost`,size:`icon`,className:`h-6 w-6 shrink-0`,onClick:v,"aria-label":b,"aria-pressed":_,children:(0,o.jsx)(c.Star,{className:B(`h-4 w-4`,_?`fill-yellow-400 text-yellow-400`:`text-muted-foreground`)})})}),(0,o.jsx)(oi,{children:b})]}),f]})})})},Zo=!1;function Qo(){if(Zo||typeof document>`u`)return;let e=`objui-refresh-indicator-kf`;if(document.getElementById(e)){Zo=!0;return}let t=document.createElement(`style`);t.id=e,t.textContent=`
|
|
13
|
+
`)}}):null},mt=g.Tooltip,ht=a.forwardRef(({active:e,payload:t,className:n,indicator:r=`dot`,hideLabel:i=!1,hideIndicator:s=!1,label:c,labelFormatter:l,labelClassName:u,formatter:d,color:f,nameKey:p,labelKey:m},h)=>{let{config:g}=dt(),_=a.useMemo(()=>{if(i||!t?.length)return null;let[e]=t,n=vt(g,e,`${m||e?.dataKey||e?.name||`value`}`),r=!m&&typeof c==`string`?g[c]?.label||c:n?.label;return l?(0,o.jsx)(`div`,{className:B(`font-medium`,u),children:l(r,t)}):r?(0,o.jsx)(`div`,{className:B(`font-medium`,u),children:r}):null},[c,l,t,i,u,g,m]);if(!e||!t?.length)return null;let v=t.length===1&&r!==`dot`;return(0,o.jsxs)(`div`,{ref:h,className:B(`grid min-w-[8rem] items-start gap-1.5 rounded-lg border border-border/50 bg-background px-2.5 py-1.5 text-xs shadow-xl`,n),children:[v?null:_,(0,o.jsx)(`div`,{className:`grid gap-1.5`,children:t.filter(e=>e.type!==`none`).map((e,t)=>{let n=vt(g,e,`${p||e.name||e.dataKey||`value`}`),i=f||e.payload.fill||e.color;return(0,o.jsx)(`div`,{className:B(`flex w-full flex-wrap items-stretch gap-2 [&>svg]:h-2.5 [&>svg]:w-2.5 [&>svg]:text-muted-foreground`,r===`dot`&&`items-center`),children:d&&e?.value!==void 0&&e.name?d(e.value,e.name,e,t,e.payload):(0,o.jsxs)(o.Fragment,{children:[n?.icon?(0,o.jsx)(n.icon,{}):!s&&(0,o.jsx)(`div`,{className:B(`shrink-0 rounded-[2px] border-(--color-border) bg-(--color-bg)`,{"h-2.5 w-2.5":r===`dot`,"w-1":r===`line`,"w-0 border-[1.5px] border-dashed bg-transparent":r===`dashed`,"my-0.5":v&&r===`dashed`}),style:{"--color-bg":i,"--color-border":i}}),(0,o.jsxs)(`div`,{className:B(`flex flex-1 justify-between leading-none`,v?`items-end`:`items-center`),children:[(0,o.jsxs)(`div`,{className:`grid gap-1.5`,children:[v?_:null,(0,o.jsx)(`span`,{className:`text-muted-foreground`,children:n?.label||e.name})]}),e.value&&(0,o.jsx)(`span`,{className:`font-mono font-medium tabular-nums text-foreground`,children:e.value.toLocaleString()})]})]})},e.dataKey)})})]})});ht.displayName=`ChartTooltip`;var gt=g.Legend,_t=a.forwardRef(({className:e,hideIcon:t=!1,payload:n,verticalAlign:r=`bottom`,nameKey:i},a)=>{let{config:s}=dt();return n?.length?(0,o.jsx)(`div`,{ref:a,className:B(`flex items-center justify-center gap-4`,r===`top`?`pb-3`:`pt-3`,e),children:n.filter(e=>e.type!==`none`).map(e=>{let n=vt(s,e,`${i||e.dataKey||`value`}`);return(0,o.jsxs)(`div`,{className:B(`flex items-center gap-1.5 [&>svg]:h-3 [&>svg]:w-3 [&>svg]:text-muted-foreground`),children:[n?.icon&&!t?(0,o.jsx)(n.icon,{}):(0,o.jsx)(`div`,{className:`h-2 w-2 shrink-0 rounded-[2px]`,style:{backgroundColor:e.color}}),n?.label]},e.value)})}):null});_t.displayName=`ChartLegend`;function vt(e,t,n){if(typeof t!=`object`||!t)return;let r=`payload`in t&&typeof t.payload==`object`&&t.payload!==null?t.payload:void 0,i=n;return n in t&&typeof t[n]==`string`?i=t[n]:r&&n in r&&typeof r[n]==`string`&&(i=r[n]),i in e?e[i]:e[n]}var yt=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(_.Root,{ref:n,className:B(`grid place-content-center peer h-4 w-4 shrink-0 rounded-sm border border-primary ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground`,e),...t,children:(0,o.jsx)(_.Indicator,{className:B(`grid place-content-center text-current`),children:(0,o.jsx)(c.Check,{className:`h-4 w-4`})})}));yt.displayName=_.Root.displayName;var bt=v.Root,xt=v.CollapsibleTrigger,St=v.CollapsibleContent,Ct=b.Root,wt=b.Trigger,Tt=b.Portal,Et=b.Close,Dt=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(b.Overlay,{ref:n,className:B(`fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0`,e),...t}));Dt.displayName=b.Overlay.displayName;var Ot=a.forwardRef(({className:e,children:t,...n},r)=>(0,o.jsxs)(Tt,{children:[(0,o.jsx)(Dt,{}),(0,o.jsxs)(b.Content,{ref:r,className:B(`fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg`,e),...n,children:[t,(0,o.jsxs)(b.Close,{className:`absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground`,children:[(0,o.jsx)(c.X,{className:`h-4 w-4`}),(0,o.jsx)(`span`,{className:`sr-only`,children:`Close`})]})]})]}));Ot.displayName=b.Content.displayName;var kt=({className:e,...t})=>(0,o.jsx)(`div`,{className:B(`flex flex-col space-y-1.5 text-center sm:text-left`,e),...t});kt.displayName=`DialogHeader`;var At=({className:e,...t})=>(0,o.jsx)(`div`,{className:B(`flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2`,e),...t});At.displayName=`DialogFooter`;var jt=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(b.Title,{ref:n,className:B(`text-lg font-semibold leading-none tracking-tight`,e),...t}));jt.displayName=b.Title.displayName;var Mt=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(b.Description,{ref:n,className:B(`text-sm text-muted-foreground`,e),...t}));Mt.displayName=b.Description.displayName;var Nt=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(y.Command,{ref:n,className:B(`flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground`,e),...t}));Nt.displayName=y.Command.displayName;var Pt=({children:e,...t})=>(0,o.jsx)(Ct,{...t,children:(0,o.jsx)(Ot,{className:`overflow-hidden p-0 shadow-lg`,children:(0,o.jsx)(Nt,{className:`[&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-group]]:px-2 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5`,children:e})})}),Ft=a.forwardRef(({className:e,...t},n)=>(0,o.jsxs)(`div`,{className:`flex items-center border-b px-3`,"cmdk-input-wrapper":``,children:[(0,o.jsx)(c.Search,{className:`mr-2 h-4 w-4 shrink-0 opacity-50`}),(0,o.jsx)(y.Command.Input,{ref:n,className:B(`flex h-11 w-full rounded-md bg-transparent py-3 text-sm outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50`,e),...t})]}));Ft.displayName=y.Command.Input.displayName;var It=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(y.Command.List,{ref:n,className:B(`max-h-[300px] overflow-y-auto overflow-x-hidden`,e),...t}));It.displayName=y.Command.List.displayName;var Lt=a.forwardRef((e,t)=>(0,o.jsx)(y.Command.Empty,{ref:t,className:`py-6 text-center text-sm`,...e}));Lt.displayName=y.Command.Empty.displayName;var Rt=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(y.Command.Group,{ref:n,className:B(`overflow-hidden p-1 text-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground`,e),...t}));Rt.displayName=y.Command.Group.displayName;var zt=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(y.Command.Separator,{ref:n,className:B(`-mx-1 h-px bg-border`,e),...t}));zt.displayName=y.Command.Separator.displayName;var Bt=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(y.Command.Item,{ref:n,className:B(`relative flex cursor-default gap-2 select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none data-[disabled=true]:pointer-events-none data-[selected='true']:bg-accent data-[selected=true]:text-accent-foreground data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0`,e),...t}));Bt.displayName=y.Command.Item.displayName;var Vt=({className:e,...t})=>(0,o.jsx)(`span`,{className:B(`ml-auto text-xs tracking-widest text-muted-foreground`,e),...t});Vt.displayName=`CommandShortcut`;var Ht=x.Root,Ut=x.Trigger,Wt=x.Group,Gt=x.Portal,Kt=x.Sub,qt=x.RadioGroup,Jt=a.forwardRef(({className:e,inset:t,children:n,...r},i)=>(0,o.jsxs)(x.SubTrigger,{ref:i,className:B(`flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground`,t&&`pl-8`,e),...r,children:[n,(0,o.jsx)(c.ChevronRight,{className:`ml-auto h-4 w-4`})]}));Jt.displayName=x.SubTrigger.displayName;var Yt=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(x.SubContent,{ref:n,className:B(`z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-(--radix-context-menu-content-transform-origin)`,e),...t}));Yt.displayName=x.SubContent.displayName;var Xt=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(x.Portal,{children:(0,o.jsx)(x.Content,{ref:n,className:B(`z-50 max-h-(--radix-context-menu-content-available-height) min-w-[8rem] overflow-y-auto overflow-x-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md animate-in fade-in-80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-(--radix-context-menu-content-transform-origin)`,e),...t})}));Xt.displayName=x.Content.displayName;var Zt=a.forwardRef(({className:e,inset:t,...n},r)=>(0,o.jsx)(x.Item,{ref:r,className:B(`relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50`,t&&`pl-8`,e),...n}));Zt.displayName=x.Item.displayName;var Qt=a.forwardRef(({className:e,children:t,checked:n,...r},i)=>(0,o.jsxs)(x.CheckboxItem,{ref:i,className:B(`relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50`,e),checked:n,...r,children:[(0,o.jsx)(`span`,{className:`absolute left-2 flex h-3.5 w-3.5 items-center justify-center`,children:(0,o.jsx)(x.ItemIndicator,{children:(0,o.jsx)(c.Check,{className:`h-4 w-4`})})}),t]}));Qt.displayName=x.CheckboxItem.displayName;var $t=a.forwardRef(({className:e,children:t,...n},r)=>(0,o.jsxs)(x.RadioItem,{ref:r,className:B(`relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50`,e),...n,children:[(0,o.jsx)(`span`,{className:`absolute left-2 flex h-3.5 w-3.5 items-center justify-center`,children:(0,o.jsx)(x.ItemIndicator,{children:(0,o.jsx)(c.Circle,{className:`h-2 w-2 fill-current`})})}),t]}));$t.displayName=x.RadioItem.displayName;var en=a.forwardRef(({className:e,inset:t,...n},r)=>(0,o.jsx)(x.Label,{ref:r,className:B(`px-2 py-1.5 text-sm font-semibold text-foreground`,t&&`pl-8`,e),...n}));en.displayName=x.Label.displayName;var tn=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(x.Separator,{ref:n,className:B(`-mx-1 my-1 h-px bg-border`,e),...t}));tn.displayName=x.Separator.displayName;var nn=({className:e,...t})=>(0,o.jsx)(`span`,{className:B(`ml-auto text-xs tracking-widest text-muted-foreground`,e),...t});nn.displayName=`ContextMenuShortcut`;var rn=({shouldScaleBackground:e=!0,...t})=>(0,o.jsx)(S.Drawer.Root,{shouldScaleBackground:e,...t});rn.displayName=`Drawer`;var an=S.Drawer.Trigger,on=S.Drawer.Portal,sn=S.Drawer.Close,cn=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(S.Drawer.Overlay,{ref:n,className:B(`fixed inset-0 z-50 bg-black/80`,e),...t}));cn.displayName=S.Drawer.Overlay.displayName;var ln=a.forwardRef(({className:e,children:t,...n},r)=>(0,o.jsxs)(on,{children:[(0,o.jsx)(cn,{}),(0,o.jsxs)(S.Drawer.Content,{ref:r,className:B(`fixed inset-x-0 bottom-0 z-50 mt-24 flex h-auto flex-col rounded-t-[10px] border bg-background`,e),...n,children:[(0,o.jsx)(`div`,{className:`mx-auto mt-4 h-2 w-[100px] rounded-full bg-muted`}),t]})]}));ln.displayName=`DrawerContent`;var un=({className:e,...t})=>(0,o.jsx)(`div`,{className:B(`grid gap-1.5 p-4 text-center sm:text-left`,e),...t});un.displayName=`DrawerHeader`;var dn=({className:e,...t})=>(0,o.jsx)(`div`,{className:B(`mt-auto flex flex-col gap-2 p-4`,e),...t});dn.displayName=`DrawerFooter`;var fn=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(S.Drawer.Title,{ref:n,className:B(`text-lg font-semibold leading-none tracking-tight`,e),...t}));fn.displayName=S.Drawer.Title.displayName;var pn=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(S.Drawer.Description,{ref:n,className:B(`text-sm text-muted-foreground`,e),...t}));pn.displayName=S.Drawer.Description.displayName;var mn=C.Root,hn=C.Trigger,gn=C.Group,_n=C.Portal,vn=C.Sub,yn=C.RadioGroup,bn=a.forwardRef(({className:e,inset:t,children:n,...r},i)=>(0,o.jsxs)(C.SubTrigger,{ref:i,className:B(`flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent data-[state=open]:bg-accent [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0`,t&&`pl-8`,e),...r,children:[n,(0,o.jsx)(c.ChevronRight,{className:`ml-auto`})]}));bn.displayName=C.SubTrigger.displayName;var xn=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(C.SubContent,{ref:n,className:B(`z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-(--radix-dropdown-menu-content-transform-origin)`,e),...t}));xn.displayName=C.SubContent.displayName;var Sn=a.forwardRef(({className:e,sideOffset:t=4,...n},r)=>(0,o.jsx)(C.Portal,{children:(0,o.jsx)(C.Content,{ref:r,sideOffset:t,className:B(`z-50 max-h-[var(--radix-dropdown-menu-content-available-height)] min-w-[8rem] overflow-y-auto overflow-x-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-(--radix-dropdown-menu-content-transform-origin)`,e),...n})}));Sn.displayName=C.Content.displayName;var Cn=a.forwardRef(({className:e,inset:t,...n},r)=>(0,o.jsx)(C.Item,{ref:r,className:B(`relative flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0`,t&&`pl-8`,e),...n}));Cn.displayName=C.Item.displayName;var wn=a.forwardRef(({className:e,children:t,checked:n,...r},i)=>(0,o.jsxs)(C.CheckboxItem,{ref:i,className:B(`relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50`,e),checked:n,...r,children:[(0,o.jsx)(`span`,{className:`absolute left-2 flex h-3.5 w-3.5 items-center justify-center`,children:(0,o.jsx)(C.ItemIndicator,{children:(0,o.jsx)(c.Check,{className:`h-4 w-4`})})}),t]}));wn.displayName=C.CheckboxItem.displayName;var Tn=a.forwardRef(({className:e,children:t,...n},r)=>(0,o.jsxs)(C.RadioItem,{ref:r,className:B(`relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50`,e),...n,children:[(0,o.jsx)(`span`,{className:`absolute left-2 flex h-3.5 w-3.5 items-center justify-center`,children:(0,o.jsx)(C.ItemIndicator,{children:(0,o.jsx)(c.Circle,{className:`h-2 w-2 fill-current`})})}),t]}));Tn.displayName=C.RadioItem.displayName;var En=a.forwardRef(({className:e,inset:t,...n},r)=>(0,o.jsx)(C.Label,{ref:r,className:B(`px-2 py-1.5 text-sm font-semibold`,t&&`pl-8`,e),...n}));En.displayName=C.Label.displayName;var Dn=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(C.Separator,{ref:n,className:B(`-mx-1 my-1 h-px bg-muted`,e),...t}));Dn.displayName=C.Separator.displayName;var On=({className:e,...t})=>(0,o.jsx)(`span`,{className:B(`ml-auto text-xs tracking-widest opacity-60`,e),...t});On.displayName=`DropdownMenuShortcut`;var kn=(0,d.cva)(`text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70`),K=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(T.Root,{ref:n,className:B(kn(),e),...t}));K.displayName=T.Root.displayName;var An=w.FormProvider,jn=a.createContext(null),Mn=({...e})=>(0,o.jsx)(jn.Provider,{value:{name:e.name},children:(0,o.jsx)(w.Controller,{...e})}),Nn=()=>{let e=a.useContext(jn),t=a.useContext(Pn),{getFieldState:n,formState:r}=(0,w.useFormContext)();if(!e)throw Error(`useFormField should be used within <FormField>`);if(!t)throw Error(`useFormField should be used within <FormItem>`);let i=n(e.name,r),{id:o}=t;return{id:o,name:e.name,formItemId:`${o}-form-item`,formDescriptionId:`${o}-form-item-description`,formMessageId:`${o}-form-item-message`,...i}},Pn=a.createContext(null),Fn=a.forwardRef(({className:e,...t},n)=>{let r=a.useId();return(0,o.jsx)(Pn.Provider,{value:{id:r},children:(0,o.jsx)(`div`,{ref:n,className:B(`space-y-2`,e),...t})})});Fn.displayName=`FormItem`;var In=a.forwardRef(({className:e,...t},n)=>{let{error:r,formItemId:i}=Nn();return(0,o.jsx)(K,{ref:n,className:B(r&&`text-destructive`,e),htmlFor:i,...t})});In.displayName=`FormLabel`;var Ln=a.forwardRef(({...e},t)=>{let{error:n,formItemId:r,formDescriptionId:i,formMessageId:a}=Nn();return(0,o.jsx)(u.Slot,{ref:t,id:r,"aria-describedby":n?`${i} ${a}`:`${i}`,"aria-invalid":!!n,...e})});Ln.displayName=`FormControl`;var Rn=a.forwardRef(({className:e,...t},n)=>{let{formDescriptionId:r}=Nn();return(0,o.jsx)(`p`,{ref:n,id:r,className:B(`text-sm text-muted-foreground`,e),...t})});Rn.displayName=`FormDescription`;var zn=a.forwardRef(({className:e,children:t,...n},r)=>{let{error:i,formMessageId:a}=Nn(),s=i?String(i?.message??``):t;return s?(0,o.jsx)(`p`,{ref:r,id:a,className:B(`text-sm font-medium text-destructive`,e),...n,children:s}):null});zn.displayName=`FormMessage`;var Bn=E.Root,Vn=E.Trigger,Hn=a.forwardRef(({className:e,align:t=`center`,sideOffset:n=4,...r},i)=>(0,o.jsx)(E.Content,{ref:i,align:t,sideOffset:n,className:B(`z-50 w-64 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-(--radix-hover-card-content-transform-origin)`,e),...r}));Hn.displayName=E.Content.displayName;var Un=a.forwardRef(({className:e,containerClassName:t,...n},r)=>(0,o.jsx)(D.OTPInput,{ref:r,containerClassName:B(`flex items-center gap-2 has-[:disabled]:opacity-50`,t),className:B(`disabled:cursor-not-allowed`,e),...n}));Un.displayName=`InputOTP`;var Wn=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(`div`,{ref:n,className:B(`flex items-center`,e),...t}));Wn.displayName=`InputOTPGroup`;var Gn=a.forwardRef(({index:e,className:t,...n},r)=>{let{char:i,hasFakeCaret:s,isActive:c}=a.useContext(D.OTPInputContext).slots[e];return(0,o.jsxs)(`div`,{ref:r,className:B(`relative flex h-10 w-10 items-center justify-center border-y border-r border-input text-sm transition-all first:rounded-l-md first:border-l last:rounded-r-md`,c&&`z-10 ring-2 ring-ring ring-offset-background`,t),...n,children:[i,s&&(0,o.jsx)(`div`,{className:`pointer-events-none absolute inset-0 flex items-center justify-center`,children:(0,o.jsx)(`div`,{className:`h-4 w-px animate-caret-blink bg-foreground duration-1000`})})]})});Gn.displayName=`InputOTPSlot`;var Kn=a.forwardRef(({...e},t)=>(0,o.jsx)(`div`,{ref:t,role:`separator`,...e,children:(0,o.jsx)(c.Dot,{})}));Kn.displayName=`InputOTPSeparator`;var q=a.forwardRef(({className:e,type:t,...n},r)=>(0,o.jsx)(`input`,{type:t,className:B(`flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-base ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm`,e),ref:r,...n}));q.displayName=`Input`;function qn({...e}){return(0,o.jsx)(O.Menu,{...e})}function Jn({...e}){return(0,o.jsx)(O.Group,{...e})}function Yn({...e}){return(0,o.jsx)(O.Portal,{...e})}function Xn({...e}){return(0,o.jsx)(O.RadioGroup,{...e})}function Zn({...e}){return(0,o.jsx)(O.Sub,{"data-slot":`menubar-sub`,...e})}var Qn=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(O.Root,{ref:n,className:B(`flex h-10 items-center space-x-1 rounded-md border bg-background p-1`,e),...t}));Qn.displayName=O.Root.displayName;var $n=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(O.Trigger,{ref:n,className:B(`flex cursor-default select-none items-center rounded-sm px-3 py-1.5 text-sm font-medium outline-none focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground`,e),...t}));$n.displayName=O.Trigger.displayName;var er=a.forwardRef(({className:e,inset:t,children:n,...r},i)=>(0,o.jsxs)(O.SubTrigger,{ref:i,className:B(`flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground`,t&&`pl-8`,e),...r,children:[n,(0,o.jsx)(c.ChevronRight,{className:`ml-auto h-4 w-4`})]}));er.displayName=O.SubTrigger.displayName;var tr=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(O.SubContent,{ref:n,className:B(`z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-(--radix-menubar-content-transform-origin)`,e),...t}));tr.displayName=O.SubContent.displayName;var nr=a.forwardRef(({className:e,align:t=`start`,alignOffset:n=-4,sideOffset:r=8,...i},a)=>(0,o.jsx)(O.Portal,{children:(0,o.jsx)(O.Content,{ref:a,align:t,alignOffset:n,sideOffset:r,className:B(`z-50 min-w-[12rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-(--radix-menubar-content-transform-origin)`,e),...i})}));nr.displayName=O.Content.displayName;var rr=a.forwardRef(({className:e,inset:t,...n},r)=>(0,o.jsx)(O.Item,{ref:r,className:B(`relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50`,t&&`pl-8`,e),...n}));rr.displayName=O.Item.displayName;var ir=a.forwardRef(({className:e,children:t,checked:n,...r},i)=>(0,o.jsxs)(O.CheckboxItem,{ref:i,className:B(`relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50`,e),checked:n,...r,children:[(0,o.jsx)(`span`,{className:`absolute left-2 flex h-3.5 w-3.5 items-center justify-center`,children:(0,o.jsx)(O.ItemIndicator,{children:(0,o.jsx)(c.Check,{className:`h-4 w-4`})})}),t]}));ir.displayName=O.CheckboxItem.displayName;var ar=a.forwardRef(({className:e,children:t,...n},r)=>(0,o.jsxs)(O.RadioItem,{ref:r,className:B(`relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50`,e),...n,children:[(0,o.jsx)(`span`,{className:`absolute left-2 flex h-3.5 w-3.5 items-center justify-center`,children:(0,o.jsx)(O.ItemIndicator,{children:(0,o.jsx)(c.Circle,{className:`h-2 w-2 fill-current`})})}),t]}));ar.displayName=O.RadioItem.displayName;var or=a.forwardRef(({className:e,inset:t,...n},r)=>(0,o.jsx)(O.Label,{ref:r,className:B(`px-2 py-1.5 text-sm font-semibold`,t&&`pl-8`,e),...n}));or.displayName=O.Label.displayName;var sr=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(O.Separator,{ref:n,className:B(`-mx-1 my-1 h-px bg-muted`,e),...t}));sr.displayName=O.Separator.displayName;var cr=({className:e,...t})=>(0,o.jsx)(`span`,{className:B(`ml-auto text-xs tracking-widest text-muted-foreground`,e),...t});cr.displayname=`MenubarShortcut`;var lr=a.forwardRef(({className:e,children:t,...n},r)=>(0,o.jsxs)(k.Root,{ref:r,className:B(`relative z-10 flex max-w-max flex-1 items-center justify-center`,e),...n,children:[t,(0,o.jsx)(gr,{})]}));lr.displayName=k.Root.displayName;var ur=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(k.List,{ref:n,className:B(`group flex flex-1 list-none items-center justify-center space-x-1`,e),...t}));ur.displayName=k.List.displayName;var dr=k.Item,fr=(0,d.cva)(`group inline-flex h-10 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus:outline-none disabled:pointer-events-none disabled:opacity-50 data-[state=open]:text-accent-foreground data-[state=open]:bg-accent/50 data-[state=open]:hover:bg-accent data-[state=open]:focus:bg-accent`),pr=a.forwardRef(({className:e,children:t,...n},r)=>(0,o.jsxs)(k.Trigger,{ref:r,className:B(fr(),`group`,e),...n,children:[t,` `,(0,o.jsx)(c.ChevronDown,{className:`relative top-[1px] ml-1 h-3 w-3 transition duration-200 group-data-[state=open]:rotate-180`,"aria-hidden":`true`})]}));pr.displayName=k.Trigger.displayName;var mr=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(k.Content,{ref:n,className:B(`left-0 top-0 w-full data-[motion^=from-]:animate-in data-[motion^=to-]:animate-out data-[motion^=from-]:fade-in data-[motion^=to-]:fade-out data-[motion=from-end]:slide-in-from-right-52 data-[motion=from-start]:slide-in-from-left-52 data-[motion=to-end]:slide-out-to-right-52 data-[motion=to-start]:slide-out-to-left-52 md:absolute md:w-auto `,e),...t}));mr.displayName=k.Content.displayName;var hr=k.Link,gr=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(`div`,{className:B(`absolute left-0 top-full flex justify-center`),children:(0,o.jsx)(k.Viewport,{className:B(`origin-top-center relative mt-1.5 h-[var(--radix-navigation-menu-viewport-height)] w-full overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-90 md:w-[var(--radix-navigation-menu-viewport-width)]`,e),ref:n,...t})}));gr.displayName=k.Viewport.displayName;var _r=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(k.Indicator,{ref:n,className:B(`top-full z-[1] flex h-1.5 items-end justify-center overflow-hidden data-[state=visible]:animate-in data-[state=hidden]:animate-out data-[state=hidden]:fade-out data-[state=visible]:fade-in`,e),...t,children:(0,o.jsx)(`div`,{className:`relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm bg-border shadow-md`})}));_r.displayName=k.Indicator.displayName;var vr=({className:e,...t})=>(0,o.jsx)(`nav`,{role:`navigation`,"aria-label":`pagination`,className:B(`mx-auto flex w-full justify-center`,e),...t});vr.displayName=`Pagination`;var yr=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(`ul`,{ref:n,className:B(`flex flex-row items-center gap-1`,e),...t}));yr.displayName=`PaginationContent`;var br=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(`li`,{ref:n,className:B(``,e),...t}));br.displayName=`PaginationItem`;var xr=({className:e,isActive:t,size:n=`icon`,...r})=>(0,o.jsx)(`a`,{"aria-current":t?`page`:void 0,className:B(U({variant:t?`outline`:`ghost`,size:n}),e),...r});xr.displayName=`PaginationLink`;var Sr=({className:e,...t})=>(0,o.jsxs)(xr,{"aria-label":`Go to previous page`,size:`default`,className:B(`gap-1 pl-2.5`,e),...t,children:[(0,o.jsx)(c.ChevronLeft,{className:`h-4 w-4`}),(0,o.jsx)(`span`,{children:`Previous`})]});Sr.displayName=`PaginationPrevious`;var Cr=({className:e,...t})=>(0,o.jsxs)(xr,{"aria-label":`Go to next page`,size:`default`,className:B(`gap-1 pr-2.5`,e),...t,children:[(0,o.jsx)(`span`,{children:`Next`}),(0,o.jsx)(c.ChevronRight,{className:`h-4 w-4`})]});Cr.displayName=`PaginationNext`;var wr=({className:e,...t})=>(0,o.jsxs)(`span`,{"aria-hidden":!0,className:B(`flex h-9 w-9 items-center justify-center`,e),...t,children:[(0,o.jsx)(c.MoreHorizontal,{className:`h-4 w-4`}),(0,o.jsx)(`span`,{className:`sr-only`,children:`More pages`})]});wr.displayName=`PaginationEllipsis`;var Tr=A.Root,Er=A.Trigger,Dr=a.forwardRef(({className:e,align:t=`center`,sideOffset:n=4,...r},i)=>(0,o.jsx)(A.Portal,{children:(0,o.jsx)(A.Content,{ref:i,align:t,sideOffset:n,className:B(`z-50 w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-(--radix-popover-content-transform-origin)`,e),...r})}));Dr.displayName=A.Content.displayName;var Or=a.forwardRef(({className:e,value:t,...n},r)=>(0,o.jsx)(ee.Root,{ref:r,className:B(`relative h-4 w-full overflow-hidden rounded-full bg-secondary`,e),...n,children:(0,o.jsx)(ee.Indicator,{className:`h-full w-full flex-1 bg-primary transition-all`,style:{transform:`translateX(-${100-(t||0)}%)`}})}));Or.displayName=ee.Root.displayName;var kr=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(j.Root,{className:B(`grid gap-2`,e),...t,ref:n}));kr.displayName=j.Root.displayName;var Ar=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(j.Item,{ref:n,className:B(`aspect-square h-4 w-4 rounded-full border border-primary text-primary ring-offset-background focus:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50`,e),...t,children:(0,o.jsx)(j.Indicator,{className:`flex items-center justify-center`,children:(0,o.jsx)(c.Circle,{className:`h-2.5 w-2.5 fill-current text-current`})})}));Ar.displayName=j.Item.displayName;var jr=({className:e,...t})=>(0,o.jsx)(te.Group,{className:B(`flex h-full w-full data-[panel-group-direction=vertical]:flex-col`,e),...t}),Mr=te.Panel,Nr=({withHandle:e,className:t,...n})=>(0,o.jsx)(te.Separator,{className:B(`relative flex w-px items-center justify-center bg-border after:absolute after:inset-y-0 after:left-1/2 after:w-1 after:-translate-x-1/2 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring focus-visible:ring-offset-1 data-[panel-group-direction=vertical]:h-px data-[panel-group-direction=vertical]:w-full data-[panel-group-direction=vertical]:after:left-0 data-[panel-group-direction=vertical]:after:h-1 data-[panel-group-direction=vertical]:after:w-full data-[panel-group-direction=vertical]:after:-translate-y-1/2 data-[panel-group-direction=vertical]:after:translate-x-0 [&[data-panel-group-direction=vertical]>div]:rotate-90`,t),...n,children:e&&(0,o.jsx)(`div`,{className:`z-10 flex h-4 w-3 items-center justify-center rounded-sm border bg-border`,children:(0,o.jsx)(c.GripVertical,{className:`h-2.5 w-2.5`})})}),Pr=a.forwardRef(({className:e,children:t,...n},r)=>(0,o.jsxs)(M.Root,{ref:r,className:B(`relative overflow-hidden`,e),...n,children:[(0,o.jsx)(M.Viewport,{className:`h-full w-full rounded-[inherit]`,children:t}),(0,o.jsx)(Fr,{}),(0,o.jsx)(M.Corner,{})]}));Pr.displayName=M.Root.displayName;var Fr=a.forwardRef(({className:e,orientation:t=`vertical`,...n},r)=>(0,o.jsx)(M.ScrollAreaScrollbar,{ref:r,orientation:t,className:B(`flex touch-none select-none transition-colors`,t===`vertical`&&`h-full w-2.5 border-l border-l-transparent p-[1px]`,t===`horizontal`&&`h-2.5 flex-col border-t border-t-transparent p-[1px]`,e),...n,children:(0,o.jsx)(M.ScrollAreaThumb,{className:`relative flex-1 rounded-full bg-border`})}));Fr.displayName=M.ScrollAreaScrollbar.displayName;var Ir=N.Root,Lr=N.Group,Rr=N.Value,J=a.forwardRef(({className:e,children:t,...n},r)=>(0,o.jsxs)(N.Trigger,{ref:r,className:B(`flex h-10 w-full items-center justify-between rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background data-[placeholder]:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1`,e),...n,children:[t,(0,o.jsx)(N.Icon,{asChild:!0,children:(0,o.jsx)(c.ChevronDown,{className:`h-4 w-4 opacity-50`})})]}));J.displayName=N.Trigger.displayName;var zr=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(N.ScrollUpButton,{ref:n,className:B(`flex cursor-default items-center justify-center py-1`,e),...t,children:(0,o.jsx)(c.ChevronUp,{className:`h-4 w-4`})}));zr.displayName=N.ScrollUpButton.displayName;var Br=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(N.ScrollDownButton,{ref:n,className:B(`flex cursor-default items-center justify-center py-1`,e),...t,children:(0,o.jsx)(c.ChevronDown,{className:`h-4 w-4`})}));Br.displayName=N.ScrollDownButton.displayName;var Y=a.forwardRef(({className:e,children:t,position:n=`popper`,...r},i)=>(0,o.jsx)(N.Portal,{children:(0,o.jsxs)(N.Content,{ref:i,className:B(`relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] overflow-y-auto overflow-x-hidden rounded-md border bg-popover text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-(--radix-select-content-transform-origin)`,n===`popper`&&`data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1`,e),position:n,...r,children:[(0,o.jsx)(zr,{}),(0,o.jsx)(N.Viewport,{className:B(`p-1`,n===`popper`&&`h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]`),children:t}),(0,o.jsx)(Br,{})]})}));Y.displayName=N.Content.displayName;var Vr=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(N.Label,{ref:n,className:B(`py-1.5 pl-8 pr-2 text-sm font-semibold`,e),...t}));Vr.displayName=N.Label.displayName;var X=a.forwardRef(({className:e,children:t,...n},r)=>(0,o.jsxs)(N.Item,{ref:r,className:B(`relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50`,e),...n,children:[(0,o.jsx)(`span`,{className:`absolute left-2 flex h-3.5 w-3.5 items-center justify-center`,children:(0,o.jsx)(N.ItemIndicator,{children:(0,o.jsx)(c.Check,{className:`h-4 w-4`})})}),(0,o.jsx)(N.ItemText,{children:t})]}));X.displayName=N.Item.displayName;var Hr=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(N.Separator,{ref:n,className:B(`-mx-1 my-1 h-px bg-muted`,e),...t}));Hr.displayName=N.Separator.displayName;var Ur=a.forwardRef(({className:e,orientation:t=`horizontal`,decorative:n=!0,...r},i)=>(0,o.jsx)(ne.Root,{ref:i,decorative:n,orientation:t,className:B(`shrink-0 bg-border`,t===`horizontal`?`h-[1px] w-full`:`h-full w-[1px]`,e),...r}));Ur.displayName=ne.Root.displayName;var Wr=b.Root,Gr=b.Trigger,Kr=b.Close,qr=b.Portal,Jr=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(b.Overlay,{className:B(`fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0`,e),...t,ref:n}));Jr.displayName=b.Overlay.displayName;var Yr=(0,d.cva)(`fixed z-50 gap-4 bg-background p-6 shadow-lg transition ease-in-out data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:duration-300 data-[state=open]:duration-500`,{variants:{side:{top:`inset-x-0 top-0 border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top`,bottom:`inset-x-0 bottom-0 border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom`,left:`inset-y-0 left-0 h-full w-3/4 border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm`,right:`inset-y-0 right-0 h-full w-3/4 border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm`}},defaultVariants:{side:`right`}}),Xr=a.forwardRef(({side:e=`right`,className:t,children:n,hideOverlay:r,...i},a)=>(0,o.jsxs)(qr,{children:[!r&&(0,o.jsx)(Jr,{}),(0,o.jsxs)(b.Content,{ref:a,className:B(Yr({side:e}),t),...i,children:[n,(0,o.jsxs)(b.Close,{className:`absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-secondary`,children:[(0,o.jsx)(c.X,{className:`h-4 w-4`}),(0,o.jsx)(`span`,{className:`sr-only`,children:`Close`})]})]})]}));Xr.displayName=b.Content.displayName;var Zr=({className:e,...t})=>(0,o.jsx)(`div`,{className:B(`flex flex-col space-y-2 text-center sm:text-left`,e),...t});Zr.displayName=`SheetHeader`;var Qr=({className:e,...t})=>(0,o.jsx)(`div`,{className:B(`flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2`,e),...t});Qr.displayName=`SheetFooter`;var $r=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(b.Title,{ref:n,className:B(`text-lg font-semibold text-foreground`,e),...t}));$r.displayName=b.Title.displayName;var ei=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(b.Description,{ref:n,className:B(`text-sm text-muted-foreground`,e),...t}));ei.displayName=b.Description.displayName;var ti=768;function ni(){let[e,t]=a.useState(void 0);return a.useEffect(()=>{let e=window.matchMedia(`(max-width: ${ti-1}px)`),n=()=>{t(window.innerWidth<ti)};return e.addEventListener(`change`,n),t(window.innerWidth<ti),()=>e.removeEventListener(`change`,n)},[]),!!e}function Z({className:e,...t}){return(0,o.jsx)(`div`,{className:B(`animate-pulse rounded-md bg-muted`,e),...t})}var ri=P.Provider,ii=P.Root,ai=P.Trigger,oi=a.forwardRef(({className:e,sideOffset:t=4,...n},r)=>(0,o.jsx)(P.Content,{ref:r,sideOffset:t,className:B(`z-50 overflow-hidden rounded-md border bg-popover px-3 py-1.5 text-sm text-popover-foreground shadow-md animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-(--radix-tooltip-content-transform-origin)`,e),...n}));oi.displayName=P.Content.displayName;var si=`sidebar_state`,ci=3600*24*7,li=`16rem`,ui=`18rem`,di=`3rem`,fi=`b`,pi=a.createContext(null);function mi(){let e=a.useContext(pi);if(!e)throw Error(`useSidebar must be used within a SidebarProvider.`);return e}var hi=a.forwardRef(({defaultOpen:e=!0,open:t,onOpenChange:n,className:r,style:i,children:s,...c},l)=>{let u=ni(),[d,f]=a.useState(!1),[p,m]=a.useState(e),h=t??p,g=a.useCallback(e=>{let t=typeof e==`function`?e(h):e;n?n(t):m(t),document.cookie=`${si}=${t}; path=/; max-age=${ci}`},[n,h]),_=a.useCallback(()=>u?f(e=>!e):g(e=>!e),[u,g,f]);a.useEffect(()=>{let e=e=>{e.key===fi&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),_())};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[_]);let v=h?`expanded`:`collapsed`,y=a.useMemo(()=>({state:v,open:h,setOpen:g,isMobile:u,openMobile:d,setOpenMobile:f,toggleSidebar:_}),[v,h,g,u,d,f,_]);return(0,o.jsx)(pi.Provider,{value:y,children:(0,o.jsx)(ri,{delayDuration:0,children:(0,o.jsx)(`div`,{style:{"--sidebar-width":li,"--sidebar-width-icon":di,...i},className:B(`group/sidebar-wrapper flex min-h-svh w-full has-[[data-variant=inset]]:bg-sidebar`,r),ref:l,...c,children:s})})})});hi.displayName=`SidebarProvider`;var gi=a.forwardRef(({side:e=`left`,variant:t=`sidebar`,collapsible:n=`offcanvas`,className:r,children:i,...a},s)=>{let{isMobile:c,state:l,openMobile:u,setOpenMobile:d}=mi();return n===`none`?(0,o.jsx)(`div`,{className:B(`flex h-full w-(--sidebar-width) flex-col bg-sidebar text-sidebar-foreground`,r),ref:s,...a,children:i}):c?(0,o.jsx)(Wr,{open:u,onOpenChange:d,...a,children:(0,o.jsxs)(Xr,{"data-sidebar":`sidebar`,"data-mobile":`true`,className:`w-(--sidebar-width) bg-sidebar p-0 text-sidebar-foreground [&>button]:hidden`,style:{"--sidebar-width":ui},side:e,children:[(0,o.jsxs)(Zr,{className:`sr-only`,children:[(0,o.jsx)($r,{children:`Sidebar`}),(0,o.jsx)(ei,{children:`Displays the mobile sidebar.`})]}),(0,o.jsx)(`div`,{className:`flex h-full w-full flex-col`,children:i})]})}):(0,o.jsxs)(`div`,{ref:s,className:`group peer hidden text-sidebar-foreground md:block`,"data-state":l,"data-collapsible":n,"data-variant":t,"data-side":e,children:[(0,o.jsx)(`div`,{className:B(`relative w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear`,`group-data-[collapsible=offcanvas]:w-0`,`group-data-[side=right]:rotate-180`,t===`floating`||t===`inset`?`group-data-[state=collapsed]:group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_1rem)]`:`group-data-[state=collapsed]:group-data-[collapsible=icon]:w-(--sidebar-width-icon)`)}),(0,o.jsx)(`div`,{className:B(`fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear md:flex`,e===`left`?`left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]`:`right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]`,t===`floating`||t===`inset`?`p-2 group-data-[state=collapsed]:group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_1rem_+_2px)]`:`group-data-[state=collapsed]:group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l`,r),...a,children:(0,o.jsx)(`div`,{"data-sidebar":`sidebar`,className:`flex h-full w-full flex-col bg-sidebar group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:border-sidebar-border group-data-[variant=floating]:shadow`,children:i})})]})});gi.displayName=`Sidebar`;var _i=a.forwardRef(({className:e,onClick:t,...n},r)=>{let{toggleSidebar:i}=mi();return(0,o.jsxs)(W,{ref:r,"data-sidebar":`trigger`,variant:`ghost`,size:`icon`,className:B(`h-7 w-7`,e),onClick:e=>{t?.(e),i()},...n,children:[(0,o.jsx)(c.PanelLeft,{}),(0,o.jsx)(`span`,{className:`sr-only`,children:`Toggle Sidebar`})]})});_i.displayName=`SidebarTrigger`;var vi=a.forwardRef(({className:e,...t},n)=>{let{toggleSidebar:r}=mi();return(0,o.jsx)(`button`,{ref:n,"data-sidebar":`rail`,"aria-label":`Toggle Sidebar`,tabIndex:-1,onClick:r,title:`Toggle Sidebar`,className:B(`absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] hover:after:bg-sidebar-border group-data-[side=left]:-right-4 group-data-[side=right]:left-0 sm:flex`,`[[data-side=left]_&]:cursor-w-resize [[data-side=right]_&]:cursor-e-resize`,`[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize`,`group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full group-data-[collapsible=offcanvas]:hover:bg-sidebar`,`[[data-side=left][data-collapsible=offcanvas]_&]:-right-2`,`[[data-side=right][data-collapsible=offcanvas]_&]:-left-2`,e),...t})});vi.displayName=`SidebarRail`;var yi=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(`main`,{ref:n,className:B(`relative flex w-full flex-1 flex-col bg-background`,`md:peer-data-[variant=inset]:m-2 md:peer-data-[state=collapsed]:peer-data-[variant=inset]:ml-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow`,e),...t}));yi.displayName=`SidebarInset`;var bi=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(q,{ref:n,"data-sidebar":`input`,className:B(`h-8 w-full bg-background shadow-none focus-visible:ring-2 focus-visible:ring-sidebar-ring`,e),...t}));bi.displayName=`SidebarInput`;var xi=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(`div`,{ref:n,"data-sidebar":`header`,className:B(`flex flex-col gap-2 p-2`,e),...t}));xi.displayName=`SidebarHeader`;var Si=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(`div`,{ref:n,"data-sidebar":`footer`,className:B(`flex flex-col gap-2 p-2`,e),...t}));Si.displayName=`SidebarFooter`;var Ci=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(Ur,{ref:n,"data-sidebar":`separator`,className:B(`mx-2 w-auto bg-sidebar-border`,e),...t}));Ci.displayName=`SidebarSeparator`;var wi=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(`div`,{ref:n,"data-sidebar":`content`,className:B(`flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[state=collapsed]:group-data-[collapsible=icon]:overflow-hidden`,e),...t}));wi.displayName=`SidebarContent`;var Ti=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(`div`,{ref:n,"data-sidebar":`group`,className:B(`relative flex w-full min-w-0 flex-col p-2`,e),...t}));Ti.displayName=`SidebarGroup`;var Ei=a.forwardRef(({className:e,asChild:t=!1,...n},r)=>(0,o.jsx)(t?u.Slot:`div`,{ref:r,"data-sidebar":`group-label`,className:B(`flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium text-sidebar-foreground/70 outline-none ring-sidebar-ring transition-[margin,opacity] duration-200 ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0`,`group-data-[state=collapsed]:group-data-[collapsible=icon]:-mt-8 group-data-[state=collapsed]:group-data-[collapsible=icon]:opacity-0`,e),...n}));Ei.displayName=`SidebarGroupLabel`;var Di=a.forwardRef(({className:e,asChild:t=!1,...n},r)=>(0,o.jsx)(t?u.Slot:`button`,{ref:r,"data-sidebar":`group-action`,className:B(`absolute right-3 top-3.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground outline-none ring-sidebar-ring transition-transform hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0`,`after:absolute after:-inset-2 after:md:hidden`,`group-data-[state=collapsed]:group-data-[collapsible=icon]:hidden`,e),...n}));Di.displayName=`SidebarGroupAction`;var Oi=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(`div`,{ref:n,"data-sidebar":`group-content`,className:B(`w-full text-sm`,e),...t}));Oi.displayName=`SidebarGroupContent`;var ki=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(`ul`,{ref:n,"data-sidebar":`menu`,className:B(`flex w-full min-w-0 flex-col gap-1`,e),...t}));ki.displayName=`SidebarMenu`;var Ai=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(`li`,{ref:n,"data-sidebar":`menu-item`,className:B(`group/menu-item relative`,e),...t}));Ai.displayName=`SidebarMenuItem`;var ji=(0,d.cva)(`peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-none ring-sidebar-ring transition-[width,height,padding] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-[[data-sidebar=menu-action]]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground sidebar-menu-button-icon-mode [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0`,{variants:{variant:{default:`hover:bg-sidebar-accent hover:text-sidebar-accent-foreground`,outline:`bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]`},size:{default:`h-8 text-sm`,sm:`h-7 text-xs`,lg:`h-12 text-sm sidebar-menu-button-icon-mode-lg`}},defaultVariants:{variant:`default`,size:`default`}}),Mi=a.forwardRef(({asChild:e=!1,isActive:t=!1,variant:n=`default`,size:r=`default`,tooltip:i,className:a,...s},c)=>{let l=e?u.Slot:`button`,{isMobile:d,state:f}=mi(),p=(0,o.jsx)(l,{ref:c,"data-sidebar":`menu-button`,"data-size":r,"data-active":t,className:B(ji({variant:n,size:r}),a),...s});return i?(typeof i==`string`&&(i={children:i}),(0,o.jsxs)(ii,{children:[(0,o.jsx)(ai,{asChild:!0,children:p}),(0,o.jsx)(oi,{side:`right`,align:`center`,hidden:f!==`collapsed`||d,...i})]})):p});Mi.displayName=`SidebarMenuButton`;var Ni=a.forwardRef(({className:e,asChild:t=!1,showOnHover:n=!1,...r},i)=>(0,o.jsx)(t?u.Slot:`button`,{ref:i,"data-sidebar":`menu-action`,className:B(`absolute right-1 top-1.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground outline-none ring-sidebar-ring transition-transform hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 peer-hover/menu-button:text-sidebar-accent-foreground [&>svg]:size-4 [&>svg]:shrink-0`,`after:absolute after:-inset-2 after:md:hidden`,`peer-data-[size=sm]/menu-button:top-1`,`peer-data-[size=default]/menu-button:top-1.5`,`peer-data-[size=lg]/menu-button:top-2.5`,`group-data-[state=collapsed]:group-data-[collapsible=icon]:hidden`,n&&`group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-[state=open]:opacity-100 peer-data-[active=true]/menu-button:text-sidebar-accent-foreground md:opacity-0`,e),...r}));Ni.displayName=`SidebarMenuAction`;var Pi=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(`div`,{ref:n,"data-sidebar":`menu-badge`,className:B(`pointer-events-none absolute right-1 flex h-5 min-w-5 select-none items-center justify-center rounded-md px-1 text-xs font-medium tabular-nums text-sidebar-foreground`,`peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[active=true]/menu-button:text-sidebar-accent-foreground`,`peer-data-[size=sm]/menu-button:top-1`,`peer-data-[size=default]/menu-button:top-1.5`,`peer-data-[size=lg]/menu-button:top-2.5`,`group-data-[state=collapsed]:group-data-[collapsible=icon]:hidden`,e),...t}));Pi.displayName=`SidebarMenuBadge`;var Fi=a.forwardRef(({className:e,showIcon:t=!1,...n},r)=>{let i=a.useMemo(()=>`${Math.floor(Math.random()*40)+50}%`,[]);return(0,o.jsxs)(`div`,{ref:r,"data-sidebar":`menu-skeleton`,className:B(`flex h-8 items-center gap-2 rounded-md px-2`,e),...n,children:[t&&(0,o.jsx)(Z,{className:`size-4 rounded-md`,"data-sidebar":`menu-skeleton-icon`}),(0,o.jsx)(Z,{className:`h-4 max-w-(--skeleton-width) flex-1`,"data-sidebar":`menu-skeleton-text`,style:{"--skeleton-width":i}})]})});Fi.displayName=`SidebarMenuSkeleton`;var Ii=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(`ul`,{ref:n,"data-sidebar":`menu-sub`,className:B(`mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l border-sidebar-border px-2.5 py-0.5`,`group-data-[state=collapsed]:group-data-[collapsible=icon]:hidden`,e),...t}));Ii.displayName=`SidebarMenuSub`;var Li=a.forwardRef(({...e},t)=>(0,o.jsx)(`li`,{ref:t,...e}));Li.displayName=`SidebarMenuSubItem`;var Ri=a.forwardRef(({asChild:e=!1,size:t=`md`,isActive:n,className:r,...i},a)=>(0,o.jsx)(e?u.Slot:`a`,{ref:a,"data-sidebar":`menu-sub-button`,"data-size":t,"data-active":n,className:B(`flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 text-sidebar-foreground outline-none ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0 [&>svg]:text-sidebar-accent-foreground`,`data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground`,t===`sm`&&`text-xs`,t===`md`&&`text-sm`,`group-data-[state=collapsed]:group-data-[collapsible=icon]:hidden`,r),...i}));Ri.displayName=`SidebarMenuSubButton`;var zi=a.forwardRef(({className:e,...t},n)=>(0,o.jsxs)(re.Root,{ref:n,className:B(`relative flex w-full touch-none select-none items-center`,e),...t,children:[(0,o.jsx)(re.Track,{className:`relative h-2 w-full grow overflow-hidden rounded-full bg-secondary`,children:(0,o.jsx)(re.Range,{className:`absolute h-full bg-primary`})}),(0,o.jsx)(re.Thumb,{className:`block h-5 w-5 rounded-full border-2 border-primary bg-background ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50`,"aria-label":t[`aria-label`]})]}));zi.displayName=re.Root.displayName;var Bi=({...e})=>{let{theme:t=`system`}=(0,ie.useTheme)();return(0,o.jsx)(F.Toaster,{theme:t,className:`toaster group`,icons:{success:(0,o.jsx)(c.CircleCheck,{className:`h-4 w-4`}),info:(0,o.jsx)(c.Info,{className:`h-4 w-4`}),warning:(0,o.jsx)(c.TriangleAlert,{className:`h-4 w-4`}),error:(0,o.jsx)(c.OctagonX,{className:`h-4 w-4`}),loading:(0,o.jsx)(c.LoaderCircle,{className:`h-4 w-4 animate-spin`})},toastOptions:{classNames:{toast:`group toast group-[.toaster]:bg-background group-[.toaster]:text-foreground group-[.toaster]:border-border group-[.toaster]:shadow-lg`,description:`group-[.toast]:text-muted-foreground`,actionButton:`group-[.toast]:bg-primary group-[.toast]:text-primary-foreground`,cancelButton:`group-[.toast]:bg-muted group-[.toast]:text-muted-foreground`}},...e})},Vi=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(ae.Root,{className:B(`peer inline-flex h-6 w-11 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input`,e),...t,ref:n,children:(0,o.jsx)(ae.Thumb,{className:B(`pointer-events-none block h-5 w-5 rounded-full bg-background shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-5 data-[state=unchecked]:translate-x-0`)})}));Vi.displayName=ae.Root.displayName;var Hi=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(`div`,{className:`relative w-full overflow-auto`,children:(0,o.jsx)(`table`,{ref:n,className:B(`w-full caption-bottom text-sm`,e),...t})}));Hi.displayName=`Table`;var Ui=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(`thead`,{ref:n,className:B(`[&_tr]:border-b`,e),...t}));Ui.displayName=`TableHeader`;var Wi=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(`tbody`,{ref:n,className:B(`[&_tr:last-child]:border-0`,e),...t}));Wi.displayName=`TableBody`;var Gi=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(`tfoot`,{ref:n,className:B(`border-t bg-muted/50 font-medium [&>tr]:last:border-b-0`,e),...t}));Gi.displayName=`TableFooter`;var Ki=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(`tr`,{ref:n,className:B(`border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted`,e),...t}));Ki.displayName=`TableRow`;var qi=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(`th`,{ref:n,className:B(`h-12 px-4 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0`,e),...t}));qi.displayName=`TableHead`;var Ji=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(`td`,{ref:n,className:B(`p-4 align-middle [&:has([role=checkbox])]:pr-0`,e),...t}));Ji.displayName=`TableCell`;var Yi=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(`caption`,{ref:n,className:B(`mt-4 text-sm text-muted-foreground`,e),...t}));Yi.displayName=`TableCaption`;var Xi=oe.Root,Zi=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(oe.List,{ref:n,className:B(`inline-flex h-10 items-center justify-center rounded-md bg-muted p-1 text-muted-foreground`,e),...t}));Zi.displayName=oe.List.displayName;var Qi=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(oe.Trigger,{ref:n,className:B(`inline-flex items-center justify-center whitespace-nowrap rounded-sm px-3 py-1.5 text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-sm`,e),...t}));Qi.displayName=oe.Trigger.displayName;var $i=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(oe.Content,{ref:n,className:B(`mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2`,e),...t}));$i.displayName=oe.Content.displayName;var ea=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(`textarea`,{className:B(`flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2 text-base ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm`,e),ref:n,...t}));ea.displayName=`Textarea`;var ta=(0,d.cva)(`inline-flex items-center justify-center rounded-md text-sm font-medium ring-offset-background transition-colors hover:bg-muted hover:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=on]:bg-accent data-[state=on]:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 gap-2`,{variants:{variant:{default:`bg-transparent`,outline:`border border-input bg-transparent hover:bg-accent hover:text-accent-foreground`},size:{default:`h-10 px-3 min-w-10`,sm:`h-9 px-2.5 min-w-9`,lg:`h-11 px-5 min-w-11`}},defaultVariants:{variant:`default`,size:`default`}}),na=a.forwardRef(({className:e,variant:t,size:n,...r},i)=>(0,o.jsx)(se.Root,{ref:i,className:B(ta({variant:t,size:n,className:e})),...r}));na.displayName=se.Root.displayName;var ra=a.createContext({size:`default`,variant:`default`}),ia=a.forwardRef(({className:e,variant:t,size:n,children:r,...i},a)=>(0,o.jsx)(I.Root,{ref:a,className:B(`flex items-center justify-center gap-1`,e),...i,children:(0,o.jsx)(ra.Provider,{value:{variant:t,size:n},children:r})}));ia.displayName=I.Root.displayName;var aa=a.forwardRef(({className:e,children:t,variant:n,size:r,...i},s)=>{let c=a.useContext(ra);return(0,o.jsx)(I.Item,{ref:s,className:B(ta({variant:c.variant||n,size:c.size||r}),e),...i,children:t})});aa.displayName=I.Item.displayName;var oa=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(`h1`,{ref:n,className:B(`scroll-m-20 text-4xl font-extrabold tracking-tight lg:text-5xl`,e),...t}));oa.displayName=`TypographyH1`;var sa=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(`h2`,{ref:n,className:B(`scroll-m-20 border-b pb-2 text-3xl font-semibold tracking-tight first:mt-0`,e),...t}));sa.displayName=`TypographyH2`;var ca=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(`h3`,{ref:n,className:B(`scroll-m-20 text-2xl font-semibold tracking-tight`,e),...t}));ca.displayName=`TypographyH3`;var la=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(`h4`,{ref:n,className:B(`scroll-m-20 text-xl font-semibold tracking-tight`,e),...t}));la.displayName=`TypographyH4`;var ua=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(`p`,{ref:n,className:B(`leading-7 [&:not(:first-child)]:mt-6`,e),...t}));ua.displayName=`TypographyP`;var da=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(`blockquote`,{ref:n,className:B(`mt-6 border-l-2 pl-6 italic`,e),...t}));da.displayName=`TypographyBlockquote`;var fa=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(`ul`,{ref:n,className:B(`my-6 ml-6 list-disc [&>li]:mt-2`,e),...t}));fa.displayName=`TypographyList`;var pa=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(`code`,{ref:n,className:B(`relative rounded bg-muted px-[0.3rem] py-[0.2rem] font-mono text-sm font-semibold`,e),...t}));pa.displayName=`TypographyInlineCode`;var ma=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(`p`,{ref:n,className:B(`text-xl text-muted-foreground`,e),...t}));ma.displayName=`TypographyLead`;var ha=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(`div`,{ref:n,className:B(`text-lg font-semibold`,e),...t}));ha.displayName=`TypographyLarge`;var ga=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(`small`,{ref:n,className:B(`text-sm font-medium leading-none`,e),...t}));ga.displayName=`TypographySmall`;var _a=a.forwardRef(({className:e,...t},n)=>(0,o.jsx)(`p`,{ref:n,className:B(`text-sm text-muted-foreground`,e),...t}));_a.displayName=`TypographyMuted`;var va=(0,a.forwardRef)(({schema:e,className:t,...n},r)=>{let{"data-obj-id":i,"data-obj-type":a,style:s,...c}=n;return(0,o.jsx)(Ur,{ref:r,orientation:e.orientation,className:t,...c,"data-obj-id":i,"data-obj-type":a,style:s})});t.ComponentRegistry.register(`separator`,va,{namespace:`ui`,label:`Separator`,inputs:[{name:`orientation`,type:`enum`,enum:[`horizontal`,`vertical`],defaultValue:`horizontal`,label:`Orientation`},{name:`className`,type:`string`,label:`CSS Class`}],defaultProps:{orientation:`horizontal`,className:`my-2 sm:my-4`}}),t.ComponentRegistry.register(`image`,({schema:e,className:t,...n})=>{let{"data-obj-id":r,"data-obj-type":i,style:a,...s}=n;return(0,o.jsx)(`img`,{src:e.src,alt:e.alt||``,className:t,...s,"data-obj-id":r,"data-obj-type":i,style:a})},{namespace:`ui`,label:`Image`,icon:`image`,category:`basic`,inputs:[{name:`src`,type:`string`,label:`Source URL`},{name:`alt`,type:`string`,label:`Alt Text`},{name:`className`,type:`string`,label:`Classes`}],defaultProps:{className:`max-w-full h-auto`}});function ya(e){return e.split(`-`).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(``)}var ba={Home:`House`},xa=(0,a.forwardRef)(({schema:e,className:t,...n},r)=>{let{"data-obj-id":i,"data-obj-type":a,style:s,...l}=n,u=ya(e.name),d=ba[u]||u,f=c.icons[d];if(!f)return console.warn(`Icon "${e.name}" (lookup: "${u}"${d===u?``:` -> "${d}"`}) not found in lucide-react`),null;let p=e.size?{width:e.size,height:e.size}:void 0;return(0,o.jsx)(f,{ref:r,className:B(e.color,e.className,t),style:{...p,...s},...l,"data-obj-id":i,"data-obj-type":a})});xa.displayName=`IconRenderer`,t.ComponentRegistry.register(`icon`,xa,{namespace:`ui`,label:`Icon`,icon:`smile`,category:`basic`,inputs:[{name:`name`,type:`string`,label:`Icon Name`,defaultValue:`smile`},{name:`size`,type:`number`,label:`Size (px)`},{name:`color`,type:`string`,label:`Color Class`},{name:`className`,type:`string`,label:`CSS Class`}]}),t.ComponentRegistry.register(`html`,({schema:e,className:t,...n})=>{let{"data-obj-id":r,"data-obj-type":i,style:a,...s}=n;return(0,o.jsx)(`div`,{className:B(`prose prose-sm max-w-none dark:prose-invert`,t),dangerouslySetInnerHTML:{__html:e.html},...s,"data-obj-id":r,"data-obj-type":i,style:a})},{namespace:`ui`,label:`HTML Content`,inputs:[{name:`html`,type:`string`,label:`HTML`,description:`Raw HTML content`}]}),t.ComponentRegistry.register(`button-group`,({schema:e,...t})=>{let{"data-obj-id":n,"data-obj-type":r,style:i,...a}=t;return(0,o.jsx)(`div`,{className:B(`flex flex-wrap sm:inline-flex rounded-md shadow-sm`,e.className),role:`group`,...a,"data-obj-id":n,"data-obj-type":r,style:i,children:e.buttons?.map((t,n)=>(0,o.jsx)(W,{variant:t.variant||e.variant,size:t.size||e.size,className:B(`rounded-none`,n===0&&`rounded-l-md`,n===(e.buttons?.length||0)-1&&`rounded-r-md`,n>0&&`-ml-px`,t.className),children:t.label},n))})},{namespace:`ui`,label:`Button Group`,inputs:[{name:`variant`,type:`enum`,enum:[`default`,`destructive`,`outline`,`secondary`,`ghost`,`link`],defaultValue:`default`,label:`Variant`},{name:`size`,type:`enum`,enum:[`default`,`sm`,`lg`,`icon`],defaultValue:`default`,label:`Size`},{name:`className`,type:`string`,label:`CSS Class`}],defaultProps:{variant:`default`,size:`default`,buttons:[{label:`Left`},{label:`Middle`},{label:`Right`}]}}),t.ComponentRegistry.register(`pagination`,({schema:e,...t})=>{let{"data-obj-id":n,"data-obj-type":r,style:i,onPageChange:a,...s}=t,c=e.currentPage||e.page||1,l=e.totalPages||1,u=(e,t)=>{t.preventDefault(),e!==c&&(e<1||e>l||a&&a(e))},d=()=>l<=7?Array.from({length:l},(e,t)=>t+1):c<=3?[1,2,3,4,5,-1,l]:c>=l-2?[1,-1,l-4,l-3,l-2,l-1,l]:[1,-1,c-1,c,c+1,-1,l];return(0,o.jsx)(vr,{className:e.className,...s,"data-obj-id":n,"data-obj-type":r,style:i,children:(0,o.jsxs)(yr,{children:[(0,o.jsx)(br,{children:(0,o.jsx)(Sr,{href:`#`,onClick:e=>u(c-1,e),className:c<=1?`pointer-events-none opacity-50`:`cursor-pointer`,"aria-disabled":c<=1})}),d().map((e,t)=>(0,o.jsx)(br,{children:e===-1?(0,o.jsx)(wr,{}):(0,o.jsx)(xr,{href:`#`,isActive:e===c,onClick:t=>u(e,t),className:`cursor-pointer`,children:e})},t)),(0,o.jsx)(br,{children:(0,o.jsx)(Cr,{href:`#`,onClick:e=>u(c+1,e),className:c>=l?`pointer-events-none opacity-50`:`cursor-pointer`,"aria-disabled":c>=l})})]})})},{namespace:`ui`,label:`Pagination`,inputs:[{name:`currentPage`,type:`number`,label:`Current Page`,defaultValue:1},{name:`totalPages`,type:`number`,label:`Total Pages`,defaultValue:10},{name:`className`,type:`string`,label:`CSS Class`}],defaultProps:{currentPage:1,totalPages:10}}),t.ComponentRegistry.register(`navigation-menu`,({schema:e,...t})=>{let{"data-obj-id":n,"data-obj-type":r,style:i,...a}=t;return(0,o.jsx)(lr,{className:e.className,...a,"data-obj-id":n,"data-obj-type":r,style:i,children:(0,o.jsx)(ur,{children:e.items?.map((e,t)=>(0,o.jsx)(dr,{children:e.children?(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(pr,{children:e.label}),(0,o.jsx)(mr,{children:(0,o.jsx)(`ul`,{className:`grid w-full gap-3 p-4 sm:w-[400px] md:w-[500px] md:grid-cols-2 lg:w-[600px]`,children:e.children.map((e,t)=>(0,o.jsx)(`li`,{children:(0,o.jsx)(hr,{asChild:!0,children:(0,o.jsxs)(`a`,{className:B(`block select-none space-y-1 rounded-md p-3 leading-none no-underline outline-none transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground`),href:e.href,children:[(0,o.jsx)(`div`,{className:`text-sm font-medium leading-none`,children:e.label}),e.description&&(0,o.jsx)(`p`,{className:`line-clamp-2 text-sm leading-snug text-muted-foreground`,children:e.description})]})})},t))})})]}):(0,o.jsx)(hr,{href:e.href,children:e.label})},t))})})},{namespace:`ui`,label:`Navigation Menu`,inputs:[{name:`className`,type:`string`,label:`CSS Class`}],defaultProps:{items:[{label:`Home`,href:`/`},{label:`About`,href:`/about`}]}});function Sa({label:e,collapsible:t,collapsed:n,onToggle:r}){return e?(0,o.jsx)(`div`,{className:B(`col-span-full pt-4 pb-1 border-b border-border`,t&&`cursor-pointer select-none`),onClick:t?r:void 0,role:t?`button`:void 0,"aria-expanded":t?!n:void 0,children:(0,o.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[t&&(n?(0,o.jsx)(c.ChevronRight,{className:`h-3.5 w-3.5 text-muted-foreground`}):(0,o.jsx)(c.ChevronDown,{className:`h-3.5 w-3.5 text-muted-foreground`})),(0,o.jsx)(`span`,{className:`text-sm font-semibold text-foreground`,children:e})]})}):null}var Ca=(0,L.createSafeTranslation)({"common.selectOption":`Select an option`},`common.selectOption`);function wa({value:e,onChange:t,placeholder:n,className:r,label:i,...s}){let[l,u]=a.default.useState(!1),[d,f]=a.default.useState(e??``),p=e=>t&&t(e),m=()=>{f(e??``),u(!0)},h=()=>{p(d),u(!1)};return(0,o.jsxs)(`div`,{className:`relative`,children:[(0,o.jsx)(ea,{placeholder:n,className:B(`pr-10`,r),value:e??``,onChange:e=>p(e.target.value),...s}),(0,o.jsx)(`button`,{type:`button`,onClick:m,className:`absolute top-1.5 right-1.5 inline-flex items-center justify-center size-7 rounded-md bg-background/80 text-muted-foreground hover:text-foreground hover:bg-background border shadow-sm`,"aria-label":`Edit ${i??`text`} fullscreen`,"data-testid":`form-textarea-fullscreen-toggle`,children:(0,o.jsx)(c.Maximize2,{className:`size-3.5`})}),(0,o.jsx)(Ct,{open:l,onOpenChange:u,children:(0,o.jsxs)(Ot,{className:`sm:max-w-3xl h-[100dvh] sm:h-[80vh] max-h-[100dvh] sm:max-h-[80vh] flex flex-col p-0 gap-0`,"data-testid":`form-textarea-fullscreen-dialog`,children:[(0,o.jsx)(kt,{className:`p-4 border-b`,children:(0,o.jsx)(jt,{className:`text-base`,children:i??`Edit text`})}),(0,o.jsx)(`div`,{className:`flex-1 min-h-0 p-4`,children:(0,o.jsx)(ea,{autoFocus:!0,value:d,onChange:e=>f(e.target.value),placeholder:n,className:`h-full min-h-full resize-none text-base`,"data-testid":`form-textarea-fullscreen-input`})}),(0,o.jsxs)(At,{className:`p-3 border-t flex-row justify-end gap-2`,children:[(0,o.jsxs)(W,{type:`button`,variant:`ghost`,onClick:()=>u(!1),children:[(0,o.jsx)(c.X,{className:`size-4 mr-1`}),` Cancel`]}),(0,o.jsxs)(W,{type:`button`,onClick:h,"data-testid":`form-textarea-fullscreen-save`,children:[(0,o.jsx)(c.Check,{className:`size-4 mr-1`}),` Done`]})]})]})})]})}t.ComponentRegistry.register(`form`,({schema:e,className:t,onAction:n,...r})=>{let{t:s}=Ca(),{defaultValues:l={},fields:u=[],submitLabel:d=`Submit`,cancelLabel:f=`Cancel`,showCancel:p=!1,showSubmit:m=!0,layout:h=`vertical`,columns:g=1,onSubmit:_,onChange:v,onCancel:y,resetOnSubmit:b=!1,validationMode:x=`onSubmit`,disabled:S=!1}=e,C=(0,w.useForm)({defaultValues:l,mode:x}),[T,E]=a.default.useState(!1),[D,O]=a.default.useState(null),k=a.default.useContext(i.SchemaRendererContext)?.dataSource??null;a.default.useEffect(()=>{C.reset(l)},[l]),a.default.useEffect(()=>{if(n){let e=C.watch(e=>{n({type:`form_change`,data:e,formData:e})});return()=>e.unsubscribe()}},[C,n]);let A=C.handleSubmit(async e=>{E(!0),O(null);let t=e;if(e&&(e.nativeEvent||typeof e.preventDefault==`function`||typeof e.stopPropagation==`function`||e.target||e.bubbles))t=C.getValues();else if(!t||Object.keys(t).length===0){let e=C.getValues();e&&Object.keys(e).length>0&&(t=e)}try{if(n){let e=await n({type:`form_submit`,data:t,formData:t});if(e?.error){O(e.error);return}}_&&typeof _==`function`&&await _(t),b&&C.reset()}catch(e){O(e instanceof Error?e.message:typeof e==`string`?e:`An error occurred during submission`),typeof process<`u`&&process.env.NODE_ENV===`development`&&console.error(`Form submission error:`,e)}finally{E(!1)}}),ee=()=>{C.reset(),y&&typeof y==`function`&&y(),n&&n({type:`form_cancel`,data:C.getValues()})},j=g>1?B(`grid gap-4`,g===1?``:g===2?`md:grid-cols-2`:g===3?`md:grid-cols-2 lg:grid-cols-3`:`md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4`):`space-y-4`,{"data-obj-id":te,"data-obj-type":M,style:N,onSubmit:ne,onChange:P,submitLabel:re,cancelLabel:ie,showSubmit:F,showCancel:ae,resetOnSubmit:oe,defaultValues:I,inputType:se,...L}=r;return(0,o.jsx)(An,{...C,children:(0,o.jsxs)(`form`,{onSubmit:A,className:t,...L,"data-obj-id":te,"data-obj-type":M,style:N,children:[D&&(0,o.jsxs)(Me,{variant:`destructive`,className:`mb-4`,children:[(0,o.jsx)(c.AlertCircle,{className:`h-4 w-4`}),(0,o.jsx)(Pe,{children:D})]}),e.children?(0,o.jsx)(`div`,{className:e.fieldContainerClass||`space-y-4`,children:V(e.children)}):(0,o.jsx)(`div`,{className:e.fieldContainerClass||j,children:u.map(t=>{let{name:n,label:r,description:i,type:a=`input`,required:c=!1,disabled:l=!1,validation:u={},condition:d,colSpan:f,hidden:p,widget:m,visibleOn:h,readonly:g,..._}=t;if(p)return null;if(d){let e=d.field,t=C.watch(e),n=t!=null;if(d.equals!==void 0&&t!==d.equals||d.notEquals!==void 0&&t===d.notEquals||d.in&&(!n||!d.in.includes(t)))return null}if(a===`section-divider`){let e=_;return(0,o.jsx)(Sa,{label:r,collapsible:e.collapsible,collapsed:e.collapsed,onToggle:e.onToggle},n)}let v={...u};c&&(v.required=typeof u.required==`string`?u.required:`${r||n} is required`);let y=t.id??n,b=m||a,x=e.fieldContainerClass||j,w=e=>{let t=Array.from(x.matchAll(/(@)?(sm|md|lg|xl|2xl|3xl|4xl|5xl|6xl|7xl):grid-cols-(\d+)/g)).map(e=>({at:e[1]||``,bp:e[2],cols:Number(e[3])}));if(!t.length)return e===2?`col-span-2`:e===3?`col-span-3`:`col-span-4`;let n=t.find(t=>t.cols>=e)||t[t.length-1];return{"@sm:2":`@sm:col-span-2`,"@md:2":`@md:col-span-2`,"@lg:2":`@lg:col-span-2`,"@xl:2":`@xl:col-span-2`,"@2xl:2":`@2xl:col-span-2`,"@sm:3":`@sm:col-span-3`,"@md:3":`@md:col-span-3`,"@lg:3":`@lg:col-span-3`,"@xl:3":`@xl:col-span-3`,"@2xl:3":`@2xl:col-span-3`,"@4xl:3":`@4xl:col-span-3`,"@sm:4":`@sm:col-span-4`,"@md:4":`@md:col-span-4`,"@lg:4":`@lg:col-span-4`,"@xl:4":`@xl:col-span-4`,"@2xl:4":`@2xl:col-span-4`,"@4xl:4":`@4xl:col-span-4`,"sm:2":`sm:col-span-2`,"md:2":`md:col-span-2`,"lg:2":`lg:col-span-2`,"xl:2":`xl:col-span-2`,"sm:3":`sm:col-span-3`,"md:3":`md:col-span-3`,"lg:3":`lg:col-span-3`,"xl:3":`xl:col-span-3`,"sm:4":`sm:col-span-4`,"md:4":`md:col-span-4`,"lg:4":`lg:col-span-4`,"xl:4":`xl:col-span-4`}[`${n.at}${n.bp}:${e}`]||(e===2?`col-span-2`:e===3?`col-span-3`:`col-span-4`)},E=f&&f>1?f===2?w(2):f===3?w(3):f>=4?w(4):``:``;return(0,o.jsx)(Mn,{control:C.control,name:n,rules:v,render:({field:e})=>(0,o.jsxs)(Fn,{className:E||void 0,children:[r&&(0,o.jsxs)(In,{className:`text-xs sm:text-sm`,children:[r,c&&(0,o.jsx)(`span`,{className:`text-destructive ml-1`,"aria-label":`required`,children:`*`})]}),(0,o.jsx)(Ln,{children:Ta(b,{..._,field:t.field||t,...e,inputType:_.inputType,options:_.options,placeholder:_.placeholder??(b===`select`?s(`common.selectOption`):void 0),disabled:S||l||g||T,dataSource:k})}),i&&(0,o.jsx)(Rn,{children:i}),(0,o.jsx)(zn,{})]})},y)})}),e.showActions!==!1&&(0,o.jsxs)(`div`,{className:B(`flex flex-col sm:flex-row gap-2 ${h===`horizontal`?`sm:justify-end`:`sm:justify-start`} mt-6`,e.mobileStickyActions&&`sticky bottom-0 z-10 -mx-4 px-4 py-3 bg-background/95 supports-[backdrop-filter]:bg-background/80 backdrop-blur border-t md:static md:mx-0 md:px-0 md:py-0 md:bg-transparent md:border-0 md:backdrop-blur-none`),"data-testid":e.mobileStickyActions?`form-mobile-sticky-actions`:void 0,children:[p&&(0,o.jsx)(W,{type:`button`,variant:`outline`,onClick:ee,disabled:T||S,className:`w-full sm:w-auto`,children:f}),m&&(0,o.jsxs)(W,{type:`submit`,disabled:T||S,className:`w-full sm:w-auto`,children:[T&&(0,o.jsx)(c.Loader2,{className:`mr-2 h-4 w-4 animate-spin`}),d]})]})]})})},{namespace:`ui`,label:`Form`,inputs:[{name:`fields`,type:`array`,label:`Fields`,description:`Array of field configurations with name, label, type, validation, etc.`},{name:`defaultValues`,type:`object`,label:`Default Values`,description:`Object with default values for form fields`},{name:`submitLabel`,type:`string`,label:`Submit Button Label`,defaultValue:`Submit`},{name:`cancelLabel`,type:`string`,label:`Cancel Button Label`,defaultValue:`Cancel`},{name:`showCancel`,type:`boolean`,label:`Show Cancel Button`,defaultValue:!1},{name:`layout`,type:`enum`,enum:[`vertical`,`horizontal`],label:`Layout`,defaultValue:`vertical`},{name:`columns`,type:`number`,label:`Number of Columns`,defaultValue:1,description:`For multi-column layouts (1-4)`},{name:`validationMode`,type:`enum`,enum:[`onSubmit`,`onBlur`,`onChange`,`onTouched`,`all`],label:`Validation Mode`,defaultValue:`onSubmit`},{name:`resetOnSubmit`,type:`boolean`,label:`Reset After Submit`,defaultValue:!1},{name:`disabled`,type:`boolean`,label:`Disabled`,defaultValue:!1},{name:`className`,type:`string`,label:`CSS Class`},{name:`fieldContainerClass`,type:`string`,label:`Field Container CSS Class`}],defaultProps:{submitLabel:`Submit`,cancelLabel:`Cancel`,showCancel:!1,layout:`vertical`,columns:1,validationMode:`onSubmit`,resetOnSubmit:!1,disabled:!1,fields:[{name:`name`,label:`Name`,type:`input`,required:!0,placeholder:`Enter your name`},{name:`email`,label:`Email`,type:`input`,inputType:`email`,required:!0,placeholder:`Enter your email`}]}});function Ta(e,n){let r=t.ComponentRegistry.get(e);if(r)return(0,o.jsx)(r,{schema:n,...n});let{inputType:i,options:a=[],placeholder:s,...c}=n;switch(e){case`input`:if(i===`file`){let{value:e,...t}=c;return(0,o.jsx)(q,{type:`file`,placeholder:s,className:`min-h-[44px] sm:min-h-0`,...t})}return(0,o.jsx)(q,{type:i||`text`,placeholder:s,className:`min-h-[44px] sm:min-h-0`,...c,value:c.value??``});case`textarea`:{let{mobile_fullscreen:e,fullscreen:t,label:n,...r}=c;return e||t?(0,o.jsx)(wa,{placeholder:s,label:n,className:`min-h-[44px] sm:min-h-0`,...r,value:r.value??``}):(0,o.jsx)(ea,{placeholder:s,className:`min-h-[44px] sm:min-h-0`,...r,value:r.value??``})}case`checkbox`:{let{value:e,onChange:t,...n}=c;return(0,o.jsx)(yt,{checked:e,onCheckedChange:t,className:`min-h-[44px] min-w-[44px] sm:min-h-0 sm:min-w-0`,...n})}case`switch`:{let{value:e,onChange:t,...n}=c;return(0,o.jsx)(Vi,{checked:e,onCheckedChange:t,className:`min-h-[44px] min-w-[44px] sm:min-h-0 sm:min-w-0`,...n})}case`select`:{let{value:e,onChange:t,...n}=c;return!a||a.length===0?(0,o.jsx)(`div`,{className:`text-sm text-muted-foreground`,children:`No options available`}):(0,o.jsxs)(Ir,{value:e,onValueChange:t,...n,children:[(0,o.jsx)(J,{className:`min-h-[44px] sm:min-h-0`,children:(0,o.jsx)(Rr,{placeholder:s||`Select an option`})}),(0,o.jsx)(Y,{children:a.map(e=>(0,o.jsx)(X,{value:e.value,children:e.label},e.value))})]})}default:return(0,o.jsx)(q,{type:i||`text`,placeholder:s,...c})}}function Ea(e){return e.split(`-`).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(``)}var Da={Home:`House`},Oa=(0,a.forwardRef)(({schema:e,...t},n)=>{let{"data-obj-id":r,"data-obj-type":i,style:a,...s}=t,l=null;if(e.icon){let t=Ea(e.icon);l=c.icons[Da[t]||t]}let u=e.loading||t.loading,d=e.disabled||t.disabled||u;return(0,o.jsxs)(W,{ref:n,type:e.buttonType||`button`,variant:e.variant,size:e.size,className:e.className,disabled:d,...s,"data-obj-id":r,"data-obj-type":i,style:a,children:[u&&(0,o.jsx)(c.Loader2,{className:`mr-2 h-4 w-4 animate-spin`}),!u&&l&&e.iconPosition!==`right`&&(0,o.jsx)(l,{className:`mr-2 h-4 w-4`}),e.label||V(e.body||e.children),!u&&l&&e.iconPosition===`right`&&(0,o.jsx)(l,{className:`ml-2 h-4 w-4`})]})});Oa.displayName=`ButtonRenderer`,t.ComponentRegistry.register(`button`,Oa,{namespace:`ui`,label:`Button`,inputs:[{name:`label`,type:`string`,label:`Label`,defaultValue:`Button`},{name:`variant`,type:`enum`,label:`Variant`,enum:[`default`,`secondary`,`destructive`,`outline`,`ghost`,`link`],defaultValue:`default`},{name:`size`,type:`enum`,label:`Size`,enum:[`default`,`sm`,`lg`,`icon`],defaultValue:`default`},{name:`className`,type:`string`,label:`CSS Class`,advanced:!0}],defaultProps:{label:`Button`,variant:`default`,size:`default`}}),t.ComponentRegistry.register(`label`,({schema:e,className:t,...n})=>{let{"data-obj-id":r,"data-obj-type":i,style:a,...s}=n;return(0,o.jsx)(K,{className:t,...s,"data-obj-id":r,"data-obj-type":i,style:a,children:e.text||e.label||e.content})},{namespace:`ui`,label:`Label`,inputs:[{name:`text`,type:`string`,label:`Text`,required:!0},{name:`className`,type:`string`,label:`CSS Class`}],defaultProps:{text:`Label Text`}});var ka=({schema:e,className:t,onChange:n,value:r,...i})=>{let a=e=>{n&&n(e.target.value)},{"data-obj-id":s,"data-obj-type":c,style:l,...u}=i;return(0,o.jsxs)(`div`,{className:B(`grid w-full items-center gap-1.5`,e.wrapperClass),"data-obj-id":s,"data-obj-type":c,style:l,children:[e.label&&(0,o.jsx)(K,{htmlFor:e.id,className:B(e.required&&`text-destructive after:content-['*'] after:ml-0.5`),children:e.label}),(0,o.jsx)(q,{type:e.inputType||`text`,id:e.id,name:e.name,placeholder:e.placeholder,className:t,required:e.required,disabled:e.disabled,readOnly:e.readOnly,value:r??e.value??``,defaultValue:r===void 0?e.defaultValue:void 0,onChange:a,min:e.min,max:e.max,step:e.step,maxLength:e.maxLength,pattern:e.pattern,...u}),e.description&&(0,o.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:e.description}),e.error&&(0,o.jsx)(`p`,{className:`text-sm font-medium text-destructive`,children:e.error})]})};t.ComponentRegistry.register(`input`,ka,{namespace:`ui`,label:`Input Field`,inputs:[{name:`label`,type:`string`,label:`Label`},{name:`name`,type:`string`,label:`Field Name`},{name:`placeholder`,type:`string`,label:`Placeholder`},{name:`inputType`,type:`enum`,label:`Type`,enum:[`text`,`email`,`password`,`number`,`tel`,`url`,`date`,`time`,`datetime-local`],defaultValue:`text`},{name:`required`,type:`boolean`,label:`Required`},{name:`disabled`,type:`boolean`,label:`Disabled`},{name:`description`,type:`string`,label:`Description`}],defaultProps:{inputType:`text`}}),t.ComponentRegistry.register(`email`,e=>(0,o.jsx)(ka,{...e,schema:{...e.schema,inputType:`email`}}),{namespace:`ui`,label:`Email Input`,icon:`mail`,inputs:[{name:`label`,type:`string`,label:`Label`},{name:`name`,type:`string`,label:`Field Name`},{name:`placeholder`,type:`string`,label:`Placeholder`},{name:`required`,type:`boolean`,label:`Required`},{name:`disabled`,type:`boolean`,label:`Disabled`},{name:`description`,type:`string`,label:`Description`}]}),t.ComponentRegistry.register(`password`,e=>(0,o.jsx)(ka,{...e,schema:{...e.schema,inputType:`password`}}),{namespace:`ui`,label:`Password Input`,icon:`lock`,inputs:[{name:`label`,type:`string`,label:`Label`},{name:`name`,type:`string`,label:`Field Name`},{name:`placeholder`,type:`string`,label:`Placeholder`},{name:`required`,type:`boolean`,label:`Required`},{name:`disabled`,type:`boolean`,label:`Disabled`},{name:`description`,type:`string`,label:`Description`}]}),t.ComponentRegistry.register(`textarea`,({schema:e,className:t,onChange:n,value:r,...i})=>{let a=e=>{n&&n(e.target.value)},{"data-obj-id":s,"data-obj-type":c,style:l,...u}=i;return(0,o.jsxs)(`div`,{className:B(`grid w-full gap-1.5`,e.wrapperClass),"data-obj-id":s,"data-obj-type":c,style:l,children:[e.label&&(0,o.jsx)(K,{htmlFor:e.id,className:B(e.required&&`text-destructive after:content-['*'] after:ml-0.5`),children:e.label}),(0,o.jsx)(ea,{id:e.id,name:e.name,placeholder:e.placeholder,className:t,disabled:e.disabled,readOnly:e.readOnly,required:e.required,rows:e.rows,value:r??e.value??``,defaultValue:r===void 0?e.defaultValue:void 0,onChange:a,...u})]})},{namespace:`ui`,label:`Textarea`,inputs:[{name:`label`,type:`string`,label:`Label`},{name:`placeholder`,type:`string`,label:`Placeholder`},{name:`rows`,type:`number`,label:`Rows`},{name:`required`,type:`boolean`,label:`Required`},{name:`disabled`,type:`boolean`,label:`Disabled`},{name:`id`,type:`string`,label:`ID`,required:!0}],defaultProps:{label:`Textarea label`,placeholder:`Enter text here...`,rows:3,id:`textarea-field`}}),t.ComponentRegistry.register(`checkbox`,({schema:e,className:t,onChange:n,value:r,...i})=>{let{"data-obj-id":a,"data-obj-type":s,style:c,...l}=i;return(0,o.jsxs)(`div`,{className:B(`flex items-center space-x-2`,e.wrapperClass),"data-obj-id":a,"data-obj-type":s,style:c,children:[(0,o.jsx)(yt,{id:e.id,className:t,checked:r??e.checked??!1,defaultChecked:r===void 0?e.defaultChecked:void 0,onCheckedChange:e=>{n&&n(e)},disabled:e.disabled,required:e.required,name:e.name,...l}),(0,o.jsx)(K,{htmlFor:e.id,className:B(`text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70`,e.required&&`text-destructive after:content-['*'] after:ml-0.5`),children:e.label})]})},{namespace:`ui`,label:`Checkbox`,inputs:[{name:`label`,type:`string`,label:`Label`,required:!0},{name:`id`,type:`string`,label:`ID`,required:!0},{name:`checked`,type:`boolean`,label:`Checked`},{name:`required`,type:`boolean`,label:`Required`},{name:`disabled`,type:`boolean`,label:`Disabled`}],defaultProps:{label:`Checkbox label`,id:`checkbox-field`}}),t.ComponentRegistry.register(`switch`,({schema:e,className:t,...n})=>{let{"data-obj-id":r,"data-obj-type":i,style:a,...s}=n;return(0,o.jsxs)(`div`,{className:`flex items-center space-x-2 ${e.wrapperClass||``}`,"data-obj-id":r,"data-obj-type":i,style:a,children:[(0,o.jsx)(Vi,{id:e.id,className:t,...s}),(0,o.jsx)(K,{htmlFor:e.id,children:e.label})]})},{namespace:`ui`,label:`Switch`,inputs:[{name:`label`,type:`string`,label:`Label`,required:!0},{name:`id`,type:`string`,label:`ID`,required:!0},{name:`checked`,type:`boolean`,label:`Checked`}],defaultProps:{label:`Switch label`,id:`switch-field`}}),t.ComponentRegistry.register(`select`,({schema:e,className:t,onChange:n,value:r,...i})=>{let{"data-obj-id":a,"data-obj-type":s,style:c,...l}=i;return(0,o.jsxs)(`div`,{className:B(`grid w-full items-center gap-1.5`,e.wrapperClass),"data-obj-id":a,"data-obj-type":s,style:c,children:[e.label&&(0,o.jsx)(K,{className:B(e.required&&`text-destructive after:content-['*'] after:ml-0.5`),children:e.label}),(0,o.jsxs)(Ir,{defaultValue:r===void 0?e.defaultValue:void 0,value:r??e.value,onValueChange:e=>{n&&n(e)},disabled:e.disabled,required:e.required,name:e.name,...l,children:[(0,o.jsx)(J,{className:t,children:(0,o.jsx)(Rr,{placeholder:e.placeholder})}),(0,o.jsx)(Y,{children:e.options?.map(e=>(0,o.jsx)(X,{value:e.value,disabled:e.disabled,children:e.label},e.value))})]})]})},{namespace:`ui`,label:`Select`,inputs:[{name:`label`,type:`string`,label:`Label`},{name:`placeholder`,type:`string`,label:`Placeholder`},{name:`defaultValue`,type:`string`,label:`Default Value`},{name:`required`,type:`boolean`,label:`Required`},{name:`disabled`,type:`boolean`,label:`Disabled`},{name:`options`,type:`array`,label:`Options`,description:`Array of {label, value} objects`}],defaultProps:{label:`Select an option`,placeholder:`Choose...`,options:[{label:`Option 1`,value:`option1`},{label:`Option 2`,value:`option2`},{label:`Option 3`,value:`option3`}]}}),t.ComponentRegistry.register(`radio-group`,({schema:e,className:t,...n})=>{let{"data-obj-id":r,"data-obj-type":i,style:a,...s}=n;return(0,o.jsx)(kr,{defaultValue:e.defaultValue,className:t,...s,"data-obj-id":r,"data-obj-type":i,style:a,children:e.options?.map(t=>(0,o.jsxs)(`div`,{className:`flex items-center space-x-2`,children:[(0,o.jsx)(Ar,{value:t.value,id:`${e.id}-${t.value}`}),(0,o.jsx)(K,{htmlFor:`${e.id}-${t.value}`,children:t.label})]},t.value))})},{namespace:`ui`,label:`Radio Group`,inputs:[{name:`defaultValue`,type:`string`,label:`Default Value`},{name:`id`,type:`string`,label:`Group ID`,required:!0},{name:`options`,type:`array`,label:`Options`,description:`Array of {label, value} objects`},{name:`className`,type:`string`,label:`CSS Class`}],defaultProps:{id:`radio-group`,options:[{label:`Option 1`,value:`option1`},{label:`Option 2`,value:`option2`},{label:`Option 3`,value:`option3`}]}}),t.ComponentRegistry.register(`slider`,({schema:e,className:t,...n})=>{let{"data-obj-id":r,"data-obj-type":i,style:a,...s}=n;return(0,o.jsx)(zi,{defaultValue:Array.isArray(e.defaultValue)?e.defaultValue:e.defaultValue===void 0?void 0:[e.defaultValue],max:e.max,min:e.min,step:e.step,className:t,...s,"data-obj-id":r,"data-obj-type":i,style:a})},{namespace:`ui`,label:`Slider`,inputs:[{name:`defaultValue`,type:`array`,label:`Default Value`,defaultValue:[50]},{name:`max`,type:`number`,label:`Max`,defaultValue:100},{name:`min`,type:`number`,label:`Min`,defaultValue:0},{name:`step`,type:`number`,label:`Step`,defaultValue:1},{name:`className`,type:`string`,label:`CSS Class`}],defaultProps:{defaultValue:[50],max:100,min:0,step:1,className:`w-full`}}),t.ComponentRegistry.register(`toggle`,({schema:e,...t})=>(0,o.jsx)(na,{variant:e.variant,size:e.size,pressed:e.pressed,"aria-label":e.ariaLabel,...t,children:e.label||V(e.children)}),{namespace:`ui`,label:`Toggle`,inputs:[{name:`label`,type:`string`,label:`Label`},{name:`pressed`,type:`boolean`,label:`Pressed`},{name:`variant`,type:`enum`,enum:[`default`,`outline`],defaultValue:`default`,label:`Variant`},{name:`size`,type:`enum`,enum:[`default`,`sm`,`lg`],defaultValue:`default`,label:`Size`},{name:`ariaLabel`,type:`string`,label:`Aria Label`}],defaultProps:{label:`Toggle`,variant:`default`,size:`default`}}),t.ComponentRegistry.register(`input-otp`,({schema:e,className:t,onChange:n,value:r,...i})=>{let a=e.maxLength||6,s=Array.from({length:a});return(0,o.jsx)(Un,{maxLength:a,className:t,value:r??e.value,onChange:e=>{n&&n(e)},...i,children:(0,o.jsx)(Wn,{children:s.map((e,t)=>(0,o.jsx)(Gn,{index:t},t))})})},{namespace:`ui`,label:`Input OTP`,inputs:[{name:`maxLength`,type:`number`,label:`Max Length`,defaultValue:6},{name:`className`,type:`string`,label:`CSS Class`}],defaultProps:{maxLength:6}}),t.ComponentRegistry.register(`calendar`,({schema:e,className:t,...n})=>(0,o.jsx)(Je,{mode:e.mode||`single`,selected:e.value||e.defaultValue,className:t,...n}),{namespace:`ui`,label:`Calendar`,inputs:[{name:`mode`,type:`enum`,enum:[`default`,`single`,`multiple`,`range`],defaultValue:`single`,label:`Mode`},{name:`className`,type:`string`,label:`CSS Class`}],defaultProps:{mode:`single`,className:`rounded-md border`}}),t.ComponentRegistry.register(`date-picker`,({schema:e,className:t,value:n,onChange:r,...i})=>{let a=e=>{r&&r(e)},{"data-obj-id":s,"data-obj-type":l,style:u,...d}=i;return(0,o.jsxs)(`div`,{className:`grid w-full max-w-sm items-center gap-1.5 ${e.wrapperClass||``}`,"data-obj-id":s,"data-obj-type":l,style:u,children:[e.label&&(0,o.jsx)(K,{htmlFor:e.id,children:e.label}),(0,o.jsxs)(Tr,{children:[(0,o.jsx)(Er,{asChild:!0,children:(0,o.jsxs)(W,{id:e.id,variant:`outline`,className:B(`w-full justify-start text-left font-normal`,!n&&`text-muted-foreground`,t),...d,children:[(0,o.jsx)(c.CalendarIcon,{className:`mr-2 h-4 w-4`}),n?(0,ce.format)(n,e.format||`PPP`):(0,o.jsx)(`span`,{children:e.placeholder||`Pick a date`})]})}),(0,o.jsx)(Dr,{className:`w-auto p-0`,children:(0,o.jsx)(Je,{mode:`single`,selected:n,onSelect:a,initialFocus:!0})})]})]})},{namespace:`ui`,label:`Date Picker`,inputs:[{name:`label`,type:`string`,label:`Label`},{name:`placeholder`,type:`string`,label:`Placeholder`},{name:`format`,type:`string`,label:`Date Format`,description:`date-fns format string (e.g., "PPP", "yyyy-MM-dd")`},{name:`id`,type:`string`,label:`ID`,required:!0}],defaultProps:{label:`Date`,placeholder:`Pick a date`,format:`PPP`,id:`date-picker-field`}}),t.ComponentRegistry.register(`file-upload`,({schema:e,className:t,value:n,onChange:r,...i})=>{let[s,l]=(0,a.useState)(n||[]),[u,d]=(0,a.useState)(!1),[f,p]=(0,a.useState)(0),m=(0,a.useRef)(null);(0,a.useEffect)(()=>{if(u){let e=setInterval(()=>{p(t=>t>=100?(clearInterval(e),d(!1),0):t+5)},50);return()=>clearInterval(e)}},[u]);let h=t=>{let n=Array.from(t.target.files||[]);if(n.length>0){d(!0),p(0);let t=e.multiple?[...s,...n]:n;setTimeout(()=>{l(t),r&&r(t)},1e3)}},g=e=>{let t=s.filter((t,n)=>n!==e);l(t),r&&r(t)},_=()=>{m.current?.click()},{"data-obj-id":v,"data-obj-type":y,style:b,...x}=i;return(0,o.jsxs)(`div`,{className:`grid w-full max-w-sm items-center gap-2 ${e.wrapperClass||``}`,"data-obj-id":v,"data-obj-type":y,style:b,children:[e.label&&(0,o.jsx)(K,{htmlFor:e.id,children:e.label}),(0,o.jsxs)(`div`,{className:B(`relative flex flex-col gap-3 group/upload`,t),children:[(0,o.jsx)(`input`,{ref:m,type:`file`,id:e.id,className:`hidden`,accept:e.accept,multiple:e.multiple,onChange:h,...x}),(0,o.jsxs)(`div`,{onClick:_,className:B(`relative overflow-hidden cursor-pointer rounded-lg border-2 border-dashed transition-all duration-300 min-h-[120px] flex flex-col items-center justify-center p-4 sm:p-6 gap-3`,u?`border-cyan-400 bg-cyan-950/30`:`border-slate-700 bg-slate-900/50 hover:bg-slate-900 hover:border-cyan-500/50 hover:shadow-[0_0_20px_-5px_rgba(6,182,212,0.3)]`),children:[(0,o.jsx)(`div`,{className:`absolute inset-0 bg-[url('https://grainy-gradients.vercel.app/noise.svg')] opacity-5 pointer-events-none`}),(0,o.jsx)(`div`,{className:`absolute inset-0 bg-[linear-gradient(to_right,#80808012_1px,transparent_1px),linear-gradient(to_bottom,#80808012_1px,transparent_1px)] bg-[size:14px_24px] pointer-events-none`}),(0,o.jsx)(`div`,{className:B(`relative z-10 p-3 rounded-full bg-slate-800 border border-slate-700 transition-all duration-500`,u?`scale-110 shadow-[0_0_30px_cyan] border-cyan-400 animate-bounce`:`group-hover/upload:scale-110 group-hover/upload:shadow-lg group-hover/upload:border-cyan-500`),children:u?(0,o.jsx)(c.Rocket,{className:`w-8 h-8 text-cyan-300 animate-pulse`}):(0,o.jsx)(c.Upload,{className:`w-6 h-6 text-slate-400 group-hover/upload:text-cyan-400`})}),(0,o.jsx)(`div`,{className:`relative z-10 text-center`,children:(0,o.jsx)(`p`,{className:B(`text-xs font-mono uppercase tracking-widest transition-colors`,u?`text-cyan-300`:`text-slate-500 group-hover/upload:text-cyan-200`),children:u?`INITIATING LAUNCH SEQUENCE...`:e.buttonText||`DROP PAYLOAD OR CLICK TO UPLOAD`})}),u&&(0,o.jsx)(`div`,{className:`absolute bottom-0 left-0 h-1 bg-cyan-500 shadow-[0_0_10px_cyan] transition-all duration-75 ease-out`,style:{width:`${f}%`}})]}),s.length>0&&(0,o.jsx)(`div`,{className:`flex flex-col gap-2 mt-1 perspective-1000`,children:s.map((e,t)=>(0,o.jsxs)(`div`,{className:`relative group/file overflow-hidden flex items-center justify-between p-3 border border-border bg-card/80 rounded-sm text-sm transition-all hover:border-primary/30 hover:shadow-lg hover:shadow-primary/10 animate-in slide-in-from-bottom-2 fade-in`,children:[(0,o.jsx)(`div`,{className:`absolute left-0 top-0 bottom-0 w-[2px] bg-primary/50 group-hover/file:bg-primary group-hover/file:shadow-[0_0_8px_hsl(var(--primary))]`}),(0,o.jsxs)(`div`,{className:`flex items-center gap-3 z-10`,children:[(0,o.jsx)(c.CheckCircle2,{className:`w-4 h-4 text-emerald-500 rounded-full`}),(0,o.jsx)(`span`,{className:`truncate max-w-[150px] sm:max-w-[200px] md:max-w-[300px] text-muted-foreground group-hover/file:text-foreground font-mono text-xs transition-colors`,children:e.name})]}),(0,o.jsx)(W,{type:`button`,variant:`ghost`,size:`sm`,className:`h-6 w-6 p-0 hover:bg-destructive/10 hover:text-destructive`,onClick:()=>g(t),children:(0,o.jsx)(c.X,{className:`h-3 w-3`})}),(0,o.jsx)(`div`,{className:`absolute inset-0 bg-gradient-to-r from-transparent via-primary/5 to-transparent -translate-x-full group-hover/file:animate-[shimmer_1s_infinite] pointer-events-none`})]},t))})]})]})},{namespace:`ui`,label:`File Upload`,inputs:[{name:`label`,type:`string`,label:`Label`},{name:`buttonText`,type:`string`,label:`Button Text`},{name:`accept`,type:`string`,label:`Accepted File Types`,description:`MIME types (e.g., "image/*,application/pdf")`},{name:`multiple`,type:`boolean`,label:`Allow Multiple Files`},{name:`id`,type:`string`,label:`ID`,required:!0}],defaultProps:{label:`Upload files`,buttonText:`Choose files`,multiple:!0,id:`file-upload-field`}});var Aa=(0,d.cva)(`flex w-fit items-stretch [&>*]:focus-visible:z-10 [&>*]:focus-visible:relative [&>[data-slot=select-trigger]:not([class*='w-'])]:w-fit [&>input]:flex-1 has-[select[aria-hidden=true]:last-child]:[&>[data-slot=select-trigger]:last-of-type]:rounded-r-md has-[>[data-slot=button-group]]:gap-2`,{variants:{orientation:{horizontal:`[&>*:not(:first-child)]:rounded-l-none [&>*:not(:first-child)]:border-l-0 [&>*:not(:last-child)]:rounded-r-none`,vertical:`flex-col [&>*:not(:first-child)]:rounded-t-none [&>*:not(:first-child)]:border-t-0 [&>*:not(:last-child)]:rounded-b-none`}},defaultVariants:{orientation:`horizontal`}});function ja({className:e,orientation:t,...n}){return(0,o.jsx)(`div`,{role:`group`,"data-slot":`button-group`,"data-orientation":t,className:B(Aa({orientation:t}),e),...n})}function Ma({className:e,asChild:t=!1,...n}){return(0,o.jsx)(t?u.Slot:`div`,{className:B(`bg-muted flex items-center gap-2 rounded-md border px-4 text-sm font-medium shadow-xs [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4`,e),...n})}function Na({className:e,orientation:t=`vertical`,...n}){return(0,o.jsx)(Ur,{"data-slot":`button-group-separator`,orientation:t,className:B(`bg-input relative !m-0 self-stretch data-[orientation=vertical]:h-auto`,e),...n})}function Pa({options:e,value:t,onValueChange:n,placeholder:r=`Select option...`,searchPlaceholder:i=`Search...`,emptyText:s=`No option found.`,className:l,disabled:u}){let[d,f]=a.useState(!1);return(0,o.jsxs)(Tr,{open:d,onOpenChange:f,children:[(0,o.jsx)(Er,{asChild:!0,children:(0,o.jsxs)(W,{variant:`outline`,role:`combobox`,"aria-expanded":d,className:B(`w-[200px] justify-between`,l),disabled:u,children:[t?e.find(e=>e.value===t)?.label:r,(0,o.jsx)(c.ChevronsUpDown,{className:`ml-2 h-4 w-4 shrink-0 opacity-50`})]})}),(0,o.jsx)(Dr,{className:`w-[200px] p-0`,children:(0,o.jsxs)(Nt,{children:[(0,o.jsx)(Ft,{placeholder:i}),(0,o.jsxs)(It,{children:[(0,o.jsx)(Lt,{children:s}),(0,o.jsx)(Rt,{children:e.map(e=>(0,o.jsxs)(Bt,{value:e.value,onSelect:e=>{n?.(e===t?``:e),f(!1)},children:[(0,o.jsx)(c.Check,{className:B(`mr-2 h-4 w-4`,t===e.value?`opacity-100`:`opacity-0`)}),e.label]},e.value))})]})]})})]})}function Fa({label:e,value:t,onClick:n,children:r,className:i}){return(0,o.jsxs)(n?`button`:`div`,{className:B(`flex items-center justify-between py-1.5 min-h-[32px] w-full text-left`,n&&`cursor-pointer hover:bg-accent/50 rounded-sm -mx-1 px-1`,i),onClick:n,type:n?`button`:void 0,children:[(0,o.jsx)(`span`,{className:`text-xs text-muted-foreground shrink-0 max-w-[45%] truncate`,title:e,children:e}),r||(0,o.jsx)(`span`,{className:`text-xs text-foreground truncate ml-4 text-right max-w-[55%]`,title:t,children:t})]})}var Ia=[{value:`equals`,label:`Equals`},{value:`notEquals`,label:`Does not equal`},{value:`contains`,label:`Contains`},{value:`notContains`,label:`Does not contain`},{value:`isEmpty`,label:`Is empty`},{value:`isNotEmpty`,label:`Is not empty`},{value:`greaterThan`,label:`Greater than`},{value:`lessThan`,label:`Less than`},{value:`greaterOrEqual`,label:`Greater than or equal`},{value:`lessOrEqual`,label:`Less than or equal`},{value:`before`,label:`Before`},{value:`after`,label:`After`},{value:`between`,label:`Between`},{value:`in`,label:`In`},{value:`notIn`,label:`Not in`}],La=[`equals`,`notEquals`,`contains`,`notContains`,`isEmpty`,`isNotEmpty`],Ra=[`equals`,`notEquals`,`greaterThan`,`lessThan`,`greaterOrEqual`,`lessOrEqual`,`isEmpty`,`isNotEmpty`],za=[`equals`,`notEquals`],Ba=[`equals`,`notEquals`,`before`,`after`,`between`,`isEmpty`,`isNotEmpty`],Va=[`equals`,`notEquals`,`in`,`notIn`,`isEmpty`,`isNotEmpty`],Ha=[`equals`,`notEquals`,`in`,`notIn`,`isEmpty`,`isNotEmpty`],Ua=[`number`,`currency`,`percent`,`rating`],Wa=[`date`,`datetime`,`time`],Ga=[`select`,`status`],Ka=[`lookup`,`master_detail`,`user`,`owner`];function qa(e){return Array.isArray(e)?e:e!=null&&e!==``?[e]:[]}function Ja(e){return!!e&&typeof e==`object`&&Array.isArray(e.conditions)&&(e.logic===`and`||e.logic===`or`)}var Ya={id:`root`,logic:`and`,conditions:[]};function Xa({fields:e=[],value:t,onChange:n,className:r,showClearAll:i=!0}){let[s,l]=a.useState(Ja(t)?t:Ya);a.useEffect(()=>{Ja(t)&&JSON.stringify(t)!==JSON.stringify(s)&&l(t)},[t]);let u=e=>{l(e),n?.(e)},d=()=>{let t={id:crypto.randomUUID(),field:e[0]?.value||``,operator:`equals`,value:``};u({...s,conditions:[...s.conditions,t]})},f=e=>{u({...s,conditions:s.conditions.filter(t=>t.id!==e)})},p=()=>{u({...s,conditions:[]})},m=(e,t)=>{u({...s,conditions:s.conditions.map(n=>n.id===e?{...n,...t}:n)})},h=()=>{u({...s,logic:s.logic===`and`?`or`:`and`})},g=t=>{let n=e.find(e=>e.value===t)?.type||`text`;return Ua.includes(n)?Ia.filter(e=>Ra.includes(e.value)):n===`boolean`?Ia.filter(e=>za.includes(e.value)):Wa.includes(n)?Ia.filter(e=>Ba.includes(e.value)):Ga.includes(n)?Ia.filter(e=>Va.includes(e.value)):Ka.includes(n)?Ia.filter(e=>Ha.includes(e.value)):Ia.filter(e=>La.includes(e.value))},_=e=>![`isEmpty`,`isNotEmpty`].includes(e),v=t=>{let n=e.find(e=>e.value===t)?.type||`text`;return Ua.includes(n)?`number`:n===`date`?`date`:n===`datetime`?`datetime-local`:n===`time`?`time`:`text`},y=t=>{let n=e.find(e=>e.value===t.field),r=[`in`,`notIn`].includes(t.operator);if(Ka.includes(n?.type||``)&&!n?.options&&(n?.referenceTo||n?.type===`user`||n?.type===`owner`))return(0,o.jsx)(Za,{field:n,value:t.value,multiple:r,onChange:e=>m(t.id,{value:e})});if(n?.options&&r){let e=qa(t.value);return(0,o.jsx)(`div`,{className:`max-h-40 overflow-y-auto space-y-0.5 border rounded-md p-2`,children:n.options.map(n=>{let r=e.map(String).includes(String(n.value));return(0,o.jsxs)(`label`,{className:B(`flex items-center gap-2 text-sm py-1 px-1.5 rounded cursor-pointer`,r?`bg-primary/5 text-primary`:`hover:bg-muted`),children:[(0,o.jsx)(yt,{checked:r,onCheckedChange:r=>{let i=r?[...e,n.value]:e.filter(e=>String(e)!==String(n.value));m(t.id,{value:i})}}),(0,o.jsx)(`span`,{className:`truncate`,children:n.label})]},n.value)})})}if(n?.options&&(Ga.includes(n.type||``)||Ka.includes(n.type||``)))return(0,o.jsxs)(Ir,{value:String(t.value||``),onValueChange:e=>m(t.id,{value:e}),children:[(0,o.jsx)(J,{className:`h-9 text-sm`,children:(0,o.jsx)(Rr,{placeholder:`Select value`})}),(0,o.jsx)(Y,{children:n.options.map(e=>(0,o.jsx)(X,{value:e.value,children:e.label},e.value))})]});if(n?.type===`boolean`)return(0,o.jsxs)(Ir,{value:String(t.value||``),onValueChange:e=>m(t.id,{value:e===`true`}),children:[(0,o.jsx)(J,{className:`h-9 text-sm`,children:(0,o.jsx)(Rr,{placeholder:`Select value`})}),(0,o.jsxs)(Y,{children:[(0,o.jsx)(X,{value:`true`,children:`True`}),(0,o.jsx)(X,{value:`false`,children:`False`})]})]});let i=v(t.field),a=()=>t.value?i===`date`&&typeof t.value==`string`?t.value.split(`T`)[0]:String(t.value):``,s=e=>{let r=e;Ua.includes(n?.type||``)&&e!==``?r=parseFloat(e)||0:Wa.includes(n?.type||``)&&(r=e),m(t.id,{value:r})};return(0,o.jsx)(q,{type:i,className:`h-9 text-sm`,placeholder:`Value`,value:a(),onChange:e=>s(e.target.value)})};return(0,o.jsxs)(`div`,{className:B(`space-y-3`,r),children:[(0,o.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,o.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,o.jsx)(`span`,{className:`text-sm font-medium`,children:`Where`}),s.conditions.length>1&&(0,o.jsx)(W,{variant:`outline`,size:`sm`,onClick:h,className:`h-7 text-xs`,children:s.logic.toUpperCase()})]}),i&&s.conditions.length>0&&(0,o.jsxs)(W,{variant:`ghost`,size:`sm`,onClick:p,className:`h-7 text-xs text-muted-foreground hover:text-destructive`,children:[(0,o.jsx)(c.Trash2,{className:`h-3 w-3 mr-1`}),`Clear all`]})]}),(0,o.jsx)(`div`,{className:`space-y-2`,children:s.conditions.map(t=>(0,o.jsxs)(`div`,{className:`flex items-start gap-2`,children:[(0,o.jsxs)(`div`,{className:`flex-1 grid grid-cols-12 gap-2`,children:[(0,o.jsx)(`div`,{className:`col-span-4`,children:(0,o.jsxs)(Ir,{value:t.field,onValueChange:e=>m(t.id,{field:e}),children:[(0,o.jsx)(J,{className:`h-9 text-sm`,children:(0,o.jsx)(Rr,{placeholder:`Select field`})}),(0,o.jsx)(Y,{children:e.map(e=>(0,o.jsx)(X,{value:e.value,children:e.label},e.value))})]})}),(0,o.jsx)(`div`,{className:`col-span-4`,children:(0,o.jsxs)(Ir,{value:t.operator,onValueChange:e=>m(t.id,{operator:e}),children:[(0,o.jsx)(J,{className:`h-9 text-sm`,children:(0,o.jsx)(Rr,{placeholder:`Operator`})}),(0,o.jsx)(Y,{children:g(t.field).map(e=>(0,o.jsx)(X,{value:e.value,children:e.label},e.value))})]})}),_(t.operator)&&(0,o.jsx)(`div`,{className:`col-span-4`,children:y(t)})]}),(0,o.jsxs)(W,{variant:`ghost`,size:`icon`,className:`h-9 w-9 shrink-0`,onClick:()=>f(t.id),children:[(0,o.jsx)(c.X,{className:`h-4 w-4`}),(0,o.jsx)(`span`,{className:`sr-only`,children:`Remove condition`})]})]},t.id))}),(0,o.jsxs)(W,{variant:`outline`,size:`sm`,onClick:d,className:`h-8`,disabled:e.length===0,children:[(0,o.jsx)(c.Plus,{className:`h-3 w-3`}),`Add filter`]})]})}Xa.displayName=`FilterBuilder`;function Za({field:e,value:t,multiple:n,onChange:r}){let s=a.useContext(i.SchemaRendererContext)?.dataSource??null,l=e.referenceTo||(e.type===`user`||e.type===`owner`?`users`:void 0),u=e.displayField||`name`,d=e.idField||`id`,[f,p]=a.useState(!1),[m,h]=a.useState(``),[g,_]=a.useState([]),[v,y]=a.useState(!1),[b,x]=a.useState(null),[S,C]=a.useState({}),w=a.useRef(null),T=a.useMemo(()=>n?qa(t).map(e=>String(e)):t==null||t===``?[]:[String(t)],[t,n]),E=s!=null&&typeof s.find==`function`&&!!l,D=a.useCallback(e=>{let t=e?.[d]??e?.id??e?._id,n=e?.[u]??e?.label??e?.name??String(t);return{value:t,label:String(n)}},[u,d]),O=a.useCallback(async e=>{if(E){y(!0),x(null);try{let t={$top:50};e&&e.trim()&&(t.$search=e.trim());let n=await s.find(l,t),r=(n?.data??n??[]).map(D);_(r),r.length>0&&C(e=>{let t={...e};for(let e of r)t[String(e.value)]=e.label;return t})}catch(e){x(e instanceof Error?e.message:String(e)),_([])}finally{y(!1)}}},[s,l,E,D]);a.useEffect(()=>{if(!E||T.length===0)return;let e=T.filter(e=>!(e in S));if(e.length===0)return;let t=!1;return(async()=>{try{let n=await s.find(l,{$top:e.length,$filter:{[d]:{$in:e}}}),r=n?.data??n??[];if(t)return;C(e=>{let t={...e};for(let e of r){let n=D(e);t[String(n.value)]=n.label}return t})}catch{}})(),()=>{t=!0}},[T,E,s,l,d,D,S]),a.useEffect(()=>{f&&E&&g.length===0&&O()},[f]);let k=e=>{h(e),E&&(w.current&&clearTimeout(w.current),w.current=setTimeout(()=>O(e||void 0),300))},A=e=>{if(n){let n=qa(t);r(n.map(String).includes(String(e))?n.filter(t=>String(t)!==String(e)):[...n,e])}else r(e),p(!1)};return E?(0,o.jsxs)(Tr,{open:f,onOpenChange:p,children:[(0,o.jsx)(Er,{asChild:!0,children:(0,o.jsxs)(`button`,{type:`button`,className:B(`inline-flex h-9 w-full items-center justify-between gap-2 rounded-md border border-input bg-background px-3 text-sm`,`hover:bg-accent hover:text-accent-foreground`,`focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-1`),"data-testid":`lookup-picker-${e.value}`,children:[T.length===0?(0,o.jsxs)(`span`,{className:`text-muted-foreground truncate`,children:[`Search `,e.label,`…`]}):n?(0,o.jsx)(`span`,{className:`truncate`,children:T.length===1?S[T[0]]||T[0]:`${T.length} selected`}):(0,o.jsx)(`span`,{className:`truncate`,children:S[T[0]]||T[0]}),(0,o.jsxs)(`span`,{className:`flex items-center gap-1 shrink-0`,children:[T.length>0&&(0,o.jsx)(c.X,{className:`h-3.5 w-3.5 opacity-60 hover:opacity-100`,onClick:e=>{e.stopPropagation(),r(n?[]:``)}}),(0,o.jsx)(c.ChevronDown,{className:`h-3.5 w-3.5 opacity-60`})]})]})}),(0,o.jsxs)(Dr,{align:`start`,className:`w-72 p-0`,children:[(0,o.jsxs)(`div`,{className:`flex items-center border-b px-3`,children:[(0,o.jsx)(c.Search,{className:`h-4 w-4 text-muted-foreground shrink-0`}),(0,o.jsx)(`input`,{autoFocus:!0,value:m,onChange:e=>k(e.target.value),placeholder:`Search ${e.label}…`,className:`flex h-9 w-full bg-transparent px-2 py-1 text-sm outline-none placeholder:text-muted-foreground`,"data-testid":`lookup-search-${e.value}`}),v&&(0,o.jsx)(c.Loader2,{className:`h-3.5 w-3.5 animate-spin text-muted-foreground`})]}),(0,o.jsxs)(`div`,{className:`max-h-64 overflow-y-auto p-1`,"data-testid":`lookup-options-${e.value}`,children:[b&&(0,o.jsx)(`div`,{className:`px-3 py-2 text-xs text-destructive`,children:b}),!b&&!v&&g.length===0&&(0,o.jsx)(`div`,{className:`px-3 py-4 text-center text-xs text-muted-foreground`,children:`No results`}),g.map(e=>{let t=T.includes(String(e.value));return(0,o.jsxs)(`label`,{className:B(`flex items-center gap-2 px-2 py-1.5 rounded text-sm cursor-pointer`,t?`bg-primary/5 text-primary`:`hover:bg-muted`),children:[n?(0,o.jsx)(yt,{checked:t,onCheckedChange:()=>A(e.value)}):(0,o.jsx)(`input`,{type:`radio`,checked:t,onChange:()=>A(e.value),className:`rounded-full border-input`}),(0,o.jsx)(`span`,{className:`truncate flex-1`,children:e.label})]},String(e.value))})]})]})]}):(0,o.jsx)(q,{className:`h-9 text-sm`,placeholder:`Enter ${e.label} id`,value:T[0]??``,onChange:e=>r(e.target.value)})}function Qa({fields:e=[],value:t=[],onChange:n,className:r}){let i=a.useCallback(e=>(e||[]).map((e,t)=>({id:e?.id??(typeof crypto<`u`&&crypto.randomUUID?crypto.randomUUID():`sort-${t}-${e?.field??``}`),field:e?.field??``,order:e?.order??e?.sortOrder??`asc`})),[]),[s,l]=a.useState(()=>i(t));a.useEffect(()=>{let e=i(t),n=e=>e.map(({id:e,...t})=>t);JSON.stringify(n(e))!==JSON.stringify(n(s))&&l(e)},[t,s,i]);let u=e=>{l(e),n?.(e)},d=()=>{let t={id:crypto.randomUUID(),field:e[0]?.value||``,order:`asc`};u([...s,t])},f=(e,t)=>{u(s.map(n=>n.id===e?{...n,...t}:n))},p=e=>{u(s.filter(t=>t.id!==e))};return(0,o.jsxs)(`div`,{className:B(`space-y-3`,r),children:[(0,o.jsx)(`div`,{className:`space-y-2`,children:s.map((t,n)=>(0,o.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,o.jsx)(`span`,{className:`text-sm font-medium w-16 text-muted-foreground`,children:n===0?`Sort by`:`Then by`}),(0,o.jsx)(`div`,{className:`flex-1`,children:(0,o.jsxs)(Ir,{value:t.field,onValueChange:e=>f(t.id,{field:e}),children:[(0,o.jsx)(J,{className:`h-9`,children:(0,o.jsx)(Rr,{placeholder:`Select field`})}),(0,o.jsx)(Y,{children:e.map(e=>(0,o.jsx)(X,{value:e.value,children:e.label},e.value))})]})}),(0,o.jsx)(`div`,{className:`w-28`,children:(0,o.jsxs)(Ir,{value:t.order,onValueChange:e=>f(t.id,{order:e}),children:[(0,o.jsx)(J,{className:`h-9`,children:(0,o.jsx)(Rr,{})}),(0,o.jsxs)(Y,{children:[(0,o.jsx)(X,{value:`asc`,children:`A -> Z`}),(0,o.jsx)(X,{value:`desc`,children:`Z -> A`})]})]})}),(0,o.jsx)(W,{variant:`ghost`,size:`icon`,className:`h-9 w-9 shrink-0`,onClick:()=>p(t.id),children:(0,o.jsx)(c.X,{className:`h-4 w-4`})})]},t.id))}),(0,o.jsxs)(W,{variant:`outline`,size:`sm`,onClick:d,className:`h-8`,disabled:e.length===0,children:[(0,o.jsx)(c.Plus,{className:`h-3 w-3 mr-2`}),`Add sort`]})]})}function $a({field:e,value:t,onChange:n,draft:r,objectDef:i}){if(e.visibleWhen&&!e.visibleWhen(r))return null;let a=e.disabled||(e.disabledWhen?e.disabledWhen(r):!1),s=t??e.defaultValue,l=null;switch(e.type){case`input`:l=(0,o.jsx)(Fa,{label:e.label,children:(0,o.jsx)(q,{"data-testid":`config-field-${e.key}`,className:`h-7 w-32 text-xs`,value:s??``,placeholder:e.placeholder,disabled:a,onChange:e=>n(e.target.value)})});break;case`textarea`:l=(0,o.jsx)(Fa,{label:e.label,className:`flex-col items-stretch gap-1`,children:(0,o.jsx)(ea,{"data-testid":`config-field-${e.key}`,className:`min-h-[60px] w-full text-xs`,value:s??``,placeholder:e.placeholder,disabled:a,rows:3,onChange:e=>n(e.target.value)})});break;case`switch`:l=(0,o.jsx)(Fa,{label:e.label,children:(0,o.jsx)(Vi,{"data-testid":`config-field-${e.key}`,checked:!!s,disabled:a,onCheckedChange:e=>n(e),className:`scale-75`})});break;case`checkbox`:l=(0,o.jsx)(Fa,{label:e.label,children:(0,o.jsx)(yt,{"data-testid":`config-field-${e.key}`,checked:!!s,disabled:a,onCheckedChange:e=>n(e)})});break;case`select`:l=(0,o.jsx)(Fa,{label:e.label,children:(0,o.jsxs)(Ir,{value:String(s??``),onValueChange:e=>n(e),disabled:a,children:[(0,o.jsx)(J,{"data-testid":`config-field-${e.key}`,className:`h-7 w-32 text-xs`,children:(0,o.jsx)(Rr,{placeholder:e.placeholder??`Select…`})}),(0,o.jsx)(Y,{children:(e.options??[]).map(e=>(0,o.jsx)(X,{value:e.value,children:e.label},e.value))})]})});break;case`slider`:l=(0,o.jsx)(Fa,{label:e.label,children:(0,o.jsxs)(`div`,{className:`flex items-center gap-2 w-32`,children:[(0,o.jsx)(zi,{"data-testid":`config-field-${e.key}`,value:[Number(s??e.min??0)],min:e.min??0,max:e.max??100,step:e.step??1,disabled:a,onValueChange:e=>n(e[0]),"aria-label":e.label}),(0,o.jsx)(`span`,{className:`text-xs text-muted-foreground w-6 text-right`,children:s??e.min??0})]})});break;case`color`:l=(0,o.jsx)(Fa,{label:e.label,children:(0,o.jsx)(`input`,{"data-testid":`config-field-${e.key}`,type:`color`,className:`h-7 w-10 rounded border cursor-pointer`,value:s??`#000000`,disabled:a,onChange:e=>n(e.target.value)})});break;case`icon-group`:l=(0,o.jsx)(Fa,{label:e.label,children:(0,o.jsx)(`div`,{className:`flex items-center gap-0.5`,"data-testid":`config-field-${e.key}`,children:(e.options??[]).map(e=>(0,o.jsx)(W,{type:`button`,size:`sm`,variant:s===e.value?`default`:`ghost`,className:B(`h-7 w-7 p-0`,s===e.value&&`ring-1 ring-primary`),disabled:a,onClick:()=>n(e.value),title:e.label,children:e.icon??(0,o.jsx)(`span`,{className:`text-[10px]`,children:e.label.charAt(0)})},e.value))})});break;case`field-picker`:l=(0,o.jsx)(Fa,{label:e.label,value:s??e.placeholder??`Select field…`,onClick:a?void 0:()=>{}});break;case`filter`:l=(0,o.jsxs)(`div`,{"data-testid":`config-field-${e.key}`,children:[(0,o.jsx)(Fa,{label:e.label}),(0,o.jsx)(Xa,{fields:e.fields,value:s,onChange:n,className:`px-1 pb-2`})]});break;case`sort`:l=(0,o.jsxs)(`div`,{"data-testid":`config-field-${e.key}`,children:[(0,o.jsx)(Fa,{label:e.label}),(0,o.jsx)(Qa,{fields:e.fields,value:s,onChange:n,className:`px-1 pb-2`})]});break;case`custom`:e.render&&(l=(0,o.jsx)(o.Fragment,{children:e.render(s,n,r)}));break;case`summary`:l=(0,o.jsx)(Fa,{label:e.label,onClick:e.onSummaryClick,children:(0,o.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,o.jsx)(`span`,{className:`text-xs text-foreground truncate max-w-[120px]`,"data-testid":`config-field-${e.key}-text`,children:e.summaryText??s??``}),e.onSummaryClick&&(0,o.jsx)(c.Settings,{className:`h-3.5 w-3.5 text-muted-foreground shrink-0`,"aria-hidden":`true`,"data-testid":`config-field-${e.key}-gear`})]})});break;default:break}return l?e.helpText?(0,o.jsxs)(`div`,{children:[l,(0,o.jsx)(`p`,{className:`text-[10px] text-muted-foreground mt-0.5 mb-1`,children:e.helpText})]}):(0,o.jsx)(o.Fragment,{children:l}):null}function eo({title:e,icon:t,collapsible:n,collapsed:r,onToggle:i,testId:a,className:s}){let l=(0,o.jsxs)(`h3`,{className:`text-xs font-semibold text-foreground uppercase tracking-wider flex items-center gap-1.5`,children:[t&&(0,o.jsx)(`span`,{className:`text-muted-foreground shrink-0`,"aria-hidden":`true`,children:t}),e]});return n?(0,o.jsxs)(`button`,{"data-testid":a,className:B(`flex items-center justify-between pt-4 pb-1.5 first:pt-0 w-full text-left`,s),onClick:i,type:`button`,"aria-expanded":!r,children:[l,r?(0,o.jsx)(c.ChevronRight,{className:`h-3 w-3 text-muted-foreground`}):(0,o.jsx)(c.ChevronDown,{className:`h-3 w-3 text-muted-foreground`})]}):(0,o.jsx)(`div`,{className:B(`pt-4 pb-1.5 first:pt-0`,s),"data-testid":a,children:l})}function to({open:e,onClose:t,schema:n,draft:r,isDirty:i,onFieldChange:s,onSave:l,onDiscard:u,headerExtra:d,objectDef:f,className:p,style:m,saveLabel:h=`Save`,discardLabel:g=`Discard`,panelRef:_,role:v,ariaLabel:y,tabIndex:b,testId:x,closeTitle:S,footerTestId:C,saveTestId:w,discardTestId:T,expandedSections:E,onUndo:D,onRedo:O,canUndo:k,canRedo:A,undoLabel:ee=`Undo`,redoLabel:j=`Redo`}){let[te,M]=(0,a.useState)({});if(!e)return null;let N=(e,t)=>{M(n=>({...n,[e]:!(n[e]??t??!1)}))},ne=(e,t)=>E&&E.includes(e)?!1:te[e]??t??!1;return(0,o.jsxs)(`div`,{ref:_,"data-testid":x??`config-panel`,role:v,"aria-label":y,tabIndex:b,style:m,className:B(`absolute inset-y-0 right-0 w-full sm:w-[var(--config-panel-width,280px)] sm:relative border-l bg-background flex flex-col shrink-0 z-20`,p),children:[(0,o.jsxs)(`div`,{className:`px-4 py-3 border-b flex items-center justify-between shrink-0`,children:[(0,o.jsx)(`nav`,{"aria-label":`breadcrumb`,children:(0,o.jsx)(`ol`,{className:`flex items-center gap-1 text-xs text-muted-foreground`,children:n.breadcrumb.map((e,t)=>(0,o.jsxs)(a.Fragment,{children:[t>0&&(0,o.jsx)(c.ChevronRight,{className:`h-3 w-3`}),(0,o.jsx)(`li`,{className:B(t===n.breadcrumb.length-1&&`text-foreground font-medium`),children:e})]},t))})}),(0,o.jsxs)(`div`,{className:`flex items-center gap-1`,children:[D&&(0,o.jsx)(W,{size:`sm`,variant:`ghost`,onClick:D,disabled:!k,className:`h-7 w-7 p-0`,"data-testid":`config-panel-undo`,title:ee,children:(0,o.jsx)(c.Undo2,{className:`h-3.5 w-3.5`})}),O&&(0,o.jsx)(W,{size:`sm`,variant:`ghost`,onClick:O,disabled:!A,className:`h-7 w-7 p-0`,"data-testid":`config-panel-redo`,title:j,children:(0,o.jsx)(c.Redo2,{className:`h-3.5 w-3.5`})}),d,(0,o.jsx)(W,{size:`sm`,variant:`ghost`,onClick:t,className:`h-7 w-7 p-0`,"data-testid":`config-panel-close`,title:S,children:(0,o.jsx)(c.X,{className:`h-3.5 w-3.5`})})]})]}),(0,o.jsx)(`div`,{className:`flex-1 overflow-auto px-4 pb-4`,children:n.sections.map((e,t)=>{if(e.visibleWhen&&!e.visibleWhen(r))return null;let n=ne(e.key,e.defaultCollapsed);return(0,o.jsxs)(`div`,{"data-testid":`config-section-${e.key}`,children:[t>0&&(0,o.jsx)(Ur,{className:`my-3`}),(0,o.jsx)(eo,{title:e.title,icon:e.icon,collapsible:e.collapsible,collapsed:n,onToggle:()=>N(e.key,e.defaultCollapsed),testId:`section-header-${e.key}`}),e.hint&&(0,o.jsx)(`p`,{className:`text-[10px] text-muted-foreground mb-1`,children:e.hint}),!n&&(0,o.jsxs)(`div`,{className:`space-y-1`,children:[e.fields.map(e=>(0,o.jsx)($a,{field:e,value:r[e.key],onChange:t=>s(e.key,t),draft:r,objectDef:f},e.key)),e.subsections?.map(e=>{if(e.visibleWhen&&!e.visibleWhen(r))return null;let t=ne(e.key,e.defaultCollapsed);return(0,o.jsxs)(`div`,{"data-testid":`config-subsection-${e.key}`,className:`ml-1`,role:`group`,"aria-label":e.title,children:[(0,o.jsx)(eo,{title:e.title,icon:e.icon,collapsible:e.collapsible,collapsed:t,onToggle:()=>N(e.key,e.defaultCollapsed),testId:`section-header-${e.key}`,className:`pt-2 pb-1`}),!t&&(0,o.jsx)(`div`,{className:`space-y-1`,children:e.fields.map(e=>(0,o.jsx)($a,{field:e,value:r[e.key],onChange:t=>s(e.key,t),draft:r,objectDef:f},e.key))})]},e.key)})]})]},e.key)})}),i&&(0,o.jsxs)(`div`,{className:`px-4 py-2 border-t flex gap-2 shrink-0`,"data-testid":C??`config-panel-footer`,children:[(0,o.jsxs)(W,{size:`sm`,onClick:l,"data-testid":w??`config-panel-save`,children:[(0,o.jsx)(c.Save,{className:`h-3.5 w-3.5 mr-1`}),h]}),(0,o.jsxs)(W,{size:`sm`,variant:`ghost`,onClick:u,"data-testid":T??`config-panel-discard`,children:[(0,o.jsx)(c.RotateCcw,{className:`h-3.5 w-3.5 mr-1`}),g]})]})]})}function no({date:e,onDateChange:t,placeholder:n=`Pick a date`,className:r,disabled:i}){return(0,o.jsxs)(Tr,{children:[(0,o.jsx)(Er,{asChild:!0,children:(0,o.jsxs)(W,{variant:`outline`,className:B(`w-[280px] justify-start text-left font-normal`,!e&&`text-muted-foreground`,r),disabled:i,children:[(0,o.jsx)(c.CalendarIcon,{className:`mr-2 h-4 w-4`}),e?(0,ce.format)(e,`PPP`):(0,o.jsx)(`span`,{children:n})]})}),(0,o.jsx)(Dr,{className:`w-auto p-0`,children:(0,o.jsx)(Je,{mode:`single`,selected:e,onSelect:t,initialFocus:!0})})]})}function ro(){try{let{t:e}=(0,L.useObjectTranslation)(),t=e(`detail.noValue`);return!t||t===`detail.noValue`?`No value`:t}catch{return`No value`}}function io({className:e,...t}){return(0,o.jsx)(`div`,{"data-slot":`empty`,className:B(`flex min-w-0 flex-1 flex-col items-center justify-center gap-6 rounded-lg border-dashed p-6 text-center text-balance md:p-12`,e),...t})}function ao({className:e,...t}){return(0,o.jsx)(`div`,{"data-slot":`empty-header`,className:B(`flex max-w-sm flex-col items-center gap-2 text-center`,e),...t})}var oo=(0,d.cva)(`flex shrink-0 items-center justify-center mb-2 [&_svg]:pointer-events-none [&_svg]:shrink-0`,{variants:{variant:{default:`bg-transparent`,icon:`bg-muted text-foreground flex size-10 shrink-0 items-center justify-center rounded-lg [&_svg:not([class*='size-'])]:size-6`}},defaultVariants:{variant:`default`}});function so({className:e,variant:t=`default`,...n}){return(0,o.jsx)(`div`,{"data-slot":`empty-icon`,"data-variant":t,className:B(oo({variant:t,className:e})),...n})}function co({className:e,...t}){return(0,o.jsx)(`div`,{"data-slot":`empty-title`,className:B(`text-lg font-medium tracking-tight`,e),...t})}function lo({className:e,...t}){return(0,o.jsx)(`div`,{"data-slot":`empty-description`,className:B(`text-muted-foreground [&>a:hover]:text-primary text-sm/relaxed [&>a]:underline [&>a]:underline-offset-4`,e),...t})}function uo({className:e,...t}){return(0,o.jsx)(`div`,{"data-slot":`empty-content`,className:B(`flex w-full max-w-sm min-w-0 flex-col items-center gap-4 text-sm text-balance`,e),...t})}function fo({className:e,glyph:t=`—`,...n}){return(0,o.jsx)(`span`,{"data-slot":`empty-value`,"aria-label":ro(),className:B(`select-none text-muted-foreground/50 no-underline pointer-events-none`,e),...n,children:t})}var po=(0,d.cva)(`space-y-2`),mo=a.forwardRef(({className:e,label:t,description:n,error:r,required:i,htmlFor:s,children:c,...l},d)=>{let f=a.useId(),p=s||f,m=`${p}-description`,h=`${p}-error`;return(0,o.jsxs)(`div`,{ref:d,className:B(po(),e),...l,children:[t&&(0,o.jsx)(K,{htmlFor:p,className:B(r&&`text-destructive`,i&&`after:content-['*'] after:ml-0.5 after:text-destructive`),children:t}),(0,o.jsx)(u.Slot,{id:p,"aria-describedby":[n&&m,r&&h].filter(Boolean).join(` `)||void 0,"aria-invalid":!!r,children:c}),n&&!r&&(0,o.jsx)(`p`,{id:m,className:`text-[0.8rem] text-muted-foreground`,children:n}),r&&(0,o.jsx)(`p`,{id:h,className:`text-[0.8rem] font-medium text-destructive`,children:r})]})});mo.displayName=`Field`;var ho=a.forwardRef(({className:e,startContent:t,endContent:n,children:r,...i},a)=>(0,o.jsxs)(`div`,{ref:a,className:B(`flex w-full items-center rounded-md border border-input bg-transparent ring-offset-background focus-within:ring-2 focus-within:ring-ring focus-within:ring-offset-2`,`has-[[data-invalid]]:border-destructive`,e),...i,children:[t&&(0,o.jsx)(`div`,{className:`flex items-center px-3 text-muted-foreground bg-muted/50 border-r h-full self-stretch rounded-l-md`,children:t}),(0,o.jsx)(`div`,{className:`flex-1 relative [&_input]:border-0 [&_input]:shadow-none [&_input]:focus-visible:ring-0 [&_input]:bg-transparent`,children:r}),n&&(0,o.jsx)(`div`,{className:`flex items-center px-3 text-muted-foreground bg-muted/50 border-l h-full self-stretch rounded-r-md`,children:n})]}));ho.displayName=`InputGroup`;function go({className:e,...t}){return(0,o.jsx)(`div`,{role:`list`,"data-slot":`item-group`,className:B(`group/item-group flex flex-col`,e),...t})}function _o({className:e,...t}){return(0,o.jsx)(Ur,{"data-slot":`item-separator`,orientation:`horizontal`,className:B(`my-0`,e),...t})}var vo=(0,d.cva)(`group/item flex items-center border border-transparent text-sm rounded-md transition-colors [a]:hover:bg-accent/50 [a]:transition-colors duration-100 flex-wrap outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]`,{variants:{variant:{default:`bg-transparent`,outline:`border-border`,muted:`bg-muted/50`},size:{default:`p-4 gap-4 `,sm:`py-3 px-4 gap-2.5`}},defaultVariants:{variant:`default`,size:`default`}});function yo({className:e,variant:t=`default`,size:n=`default`,asChild:r=!1,...i}){return(0,o.jsx)(r?u.Slot:`div`,{"data-slot":`item`,"data-variant":t,"data-size":n,className:B(vo({variant:t,size:n,className:e})),...i})}var bo=(0,d.cva)(`flex shrink-0 items-center justify-center gap-2 group-has-[[data-slot=item-description]]/item:self-start [&_svg]:pointer-events-none group-has-[[data-slot=item-description]]/item:translate-y-0.5`,{variants:{variant:{default:`bg-transparent`,icon:`size-8 border rounded-sm bg-muted [&_svg:not([class*='size-'])]:size-4`,image:`size-10 rounded-sm overflow-hidden [&_img]:size-full [&_img]:object-cover`}},defaultVariants:{variant:`default`}});function xo({className:e,variant:t=`default`,...n}){return(0,o.jsx)(`div`,{"data-slot":`item-media`,"data-variant":t,className:B(bo({variant:t,className:e})),...n})}function So({className:e,...t}){return(0,o.jsx)(`div`,{"data-slot":`item-content`,className:B(`flex flex-1 flex-col gap-1 [&+[data-slot=item-content]]:flex-none`,e),...t})}function Co({className:e,...t}){return(0,o.jsx)(`div`,{"data-slot":`item-title`,className:B(`flex w-fit items-center gap-2 text-sm leading-snug font-medium`,e),...t})}function wo({className:e,...t}){return(0,o.jsx)(`p`,{"data-slot":`item-description`,className:B(`text-muted-foreground line-clamp-2 text-sm leading-normal font-normal text-balance`,`[&>a:hover]:text-primary [&>a]:underline [&>a]:underline-offset-4`,e),...t})}function To({className:e,...t}){return(0,o.jsx)(`div`,{"data-slot":`item-actions`,className:B(`flex items-center gap-2`,e),...t})}function Eo({className:e,...t}){return(0,o.jsx)(`div`,{"data-slot":`item-header`,className:B(`flex basis-full items-center justify-between gap-2`,e),...t})}function Do({className:e,...t}){return(0,o.jsx)(`div`,{"data-slot":`item-footer`,className:B(`flex basis-full items-center justify-between gap-2`,e),...t})}function Oo({className:e,...t}){return(0,o.jsx)(`kbd`,{"data-slot":`kbd`,className:B(`bg-muted text-muted-foreground pointer-events-none inline-flex h-5 w-fit min-w-5 items-center justify-center gap-1 rounded-sm px-1 font-sans text-xs font-medium select-none`,`[&_svg:not([class*='size-'])]:size-3`,`[[data-slot=tooltip-content]_&]:bg-background/20 [[data-slot=tooltip-content]_&]:text-background dark:[[data-slot=tooltip-content]_&]:bg-background/10`,e),...t})}function ko({className:e,...t}){return(0,o.jsx)(`kbd`,{"data-slot":`kbd-group`,className:B(`inline-flex items-center gap-1`,e),...t})}var Ao=a.forwardRef(({className:e,children:t,...n},r)=>(0,o.jsx)(`select`,{className:B(`flex h-10 w-full items-center justify-between rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50`,e),ref:r,...n,children:t}));Ao.displayName=`NativeSelect`;function jo(e){if(e!=null)return typeof e==`number`?`${e}px`:e}function Mo(e){let t=jo(e);return t?{"--ov-w":t}:{}}var No=360,Po=.95;function Fo(e){let[t,n]=a.default.useState(null),r=a.default.useRef(!1);return a.default.useEffect(()=>{if(!(!e||typeof window>`u`))try{let t=window.localStorage.getItem(`ov:${e}`);if(!t)return;let r=Number(t);Number.isFinite(r)&&r>=No&&n(r)}catch{}},[e]),{width:t,handleMouseDown:a.default.useCallback(t=>{if(!e||typeof window>`u`)return;t.preventDefault(),r.current=!0;let i=Math.floor(window.innerWidth*Po);document.body.style.cursor=`col-resize`,document.body.style.userSelect=`none`;let a=e=>{r.current&&n(Math.min(i,Math.max(No,window.innerWidth-e.clientX)))},o=()=>{r.current=!1,document.body.style.cursor=``,document.body.style.userSelect=``,window.removeEventListener(`mousemove`,a),window.removeEventListener(`mouseup`,o),n(t=>{if(t!=null)try{window.localStorage.setItem(`ov:${e}`,String(t))}catch{}return t})};window.addEventListener(`mousemove`,a),window.addEventListener(`mouseup`,o)},[e]),handleDoubleClick:a.default.useCallback(()=>{if(!(!e||typeof window>`u`)){n(null);try{window.localStorage.removeItem(`ov:${e}`)}catch{}}},[e]),enabled:!!e}}var Io=({isOpen:e,selectedRecord:t,mode:n,close:r,setIsOpen:i,width:a,view:s,title:l,description:u,className:d,children:f,renderView:p,mainContent:m,popoverTrigger:h,onExpand:g,expandLabel:_=`Open as full page`,storageKey:v})=>{if(n===`page`||n===`new_window`||n===`none`||!t)return null;let y=Mo(a),b=l||`Record Detail`,x=Fo(n===`drawer`?v:void 0),S=jo(a)??`42rem`,C=x.width==null?{"--ov-w":`max(${S}, min(60vw, 880px))`}:{"--ov-w":`${x.width}px`},w=e=>p&&s?p(e,s):f(e);if(n===`drawer`)return(0,o.jsx)(Wr,{open:e,onOpenChange:i,children:(0,o.jsxs)(Xr,{side:`right`,className:B(`w-screen max-w-none sm:w-full sm:max-w-[var(--ov-w,42rem)] p-0 flex flex-col gap-0 overflow-hidden`,`[&>button:last-of-type]:hidden`,d),style:C,children:[x.enabled&&(0,o.jsx)(`div`,{role:`separator`,"aria-orientation":`vertical`,"aria-label":`Resize drawer`,onMouseDown:x.handleMouseDown,onDoubleClick:x.handleDoubleClick,className:`hidden sm:block absolute left-0 top-0 bottom-0 z-30 w-1 cursor-col-resize bg-transparent hover:bg-primary/40 active:bg-primary/60 transition-colors`,style:{touchAction:`none`}}),(0,o.jsxs)(Zr,{className:`shrink-0 flex-row items-center justify-between gap-2 space-y-0 px-4 py-2 border-b bg-muted/30`,children:[(0,o.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,o.jsx)($r,{className:`truncate text-xs font-medium tracking-wide text-muted-foreground`,children:b}),u&&(0,o.jsx)(ei,{className:`truncate text-xs`,children:u})]}),(0,o.jsxs)(`div`,{className:`flex shrink-0 items-center gap-0.5`,children:[g&&(0,o.jsx)(`button`,{type:`button`,onClick:g,"aria-label":_,title:_,className:`inline-flex h-7 w-7 items-center justify-center rounded-md text-muted-foreground transition-colors hover:bg-accent hover:text-foreground focus:outline-none focus-visible:ring-2 focus-visible:ring-ring`,children:(0,o.jsx)(c.Maximize2,{className:`h-3.5 w-3.5`})}),(0,o.jsx)(Kr,{asChild:!0,children:(0,o.jsx)(`button`,{type:`button`,"aria-label":`Close`,title:`Close`,className:`inline-flex h-7 w-7 items-center justify-center rounded-md text-muted-foreground transition-colors hover:bg-accent hover:text-foreground focus:outline-none focus-visible:ring-2 focus-visible:ring-ring`,children:(0,o.jsx)(c.X,{className:`h-3.5 w-3.5`})})})]})]}),(0,o.jsx)(`div`,{className:`flex-1 min-h-0 overflow-y-auto`,children:w(t)})]})});if(n===`modal`)return(0,o.jsx)(Ct,{open:e,onOpenChange:i,children:(0,o.jsxs)(Ot,{className:B(`w-[calc(100vw-1rem)] max-w-none sm:max-w-[var(--ov-w,42rem)] max-h-[90vh] overflow-y-auto`,d),style:y,children:[g&&(0,o.jsx)(`button`,{type:`button`,onClick:g,"aria-label":_,title:_,className:`absolute right-12 top-4 z-10 inline-flex h-7 w-7 items-center justify-center rounded-md text-muted-foreground hover:bg-accent hover:text-accent-foreground transition-colors`,children:(0,o.jsx)(c.Maximize2,{className:`h-4 w-4`})}),(0,o.jsxs)(kt,{children:[(0,o.jsx)(jt,{children:b}),u&&(0,o.jsx)(Mt,{children:u})]}),(0,o.jsx)(`div`,{className:`mt-4`,children:w(t)})]})});if(n===`split`){if(!e||!m)return null;let n=a&&typeof a==`number`?Math.min(70,Math.max(20,a/1200*100)):40,i=100-n;return(0,o.jsxs)(jr,{direction:`horizontal`,className:B(`h-full`,d),children:[(0,o.jsx)(Mr,{defaultSize:i,minSize:30,children:m}),(0,o.jsx)(Nr,{withHandle:!0}),(0,o.jsx)(Mr,{defaultSize:n,minSize:20,children:(0,o.jsxs)(`div`,{className:`h-full overflow-y-auto p-4`,children:[(0,o.jsxs)(`div`,{className:`flex items-center justify-between mb-4`,children:[(0,o.jsx)(`h3`,{className:`text-lg font-semibold`,children:b}),(0,o.jsx)(`button`,{onClick:r,className:`rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2`,"aria-label":`Close panel`,children:(0,o.jsxs)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`16`,height:`16`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,o.jsx)(`line`,{x1:`18`,y1:`6`,x2:`6`,y2:`18`}),(0,o.jsx)(`line`,{x1:`6`,y1:`6`,x2:`18`,y2:`18`})]})})]}),u&&(0,o.jsx)(`p`,{className:`text-sm text-muted-foreground mb-4`,children:u}),w(t)]})})]})}return n===`popover`?h?(0,o.jsxs)(Tr,{open:e,onOpenChange:i,children:[h&&(0,o.jsx)(Er,{asChild:!0,children:h}),(0,o.jsx)(Dr,{className:B(`w-96 max-h-[400px] overflow-y-auto p-4`,d),style:y,children:(0,o.jsxs)(`div`,{className:`space-y-2`,children:[(0,o.jsx)(`h4`,{className:`text-sm font-semibold`,children:b}),u&&(0,o.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:u}),w(t)]})})]}):e?(0,o.jsx)(Ct,{open:e,onOpenChange:i,children:(0,o.jsxs)(Ot,{className:B(`w-96 max-h-[80vh] overflow-y-auto p-4`,d),style:y,children:[(0,o.jsxs)(kt,{children:[(0,o.jsx)(jt,{className:`text-sm`,children:b}),u&&(0,o.jsx)(Mt,{className:`text-xs`,children:u})]}),(0,o.jsx)(`div`,{className:`mt-2`,children:w(t)})]})}):null:null};Io.displayName=`NavigationOverlay`;function Lo({className:e,...t}){return(0,o.jsx)(`div`,{role:`status`,"aria-label":`Loading`,className:B(`flex items-center justify-center`,e),...t,children:(0,o.jsx)(c.Loader2,{className:`animate-spin text-muted-foreground w-full h-full min-w-4 min-h-4`})})}var Ro={addGroup:`Add group field`,collapseTitle:`Collapsed by default`,removeTitle:`Remove`,ascendingTitle:`Ascending`,descendingTitle:`Descending`};function zo({value:e,onChange:t,fieldOptions:n,maxLevels:r=3,className:i,labels:a}){let s={...Ro,...a||{}},l=e?.fields??[],u=new Set(l.map(e=>e.field)),d=e=>{t(e.length?{fields:e}:void 0)};return(0,o.jsxs)(`div`,{"data-testid":`grouping-editor`,className:B(`flex flex-col gap-1.5 w-full`,i),children:[l.map((e,t)=>(0,o.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,o.jsx)(`select`,{"data-testid":`grouping-field-${t}`,className:`text-xs h-7 rounded-md border border-input bg-background px-2 text-foreground flex-1 min-w-0`,value:e.field,onChange:n=>{let r=[...l];r[t]={...e,field:n.target.value},d(r)},children:n.filter(t=>t.value===e.field||!u.has(t.value)).map(e=>(0,o.jsx)(`option`,{value:e.value,children:e.label},e.value))}),(0,o.jsx)(`button`,{type:`button`,title:e.order===`asc`?s.ascendingTitle:s.descendingTitle,"data-testid":`grouping-order-${t}`,className:`flex h-7 w-7 items-center justify-center rounded-md border border-input bg-background text-foreground hover:bg-muted`,onClick:()=>{let n=[...l];n[t]={...e,order:e.order===`asc`?`desc`:`asc`},d(n)},children:e.order===`asc`?(0,o.jsx)(c.ArrowUp,{className:`h-3 w-3`}):(0,o.jsx)(c.ArrowDown,{className:`h-3 w-3`})}),(0,o.jsx)(`label`,{title:s.collapseTitle,className:`flex items-center text-xs text-muted-foreground`,children:(0,o.jsx)(`input`,{type:`checkbox`,"data-testid":`grouping-collapsed-${t}`,className:`h-3 w-3`,checked:e.collapsed,onChange:n=>{let r=[...l];r[t]={...e,collapsed:n.target.checked},d(r)}})}),(0,o.jsx)(`button`,{type:`button`,title:s.removeTitle,"data-testid":`grouping-remove-${t}`,className:`flex h-7 w-7 items-center justify-center rounded-md border border-input bg-background text-muted-foreground hover:bg-muted hover:text-destructive`,onClick:()=>{d(l.filter((e,n)=>n!==t))},children:(0,o.jsx)(c.X,{className:`h-3 w-3`})})]},t)),l.length<r&&(()=>{let e=n.filter(e=>!u.has(e.value));return e.length===0?null:(0,o.jsxs)(`button`,{type:`button`,"data-testid":`grouping-add`,className:`flex h-7 items-center gap-1 self-start rounded-md border border-dashed border-input bg-background px-2 text-xs text-muted-foreground hover:bg-muted hover:text-foreground`,onClick:()=>{d([...l,{field:e[0].value,order:`asc`,collapsed:!1}])},children:[(0,o.jsx)(c.Plus,{className:`h-3 w-3`}),s.addGroup]})})()]})}var Bo=({params:e,open:t,onSubmit:n,onCancel:r,title:i=`Action Parameters`,description:s=`Please provide the required parameters.`})=>{let[c,l]=(0,a.useState)(()=>{let t={};return e.forEach(e=>{e.defaultValue===void 0?t[e.name]=e.type===`boolean`?!1:``:t[e.name]=e.defaultValue}),t}),[u,d]=(0,a.useState)({}),f=(0,a.useCallback)((e,t)=>{l(n=>({...n,[e]:t})),d(t=>{let n={...t};return delete n[e],n})},[]),p=(0,a.useCallback)(()=>{let t={};if(e.forEach(e=>{if(e.required){let n=c[e.name];(n==null||n===``)&&(t[e.name]=`${e.label} is required`)}}),Object.keys(t).length>0){d(t);return}n(c)},[e,c,n]);return(0,o.jsx)(Ct,{open:t,onOpenChange:e=>{e||r()},children:(0,o.jsxs)(Ot,{className:`sm:max-w-[425px]`,children:[(0,o.jsxs)(kt,{children:[(0,o.jsx)(jt,{children:i}),(0,o.jsx)(Mt,{children:s})]}),(0,o.jsx)(`div`,{className:`space-y-4 py-4`,children:e.map(e=>{let t=c[e.name],n=u[e.name];switch(e.type){case`textarea`:return(0,o.jsxs)(`div`,{className:`space-y-2`,children:[(0,o.jsxs)(K,{htmlFor:e.name,children:[e.label,e.required&&(0,o.jsx)(`span`,{className:`text-destructive ml-1`,children:`*`})]}),(0,o.jsx)(ea,{id:e.name,value:t||``,onChange:t=>f(e.name,t.target.value),placeholder:e.placeholder}),e.helpText&&(0,o.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:e.helpText}),n&&(0,o.jsx)(`p`,{className:`text-sm text-destructive`,children:n})]},e.name);case`number`:return(0,o.jsxs)(`div`,{className:`space-y-2`,children:[(0,o.jsxs)(K,{htmlFor:e.name,children:[e.label,e.required&&(0,o.jsx)(`span`,{className:`text-destructive ml-1`,children:`*`})]}),(0,o.jsx)(q,{id:e.name,type:`number`,value:t??``,onChange:t=>f(e.name,Number.isNaN(t.target.valueAsNumber)?``:t.target.valueAsNumber),placeholder:e.placeholder}),e.helpText&&(0,o.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:e.helpText}),n&&(0,o.jsx)(`p`,{className:`text-sm text-destructive`,children:n})]},e.name);case`boolean`:return(0,o.jsxs)(`div`,{className:`flex items-center space-x-2`,children:[(0,o.jsx)(yt,{id:e.name,checked:!!t,onCheckedChange:t=>f(e.name,!!t)}),(0,o.jsx)(K,{htmlFor:e.name,children:e.label}),e.helpText&&(0,o.jsx)(`p`,{className:`text-sm text-muted-foreground ml-2`,children:e.helpText})]},e.name);case`select`:return(0,o.jsxs)(`div`,{className:`space-y-2`,children:[(0,o.jsxs)(K,{htmlFor:e.name,children:[e.label,e.required&&(0,o.jsx)(`span`,{className:`text-destructive ml-1`,children:`*`})]}),(0,o.jsxs)(Ir,{value:t||``,onValueChange:t=>f(e.name,t),children:[(0,o.jsx)(J,{children:(0,o.jsx)(Rr,{placeholder:e.placeholder||`Select...`})}),(0,o.jsx)(Y,{children:e.options?.map(e=>(0,o.jsx)(X,{value:e.value,children:e.label},e.value))})]}),e.helpText&&(0,o.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:e.helpText}),n&&(0,o.jsx)(`p`,{className:`text-sm text-destructive`,children:n})]},e.name);case`date`:return(0,o.jsxs)(`div`,{className:`space-y-2`,children:[(0,o.jsxs)(K,{htmlFor:e.name,children:[e.label,e.required&&(0,o.jsx)(`span`,{className:`text-destructive ml-1`,children:`*`})]}),(0,o.jsx)(q,{id:e.name,type:`date`,value:t||``,onChange:t=>f(e.name,t.target.value)}),e.helpText&&(0,o.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:e.helpText}),n&&(0,o.jsx)(`p`,{className:`text-sm text-destructive`,children:n})]},e.name);default:return(0,o.jsxs)(`div`,{className:`space-y-2`,children:[(0,o.jsxs)(K,{htmlFor:e.name,children:[e.label,e.required&&(0,o.jsx)(`span`,{className:`text-destructive ml-1`,children:`*`})]}),(0,o.jsx)(q,{id:e.name,type:`text`,value:t||``,onChange:t=>f(e.name,t.target.value),placeholder:e.placeholder}),e.helpText&&(0,o.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:e.helpText}),n&&(0,o.jsx)(`p`,{className:`text-sm text-destructive`,children:n})]},e.name)}})}),(0,o.jsxs)(At,{children:[(0,o.jsx)(W,{variant:`outline`,onClick:r,children:`Cancel`}),(0,o.jsx)(W,{onClick:p,children:`Continue`})]})]})})};Bo.displayName=`ActionParamDialog`;function Vo({rows:e=5,columns:t=4,className:n,...r}){return(0,o.jsxs)(`div`,{"data-slot":`grid-skeleton`,className:B(`w-full space-y-2`,n),...r,children:[(0,o.jsx)(`div`,{className:`flex gap-4 px-4 py-2`,children:Array.from({length:t}).map((e,t)=>(0,o.jsx)(Z,{className:`h-4 flex-1 rounded`},t))}),Array.from({length:e}).map((e,n)=>(0,o.jsx)(`div`,{className:`flex gap-4 rounded-md border px-4 py-3`,children:Array.from({length:t}).map((e,t)=>(0,o.jsx)(Z,{className:B(`h-4 flex-1 rounded`,t===0&&`max-w-[40%]`)},t))},n))]})}function Ho({columns:e=3,cardsPerColumn:t=3,className:n,...r}){return(0,o.jsx)(`div`,{"data-slot":`kanban-skeleton`,className:B(`flex gap-4 overflow-x-auto`,n),...r,children:Array.from({length:e}).map((e,n)=>(0,o.jsxs)(`div`,{className:`flex w-72 shrink-0 flex-col gap-3 rounded-lg border bg-muted/30 p-3`,children:[(0,o.jsx)(Z,{className:`h-5 w-24 rounded`}),Array.from({length:t}).map((e,t)=>(0,o.jsxs)(`div`,{className:`space-y-2 rounded-md border bg-background p-3`,children:[(0,o.jsx)(Z,{className:`h-4 w-3/4 rounded`}),(0,o.jsx)(Z,{className:`h-3 w-1/2 rounded`})]},t))]},n))})}function Uo({rows:e=4,className:t,...n}){return(0,o.jsxs)(`div`,{"data-slot":`form-skeleton`,className:B(`w-full max-w-lg space-y-6`,t),...n,children:[Array.from({length:e}).map((e,t)=>(0,o.jsxs)(`div`,{className:`space-y-2`,children:[(0,o.jsx)(Z,{className:`h-4 w-28 rounded`}),(0,o.jsx)(Z,{className:`h-9 w-full rounded-md`})]},t)),(0,o.jsx)(Z,{className:`h-9 w-24 rounded-md`})]})}function Wo({rows:e=5,className:t,...n}){return(0,o.jsx)(`div`,{"data-slot":`list-skeleton`,className:B(`w-full space-y-3`,t),...n,children:Array.from({length:e}).map((e,t)=>(0,o.jsxs)(`div`,{className:`flex items-center gap-3 rounded-md border px-4 py-3`,children:[(0,o.jsx)(Z,{className:`size-8 shrink-0 rounded-full`}),(0,o.jsxs)(`div`,{className:`flex-1 space-y-2`,children:[(0,o.jsx)(Z,{className:`h-4 w-3/5 rounded`}),(0,o.jsx)(Z,{className:`h-3 w-2/5 rounded`})]})]},t))})}function Go({className:e,...t}){return(0,o.jsxs)(`div`,{"data-slot":`chart-skeleton`,className:B(`w-full space-y-4`,e),...t,children:[(0,o.jsx)(Z,{className:`h-5 w-40 rounded`}),(0,o.jsx)(`div`,{className:`flex h-48 items-end gap-2 rounded-md border p-4`,children:[`h-2/5`,`h-3/5`,`h-1/3`,`h-4/5`,`h-1/2`,`h-3/4`,`h-2/5`].map((e,t)=>(0,o.jsx)(Z,{className:B(`flex-1 rounded-t`,e)},t))}),(0,o.jsxs)(`div`,{className:`flex gap-4`,children:[(0,o.jsx)(Z,{className:`h-3 w-16 rounded`}),(0,o.jsx)(Z,{className:`h-3 w-16 rounded`}),(0,o.jsx)(Z,{className:`h-3 w-16 rounded`})]})]})}function Ko({variant:e,...t}){switch(e){case`grid`:return(0,o.jsx)(Vo,{...t});case`kanban`:return(0,o.jsx)(Ho,{...t});case`form`:return(0,o.jsx)(Uo,{...t});case`list`:return(0,o.jsx)(Wo,{...t});case`chart`:return(0,o.jsx)(Go,{...t})}}function qo({className:e,...t}){return(0,o.jsx)(`div`,{"data-slot":`shimmer-skeleton`,className:B(`rounded-md bg-muted`,`motion-safe:bg-[linear-gradient(90deg,hsl(var(--muted))_0%,hsl(var(--muted-foreground)/0.12)_50%,hsl(var(--muted))_100%)]`,`motion-safe:bg-[length:200%_100%] motion-safe:animate-shimmer`,e),...t})}var Jo={"zh-CN":{addToFavorites:`加入收藏`,removeFromFavorites:`从收藏移除`,copyRecordId:`复制记录 ID`,copied:`已复制`},"zh-TW":{addToFavorites:`加入收藏`,removeFromFavorites:`從收藏移除`,copyRecordId:`複製記錄 ID`,copied:`已複製`}},Yo=()=>{if(typeof document<`u`){let e=document.documentElement?.lang;if(e)return e}return typeof navigator<`u`&&navigator.language?navigator.language:`en`},Xo=(e,t)=>{let n=Yo(),r=Jo[n],i=n.split(`-`)[0],a=r||(i===`zh`?Jo[`zh-CN`]:void 0);return a&&a[e]||t},Zo=({title:e,icon:t,objectLabel:n,resourceId:r,showStar:i=!0,showCopyId:s=!0,isFavorite:l,onToggleFavorite:u,className:d,inlineExtras:f})=>{let[p,m]=a.default.useState(!1),[h,g]=a.default.useState(!1),_=l??p,v=a.default.useCallback(()=>{let e=!_;u&&u(e),l===void 0&&m(e)},[_,l,u]),y=a.default.useCallback(()=>{if(r)try{typeof navigator<`u`&&navigator.clipboard&&navigator.clipboard.writeText(r),g(!0),setTimeout(()=>g(!1),1500)}catch{}},[r]),b=_?Xo(`removeFromFavorites`,`Remove from favourites`):Xo(`addToFavorites`,`Add to favourites`),x=h?Xo(`copied`,`Copied`):Xo(`copyRecordId`,`Copy record ID`);return(0,o.jsx)(ri,{children:(0,o.jsx)(`div`,{className:B(`flex flex-col min-w-0`,d),children:(0,o.jsxs)(`div`,{className:`flex items-baseline gap-2 flex-wrap`,children:[t&&(0,o.jsx)(`span`,{className:`text-muted-foreground shrink-0 self-center`,"aria-hidden":!0,children:t}),(0,o.jsx)(`h1`,{className:`text-xl sm:text-2xl font-bold truncate`,children:e}),n&&(0,o.jsx)(`span`,{className:`text-xs font-medium tracking-wide text-muted-foreground/70 shrink-0`,children:n}),s&&r&&(0,o.jsxs)(ii,{children:[(0,o.jsx)(ai,{asChild:!0,children:(0,o.jsx)(W,{variant:`ghost`,size:`icon`,className:`h-5 w-5 shrink-0 text-muted-foreground/50 hover:text-foreground`,onClick:y,"aria-label":x,children:h?(0,o.jsx)(c.Check,{className:`h-3 w-3 text-green-600`}):(0,o.jsx)(c.Copy,{className:`h-3 w-3`})})}),(0,o.jsx)(oi,{children:x})]}),i&&(0,o.jsxs)(ii,{children:[(0,o.jsx)(ai,{asChild:!0,children:(0,o.jsx)(W,{variant:`ghost`,size:`icon`,className:`h-6 w-6 shrink-0`,onClick:v,"aria-label":b,"aria-pressed":_,children:(0,o.jsx)(c.Star,{className:B(`h-4 w-4`,_?`fill-yellow-400 text-yellow-400`:`text-muted-foreground`)})})}),(0,o.jsx)(oi,{children:b})]}),f]})})})},Qo=!1;function $o(){if(Qo||typeof document>`u`)return;let e=`objui-refresh-indicator-kf`;if(document.getElementById(e)){Qo=!0;return}let t=document.createElement(`style`);t.id=e,t.textContent=`
|
|
14
14
|
@keyframes objui-refresh-bar {
|
|
15
15
|
0% { transform: translateX(-100%); }
|
|
16
16
|
100% { transform: translateX(400%); }
|
|
17
17
|
}
|
|
18
|
-
`,document.head.appendChild(t),Zo=!0}var $o=({active:e,ariaLabel:t=`Refreshing`,className:n,...r})=>(a.useEffect(()=>{e&&Qo()},[e]),e?(0,o.jsx)(`div`,{className:B(`pointer-events-none absolute inset-x-0 top-0 z-20 h-0.5 overflow-hidden`,n),role:`progressbar`,"aria-busy":`true`,"aria-label":t,"data-testid":`refresh-indicator`,...r,children:(0,o.jsx)(`div`,{className:`h-full w-1/4 rounded-full bg-primary/70`,style:{animation:`objui-refresh-bar 1.1s ease-in-out infinite`}})}):null);$o.displayName=`RefreshIndicator`;function es({className:e,message:t=`Loading…`,...n}){return(0,o.jsxs)(`div`,{role:`status`,"aria-label":t,"data-slot":`data-loading-state`,className:B(`flex flex-col items-center justify-center gap-3 p-6 text-center`,e),...n,children:[(0,o.jsx)(c.Loader2,{className:`size-6 animate-spin text-muted-foreground`}),t&&(0,o.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:t})]})}function ts({className:e,icon:t,title:n=`No data`,description:r,action:i,children:a,...s}){return(0,o.jsxs)(`div`,{"data-slot":`data-empty-state`,className:B(`flex flex-col items-center justify-center gap-3 p-6 text-center`,e),...s,children:[(0,o.jsx)(`div`,{className:`flex size-10 items-center justify-center rounded-lg bg-muted`,children:t??(0,o.jsx)(c.InboxIcon,{className:`size-5 text-muted-foreground`})}),n&&(0,o.jsx)(`h3`,{className:`text-sm font-medium`,children:n}),r&&(0,o.jsx)(`p`,{className:`max-w-sm text-sm text-muted-foreground`,children:r}),i,a]})}function ns({className:e,title:t=`Something went wrong`,message:n,onRetry:r,retryLabel:i=`Retry`,children:a,...s}){return(0,o.jsxs)(`div`,{role:`alert`,"data-slot":`data-error-state`,className:B(`flex flex-col items-center justify-center gap-3 p-6 text-center`,e),...s,children:[(0,o.jsx)(`div`,{className:`flex size-10 items-center justify-center rounded-lg bg-destructive/10`,children:(0,o.jsx)(c.AlertCircle,{className:`size-5 text-destructive`})}),t&&(0,o.jsx)(`h3`,{className:`text-sm font-medium`,children:t}),n&&(0,o.jsx)(`p`,{className:`max-w-sm text-sm text-muted-foreground`,children:n}),r&&(0,o.jsx)(W,{variant:`outline`,size:`sm`,onClick:r,children:i}),a]})}var rs=a.forwardRef(({className:e,children:t,...n},r)=>(0,o.jsxs)(Tt,{children:[(0,o.jsx)(Dt,{}),(0,o.jsxs)(b.Content,{ref:r,className:B(`fixed inset-0 z-50 w-full bg-background p-4 shadow-lg duration-200`,`h-[100dvh]`,`sm:inset-auto sm:left-[50%] sm:top-[50%] sm:translate-x-[-50%] sm:translate-y-[-50%]`,`sm:max-w-lg sm:h-auto sm:max-h-[90vh] sm:rounded-lg sm:border sm:p-6`,`data-[state=open]:animate-in data-[state=closed]:animate-out`,`data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0`,`data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95`,`data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%]`,`data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%]`,e),...n,children:[t,(0,o.jsxs)(b.Close,{className:B(`absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity`,`hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2`,`disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground`,`min-h-[44px] min-w-[44px] sm:min-h-0 sm:min-w-0 flex items-center justify-center`),children:[(0,o.jsx)(c.X,{className:`h-5 w-5 sm:h-4 sm:w-4`}),(0,o.jsx)(`span`,{className:`sr-only`,children:`Close`})]})]})]}));rs.displayName=`MobileDialogContent`;function is(e){return!e&&e!==0?``:e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:e<1024*1024*1024?`${(e/(1024*1024)).toFixed(1)} MB`:`${(e/(1024*1024*1024)).toFixed(2)} GB`}function as({open:e,onOpenChange:t,job:n,title:r,description:i,filename:s,allowCloseWhileRunning:l=!0,className:u,onAfterDownload:d,closeAfterDownloadMs:f}){let{progress:p,error:m,isRunning:h,cancel:g,download:_,reset:v}=n,y=p?.status,b=typeof p?.percentComplete==`number`?Math.max(0,Math.min(100,p.percentComplete)):void 0,x=y===`completed`,S=y===`failed`||y===`expired`,C=y===`cancelled`,w=a.useCallback(async()=>{await _(s)&&(d?.(),f&&f>0&&setTimeout(()=>t(!1),f))},[_,s,d,f,t]),T=a.useCallback(e=>{!e&&h&&!l||(t(e),!e&&!h&&setTimeout(v,0))},[h,l,t,v]),E=r??(x?`Export ready`:S?`Export failed`:C?`Export cancelled`:`Exporting…`),D=i??(x?`Your export is ready to download.`:S?`The export job did not complete.`:C?`The export was cancelled.`:`Your export is being prepared on the server. You can close this window — the job will continue in the background.`);return(0,o.jsx)(Ct,{open:e,onOpenChange:T,children:(0,o.jsxs)(Ot,{"data-testid":`export-progress-dialog`,className:B(`sm:max-w-md`,u),children:[(0,o.jsxs)(kt,{children:[(0,o.jsxs)(jt,{className:`flex items-center gap-2`,children:[x?(0,o.jsx)(c.CheckCircle2,{className:`h-5 w-5 text-green-600`,"aria-hidden":`true`}):S?(0,o.jsx)(c.AlertCircle,{className:`h-5 w-5 text-destructive`,"aria-hidden":`true`}):(0,o.jsx)(c.Loader2,{className:B(`h-5 w-5 text-muted-foreground`,h&&`animate-spin`),"aria-hidden":`true`}),E]}),(0,o.jsx)(Mt,{children:D})]}),(0,o.jsxs)(`div`,{className:`py-2 space-y-3`,children:[(h||x)&&(0,o.jsx)(`div`,{"data-testid":`export-progress-bar`,children:b===void 0?(0,o.jsx)(Or,{value:void 0,"aria-label":`Export progress (indeterminate)`}):(0,o.jsx)(Or,{value:b,"aria-label":`Export progress`})}),(0,o.jsxs)(`div`,{className:`flex items-center justify-between text-xs text-muted-foreground`,children:[(0,o.jsx)(`span`,{"data-testid":`export-progress-counts`,children:p?.processedRecords==null?h?`Starting…`:``:`${p.processedRecords.toLocaleString()}${p.totalRecords==null?``:` / ${p.totalRecords.toLocaleString()}`} records`}),(0,o.jsx)(`span`,{"data-testid":`export-progress-percent`,children:b===void 0?``:`${b.toFixed(0)}%`})]}),p?.fileSize?(0,o.jsx)(`div`,{className:`text-xs text-muted-foreground`,children:is(p.fileSize)}):null,(m||p?.error)&&(0,o.jsx)(`div`,{"data-testid":`export-progress-error`,className:`text-xs text-destructive bg-destructive/10 border border-destructive/30 rounded-md px-2 py-1`,children:m?.message||p?.error?.message})]}),(0,o.jsxs)(At,{className:`gap-2 sm:gap-2`,children:[h&&(0,o.jsxs)(W,{type:`button`,variant:`ghost`,onClick:()=>g(),"data-testid":`export-progress-cancel`,children:[(0,o.jsx)(c.X,{className:`h-4 w-4`,"aria-hidden":`true`}),(0,o.jsx)(`span`,{className:`ml-1`,children:`Cancel`})]}),x&&(0,o.jsxs)(W,{type:`button`,variant:`default`,onClick:w,"data-testid":`export-progress-download`,children:[(0,o.jsx)(c.Download,{className:`h-4 w-4`,"aria-hidden":`true`}),(0,o.jsx)(`span`,{className:`ml-1`,children:`Download`})]}),!h&&(0,o.jsx)(W,{type:`button`,variant:`outline`,onClick:()=>T(!1),"data-testid":`export-progress-close`,children:`Close`})]})]})})}t.ComponentRegistry.register(`combobox`,({schema:e,...t})=>{let{"data-obj-id":n,"data-obj-type":r,style:i,...a}=t;return(0,o.jsx)(Pa,{options:e.options||[],placeholder:e.placeholder,value:e.value,disabled:e.disabled,className:e.className,...a,"data-obj-id":n,"data-obj-type":r,style:i})},{namespace:`ui`,label:`Combobox`,inputs:[{name:`placeholder`,type:`string`,label:`Placeholder`},{name:`value`,type:`string`,label:`Value`},{name:`disabled`,type:`boolean`,label:`Disabled`,defaultValue:!1},{name:`className`,type:`string`,label:`CSS Class`}],defaultProps:{placeholder:`Select option...`,options:[]}}),t.ComponentRegistry.register(`command`,({schema:e,...t})=>{let{"data-obj-id":n,"data-obj-type":r,style:i,...a}=t;return(0,o.jsxs)(Nt,{className:e.className,...a,"data-obj-id":n,"data-obj-type":r,style:i,children:[(0,o.jsx)(Ft,{placeholder:e.placeholder||`Type a command or search...`}),(0,o.jsxs)(It,{children:[(0,o.jsx)(Lt,{children:e.emptyText||`No results found.`}),e.groups?.map((e,t)=>(0,o.jsx)(Rt,{heading:e.heading,children:e.items?.map((e,t)=>(0,o.jsx)(Bt,{value:e.value,children:e.label},t))},t))]})]})},{namespace:`ui`,label:`Command`,inputs:[{name:`placeholder`,type:`string`,label:`Placeholder`},{name:`emptyText`,type:`string`,label:`Empty Text`},{name:`className`,type:`string`,label:`CSS Class`}],defaultProps:{placeholder:`Type a command or search...`,emptyText:`No results found.`,groups:[]}});var os=(0,a.forwardRef)(({schema:e,className:t,...n},r)=>{let{"data-obj-id":i,"data-obj-type":a,style:s,...c}=n,l=e.clickable||!!n.onClick;return(0,o.jsxs)(Xe,{ref:r,className:B(t,(e.hoverable||l)&&`transition-colors hover:bg-muted/50`,l&&`cursor-pointer active:bg-muted`),...c,"data-obj-id":i,"data-obj-type":a,style:s,children:[(e.title||e.description||e.header)&&(0,o.jsxs)(Ze,{children:[e.title&&(0,o.jsx)(Qe,{children:e.title}),e.description&&(0,o.jsx)($e,{children:e.description}),e.header&&V(e.header)]}),(e.children||e.body)&&(0,o.jsx)(et,{children:V(e.children||e.body)}),e.footer&&(0,o.jsx)(tt,{className:`flex justify-between`,children:V(e.footer)})]})});t.ComponentRegistry.register(`card`,os,{namespace:`ui`,label:`Card`,inputs:[{name:`title`,type:`string`,label:`Title`},{name:`description`,type:`string`,label:`Description`},{name:`className`,type:`string`,label:`CSS Class`}],defaultProps:{title:`Card Title`,description:`Card description goes here`,className:`w-full`},isContainer:!0,resizable:!0,resizeConstraints:{width:!0,height:!0,minWidth:200,minHeight:100}}),t.ComponentRegistry.register(`tabs`,({schema:e,className:t,onChange:n,value:r,...i})=>{let{"data-obj-id":a,"data-obj-type":s,style:c,...l}=i,u=e=>{n&&n(e)},d=e.orientation===`vertical`;return(0,o.jsxs)(Xi,{defaultValue:r===void 0?e.defaultValue:void 0,value:r??e.value,onValueChange:u,orientation:e.orientation||`horizontal`,className:B(t,d&&`flex gap-2`),...l,"data-obj-id":a,"data-obj-type":s,style:c,children:[(0,o.jsx)(Zi,{className:B(d&&`flex-col h-auto items-stretch bg-muted/50 p-1`),children:e.items?.map(e=>(0,o.jsx)(Qi,{value:e.value,disabled:e.disabled,className:B(d&&`justify-start`),children:e.label},e.value))}),e.items?.map(e=>(0,o.jsx)($i,{value:e.value,className:B(`mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2`,d&&`mt-0 flex-1`),children:V(e.content||e.body)},e.value))]})},{namespace:`ui`,label:`Tabs`,inputs:[{name:`defaultValue`,type:`string`,label:`Default Value`,required:!0},{name:`className`,type:`string`,label:`CSS Class`},{name:`items`,type:`array`,label:`Items`}],defaultProps:{defaultValue:`tab1`,items:[{label:`Tab 1`,value:`tab1`,body:[{type:`text`,content:`Content for Tab 1`}]},{label:`Tab 2`,value:`tab2`,body:[{type:`text`,content:`Content for Tab 2`}]},{label:`Tab 3`,value:`tab3`,body:[{type:`text`,content:`Content for Tab 3`}]}],className:`w-full`}});var ss={1:`grid-cols-1`,2:`grid-cols-2`,3:`grid-cols-3`,4:`grid-cols-4`,5:`grid-cols-5`,6:`grid-cols-6`,7:`grid-cols-7`,8:`grid-cols-8`,9:`grid-cols-9`,10:`grid-cols-10`,11:`grid-cols-11`,12:`grid-cols-12`},cs={1:`sm:grid-cols-1`,2:`sm:grid-cols-2`,3:`sm:grid-cols-3`,4:`sm:grid-cols-4`,5:`sm:grid-cols-5`,6:`sm:grid-cols-6`,7:`sm:grid-cols-7`,8:`sm:grid-cols-8`,9:`sm:grid-cols-9`,10:`sm:grid-cols-10`,11:`sm:grid-cols-11`,12:`sm:grid-cols-12`},ls={1:`md:grid-cols-1`,2:`md:grid-cols-2`,3:`md:grid-cols-3`,4:`md:grid-cols-4`,5:`md:grid-cols-5`,6:`md:grid-cols-6`,7:`md:grid-cols-7`,8:`md:grid-cols-8`,9:`md:grid-cols-9`,10:`md:grid-cols-10`,11:`md:grid-cols-11`,12:`md:grid-cols-12`},us={1:`lg:grid-cols-1`,2:`lg:grid-cols-2`,3:`lg:grid-cols-3`,4:`lg:grid-cols-4`,5:`lg:grid-cols-5`,6:`lg:grid-cols-6`,7:`lg:grid-cols-7`,8:`lg:grid-cols-8`,9:`lg:grid-cols-9`,10:`lg:grid-cols-10`,11:`lg:grid-cols-11`,12:`lg:grid-cols-12`},ds={1:`xl:grid-cols-1`,2:`xl:grid-cols-2`,3:`xl:grid-cols-3`,4:`xl:grid-cols-4`,5:`xl:grid-cols-5`,6:`xl:grid-cols-6`,7:`xl:grid-cols-7`,8:`xl:grid-cols-8`,9:`xl:grid-cols-9`,10:`xl:grid-cols-10`,11:`xl:grid-cols-11`,12:`xl:grid-cols-12`},fs={0:`gap-0`,1:`gap-1`,2:`gap-2`,3:`gap-3`,4:`gap-4`,5:`gap-5`,6:`gap-6`,8:`gap-8`,10:`gap-10`,12:`gap-12`};t.ComponentRegistry.register(`grid`,({schema:e,className:t,...n})=>{let r=2,i,a,s,c;typeof e.columns==`number`?r=e.columns:typeof e.columns==`object`&&e.columns!==null&&(r=e.columns.xs??1,i=e.columns.sm,a=e.columns.md,s=e.columns.lg,c=e.columns.xl),e.smColumns&&(i=e.smColumns),e.mdColumns&&(a=e.mdColumns),e.lgColumns&&(s=e.lgColumns),e.xlColumns&&(c=e.xlColumns);let l=e.gap??4,u=B(`grid`,ss[r]||`grid-cols-2`,i&&cs[i],a&&ls[a],s&&us[s],c&&ds[c],fs[l]||`gap-[${l*.25}rem]`,t),{"data-obj-id":d,"data-obj-type":f,style:p,...m}=n;return(0,o.jsx)(`div`,{className:u,...m,"data-obj-id":d,"data-obj-type":f,style:p,children:e.children&&V(e.children)})},{namespace:`ui`,label:`Grid Layout`,inputs:[{name:`columns`,type:`number`,label:`Base Columns (Mobile)`,defaultValue:2,description:`Number of columns on mobile devices`},{name:`smColumns`,type:`number`,label:`SM Columns (Tablet)`,description:`Columns at sm breakpoint (>640px)`},{name:`mdColumns`,type:`number`,label:`MD Columns (Laptop)`,description:`Columns at md breakpoint (>768px)`},{name:`lgColumns`,type:`number`,label:`LG Columns (Desktop)`,description:`Columns at lg breakpoint (>1024px)`},{name:`xlColumns`,type:`number`,label:`XL Columns (Wide)`,description:`Columns at xl breakpoint (>1280px)`},{name:`gap`,type:`number`,label:`Gap`,defaultValue:4,description:`Gap between items (0-12)`},{name:`className`,type:`string`,label:`CSS Class`}],defaultProps:{columns:1,mdColumns:2,lgColumns:4,gap:4,children:[{type:`card`,title:`Card 1`,description:`First card`},{type:`card`,title:`Card 2`,description:`Second card`},{type:`card`,title:`Card 3`,description:`Third card`},{type:`card`,title:`Card 4`,description:`Fourth card`}]},isContainer:!0,resizable:!0,resizeConstraints:{width:!0,height:!0,minWidth:200,minHeight:100}}),t.ComponentRegistry.register(`flex`,({schema:e,className:t,...n})=>{let r=e.direction||`row`,i=e.justify||`start`,a=e.align||`start`,s=e.gap||2,c=e.wrap||!1,l=B(`flex`,r===`row`&&`flex-row`,r===`col`&&`flex-col`,r===`row-reverse`&&`flex-row-reverse`,r===`col-reverse`&&`flex-col-reverse`,i===`start`&&`justify-start`,i===`end`&&`justify-end`,i===`center`&&`justify-center`,i===`between`&&`justify-between`,i===`around`&&`justify-around`,i===`evenly`&&`justify-evenly`,a===`start`&&`items-start`,a===`end`&&`items-end`,a===`center`&&`items-center`,a===`baseline`&&`items-baseline`,a===`stretch`&&`items-stretch`,s===0&&`gap-0`,s===1&&`gap-1`,s===2&&`gap-1.5 sm:gap-2`,s===3&&`gap-2 sm:gap-3`,s===4&&`gap-2 sm:gap-3 md:gap-4`,s===5&&`gap-3 sm:gap-4 md:gap-5`,s===6&&`gap-3 sm:gap-4 md:gap-6`,s===7&&`gap-4 sm:gap-5 md:gap-7`,s===8&&`gap-4 sm:gap-6 md:gap-8`,c&&`flex-wrap`,t),{"data-obj-id":u,"data-obj-type":d,style:f,...p}=n;return(0,o.jsx)(`div`,{className:l,...p,"data-obj-id":u,"data-obj-type":d,style:f,children:e.children&&V(e.children)})},{namespace:`ui`,label:`Flex Layout`,inputs:[{name:`direction`,type:`enum`,enum:[`row`,`col`,`row-reverse`,`col-reverse`],label:`Direction`,defaultValue:`row`},{name:`justify`,type:`enum`,enum:[`start`,`end`,`center`,`between`,`around`,`evenly`],label:`Justify Content`,defaultValue:`start`},{name:`align`,type:`enum`,enum:[`start`,`end`,`center`,`baseline`,`stretch`],label:`Align Items`,defaultValue:`start`},{name:`gap`,type:`number`,label:`Gap`,defaultValue:2,description:`Gap between items (0-8)`},{name:`wrap`,type:`boolean`,label:`Wrap`,defaultValue:!1,description:`Allow flex items to wrap`},{name:`className`,type:`string`,label:`CSS Class`}],defaultProps:{direction:`row`,justify:`start`,align:`center`,gap:2,wrap:!1,children:[{type:`button`,label:`Button 1`},{type:`button`,label:`Button 2`},{type:`button`,label:`Button 3`}]}});var ps=(0,a.forwardRef)(({schema:e,className:t,...n},r)=>{let i=e.direction||`col`,a=e.justify||`start`,s=e.align||`stretch`,c=e.gap??e.spacing??2,l=e.wrap||!1,u=B(`flex`,i===`row`&&`flex-row`,i===`col`&&`flex-col`,i===`row-reverse`&&`flex-row-reverse`,i===`col-reverse`&&`flex-col-reverse`,a===`start`&&`justify-start`,a===`end`&&`justify-end`,a===`center`&&`justify-center`,a===`between`&&`justify-between`,a===`around`&&`justify-around`,a===`evenly`&&`justify-evenly`,s===`start`&&`items-start`,s===`end`&&`items-end`,s===`center`&&`items-center`,s===`baseline`&&`items-baseline`,s===`stretch`&&`items-stretch`,c===0&&`gap-0`,c===1&&`gap-1`,c===2&&`gap-1.5 sm:gap-2`,c===3&&`gap-2 sm:gap-3`,c===4&&`gap-2 sm:gap-3 md:gap-4`,c===5&&`gap-3 sm:gap-4 md:gap-5`,c===6&&`gap-3 sm:gap-4 md:gap-6`,c===8&&`gap-4 sm:gap-6 md:gap-8`,c===10&&`gap-5 sm:gap-7 md:gap-10`,l&&`flex-wrap`,t),{"data-obj-id":d,"data-obj-type":f,style:p,...m}=n;return(0,o.jsx)(`div`,{ref:r,className:u,...m,"data-obj-id":d,"data-obj-type":f,style:p,children:e.children&&V(e.children)})});t.ComponentRegistry.register(`stack`,ps,{namespace:`ui`,label:`Stack`,inputs:[{name:`direction`,type:`enum`,label:`Direction`,enum:[`col`,`row`,`col-reverse`,`row-reverse`],defaultValue:`col`},{name:`gap`,type:`number`,label:`Gap`,defaultValue:2},{name:`align`,type:`enum`,label:`Align Items`,enum:[`start`,`end`,`center`,`stretch`,`baseline`],defaultValue:`stretch`},{name:`justify`,type:`enum`,label:`Justify Content`,enum:[`start`,`end`,`center`,`between`,`around`,`evenly`],defaultValue:`start`},{name:`className`,type:`string`,label:`CSS Class`}],defaultProps:{direction:`col`,gap:2,align:`stretch`,children:[]},isContainer:!0,resizable:!0,resizeConstraints:{width:!0,height:!0,minWidth:100,minHeight:50}});var ms=(0,a.forwardRef)(({schema:e,className:t,...n},r)=>{let i=e.maxWidth||`xl`,a=e.padding||4,s=e.centered!==!1,c=B(`w-full`,i===`sm`&&`max-w-sm`,i===`md`&&`max-w-md`,i===`lg`&&`max-w-lg`,i===`xl`&&`max-w-xl`,i===`2xl`&&`max-w-2xl`,i===`3xl`&&`max-w-3xl`,i===`4xl`&&`max-w-4xl`,i===`5xl`&&`max-w-5xl`,i===`6xl`&&`max-w-6xl`,i===`7xl`&&`max-w-7xl`,i===`full`&&`max-w-full`,i===`screen`&&`max-w-screen-2xl`,s&&`mx-auto`,a===0&&`p-0`,a===1&&`p-0.5 sm:p-1`,a===2&&`p-1 sm:p-2`,a===3&&`p-2 sm:p-3`,a===4&&`p-2 sm:p-3 md:p-4`,a===5&&`p-3 sm:p-4 md:p-5`,a===6&&`p-3 sm:p-4 md:p-6`,a===7&&`p-4 sm:p-5 md:p-7`,a===8&&`p-4 sm:p-6 md:p-8`,a===10&&`p-5 sm:p-7 md:p-10`,a===12&&`p-6 sm:p-8 md:p-12`,a===16&&`p-8 sm:p-10 md:p-16`,t),{"data-obj-id":l,"data-obj-type":u,style:d,...f}=n;return(0,o.jsx)(`div`,{ref:r,className:c,...f,"data-obj-id":l,"data-obj-type":u,style:d,children:e.children&&V(e.children)})});t.ComponentRegistry.register(`container`,ms,{namespace:`ui`,label:`Container`,inputs:[{name:`maxWidth`,type:`enum`,enum:[`sm`,`md`,`lg`,`xl`,`2xl`,`3xl`,`4xl`,`5xl`,`6xl`,`7xl`,`full`,`screen`],label:`Max Width`,defaultValue:`xl`},{name:`padding`,type:`number`,label:`Padding`,defaultValue:4,description:`Padding value (0, 1-8, 10, 12, 16)`},{name:`centered`,type:`boolean`,label:`Center Horizontally`,defaultValue:!0},{name:`className`,type:`string`,label:`CSS Class`}],defaultProps:{maxWidth:`xl`,padding:4,centered:!0,children:[{type:`text`,content:`Container content goes here`}]},isContainer:!0,resizable:!0,resizeConstraints:{width:!0,height:!0,minWidth:200,minHeight:100}});function hs(e){switch(e){case`small`:return`w-64`;case`medium`:return`w-80`;case`large`:return`w-96`;case`full`:return`w-full`;default:return e||`w-full`}}function gs(e){switch(e){case`utility`:return`max-w-4xl`;case`home`:return`max-w-screen-2xl`;case`app`:return`max-w-screen-xl`;default:return`max-w-7xl`}}function Q(e,t){return e?.find(e=>e.name?.toLowerCase()===t.toLowerCase())}function _s(e,t){if(!e)return[];let n=new Set(t.map(e=>e.toLowerCase()));return e.filter(e=>!n.has(e.name?.toLowerCase()??``))}var $=({region:e,className:t})=>{let n=e.components||[];return n.length===0?null:(0,o.jsx)(`div`,{className:B(`space-y-4`,e.className,t),"data-region":e.name,children:n.map((t,n)=>(0,o.jsx)(i.SchemaRenderer,{schema:t},t?.id||`${e.name}-${n}`))})},vs=({regions:e,pageType:t,className:n})=>{let r=Q(e,`header`),i=Q(e,`sidebar`),a=Q(e,`main`),s=Q(e,`aside`),c=Q(e,`footer`),l=_s(e,[`header`,`sidebar`,`main`,`aside`,`footer`]);return r||i||a||s||c?(0,o.jsxs)(`div`,{className:B(`flex flex-col gap-6`,n),"data-page-layout":t,children:[r&&(0,o.jsx)($,{region:r,className:B(hs(r.width))}),(0,o.jsxs)(`div`,{className:`flex flex-1 gap-6`,children:[i&&(0,o.jsx)(`aside`,{className:B(`shrink-0`,hs(i.width||`small`)),children:(0,o.jsx)($,{region:i})}),(0,o.jsxs)(`div`,{className:`flex-1 min-w-0 space-y-6`,children:[a&&(0,o.jsx)($,{region:a}),l.map((e,t)=>(0,o.jsx)($,{region:e},e.name||`extra-${t}`))]}),s&&(0,o.jsx)(`aside`,{className:B(`shrink-0`,hs(s.width||`small`)),children:(0,o.jsx)($,{region:s})})]}),c&&(0,o.jsx)($,{region:c,className:B(hs(c.width))})]}):(0,o.jsx)(`div`,{className:B(`space-y-6`,n),"data-page-layout":t,children:e.map((e,t)=>(0,o.jsx)($,{region:e},e.name||t))})},ys=({schema:e})=>{let t=e.body||e.children,n=Array.isArray(t)?t:t?[t]:[];return n.length===0?null:(0,o.jsx)(`div`,{className:`space-y-6`,children:n.map((e,t)=>(0,o.jsx)(i.SchemaRenderer,{schema:e},e?.id||t))})},bs=({schema:e})=>e.regions&&e.regions.length>0?(0,o.jsx)(vs,{regions:e.regions,pageType:e.pageType}):(0,o.jsx)(ys,{schema:e}),xs={default:bs,"full-width":bs,"header-sidebar-main":({schema:e})=>{let t=e.regions||[];if(t.length===0)return(0,o.jsx)(ys,{schema:e});let n=Q(t,`header`),r=Q(t,`sidebar`),i=Q(t,`main`),a=_s(t,[`header`,`sidebar`,`main`]);return(0,o.jsxs)(`div`,{className:`flex flex-col gap-6`,"data-template":`header-sidebar-main`,children:[n&&(0,o.jsx)($,{region:n}),(0,o.jsxs)(`div`,{className:`flex flex-1 gap-6`,children:[r&&(0,o.jsx)(`aside`,{className:B(`shrink-0`,hs(r.width||`medium`)),children:(0,o.jsx)($,{region:r})}),(0,o.jsxs)(`div`,{className:`flex-1 min-w-0 space-y-6`,children:[i&&(0,o.jsx)($,{region:i}),a.map((e,t)=>(0,o.jsx)($,{region:e},e.name||`extra-${t}`))]})]})]})},"three-column":({schema:e})=>{let t=e.regions||[];if(t.length===0)return(0,o.jsx)(ys,{schema:e});let n=Q(t,`header`),r=Q(t,`sidebar`),i=Q(t,`main`),a=Q(t,`aside`),s=Q(t,`footer`),c=_s(t,[`header`,`sidebar`,`main`,`aside`,`footer`]);return(0,o.jsxs)(`div`,{className:`flex flex-col gap-6`,"data-template":`three-column`,children:[n&&(0,o.jsx)($,{region:n}),(0,o.jsxs)(`div`,{className:`flex flex-1 gap-6`,children:[r&&(0,o.jsx)(`aside`,{className:B(`shrink-0`,hs(r.width||`small`)),children:(0,o.jsx)($,{region:r})}),(0,o.jsxs)(`div`,{className:`flex-1 min-w-0 space-y-6`,children:[i&&(0,o.jsx)($,{region:i}),c.map((e,t)=>(0,o.jsx)($,{region:e},e.name||`extra-${t}`))]}),a&&(0,o.jsx)(`aside`,{className:B(`shrink-0`,hs(a.width||`small`)),children:(0,o.jsx)($,{region:a})})]}),s&&(0,o.jsx)($,{region:s})]})},dashboard:({schema:e})=>{let t=e.regions||[];if(t.length===0)return(0,o.jsx)(ys,{schema:e});let n=Q(t,`header`),r=Q(t,`footer`),i=_s(t,[`header`,`footer`]);return(0,o.jsxs)(`div`,{className:`flex flex-col gap-6`,"data-template":`dashboard`,children:[n&&(0,o.jsx)($,{region:n}),(0,o.jsx)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 gap-6`,children:i.map((e,t)=>(0,o.jsx)($,{region:e},e.name||`region-${t}`))}),r&&(0,o.jsx)($,{region:r})]})}};function Ss(e){return e.template&&xs[e.template]||null}var Cs=({schema:e})=>e.regions&&e.regions.length>0?(0,o.jsx)(vs,{regions:e.regions,pageType:`record`}):(0,o.jsx)(ys,{schema:e}),ws=({schema:e})=>e.regions&&e.regions.length>0?(0,o.jsx)(vs,{regions:e.regions,pageType:`home`}):(0,o.jsx)(ys,{schema:e}),Ts=({schema:e})=>e.regions&&e.regions.length>0?(0,o.jsx)(vs,{regions:e.regions,pageType:`app`}):(0,o.jsx)(ys,{schema:e}),Es=({schema:e})=>e.regions&&e.regions.length>0?(0,o.jsx)(vs,{regions:e.regions,pageType:`utility`}):(0,o.jsx)(ys,{schema:e}),Ds=({schema:e,className:t,...n})=>{let r=e.pageType||`record`,{"data-obj-id":s,"data-obj-type":c,style:l,pageType:u,schema:d,regions:f,template:p,title:m,icon:h,description:g,object:_,variables:v,blankLayout:y,body:b,isDefault:x,assignedProfiles:S,aria:C,recordOverride:w,permissions:T,requiredPermissions:E,enforceFieldSecurity:D,redactFields:O,children:k,...A}=n,ee=Object.fromEntries(Object.entries(A).filter(([e])=>!e.startsWith(`_`))),j=(0,a.useMemo)(()=>{let t=Ss(e);if(t)return(0,o.jsx)(t,{schema:e});switch(r){case`home`:return(0,o.jsx)(ws,{schema:e});case`app`:return(0,o.jsx)(Ts,{schema:e});case`utility`:return(0,o.jsx)(Es,{schema:e});default:return(0,o.jsx)(Cs,{schema:e})}},[e,r]),te=(0,o.jsx)(`div`,{className:B(`min-h-full w-full bg-background p-4 md:p-6 lg:p-8`,t),"data-page-type":r,"data-obj-id":s,"data-obj-type":c,style:l,...ee,children:(0,o.jsxs)(`div`,{className:B(`mx-auto space-y-8`,gs(r)),children:[r!==`record`&&(e.title||e.description)&&(0,o.jsxs)(`div`,{className:`space-y-2`,children:[e.title&&(0,o.jsx)(`h1`,{className:`text-3xl font-bold tracking-tight text-foreground`,children:e.title}),e.description&&(0,o.jsx)(`p`,{className:`text-muted-foreground`,children:e.description})]}),j]})});return e.variables&&e.variables.length>0?(0,o.jsx)(i.PageVariablesProvider,{definitions:e.variables,children:te}):te},Os={namespace:`ui`,label:`Page`,icon:`Layout`,category:`layout`,inputs:[{name:`title`,type:`string`,label:`Title`},{name:`description`,type:`string`,label:`Description`},{name:`pageType`,type:`string`,label:`Page Type`},{name:`object`,type:`string`,label:`Object Name`},{name:`template`,type:`string`,label:`Template`},{name:`regions`,type:`array`,label:`Regions`,itemType:`object`},{name:`variables`,type:`array`,label:`Variables`,itemType:`object`},{name:`body`,type:`array`,label:`Content (Legacy)`,itemType:`component`}]};t.ComponentRegistry.register(`page`,Ds,Os),t.ComponentRegistry.register(`app`,Ds,{...Os,label:`App Page`}),t.ComponentRegistry.register(`utility`,Ds,{...Os,label:`Utility Page`}),t.ComponentRegistry.register(`home`,Ds,{...Os,label:`Home Page`}),t.ComponentRegistry.register(`record`,Ds,{...Os,label:`Record Page`});function ks(e){return e.includes(`-`)?e.toLowerCase():e.replace(/([a-z0-9])([A-Z])/g,`$1-$2`).replace(/([A-Z]+)([A-Z][a-z])/g,`$1-$2`).toLowerCase()}var As=new Set(R.iconNames);function js(e){return As.has(e)}var Ms=new Map;function Ns(e){if(!e)return c.Database;let t=Ms.get(e);if(t)return t;let n=ks(e);if(!js(n))return Ms.set(e,c.Database),c.Database;let r=e=>a.default.createElement(R.DynamicIcon,{name:n,fallback:c.Database,...e});return r.displayName=`LucideIcon(${e})`,Ms.set(e,r),r}var Ps=({name:e,...t})=>{if(!e)return a.default.createElement(c.Database,t);let n=ks(e);return js(n)?a.default.createElement(R.DynamicIcon,{name:n,fallback:c.Database,...t}):a.default.createElement(c.Database,t)},Fs=new Map,Is=new Map,Ls=new Set;function Rs(e,t,n){return`${e}::${t??``}::${n??``}`}function zs(){for(let e of Ls)e()}function Bs(e,t,n){return Fs.get(Rs(e,t,n))}function Vs(e,t,n,r){let i=Rs(e,t,n);Fs.get(i)!==r&&(Fs.set(i,r),zs())}async function Hs(e,t,n,r){let i=Rs(t,n,r),a=Fs.get(i);if(a!==void 0)return a;let o=Is.get(i);if(o)return o;let s=(async()=>{let a={};if(n){if(!r)return 0;a[n]=r}try{let i=await e(t,{$filter:a,$top:1}),o=typeof i?.total==`number`?i.total:Array.isArray(i?.data)?i.data.length:Array.isArray(i)?i.length:0,s=typeof o==`number`?o:0;return Vs(t,n,r,s),s}catch{return 0}finally{Is.delete(i)}})();return Is.set(i,s),s}function Us(e,t){let n=!1,r=`${e}::`;for(let e of Fs.keys())e.startsWith(r)&&(t!==void 0&&!e.endsWith(`::${t}`)||(Fs.delete(e),n=!0));n&&zs()}function Ws(){Fs.size!==0&&(Fs.clear(),zs())}function Gs(e){return Ls.add(e),()=>{Ls.delete(e)}}function Ks(){return Fs}function qs(e,t,n){if((0,a.useSyncExternalStore)(Gs,Ks,Ks),e)return Bs(e,t,n)}var Js={get:Bs,set:Vs,fetch:Hs,invalidate:Us,invalidateAll:Ws,_reset:()=>{Fs.clear(),Is.clear(),zs()}},Ys=e=>{let{"data-obj-id":t,"data-obj-type":n,style:r,...i}=e||{};return{designer:{"data-obj-id":t,"data-obj-type":n,style:r},rest:i}},Xs=e=>e==null?``:typeof e==`string`?e:typeof e==`object`?e.default||e.value||``:String(e),Zs={"zh-CN":{Details:`详情`,Related:`相关`,Activity:`活动`,History:`历史`,Notes:`备注`,Files:`文件`,Tasks:`任务`,Events:`日程`,Attachments:`附件`,Chatter:`讨论`,Discussion:`讨论`,Comments:`评论`,Overview:`概览`,Summary:`摘要`},"zh-TW":{Details:`詳情`,Related:`相關`,Activity:`活動`,History:`歷史`,Notes:`備註`,Files:`檔案`,Tasks:`任務`,Events:`行程`,Attachments:`附件`,Chatter:`討論`,Discussion:`討論`,Comments:`評論`,Overview:`概覽`,Summary:`摘要`}},Qs=()=>{if(typeof document<`u`){let e=document.documentElement?.lang;if(e)return e}return typeof navigator<`u`&&navigator.language?navigator.language:`en`},$s=e=>{if(!e)return e;let t=Qs(),n=Zs[t],r=t.split(`-`)[0]===`zh`?Zs[`zh-CN`]:void 0,i=n||r;if(!i)return e;if(i[e]!==void 0)return i[e];let a=/\s*(?:&|and|和)\s*/i;if(a.test(e)){let n=e.split(a);if(n.every(e=>i[e.trim()]!==void 0)){let e=t.startsWith(`zh`)?`与`:` & `;return n.map(e=>i[e.trim()]).join(e)}}return e},ec=(e,t)=>!e||typeof e!=`string`?e||``:e.includes(`{`)?e.replace(/\{([a-zA-Z0-9_.]+)\}/g,(e,n)=>{let r=n.split(`.`).reduce((e,t)=>e==null?e:e[t],t);return r==null||typeof r==`object`?``:String(r)}).replace(/\s+/g,` `).trim():e,tc=e=>{let t=typeof e==`number`?e:Number(e);return Number.isFinite(t)?t>=1e4?`${Math.round(t/1e3)}k`:t>=1e3?`${(t/1e3).toFixed(1).replace(/\.0$/,``)}k`:String(t):String(e)},nc=(e,t=[])=>{if(!e)return t;let n=Array.isArray(e)?e:[e];for(let e of n){if(!e||typeof e!=`object`)continue;if(e.type===`record:related_list`||e.type===`record_related_list`){t.push(e);continue}let n=[e.children,e.properties?.children,e.properties?.items,e.body,e.items];for(let e of n)e&&nc(e,t)}return t};t.ComponentRegistry.register(`page:tabs`,({schema:e,className:t,...n})=>{let{designer:r}=Ys(n),s=e?.items||[],c=e?.properties?.type||e?.tabStyle||`line`,l=(e?.position||`top`)===`left`,u=(0,i.useRecordContext)(),d=u?.data?.id,f=u?.dataSource;qs(void 0,void 0,d);let p=a.default.useMemo(()=>{let e=new Map;return s.forEach((t,n)=>{if(t.count!==void 0&&t.count!==null&&t.count!==``)return;let r=nc(t.children),i=[];for(let e of r){let t=e?.properties?.objectName||e?.objectName;if(!t)continue;let n=e?.properties?.relationshipField||e?.relationshipField;i.push({objectName:t,relationshipField:n})}i.length>0&&e.set(n,i)}),e},[s]);a.default.useEffect(()=>{if(!f||typeof f.find!=`function`||p.size===0)return;let e=!1;for(let t of p.values())for(let n of t)if(Js.fetch((e,t)=>f.find(e,t),n.objectName,n.relationshipField,d).catch(()=>0),e)return;return()=>{e=!0}},[f,p,d]);let m=e=>{let t=p.get(e);if(!t||t.length===0)return;let n=0,r=!1;for(let e of t){let t=Js.get(e.objectName,e.relationshipField,d);t!==void 0&&(n+=t,r=!0)}return r?n:void 0},h=s.map((e,t)=>({...e,value:`tab-${t}`,labelStr:$s(Xs(e.label)),count:e.count!==void 0&&e.count!==null&&e.count!==``?e.count:m(t)})),g=h[0]?.value,_=B(l&&`flex-col h-auto items-stretch p-1`,c===`card`&&`bg-transparent gap-1`,c===`pill`&&`bg-muted rounded-full p-1 gap-1`,c===`line`&&!l&&`h-auto rounded-none bg-transparent p-0 gap-4 border-b border-border w-full justify-start`,!l&&`sticky top-0 z-20 bg-background/95 backdrop-blur supports-[backdrop-filter]:bg-background/60`),v=()=>B(l&&`justify-start`,c===`card`&&`data-[state=active]:bg-background data-[state=active]:border data-[state=active]:shadow-sm rounded-md`,c===`pill`&&`rounded-full data-[state=active]:bg-background`,c===`line`&&!l&&`rounded-none border-b-2 border-transparent bg-transparent px-1 pb-2.5 -mb-px shadow-none data-[state=active]:border-primary data-[state=active]:bg-transparent data-[state=active]:shadow-none data-[state=active]:text-foreground`);return(0,o.jsxs)(Xi,{defaultValue:g,orientation:l?`vertical`:`horizontal`,className:B(t,l&&`flex gap-4 w-full`),...r,children:[(h.length>1||e?.properties?.alwaysShowStrip===!0)&&(0,o.jsx)(Zi,{className:_,children:h.map(e=>(0,o.jsxs)(Qi,{value:e.value,className:v(),children:[e.icon&&(0,o.jsx)(Ps,{name:e.icon,className:`mr-1.5 h-3.5 w-3.5 shrink-0 opacity-70`,"aria-hidden":!0}),(0,o.jsx)(`span`,{children:e.labelStr}),e.count!==void 0&&e.count!==null&&e.count!==``&&Number(e.count)>0&&(0,o.jsx)(`span`,{className:`ml-1.5 inline-flex h-4 min-w-[1rem] items-center justify-center rounded-full bg-muted px-1 text-[10px] font-medium leading-none text-muted-foreground`,"aria-label":`${tc(e.count)} items`,children:tc(e.count)})]},e.value))}),h.map(e=>(0,o.jsx)($i,{value:e.value,className:B(h.length>1?`mt-3`:`mt-0`,l&&`mt-0 flex-1`),children:V(e.children)},e.value))]})},{namespace:`page`,label:`Page Tabs`,category:`layout`,isContainer:!0}),t.ComponentRegistry.register(`page:card`,({schema:e,className:t,...n})=>{let{designer:r}=Ys(n),i=Xs(e?.title),a=e?.bordered!==!1,s=e?.body,c=e?.footer;return(0,o.jsxs)(Xe,{className:B(t,!a&&`border-0 shadow-none bg-transparent`),...r,children:[i&&(0,o.jsx)(Ze,{children:(0,o.jsx)(Qe,{children:i})}),s&&(0,o.jsx)(et,{children:V(s)}),c&&(0,o.jsx)(tt,{className:`flex justify-between`,children:V(c)})]})},{namespace:`page`,label:`Page Card`,category:`layout`,isContainer:!0}),t.ComponentRegistry.register(`page:accordion`,({schema:e,className:t,...n})=>{let{designer:r}=Ys(n),i=e?.items||[],a=!!e?.allowMultiple,s=(e?.variant??e?.properties?.variant??`flush`)===`flush`?`border-none`:void 0,c=i.map((e,t)=>({...e,value:`panel-${t}`,labelStr:$s(Xs(e.label))})),l=c.filter(e=>e.collapsed===!1).map(e=>e.value),u=c.map(e=>(0,o.jsxs)(ve,{value:e.value,className:s,children:[(0,o.jsx)(ye,{children:e.labelStr}),(0,o.jsx)(be,{children:V(e.children)})]},e.value));return a?(0,o.jsx)(H,{type:`multiple`,defaultValue:l,className:t,...r,children:u}):(0,o.jsx)(H,{type:`single`,collapsible:!0,defaultValue:l[0],className:t,...r,children:u})},{namespace:`page`,label:`Page Accordion`,category:`layout`,isContainer:!0}),t.ComponentRegistry.register(`page:section`,({schema:e,className:t,...n})=>{let{designer:r}=Ys(n);return(0,o.jsx)(`section`,{className:B(`space-y-4`,t),...r,children:V(e?.children||e?.body)})},{namespace:`page`,label:`Page Section`,category:`layout`,isContainer:!0});function rc(e){if(!e)return e;let t=e;for(let e=0;e<4;e+=1){let e=t.replace(/[\s\u00A0]*[-·:|/–—][\s\u00A0]*$/u,``).trimEnd();if(e===t)break;t=e}for(let e=0;e<4;e+=1){let e=t.replace(/^[\s\u00A0]*[-·:|/–—][\s\u00A0]*/u,``).trimStart();if(e===t)break;t=e}return t=t.replace(/([-·:|/–—])[\s\u00A0]*\1/gu,`$1`),t=t.replace(/[\s\u00A0]+/g,` `).trim(),t}t.ComponentRegistry.register(`page:header`,({schema:e,className:n,...r})=>{let{designer:s}=Ys(r),c=(0,i.useRecordContext)(),{execute:l}=(0,i.useAction)(),{objectLabel:u}=(0,L.useObjectLabel)(),d=e?.title??e?.properties?.title,f=e?.subtitle??e?.properties?.subtitle,p=ec(Xs(d),c?.data),m=ec(Xs(f),c?.data),h=(e?.breadcrumb??e?.properties?.breadcrumb)!==!1,g=e?.recordChrome===!1||e?.properties?.recordChrome===!1,_=e?.showStar!==!1&&e?.properties?.showStar!==!1,v=e?.showCopyId!==!1&&e?.properties?.showCopyId!==!1,y=e?.actions??e?.properties?.actions,b=c?.headerSystemActions,x=a.default.useMemo(()=>{let e=c?.data,n=new t.ExpressionEvaluator({record:e,data:e}),r=e=>{try{return n.evaluateExpression(e)}catch{return}},i=e=>{if(Array.isArray(e?.locations)&&e.locations.length>0&&!e.locations.includes(`record_header`))return!1;let t=e?.visible;if(t!=null)if(typeof t==`boolean`){if(!t)return!1}else{let e=typeof t==`string`?t:t&&typeof t==`object`&&typeof t.source==`string`?t.source:null;if(e&&!r(e))return!1}let n=e?.hidden;if(n!=null)if(typeof n==`boolean`){if(n)return!1}else{let e=typeof n==`string`?n:n&&typeof n==`object`&&typeof n.source==`string`?n.source:null;if(e&&r(e))return!1}return!0},a=Array.isArray(y)?y.filter(i):[],o=Array.isArray(b)?b.filter(i):[],s=new Set,l=[];for(let e of[...a,...o]){let t=e?.name||e?.id||``;t&&s.has(t)||(t&&s.add(t),l.push(e))}return l},[y,b,c?.data]),S=()=>x.length===0?null:(0,o.jsx)(`div`,{className:`flex flex-wrap items-center gap-2 shrink-0`,role:`toolbar`,"aria-label":`Page header actions`,children:x.map((e,t)=>{let n=e.label||e.name||`Action ${t+1}`,r=e.variant||`default`,i=e.size||`sm`,a=typeof e.disabled==`boolean`?e.disabled:void 0,s=typeof e.icon==`string`?e.icon:null;return(0,o.jsxs)(W,{variant:r,size:i,disabled:a,className:`gap-2`,onClick:()=>{if(typeof e.onClick==`function`){e.onClick();return}l(e)},children:[s&&(0,o.jsx)(Ps,{name:s,className:`h-4 w-4`}),(0,o.jsx)(`span`,{children:n})]},e.name||e.id||`header-action-${t}`)})});if(c?.data&&c?.objectSchema&&!g){let e=c.data,t=c.objectSchema,r=c.objectName||t?.name,i=Xs(t?.label)||t?.name||c.objectName||``,a=r?u({name:r,label:i}):i||void 0,l=t?.primaryField,d=t?.titleFormat,f=typeof d==`string`?d:d&&typeof d==`object`&&typeof d.source==`string`?d.source:void 0,g=f?rc(ec(f,e).trim()):``,y=p||l&&e?.[l]||(g&&!g.includes(`{`)?g:``)||e?.name||e?.full_name||e?.title||e?.subject||e?.display_name||e?.label||(a&&e?.id?`${a} ${String(e.id).slice(0,8)}`:``)||a||``;return(0,o.jsxs)(`header`,{className:B(`flex flex-col sm:flex-row items-start sm:items-center justify-between gap-3 sm:gap-4 pb-4 border-b`,n),...s,children:[(0,o.jsxs)(`div`,{className:`flex flex-col min-w-0 flex-1`,children:[h&&(0,o.jsx)(`div`,{className:`text-xs text-muted-foreground mb-1`,"data-page-breadcrumb-slot":!0}),(0,o.jsx)(Xo,{title:y,objectLabel:a,resourceId:e?.id?String(e.id):void 0,showStar:_,showCopyId:v,isFavorite:c?.isFavorite,onToggleFavorite:c?.onToggleFavorite?()=>c.onToggleFavorite():void 0}),m&&(0,o.jsx)(`p`,{className:`text-sm text-muted-foreground mt-1`,children:m})]}),S()??(0,o.jsx)(`div`,{"data-page-actions-slot":!0,className:`shrink-0`})]})}return(0,o.jsxs)(`header`,{className:B(`flex flex-col gap-2 pb-4 border-b`,n),...s,children:[h&&(0,o.jsx)(`div`,{className:`text-xs text-muted-foreground`,"data-page-breadcrumb-slot":!0}),(0,o.jsxs)(`div`,{className:`flex items-center justify-between gap-4`,children:[(0,o.jsxs)(`div`,{className:`flex flex-col`,children:[p&&(0,o.jsx)(`h1`,{className:`text-2xl font-semibold tracking-tight`,children:p}),m&&(0,o.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:m})]}),S()??(0,o.jsx)(`div`,{"data-page-actions-slot":!0})]})]})},{namespace:`page`,label:`Page Header`,category:`layout`}),t.ComponentRegistry.register(`page:footer`,({schema:e,className:t,...n})=>{let{designer:r}=Ys(n);return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(Ur,{className:`my-4`}),(0,o.jsx)(`footer`,{className:B(`flex items-center justify-between text-sm text-muted-foreground`,t),...r,children:V(e?.children||e?.body)})]})},{namespace:`page`,label:`Page Footer`,category:`layout`,isContainer:!0}),t.ComponentRegistry.register(`page:sidebar`,({schema:e,className:t,...n})=>{let{designer:r}=Ys(n);return(0,o.jsx)(`aside`,{className:B(`flex flex-col gap-4 w-full md:w-80 shrink-0`,t),...r,children:V(e?.children||e?.body)})},{namespace:`page`,label:`Page Sidebar`,category:`layout`,isContainer:!0}),[`aside`,`main`,`header`,`nav`,`footer`,`section`,`article`].forEach(e=>{let n=(0,a.forwardRef)(({schema:t,className:n,...r},i)=>{let{"data-obj-id":a,"data-obj-type":s,style:c,...l}=r;return(0,o.jsx)(e,{ref:i,className:n,...l,"data-obj-id":a,"data-obj-type":s,style:c,children:V(t.children||t.body)})});n.displayName=`Semantic${e.charAt(0).toUpperCase()+e.slice(1)}`,t.ComponentRegistry.register(e,n,{namespace:`ui`,label:e.charAt(0).toUpperCase()+e.slice(1),category:`layout`,inputs:[{name:`className`,type:`string`,label:`CSS Class`}]})}),t.ComponentRegistry.register(`aspect-ratio`,({schema:e,...t})=>{let{"data-obj-id":n,"data-obj-type":r,style:i,...a}=t;return(0,o.jsx)(Fe,{ratio:e.ratio||16/9,className:e.className,...a,"data-obj-id":n,"data-obj-type":r,style:i,children:e.image?(0,o.jsx)(`img`,{src:e.image,alt:e.alt||``,loading:`lazy`,className:`rounded-md object-cover w-full h-full`}):V(e.children||e.body)})},{namespace:`ui`,label:`Aspect Ratio`,inputs:[{name:`ratio`,type:`number`,label:`Ratio`,defaultValue:16/9},{name:`image`,type:`string`,label:`Image URL`},{name:`alt`,type:`string`,label:`Alt Text`},{name:`className`,type:`string`,label:`CSS Class`}],defaultProps:{ratio:16/9}}),t.ComponentRegistry.register(`sidebar-provider`,({schema:e,...t})=>(0,o.jsx)(hi,{...t,children:V(e.body)}),{namespace:`ui`,label:`Sidebar Provider`,inputs:[{name:`defaultOpen`,type:`boolean`,label:`Default Open`,defaultValue:!0}],defaultProps:{defaultOpen:!0},defaultChildren:[{type:`sidebar`},{type:`sidebar-inset`}]}),t.ComponentRegistry.register(`sidebar`,({schema:e,...t})=>(0,o.jsx)(gi,{...t,children:V(e.body)}),{namespace:`ui`,label:`Sidebar`,inputs:[{name:`collapsible`,type:`enum`,enum:[`offcanvas`,`icon`,`none`],defaultValue:`icon`,label:`Collapsible`},{name:`side`,type:`enum`,enum:[`left`,`right`],defaultValue:`left`,label:`Side`},{name:`variant`,type:`enum`,enum:[`sidebar`,`floating`,`inset`],defaultValue:`sidebar`,label:`Variant`}],defaultProps:{collapsible:`icon`,side:`left`,variant:`sidebar`},defaultChildren:[{type:`sidebar-header`},{type:`sidebar-content`},{type:`sidebar-footer`}]}),t.ComponentRegistry.register(`sidebar-header`,({schema:e,...t})=>(0,o.jsx)(xi,{...t,children:V(e.body)}),{namespace:`ui`,label:`Sidebar Header`,defaultChildren:[{type:`text`,content:`Sidebar Header`}]}),t.ComponentRegistry.register(`sidebar-content`,({schema:e,...t})=>(0,o.jsx)(wi,{...t,children:V(e.body)}),{namespace:`ui`,label:`Sidebar Content`,defaultChildren:[{type:`sidebar-group`}]}),t.ComponentRegistry.register(`sidebar-group`,({schema:e,...t})=>(0,o.jsxs)(Ti,{...t,children:[e.label&&(0,o.jsx)(Ei,{children:e.label}),(0,o.jsx)(Oi,{children:V(e.body)})]}),{namespace:`ui`,label:`Sidebar Group`,inputs:[{name:`label`,type:`string`,label:`Label`}],defaultProps:{label:`Menu`},defaultChildren:[{type:`sidebar-menu`}]}),t.ComponentRegistry.register(`sidebar-menu`,({schema:e,...t})=>(0,o.jsx)(ki,{...t,children:V(e.body)}),{namespace:`ui`,label:`Sidebar Menu`,defaultChildren:[{type:`sidebar-menu-item`},{type:`sidebar-menu-item`}]}),t.ComponentRegistry.register(`sidebar-menu-item`,({schema:e,...t})=>(0,o.jsx)(Ai,{...t,children:V(e.body)}),{namespace:`ui`,label:`Sidebar Menu Item`,defaultChildren:[{type:`sidebar-menu-button`}]}),t.ComponentRegistry.register(`sidebar-menu-button`,({schema:e,...t})=>(0,o.jsx)(Mi,{isActive:e.active,...t,children:V(e.body)}),{namespace:`ui`,label:`Sidebar Menu Button`,inputs:[{name:`active`,type:`boolean`,label:`Active`,defaultValue:!1},{name:`size`,type:`enum`,enum:[`default`,`sm`,`lg`],defaultValue:`default`,label:`Size`},{name:`tooltip`,type:`string`,label:`Tooltip`}],defaultProps:{size:`default`},defaultChildren:[{type:`text`,content:`Menu Item`}]}),t.ComponentRegistry.register(`sidebar-footer`,({schema:e,...t})=>(0,o.jsx)(Si,{...t,children:V(e.body)}),{namespace:`ui`,label:`Sidebar Footer`,defaultChildren:[{type:`text`,content:`Footer`}]}),t.ComponentRegistry.register(`sidebar-inset`,({schema:e,...t})=>(0,o.jsx)(yi,{...t,children:V(e.body)}),{namespace:`ui`,label:`Sidebar Inset`,defaultChildren:[{type:`div`,className:`p-4`,body:[{type:`text`,content:`Main content area`}]}]}),t.ComponentRegistry.register(`sidebar-trigger`,({className:e,...t})=>(0,o.jsx)(_i,{className:e,...t}),{namespace:`ui`,label:`Sidebar Trigger`,inputs:[{name:`className`,type:`string`,label:`CSS Class`}]});function ic({crumb:e,isLast:t}){let n=(0,i.resolveI18nLabel)(e.label)??``;return e.siblings&&e.siblings.length>0?(0,o.jsxs)(mn,{children:[(0,o.jsxs)(hn,{className:`flex items-center gap-1`,children:[t?(0,o.jsx)(`span`,{className:`font-semibold`,children:n}):(0,o.jsx)(`span`,{children:n}),(0,o.jsx)(c.ChevronDown,{className:`h-3 w-3`})]}),(0,o.jsx)(Sn,{align:`start`,children:e.siblings.map((e,t)=>(0,o.jsx)(Cn,{asChild:!0,children:(0,o.jsx)(`a`,{href:e.href,children:e.label})},t))})]}):t?(0,o.jsx)(Ge,{children:n}):(0,o.jsx)(We,{href:e.href||`#`,children:n})}t.ComponentRegistry.register(`header-bar`,({schema:e})=>(0,o.jsxs)(`header`,{className:`flex h-14 sm:h-16 shrink-0 items-center gap-2 border-b px-3 sm:px-4`,children:[(0,o.jsx)(_i,{}),(0,o.jsx)(Ur,{orientation:`vertical`,className:`mr-2 h-4`}),(0,o.jsx)(Ve,{children:(0,o.jsx)(He,{children:e.crumbs?.map((t,n)=>(0,o.jsxs)(a.default.Fragment,{children:[(0,o.jsx)(Ue,{children:(0,o.jsx)(ic,{crumb:t,isLast:n===e.crumbs.length-1})}),n<e.crumbs.length-1&&(0,o.jsx)(Ke,{})]},n))})}),(0,o.jsxs)(`div`,{className:`ml-auto flex items-center gap-2`,children:[e.search?.enabled&&(0,o.jsxs)(`div`,{className:`relative`,children:[(0,o.jsx)(c.Search,{className:`absolute left-2.5 top-2.5 h-4 w-4 text-muted-foreground`}),(0,o.jsx)(q,{type:`search`,placeholder:e.search.placeholder,className:`pl-8 w-[200px] lg:w-[300px]`}),e.search.shortcut&&(0,o.jsx)(`kbd`,{className:`pointer-events-none absolute right-2 top-2 hidden h-5 select-none items-center gap-1 rounded border bg-muted px-1.5 font-mono text-[10px] font-medium opacity-100 sm:flex`,children:e.search.shortcut})]}),e.actions?.map((e,t)=>(0,o.jsx)(i.SchemaRenderer,{schema:e},t)),e.rightContent&&(0,o.jsx)(i.SchemaRenderer,{schema:e.rightContent})]})]}),{namespace:`ui`,label:`Header Bar`,inputs:[{name:`crumbs`,type:`array`,label:`Breadcrumbs`},{name:`search`,type:`object`,label:`Search Configuration`},{name:`actions`,type:`array`,label:`Action Slots`},{name:`rightContent`,type:`object`,label:`Right Content`}],defaultProps:{crumbs:[{label:`Home`,href:`#`},{label:`Current Page`}]}}),t.ComponentRegistry.register(`badge`,({schema:e,...t})=>{let{"data-obj-id":n,"data-obj-type":r,style:i,...a}=t;return(0,o.jsx)(Be,{variant:e.variant,className:e.className,...a,"data-obj-id":n,"data-obj-type":r,style:i,children:e.label||V(e.body)})},{namespace:`ui`,label:`Badge`,inputs:[{name:`label`,type:`string`,label:`Label`},{name:`variant`,type:`enum`,enum:[`default`,`secondary`,`destructive`,`outline`],defaultValue:`default`,label:`Variant`},{name:`className`,type:`string`,label:`CSS Class`}],defaultProps:{label:`Badge`,variant:`default`}}),t.ComponentRegistry.register(`avatar`,({schema:e,className:t,...n})=>(0,o.jsxs)(Ie,{className:t,...n,children:[(0,o.jsx)(Le,{src:e.src,alt:e.alt}),(0,o.jsx)(Re,{children:e.fallback})]}),{namespace:`ui`,label:`Avatar`,inputs:[{name:`src`,type:`string`,label:`Image URL`},{name:`alt`,type:`string`,label:`Alt Text`},{name:`fallback`,type:`string`,label:`Fallback Initials`,defaultValue:`CN`},{name:`className`,type:`string`,label:`CSS Class`}],defaultProps:{fallback:`CN`,alt:`Avatar`}}),t.ComponentRegistry.register(`alert`,({schema:e,className:t,...n})=>(0,o.jsxs)(Me,{variant:e.variant,className:t,...n,children:[(0,o.jsx)(Ne,{children:e.title}),(0,o.jsx)(Pe,{children:e.description||V(e.body)})]}),{namespace:`ui`,label:`Alert`,inputs:[{name:`title`,type:`string`,label:`Title`,required:!0},{name:`description`,type:`string`,label:`Description`},{name:`variant`,type:`enum`,enum:[`default`,`destructive`],defaultValue:`default`,label:`Variant`},{name:`className`,type:`string`,label:`CSS Class`}],defaultProps:{title:`Alert Title`,description:`This is an alert message.`,variant:`default`}}),t.ComponentRegistry.register(`list`,({schema:e,className:t,...n})=>{let r=(0,i.useDataScope)(e.bind),a=Array.isArray(r)?r:Array.isArray(e.items)?e.items:[],s=e.ordered?`ol`:`ul`,c=e.ordered?`list-decimal`:`list-disc`;return(0,o.jsxs)(`div`,{className:B(`space-y-2`,e.wrapperClass),children:[e.title&&(0,o.jsx)(`h3`,{className:`text-lg font-semibold tracking-tight`,children:e.title}),(0,o.jsx)(s,{className:B(`ml-6 [&>li]:mt-2`,c,t),...n,children:a.map((e,t)=>(0,o.jsx)(`li`,{className:B(typeof e==`object`&&e.className),children:typeof e==`string`?e:e.content||V(e.body)},t))})]})},{namespace:`ui`,label:`List`,inputs:[{name:`title`,type:`string`,label:`Title`},{name:`ordered`,type:`boolean`,label:`Ordered List (numbered)`,defaultValue:!1},{name:`items`,type:`array`,label:`List Items`,description:`Array of strings or objects with content/body`},{name:`className`,type:`string`,label:`CSS Class`}],defaultProps:{ordered:!1,items:[`First item`,`Second item`,`Third item`],className:`text-sm`}});var ac=({node:e,onNodeClick:t})=>{let[n,r]=(0,a.useState)(!1),i=e.children&&e.children.length>0;return(0,o.jsxs)(`div`,{className:`relative`,children:[(0,o.jsxs)(`div`,{className:B(`group flex items-center py-1.5 px-2 rounded-sm cursor-pointer transition-colors`,`hover:bg-accent hover:text-accent-foreground`,n&&i&&`bg-accent/50`),onClick:()=>{t&&t(e)},children:[i?(0,o.jsx)(`button`,{onClick:e=>{e.stopPropagation(),r(!n)},className:`mr-2 p-0.5 h-5 w-5 flex items-center justify-center rounded-sm hover:bg-muted text-muted-foreground transition-colors`,children:n?(0,o.jsx)(c.ChevronDown,{className:`h-4 w-4`}):(0,o.jsx)(c.ChevronRight,{className:`h-4 w-4`})}):(0,o.jsx)(`span`,{className:`mr-2 w-5 flex justify-center`,children:(0,o.jsx)(`div`,{className:`w-1 h-1 rounded-full bg-muted-foreground/50`})}),e.icon===`folder`||i?n?(0,o.jsx)(c.FolderOpen,{className:`h-4 w-4 mr-2 text-primary`}):(0,o.jsx)(c.Folder,{className:`h-4 w-4 mr-2 text-muted-foreground group-hover:text-primary transition-colors`}):(0,o.jsx)(c.File,{className:`h-4 w-4 mr-2 text-muted-foreground group-hover:text-primary transition-colors`}),(0,o.jsx)(`span`,{className:B(`text-sm transition-colors`,n?`font-medium text-foreground`:`text-muted-foreground group-hover:text-foreground`),children:e.label})]}),i&&n&&(0,o.jsx)(`div`,{className:`relative ml-[11px] pl-3 border-l border-border animate-in slide-in-from-left-2 fade-in duration-200`,children:e.children.map(e=>(0,o.jsx)(ac,{node:e,onNodeClick:t},e.id))})]})};t.ComponentRegistry.register(`tree-view`,({schema:e,className:t,...n})=>{let r=t=>{e.onNodeClick&&e.onNodeClick(t)},a=(0,i.useDataScope)(e.bind)||e.nodes||e.data||[],s=Array.isArray(a)?a:[];return(0,o.jsxs)(`div`,{className:B(`relative border rounded-lg p-3 bg-card text-card-foreground`,t),...n,children:[e.title&&(0,o.jsx)(`div`,{className:`flex items-center gap-2 mb-3 pb-2 border-b`,children:(0,o.jsx)(`h3`,{className:`text-sm font-semibold`,children:e.title})}),(0,o.jsx)(`div`,{className:`space-y-1`,children:s.map(e=>(0,o.jsx)(ac,{node:e,onNodeClick:r},e.id))})]})},{namespace:`ui`,label:`Tree View`,inputs:[{name:`title`,type:`string`,label:`Title`},{name:`nodes`,type:`array`,label:`Tree Nodes`,description:`Array of { id, label, icon, children, data }`},{name:`className`,type:`string`,label:`CSS Class`}],defaultProps:{title:`File Explorer`,nodes:[{id:`1`,label:`Documents`,icon:`folder`,children:[{id:`1-1`,label:`Resume.pdf`,icon:`file`},{id:`1-2`,label:`Cover Letter.docx`,icon:`file`}]},{id:`2`,label:`Photos`,icon:`folder`,children:[{id:`2-1`,label:`Vacation`,icon:`folder`,children:[{id:`2-1-1`,label:`Beach.jpg`,icon:`file`}]},{id:`2-2`,label:`Family.jpg`,icon:`file`}]},{id:`3`,label:`README.md`,icon:`file`}]}});var oc=e=>e?Ns(e):null;t.ComponentRegistry.register(`statistic`,({schema:e})=>{let t=e.icon?oc(e.icon):null;return(0,o.jsxs)(`div`,{className:B(`group relative flex flex-col p-4 sm:p-5 md:p-6 rounded-xl border bg-card text-card-foreground shadow-sm`,e.className),children:[(0,o.jsxs)(`div`,{className:`flex items-center justify-between mb-2`,children:[e.label&&(0,o.jsx)(`p`,{className:`text-sm font-medium text-muted-foreground`,children:e.label}),t&&(0,o.jsx)(t,{className:`h-4 w-4 text-muted-foreground`})]}),(0,o.jsx)(`div`,{className:`flex items-baseline gap-2`,children:(0,o.jsx)(`h3`,{className:`text-2xl font-bold tracking-tight`,children:e.value})}),(e.trend||e.description)&&(0,o.jsxs)(`div`,{className:`mt-1 flex items-center text-xs text-muted-foreground`,children:[e.trend===`up`&&(0,o.jsx)(c.TrendingUp,{className:`mr-1 h-3 w-3 text-emerald-500`}),e.trend===`down`&&(0,o.jsx)(c.TrendingDown,{className:`mr-1 h-3 w-3 text-rose-500`}),e.trend===`neutral`&&(0,o.jsx)(c.Minus,{className:`mr-1 h-3 w-3`}),(0,o.jsx)(`span`,{className:B(e.trend===`up`&&`text-emerald-500 font-medium`,e.trend===`down`&&`text-rose-500 font-medium`),children:e.description})]})]})},{namespace:`ui`,label:`Statistic`,category:`data-display`,icon:`Activity`,inputs:[{name:`label`,type:`string`,label:`Label`},{name:`value`,type:`string`,label:`Value`},{name:`description`,type:`string`,label:`Description`},{name:`trend`,type:`enum`,enum:[{label:`Up`,value:`up`},{label:`Down`,value:`down`},{label:`Neutral`,value:`neutral`}],label:`Trend`}],defaultProps:{label:`Total Revenue`,value:`$45,231.89`,trend:`up`,description:`+20.1% from last month`}}),t.ComponentRegistry.register(`breadcrumb`,({schema:e,...t})=>{let{"data-obj-id":n,"data-obj-type":r,style:a,...s}=t;return(0,o.jsx)(Ve,{className:e.className,...s,"data-obj-id":n,"data-obj-type":r,style:a,children:(0,o.jsx)(He,{children:e.items?.map((t,n)=>(0,o.jsxs)(`div`,{className:`flex items-center`,children:[(0,o.jsx)(Ue,{children:n===(e.items?.length||0)-1?(0,o.jsx)(Ge,{children:(0,i.resolveI18nLabel)(t.label)??``}):(0,o.jsx)(We,{href:t.href,children:(0,i.resolveI18nLabel)(t.label)??``})}),n<(e.items?.length||0)-1&&(0,o.jsx)(Ke,{})]},n))})})},{namespace:`ui`,label:`Breadcrumb`,inputs:[{name:`className`,type:`string`,label:`CSS Class`}],defaultProps:{items:[{label:`Home`,href:`/`},{label:`Products`,href:`/products`},{label:`Product`}]}}),t.ComponentRegistry.register(`kbd`,({schema:e,...t})=>{let{"data-obj-id":n,"data-obj-type":r,style:i,...a}=t,s=Array.isArray(e.keys)?e.keys:[e.keys||e.label||`K`];return(0,o.jsx)(`div`,{className:B(`inline-flex flex-wrap gap-1`,e.className),children:s.map((e,t)=>(0,o.jsx)(`kbd`,{className:`pointer-events-none inline-flex h-5 select-none items-center gap-1 rounded border bg-muted px-1.5 font-mono text-[10px] font-medium text-muted-foreground opacity-100`,...a,...t===0?{"data-obj-id":n,"data-obj-type":r,style:i}:{},children:e},t))})},{namespace:`ui`,label:`Keyboard Key`,inputs:[{name:`label`,type:`string`,label:`Label`},{name:`className`,type:`string`,label:`CSS Class`}],defaultProps:{label:`K`}}),t.ComponentRegistry.register(`table`,({schema:e,className:t})=>{let n=(0,i.useDataScope)(e.bind)||e.data||e.props?.data||[],r=Array.isArray(e.columns)?e.columns:Array.isArray(e.props?.columns)?e.props.columns:[];if(n&&!Array.isArray(n))return(0,o.jsx)(`div`,{className:`text-red-500 p-2 border border-red-200 bg-red-50 rounded text-sm`,children:`Table data must be an array`});let a=Array.isArray(n)?n:[];return(0,o.jsx)(`div`,{className:B(`rounded-md border`,t),children:(0,o.jsxs)(Hi,{children:[(0,o.jsx)(Ui,{children:(0,o.jsx)(Ki,{children:r.map((e,t)=>(0,o.jsx)(qi,{children:e.label||e.header},e.key||e.accessorKey||t))})}),(0,o.jsx)(Wi,{children:a.length===0?(0,o.jsx)(Ki,{children:(0,o.jsx)(Ji,{colSpan:r.length,className:`h-24 text-center`,children:`No results.`})}):a.map((e,t)=>(0,o.jsx)(Ki,{children:r.map((t,n)=>{let r=t.key||t.accessorKey||``,i=r?e[r]:``;return(0,o.jsx)(Ji,{children:typeof i==`object`&&i?String(i):i},t.key||t.accessorKey||n)})},e.id||t))})]})})},{namespace:`ui`}),t.ComponentRegistry.register(`progress`,({schema:e,className:t,...n})=>(0,o.jsx)(Or,{value:e.value,className:t,...n}),{namespace:`ui`,label:`Progress`,inputs:[{name:`value`,type:`number`,label:`Value`,defaultValue:0},{name:`className`,type:`string`,label:`CSS Class`}],defaultProps:{value:50,className:`w-full`}}),t.ComponentRegistry.register(`skeleton`,({schema:e,className:t,...n})=>(0,o.jsx)(Z,{className:t,...n,style:{width:e.width,height:e.height}}),{namespace:`ui`,label:`Skeleton`,inputs:[{name:`width`,type:`string`,label:`Width`},{name:`height`,type:`string`,label:`Height`},{name:`className`,type:`string`,label:`CSS Class`}],defaultProps:{width:`100%`,height:`20px`,className:`rounded-md`}}),t.ComponentRegistry.register(`toaster`,()=>(0,o.jsx)(Bi,{}),{namespace:`ui`,label:`Toaster`,inputs:[],defaultProps:{}}),t.ComponentRegistry.register(`loading`,({schema:e,className:t,...n})=>{let r=e.size||`md`,i=e.fullscreen||!1,a=(0,o.jsxs)(`div`,{className:B(`flex flex-col items-center justify-center gap-2`,t),children:[(0,o.jsx)(Lo,{className:B(r===`sm`&&`h-4 w-4`,r===`md`&&`h-8 w-8`,r===`lg`&&`h-12 w-12`,r===`xl`&&`h-16 w-16`)}),e.text&&(0,o.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:e.text})]});return i?(0,o.jsx)(`div`,{className:`fixed inset-0 z-50 flex items-center justify-center bg-background/80 backdrop-blur-sm`,...n,children:a}):(0,o.jsx)(`div`,{className:`flex items-center justify-center p-8`,...n,children:a})},{namespace:`ui`,label:`Loading`,inputs:[{name:`text`,type:`string`,label:`Loading Text`},{name:`size`,type:`enum`,enum:[`sm`,`md`,`lg`,`xl`],label:`Size`,defaultValue:`md`},{name:`fullscreen`,type:`boolean`,label:`Fullscreen Overlay`,defaultValue:!1},{name:`className`,type:`string`,label:`CSS Class`}],defaultProps:{text:`Loading...`,size:`md`,fullscreen:!1}}),t.ComponentRegistry.register(`toast`,({schema:e})=>(0,o.jsx)(W,{onClick:()=>{(e.variant===`success`?F.toast.success:e.variant===`error`?F.toast.error:e.variant===`warning`?F.toast.warning:e.variant===`info`?F.toast.info:F.toast)(e.title||`Notification`,{description:e.description,duration:e.duration})},variant:e.buttonVariant,className:e.className,children:e.buttonLabel||`Show Toast`}),{namespace:`ui`,label:`Toast`,inputs:[{name:`title`,type:`string`,label:`Title`},{name:`description`,type:`string`,label:`Description`},{name:`variant`,type:`enum`,enum:[`default`,`success`,`warning`,`error`,`info`],defaultValue:`default`,label:`Variant`},{name:`duration`,type:`number`,label:`Duration (ms)`},{name:`buttonLabel`,type:`string`,label:`Button Label`},{name:`className`,type:`string`,label:`CSS Class`}],defaultProps:{title:`Notification`,buttonLabel:`Show Toast`,variant:`default`,duration:5e3}}),t.ComponentRegistry.register(`spinner`,({schema:e,...t})=>{let{"data-obj-id":n,"data-obj-type":r,style:i,...a}=t;return(0,o.jsx)(c.Loader2,{className:B(`animate-spin`,{sm:`h-4 w-4`,md:`h-6 w-6`,lg:`h-8 w-8`,xl:`h-12 w-12`}[e.size||`md`],e.className),...a,"data-obj-id":n,"data-obj-type":r,style:i})},{namespace:`ui`,label:`Spinner`,inputs:[{name:`size`,type:`enum`,enum:[`sm`,`md`,`lg`,`xl`],defaultValue:`md`,label:`Size`},{name:`className`,type:`string`,label:`CSS Class`}],defaultProps:{size:`md`}}),t.ComponentRegistry.register(`empty`,({schema:e,...t})=>{let{"data-obj-id":n,"data-obj-type":r,style:i,...a}=t;return(0,o.jsxs)(`div`,{className:B(`flex flex-col items-center justify-center p-8 text-center`,e.className),...a,"data-obj-id":n,"data-obj-type":r,style:i,children:[(0,o.jsx)(c.InboxIcon,{className:`h-12 w-12 text-muted-foreground mb-4`}),(0,o.jsx)(`h3`,{className:`text-lg font-semibold`,children:e.title||`No data`}),e.description&&(0,o.jsx)(`p`,{className:`text-sm text-muted-foreground mt-2`,children:e.description})]})},{namespace:`ui`,label:`Empty`,inputs:[{name:`title`,type:`string`,label:`Title`,defaultValue:`No data`},{name:`description`,type:`string`,label:`Description`},{name:`className`,type:`string`,label:`CSS Class`}],defaultProps:{title:`No data`}}),t.ComponentRegistry.register(`sonner`,({schema:e,...t})=>(0,o.jsx)(W,{onClick:()=>{(e.variant===`success`?F.toast.success:e.variant===`error`?F.toast.error:e.variant===`warning`?F.toast.warning:e.variant===`info`?F.toast.info:F.toast)(e.message||e.title||`Notification`,{description:e.description})},variant:e.buttonVariant,className:e.className,...t,children:e.buttonLabel||`Show Toast`}),{namespace:`ui`,label:`Sonner Toast`,inputs:[{name:`message`,type:`string`,label:`Message`},{name:`description`,type:`string`,label:`Description`},{name:`variant`,type:`enum`,enum:[`default`,`success`,`error`,`warning`,`info`],defaultValue:`default`,label:`Variant`},{name:`buttonLabel`,type:`string`,label:`Button Label`},{name:`className`,type:`string`,label:`CSS Class`}],defaultProps:{message:`Notification`,buttonLabel:`Show Toast`,variant:`default`}}),t.ComponentRegistry.register(`dialog`,({schema:e,className:t,...n})=>(0,o.jsxs)(Ct,{modal:e.modal,defaultOpen:e.defaultOpen,...n,children:[(0,o.jsx)(wt,{asChild:!0,children:V(e.trigger)}),(0,o.jsxs)(Ot,{className:t,children:[(0,o.jsxs)(kt,{children:[e.title&&(0,o.jsx)(jt,{children:e.title}),e.description&&(0,o.jsx)(Mt,{children:e.description})]}),V(e.content),e.footer&&(0,o.jsx)(At,{children:V(e.footer)})]})]}),{namespace:`ui`,label:`Dialog`,inputs:[{name:`title`,type:`string`,label:`Title`},{name:`description`,type:`string`,label:`Description`},{name:`modal`,type:`boolean`,label:`Modal`,defaultValue:!0},{name:`defaultOpen`,type:`boolean`,label:`Default Open`},{name:`trigger`,type:`slot`,label:`Trigger`,description:`Element that opens the dialog`},{name:`content`,type:`slot`,label:`Content`,description:`Main content of the dialog`},{name:`footer`,type:`slot`,label:`Footer`},{name:`className`,type:`string`,label:`Content CSS Class`}],defaultProps:{title:`Dialog Title`,description:`Dialog description goes here`,modal:!0,trigger:[{type:`button`,label:`Open Dialog`}],content:[{type:`text`,content:`Dialog content goes here`}]}}),t.ComponentRegistry.register(`sheet`,({schema:e,className:t,...n})=>(0,o.jsxs)(Wr,{modal:e.modal,defaultOpen:e.defaultOpen,...n,children:[(0,o.jsx)(Gr,{asChild:!0,children:V(e.trigger)}),(0,o.jsxs)(Xr,{side:e.side||`right`,className:t,children:[(0,o.jsxs)(Zr,{children:[e.title&&(0,o.jsx)($r,{children:e.title}),e.description&&(0,o.jsx)(ei,{children:e.description})]}),V(e.content),e.footer&&(0,o.jsx)(Qr,{children:V(e.footer)})]})]}),{namespace:`ui`,label:`Sheet`,inputs:[{name:`title`,type:`string`,label:`Title`},{name:`description`,type:`string`,label:`Description`},{name:`side`,type:`enum`,enum:[`top`,`right`,`bottom`,`left`],defaultValue:`right`,label:`Side`},{name:`modal`,type:`boolean`,label:`Modal`,defaultValue:!0},{name:`defaultOpen`,type:`boolean`,label:`Default Open`},{name:`trigger`,type:`slot`,label:`Trigger`},{name:`content`,type:`slot`,label:`Content`},{name:`footer`,type:`slot`,label:`Footer`},{name:`className`,type:`string`,label:`Content CSS Class`}],defaultProps:{title:`Sheet Title`,description:`Sheet description`,side:`right`,modal:!0,trigger:[{type:`button`,label:`Open Sheet`}],content:[{type:`text`,content:`Sheet content goes here`}]}}),t.ComponentRegistry.register(`popover`,({schema:e,className:t,...n})=>(0,o.jsxs)(Tr,{modal:e.modal,defaultOpen:e.defaultOpen,...n,children:[(0,o.jsx)(Er,{asChild:!0,children:V(e.trigger)}),(0,o.jsx)(Dr,{align:e.align,side:e.side,className:t,children:V(e.content)})]}),{namespace:`ui`,label:`Popover`,inputs:[{name:`modal`,type:`boolean`,label:`Modal`},{name:`defaultOpen`,type:`boolean`,label:`Default Open`},{name:`align`,type:`enum`,enum:[`start`,`center`,`end`],label:`Align`},{name:`side`,type:`enum`,enum:[`top`,`right`,`bottom`,`left`],label:`Side`},{name:`trigger`,type:`slot`,label:`Trigger`},{name:`content`,type:`slot`,label:`Content`},{name:`className`,type:`string`,label:`Content CSS Class`}],defaultProps:{trigger:[{type:`button`,label:`Open Popover`,variant:`outline`}],content:[{type:`text`,content:`Popover content goes here`}],align:`center`,side:`bottom`}}),t.ComponentRegistry.register(`tooltip`,({schema:e,className:t,...n})=>(0,o.jsx)(ri,{delayDuration:e.delayDuration,children:(0,o.jsxs)(ii,{...n,children:[(0,o.jsx)(ai,{asChild:!0,children:V(e.trigger)}),(0,o.jsx)(oi,{side:e.side,align:e.align,className:t,children:e.content||V(e.body)})]})}),{namespace:`ui`,label:`Tooltip`,inputs:[{name:`delayDuration`,type:`number`,label:`Delay Duration`,defaultValue:700},{name:`side`,type:`enum`,enum:[`top`,`right`,`bottom`,`left`],label:`Side`},{name:`align`,type:`enum`,enum:[`start`,`center`,`end`],label:`Align`},{name:`trigger`,type:`slot`,label:`Trigger`},{name:`content`,type:`string`,label:`Content Text`},{name:`body`,type:`slot`,label:`Rich Content`},{name:`className`,type:`string`,label:`Content CSS Class`}],defaultProps:{trigger:[{type:`button`,label:`Hover me`,variant:`outline`}],content:`Tooltip content`,delayDuration:700,side:`top`}}),t.ComponentRegistry.register(`alert-dialog`,({schema:e,className:t,...n})=>(0,o.jsxs)(xe,{defaultOpen:e.defaultOpen,...n,children:[(0,o.jsx)(Se,{asChild:!0,children:V(e.trigger)}),(0,o.jsxs)(Te,{className:t,children:[(0,o.jsxs)(Ee,{children:[e.title&&(0,o.jsx)(De,{children:e.title}),e.description&&(0,o.jsx)(Oe,{children:e.description})]}),V(e.content),(0,o.jsxs)(G,{children:[e.cancelText&&(0,o.jsx)(Ae,{children:e.cancelText}),e.actionText&&(0,o.jsx)(ke,{onClick:e.onAction,children:e.actionText})]})]})]}),{namespace:`ui`,label:`Alert Dialog`,inputs:[{name:`title`,type:`string`,label:`Title`},{name:`description`,type:`string`,label:`Description`},{name:`cancelText`,type:`string`,label:`Cancel Text`,defaultValue:`Cancel`},{name:`actionText`,type:`string`,label:`Action Text`,defaultValue:`Continue`},{name:`defaultOpen`,type:`boolean`,label:`Default Open`},{name:`trigger`,type:`slot`,label:`Trigger`},{name:`content`,type:`slot`,label:`Content/Body`},{name:`className`,type:`string`,label:`Content CSS Class`}],defaultProps:{title:`Are you sure?`,description:`This action cannot be undone.`,cancelText:`Cancel`,actionText:`Continue`,trigger:[{type:`button`,label:`Open Alert`,variant:`destructive`}]}}),t.ComponentRegistry.register(`drawer`,({schema:e,className:t,...n})=>(0,o.jsxs)(rn,{shouldScaleBackground:e.shouldScaleBackground,defaultOpen:e.defaultOpen,...n,children:[(0,o.jsx)(an,{asChild:!0,children:V(e.trigger)}),(0,o.jsxs)(ln,{className:t,children:[(0,o.jsxs)(un,{children:[e.title&&(0,o.jsx)(fn,{children:e.title}),e.description&&(0,o.jsx)(pn,{children:e.description})]}),V(e.content),e.footer&&(0,o.jsxs)(dn,{children:[V(e.footer),e.showClose&&(0,o.jsx)(sn,{asChild:!0,children:(0,o.jsx)(`button`,{children:`Close`})})]})]})]}),{namespace:`ui`,label:`Drawer`,inputs:[{name:`title`,type:`string`,label:`Title`},{name:`description`,type:`string`,label:`Description`},{name:`shouldScaleBackground`,type:`boolean`,label:`Scale Background`},{name:`defaultOpen`,type:`boolean`,label:`Default Open`},{name:`showClose`,type:`boolean`,label:`Show Close Button in Footer`},{name:`trigger`,type:`slot`,label:`Trigger`},{name:`content`,type:`slot`,label:`Content`},{name:`footer`,type:`slot`,label:`Footer`},{name:`className`,type:`string`,label:`Content CSS Class`}],defaultProps:{title:`Drawer Title`,description:`Drawer description`,trigger:[{type:`button`,label:`Open Drawer`}],content:[{type:`text`,content:`Drawer content goes here`}]}}),t.ComponentRegistry.register(`hover-card`,({schema:e,className:t,...n})=>(0,o.jsxs)(Bn,{openDelay:e.openDelay,closeDelay:e.closeDelay,...n,children:[(0,o.jsx)(Vn,{asChild:!0,children:V(e.trigger)}),(0,o.jsx)(Hn,{align:e.align,side:e.side,className:t,children:V(e.content)})]}),{namespace:`ui`,label:`Hover Card`,inputs:[{name:`openDelay`,type:`number`,label:`Open Delay`},{name:`closeDelay`,type:`number`,label:`Close Delay`},{name:`side`,type:`enum`,enum:[`top`,`right`,`bottom`,`left`],label:`Side`},{name:`align`,type:`enum`,enum:[`start`,`center`,`end`],label:`Align`},{name:`trigger`,type:`slot`,label:`Trigger`},{name:`content`,type:`slot`,label:`Content`},{name:`className`,type:`string`,label:`Content CSS Class`}],defaultProps:{trigger:[{type:`button`,label:`Hover me`,variant:`link`}],content:[{type:`text`,content:`Hover card content appears on hover`}],side:`top`}});var sc=e=>e?e.map((e,t)=>e.type===`separator`?(0,o.jsx)(Dn,{},t):e.type===`label`?(0,o.jsx)(En,{children:e.label},t):e.children?(0,o.jsxs)(vn,{children:[(0,o.jsxs)(bn,{inset:e.inset,children:[e.icon&&(0,o.jsx)(`span`,{className:`mr-2`,children:e.icon}),e.label]}),(0,o.jsx)(xn,{children:sc(e.children)})]},t):(0,o.jsxs)(Cn,{disabled:e.disabled,inset:e.inset,onSelect:e.onSelect,children:[e.icon&&(0,o.jsx)(`span`,{className:`mr-2`,children:e.icon}),e.label,e.shortcut&&(0,o.jsx)(`span`,{className:`ml-auto text-xs tracking-widest opacity-60`,children:e.shortcut})]},t)):null;t.ComponentRegistry.register(`dropdown-menu`,({schema:e,className:t,...n})=>(0,o.jsxs)(mn,{modal:e.modal,defaultOpen:e.defaultOpen,...n,children:[(0,o.jsx)(hn,{asChild:!0,children:V(e.trigger)}),(0,o.jsxs)(Sn,{align:e.align,side:e.side,className:t,children:[e.label&&(0,o.jsx)(En,{children:e.label}),e.label&&(0,o.jsx)(Dn,{}),sc(e.items)]})]}),{namespace:`ui`,label:`Dropdown Menu`,inputs:[{name:`label`,type:`string`,label:`Menu Label`},{name:`side`,type:`enum`,enum:[`top`,`right`,`bottom`,`left`],label:`Side`},{name:`align`,type:`enum`,enum:[`start`,`center`,`end`],label:`Align`},{name:`trigger`,type:`slot`,label:`Trigger`},{name:`items`,type:`array`,label:`Items`,description:`Recursive structure: { type?: "separator"|"label", label, icon, shortcut, disabled, children: [] }`},{name:`className`,type:`string`,label:`Content CSS Class`}],defaultProps:{trigger:[{type:`button`,label:`Menu`,variant:`outline`}],items:[{label:`Item 1`},{label:`Item 2`},{type:`separator`},{label:`Item 3`}],align:`start`,side:`bottom`}});var cc=e=>e?e.map((e,t)=>e.type===`separator`?(0,o.jsx)(tn,{},t):e.type===`label`?(0,o.jsx)(en,{children:e.label},t):e.children?(0,o.jsxs)(Kt,{children:[(0,o.jsx)(Jt,{inset:e.inset,children:e.label}),(0,o.jsx)(Yt,{children:cc(e.children)})]},t):(0,o.jsxs)(Zt,{disabled:e.disabled,inset:e.inset,onSelect:e.onSelect,children:[e.label,e.shortcut&&(0,o.jsx)(nn,{children:e.shortcut})]},t)):null;t.ComponentRegistry.register(`context-menu`,({schema:e,className:t,...n})=>{let r=e.triggerClassName||t||e.className||`h-[120px] w-full sm:h-[150px] sm:w-[300px] border border-dashed text-sm flex items-center justify-center`,i=e.contentClassName;return(0,o.jsxs)(Ht,{modal:e.modal,...n,children:[(0,o.jsx)(Ut,{asChild:!0,children:(0,o.jsx)(`div`,{className:r,children:V(e.trigger||{type:`text`,value:`Right click here`})})}),(0,o.jsx)(Xt,{className:i,children:cc(e.items)})]})},{namespace:`ui`,label:`Context Menu`,inputs:[{name:`trigger`,type:`slot`,label:`Trigger Area`},{name:`triggerClassName`,type:`string`,label:`Trigger Area Class`},{name:`items`,type:`array`,label:`Items`,description:`Recursive structure: { type?: "separator"|"label", label, shortcut, children }`},{name:`className`,type:`string`,label:`Content CSS Class`}],defaultProps:{items:[{label:`Action 1`},{label:`Action 2`},{type:`separator`},{label:`Action 3`}],trigger:[{type:`text`,content:`Right click here`}]}}),t.ComponentRegistry.register(`menubar`,({schema:e,...t})=>{let{"data-obj-id":n,"data-obj-type":r,style:i,...a}=t;return(0,o.jsx)(Qn,{className:e.className,...a,"data-obj-id":n,"data-obj-type":r,style:i,children:e.menus?.map((e,t)=>(0,o.jsxs)(qn,{children:[(0,o.jsx)($n,{children:e.label}),(0,o.jsx)(nr,{children:e.items?.map((e,t)=>e.separator?(0,o.jsx)(sr,{},t):e.children?(0,o.jsxs)(Zn,{children:[(0,o.jsx)(er,{children:e.label}),(0,o.jsx)(tr,{children:e.children.map((e,t)=>(0,o.jsx)(rr,{children:e.label},t))})]},t):(0,o.jsx)(rr,{disabled:e.disabled,children:e.label},t))})]},t))})},{namespace:`ui`,label:`Menubar`,inputs:[{name:`className`,type:`string`,label:`CSS Class`}],defaultProps:{menus:[{label:`File`,items:[{label:`New`},{label:`Open`},{separator:!0},{label:`Exit`}]}]}}),t.ComponentRegistry.register(`accordion`,({schema:e,className:t,...n})=>(0,o.jsx)(H,{type:e.accordionType||`single`,collapsible:e.collapsible,className:t,...n,children:e.items?.map((e,t)=>(0,o.jsxs)(ve,{value:e.value||`item-${t}`,children:[(0,o.jsx)(ye,{children:e.title}),(0,o.jsx)(be,{children:V(e.content)})]},e.value||t))}),{namespace:`ui`,label:`Accordion`,inputs:[{name:`accordionType`,type:`enum`,enum:[`single`,`multiple`],defaultValue:`single`,label:`Type`},{name:`collapsible`,type:`boolean`,label:`Collapsible (for single type)`},{name:`items`,type:`array`,label:`Items`,description:`Array of { trigger, content, value }`},{name:`className`,type:`string`,label:`CSS Class`}],defaultProps:{accordionType:`single`,collapsible:!0,items:[{label:`Item 1`,value:`item-1`,content:[{type:`text`,content:`Content for item 1`}]},{label:`Item 2`,value:`item-2`,content:[{type:`text`,content:`Content for item 2`}]},{label:`Item 3`,value:`item-3`,content:[{type:`text`,content:`Content for item 3`}]}],className:`w-full`}}),t.ComponentRegistry.register(`collapsible`,({schema:e,className:t,...n})=>(0,o.jsxs)(bt,{defaultOpen:e.defaultOpen,disabled:e.disabled,className:t,...n,children:[(0,o.jsx)(xt,{asChild:!0,children:V(e.trigger)}),(0,o.jsx)(St,{children:V(e.content)})]}),{namespace:`ui`,label:`Collapsible`,inputs:[{name:`defaultOpen`,type:`boolean`,label:`Default Open`},{name:`disabled`,type:`boolean`,label:`Disabled`},{name:`trigger`,type:`slot`,label:`Trigger`},{name:`content`,type:`slot`,label:`Content`},{name:`className`,type:`string`,label:`CSS Class`}],defaultProps:{trigger:[{type:`button`,label:`Toggle`,variant:`outline`}],content:[{type:`text`,content:`Collapsible content goes here`}],className:`w-full`}}),t.ComponentRegistry.register(`toggle-group`,({schema:e,...t})=>{let{"data-obj-id":n,"data-obj-type":r,style:i,type:a,...s}=t;return(0,o.jsx)(ia,{type:e.selectionType||`single`,variant:e.variant,size:e.size,value:e.value,className:e.className,...s,"data-obj-id":n,"data-obj-type":r,style:i,children:e.items?.map((e,t)=>(0,o.jsx)(aa,{value:e.value,"aria-label":e.label,children:e.label},t))})},{namespace:`ui`,label:`Toggle Group`,inputs:[{name:`selectionType`,type:`enum`,enum:[`single`,`multiple`],defaultValue:`single`,label:`Selection Type`},{name:`variant`,type:`enum`,enum:[`default`,`outline`],defaultValue:`default`,label:`Variant`},{name:`size`,type:`enum`,enum:[`default`,`sm`,`lg`],defaultValue:`default`,label:`Size`},{name:`className`,type:`string`,label:`CSS Class`}],defaultProps:{selectionType:`single`,variant:`default`,size:`default`,items:[{value:`bold`,label:`Bold`},{value:`italic`,label:`Italic`},{value:`underline`,label:`Underline`}]}}),t.ComponentRegistry.register(`carousel`,({schema:e,className:t,...n})=>(0,o.jsxs)(it,{opts:e.opts,orientation:e.orientation||`horizontal`,className:t,...n,children:[(0,o.jsx)(at,{children:e.items?.map((t,n)=>(0,o.jsx)(ot,{className:e.itemClassName,children:V(t)},n))}),e.showArrows&&(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(st,{}),(0,o.jsx)(ct,{})]})]}),{namespace:`ui`,label:`Carousel`,inputs:[{name:`orientation`,type:`enum`,enum:[`horizontal`,`vertical`],defaultValue:`horizontal`,label:`Orientation`},{name:`showArrows`,type:`boolean`,label:`Show Arrows`,defaultValue:!0},{name:`items`,type:`array`,label:`Items`,description:`Array of content schemas`},{name:`itemClassName`,type:`string`,label:`Item CSS Class`},{name:`className`,type:`string`,label:`Container CSS Class`}],defaultProps:{orientation:`horizontal`,showArrows:!0,items:[[{type:`div`,className:`p-4 sm:p-6 md:p-8 border rounded bg-slate-50`,body:[{type:`text`,content:`Slide 1`}]}],[{type:`div`,className:`p-4 sm:p-6 md:p-8 border rounded bg-slate-50`,body:[{type:`text`,content:`Slide 2`}]}],[{type:`div`,className:`p-4 sm:p-6 md:p-8 border rounded bg-slate-50`,body:[{type:`text`,content:`Slide 3`}]}]],className:`w-full max-w-xs`}}),t.ComponentRegistry.register(`filter-builder`,({schema:e,className:t,onChange:n,...r})=>(0,o.jsxs)(`div`,{className:e.wrapperClass||``,children:[e.label&&(0,o.jsx)(`label`,{className:`text-sm font-medium mb-2 block`,children:e.label}),(0,o.jsx)(Xa,{fields:e.fields||[],value:e.value||r.value,onChange:t=>{n&&n({target:{name:e.name,value:t}})},className:t,...r})]}),{namespace:`ui`,label:`Filter Builder`,inputs:[{name:`label`,type:`string`,label:`Label`},{name:`name`,type:`string`,label:`Name`,required:!0},{name:`fields`,type:`array`,label:`Fields`,description:`Array of { value: string, label: string, type?: string } objects`,required:!0},{name:`value`,type:`object`,label:`Initial Value`,description:`FilterGroup object with conditions`}],defaultProps:{label:`Filters`,name:`filters`,fields:[{value:`name`,label:`Name`,type:`text`},{value:`email`,label:`Email`,type:`text`},{value:`age`,label:`Age`,type:`number`},{value:`status`,label:`Status`,type:`text`}],value:{id:`root`,logic:`and`,conditions:[]}}}),t.ComponentRegistry.register(`scroll-area`,({schema:e,className:t,...n})=>{let{"data-obj-id":r,"data-obj-type":i,style:a,...s}=n,c=e.orientation||`vertical`;return(0,o.jsxs)(Pr,{className:t,style:{height:e.height,width:e.width,...a},...s,"data-obj-id":r,"data-obj-type":i,children:[V(e.children),(c===`horizontal`||c===`both`)&&(0,o.jsx)(Fr,{orientation:`horizontal`}),(c===`vertical`||c===`both`)&&(0,o.jsx)(Fr,{orientation:`vertical`})]})},{namespace:`ui`,label:`Scroll Area`,inputs:[{name:`height`,type:`string`,label:`Height (e.g. 200px)`},{name:`width`,type:`string`,label:`Width`},{name:`orientation`,type:`enum`,enum:[`vertical`,`horizontal`,`both`],defaultValue:`vertical`,label:`Orientation`},{name:`className`,type:`string`,label:`CSS Class`}],defaultProps:{height:`200px`,width:`100%`,orientation:`vertical`,children:[{type:`div`,className:`p-4`,body:[{type:`text`,content:`Scrollable content goes here. Add more content to see scrolling behavior.`}]}],className:`rounded-md border`}}),t.ComponentRegistry.register(`resizable`,({schema:e,className:t,...n})=>{let r=Array.isArray(e.panels)?e.panels:[];return(0,o.jsx)(jr,{orientation:e.direction||`horizontal`,className:t,...n,style:{minHeight:e.minHeight||`200px`},children:r.map((t,n)=>(0,o.jsxs)(a.default.Fragment,{children:[(0,o.jsx)(Mr,{defaultSize:t.defaultSize,minSize:t.minSize,maxSize:t.maxSize,children:V(t.content)}),n<r.length-1&&(0,o.jsx)(Nr,{withHandle:e.withHandle})]},n))})},{namespace:`ui`,label:`Resizable Panel Group`,inputs:[{name:`direction`,type:`enum`,enum:[`horizontal`,`vertical`],defaultValue:`horizontal`,label:`Direction`},{name:`minHeight`,type:`string`,label:`Min Height`},{name:`withHandle`,type:`boolean`,label:`Show Handle Icon`,defaultValue:!0},{name:`panels`,type:`array`,label:`Panels`,description:`Array of { defaultSize, minSize, maxSize, content }`},{name:`className`,type:`string`,label:`CSS Class`}],defaultProps:{direction:`horizontal`,minHeight:`200px`,withHandle:!0,panels:[{defaultSize:50,content:[{type:`div`,className:`p-4`,body:[{type:`text`,content:`Panel 1`}]}]},{defaultSize:50,content:[{type:`div`,className:`p-4`,body:[{type:`text`,content:`Panel 2`}]}]}],className:`rounded-lg border`}}),t.ComponentRegistry.register(`table`,({schema:e,className:t,...n})=>(0,o.jsxs)(Hi,{className:t,...n,children:[e.caption&&(0,o.jsx)(Yi,{children:e.caption}),(0,o.jsx)(Ui,{children:(0,o.jsx)(Ki,{children:e.columns?.map((e,t)=>(0,o.jsx)(qi,{className:e.className,style:{width:e.width},children:e.header||e.label},t))})}),(0,o.jsx)(Wi,{children:e.data?.map((t,n)=>(0,o.jsx)(Ki,{children:e.columns?.map((e,n)=>(0,o.jsx)(Ji,{className:e.cellClassName,children:t[e.accessorKey||e.name]},n))},n))}),e.footer&&(0,o.jsx)(Gi,{children:(0,o.jsx)(Ki,{children:(0,o.jsx)(Ji,{colSpan:e.columns?.length,children:typeof e.footer==`string`?e.footer:V(e.footer)})})})]}),{namespace:`ui`,label:`Table`,inputs:[{name:`caption`,type:`string`,label:`Caption`},{name:`footer`,type:`string`,label:`Footer Content`},{name:`columns`,type:`array`,label:`Columns`,description:`Array of { header, accessorKey, className, width }`},{name:`data`,type:`array`,label:`Data`,description:`Array of objects`},{name:`className`,type:`string`,label:`CSS Class`}],defaultProps:{caption:`Table Caption`,columns:[{header:`Column 1`,accessorKey:`col1`},{header:`Column 2`,accessorKey:`col2`},{header:`Column 3`,accessorKey:`col3`}],data:[{col1:`Row 1, Col 1`,col2:`Row 1, Col 2`,col3:`Row 1, Col 3`},{col1:`Row 2, Col 1`,col2:`Row 2, Col 2`,col3:`Row 2, Col 3`},{col1:`Row 3, Col 1`,col2:`Row 3, Col 2`,col3:`Row 3, Col 3`}]}});var lc={"table.rowsPerPage":`Rows per page`,"table.pageInfo":`Page {{current}} of {{total}}`,"table.totalRecords":`{{count}} total`,"table.noResults":`No results found`,"table.noResultsHint":`Try adjusting your filters or search query.`,"table.sortAsc":`Sort ascending`,"table.sortDesc":`Sort descending`,"table.hideColumn":`Hide column`,"table.cancelAll":`Cancel All`,"table.saveAll":`Save All ({{count}})`,"table.exportCSV":`Export CSV`,"table.addRecord":`Add record`,"table.open":`Open`,"table.search":`Search...`,"table.modified":`{{count}} row modified`,"table.selected":`{{count}} selected`,"table.edit":`Edit`,"table.delete":`Delete`,"common.actions":`Actions`};function uc(){try{let e=(0,i.useObjectTranslation)();return e.t(`table.rowsPerPage`)===`table.rowsPerPage`?{t:(e,t)=>{let n=lc[e]||e;if(t)for(let[e,r]of Object.entries(t))n=n.replace(`{{${e}}}`,String(r));return n},language:e.language||`en`}:{t:e.t,language:e.language||`en`}}catch{return{t:(e,t)=>{let n=lc[e]||e;if(t)for(let[e,r]of Object.entries(t))n=n.replace(`{{${e}}}`,String(r));return n},language:`en`}}}t.ComponentRegistry.register(`data-table`,({schema:e})=>{let{caption:n,columns:r=[],data:i=[],pagination:s=!0,pageSize:l=10,searchable:u=!0,selectable:d=!1,sortable:f=!0,exportable:p=!1,rowActions:m=!1,resizableColumns:h=!0,reorderableColumns:g=!0,editable:_=!1,singleClickEdit:v=!1,selectionStyle:y=`always`,rowClassName:b,rowStyle:x,className:S,cellClassName:C,frozenColumns:w=0,showRowNumbers:T=!1,showAddRow:E=!1,borderless:D=!1}=e,{t:O,language:k}=uc(),A=/^\d{4}-\d{2}-\d{2}(?:T\d{2}:\d{2}(?::\d{2}(?:\.\d+)?)?(?:Z|[+-]\d{2}:?\d{2})?)?$/,ee=a.default.useCallback(e=>{if(typeof e!=`string`||e.length<8||!A.test(e))return e;let t=Date.parse(e);if(Number.isNaN(t))return e;let n=e.includes(`T`);try{return new Intl.DateTimeFormat(k,n?{year:`numeric`,month:`short`,day:`numeric`,hour:`2-digit`,minute:`2-digit`}:{year:`numeric`,month:`short`,day:`numeric`}).format(new Date(t))}catch{return e}},[k]),j=Array.isArray(i)?i:[],te=(0,a.useMemo)(()=>r.map(e=>({...e,header:e.header||e.label,accessorKey:e.accessorKey||e.name})),[r]),M=(0,a.useMemo)(()=>{let e={},t=r.map(e=>({header:e.header||e.label,accessorKey:e.accessorKey||e.name,width:e.width}));for(let n of t){if(n.width)continue;let t=(n.header||``).length,r=j.slice(0,50);for(let e of r){let r=e[n.accessorKey],i=r==null?0:String(r).length;i>t&&(t=i)}e[n.accessorKey]=Math.min(400,Math.max(80,t*8+48))}return e},[r,j]),[N,ne]=(0,a.useState)(``),[P,re]=(0,a.useState)(null),[ie,F]=(0,a.useState)(null),[ae,oe]=(0,a.useState)(new Set),[I,se]=(0,a.useState)(1),[L,ce]=(0,a.useState)(l),[R,le]=(0,a.useState)(te),[ue,de]=(0,a.useState)({}),[fe,pe]=(0,a.useState)(null),[me,he]=(0,a.useState)(null),[z,V]=(0,a.useState)(null),[ge,_e]=(0,a.useState)(``),[H,ve]=(0,a.useState)(new Map),[ye,be]=(0,a.useState)(!1),[U,xe]=(0,a.useState)(null),Se=(0,a.useRef)(null),Ce=(0,a.useRef)(0),we=(0,a.useRef)(0),Te=(0,a.useRef)(null);(0,a.useEffect)(()=>{le(te)},[te]);let Ee=(0,a.useMemo)(()=>N?j.filter(e=>R.some(t=>e[t.accessorKey]?.toString().toLowerCase().includes(N.toLowerCase()))):j,[j,N,R]),G=(0,a.useMemo)(()=>!P||!ie?Ee:[...Ee].sort((e,t)=>{let n=e[P],r=t[P];if(n===r)return 0;let i=n<r?-1:1;return ie===`asc`?i:-i}),[Ee,P,ie]),De=Math.ceil(G.length/L),Oe=s?G.slice((I-1)*L,I*L):G,ke=(e,t)=>e.id===void 0?`row-${t}`:e.id,Ae=e=>{f&&(P===e?ie===`asc`?F(`desc`):ie===`desc`&&(F(null),re(null)):(re(e),F(`asc`)))},je=(e,t)=>{e.preventDefault(),xe({x:e.clientX,y:e.clientY,columnKey:t})},Me=e=>{le(t=>t.filter(t=>t.accessorKey!==e)),xe(null)};(0,a.useEffect)(()=>{if(!U)return;let e=()=>xe(null);return document.addEventListener(`click`,e),()=>document.removeEventListener(`click`,e)},[U]);let Ne=t=>{let n=new Set;if(t&&Oe.forEach((e,t)=>{let r=ke(e,(I-1)*L+t);n.add(r)}),oe(n),e.onSelectionChange){let t=G.filter((e,t)=>{let r=ke(e,t);return n.has(r)});e.onSelectionChange(t)}},Pe=(t,n)=>{let r=new Set(ae);if(n?r.add(t):r.delete(t),oe(r),e.onSelectionChange){let t=G.filter((e,t)=>{let n=ke(e,t);return r.has(n)});e.onSelectionChange(t)}},Fe=()=>{let e=[R.map(e=>e.header).join(`,`),...G.map(e=>R.map(t=>JSON.stringify(e[t.accessorKey]||``)).join(`,`))].join(`
|
|
19
|
-
`),t=new Blob([e],{type:`text/csv`}),n=window.URL.createObjectURL(t),r=document.createElement(`a`);r.href=n,r.download=`table-export.csv`,r.click(),window.URL.revokeObjectURL(n)},Ie=e=>P===e?ie===`asc`?(0,o.jsx)(c.ChevronUp,{className:`h-3 w-3 ml-0.5 text-primary`}):(0,o.jsx)(c.ChevronDown,{className:`h-3 w-3 ml-0.5 text-primary`}):(0,o.jsx)(c.ChevronsUpDown,{className:`h-3 w-3 ml-0.5 opacity-0 group-hover:opacity-50 transition-opacity`}),Le=(e,t)=>{if(!h)return;e.preventDefault(),e.stopPropagation(),Se.current=t,Ce.current=e.clientX;let n=e.target.closest(`th`);n&&(we.current=n.offsetWidth),document.addEventListener(`mousemove`,Re),document.addEventListener(`mouseup`,ze)},Re=e=>{if(!Se.current)return;let t=e.clientX-Ce.current,n=Math.max(50,we.current+t);de(e=>({...e,[Se.current]:n}))},ze=()=>{Se.current=null,document.removeEventListener(`mousemove`,Re),document.removeEventListener(`mouseup`,ze)},Be=(e,t)=>{g&&(pe(t),e.dataTransfer.effectAllowed=`move`)},Ve=(e,t)=>{g&&(e.preventDefault(),e.dataTransfer.dropEffect=`move`,he(t))},He=(t,n)=>{if(!g||fe===null)return;if(t.preventDefault(),fe===n){pe(null),he(null);return}let r=[...R],[i]=r.splice(fe,1);r.splice(n,0,i),le(r),pe(null),he(null),e.onColumnsReorder&&e.onColumnsReorder(r)},Ue=()=>{pe(null),he(null)},We=(e,t)=>{if(!_||R.find(e=>e.accessorKey===t)?.editable===!1)return;V({rowIndex:e,columnKey:t});let n=H.get(e),r=Oe[e][t];_e(n?.[t]??r??``)},Ge=(t=!1)=>{if(!z||!t&&z===null)return;let{rowIndex:n,columnKey:r}=z,i=(I-1)*L+n,a=G[i],o=new Map(H),s=o.get(n)||{};s[r]=ge,o.set(n,s),ve(o),e.onCellChange&&e.onCellChange(i,r,ge,a),V(null),_e(``)},Ke=()=>{V(null),_e(``)},qe=async t=>{let n=(I-1)*L+t,r=G[n],i=H.get(t);if(!(!i||Object.keys(i).length===0)){be(!0);try{e.onRowSave&&await e.onRowSave(n,i,r);let a=new Map(H);a.delete(t),ve(a)}catch(e){console.error(`Failed to save row:`,e)}finally{be(!1)}}},Je=e=>{let t=new Map(H);t.delete(e),ve(t)},Ye=async()=>{if(H.size!==0){be(!0);try{let t=Array.from(H.entries()).map(([e,t])=>{let n=(I-1)*L+e;return{rowIndex:n,changes:t,row:G[n]}});e.onBatchSave&&await e.onBatchSave(t),ve(new Map)}catch(e){console.error(`Failed to save batch:`,e)}finally{be(!1)}}},Xe=()=>{ve(new Map)},Ze=(e,t,n)=>{if((e.ctrlKey||e.metaKey)&&e.key===`c`&&!z){e.preventDefault();let r=G[(I-1)*L+t];if(r){let e=r[n],t=e==null?``:String(e);navigator.clipboard.writeText(t).catch(()=>{})}return}_&&R.find(e=>e.accessorKey===n)?.editable!==!1&&e.key===`Enter`&&!z&&(e.preventDefault(),We(t,n))},Qe=e=>{e.key===`Enter`?(e.preventDefault(),Ge(!0)):e.key===`Escape`&&(e.preventDefault(),Ke())};(0,a.useEffect)(()=>{z&&Te.current&&(Te.current.focus(),Te.current.select())},[z]),(0,a.useEffect)(()=>()=>{document.removeEventListener(`mousemove`,Re),document.removeEventListener(`mouseup`,ze)},[]);let $e=Oe.length>0&&Oe.every((e,t)=>{let n=ke(e,(I-1)*L+t);return ae.has(n)}),et=Oe.some((e,t)=>{let n=ke(e,(I-1)*L+t);return ae.has(n)})&&!$e,tt=H.size>0,nt=u||p||d&&ae.size>0||tt;return(0,o.jsxs)(`div`,{className:`flex flex-col h-full gap-2 sm:gap-4 ${S||``}`,children:[nt&&(0,o.jsxs)(`div`,{className:`flex flex-col sm:flex-row items-stretch sm:items-center justify-between gap-2 sm:gap-4 flex-none`,children:[(0,o.jsx)(`div`,{className:`flex items-center gap-2 flex-1`,children:u&&(0,o.jsxs)(`div`,{className:`relative w-full sm:max-w-sm flex-1`,children:[(0,o.jsx)(c.Search,{className:`absolute left-2 top-1/2 transform -translate-y-1/2 h-4 w-4 text-muted-foreground`}),(0,o.jsx)(q,{placeholder:O(`table.search`),value:N,onChange:e=>{ne(e.target.value),se(1)},className:`pl-8`})]})}),(0,o.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[tt&&(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(`div`,{className:`text-sm text-muted-foreground`,children:O(`table.modified`,{count:H.size})}),(0,o.jsxs)(W,{variant:`outline`,size:`sm`,onClick:Xe,disabled:ye,children:[(0,o.jsx)(c.X,{className:`h-4 w-4 mr-2`}),O(`table.cancelAll`)]}),(0,o.jsxs)(W,{variant:`default`,size:`sm`,onClick:Ye,disabled:ye,children:[(0,o.jsx)(c.Save,{className:`h-4 w-4 mr-2`}),O(`table.saveAll`,{count:H.size})]})]}),p&&(0,o.jsxs)(W,{variant:`outline`,size:`sm`,onClick:Fe,disabled:G.length===0,children:[(0,o.jsx)(c.Download,{className:`h-4 w-4 mr-2`}),O(`table.exportCSV`)]}),d&&ae.size>0&&(0,o.jsx)(`div`,{className:`text-sm text-muted-foreground`,children:O(`table.selected`,{count:ae.size})})]})]}),(0,o.jsx)(`div`,{className:B(`flex-1 min-h-0 overflow-auto relative bg-background [-webkit-overflow-scrolling:touch]`,!D&&`rounded-md border shadow-[inset_-8px_0_8px_-8px_rgba(0,0,0,0.08)]`),children:(0,o.jsxs)(Hi,{children:[n&&(0,o.jsx)(Yi,{children:n}),(0,o.jsx)(Ui,{className:`sticky top-0 bg-muted/30 z-10`,children:(0,o.jsxs)(Ki,{children:[d&&(0,o.jsx)(qi,{className:B(`w-10 bg-muted/30`,w>0&&`sticky left-0 z-20`),children:(0,o.jsx)(yt,{checked:$e?!0:et?`indeterminate`:!1,onCheckedChange:Ne})}),T&&(0,o.jsx)(qi,{className:B(`w-10 bg-muted/30 text-center`,w>0&&`sticky z-20`),style:w>0?{left:d?40:0}:void 0,children:(0,o.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:`#`})}),R.map((e,t)=>{let n=ue[e.accessorKey]||e.width||M[e.accessorKey],r=fe===t,i=me===t,a=w>0&&t<w,s=a?R.slice(0,t).reduce((e,t,n)=>{if(n<w){let n=ue[t.accessorKey]||t.width||M[t.accessorKey];return e+(typeof n==`number`?n:n&&parseInt(String(n),10)||150)}return e},(d?40:0)+(T?40:0)):void 0;return(0,o.jsx)(qi,{className:B(e.className,f&&e.sortable!==!1&&`cursor-pointer select-none`,r&&`opacity-50`,i&&`border-l-2 border-primary`,e.align===`right`&&`text-right`,e.align===`center`&&`text-center`,`relative group bg-muted/30`,a&&`sticky z-20`,a&&t===w-1&&`border-r-2 border-border shadow-[2px_0_4px_-2px_rgba(0,0,0,0.1)]`),style:{width:n,minWidth:n,...a&&{left:s}},draggable:g,onDragStart:e=>Be(e,t),onDragOver:e=>Ve(e,t),onDrop:e=>He(e,t),onDragEnd:Ue,onClick:()=>f&&e.sortable!==!1&&Ae(e.accessorKey),onContextMenu:t=>je(t,e.accessorKey),children:(0,o.jsxs)(`div`,{className:B(`flex items-center`,e.align===`right`?`justify-end`:`justify-between`),children:[(0,o.jsxs)(`div`,{className:`flex items-center gap-1`,children:[g&&(0,o.jsx)(c.GripVertical,{className:`h-4 w-4 opacity-0 group-hover:opacity-50 cursor-grab active:cursor-grabbing shrink-0`}),e.headerIcon&&(0,o.jsx)(`span`,{className:`text-muted-foreground shrink-0`,children:e.headerIcon}),(0,o.jsx)(`span`,{className:`text-xs font-normal text-muted-foreground whitespace-nowrap truncate`,children:e.header}),f&&e.sortable!==!1&&Ie(e.accessorKey)]}),h&&e.resizable!==!1&&(0,o.jsx)(`div`,{className:`absolute right-0 top-0 h-full w-1 cursor-col-resize hover:bg-primary opacity-0 hover:opacity-100 transition-opacity`,onMouseDown:t=>Le(t,e.accessorKey),onClick:e=>e.stopPropagation()})]})},e.accessorKey)}),m&&(0,o.jsx)(qi,{className:`w-24 text-right bg-muted/30`,children:O(`common.actions`)})]})}),(0,o.jsx)(Wi,{children:Oe.length===0?(0,o.jsx)(Ki,{className:`hover:bg-transparent`,children:(0,o.jsx)(Ji,{colSpan:R.length+ +!!d+ +!!T+ +!!m,className:`h-48 text-center text-muted-foreground border-0`,children:(0,o.jsxs)(`div`,{className:`flex flex-col items-center justify-center gap-3`,children:[(0,o.jsx)(c.Search,{className:`h-8 w-8 text-muted-foreground/50`}),(0,o.jsxs)(`div`,{className:`space-y-1`,children:[(0,o.jsx)(`p`,{children:O(`table.noResults`)}),(0,o.jsx)(`p`,{className:`text-xs text-muted-foreground/50`,children:O(`table.noResultsHint`)})]}),e.emptyAction&&(()=>{let n=e.emptyAction,r=n?.type?t.ComponentRegistry.get(n.type):null;return r?(0,o.jsx)(r,{schema:n}):null})()]})})}):(0,o.jsxs)(o.Fragment,{children:[Oe.map((t,n)=>{let r=(I-1)*L+n,i=ke(t,r),a=ae.has(i),s=H.has(n),l=H.get(n)||{};return(0,o.jsxs)(Ki,{"data-state":a?`selected`:void 0,className:B(`bg-background border-b border-border group/row transition-colors`,`hover:bg-muted/40`,`data-[state=selected]:bg-primary/5 data-[state=selected]:hover:bg-primary/10`,`focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring focus-visible:ring-inset`,e.onRowClick&&`cursor-pointer`,s&&`bg-amber-50 dark:bg-amber-950/20`,b&&b(t,n)),style:x?x(t,n):void 0,onClick:n=>{if(e.onRowClick&&!n.defaultPrevented){let r=n.target;if(r.closest(`button`)||r.closest(`a`)||r.closest(`input, select, textarea, label`)||r.closest(`[role="checkbox"]`)||r.closest(`[role="menu"]`)||r.closest(`[role="menuitem"]`)||r.closest(`[role="menuitemcheckbox"]`)||r.closest(`[role="menuitemradio"]`)||r.closest(`[role="dialog"]`)||r.closest(`[role="alertdialog"]`)||r.closest(`[role="listbox"]`)||r.closest(`[role="option"]`)||r.closest(`[role="tab"]`)||r.closest(`[data-radix-popper-content-wrapper]`))return;e.onRowClick(t)}},children:[d&&(0,o.jsx)(Ji,{className:B(C,w>0&&`sticky left-0 z-10 bg-background`,y===`hover`&&`relative`),children:y===`hover`?(0,o.jsx)(`div`,{className:B(`transition-opacity`,a?`opacity-100`:`opacity-0 group-hover/row:opacity-100`),children:(0,o.jsx)(yt,{checked:a,onCheckedChange:e=>Pe(i,e)})}):(0,o.jsx)(yt,{checked:a,onCheckedChange:e=>Pe(i,e)})}),T&&(0,o.jsxs)(Ji,{className:B(`text-center w-10 relative`,C,w>0&&`sticky z-10 bg-background`),style:w>0?{left:d?40:0}:void 0,children:[(0,o.jsx)(`span`,{className:B(`text-xs text-muted-foreground tabular-nums select-none`,!d&&e.onRowClick&&`group-hover/row:invisible`),children:r+1}),!d&&e.onRowClick&&(0,o.jsxs)(`button`,{type:`button`,className:`absolute inset-0 hidden group-hover/row:flex items-center justify-center gap-0.5 text-xs font-medium text-primary hover:text-primary/80`,"data-testid":`row-expand-button`,onClick:n=>{n.stopPropagation(),e.onRowClick?.(t)},title:`Open record`,children:[(0,o.jsx)(`span`,{children:O(`table.open`)}),(0,o.jsx)(c.ChevronRight,{className:`h-3 w-3`})]})]}),R.map((e,r)=>{let i=ue[e.accessorKey]||e.width||M[e.accessorKey],a=t[e.accessorKey],s=l[e.accessorKey]!==void 0,c=s?l[e.accessorKey]:a,u=z?.rowIndex===n&&z?.columnKey===e.accessorKey,f=_&&e.editable!==!1,p=w>0&&r<w,m=p?R.slice(0,r).reduce((e,t,n)=>{if(n<w){let n=ue[t.accessorKey]||t.width||M[t.accessorKey];return e+(typeof n==`number`?n:n&&parseInt(String(n),10)||150)}return e},(d?40:0)+(T?40:0)):void 0;return(0,o.jsx)(Ji,{className:B(e.cellClassName,e.align===`right`&&`text-right`,e.align===`center`&&`text-center`,f&&!u&&`cursor-text hover:bg-muted/50`,s&&`font-semibold text-amber-700 dark:text-amber-400`,p&&`sticky z-10 bg-background`,p&&r===w-1&&`border-r-2 border-border shadow-[2px_0_4px_-2px_rgba(0,0,0,0.1)]`),style:{width:i,minWidth:i,maxWidth:i,...p&&{left:m}},onDoubleClick:()=>f&&!v&&We(n,e.accessorKey),onClick:()=>f&&v&&We(n,e.accessorKey),onKeyDown:t=>Ze(t,n,e.accessorKey),tabIndex:0,children:u?(0,o.jsx)(q,{ref:Te,value:ge,onChange:e=>_e(e.target.value),onKeyDown:Qe,className:`h-8 px-2 py-1`}):typeof e.cell==`function`?e.cell(c,t):typeof c==`object`&&c?String(c):ee(c)},r)}),m&&(0,o.jsx)(Ji,{className:B(`text-right`,C),children:(0,o.jsx)(`div`,{className:`flex items-center justify-end gap-1`,children:s&&(e.onRowSave||e.onBatchSave)?(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(W,{variant:`ghost`,size:`icon`,onClick:()=>Je(n),disabled:ye,title:`Cancel changes`,children:(0,o.jsx)(c.X,{className:`h-4 w-4`})}),(0,o.jsx)(W,{variant:`ghost`,size:`icon`,onClick:()=>qe(n),disabled:ye,title:`Save row`,children:(0,o.jsx)(c.Save,{className:`h-4 w-4 text-green-600`})})]}):(e.onRowEdit||e.onRowDelete)&&(0,o.jsxs)(mn,{children:[(0,o.jsx)(hn,{asChild:!0,children:(0,o.jsx)(W,{variant:`ghost`,size:`icon`,className:`h-8 w-8`,onClick:e=>e.stopPropagation(),"aria-label":`Row actions`,children:(0,o.jsx)(c.MoreHorizontal,{className:`h-4 w-4`})})}),(0,o.jsxs)(Sn,{align:`end`,onClick:e=>e.stopPropagation(),children:[e.onRowEdit&&(0,o.jsxs)(Cn,{onClick:()=>e.onRowEdit?.(t),children:[(0,o.jsx)(c.Edit,{className:`mr-2 h-4 w-4`}),O(`table.edit`)]}),e.onRowEdit&&e.onRowDelete&&(0,o.jsx)(Dn,{}),e.onRowDelete&&(0,o.jsxs)(Cn,{onClick:()=>e.onRowDelete?.(t),className:`text-destructive focus:text-destructive`,children:[(0,o.jsx)(c.Trash2,{className:`mr-2 h-4 w-4`}),O(`table.delete`)]})]})]})})})]},i)}),E&&(0,o.jsx)(Ki,{className:`hover:bg-muted/30 cursor-pointer border-b border-border`,"data-testid":`add-record-row`,onClick:()=>e.onAddRecord?.(),children:(0,o.jsx)(Ji,{colSpan:R.length+ +!!d+ +!!T+ +!!m,className:`h-9 px-3 py-1.5`,children:(0,o.jsxs)(`span`,{className:`flex items-center gap-1.5 text-muted-foreground text-sm hover:text-foreground transition-colors`,children:[(0,o.jsx)(c.Plus,{className:`h-3.5 w-3.5`}),O(`table.addRecord`)]})})})]})})]})}),s&&G.length>0&&De>1&&(0,o.jsxs)(`div`,{className:`flex flex-col sm:flex-row items-center justify-between gap-2`,children:[(0,o.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,o.jsxs)(`span`,{className:`text-xs sm:text-sm text-muted-foreground`,children:[O(`table.rowsPerPage`),`:`]}),(0,o.jsxs)(Ir,{value:L.toString(),onValueChange:e=>{ce(Number(e)),se(1)},children:[(0,o.jsx)(J,{className:`w-20`,children:(0,o.jsx)(Rr,{})}),(0,o.jsxs)(Y,{children:[(0,o.jsx)(X,{value:`5`,children:`5`}),(0,o.jsx)(X,{value:`10`,children:`10`}),(0,o.jsx)(X,{value:`20`,children:`20`}),(0,o.jsx)(X,{value:`50`,children:`50`}),(0,o.jsx)(X,{value:`100`,children:`100`})]})]})]}),(0,o.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,o.jsx)(`span`,{className:`text-xs sm:text-sm text-muted-foreground`,children:O(`table.pageInfo`,{current:I,total:De})}),(0,o.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,o.jsx)(W,{variant:`outline`,size:`icon`,onClick:()=>se(1),disabled:I===1,children:(0,o.jsx)(c.ChevronsLeft,{className:`h-4 w-4`})}),(0,o.jsx)(W,{variant:`outline`,size:`icon`,onClick:()=>se(Math.max(1,I-1)),disabled:I===1,children:(0,o.jsx)(c.ChevronLeft,{className:`h-4 w-4`})}),(0,o.jsx)(W,{variant:`outline`,size:`icon`,onClick:()=>se(Math.min(De,I+1)),disabled:I===De,children:(0,o.jsx)(c.ChevronRight,{className:`h-4 w-4`})}),(0,o.jsx)(W,{variant:`outline`,size:`icon`,onClick:()=>se(De),disabled:I===De,children:(0,o.jsx)(c.ChevronsRight,{className:`h-4 w-4`})})]})]})]}),U&&(0,o.jsxs)(`div`,{className:`fixed z-50 min-w-[160px] rounded-md border bg-popover p-1 shadow-md`,style:{left:U.x,top:U.y},"data-testid":`column-context-menu`,onClick:e=>e.stopPropagation(),children:[f&&(0,o.jsxs)(o.Fragment,{children:[(0,o.jsxs)(`button`,{type:`button`,className:`flex w-full items-center gap-2 rounded-sm px-2 py-1.5 text-sm hover:bg-accent hover:text-accent-foreground cursor-pointer`,onClick:()=>{re(U.columnKey),F(`asc`),xe(null)},children:[(0,o.jsx)(c.ChevronUp,{className:`h-3.5 w-3.5`}),O(`table.sortAsc`)]}),(0,o.jsxs)(`button`,{type:`button`,className:`flex w-full items-center gap-2 rounded-sm px-2 py-1.5 text-sm hover:bg-accent hover:text-accent-foreground cursor-pointer`,onClick:()=>{re(U.columnKey),F(`desc`),xe(null)},children:[(0,o.jsx)(c.ChevronDown,{className:`h-3.5 w-3.5`}),O(`table.sortDesc`)]}),(0,o.jsx)(`div`,{className:`my-1 h-px bg-border`})]}),(0,o.jsxs)(`button`,{type:`button`,className:`flex w-full items-center gap-2 rounded-sm px-2 py-1.5 text-sm hover:bg-accent hover:text-accent-foreground cursor-pointer`,onClick:()=>Me(U.columnKey),children:[(0,o.jsx)(c.X,{className:`h-3.5 w-3.5`}),O(`table.hideColumn`)]})]})]})},{namespace:`ui`,label:`Data Table`,icon:`table`,inputs:[{name:`caption`,type:`string`,label:`Caption`},{name:`columns`,type:`array`,label:`Columns`,description:`Array of { header, accessorKey, className, width, sortable, filterable, resizable }`,required:!0},{name:`data`,type:`array`,label:`Data`,description:`Array of data objects`,required:!0},{name:`pagination`,type:`boolean`,label:`Enable Pagination`,defaultValue:!0},{name:`pageSize`,type:`number`,label:`Page Size`,defaultValue:10},{name:`searchable`,type:`boolean`,label:`Enable Search`,defaultValue:!0},{name:`selectable`,type:`boolean`,label:`Enable Row Selection`,defaultValue:!1},{name:`sortable`,type:`boolean`,label:`Enable Sorting`,defaultValue:!0},{name:`exportable`,type:`boolean`,label:`Enable Export`,defaultValue:!1},{name:`rowActions`,type:`boolean`,label:`Show Row Actions`,defaultValue:!1},{name:`resizableColumns`,type:`boolean`,label:`Enable Column Resizing`,defaultValue:!0},{name:`reorderableColumns`,type:`boolean`,label:`Enable Column Reordering`,defaultValue:!0},{name:`className`,type:`string`,label:`CSS Class`}],defaultProps:{caption:`Enterprise Data Table`,pagination:!0,pageSize:10,searchable:!0,selectable:!0,sortable:!0,exportable:!0,rowActions:!0,resizableColumns:!0,reorderableColumns:!0,columns:[{header:`ID`,accessorKey:`id`,width:`80px`},{header:`Name`,accessorKey:`name`},{header:`Email`,accessorKey:`email`},{header:`Status`,accessorKey:`status`},{header:`Role`,accessorKey:`role`}],data:[{id:1,name:`John Doe`,email:`john@example.com`,status:`Active`,role:`Admin`},{id:2,name:`Jane Smith`,email:`jane@example.com`,status:`Active`,role:`User`},{id:3,name:`Bob Johnson`,email:`bob@example.com`,status:`Inactive`,role:`User`},{id:4,name:`Alice Williams`,email:`alice@example.com`,status:`Active`,role:`Manager`},{id:5,name:`Charlie Brown`,email:`charlie@example.com`,status:`Active`,role:`User`},{id:6,name:`Diana Prince`,email:`diana@example.com`,status:`Active`,role:`Admin`},{id:7,name:`Ethan Hunt`,email:`ethan@example.com`,status:`Inactive`,role:`User`},{id:8,name:`Fiona Gallagher`,email:`fiona@example.com`,status:`Active`,role:`User`},{id:9,name:`George Wilson`,email:`george@example.com`,status:`Active`,role:`Manager`},{id:10,name:`Hannah Montana`,email:`hannah@example.com`,status:`Active`,role:`User`},{id:11,name:`Ivan Drago`,email:`ivan@example.com`,status:`Inactive`,role:`User`},{id:12,name:`Julia Roberts`,email:`julia@example.com`,status:`Active`,role:`Admin`}]}});function dc(e){return e.split(`-`).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(``)}var fc={Home:`House`};function pc(e){if(!e)return null;let t=dc(e);return c.icons[fc[t]||t]??null}var mc=(0,a.forwardRef)(({schema:e,className:t,context:n,...r},s)=>{let{"data-obj-id":l,"data-obj-type":u,style:d,data:f,...p}=r,{execute:m}=(0,i.useAction)(),[h,g]=(0,a.useState)(!1),_=typeof f==`object`&&f?f:{},v=(0,i.useCondition)((0,i.toPredicateInput)(e.visible),_),y=(0,i.useCondition)((0,i.toPredicateInput)(e.enabled),_),b=pc(e.icon),x=e.variant===`primary`?`default`:e.variant||`default`,S=e.size===`md`?`default`:e.size||`default`,C=(0,a.useCallback)(async()=>{if(!h){g(!0);try{let t=Array.isArray(e.params)?{actionParams:e.params}:{params:e.params};await m({type:e.actionType||e.type,name:e.name,target:e.target,execute:e.execute,endpoint:e.endpoint,method:e.method,...t,confirmText:e.confirmText,successMessage:e.successMessage,errorMessage:e.errorMessage,refreshAfter:e.refreshAfter,toast:e.toast,...n})}finally{g(!1)}}},[e,m,h,n]);return e.visible&&!v?null:(0,o.jsxs)(W,{ref:s,type:`button`,variant:x,size:S,className:B(e.className,t),disabled:(e.enabled?!y:!1)||h,onClick:C,...p,"data-obj-id":l,"data-obj-type":u,style:d,children:[h&&(0,o.jsx)(c.Loader2,{className:`mr-2 h-4 w-4 animate-spin`}),!h&&b&&(0,o.jsx)(b,{className:B(`h-4 w-4`,e.label&&`mr-2`)}),e.label]})});mc.displayName=`ActionButtonRenderer`,t.ComponentRegistry.register(`action:button`,mc,{namespace:`action`,label:`Action Button`,inputs:[{name:`name`,type:`string`,label:`Action Name`},{name:`label`,type:`string`,label:`Label`,defaultValue:`Action`},{name:`icon`,type:`string`,label:`Icon`},{name:`type`,type:`enum`,label:`Action Type`,enum:[`script`,`url`,`modal`,`flow`,`api`],defaultValue:`script`},{name:`target`,type:`string`,label:`Target`},{name:`variant`,type:`enum`,label:`Variant`,enum:[`default`,`primary`,`secondary`,`destructive`,`outline`,`ghost`],defaultValue:`default`},{name:`size`,type:`enum`,label:`Size`,enum:[`sm`,`md`,`lg`],defaultValue:`md`},{name:`className`,type:`string`,label:`CSS Class`,advanced:!0}],defaultProps:{label:`Action`,type:`script`,variant:`default`,size:`md`}});var hc=(0,a.forwardRef)(({schema:e,className:t,context:n,...r},s)=>{let{"data-obj-id":l,"data-obj-type":u,style:d,...f}=r,{execute:p}=(0,i.useAction)(),[m,h]=(0,a.useState)(!1),g=(0,i.useCondition)((0,i.toPredicateInput)(e.visible)),_=(0,i.useCondition)((0,i.toPredicateInput)(e.enabled)),v=pc(e.icon),y=e.variant===`primary`?`default`:e.variant||`ghost`,b=(0,a.useCallback)(async()=>{if(!m){h(!0);try{await p({type:e.type,name:e.name,target:e.target,execute:e.execute,endpoint:e.endpoint,method:e.method,params:e.params,confirmText:e.confirmText,successMessage:e.successMessage,errorMessage:e.errorMessage,refreshAfter:e.refreshAfter,toast:e.toast,...n})}finally{h(!1)}}},[e,p,m,n]);if(e.visible&&!g)return null;let x=(0,o.jsx)(W,{ref:s,type:`button`,variant:y,size:`icon`,className:B(`h-8 w-8`,e.className,t),disabled:(e.enabled?!_:!1)||m,onClick:b,"aria-label":e.label||e.name,...f,"data-obj-id":l,"data-obj-type":u,style:d,children:m?(0,o.jsx)(c.Loader2,{className:`h-4 w-4 animate-spin`}):v?(0,o.jsx)(v,{className:`h-4 w-4`}):(0,o.jsx)(`span`,{className:`text-xs`,children:e.label?.charAt(0)||`?`})});return e.label||e.description?(0,o.jsx)(ri,{delayDuration:300,children:(0,o.jsxs)(ii,{children:[(0,o.jsx)(ai,{asChild:!0,children:x}),(0,o.jsx)(oi,{children:(0,o.jsx)(`p`,{children:e.label||e.description})})]})}):x});hc.displayName=`ActionIconRenderer`,t.ComponentRegistry.register(`action:icon`,hc,{namespace:`action`,label:`Action Icon`,inputs:[{name:`name`,type:`string`,label:`Action Name`},{name:`label`,type:`string`,label:`Tooltip Label`},{name:`icon`,type:`string`,label:`Icon`},{name:`type`,type:`enum`,label:`Action Type`,enum:[`script`,`url`,`modal`,`flow`,`api`],defaultValue:`script`},{name:`target`,type:`string`,label:`Target`},{name:`variant`,type:`enum`,label:`Variant`,enum:[`default`,`secondary`,`destructive`,`outline`,`ghost`],defaultValue:`ghost`},{name:`className`,type:`string`,label:`CSS Class`,advanced:!0}],defaultProps:{icon:`play`,type:`script`,variant:`ghost`}});function gc(){try{let{t:e}=(0,L.useObjectTranslation)(),t=e(`detail.moreActions`);return!t||t===`detail.moreActions`?`More actions`:t}catch{return`More actions`}}var _c=({action:e,onExecute:t})=>{let n=(0,i.useCondition)((0,i.toPredicateInput)(e.visible)),r=(0,i.useCondition)((0,i.toPredicateInput)(e.enabled)),s=(0,a.useMemo)(()=>{let t=pc(e.icon);return t?(0,o.jsx)(t,{className:`mr-2 h-4 w-4`}):null},[e.icon]);return e.visible&&!n?null:(0,o.jsxs)(Cn,{disabled:e.enabled?!r:!1,onSelect:n=>{n.preventDefault(),t(e)},className:B(e.variant===`destructive`&&`text-destructive focus:text-destructive`,e.className),children:[s,(0,o.jsx)(`span`,{children:e.label||e.name})]})};_c.displayName=`ActionMenuItem`;var vc=(0,a.forwardRef)(({schema:e,className:t,...n},r)=>{let{"data-obj-id":s,"data-obj-type":l,style:u,...d}=n,{execute:f}=(0,i.useAction)(),[p,m]=(0,a.useState)(!1),h=gc(),g=(0,i.useCondition)((0,i.toPredicateInput)(e.visible)),_=pc(e.icon)||c.MoreHorizontal,v=e.variant||`ghost`,y=e.size||`icon`,b=(0,a.useCallback)(async e=>{m(!0);try{if(typeof e.onClick==`function`){await e.onClick();return}await f({type:e.type,name:e.name,target:e.target,execute:e.execute,endpoint:e.endpoint,method:e.method,params:e.params,confirmText:e.confirmText,successMessage:e.successMessage,errorMessage:e.errorMessage,refreshAfter:e.refreshAfter,toast:e.toast})}finally{m(!1)}},[f]);if(e.visible&&!g)return null;let x=e.actions||[];return x.length===0?null:(0,o.jsxs)(mn,{children:[(0,o.jsx)(hn,{asChild:!0,children:(0,o.jsx)(W,{ref:r,type:`button`,variant:v,size:y,className:B(y===`icon`&&`h-8 w-8`,e.className,t),disabled:p,"aria-label":e.label||h,...d,"data-obj-id":s,"data-obj-type":l,style:u,children:p?(0,o.jsx)(c.Loader2,{className:`h-4 w-4 animate-spin`}):(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(_,{className:B(`h-4 w-4`,e.label&&`mr-2`)}),e.label&&(0,o.jsx)(`span`,{children:e.label})]})})}),(0,o.jsx)(Sn,{align:`end`,children:x.map((e,t)=>{let n=e.tags?.includes(`separator-before`)&&t>0;return(0,o.jsxs)(a.default.Fragment,{children:[n&&(0,o.jsx)(Dn,{}),(0,o.jsx)(_c,{action:e,onExecute:b})]},e.name||t)})})]})});vc.displayName=`ActionMenuRenderer`,t.ComponentRegistry.register(`action:menu`,vc,{namespace:`action`,label:`Action Menu`,inputs:[{name:`label`,type:`string`,label:`Trigger Label`},{name:`icon`,type:`string`,label:`Trigger Icon`},{name:`actions`,type:`object`,label:`Actions`},{name:`variant`,type:`enum`,label:`Trigger Variant`,enum:[`default`,`secondary`,`outline`,`ghost`],defaultValue:`ghost`},{name:`className`,type:`string`,label:`CSS Class`,advanced:!0}],defaultProps:{variant:`ghost`,actions:[]}});var yc=({action:e,variant:t,size:n,onExecute:r})=>{let[s,l]=(0,a.useState)(!1),u=(0,i.useCondition)((0,i.toPredicateInput)(e.visible)),d=(0,i.useCondition)((0,i.toPredicateInput)(e.enabled)),f=pc(e.icon),p=e.variant===`primary`?`default`:e.variant||t||`outline`,m=e.size===`md`?`default`:e.size||n||`sm`,h=(0,a.useCallback)(async()=>{if(!s){l(!0);try{await r(e)}finally{l(!1)}}},[e,r,s]);return e.visible&&!u?null:(0,o.jsxs)(W,{type:`button`,variant:p,size:m,className:e.className,disabled:(e.enabled?!d:!1)||s,onClick:h,children:[s&&(0,o.jsx)(c.Loader2,{className:`mr-2 h-4 w-4 animate-spin`}),!s&&f&&(0,o.jsx)(f,{className:B(`h-4 w-4`,e.label&&`mr-2`)}),e.label]})};yc.displayName=`InlineActionButton`;var bc=(0,a.forwardRef)(({schema:e,className:t,...n},r)=>{let{"data-obj-id":s,"data-obj-type":l,style:u,...d}=n,{execute:f}=(0,i.useAction)(),[p,m]=(0,a.useState)(!1),h=(0,i.useCondition)((0,i.toPredicateInput)(e.visible)),g=e.actions||[];e.location&&(g=g.filter(t=>!t.locations||t.locations.includes(e.location)));let _=(0,a.useCallback)(async e=>{await f({type:e.type,name:e.name,target:e.target,execute:e.execute,endpoint:e.endpoint,method:e.method,params:e.params,confirmText:e.confirmText,successMessage:e.successMessage,errorMessage:e.errorMessage,refreshAfter:e.refreshAfter,toast:e.toast})},[f]);if(e.visible&&!h||g.length===0)return null;if((e.display||`inline`)===`dropdown`){let n=pc(e.icon);return(0,o.jsxs)(mn,{children:[(0,o.jsx)(hn,{asChild:!0,children:(0,o.jsxs)(W,{type:`button`,variant:e.variant||`outline`,size:e.size===`md`?`default`:e.size||`default`,className:B(e.className,t),disabled:p,"data-obj-id":s,"data-obj-type":l,style:u,children:[p&&(0,o.jsx)(c.Loader2,{className:`mr-2 h-4 w-4 animate-spin`}),!p&&n&&(0,o.jsx)(n,{className:`mr-2 h-4 w-4`}),e.label||`Actions`,(0,o.jsx)(c.ChevronDown,{className:`ml-2 h-3 w-3 opacity-50`})]})}),(0,o.jsx)(Sn,{align:`end`,children:g.map((e,t)=>{let n=pc(e.icon),r=e.tags?.includes(`separator-before`)&&t>0;return(0,o.jsxs)(a.default.Fragment,{children:[r&&(0,o.jsx)(Dn,{}),(0,o.jsxs)(Cn,{onSelect:async t=>{t.preventDefault(),m(!0);try{await _(e)}finally{m(!1)}},className:B(e.variant===`destructive`&&`text-destructive focus:text-destructive`,e.className),children:[n&&(0,o.jsx)(n,{className:`mr-2 h-4 w-4`}),(0,o.jsx)(`span`,{children:e.label||e.name})]})]},e.name||t)})})]})}return(0,o.jsx)(`div`,{ref:r,className:B(`flex items-center gap-2`,e.className,t),...d,"data-obj-id":s,"data-obj-type":l,style:u,children:g.map(t=>(0,o.jsx)(yc,{action:t,variant:e.variant,size:e.size,onExecute:_},t.name))})});bc.displayName=`ActionGroupRenderer`,t.ComponentRegistry.register(`action:group`,bc,{namespace:`action`,label:`Action Group`,inputs:[{name:`name`,type:`string`,label:`Group Name`},{name:`label`,type:`string`,label:`Label`},{name:`icon`,type:`string`,label:`Icon`},{name:`actions`,type:`object`,label:`Actions`},{name:`display`,type:`enum`,label:`Display Mode`,enum:[`inline`,`dropdown`],defaultValue:`inline`},{name:`variant`,type:`enum`,label:`Variant`,enum:[`default`,`secondary`,`outline`,`ghost`],defaultValue:`outline`},{name:`size`,type:`enum`,label:`Size`,enum:[`sm`,`md`,`lg`],defaultValue:`sm`},{name:`className`,type:`string`,label:`CSS Class`,advanced:!0}],defaultProps:{display:`inline`,variant:`outline`,size:`sm`,actions:[]}});function xc(){try{let{t:e}=(0,L.useObjectTranslation)(),t=e(`common.actions`);return!t||t===`common.actions`?`Actions`:t}catch{return`Actions`}}var Sc=(0,a.forwardRef)(({schema:e,className:n,...r},s)=>{let c=xc(),{"data-obj-id":l,"data-obj-type":u,style:d,data:f,actions:p,systemActions:m,location:h,maxVisible:g,mobileMaxVisible:_,direction:v,gap:y,variant:b,size:x,visible:S,...C}=r,w=(0,i.useCondition)((0,i.toPredicateInput)(e.visible)),T=ni(),E=(0,a.useMemo)(()=>{let t=e.actions||[],n=e.location?t.filter(t=>!t.locations||t.locations.length===0||t.locations.includes(e.location)):t,r=new Set;return n.filter(e=>e.name?r.has(e.name)?!1:(r.add(e.name),!0):!0)},[e.actions,e.location]),D=(0,a.useMemo)(()=>{let t=e.systemActions||[],n=new Set;return t.filter(e=>e.name?n.has(e.name)?!1:(n.add(e.name),!0):!0)},[e.systemActions]),O=T?e.mobileMaxVisible??1:e.maxVisible??3,{inlineActions:k,overflowActions:A}=(0,a.useMemo)(()=>E.length<=O?{inlineActions:E,overflowActions:[]}:{inlineActions:E.slice(0,O),overflowActions:E.slice(O)},[E,O]),ee=(0,a.useMemo)(()=>{if(D.length===0)return A;if(A.length===0)return D;let[e,...t]=D,n={...e,tags:[...e.tags||[],`separator-before`]};return[...A,n,...t]},[A,D]);if(e.visible&&!w||E.length===0&&D.length===0)return null;let j=e.direction||`horizontal`,te=e.gap||`gap-2`,M=ee.length>0?t.ComponentRegistry.get(`action:menu`):null,N=M?(0,o.jsx)(M,{schema:{type:`action:menu`,actions:ee,variant:e.variant||`ghost`,size:e.size||`sm`}}):null;return(0,o.jsxs)(`div`,{ref:s,className:B(`flex items-center`,j===`vertical`?`flex-col items-stretch`:`flex-row flex-wrap`,te,e.className,n),role:`toolbar`,"aria-label":c,...C,"data-obj-id":l,"data-obj-type":u,style:d,children:[k.map(n=>{let r=n.component||`action:button`,i=t.ComponentRegistry.get(r);return i?(0,o.jsx)(i,{schema:{...n,type:r,actionType:n.type,variant:n.variant||e.variant,size:n.size||e.size},data:f},n.name):null}),ee.length>0&&N]})});Sc.displayName=`ActionBarRenderer`,t.ComponentRegistry.register(`action:bar`,Sc,{namespace:`action`,label:`Action Bar`,inputs:[{name:`actions`,type:`object`,label:`Actions`},{name:`systemActions`,type:`object`,label:`System Actions (always in overflow)`},{name:`location`,type:`enum`,label:`Location`,enum:[`list_toolbar`,`list_item`,`record_header`,`record_more`,`record_related`,`global_nav`]},{name:`maxVisible`,type:`number`,label:`Max Visible Actions`,defaultValue:3},{name:`direction`,type:`enum`,label:`Direction`,enum:[`horizontal`,`vertical`],defaultValue:`horizontal`},{name:`variant`,type:`enum`,label:`Default Variant`,enum:[`default`,`secondary`,`outline`,`ghost`],defaultValue:`outline`},{name:`size`,type:`enum`,label:`Default Size`,enum:[`sm`,`md`,`lg`],defaultValue:`sm`},{name:`className`,type:`string`,label:`CSS Class`,advanced:!0}],defaultProps:{maxVisible:3,direction:`horizontal`,variant:`outline`,size:`sm`,actions:[]}});var Cc=({schema:e,className:t})=>{let n=e.type,r=n.startsWith(`view:`),i=n.startsWith(`widget:`),a=n.startsWith(`field:`);return(0,o.jsxs)(`div`,{className:B(`flex flex-col items-center justify-center p-6 border-2 border-dashed rounded-lg bg-muted/30 transition-colors hover:bg-muted/50`,r&&`border-blue-300 bg-blue-50/50 min-h-[200px]`,i&&`border-purple-300 bg-purple-50/50 min-h-[150px]`,a&&`border-yellow-300 bg-yellow-50/50 p-2 min-h-[40px] flex-row gap-2 justify-start`,t),children:[(0,o.jsxs)(`div`,{className:B(`flex items-center gap-2 text-muted-foreground`,a&&`text-sm`),children:[a?(0,o.jsx)(c.Box,{className:`h-4 w-4`}):(0,o.jsx)(c.FileQuestion,{className:`h-8 w-8 mb-2 opacity-50`}),(0,o.jsxs)(`div`,{className:`flex flex-col items-center text-center`,children:[(0,o.jsx)(`span`,{className:`font-mono font-medium text-foreground`,children:n}),!a&&(0,o.jsx)(`span`,{className:`text-xs`,children:`Component Placeholder`})]})]}),e.props&&!a&&(0,o.jsxs)(`div`,{className:`mt-4 w-full text-xs text-muted-foreground bg-background/50 p-2 rounded overflow-hidden`,children:[(0,o.jsx)(`div`,{className:`opacity-70`,children:`Properties:`}),(0,o.jsx)(`pre`,{className:`mt-1 truncate`,children:JSON.stringify(e.props,null,0)})]})]})},wc=`view:grid.view:kanban.view:map.view:calendar.view:gantt.view:timeline.view:gallery.view:simple.view:wizard.view:tabbed.view:drawer.view:modal.view:split.field:text.field:textarea.field:password.field:email.field:url.field:phone.field:markdown.field:html.field:code.field:number.field:currency.field:percent.field:slider.field:boolean.field:checkboxes.field:select.field:multiselect.field:radio.field:date.field:datetime.field:time.field:duration.field:lookup.field:master_detail.field:tree.field:image.field:file.field:video.field:audio.field:avatar.field:color.field:rating.field:signature.field:qrcode.field:progress.field:json.field:address.field:location.page:header.page-header.page:footer.page:tabs.page:accordion.page:card.page:sidebar.record:details.record:highlights.record:related_list.record:activity.record:chatter.record:path.app:launcher.nav:menu.nav:breadcrumb.global:search.global:notifications.user:profile.widget:metric.widget:bar.widget:line.widget:pie.widget:funnel.widget:radar.widget:scatter.widget:heatmap.widget:pivot.widget:table.widget:text.widget:image.ai:input.ai:suggestion.ai:feedback`.split(`.`);function Tc(){wc.forEach(e=>{t.ComponentRegistry.get(e)||t.ComponentRegistry.register(e,Cc)})}function Ec(e,t){let n=t?.maxHistory??50,[r,i]=(0,a.useState)({...e}),[o,s]=(0,a.useState)(t?.mode===`create`),c=(0,a.useRef)([]),l=(0,a.useRef)([]),[,u]=(0,a.useState)(0);(0,a.useEffect)(()=>{i({...e}),s(t?.mode===`create`),c.current=[],l.current=[]},[e]);let d=(0,a.useCallback)((e,r)=>{i(t=>(c.current=[...c.current.slice(-(n-1)),t],l.current=[],{...t,[e]:r})),s(!0),u(e=>e+1),t?.onUpdate?.(e,r)},[t?.onUpdate,n]),f=(0,a.useCallback)(()=>{c.current.length!==0&&(i(e=>{let t=[...c.current],n=t.pop();return c.current=t,l.current=[e,...l.current],n}),u(e=>e+1))},[]),p=(0,a.useCallback)(()=>{l.current.length!==0&&(i(e=>{let t=[...l.current],n=t.shift();return l.current=t,c.current=[...c.current,e],n}),u(e=>e+1))},[]);return{draft:r,isDirty:o,updateField:d,discard:(0,a.useCallback)(()=>{i({...e}),s(!1),c.current=[],l.current=[],u(e=>e+1)},[e]),setDraft:i,undo:f,redo:p,canUndo:c.current.length>0,canRedo:l.current.length>0}}function Dc(e){let[t,n]=a.useState({width:0,height:0});return a.useEffect(()=>{let t=e.current;if(!t||typeof ResizeObserver>`u`)return;let r=t.getBoundingClientRect();n(e=>e.width===r.width&&e.height===r.height?e:{width:r.width,height:r.height});let i=new ResizeObserver(e=>{let t=e[0];if(!t)return;let r,i=t.borderBoxSize?.[0];r=i?{width:i.inlineSize,height:i.blockSize}:{width:t.contentRect.width,height:t.contentRect.height},n(e=>e.width===r.width&&e.height===r.height?e:r)});return i.observe(t),()=>i.disconnect()},[e]),t}var Oc=[`completed`,`failed`,`cancelled`,`expired`];function kc(e){return!!e&&Oc.includes(e)}function Ac(e={}){let{dataSource:t,pollIntervalMs:n=1500,maxAttempts:r=600,onComplete:i,onError:o}=e,[s,c]=(0,a.useState)(null),[l,u]=(0,a.useState)(null),[d,f]=(0,a.useState)(!1),p=(0,a.useRef)(null),m=(0,a.useRef)(null),h=(0,a.useRef)(0),g=(0,a.useRef)(!1),_=(0,a.useRef)({onComplete:i,onError:o});_.current={onComplete:i,onError:o};let v=!!t?.createExportJob&&!!t?.getExportJobProgress,y=(0,a.useCallback)(()=>{m.current&&=(clearTimeout(m.current),null)},[]),b=(0,a.useCallback)(()=>{y(),p.current=null,g.current=!1,h.current=0,c(null),u(null),f(!1)},[y]);(0,a.useEffect)(()=>()=>y(),[y]);let x=(0,a.useCallback)(async()=>{if(t?.getExportJobProgress&&!(!p.current||g.current)){if(h.current+=1,h.current>r){let e=Error(`Export job timed out (max attempts exceeded)`);u(e),f(!1),_.current.onError?.(e,s??void 0);return}try{let e=await t.getExportJobProgress(p.current);if(g.current)return;if(c(e),kc(e.status)){if(f(!1),e.status===`completed`)_.current.onComplete?.(e);else{let t=e.error?.message??`Export ${e.status}`,n=Error(t);u(n),_.current.onError?.(n,e)}return}m.current=setTimeout(x,n)}catch(e){if(g.current)return;let t=e instanceof Error?e:Error(String(e));u(t),f(!1),_.current.onError?.(t,s??void 0)}}},[t,r,n,s]),S=(0,a.useCallback)(async(e,r)=>{if(!t?.createExportJob){let e=Error(`DataSource does not implement createExportJob — cannot start async export.`);return u(e),_.current.onError?.(e),null}y(),g.current=!1,h.current=0,u(null),c(null),f(!0);try{let i=await t.createExportJob(e,r);if(p.current=i.jobId,c({jobId:i.jobId,status:i.status,processedRecords:0,totalRecords:i.estimatedRecords,percentComplete:0}),kc(i.status)){if(f(!1),i.status===`completed`&&t.getExportJobProgress)try{let e=await t.getExportJobProgress(i.jobId);c(e),_.current.onComplete?.(e)}catch{}return i.jobId}return m.current=setTimeout(x,n),i.jobId}catch(e){let t=e instanceof Error?e:Error(String(e));return u(t),f(!1),_.current.onError?.(t),null}},[t,y,x,n]),C=(0,a.useCallback)(async()=>{if(p.current){if(g.current=!0,y(),f(!1),t?.cancelExportJob)try{await t.cancelExportJob(p.current)}catch{}c(e=>e&&{...e,status:`cancelled`})}},[t,y]),w=(0,a.useCallback)(async()=>{if(!p.current)return null;if(t?.getExportJobDownloadUrl)try{return await t.getExportJobDownloadUrl(p.current)}catch{}return s?.downloadUrl??null},[t,s]);return{isRunning:d,progress:s,error:l,isSupported:v,start:S,cancel:C,getDownloadUrl:w,download:(0,a.useCallback)(async e=>{let t=await w();if(!t)return!1;let n=document.createElement(`a`);return n.href=t,e&&(n.download=e),n.rel=`noopener`,document.body.appendChild(n),n.click(),n.remove(),!0},[w]),reset:b}}function jc({schema:e}){return e?(0,o.jsx)(`pre`,{className:`text-[11px] leading-relaxed font-mono overflow-auto max-h-[60vh] whitespace-pre-wrap break-all`,children:JSON.stringify(e,null,2)}):(0,o.jsx)(`p`,{className:`text-xs text-muted-foreground italic`,children:`No schema available`})}function Mc({dataContext:e}){return e?(0,o.jsx)(`pre`,{className:`text-[11px] leading-relaxed font-mono overflow-auto max-h-[60vh] whitespace-pre-wrap break-all`,children:JSON.stringify(e,null,2)}):(0,o.jsx)(`p`,{className:`text-xs text-muted-foreground italic`,children:`No data context available`})}function Nc(){let e=(0,a.useMemo)(()=>{try{return t.ComponentRegistry.getAllTypes()}catch{return[]}},[]);return e.length===0?(0,o.jsx)(`p`,{className:`text-xs text-muted-foreground italic`,children:`No registered components`}):(0,o.jsxs)(`div`,{className:`space-y-1 max-h-[60vh] overflow-auto`,children:[e.map(e=>(0,o.jsxs)(`div`,{className:`flex items-center gap-2 px-2 py-1 rounded text-xs font-mono bg-muted/30`,children:[(0,o.jsx)(`span`,{className:`inline-block w-2 h-2 rounded-full bg-green-500 shrink-0`}),e]},e)),(0,o.jsxs)(`p`,{className:`text-[10px] text-muted-foreground mt-2`,children:[e.length,` component`,e.length===1?``:`s`,` registered`]})]})}function Pc({flags:e}){return e?(0,o.jsx)(`pre`,{className:`text-[11px] leading-relaxed font-mono overflow-auto max-h-[60vh] whitespace-pre-wrap break-all`,children:JSON.stringify(e,null,2)}):(0,o.jsx)(`p`,{className:`text-xs text-muted-foreground italic`,children:`No debug flags`})}function Fc(e){let n=t.DebugCollector.getInstance(),[r,i]=(0,a.useState)(()=>n.getEntries(e));return a.default.useEffect(()=>(i(n.getEntries(e)),n.subscribe(()=>{i(n.getEntries(e))})),[n,e]),r}function Ic(){let e=Fc(`perf`).map(e=>e.data);return e.length===0?(0,o.jsx)(`p`,{className:`text-xs text-muted-foreground italic`,children:`No performance data collected yet`}):(0,o.jsxs)(`div`,{className:`space-y-1 max-h-[60vh] overflow-auto`,children:[e.map((e,t)=>(0,o.jsxs)(`div`,{className:B(`flex items-center justify-between px-2 py-1 rounded text-xs font-mono`,e.durationMs>16?`bg-red-50 text-red-700`:`bg-muted/30`),children:[(0,o.jsxs)(`span`,{className:`truncate mr-2`,children:[e.type,e.id?`:${e.id}`:``]}),(0,o.jsxs)(`span`,{className:`shrink-0 tabular-nums`,children:[e.durationMs.toFixed(2),`ms`]})]},t)),(0,o.jsxs)(`p`,{className:`text-[10px] text-muted-foreground mt-2`,children:[e.length,` render`,e.length===1?``:`s`,` tracked`]})]})}function Lc(){let e=Fc(`expr`).map(e=>e.data);return e.length===0?(0,o.jsx)(`p`,{className:`text-xs text-muted-foreground italic`,children:`No expression evaluations tracked yet`}):(0,o.jsxs)(`div`,{className:`space-y-1.5 max-h-[60vh] overflow-auto`,children:[e.map((e,t)=>(0,o.jsxs)(`div`,{className:`px-2 py-1.5 rounded bg-muted/30 text-xs font-mono`,children:[(0,o.jsx)(`div`,{className:`text-muted-foreground truncate`,children:e.expression}),(0,o.jsxs)(`div`,{className:`mt-0.5`,children:[`→ `,JSON.stringify(e.result)]})]},t)),(0,o.jsxs)(`p`,{className:`text-[10px] text-muted-foreground mt-2`,children:[e.length,` evaluation`,e.length===1?``:`s`,` tracked`]})]})}function Rc(){let e=Fc(`event`).map(e=>e.data);return e.length===0?(0,o.jsx)(`p`,{className:`text-xs text-muted-foreground italic`,children:`No events captured yet`}):(0,o.jsxs)(`div`,{className:`space-y-1.5 max-h-[60vh] overflow-auto`,children:[e.map((e,t)=>(0,o.jsxs)(`div`,{className:`px-2 py-1.5 rounded bg-muted/30 text-xs font-mono`,children:[(0,o.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,o.jsx)(`span`,{className:`font-semibold`,children:e.action}),(0,o.jsx)(`span`,{className:`text-[10px] text-muted-foreground tabular-nums`,children:new Date(e.timestamp).toLocaleTimeString()})]}),e.payload!==void 0&&(0,o.jsx)(`pre`,{className:`mt-0.5 text-[10px] text-muted-foreground truncate`,children:JSON.stringify(e.payload)})]},t)),(0,o.jsxs)(`p`,{className:`text-[10px] text-muted-foreground mt-2`,children:[e.length,` event`,e.length===1?``:`s`,` captured`]})]})}function zc({open:e,onClose:t,flags:n,schema:r,dataContext:i,extraTabs:s=[],className:c}){let l=(0,a.useMemo)(()=>[{id:`schema`,label:`Schema`,render:()=>(0,o.jsx)(jc,{schema:r})},{id:`data`,label:`Data`,render:()=>(0,o.jsx)(Mc,{dataContext:i})},{id:`perf`,label:`Perf`,render:()=>(0,o.jsx)(Ic,{})},{id:`expr`,label:`Expr`,render:()=>(0,o.jsx)(Lc,{})},{id:`events`,label:`Events`,render:()=>(0,o.jsx)(Rc,{})},{id:`registry`,label:`Registry`,render:()=>(0,o.jsx)(Nc,{})},{id:`flags`,label:`Flags`,render:()=>(0,o.jsx)(Pc,{flags:n})}],[r,i,n]),u=(0,a.useMemo)(()=>[...l,...s],[l,s]),[d,f]=(0,a.useState)(u[0]?.id??`schema`),p=u.find(e=>e.id===d)??u[0],m=(0,a.useCallback)(e=>{f(e)},[]);return e?(0,o.jsxs)(`div`,{className:B(`fixed bottom-4 right-4 z-[9999] w-[420px] max-w-[95vw] rounded-lg border bg-background shadow-2xl`,`flex flex-col overflow-hidden`,c),"data-testid":`debug-panel`,role:`dialog`,"aria-label":`Developer Debug Panel`,children:[(0,o.jsxs)(`div`,{className:`flex items-center justify-between px-3 py-2 border-b bg-muted/30`,children:[(0,o.jsx)(`span`,{className:`text-xs font-semibold uppercase tracking-wider text-muted-foreground`,children:`🛠 Debug Panel`}),(0,o.jsx)(`button`,{onClick:t,className:`text-muted-foreground hover:text-foreground text-sm leading-none px-1`,"aria-label":`Close debug panel`,"data-testid":`debug-panel-close`,children:`✕`})]}),(0,o.jsx)(`div`,{className:`flex border-b overflow-x-auto`,role:`tablist`,children:u.map(e=>(0,o.jsxs)(`button`,{role:`tab`,"aria-selected":e.id===p?.id,onClick:()=>m(e.id),className:B(`px-3 py-1.5 text-xs font-medium whitespace-nowrap transition-colors`,e.id===p?.id?`border-b-2 border-primary text-foreground`:`text-muted-foreground hover:text-foreground`),"data-testid":`debug-tab-${e.id}`,children:[e.icon&&(0,o.jsx)(`span`,{className:`mr-1`,children:e.icon}),e.label]},e.id))}),(0,o.jsx)(`div`,{className:`p-3 overflow-auto max-h-[50vh]`,"data-testid":`debug-panel-content`,children:p?.render()})]}):null}function Bc(){return!0}e.Accordion=H,e.AccordionContent=be,e.AccordionItem=ve,e.AccordionTrigger=ye,e.ActionParamDialog=Bo,e.Alert=Me,e.AlertDescription=Pe,e.AlertDialog=xe,e.AlertDialogAction=ke,e.AlertDialogCancel=Ae,e.AlertDialogContent=Te,e.AlertDialogDescription=Oe,e.AlertDialogFooter=G,e.AlertDialogHeader=Ee,e.AlertDialogOverlay=we,e.AlertDialogPortal=Ce,e.AlertDialogTitle=De,e.AlertDialogTrigger=Se,e.AlertTitle=Ne,e.AspectRatio=Fe,e.Avatar=Ie,e.AvatarFallback=Re,e.AvatarImage=Le,e.Badge=Be,e.Breadcrumb=Ve,e.BreadcrumbEllipsis=qe,e.BreadcrumbItem=Ue,e.BreadcrumbLink=We,e.BreadcrumbList=He,e.BreadcrumbPage=Ge,e.BreadcrumbSeparator=Ke,e.Button=W,e.ButtonGroup=ja,e.ButtonGroupSeparator=Na,e.ButtonGroupText=Ma,e.Calendar=Je,e.CalendarDayButton=Ye,e.Card=Xe,e.CardContent=et,e.CardDescription=$e,e.CardFooter=tt,e.CardHeader=Ze,e.CardTitle=Qe,e.Carousel=it,e.CarouselContent=at,e.CarouselItem=ot,e.CarouselNext=ct,e.CarouselPrevious=st,e.ChartContainer=ft,e.ChartLegend=gt,e.ChartLegendContent=_t,e.ChartSkeleton=Go,e.ChartStyle=pt,e.ChartTooltip=mt,e.ChartTooltipContent=ht,e.Checkbox=yt,e.Collapsible=bt,e.CollapsibleContent=St,e.CollapsibleTrigger=xt,e.Combobox=Pa,e.Command=Nt,e.CommandDialog=Pt,e.CommandEmpty=Lt,e.CommandGroup=Rt,e.CommandInput=Ft,e.CommandItem=Bt,e.CommandList=It,e.CommandSeparator=zt,e.CommandShortcut=Vt,e.ConfigFieldRenderer=$a,e.ConfigPanelRenderer=to,e.ConfigRow=Fa,e.ContextMenu=Ht,e.ContextMenuCheckboxItem=Qt,e.ContextMenuContent=Xt,e.ContextMenuGroup=Wt,e.ContextMenuItem=Zt,e.ContextMenuLabel=en,e.ContextMenuPortal=Gt,e.ContextMenuRadioGroup=qt,e.ContextMenuRadioItem=$t,e.ContextMenuSeparator=tn,e.ContextMenuShortcut=nn,e.ContextMenuSub=Kt,e.ContextMenuSubContent=Yt,e.ContextMenuSubTrigger=Jt,e.ContextMenuTrigger=Ut,e.DataEmptyState=ts,e.DataErrorState=ns,e.DataLoadingState=es,e.DatePicker=no,e.DebugPanel=zc,e.Dialog=Ct,e.DialogClose=Et,e.DialogContent=Ot,e.DialogDescription=Mt,e.DialogFooter=At,e.DialogHeader=kt,e.DialogOverlay=Dt,e.DialogPortal=Tt,e.DialogTitle=jt,e.DialogTrigger=wt,e.Drawer=rn,e.DrawerClose=sn,e.DrawerContent=ln,e.DrawerDescription=pn,e.DrawerFooter=dn,e.DrawerHeader=un,e.DrawerOverlay=cn,e.DrawerPortal=on,e.DrawerTitle=fn,e.DrawerTrigger=an,e.DropdownMenu=mn,e.DropdownMenuCheckboxItem=wn,e.DropdownMenuContent=Sn,e.DropdownMenuGroup=gn,e.DropdownMenuItem=Cn,e.DropdownMenuLabel=En,e.DropdownMenuPortal=_n,e.DropdownMenuRadioGroup=yn,e.DropdownMenuRadioItem=Tn,e.DropdownMenuSeparator=Dn,e.DropdownMenuShortcut=On,e.DropdownMenuSub=vn,e.DropdownMenuSubContent=xn,e.DropdownMenuSubTrigger=bn,e.DropdownMenuTrigger=hn,e.Empty=io,e.EmptyContent=uo,e.EmptyDescription=lo,e.EmptyHeader=ao,e.EmptyMedia=so,e.EmptyTitle=co,e.EmptyValue=fo,e.ExportProgressDialog=as,e.Field=mo,e.FilterBuilder=Xa,e.Form=An,e.FormControl=Ln,e.FormDescription=Rn,e.FormField=Mn,e.FormItem=Fn,e.FormLabel=In,e.FormMessage=zn,e.FormSkeleton=Uo,e.GridSkeleton=Vo,e.GroupingEditor=zo,e.HoverCard=Bn,e.HoverCardContent=Hn,e.HoverCardTrigger=Vn,e.Input=q,e.InputGroup=ho,e.InputOTP=Un,e.InputOTPGroup=Wn,e.InputOTPSeparator=Kn,e.InputOTPSlot=Gn,e.Item=yo,e.ItemActions=To,e.ItemContent=So,e.ItemDescription=wo,e.ItemFooter=Do,e.ItemGroup=go,e.ItemHeader=Eo,e.ItemMedia=xo,e.ItemSeparator=_o,e.ItemTitle=Co,e.KanbanSkeleton=Ho,e.Kbd=Oo,e.KbdGroup=ko,e.Label=K,e.LazyIcon=Ps,e.ListSkeleton=Wo,e.LookupValuePicker=Za,e.Menubar=Qn,e.MenubarCheckboxItem=ir,e.MenubarContent=nr,e.MenubarGroup=Jn,e.MenubarItem=rr,e.MenubarLabel=or,e.MenubarMenu=qn,e.MenubarPortal=Yn,e.MenubarRadioGroup=Xn,e.MenubarRadioItem=ar,e.MenubarSeparator=sr,e.MenubarShortcut=cr,e.MenubarSub=Zn,e.MenubarSubContent=tr,e.MenubarSubTrigger=er,e.MenubarTrigger=$n,e.MobileDialogContent=rs,e.NativeSelect=Ao,e.NavigationMenu=lr,e.NavigationMenuContent=mr,e.NavigationMenuIndicator=_r,e.NavigationMenuItem=dr,e.NavigationMenuLink=hr,e.NavigationMenuList=ur,e.NavigationMenuTrigger=pr,e.NavigationMenuViewport=gr,e.NavigationOverlay=Io,e.Pagination=vr,e.PaginationContent=yr,e.PaginationEllipsis=wr,e.PaginationItem=br,e.PaginationLink=xr,e.PaginationNext=Cr,e.PaginationPrevious=Sr,e.Popover=Tr,e.PopoverContent=Dr,e.PopoverTrigger=Er,e.Progress=Or,e.RadioGroup=kr,e.RadioGroupItem=Ar,e.RecordTitleChip=Xo,e.RefreshIndicator=$o,e.RelatedCountStore=Js,e.ResizableHandle=Nr,e.ResizablePanel=Mr,e.ResizablePanelGroup=jr,e.ScrollArea=Pr,e.ScrollBar=Fr,e.SectionHeader=eo,e.Select=Ir,e.SelectContent=Y,e.SelectGroup=Lr,e.SelectItem=X,e.SelectLabel=Vr,e.SelectScrollDownButton=Br,e.SelectScrollUpButton=zr,e.SelectSeparator=Hr,e.SelectTrigger=J,e.SelectValue=Rr,e.Separator=Ur,e.Sheet=Wr,e.SheetClose=Kr,e.SheetContent=Xr,e.SheetDescription=ei,e.SheetFooter=Qr,e.SheetHeader=Zr,e.SheetOverlay=Jr,e.SheetPortal=qr,e.SheetTitle=$r,e.SheetTrigger=Gr,e.Sidebar=gi,e.SidebarContent=wi,e.SidebarFooter=Si,e.SidebarGroup=Ti,e.SidebarGroupAction=Di,e.SidebarGroupContent=Oi,e.SidebarGroupLabel=Ei,e.SidebarHeader=xi,e.SidebarInput=bi,e.SidebarInset=yi,e.SidebarMenu=ki,e.SidebarMenuAction=Ni,e.SidebarMenuBadge=Pi,e.SidebarMenuButton=Mi,e.SidebarMenuItem=Ai,e.SidebarMenuSkeleton=Fi,e.SidebarMenuSub=Ii,e.SidebarMenuSubButton=Ri,e.SidebarMenuSubItem=Li,e.SidebarProvider=hi,e.SidebarRail=vi,e.SidebarSeparator=Ci,e.SidebarTrigger=_i,e.Skeleton=Z,e.Slider=zi,e.SortBuilder=Qa,e.Spinner=Lo,e.Switch=Vi,e.Table=Hi,e.TableBody=Wi,e.TableCaption=Yi,e.TableCell=Ji,e.TableFooter=Gi,e.TableHead=qi,e.TableHeader=Ui,e.TableRow=Ki,e.Tabs=Xi,e.TabsContent=$i,e.TabsList=Zi,e.TabsTrigger=Qi,e.Textarea=ea,e.Toaster=Bi,e.Toggle=na,e.ToggleGroup=ia,e.ToggleGroupItem=aa,e.Tooltip=ii,e.TooltipContent=oi,e.TooltipProvider=ri,e.TooltipTrigger=ai,e.TypographyBlockquote=da,e.TypographyH1=oa,e.TypographyH2=sa,e.TypographyH3=ca,e.TypographyH4=la,e.TypographyInlineCode=pa,e.TypographyLarge=ha,e.TypographyLead=ma,e.TypographyList=fa,e.TypographyMuted=_a,e.TypographyP=ua,e.TypographySmall=ga,e.ViewSkeleton=Ko,e.badgeVariants=ze,e.buttonGroupVariants=Aa,e.buttonVariants=U,e.cn=B,Object.defineProperty(e,`cva`,{enumerable:!0,get:function(){return d.cva}}),e.getLazyIcon=Ns,e.initializeComponents=Bc,e.navigationMenuTriggerStyle=fr,e.registerPlaceholders=Tc,e.renderChildren=V,e.toKebabIconName=ks,e.toggleVariants=ta,e.useConfigDraft=Ec,e.useExportJob=Ac,e.useFormField=Nn,e.useIsMobile=ni,e.useRelatedCount=qs,e.useResizeObserver=Dc,e.useSidebar=mi});
|
|
18
|
+
`,document.head.appendChild(t),Qo=!0}var es=({active:e,ariaLabel:t=`Refreshing`,className:n,...r})=>(a.useEffect(()=>{e&&$o()},[e]),e?(0,o.jsx)(`div`,{className:B(`pointer-events-none absolute inset-x-0 top-0 z-20 h-0.5 overflow-hidden`,n),role:`progressbar`,"aria-busy":`true`,"aria-label":t,"data-testid":`refresh-indicator`,...r,children:(0,o.jsx)(`div`,{className:`h-full w-1/4 rounded-full bg-primary/70`,style:{animation:`objui-refresh-bar 1.1s ease-in-out infinite`}})}):null);es.displayName=`RefreshIndicator`;function ts({className:e,message:t=`Loading…`,...n}){return(0,o.jsxs)(`div`,{role:`status`,"aria-label":t,"data-slot":`data-loading-state`,className:B(`flex flex-col items-center justify-center gap-3 p-6 text-center`,e),...n,children:[(0,o.jsx)(c.Loader2,{className:`size-6 animate-spin text-muted-foreground`}),t&&(0,o.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:t})]})}function ns({className:e,icon:t,illustration:n,showIcon:r=!0,iconWrapperClassName:i,title:a=`No data`,description:s,action:l,children:u,...d}){let f=r&&(t!=null||!n);return(0,o.jsxs)(`div`,{"data-slot":`data-empty-state`,className:B(`flex flex-col items-center justify-center gap-3 p-6 text-center`,e),...d,children:[n&&(0,o.jsx)(`div`,{"data-slot":`data-empty-state-illustration`,className:`motion-safe:animate-in motion-safe:fade-in-0 motion-safe:zoom-in-95 motion-safe:duration-300 [&_svg]:max-h-40 [&_svg]:w-auto`,"aria-hidden":!0,children:n}),f&&(0,o.jsx)(`div`,{"data-slot":`data-empty-state-icon`,className:B(i??`flex size-10 items-center justify-center rounded-lg bg-muted`),children:t??(0,o.jsx)(c.InboxIcon,{className:`size-5 text-muted-foreground`})}),a&&(0,o.jsx)(`h3`,{className:`text-sm font-medium`,children:a}),s&&(0,o.jsx)(`p`,{className:`max-w-sm text-sm text-muted-foreground`,children:s}),l,u]})}function rs({className:e,title:t=`Something went wrong`,message:n,onRetry:r,retryLabel:i=`Retry`,children:a,...s}){return(0,o.jsxs)(`div`,{role:`alert`,"data-slot":`data-error-state`,className:B(`flex flex-col items-center justify-center gap-3 p-6 text-center`,e),...s,children:[(0,o.jsx)(`div`,{className:`flex size-10 items-center justify-center rounded-lg bg-destructive/10`,children:(0,o.jsx)(c.AlertCircle,{className:`size-5 text-destructive`})}),t&&(0,o.jsx)(`h3`,{className:`text-sm font-medium`,children:t}),n&&(0,o.jsx)(`p`,{className:`max-w-sm text-sm text-muted-foreground`,children:n}),r&&(0,o.jsx)(W,{variant:`outline`,size:`sm`,onClick:r,children:i}),a]})}var is=a.forwardRef(({className:e,children:t,...n},r)=>(0,o.jsxs)(Tt,{children:[(0,o.jsx)(Dt,{}),(0,o.jsxs)(b.Content,{ref:r,className:B(`fixed inset-0 z-50 w-full bg-background p-4 shadow-lg duration-200`,`h-[100dvh]`,`sm:inset-auto sm:left-[50%] sm:top-[50%] sm:translate-x-[-50%] sm:translate-y-[-50%]`,`sm:max-w-lg sm:h-auto sm:max-h-[90vh] sm:rounded-lg sm:border sm:p-6`,`data-[state=open]:animate-in data-[state=closed]:animate-out`,`data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0`,`data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95`,`data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%]`,`data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%]`,e),...n,children:[t,(0,o.jsxs)(b.Close,{className:B(`absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity`,`hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2`,`disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground`,`min-h-[44px] min-w-[44px] sm:min-h-0 sm:min-w-0 flex items-center justify-center`),children:[(0,o.jsx)(c.X,{className:`h-5 w-5 sm:h-4 sm:w-4`}),(0,o.jsx)(`span`,{className:`sr-only`,children:`Close`})]})]})]}));is.displayName=`MobileDialogContent`;function as(e){return!e&&e!==0?``:e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:e<1024*1024*1024?`${(e/(1024*1024)).toFixed(1)} MB`:`${(e/(1024*1024*1024)).toFixed(2)} GB`}function os({open:e,onOpenChange:t,job:n,title:r,description:i,filename:s,allowCloseWhileRunning:l=!0,className:u,onAfterDownload:d,closeAfterDownloadMs:f}){let{progress:p,error:m,isRunning:h,cancel:g,download:_,reset:v}=n,y=p?.status,b=typeof p?.percentComplete==`number`?Math.max(0,Math.min(100,p.percentComplete)):void 0,x=y===`completed`,S=y===`failed`||y===`expired`,C=y===`cancelled`,w=a.useCallback(async()=>{await _(s)&&(d?.(),f&&f>0&&setTimeout(()=>t(!1),f))},[_,s,d,f,t]),T=a.useCallback(e=>{!e&&h&&!l||(t(e),!e&&!h&&setTimeout(v,0))},[h,l,t,v]),E=r??(x?`Export ready`:S?`Export failed`:C?`Export cancelled`:`Exporting…`),D=i??(x?`Your export is ready to download.`:S?`The export job did not complete.`:C?`The export was cancelled.`:`Your export is being prepared on the server. You can close this window — the job will continue in the background.`);return(0,o.jsx)(Ct,{open:e,onOpenChange:T,children:(0,o.jsxs)(Ot,{"data-testid":`export-progress-dialog`,className:B(`sm:max-w-md`,u),children:[(0,o.jsxs)(kt,{children:[(0,o.jsxs)(jt,{className:`flex items-center gap-2`,children:[x?(0,o.jsx)(c.CheckCircle2,{className:`h-5 w-5 text-green-600`,"aria-hidden":`true`}):S?(0,o.jsx)(c.AlertCircle,{className:`h-5 w-5 text-destructive`,"aria-hidden":`true`}):(0,o.jsx)(c.Loader2,{className:B(`h-5 w-5 text-muted-foreground`,h&&`animate-spin`),"aria-hidden":`true`}),E]}),(0,o.jsx)(Mt,{children:D})]}),(0,o.jsxs)(`div`,{className:`py-2 space-y-3`,children:[(h||x)&&(0,o.jsx)(`div`,{"data-testid":`export-progress-bar`,children:b===void 0?(0,o.jsx)(Or,{value:void 0,"aria-label":`Export progress (indeterminate)`}):(0,o.jsx)(Or,{value:b,"aria-label":`Export progress`})}),(0,o.jsxs)(`div`,{className:`flex items-center justify-between text-xs text-muted-foreground`,children:[(0,o.jsx)(`span`,{"data-testid":`export-progress-counts`,children:p?.processedRecords==null?h?`Starting…`:``:`${p.processedRecords.toLocaleString()}${p.totalRecords==null?``:` / ${p.totalRecords.toLocaleString()}`} records`}),(0,o.jsx)(`span`,{"data-testid":`export-progress-percent`,children:b===void 0?``:`${b.toFixed(0)}%`})]}),p?.fileSize?(0,o.jsx)(`div`,{className:`text-xs text-muted-foreground`,children:as(p.fileSize)}):null,(m||p?.error)&&(0,o.jsx)(`div`,{"data-testid":`export-progress-error`,className:`text-xs text-destructive bg-destructive/10 border border-destructive/30 rounded-md px-2 py-1`,children:m?.message||p?.error?.message})]}),(0,o.jsxs)(At,{className:`gap-2 sm:gap-2`,children:[h&&(0,o.jsxs)(W,{type:`button`,variant:`ghost`,onClick:()=>g(),"data-testid":`export-progress-cancel`,children:[(0,o.jsx)(c.X,{className:`h-4 w-4`,"aria-hidden":`true`}),(0,o.jsx)(`span`,{className:`ml-1`,children:`Cancel`})]}),x&&(0,o.jsxs)(W,{type:`button`,variant:`default`,onClick:w,"data-testid":`export-progress-download`,children:[(0,o.jsx)(c.Download,{className:`h-4 w-4`,"aria-hidden":`true`}),(0,o.jsx)(`span`,{className:`ml-1`,children:`Download`})]}),!h&&(0,o.jsx)(W,{type:`button`,variant:`outline`,onClick:()=>T(!1),"data-testid":`export-progress-close`,children:`Close`})]})]})})}t.ComponentRegistry.register(`combobox`,({schema:e,...t})=>{let{"data-obj-id":n,"data-obj-type":r,style:i,...a}=t;return(0,o.jsx)(Pa,{options:e.options||[],placeholder:e.placeholder,value:e.value,disabled:e.disabled,className:e.className,...a,"data-obj-id":n,"data-obj-type":r,style:i})},{namespace:`ui`,label:`Combobox`,inputs:[{name:`placeholder`,type:`string`,label:`Placeholder`},{name:`value`,type:`string`,label:`Value`},{name:`disabled`,type:`boolean`,label:`Disabled`,defaultValue:!1},{name:`className`,type:`string`,label:`CSS Class`}],defaultProps:{placeholder:`Select option...`,options:[]}}),t.ComponentRegistry.register(`command`,({schema:e,...t})=>{let{"data-obj-id":n,"data-obj-type":r,style:i,...a}=t;return(0,o.jsxs)(Nt,{className:e.className,...a,"data-obj-id":n,"data-obj-type":r,style:i,children:[(0,o.jsx)(Ft,{placeholder:e.placeholder||`Type a command or search...`}),(0,o.jsxs)(It,{children:[(0,o.jsx)(Lt,{children:e.emptyText||`No results found.`}),e.groups?.map((e,t)=>(0,o.jsx)(Rt,{heading:e.heading,children:e.items?.map((e,t)=>(0,o.jsx)(Bt,{value:e.value,children:e.label},t))},t))]})]})},{namespace:`ui`,label:`Command`,inputs:[{name:`placeholder`,type:`string`,label:`Placeholder`},{name:`emptyText`,type:`string`,label:`Empty Text`},{name:`className`,type:`string`,label:`CSS Class`}],defaultProps:{placeholder:`Type a command or search...`,emptyText:`No results found.`,groups:[]}});var ss=(0,a.forwardRef)(({schema:e,className:t,...n},r)=>{let{"data-obj-id":i,"data-obj-type":a,style:s,...c}=n,l=e.clickable||!!n.onClick;return(0,o.jsxs)(Xe,{ref:r,className:B(t,(e.hoverable||l)&&`transition-colors hover:bg-muted/50`,l&&`cursor-pointer active:bg-muted`),...c,"data-obj-id":i,"data-obj-type":a,style:s,children:[(e.title||e.description||e.header)&&(0,o.jsxs)(Ze,{children:[e.title&&(0,o.jsx)(Qe,{children:e.title}),e.description&&(0,o.jsx)($e,{children:e.description}),e.header&&V(e.header)]}),(e.children||e.body)&&(0,o.jsx)(et,{children:V(e.children||e.body)}),e.footer&&(0,o.jsx)(tt,{className:`flex justify-between`,children:V(e.footer)})]})});t.ComponentRegistry.register(`card`,ss,{namespace:`ui`,label:`Card`,inputs:[{name:`title`,type:`string`,label:`Title`},{name:`description`,type:`string`,label:`Description`},{name:`className`,type:`string`,label:`CSS Class`}],defaultProps:{title:`Card Title`,description:`Card description goes here`,className:`w-full`},isContainer:!0,resizable:!0,resizeConstraints:{width:!0,height:!0,minWidth:200,minHeight:100}}),t.ComponentRegistry.register(`tabs`,({schema:e,className:t,onChange:n,value:r,...i})=>{let{"data-obj-id":a,"data-obj-type":s,style:c,...l}=i,u=e=>{n&&n(e)},d=e.orientation===`vertical`;return(0,o.jsxs)(Xi,{defaultValue:r===void 0?e.defaultValue:void 0,value:r??e.value,onValueChange:u,orientation:e.orientation||`horizontal`,className:B(t,d&&`flex gap-2`),...l,"data-obj-id":a,"data-obj-type":s,style:c,children:[(0,o.jsx)(Zi,{className:B(d&&`flex-col h-auto items-stretch bg-muted/50 p-1`),children:e.items?.map(e=>(0,o.jsx)(Qi,{value:e.value,disabled:e.disabled,className:B(d&&`justify-start`),children:e.label},e.value))}),e.items?.map(e=>(0,o.jsx)($i,{value:e.value,className:B(`mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2`,d&&`mt-0 flex-1`),children:V(e.content||e.body)},e.value))]})},{namespace:`ui`,label:`Tabs`,inputs:[{name:`defaultValue`,type:`string`,label:`Default Value`,required:!0},{name:`className`,type:`string`,label:`CSS Class`},{name:`items`,type:`array`,label:`Items`}],defaultProps:{defaultValue:`tab1`,items:[{label:`Tab 1`,value:`tab1`,body:[{type:`text`,content:`Content for Tab 1`}]},{label:`Tab 2`,value:`tab2`,body:[{type:`text`,content:`Content for Tab 2`}]},{label:`Tab 3`,value:`tab3`,body:[{type:`text`,content:`Content for Tab 3`}]}],className:`w-full`}});var cs={1:`grid-cols-1`,2:`grid-cols-2`,3:`grid-cols-3`,4:`grid-cols-4`,5:`grid-cols-5`,6:`grid-cols-6`,7:`grid-cols-7`,8:`grid-cols-8`,9:`grid-cols-9`,10:`grid-cols-10`,11:`grid-cols-11`,12:`grid-cols-12`},ls={1:`sm:grid-cols-1`,2:`sm:grid-cols-2`,3:`sm:grid-cols-3`,4:`sm:grid-cols-4`,5:`sm:grid-cols-5`,6:`sm:grid-cols-6`,7:`sm:grid-cols-7`,8:`sm:grid-cols-8`,9:`sm:grid-cols-9`,10:`sm:grid-cols-10`,11:`sm:grid-cols-11`,12:`sm:grid-cols-12`},us={1:`md:grid-cols-1`,2:`md:grid-cols-2`,3:`md:grid-cols-3`,4:`md:grid-cols-4`,5:`md:grid-cols-5`,6:`md:grid-cols-6`,7:`md:grid-cols-7`,8:`md:grid-cols-8`,9:`md:grid-cols-9`,10:`md:grid-cols-10`,11:`md:grid-cols-11`,12:`md:grid-cols-12`},ds={1:`lg:grid-cols-1`,2:`lg:grid-cols-2`,3:`lg:grid-cols-3`,4:`lg:grid-cols-4`,5:`lg:grid-cols-5`,6:`lg:grid-cols-6`,7:`lg:grid-cols-7`,8:`lg:grid-cols-8`,9:`lg:grid-cols-9`,10:`lg:grid-cols-10`,11:`lg:grid-cols-11`,12:`lg:grid-cols-12`},fs={1:`xl:grid-cols-1`,2:`xl:grid-cols-2`,3:`xl:grid-cols-3`,4:`xl:grid-cols-4`,5:`xl:grid-cols-5`,6:`xl:grid-cols-6`,7:`xl:grid-cols-7`,8:`xl:grid-cols-8`,9:`xl:grid-cols-9`,10:`xl:grid-cols-10`,11:`xl:grid-cols-11`,12:`xl:grid-cols-12`},ps={0:`gap-0`,1:`gap-1`,2:`gap-2`,3:`gap-3`,4:`gap-4`,5:`gap-5`,6:`gap-6`,8:`gap-8`,10:`gap-10`,12:`gap-12`};t.ComponentRegistry.register(`grid`,({schema:e,className:t,...n})=>{let r=2,i,a,s,c;typeof e.columns==`number`?r=e.columns:typeof e.columns==`object`&&e.columns!==null&&(r=e.columns.xs??1,i=e.columns.sm,a=e.columns.md,s=e.columns.lg,c=e.columns.xl),e.smColumns&&(i=e.smColumns),e.mdColumns&&(a=e.mdColumns),e.lgColumns&&(s=e.lgColumns),e.xlColumns&&(c=e.xlColumns);let l=e.gap??4,u=B(`grid`,cs[r]||`grid-cols-2`,i&&ls[i],a&&us[a],s&&ds[s],c&&fs[c],ps[l]||`gap-[${l*.25}rem]`,t),{"data-obj-id":d,"data-obj-type":f,style:p,...m}=n;return(0,o.jsx)(`div`,{className:u,...m,"data-obj-id":d,"data-obj-type":f,style:p,children:e.children&&V(e.children)})},{namespace:`ui`,label:`Grid Layout`,inputs:[{name:`columns`,type:`number`,label:`Base Columns (Mobile)`,defaultValue:2,description:`Number of columns on mobile devices`},{name:`smColumns`,type:`number`,label:`SM Columns (Tablet)`,description:`Columns at sm breakpoint (>640px)`},{name:`mdColumns`,type:`number`,label:`MD Columns (Laptop)`,description:`Columns at md breakpoint (>768px)`},{name:`lgColumns`,type:`number`,label:`LG Columns (Desktop)`,description:`Columns at lg breakpoint (>1024px)`},{name:`xlColumns`,type:`number`,label:`XL Columns (Wide)`,description:`Columns at xl breakpoint (>1280px)`},{name:`gap`,type:`number`,label:`Gap`,defaultValue:4,description:`Gap between items (0-12)`},{name:`className`,type:`string`,label:`CSS Class`}],defaultProps:{columns:1,mdColumns:2,lgColumns:4,gap:4,children:[{type:`card`,title:`Card 1`,description:`First card`},{type:`card`,title:`Card 2`,description:`Second card`},{type:`card`,title:`Card 3`,description:`Third card`},{type:`card`,title:`Card 4`,description:`Fourth card`}]},isContainer:!0,resizable:!0,resizeConstraints:{width:!0,height:!0,minWidth:200,minHeight:100}}),t.ComponentRegistry.register(`flex`,({schema:e,className:t,...n})=>{let r=e.direction||`row`,i=e.justify||`start`,a=e.align||`start`,s=e.gap||2,c=e.wrap||!1,l=B(`flex`,r===`row`&&`flex-row`,r===`col`&&`flex-col`,r===`row-reverse`&&`flex-row-reverse`,r===`col-reverse`&&`flex-col-reverse`,i===`start`&&`justify-start`,i===`end`&&`justify-end`,i===`center`&&`justify-center`,i===`between`&&`justify-between`,i===`around`&&`justify-around`,i===`evenly`&&`justify-evenly`,a===`start`&&`items-start`,a===`end`&&`items-end`,a===`center`&&`items-center`,a===`baseline`&&`items-baseline`,a===`stretch`&&`items-stretch`,s===0&&`gap-0`,s===1&&`gap-1`,s===2&&`gap-1.5 sm:gap-2`,s===3&&`gap-2 sm:gap-3`,s===4&&`gap-2 sm:gap-3 md:gap-4`,s===5&&`gap-3 sm:gap-4 md:gap-5`,s===6&&`gap-3 sm:gap-4 md:gap-6`,s===7&&`gap-4 sm:gap-5 md:gap-7`,s===8&&`gap-4 sm:gap-6 md:gap-8`,c&&`flex-wrap`,t),{"data-obj-id":u,"data-obj-type":d,style:f,...p}=n;return(0,o.jsx)(`div`,{className:l,...p,"data-obj-id":u,"data-obj-type":d,style:f,children:e.children&&V(e.children)})},{namespace:`ui`,label:`Flex Layout`,inputs:[{name:`direction`,type:`enum`,enum:[`row`,`col`,`row-reverse`,`col-reverse`],label:`Direction`,defaultValue:`row`},{name:`justify`,type:`enum`,enum:[`start`,`end`,`center`,`between`,`around`,`evenly`],label:`Justify Content`,defaultValue:`start`},{name:`align`,type:`enum`,enum:[`start`,`end`,`center`,`baseline`,`stretch`],label:`Align Items`,defaultValue:`start`},{name:`gap`,type:`number`,label:`Gap`,defaultValue:2,description:`Gap between items (0-8)`},{name:`wrap`,type:`boolean`,label:`Wrap`,defaultValue:!1,description:`Allow flex items to wrap`},{name:`className`,type:`string`,label:`CSS Class`}],defaultProps:{direction:`row`,justify:`start`,align:`center`,gap:2,wrap:!1,children:[{type:`button`,label:`Button 1`},{type:`button`,label:`Button 2`},{type:`button`,label:`Button 3`}]}});var ms=(0,a.forwardRef)(({schema:e,className:t,...n},r)=>{let i=e.direction||`col`,a=e.justify||`start`,s=e.align||`stretch`,c=e.gap??e.spacing??2,l=e.wrap||!1,u=B(`flex`,i===`row`&&`flex-row`,i===`col`&&`flex-col`,i===`row-reverse`&&`flex-row-reverse`,i===`col-reverse`&&`flex-col-reverse`,a===`start`&&`justify-start`,a===`end`&&`justify-end`,a===`center`&&`justify-center`,a===`between`&&`justify-between`,a===`around`&&`justify-around`,a===`evenly`&&`justify-evenly`,s===`start`&&`items-start`,s===`end`&&`items-end`,s===`center`&&`items-center`,s===`baseline`&&`items-baseline`,s===`stretch`&&`items-stretch`,c===0&&`gap-0`,c===1&&`gap-1`,c===2&&`gap-1.5 sm:gap-2`,c===3&&`gap-2 sm:gap-3`,c===4&&`gap-2 sm:gap-3 md:gap-4`,c===5&&`gap-3 sm:gap-4 md:gap-5`,c===6&&`gap-3 sm:gap-4 md:gap-6`,c===8&&`gap-4 sm:gap-6 md:gap-8`,c===10&&`gap-5 sm:gap-7 md:gap-10`,l&&`flex-wrap`,t),{"data-obj-id":d,"data-obj-type":f,style:p,...m}=n;return(0,o.jsx)(`div`,{ref:r,className:u,...m,"data-obj-id":d,"data-obj-type":f,style:p,children:e.children&&V(e.children)})});t.ComponentRegistry.register(`stack`,ms,{namespace:`ui`,label:`Stack`,inputs:[{name:`direction`,type:`enum`,label:`Direction`,enum:[`col`,`row`,`col-reverse`,`row-reverse`],defaultValue:`col`},{name:`gap`,type:`number`,label:`Gap`,defaultValue:2},{name:`align`,type:`enum`,label:`Align Items`,enum:[`start`,`end`,`center`,`stretch`,`baseline`],defaultValue:`stretch`},{name:`justify`,type:`enum`,label:`Justify Content`,enum:[`start`,`end`,`center`,`between`,`around`,`evenly`],defaultValue:`start`},{name:`className`,type:`string`,label:`CSS Class`}],defaultProps:{direction:`col`,gap:2,align:`stretch`,children:[]},isContainer:!0,resizable:!0,resizeConstraints:{width:!0,height:!0,minWidth:100,minHeight:50}});var hs=(0,a.forwardRef)(({schema:e,className:t,...n},r)=>{let i=e.maxWidth||`xl`,a=e.padding||4,s=e.centered!==!1,c=B(`w-full`,i===`sm`&&`max-w-sm`,i===`md`&&`max-w-md`,i===`lg`&&`max-w-lg`,i===`xl`&&`max-w-xl`,i===`2xl`&&`max-w-2xl`,i===`3xl`&&`max-w-3xl`,i===`4xl`&&`max-w-4xl`,i===`5xl`&&`max-w-5xl`,i===`6xl`&&`max-w-6xl`,i===`7xl`&&`max-w-7xl`,i===`full`&&`max-w-full`,i===`screen`&&`max-w-screen-2xl`,s&&`mx-auto`,a===0&&`p-0`,a===1&&`p-0.5 sm:p-1`,a===2&&`p-1 sm:p-2`,a===3&&`p-2 sm:p-3`,a===4&&`p-2 sm:p-3 md:p-4`,a===5&&`p-3 sm:p-4 md:p-5`,a===6&&`p-3 sm:p-4 md:p-6`,a===7&&`p-4 sm:p-5 md:p-7`,a===8&&`p-4 sm:p-6 md:p-8`,a===10&&`p-5 sm:p-7 md:p-10`,a===12&&`p-6 sm:p-8 md:p-12`,a===16&&`p-8 sm:p-10 md:p-16`,t),{"data-obj-id":l,"data-obj-type":u,style:d,...f}=n;return(0,o.jsx)(`div`,{ref:r,className:c,...f,"data-obj-id":l,"data-obj-type":u,style:d,children:e.children&&V(e.children)})});t.ComponentRegistry.register(`container`,hs,{namespace:`ui`,label:`Container`,inputs:[{name:`maxWidth`,type:`enum`,enum:[`sm`,`md`,`lg`,`xl`,`2xl`,`3xl`,`4xl`,`5xl`,`6xl`,`7xl`,`full`,`screen`],label:`Max Width`,defaultValue:`xl`},{name:`padding`,type:`number`,label:`Padding`,defaultValue:4,description:`Padding value (0, 1-8, 10, 12, 16)`},{name:`centered`,type:`boolean`,label:`Center Horizontally`,defaultValue:!0},{name:`className`,type:`string`,label:`CSS Class`}],defaultProps:{maxWidth:`xl`,padding:4,centered:!0,children:[{type:`text`,content:`Container content goes here`}]},isContainer:!0,resizable:!0,resizeConstraints:{width:!0,height:!0,minWidth:200,minHeight:100}});function gs(e){switch(e){case`small`:return`w-64`;case`medium`:return`w-80`;case`large`:return`w-96`;case`full`:return`w-full`;default:return e||`w-full`}}function _s(e){switch(e){case`utility`:return`max-w-4xl`;case`home`:return`max-w-screen-2xl`;case`app`:return`max-w-screen-xl`;default:return`max-w-7xl`}}function Q(e,t){return e?.find(e=>e.name?.toLowerCase()===t.toLowerCase())}function vs(e,t){if(!e)return[];let n=new Set(t.map(e=>e.toLowerCase()));return e.filter(e=>!n.has(e.name?.toLowerCase()??``))}var $=({region:e,className:t})=>{let n=e.components||[];return n.length===0?null:(0,o.jsx)(`div`,{className:B(`space-y-4`,e.className,t),"data-region":e.name,children:n.map((t,n)=>(0,o.jsx)(i.SchemaRenderer,{schema:t},t?.id||`${e.name}-${n}`))})},ys=({regions:e,pageType:t,className:n})=>{let r=Q(e,`header`),i=Q(e,`sidebar`),a=Q(e,`main`),s=Q(e,`aside`),c=Q(e,`footer`),l=vs(e,[`header`,`sidebar`,`main`,`aside`,`footer`]);return r||i||a||s||c?(0,o.jsxs)(`div`,{className:B(`flex flex-col gap-6`,n),"data-page-layout":t,children:[r&&(0,o.jsx)($,{region:r,className:B(gs(r.width))}),(0,o.jsxs)(`div`,{className:`flex flex-1 gap-6`,children:[i&&(0,o.jsx)(`aside`,{className:B(`shrink-0`,gs(i.width||`small`)),children:(0,o.jsx)($,{region:i})}),(0,o.jsxs)(`div`,{className:`flex-1 min-w-0 space-y-6`,children:[a&&(0,o.jsx)($,{region:a}),l.map((e,t)=>(0,o.jsx)($,{region:e},e.name||`extra-${t}`))]}),s&&(0,o.jsx)(`aside`,{className:B(`shrink-0`,gs(s.width||`small`),s.className),children:(0,o.jsx)($,{region:s})})]}),c&&(0,o.jsx)($,{region:c,className:B(gs(c.width))})]}):(0,o.jsx)(`div`,{className:B(`space-y-6`,n),"data-page-layout":t,children:e.map((e,t)=>(0,o.jsx)($,{region:e},e.name||t))})},bs=({schema:e})=>{let t=e.body||e.children,n=Array.isArray(t)?t:t?[t]:[];return n.length===0?null:(0,o.jsx)(`div`,{className:`space-y-6`,children:n.map((e,t)=>(0,o.jsx)(i.SchemaRenderer,{schema:e},e?.id||t))})},xs=({schema:e})=>e.regions&&e.regions.length>0?(0,o.jsx)(ys,{regions:e.regions,pageType:e.pageType}):(0,o.jsx)(bs,{schema:e}),Ss={default:xs,"full-width":xs,"header-sidebar-main":({schema:e})=>{let t=e.regions||[];if(t.length===0)return(0,o.jsx)(bs,{schema:e});let n=Q(t,`header`),r=Q(t,`sidebar`),i=Q(t,`main`),a=vs(t,[`header`,`sidebar`,`main`]);return(0,o.jsxs)(`div`,{className:`flex flex-col gap-6`,"data-template":`header-sidebar-main`,children:[n&&(0,o.jsx)($,{region:n}),(0,o.jsxs)(`div`,{className:`flex flex-1 gap-6`,children:[r&&(0,o.jsx)(`aside`,{className:B(`shrink-0`,gs(r.width||`medium`)),children:(0,o.jsx)($,{region:r})}),(0,o.jsxs)(`div`,{className:`flex-1 min-w-0 space-y-6`,children:[i&&(0,o.jsx)($,{region:i}),a.map((e,t)=>(0,o.jsx)($,{region:e},e.name||`extra-${t}`))]})]})]})},"three-column":({schema:e})=>{let t=e.regions||[];if(t.length===0)return(0,o.jsx)(bs,{schema:e});let n=Q(t,`header`),r=Q(t,`sidebar`),i=Q(t,`main`),a=Q(t,`aside`),s=Q(t,`footer`),c=vs(t,[`header`,`sidebar`,`main`,`aside`,`footer`]);return(0,o.jsxs)(`div`,{className:`flex flex-col gap-6`,"data-template":`three-column`,children:[n&&(0,o.jsx)($,{region:n}),(0,o.jsxs)(`div`,{className:`flex flex-1 gap-6`,children:[r&&(0,o.jsx)(`aside`,{className:B(`shrink-0`,gs(r.width||`small`)),children:(0,o.jsx)($,{region:r})}),(0,o.jsxs)(`div`,{className:`flex-1 min-w-0 space-y-6`,children:[i&&(0,o.jsx)($,{region:i}),c.map((e,t)=>(0,o.jsx)($,{region:e},e.name||`extra-${t}`))]}),a&&(0,o.jsx)(`aside`,{className:B(`shrink-0`,gs(a.width||`small`),a.className),children:(0,o.jsx)($,{region:a})})]}),s&&(0,o.jsx)($,{region:s})]})},dashboard:({schema:e})=>{let t=e.regions||[];if(t.length===0)return(0,o.jsx)(bs,{schema:e});let n=Q(t,`header`),r=Q(t,`footer`),i=vs(t,[`header`,`footer`]);return(0,o.jsxs)(`div`,{className:`flex flex-col gap-6`,"data-template":`dashboard`,children:[n&&(0,o.jsx)($,{region:n}),(0,o.jsx)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 gap-6`,children:i.map((e,t)=>(0,o.jsx)($,{region:e},e.name||`region-${t}`))}),r&&(0,o.jsx)($,{region:r})]})}};function Cs(e){return e.template&&Ss[e.template]||null}var ws=({schema:e})=>e.regions&&e.regions.length>0?(0,o.jsx)(ys,{regions:e.regions,pageType:`record`}):(0,o.jsx)(bs,{schema:e}),Ts=({schema:e})=>e.regions&&e.regions.length>0?(0,o.jsx)(ys,{regions:e.regions,pageType:`home`}):(0,o.jsx)(bs,{schema:e}),Es=({schema:e})=>e.regions&&e.regions.length>0?(0,o.jsx)(ys,{regions:e.regions,pageType:`app`}):(0,o.jsx)(bs,{schema:e}),Ds=({schema:e})=>e.regions&&e.regions.length>0?(0,o.jsx)(ys,{regions:e.regions,pageType:`utility`}):(0,o.jsx)(bs,{schema:e}),Os=({schema:e,className:t,...n})=>{let r=e.pageType||`record`,{"data-obj-id":s,"data-obj-type":c,style:l,pageType:u,schema:d,regions:f,template:p,title:m,icon:h,description:g,object:_,variables:v,blankLayout:y,body:b,isDefault:x,assignedProfiles:S,aria:C,recordOverride:w,permissions:T,requiredPermissions:E,enforceFieldSecurity:D,redactFields:O,children:k,...A}=n,ee=Object.fromEntries(Object.entries(A).filter(([e])=>!e.startsWith(`_`))),j=(0,a.useMemo)(()=>{let t=Cs(e);if(t)return(0,o.jsx)(t,{schema:e});switch(r){case`home`:return(0,o.jsx)(Ts,{schema:e});case`app`:return(0,o.jsx)(Es,{schema:e});case`utility`:return(0,o.jsx)(Ds,{schema:e});default:return(0,o.jsx)(ws,{schema:e})}},[e,r]),te=(0,o.jsx)(`div`,{className:B(`min-h-full w-full bg-background p-3 md:p-4 lg:p-6`,t),"data-page-type":r,"data-obj-id":s,"data-obj-type":c,style:l,...ee,children:(0,o.jsxs)(`div`,{className:B(`mx-auto space-y-6`,_s(r)),children:[r!==`record`&&(e.title||e.description)&&(0,o.jsxs)(`div`,{className:`space-y-2`,children:[e.title&&(0,o.jsx)(`h1`,{className:`text-3xl font-bold tracking-tight text-foreground`,children:e.title}),e.description&&(0,o.jsx)(`p`,{className:`text-muted-foreground`,children:e.description})]}),j]})});return e.variables&&e.variables.length>0?(0,o.jsx)(i.PageVariablesProvider,{definitions:e.variables,children:te}):te},ks={namespace:`ui`,label:`Page`,icon:`Layout`,category:`layout`,inputs:[{name:`title`,type:`string`,label:`Title`},{name:`description`,type:`string`,label:`Description`},{name:`pageType`,type:`string`,label:`Page Type`},{name:`object`,type:`string`,label:`Object Name`},{name:`template`,type:`string`,label:`Template`},{name:`regions`,type:`array`,label:`Regions`,itemType:`object`},{name:`variables`,type:`array`,label:`Variables`,itemType:`object`},{name:`body`,type:`array`,label:`Content (Legacy)`,itemType:`component`}]};t.ComponentRegistry.register(`page`,Os,ks),t.ComponentRegistry.register(`app`,Os,{...ks,label:`App Page`}),t.ComponentRegistry.register(`utility`,Os,{...ks,label:`Utility Page`}),t.ComponentRegistry.register(`home`,Os,{...ks,label:`Home Page`}),t.ComponentRegistry.register(`record`,Os,{...ks,label:`Record Page`});function As(e){return e.includes(`-`)?e.toLowerCase():e.replace(/([a-z0-9])([A-Z])/g,`$1-$2`).replace(/([A-Z]+)([A-Z][a-z])/g,`$1-$2`).toLowerCase()}var js=new Set(R.iconNames);function Ms(e){return js.has(e)}var Ns=new Map;function Ps(e){if(!e)return c.Database;let t=Ns.get(e);if(t)return t;let n=As(e);if(!Ms(n))return Ns.set(e,c.Database),c.Database;let r=e=>a.default.createElement(R.DynamicIcon,{name:n,fallback:c.Database,...e});return r.displayName=`LucideIcon(${e})`,Ns.set(e,r),r}var Fs=({name:e,...t})=>{if(!e)return a.default.createElement(c.Database,t);let n=As(e);return Ms(n)?a.default.createElement(R.DynamicIcon,{name:n,fallback:c.Database,...t}):a.default.createElement(c.Database,t)},Is=new Map,Ls=new Map,Rs=new Set;function zs(e,t,n){return`${e}::${t??``}::${n??``}`}function Bs(){for(let e of Rs)e()}function Vs(e,t,n){return Is.get(zs(e,t,n))}function Hs(e,t,n,r){let i=zs(e,t,n);Is.get(i)!==r&&(Is.set(i,r),Bs())}async function Us(e,t,n,r){let i=zs(t,n,r),a=Is.get(i);if(a!==void 0)return a;let o=Ls.get(i);if(o)return o;let s=(async()=>{let a={};if(n){if(!r)return 0;a[n]=r}try{let i=await e(t,{$filter:a,$top:1}),o=typeof i?.total==`number`?i.total:Array.isArray(i?.data)?i.data.length:Array.isArray(i)?i.length:0,s=typeof o==`number`?o:0;return Hs(t,n,r,s),s}catch{return 0}finally{Ls.delete(i)}})();return Ls.set(i,s),s}function Ws(e,t){let n=!1,r=`${e}::`;for(let e of Is.keys())e.startsWith(r)&&(t!==void 0&&!e.endsWith(`::${t}`)||(Is.delete(e),n=!0));n&&Bs()}function Gs(){Is.size!==0&&(Is.clear(),Bs())}function Ks(e){return Rs.add(e),()=>{Rs.delete(e)}}function qs(){return Is}function Js(e,t,n){if((0,a.useSyncExternalStore)(Ks,qs,qs),e)return Vs(e,t,n)}var Ys={get:Vs,set:Hs,fetch:Us,invalidate:Ws,invalidateAll:Gs,_reset:()=>{Is.clear(),Ls.clear(),Bs()}},Xs=e=>{let{"data-obj-id":t,"data-obj-type":n,style:r,...i}=e||{};return{designer:{"data-obj-id":t,"data-obj-type":n,style:r},rest:i}},Zs=e=>e==null?``:typeof e==`string`?e:typeof e==`object`?e.default||e.value||``:String(e),Qs={"zh-CN":{Details:`详情`,Related:`相关`,Activity:`活动`,History:`历史`,Notes:`备注`,Files:`文件`,Tasks:`任务`,"Open Tasks":`待办任务`,"Closed Tasks":`已完成任务`,Events:`日程`,Attachments:`附件`,Chatter:`讨论`,Discussion:`讨论`,Comments:`评论`,Overview:`概览`,Summary:`摘要`,Quotes:`报价单`,Products:`产品`,Contacts:`联系人`,Accounts:`客户`,Leads:`线索`,Opportunities:`商机`,Cases:`服务案例`,Campaigns:`营销活动`,Approvals:`审批`,Documents:`文档`,Emails:`邮件`,Calls:`通话`,Meetings:`会议`},"zh-TW":{Details:`詳情`,Related:`相關`,Activity:`活動`,History:`歷史`,Notes:`備註`,Files:`檔案`,Tasks:`任務`,"Open Tasks":`待辦任務`,"Closed Tasks":`已完成任務`,Events:`行程`,Attachments:`附件`,Chatter:`討論`,Discussion:`討論`,Comments:`評論`,Overview:`概覽`,Summary:`摘要`,Quotes:`報價單`,Products:`產品`,Contacts:`聯絡人`,Accounts:`客戶`,Leads:`線索`,Opportunities:`商機`,Cases:`服務案例`,Campaigns:`行銷活動`,Approvals:`審批`,Documents:`文件`,Emails:`郵件`,Calls:`通話`,Meetings:`會議`}},$s=()=>{if(typeof document<`u`){let e=document.documentElement?.lang;if(e)return e}return typeof navigator<`u`&&navigator.language?navigator.language:`en`},ec=e=>{if(!e)return e;let t=$s(),n=Qs[t],r=t.split(`-`)[0]===`zh`?Qs[`zh-CN`]:void 0,i=n||r;if(!i)return e;if(i[e]!==void 0)return i[e];let a=/\s*(?:&|and|和)\s*/i;if(a.test(e)){let n=e.split(a);if(n.every(e=>i[e.trim()]!==void 0)){let e=t.startsWith(`zh`)?`与`:` & `;return n.map(e=>i[e.trim()]).join(e)}}return e},tc=(e,t,n,r,i)=>!e||typeof e!=`string`?e||``:e.includes(`{`)?e.replace(/\{([a-zA-Z0-9_.]+)\}/g,(e,a)=>{let o=a.split(`.`).reduce((e,t)=>e==null?e:e[t],t);if(o==null||typeof o==`object`)return``;let s=String(o);if(n?.fields&&r&&i&&!a.includes(`.`)){let e=(Array.isArray(n.fields)?n.fields.find(e=>e?.name===a):n.fields[a])?.options;if(Array.isArray(e)){let t=e.find(e=>String(e?.value??e)===s);return r(i,a,s,t?.label?String(t.label):s)}}return s}).replace(/\s+/g,` `).trim():e,nc=e=>{let t=typeof e==`number`?e:Number(e);return Number.isFinite(t)?t>=1e4?`${Math.round(t/1e3)}k`:t>=1e3?`${(t/1e3).toFixed(1).replace(/\.0$/,``)}k`:String(t):String(e)},rc=(e,t=[])=>{if(!e)return t;let n=Array.isArray(e)?e:[e];for(let e of n){if(!e||typeof e!=`object`)continue;if(e.type===`record:related_list`||e.type===`record_related_list`){t.push(e);continue}let n=[e.children,e.properties?.children,e.properties?.items,e.body,e.items];for(let e of n)e&&rc(e,t)}return t};t.ComponentRegistry.register(`page:tabs`,({schema:e,className:t,...n})=>{let{designer:r}=Xs(n),s=e?.items||[],c=e?.properties?.type||e?.tabStyle||`line`,l=(e?.position||`top`)===`left`,u=(0,i.useRecordContext)(),d=u?.data?.id,f=u?.dataSource;Js(void 0,void 0,d);let p=a.default.useMemo(()=>{let e=new Map;return s.forEach((t,n)=>{if(t.count!==void 0&&t.count!==null&&t.count!==``)return;let r=rc(t.children),i=[];for(let e of r){let t=e?.properties?.objectName||e?.objectName;if(!t)continue;let n=e?.properties?.relationshipField||e?.relationshipField;i.push({objectName:t,relationshipField:n})}i.length>0&&e.set(n,i)}),e},[s]);a.default.useEffect(()=>{if(!f||typeof f.find!=`function`||p.size===0)return;let e=!1;for(let t of p.values())for(let n of t)if(Ys.fetch((e,t)=>f.find(e,t),n.objectName,n.relationshipField,d).catch(()=>0),e)return;return()=>{e=!0}},[f,p,d]);let m=e=>{let t=p.get(e);if(!t||t.length===0)return;let n=0,r=!1;for(let e of t){let t=Ys.get(e.objectName,e.relationshipField,d);t!==void 0&&(n+=t,r=!0)}return r?n:void 0},h=s.map((e,t)=>({...e,value:`tab-${t}`,labelStr:ec(Zs(e.label)),count:e.count!==void 0&&e.count!==null&&e.count!==``?e.count:m(t)})),g=h[0]?.value,_=B(l&&`flex-col h-auto items-stretch p-1`,c===`card`&&`bg-transparent gap-1`,c===`pill`&&`bg-muted rounded-full p-1 gap-1`,c===`line`&&!l&&`h-auto rounded-none bg-transparent p-0 gap-4 border-b border-border w-full justify-start`,!l&&`sticky top-0 z-20 bg-background/95 backdrop-blur supports-[backdrop-filter]:bg-background/60`),v=()=>B(l&&`justify-start`,c===`card`&&`data-[state=active]:bg-background data-[state=active]:border data-[state=active]:shadow-sm rounded-md`,c===`pill`&&`rounded-full data-[state=active]:bg-background`,c===`line`&&!l&&`rounded-none border-b-2 border-transparent bg-transparent px-1 pb-2.5 -mb-px shadow-none data-[state=active]:border-primary data-[state=active]:bg-transparent data-[state=active]:shadow-none data-[state=active]:text-foreground`);return(0,o.jsxs)(Xi,{defaultValue:g,orientation:l?`vertical`:`horizontal`,className:B(t,l&&`flex gap-4 w-full`),...r,children:[(h.length>1||e?.properties?.alwaysShowStrip===!0)&&(0,o.jsx)(Zi,{className:_,children:h.map(e=>(0,o.jsxs)(Qi,{value:e.value,className:v(),children:[e.icon&&(0,o.jsx)(Fs,{name:e.icon,className:`mr-1.5 h-3.5 w-3.5 shrink-0 opacity-70`,"aria-hidden":!0}),(0,o.jsx)(`span`,{children:e.labelStr}),e.count!==void 0&&e.count!==null&&e.count!==``&&Number(e.count)>0&&(0,o.jsx)(`span`,{className:`ml-1.5 inline-flex h-4 min-w-[1rem] items-center justify-center rounded-full bg-muted px-1 text-[10px] font-medium leading-none text-muted-foreground`,"aria-label":`${nc(e.count)} items`,children:nc(e.count)})]},e.value))}),h.map(e=>(0,o.jsx)($i,{value:e.value,className:B(h.length>1?`mt-3`:`mt-0`,l&&`mt-0 flex-1`),children:V(e.children)},e.value))]})},{namespace:`page`,label:`Page Tabs`,category:`layout`,isContainer:!0}),t.ComponentRegistry.register(`page:card`,({schema:e,className:t,...n})=>{let{designer:r}=Xs(n),i=Zs(e?.title),a=e?.bordered!==!1,s=e?.body,c=e?.footer;return(0,o.jsxs)(Xe,{className:B(t,!a&&`border-0 shadow-none bg-transparent`),...r,children:[i&&(0,o.jsx)(Ze,{children:(0,o.jsx)(Qe,{children:i})}),s&&(0,o.jsx)(et,{children:V(s)}),c&&(0,o.jsx)(tt,{className:`flex justify-between`,children:V(c)})]})},{namespace:`page`,label:`Page Card`,category:`layout`,isContainer:!0}),t.ComponentRegistry.register(`page:accordion`,({schema:e,className:t,...n})=>{let{designer:r}=Xs(n),i=e?.items||[],a=!!e?.allowMultiple,s=(e?.variant??e?.properties?.variant??`flush`)===`flush`?`border-b last:border-b-0`:void 0,c=i.map((e,t)=>({...e,value:`panel-${t}`,labelStr:ec(Zs(e.label))})),l=c.filter(e=>e.collapsed===!1).map(e=>e.value),u=c.map(e=>(0,o.jsxs)(ve,{value:e.value,className:s,children:[(0,o.jsx)(ye,{className:`text-sm font-semibold tracking-tight hover:no-underline`,children:e.labelStr}),(0,o.jsx)(be,{children:V(e.children)})]},e.value));return a?(0,o.jsx)(H,{type:`multiple`,defaultValue:l,className:t,...r,children:u}):(0,o.jsx)(H,{type:`single`,collapsible:!0,defaultValue:l[0],className:t,...r,children:u})},{namespace:`page`,label:`Page Accordion`,category:`layout`,isContainer:!0}),t.ComponentRegistry.register(`page:section`,({schema:e,className:t,...n})=>{let{designer:r}=Xs(n);return(0,o.jsx)(`section`,{className:B(`space-y-4`,t),...r,children:V(e?.children||e?.body)})},{namespace:`page`,label:`Page Section`,category:`layout`,isContainer:!0});function ic(e){if(!e)return e;let t=e;for(let e=0;e<4;e+=1){let e=t.replace(/[\s\u00A0]*[-·:|/–—][\s\u00A0]*$/u,``).trimEnd();if(e===t)break;t=e}for(let e=0;e<4;e+=1){let e=t.replace(/^[\s\u00A0]*[-·:|/–—][\s\u00A0]*/u,``).trimStart();if(e===t)break;t=e}return t=t.replace(/([-·:|/–—])[\s\u00A0]*\1/gu,`$1`),t=t.replace(/[\s\u00A0]+/g,` `).trim(),t}t.ComponentRegistry.register(`page:header`,({schema:e,className:n,...r})=>{let{designer:s}=Xs(r),l=(0,i.useRecordContext)(),{execute:u}=(0,i.useAction)(),{objectLabel:d,actionLabel:f}=(0,L.useObjectLabel)(),{fieldOptionLabel:p}=(0,L.useSafeFieldLabel)(),m=e?.title??e?.properties?.title,h=e?.subtitle??e?.properties?.subtitle,g=l?.objectSchema,_=l?.objectName||g?.name,v=tc(Zs(m),l?.data,g,p,_),y=tc(Zs(h),l?.data,g,p,_),b=(e?.breadcrumb??e?.properties?.breadcrumb)!==!1,x=e?.recordChrome===!1||e?.properties?.recordChrome===!1,S=e?.showStar!==!1&&e?.properties?.showStar!==!1,C=e?.showCopyId!==!1&&e?.properties?.showCopyId!==!1,w=e?.actions??e?.properties?.actions,T=l?.headerSystemActions,E=a.default.useMemo(()=>{let e=l?.data,n=new t.ExpressionEvaluator({record:e,data:e}),r=e=>{try{return n.evaluateExpression(e)}catch{return}},i=e=>{if(Array.isArray(e?.locations)&&e.locations.length>0&&!e.locations.includes(`record_header`))return!1;let t=e?.visible;if(t!=null)if(typeof t==`boolean`){if(!t)return!1}else{let e=typeof t==`string`?t:t&&typeof t==`object`&&typeof t.source==`string`?t.source:null;if(e&&!r(e))return!1}let n=e?.hidden;if(n!=null)if(typeof n==`boolean`){if(n)return!1}else{let e=typeof n==`string`?n:n&&typeof n==`object`&&typeof n.source==`string`?n.source:null;if(e&&r(e))return!1}return!0},a=Array.isArray(w)?w.filter(i):[],o=Array.isArray(T)?T.filter(i):[],s=new Set,c=[];for(let e of[...a,...o]){let t=e?.name||e?.id||``;t&&s.has(t)||(t&&s.add(t),c.push(e))}return c},[w,T,l?.data]),D=()=>{if(E.length===0)return null;let e=(e,t)=>{let n=e?.name||e?.id,r=e?.label||n||`Action ${t+1}`;return n?f(l?.objectName,n,r):r},t=E.length>2,n=t?E.slice(0,1):E,r=t?E.slice(1):[];return(0,o.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2 shrink-0`,role:`toolbar`,"aria-label":`Page header actions`,children:[n.map((t,n)=>{let r=e(t,n),i=t.variant||`default`,a=t.size||`sm`,s=typeof t.disabled==`boolean`?t.disabled:void 0,c=typeof t.icon==`string`?t.icon:null;return(0,o.jsxs)(W,{variant:i,size:a,disabled:s,className:`gap-2`,onClick:()=>{if(typeof t.onClick==`function`){t.onClick();return}u(t)},children:[c&&(0,o.jsx)(Fs,{name:c,className:`h-4 w-4`}),(0,o.jsx)(`span`,{children:r})]},t.name||t.id||`header-action-${n}`)}),t&&(0,o.jsxs)(mn,{children:[(0,o.jsx)(hn,{asChild:!0,children:(0,o.jsx)(W,{variant:`outline`,size:`sm`,className:`gap-1 px-2`,"aria-label":`More actions`,children:(0,o.jsx)(c.MoreHorizontal,{className:`h-4 w-4`})})}),(0,o.jsx)(Sn,{align:`end`,className:`w-44`,children:r.map((t,n)=>{let r=e(t,n+1),i=typeof t.disabled==`boolean`?t.disabled:void 0,a=typeof t.icon==`string`?t.icon:null;return(0,o.jsxs)(Cn,{disabled:i,onSelect:e=>{if(e.preventDefault(),typeof t.onClick==`function`){t.onClick();return}u(t)},className:B(`gap-2`,(t.variant===`destructive`||t.name===`sys_delete`)&&`text-destructive focus:text-destructive focus:bg-destructive/10`),children:[a&&(0,o.jsx)(Fs,{name:a,className:`h-4 w-4`}),(0,o.jsx)(`span`,{children:r})]},t.name||t.id||`overflow-action-${n}`)})})]})]})};if(l?.data&&l?.objectSchema&&!x){let e=l.data,t=l.objectSchema,r=l.objectName||t?.name,i=Zs(t?.label)||t?.name||l.objectName||``,a=r?d({name:r,label:i}):i||void 0,c=t?.primaryField,u=t?.titleFormat,f=typeof u==`string`?u:u&&typeof u==`object`&&typeof u.source==`string`?u.source:void 0,m=f?ic(tc(f,e,t,p,r).trim()):``,h=v||c&&e?.[c]||(m&&!m.includes(`{`)?m:``)||e?.name||e?.full_name||e?.title||e?.subject||e?.display_name||e?.label||(a&&e?.id?`${a} ${String(e.id).slice(0,8)}`:``)||a||``;return(0,o.jsxs)(`header`,{className:B(`flex flex-col sm:flex-row items-start sm:items-center justify-between gap-3 sm:gap-4 pb-4 border-b`,n),...s,children:[(0,o.jsxs)(`div`,{className:`flex flex-col min-w-0 flex-1`,children:[b&&(0,o.jsx)(`div`,{className:`text-xs text-muted-foreground mb-1`,"data-page-breadcrumb-slot":!0}),(0,o.jsx)(Zo,{title:h,objectLabel:a,resourceId:e?.id?String(e.id):void 0,showStar:S,showCopyId:C,isFavorite:l?.isFavorite,onToggleFavorite:l?.onToggleFavorite?()=>l.onToggleFavorite():void 0}),y&&(0,o.jsx)(`p`,{className:`text-sm text-muted-foreground mt-1`,children:y})]}),D()??(0,o.jsx)(`div`,{"data-page-actions-slot":!0,className:`shrink-0`})]})}return(0,o.jsxs)(`header`,{className:B(`flex flex-col gap-2 pb-4 border-b`,n),...s,children:[b&&(0,o.jsx)(`div`,{className:`text-xs text-muted-foreground`,"data-page-breadcrumb-slot":!0}),(0,o.jsxs)(`div`,{className:`flex items-center justify-between gap-4`,children:[(0,o.jsxs)(`div`,{className:`flex flex-col`,children:[v&&(0,o.jsx)(`h1`,{className:`text-2xl font-semibold tracking-tight`,children:v}),y&&(0,o.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:y})]}),D()??(0,o.jsx)(`div`,{"data-page-actions-slot":!0})]})]})},{namespace:`page`,label:`Page Header`,category:`layout`}),t.ComponentRegistry.register(`page:footer`,({schema:e,className:t,...n})=>{let{designer:r}=Xs(n);return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(Ur,{className:`my-4`}),(0,o.jsx)(`footer`,{className:B(`flex items-center justify-between text-sm text-muted-foreground`,t),...r,children:V(e?.children||e?.body)})]})},{namespace:`page`,label:`Page Footer`,category:`layout`,isContainer:!0}),t.ComponentRegistry.register(`page:sidebar`,({schema:e,className:t,...n})=>{let{designer:r}=Xs(n);return(0,o.jsx)(`aside`,{className:B(`flex flex-col gap-4 w-full md:w-80 shrink-0`,t),...r,children:V(e?.children||e?.body)})},{namespace:`page`,label:`Page Sidebar`,category:`layout`,isContainer:!0}),[`aside`,`main`,`header`,`nav`,`footer`,`section`,`article`].forEach(e=>{let n=(0,a.forwardRef)(({schema:t,className:n,...r},i)=>{let{"data-obj-id":a,"data-obj-type":s,style:c,...l}=r;return(0,o.jsx)(e,{ref:i,className:n,...l,"data-obj-id":a,"data-obj-type":s,style:c,children:V(t.children||t.body)})});n.displayName=`Semantic${e.charAt(0).toUpperCase()+e.slice(1)}`,t.ComponentRegistry.register(e,n,{namespace:`ui`,label:e.charAt(0).toUpperCase()+e.slice(1),category:`layout`,inputs:[{name:`className`,type:`string`,label:`CSS Class`}]})}),t.ComponentRegistry.register(`aspect-ratio`,({schema:e,...t})=>{let{"data-obj-id":n,"data-obj-type":r,style:i,...a}=t;return(0,o.jsx)(Fe,{ratio:e.ratio||16/9,className:e.className,...a,"data-obj-id":n,"data-obj-type":r,style:i,children:e.image?(0,o.jsx)(`img`,{src:e.image,alt:e.alt||``,loading:`lazy`,className:`rounded-md object-cover w-full h-full`}):V(e.children||e.body)})},{namespace:`ui`,label:`Aspect Ratio`,inputs:[{name:`ratio`,type:`number`,label:`Ratio`,defaultValue:16/9},{name:`image`,type:`string`,label:`Image URL`},{name:`alt`,type:`string`,label:`Alt Text`},{name:`className`,type:`string`,label:`CSS Class`}],defaultProps:{ratio:16/9}}),t.ComponentRegistry.register(`sidebar-provider`,({schema:e,...t})=>(0,o.jsx)(hi,{...t,children:V(e.body)}),{namespace:`ui`,label:`Sidebar Provider`,inputs:[{name:`defaultOpen`,type:`boolean`,label:`Default Open`,defaultValue:!0}],defaultProps:{defaultOpen:!0},defaultChildren:[{type:`sidebar`},{type:`sidebar-inset`}]}),t.ComponentRegistry.register(`sidebar`,({schema:e,...t})=>(0,o.jsx)(gi,{...t,children:V(e.body)}),{namespace:`ui`,label:`Sidebar`,inputs:[{name:`collapsible`,type:`enum`,enum:[`offcanvas`,`icon`,`none`],defaultValue:`icon`,label:`Collapsible`},{name:`side`,type:`enum`,enum:[`left`,`right`],defaultValue:`left`,label:`Side`},{name:`variant`,type:`enum`,enum:[`sidebar`,`floating`,`inset`],defaultValue:`sidebar`,label:`Variant`}],defaultProps:{collapsible:`icon`,side:`left`,variant:`sidebar`},defaultChildren:[{type:`sidebar-header`},{type:`sidebar-content`},{type:`sidebar-footer`}]}),t.ComponentRegistry.register(`sidebar-header`,({schema:e,...t})=>(0,o.jsx)(xi,{...t,children:V(e.body)}),{namespace:`ui`,label:`Sidebar Header`,defaultChildren:[{type:`text`,content:`Sidebar Header`}]}),t.ComponentRegistry.register(`sidebar-content`,({schema:e,...t})=>(0,o.jsx)(wi,{...t,children:V(e.body)}),{namespace:`ui`,label:`Sidebar Content`,defaultChildren:[{type:`sidebar-group`}]}),t.ComponentRegistry.register(`sidebar-group`,({schema:e,...t})=>(0,o.jsxs)(Ti,{...t,children:[e.label&&(0,o.jsx)(Ei,{children:e.label}),(0,o.jsx)(Oi,{children:V(e.body)})]}),{namespace:`ui`,label:`Sidebar Group`,inputs:[{name:`label`,type:`string`,label:`Label`}],defaultProps:{label:`Menu`},defaultChildren:[{type:`sidebar-menu`}]}),t.ComponentRegistry.register(`sidebar-menu`,({schema:e,...t})=>(0,o.jsx)(ki,{...t,children:V(e.body)}),{namespace:`ui`,label:`Sidebar Menu`,defaultChildren:[{type:`sidebar-menu-item`},{type:`sidebar-menu-item`}]}),t.ComponentRegistry.register(`sidebar-menu-item`,({schema:e,...t})=>(0,o.jsx)(Ai,{...t,children:V(e.body)}),{namespace:`ui`,label:`Sidebar Menu Item`,defaultChildren:[{type:`sidebar-menu-button`}]}),t.ComponentRegistry.register(`sidebar-menu-button`,({schema:e,...t})=>(0,o.jsx)(Mi,{isActive:e.active,...t,children:V(e.body)}),{namespace:`ui`,label:`Sidebar Menu Button`,inputs:[{name:`active`,type:`boolean`,label:`Active`,defaultValue:!1},{name:`size`,type:`enum`,enum:[`default`,`sm`,`lg`],defaultValue:`default`,label:`Size`},{name:`tooltip`,type:`string`,label:`Tooltip`}],defaultProps:{size:`default`},defaultChildren:[{type:`text`,content:`Menu Item`}]}),t.ComponentRegistry.register(`sidebar-footer`,({schema:e,...t})=>(0,o.jsx)(Si,{...t,children:V(e.body)}),{namespace:`ui`,label:`Sidebar Footer`,defaultChildren:[{type:`text`,content:`Footer`}]}),t.ComponentRegistry.register(`sidebar-inset`,({schema:e,...t})=>(0,o.jsx)(yi,{...t,children:V(e.body)}),{namespace:`ui`,label:`Sidebar Inset`,defaultChildren:[{type:`div`,className:`p-4`,body:[{type:`text`,content:`Main content area`}]}]}),t.ComponentRegistry.register(`sidebar-trigger`,({className:e,...t})=>(0,o.jsx)(_i,{className:e,...t}),{namespace:`ui`,label:`Sidebar Trigger`,inputs:[{name:`className`,type:`string`,label:`CSS Class`}]});function ac({crumb:e,isLast:t}){let n=(0,i.resolveI18nLabel)(e.label)??``;return e.siblings&&e.siblings.length>0?(0,o.jsxs)(mn,{children:[(0,o.jsxs)(hn,{className:`flex items-center gap-1`,children:[t?(0,o.jsx)(`span`,{className:`font-semibold`,children:n}):(0,o.jsx)(`span`,{children:n}),(0,o.jsx)(c.ChevronDown,{className:`h-3 w-3`})]}),(0,o.jsx)(Sn,{align:`start`,children:e.siblings.map((e,t)=>(0,o.jsx)(Cn,{asChild:!0,children:(0,o.jsx)(`a`,{href:e.href,children:e.label})},t))})]}):t?(0,o.jsx)(Ge,{children:n}):(0,o.jsx)(We,{href:e.href||`#`,children:n})}t.ComponentRegistry.register(`header-bar`,({schema:e})=>(0,o.jsxs)(`header`,{className:`flex h-14 sm:h-16 shrink-0 items-center gap-2 border-b px-3 sm:px-4`,children:[(0,o.jsx)(_i,{}),(0,o.jsx)(Ur,{orientation:`vertical`,className:`mr-2 h-4`}),(0,o.jsx)(Ve,{children:(0,o.jsx)(He,{children:e.crumbs?.map((t,n)=>(0,o.jsxs)(a.default.Fragment,{children:[(0,o.jsx)(Ue,{children:(0,o.jsx)(ac,{crumb:t,isLast:n===e.crumbs.length-1})}),n<e.crumbs.length-1&&(0,o.jsx)(Ke,{})]},n))})}),(0,o.jsxs)(`div`,{className:`ml-auto flex items-center gap-2`,children:[e.search?.enabled&&(0,o.jsxs)(`div`,{className:`relative`,children:[(0,o.jsx)(c.Search,{className:`absolute left-2.5 top-2.5 h-4 w-4 text-muted-foreground`}),(0,o.jsx)(q,{type:`search`,placeholder:e.search.placeholder,className:`pl-8 w-[200px] lg:w-[300px]`}),e.search.shortcut&&(0,o.jsx)(`kbd`,{className:`pointer-events-none absolute right-2 top-2 hidden h-5 select-none items-center gap-1 rounded border bg-muted px-1.5 font-mono text-[10px] font-medium opacity-100 sm:flex`,children:e.search.shortcut})]}),e.actions?.map((e,t)=>(0,o.jsx)(i.SchemaRenderer,{schema:e},t)),e.rightContent&&(0,o.jsx)(i.SchemaRenderer,{schema:e.rightContent})]})]}),{namespace:`ui`,label:`Header Bar`,inputs:[{name:`crumbs`,type:`array`,label:`Breadcrumbs`},{name:`search`,type:`object`,label:`Search Configuration`},{name:`actions`,type:`array`,label:`Action Slots`},{name:`rightContent`,type:`object`,label:`Right Content`}],defaultProps:{crumbs:[{label:`Home`,href:`#`},{label:`Current Page`}]}}),t.ComponentRegistry.register(`badge`,({schema:e,...t})=>{let{"data-obj-id":n,"data-obj-type":r,style:i,...a}=t;return(0,o.jsx)(Be,{variant:e.variant,className:e.className,...a,"data-obj-id":n,"data-obj-type":r,style:i,children:e.label||V(e.body)})},{namespace:`ui`,label:`Badge`,inputs:[{name:`label`,type:`string`,label:`Label`},{name:`variant`,type:`enum`,enum:[`default`,`secondary`,`destructive`,`outline`],defaultValue:`default`,label:`Variant`},{name:`className`,type:`string`,label:`CSS Class`}],defaultProps:{label:`Badge`,variant:`default`}}),t.ComponentRegistry.register(`avatar`,({schema:e,className:t,...n})=>(0,o.jsxs)(Ie,{className:t,...n,children:[(0,o.jsx)(Le,{src:e.src,alt:e.alt}),(0,o.jsx)(Re,{children:e.fallback})]}),{namespace:`ui`,label:`Avatar`,inputs:[{name:`src`,type:`string`,label:`Image URL`},{name:`alt`,type:`string`,label:`Alt Text`},{name:`fallback`,type:`string`,label:`Fallback Initials`,defaultValue:`CN`},{name:`className`,type:`string`,label:`CSS Class`}],defaultProps:{fallback:`CN`,alt:`Avatar`}}),t.ComponentRegistry.register(`alert`,({schema:e,className:t,...n})=>(0,o.jsxs)(Me,{variant:e.variant,className:t,...n,children:[(0,o.jsx)(Ne,{children:e.title}),(0,o.jsx)(Pe,{children:e.description||V(e.body)})]}),{namespace:`ui`,label:`Alert`,inputs:[{name:`title`,type:`string`,label:`Title`,required:!0},{name:`description`,type:`string`,label:`Description`},{name:`variant`,type:`enum`,enum:[`default`,`destructive`],defaultValue:`default`,label:`Variant`},{name:`className`,type:`string`,label:`CSS Class`}],defaultProps:{title:`Alert Title`,description:`This is an alert message.`,variant:`default`}}),t.ComponentRegistry.register(`list`,({schema:e,className:t,...n})=>{let r=(0,i.useDataScope)(e.bind),a=Array.isArray(r)?r:Array.isArray(e.items)?e.items:[],s=e.ordered?`ol`:`ul`,c=e.ordered?`list-decimal`:`list-disc`;return(0,o.jsxs)(`div`,{className:B(`space-y-2`,e.wrapperClass),children:[e.title&&(0,o.jsx)(`h3`,{className:`text-lg font-semibold tracking-tight`,children:e.title}),(0,o.jsx)(s,{className:B(`ml-6 [&>li]:mt-2`,c,t),...n,children:a.map((e,t)=>(0,o.jsx)(`li`,{className:B(typeof e==`object`&&e.className),children:typeof e==`string`?e:e.content||V(e.body)},t))})]})},{namespace:`ui`,label:`List`,inputs:[{name:`title`,type:`string`,label:`Title`},{name:`ordered`,type:`boolean`,label:`Ordered List (numbered)`,defaultValue:!1},{name:`items`,type:`array`,label:`List Items`,description:`Array of strings or objects with content/body`},{name:`className`,type:`string`,label:`CSS Class`}],defaultProps:{ordered:!1,items:[`First item`,`Second item`,`Third item`],className:`text-sm`}});var oc=({node:e,onNodeClick:t})=>{let[n,r]=(0,a.useState)(!1),i=e.children&&e.children.length>0;return(0,o.jsxs)(`div`,{className:`relative`,children:[(0,o.jsxs)(`div`,{className:B(`group flex items-center py-1.5 px-2 rounded-sm cursor-pointer transition-colors`,`hover:bg-accent hover:text-accent-foreground`,n&&i&&`bg-accent/50`),onClick:()=>{t&&t(e)},children:[i?(0,o.jsx)(`button`,{onClick:e=>{e.stopPropagation(),r(!n)},className:`mr-2 p-0.5 h-5 w-5 flex items-center justify-center rounded-sm hover:bg-muted text-muted-foreground transition-colors`,children:n?(0,o.jsx)(c.ChevronDown,{className:`h-4 w-4`}):(0,o.jsx)(c.ChevronRight,{className:`h-4 w-4`})}):(0,o.jsx)(`span`,{className:`mr-2 w-5 flex justify-center`,children:(0,o.jsx)(`div`,{className:`w-1 h-1 rounded-full bg-muted-foreground/50`})}),e.icon===`folder`||i?n?(0,o.jsx)(c.FolderOpen,{className:`h-4 w-4 mr-2 text-primary`}):(0,o.jsx)(c.Folder,{className:`h-4 w-4 mr-2 text-muted-foreground group-hover:text-primary transition-colors`}):(0,o.jsx)(c.File,{className:`h-4 w-4 mr-2 text-muted-foreground group-hover:text-primary transition-colors`}),(0,o.jsx)(`span`,{className:B(`text-sm transition-colors`,n?`font-medium text-foreground`:`text-muted-foreground group-hover:text-foreground`),children:e.label})]}),i&&n&&(0,o.jsx)(`div`,{className:`relative ml-[11px] pl-3 border-l border-border animate-in slide-in-from-left-2 fade-in duration-200`,children:e.children.map(e=>(0,o.jsx)(oc,{node:e,onNodeClick:t},e.id))})]})};t.ComponentRegistry.register(`tree-view`,({schema:e,className:t,...n})=>{let r=t=>{e.onNodeClick&&e.onNodeClick(t)},a=(0,i.useDataScope)(e.bind)||e.nodes||e.data||[],s=Array.isArray(a)?a:[];return(0,o.jsxs)(`div`,{className:B(`relative border rounded-lg p-3 bg-card text-card-foreground`,t),...n,children:[e.title&&(0,o.jsx)(`div`,{className:`flex items-center gap-2 mb-3 pb-2 border-b`,children:(0,o.jsx)(`h3`,{className:`text-sm font-semibold`,children:e.title})}),(0,o.jsx)(`div`,{className:`space-y-1`,children:s.map(e=>(0,o.jsx)(oc,{node:e,onNodeClick:r},e.id))})]})},{namespace:`ui`,label:`Tree View`,inputs:[{name:`title`,type:`string`,label:`Title`},{name:`nodes`,type:`array`,label:`Tree Nodes`,description:`Array of { id, label, icon, children, data }`},{name:`className`,type:`string`,label:`CSS Class`}],defaultProps:{title:`File Explorer`,nodes:[{id:`1`,label:`Documents`,icon:`folder`,children:[{id:`1-1`,label:`Resume.pdf`,icon:`file`},{id:`1-2`,label:`Cover Letter.docx`,icon:`file`}]},{id:`2`,label:`Photos`,icon:`folder`,children:[{id:`2-1`,label:`Vacation`,icon:`folder`,children:[{id:`2-1-1`,label:`Beach.jpg`,icon:`file`}]},{id:`2-2`,label:`Family.jpg`,icon:`file`}]},{id:`3`,label:`README.md`,icon:`file`}]}});var sc=e=>e?Ps(e):null;t.ComponentRegistry.register(`statistic`,({schema:e})=>{let t=e.icon?sc(e.icon):null;return(0,o.jsxs)(`div`,{className:B(`group relative flex flex-col p-4 sm:p-5 md:p-6 rounded-xl border bg-card text-card-foreground shadow-sm`,e.className),children:[(0,o.jsxs)(`div`,{className:`flex items-center justify-between mb-2`,children:[e.label&&(0,o.jsx)(`p`,{className:`text-sm font-medium text-muted-foreground`,children:e.label}),t&&(0,o.jsx)(t,{className:`h-4 w-4 text-muted-foreground`})]}),(0,o.jsx)(`div`,{className:`flex items-baseline gap-2`,children:(0,o.jsx)(`h3`,{className:`text-2xl font-bold tracking-tight`,children:e.value})}),(e.trend||e.description)&&(0,o.jsxs)(`div`,{className:`mt-1 flex items-center text-xs text-muted-foreground`,children:[e.trend===`up`&&(0,o.jsx)(c.TrendingUp,{className:`mr-1 h-3 w-3 text-emerald-500`}),e.trend===`down`&&(0,o.jsx)(c.TrendingDown,{className:`mr-1 h-3 w-3 text-rose-500`}),e.trend===`neutral`&&(0,o.jsx)(c.Minus,{className:`mr-1 h-3 w-3`}),(0,o.jsx)(`span`,{className:B(e.trend===`up`&&`text-emerald-500 font-medium`,e.trend===`down`&&`text-rose-500 font-medium`),children:e.description})]})]})},{namespace:`ui`,label:`Statistic`,category:`data-display`,icon:`Activity`,inputs:[{name:`label`,type:`string`,label:`Label`},{name:`value`,type:`string`,label:`Value`},{name:`description`,type:`string`,label:`Description`},{name:`trend`,type:`enum`,enum:[{label:`Up`,value:`up`},{label:`Down`,value:`down`},{label:`Neutral`,value:`neutral`}],label:`Trend`}],defaultProps:{label:`Total Revenue`,value:`$45,231.89`,trend:`up`,description:`+20.1% from last month`}}),t.ComponentRegistry.register(`breadcrumb`,({schema:e,...t})=>{let{"data-obj-id":n,"data-obj-type":r,style:a,...s}=t;return(0,o.jsx)(Ve,{className:e.className,...s,"data-obj-id":n,"data-obj-type":r,style:a,children:(0,o.jsx)(He,{children:e.items?.map((t,n)=>(0,o.jsxs)(`div`,{className:`flex items-center`,children:[(0,o.jsx)(Ue,{children:n===(e.items?.length||0)-1?(0,o.jsx)(Ge,{children:(0,i.resolveI18nLabel)(t.label)??``}):(0,o.jsx)(We,{href:t.href,children:(0,i.resolveI18nLabel)(t.label)??``})}),n<(e.items?.length||0)-1&&(0,o.jsx)(Ke,{})]},n))})})},{namespace:`ui`,label:`Breadcrumb`,inputs:[{name:`className`,type:`string`,label:`CSS Class`}],defaultProps:{items:[{label:`Home`,href:`/`},{label:`Products`,href:`/products`},{label:`Product`}]}}),t.ComponentRegistry.register(`kbd`,({schema:e,...t})=>{let{"data-obj-id":n,"data-obj-type":r,style:i,...a}=t,s=Array.isArray(e.keys)?e.keys:[e.keys||e.label||`K`];return(0,o.jsx)(`div`,{className:B(`inline-flex flex-wrap gap-1`,e.className),children:s.map((e,t)=>(0,o.jsx)(`kbd`,{className:`pointer-events-none inline-flex h-5 select-none items-center gap-1 rounded border bg-muted px-1.5 font-mono text-[10px] font-medium text-muted-foreground opacity-100`,...a,...t===0?{"data-obj-id":n,"data-obj-type":r,style:i}:{},children:e},t))})},{namespace:`ui`,label:`Keyboard Key`,inputs:[{name:`label`,type:`string`,label:`Label`},{name:`className`,type:`string`,label:`CSS Class`}],defaultProps:{label:`K`}}),t.ComponentRegistry.register(`table`,({schema:e,className:t})=>{let n=(0,i.useDataScope)(e.bind)||e.data||e.props?.data||[],r=Array.isArray(e.columns)?e.columns:Array.isArray(e.props?.columns)?e.props.columns:[];if(n&&!Array.isArray(n))return(0,o.jsx)(`div`,{className:`text-red-500 p-2 border border-red-200 bg-red-50 rounded text-sm`,children:`Table data must be an array`});let a=Array.isArray(n)?n:[];return(0,o.jsx)(`div`,{className:B(`rounded-md border`,t),children:(0,o.jsxs)(Hi,{children:[(0,o.jsx)(Ui,{children:(0,o.jsx)(Ki,{children:r.map((e,t)=>(0,o.jsx)(qi,{children:e.label||e.header},e.key||e.accessorKey||t))})}),(0,o.jsx)(Wi,{children:a.length===0?(0,o.jsx)(Ki,{children:(0,o.jsx)(Ji,{colSpan:r.length,className:`h-24 text-center`,children:`No results.`})}):a.map((e,t)=>(0,o.jsx)(Ki,{children:r.map((t,n)=>{let r=t.key||t.accessorKey||``,i=r?e[r]:``;return(0,o.jsx)(Ji,{children:typeof i==`object`&&i?String(i):i},t.key||t.accessorKey||n)})},e.id||t))})]})})},{namespace:`ui`}),t.ComponentRegistry.register(`progress`,({schema:e,className:t,...n})=>(0,o.jsx)(Or,{value:e.value,className:t,...n}),{namespace:`ui`,label:`Progress`,inputs:[{name:`value`,type:`number`,label:`Value`,defaultValue:0},{name:`className`,type:`string`,label:`CSS Class`}],defaultProps:{value:50,className:`w-full`}}),t.ComponentRegistry.register(`skeleton`,({schema:e,className:t,...n})=>(0,o.jsx)(Z,{className:t,...n,style:{width:e.width,height:e.height}}),{namespace:`ui`,label:`Skeleton`,inputs:[{name:`width`,type:`string`,label:`Width`},{name:`height`,type:`string`,label:`Height`},{name:`className`,type:`string`,label:`CSS Class`}],defaultProps:{width:`100%`,height:`20px`,className:`rounded-md`}}),t.ComponentRegistry.register(`toaster`,()=>(0,o.jsx)(Bi,{}),{namespace:`ui`,label:`Toaster`,inputs:[],defaultProps:{}}),t.ComponentRegistry.register(`loading`,({schema:e,className:t,...n})=>{let r=e.size||`md`,i=e.fullscreen||!1,a=(0,o.jsxs)(`div`,{className:B(`flex flex-col items-center justify-center gap-2`,t),children:[(0,o.jsx)(Lo,{className:B(r===`sm`&&`h-4 w-4`,r===`md`&&`h-8 w-8`,r===`lg`&&`h-12 w-12`,r===`xl`&&`h-16 w-16`)}),e.text&&(0,o.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:e.text})]});return i?(0,o.jsx)(`div`,{className:`fixed inset-0 z-50 flex items-center justify-center bg-background/80 backdrop-blur-sm`,...n,children:a}):(0,o.jsx)(`div`,{className:`flex items-center justify-center p-8`,...n,children:a})},{namespace:`ui`,label:`Loading`,inputs:[{name:`text`,type:`string`,label:`Loading Text`},{name:`size`,type:`enum`,enum:[`sm`,`md`,`lg`,`xl`],label:`Size`,defaultValue:`md`},{name:`fullscreen`,type:`boolean`,label:`Fullscreen Overlay`,defaultValue:!1},{name:`className`,type:`string`,label:`CSS Class`}],defaultProps:{text:`Loading...`,size:`md`,fullscreen:!1}}),t.ComponentRegistry.register(`toast`,({schema:e})=>(0,o.jsx)(W,{onClick:()=>{(e.variant===`success`?F.toast.success:e.variant===`error`?F.toast.error:e.variant===`warning`?F.toast.warning:e.variant===`info`?F.toast.info:F.toast)(e.title||`Notification`,{description:e.description,duration:e.duration})},variant:e.buttonVariant,className:e.className,children:e.buttonLabel||`Show Toast`}),{namespace:`ui`,label:`Toast`,inputs:[{name:`title`,type:`string`,label:`Title`},{name:`description`,type:`string`,label:`Description`},{name:`variant`,type:`enum`,enum:[`default`,`success`,`warning`,`error`,`info`],defaultValue:`default`,label:`Variant`},{name:`duration`,type:`number`,label:`Duration (ms)`},{name:`buttonLabel`,type:`string`,label:`Button Label`},{name:`className`,type:`string`,label:`CSS Class`}],defaultProps:{title:`Notification`,buttonLabel:`Show Toast`,variant:`default`,duration:5e3}}),t.ComponentRegistry.register(`spinner`,({schema:e,...t})=>{let{"data-obj-id":n,"data-obj-type":r,style:i,...a}=t;return(0,o.jsx)(c.Loader2,{className:B(`animate-spin`,{sm:`h-4 w-4`,md:`h-6 w-6`,lg:`h-8 w-8`,xl:`h-12 w-12`}[e.size||`md`],e.className),...a,"data-obj-id":n,"data-obj-type":r,style:i})},{namespace:`ui`,label:`Spinner`,inputs:[{name:`size`,type:`enum`,enum:[`sm`,`md`,`lg`,`xl`],defaultValue:`md`,label:`Size`},{name:`className`,type:`string`,label:`CSS Class`}],defaultProps:{size:`md`}}),t.ComponentRegistry.register(`empty`,({schema:e,...t})=>{let{"data-obj-id":n,"data-obj-type":r,style:a,action:s,icon:c,...l}=t,u=e.action,d=u&&typeof u==`object`?(0,o.jsx)(i.SchemaRenderer,{schema:u}):void 0;return(0,o.jsx)(ns,{title:e.title||`No data`,description:e.description,className:e.className,action:d,...l,"data-obj-id":n,"data-obj-type":r,style:a})},{namespace:`ui`,label:`Empty`,inputs:[{name:`title`,type:`string`,label:`Title`,defaultValue:`No data`},{name:`description`,type:`string`,label:`Description`},{name:`className`,type:`string`,label:`CSS Class`}],defaultProps:{title:`No data`}}),t.ComponentRegistry.register(`sonner`,({schema:e,...t})=>(0,o.jsx)(W,{onClick:()=>{(e.variant===`success`?F.toast.success:e.variant===`error`?F.toast.error:e.variant===`warning`?F.toast.warning:e.variant===`info`?F.toast.info:F.toast)(e.message||e.title||`Notification`,{description:e.description})},variant:e.buttonVariant,className:e.className,...t,children:e.buttonLabel||`Show Toast`}),{namespace:`ui`,label:`Sonner Toast`,inputs:[{name:`message`,type:`string`,label:`Message`},{name:`description`,type:`string`,label:`Description`},{name:`variant`,type:`enum`,enum:[`default`,`success`,`error`,`warning`,`info`],defaultValue:`default`,label:`Variant`},{name:`buttonLabel`,type:`string`,label:`Button Label`},{name:`className`,type:`string`,label:`CSS Class`}],defaultProps:{message:`Notification`,buttonLabel:`Show Toast`,variant:`default`}}),t.ComponentRegistry.register(`dialog`,({schema:e,className:t,...n})=>(0,o.jsxs)(Ct,{modal:e.modal,defaultOpen:e.defaultOpen,...n,children:[(0,o.jsx)(wt,{asChild:!0,children:V(e.trigger)}),(0,o.jsxs)(Ot,{className:t,children:[(0,o.jsxs)(kt,{children:[e.title&&(0,o.jsx)(jt,{children:e.title}),e.description&&(0,o.jsx)(Mt,{children:e.description})]}),V(e.content),e.footer&&(0,o.jsx)(At,{children:V(e.footer)})]})]}),{namespace:`ui`,label:`Dialog`,inputs:[{name:`title`,type:`string`,label:`Title`},{name:`description`,type:`string`,label:`Description`},{name:`modal`,type:`boolean`,label:`Modal`,defaultValue:!0},{name:`defaultOpen`,type:`boolean`,label:`Default Open`},{name:`trigger`,type:`slot`,label:`Trigger`,description:`Element that opens the dialog`},{name:`content`,type:`slot`,label:`Content`,description:`Main content of the dialog`},{name:`footer`,type:`slot`,label:`Footer`},{name:`className`,type:`string`,label:`Content CSS Class`}],defaultProps:{title:`Dialog Title`,description:`Dialog description goes here`,modal:!0,trigger:[{type:`button`,label:`Open Dialog`}],content:[{type:`text`,content:`Dialog content goes here`}]}}),t.ComponentRegistry.register(`sheet`,({schema:e,className:t,...n})=>(0,o.jsxs)(Wr,{modal:e.modal,defaultOpen:e.defaultOpen,...n,children:[(0,o.jsx)(Gr,{asChild:!0,children:V(e.trigger)}),(0,o.jsxs)(Xr,{side:e.side||`right`,className:t,children:[(0,o.jsxs)(Zr,{children:[e.title&&(0,o.jsx)($r,{children:e.title}),e.description&&(0,o.jsx)(ei,{children:e.description})]}),V(e.content),e.footer&&(0,o.jsx)(Qr,{children:V(e.footer)})]})]}),{namespace:`ui`,label:`Sheet`,inputs:[{name:`title`,type:`string`,label:`Title`},{name:`description`,type:`string`,label:`Description`},{name:`side`,type:`enum`,enum:[`top`,`right`,`bottom`,`left`],defaultValue:`right`,label:`Side`},{name:`modal`,type:`boolean`,label:`Modal`,defaultValue:!0},{name:`defaultOpen`,type:`boolean`,label:`Default Open`},{name:`trigger`,type:`slot`,label:`Trigger`},{name:`content`,type:`slot`,label:`Content`},{name:`footer`,type:`slot`,label:`Footer`},{name:`className`,type:`string`,label:`Content CSS Class`}],defaultProps:{title:`Sheet Title`,description:`Sheet description`,side:`right`,modal:!0,trigger:[{type:`button`,label:`Open Sheet`}],content:[{type:`text`,content:`Sheet content goes here`}]}}),t.ComponentRegistry.register(`popover`,({schema:e,className:t,...n})=>(0,o.jsxs)(Tr,{modal:e.modal,defaultOpen:e.defaultOpen,...n,children:[(0,o.jsx)(Er,{asChild:!0,children:V(e.trigger)}),(0,o.jsx)(Dr,{align:e.align,side:e.side,className:t,children:V(e.content)})]}),{namespace:`ui`,label:`Popover`,inputs:[{name:`modal`,type:`boolean`,label:`Modal`},{name:`defaultOpen`,type:`boolean`,label:`Default Open`},{name:`align`,type:`enum`,enum:[`start`,`center`,`end`],label:`Align`},{name:`side`,type:`enum`,enum:[`top`,`right`,`bottom`,`left`],label:`Side`},{name:`trigger`,type:`slot`,label:`Trigger`},{name:`content`,type:`slot`,label:`Content`},{name:`className`,type:`string`,label:`Content CSS Class`}],defaultProps:{trigger:[{type:`button`,label:`Open Popover`,variant:`outline`}],content:[{type:`text`,content:`Popover content goes here`}],align:`center`,side:`bottom`}}),t.ComponentRegistry.register(`tooltip`,({schema:e,className:t,...n})=>(0,o.jsx)(ri,{delayDuration:e.delayDuration,children:(0,o.jsxs)(ii,{...n,children:[(0,o.jsx)(ai,{asChild:!0,children:V(e.trigger)}),(0,o.jsx)(oi,{side:e.side,align:e.align,className:t,children:e.content||V(e.body)})]})}),{namespace:`ui`,label:`Tooltip`,inputs:[{name:`delayDuration`,type:`number`,label:`Delay Duration`,defaultValue:700},{name:`side`,type:`enum`,enum:[`top`,`right`,`bottom`,`left`],label:`Side`},{name:`align`,type:`enum`,enum:[`start`,`center`,`end`],label:`Align`},{name:`trigger`,type:`slot`,label:`Trigger`},{name:`content`,type:`string`,label:`Content Text`},{name:`body`,type:`slot`,label:`Rich Content`},{name:`className`,type:`string`,label:`Content CSS Class`}],defaultProps:{trigger:[{type:`button`,label:`Hover me`,variant:`outline`}],content:`Tooltip content`,delayDuration:700,side:`top`}}),t.ComponentRegistry.register(`alert-dialog`,({schema:e,className:t,...n})=>(0,o.jsxs)(xe,{defaultOpen:e.defaultOpen,...n,children:[(0,o.jsx)(Se,{asChild:!0,children:V(e.trigger)}),(0,o.jsxs)(Te,{className:t,children:[(0,o.jsxs)(Ee,{children:[e.title&&(0,o.jsx)(De,{children:e.title}),e.description&&(0,o.jsx)(Oe,{children:e.description})]}),V(e.content),(0,o.jsxs)(G,{children:[e.cancelText&&(0,o.jsx)(Ae,{children:e.cancelText}),e.actionText&&(0,o.jsx)(ke,{onClick:e.onAction,children:e.actionText})]})]})]}),{namespace:`ui`,label:`Alert Dialog`,inputs:[{name:`title`,type:`string`,label:`Title`},{name:`description`,type:`string`,label:`Description`},{name:`cancelText`,type:`string`,label:`Cancel Text`,defaultValue:`Cancel`},{name:`actionText`,type:`string`,label:`Action Text`,defaultValue:`Continue`},{name:`defaultOpen`,type:`boolean`,label:`Default Open`},{name:`trigger`,type:`slot`,label:`Trigger`},{name:`content`,type:`slot`,label:`Content/Body`},{name:`className`,type:`string`,label:`Content CSS Class`}],defaultProps:{title:`Are you sure?`,description:`This action cannot be undone.`,cancelText:`Cancel`,actionText:`Continue`,trigger:[{type:`button`,label:`Open Alert`,variant:`destructive`}]}}),t.ComponentRegistry.register(`drawer`,({schema:e,className:t,...n})=>(0,o.jsxs)(rn,{shouldScaleBackground:e.shouldScaleBackground,defaultOpen:e.defaultOpen,...n,children:[(0,o.jsx)(an,{asChild:!0,children:V(e.trigger)}),(0,o.jsxs)(ln,{className:t,children:[(0,o.jsxs)(un,{children:[e.title&&(0,o.jsx)(fn,{children:e.title}),e.description&&(0,o.jsx)(pn,{children:e.description})]}),V(e.content),e.footer&&(0,o.jsxs)(dn,{children:[V(e.footer),e.showClose&&(0,o.jsx)(sn,{asChild:!0,children:(0,o.jsx)(`button`,{children:`Close`})})]})]})]}),{namespace:`ui`,label:`Drawer`,inputs:[{name:`title`,type:`string`,label:`Title`},{name:`description`,type:`string`,label:`Description`},{name:`shouldScaleBackground`,type:`boolean`,label:`Scale Background`},{name:`defaultOpen`,type:`boolean`,label:`Default Open`},{name:`showClose`,type:`boolean`,label:`Show Close Button in Footer`},{name:`trigger`,type:`slot`,label:`Trigger`},{name:`content`,type:`slot`,label:`Content`},{name:`footer`,type:`slot`,label:`Footer`},{name:`className`,type:`string`,label:`Content CSS Class`}],defaultProps:{title:`Drawer Title`,description:`Drawer description`,trigger:[{type:`button`,label:`Open Drawer`}],content:[{type:`text`,content:`Drawer content goes here`}]}}),t.ComponentRegistry.register(`hover-card`,({schema:e,className:t,...n})=>(0,o.jsxs)(Bn,{openDelay:e.openDelay,closeDelay:e.closeDelay,...n,children:[(0,o.jsx)(Vn,{asChild:!0,children:V(e.trigger)}),(0,o.jsx)(Hn,{align:e.align,side:e.side,className:t,children:V(e.content)})]}),{namespace:`ui`,label:`Hover Card`,inputs:[{name:`openDelay`,type:`number`,label:`Open Delay`},{name:`closeDelay`,type:`number`,label:`Close Delay`},{name:`side`,type:`enum`,enum:[`top`,`right`,`bottom`,`left`],label:`Side`},{name:`align`,type:`enum`,enum:[`start`,`center`,`end`],label:`Align`},{name:`trigger`,type:`slot`,label:`Trigger`},{name:`content`,type:`slot`,label:`Content`},{name:`className`,type:`string`,label:`Content CSS Class`}],defaultProps:{trigger:[{type:`button`,label:`Hover me`,variant:`link`}],content:[{type:`text`,content:`Hover card content appears on hover`}],side:`top`}});var cc=e=>e?e.map((e,t)=>e.type===`separator`?(0,o.jsx)(Dn,{},t):e.type===`label`?(0,o.jsx)(En,{children:e.label},t):e.children?(0,o.jsxs)(vn,{children:[(0,o.jsxs)(bn,{inset:e.inset,children:[e.icon&&(0,o.jsx)(`span`,{className:`mr-2`,children:e.icon}),e.label]}),(0,o.jsx)(xn,{children:cc(e.children)})]},t):(0,o.jsxs)(Cn,{disabled:e.disabled,inset:e.inset,onSelect:e.onSelect,children:[e.icon&&(0,o.jsx)(`span`,{className:`mr-2`,children:e.icon}),e.label,e.shortcut&&(0,o.jsx)(`span`,{className:`ml-auto text-xs tracking-widest opacity-60`,children:e.shortcut})]},t)):null;t.ComponentRegistry.register(`dropdown-menu`,({schema:e,className:t,...n})=>(0,o.jsxs)(mn,{modal:e.modal,defaultOpen:e.defaultOpen,...n,children:[(0,o.jsx)(hn,{asChild:!0,children:V(e.trigger)}),(0,o.jsxs)(Sn,{align:e.align,side:e.side,className:t,children:[e.label&&(0,o.jsx)(En,{children:e.label}),e.label&&(0,o.jsx)(Dn,{}),cc(e.items)]})]}),{namespace:`ui`,label:`Dropdown Menu`,inputs:[{name:`label`,type:`string`,label:`Menu Label`},{name:`side`,type:`enum`,enum:[`top`,`right`,`bottom`,`left`],label:`Side`},{name:`align`,type:`enum`,enum:[`start`,`center`,`end`],label:`Align`},{name:`trigger`,type:`slot`,label:`Trigger`},{name:`items`,type:`array`,label:`Items`,description:`Recursive structure: { type?: "separator"|"label", label, icon, shortcut, disabled, children: [] }`},{name:`className`,type:`string`,label:`Content CSS Class`}],defaultProps:{trigger:[{type:`button`,label:`Menu`,variant:`outline`}],items:[{label:`Item 1`},{label:`Item 2`},{type:`separator`},{label:`Item 3`}],align:`start`,side:`bottom`}});var lc=e=>e?e.map((e,t)=>e.type===`separator`?(0,o.jsx)(tn,{},t):e.type===`label`?(0,o.jsx)(en,{children:e.label},t):e.children?(0,o.jsxs)(Kt,{children:[(0,o.jsx)(Jt,{inset:e.inset,children:e.label}),(0,o.jsx)(Yt,{children:lc(e.children)})]},t):(0,o.jsxs)(Zt,{disabled:e.disabled,inset:e.inset,onSelect:e.onSelect,children:[e.label,e.shortcut&&(0,o.jsx)(nn,{children:e.shortcut})]},t)):null;t.ComponentRegistry.register(`context-menu`,({schema:e,className:t,...n})=>{let r=e.triggerClassName||t||e.className||`h-[120px] w-full sm:h-[150px] sm:w-[300px] border border-dashed text-sm flex items-center justify-center`,i=e.contentClassName;return(0,o.jsxs)(Ht,{modal:e.modal,...n,children:[(0,o.jsx)(Ut,{asChild:!0,children:(0,o.jsx)(`div`,{className:r,children:V(e.trigger||{type:`text`,value:`Right click here`})})}),(0,o.jsx)(Xt,{className:i,children:lc(e.items)})]})},{namespace:`ui`,label:`Context Menu`,inputs:[{name:`trigger`,type:`slot`,label:`Trigger Area`},{name:`triggerClassName`,type:`string`,label:`Trigger Area Class`},{name:`items`,type:`array`,label:`Items`,description:`Recursive structure: { type?: "separator"|"label", label, shortcut, children }`},{name:`className`,type:`string`,label:`Content CSS Class`}],defaultProps:{items:[{label:`Action 1`},{label:`Action 2`},{type:`separator`},{label:`Action 3`}],trigger:[{type:`text`,content:`Right click here`}]}}),t.ComponentRegistry.register(`menubar`,({schema:e,...t})=>{let{"data-obj-id":n,"data-obj-type":r,style:i,...a}=t;return(0,o.jsx)(Qn,{className:e.className,...a,"data-obj-id":n,"data-obj-type":r,style:i,children:e.menus?.map((e,t)=>(0,o.jsxs)(qn,{children:[(0,o.jsx)($n,{children:e.label}),(0,o.jsx)(nr,{children:e.items?.map((e,t)=>e.separator?(0,o.jsx)(sr,{},t):e.children?(0,o.jsxs)(Zn,{children:[(0,o.jsx)(er,{children:e.label}),(0,o.jsx)(tr,{children:e.children.map((e,t)=>(0,o.jsx)(rr,{children:e.label},t))})]},t):(0,o.jsx)(rr,{disabled:e.disabled,children:e.label},t))})]},t))})},{namespace:`ui`,label:`Menubar`,inputs:[{name:`className`,type:`string`,label:`CSS Class`}],defaultProps:{menus:[{label:`File`,items:[{label:`New`},{label:`Open`},{separator:!0},{label:`Exit`}]}]}}),t.ComponentRegistry.register(`accordion`,({schema:e,className:t,...n})=>(0,o.jsx)(H,{type:e.accordionType||`single`,collapsible:e.collapsible,className:t,...n,children:e.items?.map((e,t)=>(0,o.jsxs)(ve,{value:e.value||`item-${t}`,children:[(0,o.jsx)(ye,{children:e.title}),(0,o.jsx)(be,{children:V(e.content)})]},e.value||t))}),{namespace:`ui`,label:`Accordion`,inputs:[{name:`accordionType`,type:`enum`,enum:[`single`,`multiple`],defaultValue:`single`,label:`Type`},{name:`collapsible`,type:`boolean`,label:`Collapsible (for single type)`},{name:`items`,type:`array`,label:`Items`,description:`Array of { trigger, content, value }`},{name:`className`,type:`string`,label:`CSS Class`}],defaultProps:{accordionType:`single`,collapsible:!0,items:[{label:`Item 1`,value:`item-1`,content:[{type:`text`,content:`Content for item 1`}]},{label:`Item 2`,value:`item-2`,content:[{type:`text`,content:`Content for item 2`}]},{label:`Item 3`,value:`item-3`,content:[{type:`text`,content:`Content for item 3`}]}],className:`w-full`}}),t.ComponentRegistry.register(`collapsible`,({schema:e,className:t,...n})=>(0,o.jsxs)(bt,{defaultOpen:e.defaultOpen,disabled:e.disabled,className:t,...n,children:[(0,o.jsx)(xt,{asChild:!0,children:V(e.trigger)}),(0,o.jsx)(St,{children:V(e.content)})]}),{namespace:`ui`,label:`Collapsible`,inputs:[{name:`defaultOpen`,type:`boolean`,label:`Default Open`},{name:`disabled`,type:`boolean`,label:`Disabled`},{name:`trigger`,type:`slot`,label:`Trigger`},{name:`content`,type:`slot`,label:`Content`},{name:`className`,type:`string`,label:`CSS Class`}],defaultProps:{trigger:[{type:`button`,label:`Toggle`,variant:`outline`}],content:[{type:`text`,content:`Collapsible content goes here`}],className:`w-full`}}),t.ComponentRegistry.register(`toggle-group`,({schema:e,...t})=>{let{"data-obj-id":n,"data-obj-type":r,style:i,type:a,...s}=t;return(0,o.jsx)(ia,{type:e.selectionType||`single`,variant:e.variant,size:e.size,value:e.value,className:e.className,...s,"data-obj-id":n,"data-obj-type":r,style:i,children:e.items?.map((e,t)=>(0,o.jsx)(aa,{value:e.value,"aria-label":e.label,children:e.label},t))})},{namespace:`ui`,label:`Toggle Group`,inputs:[{name:`selectionType`,type:`enum`,enum:[`single`,`multiple`],defaultValue:`single`,label:`Selection Type`},{name:`variant`,type:`enum`,enum:[`default`,`outline`],defaultValue:`default`,label:`Variant`},{name:`size`,type:`enum`,enum:[`default`,`sm`,`lg`],defaultValue:`default`,label:`Size`},{name:`className`,type:`string`,label:`CSS Class`}],defaultProps:{selectionType:`single`,variant:`default`,size:`default`,items:[{value:`bold`,label:`Bold`},{value:`italic`,label:`Italic`},{value:`underline`,label:`Underline`}]}}),t.ComponentRegistry.register(`carousel`,({schema:e,className:t,...n})=>(0,o.jsxs)(it,{opts:e.opts,orientation:e.orientation||`horizontal`,className:t,...n,children:[(0,o.jsx)(at,{children:e.items?.map((t,n)=>(0,o.jsx)(ot,{className:e.itemClassName,children:V(t)},n))}),e.showArrows&&(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(st,{}),(0,o.jsx)(ct,{})]})]}),{namespace:`ui`,label:`Carousel`,inputs:[{name:`orientation`,type:`enum`,enum:[`horizontal`,`vertical`],defaultValue:`horizontal`,label:`Orientation`},{name:`showArrows`,type:`boolean`,label:`Show Arrows`,defaultValue:!0},{name:`items`,type:`array`,label:`Items`,description:`Array of content schemas`},{name:`itemClassName`,type:`string`,label:`Item CSS Class`},{name:`className`,type:`string`,label:`Container CSS Class`}],defaultProps:{orientation:`horizontal`,showArrows:!0,items:[[{type:`div`,className:`p-4 sm:p-6 md:p-8 border rounded bg-slate-50`,body:[{type:`text`,content:`Slide 1`}]}],[{type:`div`,className:`p-4 sm:p-6 md:p-8 border rounded bg-slate-50`,body:[{type:`text`,content:`Slide 2`}]}],[{type:`div`,className:`p-4 sm:p-6 md:p-8 border rounded bg-slate-50`,body:[{type:`text`,content:`Slide 3`}]}]],className:`w-full max-w-xs`}}),t.ComponentRegistry.register(`filter-builder`,({schema:e,className:t,onChange:n,...r})=>(0,o.jsxs)(`div`,{className:e.wrapperClass||``,children:[e.label&&(0,o.jsx)(`label`,{className:`text-sm font-medium mb-2 block`,children:e.label}),(0,o.jsx)(Xa,{fields:e.fields||[],value:e.value||r.value,onChange:t=>{n&&n({target:{name:e.name,value:t}})},className:t,...r})]}),{namespace:`ui`,label:`Filter Builder`,inputs:[{name:`label`,type:`string`,label:`Label`},{name:`name`,type:`string`,label:`Name`,required:!0},{name:`fields`,type:`array`,label:`Fields`,description:`Array of { value: string, label: string, type?: string } objects`,required:!0},{name:`value`,type:`object`,label:`Initial Value`,description:`FilterGroup object with conditions`}],defaultProps:{label:`Filters`,name:`filters`,fields:[{value:`name`,label:`Name`,type:`text`},{value:`email`,label:`Email`,type:`text`},{value:`age`,label:`Age`,type:`number`},{value:`status`,label:`Status`,type:`text`}],value:{id:`root`,logic:`and`,conditions:[]}}}),t.ComponentRegistry.register(`scroll-area`,({schema:e,className:t,...n})=>{let{"data-obj-id":r,"data-obj-type":i,style:a,...s}=n,c=e.orientation||`vertical`;return(0,o.jsxs)(Pr,{className:t,style:{height:e.height,width:e.width,...a},...s,"data-obj-id":r,"data-obj-type":i,children:[V(e.children),(c===`horizontal`||c===`both`)&&(0,o.jsx)(Fr,{orientation:`horizontal`}),(c===`vertical`||c===`both`)&&(0,o.jsx)(Fr,{orientation:`vertical`})]})},{namespace:`ui`,label:`Scroll Area`,inputs:[{name:`height`,type:`string`,label:`Height (e.g. 200px)`},{name:`width`,type:`string`,label:`Width`},{name:`orientation`,type:`enum`,enum:[`vertical`,`horizontal`,`both`],defaultValue:`vertical`,label:`Orientation`},{name:`className`,type:`string`,label:`CSS Class`}],defaultProps:{height:`200px`,width:`100%`,orientation:`vertical`,children:[{type:`div`,className:`p-4`,body:[{type:`text`,content:`Scrollable content goes here. Add more content to see scrolling behavior.`}]}],className:`rounded-md border`}}),t.ComponentRegistry.register(`resizable`,({schema:e,className:t,...n})=>{let r=Array.isArray(e.panels)?e.panels:[];return(0,o.jsx)(jr,{orientation:e.direction||`horizontal`,className:t,...n,style:{minHeight:e.minHeight||`200px`},children:r.map((t,n)=>(0,o.jsxs)(a.default.Fragment,{children:[(0,o.jsx)(Mr,{defaultSize:t.defaultSize,minSize:t.minSize,maxSize:t.maxSize,children:V(t.content)}),n<r.length-1&&(0,o.jsx)(Nr,{withHandle:e.withHandle})]},n))})},{namespace:`ui`,label:`Resizable Panel Group`,inputs:[{name:`direction`,type:`enum`,enum:[`horizontal`,`vertical`],defaultValue:`horizontal`,label:`Direction`},{name:`minHeight`,type:`string`,label:`Min Height`},{name:`withHandle`,type:`boolean`,label:`Show Handle Icon`,defaultValue:!0},{name:`panels`,type:`array`,label:`Panels`,description:`Array of { defaultSize, minSize, maxSize, content }`},{name:`className`,type:`string`,label:`CSS Class`}],defaultProps:{direction:`horizontal`,minHeight:`200px`,withHandle:!0,panels:[{defaultSize:50,content:[{type:`div`,className:`p-4`,body:[{type:`text`,content:`Panel 1`}]}]},{defaultSize:50,content:[{type:`div`,className:`p-4`,body:[{type:`text`,content:`Panel 2`}]}]}],className:`rounded-lg border`}}),t.ComponentRegistry.register(`table`,({schema:e,className:t,...n})=>(0,o.jsxs)(Hi,{className:t,...n,children:[e.caption&&(0,o.jsx)(Yi,{children:e.caption}),(0,o.jsx)(Ui,{children:(0,o.jsx)(Ki,{children:e.columns?.map((e,t)=>(0,o.jsx)(qi,{className:e.className,style:{width:e.width},children:e.header||e.label},t))})}),(0,o.jsx)(Wi,{children:e.data?.map((t,n)=>(0,o.jsx)(Ki,{children:e.columns?.map((e,n)=>(0,o.jsx)(Ji,{className:e.cellClassName,children:t[e.accessorKey||e.name]},n))},n))}),e.footer&&(0,o.jsx)(Gi,{children:(0,o.jsx)(Ki,{children:(0,o.jsx)(Ji,{colSpan:e.columns?.length,children:typeof e.footer==`string`?e.footer:V(e.footer)})})})]}),{namespace:`ui`,label:`Table`,inputs:[{name:`caption`,type:`string`,label:`Caption`},{name:`footer`,type:`string`,label:`Footer Content`},{name:`columns`,type:`array`,label:`Columns`,description:`Array of { header, accessorKey, className, width }`},{name:`data`,type:`array`,label:`Data`,description:`Array of objects`},{name:`className`,type:`string`,label:`CSS Class`}],defaultProps:{caption:`Table Caption`,columns:[{header:`Column 1`,accessorKey:`col1`},{header:`Column 2`,accessorKey:`col2`},{header:`Column 3`,accessorKey:`col3`}],data:[{col1:`Row 1, Col 1`,col2:`Row 1, Col 2`,col3:`Row 1, Col 3`},{col1:`Row 2, Col 1`,col2:`Row 2, Col 2`,col3:`Row 2, Col 3`},{col1:`Row 3, Col 1`,col2:`Row 3, Col 2`,col3:`Row 3, Col 3`}]}});var uc={"table.rowsPerPage":`Rows per page`,"table.pageInfo":`Page {{current}} of {{total}}`,"table.totalRecords":`{{count}} total`,"table.noResults":`No results found`,"table.noResultsHint":`Try adjusting your filters or search query.`,"table.sortAsc":`Sort ascending`,"table.sortDesc":`Sort descending`,"table.hideColumn":`Hide column`,"table.cancelAll":`Cancel All`,"table.saveAll":`Save All ({{count}})`,"table.exportCSV":`Export CSV`,"table.addRecord":`Add record`,"table.open":`Open`,"table.search":`Search...`,"table.modified":`{{count}} row modified`,"table.selected":`{{count}} selected`,"table.edit":`Edit`,"table.delete":`Delete`,"common.actions":`Actions`};function dc(){try{let e=(0,i.useObjectTranslation)();return e.t(`table.rowsPerPage`)===`table.rowsPerPage`?{t:(e,t)=>{let n=uc[e]||e;if(t)for(let[e,r]of Object.entries(t))n=n.replace(`{{${e}}}`,String(r));return n},language:e.language||`en`}:{t:e.t,language:e.language||`en`}}catch{return{t:(e,t)=>{let n=uc[e]||e;if(t)for(let[e,r]of Object.entries(t))n=n.replace(`{{${e}}}`,String(r));return n},language:`en`}}}t.ComponentRegistry.register(`data-table`,({schema:e})=>{let{caption:n,columns:r=[],data:i=[],pagination:s=!0,pageSize:l=10,searchable:u=!0,selectable:d=!1,sortable:f=!0,exportable:p=!1,rowActions:m=!1,resizableColumns:h=!0,reorderableColumns:g=!0,editable:_=!1,singleClickEdit:v=!1,selectionStyle:y=`always`,rowClassName:b,rowStyle:x,className:S,cellClassName:C,frozenColumns:w=0,showRowNumbers:T=!1,showAddRow:E=!1,borderless:D=!1}=e,{t:O,language:k}=dc(),A=/^\d{4}-\d{2}-\d{2}(?:T\d{2}:\d{2}(?::\d{2}(?:\.\d+)?)?(?:Z|[+-]\d{2}:?\d{2})?)?$/,ee=a.default.useCallback(e=>{if(typeof e!=`string`||e.length<8||!A.test(e))return e;let t=Date.parse(e);if(Number.isNaN(t))return e;let n=e.includes(`T`);try{return new Intl.DateTimeFormat(k,n?{year:`numeric`,month:`short`,day:`numeric`,hour:`2-digit`,minute:`2-digit`}:{year:`numeric`,month:`short`,day:`numeric`}).format(new Date(t))}catch{return e}},[k]),j=Array.isArray(i)?i:[],te=(0,a.useMemo)(()=>r.map(e=>({...e,header:e.header||e.label,accessorKey:e.accessorKey||e.name})),[r]),M=(0,a.useMemo)(()=>{let e={},t=r.map(e=>({header:e.header||e.label,accessorKey:e.accessorKey||e.name,width:e.width}));for(let n of t){if(n.width)continue;let t=(n.header||``).length,r=j.slice(0,50);for(let e of r){let r=e[n.accessorKey],i=r==null?0:String(r).length;i>t&&(t=i)}e[n.accessorKey]=Math.min(400,Math.max(80,t*8+48))}return e},[r,j]),[N,ne]=(0,a.useState)(``),[P,re]=(0,a.useState)(null),[ie,F]=(0,a.useState)(null),[ae,oe]=(0,a.useState)(new Set),[I,se]=(0,a.useState)(1),[L,ce]=(0,a.useState)(l),[R,le]=(0,a.useState)(te),[ue,de]=(0,a.useState)({}),[fe,pe]=(0,a.useState)(null),[me,he]=(0,a.useState)(null),[z,V]=(0,a.useState)(null),[ge,_e]=(0,a.useState)(``),[H,ve]=(0,a.useState)(new Map),[ye,be]=(0,a.useState)(!1),[U,xe]=(0,a.useState)(null),Se=(0,a.useRef)(null),Ce=(0,a.useRef)(0),we=(0,a.useRef)(0),Te=(0,a.useRef)(null);(0,a.useEffect)(()=>{le(te)},[te]);let Ee=(0,a.useMemo)(()=>N?j.filter(e=>R.some(t=>e[t.accessorKey]?.toString().toLowerCase().includes(N.toLowerCase()))):j,[j,N,R]),G=(0,a.useMemo)(()=>!P||!ie?Ee:[...Ee].sort((e,t)=>{let n=e[P],r=t[P];if(n===r)return 0;let i=n<r?-1:1;return ie===`asc`?i:-i}),[Ee,P,ie]),De=Math.ceil(G.length/L),Oe=s?G.slice((I-1)*L,I*L):G,ke=(e,t)=>e.id===void 0?`row-${t}`:e.id,Ae=e=>{f&&(P===e?ie===`asc`?F(`desc`):ie===`desc`&&(F(null),re(null)):(re(e),F(`asc`)))},je=(e,t)=>{e.preventDefault(),xe({x:e.clientX,y:e.clientY,columnKey:t})},Me=e=>{le(t=>t.filter(t=>t.accessorKey!==e)),xe(null)};(0,a.useEffect)(()=>{if(!U)return;let e=()=>xe(null);return document.addEventListener(`click`,e),()=>document.removeEventListener(`click`,e)},[U]);let Ne=t=>{let n=new Set;if(t&&Oe.forEach((e,t)=>{let r=ke(e,(I-1)*L+t);n.add(r)}),oe(n),e.onSelectionChange){let t=G.filter((e,t)=>{let r=ke(e,t);return n.has(r)});e.onSelectionChange(t)}},Pe=(t,n)=>{let r=new Set(ae);if(n?r.add(t):r.delete(t),oe(r),e.onSelectionChange){let t=G.filter((e,t)=>{let n=ke(e,t);return r.has(n)});e.onSelectionChange(t)}},Fe=()=>{let e=[R.map(e=>e.header).join(`,`),...G.map(e=>R.map(t=>JSON.stringify(e[t.accessorKey]||``)).join(`,`))].join(`
|
|
19
|
+
`),t=new Blob([e],{type:`text/csv`}),n=window.URL.createObjectURL(t),r=document.createElement(`a`);r.href=n,r.download=`table-export.csv`,r.click(),window.URL.revokeObjectURL(n)},Ie=e=>P===e?ie===`asc`?(0,o.jsx)(c.ChevronUp,{className:`h-3 w-3 ml-0.5 text-primary`}):(0,o.jsx)(c.ChevronDown,{className:`h-3 w-3 ml-0.5 text-primary`}):(0,o.jsx)(c.ChevronsUpDown,{className:`h-3 w-3 ml-0.5 opacity-0 group-hover:opacity-50 transition-opacity`}),Le=(e,t)=>{if(!h)return;e.preventDefault(),e.stopPropagation(),Se.current=t,Ce.current=e.clientX;let n=e.target.closest(`th`);n&&(we.current=n.offsetWidth),document.addEventListener(`mousemove`,Re),document.addEventListener(`mouseup`,ze)},Re=e=>{if(!Se.current)return;let t=e.clientX-Ce.current,n=Math.max(50,we.current+t);de(e=>({...e,[Se.current]:n}))},ze=()=>{Se.current=null,document.removeEventListener(`mousemove`,Re),document.removeEventListener(`mouseup`,ze)},Be=(e,t)=>{g&&(pe(t),e.dataTransfer.effectAllowed=`move`)},Ve=(e,t)=>{g&&(e.preventDefault(),e.dataTransfer.dropEffect=`move`,he(t))},He=(t,n)=>{if(!g||fe===null)return;if(t.preventDefault(),fe===n){pe(null),he(null);return}let r=[...R],[i]=r.splice(fe,1);r.splice(n,0,i),le(r),pe(null),he(null),e.onColumnsReorder&&e.onColumnsReorder(r)},Ue=()=>{pe(null),he(null)},We=(e,t)=>{if(!_||R.find(e=>e.accessorKey===t)?.editable===!1)return;V({rowIndex:e,columnKey:t});let n=H.get(e),r=Oe[e][t];_e(n?.[t]??r??``)},Ge=(t=!1)=>{if(!z||!t&&z===null)return;let{rowIndex:n,columnKey:r}=z,i=(I-1)*L+n,a=G[i],o=new Map(H),s=o.get(n)||{};s[r]=ge,o.set(n,s),ve(o),e.onCellChange&&e.onCellChange(i,r,ge,a),V(null),_e(``)},Ke=()=>{V(null),_e(``)},qe=async t=>{let n=(I-1)*L+t,r=G[n],i=H.get(t);if(!(!i||Object.keys(i).length===0)){be(!0);try{e.onRowSave&&await e.onRowSave(n,i,r);let a=new Map(H);a.delete(t),ve(a)}catch(e){console.error(`Failed to save row:`,e)}finally{be(!1)}}},Je=e=>{let t=new Map(H);t.delete(e),ve(t)},Ye=async()=>{if(H.size!==0){be(!0);try{let t=Array.from(H.entries()).map(([e,t])=>{let n=(I-1)*L+e;return{rowIndex:n,changes:t,row:G[n]}});e.onBatchSave&&await e.onBatchSave(t),ve(new Map)}catch(e){console.error(`Failed to save batch:`,e)}finally{be(!1)}}},Xe=()=>{ve(new Map)},Ze=(e,t,n)=>{if((e.ctrlKey||e.metaKey)&&e.key===`c`&&!z){e.preventDefault();let r=G[(I-1)*L+t];if(r){let e=r[n],t=e==null?``:String(e);navigator.clipboard.writeText(t).catch(()=>{})}return}_&&R.find(e=>e.accessorKey===n)?.editable!==!1&&e.key===`Enter`&&!z&&(e.preventDefault(),We(t,n))},Qe=e=>{e.key===`Enter`?(e.preventDefault(),Ge(!0)):e.key===`Escape`&&(e.preventDefault(),Ke())};(0,a.useEffect)(()=>{z&&Te.current&&(Te.current.focus(),Te.current.select())},[z]),(0,a.useEffect)(()=>()=>{document.removeEventListener(`mousemove`,Re),document.removeEventListener(`mouseup`,ze)},[]);let $e=Oe.length>0&&Oe.every((e,t)=>{let n=ke(e,(I-1)*L+t);return ae.has(n)}),et=Oe.some((e,t)=>{let n=ke(e,(I-1)*L+t);return ae.has(n)})&&!$e,tt=H.size>0,nt=u||p||d&&ae.size>0||tt;return(0,o.jsxs)(`div`,{className:`flex flex-col h-full gap-2 sm:gap-4 ${S||``}`,children:[nt&&(0,o.jsxs)(`div`,{className:`flex flex-col sm:flex-row items-stretch sm:items-center justify-between gap-2 sm:gap-4 flex-none`,children:[(0,o.jsx)(`div`,{className:`flex items-center gap-2 flex-1`,children:u&&(0,o.jsxs)(`div`,{className:`relative w-full sm:max-w-sm flex-1`,children:[(0,o.jsx)(c.Search,{className:`absolute left-2 top-1/2 transform -translate-y-1/2 h-4 w-4 text-muted-foreground`}),(0,o.jsx)(q,{placeholder:O(`table.search`),value:N,onChange:e=>{ne(e.target.value),se(1)},className:`pl-8`})]})}),(0,o.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[tt&&(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(`div`,{className:`text-sm text-muted-foreground`,children:O(`table.modified`,{count:H.size})}),(0,o.jsxs)(W,{variant:`outline`,size:`sm`,onClick:Xe,disabled:ye,children:[(0,o.jsx)(c.X,{className:`h-4 w-4 mr-2`}),O(`table.cancelAll`)]}),(0,o.jsxs)(W,{variant:`default`,size:`sm`,onClick:Ye,disabled:ye,children:[(0,o.jsx)(c.Save,{className:`h-4 w-4 mr-2`}),O(`table.saveAll`,{count:H.size})]})]}),p&&(0,o.jsxs)(W,{variant:`outline`,size:`sm`,onClick:Fe,disabled:G.length===0,children:[(0,o.jsx)(c.Download,{className:`h-4 w-4 mr-2`}),O(`table.exportCSV`)]}),d&&ae.size>0&&(0,o.jsx)(`div`,{className:`text-sm text-muted-foreground`,children:O(`table.selected`,{count:ae.size})})]})]}),(0,o.jsx)(`div`,{className:B(`flex-1 min-h-0 overflow-auto relative bg-background [-webkit-overflow-scrolling:touch]`,!D&&`rounded-md border shadow-[inset_-8px_0_8px_-8px_rgba(0,0,0,0.08)]`),children:(0,o.jsxs)(Hi,{children:[n&&(0,o.jsx)(Yi,{children:n}),(0,o.jsx)(Ui,{className:`sticky top-0 bg-muted/30 z-10`,children:(0,o.jsxs)(Ki,{children:[d&&(0,o.jsx)(qi,{className:B(`w-10 bg-muted/30`,w>0&&`sticky left-0 z-20`),children:(0,o.jsx)(yt,{checked:$e?!0:et?`indeterminate`:!1,onCheckedChange:Ne})}),T&&(0,o.jsx)(qi,{className:B(`w-10 bg-muted/30 text-center`,w>0&&`sticky z-20`),style:w>0?{left:d?40:0}:void 0,children:(0,o.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:`#`})}),R.map((e,t)=>{let n=ue[e.accessorKey]||e.width||M[e.accessorKey],r=fe===t,i=me===t,a=w>0&&t<w,s=a?R.slice(0,t).reduce((e,t,n)=>{if(n<w){let n=ue[t.accessorKey]||t.width||M[t.accessorKey];return e+(typeof n==`number`?n:n&&parseInt(String(n),10)||150)}return e},(d?40:0)+(T?40:0)):void 0;return(0,o.jsx)(qi,{className:B(e.className,f&&e.sortable!==!1&&`cursor-pointer select-none`,r&&`opacity-50`,i&&`border-l-2 border-primary`,e.align===`right`&&`text-right`,e.align===`center`&&`text-center`,`relative group bg-muted/30`,a&&`sticky z-20`,a&&t===w-1&&`border-r-2 border-border shadow-[2px_0_4px_-2px_rgba(0,0,0,0.1)]`),style:{width:n,minWidth:n,...a&&{left:s}},draggable:g,onDragStart:e=>Be(e,t),onDragOver:e=>Ve(e,t),onDrop:e=>He(e,t),onDragEnd:Ue,onClick:()=>f&&e.sortable!==!1&&Ae(e.accessorKey),onContextMenu:t=>je(t,e.accessorKey),children:(0,o.jsxs)(`div`,{className:B(`flex items-center`,e.align===`right`?`justify-end`:`justify-between`),children:[(0,o.jsxs)(`div`,{className:`flex items-center gap-1`,children:[g&&(0,o.jsx)(c.GripVertical,{className:`h-4 w-4 opacity-0 group-hover:opacity-50 cursor-grab active:cursor-grabbing shrink-0`}),e.headerIcon&&(0,o.jsx)(`span`,{className:`text-muted-foreground shrink-0`,children:e.headerIcon}),(0,o.jsx)(`span`,{className:`text-xs font-normal text-muted-foreground whitespace-nowrap truncate`,children:e.header}),f&&e.sortable!==!1&&Ie(e.accessorKey)]}),h&&e.resizable!==!1&&(0,o.jsx)(`div`,{className:`absolute right-0 top-0 h-full w-1 cursor-col-resize hover:bg-primary opacity-0 hover:opacity-100 transition-opacity`,onMouseDown:t=>Le(t,e.accessorKey),onClick:e=>e.stopPropagation()})]})},e.accessorKey)}),m&&(0,o.jsx)(qi,{className:`w-24 text-right bg-muted/30`,children:O(`common.actions`)})]})}),(0,o.jsx)(Wi,{children:Oe.length===0?(0,o.jsx)(Ki,{className:`hover:bg-transparent`,children:(0,o.jsx)(Ji,{colSpan:R.length+ +!!d+ +!!T+ +!!m,className:`h-48 text-center text-muted-foreground border-0`,children:(0,o.jsxs)(`div`,{className:`flex flex-col items-center justify-center gap-3`,children:[(0,o.jsx)(c.Search,{className:`h-8 w-8 text-muted-foreground/50`}),(0,o.jsxs)(`div`,{className:`space-y-1`,children:[(0,o.jsx)(`p`,{children:O(`table.noResults`)}),(0,o.jsx)(`p`,{className:`text-xs text-muted-foreground/50`,children:O(`table.noResultsHint`)})]}),e.emptyAction&&(()=>{let n=e.emptyAction,r=n?.type?t.ComponentRegistry.get(n.type):null;return r?(0,o.jsx)(r,{schema:n}):null})()]})})}):(0,o.jsxs)(o.Fragment,{children:[Oe.map((t,n)=>{let r=(I-1)*L+n,i=ke(t,r),a=ae.has(i),s=H.has(n),l=H.get(n)||{};return(0,o.jsxs)(Ki,{"data-state":a?`selected`:void 0,className:B(`bg-background border-b border-border group/row transition-colors`,`hover:bg-muted/40`,`data-[state=selected]:bg-primary/5 data-[state=selected]:hover:bg-primary/10`,`focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring focus-visible:ring-inset`,e.onRowClick&&`cursor-pointer`,s&&`bg-amber-50 dark:bg-amber-950/20`,b&&b(t,n)),style:x?x(t,n):void 0,onClick:n=>{if(e.onRowClick&&!n.defaultPrevented){let r=n.target;if(r.closest(`button`)||r.closest(`a`)||r.closest(`input, select, textarea, label`)||r.closest(`[role="checkbox"]`)||r.closest(`[role="menu"]`)||r.closest(`[role="menuitem"]`)||r.closest(`[role="menuitemcheckbox"]`)||r.closest(`[role="menuitemradio"]`)||r.closest(`[role="dialog"]`)||r.closest(`[role="alertdialog"]`)||r.closest(`[role="listbox"]`)||r.closest(`[role="option"]`)||r.closest(`[role="tab"]`)||r.closest(`[data-radix-popper-content-wrapper]`))return;e.onRowClick(t)}},children:[d&&(0,o.jsx)(Ji,{className:B(C,w>0&&`sticky left-0 z-10 bg-background`,y===`hover`&&`relative`),children:y===`hover`?(0,o.jsx)(`div`,{className:B(`transition-opacity`,a?`opacity-100`:`opacity-0 group-hover/row:opacity-100`),children:(0,o.jsx)(yt,{checked:a,onCheckedChange:e=>Pe(i,e)})}):(0,o.jsx)(yt,{checked:a,onCheckedChange:e=>Pe(i,e)})}),T&&(0,o.jsxs)(Ji,{className:B(`text-center w-10 relative`,C,w>0&&`sticky z-10 bg-background`),style:w>0?{left:d?40:0}:void 0,children:[(0,o.jsx)(`span`,{className:B(`text-xs text-muted-foreground tabular-nums select-none`,!d&&e.onRowClick&&`group-hover/row:invisible`),children:r+1}),!d&&e.onRowClick&&(0,o.jsxs)(`button`,{type:`button`,className:`absolute inset-0 hidden group-hover/row:flex items-center justify-center gap-0.5 text-xs font-medium text-primary hover:text-primary/80`,"data-testid":`row-expand-button`,onClick:n=>{n.stopPropagation(),e.onRowClick?.(t)},title:`Open record`,children:[(0,o.jsx)(`span`,{children:O(`table.open`)}),(0,o.jsx)(c.ChevronRight,{className:`h-3 w-3`})]})]}),R.map((e,r)=>{let i=ue[e.accessorKey]||e.width||M[e.accessorKey],a=t[e.accessorKey],s=l[e.accessorKey]!==void 0,c=s?l[e.accessorKey]:a,u=z?.rowIndex===n&&z?.columnKey===e.accessorKey,f=_&&e.editable!==!1,p=w>0&&r<w,m=p?R.slice(0,r).reduce((e,t,n)=>{if(n<w){let n=ue[t.accessorKey]||t.width||M[t.accessorKey];return e+(typeof n==`number`?n:n&&parseInt(String(n),10)||150)}return e},(d?40:0)+(T?40:0)):void 0;return(0,o.jsx)(Ji,{className:B(e.cellClassName,e.align===`right`&&`text-right`,e.align===`center`&&`text-center`,f&&!u&&`cursor-text hover:bg-muted/50`,s&&`font-semibold text-amber-700 dark:text-amber-400`,p&&`sticky z-10 bg-background`,p&&r===w-1&&`border-r-2 border-border shadow-[2px_0_4px_-2px_rgba(0,0,0,0.1)]`),style:{width:i,minWidth:i,maxWidth:i,...p&&{left:m}},onDoubleClick:()=>f&&!v&&We(n,e.accessorKey),onClick:()=>f&&v&&We(n,e.accessorKey),onKeyDown:t=>Ze(t,n,e.accessorKey),tabIndex:0,children:u?(0,o.jsx)(q,{ref:Te,value:ge,onChange:e=>_e(e.target.value),onKeyDown:Qe,className:`h-8 px-2 py-1`}):typeof e.cell==`function`?e.cell(c,t):typeof c==`object`&&c?String(c):ee(c)},r)}),m&&(0,o.jsx)(Ji,{className:B(`text-right`,C),children:(0,o.jsx)(`div`,{className:`flex items-center justify-end gap-1`,children:s&&(e.onRowSave||e.onBatchSave)?(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(W,{variant:`ghost`,size:`icon`,onClick:()=>Je(n),disabled:ye,title:`Cancel changes`,children:(0,o.jsx)(c.X,{className:`h-4 w-4`})}),(0,o.jsx)(W,{variant:`ghost`,size:`icon`,onClick:()=>qe(n),disabled:ye,title:`Save row`,children:(0,o.jsx)(c.Save,{className:`h-4 w-4 text-green-600`})})]}):(e.onRowEdit||e.onRowDelete)&&(0,o.jsxs)(mn,{children:[(0,o.jsx)(hn,{asChild:!0,children:(0,o.jsx)(W,{variant:`ghost`,size:`icon`,className:`h-8 w-8`,onClick:e=>e.stopPropagation(),"aria-label":`Row actions`,children:(0,o.jsx)(c.MoreHorizontal,{className:`h-4 w-4`})})}),(0,o.jsxs)(Sn,{align:`end`,onClick:e=>e.stopPropagation(),children:[e.onRowEdit&&(0,o.jsxs)(Cn,{onClick:()=>e.onRowEdit?.(t),children:[(0,o.jsx)(c.Edit,{className:`mr-2 h-4 w-4`}),O(`table.edit`)]}),e.onRowEdit&&e.onRowDelete&&(0,o.jsx)(Dn,{}),e.onRowDelete&&(0,o.jsxs)(Cn,{onClick:()=>e.onRowDelete?.(t),className:`text-destructive focus:text-destructive`,children:[(0,o.jsx)(c.Trash2,{className:`mr-2 h-4 w-4`}),O(`table.delete`)]})]})]})})})]},i)}),E&&(0,o.jsx)(Ki,{className:`hover:bg-muted/30 cursor-pointer border-b border-border`,"data-testid":`add-record-row`,onClick:()=>e.onAddRecord?.(),children:(0,o.jsx)(Ji,{colSpan:R.length+ +!!d+ +!!T+ +!!m,className:`h-9 px-3 py-1.5`,children:(0,o.jsxs)(`span`,{className:`flex items-center gap-1.5 text-muted-foreground text-sm hover:text-foreground transition-colors`,children:[(0,o.jsx)(c.Plus,{className:`h-3.5 w-3.5`}),O(`table.addRecord`)]})})})]})})]})}),s&&G.length>0&&De>1&&(0,o.jsxs)(`div`,{className:`flex flex-col sm:flex-row items-center justify-between gap-2`,children:[(0,o.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,o.jsxs)(`span`,{className:`text-xs sm:text-sm text-muted-foreground`,children:[O(`table.rowsPerPage`),`:`]}),(0,o.jsxs)(Ir,{value:L.toString(),onValueChange:e=>{ce(Number(e)),se(1)},children:[(0,o.jsx)(J,{className:`w-20`,children:(0,o.jsx)(Rr,{})}),(0,o.jsxs)(Y,{children:[(0,o.jsx)(X,{value:`5`,children:`5`}),(0,o.jsx)(X,{value:`10`,children:`10`}),(0,o.jsx)(X,{value:`20`,children:`20`}),(0,o.jsx)(X,{value:`50`,children:`50`}),(0,o.jsx)(X,{value:`100`,children:`100`})]})]})]}),(0,o.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,o.jsx)(`span`,{className:`text-xs sm:text-sm text-muted-foreground`,children:O(`table.pageInfo`,{current:I,total:De})}),(0,o.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,o.jsx)(W,{variant:`outline`,size:`icon`,onClick:()=>se(1),disabled:I===1,children:(0,o.jsx)(c.ChevronsLeft,{className:`h-4 w-4`})}),(0,o.jsx)(W,{variant:`outline`,size:`icon`,onClick:()=>se(Math.max(1,I-1)),disabled:I===1,children:(0,o.jsx)(c.ChevronLeft,{className:`h-4 w-4`})}),(0,o.jsx)(W,{variant:`outline`,size:`icon`,onClick:()=>se(Math.min(De,I+1)),disabled:I===De,children:(0,o.jsx)(c.ChevronRight,{className:`h-4 w-4`})}),(0,o.jsx)(W,{variant:`outline`,size:`icon`,onClick:()=>se(De),disabled:I===De,children:(0,o.jsx)(c.ChevronsRight,{className:`h-4 w-4`})})]})]})]}),U&&(0,o.jsxs)(`div`,{className:`fixed z-50 min-w-[160px] rounded-md border bg-popover p-1 shadow-md`,style:{left:U.x,top:U.y},"data-testid":`column-context-menu`,onClick:e=>e.stopPropagation(),children:[f&&(0,o.jsxs)(o.Fragment,{children:[(0,o.jsxs)(`button`,{type:`button`,className:`flex w-full items-center gap-2 rounded-sm px-2 py-1.5 text-sm hover:bg-accent hover:text-accent-foreground cursor-pointer`,onClick:()=>{re(U.columnKey),F(`asc`),xe(null)},children:[(0,o.jsx)(c.ChevronUp,{className:`h-3.5 w-3.5`}),O(`table.sortAsc`)]}),(0,o.jsxs)(`button`,{type:`button`,className:`flex w-full items-center gap-2 rounded-sm px-2 py-1.5 text-sm hover:bg-accent hover:text-accent-foreground cursor-pointer`,onClick:()=>{re(U.columnKey),F(`desc`),xe(null)},children:[(0,o.jsx)(c.ChevronDown,{className:`h-3.5 w-3.5`}),O(`table.sortDesc`)]}),(0,o.jsx)(`div`,{className:`my-1 h-px bg-border`})]}),(0,o.jsxs)(`button`,{type:`button`,className:`flex w-full items-center gap-2 rounded-sm px-2 py-1.5 text-sm hover:bg-accent hover:text-accent-foreground cursor-pointer`,onClick:()=>Me(U.columnKey),children:[(0,o.jsx)(c.X,{className:`h-3.5 w-3.5`}),O(`table.hideColumn`)]})]})]})},{namespace:`ui`,label:`Data Table`,icon:`table`,inputs:[{name:`caption`,type:`string`,label:`Caption`},{name:`columns`,type:`array`,label:`Columns`,description:`Array of { header, accessorKey, className, width, sortable, filterable, resizable }`,required:!0},{name:`data`,type:`array`,label:`Data`,description:`Array of data objects`,required:!0},{name:`pagination`,type:`boolean`,label:`Enable Pagination`,defaultValue:!0},{name:`pageSize`,type:`number`,label:`Page Size`,defaultValue:10},{name:`searchable`,type:`boolean`,label:`Enable Search`,defaultValue:!0},{name:`selectable`,type:`boolean`,label:`Enable Row Selection`,defaultValue:!1},{name:`sortable`,type:`boolean`,label:`Enable Sorting`,defaultValue:!0},{name:`exportable`,type:`boolean`,label:`Enable Export`,defaultValue:!1},{name:`rowActions`,type:`boolean`,label:`Show Row Actions`,defaultValue:!1},{name:`resizableColumns`,type:`boolean`,label:`Enable Column Resizing`,defaultValue:!0},{name:`reorderableColumns`,type:`boolean`,label:`Enable Column Reordering`,defaultValue:!0},{name:`className`,type:`string`,label:`CSS Class`}],defaultProps:{caption:`Enterprise Data Table`,pagination:!0,pageSize:10,searchable:!0,selectable:!0,sortable:!0,exportable:!0,rowActions:!0,resizableColumns:!0,reorderableColumns:!0,columns:[{header:`ID`,accessorKey:`id`,width:`80px`},{header:`Name`,accessorKey:`name`},{header:`Email`,accessorKey:`email`},{header:`Status`,accessorKey:`status`},{header:`Role`,accessorKey:`role`}],data:[{id:1,name:`John Doe`,email:`john@example.com`,status:`Active`,role:`Admin`},{id:2,name:`Jane Smith`,email:`jane@example.com`,status:`Active`,role:`User`},{id:3,name:`Bob Johnson`,email:`bob@example.com`,status:`Inactive`,role:`User`},{id:4,name:`Alice Williams`,email:`alice@example.com`,status:`Active`,role:`Manager`},{id:5,name:`Charlie Brown`,email:`charlie@example.com`,status:`Active`,role:`User`},{id:6,name:`Diana Prince`,email:`diana@example.com`,status:`Active`,role:`Admin`},{id:7,name:`Ethan Hunt`,email:`ethan@example.com`,status:`Inactive`,role:`User`},{id:8,name:`Fiona Gallagher`,email:`fiona@example.com`,status:`Active`,role:`User`},{id:9,name:`George Wilson`,email:`george@example.com`,status:`Active`,role:`Manager`},{id:10,name:`Hannah Montana`,email:`hannah@example.com`,status:`Active`,role:`User`},{id:11,name:`Ivan Drago`,email:`ivan@example.com`,status:`Inactive`,role:`User`},{id:12,name:`Julia Roberts`,email:`julia@example.com`,status:`Active`,role:`Admin`}]}});function fc(e){return e.split(`-`).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(``)}var pc={Home:`House`};function mc(e){if(!e)return null;let t=fc(e);return c.icons[pc[t]||t]??null}var hc=(0,a.forwardRef)(({schema:e,className:t,context:n,...r},s)=>{let{"data-obj-id":l,"data-obj-type":u,style:d,data:f,...p}=r,{execute:m}=(0,i.useAction)(),[h,g]=(0,a.useState)(!1),_=typeof f==`object`&&f?f:{},v=(0,i.useCondition)((0,i.toPredicateInput)(e.visible),_),y=(0,i.useCondition)((0,i.toPredicateInput)(e.enabled),_),b=mc(e.icon),x=e.variant===`primary`?`default`:e.variant||`default`,S=e.size===`md`?`default`:e.size||`default`,C=(0,a.useCallback)(async()=>{if(!h){g(!0);try{let t=Array.isArray(e.params)?{actionParams:e.params}:{params:e.params};await m({type:e.actionType||e.type,name:e.name,target:e.target,execute:e.execute,endpoint:e.endpoint,method:e.method,...t,confirmText:e.confirmText,successMessage:e.successMessage,errorMessage:e.errorMessage,refreshAfter:e.refreshAfter,toast:e.toast,...n})}finally{g(!1)}}},[e,m,h,n]);return e.visible&&!v?null:(0,o.jsxs)(W,{ref:s,type:`button`,variant:x,size:S,className:B(e.className,t),disabled:(e.enabled?!y:!1)||h,onClick:C,...p,"data-obj-id":l,"data-obj-type":u,style:d,children:[h&&(0,o.jsx)(c.Loader2,{className:`mr-2 h-4 w-4 animate-spin`}),!h&&b&&(0,o.jsx)(b,{className:B(`h-4 w-4`,e.label&&`mr-2`)}),e.label]})});hc.displayName=`ActionButtonRenderer`,t.ComponentRegistry.register(`action:button`,hc,{namespace:`action`,label:`Action Button`,inputs:[{name:`name`,type:`string`,label:`Action Name`},{name:`label`,type:`string`,label:`Label`,defaultValue:`Action`},{name:`icon`,type:`string`,label:`Icon`},{name:`type`,type:`enum`,label:`Action Type`,enum:[`script`,`url`,`modal`,`flow`,`api`],defaultValue:`script`},{name:`target`,type:`string`,label:`Target`},{name:`variant`,type:`enum`,label:`Variant`,enum:[`default`,`primary`,`secondary`,`destructive`,`outline`,`ghost`],defaultValue:`default`},{name:`size`,type:`enum`,label:`Size`,enum:[`sm`,`md`,`lg`],defaultValue:`md`},{name:`className`,type:`string`,label:`CSS Class`,advanced:!0}],defaultProps:{label:`Action`,type:`script`,variant:`default`,size:`md`}});var gc=(0,a.forwardRef)(({schema:e,className:t,context:n,...r},s)=>{let{"data-obj-id":l,"data-obj-type":u,style:d,...f}=r,{execute:p}=(0,i.useAction)(),[m,h]=(0,a.useState)(!1),g=(0,i.useCondition)((0,i.toPredicateInput)(e.visible)),_=(0,i.useCondition)((0,i.toPredicateInput)(e.enabled)),v=mc(e.icon),y=e.variant===`primary`?`default`:e.variant||`ghost`,b=(0,a.useCallback)(async()=>{if(!m){h(!0);try{await p({type:e.type,name:e.name,target:e.target,execute:e.execute,endpoint:e.endpoint,method:e.method,params:e.params,confirmText:e.confirmText,successMessage:e.successMessage,errorMessage:e.errorMessage,refreshAfter:e.refreshAfter,toast:e.toast,...n})}finally{h(!1)}}},[e,p,m,n]);if(e.visible&&!g)return null;let x=(0,o.jsx)(W,{ref:s,type:`button`,variant:y,size:`icon`,className:B(`h-8 w-8`,e.className,t),disabled:(e.enabled?!_:!1)||m,onClick:b,"aria-label":e.label||e.name,...f,"data-obj-id":l,"data-obj-type":u,style:d,children:m?(0,o.jsx)(c.Loader2,{className:`h-4 w-4 animate-spin`}):v?(0,o.jsx)(v,{className:`h-4 w-4`}):(0,o.jsx)(`span`,{className:`text-xs`,children:e.label?.charAt(0)||`?`})});return e.label||e.description?(0,o.jsx)(ri,{delayDuration:300,children:(0,o.jsxs)(ii,{children:[(0,o.jsx)(ai,{asChild:!0,children:x}),(0,o.jsx)(oi,{children:(0,o.jsx)(`p`,{children:e.label||e.description})})]})}):x});gc.displayName=`ActionIconRenderer`,t.ComponentRegistry.register(`action:icon`,gc,{namespace:`action`,label:`Action Icon`,inputs:[{name:`name`,type:`string`,label:`Action Name`},{name:`label`,type:`string`,label:`Tooltip Label`},{name:`icon`,type:`string`,label:`Icon`},{name:`type`,type:`enum`,label:`Action Type`,enum:[`script`,`url`,`modal`,`flow`,`api`],defaultValue:`script`},{name:`target`,type:`string`,label:`Target`},{name:`variant`,type:`enum`,label:`Variant`,enum:[`default`,`secondary`,`destructive`,`outline`,`ghost`],defaultValue:`ghost`},{name:`className`,type:`string`,label:`CSS Class`,advanced:!0}],defaultProps:{icon:`play`,type:`script`,variant:`ghost`}});function _c(){try{let{t:e}=(0,L.useObjectTranslation)(),t=e(`detail.moreActions`);return!t||t===`detail.moreActions`?`More actions`:t}catch{return`More actions`}}var vc=({action:e,onExecute:t})=>{let n=(0,i.useCondition)((0,i.toPredicateInput)(e.visible)),r=(0,i.useCondition)((0,i.toPredicateInput)(e.enabled)),s=(0,a.useMemo)(()=>{let t=mc(e.icon);return t?(0,o.jsx)(t,{className:`mr-2 h-4 w-4`}):null},[e.icon]);return e.visible&&!n?null:(0,o.jsxs)(Cn,{disabled:e.enabled?!r:!1,onSelect:n=>{n.preventDefault(),t(e)},className:B(e.variant===`destructive`&&`text-destructive focus:text-destructive`,e.className),children:[s,(0,o.jsx)(`span`,{children:e.label||e.name})]})};vc.displayName=`ActionMenuItem`;var yc=(0,a.forwardRef)(({schema:e,className:t,...n},r)=>{let{"data-obj-id":s,"data-obj-type":l,style:u,...d}=n,{execute:f}=(0,i.useAction)(),[p,m]=(0,a.useState)(!1),h=_c(),g=(0,i.useCondition)((0,i.toPredicateInput)(e.visible)),_=mc(e.icon)||c.MoreHorizontal,v=e.variant||`ghost`,y=e.size||`icon`,b=(0,a.useCallback)(async e=>{m(!0);try{if(typeof e.onClick==`function`){await e.onClick();return}await f({type:e.type,name:e.name,target:e.target,execute:e.execute,endpoint:e.endpoint,method:e.method,params:e.params,confirmText:e.confirmText,successMessage:e.successMessage,errorMessage:e.errorMessage,refreshAfter:e.refreshAfter,toast:e.toast})}finally{m(!1)}},[f]);if(e.visible&&!g)return null;let x=e.actions||[];return x.length===0?null:(0,o.jsxs)(mn,{children:[(0,o.jsx)(hn,{asChild:!0,children:(0,o.jsx)(W,{ref:r,type:`button`,variant:v,size:y,className:B(y===`icon`&&`h-8 w-8`,e.className,t),disabled:p,"aria-label":e.label||h,...d,"data-obj-id":s,"data-obj-type":l,style:u,children:p?(0,o.jsx)(c.Loader2,{className:`h-4 w-4 animate-spin`}):(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(_,{className:B(`h-4 w-4`,e.label&&`mr-2`)}),e.label&&(0,o.jsx)(`span`,{children:e.label})]})})}),(0,o.jsx)(Sn,{align:`end`,children:x.map((e,t)=>{let n=e.tags?.includes(`separator-before`)&&t>0;return(0,o.jsxs)(a.default.Fragment,{children:[n&&(0,o.jsx)(Dn,{}),(0,o.jsx)(vc,{action:e,onExecute:b})]},e.name||t)})})]})});yc.displayName=`ActionMenuRenderer`,t.ComponentRegistry.register(`action:menu`,yc,{namespace:`action`,label:`Action Menu`,inputs:[{name:`label`,type:`string`,label:`Trigger Label`},{name:`icon`,type:`string`,label:`Trigger Icon`},{name:`actions`,type:`object`,label:`Actions`},{name:`variant`,type:`enum`,label:`Trigger Variant`,enum:[`default`,`secondary`,`outline`,`ghost`],defaultValue:`ghost`},{name:`className`,type:`string`,label:`CSS Class`,advanced:!0}],defaultProps:{variant:`ghost`,actions:[]}});var bc=({action:e,variant:t,size:n,onExecute:r})=>{let[s,l]=(0,a.useState)(!1),u=(0,i.useCondition)((0,i.toPredicateInput)(e.visible)),d=(0,i.useCondition)((0,i.toPredicateInput)(e.enabled)),f=mc(e.icon),p=e.variant===`primary`?`default`:e.variant||t||`outline`,m=e.size===`md`?`default`:e.size||n||`sm`,h=(0,a.useCallback)(async()=>{if(!s){l(!0);try{await r(e)}finally{l(!1)}}},[e,r,s]);return e.visible&&!u?null:(0,o.jsxs)(W,{type:`button`,variant:p,size:m,className:e.className,disabled:(e.enabled?!d:!1)||s,onClick:h,children:[s&&(0,o.jsx)(c.Loader2,{className:`mr-2 h-4 w-4 animate-spin`}),!s&&f&&(0,o.jsx)(f,{className:B(`h-4 w-4`,e.label&&`mr-2`)}),e.label]})};bc.displayName=`InlineActionButton`;var xc=(0,a.forwardRef)(({schema:e,className:t,...n},r)=>{let{"data-obj-id":s,"data-obj-type":l,style:u,...d}=n,{execute:f}=(0,i.useAction)(),[p,m]=(0,a.useState)(!1),h=(0,i.useCondition)((0,i.toPredicateInput)(e.visible)),g=e.actions||[];e.location&&(g=g.filter(t=>!t.locations||t.locations.includes(e.location)));let _=(0,a.useCallback)(async e=>{await f({type:e.type,name:e.name,target:e.target,execute:e.execute,endpoint:e.endpoint,method:e.method,params:e.params,confirmText:e.confirmText,successMessage:e.successMessage,errorMessage:e.errorMessage,refreshAfter:e.refreshAfter,toast:e.toast})},[f]);if(e.visible&&!h||g.length===0)return null;if((e.display||`inline`)===`dropdown`){let n=mc(e.icon);return(0,o.jsxs)(mn,{children:[(0,o.jsx)(hn,{asChild:!0,children:(0,o.jsxs)(W,{type:`button`,variant:e.variant||`outline`,size:e.size===`md`?`default`:e.size||`default`,className:B(e.className,t),disabled:p,"data-obj-id":s,"data-obj-type":l,style:u,children:[p&&(0,o.jsx)(c.Loader2,{className:`mr-2 h-4 w-4 animate-spin`}),!p&&n&&(0,o.jsx)(n,{className:`mr-2 h-4 w-4`}),e.label||`Actions`,(0,o.jsx)(c.ChevronDown,{className:`ml-2 h-3 w-3 opacity-50`})]})}),(0,o.jsx)(Sn,{align:`end`,children:g.map((e,t)=>{let n=mc(e.icon),r=e.tags?.includes(`separator-before`)&&t>0;return(0,o.jsxs)(a.default.Fragment,{children:[r&&(0,o.jsx)(Dn,{}),(0,o.jsxs)(Cn,{onSelect:async t=>{t.preventDefault(),m(!0);try{await _(e)}finally{m(!1)}},className:B(e.variant===`destructive`&&`text-destructive focus:text-destructive`,e.className),children:[n&&(0,o.jsx)(n,{className:`mr-2 h-4 w-4`}),(0,o.jsx)(`span`,{children:e.label||e.name})]})]},e.name||t)})})]})}return(0,o.jsx)(`div`,{ref:r,className:B(`flex items-center gap-2`,e.className,t),...d,"data-obj-id":s,"data-obj-type":l,style:u,children:g.map(t=>(0,o.jsx)(bc,{action:t,variant:e.variant,size:e.size,onExecute:_},t.name))})});xc.displayName=`ActionGroupRenderer`,t.ComponentRegistry.register(`action:group`,xc,{namespace:`action`,label:`Action Group`,inputs:[{name:`name`,type:`string`,label:`Group Name`},{name:`label`,type:`string`,label:`Label`},{name:`icon`,type:`string`,label:`Icon`},{name:`actions`,type:`object`,label:`Actions`},{name:`display`,type:`enum`,label:`Display Mode`,enum:[`inline`,`dropdown`],defaultValue:`inline`},{name:`variant`,type:`enum`,label:`Variant`,enum:[`default`,`secondary`,`outline`,`ghost`],defaultValue:`outline`},{name:`size`,type:`enum`,label:`Size`,enum:[`sm`,`md`,`lg`],defaultValue:`sm`},{name:`className`,type:`string`,label:`CSS Class`,advanced:!0}],defaultProps:{display:`inline`,variant:`outline`,size:`sm`,actions:[]}});function Sc(){try{let{t:e}=(0,L.useObjectTranslation)(),t=e(`common.actions`);return!t||t===`common.actions`?`Actions`:t}catch{return`Actions`}}var Cc=(0,a.forwardRef)(({schema:e,className:n,...r},s)=>{let c=Sc(),{"data-obj-id":l,"data-obj-type":u,style:d,data:f,actions:p,systemActions:m,location:h,maxVisible:g,mobileMaxVisible:_,direction:v,gap:y,variant:b,size:x,visible:S,...C}=r,w=(0,i.useCondition)((0,i.toPredicateInput)(e.visible)),T=ni(),E=(0,a.useMemo)(()=>{let t=e.actions||[],n=e.location?t.filter(t=>!t.locations||t.locations.length===0||t.locations.includes(e.location)):t,r=new Set;return n.filter(e=>e.name?r.has(e.name)?!1:(r.add(e.name),!0):!0)},[e.actions,e.location]),D=(0,a.useMemo)(()=>{let t=e.systemActions||[],n=new Set;return t.filter(e=>e.name?n.has(e.name)?!1:(n.add(e.name),!0):!0)},[e.systemActions]),O=T?e.mobileMaxVisible??1:e.maxVisible??3,{inlineActions:k,overflowActions:A}=(0,a.useMemo)(()=>E.length<=O?{inlineActions:E,overflowActions:[]}:{inlineActions:E.slice(0,O),overflowActions:E.slice(O)},[E,O]),ee=(0,a.useMemo)(()=>{if(D.length===0)return A;if(A.length===0)return D;let[e,...t]=D,n={...e,tags:[...e.tags||[],`separator-before`]};return[...A,n,...t]},[A,D]);if(e.visible&&!w||E.length===0&&D.length===0)return null;let j=e.direction||`horizontal`,te=e.gap||`gap-2`,M=ee.length>0?t.ComponentRegistry.get(`action:menu`):null,N=M?(0,o.jsx)(M,{schema:{type:`action:menu`,actions:ee,variant:e.variant||`ghost`,size:e.size||`sm`}}):null;return(0,o.jsxs)(`div`,{ref:s,className:B(`flex items-center`,j===`vertical`?`flex-col items-stretch`:`flex-row flex-wrap`,te,e.className,n),role:`toolbar`,"aria-label":c,...C,"data-obj-id":l,"data-obj-type":u,style:d,children:[k.map(n=>{let r=n.component||`action:button`,i=t.ComponentRegistry.get(r);return i?(0,o.jsx)(i,{schema:{...n,type:r,actionType:n.type,variant:n.variant||e.variant,size:n.size||e.size},data:f},n.name):null}),ee.length>0&&N]})});Cc.displayName=`ActionBarRenderer`,t.ComponentRegistry.register(`action:bar`,Cc,{namespace:`action`,label:`Action Bar`,inputs:[{name:`actions`,type:`object`,label:`Actions`},{name:`systemActions`,type:`object`,label:`System Actions (always in overflow)`},{name:`location`,type:`enum`,label:`Location`,enum:[`list_toolbar`,`list_item`,`record_header`,`record_more`,`record_related`,`global_nav`]},{name:`maxVisible`,type:`number`,label:`Max Visible Actions`,defaultValue:3},{name:`direction`,type:`enum`,label:`Direction`,enum:[`horizontal`,`vertical`],defaultValue:`horizontal`},{name:`variant`,type:`enum`,label:`Default Variant`,enum:[`default`,`secondary`,`outline`,`ghost`],defaultValue:`outline`},{name:`size`,type:`enum`,label:`Default Size`,enum:[`sm`,`md`,`lg`],defaultValue:`sm`},{name:`className`,type:`string`,label:`CSS Class`,advanced:!0}],defaultProps:{maxVisible:3,direction:`horizontal`,variant:`outline`,size:`sm`,actions:[]}});var wc=({schema:e,className:t})=>{let n=e.type,r=n.startsWith(`view:`),i=n.startsWith(`widget:`),a=n.startsWith(`field:`);return(0,o.jsxs)(`div`,{className:B(`flex flex-col items-center justify-center p-6 border-2 border-dashed rounded-lg bg-muted/30 transition-colors hover:bg-muted/50`,r&&`border-blue-300 bg-blue-50/50 min-h-[200px]`,i&&`border-purple-300 bg-purple-50/50 min-h-[150px]`,a&&`border-yellow-300 bg-yellow-50/50 p-2 min-h-[40px] flex-row gap-2 justify-start`,t),children:[(0,o.jsxs)(`div`,{className:B(`flex items-center gap-2 text-muted-foreground`,a&&`text-sm`),children:[a?(0,o.jsx)(c.Box,{className:`h-4 w-4`}):(0,o.jsx)(c.FileQuestion,{className:`h-8 w-8 mb-2 opacity-50`}),(0,o.jsxs)(`div`,{className:`flex flex-col items-center text-center`,children:[(0,o.jsx)(`span`,{className:`font-mono font-medium text-foreground`,children:n}),!a&&(0,o.jsx)(`span`,{className:`text-xs`,children:`Component Placeholder`})]})]}),e.props&&!a&&(0,o.jsxs)(`div`,{className:`mt-4 w-full text-xs text-muted-foreground bg-background/50 p-2 rounded overflow-hidden`,children:[(0,o.jsx)(`div`,{className:`opacity-70`,children:`Properties:`}),(0,o.jsx)(`pre`,{className:`mt-1 truncate`,children:JSON.stringify(e.props,null,0)})]})]})},Tc=`view:grid.view:kanban.view:map.view:calendar.view:gantt.view:timeline.view:gallery.view:simple.view:wizard.view:tabbed.view:drawer.view:modal.view:split.field:text.field:textarea.field:password.field:email.field:url.field:phone.field:markdown.field:html.field:code.field:number.field:currency.field:percent.field:slider.field:boolean.field:checkboxes.field:select.field:multiselect.field:radio.field:date.field:datetime.field:time.field:duration.field:lookup.field:master_detail.field:tree.field:image.field:file.field:video.field:audio.field:avatar.field:color.field:rating.field:signature.field:qrcode.field:progress.field:json.field:address.field:location.page:header.page-header.page:footer.page:tabs.page:accordion.page:card.page:sidebar.record:details.record:highlights.record:related_list.record:activity.record:chatter.record:path.app:launcher.nav:menu.nav:breadcrumb.global:search.global:notifications.user:profile.widget:metric.widget:bar.widget:line.widget:pie.widget:funnel.widget:radar.widget:scatter.widget:heatmap.widget:pivot.widget:table.widget:text.widget:image.ai:input.ai:suggestion.ai:feedback`.split(`.`);function Ec(){Tc.forEach(e=>{t.ComponentRegistry.get(e)||t.ComponentRegistry.register(e,wc)})}function Dc(e,t){let n=t?.maxHistory??50,[r,i]=(0,a.useState)({...e}),[o,s]=(0,a.useState)(t?.mode===`create`),c=(0,a.useRef)([]),l=(0,a.useRef)([]),[,u]=(0,a.useState)(0);(0,a.useEffect)(()=>{i({...e}),s(t?.mode===`create`),c.current=[],l.current=[]},[e]);let d=(0,a.useCallback)((e,r)=>{i(t=>(c.current=[...c.current.slice(-(n-1)),t],l.current=[],{...t,[e]:r})),s(!0),u(e=>e+1),t?.onUpdate?.(e,r)},[t?.onUpdate,n]),f=(0,a.useCallback)(()=>{c.current.length!==0&&(i(e=>{let t=[...c.current],n=t.pop();return c.current=t,l.current=[e,...l.current],n}),u(e=>e+1))},[]),p=(0,a.useCallback)(()=>{l.current.length!==0&&(i(e=>{let t=[...l.current],n=t.shift();return l.current=t,c.current=[...c.current,e],n}),u(e=>e+1))},[]);return{draft:r,isDirty:o,updateField:d,discard:(0,a.useCallback)(()=>{i({...e}),s(!1),c.current=[],l.current=[],u(e=>e+1)},[e]),setDraft:i,undo:f,redo:p,canUndo:c.current.length>0,canRedo:l.current.length>0}}function Oc(e){let[t,n]=a.useState({width:0,height:0});return a.useEffect(()=>{let t=e.current;if(!t||typeof ResizeObserver>`u`)return;let r=t.getBoundingClientRect();n(e=>e.width===r.width&&e.height===r.height?e:{width:r.width,height:r.height});let i=new ResizeObserver(e=>{let t=e[0];if(!t)return;let r,i=t.borderBoxSize?.[0];r=i?{width:i.inlineSize,height:i.blockSize}:{width:t.contentRect.width,height:t.contentRect.height},n(e=>e.width===r.width&&e.height===r.height?e:r)});return i.observe(t),()=>i.disconnect()},[e]),t}var kc=[`completed`,`failed`,`cancelled`,`expired`];function Ac(e){return!!e&&kc.includes(e)}function jc(e={}){let{dataSource:t,pollIntervalMs:n=1500,maxAttempts:r=600,onComplete:i,onError:o}=e,[s,c]=(0,a.useState)(null),[l,u]=(0,a.useState)(null),[d,f]=(0,a.useState)(!1),p=(0,a.useRef)(null),m=(0,a.useRef)(null),h=(0,a.useRef)(0),g=(0,a.useRef)(!1),_=(0,a.useRef)({onComplete:i,onError:o});_.current={onComplete:i,onError:o};let v=!!t?.createExportJob&&!!t?.getExportJobProgress,y=(0,a.useCallback)(()=>{m.current&&=(clearTimeout(m.current),null)},[]),b=(0,a.useCallback)(()=>{y(),p.current=null,g.current=!1,h.current=0,c(null),u(null),f(!1)},[y]);(0,a.useEffect)(()=>()=>y(),[y]);let x=(0,a.useCallback)(async()=>{if(t?.getExportJobProgress&&!(!p.current||g.current)){if(h.current+=1,h.current>r){let e=Error(`Export job timed out (max attempts exceeded)`);u(e),f(!1),_.current.onError?.(e,s??void 0);return}try{let e=await t.getExportJobProgress(p.current);if(g.current)return;if(c(e),Ac(e.status)){if(f(!1),e.status===`completed`)_.current.onComplete?.(e);else{let t=e.error?.message??`Export ${e.status}`,n=Error(t);u(n),_.current.onError?.(n,e)}return}m.current=setTimeout(x,n)}catch(e){if(g.current)return;let t=e instanceof Error?e:Error(String(e));u(t),f(!1),_.current.onError?.(t,s??void 0)}}},[t,r,n,s]),S=(0,a.useCallback)(async(e,r)=>{if(!t?.createExportJob){let e=Error(`DataSource does not implement createExportJob — cannot start async export.`);return u(e),_.current.onError?.(e),null}y(),g.current=!1,h.current=0,u(null),c(null),f(!0);try{let i=await t.createExportJob(e,r);if(p.current=i.jobId,c({jobId:i.jobId,status:i.status,processedRecords:0,totalRecords:i.estimatedRecords,percentComplete:0}),Ac(i.status)){if(f(!1),i.status===`completed`&&t.getExportJobProgress)try{let e=await t.getExportJobProgress(i.jobId);c(e),_.current.onComplete?.(e)}catch{}return i.jobId}return m.current=setTimeout(x,n),i.jobId}catch(e){let t=e instanceof Error?e:Error(String(e));return u(t),f(!1),_.current.onError?.(t),null}},[t,y,x,n]),C=(0,a.useCallback)(async()=>{if(p.current){if(g.current=!0,y(),f(!1),t?.cancelExportJob)try{await t.cancelExportJob(p.current)}catch{}c(e=>e&&{...e,status:`cancelled`})}},[t,y]),w=(0,a.useCallback)(async()=>{if(!p.current)return null;if(t?.getExportJobDownloadUrl)try{return await t.getExportJobDownloadUrl(p.current)}catch{}return s?.downloadUrl??null},[t,s]);return{isRunning:d,progress:s,error:l,isSupported:v,start:S,cancel:C,getDownloadUrl:w,download:(0,a.useCallback)(async e=>{let t=await w();if(!t)return!1;let n=document.createElement(`a`);return n.href=t,e&&(n.download=e),n.rel=`noopener`,document.body.appendChild(n),n.click(),n.remove(),!0},[w]),reset:b}}function Mc({schema:e}){return e?(0,o.jsx)(`pre`,{className:`text-[11px] leading-relaxed font-mono overflow-auto max-h-[60vh] whitespace-pre-wrap break-all`,children:JSON.stringify(e,null,2)}):(0,o.jsx)(`p`,{className:`text-xs text-muted-foreground italic`,children:`No schema available`})}function Nc({dataContext:e}){return e?(0,o.jsx)(`pre`,{className:`text-[11px] leading-relaxed font-mono overflow-auto max-h-[60vh] whitespace-pre-wrap break-all`,children:JSON.stringify(e,null,2)}):(0,o.jsx)(`p`,{className:`text-xs text-muted-foreground italic`,children:`No data context available`})}function Pc(){let e=(0,a.useMemo)(()=>{try{return t.ComponentRegistry.getAllTypes()}catch{return[]}},[]);return e.length===0?(0,o.jsx)(`p`,{className:`text-xs text-muted-foreground italic`,children:`No registered components`}):(0,o.jsxs)(`div`,{className:`space-y-1 max-h-[60vh] overflow-auto`,children:[e.map(e=>(0,o.jsxs)(`div`,{className:`flex items-center gap-2 px-2 py-1 rounded text-xs font-mono bg-muted/30`,children:[(0,o.jsx)(`span`,{className:`inline-block w-2 h-2 rounded-full bg-green-500 shrink-0`}),e]},e)),(0,o.jsxs)(`p`,{className:`text-[10px] text-muted-foreground mt-2`,children:[e.length,` component`,e.length===1?``:`s`,` registered`]})]})}function Fc({flags:e}){return e?(0,o.jsx)(`pre`,{className:`text-[11px] leading-relaxed font-mono overflow-auto max-h-[60vh] whitespace-pre-wrap break-all`,children:JSON.stringify(e,null,2)}):(0,o.jsx)(`p`,{className:`text-xs text-muted-foreground italic`,children:`No debug flags`})}function Ic(e){let n=t.DebugCollector.getInstance(),[r,i]=(0,a.useState)(()=>n.getEntries(e));return a.default.useEffect(()=>(i(n.getEntries(e)),n.subscribe(()=>{i(n.getEntries(e))})),[n,e]),r}function Lc(){let e=Ic(`perf`).map(e=>e.data);return e.length===0?(0,o.jsx)(`p`,{className:`text-xs text-muted-foreground italic`,children:`No performance data collected yet`}):(0,o.jsxs)(`div`,{className:`space-y-1 max-h-[60vh] overflow-auto`,children:[e.map((e,t)=>(0,o.jsxs)(`div`,{className:B(`flex items-center justify-between px-2 py-1 rounded text-xs font-mono`,e.durationMs>16?`bg-red-50 text-red-700`:`bg-muted/30`),children:[(0,o.jsxs)(`span`,{className:`truncate mr-2`,children:[e.type,e.id?`:${e.id}`:``]}),(0,o.jsxs)(`span`,{className:`shrink-0 tabular-nums`,children:[e.durationMs.toFixed(2),`ms`]})]},t)),(0,o.jsxs)(`p`,{className:`text-[10px] text-muted-foreground mt-2`,children:[e.length,` render`,e.length===1?``:`s`,` tracked`]})]})}function Rc(){let e=Ic(`expr`).map(e=>e.data);return e.length===0?(0,o.jsx)(`p`,{className:`text-xs text-muted-foreground italic`,children:`No expression evaluations tracked yet`}):(0,o.jsxs)(`div`,{className:`space-y-1.5 max-h-[60vh] overflow-auto`,children:[e.map((e,t)=>(0,o.jsxs)(`div`,{className:`px-2 py-1.5 rounded bg-muted/30 text-xs font-mono`,children:[(0,o.jsx)(`div`,{className:`text-muted-foreground truncate`,children:e.expression}),(0,o.jsxs)(`div`,{className:`mt-0.5`,children:[`→ `,JSON.stringify(e.result)]})]},t)),(0,o.jsxs)(`p`,{className:`text-[10px] text-muted-foreground mt-2`,children:[e.length,` evaluation`,e.length===1?``:`s`,` tracked`]})]})}function zc(){let e=Ic(`event`).map(e=>e.data);return e.length===0?(0,o.jsx)(`p`,{className:`text-xs text-muted-foreground italic`,children:`No events captured yet`}):(0,o.jsxs)(`div`,{className:`space-y-1.5 max-h-[60vh] overflow-auto`,children:[e.map((e,t)=>(0,o.jsxs)(`div`,{className:`px-2 py-1.5 rounded bg-muted/30 text-xs font-mono`,children:[(0,o.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,o.jsx)(`span`,{className:`font-semibold`,children:e.action}),(0,o.jsx)(`span`,{className:`text-[10px] text-muted-foreground tabular-nums`,children:new Date(e.timestamp).toLocaleTimeString()})]}),e.payload!==void 0&&(0,o.jsx)(`pre`,{className:`mt-0.5 text-[10px] text-muted-foreground truncate`,children:JSON.stringify(e.payload)})]},t)),(0,o.jsxs)(`p`,{className:`text-[10px] text-muted-foreground mt-2`,children:[e.length,` event`,e.length===1?``:`s`,` captured`]})]})}function Bc({open:e,onClose:t,flags:n,schema:r,dataContext:i,extraTabs:s=[],className:c}){let l=(0,a.useMemo)(()=>[{id:`schema`,label:`Schema`,render:()=>(0,o.jsx)(Mc,{schema:r})},{id:`data`,label:`Data`,render:()=>(0,o.jsx)(Nc,{dataContext:i})},{id:`perf`,label:`Perf`,render:()=>(0,o.jsx)(Lc,{})},{id:`expr`,label:`Expr`,render:()=>(0,o.jsx)(Rc,{})},{id:`events`,label:`Events`,render:()=>(0,o.jsx)(zc,{})},{id:`registry`,label:`Registry`,render:()=>(0,o.jsx)(Pc,{})},{id:`flags`,label:`Flags`,render:()=>(0,o.jsx)(Fc,{flags:n})}],[r,i,n]),u=(0,a.useMemo)(()=>[...l,...s],[l,s]),[d,f]=(0,a.useState)(u[0]?.id??`schema`),p=u.find(e=>e.id===d)??u[0],m=(0,a.useCallback)(e=>{f(e)},[]);return e?(0,o.jsxs)(`div`,{className:B(`fixed bottom-4 right-4 z-[9999] w-[420px] max-w-[95vw] rounded-lg border bg-background shadow-2xl`,`flex flex-col overflow-hidden`,c),"data-testid":`debug-panel`,role:`dialog`,"aria-label":`Developer Debug Panel`,children:[(0,o.jsxs)(`div`,{className:`flex items-center justify-between px-3 py-2 border-b bg-muted/30`,children:[(0,o.jsx)(`span`,{className:`text-xs font-semibold uppercase tracking-wider text-muted-foreground`,children:`🛠 Debug Panel`}),(0,o.jsx)(`button`,{onClick:t,className:`text-muted-foreground hover:text-foreground text-sm leading-none px-1`,"aria-label":`Close debug panel`,"data-testid":`debug-panel-close`,children:`✕`})]}),(0,o.jsx)(`div`,{className:`flex border-b overflow-x-auto`,role:`tablist`,children:u.map(e=>(0,o.jsxs)(`button`,{role:`tab`,"aria-selected":e.id===p?.id,onClick:()=>m(e.id),className:B(`px-3 py-1.5 text-xs font-medium whitespace-nowrap transition-colors`,e.id===p?.id?`border-b-2 border-primary text-foreground`:`text-muted-foreground hover:text-foreground`),"data-testid":`debug-tab-${e.id}`,children:[e.icon&&(0,o.jsx)(`span`,{className:`mr-1`,children:e.icon}),e.label]},e.id))}),(0,o.jsx)(`div`,{className:`p-3 overflow-auto max-h-[50vh]`,"data-testid":`debug-panel-content`,children:p?.render()})]}):null}function Vc(){return!0}e.Accordion=H,e.AccordionContent=be,e.AccordionItem=ve,e.AccordionTrigger=ye,e.ActionParamDialog=Bo,e.Alert=Me,e.AlertDescription=Pe,e.AlertDialog=xe,e.AlertDialogAction=ke,e.AlertDialogCancel=Ae,e.AlertDialogContent=Te,e.AlertDialogDescription=Oe,e.AlertDialogFooter=G,e.AlertDialogHeader=Ee,e.AlertDialogOverlay=we,e.AlertDialogPortal=Ce,e.AlertDialogTitle=De,e.AlertDialogTrigger=Se,e.AlertTitle=Ne,e.AspectRatio=Fe,e.Avatar=Ie,e.AvatarFallback=Re,e.AvatarImage=Le,e.Badge=Be,e.Breadcrumb=Ve,e.BreadcrumbEllipsis=qe,e.BreadcrumbItem=Ue,e.BreadcrumbLink=We,e.BreadcrumbList=He,e.BreadcrumbPage=Ge,e.BreadcrumbSeparator=Ke,e.Button=W,e.ButtonGroup=ja,e.ButtonGroupSeparator=Na,e.ButtonGroupText=Ma,e.Calendar=Je,e.CalendarDayButton=Ye,e.Card=Xe,e.CardContent=et,e.CardDescription=$e,e.CardFooter=tt,e.CardHeader=Ze,e.CardTitle=Qe,e.Carousel=it,e.CarouselContent=at,e.CarouselItem=ot,e.CarouselNext=ct,e.CarouselPrevious=st,e.ChartContainer=ft,e.ChartLegend=gt,e.ChartLegendContent=_t,e.ChartSkeleton=Go,e.ChartStyle=pt,e.ChartTooltip=mt,e.ChartTooltipContent=ht,e.Checkbox=yt,e.Collapsible=bt,e.CollapsibleContent=St,e.CollapsibleTrigger=xt,e.Combobox=Pa,e.Command=Nt,e.CommandDialog=Pt,e.CommandEmpty=Lt,e.CommandGroup=Rt,e.CommandInput=Ft,e.CommandItem=Bt,e.CommandList=It,e.CommandSeparator=zt,e.CommandShortcut=Vt,e.ConfigFieldRenderer=$a,e.ConfigPanelRenderer=to,e.ConfigRow=Fa,e.ContextMenu=Ht,e.ContextMenuCheckboxItem=Qt,e.ContextMenuContent=Xt,e.ContextMenuGroup=Wt,e.ContextMenuItem=Zt,e.ContextMenuLabel=en,e.ContextMenuPortal=Gt,e.ContextMenuRadioGroup=qt,e.ContextMenuRadioItem=$t,e.ContextMenuSeparator=tn,e.ContextMenuShortcut=nn,e.ContextMenuSub=Kt,e.ContextMenuSubContent=Yt,e.ContextMenuSubTrigger=Jt,e.ContextMenuTrigger=Ut,e.DataEmptyState=ns,e.EmptyState=ns,e.DataErrorState=rs,e.DataLoadingState=ts,e.DatePicker=no,e.DebugPanel=Bc,e.Dialog=Ct,e.DialogClose=Et,e.DialogContent=Ot,e.DialogDescription=Mt,e.DialogFooter=At,e.DialogHeader=kt,e.DialogOverlay=Dt,e.DialogPortal=Tt,e.DialogTitle=jt,e.DialogTrigger=wt,e.Drawer=rn,e.DrawerClose=sn,e.DrawerContent=ln,e.DrawerDescription=pn,e.DrawerFooter=dn,e.DrawerHeader=un,e.DrawerOverlay=cn,e.DrawerPortal=on,e.DrawerTitle=fn,e.DrawerTrigger=an,e.DropdownMenu=mn,e.DropdownMenuCheckboxItem=wn,e.DropdownMenuContent=Sn,e.DropdownMenuGroup=gn,e.DropdownMenuItem=Cn,e.DropdownMenuLabel=En,e.DropdownMenuPortal=_n,e.DropdownMenuRadioGroup=yn,e.DropdownMenuRadioItem=Tn,e.DropdownMenuSeparator=Dn,e.DropdownMenuShortcut=On,e.DropdownMenuSub=vn,e.DropdownMenuSubContent=xn,e.DropdownMenuSubTrigger=bn,e.DropdownMenuTrigger=hn,e.Empty=io,e.EmptyContent=uo,e.EmptyDescription=lo,e.EmptyHeader=ao,e.EmptyMedia=so,e.EmptyTitle=co,e.EmptyValue=fo,e.ExportProgressDialog=os,e.Field=mo,e.FilterBuilder=Xa,e.Form=An,e.FormControl=Ln,e.FormDescription=Rn,e.FormField=Mn,e.FormItem=Fn,e.FormLabel=In,e.FormMessage=zn,e.FormSkeleton=Uo,e.GridSkeleton=Vo,e.GroupingEditor=zo,e.HoverCard=Bn,e.HoverCardContent=Hn,e.HoverCardTrigger=Vn,e.Input=q,e.InputGroup=ho,e.InputOTP=Un,e.InputOTPGroup=Wn,e.InputOTPSeparator=Kn,e.InputOTPSlot=Gn,e.Item=yo,e.ItemActions=To,e.ItemContent=So,e.ItemDescription=wo,e.ItemFooter=Do,e.ItemGroup=go,e.ItemHeader=Eo,e.ItemMedia=xo,e.ItemSeparator=_o,e.ItemTitle=Co,e.KanbanSkeleton=Ho,e.Kbd=Oo,e.KbdGroup=ko,e.Label=K,e.LazyIcon=Fs,e.ListSkeleton=Wo,e.LookupValuePicker=Za,e.Menubar=Qn,e.MenubarCheckboxItem=ir,e.MenubarContent=nr,e.MenubarGroup=Jn,e.MenubarItem=rr,e.MenubarLabel=or,e.MenubarMenu=qn,e.MenubarPortal=Yn,e.MenubarRadioGroup=Xn,e.MenubarRadioItem=ar,e.MenubarSeparator=sr,e.MenubarShortcut=cr,e.MenubarSub=Zn,e.MenubarSubContent=tr,e.MenubarSubTrigger=er,e.MenubarTrigger=$n,e.MobileDialogContent=is,e.NativeSelect=Ao,e.NavigationMenu=lr,e.NavigationMenuContent=mr,e.NavigationMenuIndicator=_r,e.NavigationMenuItem=dr,e.NavigationMenuLink=hr,e.NavigationMenuList=ur,e.NavigationMenuTrigger=pr,e.NavigationMenuViewport=gr,e.NavigationOverlay=Io,e.Pagination=vr,e.PaginationContent=yr,e.PaginationEllipsis=wr,e.PaginationItem=br,e.PaginationLink=xr,e.PaginationNext=Cr,e.PaginationPrevious=Sr,e.Popover=Tr,e.PopoverContent=Dr,e.PopoverTrigger=Er,e.Progress=Or,e.RadioGroup=kr,e.RadioGroupItem=Ar,e.RecordTitleChip=Zo,e.RefreshIndicator=es,e.RelatedCountStore=Ys,e.ResizableHandle=Nr,e.ResizablePanel=Mr,e.ResizablePanelGroup=jr,e.ScrollArea=Pr,e.ScrollBar=Fr,e.SectionHeader=eo,e.Select=Ir,e.SelectContent=Y,e.SelectGroup=Lr,e.SelectItem=X,e.SelectLabel=Vr,e.SelectScrollDownButton=Br,e.SelectScrollUpButton=zr,e.SelectSeparator=Hr,e.SelectTrigger=J,e.SelectValue=Rr,e.Separator=Ur,e.Sheet=Wr,e.SheetClose=Kr,e.SheetContent=Xr,e.SheetDescription=ei,e.SheetFooter=Qr,e.SheetHeader=Zr,e.SheetOverlay=Jr,e.SheetPortal=qr,e.SheetTitle=$r,e.SheetTrigger=Gr,e.ShimmerSkeleton=qo,e.Sidebar=gi,e.SidebarContent=wi,e.SidebarFooter=Si,e.SidebarGroup=Ti,e.SidebarGroupAction=Di,e.SidebarGroupContent=Oi,e.SidebarGroupLabel=Ei,e.SidebarHeader=xi,e.SidebarInput=bi,e.SidebarInset=yi,e.SidebarMenu=ki,e.SidebarMenuAction=Ni,e.SidebarMenuBadge=Pi,e.SidebarMenuButton=Mi,e.SidebarMenuItem=Ai,e.SidebarMenuSkeleton=Fi,e.SidebarMenuSub=Ii,e.SidebarMenuSubButton=Ri,e.SidebarMenuSubItem=Li,e.SidebarProvider=hi,e.SidebarRail=vi,e.SidebarSeparator=Ci,e.SidebarTrigger=_i,e.Skeleton=Z,e.Slider=zi,e.SortBuilder=Qa,e.Spinner=Lo,e.Switch=Vi,e.Table=Hi,e.TableBody=Wi,e.TableCaption=Yi,e.TableCell=Ji,e.TableFooter=Gi,e.TableHead=qi,e.TableHeader=Ui,e.TableRow=Ki,e.Tabs=Xi,e.TabsContent=$i,e.TabsList=Zi,e.TabsTrigger=Qi,e.Textarea=ea,e.Toaster=Bi,e.Toggle=na,e.ToggleGroup=ia,e.ToggleGroupItem=aa,e.Tooltip=ii,e.TooltipContent=oi,e.TooltipProvider=ri,e.TooltipTrigger=ai,e.TypographyBlockquote=da,e.TypographyH1=oa,e.TypographyH2=sa,e.TypographyH3=ca,e.TypographyH4=la,e.TypographyInlineCode=pa,e.TypographyLarge=ha,e.TypographyLead=ma,e.TypographyList=fa,e.TypographyMuted=_a,e.TypographyP=ua,e.TypographySmall=ga,e.ViewSkeleton=Ko,e.badgeVariants=ze,e.buttonGroupVariants=Aa,e.buttonVariants=U,e.cn=B,Object.defineProperty(e,`cva`,{enumerable:!0,get:function(){return d.cva}}),e.getLazyIcon=Ps,e.initializeComponents=Vc,e.navigationMenuTriggerStyle=fr,e.registerPlaceholders=Ec,e.renderChildren=V,e.toKebabIconName=As,e.toggleVariants=ta,e.useConfigDraft=Dc,e.useExportJob=jc,e.useFormField=Nn,e.useIsMobile=ni,e.useRelatedCount=Js,e.useResizeObserver=Oc,e.useSidebar=mi});
|