@alexgorbatchev/shadcn 0.0.49 → 0.0.51

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.
Files changed (34) hide show
  1. package/README.md +2 -2
  2. package/dist/{chunk-jhvy8jay.js → chunk-268pbhj1.js} +361 -434
  3. package/dist/{chunk-880zr7gb.js → chunk-p894n7r6.js} +9 -22
  4. package/dist/{chunk-t6w8vcvf.js → chunk-rc99vk8d.js} +19 -1
  5. package/dist/chunk-xfryhw7e.js +225 -0
  6. package/dist/{chunk-trwye0d6.js → chunk-yrp7xtb5.js} +21 -1
  7. package/dist/{chunk-62ggz655.js → chunk-zs4h45d8.js} +8 -9
  8. package/dist/components/FilterBar.d.ts +2 -0
  9. package/dist/components/OptionSelect.d.ts +29 -0
  10. package/dist/components/PageIntro.d.ts +22 -0
  11. package/dist/components/assistant-ui/native/McpConfigDialog.js +2 -1
  12. package/dist/components/assistant-ui/native/index.js +2 -1
  13. package/dist/components/calendar/Calendar.d.ts +3 -2
  14. package/dist/components/calendar/index.js +2 -1
  15. package/dist/components/data-grid/index.js +2 -2
  16. package/dist/components/gantt/index.js +9 -19
  17. package/dist/components/json-render/index.js +9 -8
  18. package/dist/components/persian-calendar/index.js +5 -3
  19. package/dist/components/virtual-data-grid/index.js +2 -2
  20. package/dist/index.d.ts +4 -1
  21. package/dist/index.js +18 -20
  22. package/dist/prototype.js +1 -1
  23. package/llms/components/data-display/Table.md +1 -1
  24. package/llms/components/forms/OptionSelect.md +100 -0
  25. package/llms/components/layout/PageIntro.md +102 -0
  26. package/llms/components/navigation/ContextMenu.md +25 -25
  27. package/llms/setup.md +2 -2
  28. package/llms.txt +2 -1
  29. package/package.json +1 -1
  30. package/templates/prototype/src/components/Workbench.tsx +45 -35
  31. package/templates/prototype/src/prototypes/dashboard/components/Dashboard.tsx +8 -7
  32. package/dist/chunk-sp4g23m0.js +0 -60
  33. package/dist/components/NativeSelect.d.ts +0 -12
  34. package/llms/components/forms/NativeSelect.md +0 -136
@@ -109,6 +109,15 @@ import {
109
109
  EmptyDescription2,
110
110
  EmptyContent2
111
111
  } from "./chunk-4e96tpw0.js";
112
+ import {
113
+ Select2,
114
+ SelectGroup2,
115
+ SelectValue2,
116
+ SelectTrigger2,
117
+ SelectContent2,
118
+ SelectItem2,
119
+ OptionSelect2
120
+ } from "./chunk-xfryhw7e.js";
112
121
  import {
113
122
  ThemeContext
114
123
  } from "./chunk-1j2hz3w9.js";
