@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.
- package/README.md +2 -2
- package/dist/{chunk-jhvy8jay.js → chunk-268pbhj1.js} +361 -434
- package/dist/{chunk-880zr7gb.js → chunk-p894n7r6.js} +9 -22
- package/dist/{chunk-t6w8vcvf.js → chunk-rc99vk8d.js} +19 -1
- package/dist/chunk-xfryhw7e.js +225 -0
- package/dist/{chunk-trwye0d6.js → chunk-yrp7xtb5.js} +21 -1
- package/dist/{chunk-62ggz655.js → chunk-zs4h45d8.js} +8 -9
- package/dist/components/FilterBar.d.ts +2 -0
- package/dist/components/OptionSelect.d.ts +29 -0
- package/dist/components/PageIntro.d.ts +22 -0
- package/dist/components/assistant-ui/native/McpConfigDialog.js +2 -1
- package/dist/components/assistant-ui/native/index.js +2 -1
- package/dist/components/calendar/Calendar.d.ts +3 -2
- package/dist/components/calendar/index.js +2 -1
- package/dist/components/data-grid/index.js +2 -2
- package/dist/components/gantt/index.js +9 -19
- package/dist/components/json-render/index.js +9 -8
- package/dist/components/persian-calendar/index.js +5 -3
- package/dist/components/virtual-data-grid/index.js +2 -2
- package/dist/index.d.ts +4 -1
- package/dist/index.js +18 -20
- package/dist/prototype.js +1 -1
- package/llms/components/data-display/Table.md +1 -1
- package/llms/components/forms/OptionSelect.md +100 -0
- package/llms/components/layout/PageIntro.md +102 -0
- package/llms/components/navigation/ContextMenu.md +25 -25
- package/llms/setup.md +2 -2
- package/llms.txt +2 -1
- package/package.json +1 -1
- package/templates/prototype/src/components/Workbench.tsx +45 -35
- package/templates/prototype/src/prototypes/dashboard/components/Dashboard.tsx +8 -7
- package/dist/chunk-sp4g23m0.js +0 -60
- package/dist/components/NativeSelect.d.ts +0 -12
- 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
|
|
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__ */
|
|
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
|
|
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__ */
|
|
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__ */
|
|
1138
|
+
return /* @__PURE__ */ jsxs8(ThemeContext.Provider, {
|
|
1287
1139
|
value,
|
|
1288
1140
|
children: [
|
|
1289
|
-
/* @__PURE__ */
|
|
1290
|
-
/* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
1164
|
+
return /* @__PURE__ */ jsx12(ControlledThemeProvider, {
|
|
1313
1165
|
...props,
|
|
1314
1166
|
controlledTheme: props.controlledTheme
|
|
1315
1167
|
});
|
|
1316
|
-
return /* @__PURE__ */
|
|
1168
|
+
return /* @__PURE__ */ jsx12(StoredThemeProvider, {
|
|
1317
1169
|
...props
|
|
1318
1170
|
});
|
|
1319
1171
|
}
|
|
1320
1172
|
// src/components/AspectRatio.tsx
|
|
1321
|
-
import { jsx as
|
|
1173
|
+
import { jsx as jsx13 } from "react/jsx-runtime";
|
|
1322
1174
|
function AspectRatio2({ ratio, className, style, ...props }) {
|
|
1323
|
-
return /* @__PURE__ */
|
|
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
|
|
1186
|
+
import { jsx as jsx14, jsxs as jsxs9 } from "react/jsx-runtime";
|
|
1335
1187
|
function Breadcrumb2({ density, className, ...props }) {
|
|
1336
|
-
return /* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
1408
|
-
/* @__PURE__ */
|
|
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
|
|
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__ */
|
|
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__ */
|
|
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
|
|
1334
|
+
import { jsx as jsx16 } from "react/jsx-runtime";
|
|
1483
1335
|
function ItemGroup2({ density, className, ...props }) {
|
|
1484
|
-
return /* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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
|
|
1464
|
+
import { jsx as jsx17, jsxs as jsxs10 } from "react/jsx-runtime";
|
|
1613
1465
|
function Pagination2({ density, className, ...props }) {
|
|
1614
|
-
return /* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
1521
|
+
/* @__PURE__ */ jsx17(ChevronLeftIcon, {
|
|
1670
1522
|
"data-icon": "inline-start",
|
|
1671
1523
|
className: "rtl:rotate-180"
|
|
1672
1524
|
}),
|
|
1673
|
-
/* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
1540
|
+
/* @__PURE__ */ jsx17("span", {
|
|
1689
1541
|
className: "hidden sm:block",
|
|
1690
1542
|
children: text
|
|
1691
1543
|
}),
|
|
1692
|
-
/* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
1708
|
-
/* @__PURE__ */
|
|
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
|
|
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__ */
|
|
1598
|
+
return /* @__PURE__ */ jsx18(DrawerContext.Provider, {
|
|
1747
1599
|
value: contextValue,
|
|
1748
|
-
children: /* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
1659
|
+
return /* @__PURE__ */ jsxs11(DrawerPortal2, {
|
|
1808
1660
|
"data-slot": "drawer-portal",
|
|
1809
1661
|
children: [
|
|
1810
|
-
modal === true && /* @__PURE__ */
|
|
1662
|
+
modal === true && /* @__PURE__ */ jsx18(DrawerOverlay2, {
|
|
1811
1663
|
"data-snap-points": hasSnapPoints ? "" : undefined
|
|
1812
1664
|
}),
|
|
1813
|
-
/* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
1828
|
-
/* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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
|
|
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
|
|
1728
|
+
import { jsx as jsx19, jsxs as jsxs12 } from "react/jsx-runtime";
|
|
1877
1729
|
function Menubar2({ density, className, ...props }) {
|
|
1878
|
-
return /* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
1975
|
-
children: /* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
1999
|
-
children: /* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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
|
|
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
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
1962
|
+
/* @__PURE__ */ jsx20(NavigationMenuIndicator2, {})
|
|
2111
1963
|
]
|
|
2112
1964
|
});
|
|
2113
1965
|
}
|
|
2114
1966
|
function NavigationMenuContent2({ density, className, ...props }) {
|
|
2115
|
-
return /* @__PURE__ */
|
|
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__ */
|
|
1987
|
+
return /* @__PURE__ */ jsx20(NavigationMenuPrimitive.Portal, {
|
|
2136
1988
|
container,
|
|
2137
1989
|
ref: portal.ref,
|
|
2138
|
-
children: /* @__PURE__ */
|
|
1990
|
+
children: /* @__PURE__ */ jsx20(PortalProvider2, {
|
|
2139
1991
|
container: portal.node,
|
|
2140
|
-
children: /* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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
|
|
2039
|
+
import { jsx as jsx21, jsxs as jsxs14, Fragment as Fragment4 } from "react/jsx-runtime";
|
|
2188
2040
|
function ToastProvider2(props) {
|
|
2189
|
-
return /* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
2143
|
+
return /* @__PURE__ */ jsx21(CircleCheckIcon, {
|
|
2292
2144
|
"aria-hidden": "true"
|
|
2293
2145
|
});
|
|
2294
2146
|
case "info":
|
|
2295
|
-
return /* @__PURE__ */
|
|
2147
|
+
return /* @__PURE__ */ jsx21(InfoIcon, {
|
|
2296
2148
|
"aria-hidden": "true"
|
|
2297
2149
|
});
|
|
2298
2150
|
case "warning":
|
|
2299
|
-
return /* @__PURE__ */
|
|
2151
|
+
return /* @__PURE__ */ jsx21(TriangleAlertIcon, {
|
|
2300
2152
|
"aria-hidden": "true"
|
|
2301
2153
|
});
|
|
2302
2154
|
case "error":
|
|
2303
|
-
return /* @__PURE__ */
|
|
2155
|
+
return /* @__PURE__ */ jsx21(OctagonXIcon, {
|
|
2304
2156
|
"aria-hidden": "true",
|
|
2305
2157
|
className: "text-destructive"
|
|
2306
2158
|
});
|
|
2307
2159
|
case "loading":
|
|
2308
|
-
return /* @__PURE__ */
|
|
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__ */
|
|
2319
|
-
children: toasts.map((toastItem) => /* @__PURE__ */
|
|
2170
|
+
return /* @__PURE__ */ jsx21(Fragment4, {
|
|
2171
|
+
children: toasts.map((toastItem) => /* @__PURE__ */ jsx21(Toast2, {
|
|
2320
2172
|
toast: toastItem,
|
|
2321
|
-
children: /* @__PURE__ */
|
|
2173
|
+
children: /* @__PURE__ */ jsxs14(ToastContent2, {
|
|
2322
2174
|
children: [
|
|
2323
|
-
/* @__PURE__ */
|
|
2175
|
+
/* @__PURE__ */ jsx21("span", {
|
|
2324
2176
|
"data-slot": "toast-icon",
|
|
2325
2177
|
className: "shrink-0 empty:hidden [&_svg]:size-4",
|
|
2326
|
-
children: /* @__PURE__ */
|
|
2178
|
+
children: /* @__PURE__ */ jsx21(ToastIcon, {
|
|
2327
2179
|
type: toastItem.type
|
|
2328
2180
|
})
|
|
2329
2181
|
}),
|
|
2330
|
-
/* @__PURE__ */
|
|
2182
|
+
/* @__PURE__ */ jsxs14("div", {
|
|
2331
2183
|
className: "flex min-w-0 flex-1 flex-col gap-1",
|
|
2332
2184
|
children: [
|
|
2333
|
-
/* @__PURE__ */
|
|
2334
|
-
/* @__PURE__ */
|
|
2185
|
+
/* @__PURE__ */ jsx21(ToastTitle2, {}),
|
|
2186
|
+
/* @__PURE__ */ jsx21(ToastDescription2, {})
|
|
2335
2187
|
]
|
|
2336
2188
|
}),
|
|
2337
|
-
/* @__PURE__ */
|
|
2338
|
-
/* @__PURE__ */
|
|
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__ */
|
|
2197
|
+
return /* @__PURE__ */ jsxs14(ToastProvider2, {
|
|
2346
2198
|
...props,
|
|
2347
2199
|
children: [
|
|
2348
2200
|
children,
|
|
2349
|
-
/* @__PURE__ */
|
|
2350
|
-
children: /* @__PURE__ */
|
|
2201
|
+
/* @__PURE__ */ jsx21(ToastPortal2, {
|
|
2202
|
+
children: /* @__PURE__ */ jsx21(ToastViewport2, {
|
|
2351
2203
|
density,
|
|
2352
|
-
children: /* @__PURE__ */
|
|
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
|
|
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__ */
|
|
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__ */
|
|
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
|
|
2259
|
+
import { jsx as jsx23 } from "react/jsx-runtime";
|
|
2408
2260
|
function BubbleGroup2({ density, className, ...props }) {
|
|
2409
|
-
return /* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
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
|
|
2334
|
+
import { jsx as jsx24 } from "react/jsx-runtime";
|
|
2483
2335
|
function MessageGroup2({ density, className, ...props }) {
|
|
2484
|
-
return /* @__PURE__ */
|
|
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__ */
|
|
2347
|
+
return /* @__PURE__ */ jsx24(MessageContext.Provider, {
|
|
2496
2348
|
value: context,
|
|
2497
|
-
children: /* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
2659
|
+
children: star === 0 ? /* @__PURE__ */ jsx27(CircleOffIcon, {
|
|
2808
2660
|
"aria-hidden": "true",
|
|
2809
2661
|
className: "size-3"
|
|
2810
|
-
}) : /* @__PURE__ */
|
|
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
|
|
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__ */
|
|
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__ */
|
|
2693
|
+
children: /* @__PURE__ */ jsxs16(AlertDialogContent2, {
|
|
2842
2694
|
children: [
|
|
2843
|
-
/* @__PURE__ */
|
|
2844
|
-
children: /* @__PURE__ */
|
|
2695
|
+
/* @__PURE__ */ jsx28(AlertDialogHeader2, {
|
|
2696
|
+
children: /* @__PURE__ */ jsx28(AlertDialogTitle2, {
|
|
2845
2697
|
children: title
|
|
2846
2698
|
})
|
|
2847
2699
|
}),
|
|
2848
|
-
/* @__PURE__ */
|
|
2700
|
+
/* @__PURE__ */ jsxs16(ScrollArea2, {
|
|
2849
2701
|
children: [
|
|
2850
|
-
/* @__PURE__ */
|
|
2702
|
+
/* @__PURE__ */ jsx28(AlertDialogDescription2, {
|
|
2851
2703
|
children: description
|
|
2852
2704
|
}),
|
|
2853
|
-
error && /* @__PURE__ */
|
|
2705
|
+
error && /* @__PURE__ */ jsx28(Alert2, {
|
|
2854
2706
|
variant: "destructive",
|
|
2855
|
-
children: /* @__PURE__ */
|
|
2707
|
+
children: /* @__PURE__ */ jsx28(AlertDescription2, {
|
|
2856
2708
|
children: error
|
|
2857
2709
|
})
|
|
2858
2710
|
})
|
|
2859
2711
|
]
|
|
2860
2712
|
}),
|
|
2861
|
-
/* @__PURE__ */
|
|
2713
|
+
/* @__PURE__ */ jsxs16(AlertDialogFooter2, {
|
|
2862
2714
|
children: [
|
|
2863
|
-
/* @__PURE__ */
|
|
2715
|
+
/* @__PURE__ */ jsx28(AlertDialogCancel2, {
|
|
2864
2716
|
disabled: isPending,
|
|
2865
2717
|
children: "Cancel"
|
|
2866
2718
|
}),
|
|
2867
|
-
/* @__PURE__ */
|
|
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
|
|
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__ */
|
|
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__ */
|
|
2781
|
+
/* @__PURE__ */ jsxs17(Avatar2, {
|
|
2930
2782
|
size: "preview",
|
|
2931
2783
|
shape: "square",
|
|
2932
2784
|
children: [
|
|
2933
|
-
/* @__PURE__ */
|
|
2785
|
+
/* @__PURE__ */ jsx29(AvatarImage2, {
|
|
2934
2786
|
src: image,
|
|
2935
2787
|
alt: label
|
|
2936
2788
|
}),
|
|
2937
|
-
/* @__PURE__ */
|
|
2938
|
-
children: /* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
2813
|
+
/* @__PURE__ */ jsxs17("div", {
|
|
2962
2814
|
className: "flex flex-wrap justify-center gap-2",
|
|
2963
2815
|
children: [
|
|
2964
|
-
/* @__PURE__ */
|
|
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__ */
|
|
2822
|
+
/* @__PURE__ */ jsx29(UploadIcon, {
|
|
2971
2823
|
"data-icon": "inline-start"
|
|
2972
2824
|
}),
|
|
2973
2825
|
"Upload image"
|
|
2974
2826
|
]
|
|
2975
2827
|
}),
|
|
2976
|
-
/* @__PURE__ */
|
|
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
|
|
2842
|
+
import { jsx as jsx30 } from "react/jsx-runtime";
|
|
2991
2843
|
function Meter2({ density, className, ...props }) {
|
|
2992
|
-
return /* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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
|
|
3038
|
-
import { jsx as
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
2928
|
+
children: completed ? /* @__PURE__ */ jsx31(CheckIcon2, {}) : children
|
|
3077
2929
|
});
|
|
3078
2930
|
}
|
|
3079
2931
|
function StepperContent2({ density, className, ...props }) {
|
|
3080
|
-
return /* @__PURE__ */
|
|
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
|
|
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__ */
|
|
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__ */
|
|
2961
|
+
/* @__PURE__ */ jsxs18(Sidebar2, {
|
|
3110
2962
|
collapsible: "icon",
|
|
3111
2963
|
position: "container",
|
|
3112
2964
|
children: [
|
|
3113
|
-
/* @__PURE__ */
|
|
2965
|
+
/* @__PURE__ */ jsx32(SidebarHeader2, {
|
|
3114
2966
|
children: brand
|
|
3115
2967
|
}),
|
|
3116
|
-
/* @__PURE__ */
|
|
3117
|
-
children: /* @__PURE__ */
|
|
2968
|
+
/* @__PURE__ */ jsx32(SidebarContent2, {
|
|
2969
|
+
children: /* @__PURE__ */ jsx32("nav", {
|
|
3118
2970
|
"aria-label": "Primary navigation",
|
|
3119
|
-
children: /* @__PURE__ */
|
|
3120
|
-
children: /* @__PURE__ */
|
|
3121
|
-
children: navigation.map((item) => /* @__PURE__ */
|
|
3122
|
-
children: /* @__PURE__ */
|
|
3123
|
-
render: /* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
2995
|
+
sidebarFooter && /* @__PURE__ */ jsx32(SidebarFooter2, {
|
|
3144
2996
|
children: sidebarFooter
|
|
3145
2997
|
})
|
|
3146
2998
|
]
|
|
3147
2999
|
}),
|
|
3148
|
-
/* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
3158
|
-
/* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
3022
|
+
}) : /* @__PURE__ */ jsx32(ScrollArea2, {
|
|
3171
3023
|
className: "min-h-0 flex-1",
|
|
3172
|
-
children: /* @__PURE__ */
|
|
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__ */
|
|
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
|
|
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__ */
|
|
3431
|
+
children: /* @__PURE__ */ jsxs19(Fragment5, {
|
|
3580
3432
|
children: [
|
|
3581
|
-
/* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
3441
|
+
/* @__PURE__ */ jsx33("div", {
|
|
3590
3442
|
className: "text-sm font-medium break-words",
|
|
3591
3443
|
children: label
|
|
3592
3444
|
}),
|
|
3593
|
-
/* @__PURE__ */
|
|
3445
|
+
/* @__PURE__ */ jsx33("div", {
|
|
3594
3446
|
className: cn2("text-sm text-muted-foreground", isCompact && "sr-only"),
|
|
3595
3447
|
children: conditionLabel
|
|
3596
3448
|
}),
|
|
3597
|
-
/* @__PURE__ */
|
|
3449
|
+
/* @__PURE__ */ jsxs19("div", {
|
|
3598
3450
|
className: "flex flex-wrap items-baseline gap-x-2 text-sm tabular-nums",
|
|
3599
3451
|
children: [
|
|
3600
|
-
/* @__PURE__ */
|
|
3452
|
+
/* @__PURE__ */ jsxs19("span", {
|
|
3601
3453
|
children: [
|
|
3602
|
-
/* @__PURE__ */
|
|
3454
|
+
/* @__PURE__ */ jsx33("span", {
|
|
3603
3455
|
className: "sr-only",
|
|
3604
3456
|
children: "High "
|
|
3605
3457
|
}),
|
|
3606
|
-
/* @__PURE__ */
|
|
3458
|
+
/* @__PURE__ */ jsx33("span", {
|
|
3607
3459
|
className: "font-medium",
|
|
3608
3460
|
children: highText
|
|
3609
3461
|
})
|
|
3610
3462
|
]
|
|
3611
3463
|
}),
|
|
3612
|
-
/* @__PURE__ */
|
|
3464
|
+
/* @__PURE__ */ jsxs19("span", {
|
|
3613
3465
|
className: "text-muted-foreground",
|
|
3614
3466
|
children: [
|
|
3615
|
-
/* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
3479
|
+
/* @__PURE__ */ jsx33(DropletIcon, {
|
|
3628
3480
|
"aria-hidden": "true",
|
|
3629
3481
|
className: "size-3 shrink-0"
|
|
3630
3482
|
}),
|
|
3631
|
-
/* @__PURE__ */
|
|
3483
|
+
/* @__PURE__ */ jsxs19("span", {
|
|
3632
3484
|
children: [
|
|
3633
3485
|
probabilityText,
|
|
3634
|
-
/* @__PURE__ */
|
|
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
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
3526
|
+
render: /* @__PURE__ */ jsx34("li", {})
|
|
3675
3527
|
}, id))
|
|
3676
3528
|
});
|
|
3677
3529
|
}
|
|
3678
3530
|
// src/components/PageHeader.tsx
|
|
3679
|
-
import { jsx as
|
|
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__ */
|
|
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__ */
|
|
3540
|
+
/* @__PURE__ */ jsxs20("div", {
|
|
3689
3541
|
className: "flex min-w-0 flex-wrap items-start justify-between gap-panel",
|
|
3690
3542
|
children: [
|
|
3691
|
-
/* @__PURE__ */
|
|
3543
|
+
/* @__PURE__ */ jsxs20("div", {
|
|
3692
3544
|
className: "min-w-0",
|
|
3693
3545
|
children: [
|
|
3694
|
-
eyebrow != null && /* @__PURE__ */
|
|
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__ */
|
|
3550
|
+
/* @__PURE__ */ jsx35("h1", {
|
|
3699
3551
|
className: "text-xl font-semibold text-foreground",
|
|
3700
3552
|
children: title
|
|
3701
3553
|
}),
|
|
3702
|
-
description && /* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
4089
|
+
filters.map((filter) => /* @__PURE__ */ jsx43(OptionSelect2, {
|
|
4151
4090
|
"aria-label": filter.label,
|
|
4152
4091
|
value: value[filter.id] ?? "",
|
|
4153
|
-
|
|
4154
|
-
|
|
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,
|
|
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 };
|