@pactor-app/ui 1.2.0 → 1.3.0
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 -0
- package/dist/{chunk-L45CSL6I.js → chunk-7KC6DMKH.js} +3 -3
- package/dist/{chunk-HJPHJKVA.js → chunk-EVGIS2ZE.js} +170 -227
- package/dist/{chunk-F3H23KYG.js → chunk-F42SGQNW.js} +31 -93
- package/dist/chunk-L4Z7MNYY.js +1197 -0
- package/dist/{chunk-LMEJ242M.js → chunk-P54Y23AP.js} +36 -32
- package/dist/{chunk-22TEN3ER.js → chunk-TDVG7MZ5.js} +13 -13
- package/dist/{chunk-Q5NUGUJG.js → chunk-UKA7C3JP.js} +204 -413
- package/dist/chunk-WKJUCGV4.js +78 -0
- package/dist/components/index.cjs +1012 -691
- package/dist/components/index.d.cts +30 -12
- package/dist/components/index.d.ts +30 -12
- package/dist/components/index.js +8 -6
- package/dist/index.cjs +1261 -940
- package/dist/index.d.cts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +10 -8
- package/dist/interaction/index.cjs +10 -6
- package/dist/interaction/index.js +3 -3
- package/dist/layout/index.cjs +695 -265
- package/dist/layout/index.d.cts +1 -1
- package/dist/layout/index.d.ts +1 -1
- package/dist/layout/index.js +4 -4
- package/dist/ui/index.cjs +1688 -533
- package/dist/ui/index.d.cts +130 -16
- package/dist/ui/index.d.ts +130 -16
- package/dist/ui/index.js +481 -22
- package/package.json +6 -5
- package/styles.css +936 -107
- package/dist/chunk-2LYMCWEJ.js +0 -289
- package/dist/chunk-RQHJBTEU.js +0 -10
|
@@ -43,6 +43,7 @@ __export(components_exports, {
|
|
|
43
43
|
Card: () => Card2,
|
|
44
44
|
Carousel: () => Carousel2,
|
|
45
45
|
Chart: () => Chart,
|
|
46
|
+
ChatInput: () => ChatInput,
|
|
46
47
|
Checkbox: () => Checkbox2,
|
|
47
48
|
Collapsible: () => Collapsible2,
|
|
48
49
|
Combobox: () => Combobox2,
|
|
@@ -326,16 +327,20 @@ var buttonVariants = (0, import_class_variance_authority2.cva)(
|
|
|
326
327
|
variant: {
|
|
327
328
|
default: "bg-primary text-primary-foreground hover:bg-primary/90",
|
|
328
329
|
destructive: "bg-destructive text-destructive-foreground hover:bg-destructive/90 focus-visible:ring-destructive/20",
|
|
329
|
-
outline: "border border-border bg-
|
|
330
|
+
outline: "border border-border bg-card hover:bg-accent hover:text-accent-foreground",
|
|
330
331
|
secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/80",
|
|
331
332
|
ghost: "hover:bg-accent hover:text-accent-foreground",
|
|
332
333
|
link: "text-primary underline-offset-4 hover:underline"
|
|
333
334
|
},
|
|
334
335
|
size: {
|
|
335
336
|
default: "h-9 px-4 py-2",
|
|
337
|
+
xs: "h-6 gap-1 rounded-md px-2 text-xs has-[>svg]:px-1.5 [&_svg:not([class*='size-'])]:size-3",
|
|
336
338
|
sm: "h-8 gap-1.5 rounded-md px-3 text-xs",
|
|
337
339
|
lg: "h-10 rounded-md px-6",
|
|
338
|
-
icon: "size-9"
|
|
340
|
+
icon: "size-9",
|
|
341
|
+
"icon-xs": "size-6 rounded-md [&_svg:not([class*='size-'])]:size-3",
|
|
342
|
+
"icon-sm": "size-8",
|
|
343
|
+
"icon-lg": "size-10"
|
|
339
344
|
}
|
|
340
345
|
},
|
|
341
346
|
defaultVariants: {
|
|
@@ -400,7 +405,7 @@ function AlertDialogOverlay({
|
|
|
400
405
|
{
|
|
401
406
|
"data-slot": "alert-dialog-overlay",
|
|
402
407
|
className: cn(
|
|
403
|
-
"fixed inset-0 z-50 bg-
|
|
408
|
+
"fixed inset-0 z-50 bg-(--overlay-background) data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0",
|
|
404
409
|
className
|
|
405
410
|
),
|
|
406
411
|
...props
|
|
@@ -418,7 +423,7 @@ function AlertDialogContent({
|
|
|
418
423
|
{
|
|
419
424
|
"data-slot": "alert-dialog-content",
|
|
420
425
|
className: cn(
|
|
421
|
-
"fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border border-border bg-
|
|
426
|
+
"fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border border-border bg-popover p-6 shadow-lg shadow-(color:--shadow-color) duration-200 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95 sm:max-w-lg",
|
|
422
427
|
className
|
|
423
428
|
),
|
|
424
429
|
...props
|
|
@@ -861,7 +866,7 @@ function Calendar({
|
|
|
861
866
|
import_react_day_picker.DayPicker,
|
|
862
867
|
{
|
|
863
868
|
showOutsideDays,
|
|
864
|
-
className: cn("bg-
|
|
869
|
+
className: cn("bg-card p-3", className),
|
|
865
870
|
classNames: {
|
|
866
871
|
root: cn("w-fit", defaultClassNames.root),
|
|
867
872
|
months: cn("relative flex flex-col gap-4 md:flex-row", defaultClassNames.months),
|
|
@@ -894,15 +899,15 @@ function Calendar({
|
|
|
894
899
|
week: cn("mt-2 flex w-full", defaultClassNames.week),
|
|
895
900
|
day: cn("h-8 w-8 p-0 text-center text-sm", defaultClassNames.day),
|
|
896
901
|
day_button: cn(
|
|
897
|
-
"size-8 cursor-pointer rounded-md p-0 font-normal hover:bg-
|
|
902
|
+
"size-8 cursor-pointer rounded-md p-0 font-normal hover:bg-(--calendar-day-hover-background) hover:text-(--calendar-day-hover-foreground) aria-selected:opacity-100",
|
|
898
903
|
defaultClassNames.day_button
|
|
899
904
|
),
|
|
900
905
|
selected: cn(
|
|
901
|
-
"[&>button]:bg-
|
|
906
|
+
"[&>button]:bg-(--calendar-selected-background) [&>button]:text-(--calendar-selected-foreground) [&>button]:hover:bg-(--calendar-selected-background)",
|
|
902
907
|
defaultClassNames.selected
|
|
903
908
|
),
|
|
904
909
|
today: cn(
|
|
905
|
-
"[&>button]:bg-
|
|
910
|
+
"[&>button]:bg-(--calendar-today-background) [&>button]:text-(--calendar-today-foreground)",
|
|
906
911
|
defaultClassNames.today
|
|
907
912
|
),
|
|
908
913
|
outside: cn(
|
|
@@ -1012,7 +1017,7 @@ function Card({ className, ...props }) {
|
|
|
1012
1017
|
{
|
|
1013
1018
|
"data-slot": "card",
|
|
1014
1019
|
className: cn(
|
|
1015
|
-
"flex flex-col gap-6 rounded-xl border border-border bg-card py-6 text-card-foreground shadow-
|
|
1020
|
+
"flex flex-col gap-6 rounded-xl border border-border bg-card py-6 text-card-foreground shadow-(--card-shadow)",
|
|
1016
1021
|
className
|
|
1017
1022
|
),
|
|
1018
1023
|
...props
|
|
@@ -1513,7 +1518,7 @@ function PopoverContent({
|
|
|
1513
1518
|
{
|
|
1514
1519
|
"data-slot": "popover-content",
|
|
1515
1520
|
className: cn(
|
|
1516
|
-
"z-50 w-72 rounded-md border border-border bg-popover p-4 text-popover-foreground shadow-md outline-none duration-200 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95",
|
|
1521
|
+
"z-50 w-72 rounded-md border border-border bg-popover p-4 text-popover-foreground shadow-md shadow-(color:--shadow-color) outline-none duration-200 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95",
|
|
1517
1522
|
className
|
|
1518
1523
|
),
|
|
1519
1524
|
...props
|
|
@@ -1668,7 +1673,7 @@ function CommandItem({
|
|
|
1668
1673
|
{
|
|
1669
1674
|
"data-slot": "command-item",
|
|
1670
1675
|
className: cn(
|
|
1671
|
-
"relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none select-none data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 data-[selected=true]:bg-
|
|
1676
|
+
"relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none select-none data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 data-[selected=true]:bg-(--menu-active-background) data-[selected=true]:text-(--menu-active-foreground) [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
|
|
1672
1677
|
className
|
|
1673
1678
|
),
|
|
1674
1679
|
...props
|
|
@@ -1970,11 +1975,11 @@ var import_recharts2 = require("recharts");
|
|
|
1970
1975
|
var import_recharts = require("recharts");
|
|
1971
1976
|
var import_jsx_runtime36 = require("react/jsx-runtime");
|
|
1972
1977
|
var CHART_TOKEN_COLORS = [
|
|
1973
|
-
"
|
|
1974
|
-
"
|
|
1975
|
-
"
|
|
1976
|
-
"
|
|
1977
|
-
"
|
|
1978
|
+
"var(--chart-1)",
|
|
1979
|
+
"var(--chart-2)",
|
|
1980
|
+
"var(--chart-3)",
|
|
1981
|
+
"var(--chart-4)",
|
|
1982
|
+
"var(--chart-5)"
|
|
1978
1983
|
];
|
|
1979
1984
|
function chartColor(index, colors) {
|
|
1980
1985
|
if (colors && colors.length > 0) {
|
|
@@ -2165,7 +2170,7 @@ function ChatInput({
|
|
|
2165
2170
|
{
|
|
2166
2171
|
"data-slot": "chat-input",
|
|
2167
2172
|
className: cn(
|
|
2168
|
-
"rounded-xl border border-border bg-
|
|
2173
|
+
"rounded-xl border border-border bg-card transition-shadow focus-within:border-ring focus-within:ring-[3px] focus-within:ring-ring/50",
|
|
2169
2174
|
className
|
|
2170
2175
|
),
|
|
2171
2176
|
style,
|
|
@@ -2244,7 +2249,7 @@ function ContextMenuContent({
|
|
|
2244
2249
|
{
|
|
2245
2250
|
"data-slot": "context-menu-content",
|
|
2246
2251
|
className: cn(
|
|
2247
|
-
"z-50 max-h-(--available-height) min-w-32 origin-(--transform-origin) overflow-x-hidden overflow-y-auto rounded-md border border-border bg-popover p-1 text-popover-foreground shadow-md duration-200 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95",
|
|
2252
|
+
"z-50 max-h-(--available-height) min-w-32 origin-(--transform-origin) overflow-x-hidden overflow-y-auto rounded-md border border-border bg-popover p-1 text-popover-foreground shadow-md shadow-(color:--shadow-color) duration-200 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95",
|
|
2248
2253
|
className
|
|
2249
2254
|
),
|
|
2250
2255
|
...props
|
|
@@ -2262,7 +2267,7 @@ function ContextMenuItem({
|
|
|
2262
2267
|
"data-slot": "context-menu-item",
|
|
2263
2268
|
"data-variant": variant,
|
|
2264
2269
|
className: cn(
|
|
2265
|
-
"relative flex cursor-pointer items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none focus:bg-
|
|
2270
|
+
"relative flex cursor-pointer items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none focus:bg-(--menu-hover-background) focus:text-(--menu-hover-foreground) data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
|
|
2266
2271
|
className
|
|
2267
2272
|
),
|
|
2268
2273
|
...props
|
|
@@ -2577,7 +2582,7 @@ function DialogOverlay({
|
|
|
2577
2582
|
{
|
|
2578
2583
|
"data-slot": "dialog-overlay",
|
|
2579
2584
|
className: cn(
|
|
2580
|
-
"fixed inset-0 z-50 bg-
|
|
2585
|
+
"fixed inset-0 z-50 bg-(--overlay-background) data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0",
|
|
2581
2586
|
className
|
|
2582
2587
|
),
|
|
2583
2588
|
...props
|
|
@@ -2597,7 +2602,7 @@ function DialogContent({
|
|
|
2597
2602
|
{
|
|
2598
2603
|
"data-slot": "dialog-content",
|
|
2599
2604
|
className: cn(
|
|
2600
|
-
"fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border border-border bg-
|
|
2605
|
+
"fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border border-border bg-popover p-6 shadow-lg shadow-(color:--shadow-color) duration-200 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95 sm:max-w-lg",
|
|
2601
2606
|
className
|
|
2602
2607
|
),
|
|
2603
2608
|
...props,
|
|
@@ -2732,7 +2737,7 @@ function DrawerOverlay({
|
|
|
2732
2737
|
import_vaul.Drawer.Overlay,
|
|
2733
2738
|
{
|
|
2734
2739
|
"data-slot": "drawer-overlay",
|
|
2735
|
-
className: cn("fixed inset-0 z-50 bg-
|
|
2740
|
+
className: cn("fixed inset-0 z-50 bg-(--overlay-background)", className),
|
|
2736
2741
|
...props
|
|
2737
2742
|
}
|
|
2738
2743
|
);
|
|
@@ -2749,7 +2754,7 @@ function DrawerContent({
|
|
|
2749
2754
|
{
|
|
2750
2755
|
"data-slot": "drawer-content",
|
|
2751
2756
|
className: cn(
|
|
2752
|
-
"group/drawer-content fixed z-50 flex h-auto flex-col border-border bg-
|
|
2757
|
+
"group/drawer-content fixed z-50 flex h-auto flex-col border-border bg-popover",
|
|
2753
2758
|
"data-[vaul-drawer-direction=top]:inset-x-0 data-[vaul-drawer-direction=top]:top-0 data-[vaul-drawer-direction=top]:mb-24 data-[vaul-drawer-direction=top]:max-h-[80vh] data-[vaul-drawer-direction=top]:rounded-b-lg data-[vaul-drawer-direction=top]:border-b",
|
|
2754
2759
|
"data-[vaul-drawer-direction=bottom]:inset-x-0 data-[vaul-drawer-direction=bottom]:bottom-0 data-[vaul-drawer-direction=bottom]:mt-24 data-[vaul-drawer-direction=bottom]:max-h-[80vh] data-[vaul-drawer-direction=bottom]:rounded-t-lg data-[vaul-drawer-direction=bottom]:border-t",
|
|
2755
2760
|
"data-[vaul-drawer-direction=right]:inset-y-0 data-[vaul-drawer-direction=right]:right-0 data-[vaul-drawer-direction=right]:w-3/4 data-[vaul-drawer-direction=right]:border-l data-[vaul-drawer-direction=right]:sm:max-w-sm",
|
|
@@ -2851,7 +2856,7 @@ function DropdownMenuContent({
|
|
|
2851
2856
|
{
|
|
2852
2857
|
"data-slot": "dropdown-menu-content",
|
|
2853
2858
|
className: cn(
|
|
2854
|
-
"z-50 max-h-(--available-height) min-w-32 origin-(--transform-origin) overflow-x-hidden overflow-y-auto rounded-md border border-border bg-popover p-1 text-popover-foreground shadow-md duration-200 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95",
|
|
2859
|
+
"z-50 max-h-(--available-height) min-w-32 origin-(--transform-origin) overflow-x-hidden overflow-y-auto rounded-md border border-border bg-popover p-1 text-popover-foreground shadow-md shadow-(color:--shadow-color) duration-200 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95",
|
|
2855
2860
|
className
|
|
2856
2861
|
),
|
|
2857
2862
|
...props
|
|
@@ -2871,7 +2876,7 @@ function DropdownMenuItem({
|
|
|
2871
2876
|
"data-slot": "dropdown-menu-item",
|
|
2872
2877
|
"data-variant": variant,
|
|
2873
2878
|
className: cn(
|
|
2874
|
-
"relative flex cursor-pointer items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none focus:bg-
|
|
2879
|
+
"relative flex cursor-pointer items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none focus:bg-(--menu-hover-background) focus:text-(--menu-hover-foreground) data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
|
|
2875
2880
|
className
|
|
2876
2881
|
),
|
|
2877
2882
|
...props
|
|
@@ -2893,7 +2898,7 @@ function DropdownMenuSubTrigger({
|
|
|
2893
2898
|
{
|
|
2894
2899
|
"data-slot": "dropdown-menu-sub-trigger",
|
|
2895
2900
|
className: cn(
|
|
2896
|
-
"flex cursor-pointer items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none focus:bg-
|
|
2901
|
+
"flex cursor-pointer items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none focus:bg-(--menu-hover-background) focus:text-(--menu-hover-foreground) data-open:bg-(--menu-active-background) data-open:text-(--menu-active-foreground) [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
|
|
2897
2902
|
className
|
|
2898
2903
|
),
|
|
2899
2904
|
...props,
|
|
@@ -2914,7 +2919,7 @@ function DropdownMenuSubContent({
|
|
|
2914
2919
|
{
|
|
2915
2920
|
"data-slot": "dropdown-menu-sub-content",
|
|
2916
2921
|
className: cn(
|
|
2917
|
-
"z-50 min-w-32 origin-(--transform-origin) overflow-hidden rounded-md border border-border bg-popover p-1 text-popover-foreground shadow-md duration-200 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95",
|
|
2922
|
+
"z-50 min-w-32 origin-(--transform-origin) overflow-hidden rounded-md border border-border bg-popover p-1 text-popover-foreground shadow-md shadow-(color:--shadow-color) duration-200 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95",
|
|
2918
2923
|
className
|
|
2919
2924
|
),
|
|
2920
2925
|
...props
|
|
@@ -3085,9 +3090,9 @@ function Field2({ label, description, error, children, className, style }) {
|
|
|
3085
3090
|
// src/components/components/Flex/index.tsx
|
|
3086
3091
|
var import_jsx_runtime56 = require("react/jsx-runtime");
|
|
3087
3092
|
var gapClass = {
|
|
3088
|
-
small: "gap-
|
|
3089
|
-
middle: "gap-
|
|
3090
|
-
large: "gap-
|
|
3093
|
+
small: "gap-(--flex-gap-sm)",
|
|
3094
|
+
middle: "gap-(--flex-gap-md)",
|
|
3095
|
+
large: "gap-(--flex-gap-lg)"
|
|
3091
3096
|
};
|
|
3092
3097
|
var justifyClass = {
|
|
3093
3098
|
start: "justify-start",
|
|
@@ -3120,6 +3125,7 @@ function Flex({
|
|
|
3120
3125
|
className: cn(
|
|
3121
3126
|
"flex",
|
|
3122
3127
|
direction === "vertical" && "flex-col",
|
|
3128
|
+
gap === void 0 && "gap-(--flex-gap)",
|
|
3123
3129
|
typeof gap === "string" && gapClass[gap],
|
|
3124
3130
|
justify && justifyClass[justify],
|
|
3125
3131
|
align && alignClass[align],
|
|
@@ -3254,7 +3260,7 @@ function Grid({ columns = 1, gap, className, style, children }) {
|
|
|
3254
3260
|
{
|
|
3255
3261
|
"data-slot": "grid",
|
|
3256
3262
|
"data-columns": cols,
|
|
3257
|
-
className: cn("grid", className),
|
|
3263
|
+
className: cn("grid", gap === void 0 && "gap-(--grid-gap)", className),
|
|
3258
3264
|
style: {
|
|
3259
3265
|
gridTemplateColumns: `repeat(${cols}, minmax(0, 1fr))`,
|
|
3260
3266
|
...gap !== void 0 ? { gap } : {},
|
|
@@ -3295,7 +3301,7 @@ function Header({
|
|
|
3295
3301
|
const hasLocales = locales !== void 0 && locales.length > 0;
|
|
3296
3302
|
const hasUser = user !== void 0;
|
|
3297
3303
|
const rootClass = cn(
|
|
3298
|
-
"flex h-14 shrink-0 items-center gap-4 border-b bg-
|
|
3304
|
+
"flex h-14 shrink-0 items-center gap-4 border-b bg-card px-4",
|
|
3299
3305
|
className
|
|
3300
3306
|
);
|
|
3301
3307
|
if (!hasBrand && !dropdown && !hasMenu && !hasUser && !hasLocales) {
|
|
@@ -3340,7 +3346,7 @@ function HeaderDropdownArea({
|
|
|
3340
3346
|
DropdownMenuTrigger,
|
|
3341
3347
|
{
|
|
3342
3348
|
"data-slot": "header-dropdown",
|
|
3343
|
-
className: cn(menuItemClass, "outline-hidden"),
|
|
3349
|
+
className: cn(menuItemClass, "outline-hidden cursor-pointer"),
|
|
3344
3350
|
children: [
|
|
3345
3351
|
dropdown.label,
|
|
3346
3352
|
/* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_lucide_react15.ChevronDownIcon, { className: "size-3.5", "aria-hidden": "true" })
|
|
@@ -3372,7 +3378,7 @@ function HeaderMenuArea({
|
|
|
3372
3378
|
{
|
|
3373
3379
|
"data-slot": "header-menu-item",
|
|
3374
3380
|
"data-key": item.key,
|
|
3375
|
-
className: cn(menuItemClass, "outline-hidden"),
|
|
3381
|
+
className: cn(menuItemClass, "outline-hidden cursor-pointer"),
|
|
3376
3382
|
children: [
|
|
3377
3383
|
item.icon ? /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(Icon, { name: item.icon, size: "sm" }) : null,
|
|
3378
3384
|
item.label,
|
|
@@ -3404,7 +3410,7 @@ function HeaderMenuEntry({
|
|
|
3404
3410
|
}) {
|
|
3405
3411
|
if (item.children !== void 0 && item.children.length > 0) {
|
|
3406
3412
|
return /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)(DropdownMenuSub, { children: [
|
|
3407
|
-
/* @__PURE__ */ (0, import_jsx_runtime60.jsxs)(DropdownMenuSubTrigger, { "data-key": item.key, children: [
|
|
3413
|
+
/* @__PURE__ */ (0, import_jsx_runtime60.jsxs)(DropdownMenuSubTrigger, { "data-key": item.key, className: "cursor-pointer", children: [
|
|
3408
3414
|
item.icon ? /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(Icon, { name: item.icon, size: "sm" }) : null,
|
|
3409
3415
|
item.label
|
|
3410
3416
|
] }),
|
|
@@ -3435,7 +3441,7 @@ function HeaderUserArea({
|
|
|
3435
3441
|
DropdownMenuTrigger,
|
|
3436
3442
|
{
|
|
3437
3443
|
"data-slot": "header-user",
|
|
3438
|
-
className: "flex items-center gap-2 rounded-md px-2 py-1.5 transition-colors outline-hidden hover:bg-accent/50",
|
|
3444
|
+
className: "flex items-center gap-2 rounded-md px-2 py-1.5 transition-colors outline-hidden hover:bg-accent/50 cursor-pointer",
|
|
3439
3445
|
children: identity
|
|
3440
3446
|
}
|
|
3441
3447
|
),
|
|
@@ -3456,7 +3462,7 @@ function HeaderLocalesArea({
|
|
|
3456
3462
|
DropdownMenuTrigger,
|
|
3457
3463
|
{
|
|
3458
3464
|
"data-slot": "header-locales",
|
|
3459
|
-
className: cn(menuItemClass, "outline-hidden"),
|
|
3465
|
+
className: cn(menuItemClass, "outline-hidden cursor-pointer"),
|
|
3460
3466
|
children: [
|
|
3461
3467
|
current?.label ?? locale,
|
|
3462
3468
|
/* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_lucide_react15.ChevronDownIcon, { className: "size-3.5", "aria-hidden": "true" })
|
|
@@ -3509,7 +3515,7 @@ function HoverCardContent({
|
|
|
3509
3515
|
{
|
|
3510
3516
|
"data-slot": "hover-card-content",
|
|
3511
3517
|
className: cn(
|
|
3512
|
-
"z-50 w-64 origin-(--transform-origin) rounded-md border border-border bg-popover p-4 text-popover-foreground shadow-md outline-hidden duration-200 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95",
|
|
3518
|
+
"z-50 w-64 origin-(--transform-origin) rounded-md border border-border bg-popover p-4 text-popover-foreground shadow-md shadow-(color:--shadow-color) outline-hidden duration-200 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95",
|
|
3513
3519
|
className
|
|
3514
3520
|
),
|
|
3515
3521
|
...props
|
|
@@ -4029,15 +4035,17 @@ function RailTooltip({
|
|
|
4029
4035
|
|
|
4030
4036
|
// src/components/components/Sidebar/index.tsx
|
|
4031
4037
|
var import_runtime13 = require("@pactor-app/runtime");
|
|
4032
|
-
var
|
|
4038
|
+
var import_react17 = require("react");
|
|
4039
|
+
|
|
4040
|
+
// src/ui/sidebar.tsx
|
|
4041
|
+
var React4 = __toESM(require("react"), 1);
|
|
4042
|
+
var import_class_variance_authority5 = require("class-variance-authority");
|
|
4043
|
+
var import_lucide_react18 = require("lucide-react");
|
|
4044
|
+
|
|
4045
|
+
// src/hooks/use-mobile.ts
|
|
4033
4046
|
var import_react16 = require("react");
|
|
4034
|
-
var import_jsx_runtime78 = require("react/jsx-runtime");
|
|
4035
|
-
var SidebarDrawerContext = (0, import_react16.createContext)(null);
|
|
4036
|
-
function useSidebarDrawer() {
|
|
4037
|
-
return (0, import_react16.useContext)(SidebarDrawerContext);
|
|
4038
|
-
}
|
|
4039
4047
|
var MOBILE_MEDIA_QUERY = "(max-width: 767px)";
|
|
4040
|
-
function
|
|
4048
|
+
function useIsMobile() {
|
|
4041
4049
|
const [isMobile, setIsMobile] = (0, import_react16.useState)(
|
|
4042
4050
|
() => typeof window !== "undefined" && typeof window.matchMedia === "function" && window.matchMedia(MOBILE_MEDIA_QUERY).matches
|
|
4043
4051
|
);
|
|
@@ -4055,6 +4063,512 @@ function useIsMobileViewport() {
|
|
|
4055
4063
|
}, []);
|
|
4056
4064
|
return isMobile;
|
|
4057
4065
|
}
|
|
4066
|
+
|
|
4067
|
+
// src/ui/separator.tsx
|
|
4068
|
+
var import_separator = require("@base-ui/react/separator");
|
|
4069
|
+
var import_jsx_runtime78 = require("react/jsx-runtime");
|
|
4070
|
+
function Separator({
|
|
4071
|
+
className,
|
|
4072
|
+
orientation = "horizontal",
|
|
4073
|
+
decorative: _decorative,
|
|
4074
|
+
...props
|
|
4075
|
+
}) {
|
|
4076
|
+
return /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
|
|
4077
|
+
import_separator.Separator,
|
|
4078
|
+
{
|
|
4079
|
+
"data-slot": "separator",
|
|
4080
|
+
orientation,
|
|
4081
|
+
className: cn(
|
|
4082
|
+
"shrink-0 bg-border data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px",
|
|
4083
|
+
className
|
|
4084
|
+
),
|
|
4085
|
+
...props
|
|
4086
|
+
}
|
|
4087
|
+
);
|
|
4088
|
+
}
|
|
4089
|
+
|
|
4090
|
+
// src/ui/sheet.tsx
|
|
4091
|
+
var import_dialog3 = require("@base-ui/react/dialog");
|
|
4092
|
+
var import_lucide_react17 = require("lucide-react");
|
|
4093
|
+
var import_class_variance_authority4 = require("class-variance-authority");
|
|
4094
|
+
var import_jsx_runtime79 = require("react/jsx-runtime");
|
|
4095
|
+
function Sheet({
|
|
4096
|
+
...props
|
|
4097
|
+
}) {
|
|
4098
|
+
return /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(import_dialog3.Dialog.Root, { "data-slot": "sheet", ...props });
|
|
4099
|
+
}
|
|
4100
|
+
function SheetPortal({
|
|
4101
|
+
...props
|
|
4102
|
+
}) {
|
|
4103
|
+
return /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(import_dialog3.Dialog.Portal, { "data-slot": "sheet-portal", ...props });
|
|
4104
|
+
}
|
|
4105
|
+
function SheetOverlay({
|
|
4106
|
+
className,
|
|
4107
|
+
...props
|
|
4108
|
+
}) {
|
|
4109
|
+
return /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
|
|
4110
|
+
import_dialog3.Dialog.Backdrop,
|
|
4111
|
+
{
|
|
4112
|
+
"data-slot": "sheet-overlay",
|
|
4113
|
+
className: cn(
|
|
4114
|
+
"fixed inset-0 z-50 bg-(--overlay-background) data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0",
|
|
4115
|
+
className
|
|
4116
|
+
),
|
|
4117
|
+
...props
|
|
4118
|
+
}
|
|
4119
|
+
);
|
|
4120
|
+
}
|
|
4121
|
+
var sheetVariants = (0, import_class_variance_authority4.cva)(
|
|
4122
|
+
"fixed z-50 flex flex-col gap-4 border-border bg-popover shadow-lg shadow-(color:--shadow-color) transition ease-in-out data-open:animate-in data-open:duration-300 data-closed:animate-out data-closed:duration-200",
|
|
4123
|
+
{
|
|
4124
|
+
variants: {
|
|
4125
|
+
side: {
|
|
4126
|
+
right: "inset-y-0 right-0 h-full w-3/4 border-l data-open:slide-in-from-right data-closed:slide-out-to-right sm:max-w-sm",
|
|
4127
|
+
left: "inset-y-0 left-0 h-full w-3/4 border-r data-open:slide-in-from-left data-closed:slide-out-to-left sm:max-w-sm",
|
|
4128
|
+
top: "inset-x-0 top-0 border-b data-open:slide-in-from-top data-closed:slide-out-to-top",
|
|
4129
|
+
bottom: "inset-x-0 bottom-0 border-t data-open:slide-in-from-bottom data-closed:slide-out-to-bottom"
|
|
4130
|
+
}
|
|
4131
|
+
},
|
|
4132
|
+
defaultVariants: {
|
|
4133
|
+
side: "right"
|
|
4134
|
+
}
|
|
4135
|
+
}
|
|
4136
|
+
);
|
|
4137
|
+
function SheetContent({
|
|
4138
|
+
className,
|
|
4139
|
+
children,
|
|
4140
|
+
side = "right",
|
|
4141
|
+
...props
|
|
4142
|
+
}) {
|
|
4143
|
+
return /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)(SheetPortal, { "data-slot": "sheet-portal", children: [
|
|
4144
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)(SheetOverlay, {}),
|
|
4145
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsxs)(
|
|
4146
|
+
import_dialog3.Dialog.Popup,
|
|
4147
|
+
{
|
|
4148
|
+
"data-slot": "sheet-content",
|
|
4149
|
+
className: cn(sheetVariants({ side }), className),
|
|
4150
|
+
...props,
|
|
4151
|
+
children: [
|
|
4152
|
+
children,
|
|
4153
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsxs)(
|
|
4154
|
+
import_dialog3.Dialog.Close,
|
|
4155
|
+
{
|
|
4156
|
+
"data-slot": "sheet-close",
|
|
4157
|
+
render: /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
|
|
4158
|
+
"button",
|
|
4159
|
+
{
|
|
4160
|
+
type: "button",
|
|
4161
|
+
className: "absolute top-4 right-4 cursor-pointer rounded-xs opacity-70 transition-opacity hover:opacity-100 focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-none disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4"
|
|
4162
|
+
}
|
|
4163
|
+
),
|
|
4164
|
+
children: [
|
|
4165
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)(import_lucide_react17.XIcon, {}),
|
|
4166
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)("span", { className: "sr-only", children: "Close" })
|
|
4167
|
+
]
|
|
4168
|
+
}
|
|
4169
|
+
)
|
|
4170
|
+
]
|
|
4171
|
+
}
|
|
4172
|
+
)
|
|
4173
|
+
] });
|
|
4174
|
+
}
|
|
4175
|
+
function SheetHeader({ className, ...props }) {
|
|
4176
|
+
return /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
|
|
4177
|
+
"div",
|
|
4178
|
+
{
|
|
4179
|
+
"data-slot": "sheet-header",
|
|
4180
|
+
className: cn("flex flex-col gap-1.5 p-4", className),
|
|
4181
|
+
...props
|
|
4182
|
+
}
|
|
4183
|
+
);
|
|
4184
|
+
}
|
|
4185
|
+
function SheetTitle({
|
|
4186
|
+
className,
|
|
4187
|
+
...props
|
|
4188
|
+
}) {
|
|
4189
|
+
return /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
|
|
4190
|
+
import_dialog3.Dialog.Title,
|
|
4191
|
+
{
|
|
4192
|
+
"data-slot": "sheet-title",
|
|
4193
|
+
className: cn("font-semibold text-foreground", className),
|
|
4194
|
+
...props
|
|
4195
|
+
}
|
|
4196
|
+
);
|
|
4197
|
+
}
|
|
4198
|
+
function SheetDescription({
|
|
4199
|
+
className,
|
|
4200
|
+
...props
|
|
4201
|
+
}) {
|
|
4202
|
+
return /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
|
|
4203
|
+
import_dialog3.Dialog.Description,
|
|
4204
|
+
{
|
|
4205
|
+
"data-slot": "sheet-description",
|
|
4206
|
+
className: cn("text-sm text-muted-foreground", className),
|
|
4207
|
+
...props
|
|
4208
|
+
}
|
|
4209
|
+
);
|
|
4210
|
+
}
|
|
4211
|
+
|
|
4212
|
+
// src/ui/skeleton.tsx
|
|
4213
|
+
var import_jsx_runtime80 = require("react/jsx-runtime");
|
|
4214
|
+
function Skeleton({ className, ...props }) {
|
|
4215
|
+
return /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
|
|
4216
|
+
"div",
|
|
4217
|
+
{
|
|
4218
|
+
"data-slot": "skeleton",
|
|
4219
|
+
className: cn("animate-pulse rounded-md bg-muted", className),
|
|
4220
|
+
...props
|
|
4221
|
+
}
|
|
4222
|
+
);
|
|
4223
|
+
}
|
|
4224
|
+
|
|
4225
|
+
// src/ui/sidebar.tsx
|
|
4226
|
+
var import_jsx_runtime81 = require("react/jsx-runtime");
|
|
4227
|
+
var SIDEBAR_COOKIE_NAME = "sidebar_state";
|
|
4228
|
+
var SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;
|
|
4229
|
+
var SIDEBAR_WIDTH = "16rem";
|
|
4230
|
+
var SIDEBAR_WIDTH_MOBILE = "18rem";
|
|
4231
|
+
var SIDEBAR_WIDTH_ICON = "3rem";
|
|
4232
|
+
var SIDEBAR_KEYBOARD_SHORTCUT = "b";
|
|
4233
|
+
var SidebarContext = React4.createContext(null);
|
|
4234
|
+
function useSidebar() {
|
|
4235
|
+
const context = React4.useContext(SidebarContext);
|
|
4236
|
+
if (!context) {
|
|
4237
|
+
throw new Error("useSidebar must be used within a SidebarProvider.");
|
|
4238
|
+
}
|
|
4239
|
+
return context;
|
|
4240
|
+
}
|
|
4241
|
+
function SidebarProvider({
|
|
4242
|
+
defaultOpen = true,
|
|
4243
|
+
open: openProp,
|
|
4244
|
+
onOpenChange: setOpenProp,
|
|
4245
|
+
className,
|
|
4246
|
+
style,
|
|
4247
|
+
children,
|
|
4248
|
+
...props
|
|
4249
|
+
}) {
|
|
4250
|
+
const isMobile = useIsMobile();
|
|
4251
|
+
const [openMobile, setOpenMobile] = React4.useState(false);
|
|
4252
|
+
const [_open, _setOpen] = React4.useState(defaultOpen);
|
|
4253
|
+
const open = openProp ?? _open;
|
|
4254
|
+
const setOpen = React4.useCallback(
|
|
4255
|
+
(value) => {
|
|
4256
|
+
const openState = typeof value === "function" ? value(open) : value;
|
|
4257
|
+
if (setOpenProp) {
|
|
4258
|
+
setOpenProp(openState);
|
|
4259
|
+
} else {
|
|
4260
|
+
_setOpen(openState);
|
|
4261
|
+
}
|
|
4262
|
+
document.cookie = `${SIDEBAR_COOKIE_NAME}=${openState}; path=/; max-age=${SIDEBAR_COOKIE_MAX_AGE}`;
|
|
4263
|
+
},
|
|
4264
|
+
[setOpenProp, open]
|
|
4265
|
+
);
|
|
4266
|
+
const toggleSidebar = React4.useCallback(() => {
|
|
4267
|
+
return isMobile ? setOpenMobile((open2) => !open2) : setOpen((open2) => !open2);
|
|
4268
|
+
}, [isMobile, setOpen, setOpenMobile]);
|
|
4269
|
+
React4.useEffect(() => {
|
|
4270
|
+
const handleKeyDown = (event) => {
|
|
4271
|
+
if (event.key === SIDEBAR_KEYBOARD_SHORTCUT && (event.metaKey || event.ctrlKey)) {
|
|
4272
|
+
event.preventDefault();
|
|
4273
|
+
toggleSidebar();
|
|
4274
|
+
}
|
|
4275
|
+
};
|
|
4276
|
+
window.addEventListener("keydown", handleKeyDown);
|
|
4277
|
+
return () => window.removeEventListener("keydown", handleKeyDown);
|
|
4278
|
+
}, [toggleSidebar]);
|
|
4279
|
+
const state = open ? "expanded" : "collapsed";
|
|
4280
|
+
const contextValue = React4.useMemo(
|
|
4281
|
+
() => ({
|
|
4282
|
+
state,
|
|
4283
|
+
open,
|
|
4284
|
+
setOpen,
|
|
4285
|
+
isMobile,
|
|
4286
|
+
openMobile,
|
|
4287
|
+
setOpenMobile,
|
|
4288
|
+
toggleSidebar
|
|
4289
|
+
}),
|
|
4290
|
+
[state, open, setOpen, isMobile, openMobile, setOpenMobile, toggleSidebar]
|
|
4291
|
+
);
|
|
4292
|
+
return /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(SidebarContext.Provider, { value: contextValue, children: /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(TooltipProvider, { delay: 0, children: /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
|
|
4293
|
+
"div",
|
|
4294
|
+
{
|
|
4295
|
+
"data-slot": "sidebar-wrapper",
|
|
4296
|
+
style: {
|
|
4297
|
+
"--sidebar-width": SIDEBAR_WIDTH,
|
|
4298
|
+
"--sidebar-width-icon": SIDEBAR_WIDTH_ICON,
|
|
4299
|
+
...style
|
|
4300
|
+
},
|
|
4301
|
+
className: cn(
|
|
4302
|
+
"group/sidebar-wrapper flex min-h-svh w-full has-data-[variant=inset]:bg-sidebar",
|
|
4303
|
+
className
|
|
4304
|
+
),
|
|
4305
|
+
...props,
|
|
4306
|
+
children
|
|
4307
|
+
}
|
|
4308
|
+
) }) });
|
|
4309
|
+
}
|
|
4310
|
+
function SidebarRoot({
|
|
4311
|
+
side = "left",
|
|
4312
|
+
variant = "sidebar",
|
|
4313
|
+
collapsible = "offcanvas",
|
|
4314
|
+
className,
|
|
4315
|
+
children,
|
|
4316
|
+
...props
|
|
4317
|
+
}) {
|
|
4318
|
+
const { isMobile, state, openMobile, setOpenMobile } = useSidebar();
|
|
4319
|
+
if (collapsible === "none") {
|
|
4320
|
+
return /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
|
|
4321
|
+
"div",
|
|
4322
|
+
{
|
|
4323
|
+
"data-slot": "sidebar",
|
|
4324
|
+
className: cn(
|
|
4325
|
+
"flex h-full w-(--sidebar-width) flex-col bg-sidebar text-sidebar-foreground",
|
|
4326
|
+
className
|
|
4327
|
+
),
|
|
4328
|
+
...props,
|
|
4329
|
+
children
|
|
4330
|
+
}
|
|
4331
|
+
);
|
|
4332
|
+
}
|
|
4333
|
+
if (isMobile) {
|
|
4334
|
+
return /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(Sheet, { open: openMobile, onOpenChange: setOpenMobile, ...props, children: /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)(
|
|
4335
|
+
SheetContent,
|
|
4336
|
+
{
|
|
4337
|
+
"data-sidebar": "sidebar",
|
|
4338
|
+
"data-slot": "sidebar",
|
|
4339
|
+
"data-mobile": "true",
|
|
4340
|
+
className: "w-(--sidebar-width) bg-sidebar p-0 text-sidebar-foreground [&>button]:hidden",
|
|
4341
|
+
style: {
|
|
4342
|
+
"--sidebar-width": SIDEBAR_WIDTH_MOBILE
|
|
4343
|
+
},
|
|
4344
|
+
side,
|
|
4345
|
+
children: [
|
|
4346
|
+
/* @__PURE__ */ (0, import_jsx_runtime81.jsxs)(SheetHeader, { className: "sr-only", children: [
|
|
4347
|
+
/* @__PURE__ */ (0, import_jsx_runtime81.jsx)(SheetTitle, { children: "Sidebar" }),
|
|
4348
|
+
/* @__PURE__ */ (0, import_jsx_runtime81.jsx)(SheetDescription, { children: "Displays the mobile sidebar." })
|
|
4349
|
+
] }),
|
|
4350
|
+
/* @__PURE__ */ (0, import_jsx_runtime81.jsx)("div", { className: "flex h-full w-full flex-col", children })
|
|
4351
|
+
]
|
|
4352
|
+
}
|
|
4353
|
+
) });
|
|
4354
|
+
}
|
|
4355
|
+
return /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)(
|
|
4356
|
+
"div",
|
|
4357
|
+
{
|
|
4358
|
+
className: "group peer hidden text-sidebar-foreground md:block",
|
|
4359
|
+
"data-state": state,
|
|
4360
|
+
"data-collapsible": state === "collapsed" ? collapsible : "",
|
|
4361
|
+
"data-variant": variant,
|
|
4362
|
+
"data-side": side,
|
|
4363
|
+
"data-slot": "sidebar",
|
|
4364
|
+
children: [
|
|
4365
|
+
/* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
|
|
4366
|
+
"div",
|
|
4367
|
+
{
|
|
4368
|
+
"data-slot": "sidebar-gap",
|
|
4369
|
+
className: cn(
|
|
4370
|
+
"relative w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear",
|
|
4371
|
+
"group-data-[collapsible=offcanvas]:w-0",
|
|
4372
|
+
"group-data-[side=right]:rotate-180",
|
|
4373
|
+
variant === "floating" || variant === "inset" ? "group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]" : "group-data-[collapsible=icon]:w-(--sidebar-width-icon)"
|
|
4374
|
+
)
|
|
4375
|
+
}
|
|
4376
|
+
),
|
|
4377
|
+
/* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
|
|
4378
|
+
"div",
|
|
4379
|
+
{
|
|
4380
|
+
"data-slot": "sidebar-container",
|
|
4381
|
+
className: cn(
|
|
4382
|
+
"fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear md:flex",
|
|
4383
|
+
side === "left" ? "left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]" : "right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]",
|
|
4384
|
+
variant === "floating" || variant === "inset" ? "p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]" : "group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l",
|
|
4385
|
+
className
|
|
4386
|
+
),
|
|
4387
|
+
...props,
|
|
4388
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
|
|
4389
|
+
"div",
|
|
4390
|
+
{
|
|
4391
|
+
"data-sidebar": "sidebar",
|
|
4392
|
+
"data-slot": "sidebar-inner",
|
|
4393
|
+
className: "flex h-full w-full flex-col bg-sidebar group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:border-sidebar-border group-data-[variant=floating]:shadow-sm",
|
|
4394
|
+
children
|
|
4395
|
+
}
|
|
4396
|
+
)
|
|
4397
|
+
}
|
|
4398
|
+
)
|
|
4399
|
+
]
|
|
4400
|
+
}
|
|
4401
|
+
);
|
|
4402
|
+
}
|
|
4403
|
+
function SidebarInset({ className, ...props }) {
|
|
4404
|
+
return /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
|
|
4405
|
+
"main",
|
|
4406
|
+
{
|
|
4407
|
+
"data-slot": "sidebar-inset",
|
|
4408
|
+
className: cn(
|
|
4409
|
+
"relative flex w-full flex-1 flex-col bg-background",
|
|
4410
|
+
"md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow-sm md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2",
|
|
4411
|
+
className
|
|
4412
|
+
),
|
|
4413
|
+
...props
|
|
4414
|
+
}
|
|
4415
|
+
);
|
|
4416
|
+
}
|
|
4417
|
+
function SidebarHeader({ className, ...props }) {
|
|
4418
|
+
return /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
|
|
4419
|
+
"div",
|
|
4420
|
+
{
|
|
4421
|
+
"data-slot": "sidebar-header",
|
|
4422
|
+
"data-sidebar": "header",
|
|
4423
|
+
className: cn("flex flex-col gap-2 p-2", className),
|
|
4424
|
+
...props
|
|
4425
|
+
}
|
|
4426
|
+
);
|
|
4427
|
+
}
|
|
4428
|
+
function SidebarFooter({ className, ...props }) {
|
|
4429
|
+
return /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
|
|
4430
|
+
"div",
|
|
4431
|
+
{
|
|
4432
|
+
"data-slot": "sidebar-footer",
|
|
4433
|
+
"data-sidebar": "footer",
|
|
4434
|
+
className: cn("flex flex-col gap-2 p-2", className),
|
|
4435
|
+
...props
|
|
4436
|
+
}
|
|
4437
|
+
);
|
|
4438
|
+
}
|
|
4439
|
+
function SidebarContent({ className, ...props }) {
|
|
4440
|
+
return /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
|
|
4441
|
+
"div",
|
|
4442
|
+
{
|
|
4443
|
+
"data-slot": "sidebar-content",
|
|
4444
|
+
"data-sidebar": "content",
|
|
4445
|
+
className: cn(
|
|
4446
|
+
"flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden",
|
|
4447
|
+
className
|
|
4448
|
+
),
|
|
4449
|
+
...props
|
|
4450
|
+
}
|
|
4451
|
+
);
|
|
4452
|
+
}
|
|
4453
|
+
function renderAsChild(children, dataSlot, className, rest) {
|
|
4454
|
+
if (!React4.isValidElement(children)) {
|
|
4455
|
+
return null;
|
|
4456
|
+
}
|
|
4457
|
+
return React4.cloneElement(children, {
|
|
4458
|
+
"data-slot": dataSlot,
|
|
4459
|
+
className: cn(
|
|
4460
|
+
className,
|
|
4461
|
+
children.props.className
|
|
4462
|
+
),
|
|
4463
|
+
...rest
|
|
4464
|
+
});
|
|
4465
|
+
}
|
|
4466
|
+
function SidebarMenu({ className, ...props }) {
|
|
4467
|
+
return /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
|
|
4468
|
+
"ul",
|
|
4469
|
+
{
|
|
4470
|
+
"data-slot": "sidebar-menu",
|
|
4471
|
+
"data-sidebar": "menu",
|
|
4472
|
+
className: cn("flex w-full min-w-0 flex-col gap-1", className),
|
|
4473
|
+
...props
|
|
4474
|
+
}
|
|
4475
|
+
);
|
|
4476
|
+
}
|
|
4477
|
+
function SidebarMenuItem({ className, ...props }) {
|
|
4478
|
+
return /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
|
|
4479
|
+
"li",
|
|
4480
|
+
{
|
|
4481
|
+
"data-slot": "sidebar-menu-item",
|
|
4482
|
+
"data-sidebar": "menu-item",
|
|
4483
|
+
className: cn("group/menu-item relative", className),
|
|
4484
|
+
...props
|
|
4485
|
+
}
|
|
4486
|
+
);
|
|
4487
|
+
}
|
|
4488
|
+
var sidebarMenuButtonVariants = (0, import_class_variance_authority5.cva)(
|
|
4489
|
+
"peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm ring-sidebar-ring outline-hidden transition-[width,height,padding] group-has-data-[sidebar=menu-action]/menu-item:pr-8 group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0",
|
|
4490
|
+
{
|
|
4491
|
+
variants: {
|
|
4492
|
+
variant: {
|
|
4493
|
+
default: "hover:bg-sidebar-accent hover:text-sidebar-accent-foreground",
|
|
4494
|
+
outline: "bg-sidebar shadow-[0_0_0_1px_var(--sidebar-border)] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_var(--sidebar-accent)]"
|
|
4495
|
+
},
|
|
4496
|
+
size: {
|
|
4497
|
+
default: "h-8 text-sm",
|
|
4498
|
+
sm: "h-7 text-xs",
|
|
4499
|
+
lg: "h-12 text-sm group-data-[collapsible=icon]:p-0!"
|
|
4500
|
+
}
|
|
4501
|
+
},
|
|
4502
|
+
defaultVariants: {
|
|
4503
|
+
variant: "default",
|
|
4504
|
+
size: "default"
|
|
4505
|
+
}
|
|
4506
|
+
}
|
|
4507
|
+
);
|
|
4508
|
+
function SidebarMenuButton({
|
|
4509
|
+
asChild = false,
|
|
4510
|
+
isActive = false,
|
|
4511
|
+
variant = "default",
|
|
4512
|
+
size = "default",
|
|
4513
|
+
tooltip,
|
|
4514
|
+
className,
|
|
4515
|
+
children,
|
|
4516
|
+
...props
|
|
4517
|
+
}) {
|
|
4518
|
+
const { isMobile, state } = useSidebar();
|
|
4519
|
+
const cls = cn(sidebarMenuButtonVariants({ variant, size }), className);
|
|
4520
|
+
const button = asChild ? renderAsChild(children, "sidebar-menu-button", cls, {
|
|
4521
|
+
"data-sidebar": "menu-button",
|
|
4522
|
+
"data-size": size,
|
|
4523
|
+
"data-active": isActive,
|
|
4524
|
+
...props
|
|
4525
|
+
}) : /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
|
|
4526
|
+
"button",
|
|
4527
|
+
{
|
|
4528
|
+
"data-slot": "sidebar-menu-button",
|
|
4529
|
+
"data-sidebar": "menu-button",
|
|
4530
|
+
"data-size": size,
|
|
4531
|
+
"data-active": isActive,
|
|
4532
|
+
className: cls,
|
|
4533
|
+
...props,
|
|
4534
|
+
children
|
|
4535
|
+
}
|
|
4536
|
+
);
|
|
4537
|
+
if (!tooltip) {
|
|
4538
|
+
return button;
|
|
4539
|
+
}
|
|
4540
|
+
if (typeof tooltip === "string") {
|
|
4541
|
+
tooltip = {
|
|
4542
|
+
children: tooltip
|
|
4543
|
+
};
|
|
4544
|
+
}
|
|
4545
|
+
return /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)(Tooltip2, { children: [
|
|
4546
|
+
/* @__PURE__ */ (0, import_jsx_runtime81.jsx)(TooltipTrigger, { render: button }),
|
|
4547
|
+
/* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
|
|
4548
|
+
TooltipContent,
|
|
4549
|
+
{
|
|
4550
|
+
side: "right",
|
|
4551
|
+
align: "center",
|
|
4552
|
+
hidden: state !== "collapsed" || isMobile,
|
|
4553
|
+
...tooltip
|
|
4554
|
+
}
|
|
4555
|
+
)
|
|
4556
|
+
] });
|
|
4557
|
+
}
|
|
4558
|
+
|
|
4559
|
+
// src/components/components/Sidebar/index.tsx
|
|
4560
|
+
var import_jsx_runtime82 = require("react/jsx-runtime");
|
|
4561
|
+
function useSidebarDrawer() {
|
|
4562
|
+
try {
|
|
4563
|
+
const ctx = useSidebar();
|
|
4564
|
+
return {
|
|
4565
|
+
close: () => ctx.setOpenMobile(false),
|
|
4566
|
+
collapsed: ctx.state === "collapsed"
|
|
4567
|
+
};
|
|
4568
|
+
} catch {
|
|
4569
|
+
return null;
|
|
4570
|
+
}
|
|
4571
|
+
}
|
|
4058
4572
|
function useOptionalRenderer() {
|
|
4059
4573
|
try {
|
|
4060
4574
|
return (0, import_runtime13.useRenderer)();
|
|
@@ -4062,16 +4576,61 @@ function useOptionalRenderer() {
|
|
|
4062
4576
|
return null;
|
|
4063
4577
|
}
|
|
4064
4578
|
}
|
|
4065
|
-
function
|
|
4579
|
+
function SidebarContentSlot({ content }) {
|
|
4066
4580
|
const renderer = useOptionalRenderer();
|
|
4067
4581
|
if (renderer !== null && typeof content === "object" && content !== null && !("$$typeof" in content) && "type" in content) {
|
|
4068
|
-
return /* @__PURE__ */ (0,
|
|
4582
|
+
return /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(import_jsx_runtime82.Fragment, { children: renderer.renderChildren([content]) });
|
|
4069
4583
|
}
|
|
4070
|
-
return /* @__PURE__ */ (0,
|
|
4584
|
+
return /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(import_jsx_runtime82.Fragment, { children: content });
|
|
4071
4585
|
}
|
|
4072
4586
|
function isBrandObject(brand) {
|
|
4073
4587
|
return typeof brand === "object" && brand !== null && !("$$typeof" in brand) && "title" in brand;
|
|
4074
4588
|
}
|
|
4589
|
+
function BrandNode({ brand, collapsed }) {
|
|
4590
|
+
if (brand === void 0 || brand === null) {
|
|
4591
|
+
return null;
|
|
4592
|
+
}
|
|
4593
|
+
if (isBrandObject(brand)) {
|
|
4594
|
+
return /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)(import_jsx_runtime82.Fragment, { children: [
|
|
4595
|
+
brand.logo ? /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
|
|
4596
|
+
"img",
|
|
4597
|
+
{
|
|
4598
|
+
"data-slot": "sidebar-brand-logo",
|
|
4599
|
+
src: brand.logo,
|
|
4600
|
+
alt: brand.title,
|
|
4601
|
+
className: "size-6 shrink-0"
|
|
4602
|
+
}
|
|
4603
|
+
) : null,
|
|
4604
|
+
collapsed ? null : /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("span", { className: "truncate text-sm font-semibold", children: brand.title })
|
|
4605
|
+
] });
|
|
4606
|
+
}
|
|
4607
|
+
return /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(import_jsx_runtime82.Fragment, { children: brand });
|
|
4608
|
+
}
|
|
4609
|
+
function SidebarNavItems({ items }) {
|
|
4610
|
+
return /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(SidebarMenu, { children: items.map((item, index) => /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(SidebarNavEntry, { item, depth: 0 }, item.href ?? item.label ?? index)) });
|
|
4611
|
+
}
|
|
4612
|
+
function SidebarNavEntry({ item, depth }) {
|
|
4613
|
+
const iconNode = item.icon ? /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(Icon, { name: item.icon, size: "sm" }) : null;
|
|
4614
|
+
const labelNode = item.label;
|
|
4615
|
+
const button = item.href ? /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(SidebarMenuButton, { asChild: true, tooltip: item.label, children: /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)("a", { href: item.href, children: [
|
|
4616
|
+
iconNode,
|
|
4617
|
+
/* @__PURE__ */ (0, import_jsx_runtime82.jsx)("span", { children: labelNode })
|
|
4618
|
+
] }) }) : /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)(SidebarMenuButton, { tooltip: item.label, children: [
|
|
4619
|
+
iconNode,
|
|
4620
|
+
/* @__PURE__ */ (0, import_jsx_runtime82.jsx)("span", { children: labelNode })
|
|
4621
|
+
] });
|
|
4622
|
+
return /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)(SidebarMenuItem, { children: [
|
|
4623
|
+
button,
|
|
4624
|
+
item.children && item.children.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("div", { className: cn("ml-4"), children: item.children.map((child, index) => /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
|
|
4625
|
+
SidebarNavEntry,
|
|
4626
|
+
{
|
|
4627
|
+
item: child,
|
|
4628
|
+
depth: depth + 1
|
|
4629
|
+
},
|
|
4630
|
+
child.href ?? child.label ?? index
|
|
4631
|
+
)) })
|
|
4632
|
+
] });
|
|
4633
|
+
}
|
|
4075
4634
|
function Sidebar({
|
|
4076
4635
|
brand,
|
|
4077
4636
|
items = [],
|
|
@@ -4084,222 +4643,125 @@ function Sidebar({
|
|
|
4084
4643
|
className,
|
|
4085
4644
|
style,
|
|
4086
4645
|
children
|
|
4646
|
+
}) {
|
|
4647
|
+
return /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
|
|
4648
|
+
SidebarProvider,
|
|
4649
|
+
{
|
|
4650
|
+
defaultOpen: true,
|
|
4651
|
+
className,
|
|
4652
|
+
style,
|
|
4653
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
|
|
4654
|
+
SidebarInner,
|
|
4655
|
+
{
|
|
4656
|
+
brand,
|
|
4657
|
+
items,
|
|
4658
|
+
content,
|
|
4659
|
+
sidebarFooter,
|
|
4660
|
+
collapsible,
|
|
4661
|
+
onCollapse,
|
|
4662
|
+
locationKey,
|
|
4663
|
+
drawer,
|
|
4664
|
+
children
|
|
4665
|
+
}
|
|
4666
|
+
)
|
|
4667
|
+
}
|
|
4668
|
+
);
|
|
4669
|
+
}
|
|
4670
|
+
function SidebarInner({
|
|
4671
|
+
brand,
|
|
4672
|
+
items = [],
|
|
4673
|
+
content,
|
|
4674
|
+
sidebarFooter,
|
|
4675
|
+
collapsible,
|
|
4676
|
+
onCollapse,
|
|
4677
|
+
locationKey,
|
|
4678
|
+
drawer = true,
|
|
4679
|
+
children
|
|
4087
4680
|
}) {
|
|
4088
4681
|
const { t } = (0, import_runtime13.useI18n)();
|
|
4089
|
-
const isMobile =
|
|
4090
|
-
const
|
|
4091
|
-
const
|
|
4682
|
+
const isMobile = useIsMobile();
|
|
4683
|
+
const { state, setOpenMobile, toggleSidebar } = useSidebar();
|
|
4684
|
+
const collapsed = state === "collapsed";
|
|
4685
|
+
const prevCollapsed = (0, import_react17.useRef)(collapsed);
|
|
4686
|
+
(0, import_react17.useEffect)(() => {
|
|
4687
|
+
if (prevCollapsed.current !== collapsed) {
|
|
4688
|
+
prevCollapsed.current = collapsed;
|
|
4689
|
+
onCollapse?.(collapsed);
|
|
4690
|
+
}
|
|
4691
|
+
}, [collapsed, onCollapse]);
|
|
4692
|
+
(0, import_react17.useEffect)(() => {
|
|
4693
|
+
if (locationKey !== void 0) {
|
|
4694
|
+
setOpenMobile(false);
|
|
4695
|
+
}
|
|
4696
|
+
}, [locationKey, setOpenMobile]);
|
|
4092
4697
|
const collapsedEffective = collapsible === true && collapsed && !isMobile;
|
|
4093
|
-
const
|
|
4094
|
-
const
|
|
4095
|
-
|
|
4096
|
-
|
|
4097
|
-
|
|
4098
|
-
};
|
|
4099
|
-
const [trackedLocationKey, setTrackedLocationKey] = (0, import_react16.useState)(locationKey);
|
|
4100
|
-
if (trackedLocationKey !== locationKey) {
|
|
4101
|
-
setTrackedLocationKey(locationKey);
|
|
4102
|
-
setDrawerOpen(false);
|
|
4103
|
-
}
|
|
4104
|
-
(0, import_react16.useEffect)(() => {
|
|
4105
|
-
if (!drawerOpen) {
|
|
4106
|
-
return;
|
|
4107
|
-
}
|
|
4108
|
-
const onKeyDown = (event) => {
|
|
4109
|
-
if (event.key === "Escape") {
|
|
4110
|
-
setDrawerOpen(false);
|
|
4111
|
-
}
|
|
4112
|
-
};
|
|
4113
|
-
window.addEventListener("keydown", onKeyDown);
|
|
4114
|
-
return () => window.removeEventListener("keydown", onKeyDown);
|
|
4115
|
-
}, [drawerOpen]);
|
|
4116
|
-
const brandNode = isBrandObject(brand) ? /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)(import_jsx_runtime78.Fragment, { children: [
|
|
4117
|
-
brand.logo ? /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
|
|
4118
|
-
"img",
|
|
4698
|
+
const brandNode = /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(BrandNode, { brand, collapsed: collapsedEffective });
|
|
4699
|
+
const sidebarContent = content !== void 0 && content !== null ? /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(SidebarContentSlot, { content }) : items.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(SidebarNavItems, { items }) : null;
|
|
4700
|
+
return /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)(import_jsx_runtime82.Fragment, { children: [
|
|
4701
|
+
/* @__PURE__ */ (0, import_jsx_runtime82.jsxs)(
|
|
4702
|
+
SidebarRoot,
|
|
4119
4703
|
{
|
|
4120
|
-
"
|
|
4121
|
-
|
|
4122
|
-
|
|
4123
|
-
|
|
4704
|
+
collapsible: collapsible ? "icon" : "offcanvas",
|
|
4705
|
+
children: [
|
|
4706
|
+
(brand !== void 0 || collapsible) && /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(SidebarHeader, { children: /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)(
|
|
4707
|
+
"div",
|
|
4708
|
+
{
|
|
4709
|
+
"data-slot": "sidebar-brand",
|
|
4710
|
+
className: cn(
|
|
4711
|
+
"flex h-14 shrink-0 items-center gap-2 px-2",
|
|
4712
|
+
collapsedEffective && "justify-center px-0"
|
|
4713
|
+
),
|
|
4714
|
+
children: [
|
|
4715
|
+
collapsedEffective ? null : /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("div", { className: "flex min-w-0 flex-1 items-center gap-2", children: brandNode }),
|
|
4716
|
+
collapsible && !isMobile && /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
|
|
4717
|
+
"button",
|
|
4718
|
+
{
|
|
4719
|
+
type: "button",
|
|
4720
|
+
"data-slot": "sidebar-collapse-trigger",
|
|
4721
|
+
"aria-label": collapsedEffective ? t("pactor.layout.expandSidebar") : t("pactor.layout.collapseSidebar"),
|
|
4722
|
+
"aria-expanded": !collapsedEffective,
|
|
4723
|
+
className: "flex size-8 shrink-0 cursor-pointer items-center justify-center rounded-md text-sidebar-foreground/60 transition-colors hover:bg-sidebar-accent hover:text-sidebar-foreground",
|
|
4724
|
+
onClick: toggleSidebar,
|
|
4725
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(Icon, { name: collapsedEffective ? "chevron-right" : "chevron-left", size: 16 })
|
|
4726
|
+
}
|
|
4727
|
+
)
|
|
4728
|
+
]
|
|
4729
|
+
}
|
|
4730
|
+
) }),
|
|
4731
|
+
/* @__PURE__ */ (0, import_jsx_runtime82.jsx)(SidebarContent, { children: sidebarContent }),
|
|
4732
|
+
sidebarFooter !== void 0 && sidebarFooter !== null && !collapsedEffective && /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(SidebarFooter, { children: sidebarFooter })
|
|
4733
|
+
]
|
|
4124
4734
|
}
|
|
4125
|
-
)
|
|
4126
|
-
|
|
4127
|
-
|
|
4128
|
-
const collapseTrigger = collapsible && !isMobile ? /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
|
|
4129
|
-
"button",
|
|
4130
|
-
{
|
|
4131
|
-
type: "button",
|
|
4132
|
-
"data-slot": "sidebar-collapse-trigger",
|
|
4133
|
-
"aria-label": collapsedEffective ? t("pactor.layout.expandSidebar") : t("pactor.layout.collapseSidebar"),
|
|
4134
|
-
"aria-expanded": !collapsedEffective,
|
|
4135
|
-
title: collapsedEffective ? t("pactor.layout.expandSidebar") : t("pactor.layout.collapseSidebar"),
|
|
4136
|
-
className: cn(
|
|
4137
|
-
"cursor-pointer flex size-8 shrink-0 items-center justify-center rounded-md text-sidebar-foreground/60 transition-colors hover:bg-sidebar-accent hover:text-sidebar-foreground"
|
|
4138
|
-
),
|
|
4139
|
-
onClick: toggleCollapsed,
|
|
4140
|
-
children: collapsedEffective ? /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(import_lucide_react17.ChevronRight, { "aria-hidden": true, className: "size-4" }) : /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(import_lucide_react17.ChevronLeft, { "aria-hidden": true, className: "size-4" })
|
|
4141
|
-
}
|
|
4142
|
-
) : null;
|
|
4143
|
-
return /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
|
|
4144
|
-
SidebarDrawerContext.Provider,
|
|
4145
|
-
{
|
|
4146
|
-
value: { close, collapsed: collapsedEffective },
|
|
4147
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)(
|
|
4735
|
+
),
|
|
4736
|
+
/* @__PURE__ */ (0, import_jsx_runtime82.jsxs)(SidebarInset, { children: [
|
|
4737
|
+
drawer && /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)(
|
|
4148
4738
|
"div",
|
|
4149
4739
|
{
|
|
4150
|
-
"data-slot": "sidebar-
|
|
4151
|
-
className:
|
|
4152
|
-
style,
|
|
4740
|
+
"data-slot": "sidebar-topbar",
|
|
4741
|
+
className: "flex h-14 items-center gap-2 border-b border-sidebar-border bg-sidebar px-3 md:hidden",
|
|
4153
4742
|
children: [
|
|
4154
|
-
|
|
4155
|
-
"
|
|
4743
|
+
/* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
|
|
4744
|
+
"button",
|
|
4156
4745
|
{
|
|
4157
|
-
|
|
4158
|
-
"
|
|
4159
|
-
|
|
4160
|
-
|
|
4161
|
-
|
|
4162
|
-
|
|
4163
|
-
/* @__PURE__ */ (0, import_jsx_runtime78.jsxs)(
|
|
4164
|
-
"aside",
|
|
4165
|
-
{
|
|
4166
|
-
"data-slot": "sidebar",
|
|
4167
|
-
"data-collapsed": collapsedEffective || void 0,
|
|
4168
|
-
"data-open": drawerOpen ? "true" : "false",
|
|
4169
|
-
inert: drawer && isMobile && !drawerOpen ? true : void 0,
|
|
4170
|
-
className: cn(
|
|
4171
|
-
"flex shrink-0 flex-col border-r border-sidebar-border bg-sidebar text-sidebar-foreground transition-[width,transform]",
|
|
4172
|
-
collapsedEffective ? "w-16" : "w-60",
|
|
4173
|
-
// 移动端覆盖抽屉:退出文档流,关闭时移出屏幕
|
|
4174
|
-
drawer && "max-md:fixed max-md:inset-y-0 max-md:left-0 max-md:z-50 max-md:w-60 max-md:-translate-x-full max-md:data-[open=true]:translate-x-0"
|
|
4175
|
-
),
|
|
4176
|
-
children: [
|
|
4177
|
-
brand !== void 0 || collapseTrigger !== null ? /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)(
|
|
4178
|
-
"div",
|
|
4179
|
-
{
|
|
4180
|
-
"data-slot": "sidebar-brand",
|
|
4181
|
-
className: cn(
|
|
4182
|
-
"flex h-14 shrink-0 items-center gap-2 border-b border-sidebar-border px-4",
|
|
4183
|
-
// 移动端品牌维持顶栏现状:抽屉内不重复渲染品牌行
|
|
4184
|
-
"max-md:hidden",
|
|
4185
|
-
collapsedEffective && "justify-center px-2"
|
|
4186
|
-
),
|
|
4187
|
-
children: [
|
|
4188
|
-
collapsedEffective ? null : /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("div", { className: "flex min-w-0 flex-1 items-center gap-2", children: brandNode }),
|
|
4189
|
-
collapseTrigger
|
|
4190
|
-
]
|
|
4191
|
-
}
|
|
4192
|
-
) : null,
|
|
4193
|
-
/* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
|
|
4194
|
-
"nav",
|
|
4195
|
-
{
|
|
4196
|
-
"data-slot": "sidebar-nav",
|
|
4197
|
-
className: "min-h-0 flex-1 overflow-auto p-2",
|
|
4198
|
-
children: content !== void 0 && content !== null ? /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(SidebarContent, { content }) : items.map((item, index) => /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
|
|
4199
|
-
SidebarEntry,
|
|
4200
|
-
{
|
|
4201
|
-
item,
|
|
4202
|
-
depth: 0,
|
|
4203
|
-
collapsed: collapsedEffective
|
|
4204
|
-
},
|
|
4205
|
-
item.href ?? item.label ?? index
|
|
4206
|
-
))
|
|
4207
|
-
}
|
|
4208
|
-
),
|
|
4209
|
-
sidebarFooter !== void 0 && sidebarFooter !== null && !collapsedEffective ? /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
|
|
4210
|
-
"div",
|
|
4211
|
-
{
|
|
4212
|
-
"data-slot": "sidebar-footer",
|
|
4213
|
-
className: "shrink-0 border-t border-sidebar-border p-2",
|
|
4214
|
-
children: sidebarFooter
|
|
4215
|
-
}
|
|
4216
|
-
) : null
|
|
4217
|
-
]
|
|
4746
|
+
type: "button",
|
|
4747
|
+
"data-slot": "sidebar-menu-trigger",
|
|
4748
|
+
"aria-label": t("pactor.layout.openNavigation"),
|
|
4749
|
+
className: "flex size-8 items-center justify-center rounded-md text-sidebar-foreground/60 transition-colors hover:bg-sidebar-accent hover:text-sidebar-foreground",
|
|
4750
|
+
onClick: toggleSidebar,
|
|
4751
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(Icon, { name: "menu", size: 18 })
|
|
4218
4752
|
}
|
|
4219
4753
|
),
|
|
4220
|
-
|
|
4221
|
-
"main",
|
|
4222
|
-
{
|
|
4223
|
-
"data-slot": "sidebar-content",
|
|
4224
|
-
className: "flex min-w-0 flex-1 flex-col",
|
|
4225
|
-
children: [
|
|
4226
|
-
drawer ? /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)(
|
|
4227
|
-
"div",
|
|
4228
|
-
{
|
|
4229
|
-
"data-slot": "sidebar-topbar",
|
|
4230
|
-
className: "flex h-14 items-center gap-2 border-b border-sidebar-border bg-sidebar px-3 md:hidden",
|
|
4231
|
-
children: [
|
|
4232
|
-
/* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
|
|
4233
|
-
"button",
|
|
4234
|
-
{
|
|
4235
|
-
type: "button",
|
|
4236
|
-
"data-slot": "sidebar-menu-trigger",
|
|
4237
|
-
"aria-label": t("pactor.layout.openNavigation"),
|
|
4238
|
-
"aria-expanded": drawerOpen,
|
|
4239
|
-
className: "flex size-8 items-center justify-center rounded-md text-sidebar-foreground/60 transition-colors hover:bg-sidebar-accent hover:text-sidebar-foreground",
|
|
4240
|
-
onClick: () => setDrawerOpen(true),
|
|
4241
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(Icon, { name: "menu", size: 18 })
|
|
4242
|
-
}
|
|
4243
|
-
),
|
|
4244
|
-
brandNode
|
|
4245
|
-
]
|
|
4246
|
-
}
|
|
4247
|
-
) : null,
|
|
4248
|
-
children
|
|
4249
|
-
]
|
|
4250
|
-
}
|
|
4251
|
-
)
|
|
4754
|
+
brandNode
|
|
4252
4755
|
]
|
|
4253
4756
|
}
|
|
4254
|
-
)
|
|
4255
|
-
|
|
4256
|
-
|
|
4257
|
-
}
|
|
4258
|
-
function SidebarEntry({
|
|
4259
|
-
item,
|
|
4260
|
-
depth,
|
|
4261
|
-
collapsed
|
|
4262
|
-
}) {
|
|
4263
|
-
const entryClass = cn(
|
|
4264
|
-
"flex w-full items-center gap-2 rounded-md px-3 py-2 text-left text-sm transition-colors",
|
|
4265
|
-
"text-sidebar-foreground/70 hover:bg-sidebar-accent hover:text-sidebar-accent-foreground",
|
|
4266
|
-
collapsed && "justify-center px-0"
|
|
4267
|
-
);
|
|
4268
|
-
const indentStyle = !collapsed && depth > 0 ? { paddingLeft: 12 + depth * 16 } : void 0;
|
|
4269
|
-
const labelNode = collapsed ? null : item.label;
|
|
4270
|
-
const iconNode = item.icon ? /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(Icon, { name: item.icon, size: "sm" }) : null;
|
|
4271
|
-
const entry = item.href ? /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)(
|
|
4272
|
-
"a",
|
|
4273
|
-
{
|
|
4274
|
-
"data-slot": "sidebar-item",
|
|
4275
|
-
href: item.href,
|
|
4276
|
-
className: entryClass,
|
|
4277
|
-
style: indentStyle,
|
|
4278
|
-
children: [
|
|
4279
|
-
iconNode,
|
|
4280
|
-
labelNode
|
|
4281
|
-
]
|
|
4282
|
-
}
|
|
4283
|
-
) : /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)("span", { "data-slot": "sidebar-item", className: entryClass, style: indentStyle, children: [
|
|
4284
|
-
iconNode,
|
|
4285
|
-
labelNode
|
|
4286
|
-
] });
|
|
4287
|
-
return /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)("div", { "data-slot": "sidebar-entry", children: [
|
|
4288
|
-
collapsed ? /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(RailTooltip, { label: item.label, children: entry }) : entry,
|
|
4289
|
-
item.children?.map((child, index) => /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
|
|
4290
|
-
SidebarEntry,
|
|
4291
|
-
{
|
|
4292
|
-
item: child,
|
|
4293
|
-
depth: depth + 1,
|
|
4294
|
-
collapsed
|
|
4295
|
-
},
|
|
4296
|
-
child.href ?? child.label ?? index
|
|
4297
|
-
))
|
|
4757
|
+
),
|
|
4758
|
+
children
|
|
4759
|
+
] })
|
|
4298
4760
|
] });
|
|
4299
4761
|
}
|
|
4300
4762
|
|
|
4301
4763
|
// src/components/components/Menu/index.tsx
|
|
4302
|
-
var
|
|
4764
|
+
var import_jsx_runtime83 = require("react/jsx-runtime");
|
|
4303
4765
|
function Menu2({
|
|
4304
4766
|
items = [],
|
|
4305
4767
|
mode = "inline",
|
|
@@ -4311,7 +4773,7 @@ function Menu2({
|
|
|
4311
4773
|
const drawer = useSidebarDrawer();
|
|
4312
4774
|
const collapsed = mode === "inline" && drawer?.collapsed === true;
|
|
4313
4775
|
let previousGroup;
|
|
4314
|
-
return /* @__PURE__ */ (0,
|
|
4776
|
+
return /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(
|
|
4315
4777
|
"nav",
|
|
4316
4778
|
{
|
|
4317
4779
|
"data-slot": "menu",
|
|
@@ -4328,8 +4790,8 @@ function Menu2({
|
|
|
4328
4790
|
groupLabel = item.group;
|
|
4329
4791
|
}
|
|
4330
4792
|
previousGroup = item.group;
|
|
4331
|
-
return /* @__PURE__ */ (0,
|
|
4332
|
-
groupLabel !== void 0 && /* @__PURE__ */ (0,
|
|
4793
|
+
return /* @__PURE__ */ (0, import_jsx_runtime83.jsxs)("div", { "data-slot": "menu-group-entry", children: [
|
|
4794
|
+
groupLabel !== void 0 && /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(
|
|
4333
4795
|
"div",
|
|
4334
4796
|
{
|
|
4335
4797
|
"data-slot": "menu-group",
|
|
@@ -4337,7 +4799,7 @@ function Menu2({
|
|
|
4337
4799
|
children: groupLabel
|
|
4338
4800
|
}
|
|
4339
4801
|
),
|
|
4340
|
-
/* @__PURE__ */ (0,
|
|
4802
|
+
/* @__PURE__ */ (0, import_jsx_runtime83.jsx)(
|
|
4341
4803
|
MenuEntry,
|
|
4342
4804
|
{
|
|
4343
4805
|
item,
|
|
@@ -4362,7 +4824,7 @@ function MenuEntry({
|
|
|
4362
4824
|
collapsed = false
|
|
4363
4825
|
}) {
|
|
4364
4826
|
const selected = item.key === selectedKey;
|
|
4365
|
-
const button = /* @__PURE__ */ (0,
|
|
4827
|
+
const button = /* @__PURE__ */ (0, import_jsx_runtime83.jsxs)(
|
|
4366
4828
|
"button",
|
|
4367
4829
|
{
|
|
4368
4830
|
type: "button",
|
|
@@ -4373,7 +4835,7 @@ function MenuEntry({
|
|
|
4373
4835
|
"flex w-full items-center gap-2 rounded-md text-sm transition-colors",
|
|
4374
4836
|
mode === "horizontal" ? "px-3 py-2" : "px-3 py-2 text-left",
|
|
4375
4837
|
collapsed && "justify-center px-0",
|
|
4376
|
-
selected ? "bg-
|
|
4838
|
+
selected ? "bg-(--menu-active-background) font-medium text-(--menu-active-foreground)" : "cursor-pointer text-muted-foreground hover:bg-(--menu-hover-background)/50 hover:text-foreground",
|
|
4377
4839
|
item.disabled && "cursor-not-allowed opacity-50 hover:bg-transparent hover:text-muted-foreground"
|
|
4378
4840
|
),
|
|
4379
4841
|
style: mode === "inline" && depth > 0 && !collapsed ? { paddingLeft: 12 + depth * 16 } : void 0,
|
|
@@ -4383,10 +4845,10 @@ function MenuEntry({
|
|
|
4383
4845
|
}
|
|
4384
4846
|
},
|
|
4385
4847
|
children: [
|
|
4386
|
-
item.icon ? /* @__PURE__ */ (0,
|
|
4387
|
-
collapsed ? null : /* @__PURE__ */ (0,
|
|
4388
|
-
item.dot && !collapsed ? /* @__PURE__ */ (0,
|
|
4389
|
-
item.badge !== void 0 && !collapsed ? /* @__PURE__ */ (0,
|
|
4848
|
+
item.icon ? /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(Icon, { name: item.icon, size: "sm" }) : null,
|
|
4849
|
+
collapsed ? null : /* @__PURE__ */ (0, import_jsx_runtime83.jsx)("span", { className: "min-w-0 flex-1 truncate text-left", children: item.label }),
|
|
4850
|
+
item.dot && !collapsed ? /* @__PURE__ */ (0, import_jsx_runtime83.jsx)("span", { "data-slot": "menu-item-dot", className: "size-1.5 shrink-0 rounded-full bg-destructive" }) : null,
|
|
4851
|
+
item.badge !== void 0 && !collapsed ? /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(
|
|
4390
4852
|
"span",
|
|
4391
4853
|
{
|
|
4392
4854
|
"data-slot": "menu-item-badge",
|
|
@@ -4397,9 +4859,9 @@ function MenuEntry({
|
|
|
4397
4859
|
]
|
|
4398
4860
|
}
|
|
4399
4861
|
);
|
|
4400
|
-
return /* @__PURE__ */ (0,
|
|
4401
|
-
collapsed ? /* @__PURE__ */ (0,
|
|
4402
|
-
item.children?.map((child) => /* @__PURE__ */ (0,
|
|
4862
|
+
return /* @__PURE__ */ (0, import_jsx_runtime83.jsxs)("div", { "data-slot": "menu-entry", "data-key": item.key, children: [
|
|
4863
|
+
collapsed ? /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(RailTooltip, { label: item.label, children: button }) : button,
|
|
4864
|
+
item.children?.map((child) => /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(
|
|
4403
4865
|
MenuEntry,
|
|
4404
4866
|
{
|
|
4405
4867
|
item: child,
|
|
@@ -4417,17 +4879,17 @@ function MenuEntry({
|
|
|
4417
4879
|
// src/ui/menubar.tsx
|
|
4418
4880
|
var import_menu2 = require("@base-ui/react/menu");
|
|
4419
4881
|
var import_menubar = require("@base-ui/react/menubar");
|
|
4420
|
-
var
|
|
4882
|
+
var import_jsx_runtime84 = require("react/jsx-runtime");
|
|
4421
4883
|
function Menubar({
|
|
4422
4884
|
className,
|
|
4423
4885
|
...props
|
|
4424
4886
|
}) {
|
|
4425
|
-
return /* @__PURE__ */ (0,
|
|
4887
|
+
return /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(
|
|
4426
4888
|
import_menubar.Menubar,
|
|
4427
4889
|
{
|
|
4428
4890
|
"data-slot": "menubar",
|
|
4429
4891
|
className: cn(
|
|
4430
|
-
"flex h-9 items-center gap-1 rounded-md border border-border bg-
|
|
4892
|
+
"flex h-9 items-center gap-1 rounded-md border border-border bg-card p-1 shadow-xs",
|
|
4431
4893
|
className
|
|
4432
4894
|
),
|
|
4433
4895
|
...props
|
|
@@ -4437,18 +4899,18 @@ function Menubar({
|
|
|
4437
4899
|
function MenubarMenu({
|
|
4438
4900
|
...props
|
|
4439
4901
|
}) {
|
|
4440
|
-
return /* @__PURE__ */ (0,
|
|
4902
|
+
return /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(import_menu2.Menu.Root, { "data-slot": "menubar-menu", ...props });
|
|
4441
4903
|
}
|
|
4442
4904
|
function MenubarTrigger({
|
|
4443
4905
|
className,
|
|
4444
4906
|
...props
|
|
4445
4907
|
}) {
|
|
4446
|
-
return /* @__PURE__ */ (0,
|
|
4908
|
+
return /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(
|
|
4447
4909
|
import_menu2.Menu.Trigger,
|
|
4448
4910
|
{
|
|
4449
4911
|
"data-slot": "menubar-trigger",
|
|
4450
4912
|
className: cn(
|
|
4451
|
-
"flex cursor-pointer items-center rounded-sm px-2 py-1 text-sm font-medium outline-hidden select-none hover:bg-
|
|
4913
|
+
"flex cursor-pointer items-center rounded-sm px-2 py-1 text-sm font-medium outline-hidden select-none hover:bg-(--menu-hover-background) hover:text-(--menu-hover-foreground) focus:bg-(--menu-hover-background) focus:text-(--menu-hover-foreground) data-open:bg-(--menu-active-background) data-open:text-(--menu-active-foreground)",
|
|
4452
4914
|
className
|
|
4453
4915
|
),
|
|
4454
4916
|
...props
|
|
@@ -4462,19 +4924,19 @@ function MenubarContent({
|
|
|
4462
4924
|
sideOffset = 8,
|
|
4463
4925
|
...props
|
|
4464
4926
|
}) {
|
|
4465
|
-
return /* @__PURE__ */ (0,
|
|
4927
|
+
return /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(import_menu2.Menu.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(
|
|
4466
4928
|
import_menu2.Menu.Positioner,
|
|
4467
4929
|
{
|
|
4468
4930
|
align,
|
|
4469
4931
|
side,
|
|
4470
4932
|
sideOffset,
|
|
4471
4933
|
className: "isolate z-50",
|
|
4472
|
-
children: /* @__PURE__ */ (0,
|
|
4934
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(
|
|
4473
4935
|
import_menu2.Menu.Popup,
|
|
4474
4936
|
{
|
|
4475
4937
|
"data-slot": "menubar-content",
|
|
4476
4938
|
className: cn(
|
|
4477
|
-
"z-50 min-w-36 origin-(--transform-origin) overflow-hidden rounded-md border border-border bg-popover p-1 text-popover-foreground shadow-md duration-200 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95",
|
|
4939
|
+
"z-50 min-w-36 origin-(--transform-origin) overflow-hidden rounded-md border border-border bg-popover p-1 text-popover-foreground shadow-md shadow-(color:--shadow-color) duration-200 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95",
|
|
4478
4940
|
className
|
|
4479
4941
|
),
|
|
4480
4942
|
...props
|
|
@@ -4488,13 +4950,13 @@ function MenubarItem({
|
|
|
4488
4950
|
variant = "default",
|
|
4489
4951
|
...props
|
|
4490
4952
|
}) {
|
|
4491
|
-
return /* @__PURE__ */ (0,
|
|
4953
|
+
return /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(
|
|
4492
4954
|
import_menu2.Menu.Item,
|
|
4493
4955
|
{
|
|
4494
4956
|
"data-slot": "menubar-item",
|
|
4495
4957
|
"data-variant": variant,
|
|
4496
4958
|
className: cn(
|
|
4497
|
-
"relative flex cursor-pointer items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none focus:bg-
|
|
4959
|
+
"relative flex cursor-pointer items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none focus:bg-(--menu-hover-background) focus:text-(--menu-hover-foreground) data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
|
|
4498
4960
|
className
|
|
4499
4961
|
),
|
|
4500
4962
|
...props
|
|
@@ -4503,17 +4965,17 @@ function MenubarItem({
|
|
|
4503
4965
|
}
|
|
4504
4966
|
|
|
4505
4967
|
// src/components/components/Menubar/index.tsx
|
|
4506
|
-
var
|
|
4968
|
+
var import_jsx_runtime85 = require("react/jsx-runtime");
|
|
4507
4969
|
function Menubar2({ menus = [], onSelect, className, style }) {
|
|
4508
|
-
return /* @__PURE__ */ (0,
|
|
4509
|
-
/* @__PURE__ */ (0,
|
|
4510
|
-
/* @__PURE__ */ (0,
|
|
4970
|
+
return /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(Menubar, { className, style, children: menus.map((menu) => /* @__PURE__ */ (0, import_jsx_runtime85.jsxs)(MenubarMenu, { children: [
|
|
4971
|
+
/* @__PURE__ */ (0, import_jsx_runtime85.jsx)(MenubarTrigger, { children: menu.label }),
|
|
4972
|
+
/* @__PURE__ */ (0, import_jsx_runtime85.jsx)(MenubarContent, { children: menu.items.map((item) => /* @__PURE__ */ (0, import_jsx_runtime85.jsxs)(
|
|
4511
4973
|
MenubarItem,
|
|
4512
4974
|
{
|
|
4513
4975
|
disabled: item.disabled,
|
|
4514
4976
|
onClick: () => onSelect?.(item.value),
|
|
4515
4977
|
children: [
|
|
4516
|
-
item.icon ? /* @__PURE__ */ (0,
|
|
4978
|
+
item.icon ? /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(Icon, { name: item.icon, size: "sm" }) : null,
|
|
4517
4979
|
item.label
|
|
4518
4980
|
]
|
|
4519
4981
|
},
|
|
@@ -4524,15 +4986,15 @@ function Menubar2({ menus = [], onSelect, className, style }) {
|
|
|
4524
4986
|
|
|
4525
4987
|
// src/ui/navigation-menu.tsx
|
|
4526
4988
|
var import_navigation_menu = require("@base-ui/react/navigation-menu");
|
|
4527
|
-
var
|
|
4528
|
-
var
|
|
4529
|
-
var
|
|
4989
|
+
var import_lucide_react19 = require("lucide-react");
|
|
4990
|
+
var import_class_variance_authority6 = require("class-variance-authority");
|
|
4991
|
+
var import_jsx_runtime86 = require("react/jsx-runtime");
|
|
4530
4992
|
function NavigationMenu({
|
|
4531
4993
|
className,
|
|
4532
4994
|
children,
|
|
4533
4995
|
...props
|
|
4534
4996
|
}) {
|
|
4535
|
-
return /* @__PURE__ */ (0,
|
|
4997
|
+
return /* @__PURE__ */ (0, import_jsx_runtime86.jsxs)(
|
|
4536
4998
|
import_navigation_menu.NavigationMenu.Root,
|
|
4537
4999
|
{
|
|
4538
5000
|
"data-slot": "navigation-menu",
|
|
@@ -4540,7 +5002,7 @@ function NavigationMenu({
|
|
|
4540
5002
|
...props,
|
|
4541
5003
|
children: [
|
|
4542
5004
|
children,
|
|
4543
|
-
/* @__PURE__ */ (0,
|
|
5005
|
+
/* @__PURE__ */ (0, import_jsx_runtime86.jsx)(NavigationMenuViewport, {})
|
|
4544
5006
|
]
|
|
4545
5007
|
}
|
|
4546
5008
|
);
|
|
@@ -4549,7 +5011,7 @@ function NavigationMenuList({
|
|
|
4549
5011
|
className,
|
|
4550
5012
|
...props
|
|
4551
5013
|
}) {
|
|
4552
|
-
return /* @__PURE__ */ (0,
|
|
5014
|
+
return /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(
|
|
4553
5015
|
import_navigation_menu.NavigationMenu.List,
|
|
4554
5016
|
{
|
|
4555
5017
|
"data-slot": "navigation-menu-list",
|
|
@@ -4562,7 +5024,7 @@ function NavigationMenuItem({
|
|
|
4562
5024
|
className,
|
|
4563
5025
|
...props
|
|
4564
5026
|
}) {
|
|
4565
|
-
return /* @__PURE__ */ (0,
|
|
5027
|
+
return /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(
|
|
4566
5028
|
import_navigation_menu.NavigationMenu.Item,
|
|
4567
5029
|
{
|
|
4568
5030
|
"data-slot": "navigation-menu-item",
|
|
@@ -4571,15 +5033,15 @@ function NavigationMenuItem({
|
|
|
4571
5033
|
}
|
|
4572
5034
|
);
|
|
4573
5035
|
}
|
|
4574
|
-
var navigationMenuTriggerStyle = (0,
|
|
4575
|
-
"group/navigation-menu-trigger inline-flex h-9 w-max items-center justify-center rounded-md bg-
|
|
5036
|
+
var navigationMenuTriggerStyle = (0, import_class_variance_authority6.cva)(
|
|
5037
|
+
"group/navigation-menu-trigger inline-flex h-9 w-max items-center justify-center rounded-md bg-transparent px-4 py-2 text-sm font-medium transition-colors hover:bg-(--menu-hover-background) hover:text-(--menu-hover-foreground) focus:bg-(--menu-hover-background) focus:text-(--menu-hover-foreground) focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-none disabled:pointer-events-none disabled:opacity-50 data-open:bg-(--menu-active-background)/50 data-open:text-(--menu-active-foreground)"
|
|
4576
5038
|
);
|
|
4577
5039
|
function NavigationMenuTrigger({
|
|
4578
5040
|
className,
|
|
4579
5041
|
children,
|
|
4580
5042
|
...props
|
|
4581
5043
|
}) {
|
|
4582
|
-
return /* @__PURE__ */ (0,
|
|
5044
|
+
return /* @__PURE__ */ (0, import_jsx_runtime86.jsxs)(
|
|
4583
5045
|
import_navigation_menu.NavigationMenu.Trigger,
|
|
4584
5046
|
{
|
|
4585
5047
|
"data-slot": "navigation-menu-trigger",
|
|
@@ -4587,8 +5049,8 @@ function NavigationMenuTrigger({
|
|
|
4587
5049
|
...props,
|
|
4588
5050
|
children: [
|
|
4589
5051
|
children,
|
|
4590
|
-
/* @__PURE__ */ (0,
|
|
4591
|
-
|
|
5052
|
+
/* @__PURE__ */ (0, import_jsx_runtime86.jsx)(
|
|
5053
|
+
import_lucide_react19.ChevronDownIcon,
|
|
4592
5054
|
{
|
|
4593
5055
|
className: "relative top-px ml-1 size-3 transition-transform duration-200 group-data-open/navigation-menu-trigger:rotate-180",
|
|
4594
5056
|
"aria-hidden": "true"
|
|
@@ -4602,7 +5064,7 @@ function NavigationMenuContent({
|
|
|
4602
5064
|
className,
|
|
4603
5065
|
...props
|
|
4604
5066
|
}) {
|
|
4605
|
-
return /* @__PURE__ */ (0,
|
|
5067
|
+
return /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(
|
|
4606
5068
|
import_navigation_menu.NavigationMenu.Content,
|
|
4607
5069
|
{
|
|
4608
5070
|
"data-slot": "navigation-menu-content",
|
|
@@ -4615,21 +5077,21 @@ function NavigationMenuContent({
|
|
|
4615
5077
|
);
|
|
4616
5078
|
}
|
|
4617
5079
|
function NavigationMenuViewport({ className }) {
|
|
4618
|
-
return /* @__PURE__ */ (0,
|
|
5080
|
+
return /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(import_navigation_menu.NavigationMenu.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(
|
|
4619
5081
|
import_navigation_menu.NavigationMenu.Positioner,
|
|
4620
5082
|
{
|
|
4621
5083
|
side: "bottom",
|
|
4622
5084
|
align: "start",
|
|
4623
5085
|
className: "isolate z-50",
|
|
4624
|
-
children: /* @__PURE__ */ (0,
|
|
5086
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(
|
|
4625
5087
|
import_navigation_menu.NavigationMenu.Popup,
|
|
4626
5088
|
{
|
|
4627
5089
|
"data-slot": "navigation-menu-popup",
|
|
4628
5090
|
className: cn(
|
|
4629
|
-
"origin-(--transform-origin) overflow-hidden rounded-md border border-border bg-popover text-popover-foreground shadow-md duration-200 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95",
|
|
5091
|
+
"origin-(--transform-origin) overflow-hidden rounded-md border border-border bg-popover text-popover-foreground shadow-md shadow-(color:--shadow-color) duration-200 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95",
|
|
4630
5092
|
className
|
|
4631
5093
|
),
|
|
4632
|
-
children: /* @__PURE__ */ (0,
|
|
5094
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(import_navigation_menu.NavigationMenu.Viewport, { "data-slot": "navigation-menu-viewport" })
|
|
4633
5095
|
}
|
|
4634
5096
|
)
|
|
4635
5097
|
}
|
|
@@ -4639,12 +5101,12 @@ function NavigationMenuLink({
|
|
|
4639
5101
|
className,
|
|
4640
5102
|
...props
|
|
4641
5103
|
}) {
|
|
4642
|
-
return /* @__PURE__ */ (0,
|
|
5104
|
+
return /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(
|
|
4643
5105
|
import_navigation_menu.NavigationMenu.Link,
|
|
4644
5106
|
{
|
|
4645
5107
|
"data-slot": "navigation-menu-link",
|
|
4646
5108
|
className: cn(
|
|
4647
|
-
"flex flex-col gap-1 rounded-md p-2 text-sm transition-colors outline-none hover:bg-
|
|
5109
|
+
"flex flex-col gap-1 rounded-md p-2 text-sm transition-colors outline-none hover:bg-(--menu-hover-background) hover:text-(--menu-hover-foreground) focus:bg-(--menu-hover-background) focus:text-(--menu-hover-foreground) focus-visible:ring-[3px] focus-visible:ring-ring/50 data-active:bg-(--menu-active-background)/50 data-active:text-(--menu-active-foreground) [&_svg:not([class*='size-'])]:size-4",
|
|
4648
5110
|
className
|
|
4649
5111
|
),
|
|
4650
5112
|
...props
|
|
@@ -4653,33 +5115,33 @@ function NavigationMenuLink({
|
|
|
4653
5115
|
}
|
|
4654
5116
|
|
|
4655
5117
|
// src/components/components/NavigationMenu/index.tsx
|
|
4656
|
-
var
|
|
5118
|
+
var import_jsx_runtime87 = require("react/jsx-runtime");
|
|
4657
5119
|
function NavigationMenu2({ items = [], className, style }) {
|
|
4658
|
-
return /* @__PURE__ */ (0,
|
|
4659
|
-
/* @__PURE__ */ (0,
|
|
5120
|
+
return /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(NavigationMenu, { className, style, children: /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(NavigationMenuList, { children: items.map((item, index) => /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(NavigationMenuItem, { value: `item-${index}`, children: item.children && item.children.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime87.jsxs)(import_jsx_runtime87.Fragment, { children: [
|
|
5121
|
+
/* @__PURE__ */ (0, import_jsx_runtime87.jsxs)(
|
|
4660
5122
|
NavigationMenuTrigger,
|
|
4661
5123
|
{
|
|
4662
5124
|
className: item.icon !== void 0 ? "gap-2" : void 0,
|
|
4663
5125
|
children: [
|
|
4664
|
-
item.icon ? /* @__PURE__ */ (0,
|
|
5126
|
+
item.icon ? /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(Icon, { name: item.icon, size: "sm" }) : null,
|
|
4665
5127
|
item.label
|
|
4666
5128
|
]
|
|
4667
5129
|
}
|
|
4668
5130
|
),
|
|
4669
|
-
/* @__PURE__ */ (0,
|
|
4670
|
-
/* @__PURE__ */ (0,
|
|
5131
|
+
/* @__PURE__ */ (0, import_jsx_runtime87.jsx)(NavigationMenuContent, { children: /* @__PURE__ */ (0, import_jsx_runtime87.jsx)("ul", { className: "grid w-64 gap-1", children: item.children.map((child) => /* @__PURE__ */ (0, import_jsx_runtime87.jsx)("li", { children: /* @__PURE__ */ (0, import_jsx_runtime87.jsxs)(NavigationMenuLink, { href: child.href, children: [
|
|
5132
|
+
/* @__PURE__ */ (0, import_jsx_runtime87.jsxs)(
|
|
4671
5133
|
"span",
|
|
4672
5134
|
{
|
|
4673
5135
|
className: child.icon !== void 0 ? "flex items-center gap-2 font-medium" : "font-medium",
|
|
4674
5136
|
children: [
|
|
4675
|
-
child.icon ? /* @__PURE__ */ (0,
|
|
5137
|
+
child.icon ? /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(Icon, { name: child.icon, size: "sm" }) : null,
|
|
4676
5138
|
child.label
|
|
4677
5139
|
]
|
|
4678
5140
|
}
|
|
4679
5141
|
),
|
|
4680
|
-
child.description ? /* @__PURE__ */ (0,
|
|
5142
|
+
child.description ? /* @__PURE__ */ (0, import_jsx_runtime87.jsx)("span", { className: "text-muted-foreground", children: child.description }) : null
|
|
4681
5143
|
] }) }, child.href)) }) })
|
|
4682
|
-
] }) : /* @__PURE__ */ (0,
|
|
5144
|
+
] }) : /* @__PURE__ */ (0, import_jsx_runtime87.jsxs)(
|
|
4683
5145
|
NavigationMenuLink,
|
|
4684
5146
|
{
|
|
4685
5147
|
href: item.href,
|
|
@@ -4688,7 +5150,7 @@ function NavigationMenu2({ items = [], className, style }) {
|
|
|
4688
5150
|
item.icon !== void 0 && "gap-2"
|
|
4689
5151
|
),
|
|
4690
5152
|
children: [
|
|
4691
|
-
item.icon ? /* @__PURE__ */ (0,
|
|
5153
|
+
item.icon ? /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(Icon, { name: item.icon, size: "sm" }) : null,
|
|
4692
5154
|
item.label
|
|
4693
5155
|
]
|
|
4694
5156
|
}
|
|
@@ -4696,22 +5158,22 @@ function NavigationMenu2({ items = [], className, style }) {
|
|
|
4696
5158
|
}
|
|
4697
5159
|
|
|
4698
5160
|
// src/components/components/Page/index.tsx
|
|
4699
|
-
var
|
|
5161
|
+
var import_jsx_runtime88 = require("react/jsx-runtime");
|
|
4700
5162
|
function Page({ title, className, style, children }) {
|
|
4701
|
-
return /* @__PURE__ */ (0,
|
|
4702
|
-
title ? /* @__PURE__ */ (0,
|
|
4703
|
-
/* @__PURE__ */ (0,
|
|
5163
|
+
return /* @__PURE__ */ (0, import_jsx_runtime88.jsxs)("div", { "data-slot": "page", className: cn("p-6", className), style, children: [
|
|
5164
|
+
title ? /* @__PURE__ */ (0, import_jsx_runtime88.jsx)("h2", { "data-slot": "page-title", className: "mb-5 text-xl font-semibold", children: title }) : null,
|
|
5165
|
+
/* @__PURE__ */ (0, import_jsx_runtime88.jsx)("div", { "data-slot": "page-content", className: "space-y-5", children })
|
|
4704
5166
|
] });
|
|
4705
5167
|
}
|
|
4706
5168
|
|
|
4707
5169
|
// src/components/components/Pagination/index.tsx
|
|
4708
|
-
var
|
|
5170
|
+
var import_react18 = require("react");
|
|
4709
5171
|
|
|
4710
5172
|
// src/ui/pagination.tsx
|
|
4711
|
-
var
|
|
4712
|
-
var
|
|
5173
|
+
var import_lucide_react20 = require("lucide-react");
|
|
5174
|
+
var import_jsx_runtime89 = require("react/jsx-runtime");
|
|
4713
5175
|
function Pagination({ className, ...props }) {
|
|
4714
|
-
return /* @__PURE__ */ (0,
|
|
5176
|
+
return /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(
|
|
4715
5177
|
"nav",
|
|
4716
5178
|
{
|
|
4717
5179
|
role: "navigation",
|
|
@@ -4723,7 +5185,7 @@ function Pagination({ className, ...props }) {
|
|
|
4723
5185
|
);
|
|
4724
5186
|
}
|
|
4725
5187
|
function PaginationContent({ className, ...props }) {
|
|
4726
|
-
return /* @__PURE__ */ (0,
|
|
5188
|
+
return /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(
|
|
4727
5189
|
"ul",
|
|
4728
5190
|
{
|
|
4729
5191
|
"data-slot": "pagination-content",
|
|
@@ -4733,7 +5195,7 @@ function PaginationContent({ className, ...props }) {
|
|
|
4733
5195
|
);
|
|
4734
5196
|
}
|
|
4735
5197
|
function PaginationItem({ ...props }) {
|
|
4736
|
-
return /* @__PURE__ */ (0,
|
|
5198
|
+
return /* @__PURE__ */ (0, import_jsx_runtime89.jsx)("li", { "data-slot": "pagination-item", ...props });
|
|
4737
5199
|
}
|
|
4738
5200
|
function PaginationLink({
|
|
4739
5201
|
className,
|
|
@@ -4741,7 +5203,7 @@ function PaginationLink({
|
|
|
4741
5203
|
disabled,
|
|
4742
5204
|
...props
|
|
4743
5205
|
}) {
|
|
4744
|
-
return /* @__PURE__ */ (0,
|
|
5206
|
+
return /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(
|
|
4745
5207
|
"a",
|
|
4746
5208
|
{
|
|
4747
5209
|
"aria-current": isActive ? "page" : void 0,
|
|
@@ -4753,6 +5215,7 @@ function PaginationLink({
|
|
|
4753
5215
|
buttonVariants({
|
|
4754
5216
|
variant: isActive ? "outline" : "ghost"
|
|
4755
5217
|
}),
|
|
5218
|
+
isActive && "border-(color:--pagination-active-border) bg-(--pagination-active-background) rounded-(--pagination-active-radius)",
|
|
4756
5219
|
disabled && "pointer-events-none opacity-50",
|
|
4757
5220
|
className
|
|
4758
5221
|
),
|
|
@@ -4764,15 +5227,15 @@ function PaginationPrevious({
|
|
|
4764
5227
|
className,
|
|
4765
5228
|
...props
|
|
4766
5229
|
}) {
|
|
4767
|
-
return /* @__PURE__ */ (0,
|
|
5230
|
+
return /* @__PURE__ */ (0, import_jsx_runtime89.jsxs)(
|
|
4768
5231
|
PaginationLink,
|
|
4769
5232
|
{
|
|
4770
5233
|
"aria-label": "Go to previous page",
|
|
4771
5234
|
className: cn("gap-1 px-2.5 sm:pl-2.5", className),
|
|
4772
5235
|
...props,
|
|
4773
5236
|
children: [
|
|
4774
|
-
/* @__PURE__ */ (0,
|
|
4775
|
-
/* @__PURE__ */ (0,
|
|
5237
|
+
/* @__PURE__ */ (0, import_jsx_runtime89.jsx)(import_lucide_react20.ChevronLeftIcon, {}),
|
|
5238
|
+
/* @__PURE__ */ (0, import_jsx_runtime89.jsx)("span", { className: "hidden sm:block", children: "Previous" })
|
|
4776
5239
|
]
|
|
4777
5240
|
}
|
|
4778
5241
|
);
|
|
@@ -4781,21 +5244,21 @@ function PaginationNext({
|
|
|
4781
5244
|
className,
|
|
4782
5245
|
...props
|
|
4783
5246
|
}) {
|
|
4784
|
-
return /* @__PURE__ */ (0,
|
|
5247
|
+
return /* @__PURE__ */ (0, import_jsx_runtime89.jsxs)(
|
|
4785
5248
|
PaginationLink,
|
|
4786
5249
|
{
|
|
4787
5250
|
"aria-label": "Go to next page",
|
|
4788
5251
|
className: cn("gap-1 px-2.5 sm:pr-2.5", className),
|
|
4789
5252
|
...props,
|
|
4790
5253
|
children: [
|
|
4791
|
-
/* @__PURE__ */ (0,
|
|
4792
|
-
/* @__PURE__ */ (0,
|
|
5254
|
+
/* @__PURE__ */ (0, import_jsx_runtime89.jsx)("span", { className: "hidden sm:block", children: "Next" }),
|
|
5255
|
+
/* @__PURE__ */ (0, import_jsx_runtime89.jsx)(import_lucide_react20.ChevronRightIcon, {})
|
|
4793
5256
|
]
|
|
4794
5257
|
}
|
|
4795
5258
|
);
|
|
4796
5259
|
}
|
|
4797
5260
|
function PaginationEllipsis({ className, ...props }) {
|
|
4798
|
-
return /* @__PURE__ */ (0,
|
|
5261
|
+
return /* @__PURE__ */ (0, import_jsx_runtime89.jsxs)(
|
|
4799
5262
|
"span",
|
|
4800
5263
|
{
|
|
4801
5264
|
"aria-hidden": true,
|
|
@@ -4803,15 +5266,15 @@ function PaginationEllipsis({ className, ...props }) {
|
|
|
4803
5266
|
className: cn("flex size-9 items-center justify-center", className),
|
|
4804
5267
|
...props,
|
|
4805
5268
|
children: [
|
|
4806
|
-
/* @__PURE__ */ (0,
|
|
4807
|
-
/* @__PURE__ */ (0,
|
|
5269
|
+
/* @__PURE__ */ (0, import_jsx_runtime89.jsx)(import_lucide_react20.MoreHorizontalIcon, { className: "size-4" }),
|
|
5270
|
+
/* @__PURE__ */ (0, import_jsx_runtime89.jsx)("span", { className: "sr-only", children: "More pages" })
|
|
4808
5271
|
]
|
|
4809
5272
|
}
|
|
4810
5273
|
);
|
|
4811
5274
|
}
|
|
4812
5275
|
|
|
4813
5276
|
// src/components/components/Pagination/index.tsx
|
|
4814
|
-
var
|
|
5277
|
+
var import_jsx_runtime90 = require("react/jsx-runtime");
|
|
4815
5278
|
function pageItems(current, count) {
|
|
4816
5279
|
if (count <= 7) {
|
|
4817
5280
|
return Array.from({ length: count }, (_, i) => i + 1);
|
|
@@ -4832,7 +5295,7 @@ function Pagination2({
|
|
|
4832
5295
|
className,
|
|
4833
5296
|
style
|
|
4834
5297
|
}) {
|
|
4835
|
-
const [innerPage, setInnerPage] = (0,
|
|
5298
|
+
const [innerPage, setInnerPage] = (0, import_react18.useState)(1);
|
|
4836
5299
|
const pageCount = Math.max(1, Math.ceil(total / Math.max(1, pageSize)));
|
|
4837
5300
|
const current = Math.min(Math.max(1, page ?? innerPage), pageCount);
|
|
4838
5301
|
const goTo = (next) => {
|
|
@@ -4845,8 +5308,8 @@ function Pagination2({
|
|
|
4845
5308
|
}
|
|
4846
5309
|
onChange?.(target);
|
|
4847
5310
|
};
|
|
4848
|
-
return /* @__PURE__ */ (0,
|
|
4849
|
-
/* @__PURE__ */ (0,
|
|
5311
|
+
return /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(Pagination, { className, style, children: /* @__PURE__ */ (0, import_jsx_runtime90.jsxs)(PaginationContent, { children: [
|
|
5312
|
+
/* @__PURE__ */ (0, import_jsx_runtime90.jsx)(PaginationItem, { children: /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(
|
|
4850
5313
|
PaginationPrevious,
|
|
4851
5314
|
{
|
|
4852
5315
|
href: "#",
|
|
@@ -4857,7 +5320,7 @@ function Pagination2({
|
|
|
4857
5320
|
}
|
|
4858
5321
|
}
|
|
4859
5322
|
) }),
|
|
4860
|
-
pageItems(current, pageCount).map((item, index) => /* @__PURE__ */ (0,
|
|
5323
|
+
pageItems(current, pageCount).map((item, index) => /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(PaginationItem, { children: item === "ellipsis" ? /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(PaginationEllipsis, {}) : /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(
|
|
4861
5324
|
PaginationLink,
|
|
4862
5325
|
{
|
|
4863
5326
|
href: "#",
|
|
@@ -4869,7 +5332,7 @@ function Pagination2({
|
|
|
4869
5332
|
children: item
|
|
4870
5333
|
}
|
|
4871
5334
|
) }, item === "ellipsis" ? `ellipsis-${index}` : item)),
|
|
4872
|
-
/* @__PURE__ */ (0,
|
|
5335
|
+
/* @__PURE__ */ (0, import_jsx_runtime90.jsx)(PaginationItem, { children: /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(
|
|
4873
5336
|
PaginationNext,
|
|
4874
5337
|
{
|
|
4875
5338
|
href: "#",
|
|
@@ -4885,14 +5348,14 @@ function Pagination2({
|
|
|
4885
5348
|
|
|
4886
5349
|
// src/components/components/Popover/index.tsx
|
|
4887
5350
|
var import_runtime14 = require("@pactor-app/runtime");
|
|
4888
|
-
var
|
|
5351
|
+
var import_jsx_runtime91 = require("react/jsx-runtime");
|
|
4889
5352
|
function isDslNode3(value) {
|
|
4890
5353
|
return typeof value === "object" && value !== null && typeof value.type === "string";
|
|
4891
5354
|
}
|
|
4892
5355
|
function Popover2({ content, children, className, style }) {
|
|
4893
5356
|
const { renderChildren } = (0, import_runtime14.useRenderer)();
|
|
4894
|
-
return /* @__PURE__ */ (0,
|
|
4895
|
-
/* @__PURE__ */ (0,
|
|
5357
|
+
return /* @__PURE__ */ (0, import_jsx_runtime91.jsxs)(Popover, { children: [
|
|
5358
|
+
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)(
|
|
4896
5359
|
PopoverTrigger,
|
|
4897
5360
|
{
|
|
4898
5361
|
nativeButton: false,
|
|
@@ -4900,15 +5363,15 @@ function Popover2({ content, children, className, style }) {
|
|
|
4900
5363
|
children
|
|
4901
5364
|
}
|
|
4902
5365
|
),
|
|
4903
|
-
/* @__PURE__ */ (0,
|
|
5366
|
+
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)(PopoverContent, { className, style, children: isDslNode3(content) ? renderChildren([content]) : content })
|
|
4904
5367
|
] });
|
|
4905
5368
|
}
|
|
4906
5369
|
|
|
4907
5370
|
// src/ui/progress.tsx
|
|
4908
5371
|
var import_progress = require("@base-ui/react/progress");
|
|
4909
|
-
var
|
|
5372
|
+
var import_jsx_runtime92 = require("react/jsx-runtime");
|
|
4910
5373
|
function Progress({ className, ...props }) {
|
|
4911
|
-
return /* @__PURE__ */ (0,
|
|
5374
|
+
return /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(
|
|
4912
5375
|
import_progress.Progress.Root,
|
|
4913
5376
|
{
|
|
4914
5377
|
"data-slot": "progress",
|
|
@@ -4918,11 +5381,11 @@ function Progress({ className, ...props }) {
|
|
|
4918
5381
|
);
|
|
4919
5382
|
}
|
|
4920
5383
|
function ProgressTrack({ className, ...props }) {
|
|
4921
|
-
return /* @__PURE__ */ (0,
|
|
5384
|
+
return /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(
|
|
4922
5385
|
import_progress.Progress.Track,
|
|
4923
5386
|
{
|
|
4924
5387
|
"data-slot": "progress-track",
|
|
4925
|
-
className: cn("h-2 w-full overflow-hidden rounded-full bg-
|
|
5388
|
+
className: cn("h-2 w-full overflow-hidden rounded-full bg-(--progress-track)", className),
|
|
4926
5389
|
...props
|
|
4927
5390
|
}
|
|
4928
5391
|
);
|
|
@@ -4931,12 +5394,12 @@ function ProgressIndicator({
|
|
|
4931
5394
|
className,
|
|
4932
5395
|
...props
|
|
4933
5396
|
}) {
|
|
4934
|
-
return /* @__PURE__ */ (0,
|
|
5397
|
+
return /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(
|
|
4935
5398
|
import_progress.Progress.Indicator,
|
|
4936
5399
|
{
|
|
4937
5400
|
"data-slot": "progress-indicator",
|
|
4938
5401
|
className: cn(
|
|
4939
|
-
"h-full bg-
|
|
5402
|
+
"h-full bg-(--progress-indicator) transition-[width] duration-300 ease-in-out",
|
|
4940
5403
|
className
|
|
4941
5404
|
),
|
|
4942
5405
|
...props
|
|
@@ -4945,21 +5408,21 @@ function ProgressIndicator({
|
|
|
4945
5408
|
}
|
|
4946
5409
|
|
|
4947
5410
|
// src/components/components/Progress/index.tsx
|
|
4948
|
-
var
|
|
5411
|
+
var import_jsx_runtime93 = require("react/jsx-runtime");
|
|
4949
5412
|
function Progress2({ value, className, style }) {
|
|
4950
5413
|
const resolved = typeof value === "number" && Number.isFinite(value) ? Math.min(100, Math.max(0, value)) : null;
|
|
4951
|
-
return /* @__PURE__ */ (0,
|
|
5414
|
+
return /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(Progress, { value: resolved, className, style, children: /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(ProgressTrack, { children: /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(ProgressIndicator, {}) }) });
|
|
4952
5415
|
}
|
|
4953
5416
|
|
|
4954
5417
|
// src/components/components/RadioGroup/index.tsx
|
|
4955
|
-
var
|
|
5418
|
+
var import_react19 = require("react");
|
|
4956
5419
|
|
|
4957
5420
|
// src/ui/radio-group.tsx
|
|
4958
5421
|
var import_radio = require("@base-ui/react/radio");
|
|
4959
5422
|
var import_radio_group = require("@base-ui/react/radio-group");
|
|
4960
|
-
var
|
|
5423
|
+
var import_jsx_runtime94 = require("react/jsx-runtime");
|
|
4961
5424
|
function RadioGroup({ className, ...props }) {
|
|
4962
|
-
return /* @__PURE__ */ (0,
|
|
5425
|
+
return /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(
|
|
4963
5426
|
import_radio_group.RadioGroup,
|
|
4964
5427
|
{
|
|
4965
5428
|
"data-slot": "radio-group",
|
|
@@ -4969,21 +5432,21 @@ function RadioGroup({ className, ...props }) {
|
|
|
4969
5432
|
);
|
|
4970
5433
|
}
|
|
4971
5434
|
function RadioGroupItem({ className, ...props }) {
|
|
4972
|
-
return /* @__PURE__ */ (0,
|
|
5435
|
+
return /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(
|
|
4973
5436
|
import_radio.Radio.Root,
|
|
4974
5437
|
{
|
|
4975
5438
|
"data-slot": "radio-group-item",
|
|
4976
5439
|
className: cn(
|
|
4977
|
-
"aspect-square size-4 shrink-0 cursor-pointer rounded-full border border-
|
|
5440
|
+
"aspect-square size-4 shrink-0 cursor-pointer inline-flex items-center justify-center rounded-full border border-(color:--radio-border) shadow-xs transition-colors outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 data-checked:border-(color:--radio-checked)",
|
|
4978
5441
|
className
|
|
4979
5442
|
),
|
|
4980
5443
|
...props,
|
|
4981
|
-
children: /* @__PURE__ */ (0,
|
|
5444
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(
|
|
4982
5445
|
import_radio.Radio.Indicator,
|
|
4983
5446
|
{
|
|
4984
5447
|
"data-slot": "radio-group-indicator",
|
|
4985
5448
|
className: "flex items-center justify-center",
|
|
4986
|
-
children: /* @__PURE__ */ (0,
|
|
5449
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)("span", { className: "size-2 rounded-full bg-(--radio-checked)" })
|
|
4987
5450
|
}
|
|
4988
5451
|
)
|
|
4989
5452
|
}
|
|
@@ -4991,7 +5454,7 @@ function RadioGroupItem({ className, ...props }) {
|
|
|
4991
5454
|
}
|
|
4992
5455
|
|
|
4993
5456
|
// src/components/components/Form/form-item.tsx
|
|
4994
|
-
var
|
|
5457
|
+
var import_jsx_runtime95 = require("react/jsx-runtime");
|
|
4995
5458
|
function FieldShell({
|
|
4996
5459
|
layout,
|
|
4997
5460
|
label,
|
|
@@ -5001,14 +5464,14 @@ function FieldShell({
|
|
|
5001
5464
|
style,
|
|
5002
5465
|
children
|
|
5003
5466
|
}) {
|
|
5004
|
-
return /* @__PURE__ */ (0,
|
|
5467
|
+
return /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)(
|
|
5005
5468
|
"div",
|
|
5006
5469
|
{
|
|
5007
5470
|
"data-slot": "form-item",
|
|
5008
5471
|
className: cn(formItemClass(layout), className),
|
|
5009
5472
|
style,
|
|
5010
5473
|
children: [
|
|
5011
|
-
label ? /* @__PURE__ */ (0,
|
|
5474
|
+
label ? /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(
|
|
5012
5475
|
"label",
|
|
5013
5476
|
{
|
|
5014
5477
|
htmlFor,
|
|
@@ -5017,14 +5480,14 @@ function FieldShell({
|
|
|
5017
5480
|
}
|
|
5018
5481
|
) : null,
|
|
5019
5482
|
children,
|
|
5020
|
-
error ? /* @__PURE__ */ (0,
|
|
5483
|
+
error ? /* @__PURE__ */ (0, import_jsx_runtime95.jsx)("div", { "data-slot": "form-error", className: "text-sm text-destructive", children: error }) : null
|
|
5021
5484
|
]
|
|
5022
5485
|
}
|
|
5023
5486
|
);
|
|
5024
5487
|
}
|
|
5025
5488
|
|
|
5026
5489
|
// src/components/components/RadioGroup/index.tsx
|
|
5027
|
-
var
|
|
5490
|
+
var import_jsx_runtime96 = require("react/jsx-runtime");
|
|
5028
5491
|
function RadioGroup2({
|
|
5029
5492
|
name,
|
|
5030
5493
|
label,
|
|
@@ -5037,9 +5500,9 @@ function RadioGroup2({
|
|
|
5037
5500
|
style
|
|
5038
5501
|
}) {
|
|
5039
5502
|
const form = useFormContext();
|
|
5040
|
-
const controlId = (0,
|
|
5503
|
+
const controlId = (0, import_react19.useId)();
|
|
5041
5504
|
const inForm = form?.inForm === true && typeof name === "string" && name !== "";
|
|
5042
|
-
(0,
|
|
5505
|
+
(0, import_react19.useEffect)(() => {
|
|
5043
5506
|
if (inForm && form && name) {
|
|
5044
5507
|
form.registerField(name, rules, value);
|
|
5045
5508
|
return () => form.unregisterField(name);
|
|
@@ -5054,7 +5517,7 @@ function RadioGroup2({
|
|
|
5054
5517
|
onChange?.(next);
|
|
5055
5518
|
};
|
|
5056
5519
|
const groupValue = current ?? "";
|
|
5057
|
-
const group = /* @__PURE__ */ (0,
|
|
5520
|
+
const group = /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(
|
|
5058
5521
|
RadioGroup,
|
|
5059
5522
|
{
|
|
5060
5523
|
value: groupValue,
|
|
@@ -5065,8 +5528,8 @@ function RadioGroup2({
|
|
|
5065
5528
|
style: inForm ? void 0 : style,
|
|
5066
5529
|
children: options.map((option, index) => {
|
|
5067
5530
|
const optionId = `${controlId}-${index}`;
|
|
5068
|
-
return /* @__PURE__ */ (0,
|
|
5069
|
-
/* @__PURE__ */ (0,
|
|
5531
|
+
return /* @__PURE__ */ (0, import_jsx_runtime96.jsxs)("span", { className: "inline-flex items-center gap-2", children: [
|
|
5532
|
+
/* @__PURE__ */ (0, import_jsx_runtime96.jsx)(
|
|
5070
5533
|
RadioGroupItem,
|
|
5071
5534
|
{
|
|
5072
5535
|
id: optionId,
|
|
@@ -5074,13 +5537,13 @@ function RadioGroup2({
|
|
|
5074
5537
|
disabled: option.disabled
|
|
5075
5538
|
}
|
|
5076
5539
|
),
|
|
5077
|
-
/* @__PURE__ */ (0,
|
|
5540
|
+
/* @__PURE__ */ (0, import_jsx_runtime96.jsx)("label", { htmlFor: optionId, className: "text-sm leading-none font-medium", children: option.label })
|
|
5078
5541
|
] }, String(option.value));
|
|
5079
5542
|
})
|
|
5080
5543
|
}
|
|
5081
5544
|
);
|
|
5082
5545
|
if (inForm && form && name) {
|
|
5083
|
-
return /* @__PURE__ */ (0,
|
|
5546
|
+
return /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(
|
|
5084
5547
|
FieldShell,
|
|
5085
5548
|
{
|
|
5086
5549
|
layout: form.layout,
|
|
@@ -5097,17 +5560,17 @@ function RadioGroup2({
|
|
|
5097
5560
|
|
|
5098
5561
|
// src/components/components/Resizable/index.tsx
|
|
5099
5562
|
var import_runtime15 = require("@pactor-app/runtime");
|
|
5100
|
-
var
|
|
5563
|
+
var import_react20 = require("react");
|
|
5101
5564
|
|
|
5102
5565
|
// src/ui/resizable.tsx
|
|
5103
|
-
var
|
|
5566
|
+
var import_lucide_react21 = require("lucide-react");
|
|
5104
5567
|
var import_react_resizable_panels = require("react-resizable-panels");
|
|
5105
|
-
var
|
|
5568
|
+
var import_jsx_runtime97 = require("react/jsx-runtime");
|
|
5106
5569
|
function PanelGroup({
|
|
5107
5570
|
className,
|
|
5108
5571
|
...props
|
|
5109
5572
|
}) {
|
|
5110
|
-
return /* @__PURE__ */ (0,
|
|
5573
|
+
return /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(
|
|
5111
5574
|
import_react_resizable_panels.Group,
|
|
5112
5575
|
{
|
|
5113
5576
|
"data-slot": "resizable-panel-group",
|
|
@@ -5120,14 +5583,14 @@ function PanelGroup({
|
|
|
5120
5583
|
);
|
|
5121
5584
|
}
|
|
5122
5585
|
function Panel({ ...props }) {
|
|
5123
|
-
return /* @__PURE__ */ (0,
|
|
5586
|
+
return /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(import_react_resizable_panels.Panel, { "data-slot": "resizable-panel", ...props });
|
|
5124
5587
|
}
|
|
5125
5588
|
function ResizableHandle({
|
|
5126
5589
|
withHandle,
|
|
5127
5590
|
className,
|
|
5128
5591
|
...props
|
|
5129
5592
|
}) {
|
|
5130
|
-
return /* @__PURE__ */ (0,
|
|
5593
|
+
return /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(
|
|
5131
5594
|
import_react_resizable_panels.Separator,
|
|
5132
5595
|
{
|
|
5133
5596
|
"data-slot": "resizable-handle",
|
|
@@ -5136,13 +5599,13 @@ function ResizableHandle({
|
|
|
5136
5599
|
className
|
|
5137
5600
|
),
|
|
5138
5601
|
...props,
|
|
5139
|
-
children: withHandle ? /* @__PURE__ */ (0,
|
|
5602
|
+
children: withHandle ? /* @__PURE__ */ (0, import_jsx_runtime97.jsx)("div", { className: "z-10 flex h-4 w-3 items-center justify-center rounded-xs border border-border bg-border", children: /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(import_lucide_react21.GripVerticalIcon, { className: "size-2.5" }) }) : null
|
|
5140
5603
|
}
|
|
5141
5604
|
);
|
|
5142
5605
|
}
|
|
5143
5606
|
|
|
5144
5607
|
// src/components/components/Resizable/index.tsx
|
|
5145
|
-
var
|
|
5608
|
+
var import_jsx_runtime98 = require("react/jsx-runtime");
|
|
5146
5609
|
function Resizable({
|
|
5147
5610
|
panels = [],
|
|
5148
5611
|
direction = "horizontal",
|
|
@@ -5150,12 +5613,14 @@ function Resizable({
|
|
|
5150
5613
|
style
|
|
5151
5614
|
}) {
|
|
5152
5615
|
const { renderChildren } = (0, import_runtime15.useRenderer)();
|
|
5153
|
-
return /* @__PURE__ */ (0,
|
|
5154
|
-
index > 0 ? /* @__PURE__ */ (0,
|
|
5155
|
-
/* @__PURE__ */ (0,
|
|
5616
|
+
return /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(PanelGroup, { orientation: direction, className, style, children: panels.map((panel, index) => /* @__PURE__ */ (0, import_jsx_runtime98.jsxs)(import_react20.Fragment, { children: [
|
|
5617
|
+
index > 0 ? /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(ResizableHandle, { withHandle: true }) : null,
|
|
5618
|
+
/* @__PURE__ */ (0, import_jsx_runtime98.jsx)(
|
|
5156
5619
|
Panel,
|
|
5157
5620
|
{
|
|
5158
|
-
defaultSize: typeof panel.defaultSize === "number" ? `${panel.defaultSize}%` : void 0,
|
|
5621
|
+
defaultSize: typeof panel.defaultSizePx === "number" ? `${panel.defaultSizePx}px` : typeof panel.defaultSize === "number" ? `${panel.defaultSize}%` : void 0,
|
|
5622
|
+
minSize: typeof panel.minSizePx === "number" ? `${panel.minSizePx}px` : void 0,
|
|
5623
|
+
maxSize: typeof panel.maxSizePx === "number" ? `${panel.maxSizePx}px` : void 0,
|
|
5159
5624
|
children: renderChildren(panel.children)
|
|
5160
5625
|
}
|
|
5161
5626
|
)
|
|
@@ -5164,20 +5629,20 @@ function Resizable({
|
|
|
5164
5629
|
|
|
5165
5630
|
// src/ui/scroll-area.tsx
|
|
5166
5631
|
var import_scroll_area = require("@base-ui/react/scroll-area");
|
|
5167
|
-
var
|
|
5632
|
+
var import_jsx_runtime99 = require("react/jsx-runtime");
|
|
5168
5633
|
function ScrollArea({
|
|
5169
5634
|
className,
|
|
5170
5635
|
children,
|
|
5171
5636
|
...props
|
|
5172
5637
|
}) {
|
|
5173
|
-
return /* @__PURE__ */ (0,
|
|
5638
|
+
return /* @__PURE__ */ (0, import_jsx_runtime99.jsxs)(
|
|
5174
5639
|
import_scroll_area.ScrollArea.Root,
|
|
5175
5640
|
{
|
|
5176
5641
|
"data-slot": "scroll-area",
|
|
5177
5642
|
className: cn("relative overflow-hidden", className),
|
|
5178
5643
|
...props,
|
|
5179
5644
|
children: [
|
|
5180
|
-
/* @__PURE__ */ (0,
|
|
5645
|
+
/* @__PURE__ */ (0, import_jsx_runtime99.jsx)(
|
|
5181
5646
|
import_scroll_area.ScrollArea.Viewport,
|
|
5182
5647
|
{
|
|
5183
5648
|
"data-slot": "scroll-area-viewport",
|
|
@@ -5185,8 +5650,8 @@ function ScrollArea({
|
|
|
5185
5650
|
children
|
|
5186
5651
|
}
|
|
5187
5652
|
),
|
|
5188
|
-
/* @__PURE__ */ (0,
|
|
5189
|
-
/* @__PURE__ */ (0,
|
|
5653
|
+
/* @__PURE__ */ (0, import_jsx_runtime99.jsx)(ScrollBar, {}),
|
|
5654
|
+
/* @__PURE__ */ (0, import_jsx_runtime99.jsx)(import_scroll_area.ScrollArea.Corner, {})
|
|
5190
5655
|
]
|
|
5191
5656
|
}
|
|
5192
5657
|
);
|
|
@@ -5196,7 +5661,7 @@ function ScrollBar({
|
|
|
5196
5661
|
orientation = "vertical",
|
|
5197
5662
|
...props
|
|
5198
5663
|
}) {
|
|
5199
|
-
return /* @__PURE__ */ (0,
|
|
5664
|
+
return /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(
|
|
5200
5665
|
import_scroll_area.ScrollArea.Scrollbar,
|
|
5201
5666
|
{
|
|
5202
5667
|
"data-slot": "scroll-area-scrollbar",
|
|
@@ -5208,7 +5673,7 @@ function ScrollBar({
|
|
|
5208
5673
|
className
|
|
5209
5674
|
),
|
|
5210
5675
|
...props,
|
|
5211
|
-
children: /* @__PURE__ */ (0,
|
|
5676
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(
|
|
5212
5677
|
import_scroll_area.ScrollArea.Thumb,
|
|
5213
5678
|
{
|
|
5214
5679
|
"data-slot": "scroll-area-thumb",
|
|
@@ -5220,7 +5685,7 @@ function ScrollBar({
|
|
|
5220
5685
|
}
|
|
5221
5686
|
|
|
5222
5687
|
// src/components/components/ScrollArea/index.tsx
|
|
5223
|
-
var
|
|
5688
|
+
var import_jsx_runtime100 = require("react/jsx-runtime");
|
|
5224
5689
|
function ScrollArea2({
|
|
5225
5690
|
maxHeight,
|
|
5226
5691
|
maxWidth,
|
|
@@ -5228,7 +5693,7 @@ function ScrollArea2({
|
|
|
5228
5693
|
style,
|
|
5229
5694
|
children
|
|
5230
5695
|
}) {
|
|
5231
|
-
return /* @__PURE__ */ (0,
|
|
5696
|
+
return /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(
|
|
5232
5697
|
ScrollArea,
|
|
5233
5698
|
{
|
|
5234
5699
|
className,
|
|
@@ -5240,17 +5705,17 @@ function ScrollArea2({
|
|
|
5240
5705
|
|
|
5241
5706
|
// src/components/components/Select/index.tsx
|
|
5242
5707
|
var import_runtime16 = require("@pactor-app/runtime");
|
|
5243
|
-
var
|
|
5708
|
+
var import_react21 = require("react");
|
|
5244
5709
|
|
|
5245
5710
|
// src/ui/select.tsx
|
|
5246
5711
|
var import_select = require("@base-ui/react/select");
|
|
5247
|
-
var
|
|
5248
|
-
var
|
|
5712
|
+
var import_lucide_react22 = require("lucide-react");
|
|
5713
|
+
var import_jsx_runtime101 = require("react/jsx-runtime");
|
|
5249
5714
|
var Select = import_select.Select.Root;
|
|
5250
5715
|
function SelectValue({
|
|
5251
5716
|
...props
|
|
5252
5717
|
}) {
|
|
5253
|
-
return /* @__PURE__ */ (0,
|
|
5718
|
+
return /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(import_select.Select.Value, { "data-slot": "select-value", ...props });
|
|
5254
5719
|
}
|
|
5255
5720
|
function SelectTrigger({
|
|
5256
5721
|
className,
|
|
@@ -5258,7 +5723,7 @@ function SelectTrigger({
|
|
|
5258
5723
|
children,
|
|
5259
5724
|
...props
|
|
5260
5725
|
}) {
|
|
5261
|
-
return /* @__PURE__ */ (0,
|
|
5726
|
+
return /* @__PURE__ */ (0, import_jsx_runtime101.jsxs)(
|
|
5262
5727
|
import_select.Select.Trigger,
|
|
5263
5728
|
{
|
|
5264
5729
|
"data-slot": "select-trigger",
|
|
@@ -5270,10 +5735,10 @@ function SelectTrigger({
|
|
|
5270
5735
|
...props,
|
|
5271
5736
|
children: [
|
|
5272
5737
|
children,
|
|
5273
|
-
/* @__PURE__ */ (0,
|
|
5738
|
+
/* @__PURE__ */ (0, import_jsx_runtime101.jsx)(
|
|
5274
5739
|
import_select.Select.Icon,
|
|
5275
5740
|
{
|
|
5276
|
-
render: /* @__PURE__ */ (0,
|
|
5741
|
+
render: /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(import_lucide_react22.ChevronDownIcon, { className: "size-4 opacity-50" })
|
|
5277
5742
|
}
|
|
5278
5743
|
)
|
|
5279
5744
|
]
|
|
@@ -5289,7 +5754,7 @@ function SelectContent({
|
|
|
5289
5754
|
alignItemWithTrigger = false,
|
|
5290
5755
|
...props
|
|
5291
5756
|
}) {
|
|
5292
|
-
return /* @__PURE__ */ (0,
|
|
5757
|
+
return /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(import_select.Select.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(
|
|
5293
5758
|
import_select.Select.Positioner,
|
|
5294
5759
|
{
|
|
5295
5760
|
side,
|
|
@@ -5297,19 +5762,19 @@ function SelectContent({
|
|
|
5297
5762
|
align,
|
|
5298
5763
|
alignItemWithTrigger,
|
|
5299
5764
|
className: "isolate z-50",
|
|
5300
|
-
children: /* @__PURE__ */ (0,
|
|
5765
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime101.jsxs)(
|
|
5301
5766
|
import_select.Select.Popup,
|
|
5302
5767
|
{
|
|
5303
5768
|
"data-slot": "select-content",
|
|
5304
5769
|
className: cn(
|
|
5305
|
-
"relative z-50 max-h-96 min-w-[8rem] overflow-x-hidden overflow-y-auto rounded-md border border-border bg-popover text-popover-foreground shadow-md duration-200 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95",
|
|
5770
|
+
"relative z-50 max-h-96 min-w-[8rem] overflow-x-hidden overflow-y-auto rounded-md border border-border bg-popover text-popover-foreground shadow-md shadow-(color:--shadow-color) duration-200 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95",
|
|
5306
5771
|
className
|
|
5307
5772
|
),
|
|
5308
5773
|
...props,
|
|
5309
5774
|
children: [
|
|
5310
|
-
/* @__PURE__ */ (0,
|
|
5311
|
-
/* @__PURE__ */ (0,
|
|
5312
|
-
/* @__PURE__ */ (0,
|
|
5775
|
+
/* @__PURE__ */ (0, import_jsx_runtime101.jsx)(SelectScrollUpButton, {}),
|
|
5776
|
+
/* @__PURE__ */ (0, import_jsx_runtime101.jsx)(import_select.Select.List, { className: "p-1", children }),
|
|
5777
|
+
/* @__PURE__ */ (0, import_jsx_runtime101.jsx)(SelectScrollDownButton, {})
|
|
5313
5778
|
]
|
|
5314
5779
|
}
|
|
5315
5780
|
)
|
|
@@ -5321,18 +5786,18 @@ function SelectItem({
|
|
|
5321
5786
|
children,
|
|
5322
5787
|
...props
|
|
5323
5788
|
}) {
|
|
5324
|
-
return /* @__PURE__ */ (0,
|
|
5789
|
+
return /* @__PURE__ */ (0, import_jsx_runtime101.jsxs)(
|
|
5325
5790
|
import_select.Select.Item,
|
|
5326
5791
|
{
|
|
5327
5792
|
"data-slot": "select-item",
|
|
5328
5793
|
className: cn(
|
|
5329
|
-
"relative flex w-full cursor-pointer items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-none select-none focus:bg-
|
|
5794
|
+
"relative flex w-full cursor-pointer items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-none select-none focus:bg-(--menu-hover-background) focus:text-(--menu-hover-foreground) data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
|
|
5330
5795
|
className
|
|
5331
5796
|
),
|
|
5332
5797
|
...props,
|
|
5333
5798
|
children: [
|
|
5334
|
-
/* @__PURE__ */ (0,
|
|
5335
|
-
/* @__PURE__ */ (0,
|
|
5799
|
+
/* @__PURE__ */ (0, import_jsx_runtime101.jsx)("span", { className: "absolute right-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(import_select.Select.ItemIndicator, { children: /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(import_lucide_react22.CheckIcon, { className: "size-4" }) }) }),
|
|
5800
|
+
/* @__PURE__ */ (0, import_jsx_runtime101.jsx)(import_select.Select.ItemText, { children })
|
|
5336
5801
|
]
|
|
5337
5802
|
}
|
|
5338
5803
|
);
|
|
@@ -5341,7 +5806,7 @@ function SelectScrollUpButton({
|
|
|
5341
5806
|
className,
|
|
5342
5807
|
...props
|
|
5343
5808
|
}) {
|
|
5344
|
-
return /* @__PURE__ */ (0,
|
|
5809
|
+
return /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(
|
|
5345
5810
|
import_select.Select.ScrollUpArrow,
|
|
5346
5811
|
{
|
|
5347
5812
|
"data-slot": "select-scroll-up-button",
|
|
@@ -5350,7 +5815,7 @@ function SelectScrollUpButton({
|
|
|
5350
5815
|
className
|
|
5351
5816
|
),
|
|
5352
5817
|
...props,
|
|
5353
|
-
children: /* @__PURE__ */ (0,
|
|
5818
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(import_lucide_react22.ChevronUpIcon, { className: "size-4" })
|
|
5354
5819
|
}
|
|
5355
5820
|
);
|
|
5356
5821
|
}
|
|
@@ -5358,7 +5823,7 @@ function SelectScrollDownButton({
|
|
|
5358
5823
|
className,
|
|
5359
5824
|
...props
|
|
5360
5825
|
}) {
|
|
5361
|
-
return /* @__PURE__ */ (0,
|
|
5826
|
+
return /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(
|
|
5362
5827
|
import_select.Select.ScrollDownArrow,
|
|
5363
5828
|
{
|
|
5364
5829
|
"data-slot": "select-scroll-down-button",
|
|
@@ -5367,13 +5832,13 @@ function SelectScrollDownButton({
|
|
|
5367
5832
|
className
|
|
5368
5833
|
),
|
|
5369
5834
|
...props,
|
|
5370
|
-
children: /* @__PURE__ */ (0,
|
|
5835
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(import_lucide_react22.ChevronDownIcon, { className: "size-4" })
|
|
5371
5836
|
}
|
|
5372
5837
|
);
|
|
5373
5838
|
}
|
|
5374
5839
|
|
|
5375
5840
|
// src/components/components/Select/index.tsx
|
|
5376
|
-
var
|
|
5841
|
+
var import_jsx_runtime102 = require("react/jsx-runtime");
|
|
5377
5842
|
function Select2({
|
|
5378
5843
|
name,
|
|
5379
5844
|
label,
|
|
@@ -5389,9 +5854,9 @@ function Select2({
|
|
|
5389
5854
|
}) {
|
|
5390
5855
|
const form = useFormContext();
|
|
5391
5856
|
const { t } = (0, import_runtime16.useI18n)();
|
|
5392
|
-
const controlId = (0,
|
|
5857
|
+
const controlId = (0, import_react21.useId)();
|
|
5393
5858
|
const inForm = form?.inForm === true && typeof name === "string" && name !== "";
|
|
5394
|
-
(0,
|
|
5859
|
+
(0, import_react21.useEffect)(() => {
|
|
5395
5860
|
if (inForm && form && name) {
|
|
5396
5861
|
form.registerField(name, rules, value);
|
|
5397
5862
|
return () => form.unregisterField(name);
|
|
@@ -5407,13 +5872,13 @@ function Select2({
|
|
|
5407
5872
|
onChange?.(next ?? void 0);
|
|
5408
5873
|
};
|
|
5409
5874
|
const inFormRoot = inForm === true;
|
|
5410
|
-
const select = /* @__PURE__ */ (0,
|
|
5875
|
+
const select = /* @__PURE__ */ (0, import_jsx_runtime102.jsxs)(
|
|
5411
5876
|
"span",
|
|
5412
5877
|
{
|
|
5413
5878
|
className: cn("inline-flex items-center gap-1", !inFormRoot && className),
|
|
5414
5879
|
style: inFormRoot ? void 0 : style,
|
|
5415
5880
|
children: [
|
|
5416
|
-
/* @__PURE__ */ (0,
|
|
5881
|
+
/* @__PURE__ */ (0, import_jsx_runtime102.jsxs)(
|
|
5417
5882
|
Select,
|
|
5418
5883
|
{
|
|
5419
5884
|
items: options,
|
|
@@ -5422,8 +5887,8 @@ function Select2({
|
|
|
5422
5887
|
disabled,
|
|
5423
5888
|
name: inForm ? name : void 0,
|
|
5424
5889
|
children: [
|
|
5425
|
-
/* @__PURE__ */ (0,
|
|
5426
|
-
/* @__PURE__ */ (0,
|
|
5890
|
+
/* @__PURE__ */ (0, import_jsx_runtime102.jsx)(SelectTrigger, { id: controlId, children: /* @__PURE__ */ (0, import_jsx_runtime102.jsx)(SelectValue, { placeholder }) }),
|
|
5891
|
+
/* @__PURE__ */ (0, import_jsx_runtime102.jsx)(SelectContent, { children: options.map((option) => /* @__PURE__ */ (0, import_jsx_runtime102.jsx)(
|
|
5427
5892
|
SelectItem,
|
|
5428
5893
|
{
|
|
5429
5894
|
value: option.value,
|
|
@@ -5435,7 +5900,7 @@ function Select2({
|
|
|
5435
5900
|
]
|
|
5436
5901
|
}
|
|
5437
5902
|
),
|
|
5438
|
-
allowClear && selectedValue !== null && !disabled ? /* @__PURE__ */ (0,
|
|
5903
|
+
allowClear && selectedValue !== null && !disabled ? /* @__PURE__ */ (0, import_jsx_runtime102.jsx)(
|
|
5439
5904
|
"button",
|
|
5440
5905
|
{
|
|
5441
5906
|
type: "button",
|
|
@@ -5455,14 +5920,14 @@ function Select2({
|
|
|
5455
5920
|
);
|
|
5456
5921
|
if (inForm && form && name) {
|
|
5457
5922
|
const error = form.errors[name];
|
|
5458
|
-
return /* @__PURE__ */ (0,
|
|
5923
|
+
return /* @__PURE__ */ (0, import_jsx_runtime102.jsxs)(
|
|
5459
5924
|
"div",
|
|
5460
5925
|
{
|
|
5461
5926
|
"data-slot": "form-item",
|
|
5462
5927
|
className: cn(formItemClass(form.layout), className),
|
|
5463
5928
|
style,
|
|
5464
5929
|
children: [
|
|
5465
|
-
label ? /* @__PURE__ */ (0,
|
|
5930
|
+
label ? /* @__PURE__ */ (0, import_jsx_runtime102.jsx)(
|
|
5466
5931
|
"label",
|
|
5467
5932
|
{
|
|
5468
5933
|
htmlFor: controlId,
|
|
@@ -5471,7 +5936,7 @@ function Select2({
|
|
|
5471
5936
|
}
|
|
5472
5937
|
) : null,
|
|
5473
5938
|
select,
|
|
5474
|
-
error ? /* @__PURE__ */ (0,
|
|
5939
|
+
error ? /* @__PURE__ */ (0, import_jsx_runtime102.jsx)("div", { "data-slot": "form-error", className: "text-sm text-destructive", children: error }) : null
|
|
5475
5940
|
]
|
|
5476
5941
|
}
|
|
5477
5942
|
);
|
|
@@ -5479,146 +5944,14 @@ function Select2({
|
|
|
5479
5944
|
return select;
|
|
5480
5945
|
}
|
|
5481
5946
|
|
|
5482
|
-
// src/ui/separator.tsx
|
|
5483
|
-
var import_separator = require("@base-ui/react/separator");
|
|
5484
|
-
var import_jsx_runtime99 = require("react/jsx-runtime");
|
|
5485
|
-
function Separator({
|
|
5486
|
-
className,
|
|
5487
|
-
orientation = "horizontal",
|
|
5488
|
-
decorative: _decorative,
|
|
5489
|
-
...props
|
|
5490
|
-
}) {
|
|
5491
|
-
return /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(
|
|
5492
|
-
import_separator.Separator,
|
|
5493
|
-
{
|
|
5494
|
-
"data-slot": "separator",
|
|
5495
|
-
orientation,
|
|
5496
|
-
className: cn(
|
|
5497
|
-
"shrink-0 bg-border data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px",
|
|
5498
|
-
className
|
|
5499
|
-
),
|
|
5500
|
-
...props
|
|
5501
|
-
}
|
|
5502
|
-
);
|
|
5503
|
-
}
|
|
5504
|
-
|
|
5505
5947
|
// src/components/components/Separator/index.tsx
|
|
5506
|
-
var
|
|
5948
|
+
var import_jsx_runtime103 = require("react/jsx-runtime");
|
|
5507
5949
|
function Separator2({ orientation = "horizontal", className, style }) {
|
|
5508
|
-
return /* @__PURE__ */ (0,
|
|
5509
|
-
}
|
|
5510
|
-
|
|
5511
|
-
// src/ui/sheet.tsx
|
|
5512
|
-
var import_dialog3 = require("@base-ui/react/dialog");
|
|
5513
|
-
var import_lucide_react22 = require("lucide-react");
|
|
5514
|
-
var import_class_variance_authority5 = require("class-variance-authority");
|
|
5515
|
-
var import_jsx_runtime101 = require("react/jsx-runtime");
|
|
5516
|
-
function Sheet({
|
|
5517
|
-
...props
|
|
5518
|
-
}) {
|
|
5519
|
-
return /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(import_dialog3.Dialog.Root, { "data-slot": "sheet", ...props });
|
|
5520
|
-
}
|
|
5521
|
-
function SheetPortal({
|
|
5522
|
-
...props
|
|
5523
|
-
}) {
|
|
5524
|
-
return /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(import_dialog3.Dialog.Portal, { "data-slot": "sheet-portal", ...props });
|
|
5525
|
-
}
|
|
5526
|
-
function SheetOverlay({
|
|
5527
|
-
className,
|
|
5528
|
-
...props
|
|
5529
|
-
}) {
|
|
5530
|
-
return /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(
|
|
5531
|
-
import_dialog3.Dialog.Backdrop,
|
|
5532
|
-
{
|
|
5533
|
-
"data-slot": "sheet-overlay",
|
|
5534
|
-
className: cn(
|
|
5535
|
-
"fixed inset-0 z-50 bg-black/50 data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0",
|
|
5536
|
-
className
|
|
5537
|
-
),
|
|
5538
|
-
...props
|
|
5539
|
-
}
|
|
5540
|
-
);
|
|
5541
|
-
}
|
|
5542
|
-
var sheetVariants = (0, import_class_variance_authority5.cva)(
|
|
5543
|
-
"fixed z-50 flex flex-col gap-4 border-border bg-background shadow-lg transition ease-in-out data-open:animate-in data-open:duration-300 data-closed:animate-out data-closed:duration-200",
|
|
5544
|
-
{
|
|
5545
|
-
variants: {
|
|
5546
|
-
side: {
|
|
5547
|
-
right: "inset-y-0 right-0 h-full w-3/4 border-l data-open:slide-in-from-right data-closed:slide-out-to-right sm:max-w-sm",
|
|
5548
|
-
left: "inset-y-0 left-0 h-full w-3/4 border-r data-open:slide-in-from-left data-closed:slide-out-to-left sm:max-w-sm",
|
|
5549
|
-
top: "inset-x-0 top-0 border-b data-open:slide-in-from-top data-closed:slide-out-to-top",
|
|
5550
|
-
bottom: "inset-x-0 bottom-0 border-t data-open:slide-in-from-bottom data-closed:slide-out-to-bottom"
|
|
5551
|
-
}
|
|
5552
|
-
},
|
|
5553
|
-
defaultVariants: {
|
|
5554
|
-
side: "right"
|
|
5555
|
-
}
|
|
5556
|
-
}
|
|
5557
|
-
);
|
|
5558
|
-
function SheetContent({
|
|
5559
|
-
className,
|
|
5560
|
-
children,
|
|
5561
|
-
side = "right",
|
|
5562
|
-
...props
|
|
5563
|
-
}) {
|
|
5564
|
-
return /* @__PURE__ */ (0, import_jsx_runtime101.jsxs)(SheetPortal, { "data-slot": "sheet-portal", children: [
|
|
5565
|
-
/* @__PURE__ */ (0, import_jsx_runtime101.jsx)(SheetOverlay, {}),
|
|
5566
|
-
/* @__PURE__ */ (0, import_jsx_runtime101.jsxs)(
|
|
5567
|
-
import_dialog3.Dialog.Popup,
|
|
5568
|
-
{
|
|
5569
|
-
"data-slot": "sheet-content",
|
|
5570
|
-
className: cn(sheetVariants({ side }), className),
|
|
5571
|
-
...props,
|
|
5572
|
-
children: [
|
|
5573
|
-
children,
|
|
5574
|
-
/* @__PURE__ */ (0, import_jsx_runtime101.jsxs)(
|
|
5575
|
-
import_dialog3.Dialog.Close,
|
|
5576
|
-
{
|
|
5577
|
-
"data-slot": "sheet-close",
|
|
5578
|
-
render: /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(
|
|
5579
|
-
"button",
|
|
5580
|
-
{
|
|
5581
|
-
type: "button",
|
|
5582
|
-
className: "absolute top-4 right-4 cursor-pointer rounded-xs opacity-70 transition-opacity hover:opacity-100 focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-none disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4"
|
|
5583
|
-
}
|
|
5584
|
-
),
|
|
5585
|
-
children: [
|
|
5586
|
-
/* @__PURE__ */ (0, import_jsx_runtime101.jsx)(import_lucide_react22.XIcon, {}),
|
|
5587
|
-
/* @__PURE__ */ (0, import_jsx_runtime101.jsx)("span", { className: "sr-only", children: "Close" })
|
|
5588
|
-
]
|
|
5589
|
-
}
|
|
5590
|
-
)
|
|
5591
|
-
]
|
|
5592
|
-
}
|
|
5593
|
-
)
|
|
5594
|
-
] });
|
|
5595
|
-
}
|
|
5596
|
-
function SheetHeader({ className, ...props }) {
|
|
5597
|
-
return /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(
|
|
5598
|
-
"div",
|
|
5599
|
-
{
|
|
5600
|
-
"data-slot": "sheet-header",
|
|
5601
|
-
className: cn("flex flex-col gap-1.5 p-4", className),
|
|
5602
|
-
...props
|
|
5603
|
-
}
|
|
5604
|
-
);
|
|
5605
|
-
}
|
|
5606
|
-
function SheetTitle({
|
|
5607
|
-
className,
|
|
5608
|
-
...props
|
|
5609
|
-
}) {
|
|
5610
|
-
return /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(
|
|
5611
|
-
import_dialog3.Dialog.Title,
|
|
5612
|
-
{
|
|
5613
|
-
"data-slot": "sheet-title",
|
|
5614
|
-
className: cn("font-semibold text-foreground", className),
|
|
5615
|
-
...props
|
|
5616
|
-
}
|
|
5617
|
-
);
|
|
5950
|
+
return /* @__PURE__ */ (0, import_jsx_runtime103.jsx)(Separator, { orientation, className, style });
|
|
5618
5951
|
}
|
|
5619
5952
|
|
|
5620
5953
|
// src/components/components/Sheet/index.tsx
|
|
5621
|
-
var
|
|
5954
|
+
var import_jsx_runtime104 = require("react/jsx-runtime");
|
|
5622
5955
|
function Sheet2({
|
|
5623
5956
|
title,
|
|
5624
5957
|
open,
|
|
@@ -5628,7 +5961,7 @@ function Sheet2({
|
|
|
5628
5961
|
className,
|
|
5629
5962
|
style
|
|
5630
5963
|
}) {
|
|
5631
|
-
return /* @__PURE__ */ (0,
|
|
5964
|
+
return /* @__PURE__ */ (0, import_jsx_runtime104.jsx)(
|
|
5632
5965
|
Sheet,
|
|
5633
5966
|
{
|
|
5634
5967
|
open: open ?? false,
|
|
@@ -5637,9 +5970,9 @@ function Sheet2({
|
|
|
5637
5970
|
onClose?.();
|
|
5638
5971
|
}
|
|
5639
5972
|
},
|
|
5640
|
-
children: /* @__PURE__ */ (0,
|
|
5641
|
-
title ? /* @__PURE__ */ (0,
|
|
5642
|
-
/* @__PURE__ */ (0,
|
|
5973
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime104.jsxs)(SheetContent, { side, className, style, children: [
|
|
5974
|
+
title ? /* @__PURE__ */ (0, import_jsx_runtime104.jsx)(SheetHeader, { children: /* @__PURE__ */ (0, import_jsx_runtime104.jsx)(SheetTitle, { children: title }) }) : null,
|
|
5975
|
+
/* @__PURE__ */ (0, import_jsx_runtime104.jsx)("div", { className: "flex-1 overflow-auto px-4", children })
|
|
5643
5976
|
] })
|
|
5644
5977
|
}
|
|
5645
5978
|
);
|
|
@@ -5647,7 +5980,7 @@ function Sheet2({
|
|
|
5647
5980
|
|
|
5648
5981
|
// src/components/components/Sider/index.tsx
|
|
5649
5982
|
var import_lucide_react23 = require("lucide-react");
|
|
5650
|
-
var
|
|
5983
|
+
var import_jsx_runtime105 = require("react/jsx-runtime");
|
|
5651
5984
|
function Sider({
|
|
5652
5985
|
width = 200,
|
|
5653
5986
|
collapsible,
|
|
@@ -5659,26 +5992,26 @@ function Sider({
|
|
|
5659
5992
|
children
|
|
5660
5993
|
}) {
|
|
5661
5994
|
const current = collapsed ? collapsedWidth : width;
|
|
5662
|
-
return /* @__PURE__ */ (0,
|
|
5995
|
+
return /* @__PURE__ */ (0, import_jsx_runtime105.jsxs)(
|
|
5663
5996
|
"aside",
|
|
5664
5997
|
{
|
|
5665
5998
|
"data-slot": "layout-sider",
|
|
5666
5999
|
"data-collapsed": collapsed || void 0,
|
|
5667
6000
|
className: cn(
|
|
5668
|
-
"flex min-h-0 shrink-0 flex-col border-r bg-
|
|
6001
|
+
"flex min-h-0 shrink-0 flex-col border-r bg-sidebar transition-[width]",
|
|
5669
6002
|
className
|
|
5670
6003
|
),
|
|
5671
6004
|
style: { width: current, ...style },
|
|
5672
6005
|
children: [
|
|
5673
|
-
/* @__PURE__ */ (0,
|
|
5674
|
-
collapsible ? /* @__PURE__ */ (0,
|
|
6006
|
+
/* @__PURE__ */ (0, import_jsx_runtime105.jsx)("div", { className: "min-h-0 flex-1 overflow-auto", children }),
|
|
6007
|
+
collapsible ? /* @__PURE__ */ (0, import_jsx_runtime105.jsx)(
|
|
5675
6008
|
"button",
|
|
5676
6009
|
{
|
|
5677
6010
|
type: "button",
|
|
5678
6011
|
"aria-label": collapsed ? "expand sider" : "collapse sider",
|
|
5679
6012
|
className: "flex h-10 shrink-0 items-center justify-center border-t text-muted-foreground hover:text-foreground",
|
|
5680
6013
|
onClick: () => onCollapse?.(!collapsed),
|
|
5681
|
-
children: collapsed ? /* @__PURE__ */ (0,
|
|
6014
|
+
children: collapsed ? /* @__PURE__ */ (0, import_jsx_runtime105.jsx)(import_lucide_react23.ChevronRight, { "aria-hidden": true, className: "size-4" }) : /* @__PURE__ */ (0, import_jsx_runtime105.jsx)(import_lucide_react23.ChevronLeft, { "aria-hidden": true, className: "size-4" })
|
|
5682
6015
|
}
|
|
5683
6016
|
) : null
|
|
5684
6017
|
]
|
|
@@ -5686,21 +6019,8 @@ function Sider({
|
|
|
5686
6019
|
);
|
|
5687
6020
|
}
|
|
5688
6021
|
|
|
5689
|
-
// src/ui/skeleton.tsx
|
|
5690
|
-
var import_jsx_runtime104 = require("react/jsx-runtime");
|
|
5691
|
-
function Skeleton({ className, ...props }) {
|
|
5692
|
-
return /* @__PURE__ */ (0, import_jsx_runtime104.jsx)(
|
|
5693
|
-
"div",
|
|
5694
|
-
{
|
|
5695
|
-
"data-slot": "skeleton",
|
|
5696
|
-
className: cn("animate-pulse rounded-md bg-muted", className),
|
|
5697
|
-
...props
|
|
5698
|
-
}
|
|
5699
|
-
);
|
|
5700
|
-
}
|
|
5701
|
-
|
|
5702
6022
|
// src/components/components/Skeleton/index.tsx
|
|
5703
|
-
var
|
|
6023
|
+
var import_jsx_runtime106 = require("react/jsx-runtime");
|
|
5704
6024
|
var shapeDefaults = {
|
|
5705
6025
|
line: { className: "h-4 w-full", style: {} },
|
|
5706
6026
|
circle: { className: "rounded-full", style: { width: 40, height: 40 } },
|
|
@@ -5711,7 +6031,7 @@ function toSize(value) {
|
|
|
5711
6031
|
}
|
|
5712
6032
|
function Skeleton2({ shape = "line", width, height, className, style }) {
|
|
5713
6033
|
const defaults = shapeDefaults[shape];
|
|
5714
|
-
return /* @__PURE__ */ (0,
|
|
6034
|
+
return /* @__PURE__ */ (0, import_jsx_runtime106.jsx)(
|
|
5715
6035
|
Skeleton,
|
|
5716
6036
|
{
|
|
5717
6037
|
className: cn(defaults.className, className),
|
|
@@ -5726,13 +6046,13 @@ function Skeleton2({ shape = "line", width, height, className, style }) {
|
|
|
5726
6046
|
}
|
|
5727
6047
|
|
|
5728
6048
|
// src/components/components/Slider/index.tsx
|
|
5729
|
-
var
|
|
6049
|
+
var import_react22 = require("react");
|
|
5730
6050
|
|
|
5731
6051
|
// src/ui/slider.tsx
|
|
5732
6052
|
var import_slider = require("@base-ui/react/slider");
|
|
5733
|
-
var
|
|
6053
|
+
var import_jsx_runtime107 = require("react/jsx-runtime");
|
|
5734
6054
|
function Slider({ className, ...props }) {
|
|
5735
|
-
return /* @__PURE__ */ (0,
|
|
6055
|
+
return /* @__PURE__ */ (0, import_jsx_runtime107.jsx)(
|
|
5736
6056
|
import_slider.Slider.Root,
|
|
5737
6057
|
{
|
|
5738
6058
|
"data-slot": "slider",
|
|
@@ -5745,7 +6065,7 @@ function Slider({ className, ...props }) {
|
|
|
5745
6065
|
);
|
|
5746
6066
|
}
|
|
5747
6067
|
function SliderControl({ className, ...props }) {
|
|
5748
|
-
return /* @__PURE__ */ (0,
|
|
6068
|
+
return /* @__PURE__ */ (0, import_jsx_runtime107.jsx)(
|
|
5749
6069
|
import_slider.Slider.Control,
|
|
5750
6070
|
{
|
|
5751
6071
|
"data-slot": "slider-control",
|
|
@@ -5755,12 +6075,12 @@ function SliderControl({ className, ...props }) {
|
|
|
5755
6075
|
);
|
|
5756
6076
|
}
|
|
5757
6077
|
function SliderTrack({ className, ...props }) {
|
|
5758
|
-
return /* @__PURE__ */ (0,
|
|
6078
|
+
return /* @__PURE__ */ (0, import_jsx_runtime107.jsx)(
|
|
5759
6079
|
import_slider.Slider.Track,
|
|
5760
6080
|
{
|
|
5761
6081
|
"data-slot": "slider-track",
|
|
5762
6082
|
className: cn(
|
|
5763
|
-
"relative h-1.5 w-full grow overflow-hidden rounded-full bg-
|
|
6083
|
+
"relative h-1.5 w-full grow overflow-hidden rounded-full bg-(--slider-track)",
|
|
5764
6084
|
className
|
|
5765
6085
|
),
|
|
5766
6086
|
...props
|
|
@@ -5768,22 +6088,22 @@ function SliderTrack({ className, ...props }) {
|
|
|
5768
6088
|
);
|
|
5769
6089
|
}
|
|
5770
6090
|
function SliderIndicator({ className, ...props }) {
|
|
5771
|
-
return /* @__PURE__ */ (0,
|
|
6091
|
+
return /* @__PURE__ */ (0, import_jsx_runtime107.jsx)(
|
|
5772
6092
|
import_slider.Slider.Indicator,
|
|
5773
6093
|
{
|
|
5774
6094
|
"data-slot": "slider-indicator",
|
|
5775
|
-
className: cn("absolute h-full bg-
|
|
6095
|
+
className: cn("absolute h-full bg-(--slider-range)", className),
|
|
5776
6096
|
...props
|
|
5777
6097
|
}
|
|
5778
6098
|
);
|
|
5779
6099
|
}
|
|
5780
6100
|
function SliderThumb({ className, ...props }) {
|
|
5781
|
-
return /* @__PURE__ */ (0,
|
|
6101
|
+
return /* @__PURE__ */ (0, import_jsx_runtime107.jsx)(
|
|
5782
6102
|
import_slider.Slider.Thumb,
|
|
5783
6103
|
{
|
|
5784
6104
|
"data-slot": "slider-thumb",
|
|
5785
6105
|
className: cn(
|
|
5786
|
-
"block size-4 shrink-0 cursor-grab rounded-full border border-primary bg-
|
|
6106
|
+
"block size-4 shrink-0 cursor-grab rounded-full border border-primary bg-(--slider-thumb) shadow-sm transition-colors focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-none active:cursor-grabbing disabled:pointer-events-none disabled:opacity-50",
|
|
5787
6107
|
className
|
|
5788
6108
|
),
|
|
5789
6109
|
...props
|
|
@@ -5792,7 +6112,7 @@ function SliderThumb({ className, ...props }) {
|
|
|
5792
6112
|
}
|
|
5793
6113
|
|
|
5794
6114
|
// src/components/components/Slider/index.tsx
|
|
5795
|
-
var
|
|
6115
|
+
var import_jsx_runtime108 = require("react/jsx-runtime");
|
|
5796
6116
|
function Slider2({
|
|
5797
6117
|
name,
|
|
5798
6118
|
label,
|
|
@@ -5808,7 +6128,7 @@ function Slider2({
|
|
|
5808
6128
|
}) {
|
|
5809
6129
|
const form = useFormContext();
|
|
5810
6130
|
const inForm = form?.inForm === true && typeof name === "string" && name !== "";
|
|
5811
|
-
(0,
|
|
6131
|
+
(0, import_react22.useEffect)(() => {
|
|
5812
6132
|
if (inForm && form && name) {
|
|
5813
6133
|
form.registerField(name, rules, value);
|
|
5814
6134
|
return () => form.unregisterField(name);
|
|
@@ -5823,7 +6143,7 @@ function Slider2({
|
|
|
5823
6143
|
}
|
|
5824
6144
|
onChange?.(next);
|
|
5825
6145
|
};
|
|
5826
|
-
const slider = /* @__PURE__ */ (0,
|
|
6146
|
+
const slider = /* @__PURE__ */ (0, import_jsx_runtime108.jsx)(
|
|
5827
6147
|
Slider,
|
|
5828
6148
|
{
|
|
5829
6149
|
value: numberValue,
|
|
@@ -5835,14 +6155,14 @@ function Slider2({
|
|
|
5835
6155
|
onValueChange: handleChange,
|
|
5836
6156
|
className: inForm ? void 0 : className,
|
|
5837
6157
|
style: inForm ? void 0 : style,
|
|
5838
|
-
children: /* @__PURE__ */ (0,
|
|
5839
|
-
/* @__PURE__ */ (0,
|
|
5840
|
-
/* @__PURE__ */ (0,
|
|
5841
|
-
] })
|
|
6158
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime108.jsxs)(SliderControl, { children: [
|
|
6159
|
+
/* @__PURE__ */ (0, import_jsx_runtime108.jsx)(SliderTrack, { children: /* @__PURE__ */ (0, import_jsx_runtime108.jsx)(SliderIndicator, {}) }),
|
|
6160
|
+
/* @__PURE__ */ (0, import_jsx_runtime108.jsx)(SliderThumb, {})
|
|
6161
|
+
] })
|
|
5842
6162
|
}
|
|
5843
6163
|
);
|
|
5844
6164
|
if (inForm && form && name) {
|
|
5845
|
-
return /* @__PURE__ */ (0,
|
|
6165
|
+
return /* @__PURE__ */ (0, import_jsx_runtime108.jsx)(
|
|
5846
6166
|
FieldShell,
|
|
5847
6167
|
{
|
|
5848
6168
|
layout: form.layout,
|
|
@@ -5859,12 +6179,12 @@ function Slider2({
|
|
|
5859
6179
|
|
|
5860
6180
|
// src/components/components/Sonner/index.tsx
|
|
5861
6181
|
var import_runtime17 = require("@pactor-app/runtime");
|
|
5862
|
-
var
|
|
6182
|
+
var import_react23 = require("react");
|
|
5863
6183
|
|
|
5864
6184
|
// src/ui/toast.tsx
|
|
5865
6185
|
var import_toast = require("@base-ui/react/toast");
|
|
5866
6186
|
var import_lucide_react24 = require("lucide-react");
|
|
5867
|
-
var
|
|
6187
|
+
var import_jsx_runtime109 = require("react/jsx-runtime");
|
|
5868
6188
|
var toastManager = import_toast.Toast.createToastManager();
|
|
5869
6189
|
function toast(message, options = {}) {
|
|
5870
6190
|
return toastManager.add({
|
|
@@ -5880,7 +6200,7 @@ var toastVariantClass = {
|
|
|
5880
6200
|
};
|
|
5881
6201
|
function ToasterViewport({ className }) {
|
|
5882
6202
|
const { toasts } = import_toast.Toast.useToastManager();
|
|
5883
|
-
return /* @__PURE__ */ (0,
|
|
6203
|
+
return /* @__PURE__ */ (0, import_jsx_runtime109.jsx)(import_toast.Toast.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime109.jsx)(
|
|
5884
6204
|
import_toast.Toast.Viewport,
|
|
5885
6205
|
{
|
|
5886
6206
|
"data-slot": "toast-viewport",
|
|
@@ -5888,26 +6208,26 @@ function ToasterViewport({ className }) {
|
|
|
5888
6208
|
"fixed top-4 right-4 z-[100] flex w-80 flex-col gap-2 outline-none",
|
|
5889
6209
|
className
|
|
5890
6210
|
),
|
|
5891
|
-
children: toasts.map((item) => /* @__PURE__ */ (0,
|
|
6211
|
+
children: toasts.map((item) => /* @__PURE__ */ (0, import_jsx_runtime109.jsx)(
|
|
5892
6212
|
import_toast.Toast.Root,
|
|
5893
6213
|
{
|
|
5894
6214
|
toast: item,
|
|
5895
6215
|
"data-slot": "toast",
|
|
5896
6216
|
"data-type": item.type ?? "info",
|
|
5897
6217
|
className: cn(
|
|
5898
|
-
"rounded-md border border-border bg-popover px-4 py-3 text-sm text-popover-foreground shadow-md transition-[opacity,transform] duration-200 data-ending-style:animate-toast-out data-starting-style:animate-toast-in",
|
|
6218
|
+
"rounded-md border border-border bg-popover px-4 py-3 text-sm text-popover-foreground shadow-md shadow-(color:--shadow-color) transition-[opacity,transform] duration-200 data-ending-style:animate-toast-out data-starting-style:animate-toast-in",
|
|
5899
6219
|
toastVariantClass[item.type ?? "info"] ?? toastVariantClass.info
|
|
5900
6220
|
),
|
|
5901
|
-
children: /* @__PURE__ */ (0,
|
|
5902
|
-
/* @__PURE__ */ (0,
|
|
5903
|
-
/* @__PURE__ */ (0,
|
|
6221
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime109.jsxs)(import_toast.Toast.Content, { className: "flex items-start justify-between gap-2", children: [
|
|
6222
|
+
/* @__PURE__ */ (0, import_jsx_runtime109.jsxs)("div", { className: "grid gap-0.5", children: [
|
|
6223
|
+
/* @__PURE__ */ (0, import_jsx_runtime109.jsx)(
|
|
5904
6224
|
import_toast.Toast.Title,
|
|
5905
6225
|
{
|
|
5906
6226
|
"data-slot": "toast-title",
|
|
5907
6227
|
className: "font-medium"
|
|
5908
6228
|
}
|
|
5909
6229
|
),
|
|
5910
|
-
/* @__PURE__ */ (0,
|
|
6230
|
+
/* @__PURE__ */ (0, import_jsx_runtime109.jsx)(
|
|
5911
6231
|
import_toast.Toast.Description,
|
|
5912
6232
|
{
|
|
5913
6233
|
"data-slot": "toast-description",
|
|
@@ -5915,13 +6235,13 @@ function ToasterViewport({ className }) {
|
|
|
5915
6235
|
}
|
|
5916
6236
|
)
|
|
5917
6237
|
] }),
|
|
5918
|
-
/* @__PURE__ */ (0,
|
|
6238
|
+
/* @__PURE__ */ (0, import_jsx_runtime109.jsx)(
|
|
5919
6239
|
import_toast.Toast.Close,
|
|
5920
6240
|
{
|
|
5921
6241
|
"data-slot": "toast-close",
|
|
5922
6242
|
"aria-label": "Close",
|
|
5923
6243
|
className: "cursor-pointer rounded-xs opacity-70 transition-opacity hover:opacity-100 focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-none [&_svg]:size-3.5",
|
|
5924
|
-
children: /* @__PURE__ */ (0,
|
|
6244
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime109.jsx)(import_lucide_react24.XIcon, {})
|
|
5925
6245
|
}
|
|
5926
6246
|
)
|
|
5927
6247
|
] })
|
|
@@ -5932,14 +6252,14 @@ function ToasterViewport({ className }) {
|
|
|
5932
6252
|
) });
|
|
5933
6253
|
}
|
|
5934
6254
|
function Toaster({ className }) {
|
|
5935
|
-
return /* @__PURE__ */ (0,
|
|
6255
|
+
return /* @__PURE__ */ (0, import_jsx_runtime109.jsx)(import_toast.Toast.Provider, { toastManager, children: /* @__PURE__ */ (0, import_jsx_runtime109.jsx)(ToasterViewport, { className }) });
|
|
5936
6256
|
}
|
|
5937
6257
|
|
|
5938
6258
|
// src/components/components/Sonner/index.tsx
|
|
5939
|
-
var
|
|
6259
|
+
var import_jsx_runtime110 = require("react/jsx-runtime");
|
|
5940
6260
|
function Sonner({ className, style }) {
|
|
5941
6261
|
const { context } = (0, import_runtime17.useRenderer)();
|
|
5942
|
-
(0,
|
|
6262
|
+
(0, import_react23.useEffect)(() => {
|
|
5943
6263
|
const { actions } = context;
|
|
5944
6264
|
if (actions.has("toast")) {
|
|
5945
6265
|
return;
|
|
@@ -5953,14 +6273,14 @@ function Sonner({ className, style }) {
|
|
|
5953
6273
|
return { ok: true };
|
|
5954
6274
|
});
|
|
5955
6275
|
}, [context]);
|
|
5956
|
-
return /* @__PURE__ */ (0,
|
|
6276
|
+
return /* @__PURE__ */ (0, import_jsx_runtime110.jsx)("div", { "data-slot": "sonner", className, style, children: /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(Toaster, {}) });
|
|
5957
6277
|
}
|
|
5958
6278
|
|
|
5959
6279
|
// src/ui/spinner.tsx
|
|
5960
6280
|
var import_lucide_react25 = require("lucide-react");
|
|
5961
|
-
var
|
|
6281
|
+
var import_jsx_runtime111 = require("react/jsx-runtime");
|
|
5962
6282
|
function Spinner({ className, ...props }) {
|
|
5963
|
-
return /* @__PURE__ */ (0,
|
|
6283
|
+
return /* @__PURE__ */ (0, import_jsx_runtime111.jsx)(
|
|
5964
6284
|
import_lucide_react25.Loader2Icon,
|
|
5965
6285
|
{
|
|
5966
6286
|
role: "status",
|
|
@@ -5973,50 +6293,50 @@ function Spinner({ className, ...props }) {
|
|
|
5973
6293
|
}
|
|
5974
6294
|
|
|
5975
6295
|
// src/components/components/Spinner/index.tsx
|
|
5976
|
-
var
|
|
6296
|
+
var import_jsx_runtime112 = require("react/jsx-runtime");
|
|
5977
6297
|
var sizeClass = {
|
|
5978
6298
|
sm: "size-3",
|
|
5979
6299
|
default: "size-4",
|
|
5980
6300
|
lg: "size-6"
|
|
5981
6301
|
};
|
|
5982
6302
|
function Spinner2({ size = "default", className, style }) {
|
|
5983
|
-
return /* @__PURE__ */ (0,
|
|
6303
|
+
return /* @__PURE__ */ (0, import_jsx_runtime112.jsx)(Spinner, { className: cn(sizeClass[size], className), style });
|
|
5984
6304
|
}
|
|
5985
6305
|
|
|
5986
6306
|
// src/components/components/Statistic/index.tsx
|
|
5987
|
-
var
|
|
6307
|
+
var import_jsx_runtime113 = require("react/jsx-runtime");
|
|
5988
6308
|
function Statistic({ title, value, precision, suffix, className, style }) {
|
|
5989
6309
|
const display = typeof value === "number" && precision !== void 0 ? value.toFixed(precision) : value;
|
|
5990
|
-
return /* @__PURE__ */ (0,
|
|
5991
|
-
title ? /* @__PURE__ */ (0,
|
|
5992
|
-
/* @__PURE__ */ (0,
|
|
6310
|
+
return /* @__PURE__ */ (0, import_jsx_runtime113.jsxs)("div", { "data-slot": "statistic", className: cn(className), style, children: [
|
|
6311
|
+
title ? /* @__PURE__ */ (0, import_jsx_runtime113.jsx)("div", { "data-slot": "statistic-title", className: "text-sm text-muted-foreground", children: title }) : null,
|
|
6312
|
+
/* @__PURE__ */ (0, import_jsx_runtime113.jsxs)("div", { "data-slot": "statistic-value", className: "text-2xl font-bold tabular-nums", children: [
|
|
5993
6313
|
display,
|
|
5994
|
-
suffix ? /* @__PURE__ */ (0,
|
|
6314
|
+
suffix ? /* @__PURE__ */ (0, import_jsx_runtime113.jsx)("span", { className: "ml-1 text-sm font-normal text-muted-foreground", children: suffix }) : null
|
|
5995
6315
|
] })
|
|
5996
6316
|
] });
|
|
5997
6317
|
}
|
|
5998
6318
|
|
|
5999
6319
|
// src/components/components/Switch/index.tsx
|
|
6000
|
-
var
|
|
6320
|
+
var import_react24 = require("react");
|
|
6001
6321
|
|
|
6002
6322
|
// src/ui/switch.tsx
|
|
6003
6323
|
var import_switch = require("@base-ui/react/switch");
|
|
6004
|
-
var
|
|
6324
|
+
var import_jsx_runtime114 = require("react/jsx-runtime");
|
|
6005
6325
|
function Switch({ className, ...props }) {
|
|
6006
|
-
return /* @__PURE__ */ (0,
|
|
6326
|
+
return /* @__PURE__ */ (0, import_jsx_runtime114.jsx)(
|
|
6007
6327
|
import_switch.Switch.Root,
|
|
6008
6328
|
{
|
|
6009
6329
|
"data-slot": "switch",
|
|
6010
6330
|
className: cn(
|
|
6011
|
-
"inline-flex h-[1.15rem] w-8 shrink-0 cursor-pointer items-center rounded-full border border-transparent shadow-xs transition-colors outline-none focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 data-checked:bg-
|
|
6331
|
+
"inline-flex h-[1.15rem] w-8 shrink-0 cursor-pointer items-center rounded-full border border-transparent shadow-xs transition-colors outline-none focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 data-checked:bg-(--switch-track-checked) data-unchecked:bg-(--switch-track)",
|
|
6012
6332
|
className
|
|
6013
6333
|
),
|
|
6014
6334
|
...props,
|
|
6015
|
-
children: /* @__PURE__ */ (0,
|
|
6335
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime114.jsx)(
|
|
6016
6336
|
import_switch.Switch.Thumb,
|
|
6017
6337
|
{
|
|
6018
6338
|
"data-slot": "switch-thumb",
|
|
6019
|
-
className: "pointer-events-none block size-4 rounded-full bg-
|
|
6339
|
+
className: "pointer-events-none block size-4 rounded-full bg-(--switch-thumb) transition-transform data-checked:translate-x-[calc(100%-2px)] data-unchecked:translate-x-0"
|
|
6020
6340
|
}
|
|
6021
6341
|
)
|
|
6022
6342
|
}
|
|
@@ -6024,7 +6344,7 @@ function Switch({ className, ...props }) {
|
|
|
6024
6344
|
}
|
|
6025
6345
|
|
|
6026
6346
|
// src/components/components/Switch/index.tsx
|
|
6027
|
-
var
|
|
6347
|
+
var import_jsx_runtime115 = require("react/jsx-runtime");
|
|
6028
6348
|
function Switch2({
|
|
6029
6349
|
name,
|
|
6030
6350
|
label,
|
|
@@ -6036,9 +6356,9 @@ function Switch2({
|
|
|
6036
6356
|
style
|
|
6037
6357
|
}) {
|
|
6038
6358
|
const form = useFormContext();
|
|
6039
|
-
const controlId = (0,
|
|
6359
|
+
const controlId = (0, import_react24.useId)();
|
|
6040
6360
|
const inForm = form?.inForm === true && typeof name === "string" && name !== "";
|
|
6041
|
-
(0,
|
|
6361
|
+
(0, import_react24.useEffect)(() => {
|
|
6042
6362
|
if (inForm && form && name) {
|
|
6043
6363
|
form.registerField(name, rules, value);
|
|
6044
6364
|
return () => form.unregisterField(name);
|
|
@@ -6053,13 +6373,13 @@ function Switch2({
|
|
|
6053
6373
|
}
|
|
6054
6374
|
onChange?.(next);
|
|
6055
6375
|
};
|
|
6056
|
-
const control = /* @__PURE__ */ (0,
|
|
6376
|
+
const control = /* @__PURE__ */ (0, import_jsx_runtime115.jsxs)(
|
|
6057
6377
|
"span",
|
|
6058
6378
|
{
|
|
6059
6379
|
className: cn("inline-flex items-center gap-2", !inForm && className),
|
|
6060
6380
|
style: inForm ? void 0 : style,
|
|
6061
6381
|
children: [
|
|
6062
|
-
/* @__PURE__ */ (0,
|
|
6382
|
+
/* @__PURE__ */ (0, import_jsx_runtime115.jsx)(
|
|
6063
6383
|
Switch,
|
|
6064
6384
|
{
|
|
6065
6385
|
id: controlId,
|
|
@@ -6069,12 +6389,12 @@ function Switch2({
|
|
|
6069
6389
|
onCheckedChange: handleChange
|
|
6070
6390
|
}
|
|
6071
6391
|
),
|
|
6072
|
-
label ? /* @__PURE__ */ (0,
|
|
6392
|
+
label ? /* @__PURE__ */ (0, import_jsx_runtime115.jsx)("label", { htmlFor: controlId, className: "text-sm leading-none font-medium", children: label }) : null
|
|
6073
6393
|
]
|
|
6074
6394
|
}
|
|
6075
6395
|
);
|
|
6076
6396
|
if (inForm && form && name) {
|
|
6077
|
-
return /* @__PURE__ */ (0,
|
|
6397
|
+
return /* @__PURE__ */ (0, import_jsx_runtime115.jsxs)(
|
|
6078
6398
|
"div",
|
|
6079
6399
|
{
|
|
6080
6400
|
"data-slot": "form-item",
|
|
@@ -6082,7 +6402,7 @@ function Switch2({
|
|
|
6082
6402
|
style,
|
|
6083
6403
|
children: [
|
|
6084
6404
|
control,
|
|
6085
|
-
form.errors[name] ? /* @__PURE__ */ (0,
|
|
6405
|
+
form.errors[name] ? /* @__PURE__ */ (0, import_jsx_runtime115.jsx)("div", { "data-slot": "form-error", className: "mt-1.5 text-sm text-destructive", children: form.errors[name] }) : null
|
|
6086
6406
|
]
|
|
6087
6407
|
}
|
|
6088
6408
|
);
|
|
@@ -6092,8 +6412,8 @@ function Switch2({
|
|
|
6092
6412
|
|
|
6093
6413
|
// src/components/components/Table/index.tsx
|
|
6094
6414
|
var import_runtime18 = require("@pactor-app/runtime");
|
|
6095
|
-
var
|
|
6096
|
-
var
|
|
6415
|
+
var import_react25 = require("react");
|
|
6416
|
+
var import_jsx_runtime116 = require("react/jsx-runtime");
|
|
6097
6417
|
function renderCellValue2(value) {
|
|
6098
6418
|
if (value === void 0 || value === null) {
|
|
6099
6419
|
return "";
|
|
@@ -6115,7 +6435,7 @@ function Table3({
|
|
|
6115
6435
|
}) {
|
|
6116
6436
|
const { renderChildren } = (0, import_runtime18.useRenderer)();
|
|
6117
6437
|
const { t } = (0, import_runtime18.useI18n)();
|
|
6118
|
-
const [current, setCurrent] = (0,
|
|
6438
|
+
const [current, setCurrent] = (0, import_react25.useState)(1);
|
|
6119
6439
|
const pageSize = pagination === false ? void 0 : pagination?.pageSize;
|
|
6120
6440
|
const total = dataSource.length;
|
|
6121
6441
|
const pageCount = pageSize !== void 0 && pageSize > 0 ? Math.max(1, Math.ceil(total / pageSize)) : 1;
|
|
@@ -6124,17 +6444,17 @@ function Table3({
|
|
|
6124
6444
|
setCurrent(page);
|
|
6125
6445
|
onChange?.({ current: page, pageSize, total });
|
|
6126
6446
|
};
|
|
6127
|
-
return /* @__PURE__ */ (0,
|
|
6128
|
-
loading ? /* @__PURE__ */ (0,
|
|
6447
|
+
return /* @__PURE__ */ (0, import_jsx_runtime116.jsxs)("div", { "data-slot": "dsl-table", className: cn("relative", className), style, children: [
|
|
6448
|
+
loading ? /* @__PURE__ */ (0, import_jsx_runtime116.jsx)(
|
|
6129
6449
|
"div",
|
|
6130
6450
|
{
|
|
6131
6451
|
"data-slot": "table-loading",
|
|
6132
|
-
className: "absolute inset-0 z-10 flex items-center justify-center bg-
|
|
6452
|
+
className: "absolute inset-0 z-10 flex items-center justify-center bg-card/60 text-sm text-muted-foreground",
|
|
6133
6453
|
children: t("pactor.table.loading")
|
|
6134
6454
|
}
|
|
6135
6455
|
) : null,
|
|
6136
|
-
/* @__PURE__ */ (0,
|
|
6137
|
-
/* @__PURE__ */ (0,
|
|
6456
|
+
/* @__PURE__ */ (0, import_jsx_runtime116.jsxs)(Table2, { children: [
|
|
6457
|
+
/* @__PURE__ */ (0, import_jsx_runtime116.jsx)(TableHeader, { children: /* @__PURE__ */ (0, import_jsx_runtime116.jsx)(TableRow, { className: "hover:bg-transparent", children: columns.map((column, index) => /* @__PURE__ */ (0, import_jsx_runtime116.jsx)(
|
|
6138
6458
|
TableHead,
|
|
6139
6459
|
{
|
|
6140
6460
|
style: column.width !== void 0 ? { width: column.width } : void 0,
|
|
@@ -6142,7 +6462,7 @@ function Table3({
|
|
|
6142
6462
|
},
|
|
6143
6463
|
column.dataIndex ?? String(index)
|
|
6144
6464
|
)) }) }),
|
|
6145
|
-
/* @__PURE__ */ (0,
|
|
6465
|
+
/* @__PURE__ */ (0, import_jsx_runtime116.jsx)(TableBody, { children: pageRows.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime116.jsx)(TableRow, { className: "hover:bg-transparent", children: /* @__PURE__ */ (0, import_jsx_runtime116.jsx)(TableCell, { colSpan: Math.max(1, columns.length), children: /* @__PURE__ */ (0, import_jsx_runtime116.jsx)(
|
|
6146
6466
|
"div",
|
|
6147
6467
|
{
|
|
6148
6468
|
"data-slot": "table-empty",
|
|
@@ -6151,10 +6471,10 @@ function Table3({
|
|
|
6151
6471
|
}
|
|
6152
6472
|
) }) }) : pageRows.map((row, rowIndex) => {
|
|
6153
6473
|
const key = row[rowKey];
|
|
6154
|
-
return /* @__PURE__ */ (0,
|
|
6474
|
+
return /* @__PURE__ */ (0, import_jsx_runtime116.jsx)(
|
|
6155
6475
|
TableRow,
|
|
6156
6476
|
{
|
|
6157
|
-
children: columns.map((column, columnIndex) => /* @__PURE__ */ (0,
|
|
6477
|
+
children: columns.map((column, columnIndex) => /* @__PURE__ */ (0, import_jsx_runtime116.jsx)(TableCell, { children: column.cell ? renderChildren([column.cell], { row, rowIndex }) : renderCellValue2(
|
|
6158
6478
|
column.dataIndex === void 0 ? void 0 : row[column.dataIndex]
|
|
6159
6479
|
) }, column.dataIndex ?? String(columnIndex)))
|
|
6160
6480
|
},
|
|
@@ -6162,8 +6482,8 @@ function Table3({
|
|
|
6162
6482
|
);
|
|
6163
6483
|
}) })
|
|
6164
6484
|
] }),
|
|
6165
|
-
pageSize !== void 0 && pageSize > 0 ? /* @__PURE__ */ (0,
|
|
6166
|
-
(page) => /* @__PURE__ */ (0,
|
|
6485
|
+
pageSize !== void 0 && pageSize > 0 ? /* @__PURE__ */ (0, import_jsx_runtime116.jsx)("div", { "data-slot": "table-pagination", className: "mt-3 flex justify-end gap-1", children: Array.from({ length: pageCount }, (_, index) => index + 1).map(
|
|
6486
|
+
(page) => /* @__PURE__ */ (0, import_jsx_runtime116.jsx)(
|
|
6167
6487
|
Button,
|
|
6168
6488
|
{
|
|
6169
6489
|
type: "button",
|
|
@@ -6184,12 +6504,12 @@ var import_runtime19 = require("@pactor-app/runtime");
|
|
|
6184
6504
|
|
|
6185
6505
|
// src/ui/tabs.tsx
|
|
6186
6506
|
var import_tabs = require("@base-ui/react/tabs");
|
|
6187
|
-
var
|
|
6507
|
+
var import_jsx_runtime117 = require("react/jsx-runtime");
|
|
6188
6508
|
function Tabs({
|
|
6189
6509
|
className,
|
|
6190
6510
|
...props
|
|
6191
6511
|
}) {
|
|
6192
|
-
return /* @__PURE__ */ (0,
|
|
6512
|
+
return /* @__PURE__ */ (0, import_jsx_runtime117.jsx)(
|
|
6193
6513
|
import_tabs.Tabs.Root,
|
|
6194
6514
|
{
|
|
6195
6515
|
"data-slot": "tabs",
|
|
@@ -6202,7 +6522,7 @@ function TabsList({
|
|
|
6202
6522
|
className,
|
|
6203
6523
|
...props
|
|
6204
6524
|
}) {
|
|
6205
|
-
return /* @__PURE__ */ (0,
|
|
6525
|
+
return /* @__PURE__ */ (0, import_jsx_runtime117.jsx)(
|
|
6206
6526
|
import_tabs.Tabs.List,
|
|
6207
6527
|
{
|
|
6208
6528
|
"data-slot": "tabs-list",
|
|
@@ -6218,12 +6538,12 @@ function TabsTrigger({
|
|
|
6218
6538
|
className,
|
|
6219
6539
|
...props
|
|
6220
6540
|
}) {
|
|
6221
|
-
return /* @__PURE__ */ (0,
|
|
6541
|
+
return /* @__PURE__ */ (0, import_jsx_runtime117.jsx)(
|
|
6222
6542
|
import_tabs.Tabs.Tab,
|
|
6223
6543
|
{
|
|
6224
6544
|
"data-slot": "tabs-trigger",
|
|
6225
6545
|
className: cn(
|
|
6226
|
-
"inline-flex h-[calc(100%-1px)] flex-1 cursor-pointer items-center justify-center gap-1.5 rounded-md border border-transparent px-2 py-1 text-sm font-medium whitespace-nowrap text-foreground transition-colors focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 data-active:border-border data-active:bg-
|
|
6546
|
+
"inline-flex h-[calc(100%-1px)] flex-1 cursor-pointer items-center justify-center gap-1.5 rounded-md border border-transparent px-2 py-1 text-sm font-medium whitespace-nowrap text-foreground transition-colors focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 data-active:border-border data-active:bg-card data-active:shadow-sm [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
|
|
6227
6547
|
className
|
|
6228
6548
|
),
|
|
6229
6549
|
...props
|
|
@@ -6234,7 +6554,7 @@ function TabsContent({
|
|
|
6234
6554
|
className,
|
|
6235
6555
|
...props
|
|
6236
6556
|
}) {
|
|
6237
|
-
return /* @__PURE__ */ (0,
|
|
6557
|
+
return /* @__PURE__ */ (0, import_jsx_runtime117.jsx)(
|
|
6238
6558
|
import_tabs.Tabs.Panel,
|
|
6239
6559
|
{
|
|
6240
6560
|
"data-slot": "tabs-content",
|
|
@@ -6245,10 +6565,10 @@ function TabsContent({
|
|
|
6245
6565
|
}
|
|
6246
6566
|
|
|
6247
6567
|
// src/components/components/Tabs/index.tsx
|
|
6248
|
-
var
|
|
6568
|
+
var import_jsx_runtime118 = require("react/jsx-runtime");
|
|
6249
6569
|
function Tabs2({ items = [], activeKey, onChange, className, style }) {
|
|
6250
6570
|
const { renderChildren } = (0, import_runtime19.useRenderer)();
|
|
6251
|
-
return /* @__PURE__ */ (0,
|
|
6571
|
+
return /* @__PURE__ */ (0, import_jsx_runtime118.jsxs)(
|
|
6252
6572
|
Tabs,
|
|
6253
6573
|
{
|
|
6254
6574
|
value: activeKey,
|
|
@@ -6257,20 +6577,20 @@ function Tabs2({ items = [], activeKey, onChange, className, style }) {
|
|
|
6257
6577
|
className,
|
|
6258
6578
|
style,
|
|
6259
6579
|
children: [
|
|
6260
|
-
/* @__PURE__ */ (0,
|
|
6261
|
-
items.map((item) => /* @__PURE__ */ (0,
|
|
6580
|
+
/* @__PURE__ */ (0, import_jsx_runtime118.jsx)(TabsList, { children: items.map((item) => /* @__PURE__ */ (0, import_jsx_runtime118.jsx)(TabsTrigger, { value: item.key, children: item.label }, item.key)) }),
|
|
6581
|
+
items.map((item) => /* @__PURE__ */ (0, import_jsx_runtime118.jsx)(TabsContent, { value: item.key, children: renderChildren(item.children) }, item.key))
|
|
6262
6582
|
]
|
|
6263
6583
|
}
|
|
6264
6584
|
);
|
|
6265
6585
|
}
|
|
6266
6586
|
|
|
6267
6587
|
// src/components/components/Text/index.tsx
|
|
6268
|
-
var
|
|
6588
|
+
var import_jsx_runtime119 = require("react/jsx-runtime");
|
|
6269
6589
|
var typeClassMap = {
|
|
6270
6590
|
default: "",
|
|
6271
6591
|
secondary: "text-muted-foreground",
|
|
6272
|
-
success: "text-
|
|
6273
|
-
warning: "text-
|
|
6592
|
+
success: "text-success",
|
|
6593
|
+
warning: "text-warning",
|
|
6274
6594
|
danger: "text-destructive"
|
|
6275
6595
|
};
|
|
6276
6596
|
function Text({
|
|
@@ -6284,7 +6604,7 @@ function Text({
|
|
|
6284
6604
|
style,
|
|
6285
6605
|
children
|
|
6286
6606
|
}) {
|
|
6287
|
-
return /* @__PURE__ */ (0,
|
|
6607
|
+
return /* @__PURE__ */ (0, import_jsx_runtime119.jsx)(
|
|
6288
6608
|
"span",
|
|
6289
6609
|
{
|
|
6290
6610
|
"data-slot": "text",
|
|
@@ -6304,8 +6624,8 @@ function Text({
|
|
|
6304
6624
|
}
|
|
6305
6625
|
|
|
6306
6626
|
// src/components/components/Textarea/index.tsx
|
|
6307
|
-
var
|
|
6308
|
-
var
|
|
6627
|
+
var import_react26 = require("react");
|
|
6628
|
+
var import_jsx_runtime120 = require("react/jsx-runtime");
|
|
6309
6629
|
function Textarea2({
|
|
6310
6630
|
name,
|
|
6311
6631
|
label,
|
|
@@ -6319,9 +6639,9 @@ function Textarea2({
|
|
|
6319
6639
|
style
|
|
6320
6640
|
}) {
|
|
6321
6641
|
const form = useFormContext();
|
|
6322
|
-
const controlId = (0,
|
|
6642
|
+
const controlId = (0, import_react26.useId)();
|
|
6323
6643
|
const inForm = form?.inForm === true && typeof name === "string" && name !== "";
|
|
6324
|
-
(0,
|
|
6644
|
+
(0, import_react26.useEffect)(() => {
|
|
6325
6645
|
if (inForm && form && name) {
|
|
6326
6646
|
form.registerField(name, rules, value);
|
|
6327
6647
|
return () => form.unregisterField(name);
|
|
@@ -6330,7 +6650,7 @@ function Textarea2({
|
|
|
6330
6650
|
});
|
|
6331
6651
|
if (inForm && form && name) {
|
|
6332
6652
|
const fieldValue = form.values[name];
|
|
6333
|
-
return /* @__PURE__ */ (0,
|
|
6653
|
+
return /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(
|
|
6334
6654
|
FieldShell,
|
|
6335
6655
|
{
|
|
6336
6656
|
layout: form.layout,
|
|
@@ -6339,7 +6659,7 @@ function Textarea2({
|
|
|
6339
6659
|
error: form.errors[name],
|
|
6340
6660
|
className,
|
|
6341
6661
|
style,
|
|
6342
|
-
children: /* @__PURE__ */ (0,
|
|
6662
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(
|
|
6343
6663
|
Textarea,
|
|
6344
6664
|
{
|
|
6345
6665
|
id: controlId,
|
|
@@ -6356,7 +6676,7 @@ function Textarea2({
|
|
|
6356
6676
|
}
|
|
6357
6677
|
);
|
|
6358
6678
|
}
|
|
6359
|
-
return /* @__PURE__ */ (0,
|
|
6679
|
+
return /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(
|
|
6360
6680
|
Textarea,
|
|
6361
6681
|
{
|
|
6362
6682
|
value: value ?? "",
|
|
@@ -6372,9 +6692,9 @@ function Textarea2({
|
|
|
6372
6692
|
|
|
6373
6693
|
// src/ui/toggle.tsx
|
|
6374
6694
|
var import_toggle = require("@base-ui/react/toggle");
|
|
6375
|
-
var
|
|
6376
|
-
var
|
|
6377
|
-
var toggleVariants = (0,
|
|
6695
|
+
var import_class_variance_authority7 = require("class-variance-authority");
|
|
6696
|
+
var import_jsx_runtime121 = require("react/jsx-runtime");
|
|
6697
|
+
var toggleVariants = (0, import_class_variance_authority7.cva)(
|
|
6378
6698
|
"inline-flex cursor-pointer items-center justify-center gap-2 rounded-md text-sm font-medium whitespace-nowrap transition-colors outline-none hover:bg-muted hover:text-muted-foreground focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 data-pressed:bg-accent data-pressed:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
|
|
6379
6699
|
{
|
|
6380
6700
|
variants: {
|
|
@@ -6400,7 +6720,7 @@ function Toggle({
|
|
|
6400
6720
|
size,
|
|
6401
6721
|
...props
|
|
6402
6722
|
}) {
|
|
6403
|
-
return /* @__PURE__ */ (0,
|
|
6723
|
+
return /* @__PURE__ */ (0, import_jsx_runtime121.jsx)(
|
|
6404
6724
|
import_toggle.Toggle,
|
|
6405
6725
|
{
|
|
6406
6726
|
"data-slot": "toggle",
|
|
@@ -6411,7 +6731,7 @@ function Toggle({
|
|
|
6411
6731
|
}
|
|
6412
6732
|
|
|
6413
6733
|
// src/components/components/Toggle/index.tsx
|
|
6414
|
-
var
|
|
6734
|
+
var import_jsx_runtime122 = require("react/jsx-runtime");
|
|
6415
6735
|
function Toggle2({
|
|
6416
6736
|
text,
|
|
6417
6737
|
pressed,
|
|
@@ -6422,7 +6742,7 @@ function Toggle2({
|
|
|
6422
6742
|
className,
|
|
6423
6743
|
style
|
|
6424
6744
|
}) {
|
|
6425
|
-
return /* @__PURE__ */ (0,
|
|
6745
|
+
return /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(
|
|
6426
6746
|
Toggle,
|
|
6427
6747
|
{
|
|
6428
6748
|
pressed,
|
|
@@ -6440,9 +6760,9 @@ function Toggle2({
|
|
|
6440
6760
|
// src/ui/toggle-group.tsx
|
|
6441
6761
|
var import_toggle3 = require("@base-ui/react/toggle");
|
|
6442
6762
|
var import_toggle_group = require("@base-ui/react/toggle-group");
|
|
6443
|
-
var
|
|
6444
|
-
var
|
|
6445
|
-
var ToggleGroupContext =
|
|
6763
|
+
var React5 = __toESM(require("react"), 1);
|
|
6764
|
+
var import_jsx_runtime123 = require("react/jsx-runtime");
|
|
6765
|
+
var ToggleGroupContext = React5.createContext({
|
|
6446
6766
|
size: "default",
|
|
6447
6767
|
variant: "default"
|
|
6448
6768
|
});
|
|
@@ -6453,7 +6773,7 @@ function ToggleGroup({
|
|
|
6453
6773
|
children,
|
|
6454
6774
|
...props
|
|
6455
6775
|
}) {
|
|
6456
|
-
return /* @__PURE__ */ (0,
|
|
6776
|
+
return /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(
|
|
6457
6777
|
import_toggle_group.ToggleGroup,
|
|
6458
6778
|
{
|
|
6459
6779
|
"data-slot": "toggle-group",
|
|
@@ -6464,7 +6784,7 @@ function ToggleGroup({
|
|
|
6464
6784
|
className
|
|
6465
6785
|
),
|
|
6466
6786
|
...props,
|
|
6467
|
-
children: /* @__PURE__ */ (0,
|
|
6787
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(ToggleGroupContext.Provider, { value: { variant, size }, children })
|
|
6468
6788
|
}
|
|
6469
6789
|
);
|
|
6470
6790
|
}
|
|
@@ -6475,8 +6795,8 @@ function ToggleGroupItem({
|
|
|
6475
6795
|
size,
|
|
6476
6796
|
...props
|
|
6477
6797
|
}) {
|
|
6478
|
-
const context =
|
|
6479
|
-
return /* @__PURE__ */ (0,
|
|
6798
|
+
const context = React5.useContext(ToggleGroupContext);
|
|
6799
|
+
return /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(
|
|
6480
6800
|
import_toggle3.Toggle,
|
|
6481
6801
|
{
|
|
6482
6802
|
"data-slot": "toggle-group-item",
|
|
@@ -6497,7 +6817,7 @@ function ToggleGroupItem({
|
|
|
6497
6817
|
}
|
|
6498
6818
|
|
|
6499
6819
|
// src/components/components/ToggleGroup/index.tsx
|
|
6500
|
-
var
|
|
6820
|
+
var import_jsx_runtime124 = require("react/jsx-runtime");
|
|
6501
6821
|
function ToggleGroup2({
|
|
6502
6822
|
options = [],
|
|
6503
6823
|
value,
|
|
@@ -6517,7 +6837,7 @@ function ToggleGroup2({
|
|
|
6517
6837
|
onChange?.(added ?? void 0);
|
|
6518
6838
|
}
|
|
6519
6839
|
};
|
|
6520
|
-
return /* @__PURE__ */ (0,
|
|
6840
|
+
return /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(
|
|
6521
6841
|
ToggleGroup,
|
|
6522
6842
|
{
|
|
6523
6843
|
value: groupValue,
|
|
@@ -6526,7 +6846,7 @@ function ToggleGroup2({
|
|
|
6526
6846
|
onValueChange: (next) => handleChange(next),
|
|
6527
6847
|
className,
|
|
6528
6848
|
style,
|
|
6529
|
-
children: options.map((option) => /* @__PURE__ */ (0,
|
|
6849
|
+
children: options.map((option) => /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(
|
|
6530
6850
|
ToggleGroupItem,
|
|
6531
6851
|
{
|
|
6532
6852
|
value: option.value,
|
|
@@ -6540,18 +6860,18 @@ function ToggleGroup2({
|
|
|
6540
6860
|
}
|
|
6541
6861
|
|
|
6542
6862
|
// src/components/components/Tooltip/index.tsx
|
|
6543
|
-
var
|
|
6863
|
+
var import_jsx_runtime125 = require("react/jsx-runtime");
|
|
6544
6864
|
function Tooltip3({ content, children, className, style }) {
|
|
6545
|
-
return /* @__PURE__ */ (0,
|
|
6546
|
-
/* @__PURE__ */ (0,
|
|
6547
|
-
/* @__PURE__ */ (0,
|
|
6865
|
+
return /* @__PURE__ */ (0, import_jsx_runtime125.jsxs)(Tooltip2, { children: [
|
|
6866
|
+
/* @__PURE__ */ (0, import_jsx_runtime125.jsx)(TooltipTrigger, { render: triggerWrapper("tooltip-trigger-wrap"), children }),
|
|
6867
|
+
/* @__PURE__ */ (0, import_jsx_runtime125.jsx)(TooltipContent, { className, style, children: content })
|
|
6548
6868
|
] });
|
|
6549
6869
|
}
|
|
6550
6870
|
|
|
6551
6871
|
// src/ui/typography.tsx
|
|
6552
|
-
var
|
|
6553
|
-
var
|
|
6554
|
-
var typographyVariants = (0,
|
|
6872
|
+
var import_class_variance_authority8 = require("class-variance-authority");
|
|
6873
|
+
var import_jsx_runtime126 = require("react/jsx-runtime");
|
|
6874
|
+
var typographyVariants = (0, import_class_variance_authority8.cva)("", {
|
|
6555
6875
|
variants: {
|
|
6556
6876
|
variant: {
|
|
6557
6877
|
h1: "scroll-m-20 text-4xl font-extrabold tracking-tight text-balance",
|
|
@@ -6586,7 +6906,7 @@ var variantTagMap = {
|
|
|
6586
6906
|
};
|
|
6587
6907
|
function Typography({ className, variant = "p", ...props }) {
|
|
6588
6908
|
const Tag2 = variantTagMap[variant ?? "p"];
|
|
6589
|
-
return /* @__PURE__ */ (0,
|
|
6909
|
+
return /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(
|
|
6590
6910
|
Tag2,
|
|
6591
6911
|
{
|
|
6592
6912
|
"data-slot": "typography",
|
|
@@ -6598,14 +6918,14 @@ function Typography({ className, variant = "p", ...props }) {
|
|
|
6598
6918
|
}
|
|
6599
6919
|
|
|
6600
6920
|
// src/components/components/Typography/index.tsx
|
|
6601
|
-
var
|
|
6921
|
+
var import_jsx_runtime127 = require("react/jsx-runtime");
|
|
6602
6922
|
function Typography2({
|
|
6603
6923
|
variant = "p",
|
|
6604
6924
|
text,
|
|
6605
6925
|
className,
|
|
6606
6926
|
style
|
|
6607
6927
|
}) {
|
|
6608
|
-
return /* @__PURE__ */ (0,
|
|
6928
|
+
return /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(Typography, { variant, className, style, children: text });
|
|
6609
6929
|
}
|
|
6610
6930
|
|
|
6611
6931
|
// src/components/register.ts
|
|
@@ -6714,6 +7034,7 @@ function createComponentRegistry() {
|
|
|
6714
7034
|
Card,
|
|
6715
7035
|
Carousel,
|
|
6716
7036
|
Chart,
|
|
7037
|
+
ChatInput,
|
|
6717
7038
|
Checkbox,
|
|
6718
7039
|
Collapsible,
|
|
6719
7040
|
Combobox,
|