@gradeui/ui 0.5.1 → 0.5.3

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/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- 'use strict';var y=require('react'),ae=require('@radix-ui/react-accordion'),lucideReact=require('lucide-react'),clsx=require('clsx'),tailwindMerge=require('tailwind-merge'),classVarianceAuthority=require('class-variance-authority'),reactSlot=require('@radix-ui/react-slot'),reactDayPicker=require('react-day-picker'),_e=require('@radix-ui/react-checkbox'),dateFns=require('date-fns'),de=require('@radix-ui/react-popover'),F=require('@radix-ui/react-dialog'),x=require('@radix-ui/react-dropdown-menu'),It=require('@radix-ui/react-label'),Ve=require('@radix-ui/react-progress'),xe=require('@radix-ui/react-radio-group'),ne=require('@radix-ui/react-scroll-area'),R=require('@radix-ui/react-select'),Gt=require('@radix-ui/react-separator'),ge=require('@radix-ui/react-slider'),je=require('@radix-ui/react-switch'),ce=require('@radix-ui/react-tabs'),le=require('@radix-ui/react-tooltip'),I=require('three'),postprocessing=require('postprocessing'),Wn=require('lenis');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}function _interopNamespace(e){if(e&&e.__esModule)return e;var n=Object.create(null);if(e){Object.keys(e).forEach(function(k){if(k!=='default'){var d=Object.getOwnPropertyDescriptor(e,k);Object.defineProperty(n,k,d.get?d:{enumerable:true,get:function(){return e[k]}});}})}n.default=e;return Object.freeze(n)}var y__namespace=/*#__PURE__*/_interopNamespace(y);var ae__namespace=/*#__PURE__*/_interopNamespace(ae);var _e__namespace=/*#__PURE__*/_interopNamespace(_e);var de__namespace=/*#__PURE__*/_interopNamespace(de);var F__namespace=/*#__PURE__*/_interopNamespace(F);var x__namespace=/*#__PURE__*/_interopNamespace(x);var It__namespace=/*#__PURE__*/_interopNamespace(It);var Ve__namespace=/*#__PURE__*/_interopNamespace(Ve);var xe__namespace=/*#__PURE__*/_interopNamespace(xe);var ne__namespace=/*#__PURE__*/_interopNamespace(ne);var R__namespace=/*#__PURE__*/_interopNamespace(R);var Gt__namespace=/*#__PURE__*/_interopNamespace(Gt);var ge__namespace=/*#__PURE__*/_interopNamespace(ge);var je__namespace=/*#__PURE__*/_interopNamespace(je);var ce__namespace=/*#__PURE__*/_interopNamespace(ce);var le__namespace=/*#__PURE__*/_interopNamespace(le);var I__namespace=/*#__PURE__*/_interopNamespace(I);var Wn__default=/*#__PURE__*/_interopDefault(Wn);function a(...e){return tailwindMerge.twMerge(clsx.clsx(e))}var va=ae__namespace.Root,hr=y__namespace.forwardRef(({className:e,...t},r)=>y__namespace.createElement(ae__namespace.Item,{ref:r,className:a("border-b",e),...t}));hr.displayName="AccordionItem";var yr=y__namespace.forwardRef(({className:e,children:t,...r},o)=>y__namespace.createElement(ae__namespace.Header,{className:"flex"},y__namespace.createElement(ae__namespace.Trigger,{ref:o,className:a("flex flex-1 items-center justify-between py-4 font-medium transition-all hover:underline [&[data-state=open]>svg]:rotate-180",e),...r},t,y__namespace.createElement(lucideReact.ChevronDown,{className:"h-4 w-4 shrink-0 transition-transform duration-200"}))));yr.displayName=ae__namespace.Trigger.displayName;var vr=y__namespace.forwardRef(({className:e,children:t,...r},o)=>y__namespace.createElement(ae__namespace.Content,{ref:o,className:"overflow-hidden text-sm transition-all data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down",...r},y__namespace.createElement("div",{className:a("pb-4 pt-0",e)},t)));vr.displayName=ae__namespace.Content.displayName;var xa=classVarianceAuthority.cva("relative w-full rounded-lg border p-4 [&>svg~*]:pl-7 [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4",{variants:{variant:{default:"bg-background text-foreground [&>svg]:text-foreground",destructive:"border-destructive/30 bg-destructive-soft text-destructive-deep [&>svg]:text-destructive-deep",success:"border-success/30 bg-success-soft text-success-deep [&>svg]:text-success-deep",warning:"border-warning/30 bg-warning-soft text-warning-deep [&>svg]:text-warning-deep",info:"border-info/30 bg-info-soft text-info-deep [&>svg]:text-info-deep",highlight:"border-highlight/30 bg-highlight-soft text-foreground [&>svg]:text-highlight-deep"}},defaultVariants:{variant:"default"}}),br=y__namespace.forwardRef(({className:e,variant:t,...r},o)=>y__namespace.createElement("div",{ref:o,role:"alert",className:a(xa({variant:t}),e),...r}));br.displayName="Alert";var xr=y__namespace.forwardRef(({className:e,...t},r)=>y__namespace.createElement("h5",{ref:r,className:a("mb-1 font-medium leading-none tracking-tight",e),...t}));xr.displayName="AlertTitle";var Rr=y__namespace.forwardRef(({className:e,...t},r)=>y__namespace.createElement("div",{ref:r,className:a("text-sm [&_p]:leading-relaxed",e),...t}));Rr.displayName="AlertDescription";var wr=classVarianceAuthority.cva("inline-flex items-center gap-1 border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 [&_svg]:size-3 [&_svg]:shrink-0",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground shadow hover:bg-primary/80",secondary:"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",destructive:"border-transparent bg-destructive text-destructive-foreground shadow hover:bg-destructive/80",outline:"text-foreground",highlight:"border-transparent bg-rds-yellow-400 text-rds-gray-900 shadow hover:bg-rds-yellow-500",success:"border-transparent bg-rds-green-500 text-rds-gray-900 shadow hover:bg-rds-green-600",warning:"border-transparent bg-orange-500 text-white shadow hover:bg-orange-600",info:"border-transparent bg-blue-500 text-white shadow hover:bg-blue-600","success-soft":"border-rds-green-500/20 bg-rds-green-500/10 text-rds-green-600 dark:text-rds-green-400","warning-soft":"border-orange-500/20 bg-orange-500/10 text-orange-600 dark:text-orange-400","destructive-soft":"border-destructive/20 bg-destructive/10 text-destructive dark:text-red-400","info-soft":"border-blue-500/20 bg-blue-500/10 text-blue-600 dark:text-blue-400","highlight-soft":"border-rds-yellow-500/20 bg-rds-yellow-400/10 text-rds-yellow-600 dark:text-rds-yellow-400","success-outline":"border-rds-green-500/50 bg-transparent text-rds-green-600 dark:text-rds-green-400","warning-outline":"border-orange-500/50 bg-transparent text-orange-600 dark:text-orange-400","destructive-outline":"border-destructive/50 bg-transparent text-destructive dark:text-red-400","info-outline":"border-blue-500/50 bg-transparent text-blue-600 dark:text-blue-400"},rounded:{default:"rounded-md",full:"rounded-full"}},defaultVariants:{variant:"default",rounded:"default"}});function Ta({className:e,variant:t,rounded:r,...o}){return y__namespace.createElement("div",{className:a(wr({variant:t,rounded:r}),e),...o})}var Ue=classVarianceAuthority.cva("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",{variants:{variant:{default:"bg-primary text-primary-foreground shadow hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90",outline:"border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2",sm:"h-8 rounded-md px-3 text-xs",lg:"h-10 rounded-md px-8",icon:"h-9 w-9"}},defaultVariants:{variant:"default",size:"default"}}),X=y__namespace.forwardRef(({className:e,variant:t,size:r,asChild:o=false,...n},i)=>y__namespace.createElement(o?reactSlot.Slot:"button",{className:a("rds-button",Ue({variant:t,size:r,className:e})),ref:i,...n}));X.displayName="Button";function lt({className:e,classNames:t,showOutsideDays:r=true,captionLayout:o="label",buttonVariant:n="ghost",formatters:i,components:d,...l}){let s=reactDayPicker.getDefaultClassNames();return y__namespace.createElement(reactDayPicker.DayPicker,{showOutsideDays:r,className:a("bg-background group/calendar p-3 [--cell-size:2rem] [[data-slot=card-content]_&]:bg-transparent [[data-slot=popover-content]_&]:bg-transparent",String.raw`rtl:**:[.rdp-button\_next>svg]:rotate-180`,String.raw`rtl:**:[.rdp-button\_previous>svg]:rotate-180`,e),captionLayout:o,formatters:{formatMonthDropdown:p=>p.toLocaleString("default",{month:"short"}),...i},classNames:{root:a("w-fit",s.root),months:a("relative flex flex-col gap-4 md:flex-row",s.months),month:a("flex w-full flex-col gap-4",s.month),nav:a("absolute inset-x-0 top-0 flex w-full items-center justify-between gap-1",s.nav),button_previous:a(Ue({variant:n}),"h-[--cell-size] w-[--cell-size] select-none p-0 aria-disabled:opacity-50",s.button_previous),button_next:a(Ue({variant:n}),"h-[--cell-size] w-[--cell-size] select-none p-0 aria-disabled:opacity-50",s.button_next),month_caption:a("flex h-[--cell-size] w-full items-center justify-center px-[--cell-size]",s.month_caption),dropdowns:a("flex h-[--cell-size] w-full items-center justify-center gap-1.5 text-sm font-medium",s.dropdowns),dropdown_root:a("has-focus:border-ring border-input shadow-xs has-focus:ring-ring/50 has-focus:ring-[3px] relative rounded-md border",s.dropdown_root),dropdown:a("bg-popover absolute inset-0 opacity-0",s.dropdown),caption_label:a("select-none font-medium",o==="label"?"text-sm":"[&>svg]:text-muted-foreground flex h-8 items-center gap-1 rounded-md pl-2 pr-1 text-sm [&>svg]:size-3.5",s.caption_label),table:"w-full border-collapse",weekdays:a("flex",s.weekdays),weekday:a("text-muted-foreground flex-1 select-none rounded-md text-[0.8rem] font-normal",s.weekday),week:a("mt-2 flex w-full",s.week),week_number_header:a("w-[--cell-size] select-none",s.week_number_header),week_number:a("text-muted-foreground select-none text-[0.8rem]",s.week_number),day:a("group/day relative aspect-square h-full w-full select-none p-0 text-center [&:first-child[data-selected=true]_button]:rounded-l-md [&:last-child[data-selected=true]_button]:rounded-r-md",s.day),range_start:a("bg-accent rounded-l-md",s.range_start),range_middle:a("rounded-none",s.range_middle),range_end:a("bg-accent rounded-r-md",s.range_end),today:a("bg-accent text-accent-foreground rounded-md data-[selected=true]:rounded-none",s.today),outside:a("text-muted-foreground aria-selected:text-muted-foreground",s.outside),disabled:a("text-muted-foreground opacity-50",s.disabled),hidden:a("invisible",s.hidden),...t},components:{Root:({className:p,rootRef:c,...u})=>y__namespace.createElement("div",{"data-slot":"calendar",ref:c,className:a(p),...u}),Chevron:({className:p,orientation:c,...u})=>c==="left"?y__namespace.createElement(lucideReact.ChevronLeftIcon,{className:a("size-4",p),...u}):c==="right"?y__namespace.createElement(lucideReact.ChevronRightIcon,{className:a("size-4",p),...u}):y__namespace.createElement(lucideReact.ChevronDownIcon,{className:a("size-4",p),...u}),DayButton:Sr,WeekNumber:({children:p,...c})=>y__namespace.createElement("td",{...c},y__namespace.createElement("div",{className:"flex size-[--cell-size] items-center justify-center text-center"},p)),...d},...l})}function Sr({className:e,day:t,modifiers:r,...o}){let n=reactDayPicker.getDefaultClassNames(),i=y__namespace.useRef(null);return y__namespace.useEffect(()=>{r.focused&&i.current?.focus();},[r.focused]),y__namespace.createElement(X,{ref:i,variant:"ghost",size:"icon","data-day":`${t.date.getFullYear()}-${String(t.date.getMonth()+1).padStart(2,"0")}-${String(t.date.getDate()).padStart(2,"0")}`,"data-selected-single":r.selected&&!r.range_start&&!r.range_end&&!r.range_middle,"data-range-start":r.range_start,"data-range-end":r.range_end,"data-range-middle":r.range_middle,className:a("data-[selected-single=true]:bg-primary data-[selected-single=true]:text-primary-foreground data-[range-middle=true]:bg-accent data-[range-middle=true]:text-accent-foreground data-[range-start=true]:bg-primary data-[range-start=true]:text-primary-foreground data-[range-end=true]:bg-primary data-[range-end=true]:text-primary-foreground group-data-[focused=true]/day:border-ring group-data-[focused=true]/day:ring-ring/50 flex aspect-square h-auto w-full min-w-[--cell-size] flex-col gap-1 font-normal leading-none data-[range-end=true]:rounded-md data-[range-middle=true]:rounded-none data-[range-start=true]:rounded-md group-data-[focused=true]/day:relative group-data-[focused=true]/day:z-10 group-data-[focused=true]/day:ring-[3px] [&>span]:text-xs [&>span]:opacity-70",n.day,e),...o})}var Cr=y__namespace.forwardRef(({className:e,...t},r)=>y__namespace.createElement("div",{ref:r,className:a("rds-card rounded-xl border bg-card text-card-foreground shadow",e),...t}));Cr.displayName="Card";var Nr=y__namespace.forwardRef(({className:e,...t},r)=>y__namespace.createElement("div",{ref:r,className:a("flex flex-col space-y-1.5 p-6",e),...t}));Nr.displayName="CardHeader";var kr=y__namespace.forwardRef(({className:e,...t},r)=>y__namespace.createElement("div",{ref:r,className:a("font-semibold leading-none tracking-tight",e),...t}));kr.displayName="CardTitle";var Mr=y__namespace.forwardRef(({className:e,...t},r)=>y__namespace.createElement("div",{ref:r,className:a("text-sm text-muted-foreground",e),...t}));Mr.displayName="CardDescription";var Er=y__namespace.forwardRef(({className:e,...t},r)=>y__namespace.createElement("div",{ref:r,className:a("p-6 pt-0",e),...t}));Er.displayName="CardContent";var Hr=y__namespace.forwardRef(({className:e,...t},r)=>y__namespace.createElement("div",{ref:r,className:a("flex items-center p-6 pt-0",e),...t}));Hr.displayName="CardFooter";var Lr=y__namespace.forwardRef(({className:e,...t},r)=>y__namespace.createElement(_e__namespace.Root,{ref:r,className:a("rds-checkbox peer h-4 w-4 shrink-0 rounded-[3px] 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},y__namespace.createElement(_e__namespace.Indicator,{className:a("flex items-center justify-center text-current")},y__namespace.createElement(lucideReact.Check,{className:"h-4 w-4"}))));Lr.displayName=_e__namespace.Root.displayName;var De=de__namespace.Root,Ie=de__namespace.Trigger,Ea=de__namespace.Anchor,Ne=y__namespace.forwardRef(({className:e,align:t="center",sideOffset:r=4,...o},n)=>y__namespace.createElement(de__namespace.Portal,null,y__namespace.createElement(de__namespace.Content,{ref:n,align:t,sideOffset:r,className:a("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),...o})));Ne.displayName=de__namespace.Content.displayName;var Ha="PPP",La="LLL dd, y";function Da({value:e,onChange:t,placeholder:r="Pick a date",disabled:o,className:n,contentClassName:i,align:d="start",side:l,format:s=Ha,captionLayout:p,icon:c,"aria-label":u}){return y__namespace.createElement(De,null,y__namespace.createElement(Ie,{asChild:true},y__namespace.createElement(X,{type:"button",variant:"outline",disabled:o,"aria-label":u??(e?void 0:r),"data-empty":!e,className:a("w-[280px] justify-start text-left font-normal data-[empty=true]:text-muted-foreground",n)},c??y__namespace.createElement(lucideReact.CalendarIcon,{className:"mr-2 h-4 w-4","aria-hidden":true}),e?dateFns.format(e,s):y__namespace.createElement("span",null,r))),y__namespace.createElement(Ne,{className:a("w-auto p-0",i),align:d,side:l},y__namespace.createElement(lt,{mode:"single",selected:e,onSelect:t,captionLayout:p,initialFocus:true})))}function Ia({value:e,onChange:t,placeholder:r="Pick a date range",disabled:o,className:n,contentClassName:i,align:d="start",side:l,format:s=La,captionLayout:p,icon:c,numberOfMonths:u=2,"aria-label":g}){let h=!!e?.from;return y__namespace.createElement(De,null,y__namespace.createElement(Ie,{asChild:true},y__namespace.createElement(X,{type:"button",variant:"outline",disabled:o,"aria-label":g??(h?void 0:r),"data-empty":!h,className:a("w-[300px] justify-start text-left font-normal data-[empty=true]:text-muted-foreground",n)},c??y__namespace.createElement(lucideReact.CalendarIcon,{className:"mr-2 h-4 w-4","aria-hidden":true}),e?.from?e.to?y__namespace.createElement(y__namespace.Fragment,null,dateFns.format(e.from,s)," \u2013"," ",dateFns.format(e.to,s)):dateFns.format(e.from,s):y__namespace.createElement("span",null,r))),y__namespace.createElement(Ne,{className:a("w-auto p-0",i),align:d,side:l},y__namespace.createElement(lt,{mode:"range",selected:e,onSelect:t,defaultMonth:e?.from,numberOfMonths:u,captionLayout:p,initialFocus:true})))}var Fa=F__namespace.Root,Oa=F__namespace.Trigger,Ir=F__namespace.Portal,Ga=F__namespace.Close,Dt=y__namespace.forwardRef(({className:e,...t},r)=>y__namespace.createElement(F__namespace.Overlay,{ref:r,className:a("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=F__namespace.Overlay.displayName;var Ar=y__namespace.forwardRef(({className:e,children:t,...r},o)=>y__namespace.createElement(Ir,null,y__namespace.createElement(Dt,null),y__namespace.createElement(F__namespace.Content,{ref:o,className:a("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),...r},t,y__namespace.createElement(F__namespace.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"},y__namespace.createElement(lucideReact.X,{className:"h-4 w-4"}),y__namespace.createElement("span",{className:"sr-only"},"Close")))));Ar.displayName=F__namespace.Content.displayName;var Fr=({className:e,...t})=>y__namespace.createElement("div",{className:a("flex flex-col space-y-1.5 text-center sm:text-left",e),...t});Fr.displayName="DialogHeader";var Or=({className:e,...t})=>y__namespace.createElement("div",{className:a("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",e),...t});Or.displayName="DialogFooter";var Gr=y__namespace.forwardRef(({className:e,...t},r)=>y__namespace.createElement(F__namespace.Title,{ref:r,className:a("text-lg font-semibold leading-none tracking-tight",e),...t}));Gr.displayName=F__namespace.Title.displayName;var $r=y__namespace.forwardRef(({className:e,...t},r)=>y__namespace.createElement(F__namespace.Description,{ref:r,className:a("text-sm text-muted-foreground",e),...t}));$r.displayName=F__namespace.Description.displayName;var _a=x__namespace.Root,Ka=x__namespace.Trigger,za=x__namespace.Group,Va=x__namespace.Portal,Wa=x__namespace.Sub,ja=x__namespace.RadioGroup,Br=y__namespace.forwardRef(({className:e,inset:t,children:r,...o},n)=>y__namespace.createElement(x__namespace.SubTrigger,{ref:n,className:a("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),...o},r,y__namespace.createElement(lucideReact.ChevronRight,{className:"ml-auto"})));Br.displayName=x__namespace.SubTrigger.displayName;var Ur=y__namespace.forwardRef(({className:e,...t},r)=>y__namespace.createElement(x__namespace.SubContent,{ref:r,className:a("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}));Ur.displayName=x__namespace.SubContent.displayName;var _r=y__namespace.forwardRef(({className:e,sideOffset:t=4,...r},o)=>y__namespace.createElement(x__namespace.Portal,null,y__namespace.createElement(x__namespace.Content,{ref:o,sideOffset:t,className:a("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),...r})));_r.displayName=x__namespace.Content.displayName;var Kr=y__namespace.forwardRef(({className:e,inset:t,...r},o)=>y__namespace.createElement(x__namespace.Item,{ref:o,className:a("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]:size-4 [&>svg]:shrink-0",t&&"pl-8",e),...r}));Kr.displayName=x__namespace.Item.displayName;var zr=y__namespace.forwardRef(({className:e,children:t,checked:r,...o},n)=>y__namespace.createElement(x__namespace.CheckboxItem,{ref:n,className:a("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:r,...o},y__namespace.createElement("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center"},y__namespace.createElement(x__namespace.ItemIndicator,null,y__namespace.createElement(lucideReact.Check,{className:"h-4 w-4"}))),t));zr.displayName=x__namespace.CheckboxItem.displayName;var Vr=y__namespace.forwardRef(({className:e,children:t,...r},o)=>y__namespace.createElement(x__namespace.RadioItem,{ref:o,className:a("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),...r},y__namespace.createElement("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center"},y__namespace.createElement(x__namespace.ItemIndicator,null,y__namespace.createElement(lucideReact.Circle,{className:"h-2 w-2 fill-current"}))),t));Vr.displayName=x__namespace.RadioItem.displayName;var Wr=y__namespace.forwardRef(({className:e,inset:t,...r},o)=>y__namespace.createElement(x__namespace.Label,{ref:o,className:a("px-2 py-1.5 text-sm font-semibold",t&&"pl-8",e),...r}));Wr.displayName=x__namespace.Label.displayName;var jr=y__namespace.forwardRef(({className:e,...t},r)=>y__namespace.createElement(x__namespace.Separator,{ref:r,className:a("-mx-1 my-1 h-px bg-muted",e),...t}));jr.displayName=x__namespace.Separator.displayName;var qr=({className:e,...t})=>y__namespace.createElement("span",{className:a("ml-auto text-xs tracking-widest opacity-60",e),...t});qr.displayName="DropdownMenuShortcut";var Yr=y__namespace.forwardRef(({className:e,type:t,...r},o)=>y__namespace.createElement("input",{type:t,className:a("flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-base shadow-sm transition-colors 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-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",e),ref:o,...r}));Yr.displayName="Input";var Ya=classVarianceAuthority.cva("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"),Xr=y__namespace.forwardRef(({className:e,...t},r)=>y__namespace.createElement(It__namespace.Root,{ref:r,className:a(Ya(),e),...t}));Xr.displayName=It__namespace.Root.displayName;var Zr=y__namespace.forwardRef(({className:e,value:t,...r},o)=>y__namespace.createElement(Ve__namespace.Root,{ref:o,className:a("relative h-4 w-full overflow-hidden rounded-full bg-secondary",e),...r},y__namespace.createElement(Ve__namespace.Indicator,{className:"h-full w-full flex-1 bg-primary transition-all",style:{transform:`translateX(-${100-(t||0)}%)`}})));Zr.displayName=Ve__namespace.Root.displayName;var Jr=y__namespace.forwardRef(({className:e,...t},r)=>y__namespace.createElement(xe__namespace.Root,{className:a("grid gap-2",e),...t,ref:r}));Jr.displayName=xe__namespace.Root.displayName;var Qr=y__namespace.forwardRef(({className:e,...t},r)=>y__namespace.createElement(xe__namespace.Item,{ref:r,className:a("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},y__namespace.createElement(xe__namespace.Indicator,{className:"flex items-center justify-center"},y__namespace.createElement(lucideReact.Circle,{className:"h-2.5 w-2.5 fill-current text-current"}))));Qr.displayName=xe__namespace.Item.displayName;var eo=y__namespace.forwardRef(({className:e,children:t,...r},o)=>y__namespace.createElement(ne__namespace.Root,{ref:o,className:a("relative overflow-hidden",e),...r},y__namespace.createElement(ne__namespace.Viewport,{className:"h-full w-full rounded-[inherit]"},t),y__namespace.createElement(At,null),y__namespace.createElement(ne__namespace.Corner,null)));eo.displayName=ne__namespace.Root.displayName;var At=y__namespace.forwardRef(({className:e,orientation:t="vertical",...r},o)=>y__namespace.createElement(ne__namespace.ScrollAreaScrollbar,{ref:o,orientation:t,className:a("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),...r},y__namespace.createElement(ne__namespace.ScrollAreaThumb,{className:"relative flex-1 rounded-full bg-border"})));At.displayName=ne__namespace.ScrollAreaScrollbar.displayName;var Qa=R__namespace.Root,en=R__namespace.Group,tn=R__namespace.Value,ro=y__namespace.forwardRef(({className:e,children:t,...r},o)=>y__namespace.createElement(R__namespace.Trigger,{ref:o,className:a("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 [&>span]:line-clamp-1",e),...r},t,y__namespace.createElement(R__namespace.Icon,{asChild:true},y__namespace.createElement(lucideReact.ChevronDown,{className:"h-4 w-4 opacity-50"}))));ro.displayName=R__namespace.Trigger.displayName;var Ft=y__namespace.forwardRef(({className:e,...t},r)=>y__namespace.createElement(R__namespace.ScrollUpButton,{ref:r,className:a("flex cursor-default items-center justify-center py-1",e),...t},y__namespace.createElement(lucideReact.ChevronUp,{className:"h-4 w-4"})));Ft.displayName=R__namespace.ScrollUpButton.displayName;var Ot=y__namespace.forwardRef(({className:e,...t},r)=>y__namespace.createElement(R__namespace.ScrollDownButton,{ref:r,className:a("flex cursor-default items-center justify-center py-1",e),...t},y__namespace.createElement(lucideReact.ChevronDown,{className:"h-4 w-4"})));Ot.displayName=R__namespace.ScrollDownButton.displayName;var oo=y__namespace.forwardRef(({className:e,children:t,position:r="popper",...o},n)=>y__namespace.createElement(R__namespace.Portal,null,y__namespace.createElement(R__namespace.Content,{ref:n,className:a("relative z-50 max-h-96 min-w-[8rem] overflow-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",r==="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:r,...o},y__namespace.createElement(Ft,null),y__namespace.createElement(R__namespace.Viewport,{className:a("p-1",r==="popper"&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]")},t),y__namespace.createElement(Ot,null))));oo.displayName=R__namespace.Content.displayName;var ao=y__namespace.forwardRef(({className:e,...t},r)=>y__namespace.createElement(R__namespace.Label,{ref:r,className:a("py-1.5 pl-8 pr-2 text-sm font-semibold",e),...t}));ao.displayName=R__namespace.Label.displayName;var no=y__namespace.forwardRef(({className:e,children:t,...r},o)=>y__namespace.createElement(R__namespace.Item,{ref:o,className:a("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),...r},y__namespace.createElement("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center"},y__namespace.createElement(R__namespace.ItemIndicator,null,y__namespace.createElement(lucideReact.Check,{className:"h-4 w-4"}))),y__namespace.createElement(R__namespace.ItemText,null,t)));no.displayName=R__namespace.Item.displayName;var io=y__namespace.forwardRef(({className:e,...t},r)=>y__namespace.createElement(R__namespace.Separator,{ref:r,className:a("-mx-1 my-1 h-px bg-muted",e),...t}));io.displayName=R__namespace.Separator.displayName;var so=y__namespace.forwardRef(({className:e,orientation:t="horizontal",decorative:r=true,...o},n)=>y__namespace.createElement(Gt__namespace.Root,{ref:n,decorative:r,orientation:t,className:a("shrink-0 bg-border",t==="horizontal"?"h-[1px] w-full":"h-full w-[1px]",e),...o}));so.displayName=Gt__namespace.Root.displayName;var an=F__namespace.Root,nn=F__namespace.Trigger,sn=F__namespace.Close,co=F__namespace.Portal,$t=y__namespace.forwardRef(({className:e,...t},r)=>y__namespace.createElement(F__namespace.Overlay,{className:a("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:r}));$t.displayName=F__namespace.Overlay.displayName;var dn=classVarianceAuthority.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"}}),lo=y__namespace.forwardRef(({side:e="right",className:t,children:r,...o},n)=>y__namespace.createElement(co,null,y__namespace.createElement($t,null),y__namespace.createElement(F__namespace.Content,{ref:n,className:a(dn({side:e}),t),...o},r,y__namespace.createElement(F__namespace.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"},y__namespace.createElement(lucideReact.X,{className:"h-4 w-4"}),y__namespace.createElement("span",{className:"sr-only"},"Close")))));lo.displayName=F__namespace.Content.displayName;var po=({className:e,...t})=>y__namespace.createElement("div",{className:a("flex flex-col space-y-2 text-center sm:text-left",e),...t});po.displayName="SheetHeader";var mo=({className:e,...t})=>y__namespace.createElement("div",{className:a("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",e),...t});mo.displayName="SheetFooter";var uo=y__namespace.forwardRef(({className:e,...t},r)=>y__namespace.createElement(F__namespace.Title,{ref:r,className:a("text-lg font-semibold text-foreground",e),...t}));uo.displayName=F__namespace.Title.displayName;var fo=y__namespace.forwardRef(({className:e,...t},r)=>y__namespace.createElement(F__namespace.Description,{ref:r,className:a("text-sm text-muted-foreground",e),...t}));fo.displayName=F__namespace.Description.displayName;function cn({className:e,...t}){return React.createElement("div",{className:a("animate-pulse rounded-md bg-muted",e),...t})}var go=y__namespace.forwardRef(({className:e,...t},r)=>y__namespace.createElement(ge__namespace.Root,{ref:r,className:a("relative flex w-full touch-none select-none items-center",e),...t},y__namespace.createElement(ge__namespace.Track,{className:"relative h-2 w-full grow overflow-hidden rounded-full bg-secondary"},y__namespace.createElement(ge__namespace.Range,{className:"absolute h-full bg-primary"})),y__namespace.createElement(ge__namespace.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"})));go.displayName=ge__namespace.Root.displayName;var ho=y__namespace.forwardRef(({className:e,...t},r)=>y__namespace.createElement(je__namespace.Root,{className:a("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:r},y__namespace.createElement(je__namespace.Thumb,{className:a("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")})));ho.displayName=je__namespace.Root.displayName;var yo=y__namespace.forwardRef(({className:e,...t},r)=>y__namespace.createElement("div",{className:"relative w-full overflow-auto"},y__namespace.createElement("table",{ref:r,className:a("w-full caption-bottom text-sm",e),...t})));yo.displayName="Table";var vo=y__namespace.forwardRef(({className:e,...t},r)=>y__namespace.createElement("thead",{ref:r,className:a("[&_tr]:border-b",e),...t}));vo.displayName="TableHeader";var bo=y__namespace.forwardRef(({className:e,...t},r)=>y__namespace.createElement("tbody",{ref:r,className:a("[&_tr:last-child]:border-0",e),...t}));bo.displayName="TableBody";var xo=y__namespace.forwardRef(({className:e,...t},r)=>y__namespace.createElement("tfoot",{ref:r,className:a("border-t bg-muted/50 font-medium [&>tr]:last:border-b-0",e),...t}));xo.displayName="TableFooter";var Ro=y__namespace.forwardRef(({className:e,...t},r)=>y__namespace.createElement("tr",{ref:r,className:a("border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted",e),...t}));Ro.displayName="TableRow";var To=y__namespace.forwardRef(({className:e,...t},r)=>y__namespace.createElement("th",{ref:r,className:a("h-10 px-2 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",e),...t}));To.displayName="TableHead";var wo=y__namespace.forwardRef(({className:e,...t},r)=>y__namespace.createElement("td",{ref:r,className:a("p-2 align-middle [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",e),...t}));wo.displayName="TableCell";var Po=y__namespace.forwardRef(({className:e,...t},r)=>y__namespace.createElement("caption",{ref:r,className:a("mt-4 text-sm text-muted-foreground",e),...t}));Po.displayName="TableCaption";var ln=ce__namespace.Root,So=y__namespace.forwardRef(({className:e,...t},r)=>y__namespace.createElement(ce__namespace.List,{ref:r,className:a("inline-flex h-9 items-center justify-center rounded-lg bg-muted p-1 text-muted-foreground",e),...t}));So.displayName=ce__namespace.List.displayName;var Co=y__namespace.forwardRef(({className:e,...t},r)=>y__namespace.createElement(ce__namespace.Trigger,{ref:r,className:a("inline-flex items-center justify-center whitespace-nowrap rounded-md px-3 py-1 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",e),...t}));Co.displayName=ce__namespace.Trigger.displayName;var No=y__namespace.forwardRef(({className:e,...t},r)=>y__namespace.createElement(ce__namespace.Content,{ref:r,className:a("mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",e),...t}));No.displayName=ce__namespace.Content.displayName;var ko=y__namespace.forwardRef(({className:e,...t},r)=>y__namespace.createElement("textarea",{className:a("flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2 text-sm 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",e),ref:r,...t}));ko.displayName="Textarea";var Bt=le__namespace.Provider,Ut=le__namespace.Root,_t=le__namespace.Trigger,ht=y__namespace.forwardRef(({className:e,sideOffset:t=4,...r},o)=>y__namespace.createElement(le__namespace.Portal,null,y__namespace.createElement(le__namespace.Content,{ref:o,sideOffset:t,className:a("z-50 overflow-hidden rounded-md bg-primary px-3 py-1.5 text-xs text-primary-foreground 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),...r})));ht.displayName=le__namespace.Content.displayName;var Eo=y__namespace.createContext(null);function Ho(){let e=y__namespace.useContext(Eo);if(!e)throw new Error("SideMenu components must be used within SideMenu");return e}var un=({href:e,className:t,children:r})=>y__namespace.createElement("a",{href:e,className:t},r),Lo=y__namespace.forwardRef(({header:e,collapsedHeader:t,sections:r,items:o,footer:n,collapsed:i,onCollapsedChange:d,collapsible:l=true,defaultCollapsed:s=false,activeItem:p,className:c,linkComponent:u=un},g)=>{let[h,T]=y__namespace.useState(s),f=i??h,m=()=>{let w=!f;T(w),d?.(w);};return y__namespace.createElement(Bt,{delayDuration:0},y__namespace.createElement(Eo.Provider,{value:{collapsed:f,activeItem:p,LinkComponent:u}},y__namespace.createElement("aside",{ref:g,className:a("flex h-full flex-col transition-[width] duration-300 ease-in-out","bg-white dark:bg-[#141414] border-r border-rds-gray-200 dark:border-[#1a1a1a]",f?"w-16":"w-64",c)},y__namespace.createElement("div",{className:a("flex items-center border-b border-rds-gray-200 dark:border-[#1a1a1a] flex-shrink-0 h-12",f?"justify-center px-2":"justify-between px-3")},f&&t||e,l&&y__namespace.createElement("button",{onClick:m,className:a("rounded-md h-5 w-5 flex items-center justify-center","text-rds-gray-400 dark:text-rds-gray-500","hover:text-rds-gray-600 dark:hover:text-rds-gray-300 transition-colors","bg-white dark:bg-[#141414] border border-rds-gray-200 dark:border-rds-gray-700 shadow-sm",f&&"absolute left-[calc(4rem-10px)] top-6 -translate-y-1/2 z-50"),"aria-label":f?"Expand sidebar":"Collapse sidebar"},f?y__namespace.createElement(lucideReact.ChevronRight,{className:"h-3 w-3"}):y__namespace.createElement(lucideReact.ChevronLeft,{className:"h-3 w-3"}))),y__namespace.createElement("nav",{className:"flex-1 py-2 overflow-y-auto overflow-x-hidden"},o&&o.length>0&&y__namespace.createElement("div",{className:"px-2 mb-1 space-y-0.5"},o.map(w=>y__namespace.createElement(Kt,{key:w.id,item:w}))),r?.map(w=>y__namespace.createElement(fn,{key:w.id,section:w}))),n&&y__namespace.createElement("div",{className:"flex-shrink-0 border-t border-rds-gray-200 dark:border-[#1a1a1a] p-2"},n))))});Lo.displayName="SideMenu";function fn({section:e}){let{collapsed:t}=Ho(),[r,o]=y__namespace.useState(e.defaultExpanded??true);return t?y__namespace.createElement("div",{className:"px-2 mb-1 space-y-0.5"},e.items.map(n=>y__namespace.createElement(Kt,{key:n.id,item:n}))):y__namespace.createElement("div",{className:"px-2 mb-1"},y__namespace.createElement("button",{onClick:()=>o(!r),className:a("flex w-full items-center gap-2.5 rounded-md px-2 py-1.5 text-sm font-medium","text-rds-gray-700 dark:text-rds-gray-300","hover:bg-rds-gray-50 dark:hover:bg-rds-gray-900","hover:text-rds-gray-900 dark:hover:text-white transition-colors")},e.icon&&y__namespace.createElement("span",{className:"h-3.5 w-3.5 flex-shrink-0"},e.icon),y__namespace.createElement("span",{className:"flex-1 text-left"},e.title),r?y__namespace.createElement(lucideReact.ChevronDown,{className:"h-3 w-3",strokeWidth:1.5}):y__namespace.createElement(lucideReact.ChevronRight,{className:"h-3 w-3",strokeWidth:1.5})),r&&y__namespace.createElement("div",{className:"mt-0.5 space-y-0.5 relative pl-5"},y__namespace.createElement("div",{className:"absolute left-[1.1rem] top-0 bottom-0 w-px bg-rds-gray-200 dark:bg-rds-gray-700"}),e.items.map(n=>y__namespace.createElement(Kt,{key:n.id,item:n,nested:true}))))}function Kt({item:e,nested:t=false}){let{collapsed:r,activeItem:o,LinkComponent:n}=Ho(),i=o===e.id,d=a("flex items-center gap-2.5 rounded-md text-sm font-medium transition-colors",r?"justify-center px-2 py-2.5":"px-2 py-1.5",i?t?"bg-rds-gray-100 dark:bg-[#1a1a1a] text-rds-gray-900 dark:text-white":"bg-rds-green-50 dark:bg-rds-green-950 text-rds-green-700 dark:text-rds-green-400":"text-rds-gray-700 dark:text-rds-gray-300 hover:bg-rds-gray-50 dark:hover:bg-rds-gray-900 hover:text-rds-gray-900 dark:hover:text-white",e.disabled&&"opacity-50 pointer-events-none"),l=y__namespace.createElement(y__namespace.Fragment,null,e.icon&&y__namespace.createElement("span",{className:a("flex-shrink-0",r?"h-5 w-5":"h-3.5 w-3.5")},e.icon),!r&&y__namespace.createElement("span",null,e.label),!r&&e.badge&&y__namespace.createElement("span",{className:"ml-auto text-xs bg-rds-gray-100 dark:bg-rds-gray-800 px-1.5 py-0.5 rounded"},e.badge)),s=e.href?y__namespace.createElement(n,{href:e.href,className:d},l):y__namespace.createElement("button",{onClick:e.onClick,disabled:e.disabled,className:a(d,"w-full")},l);return r?y__namespace.createElement(Ut,null,y__namespace.createElement(_t,{asChild:true},s),y__namespace.createElement(ht,{side:"right",sideOffset:8},e.label)):s}var hn=({href:e,className:t,children:r})=>y__namespace.createElement("a",{href:e,className:t},r),Do=y__namespace.forwardRef(({breadcrumbs:e=[],showMobileMenu:t=false,onMobileMenuClick:r,leftContent:o,rightContent:n,className:i,linkComponent:d=hn},l)=>y__namespace.createElement("header",{ref:l,className:a("sticky top-0 z-30 flex h-12 items-center gap-3","border-b border-rds-gray-200 dark:border-[#1a1a1a]","bg-white dark:bg-[#141414] px-4",i)},t&&y__namespace.createElement("button",{onClick:r,className:"lg:hidden rounded-md p-1.5 text-rds-gray-600 hover:bg-rds-gray-100 dark:text-rds-gray-400 dark:hover:bg-rds-gray-800","aria-label":"Toggle menu"},y__namespace.createElement(lucideReact.Menu,{className:"h-4 w-4"})),e.length>0&&y__namespace.createElement("nav",{className:"hidden md:flex items-center gap-1.5 text-sm","aria-label":"Breadcrumb"},e.map((s,p)=>y__namespace.createElement(y__namespace.Fragment,{key:p},p>0&&y__namespace.createElement("span",{className:"text-rds-gray-400 dark:text-rds-gray-500 text-xs"},"/"),s.href?y__namespace.createElement(d,{href:s.href,className:"text-rds-gray-600 dark:text-rds-gray-400 hover:text-rds-gray-900 dark:hover:text-white transition-colors text-sm"},s.label):y__namespace.createElement("span",{className:"text-rds-gray-900 dark:text-white font-medium text-sm"},s.label)))),o,y__namespace.createElement("div",{className:"flex-1"}),n&&y__namespace.createElement("div",{className:"flex items-center gap-1.5"},n)));Do.displayName="TopMenu";var Io=y__namespace.forwardRef(({name:e,email:t,avatarUrl:r,avatarContent:o,avatarClassName:n,children:i,className:d},l)=>{let[s,p]=y__namespace.useState(false),c=y__namespace.useRef(null);return y__namespace.useEffect(()=>{let u=g=>{c.current&&!c.current.contains(g.target)&&p(false);};return s&&document.addEventListener("mousedown",u),()=>{document.removeEventListener("mousedown",u);}},[s]),y__namespace.createElement("div",{ref:l,className:a("relative",d)},y__namespace.createElement("div",{ref:c},y__namespace.createElement("button",{onClick:()=>p(!s),className:"flex items-center gap-1.5 rounded-full p-0.5 hover:ring-2 hover:ring-rds-green-500 hover:ring-offset-2 dark:hover:ring-offset-[#141414] transition-all","aria-label":"Account menu"},y__namespace.createElement("div",{className:a("h-8 w-8 rounded-full overflow-hidden flex items-center justify-center",n||"bg-gradient-to-br from-rds-yellow-400 to-rds-yellow-600")},r?y__namespace.createElement("img",{src:r,alt:e||"User",className:"h-full w-full object-cover"}):o)),s&&y__namespace.createElement("div",{className:"absolute right-0 mt-2 w-64 rounded-lg border border-rds-gray-200 dark:border-[#1a1a1a] bg-white dark:bg-[#141414] shadow-lg overflow-hidden z-50"},(e||t)&&y__namespace.createElement("div",{className:"px-4 py-3 border-b border-rds-gray-200 dark:border-[#1a1a1a]"},y__namespace.createElement("div",{className:"flex items-center gap-3"},y__namespace.createElement("div",{className:a("h-10 w-10 rounded-full overflow-hidden flex items-center justify-center",n||"bg-gradient-to-br from-rds-yellow-400 to-rds-yellow-600")},r?y__namespace.createElement("img",{src:r,alt:e||"User",className:"h-full w-full object-cover"}):o),y__namespace.createElement("div",{className:"flex-1 min-w-0"},e&&y__namespace.createElement("p",{className:"text-sm font-medium text-rds-gray-900 dark:text-white truncate"},e),t&&y__namespace.createElement("p",{className:"text-xs text-rds-gray-500 dark:text-rds-gray-400 truncate"},t)))),i)))});Io.displayName="TopMenuUser";var Ao=y__namespace.forwardRef(({icon:e,children:t,onClick:r,href:o,variant:n="default",className:i},d)=>y__namespace.createElement(o?"a":"button",{ref:d,onClick:r,href:o,className:a("w-full flex items-center gap-3 px-4 py-2 text-sm transition-colors",{default:"text-rds-gray-700 dark:text-rds-gray-300 hover:bg-rds-gray-50 dark:hover:bg-[#1a1a1a]",danger:"text-red-600 dark:text-red-400 hover:bg-red-50 dark:hover:bg-red-950/20",success:"text-rds-green-600 dark:text-rds-green-400 hover:bg-rds-green-50 dark:hover:bg-rds-green-950/20"}[n],i)},e&&y__namespace.createElement("span",{className:"h-4 w-4"},e),y__namespace.createElement("span",null,t)));Ao.displayName="TopMenuUserItem";var Fo=y__namespace.forwardRef(({children:e,className:t},r)=>y__namespace.createElement("div",{ref:r,className:a("py-1 border-t border-rds-gray-200 dark:border-[#1a1a1a] first:border-t-0",t)},e));Fo.displayName="TopMenuUserSection";var zt=y__namespace.createContext(null);function Vt(){let e=y__namespace.useContext(zt);if(!e)throw new Error("SimpleTabsPanel must be used within SimpleTabs");return e}var Oo=y__namespace.forwardRef(({tabs:e,activeTab:t,defaultTab:r,onTabChange:o,children:n,className:i,tabsClassName:d},l)=>{let[s,p]=y__namespace.useState(r||e[0]?.id||""),c=t??s,u=g=>{p(g),o?.(g);};return y__namespace.createElement(zt.Provider,{value:{activeTab:c,setActiveTab:u}},y__namespace.createElement("div",{ref:l,className:a("space-y-6",i)},y__namespace.createElement("div",{className:"border-b border-rds-gray-200 dark:border-rds-gray-800"},y__namespace.createElement("nav",{className:a("-mb-px flex gap-1 overflow-x-auto scrollbar-hide",d),"aria-label":"Tabs"},e.map(g=>{let h=c===g.id;return y__namespace.createElement("button",{key:g.id,onClick:()=>!g.disabled&&u(g.id),disabled:g.disabled,className:a("relative flex items-center gap-2 px-4 py-3 text-sm font-medium transition-colors whitespace-nowrap",h?"text-primary":"text-muted-foreground hover:text-foreground",g.disabled&&"opacity-50 cursor-not-allowed")},g.icon&&y__namespace.createElement("span",{className:"h-4 w-4"},g.icon),g.label,h&&y__namespace.createElement("span",{className:"absolute bottom-0 left-0 right-0 h-0.5 bg-primary","aria-hidden":"true"}))}))),n&&y__namespace.createElement("div",null,n)))});Oo.displayName="SimpleTabs";var Go=y__namespace.forwardRef(({id:e,children:t,className:r},o)=>{let{activeTab:n}=Vt();return n!==e?null:y__namespace.createElement("div",{ref:o,role:"tabpanel","aria-labelledby":`tab-${e}`,className:r},t)});Go.displayName="SimpleTabsPanel";var $o=y__namespace.forwardRef(({activeTab:e,defaultTab:t,onTabChange:r,children:o,className:n},i)=>{let[d,l]=y__namespace.useState(t||""),s=e??d,p=c=>{l(c),r?.(c);};return y__namespace.createElement(zt.Provider,{value:{activeTab:s,setActiveTab:p}},y__namespace.createElement("div",{ref:i,className:a("space-y-6",n)},o))});$o.displayName="SimpleTabsRoot";var Bo=y__namespace.forwardRef(({children:e,className:t},r)=>y__namespace.createElement("div",{ref:r,className:"border-b border-rds-gray-200 dark:border-rds-gray-800"},y__namespace.createElement("nav",{className:a("-mb-px flex gap-1 overflow-x-auto scrollbar-hide",t),role:"tablist","aria-label":"Tabs"},e)));Bo.displayName="SimpleTabsList";var Uo=y__namespace.forwardRef(({value:e,children:t,icon:r,disabled:o,className:n},i)=>{let{activeTab:d,setActiveTab:l}=Vt(),s=d===e;return y__namespace.createElement("button",{ref:i,role:"tab",id:`tab-${e}`,"aria-selected":s,"aria-controls":`panel-${e}`,onClick:()=>!o&&l(e),disabled:o,className:a("relative flex items-center gap-2 px-4 py-3 text-sm font-medium transition-colors whitespace-nowrap",s?"text-primary":"text-muted-foreground hover:text-foreground",o&&"opacity-50 cursor-not-allowed",n)},r&&y__namespace.createElement("span",{className:"h-4 w-4"},r),t,s&&y__namespace.createElement("span",{className:"absolute bottom-0 left-0 right-0 h-0.5 bg-primary","aria-hidden":"true"}))});Uo.displayName="SimpleTabsTrigger";var _o=y__namespace.forwardRef(({value:e,children:t,className:r},o)=>{let{activeTab:n}=Vt();return n!==e?null:y__namespace.createElement("div",{ref:o,role:"tabpanel",id:`panel-${e}`,"aria-labelledby":`tab-${e}`,className:r},t)});_o.displayName="SimpleTabsContent";var yn={video:"aspect-video",square:"aspect-square",portrait:"aspect-[3/4]",wide:"aspect-[21/9]",auto:""},vn={none:"0",sm:"var(--radius, 0.25rem)",md:"calc(var(--radius, 0.375rem) * 1.25)",lg:"calc(var(--radius, 0.5rem) * 1.5)",xl:"calc(var(--radius, 0.75rem) * 2)"},ue=y__namespace.forwardRef(({className:e,aspect:t="video",radius:r="lg",border:o=false,loading:n=false,onVisibilityChange:i,fallback:d,style:l,children:s,...p},c)=>{let u=y__namespace.useRef(null);return y__namespace.useImperativeHandle(c,()=>u.current),y__namespace.useEffect(()=>{if(!i||!u.current)return;let g=u.current,h=new IntersectionObserver(([T])=>i(T.isIntersecting),{threshold:.05});return h.observe(g),()=>h.disconnect()},[i]),y__namespace.createElement("div",{ref:u,"data-gds-part":"media-surface",className:a("rds-media-surface relative w-full overflow-hidden bg-muted",yn[t],o&&"border border-border",e),style:{borderRadius:`var(--rds-media-radius, ${vn[r]})`,...l},...p},s,n&&y__namespace.createElement("div",{className:"absolute inset-0 flex items-center justify-center bg-muted animate-pulse","aria-hidden":true},d))});ue.displayName="MediaSurface";function Me(){let[e,t]=y__namespace.useState(false);return y__namespace.useEffect(()=>{let r=window.matchMedia("(prefers-reduced-motion: reduce)");t(r.matches);let o=n=>t(n.matches);return r.addEventListener("change",o),()=>r.removeEventListener("change",o)},[]),e}var Ko=y__namespace.forwardRef(({src:e,controls:t=true,autoPlay:r=false,loop:o=false,muted:n,pauseOffscreen:i=true,aspect:d="video",radius:l="lg",border:s=false,poster:p,label:c,className:u,style:g,playbackRate:h=1,objectFit:T="cover"},f)=>{let m=y__namespace.useRef(null),w=Me(),[N,E]=y__namespace.useState(!!p);y__namespace.useImperativeHandle(f,()=>m.current);let M=n??r,K=r&&!w;y__namespace.useEffect(()=>{m.current&&(m.current.playbackRate=h);},[h]),y__namespace.useEffect(()=>{E(!!p);},[p]);let J=y__namespace.useCallback(ye=>{!i||!m.current||(ye&&K?m.current.play().catch(()=>{}):m.current.pause());},[i,K]);return y__namespace.createElement(ue,{aspect:d,radius:l,border:s,"aria-label":c,className:u,style:g,onVisibilityChange:i?J:void 0},y__namespace.createElement("video",{ref:m,src:e,controls:t,autoPlay:K,loop:o,muted:M,playsInline:true,preload:K?"auto":"metadata",onPlaying:()=>E(false),className:a("w-full h-full",T==="cover"&&"object-cover",T==="contain"&&"object-contain",T==="fill"&&"object-fill")},"Your browser does not support the video tag."),p&&N&&y__namespace.createElement("img",{src:p,alt:"","aria-hidden":"true",loading:"lazy",decoding:"async","data-gds-part":"video-poster",className:a("absolute inset-0 w-full h-full pointer-events-none transition-opacity duration-200",T==="cover"&&"object-cover",T==="contain"&&"object-contain",T==="fill"&&"object-fill")}))});Ko.displayName="VideoPlayer";var zo=y__namespace.forwardRef(({src:e,controls:t=false,autoPlay:r=true,loop:o=true,pauseOffscreen:n=true,aspect:i="square",radius:d="lg",border:l=false,poster:s,label:p,className:c,style:u,stateMachines:g,artboard:h,fit:T="contain",stateMachineInputs:f},m)=>{let w=Me(),[N,E]=y__namespace.useState(null),[M,K]=y__namespace.useState(null);return y__namespace.useEffect(()=>{let J=false;return import('@rive-app/react-canvas').then(ye=>{J||E(ye);}).catch(()=>{J||K("Rive runtime not installed. Run `npm install @rive-app/react-canvas`.");}),()=>{J=true;}},[]),y__namespace.createElement(ue,{ref:m,aspect:i,radius:d,border:l,"aria-label":p,className:c,style:u},M?y__namespace.createElement("div",{className:"flex items-center justify-center h-full text-sm text-muted-foreground p-4 text-center"},M):N&&e?y__namespace.createElement(Rn,{Mod:N,src:e,stateMachines:g,artboard:h,fit:T,stateMachineInputs:f,autoPlay:r&&!w,loop:o,pauseOffscreen:n,controls:t,poster:s}):s&&y__namespace.createElement("img",{src:s,alt:"",className:"w-full h-full object-contain"}))});zo.displayName="RivePlayer";function Rn({Mod:e,src:t,stateMachines:r,artboard:o,fit:n,autoPlay:i,loop:d,pauseOffscreen:l,controls:s,poster:p}){let{useRive:c,Layout:u,Fit:g,Alignment:h,EventType:T}=e,f={contain:g.Contain,cover:g.Cover,fill:g.Fill,fitWidth:g.FitWidth,fitHeight:g.FitHeight,none:g.None},{rive:m,RiveComponent:w}=c({src:t,stateMachines:r,artboard:o,autoplay:i,layout:new u({fit:f[n],alignment:h.Center})}),[N,E]=y__namespace.useState(i);y__namespace.useEffect(()=>{if(!m||!d)return;let K=()=>{m.play();};return m.on(T.Stop,K),()=>{m.off(T.Stop,K);}},[m,d,T]),y__namespace.useEffect(()=>{if(!l||!m)return;let K=m.canvas;if(!K)return;let J=new IntersectionObserver(([ye])=>{ye.isIntersecting&&i?m.play():m.pause();},{threshold:.05});return J.observe(K),()=>J.disconnect()},[m,l,i]);let M=()=>{m&&(N?(m.pause(),E(false)):(m.play(),E(true)));};return y__namespace.createElement(y__namespace.Fragment,null,y__namespace.createElement(w,{className:"w-full h-full"}),!m&&p&&y__namespace.createElement("img",{src:p,alt:"",className:"absolute inset-0 w-full h-full object-contain pointer-events-none"}),s&&y__namespace.createElement("div",{className:a("absolute inset-0 flex items-end justify-end p-2","opacity-0 hover:opacity-100 transition-opacity","bg-gradient-to-t from-black/40 to-transparent")},y__namespace.createElement(X,{size:"icon",variant:"secondary",onClick:M},N?y__namespace.createElement(lucideReact.Pause,{className:"h-4 w-4"}):y__namespace.createElement(lucideReact.Play,{className:"h-4 w-4"}))))}var Wo=({renderer:e,scene:t,camera:r,preset:o,width:n,height:i})=>{let d=new postprocessing.EffectComposer(e);d.setSize(n,i),d.addPass(new postprocessing.RenderPass(t,r));let l=new postprocessing.BloomEffect({intensity:0,luminanceThreshold:.6,radius:.6,kernelSize:postprocessing.KernelSize.MEDIUM}),s=new postprocessing.NoiseEffect({blendFunction:postprocessing.BlendFunction.OVERLAY});s.blendMode.opacity.value=0;let p=new postprocessing.ScanlineEffect({blendFunction:postprocessing.BlendFunction.OVERLAY,density:1.25});p.blendMode.opacity.value=0;let c=new postprocessing.VignetteEffect({darkness:0,offset:.5}),u=new postprocessing.ChromaticAberrationEffect({offset:new I__namespace.Vector2(0,0),radialModulation:false,modulationOffset:.15}),g=new postprocessing.GlitchEffect({chromaticAberrationOffset:new I__namespace.Vector2(0,0),columns:.05});g.minStrength=0,g.maxStrength=0,d.addPass(new postprocessing.EffectPass(r,l)),d.addPass(new postprocessing.EffectPass(r,s,p,c)),d.addPass(new postprocessing.EffectPass(r,u)),d.addPass(new postprocessing.EffectPass(r,g));function h(T){let f=T.effects;l.intensity=f.bloom?.intensity??0,l.luminanceMaterial&&f.bloom?.luminanceThreshold!==void 0&&(l.luminanceMaterial.threshold=f.bloom.luminanceThreshold),s.blendMode.opacity.value=f.noise?.intensity??0,p.density=f.scanlines?.density??1.25,p.blendMode.opacity.value=f.scanlines?.opacity??0,c.darkness=f.vignette?.darkness??0,c.offset=f.vignette?.offset??.5;let m=f.chromatic?.offset??0;u.offset?.set(m,m),f.glitch?(g.minStrength=f.glitch.strength?.[0]??0,g.maxStrength=f.glitch.strength?.[1]??0):(g.minStrength=0,g.maxStrength=0);}return h(o),{composer:d,setPreset:h,resize:(T,f)=>d.setSize(T,f),dispose:()=>{d.dispose();}}};var Ae=3e3,jt=400,Hn=80,jo=({width:e,height:t,palette:r})=>{let o=new I__namespace.Scene;o.background=new I__namespace.Color(r.background);let n=new I__namespace.PerspectiveCamera(70,e/t,.1,jt*2);n.position.z=0;let i=new Float32Array(Ae*6),d=new Float32Array(Ae*6),l=new Float32Array(Ae),s=new I__namespace.Color(r.primary),p=new I__namespace.Color(r.accent);function c(m,w){let N=Math.random()*Math.PI*2,E=Hn*Math.pow(Math.random(),.6),M=Math.cos(N)*E,K=Math.sin(N)*E,J=w?-Math.random()*jt:-jt;l[m]=J,i[m*6+0]=M,i[m*6+1]=K,i[m*6+2]=J,i[m*6+3]=M,i[m*6+4]=K,i[m*6+5]=J-2,d[m*6+0]=s.r,d[m*6+1]=s.g,d[m*6+2]=s.b,d[m*6+3]=p.r,d[m*6+4]=p.g,d[m*6+5]=p.b;}for(let m=0;m<Ae;m++)c(m,true);let u=new I__namespace.BufferGeometry;u.setAttribute("position",new I__namespace.BufferAttribute(i,3)),u.setAttribute("color",new I__namespace.BufferAttribute(d,3));let g=new I__namespace.LineBasicMaterial({vertexColors:true,transparent:true,opacity:.95,blending:I__namespace.AdditiveBlending}),h=new I__namespace.LineSegments(u,g);o.add(h);let T=60,f=6;return {scene:o,camera:n,update:(m,w)=>{let N=u.attributes.position.array;for(let E=0;E<Ae;E++){let M=E*6;N[M+2]+=T*w,N[M+5]=N[M+2]-f,N[M+2]>5&&c(E,false);}u.attributes.position.needsUpdate=true;},resize:(m,w)=>{let N=n;N.aspect=m/w,N.updateProjectionMatrix();},setPalette:m=>{o.background=new I__namespace.Color(m.background);let w=new I__namespace.Color(m.primary),N=new I__namespace.Color(m.accent),E=u.attributes.color.array;for(let M=0;M<Ae;M++)E[M*6+0]=w.r,E[M*6+1]=w.g,E[M*6+2]=w.b,E[M*6+3]=N.r,E[M*6+4]=N.g,E[M*6+5]=N.b;u.attributes.color.needsUpdate=true;},dispose:()=>{u.dispose(),g.dispose();}}};var Ln=`
1
+ 'use strict';var y=require('react'),ae=require('@radix-ui/react-accordion'),lucideReact=require('lucide-react'),clsx=require('clsx'),tailwindMerge=require('tailwind-merge'),classVarianceAuthority=require('class-variance-authority'),reactSlot=require('@radix-ui/react-slot'),reactDayPicker=require('react-day-picker'),_e=require('@radix-ui/react-checkbox'),dateFns=require('date-fns'),de=require('@radix-ui/react-popover'),F=require('@radix-ui/react-dialog'),x=require('@radix-ui/react-dropdown-menu'),It=require('@radix-ui/react-label'),Ve=require('@radix-ui/react-progress'),xe=require('@radix-ui/react-radio-group'),ne=require('@radix-ui/react-scroll-area'),R=require('@radix-ui/react-select'),Gt=require('@radix-ui/react-separator'),ge=require('@radix-ui/react-slider'),je=require('@radix-ui/react-switch'),ce=require('@radix-ui/react-tabs'),le=require('@radix-ui/react-tooltip'),I=require('three'),postprocessing=require('postprocessing'),Yn=require('lenis');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}function _interopNamespace(e){if(e&&e.__esModule)return e;var n=Object.create(null);if(e){Object.keys(e).forEach(function(k){if(k!=='default'){var d=Object.getOwnPropertyDescriptor(e,k);Object.defineProperty(n,k,d.get?d:{enumerable:true,get:function(){return e[k]}});}})}n.default=e;return Object.freeze(n)}var y__namespace=/*#__PURE__*/_interopNamespace(y);var ae__namespace=/*#__PURE__*/_interopNamespace(ae);var _e__namespace=/*#__PURE__*/_interopNamespace(_e);var de__namespace=/*#__PURE__*/_interopNamespace(de);var F__namespace=/*#__PURE__*/_interopNamespace(F);var x__namespace=/*#__PURE__*/_interopNamespace(x);var It__namespace=/*#__PURE__*/_interopNamespace(It);var Ve__namespace=/*#__PURE__*/_interopNamespace(Ve);var xe__namespace=/*#__PURE__*/_interopNamespace(xe);var ne__namespace=/*#__PURE__*/_interopNamespace(ne);var R__namespace=/*#__PURE__*/_interopNamespace(R);var Gt__namespace=/*#__PURE__*/_interopNamespace(Gt);var ge__namespace=/*#__PURE__*/_interopNamespace(ge);var je__namespace=/*#__PURE__*/_interopNamespace(je);var ce__namespace=/*#__PURE__*/_interopNamespace(ce);var le__namespace=/*#__PURE__*/_interopNamespace(le);var I__namespace=/*#__PURE__*/_interopNamespace(I);var Yn__default=/*#__PURE__*/_interopDefault(Yn);function a(...e){return tailwindMerge.twMerge(clsx.clsx(e))}var va=ae__namespace.Root,hr=y__namespace.forwardRef(({className:e,...t},r)=>y__namespace.createElement(ae__namespace.Item,{ref:r,className:a("border-b",e),...t}));hr.displayName="AccordionItem";var yr=y__namespace.forwardRef(({className:e,children:t,...r},o)=>y__namespace.createElement(ae__namespace.Header,{className:"flex"},y__namespace.createElement(ae__namespace.Trigger,{ref:o,className:a("flex flex-1 items-center justify-between py-4 font-medium transition-all hover:underline [&[data-state=open]>svg]:rotate-180",e),...r},t,y__namespace.createElement(lucideReact.ChevronDown,{className:"h-4 w-4 shrink-0 transition-transform duration-200"}))));yr.displayName=ae__namespace.Trigger.displayName;var vr=y__namespace.forwardRef(({className:e,children:t,...r},o)=>y__namespace.createElement(ae__namespace.Content,{ref:o,className:"overflow-hidden text-sm transition-all data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down",...r},y__namespace.createElement("div",{className:a("pb-4 pt-0",e)},t)));vr.displayName=ae__namespace.Content.displayName;var xa=classVarianceAuthority.cva("relative w-full rounded-lg border p-4 [&>svg~*]:pl-7 [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4",{variants:{variant:{default:"bg-background text-foreground [&>svg]:text-foreground",destructive:"border-destructive/30 bg-destructive-soft text-destructive-deep [&>svg]:text-destructive-deep",success:"border-success/30 bg-success-soft text-success-deep [&>svg]:text-success-deep",warning:"border-warning/30 bg-warning-soft text-warning-deep [&>svg]:text-warning-deep",info:"border-info/30 bg-info-soft text-info-deep [&>svg]:text-info-deep",highlight:"border-highlight/30 bg-highlight-soft text-foreground [&>svg]:text-highlight-deep"}},defaultVariants:{variant:"default"}}),br=y__namespace.forwardRef(({className:e,variant:t,...r},o)=>y__namespace.createElement("div",{ref:o,role:"alert",className:a(xa({variant:t}),e),...r}));br.displayName="Alert";var xr=y__namespace.forwardRef(({className:e,...t},r)=>y__namespace.createElement("h5",{ref:r,className:a("mb-1 font-medium leading-none tracking-tight",e),...t}));xr.displayName="AlertTitle";var Rr=y__namespace.forwardRef(({className:e,...t},r)=>y__namespace.createElement("div",{ref:r,className:a("text-sm [&_p]:leading-relaxed",e),...t}));Rr.displayName="AlertDescription";var wr=classVarianceAuthority.cva("inline-flex items-center gap-1 border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 [&_svg]:size-3 [&_svg]:shrink-0",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground shadow hover:bg-primary/80",secondary:"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",destructive:"border-transparent bg-destructive text-destructive-foreground shadow hover:bg-destructive/80",outline:"text-foreground",highlight:"border-transparent bg-rds-yellow-400 text-rds-gray-900 shadow hover:bg-rds-yellow-500",success:"border-transparent bg-rds-green-500 text-rds-gray-900 shadow hover:bg-rds-green-600",warning:"border-transparent bg-orange-500 text-white shadow hover:bg-orange-600",info:"border-transparent bg-blue-500 text-white shadow hover:bg-blue-600","success-soft":"border-rds-green-500/20 bg-rds-green-500/10 text-rds-green-600 dark:text-rds-green-400","warning-soft":"border-orange-500/20 bg-orange-500/10 text-orange-600 dark:text-orange-400","destructive-soft":"border-destructive/20 bg-destructive/10 text-destructive dark:text-red-400","info-soft":"border-blue-500/20 bg-blue-500/10 text-blue-600 dark:text-blue-400","highlight-soft":"border-rds-yellow-500/20 bg-rds-yellow-400/10 text-rds-yellow-600 dark:text-rds-yellow-400","success-outline":"border-rds-green-500/50 bg-transparent text-rds-green-600 dark:text-rds-green-400","warning-outline":"border-orange-500/50 bg-transparent text-orange-600 dark:text-orange-400","destructive-outline":"border-destructive/50 bg-transparent text-destructive dark:text-red-400","info-outline":"border-blue-500/50 bg-transparent text-blue-600 dark:text-blue-400"},rounded:{default:"rounded-md",full:"rounded-full"}},defaultVariants:{variant:"default",rounded:"default"}});function Ta({className:e,variant:t,rounded:r,...o}){return y__namespace.createElement("div",{className:a(wr({variant:t,rounded:r}),e),...o})}var Ue=classVarianceAuthority.cva("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",{variants:{variant:{default:"bg-primary text-primary-foreground shadow hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90",outline:"border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2",sm:"h-8 rounded-md px-3 text-xs",lg:"h-10 rounded-md px-8",icon:"h-9 w-9"}},defaultVariants:{variant:"default",size:"default"}}),X=y__namespace.forwardRef(({className:e,variant:t,size:r,asChild:o=false,...n},i)=>y__namespace.createElement(o?reactSlot.Slot:"button",{className:a("rds-button",Ue({variant:t,size:r,className:e})),ref:i,...n}));X.displayName="Button";function lt({className:e,classNames:t,showOutsideDays:r=true,captionLayout:o="label",buttonVariant:n="ghost",formatters:i,components:d,...c}){let s=reactDayPicker.getDefaultClassNames();return y__namespace.createElement(reactDayPicker.DayPicker,{showOutsideDays:r,className:a("bg-background group/calendar p-3 [--cell-size:2rem] [[data-slot=card-content]_&]:bg-transparent [[data-slot=popover-content]_&]:bg-transparent",String.raw`rtl:**:[.rdp-button\_next>svg]:rotate-180`,String.raw`rtl:**:[.rdp-button\_previous>svg]:rotate-180`,e),captionLayout:o,formatters:{formatMonthDropdown:p=>p.toLocaleString("default",{month:"short"}),...i},classNames:{root:a("w-fit",s.root),months:a("relative flex flex-col gap-4 md:flex-row",s.months),month:a("flex w-full flex-col gap-4",s.month),nav:a("absolute inset-x-0 top-0 flex w-full items-center justify-between gap-1",s.nav),button_previous:a(Ue({variant:n}),"h-[--cell-size] w-[--cell-size] select-none p-0 aria-disabled:opacity-50",s.button_previous),button_next:a(Ue({variant:n}),"h-[--cell-size] w-[--cell-size] select-none p-0 aria-disabled:opacity-50",s.button_next),month_caption:a("flex h-[--cell-size] w-full items-center justify-center px-[--cell-size]",s.month_caption),dropdowns:a("flex h-[--cell-size] w-full items-center justify-center gap-1.5 text-sm font-medium",s.dropdowns),dropdown_root:a("has-focus:border-ring border-input shadow-xs has-focus:ring-ring/50 has-focus:ring-[3px] relative rounded-md border",s.dropdown_root),dropdown:a("bg-popover absolute inset-0 opacity-0",s.dropdown),caption_label:a("select-none font-medium",o==="label"?"text-sm":"[&>svg]:text-muted-foreground flex h-8 items-center gap-1 rounded-md pl-2 pr-1 text-sm [&>svg]:size-3.5",s.caption_label),table:"w-full border-collapse",weekdays:a("flex",s.weekdays),weekday:a("text-muted-foreground flex-1 select-none rounded-md text-[0.8rem] font-normal",s.weekday),week:a("mt-2 flex w-full",s.week),week_number_header:a("w-[--cell-size] select-none",s.week_number_header),week_number:a("text-muted-foreground select-none text-[0.8rem]",s.week_number),day:a("group/day relative aspect-square h-full w-full select-none p-0 text-center [&:first-child[data-selected=true]_button]:rounded-l-md [&:last-child[data-selected=true]_button]:rounded-r-md",s.day),range_start:a("bg-accent rounded-l-md",s.range_start),range_middle:a("rounded-none",s.range_middle),range_end:a("bg-accent rounded-r-md",s.range_end),today:a("bg-accent text-accent-foreground rounded-md data-[selected=true]:rounded-none",s.today),outside:a("text-muted-foreground aria-selected:text-muted-foreground",s.outside),disabled:a("text-muted-foreground opacity-50",s.disabled),hidden:a("invisible",s.hidden),...t},components:{Root:({className:p,rootRef:l,...m})=>y__namespace.createElement("div",{"data-slot":"calendar",ref:l,className:a(p),...m}),Chevron:({className:p,orientation:l,...m})=>l==="left"?y__namespace.createElement(lucideReact.ChevronLeftIcon,{className:a("size-4",p),...m}):l==="right"?y__namespace.createElement(lucideReact.ChevronRightIcon,{className:a("size-4",p),...m}):y__namespace.createElement(lucideReact.ChevronDownIcon,{className:a("size-4",p),...m}),DayButton:Sr,WeekNumber:({children:p,...l})=>y__namespace.createElement("td",{...l},y__namespace.createElement("div",{className:"flex size-[--cell-size] items-center justify-center text-center"},p)),...d},...c})}function Sr({className:e,day:t,modifiers:r,...o}){let n=reactDayPicker.getDefaultClassNames(),i=y__namespace.useRef(null);return y__namespace.useEffect(()=>{r.focused&&i.current?.focus();},[r.focused]),y__namespace.createElement(X,{ref:i,variant:"ghost",size:"icon","data-day":`${t.date.getFullYear()}-${String(t.date.getMonth()+1).padStart(2,"0")}-${String(t.date.getDate()).padStart(2,"0")}`,"data-selected-single":r.selected&&!r.range_start&&!r.range_end&&!r.range_middle,"data-range-start":r.range_start,"data-range-end":r.range_end,"data-range-middle":r.range_middle,className:a("data-[selected-single=true]:bg-primary data-[selected-single=true]:text-primary-foreground data-[range-middle=true]:bg-accent data-[range-middle=true]:text-accent-foreground data-[range-start=true]:bg-primary data-[range-start=true]:text-primary-foreground data-[range-end=true]:bg-primary data-[range-end=true]:text-primary-foreground group-data-[focused=true]/day:border-ring group-data-[focused=true]/day:ring-ring/50 flex aspect-square h-auto w-full min-w-[--cell-size] flex-col gap-1 font-normal leading-none data-[range-end=true]:rounded-md data-[range-middle=true]:rounded-none data-[range-start=true]:rounded-md group-data-[focused=true]/day:relative group-data-[focused=true]/day:z-10 group-data-[focused=true]/day:ring-[3px] [&>span]:text-xs [&>span]:opacity-70",n.day,e),...o})}var Cr=y__namespace.forwardRef(({className:e,...t},r)=>y__namespace.createElement("div",{ref:r,className:a("rds-card rounded-xl border bg-card text-card-foreground shadow",e),...t}));Cr.displayName="Card";var Nr=y__namespace.forwardRef(({className:e,...t},r)=>y__namespace.createElement("div",{ref:r,className:a("flex flex-col space-y-1.5 p-6",e),...t}));Nr.displayName="CardHeader";var kr=y__namespace.forwardRef(({className:e,...t},r)=>y__namespace.createElement("div",{ref:r,className:a("font-semibold leading-none tracking-tight",e),...t}));kr.displayName="CardTitle";var Mr=y__namespace.forwardRef(({className:e,...t},r)=>y__namespace.createElement("div",{ref:r,className:a("text-sm text-muted-foreground",e),...t}));Mr.displayName="CardDescription";var Er=y__namespace.forwardRef(({className:e,...t},r)=>y__namespace.createElement("div",{ref:r,className:a("p-6 pt-0",e),...t}));Er.displayName="CardContent";var Hr=y__namespace.forwardRef(({className:e,...t},r)=>y__namespace.createElement("div",{ref:r,className:a("flex items-center p-6 pt-0",e),...t}));Hr.displayName="CardFooter";var Lr=y__namespace.forwardRef(({className:e,...t},r)=>y__namespace.createElement(_e__namespace.Root,{ref:r,className:a("rds-checkbox peer h-4 w-4 shrink-0 rounded-[3px] 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},y__namespace.createElement(_e__namespace.Indicator,{className:a("flex items-center justify-center text-current")},y__namespace.createElement(lucideReact.Check,{className:"h-4 w-4"}))));Lr.displayName=_e__namespace.Root.displayName;var De=de__namespace.Root,Ie=de__namespace.Trigger,Ea=de__namespace.Anchor,Ne=y__namespace.forwardRef(({className:e,align:t="center",sideOffset:r=4,...o},n)=>y__namespace.createElement(de__namespace.Portal,null,y__namespace.createElement(de__namespace.Content,{ref:n,align:t,sideOffset:r,className:a("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),...o})));Ne.displayName=de__namespace.Content.displayName;var Ha="PPP",La="LLL dd, y";function Da({value:e,onChange:t,placeholder:r="Pick a date",disabled:o,className:n,contentClassName:i,align:d="start",side:c,format:s=Ha,captionLayout:p,icon:l,"aria-label":m}){return y__namespace.createElement(De,null,y__namespace.createElement(Ie,{asChild:true},y__namespace.createElement(X,{type:"button",variant:"outline",disabled:o,"aria-label":m??(e?void 0:r),"data-empty":!e,className:a("w-[280px] justify-start text-left font-normal data-[empty=true]:text-muted-foreground",n)},l??y__namespace.createElement(lucideReact.CalendarIcon,{className:"mr-2 h-4 w-4","aria-hidden":true}),e?dateFns.format(e,s):y__namespace.createElement("span",null,r))),y__namespace.createElement(Ne,{className:a("w-auto p-0",i),align:d,side:c},y__namespace.createElement(lt,{mode:"single",selected:e,onSelect:t,captionLayout:p,initialFocus:true})))}function Ia({value:e,onChange:t,placeholder:r="Pick a date range",disabled:o,className:n,contentClassName:i,align:d="start",side:c,format:s=La,captionLayout:p,icon:l,numberOfMonths:m=2,"aria-label":g}){let h=!!e?.from;return y__namespace.createElement(De,null,y__namespace.createElement(Ie,{asChild:true},y__namespace.createElement(X,{type:"button",variant:"outline",disabled:o,"aria-label":g??(h?void 0:r),"data-empty":!h,className:a("w-[300px] justify-start text-left font-normal data-[empty=true]:text-muted-foreground",n)},l??y__namespace.createElement(lucideReact.CalendarIcon,{className:"mr-2 h-4 w-4","aria-hidden":true}),e?.from?e.to?y__namespace.createElement(y__namespace.Fragment,null,dateFns.format(e.from,s)," \u2013"," ",dateFns.format(e.to,s)):dateFns.format(e.from,s):y__namespace.createElement("span",null,r))),y__namespace.createElement(Ne,{className:a("w-auto p-0",i),align:d,side:c},y__namespace.createElement(lt,{mode:"range",selected:e,onSelect:t,defaultMonth:e?.from,numberOfMonths:m,captionLayout:p,initialFocus:true})))}var Fa=F__namespace.Root,Oa=F__namespace.Trigger,Ir=F__namespace.Portal,Ga=F__namespace.Close,Dt=y__namespace.forwardRef(({className:e,...t},r)=>y__namespace.createElement(F__namespace.Overlay,{ref:r,className:a("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=F__namespace.Overlay.displayName;var Ar=y__namespace.forwardRef(({className:e,children:t,...r},o)=>y__namespace.createElement(Ir,null,y__namespace.createElement(Dt,null),y__namespace.createElement(F__namespace.Content,{ref:o,className:a("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),...r},t,y__namespace.createElement(F__namespace.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"},y__namespace.createElement(lucideReact.X,{className:"h-4 w-4"}),y__namespace.createElement("span",{className:"sr-only"},"Close")))));Ar.displayName=F__namespace.Content.displayName;var Fr=({className:e,...t})=>y__namespace.createElement("div",{className:a("flex flex-col space-y-1.5 text-center sm:text-left",e),...t});Fr.displayName="DialogHeader";var Or=({className:e,...t})=>y__namespace.createElement("div",{className:a("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",e),...t});Or.displayName="DialogFooter";var Gr=y__namespace.forwardRef(({className:e,...t},r)=>y__namespace.createElement(F__namespace.Title,{ref:r,className:a("text-lg font-semibold leading-none tracking-tight",e),...t}));Gr.displayName=F__namespace.Title.displayName;var $r=y__namespace.forwardRef(({className:e,...t},r)=>y__namespace.createElement(F__namespace.Description,{ref:r,className:a("text-sm text-muted-foreground",e),...t}));$r.displayName=F__namespace.Description.displayName;var _a=x__namespace.Root,Ka=x__namespace.Trigger,za=x__namespace.Group,Va=x__namespace.Portal,Wa=x__namespace.Sub,ja=x__namespace.RadioGroup,Br=y__namespace.forwardRef(({className:e,inset:t,children:r,...o},n)=>y__namespace.createElement(x__namespace.SubTrigger,{ref:n,className:a("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),...o},r,y__namespace.createElement(lucideReact.ChevronRight,{className:"ml-auto"})));Br.displayName=x__namespace.SubTrigger.displayName;var Ur=y__namespace.forwardRef(({className:e,...t},r)=>y__namespace.createElement(x__namespace.SubContent,{ref:r,className:a("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}));Ur.displayName=x__namespace.SubContent.displayName;var _r=y__namespace.forwardRef(({className:e,sideOffset:t=4,...r},o)=>y__namespace.createElement(x__namespace.Portal,null,y__namespace.createElement(x__namespace.Content,{ref:o,sideOffset:t,className:a("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),...r})));_r.displayName=x__namespace.Content.displayName;var Kr=y__namespace.forwardRef(({className:e,inset:t,...r},o)=>y__namespace.createElement(x__namespace.Item,{ref:o,className:a("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]:size-4 [&>svg]:shrink-0",t&&"pl-8",e),...r}));Kr.displayName=x__namespace.Item.displayName;var zr=y__namespace.forwardRef(({className:e,children:t,checked:r,...o},n)=>y__namespace.createElement(x__namespace.CheckboxItem,{ref:n,className:a("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:r,...o},y__namespace.createElement("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center"},y__namespace.createElement(x__namespace.ItemIndicator,null,y__namespace.createElement(lucideReact.Check,{className:"h-4 w-4"}))),t));zr.displayName=x__namespace.CheckboxItem.displayName;var Vr=y__namespace.forwardRef(({className:e,children:t,...r},o)=>y__namespace.createElement(x__namespace.RadioItem,{ref:o,className:a("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),...r},y__namespace.createElement("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center"},y__namespace.createElement(x__namespace.ItemIndicator,null,y__namespace.createElement(lucideReact.Circle,{className:"h-2 w-2 fill-current"}))),t));Vr.displayName=x__namespace.RadioItem.displayName;var Wr=y__namespace.forwardRef(({className:e,inset:t,...r},o)=>y__namespace.createElement(x__namespace.Label,{ref:o,className:a("px-2 py-1.5 text-sm font-semibold",t&&"pl-8",e),...r}));Wr.displayName=x__namespace.Label.displayName;var jr=y__namespace.forwardRef(({className:e,...t},r)=>y__namespace.createElement(x__namespace.Separator,{ref:r,className:a("-mx-1 my-1 h-px bg-muted",e),...t}));jr.displayName=x__namespace.Separator.displayName;var qr=({className:e,...t})=>y__namespace.createElement("span",{className:a("ml-auto text-xs tracking-widest opacity-60",e),...t});qr.displayName="DropdownMenuShortcut";var Yr=y__namespace.forwardRef(({className:e,type:t,...r},o)=>y__namespace.createElement("input",{type:t,className:a("flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-base shadow-sm transition-colors 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-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",e),ref:o,...r}));Yr.displayName="Input";var Ya=classVarianceAuthority.cva("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"),Xr=y__namespace.forwardRef(({className:e,...t},r)=>y__namespace.createElement(It__namespace.Root,{ref:r,className:a(Ya(),e),...t}));Xr.displayName=It__namespace.Root.displayName;var Zr=y__namespace.forwardRef(({className:e,value:t,...r},o)=>y__namespace.createElement(Ve__namespace.Root,{ref:o,className:a("relative h-4 w-full overflow-hidden rounded-full bg-secondary",e),...r},y__namespace.createElement(Ve__namespace.Indicator,{className:"h-full w-full flex-1 bg-primary transition-all",style:{transform:`translateX(-${100-(t||0)}%)`}})));Zr.displayName=Ve__namespace.Root.displayName;var Jr=y__namespace.forwardRef(({className:e,...t},r)=>y__namespace.createElement(xe__namespace.Root,{className:a("grid gap-2",e),...t,ref:r}));Jr.displayName=xe__namespace.Root.displayName;var Qr=y__namespace.forwardRef(({className:e,...t},r)=>y__namespace.createElement(xe__namespace.Item,{ref:r,className:a("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},y__namespace.createElement(xe__namespace.Indicator,{className:"flex items-center justify-center"},y__namespace.createElement(lucideReact.Circle,{className:"h-2.5 w-2.5 fill-current text-current"}))));Qr.displayName=xe__namespace.Item.displayName;var eo=y__namespace.forwardRef(({className:e,children:t,...r},o)=>y__namespace.createElement(ne__namespace.Root,{ref:o,className:a("relative overflow-hidden",e),...r},y__namespace.createElement(ne__namespace.Viewport,{className:"h-full w-full rounded-[inherit]"},t),y__namespace.createElement(At,null),y__namespace.createElement(ne__namespace.Corner,null)));eo.displayName=ne__namespace.Root.displayName;var At=y__namespace.forwardRef(({className:e,orientation:t="vertical",...r},o)=>y__namespace.createElement(ne__namespace.ScrollAreaScrollbar,{ref:o,orientation:t,className:a("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),...r},y__namespace.createElement(ne__namespace.ScrollAreaThumb,{className:"relative flex-1 rounded-full bg-border"})));At.displayName=ne__namespace.ScrollAreaScrollbar.displayName;var Qa=R__namespace.Root,en=R__namespace.Group,tn=R__namespace.Value,ro=y__namespace.forwardRef(({className:e,children:t,...r},o)=>y__namespace.createElement(R__namespace.Trigger,{ref:o,className:a("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 [&>span]:line-clamp-1",e),...r},t,y__namespace.createElement(R__namespace.Icon,{asChild:true},y__namespace.createElement(lucideReact.ChevronDown,{className:"h-4 w-4 opacity-50"}))));ro.displayName=R__namespace.Trigger.displayName;var Ft=y__namespace.forwardRef(({className:e,...t},r)=>y__namespace.createElement(R__namespace.ScrollUpButton,{ref:r,className:a("flex cursor-default items-center justify-center py-1",e),...t},y__namespace.createElement(lucideReact.ChevronUp,{className:"h-4 w-4"})));Ft.displayName=R__namespace.ScrollUpButton.displayName;var Ot=y__namespace.forwardRef(({className:e,...t},r)=>y__namespace.createElement(R__namespace.ScrollDownButton,{ref:r,className:a("flex cursor-default items-center justify-center py-1",e),...t},y__namespace.createElement(lucideReact.ChevronDown,{className:"h-4 w-4"})));Ot.displayName=R__namespace.ScrollDownButton.displayName;var oo=y__namespace.forwardRef(({className:e,children:t,position:r="popper",...o},n)=>y__namespace.createElement(R__namespace.Portal,null,y__namespace.createElement(R__namespace.Content,{ref:n,className:a("relative z-50 max-h-96 min-w-[8rem] overflow-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",r==="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:r,...o},y__namespace.createElement(Ft,null),y__namespace.createElement(R__namespace.Viewport,{className:a("p-1",r==="popper"&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]")},t),y__namespace.createElement(Ot,null))));oo.displayName=R__namespace.Content.displayName;var ao=y__namespace.forwardRef(({className:e,...t},r)=>y__namespace.createElement(R__namespace.Label,{ref:r,className:a("py-1.5 pl-8 pr-2 text-sm font-semibold",e),...t}));ao.displayName=R__namespace.Label.displayName;var no=y__namespace.forwardRef(({className:e,children:t,...r},o)=>y__namespace.createElement(R__namespace.Item,{ref:o,className:a("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),...r},y__namespace.createElement("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center"},y__namespace.createElement(R__namespace.ItemIndicator,null,y__namespace.createElement(lucideReact.Check,{className:"h-4 w-4"}))),y__namespace.createElement(R__namespace.ItemText,null,t)));no.displayName=R__namespace.Item.displayName;var io=y__namespace.forwardRef(({className:e,...t},r)=>y__namespace.createElement(R__namespace.Separator,{ref:r,className:a("-mx-1 my-1 h-px bg-muted",e),...t}));io.displayName=R__namespace.Separator.displayName;var so=y__namespace.forwardRef(({className:e,orientation:t="horizontal",decorative:r=true,...o},n)=>y__namespace.createElement(Gt__namespace.Root,{ref:n,decorative:r,orientation:t,className:a("shrink-0 bg-border",t==="horizontal"?"h-[1px] w-full":"h-full w-[1px]",e),...o}));so.displayName=Gt__namespace.Root.displayName;var an=F__namespace.Root,nn=F__namespace.Trigger,sn=F__namespace.Close,co=F__namespace.Portal,$t=y__namespace.forwardRef(({className:e,...t},r)=>y__namespace.createElement(F__namespace.Overlay,{className:a("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:r}));$t.displayName=F__namespace.Overlay.displayName;var dn=classVarianceAuthority.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"}}),lo=y__namespace.forwardRef(({side:e="right",className:t,children:r,...o},n)=>y__namespace.createElement(co,null,y__namespace.createElement($t,null),y__namespace.createElement(F__namespace.Content,{ref:n,className:a(dn({side:e}),t),...o},r,y__namespace.createElement(F__namespace.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"},y__namespace.createElement(lucideReact.X,{className:"h-4 w-4"}),y__namespace.createElement("span",{className:"sr-only"},"Close")))));lo.displayName=F__namespace.Content.displayName;var po=({className:e,...t})=>y__namespace.createElement("div",{className:a("flex flex-col space-y-2 text-center sm:text-left",e),...t});po.displayName="SheetHeader";var mo=({className:e,...t})=>y__namespace.createElement("div",{className:a("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",e),...t});mo.displayName="SheetFooter";var uo=y__namespace.forwardRef(({className:e,...t},r)=>y__namespace.createElement(F__namespace.Title,{ref:r,className:a("text-lg font-semibold text-foreground",e),...t}));uo.displayName=F__namespace.Title.displayName;var fo=y__namespace.forwardRef(({className:e,...t},r)=>y__namespace.createElement(F__namespace.Description,{ref:r,className:a("text-sm text-muted-foreground",e),...t}));fo.displayName=F__namespace.Description.displayName;function cn({className:e,...t}){return React.createElement("div",{className:a("animate-pulse rounded-md bg-muted",e),...t})}var go=y__namespace.forwardRef(({className:e,...t},r)=>y__namespace.createElement(ge__namespace.Root,{ref:r,className:a("relative flex w-full touch-none select-none items-center",e),...t},y__namespace.createElement(ge__namespace.Track,{className:"relative h-2 w-full grow overflow-hidden rounded-full bg-secondary"},y__namespace.createElement(ge__namespace.Range,{className:"absolute h-full bg-primary"})),y__namespace.createElement(ge__namespace.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"})));go.displayName=ge__namespace.Root.displayName;var ho=y__namespace.forwardRef(({className:e,...t},r)=>y__namespace.createElement(je__namespace.Root,{className:a("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:r},y__namespace.createElement(je__namespace.Thumb,{className:a("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")})));ho.displayName=je__namespace.Root.displayName;var yo=y__namespace.forwardRef(({className:e,...t},r)=>y__namespace.createElement("div",{className:"relative w-full overflow-auto"},y__namespace.createElement("table",{ref:r,className:a("w-full caption-bottom text-sm",e),...t})));yo.displayName="Table";var vo=y__namespace.forwardRef(({className:e,...t},r)=>y__namespace.createElement("thead",{ref:r,className:a("[&_tr]:border-b",e),...t}));vo.displayName="TableHeader";var bo=y__namespace.forwardRef(({className:e,...t},r)=>y__namespace.createElement("tbody",{ref:r,className:a("[&_tr:last-child]:border-0",e),...t}));bo.displayName="TableBody";var xo=y__namespace.forwardRef(({className:e,...t},r)=>y__namespace.createElement("tfoot",{ref:r,className:a("border-t bg-muted/50 font-medium [&>tr]:last:border-b-0",e),...t}));xo.displayName="TableFooter";var Ro=y__namespace.forwardRef(({className:e,...t},r)=>y__namespace.createElement("tr",{ref:r,className:a("border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted",e),...t}));Ro.displayName="TableRow";var To=y__namespace.forwardRef(({className:e,...t},r)=>y__namespace.createElement("th",{ref:r,className:a("h-10 px-2 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",e),...t}));To.displayName="TableHead";var wo=y__namespace.forwardRef(({className:e,...t},r)=>y__namespace.createElement("td",{ref:r,className:a("p-2 align-middle [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",e),...t}));wo.displayName="TableCell";var Po=y__namespace.forwardRef(({className:e,...t},r)=>y__namespace.createElement("caption",{ref:r,className:a("mt-4 text-sm text-muted-foreground",e),...t}));Po.displayName="TableCaption";var ln=ce__namespace.Root,So=y__namespace.forwardRef(({className:e,...t},r)=>y__namespace.createElement(ce__namespace.List,{ref:r,className:a("inline-flex h-9 items-center justify-center rounded-lg bg-muted p-1 text-muted-foreground",e),...t}));So.displayName=ce__namespace.List.displayName;var Co=y__namespace.forwardRef(({className:e,...t},r)=>y__namespace.createElement(ce__namespace.Trigger,{ref:r,className:a("inline-flex items-center justify-center whitespace-nowrap rounded-md px-3 py-1 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",e),...t}));Co.displayName=ce__namespace.Trigger.displayName;var No=y__namespace.forwardRef(({className:e,...t},r)=>y__namespace.createElement(ce__namespace.Content,{ref:r,className:a("mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",e),...t}));No.displayName=ce__namespace.Content.displayName;var ko=y__namespace.forwardRef(({className:e,...t},r)=>y__namespace.createElement("textarea",{className:a("flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2 text-sm 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",e),ref:r,...t}));ko.displayName="Textarea";var Bt=le__namespace.Provider,Ut=le__namespace.Root,_t=le__namespace.Trigger,ht=y__namespace.forwardRef(({className:e,sideOffset:t=4,...r},o)=>y__namespace.createElement(le__namespace.Portal,null,y__namespace.createElement(le__namespace.Content,{ref:o,sideOffset:t,className:a("z-50 overflow-hidden rounded-md bg-primary px-3 py-1.5 text-xs text-primary-foreground 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),...r})));ht.displayName=le__namespace.Content.displayName;var Eo=y__namespace.createContext(null);function Ho(){let e=y__namespace.useContext(Eo);if(!e)throw new Error("SideMenu components must be used within SideMenu");return e}var un=({href:e,className:t,children:r})=>y__namespace.createElement("a",{href:e,className:t},r),Lo=y__namespace.forwardRef(({header:e,collapsedHeader:t,sections:r,items:o,footer:n,collapsed:i,onCollapsedChange:d,collapsible:c=true,defaultCollapsed:s=false,activeItem:p,className:l,linkComponent:m=un},g)=>{let[h,T]=y__namespace.useState(s),f=i??h,u=()=>{let w=!f;T(w),d?.(w);};return y__namespace.createElement(Bt,{delayDuration:0},y__namespace.createElement(Eo.Provider,{value:{collapsed:f,activeItem:p,LinkComponent:m}},y__namespace.createElement("aside",{ref:g,className:a("flex h-full flex-col transition-[width] duration-300 ease-in-out","bg-white dark:bg-[#141414] border-r border-rds-gray-200 dark:border-[#1a1a1a]",f?"w-16":"w-64",l)},y__namespace.createElement("div",{className:a("flex items-center border-b border-rds-gray-200 dark:border-[#1a1a1a] flex-shrink-0 h-12",f?"justify-center px-2":"justify-between px-3")},f&&t||e,c&&y__namespace.createElement("button",{onClick:u,className:a("rounded-md h-5 w-5 flex items-center justify-center","text-rds-gray-400 dark:text-rds-gray-500","hover:text-rds-gray-600 dark:hover:text-rds-gray-300 transition-colors","bg-white dark:bg-[#141414] border border-rds-gray-200 dark:border-rds-gray-700 shadow-sm",f&&"absolute left-[calc(4rem-10px)] top-6 -translate-y-1/2 z-50"),"aria-label":f?"Expand sidebar":"Collapse sidebar"},f?y__namespace.createElement(lucideReact.ChevronRight,{className:"h-3 w-3"}):y__namespace.createElement(lucideReact.ChevronLeft,{className:"h-3 w-3"}))),y__namespace.createElement("nav",{className:"flex-1 py-2 overflow-y-auto overflow-x-hidden"},o&&o.length>0&&y__namespace.createElement("div",{className:"px-2 mb-1 space-y-0.5"},o.map(w=>y__namespace.createElement(Kt,{key:w.id,item:w}))),r?.map(w=>y__namespace.createElement(fn,{key:w.id,section:w}))),n&&y__namespace.createElement("div",{className:"flex-shrink-0 border-t border-rds-gray-200 dark:border-[#1a1a1a] p-2"},n))))});Lo.displayName="SideMenu";function fn({section:e}){let{collapsed:t}=Ho(),[r,o]=y__namespace.useState(e.defaultExpanded??true);return t?y__namespace.createElement("div",{className:"px-2 mb-1 space-y-0.5"},e.items.map(n=>y__namespace.createElement(Kt,{key:n.id,item:n}))):y__namespace.createElement("div",{className:"px-2 mb-1"},y__namespace.createElement("button",{onClick:()=>o(!r),className:a("flex w-full items-center gap-2.5 rounded-md px-2 py-1.5 text-sm font-medium","text-rds-gray-700 dark:text-rds-gray-300","hover:bg-rds-gray-50 dark:hover:bg-rds-gray-900","hover:text-rds-gray-900 dark:hover:text-white transition-colors")},e.icon&&y__namespace.createElement("span",{className:"h-3.5 w-3.5 flex-shrink-0"},e.icon),y__namespace.createElement("span",{className:"flex-1 text-left"},e.title),r?y__namespace.createElement(lucideReact.ChevronDown,{className:"h-3 w-3",strokeWidth:1.5}):y__namespace.createElement(lucideReact.ChevronRight,{className:"h-3 w-3",strokeWidth:1.5})),r&&y__namespace.createElement("div",{className:"mt-0.5 space-y-0.5 relative pl-5"},y__namespace.createElement("div",{className:"absolute left-[1.1rem] top-0 bottom-0 w-px bg-rds-gray-200 dark:bg-rds-gray-700"}),e.items.map(n=>y__namespace.createElement(Kt,{key:n.id,item:n,nested:true}))))}function Kt({item:e,nested:t=false}){let{collapsed:r,activeItem:o,LinkComponent:n}=Ho(),i=o===e.id,d=a("flex items-center gap-2.5 rounded-md text-sm font-medium transition-colors",r?"justify-center px-2 py-2.5":"px-2 py-1.5",i?t?"bg-rds-gray-100 dark:bg-[#1a1a1a] text-rds-gray-900 dark:text-white":"bg-rds-green-50 dark:bg-rds-green-950 text-rds-green-700 dark:text-rds-green-400":"text-rds-gray-700 dark:text-rds-gray-300 hover:bg-rds-gray-50 dark:hover:bg-rds-gray-900 hover:text-rds-gray-900 dark:hover:text-white",e.disabled&&"opacity-50 pointer-events-none"),c=y__namespace.createElement(y__namespace.Fragment,null,e.icon&&y__namespace.createElement("span",{className:a("flex-shrink-0",r?"h-5 w-5":"h-3.5 w-3.5")},e.icon),!r&&y__namespace.createElement("span",null,e.label),!r&&e.badge&&y__namespace.createElement("span",{className:"ml-auto text-xs bg-rds-gray-100 dark:bg-rds-gray-800 px-1.5 py-0.5 rounded"},e.badge)),s=e.href?y__namespace.createElement(n,{href:e.href,className:d},c):y__namespace.createElement("button",{onClick:e.onClick,disabled:e.disabled,className:a(d,"w-full")},c);return r?y__namespace.createElement(Ut,null,y__namespace.createElement(_t,{asChild:true},s),y__namespace.createElement(ht,{side:"right",sideOffset:8},e.label)):s}var hn=({href:e,className:t,children:r})=>y__namespace.createElement("a",{href:e,className:t},r),Do=y__namespace.forwardRef(({breadcrumbs:e=[],showMobileMenu:t=false,onMobileMenuClick:r,leftContent:o,rightContent:n,className:i,linkComponent:d=hn},c)=>y__namespace.createElement("header",{ref:c,className:a("sticky top-0 z-30 flex h-12 items-center gap-3","border-b border-rds-gray-200 dark:border-[#1a1a1a]","bg-white dark:bg-[#141414] px-4",i)},t&&y__namespace.createElement("button",{onClick:r,className:"lg:hidden rounded-md p-1.5 text-rds-gray-600 hover:bg-rds-gray-100 dark:text-rds-gray-400 dark:hover:bg-rds-gray-800","aria-label":"Toggle menu"},y__namespace.createElement(lucideReact.Menu,{className:"h-4 w-4"})),e.length>0&&y__namespace.createElement("nav",{className:"hidden md:flex items-center gap-1.5 text-sm","aria-label":"Breadcrumb"},e.map((s,p)=>y__namespace.createElement(y__namespace.Fragment,{key:p},p>0&&y__namespace.createElement("span",{className:"text-rds-gray-400 dark:text-rds-gray-500 text-xs"},"/"),s.href?y__namespace.createElement(d,{href:s.href,className:"text-rds-gray-600 dark:text-rds-gray-400 hover:text-rds-gray-900 dark:hover:text-white transition-colors text-sm"},s.label):y__namespace.createElement("span",{className:"text-rds-gray-900 dark:text-white font-medium text-sm"},s.label)))),o,y__namespace.createElement("div",{className:"flex-1"}),n&&y__namespace.createElement("div",{className:"flex items-center gap-1.5"},n)));Do.displayName="TopMenu";var Io=y__namespace.forwardRef(({name:e,email:t,avatarUrl:r,avatarContent:o,avatarClassName:n,children:i,className:d},c)=>{let[s,p]=y__namespace.useState(false),l=y__namespace.useRef(null);return y__namespace.useEffect(()=>{let m=g=>{l.current&&!l.current.contains(g.target)&&p(false);};return s&&document.addEventListener("mousedown",m),()=>{document.removeEventListener("mousedown",m);}},[s]),y__namespace.createElement("div",{ref:c,className:a("relative",d)},y__namespace.createElement("div",{ref:l},y__namespace.createElement("button",{onClick:()=>p(!s),className:"flex items-center gap-1.5 rounded-full p-0.5 hover:ring-2 hover:ring-rds-green-500 hover:ring-offset-2 dark:hover:ring-offset-[#141414] transition-all","aria-label":"Account menu"},y__namespace.createElement("div",{className:a("h-8 w-8 rounded-full overflow-hidden flex items-center justify-center",n||"bg-gradient-to-br from-rds-yellow-400 to-rds-yellow-600")},r?y__namespace.createElement("img",{src:r,alt:e||"User",className:"h-full w-full object-cover"}):o)),s&&y__namespace.createElement("div",{className:"absolute right-0 mt-2 w-64 rounded-lg border border-rds-gray-200 dark:border-[#1a1a1a] bg-white dark:bg-[#141414] shadow-lg overflow-hidden z-50"},(e||t)&&y__namespace.createElement("div",{className:"px-4 py-3 border-b border-rds-gray-200 dark:border-[#1a1a1a]"},y__namespace.createElement("div",{className:"flex items-center gap-3"},y__namespace.createElement("div",{className:a("h-10 w-10 rounded-full overflow-hidden flex items-center justify-center",n||"bg-gradient-to-br from-rds-yellow-400 to-rds-yellow-600")},r?y__namespace.createElement("img",{src:r,alt:e||"User",className:"h-full w-full object-cover"}):o),y__namespace.createElement("div",{className:"flex-1 min-w-0"},e&&y__namespace.createElement("p",{className:"text-sm font-medium text-rds-gray-900 dark:text-white truncate"},e),t&&y__namespace.createElement("p",{className:"text-xs text-rds-gray-500 dark:text-rds-gray-400 truncate"},t)))),i)))});Io.displayName="TopMenuUser";var Ao=y__namespace.forwardRef(({icon:e,children:t,onClick:r,href:o,variant:n="default",className:i},d)=>y__namespace.createElement(o?"a":"button",{ref:d,onClick:r,href:o,className:a("w-full flex items-center gap-3 px-4 py-2 text-sm transition-colors",{default:"text-rds-gray-700 dark:text-rds-gray-300 hover:bg-rds-gray-50 dark:hover:bg-[#1a1a1a]",danger:"text-red-600 dark:text-red-400 hover:bg-red-50 dark:hover:bg-red-950/20",success:"text-rds-green-600 dark:text-rds-green-400 hover:bg-rds-green-50 dark:hover:bg-rds-green-950/20"}[n],i)},e&&y__namespace.createElement("span",{className:"h-4 w-4"},e),y__namespace.createElement("span",null,t)));Ao.displayName="TopMenuUserItem";var Fo=y__namespace.forwardRef(({children:e,className:t},r)=>y__namespace.createElement("div",{ref:r,className:a("py-1 border-t border-rds-gray-200 dark:border-[#1a1a1a] first:border-t-0",t)},e));Fo.displayName="TopMenuUserSection";var zt=y__namespace.createContext(null);function Vt(){let e=y__namespace.useContext(zt);if(!e)throw new Error("SimpleTabsPanel must be used within SimpleTabs");return e}var Oo=y__namespace.forwardRef(({tabs:e,activeTab:t,defaultTab:r,onTabChange:o,children:n,className:i,tabsClassName:d},c)=>{let[s,p]=y__namespace.useState(r||e[0]?.id||""),l=t??s,m=g=>{p(g),o?.(g);};return y__namespace.createElement(zt.Provider,{value:{activeTab:l,setActiveTab:m}},y__namespace.createElement("div",{ref:c,className:a("space-y-6",i)},y__namespace.createElement("div",{className:"border-b border-rds-gray-200 dark:border-rds-gray-800"},y__namespace.createElement("nav",{className:a("-mb-px flex gap-1 overflow-x-auto scrollbar-hide",d),"aria-label":"Tabs"},e.map(g=>{let h=l===g.id;return y__namespace.createElement("button",{key:g.id,onClick:()=>!g.disabled&&m(g.id),disabled:g.disabled,className:a("relative flex items-center gap-2 px-4 py-3 text-sm font-medium transition-colors whitespace-nowrap",h?"text-primary":"text-muted-foreground hover:text-foreground",g.disabled&&"opacity-50 cursor-not-allowed")},g.icon&&y__namespace.createElement("span",{className:"h-4 w-4"},g.icon),g.label,h&&y__namespace.createElement("span",{className:"absolute bottom-0 left-0 right-0 h-0.5 bg-primary","aria-hidden":"true"}))}))),n&&y__namespace.createElement("div",null,n)))});Oo.displayName="SimpleTabs";var Go=y__namespace.forwardRef(({id:e,children:t,className:r},o)=>{let{activeTab:n}=Vt();return n!==e?null:y__namespace.createElement("div",{ref:o,role:"tabpanel","aria-labelledby":`tab-${e}`,className:r},t)});Go.displayName="SimpleTabsPanel";var $o=y__namespace.forwardRef(({activeTab:e,defaultTab:t,onTabChange:r,children:o,className:n},i)=>{let[d,c]=y__namespace.useState(t||""),s=e??d,p=l=>{c(l),r?.(l);};return y__namespace.createElement(zt.Provider,{value:{activeTab:s,setActiveTab:p}},y__namespace.createElement("div",{ref:i,className:a("space-y-6",n)},o))});$o.displayName="SimpleTabsRoot";var Bo=y__namespace.forwardRef(({children:e,className:t},r)=>y__namespace.createElement("div",{ref:r,className:"border-b border-rds-gray-200 dark:border-rds-gray-800"},y__namespace.createElement("nav",{className:a("-mb-px flex gap-1 overflow-x-auto scrollbar-hide",t),role:"tablist","aria-label":"Tabs"},e)));Bo.displayName="SimpleTabsList";var Uo=y__namespace.forwardRef(({value:e,children:t,icon:r,disabled:o,className:n},i)=>{let{activeTab:d,setActiveTab:c}=Vt(),s=d===e;return y__namespace.createElement("button",{ref:i,role:"tab",id:`tab-${e}`,"aria-selected":s,"aria-controls":`panel-${e}`,onClick:()=>!o&&c(e),disabled:o,className:a("relative flex items-center gap-2 px-4 py-3 text-sm font-medium transition-colors whitespace-nowrap",s?"text-primary":"text-muted-foreground hover:text-foreground",o&&"opacity-50 cursor-not-allowed",n)},r&&y__namespace.createElement("span",{className:"h-4 w-4"},r),t,s&&y__namespace.createElement("span",{className:"absolute bottom-0 left-0 right-0 h-0.5 bg-primary","aria-hidden":"true"}))});Uo.displayName="SimpleTabsTrigger";var _o=y__namespace.forwardRef(({value:e,children:t,className:r},o)=>{let{activeTab:n}=Vt();return n!==e?null:y__namespace.createElement("div",{ref:o,role:"tabpanel",id:`panel-${e}`,"aria-labelledby":`tab-${e}`,className:r},t)});_o.displayName="SimpleTabsContent";var yn={video:"aspect-video",square:"aspect-square",portrait:"aspect-[3/4]",wide:"aspect-[21/9]",auto:""},vn={none:"0",sm:"var(--radius, 0.25rem)",md:"calc(var(--radius, 0.375rem) * 1.25)",lg:"calc(var(--radius, 0.5rem) * 1.5)",xl:"calc(var(--radius, 0.75rem) * 2)"},ue=y__namespace.forwardRef(({className:e,aspect:t="video",radius:r="lg",border:o=false,loading:n=false,onVisibilityChange:i,fallback:d,style:c,children:s,...p},l)=>{let m=y__namespace.useRef(null);return y__namespace.useImperativeHandle(l,()=>m.current),y__namespace.useEffect(()=>{if(!i||!m.current)return;let g=m.current,h=new IntersectionObserver(([T])=>i(T.isIntersecting),{threshold:.05});return h.observe(g),()=>h.disconnect()},[i]),y__namespace.createElement("div",{ref:m,"data-gds-part":"media-surface",className:a("rds-media-surface relative w-full overflow-hidden bg-muted",yn[t],o&&"border border-border",e),style:{borderRadius:`var(--rds-media-radius, ${vn[r]})`,...c},...p},s,n&&y__namespace.createElement("div",{className:"absolute inset-0 flex items-center justify-center bg-muted animate-pulse","aria-hidden":true},d))});ue.displayName="MediaSurface";function Me(){let[e,t]=y__namespace.useState(false);return y__namespace.useEffect(()=>{let r=window.matchMedia("(prefers-reduced-motion: reduce)");t(r.matches);let o=n=>t(n.matches);return r.addEventListener("change",o),()=>r.removeEventListener("change",o)},[]),e}var Ko=y__namespace.forwardRef(({src:e,controls:t=true,autoPlay:r=false,loop:o=false,muted:n,pauseOffscreen:i=true,aspect:d="video",radius:c="lg",border:s=false,poster:p,label:l,className:m,style:g,playbackRate:h=1,objectFit:T="cover"},f)=>{let u=y__namespace.useRef(null),w=Me(),[N,E]=y__namespace.useState(!!p);y__namespace.useImperativeHandle(f,()=>u.current);let M=n??r,K=r&&!w;y__namespace.useEffect(()=>{u.current&&(u.current.playbackRate=h);},[h]),y__namespace.useEffect(()=>{E(!!p);},[p]);let J=y__namespace.useCallback(ye=>{!i||!u.current||(ye&&K?u.current.play().catch(()=>{}):u.current.pause());},[i,K]);return y__namespace.createElement(ue,{aspect:d,radius:c,border:s,"aria-label":l,className:m,style:g,onVisibilityChange:i?J:void 0},y__namespace.createElement("video",{ref:u,src:e,controls:t,autoPlay:K,loop:o,muted:M,playsInline:true,preload:K?"auto":"metadata",onPlaying:()=>E(false),className:a("w-full h-full",T==="cover"&&"object-cover",T==="contain"&&"object-contain",T==="fill"&&"object-fill")},"Your browser does not support the video tag."),p&&N&&y__namespace.createElement("img",{src:p,alt:"","aria-hidden":"true",loading:"lazy",decoding:"async","data-gds-part":"video-poster",className:a("absolute inset-0 w-full h-full pointer-events-none transition-opacity duration-200",T==="cover"&&"object-cover",T==="contain"&&"object-contain",T==="fill"&&"object-fill")}))});Ko.displayName="VideoPlayer";var zo=y__namespace.forwardRef(({src:e,controls:t=false,autoPlay:r=true,loop:o=true,pauseOffscreen:n=true,aspect:i="square",radius:d="lg",border:c=false,poster:s,label:p,className:l,style:m,stateMachines:g,artboard:h,fit:T="contain",stateMachineInputs:f},u)=>{let w=Me(),[N,E]=y__namespace.useState(null),[M,K]=y__namespace.useState(null);return y__namespace.useEffect(()=>{let J=false;return import('@rive-app/react-canvas').then(ye=>{J||E(ye);}).catch(()=>{J||K("Rive runtime not installed. Run `npm install @rive-app/react-canvas`.");}),()=>{J=true;}},[]),y__namespace.createElement(ue,{ref:u,aspect:i,radius:d,border:c,"aria-label":p,className:l,style:m},M?y__namespace.createElement("div",{className:"flex items-center justify-center h-full text-sm text-muted-foreground p-4 text-center"},M):N&&e?y__namespace.createElement(Rn,{Mod:N,src:e,stateMachines:g,artboard:h,fit:T,stateMachineInputs:f,autoPlay:r&&!w,loop:o,pauseOffscreen:n,controls:t,poster:s}):s&&y__namespace.createElement("img",{src:s,alt:"",className:"w-full h-full object-contain"}))});zo.displayName="RivePlayer";function Rn({Mod:e,src:t,stateMachines:r,artboard:o,fit:n,autoPlay:i,loop:d,pauseOffscreen:c,controls:s,poster:p}){let{useRive:l,Layout:m,Fit:g,Alignment:h,EventType:T}=e,f={contain:g.Contain,cover:g.Cover,fill:g.Fill,fitWidth:g.FitWidth,fitHeight:g.FitHeight,none:g.None},{rive:u,RiveComponent:w}=l({src:t,stateMachines:r,artboard:o,autoplay:i,layout:new m({fit:f[n],alignment:h.Center})}),[N,E]=y__namespace.useState(i);y__namespace.useEffect(()=>{if(!u||!d)return;let K=()=>{u.play();};return u.on(T.Stop,K),()=>{u.off(T.Stop,K);}},[u,d,T]),y__namespace.useEffect(()=>{if(!c||!u)return;let K=u.canvas;if(!K)return;let J=new IntersectionObserver(([ye])=>{ye.isIntersecting&&i?u.play():u.pause();},{threshold:.05});return J.observe(K),()=>J.disconnect()},[u,c,i]);let M=()=>{u&&(N?(u.pause(),E(false)):(u.play(),E(true)));};return y__namespace.createElement(y__namespace.Fragment,null,y__namespace.createElement(w,{className:"w-full h-full"}),!u&&p&&y__namespace.createElement("img",{src:p,alt:"",className:"absolute inset-0 w-full h-full object-contain pointer-events-none"}),s&&y__namespace.createElement("div",{className:a("absolute inset-0 flex items-end justify-end p-2","opacity-0 hover:opacity-100 transition-opacity","bg-gradient-to-t from-black/40 to-transparent")},y__namespace.createElement(X,{size:"icon",variant:"secondary",onClick:M},N?y__namespace.createElement(lucideReact.Pause,{className:"h-4 w-4"}):y__namespace.createElement(lucideReact.Play,{className:"h-4 w-4"}))))}var Wo=({renderer:e,scene:t,camera:r,preset:o,width:n,height:i})=>{let d=new postprocessing.EffectComposer(e);d.setSize(n,i),d.addPass(new postprocessing.RenderPass(t,r));let c=new postprocessing.BloomEffect({intensity:0,luminanceThreshold:.6,radius:.6,kernelSize:postprocessing.KernelSize.MEDIUM}),s=new postprocessing.NoiseEffect({blendFunction:postprocessing.BlendFunction.OVERLAY});s.blendMode.opacity.value=0;let p=new postprocessing.ScanlineEffect({blendFunction:postprocessing.BlendFunction.OVERLAY,density:1.25});p.blendMode.opacity.value=0;let l=new postprocessing.VignetteEffect({darkness:0,offset:.5}),m=new postprocessing.ChromaticAberrationEffect({offset:new I__namespace.Vector2(0,0),radialModulation:false,modulationOffset:.15}),g=new postprocessing.GlitchEffect({chromaticAberrationOffset:new I__namespace.Vector2(0,0),columns:.05});g.minStrength=0,g.maxStrength=0,d.addPass(new postprocessing.EffectPass(r,c)),d.addPass(new postprocessing.EffectPass(r,s,p,l)),d.addPass(new postprocessing.EffectPass(r,m)),d.addPass(new postprocessing.EffectPass(r,g));function h(T){let f=T.effects;c.intensity=f.bloom?.intensity??0,c.luminanceMaterial&&f.bloom?.luminanceThreshold!==void 0&&(c.luminanceMaterial.threshold=f.bloom.luminanceThreshold),s.blendMode.opacity.value=f.noise?.intensity??0,p.density=f.scanlines?.density??1.25,p.blendMode.opacity.value=f.scanlines?.opacity??0,l.darkness=f.vignette?.darkness??0,l.offset=f.vignette?.offset??.5;let u=f.chromatic?.offset??0;m.offset?.set(u,u),f.glitch?(g.minStrength=f.glitch.strength?.[0]??0,g.maxStrength=f.glitch.strength?.[1]??0):(g.minStrength=0,g.maxStrength=0);}return h(o),{composer:d,setPreset:h,resize:(T,f)=>d.setSize(T,f),dispose:()=>{d.dispose();}}};var Ae=3e3,jt=400,Hn=80,jo=({width:e,height:t,palette:r})=>{let o=new I__namespace.Scene;o.background=new I__namespace.Color(r.background);let n=new I__namespace.PerspectiveCamera(70,e/t,.1,jt*2);n.position.z=0;let i=new Float32Array(Ae*6),d=new Float32Array(Ae*6),c=new Float32Array(Ae),s=new I__namespace.Color(r.primary),p=new I__namespace.Color(r.accent);function l(u,w){let N=Math.random()*Math.PI*2,E=Hn*Math.pow(Math.random(),.6),M=Math.cos(N)*E,K=Math.sin(N)*E,J=w?-Math.random()*jt:-jt;c[u]=J,i[u*6+0]=M,i[u*6+1]=K,i[u*6+2]=J,i[u*6+3]=M,i[u*6+4]=K,i[u*6+5]=J-2,d[u*6+0]=s.r,d[u*6+1]=s.g,d[u*6+2]=s.b,d[u*6+3]=p.r,d[u*6+4]=p.g,d[u*6+5]=p.b;}for(let u=0;u<Ae;u++)l(u,true);let m=new I__namespace.BufferGeometry;m.setAttribute("position",new I__namespace.BufferAttribute(i,3)),m.setAttribute("color",new I__namespace.BufferAttribute(d,3));let g=new I__namespace.LineBasicMaterial({vertexColors:true,transparent:true,opacity:.95,blending:I__namespace.AdditiveBlending}),h=new I__namespace.LineSegments(m,g);o.add(h);let T=60,f=6;return {scene:o,camera:n,update:(u,w)=>{let N=m.attributes.position.array;for(let E=0;E<Ae;E++){let M=E*6;N[M+2]+=T*w,N[M+5]=N[M+2]-f,N[M+2]>5&&l(E,false);}m.attributes.position.needsUpdate=true;},resize:(u,w)=>{let N=n;N.aspect=u/w,N.updateProjectionMatrix();},setPalette:u=>{o.background=new I__namespace.Color(u.background);let w=new I__namespace.Color(u.primary),N=new I__namespace.Color(u.accent),E=m.attributes.color.array;for(let M=0;M<Ae;M++)E[M*6+0]=w.r,E[M*6+1]=w.g,E[M*6+2]=w.b,E[M*6+3]=N.r,E[M*6+4]=N.g,E[M*6+5]=N.b;m.attributes.color.needsUpdate=true;},dispose:()=>{m.dispose(),g.dispose();}}};var Ln=`
2
2
  precision highp float;
3
3
  varying vec2 vUv;
4
4
  uniform float uTime;
@@ -42,7 +42,7 @@
42
42
  vUv = uv;
43
43
  gl_Position = vec4(position.xy, 0.0, 1.0);
44
44
  }
45
- `,qo=({width:e,height:t,palette:r})=>{let o=new I__namespace.Scene,n=new I__namespace.OrthographicCamera(-1,1,1,-1,0,1),i={uTime:{value:0},uResolution:{value:new I__namespace.Vector2(e,t)},uBackground:{value:new I__namespace.Color(r.background)},uPrimary:{value:new I__namespace.Color(r.primary)},uSecondary:{value:new I__namespace.Color(r.secondary)},uAccent:{value:new I__namespace.Color(r.accent)}},d=new I__namespace.ShaderMaterial({uniforms:i,vertexShader:Dn,fragmentShader:Ln,depthTest:false,depthWrite:false}),l=new I__namespace.PlaneGeometry(2,2),s=new I__namespace.Mesh(l,d);return o.add(s),{scene:o,camera:n,update:c=>{i.uTime.value=c;},resize:(c,u)=>{i.uResolution.value.set(c,u);},setPalette:c=>{i.uBackground.value.set(c.background),i.uPrimary.value.set(c.primary),i.uSecondary.value.set(c.secondary),i.uAccent.value.set(c.accent);},dispose:()=>{l.dispose(),d.dispose();}}};var In=`
45
+ `,qo=({width:e,height:t,palette:r})=>{let o=new I__namespace.Scene,n=new I__namespace.OrthographicCamera(-1,1,1,-1,0,1),i={uTime:{value:0},uResolution:{value:new I__namespace.Vector2(e,t)},uBackground:{value:new I__namespace.Color(r.background)},uPrimary:{value:new I__namespace.Color(r.primary)},uSecondary:{value:new I__namespace.Color(r.secondary)},uAccent:{value:new I__namespace.Color(r.accent)}},d=new I__namespace.ShaderMaterial({uniforms:i,vertexShader:Dn,fragmentShader:Ln,depthTest:false,depthWrite:false}),c=new I__namespace.PlaneGeometry(2,2),s=new I__namespace.Mesh(c,d);return o.add(s),{scene:o,camera:n,update:l=>{i.uTime.value=l;},resize:(l,m)=>{i.uResolution.value.set(l,m);},setPalette:l=>{i.uBackground.value.set(l.background),i.uPrimary.value.set(l.primary),i.uSecondary.value.set(l.secondary),i.uAccent.value.set(l.accent);},dispose:()=>{c.dispose(),d.dispose();}}};var In=`
46
46
  varying vec2 vUv;
47
47
  void main() {
48
48
  vUv = uv;
@@ -105,7 +105,7 @@
105
105
 
106
106
  gl_FragColor = vec4(col, 1.0);
107
107
  }
108
- `,Yo=({width:e,height:t,palette:r})=>{let o=new I__namespace.Scene,n=new I__namespace.OrthographicCamera(-1,1,1,-1,0,1),i={uTime:{value:0},uResolution:{value:new I__namespace.Vector2(e,t)},uBackground:{value:new I__namespace.Color(r.background)},uPrimary:{value:new I__namespace.Color(r.primary)},uSecondary:{value:new I__namespace.Color(r.secondary)},uAccent:{value:new I__namespace.Color(r.accent)}},d=new I__namespace.ShaderMaterial({uniforms:i,vertexShader:In,fragmentShader:An,depthTest:false,depthWrite:false}),l=new I__namespace.PlaneGeometry(2,2),s=new I__namespace.Mesh(l,d);return o.add(s),{scene:o,camera:n,update:c=>{i.uTime.value=c;},resize:(c,u)=>{i.uResolution.value.set(c,u);},setPalette:c=>{i.uBackground.value.set(c.background),i.uPrimary.value.set(c.primary),i.uSecondary.value.set(c.secondary),i.uAccent.value.set(c.accent);},dispose:()=>{l.dispose(),d.dispose();}}};var Fn=`
108
+ `,Yo=({width:e,height:t,palette:r})=>{let o=new I__namespace.Scene,n=new I__namespace.OrthographicCamera(-1,1,1,-1,0,1),i={uTime:{value:0},uResolution:{value:new I__namespace.Vector2(e,t)},uBackground:{value:new I__namespace.Color(r.background)},uPrimary:{value:new I__namespace.Color(r.primary)},uSecondary:{value:new I__namespace.Color(r.secondary)},uAccent:{value:new I__namespace.Color(r.accent)}},d=new I__namespace.ShaderMaterial({uniforms:i,vertexShader:In,fragmentShader:An,depthTest:false,depthWrite:false}),c=new I__namespace.PlaneGeometry(2,2),s=new I__namespace.Mesh(c,d);return o.add(s),{scene:o,camera:n,update:l=>{i.uTime.value=l;},resize:(l,m)=>{i.uResolution.value.set(l,m);},setPalette:l=>{i.uBackground.value.set(l.background),i.uPrimary.value.set(l.primary),i.uSecondary.value.set(l.secondary),i.uAccent.value.set(l.accent);},dispose:()=>{c.dispose(),d.dispose();}}};var Fn=`
109
109
  varying vec2 vUv;
110
110
  void main() {
111
111
  vUv = uv;
@@ -199,9 +199,9 @@
199
199
  }
200
200
  `,Fe=class extends Error{log;source;constructor(t,r){super(`Fragment shader failed to compile:
201
201
  ${t.trim()}`),this.name="ShaderCompileError",this.log=t,this.source=r;}};function $n(e,t){let r=e.getContext(),o=r.createShader(r.FRAGMENT_SHADER);if(!o)throw new Error("Unable to allocate fragment shader");r.shaderSource(o,t),r.compileShader(o);let n=r.getShaderParameter(o,r.COMPILE_STATUS),i=r.getShaderInfoLog(o)||"";if(r.deleteShader(o),!n)throw new Fe(i,t)}function qt(e){return ({renderer:t,width:r,height:o,palette:n})=>{let i=`${Zo}
202
- ${e}`;$n(t,i);let d=new I__namespace.Scene,l=new I__namespace.OrthographicCamera(-1,1,1,-1,0,1),s={uTime:{value:0},uResolution:{value:new I__namespace.Vector2(r,o)},uMouse:{value:new I__namespace.Vector2(.5,.5)},uPrimary:{value:new I__namespace.Color(n.primary)},uSecondary:{value:new I__namespace.Color(n.secondary)},uAccent:{value:new I__namespace.Color(n.accent)},uBackground:{value:new I__namespace.Color(n.background)}},p=new I__namespace.ShaderMaterial({uniforms:s,vertexShader:Gn,fragmentShader:i,depthTest:false,depthWrite:false}),c=new I__namespace.PlaneGeometry(2,2),u=new I__namespace.Mesh(c,p);return d.add(u),{scene:d,camera:l,update:h=>{s.uTime.value=h;},resize:(h,T)=>{s.uResolution.value.set(h,T);},setPalette:h=>{s.uPrimary.value.set(h.primary),s.uSecondary.value.set(h.secondary),s.uAccent.value.set(h.accent),s.uBackground.value.set(h.background);},setMouse:(h,T)=>{s.uMouse.value.set(h,T);},dispose:()=>{c.dispose(),p.dispose();}}}}var Qe={primary:"#ff5fb9",secondary:"#9fe8ff",accent:"#ffc857",background:"#0a0a14"};function bt(e,t,r){if(typeof document>"u")return r;let o=document.createElement("span");if(o.style.color="",o.style.color=e,o.style.color==="")return r;o.style.display="none",t.appendChild(o);let n=getComputedStyle(o).color;return t.removeChild(o),n||r}function Jo(e,t){return {primary:bt(e.primary,t,Qe.primary),secondary:bt(e.secondary,t,Qe.secondary),accent:bt(e.accent,t,Qe.accent),background:bt(e.background,t,Qe.background)}}var xt=y__namespace.forwardRef(({preset:e,fragmentShader:t,onShaderError:r,postPreset:o,palette:n,createScene:i,controls:d=false,autoPlay:l=true,pauseOffscreen:s=true,aspect:p="video",radius:c="lg",border:u=false,poster:g,label:h,className:T,style:f,maxDpr:m},w)=>{let N=y__namespace.useRef(null),[E,M]=y__namespace.useState(l),[K,J]=y__namespace.useState(false),ye=Me(),Mt=y__namespace.useMemo(()=>({...Qe,...n}),[n]),Et=y__namespace.useMemo(()=>i||(t?qt(t):e&&Ye[e]?Ye[e]:null),[i,t,e]),sr=y__namespace.useMemo(()=>{if(o)return o;if(e){let A=Ze[e];if(A?.defaultPostPreset)return A.defaultPostPreset}return vt},[o,e]);y__namespace.useEffect(()=>{let A=N.current;if(!A||!Et)return;let nt=A.clientWidth||1,it=A.clientHeight||1,Lt=Jo(Mt,A),$=new I__namespace.WebGLRenderer({antialias:true,alpha:false,powerPreference:"high-performance"}),ma=m??Math.min(window.devicePixelRatio||1,2);$.setPixelRatio(ma),$.setSize(nt,it),$.setClearColor(new I__namespace.Color(Lt.background),1),$.domElement.dataset.gdsPart="shader-canvas",$.domElement.style.width="100%",$.domElement.style.height="100%",$.domElement.style.display="block",A.appendChild($.domElement);let pe;try{pe=Et({renderer:$,width:nt,height:it,palette:Lt});}catch(D){if(D instanceof Fe)r?.(D),pe=Ye.space({renderer:$,width:nt,height:it,palette:Lt});else throw $.dispose(),$.domElement.parentElement===A&&A.removeChild($.domElement),D}let ua=Je[sr]??Je[vt],st=Wo({renderer:$,scene:pe.scene,camera:pe.camera,preset:ua,width:nt,height:it}),dr=new I__namespace.Clock,cr=0,$e=l&&!ye,lr=true,pr=()=>{if(cr=requestAnimationFrame(pr),!$e||s&&!lr)return;let D=dr.getDelta(),te=dr.getElapsedTime();pe.update?.(te,D),st.composer.render(D);};pr(),$e&&J(true);let mr=new ResizeObserver(([D])=>{let te=Math.max(1,Math.floor(D.contentRect.width)),Be=Math.max(1,Math.floor(D.contentRect.height));$.setSize(te,Be),st.resize(te,Be),pe.resize?.(te,Be);});mr.observe(A);let ur=new IntersectionObserver(([D])=>{lr=D.isIntersecting;},{threshold:.05});ur.observe(A);let fr=new MutationObserver(()=>{if(!N.current)return;let D=Jo(Mt,N.current);$.setClearColor(new I__namespace.Color(D.background),1),pe.setPalette?.(D);});fr.observe(document.documentElement,{attributes:true,attributeFilter:["class","style","data-theme","data-gds-theme","data-grade-mode"]});let gr=pe,dt=gr.setMouse?D=>{let te=A.getBoundingClientRect(),Be=(D.clientX-te.left)/te.width,fa=1-(D.clientY-te.top)/te.height;gr.setMouse(Be,fa);}:null;return dt&&A.addEventListener("pointermove",dt),Ht.current={toggle:()=>{$e=!$e,M($e);},setPalette:D=>{$.setClearColor(new I__namespace.Color(D.background),1),pe.setPalette?.(D);},setPostPreset:D=>{let te=Je[D];te&&st.setPreset(te);}},()=>{cancelAnimationFrame(cr),mr.disconnect(),ur.disconnect(),fr.disconnect(),dt&&A.removeEventListener("pointermove",dt),st.dispose(),pe.dispose?.(),$.dispose(),$.domElement.parentElement===A&&A.removeChild($.domElement),Ht.current=null;}},[Et,sr,Mt,l,ye,s,m,r]);let Ht=y__namespace.useRef(null),pa=()=>Ht.current?.toggle();return y__namespace.createElement(ue,{ref:A=>{N.current=A,typeof w=="function"?w(A):w&&(w.current=A);},aspect:p,radius:c,border:u,"aria-label":h,className:T,style:f,"data-gds-part":"three-scene"},!K&&g&&y__namespace.createElement("img",{src:g,alt:"",className:"absolute inset-0 w-full h-full object-cover","data-gds-part":"scene-poster"}),d&&y__namespace.createElement("div",{"data-gds-part":"scene-controls",className:a("absolute inset-0 flex items-end justify-end p-2","opacity-0 hover:opacity-100 transition-opacity","bg-gradient-to-t from-black/30 to-transparent")},y__namespace.createElement(X,{size:"icon",variant:"secondary",onClick:pa},E?y__namespace.createElement(lucideReact.Pause,{className:"h-4 w-4"}):y__namespace.createElement(lucideReact.Play,{className:"h-4 w-4"}))))});xt.displayName="ThreeScene";var Rt=y__namespace.forwardRef(({preset:e,live:t="hover",postPreset:r,palette:o,className:n,aspect:i="video",radius:d="lg",label:l,hideLabel:s=false,onClick:p},c)=>{let u=Ze[e],[g,h]=y__namespace.useState(false),T=t==="always"||t==="hover"&&g;return y__namespace.createElement("div",{ref:c,"data-gds-part":"picker-card","data-gds-preset":e,onMouseEnter:()=>h(true),onMouseLeave:()=>h(false),onClick:p,className:a("group cursor-pointer flex flex-col gap-2",n)},T?y__namespace.createElement(xt,{preset:e,postPreset:r,palette:o,aspect:i,radius:d,autoPlay:true,controls:false,pauseOffscreen:true,poster:u?.poster,maxDpr:1}):y__namespace.createElement(ue,{aspect:i,radius:d,"data-gds-part":"preset-poster",className:"bg-gradient-to-br from-muted to-muted/50"},u?.poster?y__namespace.createElement("img",{src:u.poster,alt:u.label,className:"w-full h-full object-cover"}):y__namespace.createElement("div",{className:"absolute inset-0 flex items-center justify-center text-xs text-muted-foreground"},u?.label??e)),!s&&y__namespace.createElement("div",{className:"flex items-baseline justify-between text-xs"},y__namespace.createElement("span",{className:"font-medium text-foreground","data-gds-part":"preset-label"},l??u?.label??e),u?.tags?.[0]&&y__namespace.createElement("span",{className:"text-muted-foreground"},u.tags[0])))});Rt.displayName="ShaderPresetPreview";function Kn({value:e,onChange:t,filterTags:r,live:o="hover",postPreset:n,palette:i,columns:d=3,className:l}){let s=y__namespace.useMemo(()=>r?.length?Xe.filter(c=>r.some(u=>c.tags.includes(u))):Xe,[r]);return y__namespace.createElement("div",{"data-gds-part":"preset-grid",role:"radiogroup",className:a("grid grid-cols-2 gap-3",d===2?"md:grid-cols-2":d===4?"md:grid-cols-4":"md:grid-cols-3",l)},s.map(c=>{let u=e===c.id;return y__namespace.createElement("div",{key:c.id,className:"relative",role:"radio","aria-checked":u},y__namespace.createElement(Rt,{preset:c.id,postPreset:n,palette:i,live:o,onClick:()=>t?.(c.id),className:a("transition-all",u&&"ring-2 ring-primary ring-offset-2 ring-offset-background rounded-lg")}),u&&y__namespace.createElement("div",{"data-gds-part":"picker-selected-badge",className:"absolute top-2 right-2 rounded-full bg-primary text-primary-foreground p-1 shadow-sm"},y__namespace.createElement(lucideReact.Check,{className:"h-3.5 w-3.5"})))}))}function jn({children:e}){let t=y.useRef(null);return y.useEffect(()=>{let r=new Wn__default.default({duration:1.2,easing:n=>Math.min(1,1.001-Math.pow(2,-10*n)),orientation:"vertical",gestureOrientation:"vertical",smoothWheel:true});t.current=r;function o(n){r.raf(n),requestAnimationFrame(o);}return requestAnimationFrame(o),()=>{r.destroy(),t.current=null;}},[]),React.createElement(React.Fragment,null,e)}var Pe=[50,100,200,300,400,500,600,700,800,900,950],Qo=[.985,.955,.895,.82,.72,.61,.51,.415,.325,.245,.17],qn=[.015,.04,.075,.11,.14,.17,.17,.15,.12,.08,.04];function Tt({hue:e,chromaScale:t=1}){let r=(e%360+360)%360,o={};for(let n=0;n<Pe.length;n++){let i=Qo[n],d=qn[n]*t;o[Pe[n]]=`${i.toFixed(4)} ${d.toFixed(4)} ${r.toFixed(2)}`;}return o}function ea(){let e={};for(let t=0;t<Pe.length;t++){let r=Qo[t];e[Pe[t]]=`${r.toFixed(4)} 0 0`;}return e}var Yt={light:{destructive:"0.560 0.220 27.0",destructiveFg:"0.990 0.005 27.0",success:"0.610 0.180 145.0",warning:"0.720 0.180 60.0",info:"0.580 0.200 240.0",highlight:"0.860 0.180 95.0"},dark:{destructive:"0.680 0.220 27.0",destructiveFg:"0.990 0.005 27.0",success:"0.720 0.180 145.0",warning:"0.800 0.180 60.0",info:"0.700 0.200 240.0",highlight:"0.880 0.180 95.0"}},et="1 0 0",ta="0 0 0";function Oe(e,t){let[,r,o]=e.split(/\s+/).map(c=>c.trim()),n=Number(r),i=o;if(t==="light"){let u=Math.min(n*.22,.045),g=.38,h=n;return {soft:`${.965.toFixed(3)} ${u.toFixed(3)} ${i}`,deep:`${g.toFixed(3)} ${h.toFixed(3)} ${i}`}}let d=.22,l=Math.min(n*.45,.075),s=.82,p=n*.9;return {soft:`${d.toFixed(3)} ${l.toFixed(3)} ${i}`,deep:`${s.toFixed(3)} ${p.toFixed(3)} ${i}`}}var wt={geist:"var(--font-geist), system-ui, sans-serif",inter:"var(--font-inter), system-ui, sans-serif",manrope:"var(--font-manrope), system-ui, sans-serif",figtree:"var(--font-figtree), system-ui, sans-serif",dmSans:"var(--font-dm-sans), system-ui, sans-serif",lexend:"var(--font-lexend), system-ui, sans-serif",outfit:"var(--font-outfit), system-ui, sans-serif",plusJakarta:"var(--font-plus-jakarta), system-ui, sans-serif",spaceGrotesk:"var(--font-space-grotesk), system-ui, sans-serif",fraunces:"var(--font-fraunces), Georgia, serif",instrumentSerif:"var(--font-instrument-serif), Georgia, serif",sourceSerif:"var(--font-source-serif), Georgia, serif",jetbrainsMono:"var(--font-jetbrains-mono), ui-monospace, monospace",geistMono:"var(--font-geist-mono), ui-monospace, monospace",ibmPlexMono:"var(--font-ibm-plex-mono), ui-monospace, monospace",system:"system-ui, -apple-system, sans-serif",serif:"Georgia, 'Times New Roman', serif",mono:"ui-monospace, Menlo, monospace"};var Yn=["superLight","light","dark","superDark"],Xn={muted:.6,default:1,vibrant:1.3};function Zn(e,t,r){let o=t.primary*r,n=t.accent*r,i=(o+n)/2*.8,d=l=>(l%360+360)%360;return {1:`0.600 ${(.17*o).toFixed(4)} ${e.primary.toFixed(2)}`,2:`0.640 ${(.17*i).toFixed(4)} ${d(e.primary+140).toFixed(2)}`,3:`0.580 ${(.17*i).toFixed(4)} ${d(e.primary+220).toFixed(2)}`,4:`0.510 0.0250 ${e.neutral.toFixed(2)}`,5:`0.620 ${(.17*n).toFixed(4)} ${e.accent.toFixed(2)}`}}var v=e=>({source:"neutral",step:e}),ie=e=>({source:"primary",step:e}),Se=e=>({source:"accent",step:e}),tt=e=>({source:"pure",value:e}),Jn={superLight:{background:v(50),foreground:v(800),card:tt(et),cardForeground:v(800),popover:tt(et),popoverForeground:v(800),primary:ie(600),primaryForeground:ie(50),secondary:v(100),secondaryForeground:v(700),muted:v(100),mutedForeground:v(500),accent:Se(600),accentForeground:Se(50),border:v(200),input:v(200),ring:ie(500)},light:{background:v(50),foreground:v(950),card:tt(et),cardForeground:v(950),popover:tt(et),popoverForeground:v(950),primary:ie(500),primaryForeground:ie(50),secondary:v(100),secondaryForeground:v(700),muted:v(100),mutedForeground:v(500),accent:Se(500),accentForeground:Se(50),border:v(200),input:v(200),ring:ie(500)},dark:{background:v(950),foreground:v(50),card:v(900),cardForeground:v(50),popover:v(900),popoverForeground:v(50),primary:ie(400),primaryForeground:ie(950),secondary:v(800),secondaryForeground:v(200),muted:v(800),mutedForeground:v(400),accent:Se(400),accentForeground:Se(950),border:v(800),input:v(800),ring:ie(400)},superDark:{background:tt(ta),foreground:v(100),card:v(950),cardForeground:v(100),popover:v(950),popoverForeground:v(100),primary:ie(300),primaryForeground:ie(950),secondary:v(900),secondaryForeground:v(300),muted:v(900),mutedForeground:v(500),accent:Se(300),accentForeground:Se(950),border:v(900),input:v(900),ring:ie(300)}};function Y(e,t){return e.source==="pure"?e.value:t[e.source][e.step]}function Qn(e,t){let r=Jn[t],o=t==="superLight"||t==="light",n=o?Yt.light:Yt.dark;return {background:Y(r.background,e),foreground:Y(r.foreground,e),card:Y(r.card,e),cardForeground:Y(r.cardForeground,e),popover:Y(r.popover,e),popoverForeground:Y(r.popoverForeground,e),primary:Y(r.primary,e),primaryForeground:Y(r.primaryForeground,e),secondary:Y(r.secondary,e),secondaryForeground:Y(r.secondaryForeground,e),muted:Y(r.muted,e),mutedForeground:Y(r.mutedForeground,e),accent:Y(r.accent,e),accentForeground:Y(r.accentForeground,e),border:Y(r.border,e),input:Y(r.input,e),ring:Y(r.ring,e),destructive:n.destructive,destructiveForeground:n.destructiveFg,success:n.success,warning:n.warning,info:n.info,highlight:n.highlight,...(()=>{let i=o?"light":"dark",d=Oe(n.destructive,i),l=Oe(n.success,i),s=Oe(n.warning,i),p=Oe(n.info,i),c=Oe(n.highlight,i);return {destructiveSoft:d.soft,destructiveDeep:d.deep,successSoft:l.soft,successDeep:l.deep,warningSoft:s.soft,warningDeep:s.deep,infoSoft:p.soft,infoDeep:p.deep,highlightSoft:c.soft,highlightDeep:c.deep}})()}}var he={display:3.75,h1:2.5,h2:2,h3:1.5,h4:1.25,h5:1.125,h6:1,body:1,bodySm:.875},ei={compact:.85,default:1,spacious:1.18};function ti(e){let t=ei[e.scale],r=o=>`${(o*t).toFixed(3)}rem`;return {fontSans:wt[e.body],fontMono:wt[e.mono],fontDisplay:wt[e.display],headingWeight:e.headingWeight??600,bodyWeight:e.bodyWeight??400,headingTracking:e.headingTracking??"-0.01em",scale:{display:r(he.display),h1:r(he.h1),h2:r(he.h2),h3:r(he.h3),h4:r(he.h4),h5:r(he.h5),h6:r(he.h6),body:r(he.body),bodySm:r(he.bodySm)}}}var ri={sharp:0,subtle:.25,soft:.5,round:.875,pill:1.25};function oi(e){let t=ri[e.style],r=o=>`${o.toFixed(3)}rem`;return {base:r(t),sm:r(Math.max(0,t-.25)),md:r(t),lg:r(t+.25),xl:r(t+.5),"2xl":r(t+1),full:"9999px"}}var ai={tight:.85,default:1,roomy:1.2};function ni(e){return {baseUnit:"1rem",densityFactor:ai[e.density]}}var ii={none:{sm:"none",md:"none",lg:"none",xl:"none","2xl":"none",inner:"none"},subtle:{sm:"0 1px 2px 0 rgb(0 0 0 / 0.03)",md:"0 2px 4px -1px rgb(0 0 0 / 0.04), 0 1px 2px -1px rgb(0 0 0 / 0.03)",lg:"0 6px 14px -2px rgb(0 0 0 / 0.05)",xl:"0 12px 24px -4px rgb(0 0 0 / 0.06)","2xl":"0 24px 48px -12px rgb(0 0 0 / 0.12)",inner:"inset 0 1px 2px 0 rgb(0 0 0 / 0.03)"},default:{sm:"0 1px 2px 0 rgb(0 0 0 / 0.05)",md:"0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)",lg:"0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1)",xl:"0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1)","2xl":"0 25px 50px -12px rgb(0 0 0 / 0.25)",inner:"inset 0 2px 4px 0 rgb(0 0 0 / 0.05)"},dramatic:{sm:"0 2px 4px 0 rgb(0 0 0 / 0.12)",md:"0 8px 16px -2px rgb(0 0 0 / 0.18), 0 4px 8px -4px rgb(0 0 0 / 0.12)",lg:"0 20px 32px -4px rgb(0 0 0 / 0.22), 0 8px 16px -8px rgb(0 0 0 / 0.18)",xl:"0 32px 48px -6px rgb(0 0 0 / 0.28), 0 12px 24px -10px rgb(0 0 0 / 0.22)","2xl":"0 48px 80px -16px rgb(0 0 0 / 0.45)",inner:"inset 0 4px 8px 0 rgb(0 0 0 / 0.1)"}};function si(e){let t=e?.shadows??"default",r=e?.motionIntensity??1,o=n=>`${Math.round(n*r)}ms`;return {shadows:ii[t],motion:{fast:o(150),base:o(200),slow:o(300),slower:o(500)},borderWidth:e?.borderWidth??"1px"}}function Ee(e){let t=Xn[e.intensity??"default"],r=e.neutralPureGray??false,o=(e.chroma?.neutral??.08)*t,n=(e.chroma?.primary??1)*t,i=(e.chroma?.accent??1)*t,d=r?ea():Tt({hue:e.hues.neutral,chromaScale:o}),l=Tt({hue:e.hues.primary,chromaScale:n}),s=Tt({hue:e.hues.accent,chromaScale:i}),p={neutral:d,primary:l,accent:s},c=Zn(e.hues,{primary:n,accent:i},t),u=Object.fromEntries(Yn.map(w=>[w,Qn(p,w)])),g=ti(e.typography),h=oi(e.radius),T=ni(e.spacing),f=si(e.effects),m={buttonShape:e.components?.buttonShape??"default",inputStyle:e.components?.inputStyle??"outlined",cardStyle:e.components?.cardStyle??"flat"};return {id:e.id,name:e.name,description:e.description,tagline:e.tagline,input:e,ramps:p,colors:u,chart:c,typography:g,radius:h,spacing:T,effects:f,components:m}}var rt={id:"calm",name:"Calm",description:"Warm neutrals, terracotta primary, serif typography.",tagline:"Signature",hues:{neutral:40,primary:20,accent:40},chroma:{neutral:.15,primary:.75,accent:.8},intensity:"muted",typography:{display:"fraunces",body:"fraunces",mono:"jetbrainsMono",scale:"default",headingWeight:600,headingTracking:"-0.02em"},spacing:{density:"roomy"},radius:{style:"round"},effects:{shadows:"subtle",motionIntensity:1.25},components:{buttonShape:"pill",inputStyle:"outlined",cardStyle:"outlined"}},Xt={id:"energy",name:"Energy",description:"Teal + indigo \u2014 punchy, cool-tone, modern sans.",tagline:"Alternate",hues:{neutral:175,primary:175,accent:235},chroma:{neutral:.08,primary:1,accent:1},intensity:"vibrant",typography:{display:"geist",body:"geist",mono:"geistMono",scale:"default",headingWeight:600},spacing:{density:"default"},radius:{style:"soft"},effects:{shadows:"default",motionIntensity:1},components:{buttonShape:"default",inputStyle:"outlined",cardStyle:"flat"}},Pt=[rt,Xt];function di(e){return {"--background":e.background,"--foreground":e.foreground,"--card":e.card,"--card-foreground":e.cardForeground,"--popover":e.popover,"--popover-foreground":e.popoverForeground,"--primary":e.primary,"--primary-foreground":e.primaryForeground,"--secondary":e.secondary,"--secondary-foreground":e.secondaryForeground,"--muted":e.muted,"--muted-foreground":e.mutedForeground,"--accent":e.accent,"--accent-foreground":e.accentForeground,"--destructive":e.destructive,"--destructive-foreground":e.destructiveForeground,"--border":e.border,"--input":e.input,"--ring":e.ring,"--success":e.success,"--warning":e.warning,"--info":e.info,"--highlight":e.highlight,"--destructive-soft":e.destructiveSoft,"--destructive-deep":e.destructiveDeep,"--success-soft":e.successSoft,"--success-deep":e.successDeep,"--warning-soft":e.warningSoft,"--warning-deep":e.warningDeep,"--info-soft":e.infoSoft,"--info-deep":e.infoDeep,"--highlight-soft":e.highlightSoft,"--highlight-deep":e.highlightDeep}}function Jt(e,t){let r=e.colors[t];return {...di(r),...Zt("neutral",e.ramps.neutral),...Zt("primary",e.ramps.primary),...Zt("accent",e.ramps.accent),"--chart-1":e.chart[1],"--chart-2":e.chart[2],"--chart-3":e.chart[3],"--chart-4":e.chart[4],"--chart-5":e.chart[5],"--font-sans":e.typography.fontSans,"--font-mono":e.typography.fontMono,"--font-display":e.typography.fontDisplay,"--font-heading-weight":String(e.typography.headingWeight),"--font-body-weight":String(e.typography.bodyWeight),"--font-heading-tracking":e.typography.headingTracking,"--text-display":e.typography.scale.display,"--text-h1":e.typography.scale.h1,"--text-h2":e.typography.scale.h2,"--text-h3":e.typography.scale.h3,"--text-h4":e.typography.scale.h4,"--text-h5":e.typography.scale.h5,"--text-h6":e.typography.scale.h6,"--text-body":e.typography.scale.body,"--text-body-sm":e.typography.scale.bodySm,"--radius":e.radius.base,"--rds-radius-sm":e.radius.sm,"--rds-radius-md":e.radius.md,"--rds-radius-lg":e.radius.lg,"--rds-radius-xl":e.radius.xl,"--rds-radius-2xl":e.radius["2xl"],"--rds-radius-full":e.radius.full,"--rds-density":String(e.spacing.densityFactor),"--rds-shadow-sm":e.effects.shadows.sm,"--rds-shadow-md":e.effects.shadows.md,"--rds-shadow-lg":e.effects.shadows.lg,"--rds-shadow-xl":e.effects.shadows.xl,"--rds-shadow-2xl":e.effects.shadows["2xl"],"--rds-shadow-inner":e.effects.shadows.inner,"--rds-transition-fast":e.effects.motion.fast,"--rds-transition-base":e.effects.motion.base,"--rds-transition-slow":e.effects.motion.slow,"--rds-transition-slower":e.effects.motion.slower,"--rds-border-width":e.effects.borderWidth}}function Zt(e,t){let r={};for(let o of Pe)r[`--ramp-${e}-${o}`]=t[o];return r}function St(e,t){if(typeof document>"u")return;let r=document.documentElement,o=Jt(e,t);for(let[n,i]of Object.entries(o))r.style.setProperty(n,i);r.setAttribute("data-ramp-theme",e.id),r.setAttribute("data-mode",t),r.setAttribute("data-button-shape",e.components.buttonShape??"default"),r.setAttribute("data-input-style",e.components.inputStyle??"outlined"),r.setAttribute("data-card-style",e.components.cardStyle??"flat");}function ot(e){if(typeof document>"u")return "";let t=document.createElement("span");t.style.color=`oklch(${e})`,t.style.position="absolute",t.style.visibility="hidden",document.body.appendChild(t);let r=getComputedStyle(t).color;document.body.removeChild(t);let o=r.match(/\d+/g);if(!o||o.length<3)return "";let[n,i,d]=o.slice(0,3).map(Number);return "#"+[n,i,d].map(l=>Math.max(0,Math.min(255,l)).toString(16).padStart(2,"0")).join("").toUpperCase()}function ci(e){let t=e.trim().split(/\s+/);if(t.length<3)return {oklch:e,hex:""};let[r,o,n]=t.map(Number),i=`${r.toFixed(3)} ${o.toFixed(3)} ${Math.round(n)}`,d=ot(e);return {oklch:i,hex:d}}function Qt(e,t,r){let o=[`### ${e} ramp (hue ${Math.round(r)}\xB0)`,"","| Step | OKLCH | Hex |","|------|-------|-----|"];for(let n of Pe){let{oklch:i,hex:d}=ci(t[n]);o.push(`| ${n} | \`${i}\` | \`${d||"\u2014"}\` |`);}return o.join(`
202
+ ${e}`;$n(t,i);let d=new I__namespace.Scene,c=new I__namespace.OrthographicCamera(-1,1,1,-1,0,1),s={uTime:{value:0},uResolution:{value:new I__namespace.Vector2(r,o)},uMouse:{value:new I__namespace.Vector2(.5,.5)},uPrimary:{value:new I__namespace.Color(n.primary)},uSecondary:{value:new I__namespace.Color(n.secondary)},uAccent:{value:new I__namespace.Color(n.accent)},uBackground:{value:new I__namespace.Color(n.background)}},p=new I__namespace.ShaderMaterial({uniforms:s,vertexShader:Gn,fragmentShader:i,depthTest:false,depthWrite:false}),l=new I__namespace.PlaneGeometry(2,2),m=new I__namespace.Mesh(l,p);return d.add(m),{scene:d,camera:c,update:h=>{s.uTime.value=h;},resize:(h,T)=>{s.uResolution.value.set(h,T);},setPalette:h=>{s.uPrimary.value.set(h.primary),s.uSecondary.value.set(h.secondary),s.uAccent.value.set(h.accent),s.uBackground.value.set(h.background);},setMouse:(h,T)=>{s.uMouse.value.set(h,T);},dispose:()=>{l.dispose(),p.dispose();}}}}var Qe={primary:"#ff5fb9",secondary:"#9fe8ff",accent:"#ffc857",background:"#0a0a14"},_n=/^[\d.]+\s+[\d.]+\s+[\d.]+(?:\s*\/\s*[\d.%]+)?$/,Kn=/^[\d.]+\s+[\d.]+%\s+[\d.]+%(?:\s*\/\s*[\d.%]+)?$/,zn=/^\s*var\(\s*(--[^,)\s]+)(?:\s*,[^)]*)?\s*\)\s*$/;function bt(e,t,r){if(typeof document>"u")return r;let o=e,n=zn.exec(e);if(n){let c=getComputedStyle(t).getPropertyValue(n[1]).trim();c&&(_n.test(c)?o=`oklch(${c})`:Kn.test(c)&&(o=`hsl(${c})`));}let i=document.createElement("span");if(i.style.color="",i.style.color=o,i.style.color==="")return r;i.style.display="none",t.appendChild(i);let d=getComputedStyle(i).color;if(t.removeChild(i),!d)return r;if(d.startsWith("rgb"))return d;try{let c=document.createElement("canvas");c.width=1,c.height=1;let s=c.getContext("2d");if(!s)return d;s.clearRect(0,0,1,1),s.fillStyle=d,s.fillRect(0,0,1,1);let[p,l,m]=s.getImageData(0,0,1,1).data;return `rgb(${p}, ${l}, ${m})`}catch{return d}}function Jo(e,t){return {primary:bt(e.primary,t,Qe.primary),secondary:bt(e.secondary,t,Qe.secondary),accent:bt(e.accent,t,Qe.accent),background:bt(e.background,t,Qe.background)}}var xt=y__namespace.forwardRef(({preset:e,fragmentShader:t,onShaderError:r,postPreset:o,palette:n,createScene:i,controls:d=false,autoPlay:c=true,pauseOffscreen:s=true,aspect:p="video",radius:l="lg",border:m=false,poster:g,label:h,className:T,style:f,maxDpr:u},w)=>{let N=y__namespace.useRef(null),[E,M]=y__namespace.useState(c),[K,J]=y__namespace.useState(false),ye=Me(),Mt=y__namespace.useMemo(()=>({...Qe,...n}),[n]),Et=y__namespace.useMemo(()=>i||(t?qt(t):e&&Ye[e]?Ye[e]:null),[i,t,e]),sr=y__namespace.useMemo(()=>{if(o)return o;if(e){let A=Ze[e];if(A?.defaultPostPreset)return A.defaultPostPreset}return vt},[o,e]);y__namespace.useEffect(()=>{let A=N.current;if(!A||!Et)return;let nt=A.clientWidth||1,it=A.clientHeight||1,Lt=Jo(Mt,A),$=new I__namespace.WebGLRenderer({antialias:true,alpha:false,powerPreference:"high-performance"}),ma=u??Math.min(window.devicePixelRatio||1,2);$.setPixelRatio(ma),$.setSize(nt,it),$.setClearColor(new I__namespace.Color(Lt.background),1),$.domElement.dataset.gdsPart="shader-canvas",$.domElement.style.width="100%",$.domElement.style.height="100%",$.domElement.style.display="block",A.appendChild($.domElement);let pe;try{pe=Et({renderer:$,width:nt,height:it,palette:Lt});}catch(D){if(D instanceof Fe)r?.(D),pe=Ye.space({renderer:$,width:nt,height:it,palette:Lt});else throw $.dispose(),$.domElement.parentElement===A&&A.removeChild($.domElement),D}let ua=Je[sr]??Je[vt],st=Wo({renderer:$,scene:pe.scene,camera:pe.camera,preset:ua,width:nt,height:it}),dr=new I__namespace.Clock,cr=0,$e=c&&!ye,lr=true,pr=()=>{if(cr=requestAnimationFrame(pr),!$e||s&&!lr)return;let D=dr.getDelta(),te=dr.getElapsedTime();pe.update?.(te,D),st.composer.render(D);};pr(),$e&&J(true);let mr=new ResizeObserver(([D])=>{let te=Math.max(1,Math.floor(D.contentRect.width)),Be=Math.max(1,Math.floor(D.contentRect.height));$.setSize(te,Be),st.resize(te,Be),pe.resize?.(te,Be);});mr.observe(A);let ur=new IntersectionObserver(([D])=>{lr=D.isIntersecting;},{threshold:.05});ur.observe(A);let fr=new MutationObserver(()=>{if(!N.current)return;let D=Jo(Mt,N.current);$.setClearColor(new I__namespace.Color(D.background),1),pe.setPalette?.(D);});fr.observe(document.documentElement,{attributes:true,attributeFilter:["class","style","data-theme","data-gds-theme","data-grade-mode"]});let gr=pe,dt=gr.setMouse?D=>{let te=A.getBoundingClientRect(),Be=(D.clientX-te.left)/te.width,fa=1-(D.clientY-te.top)/te.height;gr.setMouse(Be,fa);}:null;return dt&&A.addEventListener("pointermove",dt),Ht.current={toggle:()=>{$e=!$e,M($e);},setPalette:D=>{$.setClearColor(new I__namespace.Color(D.background),1),pe.setPalette?.(D);},setPostPreset:D=>{let te=Je[D];te&&st.setPreset(te);}},()=>{cancelAnimationFrame(cr),mr.disconnect(),ur.disconnect(),fr.disconnect(),dt&&A.removeEventListener("pointermove",dt),st.dispose(),pe.dispose?.(),$.dispose(),$.domElement.parentElement===A&&A.removeChild($.domElement),Ht.current=null;}},[Et,sr,Mt,c,ye,s,u,r]);let Ht=y__namespace.useRef(null),pa=()=>Ht.current?.toggle();return y__namespace.createElement(ue,{ref:A=>{N.current=A,typeof w=="function"?w(A):w&&(w.current=A);},aspect:p,radius:l,border:m,"aria-label":h,className:T,style:f,"data-gds-part":"three-scene"},!K&&g&&y__namespace.createElement("img",{src:g,alt:"",className:"absolute inset-0 w-full h-full object-cover","data-gds-part":"scene-poster"}),d&&y__namespace.createElement("div",{"data-gds-part":"scene-controls",className:a("absolute inset-0 flex items-end justify-end p-2","opacity-0 hover:opacity-100 transition-opacity","bg-gradient-to-t from-black/30 to-transparent")},y__namespace.createElement(X,{size:"icon",variant:"secondary",onClick:pa},E?y__namespace.createElement(lucideReact.Pause,{className:"h-4 w-4"}):y__namespace.createElement(lucideReact.Play,{className:"h-4 w-4"}))))});xt.displayName="ThreeScene";var Rt=y__namespace.forwardRef(({preset:e,live:t="hover",postPreset:r,palette:o,className:n,aspect:i="video",radius:d="lg",label:c,hideLabel:s=false,onClick:p},l)=>{let m=Ze[e],[g,h]=y__namespace.useState(false),T=t==="always"||t==="hover"&&g;return y__namespace.createElement("div",{ref:l,"data-gds-part":"picker-card","data-gds-preset":e,onMouseEnter:()=>h(true),onMouseLeave:()=>h(false),onClick:p,className:a("group cursor-pointer flex flex-col gap-2",n)},T?y__namespace.createElement(xt,{preset:e,postPreset:r,palette:o,aspect:i,radius:d,autoPlay:true,controls:false,pauseOffscreen:true,poster:m?.poster,maxDpr:1}):y__namespace.createElement(ue,{aspect:i,radius:d,"data-gds-part":"preset-poster",className:"bg-gradient-to-br from-muted to-muted/50"},m?.poster?y__namespace.createElement("img",{src:m.poster,alt:m.label,className:"w-full h-full object-cover"}):y__namespace.createElement("div",{className:"absolute inset-0 flex items-center justify-center text-xs text-muted-foreground"},m?.label??e)),!s&&y__namespace.createElement("div",{className:"flex items-baseline justify-between text-xs"},y__namespace.createElement("span",{className:"font-medium text-foreground","data-gds-part":"preset-label"},c??m?.label??e),m?.tags?.[0]&&y__namespace.createElement("span",{className:"text-muted-foreground"},m.tags[0])))});Rt.displayName="ShaderPresetPreview";function Wn({value:e,onChange:t,filterTags:r,live:o="hover",postPreset:n,palette:i,columns:d=3,className:c}){let s=y__namespace.useMemo(()=>r?.length?Xe.filter(l=>r.some(m=>l.tags.includes(m))):Xe,[r]);return y__namespace.createElement("div",{"data-gds-part":"preset-grid",role:"radiogroup",className:a("grid grid-cols-2 gap-3",d===2?"md:grid-cols-2":d===4?"md:grid-cols-4":"md:grid-cols-3",c)},s.map(l=>{let m=e===l.id;return y__namespace.createElement("div",{key:l.id,className:"relative",role:"radio","aria-checked":m},y__namespace.createElement(Rt,{preset:l.id,postPreset:n,palette:i,live:o,onClick:()=>t?.(l.id),className:a("transition-all",m&&"ring-2 ring-primary ring-offset-2 ring-offset-background rounded-lg")}),m&&y__namespace.createElement("div",{"data-gds-part":"picker-selected-badge",className:"absolute top-2 right-2 rounded-full bg-primary text-primary-foreground p-1 shadow-sm"},y__namespace.createElement(lucideReact.Check,{className:"h-3.5 w-3.5"})))}))}function Xn({children:e}){let t=y.useRef(null);return y.useEffect(()=>{let r=new Yn__default.default({duration:1.2,easing:n=>Math.min(1,1.001-Math.pow(2,-10*n)),orientation:"vertical",gestureOrientation:"vertical",smoothWheel:true});t.current=r;function o(n){r.raf(n),requestAnimationFrame(o);}return requestAnimationFrame(o),()=>{r.destroy(),t.current=null;}},[]),React.createElement(React.Fragment,null,e)}var Pe=[50,100,200,300,400,500,600,700,800,900,950],Qo=[.985,.955,.895,.82,.72,.61,.51,.415,.325,.245,.17],Zn=[.015,.04,.075,.11,.14,.17,.17,.15,.12,.08,.04];function Tt({hue:e,chromaScale:t=1}){let r=(e%360+360)%360,o={};for(let n=0;n<Pe.length;n++){let i=Qo[n],d=Zn[n]*t;o[Pe[n]]=`${i.toFixed(4)} ${d.toFixed(4)} ${r.toFixed(2)}`;}return o}function ea(){let e={};for(let t=0;t<Pe.length;t++){let r=Qo[t];e[Pe[t]]=`${r.toFixed(4)} 0 0`;}return e}var Yt={light:{destructive:"0.560 0.220 27.0",destructiveFg:"0.990 0.005 27.0",success:"0.610 0.180 145.0",warning:"0.720 0.180 60.0",info:"0.580 0.200 240.0",highlight:"0.860 0.180 95.0"},dark:{destructive:"0.680 0.220 27.0",destructiveFg:"0.990 0.005 27.0",success:"0.720 0.180 145.0",warning:"0.800 0.180 60.0",info:"0.700 0.200 240.0",highlight:"0.880 0.180 95.0"}},et="1 0 0",ta="0 0 0";function Oe(e,t){let[,r,o]=e.split(/\s+/).map(l=>l.trim()),n=Number(r),i=o;if(t==="light"){let m=Math.min(n*.22,.045),g=.38,h=n;return {soft:`${.965.toFixed(3)} ${m.toFixed(3)} ${i}`,deep:`${g.toFixed(3)} ${h.toFixed(3)} ${i}`}}let d=.22,c=Math.min(n*.45,.075),s=.82,p=n*.9;return {soft:`${d.toFixed(3)} ${c.toFixed(3)} ${i}`,deep:`${s.toFixed(3)} ${p.toFixed(3)} ${i}`}}var wt={geist:"var(--font-geist), system-ui, sans-serif",inter:"var(--font-inter), system-ui, sans-serif",manrope:"var(--font-manrope), system-ui, sans-serif",figtree:"var(--font-figtree), system-ui, sans-serif",dmSans:"var(--font-dm-sans), system-ui, sans-serif",lexend:"var(--font-lexend), system-ui, sans-serif",outfit:"var(--font-outfit), system-ui, sans-serif",plusJakarta:"var(--font-plus-jakarta), system-ui, sans-serif",spaceGrotesk:"var(--font-space-grotesk), system-ui, sans-serif",fraunces:"var(--font-fraunces), Georgia, serif",instrumentSerif:"var(--font-instrument-serif), Georgia, serif",sourceSerif:"var(--font-source-serif), Georgia, serif",jetbrainsMono:"var(--font-jetbrains-mono), ui-monospace, monospace",geistMono:"var(--font-geist-mono), ui-monospace, monospace",ibmPlexMono:"var(--font-ibm-plex-mono), ui-monospace, monospace",system:"system-ui, -apple-system, sans-serif",serif:"Georgia, 'Times New Roman', serif",mono:"ui-monospace, Menlo, monospace"};var Jn=["superLight","light","dark","superDark"],Qn={muted:.6,default:1,vibrant:1.3};function ei(e,t,r){let o=t.primary*r,n=t.accent*r,i=(o+n)/2*.8,d=c=>(c%360+360)%360;return {1:`0.600 ${(.17*o).toFixed(4)} ${e.primary.toFixed(2)}`,2:`0.640 ${(.17*i).toFixed(4)} ${d(e.primary+140).toFixed(2)}`,3:`0.580 ${(.17*i).toFixed(4)} ${d(e.primary+220).toFixed(2)}`,4:`0.510 0.0250 ${e.neutral.toFixed(2)}`,5:`0.620 ${(.17*n).toFixed(4)} ${e.accent.toFixed(2)}`}}var v=e=>({source:"neutral",step:e}),ie=e=>({source:"primary",step:e}),Se=e=>({source:"accent",step:e}),tt=e=>({source:"pure",value:e}),ti={superLight:{background:v(50),foreground:v(800),card:tt(et),cardForeground:v(800),popover:tt(et),popoverForeground:v(800),primary:ie(600),primaryForeground:ie(50),secondary:v(100),secondaryForeground:v(700),muted:v(100),mutedForeground:v(500),accent:Se(600),accentForeground:Se(50),border:v(200),input:v(200),ring:ie(500)},light:{background:v(50),foreground:v(950),card:tt(et),cardForeground:v(950),popover:tt(et),popoverForeground:v(950),primary:ie(500),primaryForeground:ie(50),secondary:v(100),secondaryForeground:v(700),muted:v(100),mutedForeground:v(500),accent:Se(500),accentForeground:Se(50),border:v(200),input:v(200),ring:ie(500)},dark:{background:v(950),foreground:v(50),card:v(900),cardForeground:v(50),popover:v(900),popoverForeground:v(50),primary:ie(400),primaryForeground:ie(950),secondary:v(800),secondaryForeground:v(200),muted:v(800),mutedForeground:v(400),accent:Se(400),accentForeground:Se(950),border:v(800),input:v(800),ring:ie(400)},superDark:{background:tt(ta),foreground:v(100),card:v(950),cardForeground:v(100),popover:v(950),popoverForeground:v(100),primary:ie(300),primaryForeground:ie(950),secondary:v(900),secondaryForeground:v(300),muted:v(900),mutedForeground:v(500),accent:Se(300),accentForeground:Se(950),border:v(900),input:v(900),ring:ie(300)}};function Y(e,t){return e.source==="pure"?e.value:t[e.source][e.step]}function ri(e,t){let r=ti[t],o=t==="superLight"||t==="light",n=o?Yt.light:Yt.dark;return {background:Y(r.background,e),foreground:Y(r.foreground,e),card:Y(r.card,e),cardForeground:Y(r.cardForeground,e),popover:Y(r.popover,e),popoverForeground:Y(r.popoverForeground,e),primary:Y(r.primary,e),primaryForeground:Y(r.primaryForeground,e),secondary:Y(r.secondary,e),secondaryForeground:Y(r.secondaryForeground,e),muted:Y(r.muted,e),mutedForeground:Y(r.mutedForeground,e),accent:Y(r.accent,e),accentForeground:Y(r.accentForeground,e),border:Y(r.border,e),input:Y(r.input,e),ring:Y(r.ring,e),destructive:n.destructive,destructiveForeground:n.destructiveFg,success:n.success,warning:n.warning,info:n.info,highlight:n.highlight,...(()=>{let i=o?"light":"dark",d=Oe(n.destructive,i),c=Oe(n.success,i),s=Oe(n.warning,i),p=Oe(n.info,i),l=Oe(n.highlight,i);return {destructiveSoft:d.soft,destructiveDeep:d.deep,successSoft:c.soft,successDeep:c.deep,warningSoft:s.soft,warningDeep:s.deep,infoSoft:p.soft,infoDeep:p.deep,highlightSoft:l.soft,highlightDeep:l.deep}})()}}var he={display:3.75,h1:2.5,h2:2,h3:1.5,h4:1.25,h5:1.125,h6:1,body:1,bodySm:.875},oi={compact:.85,default:1,spacious:1.18};function ai(e){let t=oi[e.scale],r=o=>`${(o*t).toFixed(3)}rem`;return {fontSans:wt[e.body],fontMono:wt[e.mono],fontDisplay:wt[e.display],headingWeight:e.headingWeight??600,bodyWeight:e.bodyWeight??400,headingTracking:e.headingTracking??"-0.01em",scale:{display:r(he.display),h1:r(he.h1),h2:r(he.h2),h3:r(he.h3),h4:r(he.h4),h5:r(he.h5),h6:r(he.h6),body:r(he.body),bodySm:r(he.bodySm)}}}var ni={sharp:0,subtle:.25,soft:.5,round:.875,pill:1.25};function ii(e){let t=ni[e.style],r=o=>`${o.toFixed(3)}rem`;return {base:r(t),sm:r(Math.max(0,t-.25)),md:r(t),lg:r(t+.25),xl:r(t+.5),"2xl":r(t+1),full:"9999px"}}var si={tight:.85,default:1,roomy:1.2};function di(e){return {baseUnit:"1rem",densityFactor:si[e.density]}}var ci={none:{sm:"none",md:"none",lg:"none",xl:"none","2xl":"none",inner:"none"},subtle:{sm:"0 1px 2px 0 rgb(0 0 0 / 0.03)",md:"0 2px 4px -1px rgb(0 0 0 / 0.04), 0 1px 2px -1px rgb(0 0 0 / 0.03)",lg:"0 6px 14px -2px rgb(0 0 0 / 0.05)",xl:"0 12px 24px -4px rgb(0 0 0 / 0.06)","2xl":"0 24px 48px -12px rgb(0 0 0 / 0.12)",inner:"inset 0 1px 2px 0 rgb(0 0 0 / 0.03)"},default:{sm:"0 1px 2px 0 rgb(0 0 0 / 0.05)",md:"0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)",lg:"0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1)",xl:"0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1)","2xl":"0 25px 50px -12px rgb(0 0 0 / 0.25)",inner:"inset 0 2px 4px 0 rgb(0 0 0 / 0.05)"},dramatic:{sm:"0 2px 4px 0 rgb(0 0 0 / 0.12)",md:"0 8px 16px -2px rgb(0 0 0 / 0.18), 0 4px 8px -4px rgb(0 0 0 / 0.12)",lg:"0 20px 32px -4px rgb(0 0 0 / 0.22), 0 8px 16px -8px rgb(0 0 0 / 0.18)",xl:"0 32px 48px -6px rgb(0 0 0 / 0.28), 0 12px 24px -10px rgb(0 0 0 / 0.22)","2xl":"0 48px 80px -16px rgb(0 0 0 / 0.45)",inner:"inset 0 4px 8px 0 rgb(0 0 0 / 0.1)"}};function li(e){let t=e?.shadows??"default",r=e?.motionIntensity??1,o=n=>`${Math.round(n*r)}ms`;return {shadows:ci[t],motion:{fast:o(150),base:o(200),slow:o(300),slower:o(500)},borderWidth:e?.borderWidth??"1px"}}function Ee(e){let t=Qn[e.intensity??"default"],r=e.neutralPureGray??false,o=(e.chroma?.neutral??.08)*t,n=(e.chroma?.primary??1)*t,i=(e.chroma?.accent??1)*t,d=r?ea():Tt({hue:e.hues.neutral,chromaScale:o}),c=Tt({hue:e.hues.primary,chromaScale:n}),s=Tt({hue:e.hues.accent,chromaScale:i}),p={neutral:d,primary:c,accent:s},l=ei(e.hues,{primary:n,accent:i},t),m=Object.fromEntries(Jn.map(w=>[w,ri(p,w)])),g=ai(e.typography),h=ii(e.radius),T=di(e.spacing),f=li(e.effects),u={buttonShape:e.components?.buttonShape??"default",inputStyle:e.components?.inputStyle??"outlined",cardStyle:e.components?.cardStyle??"flat"};return {id:e.id,name:e.name,description:e.description,tagline:e.tagline,input:e,ramps:p,colors:m,chart:l,typography:g,radius:h,spacing:T,effects:f,components:u}}var rt={id:"calm",name:"Calm",description:"Warm neutrals, terracotta primary, serif typography.",tagline:"Signature",hues:{neutral:40,primary:20,accent:40},chroma:{neutral:.15,primary:.75,accent:.8},intensity:"muted",typography:{display:"fraunces",body:"fraunces",mono:"jetbrainsMono",scale:"default",headingWeight:600,headingTracking:"-0.02em"},spacing:{density:"roomy"},radius:{style:"round"},effects:{shadows:"subtle",motionIntensity:1.25},components:{buttonShape:"pill",inputStyle:"outlined",cardStyle:"outlined"}},Xt={id:"energy",name:"Energy",description:"Teal + indigo \u2014 punchy, cool-tone, modern sans.",tagline:"Alternate",hues:{neutral:175,primary:175,accent:235},chroma:{neutral:.08,primary:1,accent:1},intensity:"vibrant",typography:{display:"geist",body:"geist",mono:"geistMono",scale:"default",headingWeight:600},spacing:{density:"default"},radius:{style:"soft"},effects:{shadows:"default",motionIntensity:1},components:{buttonShape:"default",inputStyle:"outlined",cardStyle:"flat"}},Pt=[rt,Xt];function pi(e){return {"--background":e.background,"--foreground":e.foreground,"--card":e.card,"--card-foreground":e.cardForeground,"--popover":e.popover,"--popover-foreground":e.popoverForeground,"--primary":e.primary,"--primary-foreground":e.primaryForeground,"--secondary":e.secondary,"--secondary-foreground":e.secondaryForeground,"--muted":e.muted,"--muted-foreground":e.mutedForeground,"--accent":e.accent,"--accent-foreground":e.accentForeground,"--destructive":e.destructive,"--destructive-foreground":e.destructiveForeground,"--border":e.border,"--input":e.input,"--ring":e.ring,"--success":e.success,"--warning":e.warning,"--info":e.info,"--highlight":e.highlight,"--destructive-soft":e.destructiveSoft,"--destructive-deep":e.destructiveDeep,"--success-soft":e.successSoft,"--success-deep":e.successDeep,"--warning-soft":e.warningSoft,"--warning-deep":e.warningDeep,"--info-soft":e.infoSoft,"--info-deep":e.infoDeep,"--highlight-soft":e.highlightSoft,"--highlight-deep":e.highlightDeep}}function Jt(e,t){let r=e.colors[t];return {...pi(r),...Zt("neutral",e.ramps.neutral),...Zt("primary",e.ramps.primary),...Zt("accent",e.ramps.accent),"--chart-1":e.chart[1],"--chart-2":e.chart[2],"--chart-3":e.chart[3],"--chart-4":e.chart[4],"--chart-5":e.chart[5],"--font-sans":e.typography.fontSans,"--font-mono":e.typography.fontMono,"--font-display":e.typography.fontDisplay,"--font-heading-weight":String(e.typography.headingWeight),"--font-body-weight":String(e.typography.bodyWeight),"--font-heading-tracking":e.typography.headingTracking,"--text-display":e.typography.scale.display,"--text-h1":e.typography.scale.h1,"--text-h2":e.typography.scale.h2,"--text-h3":e.typography.scale.h3,"--text-h4":e.typography.scale.h4,"--text-h5":e.typography.scale.h5,"--text-h6":e.typography.scale.h6,"--text-body":e.typography.scale.body,"--text-body-sm":e.typography.scale.bodySm,"--radius":e.radius.base,"--rds-radius-sm":e.radius.sm,"--rds-radius-md":e.radius.md,"--rds-radius-lg":e.radius.lg,"--rds-radius-xl":e.radius.xl,"--rds-radius-2xl":e.radius["2xl"],"--rds-radius-full":e.radius.full,"--rds-density":String(e.spacing.densityFactor),"--rds-shadow-sm":e.effects.shadows.sm,"--rds-shadow-md":e.effects.shadows.md,"--rds-shadow-lg":e.effects.shadows.lg,"--rds-shadow-xl":e.effects.shadows.xl,"--rds-shadow-2xl":e.effects.shadows["2xl"],"--rds-shadow-inner":e.effects.shadows.inner,"--rds-transition-fast":e.effects.motion.fast,"--rds-transition-base":e.effects.motion.base,"--rds-transition-slow":e.effects.motion.slow,"--rds-transition-slower":e.effects.motion.slower,"--rds-border-width":e.effects.borderWidth}}function Zt(e,t){let r={};for(let o of Pe)r[`--ramp-${e}-${o}`]=t[o];return r}function St(e,t){if(typeof document>"u")return;let r=document.documentElement,o=Jt(e,t);for(let[n,i]of Object.entries(o))r.style.setProperty(n,i);r.setAttribute("data-ramp-theme",e.id),r.setAttribute("data-mode",t),r.setAttribute("data-button-shape",e.components.buttonShape??"default"),r.setAttribute("data-input-style",e.components.inputStyle??"outlined"),r.setAttribute("data-card-style",e.components.cardStyle??"flat");}function ot(e){if(typeof document>"u")return "";let t=document.createElement("span");t.style.color=`oklch(${e})`,t.style.position="absolute",t.style.visibility="hidden",document.body.appendChild(t);let r=getComputedStyle(t).color;document.body.removeChild(t);let o=r.match(/\d+/g);if(!o||o.length<3)return "";let[n,i,d]=o.slice(0,3).map(Number);return "#"+[n,i,d].map(c=>Math.max(0,Math.min(255,c)).toString(16).padStart(2,"0")).join("").toUpperCase()}function mi(e){let t=e.trim().split(/\s+/);if(t.length<3)return {oklch:e,hex:""};let[r,o,n]=t.map(Number),i=`${r.toFixed(3)} ${o.toFixed(3)} ${Math.round(n)}`,d=ot(e);return {oklch:i,hex:d}}function Qt(e,t,r){let o=[`### ${e} ramp (hue ${Math.round(r)}\xB0)`,"","| Step | OKLCH | Hex |","|------|-------|-----|"];for(let n of Pe){let{oklch:i,hex:d}=mi(t[n]);o.push(`| ${n} | \`${i}\` | \`${d||"\u2014"}\` |`);}return o.join(`
203
203
  `)}function ra(e,t){let r=[`### ${e}`,"","| Token | Usage | Light (hex) | Dark (hex) |","|-------|-------|-------------|------------|"];for(let o of t){let n=ot(o.light)||"\u2014",i=ot(o.dark)||"\u2014";r.push(`| \`--${o.token}\` | ${o.usage} | \`${n}\` (\`${o.light}\`) | \`${i}\` (\`${o.dark}\`) |`);}return r.join(`
204
- `)}function oa(e){return JSON.stringify(e.input,null,2)}function aa(e){let{input:t,ramps:r,colors:o,chart:n,typography:i,radius:d,spacing:l,effects:s,components:p}=e,c=t.intensity??"default",u=f=>({token:f,usage:li[f]??"",light:o.light[f],dark:o.dark[f]}),g=["background","foreground","card","cardForeground","popover","popoverForeground","primary","primaryForeground","secondary","secondaryForeground","muted","mutedForeground","accent","accentForeground","border","input","ring"].map(u),h=["destructive","destructiveForeground","success","warning","info","highlight"].map(u),T=[1,2,3,4,5].map(f=>{let m=n[f];return {slot:f,triplet:m,hex:ot(m)||"\u2014"}});return `# ${e.name} \u2014 Grade Design System Theme
204
+ `)}function oa(e){return JSON.stringify(e.input,null,2)}function aa(e){let{input:t,ramps:r,colors:o,chart:n,typography:i,radius:d,spacing:c,effects:s,components:p}=e,l=t.intensity??"default",m=f=>({token:f,usage:ui[f]??"",light:o.light[f],dark:o.dark[f]}),g=["background","foreground","card","cardForeground","popover","popoverForeground","primary","primaryForeground","secondary","secondaryForeground","muted","mutedForeground","accent","accentForeground","border","input","ring"].map(m),h=["destructive","destructiveForeground","success","warning","info","highlight"].map(m),T=[1,2,3,4,5].map(f=>{let u=n[f];return {slot:f,triplet:u,hex:ot(u)||"\u2014"}});return `# ${e.name} \u2014 Grade Design System Theme
205
205
 
206
206
  > **Portable theme spec.** Paste this entire file into a fresh LLM prompt along with your design brief. The model will have everything it needs to produce UI that matches this exact theme \u2014 colors, typography, spacing, shapes, and the "feel" we're after.
207
207
 
@@ -211,7 +211,7 @@ ${e}`;$n(t,i);let d=new I__namespace.Scene,l=new I__namespace.OrthographicCamera
211
211
  - **ID**: \`${t.id}\`
212
212
  ${t.description?`- **Description**: ${t.description}
213
213
  `:""}- **Hues**: neutral \`${t.hues.neutral}\xB0\` \xB7 primary \`${t.hues.primary}\xB0\` \xB7 accent \`${t.hues.accent}\xB0\`
214
- - **Intensity**: \`${c}\` ${c==="muted"?"(quieter chroma across the board)":c==="vibrant"?"(punchier chroma across the board)":"(balanced)"}
214
+ - **Intensity**: \`${l}\` ${l==="muted"?"(quieter chroma across the board)":l==="vibrant"?"(punchier chroma across the board)":"(balanced)"}
215
215
  - **Typography**: ${t.typography.display} display \xB7 ${t.typography.body} body \xB7 ${t.typography.mono} mono \xB7 scale \`${t.typography.scale}\`
216
216
  - **Spacing density**: \`${t.spacing.density}\`
217
217
  - **Radius style**: \`${t.radius.style}\` (base \`${d.base}\`)
@@ -304,8 +304,8 @@ ${T.map(f=>`| \`--chart-${f.slot}\` | \`${f.triplet}\` | \`${f.hex}\` |`).join(`
304
304
 
305
305
  ### Spacing
306
306
 
307
- - **Density factor**: \`${l.densityFactor}\` (applied as \`var(--rds-density)\` on components that opt in)
308
- - **Base unit**: \`${l.baseUnit}\`
307
+ - **Density factor**: \`${c.densityFactor}\` (applied as \`var(--rds-density)\` on components that opt in)
308
+ - **Base unit**: \`${c.baseUnit}\`
309
309
 
310
310
  ### Motion
311
311
 
@@ -383,7 +383,7 @@ Every component accepts a \`className\` for layout tweaks. Variants are passed v
383
383
 
384
384
  When generating UI in the ${e.name} theme, match this character:
385
385
 
386
- ${pi(e)}
386
+ ${fi(e)}
387
387
 
388
388
  ## Instructions for the generating LLM
389
389
 
@@ -411,8 +411,8 @@ applyThemeToRoot(theme, "light"); // or "dark" / "superLight" / "superDark"
411
411
 
412
412
  ---
413
413
  *Generated from Grade Design System v1 \xB7 ${new Date().toISOString()}*
414
- `}var li={background:"Page / body background",foreground:"Primary text",card:"Elevated surface background",cardForeground:"Text on cards",popover:"Floating menu background",popoverForeground:"Text inside floating menus",primary:"Primary actions, links, default button",primaryForeground:"Text on primary-tinted fills",secondary:"Secondary surfaces + quiet buttons",secondaryForeground:"Text on secondary surfaces",muted:"Subtle surfaces (hover states, skeletons)",mutedForeground:"Secondary / less-important text",accent:"Highlights, hover accents",accentForeground:"Text on accent surfaces",border:"Default borders",input:"Form input borders",ring:"Focus ring color",destructive:"Destructive actions, errors",destructiveForeground:"Text on destructive surfaces",success:"Success states",warning:"Warning states",info:"Informational states",highlight:"Emphasis, new features, callouts"};function pi(e){let t=[],{input:r,components:o}=e;r.intensity==="muted"?t.push("- **Quiet and restrained.** Avoid heavy saturation, glowing effects, or loud contrast jumps. Let whitespace do the work."):r.intensity==="vibrant"?t.push("- **Loud and confident.** Primary color wants to lead. Use it on hero CTAs, key metrics, empty states. Don't be shy."):t.push("- **Balanced.** Neither shouty nor sleepy \u2014 a workhorse feel suited to product interfaces."),r.spacing.density==="roomy"?t.push("- **Generous spacing.** Stretch things out \u2014 reach for `gap-6`, `gap-8`, `p-6`, `p-8`. Airy is the vibe."):r.spacing.density==="tight"?t.push("- **Dense layouts.** Pack information in \u2014 `gap-2`, `gap-3`, `p-3`, `p-4`. Scan-friendly dashboard energy."):t.push("- **Standard density.** Use Tailwind's default spacing ladder."),r.radius.style==="pill"?t.push("- **Fully rounded.** Controls are pill-shaped. Use `rounded-full` on custom chips / pills too."):r.radius.style==="sharp"?t.push("- **Square corners.** Zero radius everywhere \u2014 very architectural. Do not add curves."):r.radius.style==="round"?t.push("- **Rounded and friendly.** Corner radius is noticeable (\u224814px base). Avoid sharp edges."):t.push("- **Standard rounded corners.**");let n=r.typography.display;return n==="fraunces"||n==="instrumentSerif"||n==="sourceSerif"?t.push("- **Editorial serif headings.** Treat headings like magazine titles \u2014 give them space and weight. Serifs reward larger sizes."):(n==="geist"||n==="inter")&&t.push("- **Modern technical sans.** Clean, functional, neutral. Good for product UIs."),o.cardStyle==="outlined"?t.push("- **Cards are outlined**, not shadowed. Rely on borders + spacing for hierarchy."):o.cardStyle==="elevated"?t.push("- **Cards have real elevation.** Use shadows to stack content visually."):o.cardStyle==="glass"&&t.push("- **Glass / frosted cards.** Use translucent surfaces over background imagery or gradients."),o.buttonShape==="pill"&&t.push("- **Buttons are pills** \u2014 don't override with square corners."),t.join(`
415
- `)}function er(e){if(typeof window>"u"||typeof document>"u")return;let t=aa(e),r=new Blob([t],{type:"text/markdown;charset=utf-8"}),o=URL.createObjectURL(r),n=document.createElement("a");n.href=o,n.download=`ramp-theme-${e.input.id}.md`,document.body.appendChild(n),n.click(),document.body.removeChild(n),URL.revokeObjectURL(o);}var fe=Object.fromEntries(Pt.map(e=>[e.id,Ee(e)])),Ge=rt.id;function He(e){if(e in fe)return fe[e];let t=rr(e);if(t)return Ee(t)}function tr(){return [...Object.values(fe),...sa()]}var na="ramp-user-themes";function Ct(){if(typeof localStorage>"u")return {};try{let e=localStorage.getItem(na);if(!e)return {};let t=JSON.parse(e);return t&&typeof t=="object"?t:{}}catch{return {}}}function ia(e){if(!(typeof localStorage>"u"))try{localStorage.setItem(na,JSON.stringify(e));}catch{}}function sa(){return Object.values(Ct()).map(Ee)}function rr(e){return Ct()[e]}function Nt(e){let t=Ct();return t[e.id]=e,ia(t),Ee(e)}function or(e){if(e in fe)return;let t=Ct();delete t[e],ia(t);}function mi(e,t,r){let o=fe[e]?.input??rr(e);if(!o)return;let n={...o,id:t,name:r};return Nt(n),n}var ar="ramp-theme",kt="ramp-mode",ca=["superLight","light","dark","superDark"],da=new Set(["dark","superDark"]),ui=`
414
+ `}var ui={background:"Page / body background",foreground:"Primary text",card:"Elevated surface background",cardForeground:"Text on cards",popover:"Floating menu background",popoverForeground:"Text inside floating menus",primary:"Primary actions, links, default button",primaryForeground:"Text on primary-tinted fills",secondary:"Secondary surfaces + quiet buttons",secondaryForeground:"Text on secondary surfaces",muted:"Subtle surfaces (hover states, skeletons)",mutedForeground:"Secondary / less-important text",accent:"Highlights, hover accents",accentForeground:"Text on accent surfaces",border:"Default borders",input:"Form input borders",ring:"Focus ring color",destructive:"Destructive actions, errors",destructiveForeground:"Text on destructive surfaces",success:"Success states",warning:"Warning states",info:"Informational states",highlight:"Emphasis, new features, callouts"};function fi(e){let t=[],{input:r,components:o}=e;r.intensity==="muted"?t.push("- **Quiet and restrained.** Avoid heavy saturation, glowing effects, or loud contrast jumps. Let whitespace do the work."):r.intensity==="vibrant"?t.push("- **Loud and confident.** Primary color wants to lead. Use it on hero CTAs, key metrics, empty states. Don't be shy."):t.push("- **Balanced.** Neither shouty nor sleepy \u2014 a workhorse feel suited to product interfaces."),r.spacing.density==="roomy"?t.push("- **Generous spacing.** Stretch things out \u2014 reach for `gap-6`, `gap-8`, `p-6`, `p-8`. Airy is the vibe."):r.spacing.density==="tight"?t.push("- **Dense layouts.** Pack information in \u2014 `gap-2`, `gap-3`, `p-3`, `p-4`. Scan-friendly dashboard energy."):t.push("- **Standard density.** Use Tailwind's default spacing ladder."),r.radius.style==="pill"?t.push("- **Fully rounded.** Controls are pill-shaped. Use `rounded-full` on custom chips / pills too."):r.radius.style==="sharp"?t.push("- **Square corners.** Zero radius everywhere \u2014 very architectural. Do not add curves."):r.radius.style==="round"?t.push("- **Rounded and friendly.** Corner radius is noticeable (\u224814px base). Avoid sharp edges."):t.push("- **Standard rounded corners.**");let n=r.typography.display;return n==="fraunces"||n==="instrumentSerif"||n==="sourceSerif"?t.push("- **Editorial serif headings.** Treat headings like magazine titles \u2014 give them space and weight. Serifs reward larger sizes."):(n==="geist"||n==="inter")&&t.push("- **Modern technical sans.** Clean, functional, neutral. Good for product UIs."),o.cardStyle==="outlined"?t.push("- **Cards are outlined**, not shadowed. Rely on borders + spacing for hierarchy."):o.cardStyle==="elevated"?t.push("- **Cards have real elevation.** Use shadows to stack content visually."):o.cardStyle==="glass"&&t.push("- **Glass / frosted cards.** Use translucent surfaces over background imagery or gradients."),o.buttonShape==="pill"&&t.push("- **Buttons are pills** \u2014 don't override with square corners."),t.join(`
415
+ `)}function er(e){if(typeof window>"u"||typeof document>"u")return;let t=aa(e),r=new Blob([t],{type:"text/markdown;charset=utf-8"}),o=URL.createObjectURL(r),n=document.createElement("a");n.href=o,n.download=`ramp-theme-${e.input.id}.md`,document.body.appendChild(n),n.click(),document.body.removeChild(n),URL.revokeObjectURL(o);}var fe=Object.fromEntries(Pt.map(e=>[e.id,Ee(e)])),Ge=rt.id;function He(e){if(e in fe)return fe[e];let t=rr(e);if(t)return Ee(t)}function tr(){return [...Object.values(fe),...sa()]}var na="ramp-user-themes";function Ct(){if(typeof localStorage>"u")return {};try{let e=localStorage.getItem(na);if(!e)return {};let t=JSON.parse(e);return t&&typeof t=="object"?t:{}}catch{return {}}}function ia(e){if(!(typeof localStorage>"u"))try{localStorage.setItem(na,JSON.stringify(e));}catch{}}function sa(){return Object.values(Ct()).map(Ee)}function rr(e){return Ct()[e]}function Nt(e){let t=Ct();return t[e.id]=e,ia(t),Ee(e)}function or(e){if(e in fe)return;let t=Ct();delete t[e],ia(t);}function gi(e,t,r){let o=fe[e]?.input??rr(e);if(!o)return;let n={...o,id:t,name:r};return Nt(n),n}var ar="ramp-theme",kt="ramp-mode",ca=["superLight","light","dark","superDark"],da=new Set(["dark","superDark"]),hi=`
416
416
  (function() {
417
417
  try {
418
418
  var mode = localStorage.getItem('${kt}');
@@ -428,5 +428,5 @@ applyThemeToRoot(theme, "light"); // or "dark" / "superLight" / "superDark"
428
428
  if (themeId) document.documentElement.setAttribute('data-ramp-theme', themeId);
429
429
  } catch(e) {}
430
430
  })();
431
- `,nr=y__namespace.createContext(null);function fi({children:e,defaultTheme:t=Ge,defaultMode:r="light"}){let[o,n]=y__namespace.useState(t),[i,d]=y__namespace.useState(r),[l,s]=y__namespace.useState(0);y__namespace.useEffect(()=>{try{let f=localStorage.getItem(ar);f&&He(f)&&n(f);let m=localStorage.getItem(kt);if(m&&ca.includes(m))d(m);else if(typeof window<"u"){let w=window.matchMedia("(prefers-color-scheme: dark)").matches;d(w?"dark":"light");}}catch{}},[]),y__namespace.useEffect(()=>{let f=He(o)??He(Ge);f&&(St(f,i),typeof document<"u"&&document.documentElement.classList.toggle("dark",da.has(i)));},[o,i,l]),y__namespace.useEffect(()=>{if(typeof window>"u")return;let f=window.matchMedia("(prefers-color-scheme: dark)"),m=w=>{try{if(localStorage.getItem(kt))return}catch{return}d(w.matches?"dark":"light");};return f.addEventListener("change",m),()=>f.removeEventListener("change",m)},[]);let p=y__namespace.useCallback(f=>{n(f);try{localStorage.setItem(ar,f);}catch{}},[]),c=y__namespace.useCallback(f=>{d(f);try{localStorage.setItem(kt,f);}catch{}},[]),u=y__namespace.useCallback(f=>{Nt(f),s(m=>m+1),p(f.id);},[p]),g=y__namespace.useCallback(f=>{f in fe||(or(f),s(m=>m+1),n(m=>m===f?Ge:m));},[]),h=y__namespace.useCallback(()=>{s(f=>f+1);},[]),T=y__namespace.useMemo(()=>{let f=He(o)??He(Ge);return {theme:f,themeId:f.id,mode:i,isDark:da.has(i),setThemeId:p,setMode:c,themes:tr(),saveAndActivate:u,deleteTheme:g,refresh:h}},[o,i,l,p,c,u,g,h]);return y__namespace.createElement(nr.Provider,{value:T},e)}function ir(){let e=y__namespace.useContext(nr);if(!e)throw new Error("useGradeTheme must be used inside <GradeThemeProvider>. Wrap your app (typically in app/layout.tsx).");return e}function at(){return y__namespace.useContext(nr)}function bi({className:e}){let t=at();if(!t)return null;let{theme:r,themes:o,setThemeId:n,deleteTheme:i}=t;return y__namespace.createElement(De,null,y__namespace.createElement(Ie,{asChild:true},y__namespace.createElement(X,{variant:"ghost",size:"sm",className:a("gap-2",e),"aria-label":"Switch theme"},y__namespace.createElement(lucideReact.Palette,{className:"h-4 w-4"}),y__namespace.createElement("span",{className:"hidden sm:inline"},r.name))),y__namespace.createElement(Ne,{className:"w-80 p-2",align:"end"},y__namespace.createElement("div",{className:"flex items-start justify-between gap-2 px-2 py-1.5 mb-1"},y__namespace.createElement("div",null,y__namespace.createElement("div",{className:"text-xs font-medium text-muted-foreground"},"Theme"),y__namespace.createElement("div",{className:"text-xs text-muted-foreground/80"},"Switch the skin applied site-wide.")),y__namespace.createElement("button",{type:"button",onClick:()=>er(r),className:"flex items-center gap-1 rounded-md border border-border px-2 py-1 text-[10px] font-medium text-muted-foreground hover:bg-muted hover:text-foreground transition-colors",title:"Download the active theme as a markdown spec \u2014 paste into a fresh LLM prompt"},y__namespace.createElement(lucideReact.Download,{className:"h-3 w-3"}),".md")),y__namespace.createElement("div",{className:"flex flex-col gap-0.5"},o.map(d=>{let l=d.id===r.id,s=d.id in fe,p=d.ramps.primary[500],c=d.ramps.accent[500],u=d.ramps.neutral[500];return y__namespace.createElement("div",{key:d.id,className:a("group flex items-start gap-3 rounded-md px-2 py-2 text-left transition-colors","hover:bg-muted",l&&"bg-muted")},y__namespace.createElement("button",{type:"button",onClick:()=>n(d.id),className:"flex items-start gap-3 flex-1 min-w-0 text-left"},y__namespace.createElement("div",{className:"mt-0.5 flex shrink-0 overflow-hidden rounded-md border border-border"},y__namespace.createElement("div",{className:"h-5 w-2.5",style:{background:`oklch(${p})`},"aria-hidden":true}),y__namespace.createElement("div",{className:"h-5 w-2.5",style:{background:`oklch(${c})`},"aria-hidden":true}),y__namespace.createElement("div",{className:"h-5 w-2.5",style:{background:`oklch(${u})`},"aria-hidden":true})),y__namespace.createElement("div",{className:"min-w-0 flex-1"},y__namespace.createElement("div",{className:"flex items-center gap-2"},y__namespace.createElement("span",{className:"text-sm font-medium truncate text-foreground"},d.name),d.tagline&&y__namespace.createElement("span",{className:"text-[10px] uppercase tracking-wide text-muted-foreground shrink-0"},d.tagline)),d.description&&y__namespace.createElement("div",{className:"text-xs text-muted-foreground line-clamp-2"},d.description))),l&&y__namespace.createElement(lucideReact.Check,{className:"mt-2 h-4 w-4 shrink-0 text-primary"}),!s&&!l&&y__namespace.createElement("button",{type:"button",onClick:g=>{g.stopPropagation(),i(d.id);},className:"mt-1 opacity-0 group-hover:opacity-100 transition-opacity rounded p-1 hover:bg-destructive/10 hover:text-destructive","aria-label":`Delete theme ${d.name}`},y__namespace.createElement(lucideReact.Trash2,{className:"h-3.5 w-3.5"})))}))))}var la=[{mode:"superLight",label:"Super light",icon:lucideReact.SunDim,tooltip:"Super light \u2014 airy, low contrast"},{mode:"light",label:"Light",icon:lucideReact.Sun,tooltip:"Light"},{mode:"dark",label:"Dark",icon:lucideReact.Moon,tooltip:"Dark"},{mode:"superDark",label:"Super dark",icon:lucideReact.MoonStar,tooltip:"Super dark \u2014 OLED, high contrast"}];function Pi({className:e,variant:t="icons"}){let r=at();if(!r)return null;let{mode:o,setMode:n}=r;return t==="labeled"?y__namespace.createElement("div",{role:"radiogroup","aria-label":"Brightness mode",className:a("inline-flex flex-wrap gap-1 rounded-md border border-border bg-background p-1",e)},la.map(({mode:i,label:d,icon:l})=>{let s=o===i;return y__namespace.createElement("button",{key:i,type:"button",role:"radio","aria-checked":s,onClick:()=>n(i),className:a("flex items-center gap-2 rounded px-3 py-1.5 text-sm transition-colors",s?"bg-primary text-primary-foreground":"hover:bg-accent hover:text-accent-foreground")},y__namespace.createElement(l,{className:"h-4 w-4"}),y__namespace.createElement("span",null,d))})):y__namespace.createElement("div",{role:"radiogroup","aria-label":"Brightness mode",className:a("inline-flex items-center gap-0.5 rounded-md border border-border bg-background p-0.5",e)},la.map(({mode:i,icon:d,tooltip:l})=>{let s=o===i;return y__namespace.createElement("button",{key:i,type:"button",role:"radio","aria-checked":s,"aria-label":l,title:l,onClick:()=>n(i),className:a("flex h-7 w-7 items-center justify-center rounded transition-colors",s?"bg-primary text-primary-foreground":"text-muted-foreground hover:bg-accent hover:text-accent-foreground")},y__namespace.createElement(d,{className:"h-3.5 w-3.5"}))}))}function Ni(){let{isDark:e,setMode:t}=ir();return React.createElement(X,{variant:"ghost",size:"sm",onClick:()=>t(e?"light":"dark"),className:"gap-2","aria-label":e?"Switch to light mode":"Switch to dark mode"},e?React.createElement(React.Fragment,null,React.createElement(lucideReact.Sun,{className:"h-4 w-4"}),React.createElement("span",{className:"hidden sm:inline"},"Light")):React.createElement(React.Fragment,null,React.createElement(lucideReact.Moon,{className:"h-4 w-4"}),React.createElement("span",{className:"hidden sm:inline"},"Dark")))}exports.ALL_MODES=ca;exports.Accordion=va;exports.AccordionContent=vr;exports.AccordionItem=hr;exports.AccordionTrigger=yr;exports.Alert=br;exports.AlertDescription=Rr;exports.AlertTitle=xr;exports.BUILT_IN_INPUTS=Pt;exports.Badge=Ta;exports.Button=X;exports.Calendar=lt;exports.CalendarDayButton=Sr;exports.Card=Cr;exports.CardContent=Er;exports.CardDescription=Mr;exports.CardFooter=Hr;exports.CardHeader=Nr;exports.CardTitle=kr;exports.Checkbox=Lr;exports.DatePicker=Da;exports.DateRangePicker=Ia;exports.Dialog=Fa;exports.DialogClose=Ga;exports.DialogContent=Ar;exports.DialogDescription=$r;exports.DialogFooter=Or;exports.DialogHeader=Fr;exports.DialogOverlay=Dt;exports.DialogPortal=Ir;exports.DialogTitle=Gr;exports.DialogTrigger=Oa;exports.DropdownMenu=_a;exports.DropdownMenuCheckboxItem=zr;exports.DropdownMenuContent=_r;exports.DropdownMenuGroup=za;exports.DropdownMenuItem=Kr;exports.DropdownMenuLabel=Wr;exports.DropdownMenuPortal=Va;exports.DropdownMenuRadioGroup=ja;exports.DropdownMenuRadioItem=Vr;exports.DropdownMenuSeparator=jr;exports.DropdownMenuShortcut=qr;exports.DropdownMenuSub=Wa;exports.DropdownMenuSubContent=Ur;exports.DropdownMenuSubTrigger=Br;exports.DropdownMenuTrigger=Ka;exports.FRAGMENT_HEADER=Zo;exports.GRADE_PRE_HYDRATION_SCRIPT=ui;exports.GradeModeSwitcher=Pi;exports.GradeThemeProvider=fi;exports.GradeThemeSwitcher=bi;exports.Input=Yr;exports.Label=Xr;exports.LenisProvider=jn;exports.MediaSurface=ue;exports.Popover=De;exports.PopoverAnchor=Ea;exports.PopoverContent=Ne;exports.PopoverTrigger=Ie;exports.Progress=Zr;exports.RadioGroup=Jr;exports.RadioGroupItem=Qr;exports.RivePlayer=zo;exports.ScrollArea=eo;exports.ScrollBar=At;exports.Select=Qa;exports.SelectContent=oo;exports.SelectGroup=en;exports.SelectItem=no;exports.SelectLabel=ao;exports.SelectScrollDownButton=Ot;exports.SelectScrollUpButton=Ft;exports.SelectSeparator=io;exports.SelectTrigger=ro;exports.SelectValue=tn;exports.Separator=so;exports.ShaderCompileError=Fe;exports.ShaderPresetPicker=Kn;exports.ShaderPresetPreview=Rt;exports.Sheet=an;exports.SheetClose=sn;exports.SheetContent=lo;exports.SheetDescription=fo;exports.SheetFooter=mo;exports.SheetHeader=po;exports.SheetOverlay=$t;exports.SheetPortal=co;exports.SheetTitle=uo;exports.SheetTrigger=nn;exports.SideMenu=Lo;exports.SimpleTabs=Oo;exports.SimpleTabsContent=_o;exports.SimpleTabsList=Bo;exports.SimpleTabsPanel=Go;exports.SimpleTabsRoot=$o;exports.SimpleTabsTrigger=Uo;exports.Skeleton=cn;exports.Slider=go;exports.Switch=ho;exports.Table=yo;exports.TableBody=bo;exports.TableCaption=Po;exports.TableCell=wo;exports.TableFooter=xo;exports.TableHead=To;exports.TableHeader=vo;exports.TableRow=Ro;exports.Tabs=ln;exports.TabsContent=No;exports.TabsList=So;exports.TabsTrigger=Co;exports.Textarea=ko;exports.ThemeToggle=Ni;exports.ThreeScene=xt;exports.Tooltip=Ut;exports.TooltipContent=ht;exports.TooltipProvider=Bt;exports.TooltipTrigger=_t;exports.TopMenu=Do;exports.TopMenuUser=Io;exports.TopMenuUserItem=Ao;exports.TopMenuUserSection=Fo;exports.VideoPlayer=Ko;exports.applyThemeToRoot=St;exports.badgeVariants=wr;exports.buildFragmentShaderScene=qt;exports.builtInThemes=fe;exports.buttonVariants=Ue;exports.calmInput=rt;exports.cn=a;exports.defaultPostPreset=vt;exports.defaultThemeId=Ge;exports.deleteUserTheme=or;exports.duplicateTheme=mi;exports.energyInput=Xt;exports.generateTheme=Ee;exports.getTheme=He;exports.listThemes=tr;exports.listUserThemes=sa;exports.loadUserThemeInput=rr;exports.postPresets=Je;exports.saveUserTheme=Nt;exports.sceneRegistry=Ye;exports.shaderPresetById=Ze;exports.shaderPresets=Xe;exports.themeToCSSVars=Jt;exports.useGradeTheme=ir;exports.useMaybeGradeTheme=at;exports.usePrefersReducedMotion=Me;//# sourceMappingURL=index.js.map
431
+ `,nr=y__namespace.createContext(null);function yi({children:e,defaultTheme:t=Ge,defaultMode:r="light"}){let[o,n]=y__namespace.useState(t),[i,d]=y__namespace.useState(r),[c,s]=y__namespace.useState(0);y__namespace.useEffect(()=>{try{let f=localStorage.getItem(ar);f&&He(f)&&n(f);let u=localStorage.getItem(kt);if(u&&ca.includes(u))d(u);else if(typeof window<"u"){let w=window.matchMedia("(prefers-color-scheme: dark)").matches;d(w?"dark":"light");}}catch{}},[]),y__namespace.useEffect(()=>{let f=He(o)??He(Ge);f&&(St(f,i),typeof document<"u"&&document.documentElement.classList.toggle("dark",da.has(i)));},[o,i,c]),y__namespace.useEffect(()=>{if(typeof window>"u")return;let f=window.matchMedia("(prefers-color-scheme: dark)"),u=w=>{try{if(localStorage.getItem(kt))return}catch{return}d(w.matches?"dark":"light");};return f.addEventListener("change",u),()=>f.removeEventListener("change",u)},[]);let p=y__namespace.useCallback(f=>{n(f);try{localStorage.setItem(ar,f);}catch{}},[]),l=y__namespace.useCallback(f=>{d(f);try{localStorage.setItem(kt,f);}catch{}},[]),m=y__namespace.useCallback(f=>{Nt(f),s(u=>u+1),p(f.id);},[p]),g=y__namespace.useCallback(f=>{f in fe||(or(f),s(u=>u+1),n(u=>u===f?Ge:u));},[]),h=y__namespace.useCallback(()=>{s(f=>f+1);},[]),T=y__namespace.useMemo(()=>{let f=He(o)??He(Ge);return {theme:f,themeId:f.id,mode:i,isDark:da.has(i),setThemeId:p,setMode:l,themes:tr(),saveAndActivate:m,deleteTheme:g,refresh:h}},[o,i,c,p,l,m,g,h]);return y__namespace.createElement(nr.Provider,{value:T},e)}function ir(){let e=y__namespace.useContext(nr);if(!e)throw new Error("useGradeTheme must be used inside <GradeThemeProvider>. Wrap your app (typically in app/layout.tsx).");return e}function at(){return y__namespace.useContext(nr)}function Ti({className:e}){let t=at();if(!t)return null;let{theme:r,themes:o,setThemeId:n,deleteTheme:i}=t;return y__namespace.createElement(De,null,y__namespace.createElement(Ie,{asChild:true},y__namespace.createElement(X,{variant:"ghost",size:"sm",className:a("gap-2",e),"aria-label":"Switch theme"},y__namespace.createElement(lucideReact.Palette,{className:"h-4 w-4"}),y__namespace.createElement("span",{className:"hidden sm:inline"},r.name))),y__namespace.createElement(Ne,{className:"w-80 p-2",align:"end"},y__namespace.createElement("div",{className:"flex items-start justify-between gap-2 px-2 py-1.5 mb-1"},y__namespace.createElement("div",null,y__namespace.createElement("div",{className:"text-xs font-medium text-muted-foreground"},"Theme"),y__namespace.createElement("div",{className:"text-xs text-muted-foreground/80"},"Switch the skin applied site-wide.")),y__namespace.createElement("button",{type:"button",onClick:()=>er(r),className:"flex items-center gap-1 rounded-md border border-border px-2 py-1 text-[10px] font-medium text-muted-foreground hover:bg-muted hover:text-foreground transition-colors",title:"Download the active theme as a markdown spec \u2014 paste into a fresh LLM prompt"},y__namespace.createElement(lucideReact.Download,{className:"h-3 w-3"}),".md")),y__namespace.createElement("div",{className:"flex flex-col gap-0.5"},o.map(d=>{let c=d.id===r.id,s=d.id in fe,p=d.ramps.primary[500],l=d.ramps.accent[500],m=d.ramps.neutral[500];return y__namespace.createElement("div",{key:d.id,className:a("group flex items-start gap-3 rounded-md px-2 py-2 text-left transition-colors","hover:bg-muted",c&&"bg-muted")},y__namespace.createElement("button",{type:"button",onClick:()=>n(d.id),className:"flex items-start gap-3 flex-1 min-w-0 text-left"},y__namespace.createElement("div",{className:"mt-0.5 flex shrink-0 overflow-hidden rounded-md border border-border"},y__namespace.createElement("div",{className:"h-5 w-2.5",style:{background:`oklch(${p})`},"aria-hidden":true}),y__namespace.createElement("div",{className:"h-5 w-2.5",style:{background:`oklch(${l})`},"aria-hidden":true}),y__namespace.createElement("div",{className:"h-5 w-2.5",style:{background:`oklch(${m})`},"aria-hidden":true})),y__namespace.createElement("div",{className:"min-w-0 flex-1"},y__namespace.createElement("div",{className:"flex items-center gap-2"},y__namespace.createElement("span",{className:"text-sm font-medium truncate text-foreground"},d.name),d.tagline&&y__namespace.createElement("span",{className:"text-[10px] uppercase tracking-wide text-muted-foreground shrink-0"},d.tagline)),d.description&&y__namespace.createElement("div",{className:"text-xs text-muted-foreground line-clamp-2"},d.description))),c&&y__namespace.createElement(lucideReact.Check,{className:"mt-2 h-4 w-4 shrink-0 text-primary"}),!s&&!c&&y__namespace.createElement("button",{type:"button",onClick:g=>{g.stopPropagation(),i(d.id);},className:"mt-1 opacity-0 group-hover:opacity-100 transition-opacity rounded p-1 hover:bg-destructive/10 hover:text-destructive","aria-label":`Delete theme ${d.name}`},y__namespace.createElement(lucideReact.Trash2,{className:"h-3.5 w-3.5"})))}))))}var la=[{mode:"superLight",label:"Super light",icon:lucideReact.SunDim,tooltip:"Super light \u2014 airy, low contrast"},{mode:"light",label:"Light",icon:lucideReact.Sun,tooltip:"Light"},{mode:"dark",label:"Dark",icon:lucideReact.Moon,tooltip:"Dark"},{mode:"superDark",label:"Super dark",icon:lucideReact.MoonStar,tooltip:"Super dark \u2014 OLED, high contrast"}];function Ni({className:e,variant:t="icons"}){let r=at();if(!r)return null;let{mode:o,setMode:n}=r;return t==="labeled"?y__namespace.createElement("div",{role:"radiogroup","aria-label":"Brightness mode",className:a("inline-flex flex-wrap gap-1 rounded-md border border-border bg-background p-1",e)},la.map(({mode:i,label:d,icon:c})=>{let s=o===i;return y__namespace.createElement("button",{key:i,type:"button",role:"radio","aria-checked":s,onClick:()=>n(i),className:a("flex items-center gap-2 rounded px-3 py-1.5 text-sm transition-colors",s?"bg-primary text-primary-foreground":"hover:bg-accent hover:text-accent-foreground")},y__namespace.createElement(c,{className:"h-4 w-4"}),y__namespace.createElement("span",null,d))})):y__namespace.createElement("div",{role:"radiogroup","aria-label":"Brightness mode",className:a("inline-flex items-center gap-0.5 rounded-md border border-border bg-background p-0.5",e)},la.map(({mode:i,icon:d,tooltip:c})=>{let s=o===i;return y__namespace.createElement("button",{key:i,type:"button",role:"radio","aria-checked":s,"aria-label":c,title:c,onClick:()=>n(i),className:a("flex h-7 w-7 items-center justify-center rounded transition-colors",s?"bg-primary text-primary-foreground":"text-muted-foreground hover:bg-accent hover:text-accent-foreground")},y__namespace.createElement(d,{className:"h-3.5 w-3.5"}))}))}function Ei(){let{isDark:e,setMode:t}=ir();return React.createElement(X,{variant:"ghost",size:"sm",onClick:()=>t(e?"light":"dark"),className:"gap-2","aria-label":e?"Switch to light mode":"Switch to dark mode"},e?React.createElement(React.Fragment,null,React.createElement(lucideReact.Sun,{className:"h-4 w-4"}),React.createElement("span",{className:"hidden sm:inline"},"Light")):React.createElement(React.Fragment,null,React.createElement(lucideReact.Moon,{className:"h-4 w-4"}),React.createElement("span",{className:"hidden sm:inline"},"Dark")))}exports.ALL_MODES=ca;exports.Accordion=va;exports.AccordionContent=vr;exports.AccordionItem=hr;exports.AccordionTrigger=yr;exports.Alert=br;exports.AlertDescription=Rr;exports.AlertTitle=xr;exports.BUILT_IN_INPUTS=Pt;exports.Badge=Ta;exports.Button=X;exports.Calendar=lt;exports.CalendarDayButton=Sr;exports.Card=Cr;exports.CardContent=Er;exports.CardDescription=Mr;exports.CardFooter=Hr;exports.CardHeader=Nr;exports.CardTitle=kr;exports.Checkbox=Lr;exports.DatePicker=Da;exports.DateRangePicker=Ia;exports.Dialog=Fa;exports.DialogClose=Ga;exports.DialogContent=Ar;exports.DialogDescription=$r;exports.DialogFooter=Or;exports.DialogHeader=Fr;exports.DialogOverlay=Dt;exports.DialogPortal=Ir;exports.DialogTitle=Gr;exports.DialogTrigger=Oa;exports.DropdownMenu=_a;exports.DropdownMenuCheckboxItem=zr;exports.DropdownMenuContent=_r;exports.DropdownMenuGroup=za;exports.DropdownMenuItem=Kr;exports.DropdownMenuLabel=Wr;exports.DropdownMenuPortal=Va;exports.DropdownMenuRadioGroup=ja;exports.DropdownMenuRadioItem=Vr;exports.DropdownMenuSeparator=jr;exports.DropdownMenuShortcut=qr;exports.DropdownMenuSub=Wa;exports.DropdownMenuSubContent=Ur;exports.DropdownMenuSubTrigger=Br;exports.DropdownMenuTrigger=Ka;exports.FRAGMENT_HEADER=Zo;exports.GRADE_PRE_HYDRATION_SCRIPT=hi;exports.GradeModeSwitcher=Ni;exports.GradeThemeProvider=yi;exports.GradeThemeSwitcher=Ti;exports.Input=Yr;exports.Label=Xr;exports.LenisProvider=Xn;exports.MediaSurface=ue;exports.Popover=De;exports.PopoverAnchor=Ea;exports.PopoverContent=Ne;exports.PopoverTrigger=Ie;exports.Progress=Zr;exports.RadioGroup=Jr;exports.RadioGroupItem=Qr;exports.RivePlayer=zo;exports.ScrollArea=eo;exports.ScrollBar=At;exports.Select=Qa;exports.SelectContent=oo;exports.SelectGroup=en;exports.SelectItem=no;exports.SelectLabel=ao;exports.SelectScrollDownButton=Ot;exports.SelectScrollUpButton=Ft;exports.SelectSeparator=io;exports.SelectTrigger=ro;exports.SelectValue=tn;exports.Separator=so;exports.ShaderCompileError=Fe;exports.ShaderPresetPicker=Wn;exports.ShaderPresetPreview=Rt;exports.Sheet=an;exports.SheetClose=sn;exports.SheetContent=lo;exports.SheetDescription=fo;exports.SheetFooter=mo;exports.SheetHeader=po;exports.SheetOverlay=$t;exports.SheetPortal=co;exports.SheetTitle=uo;exports.SheetTrigger=nn;exports.SideMenu=Lo;exports.SimpleTabs=Oo;exports.SimpleTabsContent=_o;exports.SimpleTabsList=Bo;exports.SimpleTabsPanel=Go;exports.SimpleTabsRoot=$o;exports.SimpleTabsTrigger=Uo;exports.Skeleton=cn;exports.Slider=go;exports.Switch=ho;exports.Table=yo;exports.TableBody=bo;exports.TableCaption=Po;exports.TableCell=wo;exports.TableFooter=xo;exports.TableHead=To;exports.TableHeader=vo;exports.TableRow=Ro;exports.Tabs=ln;exports.TabsContent=No;exports.TabsList=So;exports.TabsTrigger=Co;exports.Textarea=ko;exports.ThemeToggle=Ei;exports.ThreeScene=xt;exports.Tooltip=Ut;exports.TooltipContent=ht;exports.TooltipProvider=Bt;exports.TooltipTrigger=_t;exports.TopMenu=Do;exports.TopMenuUser=Io;exports.TopMenuUserItem=Ao;exports.TopMenuUserSection=Fo;exports.VideoPlayer=Ko;exports.applyThemeToRoot=St;exports.badgeVariants=wr;exports.buildFragmentShaderScene=qt;exports.builtInThemes=fe;exports.buttonVariants=Ue;exports.calmInput=rt;exports.cn=a;exports.defaultPostPreset=vt;exports.defaultThemeId=Ge;exports.deleteUserTheme=or;exports.duplicateTheme=gi;exports.energyInput=Xt;exports.generateTheme=Ee;exports.getTheme=He;exports.listThemes=tr;exports.listUserThemes=sa;exports.loadUserThemeInput=rr;exports.postPresets=Je;exports.saveUserTheme=Nt;exports.sceneRegistry=Ye;exports.shaderPresetById=Ze;exports.shaderPresets=Xe;exports.themeToCSSVars=Jt;exports.useGradeTheme=ir;exports.useMaybeGradeTheme=at;exports.usePrefersReducedMotion=Me;//# sourceMappingURL=index.js.map
432
432
  //# sourceMappingURL=index.js.map