@mindtris/ui 0.1.9 → 0.1.10

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.mjs CHANGED
@@ -4854,36 +4854,38 @@ Switch.displayName = "Switch";
4854
4854
  import * as React14 from "react";
4855
4855
  import * as CheckboxPrimitive from "@radix-ui/react-checkbox";
4856
4856
  import { Check, Minus } from "lucide-react";
4857
- import { jsx as jsx22, jsxs as jsxs12 } from "react/jsx-runtime";
4858
- var Checkbox = React14.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx22(
4859
- CheckboxPrimitive.Root,
4860
- {
4861
- ref,
4862
- "data-slot": "checkbox",
4863
- className: cn(
4864
- "group peer h-4 w-4 shrink-0 rounded border border-input bg-field outline-none",
4865
- "hover:border-border/80",
4866
- "focus-visible:ring-0 focus-visible:border-foreground/40",
4867
- "data-[state=checked]:border-primary data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground",
4868
- "data-[state=indeterminate]:border-primary data-[state=indeterminate]:bg-primary data-[state=indeterminate]:text-primary-foreground",
4869
- "disabled:pointer-events-none disabled:opacity-50",
4870
- "transition-colors",
4871
- className
4872
- ),
4873
- ...props,
4874
- children: /* @__PURE__ */ jsxs12(
4875
- CheckboxPrimitive.Indicator,
4876
- {
4877
- "data-slot": "checkbox-indicator",
4878
- className: "flex items-center justify-center text-current",
4879
- children: [
4880
- /* @__PURE__ */ jsx22(Check, { className: "h-3 w-3 group-data-[state=indeterminate]:hidden", strokeWidth: 2.5 }),
4881
- /* @__PURE__ */ jsx22(Minus, { className: "h-3 w-3 group-data-[state=checked]:hidden", strokeWidth: 2.5 })
4882
- ]
4883
- }
4884
- )
4885
- }
4886
- ));
4857
+ import { jsx as jsx22 } from "react/jsx-runtime";
4858
+ var CheckboxIndicatorContent = /* @__PURE__ */ __name(({ state }) => state === "indeterminate" ? /* @__PURE__ */ jsx22(Minus, { className: "h-3 w-3 shrink-0", strokeWidth: 2.5 }) : /* @__PURE__ */ jsx22(Check, { className: "h-3 w-3 shrink-0", strokeWidth: 2.5 }), "CheckboxIndicatorContent");
4859
+ var Checkbox = React14.forwardRef(({ className, checked, ...props }, ref) => {
4860
+ const state = checked === "indeterminate" ? "indeterminate" : checked === true ? "checked" : "unchecked";
4861
+ return /* @__PURE__ */ jsx22(
4862
+ CheckboxPrimitive.Root,
4863
+ {
4864
+ ref,
4865
+ "data-slot": "checkbox",
4866
+ checked,
4867
+ className: cn(
4868
+ "peer h-4 w-4 shrink-0 rounded border border-input bg-field outline-none",
4869
+ "hover:border-border/80",
4870
+ "focus-visible:ring-0 focus-visible:border-foreground/40",
4871
+ "data-[state=checked]:border-primary data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground",
4872
+ "data-[state=indeterminate]:border-primary data-[state=indeterminate]:bg-primary data-[state=indeterminate]:text-primary-foreground",
4873
+ "disabled:pointer-events-none disabled:opacity-50",
4874
+ "transition-colors",
4875
+ className
4876
+ ),
4877
+ ...props,
4878
+ children: /* @__PURE__ */ jsx22(
4879
+ CheckboxPrimitive.Indicator,
4880
+ {
4881
+ "data-slot": "checkbox-indicator",
4882
+ className: "flex items-center justify-center text-current",
4883
+ children: /* @__PURE__ */ jsx22(CheckboxIndicatorContent, { state })
4884
+ }
4885
+ )
4886
+ }
4887
+ );
4888
+ });
4887
4889
  Checkbox.displayName = "Checkbox";
4888
4890
 
4889
4891
  // components/ui/radio-group.tsx
@@ -4957,7 +4959,7 @@ RadioGroupItem.displayName = "RadioGroupItem";
4957
4959
  // components/ui/chip.tsx
4958
4960
  import * as React16 from "react";
4959
4961
  import { X } from "lucide-react";