@@ -123,10 +132,6 @@ import {
123
132
  import {
124
133
  Spinner2
125
134
  } from "./chunk-t3p4dn1p.js";
126
- import {
127
- NativeSelect2,
128
- NativeSelectOption2
129
- } from "./chunk-sp4g23m0.js";
130
135
  import {
131
136
  useLinkAnalyticsCallback,
132
137
  AnalyticsLink
@@ -772,163 +777,10 @@ function AlertDialogCancel2({
772
777
  ...props
773
778
  });
774
779
  }
775
- // src/components/Select.tsx
776
- import { Select as SelectPrimitive } from "@base-ui/react/select";
777
- import { useDirection as useDirection4 } from "@base-ui/react/direction-provider";
778
- import { ChevronDownIcon as ChevronDownIcon2, CheckIcon, ChevronUpIcon as ChevronUpIcon2 } from "lucide-react";
779
- import { jsx as jsx11, jsxs as jsxs8 } from "react/jsx-runtime";
780
- "use client";
781
- function Select2({
782
- analytics,
783
- ...props
784
- }) {
785
- const onValueChange = useAnalyticsCallback("Select", analytics, { name: "ui.change-request" }, props.onValueChange);
786
- const onOpenChange = useAnalyticsCallback("Select", analytics, (open, _details) => ({ name: "ui.open-request", open }), props.onOpenChange);
787
- return /* @__PURE__ */ jsx11(SelectPrimitive.Root, {
788
- ...props,
789
- onValueChange,
790
- onOpenChange
791
- });
792
- }
793
- function SelectGroup2({ density, className, ...props }) {
794
- return /* @__PURE__ */ jsx11(SelectPrimitive.Group, {
795
- "data-density": density,
796
- "data-slot": "select-group",
797
- className: (state) => cn2("scroll-my-1 p-1", typeof className === "function" ? className(state) : className),
798
- ...props
799
- });
800
- }
801
- function SelectValue2({ density, className, ...props }) {
802
- return /* @__PURE__ */ jsx11(SelectPrimitive.Value, {
803
- "data-density": density,
804
- "data-slot": "select-value",
805
- className: (state) => cn2("flex flex-1 text-start", typeof className === "function" ? className(state) : className),
806
- ...props
807
- });
808
- }
809
- function SelectTrigger2({ density, className, size = "default", children, ...props }) {
810
- return /* @__PURE__ */ jsxs8(SelectPrimitive.Trigger, {
811
- "data-density": density,
812
- "data-slot": "select-trigger",
813
- "data-size": size,
814
- className: (state) => cn2("flex w-fit items-center justify-between gap-control-gap rounded-sm border border-input bg-transparent py-2 pe-2 ps-2.5 text-sm whitespace-nowrap transition-colors outline-none select-none focus-visible:border-ring focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive data-placeholder:text-muted-foreground data-[size=default]:h-control data-[size=sm]:h-control-sm data-[size=sm]:rounded-sm *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-control-gap [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", typeof className === "function" ? className(state) : className),
815
- ...props,
816
- children: [
817
- children,
818
- /* @__PURE__ */ jsx11(SelectPrimitive.Icon, {
819
- render: /* @__PURE__ */ jsx11(ChevronDownIcon2, {
820
- className: "pointer-events-none size-4 text-muted-foreground"
821
- })
822
- })
823
- ]
824
- });
825
- }
826
- function SelectContent2({
827
- density,
828
- className,
829
- children,
830
- side = "bottom",
831
- sideOffset = 4,
832
- align = "center",
833
- alignOffset = 0,
834
- alignItemWithTrigger = true,
835
- ...props
836
- }) {
837
- const resolvedDensity = useDensity(density);
838
- const direction = useDirection4();
839
- const container = usePortalContainer2();
840
- const portal = usePortalNode();
841
- return /* @__PURE__ */ jsx11(SelectPrimitive.Portal, {
842
- container,
843
- ref: portal.ref,
844
- children: /* @__PURE__ */ jsx11(PortalProvider2, {
845
- container: portal.node,
846
- children: /* @__PURE__ */ jsx11(SelectPrimitive.Positioner, {
847
- side,
848
- sideOffset,
849
- align,
850
- alignOffset,
851
- alignItemWithTrigger,
852
- className: "isolate ",
853
- children: /* @__PURE__ */ jsxs8(SelectPrimitive.Popup, {
854
- dir: direction,
855
- "data-density": resolvedDensity,
856
- "data-slot": "select-content",
857
- "data-align-trigger": alignItemWithTrigger,
858
- className: (state) => cn2("relative isolate max-h-(--available-height) w-(--anchor-width) min-w-36 origin-(--transform-origin) overflow-x-hidden overflow-y-auto rounded-md bg-popover text-popover-foreground border border-frame-edge shadow-frame duration-120 data-[align-trigger=true]:animate-none data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0 motion-reduce:animate-none", typeof className === "function" ? className(state) : className),
859
- ...props,
860
- children: [
861
- /* @__PURE__ */ jsx11(SelectScrollUpButton2, {}),
862
- /* @__PURE__ */ jsx11(SelectPrimitive.List, {
863
- children
864
- }),
865
- /* @__PURE__ */ jsx11(SelectScrollDownButton2, {})
866
- ]
867
- })
868
- })
869
- })
870
- });
871
- }
872
- function SelectLabel2({ density, className, ...props }) {
873
- return /* @__PURE__ */ jsx11(SelectPrimitive.GroupLabel, {
874
- "data-density": density,
875
- "data-slot": "select-label",
876
- className: (state) => cn2("px-1.5 py-1 text-xs text-muted-foreground", typeof className === "function" ? className(state) : className),
877
- ...props
878
- });
879
- }
880
- function SelectItem2({ density, className, children, ...props }) {
881
- return /* @__PURE__ */ jsxs8(SelectPrimitive.Item, {
882
- "data-density": density,
883
- "data-slot": "select-item",
884
- className: (state) => cn2("relative flex w-full cursor-default items-center gap-control-gap rounded-md py-1 pe-8 ps-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2", typeof className === "function" ? className(state) : className),
885
- ...props,
886
- children: [
887
- /* @__PURE__ */ jsx11(SelectPrimitive.ItemText, {
888
- className: "flex flex-1 shrink-0 gap-2 whitespace-nowrap",
889
- children
890
- }),
891
- /* @__PURE__ */ jsx11(SelectPrimitive.ItemIndicator, {
892
- render: /* @__PURE__ */ jsx11("span", {
893
- className: "pointer-events-none absolute end-2 flex size-4 items-center justify-center"
894
- }),
895
- children: /* @__PURE__ */ jsx11(CheckIcon, {
896
- className: "pointer-events-none"
897
- })
898
- })
899
- ]
900
- });
901
- }
902
- function SelectSeparator2({ density, className, ...props }) {
903
- return /* @__PURE__ */ jsx11(SelectPrimitive.Separator, {
904
- "data-density": density,
905
- "data-slot": "select-separator",
906
- className: (state) => cn2("pointer-events-none -mx-1 my-1 h-px bg-border", typeof className === "function" ? className(state) : className),
907
- ...props
908
- });
909
- }
910
- function SelectScrollUpButton2({ density, className, ...props }) {
911
- return /* @__PURE__ */ jsx11(SelectPrimitive.ScrollUpArrow, {
912
- "data-density": density,
913
- "data-slot": "select-scroll-up-button",
914
- className: (state) => cn2("top-0 flex w-full cursor-default items-center justify-center bg-popover py-1 [&_svg:not([class*='size-'])]:size-4", typeof className === "function" ? className(state) : className),
915
- ...props,
916
- children: /* @__PURE__ */ jsx11(ChevronUpIcon2, {})
917
- });
918
- }
919
- function SelectScrollDownButton2({ density, className, ...props }) {
920
- return /* @__PURE__ */ jsx11(SelectPrimitive.ScrollDownArrow, {
921
- "data-density": density,
922
- "data-slot": "select-scroll-down-button",
923
- className: (state) => cn2("bottom-0 flex w-full cursor-default items-center justify-center bg-popover py-1 [&_svg:not([class*='size-'])]:size-4", typeof className === "function" ? className(state) : className),
924
- ...props,
925
- children: /* @__PURE__ */ jsx11(ChevronDownIcon2, {})
926
- });
927
- }
928
780
  // src/components/DensityProvider.tsx
929
781
  import { mergeProps as mergeProps2 } from "@base-ui/react/merge-props";
930
782
  import { useRender as useRender2 } from "@base-ui/react/use-render";
931
- import { jsx as jsx12 } from "react/jsx-runtime";
783
+ import { jsx as jsx11 } from "react/jsx-runtime";
932
784
  function DensityProvider2({
933
785
  density = "comfortable",
934
786
  className,
@@ -941,7 +793,7 @@ function DensityProvider2({
941
793
  render,
942
794
  state: { slot: "density-provider", density }
943
795
  });
944
- return /* @__PURE__ */ jsx12(DensityContext.Provider, {
796
+ return /* @__PURE__ */ jsx11(DensityContext.Provider, {
945
797
  value: density,
946
798
  children: element
947
799
  });
@@ -1254,7 +1106,7 @@ function ScrollGuard2({ ownerDocument }) {
1254
1106
  }
1255
1107
 
1256
1108
  // src/components/ThemeProvider.tsx
1257
- import { jsx as jsx13, jsxs as jsxs9 } from "react/jsx-runtime";
1109
+ import { jsx as jsx12, jsxs as jsxs8 } from "react/jsx-runtime";
1258
1110
  function StoredThemeProvider({
1259
1111
  children,
1260
1112
  defaultTheme = "system",
@@ -1265,7 +1117,7 @@ function StoredThemeProvider({
1265
1117
  defaultValue: defaultTheme,
1266
1118
  localStorageKey: storageKey
1267
1119
  });
1268
- return /* @__PURE__ */ jsx13(ThemePalette, {
1120
+ return /* @__PURE__ */ jsx12(ThemePalette, {
1269
1121
  theme: forcedTheme ?? ternaryDarkMode,
1270
1122
  resolvedTheme: forcedTheme ?? (isDarkMode ? "dark" : "light"),
1271
1123
  setTheme: setTernaryDarkMode,
@@ -1283,11 +1135,11 @@ function ThemePalette({
1283
1135
  document.documentElement.style.colorScheme = resolvedTheme;
1284
1136
  }, [resolvedTheme]);
1285
1137
  const value = useMemo(() => ({ theme, resolvedTheme, setTheme }), [theme, resolvedTheme, setTheme]);
1286
- return /* @__PURE__ */ jsxs9(ThemeContext.Provider, {
1138
+ return /* @__PURE__ */ jsxs8(ThemeContext.Provider, {
1287
1139
  value,
1288
1140
  children: [
1289
- /* @__PURE__ */ jsx13(ScrollGuard2, {}),
1290
- /* @__PURE__ */ jsx13(LayoutGuard2, {}),
1141
+ /* @__PURE__ */ jsx12(ScrollGuard2, {}),
1142
+ /* @__PURE__ */ jsx12(LayoutGuard2, {}),
1291
1143
  children
1292
1144
  ]
1293
1145
  });
@@ -1300,7 +1152,7 @@ function ControlledThemeProvider({
1300
1152
  const isDark = useMediaQuery("(prefers-color-scheme: dark)");
1301
1153
  const { theme, setTheme } = controlledTheme;
1302
1154
  const resolvedTheme = forcedTheme ?? (theme === "system" ? isDark ? "dark" : "light" : theme);
1303
- return /* @__PURE__ */ jsx13(ThemePalette, {
1155
+ return /* @__PURE__ */ jsx12(ThemePalette, {
1304
1156
  theme: forcedTheme ?? theme,
1305
1157
  resolvedTheme,
1306
1158
  setTheme,
@@ -1309,18 +1161,18 @@ function ControlledThemeProvider({
1309
1161
  }
1310
1162
  function ThemeProvider2(props) {
1311
1163
  if (props.controlledTheme)
1312
- return /* @__PURE__ */ jsx13(ControlledThemeProvider, {
1164
+ return /* @__PURE__ */ jsx12(ControlledThemeProvider, {
1313
1165
  ...props,
1314
1166
  controlledTheme: props.controlledTheme
1315
1167
  });
1316
- return /* @__PURE__ */ jsx13(StoredThemeProvider, {
1168
+ return /* @__PURE__ */ jsx12(StoredThemeProvider, {
1317
1169
  ...props
1318
1170
  });
1319
1171
  }
1320
1172
  // src/components/AspectRatio.tsx
1321
- import { jsx as jsx14 } from "react/jsx-runtime";
1173
+ import { jsx as jsx13 } from "react/jsx-runtime";
1322
1174
  function AspectRatio2({ ratio, className, style, ...props }) {
1323
- return /* @__PURE__ */ jsx14("div", {
1175
+ return /* @__PURE__ */ jsx13("div", {
1324
1176
  "data-slot": "aspect-ratio",
1325
1177
  className: cn2("relative", className),
1326
1178
  style: { aspectRatio: ratio, ...style },
@@ -1331,9 +1183,9 @@ function AspectRatio2({ ratio, className, style, ...props }) {
1331
1183
  import { ChevronRightIcon, MoreHorizontalIcon } from "lucide-react";
1332
1184
  import { mergeProps as mergeProps3 } from "@base-ui/react/merge-props";
1333
1185
  import { useRender as useRender3 } from "@base-ui/react/use-render";
1334
- import { jsx as jsx15, jsxs as jsxs10 } from "react/jsx-runtime";
1186
+ import { jsx as jsx14, jsxs as jsxs9 } from "react/jsx-runtime";
1335
1187
  function Breadcrumb2({ density, className, ...props }) {
1336
- return /* @__PURE__ */ jsx15("nav", {
1188
+ return /* @__PURE__ */ jsx14("nav", {
1337
1189
  "aria-label": "breadcrumb",
1338
1190
  "data-density": density,
1339
1191
  "data-slot": "breadcrumb",
@@ -1342,7 +1194,7 @@ function Breadcrumb2({ density, className, ...props }) {
1342
1194
  });
1343
1195
  }
1344
1196
  function BreadcrumbList2({ density, className, ...props }) {
1345
- return /* @__PURE__ */ jsx15("ol", {
1197
+ return /* @__PURE__ */ jsx14("ol", {
1346
1198
  "data-density": density,
1347
1199
  "data-slot": "breadcrumb-list",
1348
1200
  className: cn2("flex flex-wrap items-center gap-control-gap text-sm wrap-break-word text-muted-foreground", className),
@@ -1350,7 +1202,7 @@ function BreadcrumbList2({ density, className, ...props }) {
1350
1202
  });
1351
1203
  }
1352
1204
  function BreadcrumbItem2({ density, className, ...props }) {
1353
- return /* @__PURE__ */ jsx15("li", {
1205
+ return /* @__PURE__ */ jsx14("li", {
1354
1206
  "data-density": density,
1355
1207
  "data-slot": "breadcrumb-item",
1356
1208
  className: cn2("inline-flex items-center gap-1", className),
@@ -1372,7 +1224,7 @@ function BreadcrumbLink2({ analytics, density, className, render, ...props }) {
1372
1224
  });
1373
1225
  }
1374
1226
  function BreadcrumbPage2({ density, className, ...props }) {
1375
- return /* @__PURE__ */ jsx15("span", {
1227
+ return /* @__PURE__ */ jsx14("span", {
1376
1228
  "data-density": density,
1377
1229
  "data-slot": "breadcrumb-page",
1378
1230
  role: "link",
@@ -1383,20 +1235,20 @@ function BreadcrumbPage2({ density, className, ...props }) {
1383
1235
  });
1384
1236
  }
1385
1237
  function BreadcrumbSeparator2({ density, children, className, ...props }) {
1386
- return /* @__PURE__ */ jsx15("li", {
1238
+ return /* @__PURE__ */ jsx14("li", {
1387
1239
  "data-density": density,
1388
1240
  "data-slot": "breadcrumb-separator",
1389
1241
  role: "presentation",
1390
1242
  "aria-hidden": "true",
1391
1243
  className: cn2("[&>svg]:size-3.5", className),
1392
1244
  ...props,
1393
- children: children ?? /* @__PURE__ */ jsx15(ChevronRightIcon, {
1245
+ children: children ?? /* @__PURE__ */ jsx14(ChevronRightIcon, {
1394
1246
  className: "rtl:rotate-180"
1395
1247
  })
1396
1248
  });
1397
1249
  }
1398
1250
  function BreadcrumbEllipsis2({ density, className, ...props }) {
1399
- return /* @__PURE__ */ jsxs10("span", {
1251
+ return /* @__PURE__ */ jsxs9("span", {
1400
1252
  "data-density": density,
1401
1253
  "data-slot": "breadcrumb-ellipsis",
1402
1254
  role: "presentation",
@@ -1404,8 +1256,8 @@ function BreadcrumbEllipsis2({ density, className, ...props }) {
1404
1256
  className: cn2("flex size-5 items-center justify-center [&>svg]:size-4", className),
1405
1257
  ...props,
1406
1258
  children: [
1407
- /* @__PURE__ */ jsx15(MoreHorizontalIcon, {}),
1408
- /* @__PURE__ */ jsx15("span", {
1259
+ /* @__PURE__ */ jsx14(MoreHorizontalIcon, {}),
1260
+ /* @__PURE__ */ jsx14("span", {
1409
1261
  className: "sr-only",
1410
1262
  children: "More"
1411
1263
  })
@@ -1416,7 +1268,7 @@ function BreadcrumbEllipsis2({ density, className, ...props }) {
1416
1268
  import { mergeProps as mergeProps4 } from "@base-ui/react/merge-props";
1417
1269
  import { useRender as useRender4 } from "@base-ui/react/use-render";
1418
1270
  import { cva } from "class-variance-authority";
1419
- import { jsx as jsx16 } from "react/jsx-runtime";
1271
+ import { jsx as jsx15 } from "react/jsx-runtime";
1420
1272
  var buttonGroupVariants2 = cva("flex w-fit items-stretch *:focus-visible:relative *:focus-visible:z-10 has-[>[data-slot=button-group]]:gap-2 has-[select[aria-hidden=true]:last-child]:[&>[data-slot=select-trigger]:last-of-type]:rounded-e-sm [&>[data-slot=select-trigger]:not([class*='w-'])]:w-fit [&>input]:flex-1", {
1421
1273
  variants: {
1422
1274
  layout: {
@@ -1439,7 +1291,7 @@ function ButtonGroup2({
1439
1291
  layout = "content",
1440
1292
  ...props
1441
1293
  }) {
1442
- return /* @__PURE__ */ jsx16("div", {
1294
+ return /* @__PURE__ */ jsx15("div", {
1443
1295
  role: "group",
1444
1296
  "data-density": density,
1445
1297
  "data-slot": "button-group",
@@ -1467,7 +1319,7 @@ function ButtonGroupSeparator2({
1467
1319
  orientation = "vertical",
1468
1320
  ...props
1469
1321
  }) {
1470
- return /* @__PURE__ */ jsx16(Separator2, {
1322
+ return /* @__PURE__ */ jsx15(Separator2, {
1471
1323
  "data-density": density,
1472
1324
  "data-slot": "button-group-separator",
1473
1325
  orientation,
@@ -1479,9 +1331,9 @@ function ButtonGroupSeparator2({
1479
1331
  import { mergeProps as mergeProps5 } from "@base-ui/react/merge-props";
1480
1332
  import { useRender as useRender5 } from "@base-ui/react/use-render";
1481
1333
  import { cva as cva2 } from "class-variance-authority";
1482
- import { jsx as jsx17 } from "react/jsx-runtime";
1334
+ import { jsx as jsx16 } from "react/jsx-runtime";
1483
1335
  function ItemGroup2({ density, className, ...props }) {
1484
- return /* @__PURE__ */ jsx17("div", {
1336
+ return /* @__PURE__ */ jsx16("div", {
1485
1337
  role: "list",
1486
1338
  "data-density": density,
1487
1339
  "data-slot": "item-group",
@@ -1490,7 +1342,7 @@ function ItemGroup2({ density, className, ...props }) {
1490
1342
  });
1491
1343
  }
1492
1344
  function ItemSeparator2({ density, className, ...props }) {
1493
- return /* @__PURE__ */ jsx17(Separator2, {
1345
+ return /* @__PURE__ */ jsx16(Separator2, {
1494
1346
  "data-density": density,
1495
1347
  "data-slot": "item-separator",
1496
1348
  orientation: "horizontal",
@@ -1551,7 +1403,7 @@ var itemMediaVariants = cva2("flex shrink-0 items-center justify-center gap-2 gr
1551
1403
  }
1552
1404
  });
1553
1405
  function ItemMedia2({ density, className, variant = "default", ...props }) {
1554
- return /* @__PURE__ */ jsx17("div", {
1406
+ return /* @__PURE__ */ jsx16("div", {
1555
1407
  "data-density": density,
1556
1408
  "data-slot": "item-media",
1557
1409
  "data-variant": variant,
@@ -1560,7 +1412,7 @@ function ItemMedia2({ density, className, variant = "default", ...props }) {
1560
1412
  });
1561
1413
  }
1562
1414
  function ItemContent2({ density, className, ...props }) {
1563
- return /* @__PURE__ */ jsx17("div", {
1415
+ return /* @__PURE__ */ jsx16("div", {
1564
1416
  "data-density": density,
1565
1417
  "data-slot": "item-content",
1566
1418
  className: cn2("flex flex-1 flex-col gap-1 group-data-[size=xs]/item:gap-0 [&+[data-slot=item-content]]:flex-none", className),
@@ -1568,7 +1420,7 @@ function ItemContent2({ density, className, ...props }) {
1568
1420
  });
1569
1421
  }
1570
1422
  function ItemTitle2({ density, className, wrap = false, ...props }) {
1571
- return /* @__PURE__ */ jsx17("div", {
1423
+ return /* @__PURE__ */ jsx16("div", {
1572
1424
  "data-density": density,
1573
1425
  "data-slot": "item-title",
1574
1426
  className: cn2(!wrap && "line-clamp-1", "flex w-fit items-center gap-2 text-sm leading-snug font-medium underline-offset-4", wrap && "min-w-0 max-w-full wrap-anywhere", className),
@@ -1576,7 +1428,7 @@ function ItemTitle2({ density, className, wrap = false, ...props }) {
1576
1428
  });
1577
1429
  }
1578
1430
  function ItemDescription2({ density, className, ...props }) {
1579
- return /* @__PURE__ */ jsx17("p", {
1431
+ return /* @__PURE__ */ jsx16("p", {
1580
1432
  "data-density": density,
1581
1433
  "data-slot": "item-description",
1582
1434
  className: cn2("line-clamp-2 text-start text-sm leading-normal font-normal text-muted-foreground group-data-[size=xs]/item:text-xs [&>a]:underline [&>a]:underline-offset-4 [&>a:hover]:text-primary", className),
@@ -1584,7 +1436,7 @@ function ItemDescription2({ density, className, ...props }) {
1584
1436
  });
1585
1437
  }
1586
1438
  function ItemActions2({ density, className, ...props }) {
1587
- return /* @__PURE__ */ jsx17("div", {
1439
+ return /* @__PURE__ */ jsx16("div", {
1588
1440
  "data-density": density,
1589
1441
  "data-slot": "item-actions",
1590
1442
  className: cn2("flex items-center gap-2", className),
@@ -1592,7 +1444,7 @@ function ItemActions2({ density, className, ...props }) {
1592
1444
  });
1593
1445
  }
1594
1446
  function ItemHeader2({ density, className, ...props }) {
1595
- return /* @__PURE__ */ jsx17("div", {
1447
+ return /* @__PURE__ */ jsx16("div", {
1596
1448
  "data-density": density,
1597
1449
  "data-slot": "item-header",
1598
1450
  className: cn2("flex basis-full items-center justify-between gap-2", className),
@@ -1600,7 +1452,7 @@ function ItemHeader2({ density, className, ...props }) {
1600
1452
  });
1601
1453
  }
1602
1454
  function ItemFooter2({ density, className, ...props }) {
1603
- return /* @__PURE__ */ jsx17("div", {
1455
+ return /* @__PURE__ */ jsx16("div", {
1604
1456
  "data-density": density,
1605
1457
  "data-slot": "item-footer",
1606
1458
  className: cn2("flex basis-full items-center justify-between gap-2", className),
@@ -1609,9 +1461,9 @@ function ItemFooter2({ density, className, ...props }) {
1609
1461
  }
1610
1462
  // src/components/Pagination.tsx
1611
1463
  import { ChevronLeftIcon, ChevronRightIcon as ChevronRightIcon2, MoreHorizontalIcon as MoreHorizontalIcon2 } from "lucide-react";
1612
- import { jsx as jsx18, jsxs as jsxs11 } from "react/jsx-runtime";
1464
+ import { jsx as jsx17, jsxs as jsxs10 } from "react/jsx-runtime";
1613
1465
  function Pagination2({ density, className, ...props }) {
1614
- return /* @__PURE__ */ jsx18("nav", {
1466
+ return /* @__PURE__ */ jsx17("nav", {
1615
1467
  role: "navigation",
1616
1468
  "aria-label": "pagination",
1617
1469
  "data-density": density,
@@ -1621,7 +1473,7 @@ function Pagination2({ density, className, ...props }) {
1621
1473
  });
1622
1474
  }
1623
1475
  function PaginationContent2({ density, className, ...props }) {
1624
- return /* @__PURE__ */ jsx18("ul", {
1476
+ return /* @__PURE__ */ jsx17("ul", {
1625
1477
  "data-density": density,
1626
1478
  "data-slot": "pagination-content",
1627
1479
  className: cn2("flex items-center gap-0.5", className),
@@ -1629,7 +1481,7 @@ function PaginationContent2({ density, className, ...props }) {
1629
1481
  });
1630
1482
  }
1631
1483
  function PaginationItem2({ ...props }) {
1632
- return /* @__PURE__ */ jsx18("li", {
1484
+ return /* @__PURE__ */ jsx17("li", {
1633
1485
  "data-slot": "pagination-item",
1634
1486
  ...props
1635
1487
  });
@@ -1642,7 +1494,7 @@ function PaginationLink2({
1642
1494
  size = "icon",
1643
1495
  ...props
1644
1496
  }) {
1645
- return /* @__PURE__ */ jsx18(AnalyticsLink, {
1497
+ return /* @__PURE__ */ jsx17(AnalyticsLink, {
1646
1498
  component: "PaginationLink",
1647
1499
  analytics,
1648
1500
  "data-density": density,
@@ -1659,18 +1511,18 @@ function PaginationPrevious2({
1659
1511
  text = "Previous",
1660
1512
  ...props
1661
1513
  }) {
1662
- return /* @__PURE__ */ jsxs11(PaginationLink2, {
1514
+ return /* @__PURE__ */ jsxs10(PaginationLink2, {
1663
1515
  density,
1664
1516
  "aria-label": "Go to previous page",
1665
1517
  size: "default",
1666
1518
  className: cn2("ps-1.5!", className),
1667
1519
  ...props,
1668
1520
  children: [
1669
- /* @__PURE__ */ jsx18(ChevronLeftIcon, {
1521
+ /* @__PURE__ */ jsx17(ChevronLeftIcon, {
1670
1522
  "data-icon": "inline-start",
1671
1523
  className: "rtl:rotate-180"
1672
1524
  }),
1673
- /* @__PURE__ */ jsx18("span", {
1525
+ /* @__PURE__ */ jsx17("span", {
1674
1526
  className: "hidden sm:block",
1675
1527
  children: text
1676
1528
  })
@@ -1678,18 +1530,18 @@ function PaginationPrevious2({
1678
1530
  });
1679
1531
  }
1680
1532
  function PaginationNext2({ density, className, text = "Next", ...props }) {
1681
- return /* @__PURE__ */ jsxs11(PaginationLink2, {
1533
+ return /* @__PURE__ */ jsxs10(PaginationLink2, {
1682
1534
  density,
1683
1535
  "aria-label": "Go to next page",
1684
1536
  size: "default",
1685
1537
  className: cn2("pe-1.5!", className),
1686
1538
  ...props,
1687
1539
  children: [
1688
- /* @__PURE__ */ jsx18("span", {
1540
+ /* @__PURE__ */ jsx17("span", {
1689
1541
  className: "hidden sm:block",
1690
1542
  children: text
1691
1543
  }),
1692
- /* @__PURE__ */ jsx18(ChevronRightIcon2, {
1544
+ /* @__PURE__ */ jsx17(ChevronRightIcon2, {
1693
1545
  "data-icon": "inline-end",
1694
1546
  className: "rtl:rotate-180"
1695
1547
  })
@@ -1697,15 +1549,15 @@ function PaginationNext2({ density, className, text = "Next", ...props }) {
1697
1549
  });
1698
1550
  }
1699
1551
  function PaginationEllipsis2({ density, className, ...props }) {
1700
- return /* @__PURE__ */ jsxs11("span", {
1552
+ return /* @__PURE__ */ jsxs10("span", {
1701
1553
  "aria-hidden": true,
1702
1554
  "data-density": density,
1703
1555
  "data-slot": "pagination-ellipsis",
1704
1556
  className: cn2("flex size-control items-center justify-center [&_svg:not([class*='size-'])]:size-4", className),
1705
1557
  ...props,
1706
1558
  children: [
1707
- /* @__PURE__ */ jsx18(MoreHorizontalIcon2, {}),
1708
- /* @__PURE__ */ jsx18("span", {
1559
+ /* @__PURE__ */ jsx17(MoreHorizontalIcon2, {}),
1560
+ /* @__PURE__ */ jsx17("span", {
1709
1561
  className: "sr-only",
1710
1562
  children: "More pages"
1711
1563
  })
@@ -1731,7 +1583,7 @@ function useDrawer() {
1731
1583
 
1732
1584
  // src/components/Drawer.tsx
1733
1585
  import { Drawer as DrawerPrimitive } from "@base-ui/react/drawer";
1734
- import { jsx as jsx19, jsxs as jsxs12 } from "react/jsx-runtime";
1586
+ import { jsx as jsx18, jsxs as jsxs11 } from "react/jsx-runtime";
1735
1587
  function Drawer2({
1736
1588
  analytics,
1737
1589
  modal = true,
@@ -1743,9 +1595,9 @@ function Drawer2({
1743
1595
  const trackedOnOpenChange = useAnalyticsCallback("Drawer", analytics, (open, _details) => ({ name: "ui.open-request", open }), props.onOpenChange);
1744
1596
  const hasSnapPoints = snapPoints != null && snapPoints.length > 0;
1745
1597
  const contextValue = useMemo2(() => ({ hasSnapPoints, modal, showSwipeHandle, swipeDirection }), [hasSnapPoints, modal, showSwipeHandle, swipeDirection]);
1746
- return /* @__PURE__ */ jsx19(DrawerContext.Provider, {
1598
+ return /* @__PURE__ */ jsx18(DrawerContext.Provider, {
1747
1599
  value: contextValue,
1748
- children: /* @__PURE__ */ jsx19(DrawerPrimitive.Root, {
1600
+ children: /* @__PURE__ */ jsx18(DrawerPrimitive.Root, {
1749
1601
  "data-slot": "drawer",
1750
1602
  modal,
1751
1603
  snapPoints,
@@ -1756,7 +1608,7 @@ function Drawer2({
1756
1608
  });
1757
1609
  }
1758
1610
  function DrawerTrigger2({ ...props }) {
1759
- return /* @__PURE__ */ jsx19(DrawerPrimitive.Trigger, {
1611
+ return /* @__PURE__ */ jsx18(DrawerPrimitive.Trigger, {
1760
1612
  "data-slot": "drawer-trigger",
1761
1613
  ...props
1762
1614
  });
@@ -1764,26 +1616,26 @@ function DrawerTrigger2({ ...props }) {
1764
1616
  function DrawerPortal2({ container, ref, children, ...props }) {
1765
1617
  const resolvedContainer = usePortalContainer2(container);
1766
1618
  const portal = usePortalNode(ref);
1767
- return /* @__PURE__ */ jsx19(DrawerPrimitive.Portal, {
1619
+ return /* @__PURE__ */ jsx18(DrawerPrimitive.Portal, {
1768
1620
  "data-slot": "drawer-portal",
1769
1621
  container: resolvedContainer,
1770
1622
  ref: portal.ref,
1771
1623
  ...props,
1772
- children: /* @__PURE__ */ jsx19(PortalProvider2, {
1624
+ children: /* @__PURE__ */ jsx18(PortalProvider2, {
1773
1625
  container: portal.node,
1774
1626
  children
1775
1627
  })
1776
1628
  });
1777
1629
  }
1778
1630
  function DrawerClose2({ ...props }) {
1779
- return /* @__PURE__ */ jsx19(DrawerPrimitive.Close, {
1631
+ return /* @__PURE__ */ jsx18(DrawerPrimitive.Close, {
1780
1632
  "data-slot": "drawer-close",
1781
1633
  ...props
1782
1634
  });
1783
1635
  }
1784
1636
  function DrawerOverlay2({ density, className, ...props }) {
1785
1637
  const resolvedDensity = useDensity(density);
1786
- return /* @__PURE__ */ jsx19(DrawerPrimitive.Backdrop, {
1638
+ return /* @__PURE__ */ jsx18(DrawerPrimitive.Backdrop, {
1787
1639
  "data-density": resolvedDensity,
1788
1640
  "data-slot": "drawer-overlay",
1789
1641
  className: (state) => cn2("fixed inset-0 min-h-dvh bg-backdrop opacity-[max(var(--drawer-overlay-min-opacity,0),calc(1-var(--drawer-swipe-progress)))] transition-opacity duration-450 ease-[cubic-bezier(0.32,0.72,0,1)] select-none data-ending-style:pointer-events-none data-ending-style:opacity-0 data-ending-style:duration-[calc(var(--drawer-swipe-strength)*400ms)] data-snap-points:[--drawer-overlay-min-opacity:0.5] data-starting-style:opacity-0 data-swiping:duration-0 supports-[-webkit-touch-callout:none]:absolute", typeof className === "function" ? className(state) : className),
@@ -1791,7 +1643,7 @@ function DrawerOverlay2({ density, className, ...props }) {
1791
1643
  });
1792
1644
  }
1793
1645
  function DrawerSwipeHandle2({ density, className, ...props }) {
1794
- return /* @__PURE__ */ jsx19("div", {
1646
+ return /* @__PURE__ */ jsx18("div", {
1795
1647
  "data-density": density,
1796
1648
  "data-slot": "drawer-swipe-handle",
1797
1649
  "aria-hidden": "true",
@@ -1804,18 +1656,18 @@ function DrawerContent2({ density, className, children, ...props }) {
1804
1656
  const direction = useDirection2();
1805
1657
  const { hasSnapPoints, modal, showSwipeHandle, swipeDirection } = useDrawer();
1806
1658
  const swipeAxis = swipeDirection === "down" || swipeDirection === "up" ? "y" : "x";
1807
- return /* @__PURE__ */ jsxs12(DrawerPortal2, {
1659
+ return /* @__PURE__ */ jsxs11(DrawerPortal2, {
1808
1660
  "data-slot": "drawer-portal",
1809
1661
  children: [
1810
- modal === true && /* @__PURE__ */ jsx19(DrawerOverlay2, {
1662
+ modal === true && /* @__PURE__ */ jsx18(DrawerOverlay2, {
1811
1663
  "data-snap-points": hasSnapPoints ? "" : undefined
1812
1664
  }),
1813
- /* @__PURE__ */ jsx19(DrawerPrimitive.Viewport, {
1665
+ /* @__PURE__ */ jsx18(DrawerPrimitive.Viewport, {
1814
1666
  dir: direction,
1815
1667
  "data-slot": "drawer-viewport",
1816
1668
  "data-modal": modal,
1817
1669
  className: "pointer-events-none fixed inset-0 select-none data-[modal=true]:pointer-events-auto",
1818
- children: /* @__PURE__ */ jsxs12(DrawerPrimitive.Popup, {
1670
+ children: /* @__PURE__ */ jsxs11(DrawerPrimitive.Popup, {
1819
1671
  "data-density": resolvedDensity,
1820
1672
  "data-slot": "drawer-popup",
1821
1673
  "data-scroll": "none",
@@ -1824,8 +1676,8 @@ function DrawerContent2({ density, className, children, ...props }) {
1824
1676
  className: (state) => cn2("group/drawer-popup pointer-events-auto fixed m-(--drawer-inset,0px) flex h-(--drawer-content-height) max-h-(--drawer-content-max-height,none) min-h-0 w-(--drawer-content-width,auto) transform-[translate3d(var(--translate-x,0px),var(--translate-y,0px),0)] flex-col border border-frame-edge shadow-frame bg-popover text-sm text-popover-foreground transition-[transform,height,opacity,filter] duration-450 ease-[cubic-bezier(0.22,1,0.36,1)] will-change-transform outline-none select-none [interpolate-size:allow-keywords] data-[swipe-direction=down]:rounded-t-md data-[swipe-direction=down]:border-t data-[swipe-direction=left]:rounded-r-md data-[swipe-direction=left]:border-r data-[swipe-direction=right]:rounded-l-md data-[swipe-direction=right]:border-l data-[swipe-direction=up]:rounded-b-md data-[swipe-direction=up]:border-b", "data-nested-drawer-open:overflow-hidden data-nested-drawer-open:brightness-95", "after:pointer-events-none after:absolute after:bg-(--drawer-bleed-background,var(--color-popover)) data-[swipe-axis=x]:after:inset-y-0 data-[swipe-axis=x]:after:w-(--bleed) data-[swipe-axis=y]:after:inset-x-0 data-[swipe-axis=y]:after:h-(--bleed) data-[swipe-direction=down]:after:top-full data-[swipe-direction=left]:after:right-full data-[swipe-direction=right]:after:left-full data-[swipe-direction=up]:after:bottom-full", "[--drawer-content-height:var(--drawer-height,auto)] data-[swipe-axis=x]:[--drawer-content-width:75%] data-[swipe-axis=y]:[--drawer-content-max-height:calc(100dvh-6rem)] data-[swipe-axis=y]:data-snap-points:[--drawer-content-height:100dvh] data-[swipe-axis=x]:sm:[--drawer-content-width:24rem]", "[--bleed:3rem] [--peek:1rem] [--stack-height:var(--drawer-frontmost-height,var(--drawer-height,0px))] [--stack-peek-offset:max(0px,calc((var(--nested-drawers)-var(--stack-progress))*var(--peek)))] [--stack-progress:clamp(0,var(--drawer-swipe-progress),1)] [--stack-shrink:0]", "data-ending-style:transform-(--closed-transform) data-ending-style:opacity-[0.9999] data-ending-style:duration-[calc(var(--drawer-swipe-strength)*400ms)] data-nested-drawer-swiping:duration-0 data-ending-style:data-nested-drawer-swiping:duration-[calc(var(--drawer-swipe-strength)*400ms)] data-starting-style:transform-(--closed-transform) data-swiping:duration-0 data-ending-style:data-swiping:duration-[calc(var(--drawer-swipe-strength)*400ms)]", "data-[swipe-axis=y]:inset-x-0 data-[swipe-axis=y]:data-nested-drawer-open:h-(--stack-height)", "data-[swipe-axis=x]:inset-y-0 data-[swipe-axis=x]:flex-row", "data-[swipe-direction=down]:bottom-0 data-[swipe-direction=down]:origin-bottom data-[swipe-direction=down]:[--closed-transform:translate3d(0,calc(100%+var(--drawer-inset,0px)+2px),0)] data-[swipe-direction=down]:[--translate-y:calc(var(--drawer-snap-point-offset,0px)+var(--drawer-swipe-movement-y)-var(--stack-peek-offset)-(var(--stack-shrink)*var(--stack-height)))]", "data-[swipe-direction=up]:top-0 data-[swipe-direction=up]:origin-top data-[swipe-direction=up]:[--closed-transform:translate3d(0,calc(-100%-var(--drawer-inset,0px)-2px),0)] data-[swipe-direction=up]:[--translate-y:calc(var(--drawer-snap-point-offset,0px)+var(--drawer-swipe-movement-y)+var(--stack-peek-offset)+(var(--stack-shrink)*var(--stack-height)))]", "data-[swipe-direction=left]:left-0 data-[swipe-direction=left]:origin-left data-[swipe-direction=left]:[--closed-transform:translate3d(calc(-100%-var(--drawer-inset,0px)-2px),0,0)] data-[swipe-direction=left]:[--translate-x:calc(var(--drawer-swipe-movement-x)+var(--stack-peek-offset)+(var(--stack-shrink)*100%))]", "data-[swipe-direction=right]:right-0 data-[swipe-direction=right]:origin-right data-[swipe-direction=right]:[--closed-transform:translate3d(calc(100%+var(--drawer-inset,0px)+2px),0,0)] data-[swipe-direction=right]:[--translate-x:calc(var(--drawer-swipe-movement-x)-var(--stack-peek-offset)-(var(--stack-shrink)*100%))]", typeof className === "function" ? className(state) : className),
1825
1677
  ...props,
1826
1678
  children: [
1827
- showSwipeHandle && /* @__PURE__ */ jsx19(DrawerSwipeHandle2, {}),
1828
- /* @__PURE__ */ jsx19(DrawerPrimitive.Content, {
1679
+ showSwipeHandle && /* @__PURE__ */ jsx18(DrawerSwipeHandle2, {}),
1680
+ /* @__PURE__ */ jsx18(DrawerPrimitive.Content, {
1829
1681
  "data-slot": "drawer-content",
1830
1682
  "data-scroll": "none",
1831
1683
  className: "flex min-h-0 flex-1 flex-col overflow-hidden overscroll-contain rounded-[inherit] transition-opacity duration-300 ease-out select-text group-data-nested-drawer-open/drawer-popup:opacity-0 group-data-nested-drawer-swiping/drawer-popup:opacity-100 group-data-swiping/drawer-popup:select-none",
@@ -1838,7 +1690,7 @@ function DrawerContent2({ density, className, children, ...props }) {
1838
1690
  });
1839
1691
  }
1840
1692
  function DrawerHeader2({ density, className, ...props }) {
1841
- return /* @__PURE__ */ jsx19("div", {
1693
+ return /* @__PURE__ */ jsx18("div", {
1842
1694
  "data-density": density,
1843
1695
  "data-slot": "drawer-header",
1844
1696
  className: cn2("flex shrink-0 flex-col gap-0.5 p-panel pb-0 group-data-[swipe-axis=y]/drawer-popup:text-center md:gap-0.5 md:text-start md:group-data-[swipe-axis=y]/drawer-popup:text-start", className),
@@ -1846,7 +1698,7 @@ function DrawerHeader2({ density, className, ...props }) {
1846
1698
  });
1847
1699
  }
1848
1700
  function DrawerFooter2({ density, className, ...props }) {
1849
- return /* @__PURE__ */ jsx19("div", {
1701
+ return /* @__PURE__ */ jsx18("div", {
1850
1702
  "data-density": density,
1851
1703
  "data-slot": "drawer-footer",
1852
1704
  className: cn2("mt-auto flex shrink-0 flex-col gap-2 p-panel pt-0", className),
@@ -1854,7 +1706,7 @@ function DrawerFooter2({ density, className, ...props }) {
1854
1706
  });
1855
1707
  }
1856
1708
  function DrawerTitle2({ density, className, ...props }) {
1857
- return /* @__PURE__ */ jsx19(DrawerPrimitive.Title, {
1709
+ return /* @__PURE__ */ jsx18(DrawerPrimitive.Title, {
1858
1710
  "data-density": density,
1859
1711
  "data-slot": "drawer-title",
1860
1712
  className: (state) => cn2(" text-base font-medium text-foreground", typeof className === "function" ? className(state) : className),
@@ -1862,7 +1714,7 @@ function DrawerTitle2({ density, className, ...props }) {
1862
1714
  });
1863
1715
  }
1864
1716
  function DrawerDescription2({ density, className, ...props }) {
1865
- return /* @__PURE__ */ jsx19(DrawerPrimitive.Description, {
1717
+ return /* @__PURE__ */ jsx18(DrawerPrimitive.Description, {
1866
1718
  "data-density": density,
1867
1719
  "data-slot": "drawer-description",
1868
1720
  className: (state) => cn2("text-sm text-balance text-muted-foreground", typeof className === "function" ? className(state) : className),
@@ -1870,12 +1722,12 @@ function DrawerDescription2({ density, className, ...props }) {
1870
1722
  });
1871
1723
  }
1872
1724
  // src/components/Menubar.tsx
1873
- import { CheckIcon as CheckIcon2 } from "lucide-react";
1725
+ import { CheckIcon } from "lucide-react";
1874
1726
  import { Menu as MenuPrimitive } from "@base-ui/react/menu";
1875
1727
  import { Menubar as MenubarPrimitive } from "@base-ui/react/menubar";
1876
- import { jsx as jsx20, jsxs as jsxs13 } from "react/jsx-runtime";
1728
+ import { jsx as jsx19, jsxs as jsxs12 } from "react/jsx-runtime";
1877
1729
  function Menubar2({ density, className, ...props }) {
1878
- return /* @__PURE__ */ jsx20(MenubarPrimitive, {
1730
+ return /* @__PURE__ */ jsx19(MenubarPrimitive, {
1879
1731
  "data-density": density,
1880
1732
  "data-slot": "menubar",
1881
1733
  className: (state) => cn2("flex h-control items-center gap-0.5 rounded-sm border p-px", typeof className === "function" ? className(state) : className),
@@ -1887,26 +1739,26 @@ function MenubarMenu2({
1887
1739
  ...props
1888
1740
  }) {
1889
1741
  const trackedOnOpenChange = useAnalyticsCallback("MenubarMenu", analytics, (open, _details) => ({ name: "ui.open-request", open }), props.onOpenChange);
1890
- return /* @__PURE__ */ jsx20(DropdownMenu2, {
1742
+ return /* @__PURE__ */ jsx19(DropdownMenu2, {
1891
1743
  "data-slot": "menubar-menu",
1892
1744
  ...props,
1893
1745
  onOpenChange: trackedOnOpenChange
1894
1746
  });
1895
1747
  }
1896
1748
  function MenubarGroup2({ ...props }) {
1897
- return /* @__PURE__ */ jsx20(MenuGroup2, {
1749
+ return /* @__PURE__ */ jsx19(MenuGroup2, {
1898
1750
  "data-slot": "menubar-group",
1899
1751
  ...props
1900
1752
  });
1901
1753
  }
1902
1754
  function MenubarPortal2({ ...props }) {
1903
- return /* @__PURE__ */ jsx20(MenuPortal, {
1755
+ return /* @__PURE__ */ jsx19(MenuPortal, {
1904
1756
  "data-slot": "menubar-portal",
1905
1757
  ...props
1906
1758
  });
1907
1759
  }
1908
1760
  function MenubarTrigger2({ density, className, ...props }) {
1909
- return /* @__PURE__ */ jsx20(DropdownMenuTrigger2, {
1761
+ return /* @__PURE__ */ jsx19(DropdownMenuTrigger2, {
1910
1762
  "data-density": density,
1911
1763
  "data-slot": "menubar-trigger",
1912
1764
  className: (state) => cn2("flex h-full items-center rounded-sm px-control-x text-sm leading-none font-medium outline-hidden select-none hover:bg-muted aria-expanded:bg-muted", typeof className === "function" ? className(state) : className),
@@ -1921,7 +1773,7 @@ function MenubarContent2({
1921
1773
  sideOffset = 8,
1922
1774
  ...props
1923
1775
  }) {
1924
- return /* @__PURE__ */ jsx20(MenuPopup, {
1776
+ return /* @__PURE__ */ jsx19(MenuPopup, {
1925
1777
  density,
1926
1778
  "data-slot": "menubar-content",
1927
1779
  align,
@@ -1940,7 +1792,7 @@ function MenubarItem2({
1940
1792
  ...props
1941
1793
  }) {
1942
1794
  const trackedOnClick = useAnalyticsCallback("MenubarItem", analytics, { name: "ui.activate" }, props.onClick);
1943
- return /* @__PURE__ */ jsx20(MenuItem2, {
1795
+ return /* @__PURE__ */ jsx19(MenuItem2, {
1944
1796
  density,
1945
1797
  "data-slot": "menubar-item",
1946
1798
  inset,
@@ -1960,7 +1812,7 @@ function MenubarCheckboxItem2({
1960
1812
  ...props
1961
1813
  }) {
1962
1814
  const trackedOnCheckedChange = useAnalyticsCallback("MenubarCheckboxItem", analytics, { name: "ui.change-request" }, props.onCheckedChange);
1963
- return /* @__PURE__ */ jsxs13(MenuPrimitive.CheckboxItem, {
1815
+ return /* @__PURE__ */ jsxs12(MenuPrimitive.CheckboxItem, {
1964
1816
  "data-density": density,
1965
1817
  "data-slot": "menubar-checkbox-item",
1966
1818
  "data-inset": inset,
@@ -1969,10 +1821,10 @@ function MenubarCheckboxItem2({
1969
1821
  ...props,
1970
1822
  onCheckedChange: trackedOnCheckedChange,
1971
1823
  children: [
1972
- /* @__PURE__ */ jsx20("span", {
1824
+ /* @__PURE__ */ jsx19("span", {
1973
1825
  className: "pointer-events-none absolute start-1.5 flex size-4 items-center justify-center [&_svg:not([class*='size-'])]:size-4",
1974
- children: /* @__PURE__ */ jsx20(MenuPrimitive.CheckboxItemIndicator, {
1975
- children: /* @__PURE__ */ jsx20(CheckIcon2, {})
1826
+ children: /* @__PURE__ */ jsx19(MenuPrimitive.CheckboxItemIndicator, {
1827
+ children: /* @__PURE__ */ jsx19(CheckIcon, {})
1976
1828
  })
1977
1829
  }),
1978
1830
  children
@@ -1980,23 +1832,23 @@ function MenubarCheckboxItem2({
1980
1832
  });
1981
1833
  }
1982
1834
  function MenubarRadioGroup2({ ...props }) {
1983
- return /* @__PURE__ */ jsx20(MenuRadioGroup2, {
1835
+ return /* @__PURE__ */ jsx19(MenuRadioGroup2, {
1984
1836
  "data-slot": "menubar-radio-group",
1985
1837
  ...props
1986
1838
  });
1987
1839
  }
1988
1840
  function MenubarRadioItem2({ density, className, children, inset, ...props }) {
1989
- return /* @__PURE__ */ jsxs13(MenuPrimitive.RadioItem, {
1841
+ return /* @__PURE__ */ jsxs12(MenuPrimitive.RadioItem, {
1990
1842
  "data-density": density,
1991
1843
  "data-slot": "menubar-radio-item",
1992
1844
  "data-inset": inset,
1993
1845
  className: (state) => cn2("relative flex cursor-default items-center gap-control-gap rounded-md py-1 pe-1.5 ps-7 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground data-inset:ps-7 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", typeof className === "function" ? className(state) : className),
1994
1846
  ...props,
1995
1847
  children: [
1996
- /* @__PURE__ */ jsx20("span", {
1848
+ /* @__PURE__ */ jsx19("span", {
1997
1849
  className: "pointer-events-none absolute start-1.5 flex size-4 items-center justify-center [&_svg:not([class*='size-'])]:size-4",
1998
- children: /* @__PURE__ */ jsx20(MenuPrimitive.RadioItemIndicator, {
1999
- children: /* @__PURE__ */ jsx20(CheckIcon2, {})
1850
+ children: /* @__PURE__ */ jsx19(MenuPrimitive.RadioItemIndicator, {
1851
+ children: /* @__PURE__ */ jsx19(CheckIcon, {})
2000
1852
  })
2001
1853
  }),
2002
1854
  children
@@ -2004,7 +1856,7 @@ function MenubarRadioItem2({ density, className, children, inset, ...props }) {
2004
1856
  });
2005
1857
  }
2006
1858
  function MenubarLabel2({ density, className, inset, ...props }) {
2007
- return /* @__PURE__ */ jsx20(MenuLabel2, {
1859
+ return /* @__PURE__ */ jsx19(MenuLabel2, {
2008
1860
  density,
2009
1861
  "data-slot": "menubar-label",
2010
1862
  inset,
@@ -2013,7 +1865,7 @@ function MenubarLabel2({ density, className, inset, ...props }) {
2013
1865
  });
2014
1866
  }
2015
1867
  function MenubarSeparator2({ density, className, ...props }) {
2016
- return /* @__PURE__ */ jsx20(MenuSeparator2, {
1868
+ return /* @__PURE__ */ jsx19(MenuSeparator2, {
2017
1869
  density,
2018
1870
  "data-slot": "menubar-separator",
2019
1871
  className: (state) => cn2("-mx-1 my-1 h-px bg-border", typeof className === "function" ? className(state) : className),
@@ -2021,7 +1873,7 @@ function MenubarSeparator2({ density, className, ...props }) {
2021
1873
  });
2022
1874
  }
2023
1875
  function MenubarShortcut2({ density, className, ...props }) {
2024
- return /* @__PURE__ */ jsx20(MenuShortcut2, {
1876
+ return /* @__PURE__ */ jsx19(MenuShortcut2, {
2025
1877
  "data-density": density,
2026
1878
  "data-slot": "menubar-shortcut",
2027
1879
  className: cn2("ms-auto text-xs tracking-widest text-muted-foreground group-focus/menubar-item:text-accent-foreground", className),
@@ -2029,13 +1881,13 @@ function MenubarShortcut2({ density, className, ...props }) {
2029
1881
  });
2030
1882
  }
2031
1883
  function MenubarSub2({ ...props }) {
2032
- return /* @__PURE__ */ jsx20(MenuSub2, {
1884
+ return /* @__PURE__ */ jsx19(MenuSub2, {
2033
1885
  "data-slot": "menubar-sub",
2034
1886
  ...props
2035
1887
  });
2036
1888
  }
2037
1889
  function MenubarSubTrigger2({ density, className, inset, ...props }) {
2038
- return /* @__PURE__ */ jsx20(MenuSubTrigger2, {
1890
+ return /* @__PURE__ */ jsx19(MenuSubTrigger2, {
2039
1891
  density,
2040
1892
  "data-slot": "menubar-sub-trigger",
2041
1893
  inset,
@@ -2044,7 +1896,7 @@ function MenubarSubTrigger2({ density, className, inset, ...props }) {
2044
1896
  });
2045
1897
  }
2046
1898
  function MenubarSubContent2({ density, className, ...props }) {
2047
- return /* @__PURE__ */ jsx20(MenuSubContent2, {
1899
+ return /* @__PURE__ */ jsx19(MenuSubContent2, {
2048
1900
  density,
2049
1901
  "data-slot": "menubar-sub-content",
2050
1902
  className: (state) => cn2(" min-w-32 rounded-sm bg-popover p-1 text-popover-foreground shadow-frame border border-frame-edge border border-frame-edge shadow-frame duration-100 data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0 ", typeof className === "function" ? className(state) : className),
@@ -2052,10 +1904,10 @@ function MenubarSubContent2({ density, className, ...props }) {
2052
1904
  });
2053
1905
  }
2054
1906
  // src/components/NavigationMenu.tsx
2055
- import { ChevronDownIcon as ChevronDownIcon3 } from "lucide-react";
1907
+ import { ChevronDownIcon as ChevronDownIcon2 } from "lucide-react";
2056
1908
  import { NavigationMenu as NavigationMenuPrimitive } from "@base-ui/react/navigation-menu";
2057
1909
  import { cva as cva3 } from "class-variance-authority";
2058
- import { jsx as jsx21, jsxs as jsxs14 } from "react/jsx-runtime";
1910
+ import { jsx as jsx20, jsxs as jsxs13 } from "react/jsx-runtime";
2059
1911
  function NavigationMenu2({
2060
1912
  analytics,
2061
1913
  density,
@@ -2066,7 +1918,7 @@ function NavigationMenu2({
2066
1918
  }) {
2067
1919
  const trackedOnValueChange = useAnalyticsCallback("NavigationMenu", analytics, { name: "ui.change-request" }, props.onValueChange);
2068
1920
  const resolvedDensity = useDensity(density);
2069
- return /* @__PURE__ */ jsxs14(NavigationMenuPrimitive.Root, {
1921
+ return /* @__PURE__ */ jsxs13(NavigationMenuPrimitive.Root, {
2070
1922
  "data-density": resolvedDensity,
2071
1923
  "data-slot": "navigation-menu",
2072
1924
  className: (state) => cn2("group/navigation-menu relative flex max-w-max flex-1 items-center justify-center", typeof className === "function" ? className(state) : className),
@@ -2074,7 +1926,7 @@ function NavigationMenu2({
2074
1926
  onValueChange: trackedOnValueChange,
2075
1927
  children: [
2076
1928
  children,
2077
- /* @__PURE__ */ jsx21(NavigationMenuPositioner2, {
1929
+ /* @__PURE__ */ jsx20(NavigationMenuPositioner2, {
2078
1930
  density: resolvedDensity,
2079
1931
  align
2080
1932
  })
@@ -2082,7 +1934,7 @@ function NavigationMenu2({
2082
1934
  });
2083
1935
  }
2084
1936
  function NavigationMenuList2({ density, className, ...props }) {
2085
- return /* @__PURE__ */ jsx21(NavigationMenuPrimitive.List, {
1937
+ return /* @__PURE__ */ jsx20(NavigationMenuPrimitive.List, {
2086
1938
  "data-density": density,
2087
1939
  "data-slot": "navigation-menu-list",
2088
1940
  className: (state) => cn2("group flex flex-1 list-none items-center justify-center gap-0", typeof className === "function" ? className(state) : className),
@@ -2090,7 +1942,7 @@ function NavigationMenuList2({ density, className, ...props }) {
2090
1942
  });
2091
1943
  }
2092
1944
  function NavigationMenuItem2({ density, className, ...props }) {
2093
- return /* @__PURE__ */ jsx21(NavigationMenuPrimitive.Item, {
1945
+ return /* @__PURE__ */ jsx20(NavigationMenuPrimitive.Item, {
2094
1946
  "data-density": density,
2095
1947
  "data-slot": "navigation-menu-item",
2096
1948
  className: (state) => cn2("relative", typeof className === "function" ? className(state) : className),
@@ -2099,7 +1951,7 @@ function NavigationMenuItem2({ density, className, ...props }) {
2099
1951
  }
2100
1952
  var navigationMenuTriggerStyle2 = cva3("group/navigation-menu-trigger inline-flex h-control-lg w-max items-center justify-center rounded-sm px-control-x py-1.5 text-sm font-medium transition-colors outline-none hover:bg-muted focus:bg-muted focus-visible:ring-1 focus-visible:ring-ring focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 data-popup-open:bg-muted/50 data-popup-open:hover:bg-muted data-open:bg-muted/50 data-open:hover:bg-muted data-open:focus:bg-muted");
2101
1953
  function NavigationMenuTrigger2({ density, className, children, ...props }) {
2102
- return /* @__PURE__ */ jsxs14(NavigationMenuPrimitive.Trigger, {
1954
+ return /* @__PURE__ */ jsxs13(NavigationMenuPrimitive.Trigger, {
2103
1955
  "data-density": density,
2104
1956
  "data-slot": "navigation-menu-trigger",
2105
1957
  className: (state) => cn2(navigationMenuTriggerStyle2(), "group", typeof className === "function" ? className(state) : className),
@@ -2107,12 +1959,12 @@ function NavigationMenuTrigger2({ density, className, children, ...props }) {
2107
1959
  children: [
2108
1960
  children,
2109
1961
  " ",
2110
- /* @__PURE__ */ jsx21(NavigationMenuIndicator2, {})
1962
+ /* @__PURE__ */ jsx20(NavigationMenuIndicator2, {})
2111
1963
  ]
2112
1964
  });
2113
1965
  }
2114
1966
  function NavigationMenuContent2({ density, className, ...props }) {
2115
- return /* @__PURE__ */ jsx21(NavigationMenuPrimitive.Content, {
1967
+ return /* @__PURE__ */ jsx20(NavigationMenuPrimitive.Content, {
2116
1968
  "data-density": density,
2117
1969
  "data-slot": "navigation-menu-content",
2118
1970
  className: (state) => cn2("data-ending-style:data-activation-direction=left:translate-x-[50%] data-ending-style:data-activation-direction=right:translate-x-[-50%] data-starting-style:data-activation-direction=left:translate-x-[-50%] data-starting-style:data-activation-direction=right:translate-x-[50%] h-full w-auto p-1 transition-[opacity,transform,translate] duration-[0.35s] ease-[cubic-bezier(0.22,1,0.36,1)] data-ending-style:opacity-0 data-starting-style:opacity-0 ", typeof className === "function" ? className(state) : className),
@@ -2132,12 +1984,12 @@ function NavigationMenuPositioner2({
2132
1984
  const direction = useDirection2();
2133
1985
  const container = usePortalContainer2();
2134
1986
  const portal = usePortalNode();
2135
- return /* @__PURE__ */ jsx21(NavigationMenuPrimitive.Portal, {
1987
+ return /* @__PURE__ */ jsx20(NavigationMenuPrimitive.Portal, {
2136
1988
  container,
2137
1989
  ref: portal.ref,
2138
- children: /* @__PURE__ */ jsx21(PortalProvider2, {
1990
+ children: /* @__PURE__ */ jsx20(PortalProvider2, {
2139
1991
  container: portal.node,
2140
- children: /* @__PURE__ */ jsx21(NavigationMenuPrimitive.Positioner, {
1992
+ children: /* @__PURE__ */ jsx20(NavigationMenuPrimitive.Positioner, {
2141
1993
  dir: direction,
2142
1994
  side,
2143
1995
  sideOffset,
@@ -2145,11 +1997,11 @@ function NavigationMenuPositioner2({
2145
1997
  alignOffset,
2146
1998
  className: (state) => cn2("isolate h-(--positioner-height) w-(--positioner-width) max-w-(--available-width) transition-[top,left,right,bottom] duration-[0.35s] ease-[cubic-bezier(0.22,1,0.36,1)] data-instant:transition-none data-[side=bottom]:before:top-[-10px] data-[side=bottom]:before:right-0 data-[side=bottom]:before:left-0", typeof className === "function" ? className(state) : className),
2147
1999
  ...props,
2148
- children: /* @__PURE__ */ jsx21(NavigationMenuPrimitive.Popup, {
2000
+ children: /* @__PURE__ */ jsx20(NavigationMenuPrimitive.Popup, {
2149
2001
  "data-density": resolvedDensity,
2150
2002
  "data-slot": "navigation-menu-popup",
2151
2003
  className: "data-[ending-style]:easing-[ease] xs:w-(--popup-width) relative h-(--popup-height) w-(--popup-width) origin-(--transform-origin) rounded-sm bg-popover text-popover-foreground border border-frame-edge shadow-frame transition-[opacity,transform,width,height,translate] duration-[0.35s] ease-[cubic-bezier(0.22,1,0.36,1)] outline-none data-ending-style:opacity-0 data-ending-style:duration-150 data-starting-style:opacity-0",
2152
- children: /* @__PURE__ */ jsx21(NavigationMenuPrimitive.Viewport, {
2004
+ children: /* @__PURE__ */ jsx20(NavigationMenuPrimitive.Viewport, {
2153
2005
  className: "relative size-full overflow-hidden"
2154
2006
  })
2155
2007
  })
@@ -2159,7 +2011,7 @@ function NavigationMenuPositioner2({
2159
2011
  }
2160
2012
  function NavigationMenuLink2({ analytics, density, className, ...props }) {
2161
2013
  const trackedOnClick = useAnalyticsCallback("NavigationMenuLink", analytics, { name: "ui.activate" }, props.onClick);
2162
- return /* @__PURE__ */ jsx21(NavigationMenuPrimitive.Link, {
2014
+ return /* @__PURE__ */ jsx20(NavigationMenuPrimitive.Link, {
2163
2015
  "data-density": density,
2164
2016
  "data-slot": "navigation-menu-link",
2165
2017
  className: (state) => cn2("flex items-center gap-2 rounded-sm p-2 text-sm transition-colors outline-none hover:bg-muted focus:bg-muted focus-visible:ring-1 focus-visible:ring-ring focus-visible:outline-1 in-data-[slot=navigation-menu-content]:rounded-md data-active:bg-muted/50 data-active:hover:bg-muted data-active:focus:bg-muted [&_svg:not([class*='size-'])]:size-4", typeof className === "function" ? className(state) : className),
@@ -2173,32 +2025,32 @@ function NavigationMenuIndicator2({
2173
2025
  children,
2174
2026
  ...props
2175
2027
  }) {
2176
- return /* @__PURE__ */ jsx21(NavigationMenuPrimitive.Icon, {
2028
+ return /* @__PURE__ */ jsx20(NavigationMenuPrimitive.Icon, {
2177
2029
  "data-density": density,
2178
2030
  "data-slot": "navigation-menu-indicator",
2179
2031
  className: (state) => cn2("ms-1 inline-flex size-3 shrink-0 items-center justify-center transition-transform duration-120 data-popup-open:rotate-180 [&_svg]:size-full", typeof className === "function" ? className(state) : className),
2180
2032
  ...props,
2181
- children: children ?? /* @__PURE__ */ jsx21(ChevronDownIcon3, {})
2033
+ children: children ?? /* @__PURE__ */ jsx20(ChevronDownIcon2, {})
2182
2034
  });
2183
2035
  }
2184
2036
  // src/components/Toast.tsx
2185
2037
  import { Toast as ToastPrimitive } from "@base-ui/react/toast";
2186
2038
  import { CircleCheckIcon, InfoIcon, TriangleAlertIcon, OctagonXIcon, LoaderCircleIcon, XIcon } from "lucide-react";
2187
- import { jsx as jsx22, jsxs as jsxs15, Fragment as Fragment4 } from "react/jsx-runtime";
2039
+ import { jsx as jsx21, jsxs as jsxs14, Fragment as Fragment4 } from "react/jsx-runtime";
2188
2040
  function ToastProvider2(props) {
2189
- return /* @__PURE__ */ jsx22(ToastPrimitive.Provider, {
2041
+ return /* @__PURE__ */ jsx21(ToastPrimitive.Provider, {
2190
2042
  ...props
2191
2043
  });
2192
2044
  }
2193
2045
  function ToastPortal2({ container, ref, children, ...props }) {
2194
2046
  const resolvedContainer = usePortalContainer2(container);
2195
2047
  const portal = usePortalNode(ref);
2196
- return /* @__PURE__ */ jsx22(ToastPrimitive.Portal, {
2048
+ return /* @__PURE__ */ jsx21(ToastPrimitive.Portal, {
2197
2049
  "data-slot": "toast-portal",
2198
2050
  container: resolvedContainer,
2199
2051
  ref: portal.ref,
2200
2052
  ...props,
2201
- children: /* @__PURE__ */ jsx22(PortalProvider2, {
2053
+ children: /* @__PURE__ */ jsx21(PortalProvider2, {
2202
2054
  container: portal.node,
2203
2055
  children
2204
2056
  })
@@ -2207,7 +2059,7 @@ function ToastPortal2({ container, ref, children, ...props }) {
2207
2059
  function ToastViewport2({ density, dir, className, ...props }) {
2208
2060
  const resolvedDensity = useDensity(density);
2209
2061
  const inheritedDirection = useDirection2();
2210
- return /* @__PURE__ */ jsx22(ToastPrimitive.Viewport, {
2062
+ return /* @__PURE__ */ jsx21(ToastPrimitive.Viewport, {
2211
2063
  dir: dir ?? inheritedDirection,
2212
2064
  "data-density": resolvedDensity,
2213
2065
  "data-slot": "toast-viewport",
@@ -2216,7 +2068,7 @@ function ToastViewport2({ density, dir, className, ...props }) {
2216
2068
  });
2217
2069
  }
2218
2070
  function Toast2({ density, className, ...props }) {
2219
- return /* @__PURE__ */ jsx22(ToastPrimitive.Root, {
2071
+ return /* @__PURE__ */ jsx21(ToastPrimitive.Root, {
2220
2072
  "data-density": density,
2221
2073
  "data-slot": "toast",
2222
2074
  className: (state) => cn2("group/toast pointer-events-auto absolute right-0 bottom-0 w-full rounded-md border border-frame-edge bg-popover text-popover-foreground shadow-frame outline-none select-none focus-visible:ring-1 focus-visible:ring-ring [--offset-y:calc(var(--toast-offset-y)*-1-var(--toast-index)*var(--spacing-panel))] [transform:translateX(var(--toast-swipe-movement-x))_translateY(calc(var(--offset-y)+var(--toast-swipe-movement-y)))] transition-[transform,opacity] duration-120 ease-out data-limited:opacity-0 data-starting-style:opacity-0 data-ending-style:opacity-0 motion-reduce:transition-none", typeof className === "function" ? className(state) : className),
@@ -2224,21 +2076,21 @@ function Toast2({ density, className, ...props }) {
2224
2076
  });
2225
2077
  }
2226
2078
  function ToastContent2({ className, ...props }) {
2227
- return /* @__PURE__ */ jsx22(ToastPrimitive.Content, {
2079
+ return /* @__PURE__ */ jsx21(ToastPrimitive.Content, {
2228
2080
  "data-slot": "toast-content",
2229
2081
  className: (state) => cn2("flex items-center gap-control-gap p-panel", typeof className === "function" ? className(state) : className),
2230
2082
  ...props
2231
2083
  });
2232
2084
  }
2233
2085
  function ToastTitle2({ className, ...props }) {
2234
- return /* @__PURE__ */ jsx22(ToastPrimitive.Title, {
2086
+ return /* @__PURE__ */ jsx21(ToastPrimitive.Title, {
2235
2087
  "data-slot": "toast-title",
2236
2088
  className: (state) => cn2("text-sm font-medium", typeof className === "function" ? className(state) : className),
2237
2089
  ...props
2238
2090
  });
2239
2091
  }
2240
2092
  function ToastDescription2({ className, ...props }) {
2241
- return /* @__PURE__ */ jsx22(ToastPrimitive.Description, {
2093
+ return /* @__PURE__ */ jsx21(ToastPrimitive.Description, {
2242
2094
  "data-slot": "toast-description",
2243
2095
  className: (state) => cn2("text-sm text-muted-foreground", typeof className === "function" ? className(state) : className),
2244
2096
  ...props
@@ -2247,14 +2099,14 @@ function ToastDescription2({ className, ...props }) {
2247
2099
  function ToastAction2({
2248
2100
  analytics,
2249
2101
  className,
2250
- render = /* @__PURE__ */ jsx22(Button2, {
2102
+ render = /* @__PURE__ */ jsx21(Button2, {
2251
2103
  variant: "outline",
2252
2104
  size: "sm"
2253
2105
  }),
2254
2106
  ...props
2255
2107
  }) {
2256
2108
  const trackedOnClick = useAnalyticsCallback("ToastAction", analytics, { name: "ui.activate" }, props.onClick);
2257
- return /* @__PURE__ */ jsx22(ToastPrimitive.Action, {
2109
+ return /* @__PURE__ */ jsx21(ToastPrimitive.Action, {
2258
2110
  "data-slot": "toast-action",
2259
2111
  render,
2260
2112
  className: (state) => cn2("shrink-0", typeof className === "function" ? className(state) : className),
@@ -2266,21 +2118,21 @@ function ToastClose2({
2266
2118
  analytics,
2267
2119
  className,
2268
2120
  children,
2269
- render = /* @__PURE__ */ jsx22(Button2, {
2121
+ render = /* @__PURE__ */ jsx21(Button2, {
2270
2122
  variant: "ghost",
2271
2123
  size: "icon-sm"
2272
2124
  }),
2273
2125
  ...props
2274
2126
  }) {
2275
2127
  const trackedOnClick = useAnalyticsCallback("ToastClose", analytics, { name: "ui.activate" }, props.onClick);
2276
- return /* @__PURE__ */ jsx22(ToastPrimitive.Close, {
2128
+ return /* @__PURE__ */ jsx21(ToastPrimitive.Close, {
2277
2129
  "data-slot": "toast-close",
2278
2130
  "aria-label": "Close toast",
2279
2131
  render,
2280
2132
  className: (state) => cn2("relative shrink-0 text-muted-foreground hover:text-foreground", typeof className === "function" ? className(state) : className),
2281
2133
  ...props,
2282
2134
  onClick: trackedOnClick,
2283
- children: children ?? /* @__PURE__ */ jsx22(XIcon, {
2135
+ children: children ?? /* @__PURE__ */ jsx21(XIcon, {
2284
2136
  "aria-hidden": "true"
2285
2137
  })
2286
2138
  });
@@ -2288,24 +2140,24 @@ function ToastClose2({
2288
2140
  function ToastIcon({ type }) {
2289
2141
  switch (type) {
2290
2142
  case "success":
2291
- return /* @__PURE__ */ jsx22(CircleCheckIcon, {
2143
+ return /* @__PURE__ */ jsx21(CircleCheckIcon, {
2292
2144
  "aria-hidden": "true"
2293
2145
  });
2294
2146
  case "info":
2295
- return /* @__PURE__ */ jsx22(InfoIcon, {
2147
+ return /* @__PURE__ */ jsx21(InfoIcon, {
2296
2148
  "aria-hidden": "true"
2297
2149
  });
2298
2150
  case "warning":
2299
- return /* @__PURE__ */ jsx22(TriangleAlertIcon, {
2151
+ return /* @__PURE__ */ jsx21(TriangleAlertIcon, {
2300
2152
  "aria-hidden": "true"
2301
2153
  });
2302
2154
  case "error":
2303
- return /* @__PURE__ */ jsx22(OctagonXIcon, {
2155
+ return /* @__PURE__ */ jsx21(OctagonXIcon, {
2304
2156
  "aria-hidden": "true",
2305
2157
  className: "text-destructive"
2306
2158
  });
2307
2159
  case "loading":
2308
- return /* @__PURE__ */ jsx22(LoaderCircleIcon, {
2160
+ return /* @__PURE__ */ jsx21(LoaderCircleIcon, {
2309
2161
  "aria-hidden": "true",
2310
2162
  className: "animate-spin motion-reduce:animate-none"
2311
2163
  });
@@ -2315,41 +2167,41 @@ function ToastIcon({ type }) {
2315
2167
  }
2316
2168
  function ToastList() {
2317
2169
  const { toasts } = ToastPrimitive.useToastManager();
2318
- return /* @__PURE__ */ jsx22(Fragment4, {
2319
- children: toasts.map((toastItem) => /* @__PURE__ */ jsx22(Toast2, {
2170
+ return /* @__PURE__ */ jsx21(Fragment4, {
2171
+ children: toasts.map((toastItem) => /* @__PURE__ */ jsx21(Toast2, {
2320
2172
  toast: toastItem,
2321
- children: /* @__PURE__ */ jsxs15(ToastContent2, {
2173
+ children: /* @__PURE__ */ jsxs14(ToastContent2, {
2322
2174
  children: [
2323
- /* @__PURE__ */ jsx22("span", {
2175
+ /* @__PURE__ */ jsx21("span", {
2324
2176
  "data-slot": "toast-icon",
2325
2177
  className: "shrink-0 empty:hidden [&_svg]:size-4",
2326
- children: /* @__PURE__ */ jsx22(ToastIcon, {
2178
+ children: /* @__PURE__ */ jsx21(ToastIcon, {
2327
2179
  type: toastItem.type
2328
2180
  })
2329
2181
  }),
2330
- /* @__PURE__ */ jsxs15("div", {
2182
+ /* @__PURE__ */ jsxs14("div", {
2331
2183
  className: "flex min-w-0 flex-1 flex-col gap-1",
2332
2184
  children: [
2333
- /* @__PURE__ */ jsx22(ToastTitle2, {}),
2334
- /* @__PURE__ */ jsx22(ToastDescription2, {})
2185
+ /* @__PURE__ */ jsx21(ToastTitle2, {}),
2186
+ /* @__PURE__ */ jsx21(ToastDescription2, {})
2335
2187
  ]
2336
2188
  }),
2337
- /* @__PURE__ */ jsx22(ToastAction2, {}),
2338
- /* @__PURE__ */ jsx22(ToastClose2, {})
2189
+ /* @__PURE__ */ jsx21(ToastAction2, {}),
2190
+ /* @__PURE__ */ jsx21(ToastClose2, {})
2339
2191
  ]
2340
2192
  })
2341
2193
  }, toastItem.id))
2342
2194
  });
2343
2195
  }
2344
2196
  function ToastToaster2({ children, density, ...props }) {
2345
- return /* @__PURE__ */ jsxs15(ToastProvider2, {
2197
+ return /* @__PURE__ */ jsxs14(ToastProvider2, {
2346
2198
  ...props,
2347
2199
  children: [
2348
2200
  children,
2349
- /* @__PURE__ */ jsx22(ToastPortal2, {
2350
- children: /* @__PURE__ */ jsx22(ToastViewport2, {
2201
+ /* @__PURE__ */ jsx21(ToastPortal2, {
2202
+ children: /* @__PURE__ */ jsx21(ToastViewport2, {
2351
2203
  density,
2352
- children: /* @__PURE__ */ jsx22(ToastList, {})
2204
+ children: /* @__PURE__ */ jsx21(ToastList, {})
2353
2205
  })
2354
2206
  })
2355
2207
  ]
@@ -2365,7 +2217,7 @@ function useToastManager2() {
2365
2217
  import { mergeProps as mergeProps6 } from "@base-ui/react/merge-props";
2366
2218
  import { useRender as useRender6 } from "@base-ui/react/use-render";
2367
2219
  import { cva as cva4 } from "class-variance-authority";
2368
- import { jsx as jsx23 } from "react/jsx-runtime";
2220
+ import { jsx as jsx22 } from "react/jsx-runtime";
2369
2221
  var markerVariants2 = cva4("group/marker relative flex min-h-4 w-full items-center gap-control-gap text-start text-sm text-muted-foreground [&_svg:not([class*='size-'])]:size-4 [a]:underline [a]:underline-offset-3 [a]:hover:text-foreground [&:is(a,button)]:outline-none [&:is(a,button)]:focus-visible:outline-1 [&:is(a,button)]:focus-visible:outline-ring", {
2370
2222
  variants: {
2371
2223
  variant: {
@@ -2384,7 +2236,7 @@ function Marker2({ density, className, variant = "default", render, ...props })
2384
2236
  });
2385
2237
  }
2386
2238
  function MarkerIcon2({ density, className, ...props }) {
2387
- return /* @__PURE__ */ jsx23("span", {
2239
+ return /* @__PURE__ */ jsx22("span", {
2388
2240
  "data-density": density,
2389
2241
  "data-slot": "marker-icon",
2390
2242
  "aria-hidden": "true",
@@ -2393,7 +2245,7 @@ function MarkerIcon2({ density, className, ...props }) {
2393
2245
  });
2394
2246
  }
2395
2247
  function MarkerContent2({ density, className, ...props }) {
2396
- return /* @__PURE__ */ jsx23("span", {
2248
+ return /* @__PURE__ */ jsx22("span", {
2397
2249
  "data-density": density,
2398
2250
  "data-slot": "marker-content",
2399
2251
  className: cn2("min-w-0 wrap-break-word group-data-[variant=separator]/marker:text-center [&>a]:underline [&>a]:underline-offset-3 [&>a:hover]:text-foreground", className),
@@ -2404,9 +2256,9 @@ function MarkerContent2({ density, className, ...props }) {
2404
2256
  import { mergeProps as mergeProps7 } from "@base-ui/react/merge-props";
2405
2257
  import { useRender as useRender7 } from "@base-ui/react/use-render";
2406
2258
  import { cva as cva5 } from "class-variance-authority";
2407
- import { jsx as jsx24 } from "react/jsx-runtime";
2259
+ import { jsx as jsx23 } from "react/jsx-runtime";
2408
2260
  function BubbleGroup2({ density, className, ...props }) {
2409
- return /* @__PURE__ */ jsx24("div", {
2261
+ return /* @__PURE__ */ jsx23("div", {
2410
2262
  "data-density": density,
2411
2263
  "data-slot": "bubble-group",
2412
2264
  className: cn2("flex min-w-0 flex-col gap-control-gap", className),
@@ -2428,7 +2280,7 @@ var bubbleVariants = cva5("group/bubble relative flex w-fit max-w-[80%] min-w-0
2428
2280
  defaultVariants: { variant: "default" }
2429
2281
  });
2430
2282
  function Bubble2({ density, variant = "default", align = "start", className, ...props }) {
2431
- return /* @__PURE__ */ jsx24("div", {
2283
+ return /* @__PURE__ */ jsx23("div", {
2432
2284
  "data-density": density,
2433
2285
  "data-slot": "bubble",
2434
2286
  "data-variant": variant,
@@ -2461,7 +2313,7 @@ function BubbleReactions2({
2461
2313
  className,
2462
2314
  ...props
2463
2315
  }) {
2464
- return /* @__PURE__ */ jsx24("div", {
2316
+ return /* @__PURE__ */ jsx23("div", {
2465
2317
  "data-density": density,
2466
2318
  "data-slot": "bubble-reactions",
2467
2319
  "data-align": align,
@@ -2479,9 +2331,9 @@ import { createContext as createContext3 } from "react";
2479
2331
  var MessageContext = createContext3(null);
2480
2332
 
2481
2333
  // src/components/Message.tsx
2482
- import { jsx as jsx25 } from "react/jsx-runtime";
2334
+ import { jsx as jsx24 } from "react/jsx-runtime";
2483
2335
  function MessageGroup2({ density, className, ...props }) {
2484
- return /* @__PURE__ */ jsx25("div", {
2336
+ return /* @__PURE__ */ jsx24("div", {
2485
2337
  "data-density": density,
2486
2338
  "data-slot": "message-group",
2487
2339
  className: cn2("flex min-w-0 flex-col gap-control-gap", className),
@@ -2492,9 +2344,9 @@ function Message2({ density, className, align = "start", style, ...props }) {
2492
2344
  const [footerOffset, setFooterOffset] = useState(0);
2493
2345
  const context = useMemo3(() => ({ setFooterOffset }), []);
2494
2346
  const messageStyle = { ...style, "--message-footer-offset": `${footerOffset}px` };
2495
- return /* @__PURE__ */ jsx25(MessageContext.Provider, {
2347
+ return /* @__PURE__ */ jsx24(MessageContext.Provider, {
2496
2348
  value: context,
2497
- children: /* @__PURE__ */ jsx25("div", {
2349
+ children: /* @__PURE__ */ jsx24("div", {
2498
2350
  "data-density": density,
2499
2351
  "data-slot": "message",
2500
2352
  "data-align": align,
@@ -2505,7 +2357,7 @@ function Message2({ density, className, align = "start", style, ...props }) {
2505
2357
  });
2506
2358
  }
2507
2359
  function MessageAvatar2({ density, className, ...props }) {
2508
- return /* @__PURE__ */ jsx25("div", {
2360
+ return /* @__PURE__ */ jsx24("div", {
2509
2361
  "data-density": density,
2510
2362
  "data-slot": "message-avatar",
2511
2363
  className: cn2("flex w-fit min-w-8 shrink-0 items-center justify-center self-end overflow-hidden rounded-full bg-muted group-has-data-[slot=message-footer]/message:-translate-y-(--message-footer-offset)", className),
@@ -2513,7 +2365,7 @@ function MessageAvatar2({ density, className, ...props }) {
2513
2365
  });
2514
2366
  }
2515
2367
  function MessageContent2({ density, className, ...props }) {
2516
- return /* @__PURE__ */ jsx25("div", {
2368
+ return /* @__PURE__ */ jsx24("div", {
2517
2369
  "data-density": density,
2518
2370
  "data-slot": "message-content",
2519
2371
  className: cn2("flex w-full min-w-0 flex-col gap-control-gap wrap-break-word group-data-[align=end]/message:[&>[data-slot]:not([data-slot=message-header])]:self-end", className),
@@ -2521,7 +2373,7 @@ function MessageContent2({ density, className, ...props }) {
2521
2373
  });
2522
2374
  }
2523
2375
  function MessageHeader2({ density, className, ...props }) {
2524
- return /* @__PURE__ */ jsx25("div", {
2376
+ return /* @__PURE__ */ jsx24("div", {
2525
2377
  "data-density": density,
2526
2378
  "data-slot": "message-header",
2527
2379
  className: cn2("flex max-w-full min-w-0 items-center px-control-x text-xs font-medium text-muted-foreground group-has-data-[variant=ghost]/message:px-0", className),
@@ -2563,7 +2415,7 @@ function MessageFooter2({ density, className, ...props }) {
2563
2415
  import { mergeProps as mergeProps8 } from "@base-ui/react/merge-props";
2564
2416
  import { useRender as useRender9 } from "@base-ui/react/use-render";
2565
2417
  import { cva as cva6 } from "class-variance-authority";
2566
- import { jsx as jsx26 } from "react/jsx-runtime";
2418
+ import { jsx as jsx25 } from "react/jsx-runtime";
2567
2419
  var attachmentVariants = cva6("group/attachment relative flex w-fit max-w-full min-w-0 shrink-0 flex-wrap rounded-md border bg-card text-card-foreground transition-colors motion-reduce:transition-none focus-within:ring-1 focus-within:ring-ring has-[>a,>button]:hover:bg-muted/50 data-[state=error]:border-destructive data-[state=idle]:border-dashed", {
2568
2420
  variants: {
2569
2421
  size: {
@@ -2585,7 +2437,7 @@ function Attachment2({
2585
2437
  orientation = "horizontal",
2586
2438
  ...props
2587
2439
  }) {
2588
- return /* @__PURE__ */ jsx26("div", {
2440
+ return /* @__PURE__ */ jsx25("div", {
2589
2441
  "data-slot": "attachment",
2590
2442
  "data-density": density,
2591
2443
  "data-state": state,
@@ -2605,7 +2457,7 @@ var attachmentMediaVariants = cva6("relative flex aspect-square w-10 shrink-0 it
2605
2457
  defaultVariants: { variant: "icon" }
2606
2458
  });
2607
2459
  function AttachmentMedia2({ density, className, variant = "icon", ...props }) {
2608
- return /* @__PURE__ */ jsx26("div", {
2460
+ return /* @__PURE__ */ jsx25("div", {
2609
2461
  "data-slot": "attachment-media",
2610
2462
  "data-density": density,
2611
2463
  "data-variant": variant,
@@ -2614,7 +2466,7 @@ function AttachmentMedia2({ density, className, variant = "icon", ...props }) {
2614
2466
  });
2615
2467
  }
2616
2468
  function AttachmentContent2({ density, className, ...props }) {
2617
- return /* @__PURE__ */ jsx26("div", {
2469
+ return /* @__PURE__ */ jsx25("div", {
2618
2470
  "data-slot": "attachment-content",
2619
2471
  "data-density": density,
2620
2472
  className: cn2("max-w-full min-w-0 flex-1 leading-tight group-data-[orientation=vertical]/attachment:px-1", className),
@@ -2622,7 +2474,7 @@ function AttachmentContent2({ density, className, ...props }) {
2622
2474
  });
2623
2475
  }
2624
2476
  function AttachmentTitle2({ density, className, ...props }) {
2625
- return /* @__PURE__ */ jsx26("span", {
2477
+ return /* @__PURE__ */ jsx25("span", {
2626
2478
  "data-slot": "attachment-title",
2627
2479
  "data-density": density,
2628
2480
  className: cn2("block max-w-full min-w-0 truncate font-medium group-data-[state=processing]/attachment:shimmer group-data-[state=uploading]/attachment:shimmer", className),
@@ -2630,7 +2482,7 @@ function AttachmentTitle2({ density, className, ...props }) {
2630
2482
  });
2631
2483
  }
2632
2484
  function AttachmentDescription2({ density, className, ...props }) {
2633
- return /* @__PURE__ */ jsx26("span", {
2485
+ return /* @__PURE__ */ jsx25("span", {
2634
2486
  "data-slot": "attachment-description",
2635
2487
  "data-density": density,
2636
2488
  className: cn2("mt-0.5 block max-w-full min-w-0 truncate text-xs text-muted-foreground group-data-[state=error]/attachment:text-destructive", className),
@@ -2638,7 +2490,7 @@ function AttachmentDescription2({ density, className, ...props }) {
2638
2490
  });
2639
2491
  }
2640
2492
  function AttachmentActions2({ density, className, ...props }) {
2641
- return /* @__PURE__ */ jsx26("div", {
2493
+ return /* @__PURE__ */ jsx25("div", {
2642
2494
  "data-slot": "attachment-actions",
2643
2495
  "data-density": density,
2644
2496
  className: cn2("relative z-20 flex shrink-0 items-center group-data-[orientation=vertical]/attachment:absolute group-data-[orientation=vertical]/attachment:top-3 group-data-[orientation=vertical]/attachment:end-3 group-data-[orientation=vertical]/attachment:gap-1", className),
@@ -2651,7 +2503,7 @@ function AttachmentAction2({
2651
2503
  size = "icon-xs",
2652
2504
  ...props
2653
2505
  }) {
2654
- return /* @__PURE__ */ jsx26(Button2, {
2506
+ return /* @__PURE__ */ jsx25(Button2, {
2655
2507
  "data-slot": "attachment-action",
2656
2508
  variant,
2657
2509
  size,
@@ -2676,7 +2528,7 @@ function AttachmentTrigger2({
2676
2528
  });
2677
2529
  }
2678
2530
  function AttachmentGroup2({ density, className, ...props }) {
2679
- return /* @__PURE__ */ jsx26("div", {
2531
+ return /* @__PURE__ */ jsx25("div", {
2680
2532
  "data-slot": "attachment-group",
2681
2533
  "data-density": density,
2682
2534
  className: cn2("flex min-w-0 scroll-fade-x snap-x snap-mandatory scroll-px-1 no-scrollbar gap-3 overflow-x-auto overscroll-x-contain py-1 *:data-[slot=attachment]:flex-none *:data-[slot=attachment]:snap-start", className),
@@ -2685,7 +2537,7 @@ function AttachmentGroup2({ density, className, ...props }) {
2685
2537
  }
2686
2538
  // src/components/InlineEdit.tsx
2687
2539
  import { useEffect as useEffect2, useRef as useRef2, useState as useState2 } from "react";
2688
- import { jsx as jsx27, jsxs as jsxs16 } from "react/jsx-runtime";
2540
+ import { jsx as jsx26, jsxs as jsxs15 } from "react/jsx-runtime";
2689
2541
  function InlineEdit2({
2690
2542
  analytics,
2691
2543
  label,
@@ -2730,14 +2582,14 @@ function InlineEdit2({
2730
2582
  setSaving(false);
2731
2583
  }
2732
2584
  };
2733
- return /* @__PURE__ */ jsxs16("form", {
2585
+ return /* @__PURE__ */ jsxs15("form", {
2734
2586
  className: "flex min-w-0 flex-col gap-1",
2735
2587
  onSubmit: (event) => {
2736
2588
  event.preventDefault();
2737
2589
  save();
2738
2590
  },
2739
2591
  children: [
2740
- /* @__PURE__ */ jsx27(Input2, {
2592
+ /* @__PURE__ */ jsx26(Input2, {
2741
2593
  analytics: false,
2742
2594
  ref: input,
2743
2595
  density,
@@ -2766,7 +2618,7 @@ function InlineEdit2({
2766
2618
  }
2767
2619
  }
2768
2620
  }),
2769
- error && /* @__PURE__ */ jsx27("p", {
2621
+ error && /* @__PURE__ */ jsx26("p", {
2770
2622
  role: "alert",
2771
2623
  className: "text-xs text-destructive",
2772
2624
  children: error
@@ -2777,7 +2629,7 @@ function InlineEdit2({
2777
2629
  // src/components/StarRating.tsx
2778
2630
  import { Radio } from "@base-ui/react/radio";
2779
2631
  import { StarIcon, CircleOffIcon } from "lucide-react";
2780
- import { jsx as jsx28 } from "react/jsx-runtime";
2632
+ import { jsx as jsx27 } from "react/jsx-runtime";
2781
2633
  function StarRating2({
2782
2634
  analytics,
2783
2635
  label,
@@ -2786,7 +2638,7 @@ function StarRating2({
2786
2638
  density,
2787
2639
  onValueChange
2788
2640
  }) {
2789
- return /* @__PURE__ */ jsx28(RadioGroup2, {
2641
+ return /* @__PURE__ */ jsx27(RadioGroup2, {
2790
2642
  analytics,
2791
2643
  "aria-label": label,
2792
2644
  value,
@@ -2794,20 +2646,20 @@ function StarRating2({
2794
2646
  "data-density": density,
2795
2647
  className: "inline-flex w-fit shrink-0 items-center gap-0.5",
2796
2648
  onValueChange,
2797
- children: [1, 2, 3, 4, 5, 0].map((star) => /* @__PURE__ */ jsx28(Radio.Root, {
2649
+ children: [1, 2, 3, 4, 5, 0].map((star) => /* @__PURE__ */ jsx27(Radio.Root, {
2798
2650
  value: star,
2799
2651
  nativeButton: true,
2800
- render: /* @__PURE__ */ jsx28(AnalyticsButton, {
2652
+ render: /* @__PURE__ */ jsx27(AnalyticsButton, {
2801
2653
  component: "StarRating",
2802
2654
  type: "button"
2803
2655
  }),
2804
2656
  "aria-label": star === 0 ? "Unrated" : `${star} ${star === 1 ? "star" : "stars"}`,
2805
2657
  title: star === 0 ? "Clear rating" : `${star} stars`,
2806
2658
  className: "inline-flex size-5 shrink-0 items-center justify-center rounded-sm text-muted-foreground outline-none hover:text-primary focus-visible:ring-1 focus-visible:ring-ring data-disabled:cursor-not-allowed data-disabled:opacity-50",
2807
- children: star === 0 ? /* @__PURE__ */ jsx28(CircleOffIcon, {
2659
+ children: star === 0 ? /* @__PURE__ */ jsx27(CircleOffIcon, {
2808
2660
  "aria-hidden": "true",
2809
2661
  className: "size-3"
2810
- }) : /* @__PURE__ */ jsx28(StarIcon, {
2662
+ }) : /* @__PURE__ */ jsx27(StarIcon, {
2811
2663
  "aria-hidden": "true",
2812
2664
  className: star <= value ? "size-3.5 fill-primary text-primary" : "size-3.5"
2813
2665
  })
@@ -2816,7 +2668,7 @@ function StarRating2({
2816
2668
  }
2817
2669
  // src/components/ConfirmationDialog.tsx
2818
2670
  import { useState as useState3 } from "react";
2819
- import { jsx as jsx29, jsxs as jsxs17 } from "react/jsx-runtime";
2671
+ import { jsx as jsx28, jsxs as jsxs16 } from "react/jsx-runtime";
2820
2672
  function ConfirmationDialog2({
2821
2673
  open,
2822
2674
  title,
@@ -2828,7 +2680,7 @@ function ConfirmationDialog2({
2828
2680
  }) {
2829
2681
  const [isPending, setPending] = useState3(false);
2830
2682
  const [error, setError] = useState3(null);
2831
- return /* @__PURE__ */ jsx29(AlertDialog2, {
2683
+ return /* @__PURE__ */ jsx28(AlertDialog2, {
2832
2684
  open,
2833
2685
  onOpenChange: (next, details) => {
2834
2686
  if (isPending)
@@ -2838,33 +2690,33 @@ function ConfirmationDialog2({
2838
2690
  onOpenChange(next);
2839
2691
  }
2840
2692
  },
2841
- children: /* @__PURE__ */ jsxs17(AlertDialogContent2, {
2693
+ children: /* @__PURE__ */ jsxs16(AlertDialogContent2, {
2842
2694
  children: [
2843
- /* @__PURE__ */ jsx29(AlertDialogHeader2, {
2844
- children: /* @__PURE__ */ jsx29(AlertDialogTitle2, {
2695
+ /* @__PURE__ */ jsx28(AlertDialogHeader2, {
2696
+ children: /* @__PURE__ */ jsx28(AlertDialogTitle2, {
2845
2697
  children: title
2846
2698
  })
2847
2699
  }),
2848
- /* @__PURE__ */ jsxs17(ScrollArea2, {
2700
+ /* @__PURE__ */ jsxs16(ScrollArea2, {
2849
2701
  children: [
2850
- /* @__PURE__ */ jsx29(AlertDialogDescription2, {
2702
+ /* @__PURE__ */ jsx28(AlertDialogDescription2, {
2851
2703
  children: description
2852
2704
  }),
2853
- error && /* @__PURE__ */ jsx29(Alert2, {
2705
+ error && /* @__PURE__ */ jsx28(Alert2, {
2854
2706
  variant: "destructive",
2855
- children: /* @__PURE__ */ jsx29(AlertDescription2, {
2707
+ children: /* @__PURE__ */ jsx28(AlertDescription2, {
2856
2708
  children: error
2857
2709
  })
2858
2710
  })
2859
2711
  ]
2860
2712
  }),
2861
- /* @__PURE__ */ jsxs17(AlertDialogFooter2, {
2713
+ /* @__PURE__ */ jsxs16(AlertDialogFooter2, {
2862
2714
  children: [
2863
- /* @__PURE__ */ jsx29(AlertDialogCancel2, {
2715
+ /* @__PURE__ */ jsx28(AlertDialogCancel2, {
2864
2716
  disabled: isPending,
2865
2717
  children: "Cancel"
2866
2718
  }),
2867
- /* @__PURE__ */ jsx29(Button2, {
2719
+ /* @__PURE__ */ jsx28(Button2, {
2868
2720
  variant: "destructive",
2869
2721
  disabled: isPending,
2870
2722
  onClick: async () => {
@@ -2908,7 +2760,7 @@ function useObjectURL(file) {
2908
2760
  }
2909
2761
 
2910
2762
  // src/components/ImagePicker.tsx
2911
- import { jsx as jsx30, jsxs as jsxs18 } from "react/jsx-runtime";
2763
+ import { jsx as jsx29, jsxs as jsxs17 } from "react/jsx-runtime";
2912
2764
  function ImagePicker2({
2913
2765
  analytics,
2914
2766
  src,
@@ -2922,27 +2774,27 @@ function ImagePicker2({
2922
2774
  const input = useRef3(null);
2923
2775
  const preview = useObjectURL(file);
2924
2776
  const image = file === null ? undefined : preview ?? src;
2925
- return /* @__PURE__ */ jsxs18("figure", {
2777
+ return /* @__PURE__ */ jsxs17("figure", {
2926
2778
  className: "flex min-w-0 flex-col items-center gap-3",
2927
2779
  "aria-label": label,
2928
2780
  children: [
2929
- /* @__PURE__ */ jsxs18(Avatar2, {
2781
+ /* @__PURE__ */ jsxs17(Avatar2, {
2930
2782
  size: "preview",
2931
2783
  shape: "square",
2932
2784
  children: [
2933
- /* @__PURE__ */ jsx30(AvatarImage2, {
2785
+ /* @__PURE__ */ jsx29(AvatarImage2, {
2934
2786
  src: image,
2935
2787
  alt: label
2936
2788
  }),
2937
- /* @__PURE__ */ jsx30(AvatarFallback2, {
2938
- children: /* @__PURE__ */ jsx30(ImageIcon, {
2789
+ /* @__PURE__ */ jsx29(AvatarFallback2, {
2790
+ children: /* @__PURE__ */ jsx29(ImageIcon, {
2939
2791
  className: "size-12",
2940
2792
  "aria-hidden": "true"
2941
2793
  })
2942
2794
  })
2943
2795
  ]
2944
2796
  }),
2945
- /* @__PURE__ */ jsx30("input", {
2797
+ /* @__PURE__ */ jsx29("input", {
2946
2798
  ref: input,
2947
2799
  hidden: true,
2948
2800
  type: "file",
@@ -2958,22 +2810,22 @@ function ImagePicker2({
2958
2810
  event.currentTarget.value = "";
2959
2811
  }
2960
2812
  }),
2961
- /* @__PURE__ */ jsxs18("div", {
2813
+ /* @__PURE__ */ jsxs17("div", {
2962
2814
  className: "flex flex-wrap justify-center gap-2",
2963
2815
  children: [
2964
- /* @__PURE__ */ jsxs18(Button2, {
2816
+ /* @__PURE__ */ jsxs17(Button2, {
2965
2817
  type: "button",
2966
2818
  variant: "outline",
2967
2819
  disabled,
2968
2820
  onClick: () => input.current?.click(),
2969
2821
  children: [
2970
- /* @__PURE__ */ jsx30(UploadIcon, {
2822
+ /* @__PURE__ */ jsx29(UploadIcon, {
2971
2823
  "data-icon": "inline-start"
2972
2824
  }),
2973
2825
  "Upload image"
2974
2826
  ]
2975
2827
  }),
2976
- /* @__PURE__ */ jsx30(Button2, {
2828
+ /* @__PURE__ */ jsx29(Button2, {
2977
2829
  type: "button",
2978
2830
  variant: "outline",
2979
2831
  disabled: disabled || !image,
@@ -2987,9 +2839,9 @@ function ImagePicker2({
2987
2839
  }
2988
2840
  // src/components/Meter.tsx
2989
2841
  import { Meter as MeterPrimitive } from "@base-ui/react/meter";
2990
- import { jsx as jsx31 } from "react/jsx-runtime";
2842
+ import { jsx as jsx30 } from "react/jsx-runtime";
2991
2843
  function Meter2({ density, className, ...props }) {
2992
- return /* @__PURE__ */ jsx31(MeterPrimitive.Root, {
2844
+ return /* @__PURE__ */ jsx30(MeterPrimitive.Root, {
2993
2845
  "data-density": density,
2994
2846
  "data-slot": "meter",
2995
2847
  className: (state) => cn2("flex min-w-0 flex-wrap items-center gap-field-gap", typeof className === "function" ? className(state) : className),
@@ -2997,7 +2849,7 @@ function Meter2({ density, className, ...props }) {
2997
2849
  });
2998
2850
  }
2999
2851
  function MeterLabel2({ density, className, ...props }) {
3000
- return /* @__PURE__ */ jsx31(MeterPrimitive.Label, {
2852
+ return /* @__PURE__ */ jsx30(MeterPrimitive.Label, {
3001
2853
  "data-density": density,
3002
2854
  "data-slot": "meter-label",
3003
2855
  className: (state) => cn2("text-sm font-medium", typeof className === "function" ? className(state) : className),
@@ -3005,7 +2857,7 @@ function MeterLabel2({ density, className, ...props }) {
3005
2857
  });
3006
2858
  }
3007
2859
  function MeterValue2({ density, className, ...props }) {
3008
- return /* @__PURE__ */ jsx31(MeterPrimitive.Value, {
2860
+ return /* @__PURE__ */ jsx30(MeterPrimitive.Value, {
3009
2861
  "data-density": density,
3010
2862
  "data-slot": "meter-value",
3011
2863
  className: (state) => cn2("ms-auto text-sm text-muted-foreground tabular-nums", typeof className === "function" ? className(state) : className),
@@ -3013,7 +2865,7 @@ function MeterValue2({ density, className, ...props }) {
3013
2865
  });
3014
2866
  }
3015
2867
  function MeterTrack2({ density, className, ...props }) {
3016
- return /* @__PURE__ */ jsx31(MeterPrimitive.Track, {
2868
+ return /* @__PURE__ */ jsx30(MeterPrimitive.Track, {
3017
2869
  "data-density": density,
3018
2870
  "data-slot": "meter-track",
3019
2871
  className: (state) => cn2("h-1 w-full overflow-hidden rounded-sm bg-muted", typeof className === "function" ? className(state) : className),
@@ -3025,7 +2877,7 @@ function MeterIndicator2({
3025
2877
  className,
3026
2878
  ...props
3027
2879
  }) {
3028
- return /* @__PURE__ */ jsx31(MeterPrimitive.Indicator, {
2880
+ return /* @__PURE__ */ jsx30(MeterPrimitive.Indicator, {
3029
2881
  "data-density": density,
3030
2882
  "data-slot": "meter-indicator",
3031
2883
  className: (state) => cn2("h-full bg-primary transition-[width] motion-reduce:transition-none", typeof className === "function" ? className(state) : className),
@@ -3034,10 +2886,10 @@ function MeterIndicator2({
3034
2886
  }
3035
2887
  // src/components/Stepper.tsx
3036
2888
  import { Tabs as TabsPrimitive } from "@base-ui/react/tabs";
3037
- import { CheckIcon as CheckIcon3 } from "lucide-react";
3038
- import { jsx as jsx32 } from "react/jsx-runtime";
2889
+ import { CheckIcon as CheckIcon2 } from "lucide-react";
2890
+ import { jsx as jsx31 } from "react/jsx-runtime";
3039
2891
  function Stepper2({ density, className, ...props }) {
3040
- return /* @__PURE__ */ jsx32(TabsPrimitive.Root, {
2892
+ return /* @__PURE__ */ jsx31(TabsPrimitive.Root, {
3041
2893
  "data-density": density,
3042
2894
  "data-slot": "stepper",
3043
2895
  className: (state) => cn2("group/stepper flex min-w-0 flex-col gap-panel data-[orientation=vertical]:flex-row", typeof className === "function" ? className(state) : className),
@@ -3050,7 +2902,7 @@ function StepperList2({
3050
2902
  activateOnFocus = false,
3051
2903
  ...props
3052
2904
  }) {
3053
- return /* @__PURE__ */ jsx32(TabsPrimitive.List, {
2905
+ return /* @__PURE__ */ jsx31(TabsPrimitive.List, {
3054
2906
  "data-density": density,
3055
2907
  "data-slot": "stepper-list",
3056
2908
  activateOnFocus,
@@ -3059,7 +2911,7 @@ function StepperList2({
3059
2911
  });
3060
2912
  }
3061
2913
  function StepperTrigger2({ density, className, ...props }) {
3062
- return /* @__PURE__ */ jsx32(TabsPrimitive.Tab, {
2914
+ return /* @__PURE__ */ jsx31(TabsPrimitive.Tab, {
3063
2915
  "data-density": density,
3064
2916
  "data-slot": "stepper-trigger",
3065
2917
  className: (state) => cn2("group/step flex min-h-control items-center gap-control-gap rounded-sm text-sm text-muted-foreground outline-none focus-visible:ring-1 focus-visible:ring-ring data-active:text-foreground disabled:pointer-events-none disabled:opacity-50 aria-disabled:opacity-50", typeof className === "function" ? className(state) : className),
@@ -3067,17 +2919,17 @@ function StepperTrigger2({ density, className, ...props }) {
3067
2919
  });
3068
2920
  }
3069
2921
  function StepperIndicator2({ completed = false, children, className, ...props }) {
3070
- return /* @__PURE__ */ jsx32("span", {
2922
+ return /* @__PURE__ */ jsx31("span", {
3071
2923
  "aria-hidden": "true",
3072
2924
  "data-slot": "stepper-indicator",
3073
2925
  "data-completed": completed || undefined,
3074
2926
  className: cn2("flex size-control shrink-0 items-center justify-center rounded-sm border border-input bg-secondary text-sm tabular-nums group-data-active/step:border-primary group-data-active/step:bg-primary group-data-active/step:text-primary-foreground data-completed:border-primary data-completed:text-primary [&_svg]:size-3.5", className),
3075
2927
  ...props,
3076
- children: completed ? /* @__PURE__ */ jsx32(CheckIcon3, {}) : children
2928
+ children: completed ? /* @__PURE__ */ jsx31(CheckIcon2, {}) : children
3077
2929
  });
3078
2930
  }
3079
2931
  function StepperContent2({ density, className, ...props }) {
3080
- return /* @__PURE__ */ jsx32(TabsPrimitive.Panel, {
2932
+ return /* @__PURE__ */ jsx31(TabsPrimitive.Panel, {
3081
2933
  "data-density": density,
3082
2934
  "data-slot": "stepper-content",
3083
2935
  className: (state) => cn2("min-w-0 flex-1 outline-none focus-visible:ring-1 focus-visible:ring-ring", typeof className === "function" ? className(state) : className),
@@ -3085,7 +2937,7 @@ function StepperContent2({ density, className, ...props }) {
3085
2937
  });
3086
2938
  }
3087
2939
  // src/components/AppShell.tsx
3088
- import { jsx as jsx33, jsxs as jsxs19 } from "react/jsx-runtime";
2940
+ import { jsx as jsx32, jsxs as jsxs18 } from "react/jsx-runtime";
3089
2941
  function AppShell2({
3090
2942
  navigation,
3091
2943
  brand,
@@ -3099,28 +2951,28 @@ function AppShell2({
3099
2951
  content = "scroll",
3100
2952
  density
3101
2953
  }) {
3102
- return /* @__PURE__ */ jsxs19(SidebarProvider2, {
2954
+ return /* @__PURE__ */ jsxs18(SidebarProvider2, {
3103
2955
  density,
3104
2956
  defaultOpen: defaultSidebarOpen,
3105
2957
  className: "relative min-h-0",
3106
2958
  style: { height },
3107
2959
  "data-scroll": "none",
3108
2960
  children: [
3109
- /* @__PURE__ */ jsxs19(Sidebar2, {
2961
+ /* @__PURE__ */ jsxs18(Sidebar2, {
3110
2962
  collapsible: "icon",
3111
2963
  position: "container",
3112
2964
  children: [
3113
- /* @__PURE__ */ jsx33(SidebarHeader2, {
2965
+ /* @__PURE__ */ jsx32(SidebarHeader2, {
3114
2966
  children: brand
3115
2967
  }),
3116
- /* @__PURE__ */ jsx33(SidebarContent2, {
3117
- children: /* @__PURE__ */ jsx33("nav", {
2968
+ /* @__PURE__ */ jsx32(SidebarContent2, {
2969
+ children: /* @__PURE__ */ jsx32("nav", {
3118
2970
  "aria-label": "Primary navigation",
3119
- children: /* @__PURE__ */ jsx33(SidebarGroup2, {
3120
- children: /* @__PURE__ */ jsx33(SidebarMenu2, {
3121
- children: navigation.map((item) => /* @__PURE__ */ jsx33(SidebarMenuItem2, {
3122
- children: /* @__PURE__ */ jsxs19(SidebarMenuButton2, {
3123
- render: /* @__PURE__ */ jsx33(AnalyticsLink, {
2971
+ children: /* @__PURE__ */ jsx32(SidebarGroup2, {
2972
+ children: /* @__PURE__ */ jsx32(SidebarMenu2, {
2973
+ children: navigation.map((item) => /* @__PURE__ */ jsx32(SidebarMenuItem2, {
2974
+ children: /* @__PURE__ */ jsxs18(SidebarMenuButton2, {
2975
+ render: /* @__PURE__ */ jsx32(AnalyticsLink, {
3124
2976
  component: "AppShell",
3125
2977
  render: item.render,
3126
2978
  ...item.href === undefined ? {} : { href: item.href },
@@ -3130,7 +2982,7 @@ function AppShell2({
3130
2982
  tooltip: item.label,
3131
2983
  children: [
3132
2984
  item.icon,
3133
- /* @__PURE__ */ jsx33("span", {
2985
+ /* @__PURE__ */ jsx32("span", {
3134
2986
  children: item.label
3135
2987
  })
3136
2988
  ]
@@ -3140,41 +2992,41 @@ function AppShell2({
3140
2992
  })
3141
2993
  })
3142
2994
  }),
3143
- sidebarFooter && /* @__PURE__ */ jsx33(SidebarFooter2, {
2995
+ sidebarFooter && /* @__PURE__ */ jsx32(SidebarFooter2, {
3144
2996
  children: sidebarFooter
3145
2997
  })
3146
2998
  ]
3147
2999
  }),
3148
- /* @__PURE__ */ jsxs19(SidebarInset2, {
3000
+ /* @__PURE__ */ jsxs18(SidebarInset2, {
3149
3001
  "aria-label": label,
3150
3002
  className: "min-h-0 min-w-0",
3151
3003
  "data-scroll": "none",
3152
3004
  children: [
3153
- /* @__PURE__ */ jsxs19("header", {
3005
+ /* @__PURE__ */ jsxs18("header", {
3154
3006
  "data-scroll": "none",
3155
3007
  className: "flex shrink-0 items-center gap-control-gap border-b border-border p-panel",
3156
3008
  children: [
3157
- /* @__PURE__ */ jsx33(SidebarTrigger2, {}),
3158
- /* @__PURE__ */ jsx33(Separator2, {
3009
+ /* @__PURE__ */ jsx32(SidebarTrigger2, {}),
3010
+ /* @__PURE__ */ jsx32(Separator2, {
3159
3011
  orientation: "vertical",
3160
3012
  className: "h-control"
3161
3013
  }),
3162
3014
  header
3163
3015
  ]
3164
3016
  }),
3165
- content === "fill" ? /* @__PURE__ */ jsx33("div", {
3017
+ content === "fill" ? /* @__PURE__ */ jsx32("div", {
3166
3018
  "data-slot": "app-shell-content",
3167
3019
  "data-scroll": "none",
3168
3020
  className: "flex min-h-0 min-w-0 flex-1 flex-col",
3169
3021
  children
3170
- }) : /* @__PURE__ */ jsx33(ScrollArea2, {
3022
+ }) : /* @__PURE__ */ jsx32(ScrollArea2, {
3171
3023
  className: "min-h-0 flex-1",
3172
- children: /* @__PURE__ */ jsx33("div", {
3024
+ children: /* @__PURE__ */ jsx32("div", {
3173
3025
  className: "flex min-w-0 flex-col gap-panel p-panel",
3174
3026
  children
3175
3027
  })
3176
3028
  }),
3177
- footer && /* @__PURE__ */ jsx33("footer", {
3029
+ footer && /* @__PURE__ */ jsx32("footer", {
3178
3030
  className: "shrink-0 border-t border-border p-panel",
3179
3031
  "data-scroll": "none",
3180
3032
  children: footer
@@ -3524,7 +3376,7 @@ import {
3524
3376
  DropletIcon,
3525
3377
  SunIcon
3526
3378
  } from "lucide-react";
3527
- import { jsx as jsx34, jsxs as jsxs20, Fragment as Fragment5 } from "react/jsx-runtime";
3379
+ import { jsx as jsx33, jsxs as jsxs19, Fragment as Fragment5 } from "react/jsx-runtime";
3528
3380
  var CONDITION_ICONS = {
3529
3381
  clear: SunIcon,
3530
3382
  "partly-cloudy": CloudSunIcon,
@@ -3576,43 +3428,43 @@ function WeatherSummary2({
3576
3428
  defaultTagName: "div",
3577
3429
  props: mergeProps14({
3578
3430
  className: cn2("flex min-w-0 text-foreground", isCompact ? "flex-col items-center gap-1 text-center" : "items-center gap-panel-sm", className),
3579
- children: /* @__PURE__ */ jsxs20(Fragment5, {
3431
+ children: /* @__PURE__ */ jsxs19(Fragment5, {
3580
3432
  children: [
3581
- /* @__PURE__ */ jsx34(ConditionIcon, {
3433
+ /* @__PURE__ */ jsx33(ConditionIcon, {
3582
3434
  "aria-hidden": "true",
3583
3435
  "data-slot": "weather-summary-icon",
3584
3436
  className: cn2("shrink-0 text-muted-foreground", isCompact ? "size-6" : "size-8")
3585
3437
  }),
3586
- /* @__PURE__ */ jsxs20("div", {
3438
+ /* @__PURE__ */ jsxs19("div", {
3587
3439
  className: cn2("flex min-w-0 flex-col gap-0.5", isCompact && "items-center"),
3588
3440
  children: [
3589
- /* @__PURE__ */ jsx34("div", {
3441
+ /* @__PURE__ */ jsx33("div", {
3590
3442
  className: "text-sm font-medium break-words",
3591
3443
  children: label
3592
3444
  }),
3593
- /* @__PURE__ */ jsx34("div", {
3445
+ /* @__PURE__ */ jsx33("div", {
3594
3446
  className: cn2("text-sm text-muted-foreground", isCompact && "sr-only"),
3595
3447
  children: conditionLabel
3596
3448
  }),
3597
- /* @__PURE__ */ jsxs20("div", {
3449
+ /* @__PURE__ */ jsxs19("div", {
3598
3450
  className: "flex flex-wrap items-baseline gap-x-2 text-sm tabular-nums",
3599
3451
  children: [
3600
- /* @__PURE__ */ jsxs20("span", {
3452
+ /* @__PURE__ */ jsxs19("span", {
3601
3453
  children: [
3602
- /* @__PURE__ */ jsx34("span", {
3454
+ /* @__PURE__ */ jsx33("span", {
3603
3455
  className: "sr-only",
3604
3456
  children: "High "
3605
3457
  }),
3606
- /* @__PURE__ */ jsx34("span", {
3458
+ /* @__PURE__ */ jsx33("span", {
3607
3459
  className: "font-medium",
3608
3460
  children: highText
3609
3461
  })
3610
3462
  ]
3611
3463
  }),
3612
- /* @__PURE__ */ jsxs20("span", {
3464
+ /* @__PURE__ */ jsxs19("span", {
3613
3465
  className: "text-muted-foreground",
3614
3466
  children: [
3615
- /* @__PURE__ */ jsx34("span", {
3467
+ /* @__PURE__ */ jsx33("span", {
3616
3468
  className: "sr-only",
3617
3469
  children: "Low "
3618
3470
  }),
@@ -3621,17 +3473,17 @@ function WeatherSummary2({
3621
3473
  })
3622
3474
  ]
3623
3475
  }),
3624
- probabilityText !== undefined && /* @__PURE__ */ jsxs20("div", {
3476
+ probabilityText !== undefined && /* @__PURE__ */ jsxs19("div", {
3625
3477
  className: "flex items-center gap-1 text-xs text-muted-foreground tabular-nums",
3626
3478
  children: [
3627
- /* @__PURE__ */ jsx34(DropletIcon, {
3479
+ /* @__PURE__ */ jsx33(DropletIcon, {
3628
3480
  "aria-hidden": "true",
3629
3481
  className: "size-3 shrink-0"
3630
3482
  }),
3631
- /* @__PURE__ */ jsxs20("span", {
3483
+ /* @__PURE__ */ jsxs19("span", {
3632
3484
  children: [
3633
3485
  probabilityText,
3634
- /* @__PURE__ */ jsx34("span", {
3486
+ /* @__PURE__ */ jsx33("span", {
3635
3487
  className: "sr-only",
3636
3488
  children: " chance of precipitation"
3637
3489
  })
@@ -3649,7 +3501,7 @@ function WeatherSummary2({
3649
3501
  });
3650
3502
  }
3651
3503
  // src/components/WeatherForecast.tsx
3652
- import { jsx as jsx35 } from "react/jsx-runtime";
3504
+ import { jsx as jsx34 } from "react/jsx-runtime";
3653
3505
  function WeatherForecast2({
3654
3506
  days,
3655
3507
  label,
@@ -3660,52 +3512,52 @@ function WeatherForecast2({
3660
3512
  className,
3661
3513
  ...props
3662
3514
  }) {
3663
- return /* @__PURE__ */ jsx35("ul", {
3515
+ return /* @__PURE__ */ jsx34("ul", {
3664
3516
  "aria-label": label,
3665
3517
  "data-slot": "weather-forecast",
3666
3518
  "data-density": density,
3667
3519
  className: cn2("grid min-w-0 gap-panel-sm", variant === "strip" && "grid-cols-[repeat(auto-fill,minmax(6rem,1fr))]", className),
3668
3520
  ...props,
3669
- children: days.map(({ id, ...day }) => /* @__PURE__ */ jsx35(WeatherSummary2, {
3521
+ children: days.map(({ id, ...day }) => /* @__PURE__ */ jsx34(WeatherSummary2, {
3670
3522
  ...day,
3671
3523
  unit,
3672
3524
  locale,
3673
3525
  variant: variant === "strip" ? "compact" : "default",
3674
- render: /* @__PURE__ */ jsx35("li", {})
3526
+ render: /* @__PURE__ */ jsx34("li", {})
3675
3527
  }, id))
3676
3528
  });
3677
3529
  }
3678
3530
  // src/components/PageHeader.tsx
3679
- import { jsx as jsx36, jsxs as jsxs21 } from "react/jsx-runtime";
3531
+ import { jsx as jsx35, jsxs as jsxs20 } from "react/jsx-runtime";
3680
3532
  function PageHeader2({ title, eyebrow, description, breadcrumbs, actions, density }) {
3681
- return /* @__PURE__ */ jsxs21("header", {
3533
+ return /* @__PURE__ */ jsxs20("header", {
3682
3534
  "data-density": density,
3683
3535
  "data-slot": "page-header",
3684
3536
  "data-scroll": "none",
3685
3537
  className: "flex min-w-0 flex-col gap-field-gap",
3686
3538
  children: [
3687
3539
  breadcrumbs,
3688
- /* @__PURE__ */ jsxs21("div", {
3540
+ /* @__PURE__ */ jsxs20("div", {
3689
3541
  className: "flex min-w-0 flex-wrap items-start justify-between gap-panel",
3690
3542
  children: [
3691
- /* @__PURE__ */ jsxs21("div", {
3543
+ /* @__PURE__ */ jsxs20("div", {
3692
3544
  className: "min-w-0",
3693
3545
  children: [
3694
- eyebrow != null && /* @__PURE__ */ jsx36("div", {
3546
+ eyebrow != null && /* @__PURE__ */ jsx35("div", {
3695
3547
  className: "mb-2 text-xs font-medium tracking-widest text-muted-foreground",
3696
3548
  children: eyebrow
3697
3549
  }),
3698
- /* @__PURE__ */ jsx36("h1", {
3550
+ /* @__PURE__ */ jsx35("h1", {
3699
3551
  className: "text-xl font-semibold text-foreground",
3700
3552
  children: title
3701
3553
  }),
3702
- description && /* @__PURE__ */ jsx36("div", {
3554
+ description && /* @__PURE__ */ jsx35("div", {
3703
3555
  className: "mt-1 text-sm text-muted-foreground",
3704
3556
  children: description
3705
3557
  })
3706
3558
  ]
3707
3559
  }),
3708
- actions && /* @__PURE__ */ jsx36("div", {
3560
+ actions && /* @__PURE__ */ jsx35("div", {
3709
3561
  className: "flex min-w-0 max-w-full flex-wrap items-center gap-control-gap wrap-anywhere",
3710
3562
  children: actions
3711
3563
  })
@@ -3714,6 +3566,93 @@ function PageHeader2({ title, eyebrow, description, breadcrumbs, actions, densit
3714
3566
  ]
3715
3567
  });
3716
3568
  }
3569
+ // src/components/PageIntro.tsx
3570
+ import { jsx as jsx36, jsxs as jsxs21 } from "react/jsx-runtime";
3571
+ function PageIntro2({ title, description, eyebrow, icon, actions, highlights, density }) {
3572
+ return /* @__PURE__ */ jsx36("header", {
3573
+ "data-density": density,
3574
+ "data-slot": "page-intro",
3575
+ "data-scroll": "none",
3576
+ className: "@container/page-intro min-w-0",
3577
+ children: /* @__PURE__ */ jsxs21(Card2, {
3578
+ variant: "hero",
3579
+ className: "gap-0 py-0",
3580
+ children: [
3581
+ /* @__PURE__ */ jsx36("div", {
3582
+ "aria-hidden": "true",
3583
+ "data-slot": "page-intro-wash",
3584
+ className: "pointer-events-none absolute inset-0 -z-10 bg-[radial-gradient(ellipse_90%_140%_at_100%_0%,color-mix(in_oklab,var(--primary)_16%,transparent),transparent_65%)]"
3585
+ }),
3586
+ /* @__PURE__ */ jsxs21("div", {
3587
+ className: "flex min-w-0 flex-col gap-panel p-(--card-spacing) @2xl/page-intro:flex-row @2xl/page-intro:items-start @2xl/page-intro:justify-between",
3588
+ children: [
3589
+ /* @__PURE__ */ jsxs21("div", {
3590
+ className: "flex min-w-0 gap-panel",
3591
+ children: [
3592
+ icon != null && /* @__PURE__ */ jsx36("div", {
3593
+ "aria-hidden": "true",
3594
+ "data-slot": "page-intro-icon",
3595
+ className: "flex size-12 shrink-0 items-center justify-center rounded-md bg-primary/10 text-primary [&_svg]:size-6",
3596
+ children: icon
3597
+ }),
3598
+ /* @__PURE__ */ jsxs21("div", {
3599
+ className: "min-w-0",
3600
+ children: [
3601
+ eyebrow != null && /* @__PURE__ */ jsx36("div", {
3602
+ className: "mb-1 text-xs font-medium tracking-widest text-muted-foreground",
3603
+ children: eyebrow
3604
+ }),
3605
+ /* @__PURE__ */ jsx36("h1", {
3606
+ className: "text-2xl font-semibold text-foreground",
3607
+ children: title
3608
+ }),
3609
+ /* @__PURE__ */ jsx36("div", {
3610
+ className: "mt-2 max-w-prose text-base text-pretty text-muted-foreground",
3611
+ children: description
3612
+ })
3613
+ ]
3614
+ })
3615
+ ]
3616
+ }),
3617
+ actions != null && /* @__PURE__ */ jsx36("div", {
3618
+ className: "flex min-w-0 max-w-full shrink-0 flex-wrap items-center gap-control-gap wrap-anywhere",
3619
+ children: actions
3620
+ })
3621
+ ]
3622
+ }),
3623
+ highlights != null && highlights.length > 0 && /* @__PURE__ */ jsx36("ul", {
3624
+ "aria-label": `What you can do in ${title}`,
3625
+ "data-slot": "page-intro-highlights",
3626
+ className: "grid grid-cols-[repeat(auto-fit,minmax(min(100%,13rem),1fr))] gap-panel border-t border-border p-(--card-spacing)",
3627
+ children: highlights.map((highlight) => /* @__PURE__ */ jsxs21("li", {
3628
+ "data-slot": "page-intro-highlight",
3629
+ className: "flex min-w-0 gap-2",
3630
+ children: [
3631
+ highlight.icon != null && /* @__PURE__ */ jsx36("span", {
3632
+ "aria-hidden": "true",
3633
+ className: "mt-0.5 shrink-0 text-primary [&_svg]:size-4",
3634
+ children: highlight.icon
3635
+ }),
3636
+ /* @__PURE__ */ jsxs21("div", {
3637
+ className: "min-w-0",
3638
+ children: [
3639
+ /* @__PURE__ */ jsx36("div", {
3640
+ className: "text-sm font-medium text-foreground",
3641
+ children: highlight.title
3642
+ }),
3643
+ /* @__PURE__ */ jsx36("div", {
3644
+ className: "mt-0.5 text-sm text-muted-foreground",
3645
+ children: highlight.description
3646
+ })
3647
+ ]
3648
+ })
3649
+ ]
3650
+ }, highlight.title))
3651
+ })
3652
+ ]
3653
+ })
3654
+ });
3655
+ }
3717
3656
  // src/components/WorkspaceSwitcher.tsx
3718
3657
  import { jsx as jsx37, jsxs as jsxs22 } from "react/jsx-runtime";
3719
3658
  function WorkspaceSwitcher2({
@@ -4147,23 +4086,11 @@ function FilterBar2({
4147
4086
  onChange: (event) => onSearchChange(event.target.value),
4148
4087
  className: "min-w-40 flex-1"
4149
4088
  }),
4150
- filters.map((filter) => /* @__PURE__ */ jsxs28(NativeSelect2, {
4089
+ filters.map((filter) => /* @__PURE__ */ jsx43(OptionSelect2, {
4151
4090
  "aria-label": filter.label,
4152
4091
  value: value[filter.id] ?? "",
4153
- onChange: (event) => onValueChange({ ...value, [filter.id]: event.target.value }),
4154
- children: [
4155
- /* @__PURE__ */ jsxs28(NativeSelectOption2, {
4156
- value: "",
4157
- children: [
4158
- "All ",
4159
- filter.label.toLowerCase()
4160
- ]
4161
- }),
4162
- filter.options.map((option) => /* @__PURE__ */ jsx43(NativeSelectOption2, {
4163
- value: option.value,
4164
- children: option.label
4165
- }, option.value))
4166
- ]
4092
+ onValueChange: (next) => onValueChange({ ...value, [filter.id]: next }),
4093
+ options: [{ value: "", label: filter.allLabel }, ...filter.options]
4167
4094
  }, filter.id)),
4168
4095
  /* @__PURE__ */ jsx43(Button2, {
4169
4096
  type: "button",
@@ -4357,4 +4284,4 @@ function BillingUsage2({ plan, price, period, metrics, onManage, pending, densit
4357
4284
  ]
4358
4285
  });
4359
4286
  }
4360
- export { ButtonLink2, ContextMenu2, ContextMenuPortal2, ContextMenuTrigger2, ContextMenuContent2, ActionsMenu2, ActionsMenuTrigger2, ActionsMenuContextTarget2, ActionsMenuContextContent2, FormDialog2, Accordion2, AccordionItem2, AccordionTrigger2, AccordionContent2, EmptyState3, PageMessage2, formatDataLabel2, DataViewer2, JsonViewer2, AlertDialog2, AlertDialogTrigger2, AlertDialogPortal2, AlertDialogOverlay2, AlertDialogContent2, AlertDialogHeader2, AlertDialogFooter2, AlertDialogMedia2, AlertDialogTitle2, AlertDialogDescription2, AlertDialogAction2, AlertDialogCancel2, Select2, SelectGroup2, SelectValue2, SelectTrigger2, SelectContent2, SelectLabel2, SelectItem2, SelectSeparator2, SelectScrollUpButton2, SelectScrollDownButton2, DensityProvider2, collectLayoutViolations2, LayoutGuard2, ScrollGuard2, ThemeProvider2, AspectRatio2, Breadcrumb2, BreadcrumbList2, BreadcrumbItem2, BreadcrumbLink2, BreadcrumbPage2, BreadcrumbSeparator2, BreadcrumbEllipsis2, buttonGroupVariants2, ButtonGroup2, ButtonGroupText2, ButtonGroupSeparator2, ItemGroup2, ItemSeparator2, Item2, ItemMedia2, ItemContent2, ItemTitle2, ItemDescription2, ItemActions2, ItemHeader2, ItemFooter2, Pagination2, PaginationContent2, PaginationItem2, PaginationLink2, PaginationPrevious2, PaginationNext2, PaginationEllipsis2, Drawer2, DrawerTrigger2, DrawerPortal2, DrawerClose2, DrawerOverlay2, DrawerSwipeHandle2, DrawerContent2, DrawerHeader2, DrawerFooter2, DrawerTitle2, DrawerDescription2, Menubar2, MenubarMenu2, MenubarGroup2, MenubarPortal2, MenubarTrigger2, MenubarContent2, MenubarItem2, MenubarCheckboxItem2, MenubarRadioGroup2, MenubarRadioItem2, MenubarLabel2, MenubarSeparator2, MenubarShortcut2, MenubarSub2, MenubarSubTrigger2, MenubarSubContent2, NavigationMenu2, NavigationMenuList2, NavigationMenuItem2, navigationMenuTriggerStyle2, NavigationMenuTrigger2, NavigationMenuContent2, NavigationMenuPositioner2, NavigationMenuLink2, NavigationMenuIndicator2, ToastProvider2, ToastPortal2, ToastViewport2, Toast2, ToastContent2, ToastTitle2, ToastDescription2, ToastAction2, ToastClose2, ToastToaster2, createToastManager2, useToastManager2, markerVariants2, Marker2, MarkerIcon2, MarkerContent2, BubbleGroup2, Bubble2, BubbleContent2, BubbleReactions2, MessageGroup2, Message2, MessageAvatar2, MessageContent2, MessageHeader2, MessageFooter2, Attachment2, AttachmentMedia2, AttachmentContent2, AttachmentTitle2, AttachmentDescription2, AttachmentActions2, AttachmentAction2, AttachmentTrigger2, AttachmentGroup2, InlineEdit2, StarRating2, ConfirmationDialog2, ImagePicker2, Meter2, MeterLabel2, MeterValue2, MeterTrack2, MeterIndicator2, Stepper2, StepperList2, StepperTrigger2, StepperIndicator2, StepperContent2, AppShell2, Stack2, Grid2, GridItem2, Container2, Text2, Heading2, WeatherSummary2, WeatherForecast2, PageHeader2, WorkspaceSwitcher2, AccountMenu2, StatCard2, AuthForm2, SettingsSection2, TagInput2, FilterBar2, BarList2, StatusTracker2, DashboardLayout2, BillingUsage2 };
4287
+ export { ButtonLink2, ContextMenu2, ContextMenuPortal2, ContextMenuTrigger2, ContextMenuContent2, ActionsMenu2, ActionsMenuTrigger2, ActionsMenuContextTarget2, ActionsMenuContextContent2, FormDialog2, Accordion2, AccordionItem2, AccordionTrigger2, AccordionContent2, EmptyState3, PageMessage2, formatDataLabel2, DataViewer2, JsonViewer2, AlertDialog2, AlertDialogTrigger2, AlertDialogPortal2, AlertDialogOverlay2, AlertDialogContent2, AlertDialogHeader2, AlertDialogFooter2, AlertDialogMedia2, AlertDialogTitle2, AlertDialogDescription2, AlertDialogAction2, AlertDialogCancel2, DensityProvider2, collectLayoutViolations2, LayoutGuard2, ScrollGuard2, ThemeProvider2, AspectRatio2, Breadcrumb2, BreadcrumbList2, BreadcrumbItem2, BreadcrumbLink2, BreadcrumbPage2, BreadcrumbSeparator2, BreadcrumbEllipsis2, buttonGroupVariants2, ButtonGroup2, ButtonGroupText2, ButtonGroupSeparator2, ItemGroup2, ItemSeparator2, Item2, ItemMedia2, ItemContent2, ItemTitle2, ItemDescription2, ItemActions2, ItemHeader2, ItemFooter2, Pagination2, PaginationContent2, PaginationItem2, PaginationLink2, PaginationPrevious2, PaginationNext2, PaginationEllipsis2, Drawer2, DrawerTrigger2, DrawerPortal2, DrawerClose2, DrawerOverlay2, DrawerSwipeHandle2, DrawerContent2, DrawerHeader2, DrawerFooter2, DrawerTitle2, DrawerDescription2, Menubar2, MenubarMenu2, MenubarGroup2, MenubarPortal2, MenubarTrigger2, MenubarContent2, MenubarItem2, MenubarCheckboxItem2, MenubarRadioGroup2, MenubarRadioItem2, MenubarLabel2, MenubarSeparator2, MenubarShortcut2, MenubarSub2, MenubarSubTrigger2, MenubarSubContent2, NavigationMenu2, NavigationMenuList2, NavigationMenuItem2, navigationMenuTriggerStyle2, NavigationMenuTrigger2, NavigationMenuContent2, NavigationMenuPositioner2, NavigationMenuLink2, NavigationMenuIndicator2, ToastProvider2, ToastPortal2, ToastViewport2, Toast2, ToastContent2, ToastTitle2, ToastDescription2, ToastAction2, ToastClose2, ToastToaster2, createToastManager2, useToastManager2, markerVariants2, Marker2, MarkerIcon2, MarkerContent2, BubbleGroup2, Bubble2, BubbleContent2, BubbleReactions2, MessageGroup2, Message2, MessageAvatar2, MessageContent2, MessageHeader2, MessageFooter2, Attachment2, AttachmentMedia2, AttachmentContent2, AttachmentTitle2, AttachmentDescription2, AttachmentActions2, AttachmentAction2, AttachmentTrigger2, AttachmentGroup2, InlineEdit2, StarRating2, ConfirmationDialog2, ImagePicker2, Meter2, MeterLabel2, MeterValue2, MeterTrack2, MeterIndicator2, Stepper2, StepperList2, StepperTrigger2, StepperIndicator2, StepperContent2, AppShell2, Stack2, Grid2, GridItem2, Container2, Text2, Heading2, WeatherSummary2, WeatherForecast2, PageHeader2, PageIntro2, WorkspaceSwitcher2, AccountMenu2, StatCard2, AuthForm2, SettingsSection2, TagInput2, FilterBar2, BarList2, StatusTracker2, DashboardLayout2, BillingUsage2 };