4960
- import { jsx as jsx24, jsxs as jsxs13 } from "react/jsx-runtime";
4962
+ import { jsx as jsx24, jsxs as jsxs12 } from "react/jsx-runtime";
4961
4963
  var chipSelectedVariants = createVariants({
4962
4964
  base: "border transition-colors",
4963
4965
  variants: {
@@ -5002,7 +5004,7 @@ function Chip({
5002
5004
  const base = "inline-flex items-center gap-1.5 rounded-full font-medium focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring disabled:opacity-50 disabled:cursor-not-allowed";
5003
5005
  const effectiveVariant = variant === "default" ? "primary" : variant;
5004
5006
  const variantClass = isSelected ? chipSelectedVariants({ variant: effectiveVariant }) : chipUnselectedClass;
5005
- return /* @__PURE__ */ jsxs13(
5007
+ return /* @__PURE__ */ jsxs12(
5006
5008
  "button",
5007
5009
  {
5008
5010
  type: "button",
@@ -5076,7 +5078,7 @@ Select.displayName = "Select";
5076
5078
  // components/ui/native-select.tsx
5077
5079
  import * as React18 from "react";
5078
5080
  import { ChevronDown as ChevronDown3 } from "lucide-react";
5079
- import { jsx as jsx26, jsxs as jsxs14 } from "react/jsx-runtime";
5081
+ import { jsx as jsx26, jsxs as jsxs13 } from "react/jsx-runtime";
5080
5082
  var sizeClasses3 = {
5081
5083
  sm: "h-8 text-xs px-2.5",
5082
5084
  default: "h-10 text-sm px-3",
@@ -5091,7 +5093,7 @@ var NativeSelect = React18.forwardRef(
5091
5093
  children,
5092
5094
  ...props
5093
5095
  }, ref) => {
5094
- return /* @__PURE__ */ jsxs14("div", { className: cn("relative inline-flex", fullWidth && "w-full"), children: [
5096
+ return /* @__PURE__ */ jsxs13("div", { className: cn("relative inline-flex", fullWidth && "w-full"), children: [
5095
5097
  /* @__PURE__ */ jsx26(
5096
5098
  "select",
5097
5099
  {
@@ -5154,7 +5156,7 @@ var Label = React19.forwardRef(
5154
5156
  Label.displayName = "Label";
5155
5157
 
5156
5158
  // components/ui/field.tsx
5157
- import { jsx as jsx28, jsxs as jsxs15 } from "react/jsx-runtime";
5159
+ import { jsx as jsx28, jsxs as jsxs14 } from "react/jsx-runtime";
5158
5160
  function Field({
5159
5161
  label,
5160
5162
  htmlFor,
@@ -5170,7 +5172,7 @@ function Field({
5170
5172
  }) {
5171
5173
  const generatedId = React20.useId();
5172
5174
  const fieldId = idProp ?? generatedId;
5173
- return /* @__PURE__ */ jsxs15(
5175
+ return /* @__PURE__ */ jsxs14(
5174
5176
  "div",
5175
5177
  {
5176
5178
  "data-slot": "field",
@@ -5178,7 +5180,7 @@ function Field({
5178
5180
  className: cn("grid gap-2", className),
5179
5181
  ...props,
5180
5182
  children: [
5181
- label ? /* @__PURE__ */ jsxs15(Label, { htmlFor: htmlFor ?? fieldId, className: "text-sm font-medium text-foreground", children: [
5183
+ label ? /* @__PURE__ */ jsxs14(Label, { htmlFor: htmlFor ?? fieldId, className: "text-sm font-medium text-foreground", children: [
5182
5184
  label,
5183
5185
  required2 ? /* @__PURE__ */ jsx28("span", { className: "ml-0.5 text-destructive", "aria-hidden": true, children: "*" }) : null
5184
5186
  ] }) : null,
@@ -5216,7 +5218,7 @@ function Field({
5216
5218
  __name(Field, "Field");
5217
5219
 
5218
5220
  // components/ui/empty.tsx
5219
- import { jsx as jsx29, jsxs as jsxs16 } from "react/jsx-runtime";
5221
+ import { jsx as jsx29, jsxs as jsxs15 } from "react/jsx-runtime";
5220
5222
  var sizeClasses4 = {
5221
5223
  sm: "py-8 gap-3",
5222
5224
  default: "py-12 gap-4",
@@ -5232,7 +5234,7 @@ function Empty({
5232
5234
  children,
5233
5235
  ...props
5234
5236
  }) {
5235
- return /* @__PURE__ */ jsxs16(
5237
+ return /* @__PURE__ */ jsxs15(
5236
5238
  "div",
5237
5239
  {
5238
5240
  "data-slot": "empty",
@@ -5475,7 +5477,7 @@ Separator2.displayName = "Separator";
5475
5477
  // components/ui/drawer.tsx
5476
5478
  import { X as X2 } from "lucide-react";
5477
5479
  import { Drawer as DrawerPrimitive } from "vaul";
5478
- import { jsx as jsx32, jsxs as jsxs17 } from "react/jsx-runtime";
5480
+ import { jsx as jsx32, jsxs as jsxs16 } from "react/jsx-runtime";
5479
5481
  function Drawer({ ...props }) {
5480
5482
  return /* @__PURE__ */ jsx32(DrawerPrimitive.Root, { "data-slot": "drawer", ...props });
5481
5483
  }
@@ -5515,9 +5517,9 @@ function DrawerContent({
5515
5517
  showCloseButton = true,
5516
5518
  ...props
5517
5519
  }) {
5518
- return /* @__PURE__ */ jsxs17(DrawerPortal, { children: [
5520
+ return /* @__PURE__ */ jsxs16(DrawerPortal, { children: [
5519
5521
  /* @__PURE__ */ jsx32(DrawerOverlay, {}),
5520
- /* @__PURE__ */ jsxs17(
5522
+ /* @__PURE__ */ jsxs16(
5521
5523
  DrawerPrimitive.Content,
5522
5524
  {
5523
5525
  "data-slot": "drawer-content",
@@ -5535,7 +5537,7 @@ function DrawerContent({
5535
5537
  children: [
5536
5538
  /* @__PURE__ */ jsx32("div", { className: "mx-auto mt-4 hidden h-2 w-[100px] shrink-0 rounded-full bg-muted group-data-[vaul-drawer-direction=bottom]/drawer-content:block" }),
5537
5539
  children,
5538
- showCloseButton ? /* @__PURE__ */ jsxs17(
5540
+ showCloseButton ? /* @__PURE__ */ jsxs16(
5539
5541
  DrawerPrimitive.Close,
5540
5542
  {
5541
5543
  "data-slot": "drawer-close",
@@ -5613,7 +5615,7 @@ function DrawerDescription({ className, ...props }) {
5613
5615
  __name(DrawerDescription, "DrawerDescription");
5614
5616
 
5615
5617
  // components/ui/dialog.tsx
5616
- import { jsx as jsx33, jsxs as jsxs18 } from "react/jsx-runtime";
5618
+ import { jsx as jsx33, jsxs as jsxs17 } from "react/jsx-runtime";
5617
5619
  function Dialog({ ...props }) {
5618
5620
  return /* @__PURE__ */ jsx33(DialogPrimitive.Root, { "data-slot": "dialog", ...props });
5619
5621
  }
@@ -5653,9 +5655,9 @@ function DialogContent({
5653
5655
  showCloseButton = true,
5654
5656
  ...props
5655
5657
  }) {
5656
- return /* @__PURE__ */ jsxs18(DialogPortal, { children: [
5658
+ return /* @__PURE__ */ jsxs17(DialogPortal, { children: [
5657
5659
  /* @__PURE__ */ jsx33(DialogOverlay, {}),
5658
- /* @__PURE__ */ jsxs18(
5660
+ /* @__PURE__ */ jsxs17(
5659
5661
  DialogPrimitive.Content,
5660
5662
  {
5661
5663
  "data-slot": "dialog-content",
@@ -5666,7 +5668,7 @@ function DialogContent({
5666
5668
  ...props,
5667
5669
  children: [
5668
5670
  children,
5669
- showCloseButton ? /* @__PURE__ */ jsxs18(
5671
+ showCloseButton ? /* @__PURE__ */ jsxs17(
5670
5672
  DialogPrimitive.Close,
5671
5673
  {
5672
5674
  "data-slot": "dialog-close",
@@ -5751,8 +5753,8 @@ function ResponsiveDialog({
5751
5753
  const isDesktop = useMediaQuery(desktopQuery);
5752
5754
  const resolvedMode = mode ?? (isDesktop ? "dialog" : "drawer");
5753
5755
  if (resolvedMode === "dialog") {
5754
- return /* @__PURE__ */ jsx33(Dialog, { open, onOpenChange, children: /* @__PURE__ */ jsxs18(DialogContent, { className: cn("p-0 overflow-hidden", contentClassName), showCloseButton: !hideClose, children: [
5755
- title || description ? /* @__PURE__ */ jsxs18(DialogHeader, { className: cn("px-6 pt-6 pb-4", headerClassName), children: [
5756
+ return /* @__PURE__ */ jsx33(Dialog, { open, onOpenChange, children: /* @__PURE__ */ jsxs17(DialogContent, { className: cn("p-0 overflow-hidden", contentClassName), showCloseButton: !hideClose, children: [
5757
+ title || description ? /* @__PURE__ */ jsxs17(DialogHeader, { className: cn("px-6 pt-6 pb-4", headerClassName), children: [
5756
5758
  title ? /* @__PURE__ */ jsx33(DialogTitle, { className: "text-base", children: title }) : null,
5757
5759
  description ? /* @__PURE__ */ jsx33(DialogDescription, { children: description }) : null
5758
5760
  ] }) : null,
@@ -5762,9 +5764,9 @@ function ResponsiveDialog({
5762
5764
  footer ? /* @__PURE__ */ jsx33(DialogFooter, { className: cn("px-6 pt-4 pb-6", footerClassName), children: footer }) : null
5763
5765
  ] }) });
5764
5766
  }
5765
- return /* @__PURE__ */ jsx33(Drawer, { open, onOpenChange, direction: drawerDirection, children: /* @__PURE__ */ jsxs18(DrawerContent, { className: cn("p-0", contentClassName), children: [
5767
+ return /* @__PURE__ */ jsx33(Drawer, { open, onOpenChange, direction: drawerDirection, children: /* @__PURE__ */ jsxs17(DrawerContent, { className: cn("p-0", contentClassName), children: [
5766
5768
  !hideClose ? /* @__PURE__ */ jsx33("div", { className: "absolute right-4 top-4 z-10", children: /* @__PURE__ */ jsx33(DrawerClose, { asChild: true, children: /* @__PURE__ */ jsx33(Button, { variant: "icon-ghost", size: "icon-sm", "aria-label": "Close", children: /* @__PURE__ */ jsx33(X3, { className: "h-4 w-4", "aria-hidden": true }) }) }) }) : null,
5767
- title || description ? /* @__PURE__ */ jsxs18(DrawerHeader, { className: cn("px-6 pt-6 pb-4", headerClassName), children: [
5769
+ title || description ? /* @__PURE__ */ jsxs17(DrawerHeader, { className: cn("px-6 pt-6 pb-4", headerClassName), children: [
5768
5770
  title ? /* @__PURE__ */ jsx33(DrawerTitle, { className: "text-base", children: title }) : null,
5769
5771
  description ? /* @__PURE__ */ jsx33(DrawerDescription, { children: description }) : null
5770
5772
  ] }) : null,
@@ -5777,7 +5779,7 @@ function ResponsiveDialog({
5777
5779
  __name(ResponsiveDialog, "ResponsiveDialog");
5778
5780
 
5779
5781
  // components/ui/command.tsx
5780
- import { jsx as jsx34, jsxs as jsxs19 } from "react/jsx-runtime";
5782
+ import { jsx as jsx34, jsxs as jsxs18 } from "react/jsx-runtime";
5781
5783
  var Command = React23.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx34(
5782
5784
  CommandPrimitive,
5783
5785
  {
@@ -5800,8 +5802,8 @@ function CommandDialog({
5800
5802
  showCloseButton = true,
5801
5803
  ...props
5802
5804
  }) {
5803
- return /* @__PURE__ */ jsxs19(Dialog, { ...props, children: [
5804
- /* @__PURE__ */ jsxs19(DialogHeader, { className: "sr-only", children: [
5805
+ return /* @__PURE__ */ jsxs18(Dialog, { ...props, children: [
5806
+ /* @__PURE__ */ jsxs18(DialogHeader, { className: "sr-only", children: [
5805
5807
  /* @__PURE__ */ jsx34(DialogTitle, { children: title }),
5806
5808
  /* @__PURE__ */ jsx34(DialogDescription, { children: description })
5807
5809
  ] }),
@@ -5823,7 +5825,7 @@ function CommandDialog({
5823
5825
  ] });
5824
5826
  }
5825
5827
  __name(CommandDialog, "CommandDialog");
5826
- var CommandInput = React23.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxs19(
5828
+ var CommandInput = React23.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxs18(
5827
5829
  "div",
5828
5830
  {
5829
5831
  "data-slot": "command-input-wrapper",
@@ -5922,7 +5924,7 @@ function CommandShortcut({ className, ...props }) {
5922
5924
  __name(CommandShortcut, "CommandShortcut");
5923
5925
 
5924
5926
  // components/ui/combobox.tsx
5925
- import { jsx as jsx35, jsxs as jsxs20 } from "react/jsx-runtime";
5927
+ import { jsx as jsx35, jsxs as jsxs19 } from "react/jsx-runtime";
5926
5928
  function Combobox({
5927
5929
  value,
5928
5930
  onChange,
@@ -5948,8 +5950,8 @@ function Combobox({
5948
5950
  },
5949
5951
  [clearable, clearLabel, onChange]
5950
5952
  );
5951
- return /* @__PURE__ */ jsxs20(Popover, { open, onOpenChange: setOpen, children: [
5952
- /* @__PURE__ */ jsx35(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxs20(
5953
+ return /* @__PURE__ */ jsxs19(Popover, { open, onOpenChange: setOpen, children: [
5954
+ /* @__PURE__ */ jsx35(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxs19(
5953
5955
  Button,
5954
5956
  {
5955
5957
  variant: "outline",
@@ -5975,16 +5977,16 @@ function Combobox({
5975
5977
  {
5976
5978
  className: cn("w-[--radix-popover-trigger-width] p-0", contentClassName),
5977
5979
  align: "start",
5978
- children: /* @__PURE__ */ jsxs20(Command, { children: [
5980
+ children: /* @__PURE__ */ jsxs19(Command, { children: [
5979
5981
  /* @__PURE__ */ jsx35(CommandInput, { placeholder: searchPlaceholder }),
5980
- /* @__PURE__ */ jsxs20(CommandList, { children: [
5982
+ /* @__PURE__ */ jsxs19(CommandList, { children: [
5981
5983
  /* @__PURE__ */ jsx35(CommandEmpty, { children: emptyMessage }),
5982
- /* @__PURE__ */ jsxs20(CommandGroup, { children: [
5983
- clearable && value ? /* @__PURE__ */ jsxs20(CommandItem, { value: "__clear__", onSelect: () => handleSelect("__clear__"), children: [
5984
+ /* @__PURE__ */ jsxs19(CommandGroup, { children: [
5985
+ clearable && value ? /* @__PURE__ */ jsxs19(CommandItem, { value: "__clear__", onSelect: () => handleSelect("__clear__"), children: [
5984
5986
  /* @__PURE__ */ jsx35("span", { className: "mr-2 h-4 w-4 shrink-0", "aria-hidden": true }),
5985
5987
  clearLabel
5986
5988
  ] }) : null,
5987
- options.map((opt) => /* @__PURE__ */ jsxs20(
5989
+ options.map((opt) => /* @__PURE__ */ jsxs19(
5988
5990
  CommandItem,
5989
5991
  {
5990
5992
  value: opt.label,
@@ -6017,7 +6019,7 @@ __name(Combobox, "Combobox");
6017
6019
  // components/ui/menubar.tsx
6018
6020
  import * as MenubarPrimitive from "@radix-ui/react-menubar";
6019
6021
  import { Check as Check3, ChevronRight as ChevronRight5 } from "lucide-react";
6020
- import { jsx as jsx36, jsxs as jsxs21 } from "react/jsx-runtime";
6022
+ import { jsx as jsx36, jsxs as jsxs20 } from "react/jsx-runtime";
6021
6023
  var Menubar = MenubarPrimitive.Root;
6022
6024
  var MenubarMenu = MenubarPrimitive.Menu;
6023
6025
  var MenubarTrigger = MenubarPrimitive.Trigger;
@@ -6086,7 +6088,7 @@ function MenubarCheckboxItem({
6086
6088
  checked,
6087
6089
  ...props
6088
6090
  }) {
6089
- return /* @__PURE__ */ jsxs21(
6091
+ return /* @__PURE__ */ jsxs20(
6090
6092
  MenubarPrimitive.CheckboxItem,
6091
6093
  {
6092
6094
  "data-slot": "menubar-checkbox-item",
@@ -6111,7 +6113,7 @@ function MenubarRadioItem({
6111
6113
  children,
6112
6114
  ...props
6113
6115
  }) {
6114
- return /* @__PURE__ */ jsxs21(
6116
+ return /* @__PURE__ */ jsxs20(
6115
6117
  MenubarPrimitive.RadioItem,
6116
6118
  {
6117
6119
  "data-slot": "menubar-radio-item",
@@ -6190,7 +6192,7 @@ function MenubarSubTrigger({
6190
6192
  children,
6191
6193
  ...props
6192
6194
  }) {
6193
- return /* @__PURE__ */ jsxs21(
6195
+ return /* @__PURE__ */ jsxs20(
6194
6196
  MenubarPrimitive.SubTrigger,
6195
6197
  {
6196
6198
  "data-slot": "menubar-sub-trigger",
@@ -6238,7 +6240,7 @@ __name(MenubarSubContent, "MenubarSubContent");
6238
6240
  // components/ui/context-menu.tsx
6239
6241
  import * as ContextMenuPrimitive from "@radix-ui/react-context-menu";
6240
6242
  import { Check as Check4, ChevronRight as ChevronRight6 } from "lucide-react";
6241
- import { jsx as jsx37, jsxs as jsxs22 } from "react/jsx-runtime";
6243
+ import { jsx as jsx37, jsxs as jsxs21 } from "react/jsx-runtime";
6242
6244
  var ContextMenu = ContextMenuPrimitive.Root;
6243
6245
  var ContextMenuTrigger = ContextMenuPrimitive.Trigger;
6244
6246
  var ContextMenuGroup = ContextMenuPrimitive.Group;
@@ -6300,7 +6302,7 @@ function ContextMenuCheckboxItem({
6300
6302
  checked,
6301
6303
  ...props
6302
6304
  }) {
6303
- return /* @__PURE__ */ jsxs22(
6305
+ return /* @__PURE__ */ jsxs21(
6304
6306
  ContextMenuPrimitive.CheckboxItem,
6305
6307
  {
6306
6308
  "data-slot": "context-menu-checkbox-item",
@@ -6325,7 +6327,7 @@ function ContextMenuRadioItem({
6325
6327
  children,
6326
6328
  ...props
6327
6329
  }) {
6328
- return /* @__PURE__ */ jsxs22(
6330
+ return /* @__PURE__ */ jsxs21(
6329
6331
  ContextMenuPrimitive.RadioItem,
6330
6332
  {
6331
6333
  "data-slot": "context-menu-radio-item",
@@ -6404,7 +6406,7 @@ function ContextMenuSubTrigger({
6404
6406
  children,
6405
6407
  ...props
6406
6408
  }) {
6407
- return /* @__PURE__ */ jsxs22(
6409
+ return /* @__PURE__ */ jsxs21(
6408
6410
  ContextMenuPrimitive.SubTrigger,
6409
6411
  {
6410
6412
  "data-slot": "context-menu-sub-trigger",
@@ -6455,7 +6457,7 @@ import Image3 from "next/image";
6455
6457
  import { Check as Check5, CircleCheck, ChevronDown as ChevronDown4, X as X4 } from "lucide-react";
6456
6458
  import { Menu as Menu2, MenuButton, MenuItem, MenuItems, Transition } from "@headlessui/react";
6457
6459
  import * as DropdownMenuPrimitive from "@radix-ui/react-dropdown-menu";
6458
- import { Fragment as Fragment3, jsx as jsx38, jsxs as jsxs23 } from "react/jsx-runtime";
6460
+ import { Fragment as Fragment3, jsx as jsx38, jsxs as jsxs22 } from "react/jsx-runtime";
6459
6461
  function DropdownSelect({
6460
6462
  value,
6461
6463
  options,
@@ -6480,8 +6482,8 @@ function DropdownSelect({
6480
6482
  const valOpts = labelOptionValue != null ? options.filter((o) => o.value !== labelOptionValue) : options;
6481
6483
  const q = searchQuery.trim().toLowerCase();
6482
6484
  const filtered = searchable && q ? valOpts.filter((o) => o.label.toLowerCase().includes(q)) : valOpts;
6483
- const content = /* @__PURE__ */ jsx38("div", { className: "font-medium text-sm text-muted-foreground", children: optionVariant === "checkbox" && labelOpt ? /* @__PURE__ */ jsxs23(Fragment3, { children: [
6484
- /* @__PURE__ */ jsxs23(
6485
+ const content = /* @__PURE__ */ jsx38("div", { className: "font-medium text-sm text-muted-foreground", children: optionVariant === "checkbox" && labelOpt ? /* @__PURE__ */ jsxs22(Fragment3, { children: [
6486
+ /* @__PURE__ */ jsxs22(
6485
6487
  "div",
6486
6488
  {
6487
6489
  role: "option",
@@ -6505,7 +6507,7 @@ function DropdownSelect({
6505
6507
  }
6506
6508
  ),
6507
6509
  searchable ? /* @__PURE__ */ jsx38("div", { className: "mb-1 px-1", children: /* @__PURE__ */ jsx38("input", { type: "text", value: searchQuery, onChange: (e) => setSearchQuery(e.target.value), placeholder: searchPlaceholder, className: "h-8 w-full rounded-md border border-input bg-field px-2.5 text-sm text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:border-foreground/40", onKeyDown: (e) => e.stopPropagation() }) }) : null,
6508
- filtered.map((opt) => /* @__PURE__ */ jsxs23("div", { role: "option", "aria-selected": opt.value === value, tabIndex: 0, onClick: () => onChange(opt.value), onKeyDown: (e) => {
6510
+ filtered.map((opt) => /* @__PURE__ */ jsxs22("div", { role: "option", "aria-selected": opt.value === value, tabIndex: 0, onClick: () => onChange(opt.value), onKeyDown: (e) => {
6509
6511
  if (e.key === "Enter" || e.key === " ") {
6510
6512
  e.preventDefault();
6511
6513
  onChange(opt.value);
@@ -6514,13 +6516,13 @@ function DropdownSelect({
6514
6516
  /* @__PURE__ */ jsx38(Checkbox, { checked: opt.value === value, className: "pointer-events-none shrink-0", "aria-hidden": true }),
6515
6517
  /* @__PURE__ */ jsx38("span", { className: "truncate", children: opt.label })
6516
6518
  ] }, opt.value))
6517
- ] }) : options.map((opt) => /* @__PURE__ */ jsxs23("button", { type: "button", onClick: () => onChange(opt.value), className: cn("flex w-full items-center gap-2 rounded-md px-2.5 py-2 text-left transition-colors hover:bg-background hover:text-foreground", opt.value === value && "text-primary"), children: [
6519
+ ] }) : options.map((opt) => /* @__PURE__ */ jsxs22("button", { type: "button", onClick: () => onChange(opt.value), className: cn("flex w-full items-center gap-2 rounded-md px-2.5 py-2 text-left transition-colors hover:bg-background hover:text-foreground", opt.value === value && "text-primary"), children: [
6518
6520
  /* @__PURE__ */ jsx38(CircleCheck, { className: cn("h-4 w-4 shrink-0", opt.value === value ? "text-foreground" : "invisible"), "aria-hidden": true }),
6519
6521
  /* @__PURE__ */ jsx38("span", { className: "truncate", children: opt.label })
6520
6522
  ] }, opt.value)) });
6521
- return /* @__PURE__ */ jsxs23(Popover, { children: [
6522
- /* @__PURE__ */ jsx38(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxs23("button", { type: "button", "aria-label": ariaLabel, className: cn("inline-flex h-9 items-center gap-1.5 rounded-md border bg-transparent px-3 py-1 text-sm transition-colors text-left", isActive ? "border-foreground" : "border-input text-muted-foreground hover:text-foreground hover:bg-background", "focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring", "data-[state=open]:ring-0 data-[state=open]:ring-offset-0", fullWidth ? "w-full min-w-0" : "min-w-0", className), children: [
6523
- /* @__PURE__ */ jsxs23("span", { className: "flex min-w-0 shrink items-center gap-1.5 truncate", children: [
6523
+ return /* @__PURE__ */ jsxs22(Popover, { children: [
6524
+ /* @__PURE__ */ jsx38(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxs22("button", { type: "button", "aria-label": ariaLabel, className: cn("inline-flex h-9 items-center gap-1.5 rounded-md border bg-transparent px-3 py-1 text-sm transition-colors text-left", isActive ? "border-foreground" : "border-input text-muted-foreground hover:text-foreground hover:bg-background", "focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring", "data-[state=open]:ring-0 data-[state=open]:ring-offset-0", fullWidth ? "w-full min-w-0" : "min-w-0", className), children: [
6525
+ /* @__PURE__ */ jsxs22("span", { className: "flex min-w-0 shrink items-center gap-1.5 truncate", children: [
6524
6526
  buttonLeadingIcon ? /* @__PURE__ */ jsx38("span", { className: "shrink-0 text-muted-foreground", children: buttonLeadingIcon }) : null,
6525
6527
  !filterLabel && selected?.leadingIcon ? /* @__PURE__ */ jsx38("span", { className: "shrink-0", children: selected.leadingIcon }) : null,
6526
6528
  /* @__PURE__ */ jsx38("span", { className: cn("truncate", isActive && "text-foreground"), children: triggerLabel }),
@@ -6550,8 +6552,8 @@ function ClassicDropdown({
6550
6552
  setTriggerWidth(triggerRef.current.offsetWidth);
6551
6553
  }
6552
6554
  }, [selected, options]);
6553
- return /* @__PURE__ */ jsxs23(Popover, { children: [
6554
- /* @__PURE__ */ jsx38(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxs23(
6555
+ return /* @__PURE__ */ jsxs22(Popover, { children: [
6556
+ /* @__PURE__ */ jsx38(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxs22(
6555
6557
  "button",
6556
6558
  {
6557
6559
  ref: triggerRef,
@@ -6567,7 +6569,7 @@ function ClassicDropdown({
6567
6569
  className
6568
6570
  ),
6569
6571
  children: [
6570
- /* @__PURE__ */ jsxs23("span", { className: "flex items-center gap-2", children: [
6572
+ /* @__PURE__ */ jsxs22("span", { className: "flex items-center gap-2", children: [
6571
6573
  buttonLeadingIcon ? /* @__PURE__ */ jsx38("span", { className: "shrink-0 text-muted-foreground", children: buttonLeadingIcon }) : null,
6572
6574
  selected?.leadingIcon ? /* @__PURE__ */ jsx38("span", { className: "shrink-0", children: selected.leadingIcon }) : null,
6573
6575
  /* @__PURE__ */ jsx38("span", { children: selected?.label })
@@ -6616,7 +6618,7 @@ function DropdownIconMenu({
6616
6618
  children,
6617
6619
  className
6618
6620
  }) {
6619
- return /* @__PURE__ */ jsx38(Menu2, { as: "div", className: cn("relative inline-flex", className), children: ({ open }) => /* @__PURE__ */ jsxs23(Fragment3, { children: [
6621
+ return /* @__PURE__ */ jsx38(Menu2, { as: "div", className: cn("relative inline-flex", className), children: ({ open }) => /* @__PURE__ */ jsxs22(Fragment3, { children: [
6620
6622
  /* @__PURE__ */ jsx38(
6621
6623
  MenuButton,
6622
6624
  {
@@ -6747,7 +6749,7 @@ function DropdownMenuItem({ className, inset, variant = "default", ...props }) {
6747
6749
  }
6748
6750
  __name(DropdownMenuItem, "DropdownMenuItem");
6749
6751
  function DropdownMenuCheckboxItem({ className, children, checked, ...props }) {
6750
- return /* @__PURE__ */ jsxs23(
6752
+ return /* @__PURE__ */ jsxs22(
6751
6753
  DropdownMenuPrimitive.CheckboxItem,
6752
6754
  {
6753
6755
  "data-slot": "dropdown-menu-checkbox-item",
@@ -6772,7 +6774,7 @@ function DropdownMenuRadioGroup({ ...props }) {
6772
6774
  }
6773
6775
  __name(DropdownMenuRadioGroup, "DropdownMenuRadioGroup");
6774
6776
  function DropdownMenuRadioItem({ className, children, ...props }) {
6775
- return /* @__PURE__ */ jsxs23(
6777
+ return /* @__PURE__ */ jsxs22(
6776
6778
  DropdownMenuPrimitive.RadioItem,
6777
6779
  {
6778
6780
  "data-slot": "dropdown-menu-radio-item",
@@ -6811,7 +6813,7 @@ function DropdownMenuSub({ ...props }) {
6811
6813
  }
6812
6814
  __name(DropdownMenuSub, "DropdownMenuSub");
6813
6815
  function DropdownMenuSubTrigger({ className, inset, children, ...props }) {
6814
- return /* @__PURE__ */ jsxs23(
6816
+ return /* @__PURE__ */ jsxs22(
6815
6817
  DropdownMenuPrimitive.SubTrigger,
6816
6818
  {
6817
6819
  "data-slot": "dropdown-menu-sub-trigger",
@@ -6871,9 +6873,9 @@ function DropdownProfile({
6871
6873
  className
6872
6874
  }) {
6873
6875
  const initials = getInitials(name);
6874
- return /* @__PURE__ */ jsx38(Menu2, { as: "div", className: cn("relative inline-flex", className), children: ({ open }) => /* @__PURE__ */ jsxs23(Fragment3, { children: [
6876
+ return /* @__PURE__ */ jsx38(Menu2, { as: "div", className: cn("relative inline-flex", className), children: ({ open }) => /* @__PURE__ */ jsxs22(Fragment3, { children: [
6875
6877
  /* @__PURE__ */ jsx38(MenuButton, { className: "inline-flex justify-center items-center group cursor-pointer", children: /* @__PURE__ */ jsx38("div", { className: "w-8 h-8 rounded-full bg-primary flex items-center justify-center", children: /* @__PURE__ */ jsx38("span", { className: "text-xs font-medium text-primary-foreground", children: initials }) }) }),
6876
- /* @__PURE__ */ jsxs23(
6878
+ /* @__PURE__ */ jsxs22(
6877
6879
  Transition,
6878
6880
  {
6879
6881
  as: "div",
@@ -6888,7 +6890,7 @@ function DropdownProfile({
6888
6890
  leaveFrom: "opacity-100",
6889
6891
  leaveTo: "opacity-0",
6890
6892
  children: [
6891
- /* @__PURE__ */ jsxs23("div", { className: "pt-0.5 pb-2 px-3 mb-1 border-b border-border", children: [
6893
+ /* @__PURE__ */ jsxs22("div", { className: "pt-0.5 pb-2 px-3 mb-1 border-b border-border", children: [
6892
6894
  /* @__PURE__ */ jsx38("div", { className: "font-medium text-foreground", children: name }),
6893
6895
  /* @__PURE__ */ jsx38("div", { className: "text-xs text-muted-foreground italic", children: role })
6894
6896
  ] }),
@@ -6912,9 +6914,9 @@ function DropdownProfile({
6912
6914
  __name(DropdownProfile, "DropdownProfile");
6913
6915
 
6914
6916
  // components/ui/logo.tsx
6915
- import { jsx as jsx39, jsxs as jsxs24 } from "react/jsx-runtime";
6917
+ import { jsx as jsx39, jsxs as jsxs23 } from "react/jsx-runtime";
6916
6918
  function Logo({ className, ariaLabel = "Logo" } = {}) {
6917
- return /* @__PURE__ */ jsx39("span", { className: cn("inline-flex", className), children: /* @__PURE__ */ jsxs24(
6919
+ return /* @__PURE__ */ jsx39("span", { className: cn("inline-flex", className), children: /* @__PURE__ */ jsxs23(
6918
6920
  "svg",
6919
6921
  {
6920
6922
  width: "60",
@@ -6926,7 +6928,7 @@ function Logo({ className, ariaLabel = "Logo" } = {}) {
6926
6928
  "aria-label": ariaLabel,
6927
6929
  role: "img",
6928
6930
  children: [
6929
- /* @__PURE__ */ jsxs24("g", { clipPath: "url(#clip0_4002_249)", children: [
6931
+ /* @__PURE__ */ jsxs23("g", { clipPath: "url(#clip0_4002_249)", children: [
6930
6932
  /* @__PURE__ */ jsx39(
6931
6933
  "path",
6932
6934
  {
@@ -6964,8 +6966,8 @@ function Logo({ className, ariaLabel = "Logo" } = {}) {
6964
6966
  }
6965
6967
  )
6966
6968
  ] }),
6967
- /* @__PURE__ */ jsxs24("defs", { children: [
6968
- /* @__PURE__ */ jsxs24("linearGradient", { id: "paint0_linear_logo", x1: "42.2949", y1: "0", x2: "42.2949", y2: "32", gradientUnits: "userSpaceOnUse", children: [
6969
+ /* @__PURE__ */ jsxs23("defs", { children: [
6970
+ /* @__PURE__ */ jsxs23("linearGradient", { id: "paint0_linear_logo", x1: "42.2949", y1: "0", x2: "42.2949", y2: "32", gradientUnits: "userSpaceOnUse", children: [
6969
6971
  /* @__PURE__ */ jsx39("stop", { stopColor: "currentColor" }),
6970
6972
  /* @__PURE__ */ jsx39("stop", { offset: "1", stopColor: "currentColor", stopOpacity: "0.32" })
6971
6973
  ] }),
@@ -6979,7 +6981,7 @@ __name(Logo, "Logo");
6979
6981
 
6980
6982
  // components/ui/sidebar.tsx
6981
6983
  import * as React26 from "react";
6982
- import { jsx as jsx40, jsxs as jsxs25 } from "react/jsx-runtime";
6984
+ import { jsx as jsx40, jsxs as jsxs24 } from "react/jsx-runtime";
6983
6985
  function SidebarLink({
6984
6986
  children,
6985
6987
  href,
@@ -6988,7 +6990,7 @@ function SidebarLink({
6988
6990
  onClick,
6989
6991
  className
6990
6992
  }) {
6991
- return /* @__PURE__ */ jsxs25(
6993
+ return /* @__PURE__ */ jsxs24(
6992
6994
  "a",
6993
6995
  {
6994
6996
  href,
@@ -7020,7 +7022,7 @@ function SidebarMenuButton({
7020
7022
  className,
7021
7023
  ...props
7022
7024
  }) {
7023
- return /* @__PURE__ */ jsxs25(
7025
+ return /* @__PURE__ */ jsxs24(
7024
7026
  "button",
7025
7027
  {
7026
7028
  type: "button",
@@ -7080,7 +7082,7 @@ function Sidebar({
7080
7082
  const widthClasses = collapsible === "icon" ? "w-64 lg:w-14 lg:hover:w-64" : "w-64";
7081
7083
  const mobilePosition = side === "left" ? "left-0" : "right-0";
7082
7084
  const mobileClosedTranslate = side === "left" ? "-translate-x-full" : "translate-x-full";
7083
- return /* @__PURE__ */ jsxs25("div", { className: cn("min-w-fit", className), "data-variant": variant, "data-collapsible": collapsible, "data-side": side, children: [
7085
+ return /* @__PURE__ */ jsxs24("div", { className: cn("min-w-fit", className), "data-variant": variant, "data-collapsible": collapsible, "data-side": side, children: [
7084
7086
  showBackdrop ? /* @__PURE__ */ jsx40(
7085
7087
  "div",
7086
7088
  {
@@ -7092,7 +7094,7 @@ function Sidebar({
7092
7094
  onClick: () => onOpenChange(false)
7093
7095
  }
7094
7096
  ) : null,
7095
- /* @__PURE__ */ jsxs25(
7097
+ /* @__PURE__ */ jsxs24(
7096
7098
  "div",
7097
7099
  {
7098
7100
  ref: sidebarRef,
@@ -7216,7 +7218,7 @@ __name(SidebarSeparator, "SidebarSeparator");
7216
7218
 
7217
7219
  // components/ui/alert-dialog.tsx
7218
7220
  import * as AlertDialogPrimitive from "@radix-ui/react-alert-dialog";
7219
- import { jsx as jsx41, jsxs as jsxs26 } from "react/jsx-runtime";
7221
+ import { jsx as jsx41, jsxs as jsxs25 } from "react/jsx-runtime";
7220
7222
  function AlertDialog({ ...props }) {
7221
7223
  return /* @__PURE__ */ jsx41(AlertDialogPrimitive.Root, { "data-slot": "alert-dialog", ...props });
7222
7224
  }
@@ -7247,7 +7249,7 @@ function AlertDialogOverlay({ className, ...props }) {
7247
7249
  }
7248
7250
  __name(AlertDialogOverlay, "AlertDialogOverlay");
7249
7251
  function AlertDialogContent({ className, children, ...props }) {
7250
- return /* @__PURE__ */ jsxs26(AlertDialogPortal, { children: [
7252
+ return /* @__PURE__ */ jsxs25(AlertDialogPortal, { children: [
7251
7253
  /* @__PURE__ */ jsx41(AlertDialogOverlay, {}),
7252
7254
  /* @__PURE__ */ jsx41(
7253
7255
  AlertDialogPrimitive.Content,
@@ -7350,7 +7352,7 @@ __name(AlertDialogCancel, "AlertDialogCancel");
7350
7352
 
7351
7353
  // components/ui/modal.tsx
7352
7354
  import { X as X5 } from "lucide-react";
7353
- import { jsx as jsx42, jsxs as jsxs27 } from "react/jsx-runtime";
7355
+ import { jsx as jsx42, jsxs as jsxs26 } from "react/jsx-runtime";
7354
7356
  function Modal({
7355
7357
  open,
7356
7358
  onOpenChange,
@@ -7367,14 +7369,14 @@ function Modal({
7367
7369
  headerClassName
7368
7370
  }) {
7369
7371
  const maxW = size === "sm" ? "max-w-sm" : size === "lg" ? "max-w-2xl" : size === "xl" ? "max-w-4xl" : "max-w-lg";
7370
- return /* @__PURE__ */ jsx42(Dialog, { open, onOpenChange, children: /* @__PURE__ */ jsxs27(
7372
+ return /* @__PURE__ */ jsx42(Dialog, { open, onOpenChange, children: /* @__PURE__ */ jsxs26(
7371
7373
  DialogContent,
7372
7374
  {
7373
7375
  className: cn("p-0 overflow-hidden", maxW, className, panelClassName),
7374
7376
  showCloseButton: false,
7375
7377
  children: [
7376
- title || description || !hideClose ? /* @__PURE__ */ jsx42(DialogHeader, { className: cn("px-5 py-4", headerClassName), children: /* @__PURE__ */ jsxs27("div", { className: "flex items-start justify-between gap-4", children: [
7377
- /* @__PURE__ */ jsxs27("div", { className: "min-w-0", children: [
7378
+ title || description || !hideClose ? /* @__PURE__ */ jsx42(DialogHeader, { className: cn("px-5 py-4", headerClassName), children: /* @__PURE__ */ jsxs26("div", { className: "flex items-start justify-between gap-4", children: [
7379
+ /* @__PURE__ */ jsxs26("div", { className: "min-w-0", children: [
7378
7380
  title ? /* @__PURE__ */ jsx42(DialogTitle, { className: "text-base font-semibold text-foreground", children: title }) : null,
7379
7381
  description ? /* @__PURE__ */ jsx42(DialogDescription, { className: "mt-1", children: description }) : null
7380
7382
  ] }),
@@ -7393,7 +7395,7 @@ __name(Modal, "Modal");
7393
7395
  // components/ui/sheet.tsx
7394
7396
  import * as DialogPrimitive2 from "@radix-ui/react-dialog";
7395
7397
  import { X as X6 } from "lucide-react";
7396
- import { jsx as jsx43, jsxs as jsxs28 } from "react/jsx-runtime";
7398
+ import { jsx as jsx43, jsxs as jsxs27 } from "react/jsx-runtime";
7397
7399
  function Sheet({ ...props }) {
7398
7400
  return /* @__PURE__ */ jsx43(DialogPrimitive2.Root, { "data-slot": "sheet", ...props });
7399
7401
  }
@@ -7449,9 +7451,9 @@ function SheetContent({
7449
7451
  top: "data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top",
7450
7452
  bottom: "data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom"
7451
7453
  };
7452
- return /* @__PURE__ */ jsxs28(SheetPortal, { children: [
7454
+ return /* @__PURE__ */ jsxs27(SheetPortal, { children: [
7453
7455
  /* @__PURE__ */ jsx43(SheetOverlay, {}),
7454
- /* @__PURE__ */ jsxs28(
7456
+ /* @__PURE__ */ jsxs27(
7455
7457
  DialogPrimitive2.Content,
7456
7458
  {
7457
7459
  "data-slot": "sheet-content",
@@ -7468,7 +7470,7 @@ function SheetContent({
7468
7470
  ...props,
7469
7471
  children: [
7470
7472
  children,
7471
- showCloseButton ? /* @__PURE__ */ jsxs28(
7473
+ showCloseButton ? /* @__PURE__ */ jsxs27(
7472
7474
  DialogPrimitive2.Close,
7473
7475
  {
7474
7476
  "data-slot": "sheet-close",
@@ -7660,9 +7662,9 @@ function HoverCardContent({ className, align = "center", sideOffset = 8, ...prop
7660
7662
  __name(HoverCardContent, "HoverCardContent");
7661
7663
 
7662
7664
  // components/ui/card-decorator.tsx
7663
- import { jsx as jsx46, jsxs as jsxs29 } from "react/jsx-runtime";
7665
+ import { jsx as jsx46, jsxs as jsxs28 } from "react/jsx-runtime";
7664
7666
  function CardDecorator({ className, children, ...props }) {
7665
- return /* @__PURE__ */ jsxs29(
7667
+ return /* @__PURE__ */ jsxs28(
7666
7668
  "div",
7667
7669
  {
7668
7670
  "data-slot": "card-decorator",
@@ -7757,7 +7759,7 @@ Progress.displayName = "Progress";
7757
7759
  // components/ui/slider.tsx
7758
7760
  import * as React28 from "react";
7759
7761
  import * as SliderPrimitive from "@radix-ui/react-slider";
7760
- import { jsx as jsx48, jsxs as jsxs30 } from "react/jsx-runtime";
7762
+ import { jsx as jsx48, jsxs as jsxs29 } from "react/jsx-runtime";
7761
7763
  var trackSizeClasses = {
7762
7764
  horizontal: { sm: "h-2", md: "h-2.5", lg: "h-3" },
7763
7765
  vertical: { sm: "w-2", md: "w-2.5", lg: "w-3" }
@@ -7820,13 +7822,13 @@ var Slider = React28.forwardRef(
7820
7822
  const rangeBase = orientation === "vertical" ? "absolute w-full rounded-full" : "absolute h-full rounded-full";
7821
7823
  const marksLabelContainer = orientation === "vertical" ? "relative h-full ml-3" : "relative w-full mt-2";
7822
7824
  const marksLabelText = orientation === "vertical" ? "absolute -translate-y-1/2 text-xs text-muted-foreground" : "absolute -translate-x-1/2 text-xs text-muted-foreground";
7823
- return /* @__PURE__ */ jsxs30(
7825
+ return /* @__PURE__ */ jsxs29(
7824
7826
  "div",
7825
7827
  {
7826
7828
  "data-slot": "slider-wrapper",
7827
7829
  className: cn(orientation === "vertical" ? "flex h-full items-start gap-3" : "w-full"),
7828
7830
  children: [
7829
- /* @__PURE__ */ jsxs30(
7831
+ /* @__PURE__ */ jsxs29(
7830
7832
  SliderPrimitive.Root,
7831
7833
  {
7832
7834
  ref,
@@ -7954,7 +7956,7 @@ var Skeleton = React29.forwardRef(
7954
7956
  Skeleton.displayName = "Skeleton";
7955
7957
 
7956
7958
  // components/ui/loading-spinner.tsx
7957
- import { jsx as jsx50, jsxs as jsxs31 } from "react/jsx-runtime";
7959
+ import { jsx as jsx50, jsxs as jsxs30 } from "react/jsx-runtime";
7958
7960
  var sizeClasses6 = {
7959
7961
  xs: "h-3 w-3",
7960
7962
  sm: "h-4 w-4",
@@ -7974,8 +7976,8 @@ function LoadingSpinner({
7974
7976
  className,
7975
7977
  text
7976
7978
  }) {
7977
- return /* @__PURE__ */ jsx50("div", { className: cn("flex items-center justify-center", className), children: /* @__PURE__ */ jsxs31("div", { className: "flex items-center space-x-2", children: [
7978
- /* @__PURE__ */ jsxs31(
7979
+ return /* @__PURE__ */ jsx50("div", { className: cn("flex items-center justify-center", className), children: /* @__PURE__ */ jsxs30("div", { className: "flex items-center space-x-2", children: [
7980
+ /* @__PURE__ */ jsxs30(
7979
7981
  "svg",
7980
7982
  {
7981
7983
  className: cn("animate-spin", sizeClasses6[size], variantClasses[variant]),
@@ -7992,7 +7994,7 @@ function LoadingSpinner({
7992
7994
  }
7993
7995
  __name(LoadingSpinner, "LoadingSpinner");
7994
7996
  function CardSkeleton({ className }) {
7995
- return /* @__PURE__ */ jsxs31(
7997
+ return /* @__PURE__ */ jsxs30(
7996
7998
  "div",
7997
7999
  {
7998
8000
  "data-slot": "card-skeleton",
@@ -8002,7 +8004,7 @@ function CardSkeleton({ className }) {
8002
8004
  /* @__PURE__ */ jsx50(Skeleton, { className: "h-4 w-3/4" }),
8003
8005
  /* @__PURE__ */ jsx50(Skeleton, { className: "h-4 w-1/2 mt-2", tone: "accent" }),
8004
8006
  /* @__PURE__ */ jsx50(Skeleton, { className: "mt-4 h-40 w-full", radius: "lg" }),
8005
- /* @__PURE__ */ jsxs31("div", { className: "mt-4 flex items-center gap-2", children: [
8007
+ /* @__PURE__ */ jsxs30("div", { className: "mt-4 flex items-center gap-2", children: [
8006
8008
  /* @__PURE__ */ jsx50(Skeleton, { className: "h-9 w-24", radius: "md" }),
8007
8009
  /* @__PURE__ */ jsx50(Skeleton, { className: "h-9 w-20", radius: "md", tone: "accent" })
8008
8010
  ] })
@@ -8012,7 +8014,7 @@ function CardSkeleton({ className }) {
8012
8014
  }
8013
8015
  __name(CardSkeleton, "CardSkeleton");
8014
8016
  function TableSkeleton({ rows = 5, columns = 4 }) {
8015
- return /* @__PURE__ */ jsxs31("div", { className: "rounded-xl border border-border bg-card overflow-hidden", "aria-busy": "true", children: [
8017
+ return /* @__PURE__ */ jsxs30("div", { className: "rounded-xl border border-border bg-card overflow-hidden", "aria-busy": "true", children: [
8016
8018
  /* @__PURE__ */ jsx50("div", { className: "px-6 py-3 border-b border-border", children: /* @__PURE__ */ jsx50("div", { className: "flex gap-4", children: Array.from({ length: columns }).map((_, i) => /* @__PURE__ */ jsx50(Skeleton, { className: "h-4 flex-1" }, i)) }) }),
8017
8019
  Array.from({ length: rows }).map((_, rowIndex) => /* @__PURE__ */ jsx50("div", { className: "px-6 py-4 border-b border-border last:border-b-0", children: /* @__PURE__ */ jsx50("div", { className: "flex gap-4", children: Array.from({ length: columns }).map((_2, colIndex) => /* @__PURE__ */ jsx50(Skeleton, { className: "h-4 flex-1" }, colIndex)) }) }, rowIndex))
8018
8020
  ] });
@@ -8021,7 +8023,7 @@ __name(TableSkeleton, "TableSkeleton");
8021
8023
 
8022
8024
  // components/ui/error-boundary.tsx
8023
8025
  import React30 from "react";
8024
- import { jsx as jsx51, jsxs as jsxs32 } from "react/jsx-runtime";
8026
+ import { jsx as jsx51, jsxs as jsxs31 } from "react/jsx-runtime";
8025
8027
  var ErrorBoundary = class extends React30.Component {
8026
8028
  static {
8027
8029
  __name(this, "ErrorBoundary");
@@ -8054,7 +8056,7 @@ var ErrorBoundary = class extends React30.Component {
8054
8056
  const Fallback2 = this.props.fallback;
8055
8057
  return /* @__PURE__ */ jsx51(Fallback2, { error: this.state.error, resetError: this.resetError });
8056
8058
  }
8057
- return /* @__PURE__ */ jsxs32("div", { className: "rounded-lg border border-destructive bg-destructive/10 p-4", children: [
8059
+ return /* @__PURE__ */ jsxs31("div", { className: "rounded-lg border border-destructive bg-destructive/10 p-4", children: [
8058
8060
  /* @__PURE__ */ jsx51("h3", { className: "text-sm font-semibold text-destructive mb-2", children: "Theme Error" }),
8059
8061
  /* @__PURE__ */ jsx51("p", { className: "text-sm text-muted-foreground mb-4", children: this.state.error?.message || "An error occurred while applying the theme" }),
8060
8062
  /* @__PURE__ */ jsx51(Button, { onClick: this.resetError, size: "sm", variant: "outline", children: "Try Again" })
@@ -8067,7 +8069,7 @@ function ErrorFallback({
8067
8069
  error,
8068
8070
  resetError
8069
8071
  }) {
8070
- return /* @__PURE__ */ jsxs32("div", { className: "rounded-lg border border-destructive bg-destructive/10 p-4", children: [
8072
+ return /* @__PURE__ */ jsxs31("div", { className: "rounded-lg border border-destructive bg-destructive/10 p-4", children: [
8071
8073
  /* @__PURE__ */ jsx51("h3", { className: "text-sm font-semibold text-destructive mb-2", children: "Something went wrong" }),
8072
8074
  /* @__PURE__ */ jsx51("p", { className: "text-sm text-muted-foreground mb-4", children: error?.message || "An unexpected error occurred" }),
8073
8075
  /* @__PURE__ */ jsx51(Button, { onClick: resetError, size: "sm", variant: "outline", children: "Try Again" })
@@ -8095,16 +8097,16 @@ __name(useErrorHandler, "useErrorHandler");
8095
8097
  import * as React31 from "react";
8096
8098
  import { ChevronDown as ChevronDown5 } from "lucide-react";
8097
8099
  import { DayPicker, UI } from "react-day-picker";
8098
- import { jsx as jsx52, jsxs as jsxs33 } from "react/jsx-runtime";
8100
+ import { jsx as jsx52, jsxs as jsxs32 } from "react/jsx-runtime";
8099
8101
  function CalendarDropdown(props) {
8100
8102
  const { options, className, components, classNames, ...selectProps } = props;
8101
8103
  const selectedOption = options?.find(({ value }) => value === selectProps.value);
8102
8104
  const cssClassSelect = [classNames[UI.Dropdown], className].filter(Boolean).join(" ");
8103
8105
  const Select2 = components.Select;
8104
8106
  const Option = components.Option;
8105
- return /* @__PURE__ */ jsxs33("span", { "data-disabled": selectProps.disabled, className: classNames[UI.DropdownRoot], children: [
8107
+ return /* @__PURE__ */ jsxs32("span", { "data-disabled": selectProps.disabled, className: classNames[UI.DropdownRoot], children: [
8106
8108
  React31.createElement(Select2, { className: cssClassSelect, ...selectProps }, options?.map(({ value, label, disabled }) => React31.createElement(Option, { key: value, value, disabled }, label))),
8107
- /* @__PURE__ */ jsxs33("span", { className: classNames[UI.CaptionLabel], "aria-hidden": "true", children: [
8109
+ /* @__PURE__ */ jsxs32("span", { className: classNames[UI.CaptionLabel], "aria-hidden": "true", children: [
8108
8110
  selectedOption?.label,
8109
8111
  /* @__PURE__ */ jsx52(ChevronDown5, { className: "size-3 shrink-0 opacity-40 text-muted-foreground" })
8110
8112
  ] })
@@ -9772,7 +9774,7 @@ __name(cleanEscapedString, "cleanEscapedString");
9772
9774
 
9773
9775
  // components/ui/datepicker.tsx
9774
9776
  import { Calendar as CalendarIcon } from "lucide-react";
9775
- import { Fragment as Fragment4, jsx as jsx53, jsxs as jsxs34 } from "react/jsx-runtime";
9777
+ import { Fragment as Fragment4, jsx as jsx53, jsxs as jsxs33 } from "react/jsx-runtime";
9776
9778
  var triggerButtonClass = "inline-flex items-center gap-2 rounded-lg border border-input bg-field px-3 py-2 text-left text-sm font-normal text-foreground shadow-none transition-colors hover:border-border/80 focus-visible:outline-none focus-visible:ring-0 focus-visible:border-foreground/40 disabled:pointer-events-none disabled:opacity-50 disabled:bg-muted disabled:text-muted-foreground [&_svg]:size-4 [&_svg]:shrink-0";
9777
9779
  function DatePicker({
9778
9780
  value,
@@ -9782,8 +9784,8 @@ function DatePicker({
9782
9784
  className,
9783
9785
  calendarProps
9784
9786
  }) {
9785
- return /* @__PURE__ */ jsxs34(Popover, { children: [
9786
- /* @__PURE__ */ jsx53(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxs34(
9787
+ return /* @__PURE__ */ jsxs33(Popover, { children: [
9788
+ /* @__PURE__ */ jsx53(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxs33(
9787
9789
  "button",
9788
9790
  {
9789
9791
  type: "button",
@@ -9817,7 +9819,7 @@ function DatePickerRange({
9817
9819
  className,
9818
9820
  calendarProps
9819
9821
  }) {
9820
- return /* @__PURE__ */ jsxs34(Popover, { children: [
9822
+ return /* @__PURE__ */ jsxs33(Popover, { children: [
9821
9823
  /* @__PURE__ */ jsx53(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsx53(
9822
9824
  Button,
9823
9825
  {
@@ -9830,7 +9832,7 @@ function DatePickerRange({
9830
9832
  className
9831
9833
  ),
9832
9834
  leadingIcon: /* @__PURE__ */ jsx53(CalendarIcon, { className: "size-4" }),
9833
- children: value?.from ? value.to ? /* @__PURE__ */ jsxs34(Fragment4, { children: [
9835
+ children: value?.from ? value.to ? /* @__PURE__ */ jsxs33(Fragment4, { children: [
9834
9836
  format(value.from, "LLL dd, y"),
9835
9837
  " \u2013 ",
9836
9838
  format(value.to, "LLL dd, y")
@@ -9854,16 +9856,16 @@ function DatePickerRange({
9854
9856
  __name(DatePickerRange, "DatePickerRange");
9855
9857
 
9856
9858
  // components/ui/header.tsx
9857
- import { jsx as jsx54, jsxs as jsxs35 } from "react/jsx-runtime";
9859
+ import { jsx as jsx54, jsxs as jsxs34 } from "react/jsx-runtime";
9858
9860
  function Header({
9859
9861
  variant = "default",
9860
9862
  leftSlot,
9861
9863
  rightSlot
9862
9864
  }) {
9863
9865
  const { sidebarOpen, setSidebarOpen } = useAppProvider();
9864
- return /* @__PURE__ */ jsx54("header", { className: `sticky top-0 before:absolute before:inset-0 before:backdrop-blur-md max-lg:before:bg-background/90 before:-z-10 z-30 ${variant === "v2" || variant === "v3" ? "before:bg-background after:absolute after:h-px after:inset-x-0 after:top-full after:bg-border after:-z-10" : "max-lg:shadow-sm lg:before:bg-muted/90"} ${variant === "v2" ? "" : ""} ${variant === "v3" ? "" : ""}`, children: /* @__PURE__ */ jsx54("div", { className: "px-4 sm:px-6 lg:px-8", children: /* @__PURE__ */ jsxs35("div", { className: `flex items-center justify-between h-16 ${variant === "v2" || variant === "v3" ? "" : "lg:border-b border-border"}`, children: [
9865
- /* @__PURE__ */ jsxs35("div", { className: "flex items-center gap-4", children: [
9866
- /* @__PURE__ */ jsxs35(
9866
+ return /* @__PURE__ */ jsx54("header", { className: `sticky top-0 before:absolute before:inset-0 before:backdrop-blur-md max-lg:before:bg-background/90 before:-z-10 z-30 ${variant === "v2" || variant === "v3" ? "before:bg-background after:absolute after:h-px after:inset-x-0 after:top-full after:bg-border after:-z-10" : "max-lg:shadow-sm lg:before:bg-muted/90"} ${variant === "v2" ? "" : ""} ${variant === "v3" ? "" : ""}`, children: /* @__PURE__ */ jsx54("div", { className: "px-4 sm:px-6 lg:px-8", children: /* @__PURE__ */ jsxs34("div", { className: `flex items-center justify-between h-16 ${variant === "v2" || variant === "v3" ? "" : "lg:border-b border-border"}`, children: [
9867
+ /* @__PURE__ */ jsxs34("div", { className: "flex items-center gap-4", children: [
9868
+ /* @__PURE__ */ jsxs34(
9867
9869
  "button",
9868
9870
  {
9869
9871
  className: "text-muted-foreground hover:text-foreground lg:hidden",
@@ -9872,7 +9874,7 @@ function Header({
9872
9874
  onClick: () => setSidebarOpen(!sidebarOpen),
9873
9875
  children: [
9874
9876
  /* @__PURE__ */ jsx54("span", { className: "sr-only", children: "Open sidebar" }),
9875
- /* @__PURE__ */ jsxs35("svg", { className: "w-6 h-6 fill-current", viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg", children: [
9877
+ /* @__PURE__ */ jsxs34("svg", { className: "w-6 h-6 fill-current", viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg", children: [
9876
9878
  /* @__PURE__ */ jsx54("rect", { x: "4", y: "5", width: "16", height: "2" }),
9877
9879
  /* @__PURE__ */ jsx54("rect", { x: "4", y: "11", width: "16", height: "2" }),
9878
9880
  /* @__PURE__ */ jsx54("rect", { x: "4", y: "17", width: "16", height: "2" })
@@ -9889,10 +9891,10 @@ __name(Header, "Header");
9889
9891
 
9890
9892
  // components/ui/navbar.tsx
9891
9893
  import Link2 from "next/link";
9892
- import { jsx as jsx55, jsxs as jsxs36 } from "react/jsx-runtime";
9894
+ import { jsx as jsx55, jsxs as jsxs35 } from "react/jsx-runtime";
9893
9895
  function Navbar({ brand, links = [], rightSlot, className }) {
9894
- return /* @__PURE__ */ jsx55("div", { className: cn("sticky top-0 z-50 border-b border-border bg-background", className), children: /* @__PURE__ */ jsx55("div", { className: "mx-auto max-w-[1400px] px-4 sm:px-6", children: /* @__PURE__ */ jsxs36("div", { className: "h-14 flex items-center gap-4", children: [
9895
- brand ?? /* @__PURE__ */ jsxs36("div", { className: "flex items-center gap-2 font-semibold text-foreground shrink-0", children: [
9896
+ return /* @__PURE__ */ jsx55("div", { className: cn("sticky top-0 z-50 border-b border-border bg-background", className), children: /* @__PURE__ */ jsx55("div", { className: "mx-auto max-w-[1400px] px-4 sm:px-6", children: /* @__PURE__ */ jsxs35("div", { className: "h-14 flex items-center gap-4", children: [
9897
+ brand ?? /* @__PURE__ */ jsxs35("div", { className: "flex items-center gap-2 font-semibold text-foreground shrink-0", children: [
9896
9898
  /* @__PURE__ */ jsx55(Logo, {}),
9897
9899
  /* @__PURE__ */ jsx55("span", { className: "hidden sm:block", children: "Design System" })
9898
9900
  ] }),
@@ -9911,7 +9913,7 @@ function Navbar({ brand, links = [], rightSlot, className }) {
9911
9913
  __name(Navbar, "Navbar");
9912
9914
 
9913
9915
  // components/ui/tabs.tsx
9914
- import { jsx as jsx56, jsxs as jsxs37 } from "react/jsx-runtime";
9916
+ import { jsx as jsx56, jsxs as jsxs36 } from "react/jsx-runtime";
9915
9917
  function Tabs({
9916
9918
  items,
9917
9919
  value,
@@ -9920,7 +9922,7 @@ function Tabs({
9920
9922
  className
9921
9923
  }) {
9922
9924
  if (variant === "container") {
9923
- return /* @__PURE__ */ jsx56("ul", { className: cn("inline-flex w-fit flex-wrap items-center gap-2", className), children: items.map((item) => /* @__PURE__ */ jsx56("li", { children: /* @__PURE__ */ jsxs37(
9925
+ return /* @__PURE__ */ jsx56("ul", { className: cn("inline-flex w-fit flex-wrap items-center gap-2", className), children: items.map((item) => /* @__PURE__ */ jsx56("li", { children: /* @__PURE__ */ jsxs36(
9924
9926
  "button",
9925
9927
  {
9926
9928
  type: "button",
@@ -9940,7 +9942,7 @@ function Tabs({
9940
9942
  ) }, item.id)) });
9941
9943
  }
9942
9944
  if (variant === "underline") {
9943
- return /* @__PURE__ */ jsxs37("div", { className: cn("relative", className), children: [
9945
+ return /* @__PURE__ */ jsxs36("div", { className: cn("relative", className), children: [
9944
9946
  /* @__PURE__ */ jsx56("div", { className: "absolute bottom-0 w-full h-px bg-border", "aria-hidden": "true" }),
9945
9947
  /* @__PURE__ */ jsx56("ul", { className: "relative text-sm font-medium flex flex-nowrap overflow-x-auto no-scrollbar", children: items.map((item) => {
9946
9948
  const active = item.id === value;
@@ -9953,7 +9955,7 @@ function Tabs({
9953
9955
  "block pb-3 whitespace-nowrap transition-colors",
9954
9956
  active ? "text-primary border-b-2 border-primary" : "text-muted-foreground hover:text-foreground"
9955
9957
  ),
9956
- children: /* @__PURE__ */ jsxs37("span", { className: "inline-flex items-center", children: [
9958
+ children: /* @__PURE__ */ jsxs36("span", { className: "inline-flex items-center", children: [
9957
9959
  item.icon ? /* @__PURE__ */ jsx56("span", { className: "mr-2 text-muted-foreground", children: item.icon }) : null,
9958
9960
  item.label
9959
9961
  ] })
@@ -9973,7 +9975,7 @@ function Tabs({
9973
9975
  "whitespace-nowrap transition-colors",
9974
9976
  active ? "text-primary" : "text-muted-foreground hover:text-foreground"
9975
9977
  ),
9976
- children: /* @__PURE__ */ jsxs37("span", { className: "inline-flex items-center", children: [
9978
+ children: /* @__PURE__ */ jsxs36("span", { className: "inline-flex items-center", children: [
9977
9979
  item.icon ? /* @__PURE__ */ jsx56("span", { className: "mr-2 text-muted-foreground", children: item.icon }) : null,
9978
9980
  item.label
9979
9981
  ] })
@@ -10055,9 +10057,9 @@ __name(TabsContent, "TabsContent");
10055
10057
 
10056
10058
  // components/ui/collapsible-section.tsx
10057
10059
  import { ChevronDown as ChevronDown6, ChevronUp } from "lucide-react";
10058
- import { jsx as jsx58, jsxs as jsxs38 } from "react/jsx-runtime";
10060
+ import { jsx as jsx58, jsxs as jsxs37 } from "react/jsx-runtime";
10059
10061
  function CollapsibleSection({ title, open, onToggle, children, className }) {
10060
- return /* @__PURE__ */ jsxs38(
10062
+ return /* @__PURE__ */ jsxs37(
10061
10063
  "div",
10062
10064
  {
10063
10065
  className: cn(
@@ -10065,7 +10067,7 @@ function CollapsibleSection({ title, open, onToggle, children, className }) {
10065
10067
  className
10066
10068
  ),
10067
10069
  children: [
10068
- /* @__PURE__ */ jsxs38(
10070
+ /* @__PURE__ */ jsxs37(
10069
10071
  "button",
10070
10072
  {
10071
10073
  type: "button",
@@ -10128,7 +10130,7 @@ CollapsibleContent.displayName = "CollapsibleContent";
10128
10130
  // components/ui/chart.tsx
10129
10131
  import * as React33 from "react";
10130
10132
  import * as RechartsPrimitive from "recharts";
10131
- import { Fragment as Fragment5, jsx as jsx60, jsxs as jsxs39 } from "react/jsx-runtime";
10133
+ import { Fragment as Fragment5, jsx as jsx60, jsxs as jsxs38 } from "react/jsx-runtime";
10132
10134
  var THEMES = { light: "", dark: ".dark" };
10133
10135
  var ChartContext = React33.createContext(null);
10134
10136
  function useChart() {
@@ -10148,7 +10150,7 @@ function ChartContainer({
10148
10150
  }) {
10149
10151
  const uniqueId = React33.useId();
10150
10152
  const chartId = `chart-${id ?? uniqueId.replace(/:/g, "")}`;
10151
- return /* @__PURE__ */ jsx60(ChartContext.Provider, { value: { config }, children: /* @__PURE__ */ jsxs39(
10153
+ return /* @__PURE__ */ jsx60(ChartContext.Provider, { value: { config }, children: /* @__PURE__ */ jsxs38(
10152
10154
  "div",
10153
10155
  {
10154
10156
  "data-slot": "chart",
@@ -10248,7 +10250,7 @@ function ChartTooltipContent({
10248
10250
  }, [label, labelFormatter, payload, hideLabel, labelClassName, config, labelKey]);
10249
10251
  if (!active || !payload?.length) return null;
10250
10252
  const nestLabel = payload.length === 1 && indicator !== "dot";
10251
- return /* @__PURE__ */ jsxs39(
10253
+ return /* @__PURE__ */ jsxs38(
10252
10254
  "div",
10253
10255
  {
10254
10256
  className: cn(
@@ -10268,7 +10270,7 @@ function ChartTooltipContent({
10268
10270
  "flex w-full flex-wrap items-stretch gap-2 [&>svg]:size-2.5 [&>svg]:text-muted-foreground",
10269
10271
  indicator === "dot" && "items-center"
10270
10272
  ),
10271
- children: formatter && item?.value !== void 0 && item.name !== void 0 ? formatter(item.value, item.name, item, index, item.payload) : /* @__PURE__ */ jsxs39(Fragment5, { children: [
10273
+ children: formatter && item?.value !== void 0 && item.name !== void 0 ? formatter(item.value, item.name, item, index, item.payload) : /* @__PURE__ */ jsxs38(Fragment5, { children: [
10272
10274
  itemConfig?.icon ? /* @__PURE__ */ jsx60(itemConfig.icon, {}) : !hideIndicator && /* @__PURE__ */ jsx60(
10273
10275
  "div",
10274
10276
  {
@@ -10285,7 +10287,7 @@ function ChartTooltipContent({
10285
10287
  }
10286
10288
  }
10287
10289
  ),
10288
- /* @__PURE__ */ jsxs39(
10290
+ /* @__PURE__ */ jsxs38(
10289
10291
  "div",
10290
10292
  {
10291
10293
  className: cn(
@@ -10293,7 +10295,7 @@ function ChartTooltipContent({
10293
10295
  nestLabel ? "items-end" : "items-center"
10294
10296
  ),
10295
10297
  children: [
10296
- /* @__PURE__ */ jsxs39("div", { className: "grid gap-1.5", children: [
10298
+ /* @__PURE__ */ jsxs38("div", { className: "grid gap-1.5", children: [
10297
10299
  nestLabel ? tooltipLabel : null,
10298
10300
  /* @__PURE__ */ jsx60("span", { className: "text-muted-foreground", children: itemConfig?.label ?? item.name })
10299
10301
  ] }),
@@ -10332,7 +10334,7 @@ function ChartLegendContent({
10332
10334
  children: payload.map((item) => {
10333
10335
  const key = `${nameKey ?? item.dataKey ?? "value"}`;
10334
10336
  const itemConfig = getPayloadConfigFromPayload(config, item, key);
10335
- return /* @__PURE__ */ jsxs39(
10337
+ return /* @__PURE__ */ jsxs38(
10336
10338
  "div",
10337
10339
  {
10338
10340
  className: "flex items-center gap-1.5 [&>svg]:size-3 [&>svg]:text-muted-foreground",
@@ -10491,14 +10493,14 @@ ErrorMessage.displayName = "ErrorMessage";
10491
10493
 
10492
10494
  // components/ui/navigation-menu.tsx
10493
10495
  import * as NavigationMenuPrimitive from "@radix-ui/react-navigation-menu";
10494
- import { jsx as jsx63, jsxs as jsxs40 } from "react/jsx-runtime";
10496
+ import { jsx as jsx63, jsxs as jsxs39 } from "react/jsx-runtime";
10495
10497
  function NavigationMenuRoot({
10496
10498
  className,
10497
10499
  children,
10498
10500
  viewport = true,
10499
10501
  ...props
10500
10502
  }) {
10501
- return /* @__PURE__ */ jsxs40(
10503
+ return /* @__PURE__ */ jsxs39(
10502
10504
  NavigationMenuPrimitive.Root,
10503
10505
  {
10504
10506
  "data-slot": "navigation-menu",
@@ -10553,7 +10555,7 @@ function NavigationMenuTrigger({
10553
10555
  children,
10554
10556
  ...props
10555
10557
  }) {
10556
- return /* @__PURE__ */ jsxs40(
10558
+ return /* @__PURE__ */ jsxs39(
10557
10559
  NavigationMenuPrimitive.Trigger,
10558
10560
  {
10559
10561
  "data-slot": "navigation-menu-trigger",
@@ -10735,10 +10737,10 @@ function createIcon(IconComponent, options = {}) {
10735
10737
  __name(createIcon, "createIcon");
10736
10738
 
10737
10739
  // components/ui/theme-toggle-icon.tsx
10738
- import { jsx as jsx65, jsxs as jsxs41 } from "react/jsx-runtime";
10740
+ import { jsx as jsx65, jsxs as jsxs40 } from "react/jsx-runtime";
10739
10741
  function ThemeToggleIcon() {
10740
10742
  const { theme, setTheme } = useTheme2();
10741
- return /* @__PURE__ */ jsxs41("div", { children: [
10743
+ return /* @__PURE__ */ jsxs40("div", { children: [
10742
10744
  /* @__PURE__ */ jsx65(
10743
10745
  "input",
10744
10746
  {
@@ -10755,7 +10757,7 @@ function ThemeToggleIcon() {
10755
10757
  }
10756
10758
  }
10757
10759
  ),
10758
- /* @__PURE__ */ jsxs41(
10760
+ /* @__PURE__ */ jsxs40(
10759
10761
  "label",
10760
10762
  {
10761
10763
  className: cn(
@@ -10807,7 +10809,7 @@ Kbd.displayName = "Kbd";
10807
10809
  // components/ui/scroll-area.tsx
10808
10810
  import * as React37 from "react";
10809
10811
  import * as ScrollAreaPrimitive from "@radix-ui/react-scroll-area";
10810
- import { jsx as jsx67, jsxs as jsxs42 } from "react/jsx-runtime";
10812
+ import { jsx as jsx67, jsxs as jsxs41 } from "react/jsx-runtime";
10811
10813
  function isHorizontalScrollBar(child) {
10812
10814
  return React37.isValidElement(child) && child.type === ScrollBar && child.props.orientation === "horizontal";
10813
10815
  }
@@ -10816,7 +10818,7 @@ var ScrollArea = React37.forwardRef(({ className, children, ...props }, ref) =>
10816
10818
  const childList = React37.Children.toArray(children);
10817
10819
  const viewportChildren = childList.filter((c) => !isHorizontalScrollBar(c));
10818
10820
  const horizontalBars = childList.filter((c) => isHorizontalScrollBar(c));
10819
- return /* @__PURE__ */ jsxs42(
10821
+ return /* @__PURE__ */ jsxs41(
10820
10822
  ScrollAreaPrimitive.Root,
10821
10823
  {
10822
10824
  ref,
@@ -12326,7 +12328,7 @@ __name(toastSemantic, "toastSemantic");
12326
12328
  // components/ui/select-radix.tsx
12327
12329
  import * as SelectPrimitive from "@radix-ui/react-select";
12328
12330
  import { CircleCheck as CircleCheck2, ChevronDown as ChevronDown7, ChevronUp as ChevronUp2 } from "lucide-react";
12329
- import { jsx as jsx72, jsxs as jsxs43 } from "react/jsx-runtime";
12331
+ import { jsx as jsx72, jsxs as jsxs42 } from "react/jsx-runtime";
12330
12332
  var SelectRoot = SelectPrimitive.Root;
12331
12333
  var SelectGroup = SelectPrimitive.Group;
12332
12334
  var SelectValue = SelectPrimitive.Value;
@@ -12336,7 +12338,7 @@ function SelectTrigger({
12336
12338
  children,
12337
12339
  ...props
12338
12340
  }) {
12339
- return /* @__PURE__ */ jsxs43(
12341
+ return /* @__PURE__ */ jsxs42(
12340
12342
  SelectPrimitive.Trigger,
12341
12343
  {
12342
12344
  "data-slot": "select-trigger",
@@ -12365,7 +12367,7 @@ function SelectContent({
12365
12367
  position = "popper",
12366
12368
  ...props
12367
12369
  }) {
12368
- return /* @__PURE__ */ jsx72(SelectPrimitive.Portal, { children: /* @__PURE__ */ jsxs43(
12370
+ return /* @__PURE__ */ jsx72(SelectPrimitive.Portal, { children: /* @__PURE__ */ jsxs42(
12369
12371
  SelectPrimitive.Content,
12370
12372
  {
12371
12373
  "data-slot": "select-content",
@@ -12409,7 +12411,7 @@ function SelectLabel({ className, ...props }) {
12409
12411
  }
12410
12412
  __name(SelectLabel, "SelectLabel");
12411
12413
  function SelectItem({ className, children, ...props }) {
12412
- return /* @__PURE__ */ jsxs43(
12414
+ return /* @__PURE__ */ jsxs42(
12413
12415
  SelectPrimitive.Item,
12414
12416
  {
12415
12417
  "data-slot": "select-item",
@@ -12473,7 +12475,7 @@ __name(SelectScrollDownButton, "SelectScrollDownButton");
12473
12475
  // components/ui/button-tooltip.tsx
12474
12476
  import * as React41 from "react";
12475
12477
  import { Transition as Transition2 } from "@headlessui/react";
12476
- import { jsx as jsx73, jsxs as jsxs44 } from "react/jsx-runtime";
12478
+ import { jsx as jsx73, jsxs as jsxs43 } from "react/jsx-runtime";
12477
12479
  function ButtonTooltip({
12478
12480
  children,
12479
12481
  content,
@@ -12542,7 +12544,7 @@ function ButtonTooltip({
12542
12544
  }
12543
12545
  );
12544
12546
  }, "getArrowElement");
12545
- return /* @__PURE__ */ jsxs44(
12547
+ return /* @__PURE__ */ jsxs43(
12546
12548
  "div",
12547
12549
  {
12548
12550
  className: cn("relative inline-flex", className),
@@ -12552,7 +12554,7 @@ function ButtonTooltip({
12552
12554
  onBlur: () => setTooltipOpen(false),
12553
12555
  children: [
12554
12556
  children,
12555
- /* @__PURE__ */ jsx73("div", { className: cn("z-50 absolute pointer-events-none", positionOuterClasses(position)), children: /* @__PURE__ */ jsxs44(
12557
+ /* @__PURE__ */ jsx73("div", { className: cn("z-50 absolute pointer-events-none", positionOuterClasses(position)), children: /* @__PURE__ */ jsxs43(
12556
12558
  Transition2,
12557
12559
  {
12558
12560
  show: tooltipOpen && !disabled,
@@ -12590,16 +12592,16 @@ import { Sun, Moon as Moon2, Upload, ExternalLink } from "lucide-react";
12590
12592
  import React42 from "react";
12591
12593
 
12592
12594
  // components/theme-customizer/color-input.tsx
12593
- import { jsx as jsx74, jsxs as jsxs45 } from "react/jsx-runtime";
12595
+ import { jsx as jsx74, jsxs as jsxs44 } from "react/jsx-runtime";
12594
12596
  function ColorInput({ label, cssVar, value, onChange, className }) {
12595
12597
  const swatchColor = value && value.trim() !== "" ? value : "transparent";
12596
12598
  const showBorder = !swatchColor || swatchColor === "transparent";
12597
12599
  const handleChange = /* @__PURE__ */ __name((e) => {
12598
12600
  onChange(cssVar, e.target.value);
12599
12601
  }, "handleChange");
12600
- return /* @__PURE__ */ jsxs45("div", { className: cn("space-y-1.5", className), children: [
12602
+ return /* @__PURE__ */ jsxs44("div", { className: cn("space-y-1.5", className), children: [
12601
12603
  /* @__PURE__ */ jsx74("label", { className: "text-xs font-medium text-muted-foreground", children: label }),
12602
- /* @__PURE__ */ jsxs45("div", { className: "flex items-center gap-2", children: [
12604
+ /* @__PURE__ */ jsxs44("div", { className: "flex items-center gap-2", children: [
12603
12605
  /* @__PURE__ */ jsx74(
12604
12606
  "div",
12605
12607
  {
@@ -12634,7 +12636,7 @@ function ColorInput({ label, cssVar, value, onChange, className }) {
12634
12636
  __name(ColorInput, "ColorInput");
12635
12637
 
12636
12638
  // components/theme-customizer/colors-panel.tsx
12637
- import { jsx as jsx75, jsxs as jsxs46 } from "react/jsx-runtime";
12639
+ import { jsx as jsx75, jsxs as jsxs45 } from "react/jsx-runtime";
12638
12640
  function getComputedColorValues() {
12639
12641
  if (typeof document === "undefined") return {};
12640
12642
  const root = document.documentElement;
@@ -12696,7 +12698,7 @@ function ColorsPanel({ selectedTheme, isDarkMode } = {}) {
12696
12698
  title: group.title,
12697
12699
  open: openGroups[group.title] !== false,
12698
12700
  onToggle: () => toggleGroup(group.title),
12699
- children: group.colors.map((color) => /* @__PURE__ */ jsxs46("div", { className: "space-y-1", children: [
12701
+ children: group.colors.map((color) => /* @__PURE__ */ jsxs45("div", { className: "space-y-1", children: [
12700
12702
  /* @__PURE__ */ jsx75(
12701
12703
  ColorInput,
12702
12704
  {
@@ -12716,7 +12718,7 @@ function ColorsPanel({ selectedTheme, isDarkMode } = {}) {
12716
12718
  __name(ColorsPanel, "ColorsPanel");
12717
12719
 
12718
12720
  // components/theme-customizer/theme-tab.tsx
12719
- import { Fragment as Fragment6, jsx as jsx76, jsxs as jsxs47 } from "react/jsx-runtime";
12721
+ import { Fragment as Fragment6, jsx as jsx76, jsxs as jsxs46 } from "react/jsx-runtime";
12720
12722
  function ThemeTab({
12721
12723
  selectedTheme,
12722
12724
  setSelectedTheme,
@@ -12754,13 +12756,13 @@ function ThemeTab({
12754
12756
  const showOthers = variant === "full" || variant === "others-only";
12755
12757
  const showPreset = showColors && !hidePreset;
12756
12758
  const colorsOnlyInSidebar = showColors && hidePreset && !showPreset && !showOthers;
12757
- return /* @__PURE__ */ jsxs47(
12759
+ return /* @__PURE__ */ jsxs46(
12758
12760
  "div",
12759
12761
  {
12760
12762
  className: colorsOnlyInSidebar ? "px-3 pt-2 pb-4" : "p-4 space-y-6",
12761
12763
  children: [
12762
- showPreset && /* @__PURE__ */ jsxs47(Fragment6, { children: [
12763
- /* @__PURE__ */ jsxs47("div", { className: "space-y-3", children: [
12764
+ showPreset && /* @__PURE__ */ jsxs46(Fragment6, { children: [
12765
+ /* @__PURE__ */ jsxs46("div", { className: "space-y-3", children: [
12764
12766
  /* @__PURE__ */ jsx76("label", { className: "text-sm font-medium", children: "Mindtris UI" }),
12765
12767
  /* @__PURE__ */ jsx76(
12766
12768
  Select,
@@ -12774,9 +12776,9 @@ function ThemeTab({
12774
12776
  variant === "full" && /* @__PURE__ */ jsx76("div", { className: "border-t border-border" })
12775
12777
  ] }),
12776
12778
  showColors && hidePreset && /* @__PURE__ */ jsx76(ColorsPanel, { selectedTheme, isDarkMode }),
12777
- showOthers && /* @__PURE__ */ jsxs47(Fragment6, { children: [
12779
+ showOthers && /* @__PURE__ */ jsxs46(Fragment6, { children: [
12778
12780
  variant === "full" && /* @__PURE__ */ jsx76("div", { className: "border-t border-border" }),
12779
- /* @__PURE__ */ jsxs47("div", { className: "space-y-3", children: [
12781
+ /* @__PURE__ */ jsxs46("div", { className: "space-y-3", children: [
12780
12782
  /* @__PURE__ */ jsx76("label", { className: "text-sm font-medium", children: "Radius" }),
12781
12783
  /* @__PURE__ */ jsx76("div", { className: "grid grid-cols-5 gap-2", children: radiusOptions.map((option) => /* @__PURE__ */ jsx76(
12782
12784
  "button",
@@ -12792,10 +12794,10 @@ function ThemeTab({
12792
12794
  )) })
12793
12795
  ] }),
12794
12796
  /* @__PURE__ */ jsx76("div", { className: "border-t border-border" }),
12795
- /* @__PURE__ */ jsxs47("div", { className: "space-y-3", children: [
12797
+ /* @__PURE__ */ jsxs46("div", { className: "space-y-3", children: [
12796
12798
  /* @__PURE__ */ jsx76("label", { className: "text-sm font-medium", children: "Mode" }),
12797
- /* @__PURE__ */ jsxs47("div", { className: "grid grid-cols-2 gap-2", children: [
12798
- /* @__PURE__ */ jsxs47(
12799
+ /* @__PURE__ */ jsxs46("div", { className: "grid grid-cols-2 gap-2", children: [
12800
+ /* @__PURE__ */ jsxs46(
12799
12801
  "button",
12800
12802
  {
12801
12803
  onClick: handleLightMode,
@@ -12809,7 +12811,7 @@ function ThemeTab({
12809
12811
  ]
12810
12812
  }
12811
12813
  ),
12812
- /* @__PURE__ */ jsxs47(
12814
+ /* @__PURE__ */ jsxs46(
12813
12815
  "button",
12814
12816
  {
12815
12817
  onClick: handleDarkMode,
@@ -12826,7 +12828,7 @@ function ThemeTab({
12826
12828
  ] })
12827
12829
  ] }),
12828
12830
  /* @__PURE__ */ jsx76("div", { className: "border-t border-border" }),
12829
- /* @__PURE__ */ jsx76("div", { className: "space-y-3", children: /* @__PURE__ */ jsxs47(
12831
+ /* @__PURE__ */ jsx76("div", { className: "space-y-3", children: /* @__PURE__ */ jsxs46(
12830
12832
  "button",
12831
12833
  {
12832
12834
  onClick: onImportClick,
@@ -12838,11 +12840,11 @@ function ThemeTab({
12838
12840
  }
12839
12841
  ) })
12840
12842
  ] }),
12841
- variant === "full" && /* @__PURE__ */ jsxs47(Fragment6, { children: [
12843
+ variant === "full" && /* @__PURE__ */ jsxs46(Fragment6, { children: [
12842
12844
  /* @__PURE__ */ jsx76("div", { className: "border-t border-border" }),
12843
- /* @__PURE__ */ jsxs47("div", { className: "p-4 bg-muted rounded-lg space-y-3", children: [
12845
+ /* @__PURE__ */ jsxs46("div", { className: "p-4 bg-muted rounded-lg space-y-3", children: [
12844
12846
  /* @__PURE__ */ jsx76("div", { className: "flex items-center gap-2", children: /* @__PURE__ */ jsx76("span", { className: "text-sm font-medium", children: "Advanced Customization" }) }),
12845
- /* @__PURE__ */ jsxs47("p", { className: "text-xs text-muted-foreground", children: [
12847
+ /* @__PURE__ */ jsxs46("p", { className: "text-xs text-muted-foreground", children: [
12846
12848
  "For advanced theme customization with real-time preview, visit",
12847
12849
  " ",
12848
12850
  /* @__PURE__ */ jsx76(
@@ -12856,7 +12858,7 @@ function ThemeTab({
12856
12858
  }
12857
12859
  )
12858
12860
  ] }),
12859
- /* @__PURE__ */ jsxs47(
12861
+ /* @__PURE__ */ jsxs46(
12860
12862
  "button",
12861
12863
  {
12862
12864
  className: "w-full flex items-center justify-center gap-2 px-4 py-2 border border-border rounded-md hover:bg-muted/70 transition-colors text-sm",
@@ -12876,7 +12878,7 @@ function ThemeTab({
12876
12878
  __name(ThemeTab, "ThemeTab");
12877
12879
 
12878
12880
  // components/theme-customizer/layout-tab.tsx
12879
- import { Fragment as Fragment7, jsx as jsx77, jsxs as jsxs48 } from "react/jsx-runtime";
12881
+ import { Fragment as Fragment7, jsx as jsx77, jsxs as jsxs47 } from "react/jsx-runtime";
12880
12882
  function LayoutTab({ sidebarConfig, onSidebarConfigChange }) {
12881
12883
  const config = sidebarConfig || {
12882
12884
  variant: "inset",
@@ -12892,18 +12894,18 @@ function LayoutTab({ sidebarConfig, onSidebarConfigChange }) {
12892
12894
  const handleSidebarSideSelect = /* @__PURE__ */ __name((side) => {
12893
12895
  onSidebarConfigChange?.({ ...config, side });
12894
12896
  }, "handleSidebarSideSelect");
12895
- return /* @__PURE__ */ jsxs48("div", { className: "space-y-4", children: [
12896
- /* @__PURE__ */ jsxs48("p", { className: "text-xs text-muted-foreground", children: [
12897
+ return /* @__PURE__ */ jsxs47("div", { className: "space-y-4", children: [
12898
+ /* @__PURE__ */ jsxs47("p", { className: "text-xs text-muted-foreground", children: [
12897
12899
  "These options apply only when your app wires ",
12898
12900
  /* @__PURE__ */ jsx77("code", { className: "text-[10px]", children: "sidebarConfig" }),
12899
12901
  " and ",
12900
12902
  /* @__PURE__ */ jsx77("code", { className: "text-[10px]", children: "onSidebarConfigChange" }),
12901
12903
  " to the layout."
12902
12904
  ] }),
12903
- /* @__PURE__ */ jsxs48("div", { className: "space-y-3", children: [
12904
- /* @__PURE__ */ jsxs48("div", { children: [
12905
+ /* @__PURE__ */ jsxs47("div", { className: "space-y-3", children: [
12906
+ /* @__PURE__ */ jsxs47("div", { children: [
12905
12907
  /* @__PURE__ */ jsx77("label", { className: "text-sm font-medium", children: "Sidebar Variant" }),
12906
- config.variant && /* @__PURE__ */ jsxs48("p", { className: "text-xs text-muted-foreground mt-1", children: [
12908
+ config.variant && /* @__PURE__ */ jsxs47("p", { className: "text-xs text-muted-foreground mt-1", children: [
12907
12909
  config.variant === "sidebar" && "Default: Standard sidebar layout",
12908
12910
  config.variant === "floating" && "Floating: Floating sidebar with border",
12909
12911
  config.variant === "inset" && "Inset: Inset sidebar with rounded corners"
@@ -12917,10 +12919,10 @@ function LayoutTab({ sidebarConfig, onSidebarConfigChange }) {
12917
12919
  relative p-4 border rounded-md cursor-pointer transition-colors
12918
12920
  ${config.variant === variant.value ? "border-primary bg-primary/10" : "border-border hover:border-border/80"}
12919
12921
  `,
12920
- children: /* @__PURE__ */ jsxs48("div", { className: "space-y-2", children: [
12922
+ children: /* @__PURE__ */ jsxs47("div", { className: "space-y-2", children: [
12921
12923
  /* @__PURE__ */ jsx77("div", { className: "text-xs font-semibold text-center", children: variant.name }),
12922
- /* @__PURE__ */ jsxs48("div", { className: `flex h-12 rounded border border-border ${variant.value === "inset" ? "bg-muted" : "bg-card"}`, children: [
12923
- /* @__PURE__ */ jsxs48(
12924
+ /* @__PURE__ */ jsxs47("div", { className: `flex h-12 rounded border border-border ${variant.value === "inset" ? "bg-muted" : "bg-card"}`, children: [
12925
+ /* @__PURE__ */ jsxs47(
12924
12926
  "div",
12925
12927
  {
12926
12928
  className: `w-3 flex-shrink-0 bg-muted/70 flex flex-col gap-0.5 p-1 ${variant.value === "floating" ? "border-r m-1 rounded" : variant.value === "inset" ? "m-1 ms-0 rounded bg-muted/70" : "border-r"}`,
@@ -12939,10 +12941,10 @@ function LayoutTab({ sidebarConfig, onSidebarConfigChange }) {
12939
12941
  variant.value
12940
12942
  )) })
12941
12943
  ] }),
12942
- /* @__PURE__ */ jsxs48("div", { className: "space-y-3", children: [
12943
- /* @__PURE__ */ jsxs48("div", { children: [
12944
+ /* @__PURE__ */ jsxs47("div", { className: "space-y-3", children: [
12945
+ /* @__PURE__ */ jsxs47("div", { children: [
12944
12946
  /* @__PURE__ */ jsx77("label", { className: "text-sm font-medium", children: "Sidebar Collapsible Mode" }),
12945
- config.collapsible && /* @__PURE__ */ jsxs48("p", { className: "text-xs text-muted-foreground mt-1", children: [
12947
+ config.collapsible && /* @__PURE__ */ jsxs47("p", { className: "text-xs text-muted-foreground mt-1", children: [
12946
12948
  config.collapsible === "offcanvas" && "Off Canvas: Slides out of view",
12947
12949
  config.collapsible === "icon" && "Icon: Collapses to icon only",
12948
12950
  config.collapsible === "none" && "None: Always visible"
@@ -12956,21 +12958,21 @@ function LayoutTab({ sidebarConfig, onSidebarConfigChange }) {
12956
12958
  relative p-4 border rounded-md cursor-pointer transition-colors
12957
12959
  ${config.collapsible === option.value ? "border-primary bg-primary/10" : "border-border hover:border-border/80"}
12958
12960
  `,
12959
- children: /* @__PURE__ */ jsxs48("div", { className: "space-y-2", children: [
12961
+ children: /* @__PURE__ */ jsxs47("div", { className: "space-y-2", children: [
12960
12962
  /* @__PURE__ */ jsx77("div", { className: "text-xs font-semibold text-center", children: option.name }),
12961
- /* @__PURE__ */ jsx77("div", { className: "flex h-12 rounded border border-border bg-card", children: option.value === "offcanvas" ? /* @__PURE__ */ jsx77("div", { className: "flex-1 bg-muted m-1 rounded-sm border-dashed border border-border flex items-center justify-start pl-2", children: /* @__PURE__ */ jsxs48("div", { className: "flex flex-col gap-0.5", children: [
12963
+ /* @__PURE__ */ jsx77("div", { className: "flex h-12 rounded border border-border bg-card", children: option.value === "offcanvas" ? /* @__PURE__ */ jsx77("div", { className: "flex-1 bg-muted m-1 rounded-sm border-dashed border border-border flex items-center justify-start pl-2", children: /* @__PURE__ */ jsxs47("div", { className: "flex flex-col gap-0.5", children: [
12962
12964
  /* @__PURE__ */ jsx77("div", { className: "w-3 h-0.5 bg-muted-foreground/70 rounded" }),
12963
12965
  /* @__PURE__ */ jsx77("div", { className: "w-3 h-0.5 bg-muted-foreground/70 rounded" }),
12964
12966
  /* @__PURE__ */ jsx77("div", { className: "w-3 h-0.5 bg-muted-foreground/70 rounded" })
12965
- ] }) }) : option.value === "icon" ? /* @__PURE__ */ jsxs48(Fragment7, { children: [
12966
- /* @__PURE__ */ jsxs48("div", { className: "w-4 flex-shrink-0 bg-muted/70 flex flex-col gap-1 p-1 border-r border-border items-center", children: [
12967
+ ] }) }) : option.value === "icon" ? /* @__PURE__ */ jsxs47(Fragment7, { children: [
12968
+ /* @__PURE__ */ jsxs47("div", { className: "w-4 flex-shrink-0 bg-muted/70 flex flex-col gap-1 p-1 border-r border-border items-center", children: [
12967
12969
  /* @__PURE__ */ jsx77("div", { className: "w-2 h-2 bg-muted-foreground/70 rounded-sm" }),
12968
12970
  /* @__PURE__ */ jsx77("div", { className: "w-2 h-2 bg-muted-foreground/60 rounded-sm" }),
12969
12971
  /* @__PURE__ */ jsx77("div", { className: "w-2 h-2 bg-muted-foreground/50 rounded-sm" })
12970
12972
  ] }),
12971
12973
  /* @__PURE__ */ jsx77("div", { className: "flex-1 bg-muted m-1 rounded-sm border-dashed border border-border" })
12972
- ] }) : /* @__PURE__ */ jsxs48(Fragment7, { children: [
12973
- /* @__PURE__ */ jsxs48("div", { className: "w-6 flex-shrink-0 bg-muted/70 flex flex-col gap-0.5 p-1 border-r border-border", children: [
12974
+ ] }) : /* @__PURE__ */ jsxs47(Fragment7, { children: [
12975
+ /* @__PURE__ */ jsxs47("div", { className: "w-6 flex-shrink-0 bg-muted/70 flex flex-col gap-0.5 p-1 border-r border-border", children: [
12974
12976
  /* @__PURE__ */ jsx77("div", { className: "h-0.5 w-full bg-muted-foreground/70 rounded" }),
12975
12977
  /* @__PURE__ */ jsx77("div", { className: "h-0.5 w-3/4 bg-muted-foreground/60 rounded" }),
12976
12978
  /* @__PURE__ */ jsx77("div", { className: "h-0.5 w-2/3 bg-muted-foreground/50 rounded" }),
@@ -12983,10 +12985,10 @@ function LayoutTab({ sidebarConfig, onSidebarConfigChange }) {
12983
12985
  option.value
12984
12986
  )) })
12985
12987
  ] }),
12986
- /* @__PURE__ */ jsxs48("div", { className: "space-y-3", children: [
12987
- /* @__PURE__ */ jsxs48("div", { children: [
12988
+ /* @__PURE__ */ jsxs47("div", { className: "space-y-3", children: [
12989
+ /* @__PURE__ */ jsxs47("div", { children: [
12988
12990
  /* @__PURE__ */ jsx77("label", { className: "text-sm font-medium", children: "Sidebar Position" }),
12989
- config.side && /* @__PURE__ */ jsxs48("p", { className: "text-xs text-muted-foreground mt-1", children: [
12991
+ config.side && /* @__PURE__ */ jsxs47("p", { className: "text-xs text-muted-foreground mt-1", children: [
12990
12992
  config.side === "left" && "Left: Sidebar positioned on the left side",
12991
12993
  config.side === "right" && "Right: Sidebar positioned on the right side"
12992
12994
  ] })
@@ -12999,19 +13001,19 @@ function LayoutTab({ sidebarConfig, onSidebarConfigChange }) {
12999
13001
  relative p-4 border rounded-md cursor-pointer transition-colors
13000
13002
  ${config.side === side.value ? "border-primary bg-primary/10" : "border-border hover:border-border/80"}
13001
13003
  `,
13002
- children: /* @__PURE__ */ jsxs48("div", { className: "space-y-2", children: [
13004
+ children: /* @__PURE__ */ jsxs47("div", { className: "space-y-2", children: [
13003
13005
  /* @__PURE__ */ jsx77("div", { className: "text-xs font-semibold text-center", children: side.name }),
13004
- /* @__PURE__ */ jsx77("div", { className: "flex h-12 rounded border border-border bg-card", children: side.value === "left" ? /* @__PURE__ */ jsxs48(Fragment7, { children: [
13005
- /* @__PURE__ */ jsxs48("div", { className: "w-6 flex-shrink-0 bg-muted/70 flex flex-col gap-0.5 p-1 border-r border-border", children: [
13006
+ /* @__PURE__ */ jsx77("div", { className: "flex h-12 rounded border border-border bg-card", children: side.value === "left" ? /* @__PURE__ */ jsxs47(Fragment7, { children: [
13007
+ /* @__PURE__ */ jsxs47("div", { className: "w-6 flex-shrink-0 bg-muted/70 flex flex-col gap-0.5 p-1 border-r border-border", children: [
13006
13008
  /* @__PURE__ */ jsx77("div", { className: "h-0.5 w-full bg-muted-foreground/70 rounded" }),
13007
13009
  /* @__PURE__ */ jsx77("div", { className: "h-0.5 w-3/4 bg-muted-foreground/60 rounded" }),
13008
13010
  /* @__PURE__ */ jsx77("div", { className: "h-0.5 w-2/3 bg-muted-foreground/50 rounded" }),
13009
13011
  /* @__PURE__ */ jsx77("div", { className: "h-0.5 w-3/4 bg-muted-foreground/40 rounded" })
13010
13012
  ] }),
13011
13013
  /* @__PURE__ */ jsx77("div", { className: "flex-1 bg-muted m-1 rounded-sm border-dashed border border-border" })
13012
- ] }) : /* @__PURE__ */ jsxs48(Fragment7, { children: [
13014
+ ] }) : /* @__PURE__ */ jsxs47(Fragment7, { children: [
13013
13015
  /* @__PURE__ */ jsx77("div", { className: "flex-1 bg-muted m-1 rounded-sm border-dashed border border-border" }),
13014
- /* @__PURE__ */ jsxs48("div", { className: "w-6 flex-shrink-0 bg-muted/70 flex flex-col gap-0.5 p-1 border-l border-border", children: [
13016
+ /* @__PURE__ */ jsxs47("div", { className: "w-6 flex-shrink-0 bg-muted/70 flex flex-col gap-0.5 p-1 border-l border-border", children: [
13015
13017
  /* @__PURE__ */ jsx77("div", { className: "h-0.5 w-full bg-muted-foreground/70 rounded" }),
13016
13018
  /* @__PURE__ */ jsx77("div", { className: "h-0.5 w-3/4 bg-muted-foreground/60 rounded" }),
13017
13019
  /* @__PURE__ */ jsx77("div", { className: "h-0.5 w-2/3 bg-muted-foreground/50 rounded" }),
@@ -13029,7 +13031,7 @@ __name(LayoutTab, "LayoutTab");
13029
13031
 
13030
13032
  // components/theme-customizer/other-panel.tsx
13031
13033
  import React43 from "react";
13032
- import { jsx as jsx78, jsxs as jsxs49 } from "react/jsx-runtime";
13034
+ import { jsx as jsx78, jsxs as jsxs48 } from "react/jsx-runtime";
13033
13035
  function getComputedOtherValues() {
13034
13036
  if (typeof document === "undefined") return {};
13035
13037
  const root = document.documentElement;
@@ -13172,10 +13174,10 @@ function OtherPanel({
13172
13174
  },
13173
13175
  [handleChange, values]
13174
13176
  );
13175
- return /* @__PURE__ */ jsxs49("div", { className: "space-y-4 pt-5 pb-2", children: [
13176
- !hideModeSection && /* @__PURE__ */ jsxs49("div", { className: "space-y-2", children: [
13177
+ return /* @__PURE__ */ jsxs48("div", { className: "space-y-4 pt-5 pb-2", children: [
13178
+ !hideModeSection && /* @__PURE__ */ jsxs48("div", { className: "space-y-2", children: [
13177
13179
  /* @__PURE__ */ jsx78("label", { className: "block text-sm font-medium", children: "Mode" }),
13178
- /* @__PURE__ */ jsxs49("div", { className: "grid grid-cols-2 gap-2", children: [
13180
+ /* @__PURE__ */ jsxs48("div", { className: "grid grid-cols-2 gap-2", children: [
13179
13181
  /* @__PURE__ */ jsx78(
13180
13182
  Button,
13181
13183
  {
@@ -13200,8 +13202,8 @@ function OtherPanel({
13200
13202
  )
13201
13203
  ] })
13202
13204
  ] }),
13203
- /* @__PURE__ */ jsx78(CollapsibleSection, { title: "HSL Adjustments", open: hslOpen, onToggle: () => setHslOpen(!hslOpen), children: /* @__PURE__ */ jsxs49("div", { className: "pt-2 space-y-4", children: [
13204
- /* @__PURE__ */ jsx78("div", { className: "flex items-center justify-center", children: /* @__PURE__ */ jsxs49(
13205
+ /* @__PURE__ */ jsx78(CollapsibleSection, { title: "HSL Adjustments", open: hslOpen, onToggle: () => setHslOpen(!hslOpen), children: /* @__PURE__ */ jsxs48("div", { className: "pt-2 space-y-4", children: [
13206
+ /* @__PURE__ */ jsx78("div", { className: "flex items-center justify-center", children: /* @__PURE__ */ jsxs48(
13205
13207
  "button",
13206
13208
  {
13207
13209
  type: "button",
@@ -13233,11 +13235,11 @@ function OtherPanel({
13233
13235
  },
13234
13236
  p.name
13235
13237
  )) }),
13236
- /* @__PURE__ */ jsxs49("div", { className: "space-y-5", children: [
13237
- /* @__PURE__ */ jsxs49("div", { className: "space-y-2", children: [
13238
- /* @__PURE__ */ jsxs49("div", { className: "flex items-center justify-between gap-3", children: [
13238
+ /* @__PURE__ */ jsxs48("div", { className: "space-y-5", children: [
13239
+ /* @__PURE__ */ jsxs48("div", { className: "space-y-2", children: [
13240
+ /* @__PURE__ */ jsxs48("div", { className: "flex items-center justify-between gap-3", children: [
13239
13241
  /* @__PURE__ */ jsx78("label", { className: "text-sm font-medium", children: "Hue Shift" }),
13240
- /* @__PURE__ */ jsxs49("div", { className: "flex items-center gap-2", children: [
13242
+ /* @__PURE__ */ jsxs48("div", { className: "flex items-center gap-2", children: [
13241
13243
  /* @__PURE__ */ jsx78(
13242
13244
  Input,
13243
13245
  {
@@ -13267,10 +13269,10 @@ function OtherPanel({
13267
13269
  ),
13268
13270
  validationErrors["--hue-shift"] && /* @__PURE__ */ jsx78("p", { className: "text-xs text-destructive", children: validationErrors["--hue-shift"] })
13269
13271
  ] }),
13270
- /* @__PURE__ */ jsxs49("div", { className: "space-y-2", children: [
13271
- /* @__PURE__ */ jsxs49("div", { className: "flex items-center justify-between gap-3", children: [
13272
+ /* @__PURE__ */ jsxs48("div", { className: "space-y-2", children: [
13273
+ /* @__PURE__ */ jsxs48("div", { className: "flex items-center justify-between gap-3", children: [
13272
13274
  /* @__PURE__ */ jsx78("label", { className: "text-sm font-medium", children: "Saturation Multiplier" }),
13273
- /* @__PURE__ */ jsxs49("div", { className: "flex items-center gap-2", children: [
13275
+ /* @__PURE__ */ jsxs48("div", { className: "flex items-center gap-2", children: [
13274
13276
  /* @__PURE__ */ jsx78(
13275
13277
  Input,
13276
13278
  {
@@ -13300,10 +13302,10 @@ function OtherPanel({
13300
13302
  ),
13301
13303
  validationErrors["--saturation-mult"] && /* @__PURE__ */ jsx78("p", { className: "text-xs text-destructive", children: validationErrors["--saturation-mult"] })
13302
13304
  ] }),
13303
- /* @__PURE__ */ jsxs49("div", { className: "space-y-2", children: [
13304
- /* @__PURE__ */ jsxs49("div", { className: "flex items-center justify-between gap-3", children: [
13305
+ /* @__PURE__ */ jsxs48("div", { className: "space-y-2", children: [
13306
+ /* @__PURE__ */ jsxs48("div", { className: "flex items-center justify-between gap-3", children: [
13305
13307
  /* @__PURE__ */ jsx78("label", { className: "text-sm font-medium", children: "Lightness Multiplier" }),
13306
- /* @__PURE__ */ jsxs49("div", { className: "flex items-center gap-2", children: [
13308
+ /* @__PURE__ */ jsxs48("div", { className: "flex items-center gap-2", children: [
13307
13309
  /* @__PURE__ */ jsx78(
13308
13310
  Input,
13309
13311
  {
@@ -13335,7 +13337,7 @@ function OtherPanel({
13335
13337
  ] })
13336
13338
  ] })
13337
13339
  ] }) }),
13338
- /* @__PURE__ */ jsx78(CollapsibleSection, { title: "Radius", open: radiusOpen, onToggle: () => setRadiusOpen(!radiusOpen), children: /* @__PURE__ */ jsxs49("div", { className: "pt-2 space-y-2", children: [
13340
+ /* @__PURE__ */ jsx78(CollapsibleSection, { title: "Radius", open: radiusOpen, onToggle: () => setRadiusOpen(!radiusOpen), children: /* @__PURE__ */ jsxs48("div", { className: "pt-2 space-y-2", children: [
13339
13341
  /* @__PURE__ */ jsx78("label", { className: "text-sm font-medium", children: "Corner radius" }),
13340
13342
  /* @__PURE__ */ jsx78("div", { className: "flex flex-wrap gap-2", children: radiusOptions.map((opt) => /* @__PURE__ */ jsx78(
13341
13343
  Button,
@@ -13351,7 +13353,7 @@ function OtherPanel({
13351
13353
  )) }),
13352
13354
  validationErrors["--radius"] && /* @__PURE__ */ jsx78("p", { className: "text-xs text-destructive", children: validationErrors["--radius"] })
13353
13355
  ] }) }),
13354
- /* @__PURE__ */ jsx78(CollapsibleSection, { title: "Spacing", open: spacingOpen, onToggle: () => setSpacingOpen(!spacingOpen), children: /* @__PURE__ */ jsxs49("div", { className: "pt-2 space-y-1", children: [
13356
+ /* @__PURE__ */ jsx78(CollapsibleSection, { title: "Spacing", open: spacingOpen, onToggle: () => setSpacingOpen(!spacingOpen), children: /* @__PURE__ */ jsxs48("div", { className: "pt-2 space-y-1", children: [
13355
13357
  /* @__PURE__ */ jsx78("label", { className: "block text-xs font-medium text-muted-foreground mb-1.5", children: "Spacing (base scale for layout, rem)" }),
13356
13358
  /* @__PURE__ */ jsx78(
13357
13359
  Input,
@@ -13368,8 +13370,8 @@ function OtherPanel({
13368
13370
  ),
13369
13371
  validationErrors["--spacing"] && /* @__PURE__ */ jsx78("p", { className: "text-xs text-destructive", children: validationErrors["--spacing"] })
13370
13372
  ] }) }),
13371
- /* @__PURE__ */ jsx78(CollapsibleSection, { title: "Shadow", open: shadowOpen, onToggle: () => setShadowOpen(!shadowOpen), children: /* @__PURE__ */ jsxs49("div", { className: "space-y-3 pt-2", children: [
13372
- /* @__PURE__ */ jsxs49("div", { children: [
13373
+ /* @__PURE__ */ jsx78(CollapsibleSection, { title: "Shadow", open: shadowOpen, onToggle: () => setShadowOpen(!shadowOpen), children: /* @__PURE__ */ jsxs48("div", { className: "space-y-3 pt-2", children: [
13374
+ /* @__PURE__ */ jsxs48("div", { children: [
13373
13375
  /* @__PURE__ */ jsx78("label", { className: "block text-xs font-medium text-muted-foreground mb-1.5", children: "Shadow color" }),
13374
13376
  /* @__PURE__ */ jsx78(
13375
13377
  Input,
@@ -13382,7 +13384,7 @@ function OtherPanel({
13382
13384
  }
13383
13385
  )
13384
13386
  ] }),
13385
- /* @__PURE__ */ jsxs49("div", { children: [
13387
+ /* @__PURE__ */ jsxs48("div", { children: [
13386
13388
  /* @__PURE__ */ jsx78("label", { className: "block text-xs font-medium text-muted-foreground mb-1.5", children: "Shadow Opacity" }),
13387
13389
  /* @__PURE__ */ jsx78(
13388
13390
  Input,
@@ -13395,8 +13397,8 @@ function OtherPanel({
13395
13397
  }
13396
13398
  )
13397
13399
  ] }),
13398
- /* @__PURE__ */ jsxs49("div", { className: "grid grid-cols-2 gap-2", children: [
13399
- /* @__PURE__ */ jsxs49("div", { children: [
13400
+ /* @__PURE__ */ jsxs48("div", { className: "grid grid-cols-2 gap-2", children: [
13401
+ /* @__PURE__ */ jsxs48("div", { children: [
13400
13402
  /* @__PURE__ */ jsx78("label", { className: "block text-xs font-medium text-muted-foreground mb-1.5", children: "Blur radius" }),
13401
13403
  /* @__PURE__ */ jsx78(
13402
13404
  Input,
@@ -13409,7 +13411,7 @@ function OtherPanel({
13409
13411
  }
13410
13412
  )
13411
13413
  ] }),
13412
- /* @__PURE__ */ jsxs49("div", { children: [
13414
+ /* @__PURE__ */ jsxs48("div", { children: [
13413
13415
  /* @__PURE__ */ jsx78("label", { className: "block text-xs font-medium text-muted-foreground mb-1.5", children: "Spread" }),
13414
13416
  /* @__PURE__ */ jsx78(
13415
13417
  Input,
@@ -13423,8 +13425,8 @@ function OtherPanel({
13423
13425
  )
13424
13426
  ] })
13425
13427
  ] }),
13426
- /* @__PURE__ */ jsxs49("div", { className: "grid grid-cols-2 gap-2", children: [
13427
- /* @__PURE__ */ jsxs49("div", { children: [
13428
+ /* @__PURE__ */ jsxs48("div", { className: "grid grid-cols-2 gap-2", children: [
13429
+ /* @__PURE__ */ jsxs48("div", { children: [
13428
13430
  /* @__PURE__ */ jsx78("label", { className: "block text-xs font-medium text-muted-foreground mb-1.5", children: "Offset X" }),
13429
13431
  /* @__PURE__ */ jsx78(
13430
13432
  Input,
@@ -13437,7 +13439,7 @@ function OtherPanel({
13437
13439
  }
13438
13440
  )
13439
13441
  ] }),
13440
- /* @__PURE__ */ jsxs49("div", { children: [
13442
+ /* @__PURE__ */ jsxs48("div", { children: [
13441
13443
  /* @__PURE__ */ jsx78("label", { className: "block text-xs font-medium text-muted-foreground mb-1.5", children: "Offset Y" }),
13442
13444
  /* @__PURE__ */ jsx78(
13443
13445
  Input,
@@ -13460,7 +13462,7 @@ __name(OtherPanel, "OtherPanel");
13460
13462
  // components/theme-customizer/import-modal.tsx
13461
13463
  import React44 from "react";
13462
13464
  import { X as X8, Check as Check6 } from "lucide-react";
13463
- import { Fragment as Fragment8, jsx as jsx79, jsxs as jsxs50 } from "react/jsx-runtime";
13465
+ import { Fragment as Fragment8, jsx as jsx79, jsxs as jsxs49 } from "react/jsx-runtime";
13464
13466
  function normalizeImportedThemeVars(vars) {
13465
13467
  const out = {};
13466
13468
  Object.entries(vars).forEach(([key, value]) => {
@@ -13553,7 +13555,7 @@ function ImportModal({ open, onOpenChange, onImport, onImportArtifact }) {
13553
13555
  }
13554
13556
  }, "processImport");
13555
13557
  if (!open) return null;
13556
- return /* @__PURE__ */ jsxs50(Fragment8, { children: [
13558
+ return /* @__PURE__ */ jsxs49(Fragment8, { children: [
13557
13559
  /* @__PURE__ */ jsx79(
13558
13560
  "div",
13559
13561
  {
@@ -13561,11 +13563,11 @@ function ImportModal({ open, onOpenChange, onImport, onImportArtifact }) {
13561
13563
  onClick: () => onOpenChange(false)
13562
13564
  }
13563
13565
  ),
13564
- /* @__PURE__ */ jsx79("div", { className: "fixed inset-0 z-[60] flex items-center justify-center p-4", children: /* @__PURE__ */ jsxs50("div", { className: "bg-card text-card-foreground rounded-lg shadow-lg max-w-4xl w-full max-h-[90vh] flex flex-col border border-border", children: [
13565
- /* @__PURE__ */ jsx79("div", { className: "p-6 border-b border-border", children: /* @__PURE__ */ jsxs50("div", { className: "flex items-center justify-between", children: [
13566
- /* @__PURE__ */ jsxs50("div", { children: [
13566
+ /* @__PURE__ */ jsx79("div", { className: "fixed inset-0 z-[60] flex items-center justify-center p-4", children: /* @__PURE__ */ jsxs49("div", { className: "bg-card text-card-foreground rounded-lg shadow-lg max-w-4xl w-full max-h-[90vh] flex flex-col border border-border", children: [
13567
+ /* @__PURE__ */ jsx79("div", { className: "p-6 border-b border-border", children: /* @__PURE__ */ jsxs49("div", { className: "flex items-center justify-between", children: [
13568
+ /* @__PURE__ */ jsxs49("div", { children: [
13567
13569
  /* @__PURE__ */ jsx79("h3", { className: "text-lg font-semibold", children: "Import Theme" }),
13568
- /* @__PURE__ */ jsxs50("p", { className: "text-sm text-muted-foreground mt-1", children: [
13570
+ /* @__PURE__ */ jsxs49("p", { className: "text-sm text-muted-foreground mt-1", children: [
13569
13571
  "Paste either a standardized ",
13570
13572
  /* @__PURE__ */ jsx79("code", { className: "px-1 py-0.5 bg-muted rounded", children: "theme.json" }),
13571
13573
  " artifact (recommended) or a CSS theme with ",
@@ -13584,9 +13586,9 @@ function ImportModal({ open, onOpenChange, onImport, onImportArtifact }) {
13584
13586
  }
13585
13587
  )
13586
13588
  ] }) }),
13587
- /* @__PURE__ */ jsxs50("div", { className: "p-6 flex-1 overflow-y-auto space-y-4", children: [
13589
+ /* @__PURE__ */ jsxs49("div", { className: "p-6 flex-1 overflow-y-auto space-y-4", children: [
13588
13590
  error && /* @__PURE__ */ jsx79("div", { className: "rounded-lg border border-destructive bg-destructive/10 p-3", children: /* @__PURE__ */ jsx79("p", { className: "text-sm text-destructive", children: error }) }),
13589
- /* @__PURE__ */ jsxs50("div", { children: [
13591
+ /* @__PURE__ */ jsxs49("div", { children: [
13590
13592
  /* @__PURE__ */ jsx79("label", { className: "block text-sm font-medium mb-2", children: "Theme name" }),
13591
13593
  /* @__PURE__ */ jsx79(
13592
13594
  Input,
@@ -13601,7 +13603,7 @@ function ImportModal({ open, onOpenChange, onImport, onImportArtifact }) {
13601
13603
  }
13602
13604
  )
13603
13605
  ] }),
13604
- /* @__PURE__ */ jsxs50("div", { children: [
13606
+ /* @__PURE__ */ jsxs49("div", { children: [
13605
13607
  /* @__PURE__ */ jsx79("label", { className: "block text-sm font-medium mb-2", children: "Theme content" }),
13606
13608
  /* @__PURE__ */ jsx79(
13607
13609
  "textarea",
@@ -13637,7 +13639,7 @@ function ImportModal({ open, onOpenChange, onImport, onImportArtifact }) {
13637
13639
  )
13638
13640
  ] })
13639
13641
  ] }),
13640
- /* @__PURE__ */ jsxs50("div", { className: "p-6 border-t border-border flex justify-end gap-2", children: [
13642
+ /* @__PURE__ */ jsxs49("div", { className: "p-6 border-t border-border flex justify-end gap-2", children: [
13641
13643
  /* @__PURE__ */ jsx79(
13642
13644
  Button,
13643
13645
  {
@@ -13666,7 +13668,7 @@ function ImportModal({ open, onOpenChange, onImport, onImportArtifact }) {
13666
13668
  __name(ImportModal, "ImportModal");
13667
13669
 
13668
13670
  // components/theme-customizer/index.tsx
13669
- import { Fragment as Fragment9, jsx as jsx80, jsxs as jsxs51 } from "react/jsx-runtime";
13671
+ import { Fragment as Fragment9, jsx as jsx80, jsxs as jsxs50 } from "react/jsx-runtime";
13670
13672
  function ThemeCustomizer({
13671
13673
  open,
13672
13674
  onOpenChange,
@@ -13717,15 +13719,15 @@ function ThemeCustomizer({
13717
13719
  applyRadius2(selectedRadius);
13718
13720
  }, []);
13719
13721
  if (!open && !inline) return null;
13720
- const content = /* @__PURE__ */ jsxs51(
13722
+ const content = /* @__PURE__ */ jsxs50(
13721
13723
  "div",
13722
13724
  {
13723
13725
  className: inline ? "flex flex-col h-full" : "fixed inset-y-0 right-0 z-50 w-96 bg-card text-card-foreground border-l border-border shadow-lg flex flex-col",
13724
13726
  children: [
13725
- !hideHeader && /* @__PURE__ */ jsx80("div", { className: "p-4 border-b border-border", children: /* @__PURE__ */ jsxs51("div", { className: "flex items-center gap-2", children: [
13727
+ !hideHeader && /* @__PURE__ */ jsx80("div", { className: "p-4 border-b border-border", children: /* @__PURE__ */ jsxs50("div", { className: "flex items-center gap-2", children: [
13726
13728
  /* @__PURE__ */ jsx80("div", { className: "p-2 bg-primary/10 rounded-lg", children: /* @__PURE__ */ jsx80(Settings, { className: "w-4 h-4 text-primary" }) }),
13727
13729
  /* @__PURE__ */ jsx80("h2", { className: "text-lg font-semibold", children: "Customizer" }),
13728
- /* @__PURE__ */ jsxs51("div", { className: "ml-auto flex items-center gap-2", children: [
13730
+ /* @__PURE__ */ jsxs50("div", { className: "ml-auto flex items-center gap-2", children: [
13729
13731
  /* @__PURE__ */ jsx80(Button, { variant: "ghost", size: "sm", onClick: handleReset, children: "Reset" }),
13730
13732
  !inline && /* @__PURE__ */ jsx80(
13731
13733
  Button,
@@ -13741,7 +13743,7 @@ function ThemeCustomizer({
13741
13743
  )
13742
13744
  ] })
13743
13745
  ] }) }),
13744
- /* @__PURE__ */ jsxs51("div", { className: "flex-1 overflow-y-auto min-h-0", children: [
13746
+ /* @__PURE__ */ jsxs50("div", { className: "flex-1 overflow-y-auto min-h-0", children: [
13745
13747
  sectionProp === "colors" && /* @__PURE__ */ jsx80(
13746
13748
  ThemeTab,
13747
13749
  {
@@ -13766,7 +13768,7 @@ function ThemeCustomizer({
13766
13768
  onSidebarConfigChange
13767
13769
  }
13768
13770
  ) }),
13769
- !sectionProp && /* @__PURE__ */ jsxs51(Fragment9, { children: [
13771
+ !sectionProp && /* @__PURE__ */ jsxs50(Fragment9, { children: [
13770
13772
  /* @__PURE__ */ jsx80(
13771
13773
  ThemeTab,
13772
13774
  {
@@ -13792,7 +13794,7 @@ function ThemeCustomizer({
13792
13794
  ]
13793
13795
  }
13794
13796
  );
13795
- return /* @__PURE__ */ jsxs51(Fragment9, { children: [
13797
+ return /* @__PURE__ */ jsxs50(Fragment9, { children: [
13796
13798
  content,
13797
13799
  !inline && /* @__PURE__ */ jsx80(
13798
13800
  "div",
@@ -13929,7 +13931,7 @@ function loadGoogleFontsForFontValue(value) {
13929
13931
  __name(loadGoogleFontsForFontValue, "loadGoogleFontsForFontValue");
13930
13932
 
13931
13933
  // components/theme-customizer/typography-panel.tsx
13932
- import { jsx as jsx81, jsxs as jsxs52 } from "react/jsx-runtime";
13934
+ import { jsx as jsx81, jsxs as jsxs51 } from "react/jsx-runtime";
13933
13935
  function getComputedTypography() {
13934
13936
  if (typeof document === "undefined") return {};
13935
13937
  const root = document.documentElement;
@@ -13965,15 +13967,15 @@ function TypographyPanel() {
13965
13967
  }
13966
13968
  }
13967
13969
  }, "handleChange");
13968
- return /* @__PURE__ */ jsxs52("div", { className: "space-y-4 pt-5 pb-2", children: [
13969
- /* @__PURE__ */ jsxs52("p", { className: "text-xs text-muted-foreground px-0", children: [
13970
+ return /* @__PURE__ */ jsxs51("div", { className: "space-y-4 pt-5 pb-2", children: [
13971
+ /* @__PURE__ */ jsxs51("p", { className: "text-xs text-muted-foreground px-0", children: [
13970
13972
  "Fonts use the theme preset and can load from Google Fonts when selected. Letter spacing uses ",
13971
13973
  /* @__PURE__ */ jsx81("code", { className: "text-xs", children: "--tracking-normal" }),
13972
13974
  "."
13973
13975
  ] }),
13974
- /* @__PURE__ */ jsx81(CollapsibleSection, { title: "Font Family", open: fontOpen, onToggle: () => setFontOpen((o) => !o), children: /* @__PURE__ */ jsxs52("div", { className: "space-y-3 pt-2", children: [
13975
- /* @__PURE__ */ jsxs52("div", { children: [
13976
- /* @__PURE__ */ jsxs52("div", { className: "flex items-center justify-between mb-1.5", children: [
13976
+ /* @__PURE__ */ jsx81(CollapsibleSection, { title: "Font Family", open: fontOpen, onToggle: () => setFontOpen((o) => !o), children: /* @__PURE__ */ jsxs51("div", { className: "space-y-3 pt-2", children: [
13977
+ /* @__PURE__ */ jsxs51("div", { children: [
13978
+ /* @__PURE__ */ jsxs51("div", { className: "flex items-center justify-between mb-1.5", children: [
13977
13979
  /* @__PURE__ */ jsx81("label", { className: "block text-xs font-medium text-muted-foreground", children: "Sans-serif font" }),
13978
13980
  loadingFonts["--font-sans"] && /* @__PURE__ */ jsx81("span", { className: "text-xs text-muted-foreground", children: "Loading..." })
13979
13981
  ] }),
@@ -13988,8 +13990,8 @@ function TypographyPanel() {
13988
13990
  }
13989
13991
  )
13990
13992
  ] }),
13991
- /* @__PURE__ */ jsxs52("div", { children: [
13992
- /* @__PURE__ */ jsxs52("div", { className: "flex items-center justify-between mb-1.5", children: [
13993
+ /* @__PURE__ */ jsxs51("div", { children: [
13994
+ /* @__PURE__ */ jsxs51("div", { className: "flex items-center justify-between mb-1.5", children: [
13993
13995
  /* @__PURE__ */ jsx81("label", { className: "block text-xs font-medium text-muted-foreground", children: "Serif font" }),
13994
13996
  loadingFonts["--font-serif"] && /* @__PURE__ */ jsx81("span", { className: "text-xs text-muted-foreground", children: "Loading..." })
13995
13997
  ] }),
@@ -14007,8 +14009,8 @@ function TypographyPanel() {
14007
14009
  }
14008
14010
  )
14009
14011
  ] }),
14010
- /* @__PURE__ */ jsxs52("div", { children: [
14011
- /* @__PURE__ */ jsxs52("div", { className: "flex items-center justify-between mb-1.5", children: [
14012
+ /* @__PURE__ */ jsxs51("div", { children: [
14013
+ /* @__PURE__ */ jsxs51("div", { className: "flex items-center justify-between mb-1.5", children: [
14012
14014
  /* @__PURE__ */ jsx81("label", { className: "block text-xs font-medium text-muted-foreground", children: "Monospace Font" }),
14013
14015
  loadingFonts["--font-mono"] && /* @__PURE__ */ jsx81("span", { className: "text-xs text-muted-foreground", children: "Loading..." })
14014
14016
  ] }),
@@ -14024,7 +14026,7 @@ function TypographyPanel() {
14024
14026
  )
14025
14027
  ] })
14026
14028
  ] }) }),
14027
- /* @__PURE__ */ jsx81(CollapsibleSection, { title: "Letter spacing", open: letterOpen, onToggle: () => setLetterOpen((o) => !o), children: /* @__PURE__ */ jsxs52("div", { className: "pt-2", children: [
14029
+ /* @__PURE__ */ jsx81(CollapsibleSection, { title: "Letter spacing", open: letterOpen, onToggle: () => setLetterOpen((o) => !o), children: /* @__PURE__ */ jsxs51("div", { className: "pt-2", children: [
14028
14030
  /* @__PURE__ */ jsx81("label", { className: "block text-xs font-medium text-muted-foreground mb-1.5", children: "Letter spacing (em) \u2014 CSS var: --tracking-normal" }),
14029
14031
  /* @__PURE__ */ jsx81(
14030
14032
  Input,
@@ -14042,7 +14044,7 @@ function TypographyPanel() {
14042
14044
  __name(TypographyPanel, "TypographyPanel");
14043
14045
 
14044
14046
  // layout-primitives.tsx
14045
- import { jsx as jsx82, jsxs as jsxs53 } from "react/jsx-runtime";
14047
+ import { jsx as jsx82, jsxs as jsxs52 } from "react/jsx-runtime";
14046
14048
  var maxWidthClasses = {
14047
14049
  sm: "max-w-screen-sm",
14048
14050
  md: "max-w-screen-md",
@@ -14091,8 +14093,8 @@ function Page({
14091
14093
  className,
14092
14094
  ...props
14093
14095
  }) {
14094
- return /* @__PURE__ */ jsx82("div", { className: cn("min-h-screen", className), ...props, children: /* @__PURE__ */ jsxs53(Container, { maxWidth, padding, children: [
14095
- (title || description) && /* @__PURE__ */ jsxs53("div", { className: "mb-8", children: [
14096
+ return /* @__PURE__ */ jsx82("div", { className: cn("min-h-screen", className), ...props, children: /* @__PURE__ */ jsxs52(Container, { maxWidth, padding, children: [
14097
+ (title || description) && /* @__PURE__ */ jsxs52("div", { className: "mb-8", children: [
14096
14098
  title && /* @__PURE__ */ jsx82("h1", { className: "text-2xl md:text-3xl font-bold text-foreground mb-2", children: title }),
14097
14099
  description && /* @__PURE__ */ jsx82("p", { className: "text-muted-foreground", children: description })
14098
14100
  ] }),
@@ -14109,8 +14111,8 @@ function Section({
14109
14111
  className,
14110
14112
  ...props
14111
14113
  }) {
14112
- return /* @__PURE__ */ jsx82("section", { className: cn("py-8 md:py-12", className), ...props, children: /* @__PURE__ */ jsxs53(Container, { maxWidth, padding, children: [
14113
- (title || description) && /* @__PURE__ */ jsxs53("div", { className: "mb-6", children: [
14114
+ return /* @__PURE__ */ jsx82("section", { className: cn("py-8 md:py-12", className), ...props, children: /* @__PURE__ */ jsxs52(Container, { maxWidth, padding, children: [
14115
+ (title || description) && /* @__PURE__ */ jsxs52("div", { className: "mb-6", children: [
14114
14116
  title && /* @__PURE__ */ jsx82("h2", { className: "text-xl md:text-2xl font-bold text-foreground mb-2", children: title }),
14115
14117
  description && /* @__PURE__ */ jsx82("p", { className: "text-muted-foreground", children: description })
14116
14118
  ] }),
@@ -14200,7 +14202,7 @@ __name(Stack, "Stack");
14200
14202
  // blocks/header/header-block.tsx
14201
14203
  import { useState as useState22, useEffect as useEffect15 } from "react";
14202
14204
  import { Menu as Menu3, ChevronDown as ChevronDown8 } from "lucide-react";
14203
- import { jsx as jsx83, jsxs as jsxs54 } from "react/jsx-runtime";
14205
+ import { jsx as jsx83, jsxs as jsxs53 } from "react/jsx-runtime";
14204
14206
  var DefaultLink = /* @__PURE__ */ __name(({ href, className, children, onClick }) => /* @__PURE__ */ jsx83("a", { href, className, onClick, children }), "DefaultLink");
14205
14207
  function HeaderBlock({
14206
14208
  data,
@@ -14220,14 +14222,14 @@ function HeaderBlock({
14220
14222
  }, []);
14221
14223
  const renderDesktopMenuItem = /* @__PURE__ */ __name((item) => {
14222
14224
  if (item.type === "dropdown" && item.children) {
14223
- return /* @__PURE__ */ jsxs54(DropdownMenu, { children: [
14224
- /* @__PURE__ */ jsxs54(DropdownMenuTrigger, { className: "flex items-center gap-1 px-3 py-2 text-sm font-medium text-muted-foreground hover:text-foreground transition-colors outline-none focus-visible:ring-2 focus-visible:ring-ring rounded-md", children: [
14225
+ return /* @__PURE__ */ jsxs53(DropdownMenu, { children: [
14226
+ /* @__PURE__ */ jsxs53(DropdownMenuTrigger, { className: "flex items-center gap-1 px-3 py-2 text-sm font-medium text-muted-foreground hover:text-foreground transition-colors outline-none focus-visible:ring-2 focus-visible:ring-ring rounded-md", children: [
14225
14227
  item.title,
14226
14228
  /* @__PURE__ */ jsx83(ChevronDown8, { className: "w-4 h-4" })
14227
14229
  ] }),
14228
14230
  /* @__PURE__ */ jsx83(DropdownMenuContent, { align: "start", className: "w-56", children: item.children.map((child) => {
14229
14231
  if (child.type === "dropdown") {
14230
- return /* @__PURE__ */ jsxs54(DropdownMenuSub, { children: [
14232
+ return /* @__PURE__ */ jsxs53(DropdownMenuSub, { children: [
14231
14233
  /* @__PURE__ */ jsx83(DropdownMenuSubTrigger, { children: child.title }),
14232
14234
  /* @__PURE__ */ jsx83(DropdownMenuSubContent, { children: child.children?.map((sub) => /* @__PURE__ */ jsx83(DropdownMenuItem, { asChild: true, children: /* @__PURE__ */ jsx83(LinkComponent, { href: sub.href || "#", className: "cursor-pointer w-full", children: sub.title }) }, sub.id)) })
14233
14235
  ] }, child.id);
@@ -14254,7 +14256,7 @@ function HeaderBlock({
14254
14256
  sticky ? "fixed top-0 md:top-6" : "relative",
14255
14257
  className
14256
14258
  ),
14257
- children: /* @__PURE__ */ jsx83(Container, { children: /* @__PURE__ */ jsxs54(
14259
+ children: /* @__PURE__ */ jsx83(Container, { children: /* @__PURE__ */ jsxs53(
14258
14260
  "div",
14259
14261
  {
14260
14262
  className: cn(
@@ -14265,7 +14267,7 @@ function HeaderBlock({
14265
14267
  children: [
14266
14268
  /* @__PURE__ */ jsx83("div", { className: "flex items-center shrink-0", children: LogoComponent }),
14267
14269
  /* @__PURE__ */ jsx83("nav", { className: "hidden md:flex md:gap-1 lg:gap-2", children: data.items.map(renderDesktopMenuItem) }),
14268
- /* @__PURE__ */ jsxs54("div", { className: "flex items-center gap-3", children: [
14270
+ /* @__PURE__ */ jsxs53("div", { className: "flex items-center gap-3", children: [
14269
14271
  slots.rightActionSlot,
14270
14272
  /* @__PURE__ */ jsx83("div", { className: "hidden md:flex gap-3", children: data.ctaItems?.map((cta, idx) => /* @__PURE__ */ jsx83(
14271
14273
  Button,
@@ -14278,11 +14280,11 @@ function HeaderBlock({
14278
14280
  },
14279
14281
  idx
14280
14282
  )) }),
14281
- /* @__PURE__ */ jsx83("div", { className: "md:hidden", children: /* @__PURE__ */ jsxs54(Sheet, { children: [
14283
+ /* @__PURE__ */ jsx83("div", { className: "md:hidden", children: /* @__PURE__ */ jsxs53(Sheet, { children: [
14282
14284
  /* @__PURE__ */ jsx83(SheetTrigger, { asChild: true, children: /* @__PURE__ */ jsx83("button", { className: "p-2 text-muted-foreground hover:text-foreground", children: slots.menuIcon || /* @__PURE__ */ jsx83(Menu3, { className: "w-5 h-5" }) }) }),
14283
- /* @__PURE__ */ jsxs54(SheetContent, { side: "right", className: "w-[300px] sm:w-[400px]", children: [
14285
+ /* @__PURE__ */ jsxs53(SheetContent, { side: "right", className: "w-[300px] sm:w-[400px]", children: [
14284
14286
  /* @__PURE__ */ jsx83(SheetHeader, { className: "px-1 text-left", children: /* @__PURE__ */ jsx83(SheetTitle, { className: "text-lg font-bold", children: "Menu" }) }),
14285
- /* @__PURE__ */ jsxs54("div", { className: "flex flex-col gap-6 mt-6 overflow-y-auto", children: [
14287
+ /* @__PURE__ */ jsxs53("div", { className: "flex flex-col gap-6 mt-6 overflow-y-auto", children: [
14286
14288
  /* @__PURE__ */ jsx83("nav", { className: "flex flex-col space-y-4", children: data.items.map((item) => /* @__PURE__ */ jsx83("div", { className: "flex flex-col gap-2", children: item.type === "link" ? /* @__PURE__ */ jsx83(SheetClose, { asChild: true, children: /* @__PURE__ */ jsx83(
14287
14289
  LinkComponent,
14288
14290
  {
@@ -14290,7 +14292,7 @@ function HeaderBlock({
14290
14292
  className: "text-lg font-medium text-foreground py-1",
14291
14293
  children: item.title
14292
14294
  }
14293
- ) }) : /* @__PURE__ */ jsxs54("div", { className: "flex flex-col gap-2", children: [
14295
+ ) }) : /* @__PURE__ */ jsxs53("div", { className: "flex flex-col gap-2", children: [
14294
14296
  /* @__PURE__ */ jsx83("span", { className: "text-sm font-semibold text-muted-foreground uppercase tracking-wide", children: item.title }),
14295
14297
  /* @__PURE__ */ jsx83("div", { className: "pl-4 flex flex-col gap-2 border-l border-border ml-1", children: item.children?.map((child) => /* @__PURE__ */ jsx83(SheetClose, { asChild: true, children: /* @__PURE__ */ jsx83(
14296
14298
  LinkComponent,
@@ -14325,7 +14327,7 @@ __name(HeaderBlock, "HeaderBlock");
14325
14327
  // blocks/footer/footer-block.tsx
14326
14328
  import React48 from "react";
14327
14329
  import { Twitter, Instagram, Facebook, Youtube, Linkedin, Hash, Github } from "lucide-react";
14328
- import { jsx as jsx84, jsxs as jsxs55 } from "react/jsx-runtime";
14330
+ import { jsx as jsx84, jsxs as jsxs54 } from "react/jsx-runtime";
14329
14331
  var DefaultLink2 = /* @__PURE__ */ __name(({ href, className, children, target, rel }) => /* @__PURE__ */ jsx84("a", { href, className, target, rel, children }), "DefaultLink");
14330
14332
  function SocialIconRenderer({ icon }) {
14331
14333
  if (React48.isValidElement(icon)) return icon;
@@ -14360,8 +14362,8 @@ function FooterBlock({
14360
14362
  const LinkComponent = slots.linkComponent || DefaultLink2;
14361
14363
  const LogoComponent = slots.logo || /* @__PURE__ */ jsx84(Logo, {});
14362
14364
  const { branding, columns, social, legal } = data;
14363
- return /* @__PURE__ */ jsxs55("footer", { className: cn("bg-background text-foreground", className), children: [
14364
- /* @__PURE__ */ jsx84(Container, { children: /* @__PURE__ */ jsxs55(
14365
+ return /* @__PURE__ */ jsxs54("footer", { className: cn("bg-background text-foreground", className), children: [
14366
+ /* @__PURE__ */ jsx84(Container, { children: /* @__PURE__ */ jsxs54(
14365
14367
  "div",
14366
14368
  {
14367
14369
  className: cn(
@@ -14369,9 +14371,9 @@ function FooterBlock({
14369
14371
  border && "border-t border-border"
14370
14372
  ),
14371
14373
  children: [
14372
- /* @__PURE__ */ jsxs55("div", { className: "space-y-4 sm:col-span-12 lg:col-span-4", children: [
14374
+ /* @__PURE__ */ jsxs54("div", { className: "space-y-4 sm:col-span-12 lg:col-span-4", children: [
14373
14375
  /* @__PURE__ */ jsx84("div", { className: "-ml-3 flex items-center", children: LogoComponent }),
14374
- /* @__PURE__ */ jsxs55("div", { className: "text-sm text-muted-foreground", children: [
14376
+ /* @__PURE__ */ jsxs54("div", { className: "text-sm text-muted-foreground", children: [
14375
14377
  "\xA9 ",
14376
14378
  (/* @__PURE__ */ new Date()).getFullYear(),
14377
14379
  " ",
@@ -14390,12 +14392,12 @@ function FooterBlock({
14390
14392
  ". ",
14391
14393
  branding.copyrightText
14392
14394
  ] }),
14393
- legal && legal.length > 0 && /* @__PURE__ */ jsx84("div", { className: "text-sm text-muted-foreground flex flex-wrap gap-2", children: legal.map((item, index) => /* @__PURE__ */ jsxs55("span", { className: "flex items-center gap-2", children: [
14395
+ legal && legal.length > 0 && /* @__PURE__ */ jsx84("div", { className: "text-sm text-muted-foreground flex flex-wrap gap-2", children: legal.map((item, index) => /* @__PURE__ */ jsxs54("span", { className: "flex items-center gap-2", children: [
14394
14396
  /* @__PURE__ */ jsx84(LinkComponent, { href: item.href, className: "hover:text-foreground transition-colors", children: item.title }),
14395
14397
  index < legal.length - 1 && /* @__PURE__ */ jsx84("span", { className: "opacity-50", children: "|" })
14396
14398
  ] }, index)) })
14397
14399
  ] }),
14398
- columns.map((col, idx) => /* @__PURE__ */ jsxs55("div", { className: "space-y-3 sm:col-span-6 md:col-span-3 lg:col-span-2", children: [
14400
+ columns.map((col, idx) => /* @__PURE__ */ jsxs54("div", { className: "space-y-3 sm:col-span-6 md:col-span-3 lg:col-span-2", children: [
14399
14401
  /* @__PURE__ */ jsx84("h3", { className: "text-sm font-semibold tracking-wider uppercase text-foreground", children: col.title }),
14400
14402
  /* @__PURE__ */ jsx84("ul", { className: "space-y-2.5 text-sm", children: col.links.map((link, lIdx) => /* @__PURE__ */ jsx84("li", { children: /* @__PURE__ */ jsx84(
14401
14403
  LinkComponent,
@@ -14406,7 +14408,7 @@ function FooterBlock({
14406
14408
  }
14407
14409
  ) }, lIdx)) })
14408
14410
  ] }, idx)),
14409
- /* @__PURE__ */ jsxs55("div", { className: "space-y-3 sm:col-span-6 md:col-span-3 lg:col-span-2", children: [
14411
+ /* @__PURE__ */ jsxs54("div", { className: "space-y-3 sm:col-span-6 md:col-span-3 lg:col-span-2", children: [
14410
14412
  /* @__PURE__ */ jsx84("h3", { className: "text-sm font-semibold tracking-wider uppercase text-foreground", children: "Social" }),
14411
14413
  social && /* @__PURE__ */ jsx84("ul", { className: "flex flex-wrap gap-3 items-center", children: social.map((item, idx) => /* @__PURE__ */ jsx84("li", { children: /* @__PURE__ */ jsx84(
14412
14414
  LinkComponent,