@pactor-app/ui 1.3.0 → 1.8.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/dist/{chunk-P54Y23AP.js → chunk-7YOIAVV6.js} +587 -282
- package/dist/{chunk-EVGIS2ZE.js → chunk-PECP7DJB.js} +120 -7
- package/dist/{chunk-TDVG7MZ5.js → chunk-TAJXMOEX.js} +2 -2
- package/dist/{chunk-L4Z7MNYY.js → chunk-VM4FESQB.js} +16 -2
- package/dist/{chunk-UKA7C3JP.js → chunk-XUIXZJDQ.js} +4 -4
- package/dist/components/index.cjs +1024 -605
- package/dist/components/index.d.cts +91 -5
- package/dist/components/index.d.ts +91 -5
- package/dist/components/index.js +6 -4
- package/dist/index.cjs +1177 -758
- package/dist/index.d.cts +3 -3
- package/dist/index.d.ts +3 -3
- package/dist/index.js +7 -5
- package/dist/layout/index.cjs +138 -12
- package/dist/layout/index.js +3 -3
- package/dist/{typography-DsGdDBc2.d.cts → typography-BYDh5oku.d.cts} +14 -1
- package/dist/{typography-DsGdDBc2.d.ts → typography-BYDh5oku.d.ts} +14 -1
- package/dist/ui/index.cjs +19 -5
- package/dist/ui/index.d.cts +3 -12
- package/dist/ui/index.d.ts +3 -12
- package/dist/ui/index.js +2 -2
- package/package.json +5 -5
- package/styles.css +58 -29
|
@@ -51,6 +51,7 @@ __export(components_exports, {
|
|
|
51
51
|
Content: () => Content,
|
|
52
52
|
ContextMenu: () => ContextMenu2,
|
|
53
53
|
DataTable: () => DataTable,
|
|
54
|
+
DatePicker: () => DatePicker,
|
|
54
55
|
Dialog: () => Dialog2,
|
|
55
56
|
Drawer: () => Drawer2,
|
|
56
57
|
DropdownMenu: () => DropdownMenu2,
|
|
@@ -903,11 +904,11 @@ function Calendar({
|
|
|
903
904
|
defaultClassNames.day_button
|
|
904
905
|
),
|
|
905
906
|
selected: cn(
|
|
906
|
-
"[&>button]:bg-(--calendar-selected-background) [&>button]:text-(--calendar-selected-foreground) [&>button]:hover:bg-(--calendar-selected-background)",
|
|
907
|
+
"[&>button]:bg-(--calendar-selected-background) [&>button]:text-(--calendar-selected-foreground) [&>button]:hover:bg-(--calendar-selected-background) [&>button]:hover:text-(--calendar-selected-foreground)",
|
|
907
908
|
defaultClassNames.selected
|
|
908
909
|
),
|
|
909
910
|
today: cn(
|
|
910
|
-
"[&>button]:bg-(--calendar-today-background) [&>button]:text-(--calendar-today-foreground)",
|
|
911
|
+
"[&>button]:bg-(--calendar-today-background) [&>button]:text-(--calendar-today-foreground) [&>button]:hover:bg-(--calendar-today-background) [&>button]:hover:text-(--calendar-today-foreground) [&>button]:border [&>button]:border-(--calendar-today-border)",
|
|
911
912
|
defaultClassNames.today
|
|
912
913
|
),
|
|
913
914
|
outside: cn(
|
|
@@ -1011,13 +1012,27 @@ function Calendar2({
|
|
|
1011
1012
|
|
|
1012
1013
|
// src/ui/card.tsx
|
|
1013
1014
|
var import_jsx_runtime22 = require("react/jsx-runtime");
|
|
1014
|
-
|
|
1015
|
+
var cardRoundedClasses = {
|
|
1016
|
+
none: "rounded-none",
|
|
1017
|
+
sm: "rounded-sm",
|
|
1018
|
+
md: "rounded-md",
|
|
1019
|
+
lg: "rounded-lg",
|
|
1020
|
+
xl: "rounded-xl",
|
|
1021
|
+
"2xl": "rounded-2xl",
|
|
1022
|
+
"3xl": "rounded-3xl"
|
|
1023
|
+
};
|
|
1024
|
+
function Card({
|
|
1025
|
+
className,
|
|
1026
|
+
rounded = "lg",
|
|
1027
|
+
...props
|
|
1028
|
+
}) {
|
|
1015
1029
|
return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
|
|
1016
1030
|
"div",
|
|
1017
1031
|
{
|
|
1018
1032
|
"data-slot": "card",
|
|
1019
1033
|
className: cn(
|
|
1020
|
-
"flex flex-col gap-6
|
|
1034
|
+
"flex flex-col gap-6 border border-border bg-card py-6 text-card-foreground shadow-(--card-shadow)",
|
|
1035
|
+
cardRoundedClasses[rounded],
|
|
1021
1036
|
className
|
|
1022
1037
|
),
|
|
1023
1038
|
...props
|
|
@@ -1060,10 +1075,11 @@ function CardContent({ className, ...props }) {
|
|
|
1060
1075
|
|
|
1061
1076
|
// src/components/components/Card/index.tsx
|
|
1062
1077
|
var import_jsx_runtime23 = require("react/jsx-runtime");
|
|
1063
|
-
function Card2({ title, bordered = true, className, style, children }) {
|
|
1078
|
+
function Card2({ title, bordered = true, rounded, className, style, children }) {
|
|
1064
1079
|
return /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(
|
|
1065
1080
|
Card,
|
|
1066
1081
|
{
|
|
1082
|
+
rounded,
|
|
1067
1083
|
className: cn("gap-4 py-4", !bordered && "border-transparent shadow-none", className),
|
|
1068
1084
|
style,
|
|
1069
1085
|
children: [
|
|
@@ -2550,34 +2566,323 @@ function DataTable({
|
|
|
2550
2566
|
] });
|
|
2551
2567
|
}
|
|
2552
2568
|
|
|
2553
|
-
// src/components/components/
|
|
2569
|
+
// src/components/components/DatePicker/index.tsx
|
|
2554
2570
|
var import_runtime7 = require("@pactor-app/runtime");
|
|
2571
|
+
var import_date_fns2 = require("date-fns");
|
|
2572
|
+
var import_locale = require("date-fns/locale");
|
|
2573
|
+
var import_lucide_react13 = require("lucide-react");
|
|
2555
2574
|
var import_react11 = require("react");
|
|
2575
|
+
var import_jsx_runtime46 = require("react/jsx-runtime");
|
|
2576
|
+
function toDateFnsLocale(locale) {
|
|
2577
|
+
switch (locale) {
|
|
2578
|
+
case "zh-CN":
|
|
2579
|
+
return import_locale.zhCN;
|
|
2580
|
+
case "en-US":
|
|
2581
|
+
return import_locale.enUS;
|
|
2582
|
+
default:
|
|
2583
|
+
return import_locale.enUS;
|
|
2584
|
+
}
|
|
2585
|
+
}
|
|
2586
|
+
function parseDate(value) {
|
|
2587
|
+
if (typeof value !== "string" || value === "") return void 0;
|
|
2588
|
+
const date = (0, import_date_fns2.parseISO)(value);
|
|
2589
|
+
return (0, import_date_fns2.isValid)(date) ? date : void 0;
|
|
2590
|
+
}
|
|
2591
|
+
function parseRange(value) {
|
|
2592
|
+
if (typeof value !== "object" || value === null) return void 0;
|
|
2593
|
+
const { start, end } = value;
|
|
2594
|
+
const from = parseDate(start);
|
|
2595
|
+
const to = parseDate(end);
|
|
2596
|
+
return from && to ? { from, to } : void 0;
|
|
2597
|
+
}
|
|
2598
|
+
var RANGE_ENDPOINT_CLASSES = "[&>button]:bg-(--calendar-selected-background) [&>button]:text-(--calendar-selected-foreground) [&>button]:hover:bg-(--calendar-selected-background) [&>button]:hover:text-(--calendar-selected-foreground)";
|
|
2599
|
+
var IN_RANGE_CLASSES = "[&>button]:bg-(--calendar-range-background) [&>button]:text-(--calendar-range-foreground) [&>button]:rounded-none";
|
|
2600
|
+
function DatePicker(props) {
|
|
2601
|
+
const {
|
|
2602
|
+
name,
|
|
2603
|
+
label,
|
|
2604
|
+
rules,
|
|
2605
|
+
placeholder,
|
|
2606
|
+
disabled,
|
|
2607
|
+
presets,
|
|
2608
|
+
className,
|
|
2609
|
+
style
|
|
2610
|
+
} = props;
|
|
2611
|
+
const mode = props.mode ?? "single";
|
|
2612
|
+
const isRange = mode === "range";
|
|
2613
|
+
const value = props.value;
|
|
2614
|
+
const onChange = props.onChange;
|
|
2615
|
+
const form = useFormContext();
|
|
2616
|
+
const { locale, t } = (0, import_runtime7.useI18n)();
|
|
2617
|
+
const dfLocale = toDateFnsLocale(locale);
|
|
2618
|
+
const controlId = (0, import_react11.useId)();
|
|
2619
|
+
const inForm = form?.inForm === true && typeof name === "string" && name !== "";
|
|
2620
|
+
const [open, setOpen] = (0, import_react11.useState)(false);
|
|
2621
|
+
(0, import_react11.useEffect)(() => {
|
|
2622
|
+
if (inForm && form && name) {
|
|
2623
|
+
form.registerField(name, rules, value);
|
|
2624
|
+
return () => form.unregisterField(name);
|
|
2625
|
+
}
|
|
2626
|
+
return void 0;
|
|
2627
|
+
});
|
|
2628
|
+
const [innerValue, setInnerValue] = (0, import_react11.useState)(value);
|
|
2629
|
+
(0, import_react11.useEffect)(() => {
|
|
2630
|
+
if (!inForm) setInnerValue(value);
|
|
2631
|
+
}, [inForm, value]);
|
|
2632
|
+
const [pendingStart, setPendingStart] = (0, import_react11.useState)();
|
|
2633
|
+
const [startMonth, setStartMonth] = (0, import_react11.useState)(
|
|
2634
|
+
() => (0, import_date_fns2.startOfMonth)(/* @__PURE__ */ new Date())
|
|
2635
|
+
);
|
|
2636
|
+
const [endMonth, setEndMonth] = (0, import_react11.useState)(
|
|
2637
|
+
() => (0, import_date_fns2.startOfMonth)((0, import_date_fns2.addMonths)(/* @__PURE__ */ new Date(), 1))
|
|
2638
|
+
);
|
|
2639
|
+
const current = inForm && form && name ? form.values[name] : innerValue;
|
|
2640
|
+
const setPanelMonths = (start, end) => {
|
|
2641
|
+
const s = (0, import_date_fns2.startOfMonth)(start);
|
|
2642
|
+
const e = (0, import_date_fns2.startOfMonth)(end);
|
|
2643
|
+
setStartMonth(s);
|
|
2644
|
+
setEndMonth((0, import_date_fns2.isBefore)(e, (0, import_date_fns2.addMonths)(s, 1)) ? (0, import_date_fns2.addMonths)(s, 1) : e);
|
|
2645
|
+
};
|
|
2646
|
+
const handleStartMonthChange = (month) => {
|
|
2647
|
+
const s = (0, import_date_fns2.startOfMonth)(month);
|
|
2648
|
+
setStartMonth(s);
|
|
2649
|
+
setEndMonth((prev) => (0, import_date_fns2.isBefore)(s, prev) ? prev : (0, import_date_fns2.addMonths)(s, 1));
|
|
2650
|
+
};
|
|
2651
|
+
const handleEndMonthChange = (month) => {
|
|
2652
|
+
const e = (0, import_date_fns2.startOfMonth)(month);
|
|
2653
|
+
setEndMonth(e);
|
|
2654
|
+
setStartMonth((prev) => (0, import_date_fns2.isBefore)(prev, e) ? prev : (0, import_date_fns2.subMonths)(e, 1));
|
|
2655
|
+
};
|
|
2656
|
+
(0, import_react11.useEffect)(() => {
|
|
2657
|
+
if (!isRange) return;
|
|
2658
|
+
const parsed = parseRange(current);
|
|
2659
|
+
setPendingStart(void 0);
|
|
2660
|
+
setPanelMonths(
|
|
2661
|
+
parsed?.from ?? /* @__PURE__ */ new Date(),
|
|
2662
|
+
parsed?.to ?? (0, import_date_fns2.addMonths)(/* @__PURE__ */ new Date(), 1)
|
|
2663
|
+
);
|
|
2664
|
+
}, [isRange, current]);
|
|
2665
|
+
const commit = (next) => {
|
|
2666
|
+
if (inForm && form && name) {
|
|
2667
|
+
form.setValue(name, next);
|
|
2668
|
+
} else {
|
|
2669
|
+
setInnerValue(next);
|
|
2670
|
+
}
|
|
2671
|
+
onChange?.(next);
|
|
2672
|
+
};
|
|
2673
|
+
const commitRange = (from, to) => {
|
|
2674
|
+
commit({ start: (0, import_date_fns2.format)(from, "yyyy-MM-dd"), end: (0, import_date_fns2.format)(to, "yyyy-MM-dd") });
|
|
2675
|
+
};
|
|
2676
|
+
const handleSingleSelect = (date) => {
|
|
2677
|
+
commit(date ? (0, import_date_fns2.format)(date, "yyyy-MM-dd") : void 0);
|
|
2678
|
+
};
|
|
2679
|
+
const parsedRange = isRange ? parseRange(current) : void 0;
|
|
2680
|
+
const rangeStart = pendingStart ?? parsedRange?.from;
|
|
2681
|
+
const rangeEnd = pendingStart !== void 0 ? void 0 : parsedRange?.to;
|
|
2682
|
+
const handleRangeDaySelect = (date) => {
|
|
2683
|
+
if (!date) return;
|
|
2684
|
+
const day = (0, import_date_fns2.startOfDay)(date);
|
|
2685
|
+
if (pendingStart) {
|
|
2686
|
+
if ((0, import_date_fns2.isBefore)(day, pendingStart)) {
|
|
2687
|
+
setPendingStart(day);
|
|
2688
|
+
} else {
|
|
2689
|
+
commitRange(pendingStart, day);
|
|
2690
|
+
}
|
|
2691
|
+
} else {
|
|
2692
|
+
setPendingStart(day);
|
|
2693
|
+
}
|
|
2694
|
+
};
|
|
2695
|
+
const presetList = presets === false ? [] : presets ?? (isRange ? [{ key: "today" }, { key: "thisWeek" }, { key: "thisMonth" }] : []);
|
|
2696
|
+
const resolvePreset = (preset) => {
|
|
2697
|
+
const now = /* @__PURE__ */ new Date();
|
|
2698
|
+
if ("key" in preset) {
|
|
2699
|
+
const key = preset.key;
|
|
2700
|
+
const label2 = preset.label ?? t(`pactor.datePicker.${key}`);
|
|
2701
|
+
if (key === "today") return { label: label2, from: now, to: now };
|
|
2702
|
+
if (key === "thisWeek") {
|
|
2703
|
+
return {
|
|
2704
|
+
label: label2,
|
|
2705
|
+
from: (0, import_date_fns2.startOfWeek)(now, { locale: dfLocale }),
|
|
2706
|
+
to: (0, import_date_fns2.endOfWeek)(now, { locale: dfLocale })
|
|
2707
|
+
};
|
|
2708
|
+
}
|
|
2709
|
+
return { label: label2, from: (0, import_date_fns2.startOfMonth)(now), to: (0, import_date_fns2.endOfMonth)(now) };
|
|
2710
|
+
}
|
|
2711
|
+
if ("days" in preset) {
|
|
2712
|
+
return { label: preset.label, from: (0, import_date_fns2.subDays)(now, preset.days - 1), to: now };
|
|
2713
|
+
}
|
|
2714
|
+
return {
|
|
2715
|
+
label: preset.label,
|
|
2716
|
+
from: parseDate(preset.range.start) ?? now,
|
|
2717
|
+
to: parseDate(preset.range.end) ?? now
|
|
2718
|
+
};
|
|
2719
|
+
};
|
|
2720
|
+
const handlePresetClick = (preset, from, to) => {
|
|
2721
|
+
if ("key" in preset && preset.key === "today") {
|
|
2722
|
+
const today = (0, import_date_fns2.startOfDay)(/* @__PURE__ */ new Date());
|
|
2723
|
+
if (isRange) {
|
|
2724
|
+
setPendingStart(today);
|
|
2725
|
+
setPanelMonths(today, (0, import_date_fns2.addMonths)(today, 1));
|
|
2726
|
+
} else {
|
|
2727
|
+
commit((0, import_date_fns2.format)(today, "yyyy-MM-dd"));
|
|
2728
|
+
}
|
|
2729
|
+
return;
|
|
2730
|
+
}
|
|
2731
|
+
commitRange(from, to);
|
|
2732
|
+
};
|
|
2733
|
+
const singleDate = isRange ? void 0 : parseDate(current);
|
|
2734
|
+
const hasInnerRange = isRange && rangeStart !== void 0 && rangeEnd !== void 0 && (0, import_date_fns2.isBefore)((0, import_date_fns2.startOfDay)(rangeStart), (0, import_date_fns2.startOfDay)(rangeEnd));
|
|
2735
|
+
const rangeModifiers = isRange ? {
|
|
2736
|
+
...rangeStart ? { rangeStart } : {},
|
|
2737
|
+
...rangeEnd ? { rangeEnd } : {},
|
|
2738
|
+
...hasInnerRange ? { inRange: { after: rangeStart, before: rangeEnd } } : {}
|
|
2739
|
+
} : void 0;
|
|
2740
|
+
const rangeModifierClassNames = rangeModifiers ? {
|
|
2741
|
+
...rangeStart ? { rangeStart: RANGE_ENDPOINT_CLASSES } : {},
|
|
2742
|
+
...rangeEnd ? { rangeEnd: RANGE_ENDPOINT_CLASSES } : {},
|
|
2743
|
+
...hasInnerRange ? { inRange: IN_RANGE_CLASSES } : {}
|
|
2744
|
+
} : void 0;
|
|
2745
|
+
const displayText = isRange ? typeof current === "object" && current !== null ? `${current.start} ~ ${current.end}` : "" : typeof current === "string" ? current : "";
|
|
2746
|
+
const placeholderText = placeholder ?? t(isRange ? "pactor.datePicker.placeholderRange" : "pactor.datePicker.placeholder");
|
|
2747
|
+
const calendar = isRange ? /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)("div", { className: "flex", children: [
|
|
2748
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
|
|
2749
|
+
"div",
|
|
2750
|
+
{
|
|
2751
|
+
"data-slot": "datepicker-start-panel",
|
|
2752
|
+
className: "border-r border-border",
|
|
2753
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
|
|
2754
|
+
Calendar,
|
|
2755
|
+
{
|
|
2756
|
+
mode: "single",
|
|
2757
|
+
month: startMonth,
|
|
2758
|
+
onMonthChange: handleStartMonthChange,
|
|
2759
|
+
onSelect: handleRangeDaySelect,
|
|
2760
|
+
modifiers: rangeModifiers,
|
|
2761
|
+
modifiersClassNames: rangeModifierClassNames,
|
|
2762
|
+
locale: dfLocale
|
|
2763
|
+
}
|
|
2764
|
+
)
|
|
2765
|
+
}
|
|
2766
|
+
),
|
|
2767
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)("div", { "data-slot": "datepicker-end-panel", children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
|
|
2768
|
+
Calendar,
|
|
2769
|
+
{
|
|
2770
|
+
mode: "single",
|
|
2771
|
+
month: endMonth,
|
|
2772
|
+
onMonthChange: handleEndMonthChange,
|
|
2773
|
+
onSelect: handleRangeDaySelect,
|
|
2774
|
+
modifiers: rangeModifiers,
|
|
2775
|
+
modifiersClassNames: rangeModifierClassNames,
|
|
2776
|
+
locale: dfLocale
|
|
2777
|
+
}
|
|
2778
|
+
) })
|
|
2779
|
+
] }) : /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
|
|
2780
|
+
Calendar,
|
|
2781
|
+
{
|
|
2782
|
+
mode: "single",
|
|
2783
|
+
selected: singleDate,
|
|
2784
|
+
onSelect: handleSingleSelect,
|
|
2785
|
+
locale: dfLocale
|
|
2786
|
+
}
|
|
2787
|
+
);
|
|
2788
|
+
const control = /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(Popover, { open, onOpenChange: setOpen, children: [
|
|
2789
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(
|
|
2790
|
+
PopoverTrigger,
|
|
2791
|
+
{
|
|
2792
|
+
id: controlId,
|
|
2793
|
+
type: "button",
|
|
2794
|
+
disabled,
|
|
2795
|
+
"data-slot": "datepicker-trigger",
|
|
2796
|
+
className: cn(
|
|
2797
|
+
"flex h-9 w-full min-w-0 cursor-pointer items-center justify-between gap-2 rounded-md border border-input bg-transparent px-3 py-1 text-sm shadow-xs transition-colors outline-none hover:bg-accent focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50",
|
|
2798
|
+
displayText === "" && "text-muted-foreground",
|
|
2799
|
+
!inForm && className
|
|
2800
|
+
),
|
|
2801
|
+
style: inForm ? void 0 : style,
|
|
2802
|
+
children: [
|
|
2803
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)("span", { className: "min-w-0 flex-1 truncate text-left", children: displayText === "" ? placeholderText : displayText }),
|
|
2804
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_lucide_react13.Calendar, { className: "size-4 shrink-0 opacity-50" })
|
|
2805
|
+
]
|
|
2806
|
+
}
|
|
2807
|
+
),
|
|
2808
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)(PopoverContent, { className: "w-auto p-0", children: presetList.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)("div", { className: "flex", children: [
|
|
2809
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
|
|
2810
|
+
"div",
|
|
2811
|
+
{
|
|
2812
|
+
"data-slot": "datepicker-presets",
|
|
2813
|
+
className: "flex flex-col gap-1 border-r border-border p-3",
|
|
2814
|
+
children: presetList.map((preset, index) => {
|
|
2815
|
+
const resolved = resolvePreset(preset);
|
|
2816
|
+
return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
|
|
2817
|
+
"button",
|
|
2818
|
+
{
|
|
2819
|
+
type: "button",
|
|
2820
|
+
className: "cursor-pointer rounded-md px-3 py-1.5 text-left text-sm whitespace-nowrap hover:bg-accent hover:text-accent-foreground",
|
|
2821
|
+
onClick: () => handlePresetClick(preset, resolved.from, resolved.to),
|
|
2822
|
+
children: resolved.label
|
|
2823
|
+
},
|
|
2824
|
+
`${resolved.label}-${index}`
|
|
2825
|
+
);
|
|
2826
|
+
})
|
|
2827
|
+
}
|
|
2828
|
+
),
|
|
2829
|
+
calendar
|
|
2830
|
+
] }) : calendar })
|
|
2831
|
+
] });
|
|
2832
|
+
if (inForm && form && name) {
|
|
2833
|
+
const error = form.errors[name];
|
|
2834
|
+
return /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(
|
|
2835
|
+
"div",
|
|
2836
|
+
{
|
|
2837
|
+
"data-slot": "form-item",
|
|
2838
|
+
className: cn(formItemClass(form.layout), className),
|
|
2839
|
+
style,
|
|
2840
|
+
children: [
|
|
2841
|
+
label ? /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
|
|
2842
|
+
"label",
|
|
2843
|
+
{
|
|
2844
|
+
htmlFor: controlId,
|
|
2845
|
+
className: "shrink-0 text-sm leading-none font-medium whitespace-nowrap",
|
|
2846
|
+
children: label
|
|
2847
|
+
}
|
|
2848
|
+
) : null,
|
|
2849
|
+
control,
|
|
2850
|
+
error ? /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("div", { "data-slot": "form-error", className: "text-sm text-destructive", children: error }) : null
|
|
2851
|
+
]
|
|
2852
|
+
}
|
|
2853
|
+
);
|
|
2854
|
+
}
|
|
2855
|
+
return control;
|
|
2856
|
+
}
|
|
2857
|
+
|
|
2858
|
+
// src/components/components/Dialog/index.tsx
|
|
2859
|
+
var import_runtime8 = require("@pactor-app/runtime");
|
|
2860
|
+
var import_react12 = require("react");
|
|
2556
2861
|
|
|
2557
2862
|
// src/ui/dialog.tsx
|
|
2558
2863
|
var import_dialog = require("@base-ui/react/dialog");
|
|
2559
|
-
var
|
|
2560
|
-
var
|
|
2864
|
+
var import_lucide_react14 = require("lucide-react");
|
|
2865
|
+
var import_jsx_runtime47 = require("react/jsx-runtime");
|
|
2561
2866
|
function Dialog({
|
|
2562
2867
|
...props
|
|
2563
2868
|
}) {
|
|
2564
|
-
return /* @__PURE__ */ (0,
|
|
2869
|
+
return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_dialog.Dialog.Root, { "data-slot": "dialog", ...props });
|
|
2565
2870
|
}
|
|
2566
2871
|
function DialogTrigger({
|
|
2567
2872
|
...props
|
|
2568
2873
|
}) {
|
|
2569
|
-
return /* @__PURE__ */ (0,
|
|
2874
|
+
return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_dialog.Dialog.Trigger, { "data-slot": "dialog-trigger", ...props });
|
|
2570
2875
|
}
|
|
2571
2876
|
function DialogPortal({
|
|
2572
2877
|
...props
|
|
2573
2878
|
}) {
|
|
2574
|
-
return /* @__PURE__ */ (0,
|
|
2879
|
+
return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_dialog.Dialog.Portal, { "data-slot": "dialog-portal", ...props });
|
|
2575
2880
|
}
|
|
2576
2881
|
function DialogOverlay({
|
|
2577
2882
|
className,
|
|
2578
2883
|
...props
|
|
2579
2884
|
}) {
|
|
2580
|
-
return /* @__PURE__ */ (0,
|
|
2885
|
+
return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
|
|
2581
2886
|
import_dialog.Dialog.Backdrop,
|
|
2582
2887
|
{
|
|
2583
2888
|
"data-slot": "dialog-overlay",
|
|
@@ -2595,9 +2900,9 @@ function DialogContent({
|
|
|
2595
2900
|
showCloseButton = true,
|
|
2596
2901
|
...props
|
|
2597
2902
|
}) {
|
|
2598
|
-
return /* @__PURE__ */ (0,
|
|
2599
|
-
/* @__PURE__ */ (0,
|
|
2600
|
-
/* @__PURE__ */ (0,
|
|
2903
|
+
return /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)(DialogPortal, { "data-slot": "dialog-portal", children: [
|
|
2904
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)(DialogOverlay, {}),
|
|
2905
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsxs)(
|
|
2601
2906
|
import_dialog.Dialog.Popup,
|
|
2602
2907
|
{
|
|
2603
2908
|
"data-slot": "dialog-content",
|
|
@@ -2608,11 +2913,11 @@ function DialogContent({
|
|
|
2608
2913
|
...props,
|
|
2609
2914
|
children: [
|
|
2610
2915
|
children,
|
|
2611
|
-
showCloseButton && /* @__PURE__ */ (0,
|
|
2916
|
+
showCloseButton && /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)(
|
|
2612
2917
|
import_dialog.Dialog.Close,
|
|
2613
2918
|
{
|
|
2614
2919
|
"data-slot": "dialog-close",
|
|
2615
|
-
render: /* @__PURE__ */ (0,
|
|
2920
|
+
render: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
|
|
2616
2921
|
"button",
|
|
2617
2922
|
{
|
|
2618
2923
|
type: "button",
|
|
@@ -2620,8 +2925,8 @@ function DialogContent({
|
|
|
2620
2925
|
}
|
|
2621
2926
|
),
|
|
2622
2927
|
children: [
|
|
2623
|
-
/* @__PURE__ */ (0,
|
|
2624
|
-
/* @__PURE__ */ (0,
|
|
2928
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_lucide_react14.XIcon, {}),
|
|
2929
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)("span", { className: "sr-only", children: "Close" })
|
|
2625
2930
|
]
|
|
2626
2931
|
}
|
|
2627
2932
|
)
|
|
@@ -2631,7 +2936,7 @@ function DialogContent({
|
|
|
2631
2936
|
] });
|
|
2632
2937
|
}
|
|
2633
2938
|
function DialogHeader({ className, ...props }) {
|
|
2634
|
-
return /* @__PURE__ */ (0,
|
|
2939
|
+
return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
|
|
2635
2940
|
"div",
|
|
2636
2941
|
{
|
|
2637
2942
|
"data-slot": "dialog-header",
|
|
@@ -2644,7 +2949,7 @@ function DialogTitle({
|
|
|
2644
2949
|
className,
|
|
2645
2950
|
...props
|
|
2646
2951
|
}) {
|
|
2647
|
-
return /* @__PURE__ */ (0,
|
|
2952
|
+
return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
|
|
2648
2953
|
import_dialog.Dialog.Title,
|
|
2649
2954
|
{
|
|
2650
2955
|
"data-slot": "dialog-title",
|
|
@@ -2657,7 +2962,7 @@ function DialogDescription({
|
|
|
2657
2962
|
className,
|
|
2658
2963
|
...props
|
|
2659
2964
|
}) {
|
|
2660
|
-
return /* @__PURE__ */ (0,
|
|
2965
|
+
return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
|
|
2661
2966
|
import_dialog.Dialog.Description,
|
|
2662
2967
|
{
|
|
2663
2968
|
"data-slot": "dialog-description",
|
|
@@ -2668,7 +2973,7 @@ function DialogDescription({
|
|
|
2668
2973
|
}
|
|
2669
2974
|
|
|
2670
2975
|
// src/components/components/Dialog/index.tsx
|
|
2671
|
-
var
|
|
2976
|
+
var import_jsx_runtime48 = require("react/jsx-runtime");
|
|
2672
2977
|
function Dialog2({
|
|
2673
2978
|
title,
|
|
2674
2979
|
description,
|
|
@@ -2679,11 +2984,11 @@ function Dialog2({
|
|
|
2679
2984
|
className,
|
|
2680
2985
|
style
|
|
2681
2986
|
}) {
|
|
2682
|
-
const { renderChildren } = (0,
|
|
2683
|
-
const [innerOpen, setInnerOpen] = (0,
|
|
2987
|
+
const { renderChildren } = (0, import_runtime8.useRenderer)();
|
|
2988
|
+
const [innerOpen, setInnerOpen] = (0, import_react12.useState)(false);
|
|
2684
2989
|
const controlled = open !== void 0;
|
|
2685
2990
|
const visible = controlled ? open : innerOpen;
|
|
2686
|
-
return /* @__PURE__ */ (0,
|
|
2991
|
+
return /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(
|
|
2687
2992
|
Dialog,
|
|
2688
2993
|
{
|
|
2689
2994
|
open: visible,
|
|
@@ -2696,7 +3001,7 @@ function Dialog2({
|
|
|
2696
3001
|
}
|
|
2697
3002
|
},
|
|
2698
3003
|
children: [
|
|
2699
|
-
trigger ? /* @__PURE__ */ (0,
|
|
3004
|
+
trigger ? /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
|
|
2700
3005
|
DialogTrigger,
|
|
2701
3006
|
{
|
|
2702
3007
|
nativeButton: false,
|
|
@@ -2704,10 +3009,10 @@ function Dialog2({
|
|
|
2704
3009
|
children: renderChildren([trigger])
|
|
2705
3010
|
}
|
|
2706
3011
|
) : null,
|
|
2707
|
-
/* @__PURE__ */ (0,
|
|
2708
|
-
title || description ? /* @__PURE__ */ (0,
|
|
2709
|
-
title ? /* @__PURE__ */ (0,
|
|
2710
|
-
description ? /* @__PURE__ */ (0,
|
|
3012
|
+
/* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(DialogContent, { className, style, children: [
|
|
3013
|
+
title || description ? /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(DialogHeader, { children: [
|
|
3014
|
+
title ? /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(DialogTitle, { children: title }) : null,
|
|
3015
|
+
description ? /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(DialogDescription, { children: description }) : null
|
|
2711
3016
|
] }) : null,
|
|
2712
3017
|
children
|
|
2713
3018
|
] })
|
|
@@ -2718,22 +3023,22 @@ function Dialog2({
|
|
|
2718
3023
|
|
|
2719
3024
|
// src/ui/drawer.tsx
|
|
2720
3025
|
var import_vaul = require("vaul");
|
|
2721
|
-
var
|
|
3026
|
+
var import_jsx_runtime49 = require("react/jsx-runtime");
|
|
2722
3027
|
function Drawer({
|
|
2723
3028
|
...props
|
|
2724
3029
|
}) {
|
|
2725
|
-
return /* @__PURE__ */ (0,
|
|
3030
|
+
return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_vaul.Drawer.Root, { "data-slot": "drawer", ...props });
|
|
2726
3031
|
}
|
|
2727
3032
|
function DrawerPortal({
|
|
2728
3033
|
...props
|
|
2729
3034
|
}) {
|
|
2730
|
-
return /* @__PURE__ */ (0,
|
|
3035
|
+
return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_vaul.Drawer.Portal, { "data-slot": "drawer-portal", ...props });
|
|
2731
3036
|
}
|
|
2732
3037
|
function DrawerOverlay({
|
|
2733
3038
|
className,
|
|
2734
3039
|
...props
|
|
2735
3040
|
}) {
|
|
2736
|
-
return /* @__PURE__ */ (0,
|
|
3041
|
+
return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
|
|
2737
3042
|
import_vaul.Drawer.Overlay,
|
|
2738
3043
|
{
|
|
2739
3044
|
"data-slot": "drawer-overlay",
|
|
@@ -2747,9 +3052,9 @@ function DrawerContent({
|
|
|
2747
3052
|
children,
|
|
2748
3053
|
...props
|
|
2749
3054
|
}) {
|
|
2750
|
-
return /* @__PURE__ */ (0,
|
|
2751
|
-
/* @__PURE__ */ (0,
|
|
2752
|
-
/* @__PURE__ */ (0,
|
|
3055
|
+
return /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(DrawerPortal, { "data-slot": "drawer-portal", children: [
|
|
3056
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)(DrawerOverlay, {}),
|
|
3057
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(
|
|
2753
3058
|
import_vaul.Drawer.Content,
|
|
2754
3059
|
{
|
|
2755
3060
|
"data-slot": "drawer-content",
|
|
@@ -2763,7 +3068,7 @@ function DrawerContent({
|
|
|
2763
3068
|
),
|
|
2764
3069
|
...props,
|
|
2765
3070
|
children: [
|
|
2766
|
-
/* @__PURE__ */ (0,
|
|
3071
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)("div", { className: "mx-auto mt-4 hidden h-2 w-[100px] shrink-0 rounded-full bg-muted group-data-[vaul-drawer-direction=bottom]/drawer-content:block" }),
|
|
2767
3072
|
children
|
|
2768
3073
|
]
|
|
2769
3074
|
}
|
|
@@ -2771,7 +3076,7 @@ function DrawerContent({
|
|
|
2771
3076
|
] });
|
|
2772
3077
|
}
|
|
2773
3078
|
function DrawerHeader({ className, ...props }) {
|
|
2774
|
-
return /* @__PURE__ */ (0,
|
|
3079
|
+
return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
|
|
2775
3080
|
"div",
|
|
2776
3081
|
{
|
|
2777
3082
|
"data-slot": "drawer-header",
|
|
@@ -2784,7 +3089,7 @@ function DrawerTitle({
|
|
|
2784
3089
|
className,
|
|
2785
3090
|
...props
|
|
2786
3091
|
}) {
|
|
2787
|
-
return /* @__PURE__ */ (0,
|
|
3092
|
+
return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
|
|
2788
3093
|
import_vaul.Drawer.Title,
|
|
2789
3094
|
{
|
|
2790
3095
|
"data-slot": "drawer-title",
|
|
@@ -2795,7 +3100,7 @@ function DrawerTitle({
|
|
|
2795
3100
|
}
|
|
2796
3101
|
|
|
2797
3102
|
// src/components/components/Drawer/index.tsx
|
|
2798
|
-
var
|
|
3103
|
+
var import_jsx_runtime50 = require("react/jsx-runtime");
|
|
2799
3104
|
function Drawer2({
|
|
2800
3105
|
title,
|
|
2801
3106
|
open,
|
|
@@ -2805,7 +3110,7 @@ function Drawer2({
|
|
|
2805
3110
|
className,
|
|
2806
3111
|
style
|
|
2807
3112
|
}) {
|
|
2808
|
-
return /* @__PURE__ */ (0,
|
|
3113
|
+
return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
|
|
2809
3114
|
Drawer,
|
|
2810
3115
|
{
|
|
2811
3116
|
direction: placement,
|
|
@@ -2815,9 +3120,9 @@ function Drawer2({
|
|
|
2815
3120
|
onClose?.();
|
|
2816
3121
|
}
|
|
2817
3122
|
},
|
|
2818
|
-
children: /* @__PURE__ */ (0,
|
|
2819
|
-
title ? /* @__PURE__ */ (0,
|
|
2820
|
-
/* @__PURE__ */ (0,
|
|
3123
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(DrawerContent, { className, style, children: [
|
|
3124
|
+
title ? /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(DrawerHeader, { children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(DrawerTitle, { children: title }) }) : null,
|
|
3125
|
+
/* @__PURE__ */ (0, import_jsx_runtime50.jsx)("div", { className: "flex-1 overflow-auto p-4", children })
|
|
2821
3126
|
] })
|
|
2822
3127
|
}
|
|
2823
3128
|
);
|
|
@@ -2825,17 +3130,17 @@ function Drawer2({
|
|
|
2825
3130
|
|
|
2826
3131
|
// src/ui/dropdown-menu.tsx
|
|
2827
3132
|
var import_menu = require("@base-ui/react/menu");
|
|
2828
|
-
var
|
|
2829
|
-
var
|
|
3133
|
+
var import_lucide_react15 = require("lucide-react");
|
|
3134
|
+
var import_jsx_runtime51 = require("react/jsx-runtime");
|
|
2830
3135
|
function DropdownMenu({
|
|
2831
3136
|
...props
|
|
2832
3137
|
}) {
|
|
2833
|
-
return /* @__PURE__ */ (0,
|
|
3138
|
+
return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_menu.Menu.Root, { "data-slot": "dropdown-menu", ...props });
|
|
2834
3139
|
}
|
|
2835
3140
|
function DropdownMenuTrigger({
|
|
2836
3141
|
...props
|
|
2837
3142
|
}) {
|
|
2838
|
-
return /* @__PURE__ */ (0,
|
|
3143
|
+
return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_menu.Menu.Trigger, { "data-slot": "dropdown-menu-trigger", ...props });
|
|
2839
3144
|
}
|
|
2840
3145
|
function DropdownMenuContent({
|
|
2841
3146
|
className,
|
|
@@ -2844,14 +3149,14 @@ function DropdownMenuContent({
|
|
|
2844
3149
|
sideOffset = 4,
|
|
2845
3150
|
...props
|
|
2846
3151
|
}) {
|
|
2847
|
-
return /* @__PURE__ */ (0,
|
|
3152
|
+
return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_menu.Menu.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
|
|
2848
3153
|
import_menu.Menu.Positioner,
|
|
2849
3154
|
{
|
|
2850
3155
|
align,
|
|
2851
3156
|
side,
|
|
2852
3157
|
sideOffset,
|
|
2853
3158
|
className: "isolate z-50",
|
|
2854
|
-
children: /* @__PURE__ */ (0,
|
|
3159
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
|
|
2855
3160
|
import_menu.Menu.Popup,
|
|
2856
3161
|
{
|
|
2857
3162
|
"data-slot": "dropdown-menu-content",
|
|
@@ -2870,7 +3175,7 @@ function DropdownMenuItem({
|
|
|
2870
3175
|
variant = "default",
|
|
2871
3176
|
...props
|
|
2872
3177
|
}) {
|
|
2873
|
-
return /* @__PURE__ */ (0,
|
|
3178
|
+
return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
|
|
2874
3179
|
import_menu.Menu.Item,
|
|
2875
3180
|
{
|
|
2876
3181
|
"data-slot": "dropdown-menu-item",
|
|
@@ -2886,14 +3191,14 @@ function DropdownMenuItem({
|
|
|
2886
3191
|
function DropdownMenuSub({
|
|
2887
3192
|
...props
|
|
2888
3193
|
}) {
|
|
2889
|
-
return /* @__PURE__ */ (0,
|
|
3194
|
+
return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_menu.Menu.SubmenuRoot, { "data-slot": "dropdown-menu-sub", ...props });
|
|
2890
3195
|
}
|
|
2891
3196
|
function DropdownMenuSubTrigger({
|
|
2892
3197
|
className,
|
|
2893
3198
|
children,
|
|
2894
3199
|
...props
|
|
2895
3200
|
}) {
|
|
2896
|
-
return /* @__PURE__ */ (0,
|
|
3201
|
+
return /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(
|
|
2897
3202
|
import_menu.Menu.SubmenuTrigger,
|
|
2898
3203
|
{
|
|
2899
3204
|
"data-slot": "dropdown-menu-sub-trigger",
|
|
@@ -2904,7 +3209,7 @@ function DropdownMenuSubTrigger({
|
|
|
2904
3209
|
...props,
|
|
2905
3210
|
children: [
|
|
2906
3211
|
children,
|
|
2907
|
-
/* @__PURE__ */ (0,
|
|
3212
|
+
/* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_lucide_react15.ChevronRightIcon, { className: "ml-auto" })
|
|
2908
3213
|
]
|
|
2909
3214
|
}
|
|
2910
3215
|
);
|
|
@@ -2914,7 +3219,7 @@ function DropdownMenuSubContent({
|
|
|
2914
3219
|
sideOffset = 2,
|
|
2915
3220
|
...props
|
|
2916
3221
|
}) {
|
|
2917
|
-
return /* @__PURE__ */ (0,
|
|
3222
|
+
return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_menu.Menu.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_menu.Menu.Positioner, { sideOffset, className: "isolate z-50", children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
|
|
2918
3223
|
import_menu.Menu.Popup,
|
|
2919
3224
|
{
|
|
2920
3225
|
"data-slot": "dropdown-menu-sub-content",
|
|
@@ -2928,7 +3233,7 @@ function DropdownMenuSubContent({
|
|
|
2928
3233
|
}
|
|
2929
3234
|
|
|
2930
3235
|
// src/components/components/DropdownMenu/index.tsx
|
|
2931
|
-
var
|
|
3236
|
+
var import_jsx_runtime52 = require("react/jsx-runtime");
|
|
2932
3237
|
function DropdownMenu2({
|
|
2933
3238
|
items = [],
|
|
2934
3239
|
onSelect,
|
|
@@ -2936,8 +3241,8 @@ function DropdownMenu2({
|
|
|
2936
3241
|
className,
|
|
2937
3242
|
style
|
|
2938
3243
|
}) {
|
|
2939
|
-
return /* @__PURE__ */ (0,
|
|
2940
|
-
/* @__PURE__ */ (0,
|
|
3244
|
+
return /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(DropdownMenu, { children: [
|
|
3245
|
+
/* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
|
|
2941
3246
|
DropdownMenuTrigger,
|
|
2942
3247
|
{
|
|
2943
3248
|
nativeButton: false,
|
|
@@ -2945,14 +3250,14 @@ function DropdownMenu2({
|
|
|
2945
3250
|
children
|
|
2946
3251
|
}
|
|
2947
3252
|
),
|
|
2948
|
-
/* @__PURE__ */ (0,
|
|
3253
|
+
/* @__PURE__ */ (0, import_jsx_runtime52.jsx)(DropdownMenuContent, { className, style, children: items.map((item) => /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(
|
|
2949
3254
|
DropdownMenuItem,
|
|
2950
3255
|
{
|
|
2951
3256
|
variant: item.danger ? "destructive" : "default",
|
|
2952
3257
|
disabled: item.disabled,
|
|
2953
3258
|
onClick: () => onSelect?.(item.value),
|
|
2954
3259
|
children: [
|
|
2955
|
-
item.icon ? /* @__PURE__ */ (0,
|
|
3260
|
+
item.icon ? /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(Icon, { name: item.icon, size: "sm" }) : null,
|
|
2956
3261
|
item.label
|
|
2957
3262
|
]
|
|
2958
3263
|
},
|
|
@@ -2962,9 +3267,9 @@ function DropdownMenu2({
|
|
|
2962
3267
|
}
|
|
2963
3268
|
|
|
2964
3269
|
// src/ui/empty.tsx
|
|
2965
|
-
var
|
|
3270
|
+
var import_jsx_runtime53 = require("react/jsx-runtime");
|
|
2966
3271
|
function Empty({ className, ...props }) {
|
|
2967
|
-
return /* @__PURE__ */ (0,
|
|
3272
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
|
|
2968
3273
|
"div",
|
|
2969
3274
|
{
|
|
2970
3275
|
"data-slot": "empty",
|
|
@@ -2977,7 +3282,7 @@ function Empty({ className, ...props }) {
|
|
|
2977
3282
|
);
|
|
2978
3283
|
}
|
|
2979
3284
|
function EmptyHeader({ className, ...props }) {
|
|
2980
|
-
return /* @__PURE__ */ (0,
|
|
3285
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
|
|
2981
3286
|
"div",
|
|
2982
3287
|
{
|
|
2983
3288
|
"data-slot": "empty-header",
|
|
@@ -2987,7 +3292,7 @@ function EmptyHeader({ className, ...props }) {
|
|
|
2987
3292
|
);
|
|
2988
3293
|
}
|
|
2989
3294
|
function EmptyTitle({ className, ...props }) {
|
|
2990
|
-
return /* @__PURE__ */ (0,
|
|
3295
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
|
|
2991
3296
|
"div",
|
|
2992
3297
|
{
|
|
2993
3298
|
"data-slot": "empty-title",
|
|
@@ -2997,7 +3302,7 @@ function EmptyTitle({ className, ...props }) {
|
|
|
2997
3302
|
);
|
|
2998
3303
|
}
|
|
2999
3304
|
function EmptyDescription({ className, ...props }) {
|
|
3000
|
-
return /* @__PURE__ */ (0,
|
|
3305
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
|
|
3001
3306
|
"p",
|
|
3002
3307
|
{
|
|
3003
3308
|
"data-slot": "empty-description",
|
|
@@ -3007,7 +3312,7 @@ function EmptyDescription({ className, ...props }) {
|
|
|
3007
3312
|
);
|
|
3008
3313
|
}
|
|
3009
3314
|
function EmptyContent({ className, ...props }) {
|
|
3010
|
-
return /* @__PURE__ */ (0,
|
|
3315
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
|
|
3011
3316
|
"div",
|
|
3012
3317
|
{
|
|
3013
3318
|
"data-slot": "empty-content",
|
|
@@ -3021,22 +3326,22 @@ function EmptyContent({ className, ...props }) {
|
|
|
3021
3326
|
}
|
|
3022
3327
|
|
|
3023
3328
|
// src/components/components/Empty/index.tsx
|
|
3024
|
-
var
|
|
3329
|
+
var import_jsx_runtime54 = require("react/jsx-runtime");
|
|
3025
3330
|
function Empty2({ title, description, children, className, style }) {
|
|
3026
|
-
return /* @__PURE__ */ (0,
|
|
3027
|
-
/* @__PURE__ */ (0,
|
|
3028
|
-
title ? /* @__PURE__ */ (0,
|
|
3029
|
-
description ? /* @__PURE__ */ (0,
|
|
3331
|
+
return /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(Empty, { className, style, children: [
|
|
3332
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(EmptyHeader, { children: [
|
|
3333
|
+
title ? /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(EmptyTitle, { children: title }) : null,
|
|
3334
|
+
description ? /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(EmptyDescription, { children: description }) : null
|
|
3030
3335
|
] }),
|
|
3031
|
-
children ? /* @__PURE__ */ (0,
|
|
3336
|
+
children ? /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(EmptyContent, { children }) : null
|
|
3032
3337
|
] });
|
|
3033
3338
|
}
|
|
3034
3339
|
|
|
3035
3340
|
// src/ui/field.tsx
|
|
3036
3341
|
var import_field = require("@base-ui/react/field");
|
|
3037
|
-
var
|
|
3342
|
+
var import_jsx_runtime55 = require("react/jsx-runtime");
|
|
3038
3343
|
function Field({ className, ...props }) {
|
|
3039
|
-
return /* @__PURE__ */ (0,
|
|
3344
|
+
return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
|
|
3040
3345
|
import_field.Field.Root,
|
|
3041
3346
|
{
|
|
3042
3347
|
"data-slot": "field",
|
|
@@ -3046,7 +3351,7 @@ function Field({ className, ...props }) {
|
|
|
3046
3351
|
);
|
|
3047
3352
|
}
|
|
3048
3353
|
function FieldLabel({ className, ...props }) {
|
|
3049
|
-
return /* @__PURE__ */ (0,
|
|
3354
|
+
return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
|
|
3050
3355
|
import_field.Field.Label,
|
|
3051
3356
|
{
|
|
3052
3357
|
"data-slot": "field-label",
|
|
@@ -3056,7 +3361,7 @@ function FieldLabel({ className, ...props }) {
|
|
|
3056
3361
|
);
|
|
3057
3362
|
}
|
|
3058
3363
|
function FieldDescription({ className, ...props }) {
|
|
3059
|
-
return /* @__PURE__ */ (0,
|
|
3364
|
+
return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
|
|
3060
3365
|
import_field.Field.Description,
|
|
3061
3366
|
{
|
|
3062
3367
|
"data-slot": "field-description",
|
|
@@ -3066,7 +3371,7 @@ function FieldDescription({ className, ...props }) {
|
|
|
3066
3371
|
);
|
|
3067
3372
|
}
|
|
3068
3373
|
function FieldError({ className, ...props }) {
|
|
3069
|
-
return /* @__PURE__ */ (0,
|
|
3374
|
+
return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
|
|
3070
3375
|
import_field.Field.Error,
|
|
3071
3376
|
{
|
|
3072
3377
|
"data-slot": "field-error",
|
|
@@ -3077,18 +3382,18 @@ function FieldError({ className, ...props }) {
|
|
|
3077
3382
|
}
|
|
3078
3383
|
|
|
3079
3384
|
// src/components/components/Field/index.tsx
|
|
3080
|
-
var
|
|
3385
|
+
var import_jsx_runtime56 = require("react/jsx-runtime");
|
|
3081
3386
|
function Field2({ label, description, error, children, className, style }) {
|
|
3082
|
-
return /* @__PURE__ */ (0,
|
|
3083
|
-
label ? /* @__PURE__ */ (0,
|
|
3387
|
+
return /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)(Field, { className, style, children: [
|
|
3388
|
+
label ? /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(FieldLabel, { children: label }) : null,
|
|
3084
3389
|
children,
|
|
3085
|
-
description ? /* @__PURE__ */ (0,
|
|
3086
|
-
error ? /* @__PURE__ */ (0,
|
|
3390
|
+
description ? /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(FieldDescription, { children: description }) : null,
|
|
3391
|
+
error ? /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(FieldError, { match: true, children: error }) : null
|
|
3087
3392
|
] });
|
|
3088
3393
|
}
|
|
3089
3394
|
|
|
3090
3395
|
// src/components/components/Flex/index.tsx
|
|
3091
|
-
var
|
|
3396
|
+
var import_jsx_runtime57 = require("react/jsx-runtime");
|
|
3092
3397
|
var gapClass = {
|
|
3093
3398
|
small: "gap-(--flex-gap-sm)",
|
|
3094
3399
|
middle: "gap-(--flex-gap-md)",
|
|
@@ -3118,7 +3423,7 @@ function Flex({
|
|
|
3118
3423
|
style,
|
|
3119
3424
|
children
|
|
3120
3425
|
}) {
|
|
3121
|
-
return /* @__PURE__ */ (0,
|
|
3426
|
+
return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
|
|
3122
3427
|
"div",
|
|
3123
3428
|
{
|
|
3124
3429
|
"data-slot": "flex",
|
|
@@ -3138,9 +3443,9 @@ function Flex({
|
|
|
3138
3443
|
}
|
|
3139
3444
|
|
|
3140
3445
|
// src/components/components/Footer/index.tsx
|
|
3141
|
-
var
|
|
3446
|
+
var import_jsx_runtime58 = require("react/jsx-runtime");
|
|
3142
3447
|
function Footer({ className, style, children }) {
|
|
3143
|
-
return /* @__PURE__ */ (0,
|
|
3448
|
+
return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
|
|
3144
3449
|
"footer",
|
|
3145
3450
|
{
|
|
3146
3451
|
"data-slot": "layout-footer",
|
|
@@ -3155,9 +3460,9 @@ function Footer({ className, style, children }) {
|
|
|
3155
3460
|
}
|
|
3156
3461
|
|
|
3157
3462
|
// src/components/components/Form/index.tsx
|
|
3158
|
-
var
|
|
3159
|
-
var
|
|
3160
|
-
var
|
|
3463
|
+
var import_runtime9 = require("@pactor-app/runtime");
|
|
3464
|
+
var import_react13 = require("react");
|
|
3465
|
+
var import_jsx_runtime59 = require("react/jsx-runtime");
|
|
3161
3466
|
function isEmpty(value) {
|
|
3162
3467
|
return value === void 0 || value === null || value === "";
|
|
3163
3468
|
}
|
|
@@ -3171,23 +3476,23 @@ function Form({
|
|
|
3171
3476
|
onSubmit,
|
|
3172
3477
|
onValuesChange
|
|
3173
3478
|
}) {
|
|
3174
|
-
const { context } = (0,
|
|
3175
|
-
const [values, setValues] = (0,
|
|
3479
|
+
const { context } = (0, import_runtime9.useRenderer)();
|
|
3480
|
+
const [values, setValues] = (0, import_react13.useState)(() => ({
|
|
3176
3481
|
...initialValues
|
|
3177
3482
|
}));
|
|
3178
|
-
const [errors, setErrors] = (0,
|
|
3179
|
-
const fieldRulesRef = (0,
|
|
3180
|
-
const mergedInitialFieldsRef = (0,
|
|
3181
|
-
const setValuesBatch = (0,
|
|
3483
|
+
const [errors, setErrors] = (0, import_react13.useState)({});
|
|
3484
|
+
const fieldRulesRef = (0, import_react13.useRef)(/* @__PURE__ */ new Map());
|
|
3485
|
+
const mergedInitialFieldsRef = (0, import_react13.useRef)(/* @__PURE__ */ new Set());
|
|
3486
|
+
const setValuesBatch = (0, import_react13.useCallback)((partial) => {
|
|
3182
3487
|
setValues((prev) => ({ ...prev, ...partial }));
|
|
3183
3488
|
}, []);
|
|
3184
|
-
(0,
|
|
3489
|
+
(0, import_react13.useEffect)(() => {
|
|
3185
3490
|
context.forms.register(name, { setValues: setValuesBatch });
|
|
3186
3491
|
return () => {
|
|
3187
3492
|
context.forms.unregister(name);
|
|
3188
3493
|
};
|
|
3189
3494
|
}, [context, name, setValuesBatch]);
|
|
3190
|
-
const formContext = (0,
|
|
3495
|
+
const formContext = (0, import_react13.useMemo)(
|
|
3191
3496
|
() => ({
|
|
3192
3497
|
inForm: true,
|
|
3193
3498
|
layout,
|
|
@@ -3238,7 +3543,7 @@ function Form({
|
|
|
3238
3543
|
context.state.set("form", values);
|
|
3239
3544
|
onSubmit?.(values);
|
|
3240
3545
|
};
|
|
3241
|
-
return /* @__PURE__ */ (0,
|
|
3546
|
+
return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(FormContextProvider, { value: formContext, children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
|
|
3242
3547
|
"form",
|
|
3243
3548
|
{
|
|
3244
3549
|
"data-slot": "form",
|
|
@@ -3251,11 +3556,11 @@ function Form({
|
|
|
3251
3556
|
}
|
|
3252
3557
|
|
|
3253
3558
|
// src/components/components/Grid/index.tsx
|
|
3254
|
-
var
|
|
3255
|
-
var
|
|
3559
|
+
var import_react14 = require("react");
|
|
3560
|
+
var import_jsx_runtime60 = require("react/jsx-runtime");
|
|
3256
3561
|
function Grid({ columns = 1, gap, className, style, children }) {
|
|
3257
3562
|
const cols = Math.max(1, columns);
|
|
3258
|
-
return /* @__PURE__ */ (0,
|
|
3563
|
+
return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
|
|
3259
3564
|
"div",
|
|
3260
3565
|
{
|
|
3261
3566
|
"data-slot": "grid",
|
|
@@ -3266,15 +3571,15 @@ function Grid({ columns = 1, gap, className, style, children }) {
|
|
|
3266
3571
|
...gap !== void 0 ? { gap } : {},
|
|
3267
3572
|
...style
|
|
3268
3573
|
},
|
|
3269
|
-
children:
|
|
3574
|
+
children: import_react14.Children.map(children, (child, index) => /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("div", { "data-slot": "grid-item", children: child }, index))
|
|
3270
3575
|
}
|
|
3271
3576
|
);
|
|
3272
3577
|
}
|
|
3273
3578
|
|
|
3274
3579
|
// src/components/components/Header/index.tsx
|
|
3275
|
-
var
|
|
3276
|
-
var
|
|
3277
|
-
var
|
|
3580
|
+
var import_runtime10 = require("@pactor-app/runtime");
|
|
3581
|
+
var import_lucide_react16 = require("lucide-react");
|
|
3582
|
+
var import_jsx_runtime61 = require("react/jsx-runtime");
|
|
3278
3583
|
var menuItemClass = "flex items-center gap-1 rounded-md px-3 py-2 text-sm transition-colors text-muted-foreground hover:bg-accent/50 hover:text-foreground";
|
|
3279
3584
|
function Header({
|
|
3280
3585
|
logo,
|
|
@@ -3305,10 +3610,10 @@ function Header({
|
|
|
3305
3610
|
className
|
|
3306
3611
|
);
|
|
3307
3612
|
if (!hasBrand && !dropdown && !hasMenu && !hasUser && !hasLocales) {
|
|
3308
|
-
return /* @__PURE__ */ (0,
|
|
3613
|
+
return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("header", { "data-slot": "layout-header", className: rootClass, style, children });
|
|
3309
3614
|
}
|
|
3310
|
-
const brandNode = hasBrand && /* @__PURE__ */ (0,
|
|
3311
|
-
logo !== void 0 && /* @__PURE__ */ (0,
|
|
3615
|
+
const brandNode = hasBrand && /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)("div", { "data-slot": "header-brand", className: "flex items-center gap-2", children: [
|
|
3616
|
+
logo !== void 0 && /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
|
|
3312
3617
|
"img",
|
|
3313
3618
|
{
|
|
3314
3619
|
"data-slot": "header-brand-logo",
|
|
@@ -3317,23 +3622,23 @@ function Header({
|
|
|
3317
3622
|
className: "h-8 w-8 shrink-0 object-contain"
|
|
3318
3623
|
}
|
|
3319
3624
|
),
|
|
3320
|
-
title !== void 0 && /* @__PURE__ */ (0,
|
|
3625
|
+
title !== void 0 && /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("span", { "data-slot": "header-brand-title", className: "text-base font-semibold", children: title })
|
|
3321
3626
|
] });
|
|
3322
|
-
const dropdownNode = dropdown !== void 0 && /* @__PURE__ */ (0,
|
|
3627
|
+
const dropdownNode = dropdown !== void 0 && /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(HeaderDropdownArea, { dropdown, onSelect: onDropdownSelect });
|
|
3323
3628
|
const showLeft = brandLeft || dropdownLeft || hasMenu;
|
|
3324
3629
|
const showRight = dropdownRight || brandRight || hasLocales || hasUser;
|
|
3325
|
-
return /* @__PURE__ */ (0,
|
|
3326
|
-
showLeft && /* @__PURE__ */ (0,
|
|
3630
|
+
return /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)("header", { "data-slot": "layout-header", className: rootClass, style, children: [
|
|
3631
|
+
showLeft && /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)("div", { "data-slot": "header-left", className: "flex items-center gap-4", children: [
|
|
3327
3632
|
brandLeft && brandNode,
|
|
3328
3633
|
dropdownLeft && dropdownNode,
|
|
3329
|
-
hasMenu && /* @__PURE__ */ (0,
|
|
3634
|
+
hasMenu && /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(HeaderMenuArea, { items: menu, onSelect: onMenuSelect })
|
|
3330
3635
|
] }),
|
|
3331
|
-
/* @__PURE__ */ (0,
|
|
3332
|
-
showRight && /* @__PURE__ */ (0,
|
|
3636
|
+
/* @__PURE__ */ (0, import_jsx_runtime61.jsx)("div", { "data-slot": "header-center", className: "flex flex-1 items-center gap-4", children }),
|
|
3637
|
+
showRight && /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)("div", { "data-slot": "header-right", className: "flex items-center gap-4", children: [
|
|
3333
3638
|
dropdownRight && dropdownNode,
|
|
3334
3639
|
brandRight && brandNode,
|
|
3335
|
-
hasLocales && /* @__PURE__ */ (0,
|
|
3336
|
-
hasUser && /* @__PURE__ */ (0,
|
|
3640
|
+
hasLocales && /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(HeaderLocalesArea, { locales, onSelect: onLocaleChange }),
|
|
3641
|
+
hasUser && /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(HeaderUserArea, { user, onSelect: onUserSelect })
|
|
3337
3642
|
] })
|
|
3338
3643
|
] });
|
|
3339
3644
|
}
|
|
@@ -3341,25 +3646,25 @@ function HeaderDropdownArea({
|
|
|
3341
3646
|
dropdown,
|
|
3342
3647
|
onSelect
|
|
3343
3648
|
}) {
|
|
3344
|
-
return /* @__PURE__ */ (0,
|
|
3345
|
-
/* @__PURE__ */ (0,
|
|
3649
|
+
return /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(DropdownMenu, { children: [
|
|
3650
|
+
/* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(
|
|
3346
3651
|
DropdownMenuTrigger,
|
|
3347
3652
|
{
|
|
3348
3653
|
"data-slot": "header-dropdown",
|
|
3349
3654
|
className: cn(menuItemClass, "outline-hidden cursor-pointer"),
|
|
3350
3655
|
children: [
|
|
3351
3656
|
dropdown.label,
|
|
3352
|
-
/* @__PURE__ */ (0,
|
|
3657
|
+
/* @__PURE__ */ (0, import_jsx_runtime61.jsx)(import_lucide_react16.ChevronDownIcon, { className: "size-3.5", "aria-hidden": "true" })
|
|
3353
3658
|
]
|
|
3354
3659
|
}
|
|
3355
3660
|
),
|
|
3356
|
-
/* @__PURE__ */ (0,
|
|
3661
|
+
/* @__PURE__ */ (0, import_jsx_runtime61.jsx)(DropdownMenuContent, { children: dropdown.items.map((item) => /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(
|
|
3357
3662
|
DropdownMenuItem,
|
|
3358
3663
|
{
|
|
3359
3664
|
disabled: item.disabled,
|
|
3360
3665
|
onClick: () => onSelect?.(item.value),
|
|
3361
3666
|
children: [
|
|
3362
|
-
item.icon ? /* @__PURE__ */ (0,
|
|
3667
|
+
item.icon ? /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(Icon, { name: item.icon, size: "sm" }) : null,
|
|
3363
3668
|
item.label
|
|
3364
3669
|
]
|
|
3365
3670
|
},
|
|
@@ -3371,23 +3676,23 @@ function HeaderMenuArea({
|
|
|
3371
3676
|
items,
|
|
3372
3677
|
onSelect
|
|
3373
3678
|
}) {
|
|
3374
|
-
return /* @__PURE__ */ (0,
|
|
3375
|
-
(item) => item.children !== void 0 && item.children.length > 0 ? /* @__PURE__ */ (0,
|
|
3376
|
-
/* @__PURE__ */ (0,
|
|
3679
|
+
return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("nav", { "data-slot": "header-menu", className: "flex items-center gap-1", children: items.map(
|
|
3680
|
+
(item) => item.children !== void 0 && item.children.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(DropdownMenu, { children: [
|
|
3681
|
+
/* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(
|
|
3377
3682
|
DropdownMenuTrigger,
|
|
3378
3683
|
{
|
|
3379
3684
|
"data-slot": "header-menu-item",
|
|
3380
3685
|
"data-key": item.key,
|
|
3381
3686
|
className: cn(menuItemClass, "outline-hidden cursor-pointer"),
|
|
3382
3687
|
children: [
|
|
3383
|
-
item.icon ? /* @__PURE__ */ (0,
|
|
3688
|
+
item.icon ? /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(Icon, { name: item.icon, size: "sm" }) : null,
|
|
3384
3689
|
item.label,
|
|
3385
|
-
/* @__PURE__ */ (0,
|
|
3690
|
+
/* @__PURE__ */ (0, import_jsx_runtime61.jsx)(import_lucide_react16.ChevronDownIcon, { className: "size-3.5", "aria-hidden": "true" })
|
|
3386
3691
|
]
|
|
3387
3692
|
}
|
|
3388
3693
|
),
|
|
3389
|
-
/* @__PURE__ */ (0,
|
|
3390
|
-
] }, item.key) : /* @__PURE__ */ (0,
|
|
3694
|
+
/* @__PURE__ */ (0, import_jsx_runtime61.jsx)(DropdownMenuContent, { children: item.children.map((child) => /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(HeaderMenuEntry, { item: child, onSelect }, child.key)) })
|
|
3695
|
+
] }, item.key) : /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(
|
|
3391
3696
|
"button",
|
|
3392
3697
|
{
|
|
3393
3698
|
type: "button",
|
|
@@ -3396,7 +3701,7 @@ function HeaderMenuArea({
|
|
|
3396
3701
|
className: menuItemClass,
|
|
3397
3702
|
onClick: () => onSelect?.(item.key),
|
|
3398
3703
|
children: [
|
|
3399
|
-
item.icon ? /* @__PURE__ */ (0,
|
|
3704
|
+
item.icon ? /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(Icon, { name: item.icon, size: "sm" }) : null,
|
|
3400
3705
|
item.label
|
|
3401
3706
|
]
|
|
3402
3707
|
},
|
|
@@ -3409,16 +3714,16 @@ function HeaderMenuEntry({
|
|
|
3409
3714
|
onSelect
|
|
3410
3715
|
}) {
|
|
3411
3716
|
if (item.children !== void 0 && item.children.length > 0) {
|
|
3412
|
-
return /* @__PURE__ */ (0,
|
|
3413
|
-
/* @__PURE__ */ (0,
|
|
3414
|
-
item.icon ? /* @__PURE__ */ (0,
|
|
3717
|
+
return /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(DropdownMenuSub, { children: [
|
|
3718
|
+
/* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(DropdownMenuSubTrigger, { "data-key": item.key, className: "cursor-pointer", children: [
|
|
3719
|
+
item.icon ? /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(Icon, { name: item.icon, size: "sm" }) : null,
|
|
3415
3720
|
item.label
|
|
3416
3721
|
] }),
|
|
3417
|
-
/* @__PURE__ */ (0,
|
|
3722
|
+
/* @__PURE__ */ (0, import_jsx_runtime61.jsx)(DropdownMenuSubContent, { children: item.children.map((child) => /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(HeaderMenuEntry, { item: child, onSelect }, child.key)) })
|
|
3418
3723
|
] });
|
|
3419
3724
|
}
|
|
3420
|
-
return /* @__PURE__ */ (0,
|
|
3421
|
-
item.icon ? /* @__PURE__ */ (0,
|
|
3725
|
+
return /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(DropdownMenuItem, { "data-key": item.key, onClick: () => onSelect?.(item.key), children: [
|
|
3726
|
+
item.icon ? /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(Icon, { name: item.icon, size: "sm" }) : null,
|
|
3422
3727
|
item.label
|
|
3423
3728
|
] });
|
|
3424
3729
|
}
|
|
@@ -3426,18 +3731,18 @@ function HeaderUserArea({
|
|
|
3426
3731
|
user,
|
|
3427
3732
|
onSelect
|
|
3428
3733
|
}) {
|
|
3429
|
-
const identity = /* @__PURE__ */ (0,
|
|
3430
|
-
/* @__PURE__ */ (0,
|
|
3431
|
-
user.avatar !== void 0 && /* @__PURE__ */ (0,
|
|
3432
|
-
/* @__PURE__ */ (0,
|
|
3734
|
+
const identity = /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(import_jsx_runtime61.Fragment, { children: [
|
|
3735
|
+
/* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(Avatar, { className: "size-7", children: [
|
|
3736
|
+
user.avatar !== void 0 && /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(AvatarImage, { src: user.avatar, alt: user.name }),
|
|
3737
|
+
/* @__PURE__ */ (0, import_jsx_runtime61.jsx)(AvatarFallback, { children: user.name.charAt(0) })
|
|
3433
3738
|
] }),
|
|
3434
|
-
/* @__PURE__ */ (0,
|
|
3739
|
+
/* @__PURE__ */ (0, import_jsx_runtime61.jsx)("span", { className: "text-sm", children: user.name })
|
|
3435
3740
|
] });
|
|
3436
3741
|
if (user.items === void 0 || user.items.length === 0) {
|
|
3437
|
-
return /* @__PURE__ */ (0,
|
|
3742
|
+
return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("div", { "data-slot": "header-user", className: "flex items-center gap-2", children: identity });
|
|
3438
3743
|
}
|
|
3439
|
-
return /* @__PURE__ */ (0,
|
|
3440
|
-
/* @__PURE__ */ (0,
|
|
3744
|
+
return /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(DropdownMenu, { children: [
|
|
3745
|
+
/* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
|
|
3441
3746
|
DropdownMenuTrigger,
|
|
3442
3747
|
{
|
|
3443
3748
|
"data-slot": "header-user",
|
|
@@ -3445,8 +3750,8 @@ function HeaderUserArea({
|
|
|
3445
3750
|
children: identity
|
|
3446
3751
|
}
|
|
3447
3752
|
),
|
|
3448
|
-
/* @__PURE__ */ (0,
|
|
3449
|
-
item.icon ? /* @__PURE__ */ (0,
|
|
3753
|
+
/* @__PURE__ */ (0, import_jsx_runtime61.jsx)(DropdownMenuContent, { align: "end", children: user.items.map((item) => /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(DropdownMenuItem, { onClick: () => onSelect?.(item.value), children: [
|
|
3754
|
+
item.icon ? /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(Icon, { name: item.icon, size: "sm" }) : null,
|
|
3450
3755
|
item.label
|
|
3451
3756
|
] }, item.value)) })
|
|
3452
3757
|
] });
|
|
@@ -3455,21 +3760,21 @@ function HeaderLocalesArea({
|
|
|
3455
3760
|
locales,
|
|
3456
3761
|
onSelect
|
|
3457
3762
|
}) {
|
|
3458
|
-
const { locale } = (0,
|
|
3763
|
+
const { locale } = (0, import_runtime10.useI18n)();
|
|
3459
3764
|
const current = locales.find((option) => option.value === locale);
|
|
3460
|
-
return /* @__PURE__ */ (0,
|
|
3461
|
-
/* @__PURE__ */ (0,
|
|
3765
|
+
return /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(DropdownMenu, { children: [
|
|
3766
|
+
/* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(
|
|
3462
3767
|
DropdownMenuTrigger,
|
|
3463
3768
|
{
|
|
3464
3769
|
"data-slot": "header-locales",
|
|
3465
3770
|
className: cn(menuItemClass, "outline-hidden cursor-pointer"),
|
|
3466
3771
|
children: [
|
|
3467
3772
|
current?.label ?? locale,
|
|
3468
|
-
/* @__PURE__ */ (0,
|
|
3773
|
+
/* @__PURE__ */ (0, import_jsx_runtime61.jsx)(import_lucide_react16.ChevronDownIcon, { className: "size-3.5", "aria-hidden": "true" })
|
|
3469
3774
|
]
|
|
3470
3775
|
}
|
|
3471
3776
|
),
|
|
3472
|
-
/* @__PURE__ */ (0,
|
|
3777
|
+
/* @__PURE__ */ (0, import_jsx_runtime61.jsx)(DropdownMenuContent, { align: "end", children: locales.map((option) => /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
|
|
3473
3778
|
DropdownMenuItem,
|
|
3474
3779
|
{
|
|
3475
3780
|
onClick: () => onSelect?.(option.value),
|
|
@@ -3481,20 +3786,20 @@ function HeaderLocalesArea({
|
|
|
3481
3786
|
}
|
|
3482
3787
|
|
|
3483
3788
|
// src/components/components/HoverCard/index.tsx
|
|
3484
|
-
var
|
|
3789
|
+
var import_runtime11 = require("@pactor-app/runtime");
|
|
3485
3790
|
|
|
3486
3791
|
// src/ui/hover-card.tsx
|
|
3487
3792
|
var import_preview_card = require("@base-ui/react/preview-card");
|
|
3488
|
-
var
|
|
3793
|
+
var import_jsx_runtime62 = require("react/jsx-runtime");
|
|
3489
3794
|
function HoverCard({
|
|
3490
3795
|
...props
|
|
3491
3796
|
}) {
|
|
3492
|
-
return /* @__PURE__ */ (0,
|
|
3797
|
+
return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_preview_card.PreviewCard.Root, { "data-slot": "hover-card", ...props });
|
|
3493
3798
|
}
|
|
3494
3799
|
function HoverCardTrigger({
|
|
3495
3800
|
...props
|
|
3496
3801
|
}) {
|
|
3497
|
-
return /* @__PURE__ */ (0,
|
|
3802
|
+
return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_preview_card.PreviewCard.Trigger, { "data-slot": "hover-card-trigger", ...props });
|
|
3498
3803
|
}
|
|
3499
3804
|
function HoverCardContent({
|
|
3500
3805
|
className,
|
|
@@ -3503,14 +3808,14 @@ function HoverCardContent({
|
|
|
3503
3808
|
sideOffset = 4,
|
|
3504
3809
|
...props
|
|
3505
3810
|
}) {
|
|
3506
|
-
return /* @__PURE__ */ (0,
|
|
3811
|
+
return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_preview_card.PreviewCard.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
|
|
3507
3812
|
import_preview_card.PreviewCard.Positioner,
|
|
3508
3813
|
{
|
|
3509
3814
|
align,
|
|
3510
3815
|
side,
|
|
3511
3816
|
sideOffset,
|
|
3512
3817
|
className: "isolate z-50",
|
|
3513
|
-
children: /* @__PURE__ */ (0,
|
|
3818
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
|
|
3514
3819
|
import_preview_card.PreviewCard.Popup,
|
|
3515
3820
|
{
|
|
3516
3821
|
"data-slot": "hover-card-content",
|
|
@@ -3526,21 +3831,21 @@ function HoverCardContent({
|
|
|
3526
3831
|
}
|
|
3527
3832
|
|
|
3528
3833
|
// src/components/components/HoverCard/index.tsx
|
|
3529
|
-
var
|
|
3834
|
+
var import_jsx_runtime63 = require("react/jsx-runtime");
|
|
3530
3835
|
function isDslNode2(value) {
|
|
3531
3836
|
return typeof value === "object" && value !== null && typeof value.type === "string";
|
|
3532
3837
|
}
|
|
3533
3838
|
function HoverCard2({ content, children, className, style }) {
|
|
3534
|
-
const { renderChildren } = (0,
|
|
3535
|
-
return /* @__PURE__ */ (0,
|
|
3536
|
-
/* @__PURE__ */ (0,
|
|
3537
|
-
/* @__PURE__ */ (0,
|
|
3839
|
+
const { renderChildren } = (0, import_runtime11.useRenderer)();
|
|
3840
|
+
return /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)(HoverCard, { children: [
|
|
3841
|
+
/* @__PURE__ */ (0, import_jsx_runtime63.jsx)(HoverCardTrigger, { render: triggerWrapper("hover-card-trigger-wrap"), children }),
|
|
3842
|
+
/* @__PURE__ */ (0, import_jsx_runtime63.jsx)(HoverCardContent, { className, style, children: isDslNode2(content) ? renderChildren([content]) : content })
|
|
3538
3843
|
] });
|
|
3539
3844
|
}
|
|
3540
3845
|
|
|
3541
3846
|
// src/components/components/Input/index.tsx
|
|
3542
|
-
var
|
|
3543
|
-
var
|
|
3847
|
+
var import_react15 = require("react");
|
|
3848
|
+
var import_jsx_runtime64 = require("react/jsx-runtime");
|
|
3544
3849
|
function Input2({
|
|
3545
3850
|
name,
|
|
3546
3851
|
label,
|
|
@@ -3554,9 +3859,9 @@ function Input2({
|
|
|
3554
3859
|
style
|
|
3555
3860
|
}) {
|
|
3556
3861
|
const form = useFormContext();
|
|
3557
|
-
const controlId = (0,
|
|
3862
|
+
const controlId = (0, import_react15.useId)();
|
|
3558
3863
|
const inForm = form?.inForm === true && typeof name === "string" && name !== "";
|
|
3559
|
-
(0,
|
|
3864
|
+
(0, import_react15.useEffect)(() => {
|
|
3560
3865
|
if (inForm && form && name) {
|
|
3561
3866
|
form.registerField(name, rules, value);
|
|
3562
3867
|
return () => form.unregisterField(name);
|
|
@@ -3566,14 +3871,14 @@ function Input2({
|
|
|
3566
3871
|
if (inForm && form && name) {
|
|
3567
3872
|
const fieldValue = form.values[name];
|
|
3568
3873
|
const error = form.errors[name];
|
|
3569
|
-
return /* @__PURE__ */ (0,
|
|
3874
|
+
return /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(
|
|
3570
3875
|
"div",
|
|
3571
3876
|
{
|
|
3572
3877
|
"data-slot": "form-item",
|
|
3573
3878
|
className: cn(formItemClass(form.layout), className),
|
|
3574
3879
|
style,
|
|
3575
3880
|
children: [
|
|
3576
|
-
label ? /* @__PURE__ */ (0,
|
|
3881
|
+
label ? /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
|
|
3577
3882
|
"label",
|
|
3578
3883
|
{
|
|
3579
3884
|
htmlFor: controlId,
|
|
@@ -3581,7 +3886,7 @@ function Input2({
|
|
|
3581
3886
|
children: label
|
|
3582
3887
|
}
|
|
3583
3888
|
) : null,
|
|
3584
|
-
/* @__PURE__ */ (0,
|
|
3889
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
|
|
3585
3890
|
Input,
|
|
3586
3891
|
{
|
|
3587
3892
|
id: controlId,
|
|
@@ -3595,12 +3900,12 @@ function Input2({
|
|
|
3595
3900
|
}
|
|
3596
3901
|
}
|
|
3597
3902
|
),
|
|
3598
|
-
error ? /* @__PURE__ */ (0,
|
|
3903
|
+
error ? /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("div", { "data-slot": "form-error", className: "text-sm text-destructive", children: error }) : null
|
|
3599
3904
|
]
|
|
3600
3905
|
}
|
|
3601
3906
|
);
|
|
3602
3907
|
}
|
|
3603
|
-
return /* @__PURE__ */ (0,
|
|
3908
|
+
return /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
|
|
3604
3909
|
Input,
|
|
3605
3910
|
{
|
|
3606
3911
|
type,
|
|
@@ -3615,9 +3920,9 @@ function Input2({
|
|
|
3615
3920
|
}
|
|
3616
3921
|
|
|
3617
3922
|
// src/ui/input-group.tsx
|
|
3618
|
-
var
|
|
3923
|
+
var import_jsx_runtime65 = require("react/jsx-runtime");
|
|
3619
3924
|
function InputGroup({ className, ...props }) {
|
|
3620
|
-
return /* @__PURE__ */ (0,
|
|
3925
|
+
return /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
|
|
3621
3926
|
"div",
|
|
3622
3927
|
{
|
|
3623
3928
|
"data-slot": "input-group",
|
|
@@ -3636,25 +3941,25 @@ function InputGroup({ className, ...props }) {
|
|
|
3636
3941
|
}
|
|
3637
3942
|
|
|
3638
3943
|
// src/components/components/InputGroup/index.tsx
|
|
3639
|
-
var
|
|
3944
|
+
var import_jsx_runtime66 = require("react/jsx-runtime");
|
|
3640
3945
|
function InputGroup2({ className, style, children }) {
|
|
3641
|
-
return /* @__PURE__ */ (0,
|
|
3946
|
+
return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(InputGroup, { className, style, children });
|
|
3642
3947
|
}
|
|
3643
3948
|
|
|
3644
3949
|
// src/components/components/InputOTP/index.tsx
|
|
3645
|
-
var
|
|
3950
|
+
var import_react16 = require("react");
|
|
3646
3951
|
|
|
3647
3952
|
// src/ui/input-otp.tsx
|
|
3648
3953
|
var import_input_otp = require("input-otp");
|
|
3649
|
-
var
|
|
3954
|
+
var import_lucide_react17 = require("lucide-react");
|
|
3650
3955
|
var React3 = __toESM(require("react"), 1);
|
|
3651
|
-
var
|
|
3956
|
+
var import_jsx_runtime67 = require("react/jsx-runtime");
|
|
3652
3957
|
function InputOTP({
|
|
3653
3958
|
className,
|
|
3654
3959
|
containerClassName,
|
|
3655
3960
|
...props
|
|
3656
3961
|
}) {
|
|
3657
|
-
return /* @__PURE__ */ (0,
|
|
3962
|
+
return /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
|
|
3658
3963
|
import_input_otp.OTPInput,
|
|
3659
3964
|
{
|
|
3660
3965
|
"data-slot": "input-otp",
|
|
@@ -3668,7 +3973,7 @@ function InputOTP({
|
|
|
3668
3973
|
);
|
|
3669
3974
|
}
|
|
3670
3975
|
function InputOTPGroup({ className, ...props }) {
|
|
3671
|
-
return /* @__PURE__ */ (0,
|
|
3976
|
+
return /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
|
|
3672
3977
|
"div",
|
|
3673
3978
|
{
|
|
3674
3979
|
"data-slot": "input-otp-group",
|
|
@@ -3684,7 +3989,7 @@ function InputOTPSlot({
|
|
|
3684
3989
|
}) {
|
|
3685
3990
|
const inputOTPContext = React3.useContext(import_input_otp.OTPInputContext);
|
|
3686
3991
|
const { char, hasFakeCaret, isActive } = inputOTPContext?.slots[index] ?? {};
|
|
3687
|
-
return /* @__PURE__ */ (0,
|
|
3992
|
+
return /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)(
|
|
3688
3993
|
"div",
|
|
3689
3994
|
{
|
|
3690
3995
|
"data-slot": "input-otp-slot",
|
|
@@ -3696,14 +4001,14 @@ function InputOTPSlot({
|
|
|
3696
4001
|
...props,
|
|
3697
4002
|
children: [
|
|
3698
4003
|
char,
|
|
3699
|
-
hasFakeCaret ? /* @__PURE__ */ (0,
|
|
4004
|
+
hasFakeCaret ? /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("div", { className: "pointer-events-none absolute inset-0 flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("div", { className: "h-4 w-px animate-caret-blink bg-foreground duration-1000" }) }) : null
|
|
3700
4005
|
]
|
|
3701
4006
|
}
|
|
3702
4007
|
);
|
|
3703
4008
|
}
|
|
3704
4009
|
|
|
3705
4010
|
// src/components/components/InputOTP/index.tsx
|
|
3706
|
-
var
|
|
4011
|
+
var import_jsx_runtime68 = require("react/jsx-runtime");
|
|
3707
4012
|
function InputOTP2({
|
|
3708
4013
|
name,
|
|
3709
4014
|
label,
|
|
@@ -3718,15 +4023,15 @@ function InputOTP2({
|
|
|
3718
4023
|
}) {
|
|
3719
4024
|
const form = useFormContext();
|
|
3720
4025
|
const inForm = form?.inForm === true && typeof name === "string" && name !== "";
|
|
3721
|
-
(0,
|
|
4026
|
+
(0, import_react16.useEffect)(() => {
|
|
3722
4027
|
if (inForm && form && name) {
|
|
3723
4028
|
form.registerField(name, rules, value);
|
|
3724
4029
|
return () => form.unregisterField(name);
|
|
3725
4030
|
}
|
|
3726
4031
|
return void 0;
|
|
3727
4032
|
});
|
|
3728
|
-
const [innerValue, setInnerValue] = (0,
|
|
3729
|
-
(0,
|
|
4033
|
+
const [innerValue, setInnerValue] = (0, import_react16.useState)(typeof value === "string" ? value : "");
|
|
4034
|
+
(0, import_react16.useEffect)(() => {
|
|
3730
4035
|
if (!inForm) setInnerValue(typeof value === "string" ? value : "");
|
|
3731
4036
|
}, [inForm, value]);
|
|
3732
4037
|
const current = inForm && form && name ? typeof form.values[name] === "string" ? form.values[name] : "" : innerValue;
|
|
@@ -3741,42 +4046,42 @@ function InputOTP2({
|
|
|
3741
4046
|
onComplete?.(next);
|
|
3742
4047
|
}
|
|
3743
4048
|
};
|
|
3744
|
-
const control = /* @__PURE__ */ (0,
|
|
4049
|
+
const control = /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
|
|
3745
4050
|
InputOTP,
|
|
3746
4051
|
{
|
|
3747
4052
|
maxLength: length,
|
|
3748
4053
|
value: current,
|
|
3749
4054
|
onChange: handleChange,
|
|
3750
4055
|
disabled,
|
|
3751
|
-
children: /* @__PURE__ */ (0,
|
|
4056
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(InputOTPGroup, { children: Array.from({ length }, (_, index) => /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(InputOTPSlot, { index }, index)) })
|
|
3752
4057
|
}
|
|
3753
4058
|
);
|
|
3754
4059
|
if (inForm && form && name) {
|
|
3755
4060
|
const error = form.errors[name];
|
|
3756
|
-
return /* @__PURE__ */ (0,
|
|
4061
|
+
return /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)(
|
|
3757
4062
|
"div",
|
|
3758
4063
|
{
|
|
3759
4064
|
"data-slot": "form-item",
|
|
3760
4065
|
className: cn(formItemClass(form.layout), className),
|
|
3761
4066
|
style,
|
|
3762
4067
|
children: [
|
|
3763
|
-
label ? /* @__PURE__ */ (0,
|
|
4068
|
+
label ? /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("label", { className: "shrink-0 text-sm leading-none font-medium whitespace-nowrap", children: label }) : null,
|
|
3764
4069
|
control,
|
|
3765
|
-
error ? /* @__PURE__ */ (0,
|
|
4070
|
+
error ? /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("div", { "data-slot": "form-error", className: "text-sm text-destructive", children: error }) : null
|
|
3766
4071
|
]
|
|
3767
4072
|
}
|
|
3768
4073
|
);
|
|
3769
4074
|
}
|
|
3770
|
-
return /* @__PURE__ */ (0,
|
|
4075
|
+
return /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("div", { "data-slot": "input-otp-field", className: cn("inline-block", className), style, children: control });
|
|
3771
4076
|
}
|
|
3772
4077
|
|
|
3773
4078
|
// src/components/components/Item/index.tsx
|
|
3774
|
-
var
|
|
4079
|
+
var import_runtime12 = require("@pactor-app/runtime");
|
|
3775
4080
|
|
|
3776
4081
|
// src/ui/item.tsx
|
|
3777
|
-
var
|
|
4082
|
+
var import_jsx_runtime69 = require("react/jsx-runtime");
|
|
3778
4083
|
function Item({ className, ...props }) {
|
|
3779
|
-
return /* @__PURE__ */ (0,
|
|
4084
|
+
return /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
|
|
3780
4085
|
"div",
|
|
3781
4086
|
{
|
|
3782
4087
|
"data-slot": "item",
|
|
@@ -3789,7 +4094,7 @@ function Item({ className, ...props }) {
|
|
|
3789
4094
|
);
|
|
3790
4095
|
}
|
|
3791
4096
|
function ItemMedia({ className, ...props }) {
|
|
3792
|
-
return /* @__PURE__ */ (0,
|
|
4097
|
+
return /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
|
|
3793
4098
|
"div",
|
|
3794
4099
|
{
|
|
3795
4100
|
"data-slot": "item-media",
|
|
@@ -3802,7 +4107,7 @@ function ItemMedia({ className, ...props }) {
|
|
|
3802
4107
|
);
|
|
3803
4108
|
}
|
|
3804
4109
|
function ItemContent({ className, ...props }) {
|
|
3805
|
-
return /* @__PURE__ */ (0,
|
|
4110
|
+
return /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
|
|
3806
4111
|
"div",
|
|
3807
4112
|
{
|
|
3808
4113
|
"data-slot": "item-content",
|
|
@@ -3812,7 +4117,7 @@ function ItemContent({ className, ...props }) {
|
|
|
3812
4117
|
);
|
|
3813
4118
|
}
|
|
3814
4119
|
function ItemTitle({ className, ...props }) {
|
|
3815
|
-
return /* @__PURE__ */ (0,
|
|
4120
|
+
return /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
|
|
3816
4121
|
"div",
|
|
3817
4122
|
{
|
|
3818
4123
|
"data-slot": "item-title",
|
|
@@ -3822,7 +4127,7 @@ function ItemTitle({ className, ...props }) {
|
|
|
3822
4127
|
);
|
|
3823
4128
|
}
|
|
3824
4129
|
function ItemDescription({ className, ...props }) {
|
|
3825
|
-
return /* @__PURE__ */ (0,
|
|
4130
|
+
return /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
|
|
3826
4131
|
"p",
|
|
3827
4132
|
{
|
|
3828
4133
|
"data-slot": "item-description",
|
|
@@ -3832,7 +4137,7 @@ function ItemDescription({ className, ...props }) {
|
|
|
3832
4137
|
);
|
|
3833
4138
|
}
|
|
3834
4139
|
function ItemActions({ className, ...props }) {
|
|
3835
|
-
return /* @__PURE__ */ (0,
|
|
4140
|
+
return /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
|
|
3836
4141
|
"div",
|
|
3837
4142
|
{
|
|
3838
4143
|
"data-slot": "item-actions",
|
|
@@ -3843,7 +4148,7 @@ function ItemActions({ className, ...props }) {
|
|
|
3843
4148
|
}
|
|
3844
4149
|
|
|
3845
4150
|
// src/components/components/Item/index.tsx
|
|
3846
|
-
var
|
|
4151
|
+
var import_jsx_runtime70 = require("react/jsx-runtime");
|
|
3847
4152
|
function Item2({
|
|
3848
4153
|
title,
|
|
3849
4154
|
description,
|
|
@@ -3852,22 +4157,22 @@ function Item2({
|
|
|
3852
4157
|
className,
|
|
3853
4158
|
style
|
|
3854
4159
|
}) {
|
|
3855
|
-
const { renderChildren } = (0,
|
|
4160
|
+
const { renderChildren } = (0, import_runtime12.useRenderer)();
|
|
3856
4161
|
const mediaNodes = media === void 0 ? [] : Array.isArray(media) ? media : [media];
|
|
3857
|
-
return /* @__PURE__ */ (0,
|
|
3858
|
-
mediaNodes.length > 0 ? /* @__PURE__ */ (0,
|
|
3859
|
-
/* @__PURE__ */ (0,
|
|
3860
|
-
title ? /* @__PURE__ */ (0,
|
|
3861
|
-
description ? /* @__PURE__ */ (0,
|
|
4162
|
+
return /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)(Item, { className, style, children: [
|
|
4163
|
+
mediaNodes.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(ItemMedia, { children: renderChildren(mediaNodes) }) : null,
|
|
4164
|
+
/* @__PURE__ */ (0, import_jsx_runtime70.jsxs)(ItemContent, { children: [
|
|
4165
|
+
title ? /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(ItemTitle, { children: title }) : null,
|
|
4166
|
+
description ? /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(ItemDescription, { children: description }) : null
|
|
3862
4167
|
] }),
|
|
3863
|
-
actions && actions.length > 0 ? /* @__PURE__ */ (0,
|
|
4168
|
+
actions && actions.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(ItemActions, { children: renderChildren(actions) }) : null
|
|
3864
4169
|
] });
|
|
3865
4170
|
}
|
|
3866
4171
|
|
|
3867
4172
|
// src/ui/kbd.tsx
|
|
3868
|
-
var
|
|
4173
|
+
var import_jsx_runtime71 = require("react/jsx-runtime");
|
|
3869
4174
|
function Kbd({ className, ...props }) {
|
|
3870
|
-
return /* @__PURE__ */ (0,
|
|
4175
|
+
return /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
|
|
3871
4176
|
"kbd",
|
|
3872
4177
|
{
|
|
3873
4178
|
"data-slot": "kbd",
|
|
@@ -3881,18 +4186,18 @@ function Kbd({ className, ...props }) {
|
|
|
3881
4186
|
}
|
|
3882
4187
|
|
|
3883
4188
|
// src/components/components/Kbd/index.tsx
|
|
3884
|
-
var
|
|
4189
|
+
var import_jsx_runtime72 = require("react/jsx-runtime");
|
|
3885
4190
|
function Kbd2({ text, className, style }) {
|
|
3886
|
-
return /* @__PURE__ */ (0,
|
|
4191
|
+
return /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(Kbd, { className, style, children: text });
|
|
3887
4192
|
}
|
|
3888
4193
|
|
|
3889
4194
|
// src/ui/label.tsx
|
|
3890
|
-
var
|
|
4195
|
+
var import_jsx_runtime73 = require("react/jsx-runtime");
|
|
3891
4196
|
function Label({
|
|
3892
4197
|
className,
|
|
3893
4198
|
...props
|
|
3894
4199
|
}) {
|
|
3895
|
-
return /* @__PURE__ */ (0,
|
|
4200
|
+
return /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
|
|
3896
4201
|
"label",
|
|
3897
4202
|
{
|
|
3898
4203
|
"data-slot": "label",
|
|
@@ -3906,22 +4211,22 @@ function Label({
|
|
|
3906
4211
|
}
|
|
3907
4212
|
|
|
3908
4213
|
// src/components/components/Label/index.tsx
|
|
3909
|
-
var
|
|
4214
|
+
var import_jsx_runtime74 = require("react/jsx-runtime");
|
|
3910
4215
|
function Label2({ text, htmlFor, className, style }) {
|
|
3911
|
-
return /* @__PURE__ */ (0,
|
|
4216
|
+
return /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(Label, { htmlFor, className, style, children: text });
|
|
3912
4217
|
}
|
|
3913
4218
|
|
|
3914
4219
|
// src/components/components/Layout/index.tsx
|
|
3915
4220
|
var import_core = require("@pactor-app/core");
|
|
3916
|
-
var
|
|
3917
|
-
var
|
|
4221
|
+
var import_runtime13 = require("@pactor-app/runtime");
|
|
4222
|
+
var import_jsx_runtime75 = require("react/jsx-runtime");
|
|
3918
4223
|
function Layout({ direction, className, style, dslChildren }) {
|
|
3919
|
-
const { renderChildren, context } = (0,
|
|
4224
|
+
const { renderChildren, context } = (0, import_runtime13.useRenderer)();
|
|
3920
4225
|
const hasSider = Array.isArray(dslChildren) ? dslChildren.some(
|
|
3921
4226
|
(child) => !(0, import_core.isDslSourceRef)(child) && resolveRootType(child, context) === "Sider"
|
|
3922
4227
|
) : false;
|
|
3923
4228
|
const dir = direction ?? (hasSider ? "horizontal" : "vertical");
|
|
3924
|
-
return /* @__PURE__ */ (0,
|
|
4229
|
+
return /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
|
|
3925
4230
|
"div",
|
|
3926
4231
|
{
|
|
3927
4232
|
"data-slot": "layout",
|
|
@@ -3945,9 +4250,9 @@ function resolveRootType(node, context) {
|
|
|
3945
4250
|
}
|
|
3946
4251
|
|
|
3947
4252
|
// src/components/components/Link/index.tsx
|
|
3948
|
-
var
|
|
4253
|
+
var import_jsx_runtime76 = require("react/jsx-runtime");
|
|
3949
4254
|
function Link2({ href, text, target, className, style, children }) {
|
|
3950
|
-
return /* @__PURE__ */ (0,
|
|
4255
|
+
return /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(
|
|
3951
4256
|
"a",
|
|
3952
4257
|
{
|
|
3953
4258
|
"data-slot": "link",
|
|
@@ -3961,14 +4266,17 @@ function Link2({ href, text, target, className, style, children }) {
|
|
|
3961
4266
|
);
|
|
3962
4267
|
}
|
|
3963
4268
|
|
|
4269
|
+
// src/components/components/Menu/index.tsx
|
|
4270
|
+
var import_react19 = require("react");
|
|
4271
|
+
|
|
3964
4272
|
// src/ui/tooltip.tsx
|
|
3965
4273
|
var import_tooltip = require("@base-ui/react/tooltip");
|
|
3966
|
-
var
|
|
4274
|
+
var import_jsx_runtime77 = require("react/jsx-runtime");
|
|
3967
4275
|
function TooltipProvider({
|
|
3968
4276
|
delay = 0,
|
|
3969
4277
|
...props
|
|
3970
4278
|
}) {
|
|
3971
|
-
return /* @__PURE__ */ (0,
|
|
4279
|
+
return /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(
|
|
3972
4280
|
import_tooltip.Tooltip.Provider,
|
|
3973
4281
|
{
|
|
3974
4282
|
"data-slot": "tooltip-provider",
|
|
@@ -3980,12 +4288,12 @@ function TooltipProvider({
|
|
|
3980
4288
|
function Tooltip2({
|
|
3981
4289
|
...props
|
|
3982
4290
|
}) {
|
|
3983
|
-
return /* @__PURE__ */ (0,
|
|
4291
|
+
return /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(TooltipProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(import_tooltip.Tooltip.Root, { "data-slot": "tooltip", ...props }) });
|
|
3984
4292
|
}
|
|
3985
4293
|
function TooltipTrigger({
|
|
3986
4294
|
...props
|
|
3987
4295
|
}) {
|
|
3988
|
-
return /* @__PURE__ */ (0,
|
|
4296
|
+
return /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(import_tooltip.Tooltip.Trigger, { "data-slot": "tooltip-trigger", ...props });
|
|
3989
4297
|
}
|
|
3990
4298
|
function TooltipContent({
|
|
3991
4299
|
className,
|
|
@@ -3995,14 +4303,14 @@ function TooltipContent({
|
|
|
3995
4303
|
children,
|
|
3996
4304
|
...props
|
|
3997
4305
|
}) {
|
|
3998
|
-
return /* @__PURE__ */ (0,
|
|
4306
|
+
return /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(import_tooltip.Tooltip.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(
|
|
3999
4307
|
import_tooltip.Tooltip.Positioner,
|
|
4000
4308
|
{
|
|
4001
4309
|
align,
|
|
4002
4310
|
side,
|
|
4003
4311
|
sideOffset,
|
|
4004
4312
|
className: "isolate z-50",
|
|
4005
|
-
children: /* @__PURE__ */ (0,
|
|
4313
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime77.jsxs)(
|
|
4006
4314
|
import_tooltip.Tooltip.Popup,
|
|
4007
4315
|
{
|
|
4008
4316
|
"data-slot": "tooltip-content",
|
|
@@ -4013,7 +4321,7 @@ function TooltipContent({
|
|
|
4013
4321
|
...props,
|
|
4014
4322
|
children: [
|
|
4015
4323
|
children,
|
|
4016
|
-
/* @__PURE__ */ (0,
|
|
4324
|
+
/* @__PURE__ */ (0, import_jsx_runtime77.jsx)(import_tooltip.Tooltip.Arrow, { className: "z-50 size-2.5 rotate-45 rounded-[2px] bg-primary fill-primary data-[side=top]:-bottom-1 data-[side=bottom]:-top-1 data-[side=left]:-right-1 data-[side=right]:-left-1" })
|
|
4017
4325
|
]
|
|
4018
4326
|
}
|
|
4019
4327
|
)
|
|
@@ -4022,34 +4330,34 @@ function TooltipContent({
|
|
|
4022
4330
|
}
|
|
4023
4331
|
|
|
4024
4332
|
// src/components/components/Sidebar/rail-tooltip.tsx
|
|
4025
|
-
var
|
|
4333
|
+
var import_jsx_runtime78 = require("react/jsx-runtime");
|
|
4026
4334
|
function RailTooltip({
|
|
4027
4335
|
label,
|
|
4028
4336
|
children
|
|
4029
4337
|
}) {
|
|
4030
|
-
return /* @__PURE__ */ (0,
|
|
4031
|
-
/* @__PURE__ */ (0,
|
|
4032
|
-
/* @__PURE__ */ (0,
|
|
4338
|
+
return /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)(Tooltip2, { children: [
|
|
4339
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsx)(TooltipTrigger, { render: children }),
|
|
4340
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsx)(TooltipContent, { side: "right", sideOffset: 8, children: label })
|
|
4033
4341
|
] });
|
|
4034
4342
|
}
|
|
4035
4343
|
|
|
4036
4344
|
// src/components/components/Sidebar/index.tsx
|
|
4037
|
-
var
|
|
4038
|
-
var
|
|
4345
|
+
var import_runtime14 = require("@pactor-app/runtime");
|
|
4346
|
+
var import_react18 = require("react");
|
|
4039
4347
|
|
|
4040
4348
|
// src/ui/sidebar.tsx
|
|
4041
4349
|
var React4 = __toESM(require("react"), 1);
|
|
4042
4350
|
var import_class_variance_authority5 = require("class-variance-authority");
|
|
4043
|
-
var
|
|
4351
|
+
var import_lucide_react19 = require("lucide-react");
|
|
4044
4352
|
|
|
4045
4353
|
// src/hooks/use-mobile.ts
|
|
4046
|
-
var
|
|
4354
|
+
var import_react17 = require("react");
|
|
4047
4355
|
var MOBILE_MEDIA_QUERY = "(max-width: 767px)";
|
|
4048
4356
|
function useIsMobile() {
|
|
4049
|
-
const [isMobile, setIsMobile] = (0,
|
|
4357
|
+
const [isMobile, setIsMobile] = (0, import_react17.useState)(
|
|
4050
4358
|
() => typeof window !== "undefined" && typeof window.matchMedia === "function" && window.matchMedia(MOBILE_MEDIA_QUERY).matches
|
|
4051
4359
|
);
|
|
4052
|
-
(0,
|
|
4360
|
+
(0, import_react17.useEffect)(() => {
|
|
4053
4361
|
if (typeof window.matchMedia !== "function") {
|
|
4054
4362
|
return;
|
|
4055
4363
|
}
|
|
@@ -4066,14 +4374,14 @@ function useIsMobile() {
|
|
|
4066
4374
|
|
|
4067
4375
|
// src/ui/separator.tsx
|
|
4068
4376
|
var import_separator = require("@base-ui/react/separator");
|
|
4069
|
-
var
|
|
4377
|
+
var import_jsx_runtime79 = require("react/jsx-runtime");
|
|
4070
4378
|
function Separator({
|
|
4071
4379
|
className,
|
|
4072
4380
|
orientation = "horizontal",
|
|
4073
4381
|
decorative: _decorative,
|
|
4074
4382
|
...props
|
|
4075
4383
|
}) {
|
|
4076
|
-
return /* @__PURE__ */ (0,
|
|
4384
|
+
return /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
|
|
4077
4385
|
import_separator.Separator,
|
|
4078
4386
|
{
|
|
4079
4387
|
"data-slot": "separator",
|
|
@@ -4089,24 +4397,24 @@ function Separator({
|
|
|
4089
4397
|
|
|
4090
4398
|
// src/ui/sheet.tsx
|
|
4091
4399
|
var import_dialog3 = require("@base-ui/react/dialog");
|
|
4092
|
-
var
|
|
4400
|
+
var import_lucide_react18 = require("lucide-react");
|
|
4093
4401
|
var import_class_variance_authority4 = require("class-variance-authority");
|
|
4094
|
-
var
|
|
4402
|
+
var import_jsx_runtime80 = require("react/jsx-runtime");
|
|
4095
4403
|
function Sheet({
|
|
4096
4404
|
...props
|
|
4097
4405
|
}) {
|
|
4098
|
-
return /* @__PURE__ */ (0,
|
|
4406
|
+
return /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(import_dialog3.Dialog.Root, { "data-slot": "sheet", ...props });
|
|
4099
4407
|
}
|
|
4100
4408
|
function SheetPortal({
|
|
4101
4409
|
...props
|
|
4102
4410
|
}) {
|
|
4103
|
-
return /* @__PURE__ */ (0,
|
|
4411
|
+
return /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(import_dialog3.Dialog.Portal, { "data-slot": "sheet-portal", ...props });
|
|
4104
4412
|
}
|
|
4105
4413
|
function SheetOverlay({
|
|
4106
4414
|
className,
|
|
4107
4415
|
...props
|
|
4108
4416
|
}) {
|
|
4109
|
-
return /* @__PURE__ */ (0,
|
|
4417
|
+
return /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
|
|
4110
4418
|
import_dialog3.Dialog.Backdrop,
|
|
4111
4419
|
{
|
|
4112
4420
|
"data-slot": "sheet-overlay",
|
|
@@ -4140,9 +4448,9 @@ function SheetContent({
|
|
|
4140
4448
|
side = "right",
|
|
4141
4449
|
...props
|
|
4142
4450
|
}) {
|
|
4143
|
-
return /* @__PURE__ */ (0,
|
|
4144
|
-
/* @__PURE__ */ (0,
|
|
4145
|
-
/* @__PURE__ */ (0,
|
|
4451
|
+
return /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)(SheetPortal, { "data-slot": "sheet-portal", children: [
|
|
4452
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsx)(SheetOverlay, {}),
|
|
4453
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsxs)(
|
|
4146
4454
|
import_dialog3.Dialog.Popup,
|
|
4147
4455
|
{
|
|
4148
4456
|
"data-slot": "sheet-content",
|
|
@@ -4150,11 +4458,11 @@ function SheetContent({
|
|
|
4150
4458
|
...props,
|
|
4151
4459
|
children: [
|
|
4152
4460
|
children,
|
|
4153
|
-
/* @__PURE__ */ (0,
|
|
4461
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsxs)(
|
|
4154
4462
|
import_dialog3.Dialog.Close,
|
|
4155
4463
|
{
|
|
4156
4464
|
"data-slot": "sheet-close",
|
|
4157
|
-
render: /* @__PURE__ */ (0,
|
|
4465
|
+
render: /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
|
|
4158
4466
|
"button",
|
|
4159
4467
|
{
|
|
4160
4468
|
type: "button",
|
|
@@ -4162,8 +4470,8 @@ function SheetContent({
|
|
|
4162
4470
|
}
|
|
4163
4471
|
),
|
|
4164
4472
|
children: [
|
|
4165
|
-
/* @__PURE__ */ (0,
|
|
4166
|
-
/* @__PURE__ */ (0,
|
|
4473
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsx)(import_lucide_react18.XIcon, {}),
|
|
4474
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsx)("span", { className: "sr-only", children: "Close" })
|
|
4167
4475
|
]
|
|
4168
4476
|
}
|
|
4169
4477
|
)
|
|
@@ -4173,7 +4481,7 @@ function SheetContent({
|
|
|
4173
4481
|
] });
|
|
4174
4482
|
}
|
|
4175
4483
|
function SheetHeader({ className, ...props }) {
|
|
4176
|
-
return /* @__PURE__ */ (0,
|
|
4484
|
+
return /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
|
|
4177
4485
|
"div",
|
|
4178
4486
|
{
|
|
4179
4487
|
"data-slot": "sheet-header",
|
|
@@ -4186,7 +4494,7 @@ function SheetTitle({
|
|
|
4186
4494
|
className,
|
|
4187
4495
|
...props
|
|
4188
4496
|
}) {
|
|
4189
|
-
return /* @__PURE__ */ (0,
|
|
4497
|
+
return /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
|
|
4190
4498
|
import_dialog3.Dialog.Title,
|
|
4191
4499
|
{
|
|
4192
4500
|
"data-slot": "sheet-title",
|
|
@@ -4199,7 +4507,7 @@ function SheetDescription({
|
|
|
4199
4507
|
className,
|
|
4200
4508
|
...props
|
|
4201
4509
|
}) {
|
|
4202
|
-
return /* @__PURE__ */ (0,
|
|
4510
|
+
return /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
|
|
4203
4511
|
import_dialog3.Dialog.Description,
|
|
4204
4512
|
{
|
|
4205
4513
|
"data-slot": "sheet-description",
|
|
@@ -4210,9 +4518,9 @@ function SheetDescription({
|
|
|
4210
4518
|
}
|
|
4211
4519
|
|
|
4212
4520
|
// src/ui/skeleton.tsx
|
|
4213
|
-
var
|
|
4521
|
+
var import_jsx_runtime81 = require("react/jsx-runtime");
|
|
4214
4522
|
function Skeleton({ className, ...props }) {
|
|
4215
|
-
return /* @__PURE__ */ (0,
|
|
4523
|
+
return /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
|
|
4216
4524
|
"div",
|
|
4217
4525
|
{
|
|
4218
4526
|
"data-slot": "skeleton",
|
|
@@ -4223,7 +4531,7 @@ function Skeleton({ className, ...props }) {
|
|
|
4223
4531
|
}
|
|
4224
4532
|
|
|
4225
4533
|
// src/ui/sidebar.tsx
|
|
4226
|
-
var
|
|
4534
|
+
var import_jsx_runtime82 = require("react/jsx-runtime");
|
|
4227
4535
|
var SIDEBAR_COOKIE_NAME = "sidebar_state";
|
|
4228
4536
|
var SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;
|
|
4229
4537
|
var SIDEBAR_WIDTH = "16rem";
|
|
@@ -4289,7 +4597,7 @@ function SidebarProvider({
|
|
|
4289
4597
|
}),
|
|
4290
4598
|
[state, open, setOpen, isMobile, openMobile, setOpenMobile, toggleSidebar]
|
|
4291
4599
|
);
|
|
4292
|
-
return /* @__PURE__ */ (0,
|
|
4600
|
+
return /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(SidebarContext.Provider, { value: contextValue, children: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(TooltipProvider, { delay: 0, children: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
|
|
4293
4601
|
"div",
|
|
4294
4602
|
{
|
|
4295
4603
|
"data-slot": "sidebar-wrapper",
|
|
@@ -4317,7 +4625,7 @@ function SidebarRoot({
|
|
|
4317
4625
|
}) {
|
|
4318
4626
|
const { isMobile, state, openMobile, setOpenMobile } = useSidebar();
|
|
4319
4627
|
if (collapsible === "none") {
|
|
4320
|
-
return /* @__PURE__ */ (0,
|
|
4628
|
+
return /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
|
|
4321
4629
|
"div",
|
|
4322
4630
|
{
|
|
4323
4631
|
"data-slot": "sidebar",
|
|
@@ -4331,7 +4639,7 @@ function SidebarRoot({
|
|
|
4331
4639
|
);
|
|
4332
4640
|
}
|
|
4333
4641
|
if (isMobile) {
|
|
4334
|
-
return /* @__PURE__ */ (0,
|
|
4642
|
+
return /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(Sheet, { open: openMobile, onOpenChange: setOpenMobile, ...props, children: /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)(
|
|
4335
4643
|
SheetContent,
|
|
4336
4644
|
{
|
|
4337
4645
|
"data-sidebar": "sidebar",
|
|
@@ -4343,16 +4651,16 @@ function SidebarRoot({
|
|
|
4343
4651
|
},
|
|
4344
4652
|
side,
|
|
4345
4653
|
children: [
|
|
4346
|
-
/* @__PURE__ */ (0,
|
|
4347
|
-
/* @__PURE__ */ (0,
|
|
4348
|
-
/* @__PURE__ */ (0,
|
|
4654
|
+
/* @__PURE__ */ (0, import_jsx_runtime82.jsxs)(SheetHeader, { className: "sr-only", children: [
|
|
4655
|
+
/* @__PURE__ */ (0, import_jsx_runtime82.jsx)(SheetTitle, { children: "Sidebar" }),
|
|
4656
|
+
/* @__PURE__ */ (0, import_jsx_runtime82.jsx)(SheetDescription, { children: "Displays the mobile sidebar." })
|
|
4349
4657
|
] }),
|
|
4350
|
-
/* @__PURE__ */ (0,
|
|
4658
|
+
/* @__PURE__ */ (0, import_jsx_runtime82.jsx)("div", { className: "flex h-full w-full flex-col", children })
|
|
4351
4659
|
]
|
|
4352
4660
|
}
|
|
4353
4661
|
) });
|
|
4354
4662
|
}
|
|
4355
|
-
return /* @__PURE__ */ (0,
|
|
4663
|
+
return /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)(
|
|
4356
4664
|
"div",
|
|
4357
4665
|
{
|
|
4358
4666
|
className: "group peer hidden text-sidebar-foreground md:block",
|
|
@@ -4362,7 +4670,7 @@ function SidebarRoot({
|
|
|
4362
4670
|
"data-side": side,
|
|
4363
4671
|
"data-slot": "sidebar",
|
|
4364
4672
|
children: [
|
|
4365
|
-
/* @__PURE__ */ (0,
|
|
4673
|
+
/* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
|
|
4366
4674
|
"div",
|
|
4367
4675
|
{
|
|
4368
4676
|
"data-slot": "sidebar-gap",
|
|
@@ -4374,7 +4682,7 @@ function SidebarRoot({
|
|
|
4374
4682
|
)
|
|
4375
4683
|
}
|
|
4376
4684
|
),
|
|
4377
|
-
/* @__PURE__ */ (0,
|
|
4685
|
+
/* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
|
|
4378
4686
|
"div",
|
|
4379
4687
|
{
|
|
4380
4688
|
"data-slot": "sidebar-container",
|
|
@@ -4385,7 +4693,7 @@ function SidebarRoot({
|
|
|
4385
4693
|
className
|
|
4386
4694
|
),
|
|
4387
4695
|
...props,
|
|
4388
|
-
children: /* @__PURE__ */ (0,
|
|
4696
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
|
|
4389
4697
|
"div",
|
|
4390
4698
|
{
|
|
4391
4699
|
"data-sidebar": "sidebar",
|
|
@@ -4401,7 +4709,7 @@ function SidebarRoot({
|
|
|
4401
4709
|
);
|
|
4402
4710
|
}
|
|
4403
4711
|
function SidebarInset({ className, ...props }) {
|
|
4404
|
-
return /* @__PURE__ */ (0,
|
|
4712
|
+
return /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
|
|
4405
4713
|
"main",
|
|
4406
4714
|
{
|
|
4407
4715
|
"data-slot": "sidebar-inset",
|
|
@@ -4415,7 +4723,7 @@ function SidebarInset({ className, ...props }) {
|
|
|
4415
4723
|
);
|
|
4416
4724
|
}
|
|
4417
4725
|
function SidebarHeader({ className, ...props }) {
|
|
4418
|
-
return /* @__PURE__ */ (0,
|
|
4726
|
+
return /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
|
|
4419
4727
|
"div",
|
|
4420
4728
|
{
|
|
4421
4729
|
"data-slot": "sidebar-header",
|
|
@@ -4426,7 +4734,7 @@ function SidebarHeader({ className, ...props }) {
|
|
|
4426
4734
|
);
|
|
4427
4735
|
}
|
|
4428
4736
|
function SidebarFooter({ className, ...props }) {
|
|
4429
|
-
return /* @__PURE__ */ (0,
|
|
4737
|
+
return /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
|
|
4430
4738
|
"div",
|
|
4431
4739
|
{
|
|
4432
4740
|
"data-slot": "sidebar-footer",
|
|
@@ -4437,7 +4745,7 @@ function SidebarFooter({ className, ...props }) {
|
|
|
4437
4745
|
);
|
|
4438
4746
|
}
|
|
4439
4747
|
function SidebarContent({ className, ...props }) {
|
|
4440
|
-
return /* @__PURE__ */ (0,
|
|
4748
|
+
return /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
|
|
4441
4749
|
"div",
|
|
4442
4750
|
{
|
|
4443
4751
|
"data-slot": "sidebar-content",
|
|
@@ -4464,7 +4772,7 @@ function renderAsChild(children, dataSlot, className, rest) {
|
|
|
4464
4772
|
});
|
|
4465
4773
|
}
|
|
4466
4774
|
function SidebarMenu({ className, ...props }) {
|
|
4467
|
-
return /* @__PURE__ */ (0,
|
|
4775
|
+
return /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
|
|
4468
4776
|
"ul",
|
|
4469
4777
|
{
|
|
4470
4778
|
"data-slot": "sidebar-menu",
|
|
@@ -4475,7 +4783,7 @@ function SidebarMenu({ className, ...props }) {
|
|
|
4475
4783
|
);
|
|
4476
4784
|
}
|
|
4477
4785
|
function SidebarMenuItem({ className, ...props }) {
|
|
4478
|
-
return /* @__PURE__ */ (0,
|
|
4786
|
+
return /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
|
|
4479
4787
|
"li",
|
|
4480
4788
|
{
|
|
4481
4789
|
"data-slot": "sidebar-menu-item",
|
|
@@ -4522,7 +4830,7 @@ function SidebarMenuButton({
|
|
|
4522
4830
|
"data-size": size,
|
|
4523
4831
|
"data-active": isActive,
|
|
4524
4832
|
...props
|
|
4525
|
-
}) : /* @__PURE__ */ (0,
|
|
4833
|
+
}) : /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
|
|
4526
4834
|
"button",
|
|
4527
4835
|
{
|
|
4528
4836
|
"data-slot": "sidebar-menu-button",
|
|
@@ -4542,9 +4850,9 @@ function SidebarMenuButton({
|
|
|
4542
4850
|
children: tooltip
|
|
4543
4851
|
};
|
|
4544
4852
|
}
|
|
4545
|
-
return /* @__PURE__ */ (0,
|
|
4546
|
-
/* @__PURE__ */ (0,
|
|
4547
|
-
/* @__PURE__ */ (0,
|
|
4853
|
+
return /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)(Tooltip2, { children: [
|
|
4854
|
+
/* @__PURE__ */ (0, import_jsx_runtime82.jsx)(TooltipTrigger, { render: button }),
|
|
4855
|
+
/* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
|
|
4548
4856
|
TooltipContent,
|
|
4549
4857
|
{
|
|
4550
4858
|
side: "right",
|
|
@@ -4557,7 +4865,7 @@ function SidebarMenuButton({
|
|
|
4557
4865
|
}
|
|
4558
4866
|
|
|
4559
4867
|
// src/components/components/Sidebar/index.tsx
|
|
4560
|
-
var
|
|
4868
|
+
var import_jsx_runtime83 = require("react/jsx-runtime");
|
|
4561
4869
|
function useSidebarDrawer() {
|
|
4562
4870
|
try {
|
|
4563
4871
|
const ctx = useSidebar();
|
|
@@ -4571,7 +4879,7 @@ function useSidebarDrawer() {
|
|
|
4571
4879
|
}
|
|
4572
4880
|
function useOptionalRenderer() {
|
|
4573
4881
|
try {
|
|
4574
|
-
return (0,
|
|
4882
|
+
return (0, import_runtime14.useRenderer)();
|
|
4575
4883
|
} catch {
|
|
4576
4884
|
return null;
|
|
4577
4885
|
}
|
|
@@ -4579,9 +4887,9 @@ function useOptionalRenderer() {
|
|
|
4579
4887
|
function SidebarContentSlot({ content }) {
|
|
4580
4888
|
const renderer = useOptionalRenderer();
|
|
4581
4889
|
if (renderer !== null && typeof content === "object" && content !== null && !("$$typeof" in content) && "type" in content) {
|
|
4582
|
-
return /* @__PURE__ */ (0,
|
|
4890
|
+
return /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(import_jsx_runtime83.Fragment, { children: renderer.renderChildren([content]) });
|
|
4583
4891
|
}
|
|
4584
|
-
return /* @__PURE__ */ (0,
|
|
4892
|
+
return /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(import_jsx_runtime83.Fragment, { children: content });
|
|
4585
4893
|
}
|
|
4586
4894
|
function isBrandObject(brand) {
|
|
4587
4895
|
return typeof brand === "object" && brand !== null && !("$$typeof" in brand) && "title" in brand;
|
|
@@ -4591,8 +4899,8 @@ function BrandNode({ brand, collapsed }) {
|
|
|
4591
4899
|
return null;
|
|
4592
4900
|
}
|
|
4593
4901
|
if (isBrandObject(brand)) {
|
|
4594
|
-
return /* @__PURE__ */ (0,
|
|
4595
|
-
brand.logo ? /* @__PURE__ */ (0,
|
|
4902
|
+
return /* @__PURE__ */ (0, import_jsx_runtime83.jsxs)(import_jsx_runtime83.Fragment, { children: [
|
|
4903
|
+
brand.logo ? /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(
|
|
4596
4904
|
"img",
|
|
4597
4905
|
{
|
|
4598
4906
|
"data-slot": "sidebar-brand-logo",
|
|
@@ -4601,27 +4909,27 @@ function BrandNode({ brand, collapsed }) {
|
|
|
4601
4909
|
className: "size-6 shrink-0"
|
|
4602
4910
|
}
|
|
4603
4911
|
) : null,
|
|
4604
|
-
collapsed ? null : /* @__PURE__ */ (0,
|
|
4912
|
+
collapsed ? null : /* @__PURE__ */ (0, import_jsx_runtime83.jsx)("span", { className: "truncate text-sm font-semibold", children: brand.title })
|
|
4605
4913
|
] });
|
|
4606
4914
|
}
|
|
4607
|
-
return /* @__PURE__ */ (0,
|
|
4915
|
+
return /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(import_jsx_runtime83.Fragment, { children: brand });
|
|
4608
4916
|
}
|
|
4609
4917
|
function SidebarNavItems({ items }) {
|
|
4610
|
-
return /* @__PURE__ */ (0,
|
|
4918
|
+
return /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(SidebarMenu, { children: items.map((item, index) => /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(SidebarNavEntry, { item, depth: 0 }, item.href ?? item.label ?? index)) });
|
|
4611
4919
|
}
|
|
4612
4920
|
function SidebarNavEntry({ item, depth }) {
|
|
4613
|
-
const iconNode = item.icon ? /* @__PURE__ */ (0,
|
|
4921
|
+
const iconNode = item.icon ? /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(Icon, { name: item.icon, size: "sm" }) : null;
|
|
4614
4922
|
const labelNode = item.label;
|
|
4615
|
-
const button = item.href ? /* @__PURE__ */ (0,
|
|
4923
|
+
const button = item.href ? /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(SidebarMenuButton, { asChild: true, tooltip: item.label, children: /* @__PURE__ */ (0, import_jsx_runtime83.jsxs)("a", { href: item.href, children: [
|
|
4616
4924
|
iconNode,
|
|
4617
|
-
/* @__PURE__ */ (0,
|
|
4618
|
-
] }) }) : /* @__PURE__ */ (0,
|
|
4925
|
+
/* @__PURE__ */ (0, import_jsx_runtime83.jsx)("span", { children: labelNode })
|
|
4926
|
+
] }) }) : /* @__PURE__ */ (0, import_jsx_runtime83.jsxs)(SidebarMenuButton, { tooltip: item.label, children: [
|
|
4619
4927
|
iconNode,
|
|
4620
|
-
/* @__PURE__ */ (0,
|
|
4928
|
+
/* @__PURE__ */ (0, import_jsx_runtime83.jsx)("span", { children: labelNode })
|
|
4621
4929
|
] });
|
|
4622
|
-
return /* @__PURE__ */ (0,
|
|
4930
|
+
return /* @__PURE__ */ (0, import_jsx_runtime83.jsxs)(SidebarMenuItem, { children: [
|
|
4623
4931
|
button,
|
|
4624
|
-
item.children && item.children.length > 0 && /* @__PURE__ */ (0,
|
|
4932
|
+
item.children && item.children.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime83.jsx)("div", { className: cn("ml-4"), children: item.children.map((child, index) => /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(
|
|
4625
4933
|
SidebarNavEntry,
|
|
4626
4934
|
{
|
|
4627
4935
|
item: child,
|
|
@@ -4644,13 +4952,13 @@ function Sidebar({
|
|
|
4644
4952
|
style,
|
|
4645
4953
|
children
|
|
4646
4954
|
}) {
|
|
4647
|
-
return /* @__PURE__ */ (0,
|
|
4955
|
+
return /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(
|
|
4648
4956
|
SidebarProvider,
|
|
4649
4957
|
{
|
|
4650
4958
|
defaultOpen: true,
|
|
4651
4959
|
className,
|
|
4652
4960
|
style,
|
|
4653
|
-
children: /* @__PURE__ */ (0,
|
|
4961
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(
|
|
4654
4962
|
SidebarInner,
|
|
4655
4963
|
{
|
|
4656
4964
|
brand,
|
|
@@ -4678,32 +4986,32 @@ function SidebarInner({
|
|
|
4678
4986
|
drawer = true,
|
|
4679
4987
|
children
|
|
4680
4988
|
}) {
|
|
4681
|
-
const { t } = (0,
|
|
4989
|
+
const { t } = (0, import_runtime14.useI18n)();
|
|
4682
4990
|
const isMobile = useIsMobile();
|
|
4683
4991
|
const { state, setOpenMobile, toggleSidebar } = useSidebar();
|
|
4684
4992
|
const collapsed = state === "collapsed";
|
|
4685
|
-
const prevCollapsed = (0,
|
|
4686
|
-
(0,
|
|
4993
|
+
const prevCollapsed = (0, import_react18.useRef)(collapsed);
|
|
4994
|
+
(0, import_react18.useEffect)(() => {
|
|
4687
4995
|
if (prevCollapsed.current !== collapsed) {
|
|
4688
4996
|
prevCollapsed.current = collapsed;
|
|
4689
4997
|
onCollapse?.(collapsed);
|
|
4690
4998
|
}
|
|
4691
4999
|
}, [collapsed, onCollapse]);
|
|
4692
|
-
(0,
|
|
5000
|
+
(0, import_react18.useEffect)(() => {
|
|
4693
5001
|
if (locationKey !== void 0) {
|
|
4694
5002
|
setOpenMobile(false);
|
|
4695
5003
|
}
|
|
4696
5004
|
}, [locationKey, setOpenMobile]);
|
|
4697
5005
|
const collapsedEffective = collapsible === true && collapsed && !isMobile;
|
|
4698
|
-
const brandNode = /* @__PURE__ */ (0,
|
|
4699
|
-
const sidebarContent = content !== void 0 && content !== null ? /* @__PURE__ */ (0,
|
|
4700
|
-
return /* @__PURE__ */ (0,
|
|
4701
|
-
/* @__PURE__ */ (0,
|
|
5006
|
+
const brandNode = /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(BrandNode, { brand, collapsed: collapsedEffective });
|
|
5007
|
+
const sidebarContent = content !== void 0 && content !== null ? /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(SidebarContentSlot, { content }) : items.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(SidebarNavItems, { items }) : null;
|
|
5008
|
+
return /* @__PURE__ */ (0, import_jsx_runtime83.jsxs)(import_jsx_runtime83.Fragment, { children: [
|
|
5009
|
+
/* @__PURE__ */ (0, import_jsx_runtime83.jsxs)(
|
|
4702
5010
|
SidebarRoot,
|
|
4703
5011
|
{
|
|
4704
5012
|
collapsible: collapsible ? "icon" : "offcanvas",
|
|
4705
5013
|
children: [
|
|
4706
|
-
(brand !== void 0 || collapsible) && /* @__PURE__ */ (0,
|
|
5014
|
+
(brand !== void 0 || collapsible) && /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(SidebarHeader, { children: /* @__PURE__ */ (0, import_jsx_runtime83.jsxs)(
|
|
4707
5015
|
"div",
|
|
4708
5016
|
{
|
|
4709
5017
|
"data-slot": "sidebar-brand",
|
|
@@ -4712,8 +5020,8 @@ function SidebarInner({
|
|
|
4712
5020
|
collapsedEffective && "justify-center px-0"
|
|
4713
5021
|
),
|
|
4714
5022
|
children: [
|
|
4715
|
-
collapsedEffective ? null : /* @__PURE__ */ (0,
|
|
4716
|
-
collapsible && !isMobile && /* @__PURE__ */ (0,
|
|
5023
|
+
collapsedEffective ? null : /* @__PURE__ */ (0, import_jsx_runtime83.jsx)("div", { className: "flex min-w-0 flex-1 items-center gap-2", children: brandNode }),
|
|
5024
|
+
collapsible && !isMobile && /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(
|
|
4717
5025
|
"button",
|
|
4718
5026
|
{
|
|
4719
5027
|
type: "button",
|
|
@@ -4722,25 +5030,25 @@ function SidebarInner({
|
|
|
4722
5030
|
"aria-expanded": !collapsedEffective,
|
|
4723
5031
|
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
5032
|
onClick: toggleSidebar,
|
|
4725
|
-
children: /* @__PURE__ */ (0,
|
|
5033
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(Icon, { name: collapsedEffective ? "chevron-right" : "chevron-left", size: 16 })
|
|
4726
5034
|
}
|
|
4727
5035
|
)
|
|
4728
5036
|
]
|
|
4729
5037
|
}
|
|
4730
5038
|
) }),
|
|
4731
|
-
/* @__PURE__ */ (0,
|
|
4732
|
-
sidebarFooter !== void 0 && sidebarFooter !== null && !collapsedEffective && /* @__PURE__ */ (0,
|
|
5039
|
+
/* @__PURE__ */ (0, import_jsx_runtime83.jsx)(SidebarContent, { children: sidebarContent }),
|
|
5040
|
+
sidebarFooter !== void 0 && sidebarFooter !== null && !collapsedEffective && /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(SidebarFooter, { children: sidebarFooter })
|
|
4733
5041
|
]
|
|
4734
5042
|
}
|
|
4735
5043
|
),
|
|
4736
|
-
/* @__PURE__ */ (0,
|
|
4737
|
-
drawer && /* @__PURE__ */ (0,
|
|
5044
|
+
/* @__PURE__ */ (0, import_jsx_runtime83.jsxs)(SidebarInset, { children: [
|
|
5045
|
+
drawer && /* @__PURE__ */ (0, import_jsx_runtime83.jsxs)(
|
|
4738
5046
|
"div",
|
|
4739
5047
|
{
|
|
4740
5048
|
"data-slot": "sidebar-topbar",
|
|
4741
5049
|
className: "flex h-14 items-center gap-2 border-b border-sidebar-border bg-sidebar px-3 md:hidden",
|
|
4742
5050
|
children: [
|
|
4743
|
-
/* @__PURE__ */ (0,
|
|
5051
|
+
/* @__PURE__ */ (0, import_jsx_runtime83.jsx)(
|
|
4744
5052
|
"button",
|
|
4745
5053
|
{
|
|
4746
5054
|
type: "button",
|
|
@@ -4748,7 +5056,7 @@ function SidebarInner({
|
|
|
4748
5056
|
"aria-label": t("pactor.layout.openNavigation"),
|
|
4749
5057
|
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
5058
|
onClick: toggleSidebar,
|
|
4751
|
-
children: /* @__PURE__ */ (0,
|
|
5059
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(Icon, { name: "menu", size: 18 })
|
|
4752
5060
|
}
|
|
4753
5061
|
),
|
|
4754
5062
|
brandNode
|
|
@@ -4761,19 +5069,52 @@ function SidebarInner({
|
|
|
4761
5069
|
}
|
|
4762
5070
|
|
|
4763
5071
|
// src/components/components/Menu/index.tsx
|
|
4764
|
-
var
|
|
5072
|
+
var import_jsx_runtime84 = require("react/jsx-runtime");
|
|
5073
|
+
function collectAncestors(items, target, into, trail = []) {
|
|
5074
|
+
for (const item of items) {
|
|
5075
|
+
if (item.key === target) {
|
|
5076
|
+
for (const key of trail) into.add(key);
|
|
5077
|
+
return true;
|
|
5078
|
+
}
|
|
5079
|
+
if (item.children?.length && collectAncestors(item.children, target, into, [...trail, item.key])) {
|
|
5080
|
+
return true;
|
|
5081
|
+
}
|
|
5082
|
+
}
|
|
5083
|
+
return false;
|
|
5084
|
+
}
|
|
4765
5085
|
function Menu2({
|
|
4766
5086
|
items = [],
|
|
4767
5087
|
mode = "inline",
|
|
4768
5088
|
selectedKey,
|
|
5089
|
+
collapsible = false,
|
|
5090
|
+
defaultExpandedKeys,
|
|
4769
5091
|
onSelect,
|
|
4770
5092
|
className,
|
|
4771
5093
|
style
|
|
4772
5094
|
}) {
|
|
4773
5095
|
const drawer = useSidebarDrawer();
|
|
4774
5096
|
const collapsed = mode === "inline" && drawer?.collapsed === true;
|
|
5097
|
+
const collapsibleOn = collapsible && mode === "inline" && !collapsed;
|
|
5098
|
+
const [expandedKeys, setExpandedKeys] = (0, import_react19.useState)(() => {
|
|
5099
|
+
const initial = new Set(defaultExpandedKeys ?? []);
|
|
5100
|
+
if (selectedKey !== void 0) {
|
|
5101
|
+
collectAncestors(items, selectedKey, initial);
|
|
5102
|
+
}
|
|
5103
|
+
return initial;
|
|
5104
|
+
});
|
|
5105
|
+
const toggleExpanded = (key) => {
|
|
5106
|
+
setExpandedKeys((prev) => {
|
|
5107
|
+
const next = new Set(prev);
|
|
5108
|
+
if (next.has(key)) {
|
|
5109
|
+
next.delete(key);
|
|
5110
|
+
} else {
|
|
5111
|
+
next.add(key);
|
|
5112
|
+
}
|
|
5113
|
+
return next;
|
|
5114
|
+
});
|
|
5115
|
+
};
|
|
4775
5116
|
let previousGroup;
|
|
4776
|
-
return /* @__PURE__ */ (0,
|
|
5117
|
+
return /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(
|
|
4777
5118
|
"nav",
|
|
4778
5119
|
{
|
|
4779
5120
|
"data-slot": "menu",
|
|
@@ -4790,8 +5131,8 @@ function Menu2({
|
|
|
4790
5131
|
groupLabel = item.group;
|
|
4791
5132
|
}
|
|
4792
5133
|
previousGroup = item.group;
|
|
4793
|
-
return /* @__PURE__ */ (0,
|
|
4794
|
-
groupLabel !== void 0 && /* @__PURE__ */ (0,
|
|
5134
|
+
return /* @__PURE__ */ (0, import_jsx_runtime84.jsxs)("div", { "data-slot": "menu-group-entry", children: [
|
|
5135
|
+
groupLabel !== void 0 && /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(
|
|
4795
5136
|
"div",
|
|
4796
5137
|
{
|
|
4797
5138
|
"data-slot": "menu-group",
|
|
@@ -4799,7 +5140,7 @@ function Menu2({
|
|
|
4799
5140
|
children: groupLabel
|
|
4800
5141
|
}
|
|
4801
5142
|
),
|
|
4802
|
-
/* @__PURE__ */ (0,
|
|
5143
|
+
/* @__PURE__ */ (0, import_jsx_runtime84.jsx)(
|
|
4803
5144
|
MenuEntry,
|
|
4804
5145
|
{
|
|
4805
5146
|
item,
|
|
@@ -4807,7 +5148,10 @@ function Menu2({
|
|
|
4807
5148
|
depth: 0,
|
|
4808
5149
|
selectedKey,
|
|
4809
5150
|
onSelect,
|
|
4810
|
-
collapsed
|
|
5151
|
+
collapsed,
|
|
5152
|
+
collapsible: collapsibleOn,
|
|
5153
|
+
expandedKeys,
|
|
5154
|
+
onToggle: toggleExpanded
|
|
4811
5155
|
}
|
|
4812
5156
|
)
|
|
4813
5157
|
] }, item.key);
|
|
@@ -4821,15 +5165,34 @@ function MenuEntry({
|
|
|
4821
5165
|
depth,
|
|
4822
5166
|
selectedKey,
|
|
4823
5167
|
onSelect,
|
|
4824
|
-
collapsed = false
|
|
5168
|
+
collapsed = false,
|
|
5169
|
+
collapsible = false,
|
|
5170
|
+
expandedKeys,
|
|
5171
|
+
onToggle
|
|
4825
5172
|
}) {
|
|
4826
5173
|
const selected = item.key === selectedKey;
|
|
4827
|
-
const
|
|
5174
|
+
const hasChildren = (item.children?.length ?? 0) > 0;
|
|
5175
|
+
const isDirectory = collapsible && hasChildren;
|
|
5176
|
+
const expanded = isDirectory && expandedKeys?.has(item.key) === true;
|
|
5177
|
+
const railDirectory = collapsed && hasChildren;
|
|
5178
|
+
const [flyoutOpen, setFlyoutOpen] = (0, import_react19.useState)(false);
|
|
5179
|
+
const flyoutTimer = (0, import_react19.useRef)(void 0);
|
|
5180
|
+
const flyoutOpenNow = () => {
|
|
5181
|
+
window.clearTimeout(flyoutTimer.current);
|
|
5182
|
+
setFlyoutOpen(true);
|
|
5183
|
+
};
|
|
5184
|
+
const flyoutCloseLater = () => {
|
|
5185
|
+
window.clearTimeout(flyoutTimer.current);
|
|
5186
|
+
flyoutTimer.current = window.setTimeout(() => setFlyoutOpen(false), 200);
|
|
5187
|
+
};
|
|
5188
|
+
(0, import_react19.useEffect)(() => () => window.clearTimeout(flyoutTimer.current), []);
|
|
5189
|
+
const button = /* @__PURE__ */ (0, import_jsx_runtime84.jsxs)(
|
|
4828
5190
|
"button",
|
|
4829
5191
|
{
|
|
4830
5192
|
type: "button",
|
|
4831
5193
|
"data-slot": "menu-item",
|
|
4832
5194
|
"aria-current": selected ? "page" : void 0,
|
|
5195
|
+
"aria-expanded": isDirectory ? expanded : railDirectory ? flyoutOpen : void 0,
|
|
4833
5196
|
disabled: item.disabled,
|
|
4834
5197
|
className: cn(
|
|
4835
5198
|
"flex w-full items-center gap-2 rounded-md text-sm transition-colors",
|
|
@@ -4839,29 +5202,80 @@ function MenuEntry({
|
|
|
4839
5202
|
item.disabled && "cursor-not-allowed opacity-50 hover:bg-transparent hover:text-muted-foreground"
|
|
4840
5203
|
),
|
|
4841
5204
|
style: mode === "inline" && depth > 0 && !collapsed ? { paddingLeft: 12 + depth * 16 } : void 0,
|
|
5205
|
+
onMouseEnter: railDirectory ? flyoutOpenNow : void 0,
|
|
5206
|
+
onMouseLeave: railDirectory ? flyoutCloseLater : void 0,
|
|
4842
5207
|
onClick: () => {
|
|
4843
|
-
if (
|
|
5208
|
+
if (item.disabled) return;
|
|
5209
|
+
if (railDirectory) return;
|
|
5210
|
+
if (isDirectory) {
|
|
5211
|
+
onToggle?.(item.key);
|
|
5212
|
+
} else {
|
|
4844
5213
|
onSelect?.(item.key);
|
|
4845
5214
|
}
|
|
4846
5215
|
},
|
|
4847
5216
|
children: [
|
|
4848
|
-
item.icon ? /* @__PURE__ */ (0,
|
|
4849
|
-
collapsed ? null : /* @__PURE__ */ (0,
|
|
4850
|
-
item.dot && !collapsed ? /* @__PURE__ */ (0,
|
|
4851
|
-
item.badge !== void 0 && !collapsed ? /* @__PURE__ */ (0,
|
|
5217
|
+
item.icon ? /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(Icon, { name: item.icon, size: "sm" }) : null,
|
|
5218
|
+
collapsed ? null : /* @__PURE__ */ (0, import_jsx_runtime84.jsx)("span", { className: "min-w-0 flex-1 truncate text-left", children: item.label }),
|
|
5219
|
+
item.dot && !collapsed ? /* @__PURE__ */ (0, import_jsx_runtime84.jsx)("span", { "data-slot": "menu-item-dot", className: "size-1.5 shrink-0 rounded-full bg-destructive" }) : null,
|
|
5220
|
+
item.badge !== void 0 && !collapsed ? /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(
|
|
4852
5221
|
"span",
|
|
4853
5222
|
{
|
|
4854
5223
|
"data-slot": "menu-item-badge",
|
|
4855
5224
|
className: "shrink-0 rounded-full bg-muted px-1.5 py-0.5 text-xs text-muted-foreground",
|
|
4856
5225
|
children: item.badge
|
|
4857
5226
|
}
|
|
5227
|
+
) : null,
|
|
5228
|
+
isDirectory ? /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(
|
|
5229
|
+
"span",
|
|
5230
|
+
{
|
|
5231
|
+
"data-slot": "menu-item-chevron",
|
|
5232
|
+
className: cn(
|
|
5233
|
+
"shrink-0 transition-transform",
|
|
5234
|
+
expanded && "rotate-180"
|
|
5235
|
+
),
|
|
5236
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(Icon, { name: "chevron-down", size: "sm" })
|
|
5237
|
+
}
|
|
4858
5238
|
) : null
|
|
4859
5239
|
]
|
|
4860
5240
|
}
|
|
4861
5241
|
);
|
|
4862
|
-
return /* @__PURE__ */ (0,
|
|
4863
|
-
|
|
4864
|
-
|
|
5242
|
+
return /* @__PURE__ */ (0, import_jsx_runtime84.jsxs)("div", { "data-slot": "menu-entry", "data-key": item.key, children: [
|
|
5243
|
+
railDirectory ? /* @__PURE__ */ (0, import_jsx_runtime84.jsxs)(Popover, { open: flyoutOpen, onOpenChange: setFlyoutOpen, children: [
|
|
5244
|
+
/* @__PURE__ */ (0, import_jsx_runtime84.jsx)(PopoverTrigger, { render: button }),
|
|
5245
|
+
/* @__PURE__ */ (0, import_jsx_runtime84.jsxs)(
|
|
5246
|
+
PopoverContent,
|
|
5247
|
+
{
|
|
5248
|
+
"data-slot": "menu-flyout",
|
|
5249
|
+
side: "right",
|
|
5250
|
+
align: "start",
|
|
5251
|
+
sideOffset: 8,
|
|
5252
|
+
className: "max-h-[70vh] w-48 overflow-auto p-1",
|
|
5253
|
+
initialFocus: false,
|
|
5254
|
+
onMouseEnter: flyoutOpenNow,
|
|
5255
|
+
onMouseLeave: flyoutCloseLater,
|
|
5256
|
+
onClick: (event) => {
|
|
5257
|
+
if (event.target.closest("[data-slot=menu-item]")) {
|
|
5258
|
+
setFlyoutOpen(false);
|
|
5259
|
+
}
|
|
5260
|
+
},
|
|
5261
|
+
children: [
|
|
5262
|
+
/* @__PURE__ */ (0, import_jsx_runtime84.jsx)("div", { className: "px-3 pt-2 pb-1 text-xs font-semibold text-muted-foreground", children: item.label }),
|
|
5263
|
+
item.children?.map((child) => /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(
|
|
5264
|
+
MenuEntry,
|
|
5265
|
+
{
|
|
5266
|
+
item: child,
|
|
5267
|
+
mode: "inline",
|
|
5268
|
+
depth: 0,
|
|
5269
|
+
selectedKey,
|
|
5270
|
+
onSelect
|
|
5271
|
+
},
|
|
5272
|
+
child.key
|
|
5273
|
+
))
|
|
5274
|
+
]
|
|
5275
|
+
}
|
|
5276
|
+
)
|
|
5277
|
+
] }) : collapsed ? /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(RailTooltip, { label: item.label, children: button }) : button,
|
|
5278
|
+
railDirectory || isDirectory && !expanded ? null : item.children?.map((child) => /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(
|
|
4865
5279
|
MenuEntry,
|
|
4866
5280
|
{
|
|
4867
5281
|
item: child,
|
|
@@ -4869,7 +5283,10 @@ function MenuEntry({
|
|
|
4869
5283
|
depth: depth + 1,
|
|
4870
5284
|
selectedKey,
|
|
4871
5285
|
onSelect,
|
|
4872
|
-
collapsed
|
|
5286
|
+
collapsed,
|
|
5287
|
+
collapsible,
|
|
5288
|
+
expandedKeys,
|
|
5289
|
+
onToggle
|
|
4873
5290
|
},
|
|
4874
5291
|
child.key
|
|
4875
5292
|
))
|
|
@@ -4879,12 +5296,12 @@ function MenuEntry({
|
|
|
4879
5296
|
// src/ui/menubar.tsx
|
|
4880
5297
|
var import_menu2 = require("@base-ui/react/menu");
|
|
4881
5298
|
var import_menubar = require("@base-ui/react/menubar");
|
|
4882
|
-
var
|
|
5299
|
+
var import_jsx_runtime85 = require("react/jsx-runtime");
|
|
4883
5300
|
function Menubar({
|
|
4884
5301
|
className,
|
|
4885
5302
|
...props
|
|
4886
5303
|
}) {
|
|
4887
|
-
return /* @__PURE__ */ (0,
|
|
5304
|
+
return /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(
|
|
4888
5305
|
import_menubar.Menubar,
|
|
4889
5306
|
{
|
|
4890
5307
|
"data-slot": "menubar",
|
|
@@ -4899,13 +5316,13 @@ function Menubar({
|
|
|
4899
5316
|
function MenubarMenu({
|
|
4900
5317
|
...props
|
|
4901
5318
|
}) {
|
|
4902
|
-
return /* @__PURE__ */ (0,
|
|
5319
|
+
return /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(import_menu2.Menu.Root, { "data-slot": "menubar-menu", ...props });
|
|
4903
5320
|
}
|
|
4904
5321
|
function MenubarTrigger({
|
|
4905
5322
|
className,
|
|
4906
5323
|
...props
|
|
4907
5324
|
}) {
|
|
4908
|
-
return /* @__PURE__ */ (0,
|
|
5325
|
+
return /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(
|
|
4909
5326
|
import_menu2.Menu.Trigger,
|
|
4910
5327
|
{
|
|
4911
5328
|
"data-slot": "menubar-trigger",
|
|
@@ -4924,14 +5341,14 @@ function MenubarContent({
|
|
|
4924
5341
|
sideOffset = 8,
|
|
4925
5342
|
...props
|
|
4926
5343
|
}) {
|
|
4927
|
-
return /* @__PURE__ */ (0,
|
|
5344
|
+
return /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(import_menu2.Menu.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(
|
|
4928
5345
|
import_menu2.Menu.Positioner,
|
|
4929
5346
|
{
|
|
4930
5347
|
align,
|
|
4931
5348
|
side,
|
|
4932
5349
|
sideOffset,
|
|
4933
5350
|
className: "isolate z-50",
|
|
4934
|
-
children: /* @__PURE__ */ (0,
|
|
5351
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(
|
|
4935
5352
|
import_menu2.Menu.Popup,
|
|
4936
5353
|
{
|
|
4937
5354
|
"data-slot": "menubar-content",
|
|
@@ -4950,7 +5367,7 @@ function MenubarItem({
|
|
|
4950
5367
|
variant = "default",
|
|
4951
5368
|
...props
|
|
4952
5369
|
}) {
|
|
4953
|
-
return /* @__PURE__ */ (0,
|
|
5370
|
+
return /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(
|
|
4954
5371
|
import_menu2.Menu.Item,
|
|
4955
5372
|
{
|
|
4956
5373
|
"data-slot": "menubar-item",
|
|
@@ -4965,17 +5382,17 @@ function MenubarItem({
|
|
|
4965
5382
|
}
|
|
4966
5383
|
|
|
4967
5384
|
// src/components/components/Menubar/index.tsx
|
|
4968
|
-
var
|
|
5385
|
+
var import_jsx_runtime86 = require("react/jsx-runtime");
|
|
4969
5386
|
function Menubar2({ menus = [], onSelect, className, style }) {
|
|
4970
|
-
return /* @__PURE__ */ (0,
|
|
4971
|
-
/* @__PURE__ */ (0,
|
|
4972
|
-
/* @__PURE__ */ (0,
|
|
5387
|
+
return /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(Menubar, { className, style, children: menus.map((menu) => /* @__PURE__ */ (0, import_jsx_runtime86.jsxs)(MenubarMenu, { children: [
|
|
5388
|
+
/* @__PURE__ */ (0, import_jsx_runtime86.jsx)(MenubarTrigger, { children: menu.label }),
|
|
5389
|
+
/* @__PURE__ */ (0, import_jsx_runtime86.jsx)(MenubarContent, { children: menu.items.map((item) => /* @__PURE__ */ (0, import_jsx_runtime86.jsxs)(
|
|
4973
5390
|
MenubarItem,
|
|
4974
5391
|
{
|
|
4975
5392
|
disabled: item.disabled,
|
|
4976
5393
|
onClick: () => onSelect?.(item.value),
|
|
4977
5394
|
children: [
|
|
4978
|
-
item.icon ? /* @__PURE__ */ (0,
|
|
5395
|
+
item.icon ? /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(Icon, { name: item.icon, size: "sm" }) : null,
|
|
4979
5396
|
item.label
|
|
4980
5397
|
]
|
|
4981
5398
|
},
|
|
@@ -4986,15 +5403,15 @@ function Menubar2({ menus = [], onSelect, className, style }) {
|
|
|
4986
5403
|
|
|
4987
5404
|
// src/ui/navigation-menu.tsx
|
|
4988
5405
|
var import_navigation_menu = require("@base-ui/react/navigation-menu");
|
|
4989
|
-
var
|
|
5406
|
+
var import_lucide_react20 = require("lucide-react");
|
|
4990
5407
|
var import_class_variance_authority6 = require("class-variance-authority");
|
|
4991
|
-
var
|
|
5408
|
+
var import_jsx_runtime87 = require("react/jsx-runtime");
|
|
4992
5409
|
function NavigationMenu({
|
|
4993
5410
|
className,
|
|
4994
5411
|
children,
|
|
4995
5412
|
...props
|
|
4996
5413
|
}) {
|
|
4997
|
-
return /* @__PURE__ */ (0,
|
|
5414
|
+
return /* @__PURE__ */ (0, import_jsx_runtime87.jsxs)(
|
|
4998
5415
|
import_navigation_menu.NavigationMenu.Root,
|
|
4999
5416
|
{
|
|
5000
5417
|
"data-slot": "navigation-menu",
|
|
@@ -5002,7 +5419,7 @@ function NavigationMenu({
|
|
|
5002
5419
|
...props,
|
|
5003
5420
|
children: [
|
|
5004
5421
|
children,
|
|
5005
|
-
/* @__PURE__ */ (0,
|
|
5422
|
+
/* @__PURE__ */ (0, import_jsx_runtime87.jsx)(NavigationMenuViewport, {})
|
|
5006
5423
|
]
|
|
5007
5424
|
}
|
|
5008
5425
|
);
|
|
@@ -5011,7 +5428,7 @@ function NavigationMenuList({
|
|
|
5011
5428
|
className,
|
|
5012
5429
|
...props
|
|
5013
5430
|
}) {
|
|
5014
|
-
return /* @__PURE__ */ (0,
|
|
5431
|
+
return /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(
|
|
5015
5432
|
import_navigation_menu.NavigationMenu.List,
|
|
5016
5433
|
{
|
|
5017
5434
|
"data-slot": "navigation-menu-list",
|
|
@@ -5024,7 +5441,7 @@ function NavigationMenuItem({
|
|
|
5024
5441
|
className,
|
|
5025
5442
|
...props
|
|
5026
5443
|
}) {
|
|
5027
|
-
return /* @__PURE__ */ (0,
|
|
5444
|
+
return /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(
|
|
5028
5445
|
import_navigation_menu.NavigationMenu.Item,
|
|
5029
5446
|
{
|
|
5030
5447
|
"data-slot": "navigation-menu-item",
|
|
@@ -5041,7 +5458,7 @@ function NavigationMenuTrigger({
|
|
|
5041
5458
|
children,
|
|
5042
5459
|
...props
|
|
5043
5460
|
}) {
|
|
5044
|
-
return /* @__PURE__ */ (0,
|
|
5461
|
+
return /* @__PURE__ */ (0, import_jsx_runtime87.jsxs)(
|
|
5045
5462
|
import_navigation_menu.NavigationMenu.Trigger,
|
|
5046
5463
|
{
|
|
5047
5464
|
"data-slot": "navigation-menu-trigger",
|
|
@@ -5049,8 +5466,8 @@ function NavigationMenuTrigger({
|
|
|
5049
5466
|
...props,
|
|
5050
5467
|
children: [
|
|
5051
5468
|
children,
|
|
5052
|
-
/* @__PURE__ */ (0,
|
|
5053
|
-
|
|
5469
|
+
/* @__PURE__ */ (0, import_jsx_runtime87.jsx)(
|
|
5470
|
+
import_lucide_react20.ChevronDownIcon,
|
|
5054
5471
|
{
|
|
5055
5472
|
className: "relative top-px ml-1 size-3 transition-transform duration-200 group-data-open/navigation-menu-trigger:rotate-180",
|
|
5056
5473
|
"aria-hidden": "true"
|
|
@@ -5064,7 +5481,7 @@ function NavigationMenuContent({
|
|
|
5064
5481
|
className,
|
|
5065
5482
|
...props
|
|
5066
5483
|
}) {
|
|
5067
|
-
return /* @__PURE__ */ (0,
|
|
5484
|
+
return /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(
|
|
5068
5485
|
import_navigation_menu.NavigationMenu.Content,
|
|
5069
5486
|
{
|
|
5070
5487
|
"data-slot": "navigation-menu-content",
|
|
@@ -5077,13 +5494,13 @@ function NavigationMenuContent({
|
|
|
5077
5494
|
);
|
|
5078
5495
|
}
|
|
5079
5496
|
function NavigationMenuViewport({ className }) {
|
|
5080
|
-
return /* @__PURE__ */ (0,
|
|
5497
|
+
return /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(import_navigation_menu.NavigationMenu.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(
|
|
5081
5498
|
import_navigation_menu.NavigationMenu.Positioner,
|
|
5082
5499
|
{
|
|
5083
5500
|
side: "bottom",
|
|
5084
5501
|
align: "start",
|
|
5085
5502
|
className: "isolate z-50",
|
|
5086
|
-
children: /* @__PURE__ */ (0,
|
|
5503
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(
|
|
5087
5504
|
import_navigation_menu.NavigationMenu.Popup,
|
|
5088
5505
|
{
|
|
5089
5506
|
"data-slot": "navigation-menu-popup",
|
|
@@ -5091,7 +5508,7 @@ function NavigationMenuViewport({ className }) {
|
|
|
5091
5508
|
"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",
|
|
5092
5509
|
className
|
|
5093
5510
|
),
|
|
5094
|
-
children: /* @__PURE__ */ (0,
|
|
5511
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(import_navigation_menu.NavigationMenu.Viewport, { "data-slot": "navigation-menu-viewport" })
|
|
5095
5512
|
}
|
|
5096
5513
|
)
|
|
5097
5514
|
}
|
|
@@ -5101,7 +5518,7 @@ function NavigationMenuLink({
|
|
|
5101
5518
|
className,
|
|
5102
5519
|
...props
|
|
5103
5520
|
}) {
|
|
5104
|
-
return /* @__PURE__ */ (0,
|
|
5521
|
+
return /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(
|
|
5105
5522
|
import_navigation_menu.NavigationMenu.Link,
|
|
5106
5523
|
{
|
|
5107
5524
|
"data-slot": "navigation-menu-link",
|
|
@@ -5115,33 +5532,33 @@ function NavigationMenuLink({
|
|
|
5115
5532
|
}
|
|
5116
5533
|
|
|
5117
5534
|
// src/components/components/NavigationMenu/index.tsx
|
|
5118
|
-
var
|
|
5535
|
+
var import_jsx_runtime88 = require("react/jsx-runtime");
|
|
5119
5536
|
function NavigationMenu2({ items = [], className, style }) {
|
|
5120
|
-
return /* @__PURE__ */ (0,
|
|
5121
|
-
/* @__PURE__ */ (0,
|
|
5537
|
+
return /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(NavigationMenu, { className, style, children: /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(NavigationMenuList, { children: items.map((item, index) => /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(NavigationMenuItem, { value: `item-${index}`, children: item.children && item.children.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime88.jsxs)(import_jsx_runtime88.Fragment, { children: [
|
|
5538
|
+
/* @__PURE__ */ (0, import_jsx_runtime88.jsxs)(
|
|
5122
5539
|
NavigationMenuTrigger,
|
|
5123
5540
|
{
|
|
5124
5541
|
className: item.icon !== void 0 ? "gap-2" : void 0,
|
|
5125
5542
|
children: [
|
|
5126
|
-
item.icon ? /* @__PURE__ */ (0,
|
|
5543
|
+
item.icon ? /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(Icon, { name: item.icon, size: "sm" }) : null,
|
|
5127
5544
|
item.label
|
|
5128
5545
|
]
|
|
5129
5546
|
}
|
|
5130
5547
|
),
|
|
5131
|
-
/* @__PURE__ */ (0,
|
|
5132
|
-
/* @__PURE__ */ (0,
|
|
5548
|
+
/* @__PURE__ */ (0, import_jsx_runtime88.jsx)(NavigationMenuContent, { children: /* @__PURE__ */ (0, import_jsx_runtime88.jsx)("ul", { className: "grid w-64 gap-1", children: item.children.map((child) => /* @__PURE__ */ (0, import_jsx_runtime88.jsx)("li", { children: /* @__PURE__ */ (0, import_jsx_runtime88.jsxs)(NavigationMenuLink, { href: child.href, children: [
|
|
5549
|
+
/* @__PURE__ */ (0, import_jsx_runtime88.jsxs)(
|
|
5133
5550
|
"span",
|
|
5134
5551
|
{
|
|
5135
5552
|
className: child.icon !== void 0 ? "flex items-center gap-2 font-medium" : "font-medium",
|
|
5136
5553
|
children: [
|
|
5137
|
-
child.icon ? /* @__PURE__ */ (0,
|
|
5554
|
+
child.icon ? /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(Icon, { name: child.icon, size: "sm" }) : null,
|
|
5138
5555
|
child.label
|
|
5139
5556
|
]
|
|
5140
5557
|
}
|
|
5141
5558
|
),
|
|
5142
|
-
child.description ? /* @__PURE__ */ (0,
|
|
5559
|
+
child.description ? /* @__PURE__ */ (0, import_jsx_runtime88.jsx)("span", { className: "text-muted-foreground", children: child.description }) : null
|
|
5143
5560
|
] }) }, child.href)) }) })
|
|
5144
|
-
] }) : /* @__PURE__ */ (0,
|
|
5561
|
+
] }) : /* @__PURE__ */ (0, import_jsx_runtime88.jsxs)(
|
|
5145
5562
|
NavigationMenuLink,
|
|
5146
5563
|
{
|
|
5147
5564
|
href: item.href,
|
|
@@ -5150,7 +5567,7 @@ function NavigationMenu2({ items = [], className, style }) {
|
|
|
5150
5567
|
item.icon !== void 0 && "gap-2"
|
|
5151
5568
|
),
|
|
5152
5569
|
children: [
|
|
5153
|
-
item.icon ? /* @__PURE__ */ (0,
|
|
5570
|
+
item.icon ? /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(Icon, { name: item.icon, size: "sm" }) : null,
|
|
5154
5571
|
item.label
|
|
5155
5572
|
]
|
|
5156
5573
|
}
|
|
@@ -5158,22 +5575,22 @@ function NavigationMenu2({ items = [], className, style }) {
|
|
|
5158
5575
|
}
|
|
5159
5576
|
|
|
5160
5577
|
// src/components/components/Page/index.tsx
|
|
5161
|
-
var
|
|
5578
|
+
var import_jsx_runtime89 = require("react/jsx-runtime");
|
|
5162
5579
|
function Page({ title, className, style, children }) {
|
|
5163
|
-
return /* @__PURE__ */ (0,
|
|
5164
|
-
title ? /* @__PURE__ */ (0,
|
|
5165
|
-
/* @__PURE__ */ (0,
|
|
5580
|
+
return /* @__PURE__ */ (0, import_jsx_runtime89.jsxs)("div", { "data-slot": "page", className: cn("p-6", className), style, children: [
|
|
5581
|
+
title ? /* @__PURE__ */ (0, import_jsx_runtime89.jsx)("h2", { "data-slot": "page-title", className: "mb-5 text-xl font-semibold", children: title }) : null,
|
|
5582
|
+
/* @__PURE__ */ (0, import_jsx_runtime89.jsx)("div", { "data-slot": "page-content", className: "space-y-5", children })
|
|
5166
5583
|
] });
|
|
5167
5584
|
}
|
|
5168
5585
|
|
|
5169
5586
|
// src/components/components/Pagination/index.tsx
|
|
5170
|
-
var
|
|
5587
|
+
var import_react20 = require("react");
|
|
5171
5588
|
|
|
5172
5589
|
// src/ui/pagination.tsx
|
|
5173
|
-
var
|
|
5174
|
-
var
|
|
5590
|
+
var import_lucide_react21 = require("lucide-react");
|
|
5591
|
+
var import_jsx_runtime90 = require("react/jsx-runtime");
|
|
5175
5592
|
function Pagination({ className, ...props }) {
|
|
5176
|
-
return /* @__PURE__ */ (0,
|
|
5593
|
+
return /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(
|
|
5177
5594
|
"nav",
|
|
5178
5595
|
{
|
|
5179
5596
|
role: "navigation",
|
|
@@ -5185,7 +5602,7 @@ function Pagination({ className, ...props }) {
|
|
|
5185
5602
|
);
|
|
5186
5603
|
}
|
|
5187
5604
|
function PaginationContent({ className, ...props }) {
|
|
5188
|
-
return /* @__PURE__ */ (0,
|
|
5605
|
+
return /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(
|
|
5189
5606
|
"ul",
|
|
5190
5607
|
{
|
|
5191
5608
|
"data-slot": "pagination-content",
|
|
@@ -5195,7 +5612,7 @@ function PaginationContent({ className, ...props }) {
|
|
|
5195
5612
|
);
|
|
5196
5613
|
}
|
|
5197
5614
|
function PaginationItem({ ...props }) {
|
|
5198
|
-
return /* @__PURE__ */ (0,
|
|
5615
|
+
return /* @__PURE__ */ (0, import_jsx_runtime90.jsx)("li", { "data-slot": "pagination-item", ...props });
|
|
5199
5616
|
}
|
|
5200
5617
|
function PaginationLink({
|
|
5201
5618
|
className,
|
|
@@ -5203,7 +5620,7 @@ function PaginationLink({
|
|
|
5203
5620
|
disabled,
|
|
5204
5621
|
...props
|
|
5205
5622
|
}) {
|
|
5206
|
-
return /* @__PURE__ */ (0,
|
|
5623
|
+
return /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(
|
|
5207
5624
|
"a",
|
|
5208
5625
|
{
|
|
5209
5626
|
"aria-current": isActive ? "page" : void 0,
|
|
@@ -5227,15 +5644,15 @@ function PaginationPrevious({
|
|
|
5227
5644
|
className,
|
|
5228
5645
|
...props
|
|
5229
5646
|
}) {
|
|
5230
|
-
return /* @__PURE__ */ (0,
|
|
5647
|
+
return /* @__PURE__ */ (0, import_jsx_runtime90.jsxs)(
|
|
5231
5648
|
PaginationLink,
|
|
5232
5649
|
{
|
|
5233
5650
|
"aria-label": "Go to previous page",
|
|
5234
5651
|
className: cn("gap-1 px-2.5 sm:pl-2.5", className),
|
|
5235
5652
|
...props,
|
|
5236
5653
|
children: [
|
|
5237
|
-
/* @__PURE__ */ (0,
|
|
5238
|
-
/* @__PURE__ */ (0,
|
|
5654
|
+
/* @__PURE__ */ (0, import_jsx_runtime90.jsx)(import_lucide_react21.ChevronLeftIcon, {}),
|
|
5655
|
+
/* @__PURE__ */ (0, import_jsx_runtime90.jsx)("span", { className: "hidden sm:block", children: "Previous" })
|
|
5239
5656
|
]
|
|
5240
5657
|
}
|
|
5241
5658
|
);
|
|
@@ -5244,21 +5661,21 @@ function PaginationNext({
|
|
|
5244
5661
|
className,
|
|
5245
5662
|
...props
|
|
5246
5663
|
}) {
|
|
5247
|
-
return /* @__PURE__ */ (0,
|
|
5664
|
+
return /* @__PURE__ */ (0, import_jsx_runtime90.jsxs)(
|
|
5248
5665
|
PaginationLink,
|
|
5249
5666
|
{
|
|
5250
5667
|
"aria-label": "Go to next page",
|
|
5251
5668
|
className: cn("gap-1 px-2.5 sm:pr-2.5", className),
|
|
5252
5669
|
...props,
|
|
5253
5670
|
children: [
|
|
5254
|
-
/* @__PURE__ */ (0,
|
|
5255
|
-
/* @__PURE__ */ (0,
|
|
5671
|
+
/* @__PURE__ */ (0, import_jsx_runtime90.jsx)("span", { className: "hidden sm:block", children: "Next" }),
|
|
5672
|
+
/* @__PURE__ */ (0, import_jsx_runtime90.jsx)(import_lucide_react21.ChevronRightIcon, {})
|
|
5256
5673
|
]
|
|
5257
5674
|
}
|
|
5258
5675
|
);
|
|
5259
5676
|
}
|
|
5260
5677
|
function PaginationEllipsis({ className, ...props }) {
|
|
5261
|
-
return /* @__PURE__ */ (0,
|
|
5678
|
+
return /* @__PURE__ */ (0, import_jsx_runtime90.jsxs)(
|
|
5262
5679
|
"span",
|
|
5263
5680
|
{
|
|
5264
5681
|
"aria-hidden": true,
|
|
@@ -5266,15 +5683,15 @@ function PaginationEllipsis({ className, ...props }) {
|
|
|
5266
5683
|
className: cn("flex size-9 items-center justify-center", className),
|
|
5267
5684
|
...props,
|
|
5268
5685
|
children: [
|
|
5269
|
-
/* @__PURE__ */ (0,
|
|
5270
|
-
/* @__PURE__ */ (0,
|
|
5686
|
+
/* @__PURE__ */ (0, import_jsx_runtime90.jsx)(import_lucide_react21.MoreHorizontalIcon, { className: "size-4" }),
|
|
5687
|
+
/* @__PURE__ */ (0, import_jsx_runtime90.jsx)("span", { className: "sr-only", children: "More pages" })
|
|
5271
5688
|
]
|
|
5272
5689
|
}
|
|
5273
5690
|
);
|
|
5274
5691
|
}
|
|
5275
5692
|
|
|
5276
5693
|
// src/components/components/Pagination/index.tsx
|
|
5277
|
-
var
|
|
5694
|
+
var import_jsx_runtime91 = require("react/jsx-runtime");
|
|
5278
5695
|
function pageItems(current, count) {
|
|
5279
5696
|
if (count <= 7) {
|
|
5280
5697
|
return Array.from({ length: count }, (_, i) => i + 1);
|
|
@@ -5295,7 +5712,7 @@ function Pagination2({
|
|
|
5295
5712
|
className,
|
|
5296
5713
|
style
|
|
5297
5714
|
}) {
|
|
5298
|
-
const [innerPage, setInnerPage] = (0,
|
|
5715
|
+
const [innerPage, setInnerPage] = (0, import_react20.useState)(1);
|
|
5299
5716
|
const pageCount = Math.max(1, Math.ceil(total / Math.max(1, pageSize)));
|
|
5300
5717
|
const current = Math.min(Math.max(1, page ?? innerPage), pageCount);
|
|
5301
5718
|
const goTo = (next) => {
|
|
@@ -5308,8 +5725,8 @@ function Pagination2({
|
|
|
5308
5725
|
}
|
|
5309
5726
|
onChange?.(target);
|
|
5310
5727
|
};
|
|
5311
|
-
return /* @__PURE__ */ (0,
|
|
5312
|
-
/* @__PURE__ */ (0,
|
|
5728
|
+
return /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(Pagination, { className, style, children: /* @__PURE__ */ (0, import_jsx_runtime91.jsxs)(PaginationContent, { children: [
|
|
5729
|
+
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)(PaginationItem, { children: /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(
|
|
5313
5730
|
PaginationPrevious,
|
|
5314
5731
|
{
|
|
5315
5732
|
href: "#",
|
|
@@ -5320,7 +5737,7 @@ function Pagination2({
|
|
|
5320
5737
|
}
|
|
5321
5738
|
}
|
|
5322
5739
|
) }),
|
|
5323
|
-
pageItems(current, pageCount).map((item, index) => /* @__PURE__ */ (0,
|
|
5740
|
+
pageItems(current, pageCount).map((item, index) => /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(PaginationItem, { children: item === "ellipsis" ? /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(PaginationEllipsis, {}) : /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(
|
|
5324
5741
|
PaginationLink,
|
|
5325
5742
|
{
|
|
5326
5743
|
href: "#",
|
|
@@ -5332,7 +5749,7 @@ function Pagination2({
|
|
|
5332
5749
|
children: item
|
|
5333
5750
|
}
|
|
5334
5751
|
) }, item === "ellipsis" ? `ellipsis-${index}` : item)),
|
|
5335
|
-
/* @__PURE__ */ (0,
|
|
5752
|
+
/* @__PURE__ */ (0, import_jsx_runtime91.jsx)(PaginationItem, { children: /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(
|
|
5336
5753
|
PaginationNext,
|
|
5337
5754
|
{
|
|
5338
5755
|
href: "#",
|
|
@@ -5347,15 +5764,15 @@ function Pagination2({
|
|
|
5347
5764
|
}
|
|
5348
5765
|
|
|
5349
5766
|
// src/components/components/Popover/index.tsx
|
|
5350
|
-
var
|
|
5351
|
-
var
|
|
5767
|
+
var import_runtime15 = require("@pactor-app/runtime");
|
|
5768
|
+
var import_jsx_runtime92 = require("react/jsx-runtime");
|
|
5352
5769
|
function isDslNode3(value) {
|
|
5353
5770
|
return typeof value === "object" && value !== null && typeof value.type === "string";
|
|
5354
5771
|
}
|
|
5355
5772
|
function Popover2({ content, children, className, style }) {
|
|
5356
|
-
const { renderChildren } = (0,
|
|
5357
|
-
return /* @__PURE__ */ (0,
|
|
5358
|
-
/* @__PURE__ */ (0,
|
|
5773
|
+
const { renderChildren } = (0, import_runtime15.useRenderer)();
|
|
5774
|
+
return /* @__PURE__ */ (0, import_jsx_runtime92.jsxs)(Popover, { children: [
|
|
5775
|
+
/* @__PURE__ */ (0, import_jsx_runtime92.jsx)(
|
|
5359
5776
|
PopoverTrigger,
|
|
5360
5777
|
{
|
|
5361
5778
|
nativeButton: false,
|
|
@@ -5363,15 +5780,15 @@ function Popover2({ content, children, className, style }) {
|
|
|
5363
5780
|
children
|
|
5364
5781
|
}
|
|
5365
5782
|
),
|
|
5366
|
-
/* @__PURE__ */ (0,
|
|
5783
|
+
/* @__PURE__ */ (0, import_jsx_runtime92.jsx)(PopoverContent, { className, style, children: isDslNode3(content) ? renderChildren([content]) : content })
|
|
5367
5784
|
] });
|
|
5368
5785
|
}
|
|
5369
5786
|
|
|
5370
5787
|
// src/ui/progress.tsx
|
|
5371
5788
|
var import_progress = require("@base-ui/react/progress");
|
|
5372
|
-
var
|
|
5789
|
+
var import_jsx_runtime93 = require("react/jsx-runtime");
|
|
5373
5790
|
function Progress({ className, ...props }) {
|
|
5374
|
-
return /* @__PURE__ */ (0,
|
|
5791
|
+
return /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(
|
|
5375
5792
|
import_progress.Progress.Root,
|
|
5376
5793
|
{
|
|
5377
5794
|
"data-slot": "progress",
|
|
@@ -5381,7 +5798,7 @@ function Progress({ className, ...props }) {
|
|
|
5381
5798
|
);
|
|
5382
5799
|
}
|
|
5383
5800
|
function ProgressTrack({ className, ...props }) {
|
|
5384
|
-
return /* @__PURE__ */ (0,
|
|
5801
|
+
return /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(
|
|
5385
5802
|
import_progress.Progress.Track,
|
|
5386
5803
|
{
|
|
5387
5804
|
"data-slot": "progress-track",
|
|
@@ -5394,7 +5811,7 @@ function ProgressIndicator({
|
|
|
5394
5811
|
className,
|
|
5395
5812
|
...props
|
|
5396
5813
|
}) {
|
|
5397
|
-
return /* @__PURE__ */ (0,
|
|
5814
|
+
return /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(
|
|
5398
5815
|
import_progress.Progress.Indicator,
|
|
5399
5816
|
{
|
|
5400
5817
|
"data-slot": "progress-indicator",
|
|
@@ -5408,21 +5825,21 @@ function ProgressIndicator({
|
|
|
5408
5825
|
}
|
|
5409
5826
|
|
|
5410
5827
|
// src/components/components/Progress/index.tsx
|
|
5411
|
-
var
|
|
5828
|
+
var import_jsx_runtime94 = require("react/jsx-runtime");
|
|
5412
5829
|
function Progress2({ value, className, style }) {
|
|
5413
5830
|
const resolved = typeof value === "number" && Number.isFinite(value) ? Math.min(100, Math.max(0, value)) : null;
|
|
5414
|
-
return /* @__PURE__ */ (0,
|
|
5831
|
+
return /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(Progress, { value: resolved, className, style, children: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(ProgressTrack, { children: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(ProgressIndicator, {}) }) });
|
|
5415
5832
|
}
|
|
5416
5833
|
|
|
5417
5834
|
// src/components/components/RadioGroup/index.tsx
|
|
5418
|
-
var
|
|
5835
|
+
var import_react21 = require("react");
|
|
5419
5836
|
|
|
5420
5837
|
// src/ui/radio-group.tsx
|
|
5421
5838
|
var import_radio = require("@base-ui/react/radio");
|
|
5422
5839
|
var import_radio_group = require("@base-ui/react/radio-group");
|
|
5423
|
-
var
|
|
5840
|
+
var import_jsx_runtime95 = require("react/jsx-runtime");
|
|
5424
5841
|
function RadioGroup({ className, ...props }) {
|
|
5425
|
-
return /* @__PURE__ */ (0,
|
|
5842
|
+
return /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(
|
|
5426
5843
|
import_radio_group.RadioGroup,
|
|
5427
5844
|
{
|
|
5428
5845
|
"data-slot": "radio-group",
|
|
@@ -5432,7 +5849,7 @@ function RadioGroup({ className, ...props }) {
|
|
|
5432
5849
|
);
|
|
5433
5850
|
}
|
|
5434
5851
|
function RadioGroupItem({ className, ...props }) {
|
|
5435
|
-
return /* @__PURE__ */ (0,
|
|
5852
|
+
return /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(
|
|
5436
5853
|
import_radio.Radio.Root,
|
|
5437
5854
|
{
|
|
5438
5855
|
"data-slot": "radio-group-item",
|
|
@@ -5441,12 +5858,12 @@ function RadioGroupItem({ className, ...props }) {
|
|
|
5441
5858
|
className
|
|
5442
5859
|
),
|
|
5443
5860
|
...props,
|
|
5444
|
-
children: /* @__PURE__ */ (0,
|
|
5861
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(
|
|
5445
5862
|
import_radio.Radio.Indicator,
|
|
5446
5863
|
{
|
|
5447
5864
|
"data-slot": "radio-group-indicator",
|
|
5448
5865
|
className: "flex items-center justify-center",
|
|
5449
|
-
children: /* @__PURE__ */ (0,
|
|
5866
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime95.jsx)("span", { className: "size-2 rounded-full bg-(--radio-checked)" })
|
|
5450
5867
|
}
|
|
5451
5868
|
)
|
|
5452
5869
|
}
|
|
@@ -5454,7 +5871,7 @@ function RadioGroupItem({ className, ...props }) {
|
|
|
5454
5871
|
}
|
|
5455
5872
|
|
|
5456
5873
|
// src/components/components/Form/form-item.tsx
|
|
5457
|
-
var
|
|
5874
|
+
var import_jsx_runtime96 = require("react/jsx-runtime");
|
|
5458
5875
|
function FieldShell({
|
|
5459
5876
|
layout,
|
|
5460
5877
|
label,
|
|
@@ -5464,14 +5881,14 @@ function FieldShell({
|
|
|
5464
5881
|
style,
|
|
5465
5882
|
children
|
|
5466
5883
|
}) {
|
|
5467
|
-
return /* @__PURE__ */ (0,
|
|
5884
|
+
return /* @__PURE__ */ (0, import_jsx_runtime96.jsxs)(
|
|
5468
5885
|
"div",
|
|
5469
5886
|
{
|
|
5470
5887
|
"data-slot": "form-item",
|
|
5471
5888
|
className: cn(formItemClass(layout), className),
|
|
5472
5889
|
style,
|
|
5473
5890
|
children: [
|
|
5474
|
-
label ? /* @__PURE__ */ (0,
|
|
5891
|
+
label ? /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(
|
|
5475
5892
|
"label",
|
|
5476
5893
|
{
|
|
5477
5894
|
htmlFor,
|
|
@@ -5480,14 +5897,14 @@ function FieldShell({
|
|
|
5480
5897
|
}
|
|
5481
5898
|
) : null,
|
|
5482
5899
|
children,
|
|
5483
|
-
error ? /* @__PURE__ */ (0,
|
|
5900
|
+
error ? /* @__PURE__ */ (0, import_jsx_runtime96.jsx)("div", { "data-slot": "form-error", className: "text-sm text-destructive", children: error }) : null
|
|
5484
5901
|
]
|
|
5485
5902
|
}
|
|
5486
5903
|
);
|
|
5487
5904
|
}
|
|
5488
5905
|
|
|
5489
5906
|
// src/components/components/RadioGroup/index.tsx
|
|
5490
|
-
var
|
|
5907
|
+
var import_jsx_runtime97 = require("react/jsx-runtime");
|
|
5491
5908
|
function RadioGroup2({
|
|
5492
5909
|
name,
|
|
5493
5910
|
label,
|
|
@@ -5500,9 +5917,9 @@ function RadioGroup2({
|
|
|
5500
5917
|
style
|
|
5501
5918
|
}) {
|
|
5502
5919
|
const form = useFormContext();
|
|
5503
|
-
const controlId = (0,
|
|
5920
|
+
const controlId = (0, import_react21.useId)();
|
|
5504
5921
|
const inForm = form?.inForm === true && typeof name === "string" && name !== "";
|
|
5505
|
-
(0,
|
|
5922
|
+
(0, import_react21.useEffect)(() => {
|
|
5506
5923
|
if (inForm && form && name) {
|
|
5507
5924
|
form.registerField(name, rules, value);
|
|
5508
5925
|
return () => form.unregisterField(name);
|
|
@@ -5517,7 +5934,7 @@ function RadioGroup2({
|
|
|
5517
5934
|
onChange?.(next);
|
|
5518
5935
|
};
|
|
5519
5936
|
const groupValue = current ?? "";
|
|
5520
|
-
const group = /* @__PURE__ */ (0,
|
|
5937
|
+
const group = /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(
|
|
5521
5938
|
RadioGroup,
|
|
5522
5939
|
{
|
|
5523
5940
|
value: groupValue,
|
|
@@ -5528,8 +5945,8 @@ function RadioGroup2({
|
|
|
5528
5945
|
style: inForm ? void 0 : style,
|
|
5529
5946
|
children: options.map((option, index) => {
|
|
5530
5947
|
const optionId = `${controlId}-${index}`;
|
|
5531
|
-
return /* @__PURE__ */ (0,
|
|
5532
|
-
/* @__PURE__ */ (0,
|
|
5948
|
+
return /* @__PURE__ */ (0, import_jsx_runtime97.jsxs)("span", { className: "inline-flex items-center gap-2", children: [
|
|
5949
|
+
/* @__PURE__ */ (0, import_jsx_runtime97.jsx)(
|
|
5533
5950
|
RadioGroupItem,
|
|
5534
5951
|
{
|
|
5535
5952
|
id: optionId,
|
|
@@ -5537,13 +5954,13 @@ function RadioGroup2({
|
|
|
5537
5954
|
disabled: option.disabled
|
|
5538
5955
|
}
|
|
5539
5956
|
),
|
|
5540
|
-
/* @__PURE__ */ (0,
|
|
5957
|
+
/* @__PURE__ */ (0, import_jsx_runtime97.jsx)("label", { htmlFor: optionId, className: "text-sm leading-none font-medium", children: option.label })
|
|
5541
5958
|
] }, String(option.value));
|
|
5542
5959
|
})
|
|
5543
5960
|
}
|
|
5544
5961
|
);
|
|
5545
5962
|
if (inForm && form && name) {
|
|
5546
|
-
return /* @__PURE__ */ (0,
|
|
5963
|
+
return /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(
|
|
5547
5964
|
FieldShell,
|
|
5548
5965
|
{
|
|
5549
5966
|
layout: form.layout,
|
|
@@ -5559,18 +5976,18 @@ function RadioGroup2({
|
|
|
5559
5976
|
}
|
|
5560
5977
|
|
|
5561
5978
|
// src/components/components/Resizable/index.tsx
|
|
5562
|
-
var
|
|
5563
|
-
var
|
|
5979
|
+
var import_runtime16 = require("@pactor-app/runtime");
|
|
5980
|
+
var import_react22 = require("react");
|
|
5564
5981
|
|
|
5565
5982
|
// src/ui/resizable.tsx
|
|
5566
|
-
var
|
|
5983
|
+
var import_lucide_react22 = require("lucide-react");
|
|
5567
5984
|
var import_react_resizable_panels = require("react-resizable-panels");
|
|
5568
|
-
var
|
|
5985
|
+
var import_jsx_runtime98 = require("react/jsx-runtime");
|
|
5569
5986
|
function PanelGroup({
|
|
5570
5987
|
className,
|
|
5571
5988
|
...props
|
|
5572
5989
|
}) {
|
|
5573
|
-
return /* @__PURE__ */ (0,
|
|
5990
|
+
return /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(
|
|
5574
5991
|
import_react_resizable_panels.Group,
|
|
5575
5992
|
{
|
|
5576
5993
|
"data-slot": "resizable-panel-group",
|
|
@@ -5583,14 +6000,14 @@ function PanelGroup({
|
|
|
5583
6000
|
);
|
|
5584
6001
|
}
|
|
5585
6002
|
function Panel({ ...props }) {
|
|
5586
|
-
return /* @__PURE__ */ (0,
|
|
6003
|
+
return /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(import_react_resizable_panels.Panel, { "data-slot": "resizable-panel", ...props });
|
|
5587
6004
|
}
|
|
5588
6005
|
function ResizableHandle({
|
|
5589
6006
|
withHandle,
|
|
5590
6007
|
className,
|
|
5591
6008
|
...props
|
|
5592
6009
|
}) {
|
|
5593
|
-
return /* @__PURE__ */ (0,
|
|
6010
|
+
return /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(
|
|
5594
6011
|
import_react_resizable_panels.Separator,
|
|
5595
6012
|
{
|
|
5596
6013
|
"data-slot": "resizable-handle",
|
|
@@ -5599,23 +6016,23 @@ function ResizableHandle({
|
|
|
5599
6016
|
className
|
|
5600
6017
|
),
|
|
5601
6018
|
...props,
|
|
5602
|
-
children: withHandle ? /* @__PURE__ */ (0,
|
|
6019
|
+
children: withHandle ? /* @__PURE__ */ (0, import_jsx_runtime98.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_runtime98.jsx)(import_lucide_react22.GripVerticalIcon, { className: "size-2.5" }) }) : null
|
|
5603
6020
|
}
|
|
5604
6021
|
);
|
|
5605
6022
|
}
|
|
5606
6023
|
|
|
5607
6024
|
// src/components/components/Resizable/index.tsx
|
|
5608
|
-
var
|
|
6025
|
+
var import_jsx_runtime99 = require("react/jsx-runtime");
|
|
5609
6026
|
function Resizable({
|
|
5610
6027
|
panels = [],
|
|
5611
6028
|
direction = "horizontal",
|
|
5612
6029
|
className,
|
|
5613
6030
|
style
|
|
5614
6031
|
}) {
|
|
5615
|
-
const { renderChildren } = (0,
|
|
5616
|
-
return /* @__PURE__ */ (0,
|
|
5617
|
-
index > 0 ? /* @__PURE__ */ (0,
|
|
5618
|
-
/* @__PURE__ */ (0,
|
|
6032
|
+
const { renderChildren } = (0, import_runtime16.useRenderer)();
|
|
6033
|
+
return /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(PanelGroup, { orientation: direction, className, style, children: panels.map((panel, index) => /* @__PURE__ */ (0, import_jsx_runtime99.jsxs)(import_react22.Fragment, { children: [
|
|
6034
|
+
index > 0 ? /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(ResizableHandle, { withHandle: true }) : null,
|
|
6035
|
+
/* @__PURE__ */ (0, import_jsx_runtime99.jsx)(
|
|
5619
6036
|
Panel,
|
|
5620
6037
|
{
|
|
5621
6038
|
defaultSize: typeof panel.defaultSizePx === "number" ? `${panel.defaultSizePx}px` : typeof panel.defaultSize === "number" ? `${panel.defaultSize}%` : void 0,
|
|
@@ -5629,20 +6046,20 @@ function Resizable({
|
|
|
5629
6046
|
|
|
5630
6047
|
// src/ui/scroll-area.tsx
|
|
5631
6048
|
var import_scroll_area = require("@base-ui/react/scroll-area");
|
|
5632
|
-
var
|
|
6049
|
+
var import_jsx_runtime100 = require("react/jsx-runtime");
|
|
5633
6050
|
function ScrollArea({
|
|
5634
6051
|
className,
|
|
5635
6052
|
children,
|
|
5636
6053
|
...props
|
|
5637
6054
|
}) {
|
|
5638
|
-
return /* @__PURE__ */ (0,
|
|
6055
|
+
return /* @__PURE__ */ (0, import_jsx_runtime100.jsxs)(
|
|
5639
6056
|
import_scroll_area.ScrollArea.Root,
|
|
5640
6057
|
{
|
|
5641
6058
|
"data-slot": "scroll-area",
|
|
5642
6059
|
className: cn("relative overflow-hidden", className),
|
|
5643
6060
|
...props,
|
|
5644
6061
|
children: [
|
|
5645
|
-
/* @__PURE__ */ (0,
|
|
6062
|
+
/* @__PURE__ */ (0, import_jsx_runtime100.jsx)(
|
|
5646
6063
|
import_scroll_area.ScrollArea.Viewport,
|
|
5647
6064
|
{
|
|
5648
6065
|
"data-slot": "scroll-area-viewport",
|
|
@@ -5650,8 +6067,8 @@ function ScrollArea({
|
|
|
5650
6067
|
children
|
|
5651
6068
|
}
|
|
5652
6069
|
),
|
|
5653
|
-
/* @__PURE__ */ (0,
|
|
5654
|
-
/* @__PURE__ */ (0,
|
|
6070
|
+
/* @__PURE__ */ (0, import_jsx_runtime100.jsx)(ScrollBar, {}),
|
|
6071
|
+
/* @__PURE__ */ (0, import_jsx_runtime100.jsx)(import_scroll_area.ScrollArea.Corner, {})
|
|
5655
6072
|
]
|
|
5656
6073
|
}
|
|
5657
6074
|
);
|
|
@@ -5661,7 +6078,7 @@ function ScrollBar({
|
|
|
5661
6078
|
orientation = "vertical",
|
|
5662
6079
|
...props
|
|
5663
6080
|
}) {
|
|
5664
|
-
return /* @__PURE__ */ (0,
|
|
6081
|
+
return /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(
|
|
5665
6082
|
import_scroll_area.ScrollArea.Scrollbar,
|
|
5666
6083
|
{
|
|
5667
6084
|
"data-slot": "scroll-area-scrollbar",
|
|
@@ -5673,7 +6090,7 @@ function ScrollBar({
|
|
|
5673
6090
|
className
|
|
5674
6091
|
),
|
|
5675
6092
|
...props,
|
|
5676
|
-
children: /* @__PURE__ */ (0,
|
|
6093
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(
|
|
5677
6094
|
import_scroll_area.ScrollArea.Thumb,
|
|
5678
6095
|
{
|
|
5679
6096
|
"data-slot": "scroll-area-thumb",
|
|
@@ -5685,7 +6102,7 @@ function ScrollBar({
|
|
|
5685
6102
|
}
|
|
5686
6103
|
|
|
5687
6104
|
// src/components/components/ScrollArea/index.tsx
|
|
5688
|
-
var
|
|
6105
|
+
var import_jsx_runtime101 = require("react/jsx-runtime");
|
|
5689
6106
|
function ScrollArea2({
|
|
5690
6107
|
maxHeight,
|
|
5691
6108
|
maxWidth,
|
|
@@ -5693,7 +6110,7 @@ function ScrollArea2({
|
|
|
5693
6110
|
style,
|
|
5694
6111
|
children
|
|
5695
6112
|
}) {
|
|
5696
|
-
return /* @__PURE__ */ (0,
|
|
6113
|
+
return /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(
|
|
5697
6114
|
ScrollArea,
|
|
5698
6115
|
{
|
|
5699
6116
|
className,
|
|
@@ -5704,18 +6121,18 @@ function ScrollArea2({
|
|
|
5704
6121
|
}
|
|
5705
6122
|
|
|
5706
6123
|
// src/components/components/Select/index.tsx
|
|
5707
|
-
var
|
|
5708
|
-
var
|
|
6124
|
+
var import_runtime17 = require("@pactor-app/runtime");
|
|
6125
|
+
var import_react23 = require("react");
|
|
5709
6126
|
|
|
5710
6127
|
// src/ui/select.tsx
|
|
5711
6128
|
var import_select = require("@base-ui/react/select");
|
|
5712
|
-
var
|
|
5713
|
-
var
|
|
6129
|
+
var import_lucide_react23 = require("lucide-react");
|
|
6130
|
+
var import_jsx_runtime102 = require("react/jsx-runtime");
|
|
5714
6131
|
var Select = import_select.Select.Root;
|
|
5715
6132
|
function SelectValue({
|
|
5716
6133
|
...props
|
|
5717
6134
|
}) {
|
|
5718
|
-
return /* @__PURE__ */ (0,
|
|
6135
|
+
return /* @__PURE__ */ (0, import_jsx_runtime102.jsx)(import_select.Select.Value, { "data-slot": "select-value", ...props });
|
|
5719
6136
|
}
|
|
5720
6137
|
function SelectTrigger({
|
|
5721
6138
|
className,
|
|
@@ -5723,7 +6140,7 @@ function SelectTrigger({
|
|
|
5723
6140
|
children,
|
|
5724
6141
|
...props
|
|
5725
6142
|
}) {
|
|
5726
|
-
return /* @__PURE__ */ (0,
|
|
6143
|
+
return /* @__PURE__ */ (0, import_jsx_runtime102.jsxs)(
|
|
5727
6144
|
import_select.Select.Trigger,
|
|
5728
6145
|
{
|
|
5729
6146
|
"data-slot": "select-trigger",
|
|
@@ -5735,10 +6152,10 @@ function SelectTrigger({
|
|
|
5735
6152
|
...props,
|
|
5736
6153
|
children: [
|
|
5737
6154
|
children,
|
|
5738
|
-
/* @__PURE__ */ (0,
|
|
6155
|
+
/* @__PURE__ */ (0, import_jsx_runtime102.jsx)(
|
|
5739
6156
|
import_select.Select.Icon,
|
|
5740
6157
|
{
|
|
5741
|
-
render: /* @__PURE__ */ (0,
|
|
6158
|
+
render: /* @__PURE__ */ (0, import_jsx_runtime102.jsx)(import_lucide_react23.ChevronDownIcon, { className: "size-4 opacity-50" })
|
|
5742
6159
|
}
|
|
5743
6160
|
)
|
|
5744
6161
|
]
|
|
@@ -5754,7 +6171,7 @@ function SelectContent({
|
|
|
5754
6171
|
alignItemWithTrigger = false,
|
|
5755
6172
|
...props
|
|
5756
6173
|
}) {
|
|
5757
|
-
return /* @__PURE__ */ (0,
|
|
6174
|
+
return /* @__PURE__ */ (0, import_jsx_runtime102.jsx)(import_select.Select.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime102.jsx)(
|
|
5758
6175
|
import_select.Select.Positioner,
|
|
5759
6176
|
{
|
|
5760
6177
|
side,
|
|
@@ -5762,7 +6179,7 @@ function SelectContent({
|
|
|
5762
6179
|
align,
|
|
5763
6180
|
alignItemWithTrigger,
|
|
5764
6181
|
className: "isolate z-50",
|
|
5765
|
-
children: /* @__PURE__ */ (0,
|
|
6182
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime102.jsxs)(
|
|
5766
6183
|
import_select.Select.Popup,
|
|
5767
6184
|
{
|
|
5768
6185
|
"data-slot": "select-content",
|
|
@@ -5772,9 +6189,9 @@ function SelectContent({
|
|
|
5772
6189
|
),
|
|
5773
6190
|
...props,
|
|
5774
6191
|
children: [
|
|
5775
|
-
/* @__PURE__ */ (0,
|
|
5776
|
-
/* @__PURE__ */ (0,
|
|
5777
|
-
/* @__PURE__ */ (0,
|
|
6192
|
+
/* @__PURE__ */ (0, import_jsx_runtime102.jsx)(SelectScrollUpButton, {}),
|
|
6193
|
+
/* @__PURE__ */ (0, import_jsx_runtime102.jsx)(import_select.Select.List, { className: "p-1", children }),
|
|
6194
|
+
/* @__PURE__ */ (0, import_jsx_runtime102.jsx)(SelectScrollDownButton, {})
|
|
5778
6195
|
]
|
|
5779
6196
|
}
|
|
5780
6197
|
)
|
|
@@ -5786,7 +6203,7 @@ function SelectItem({
|
|
|
5786
6203
|
children,
|
|
5787
6204
|
...props
|
|
5788
6205
|
}) {
|
|
5789
|
-
return /* @__PURE__ */ (0,
|
|
6206
|
+
return /* @__PURE__ */ (0, import_jsx_runtime102.jsxs)(
|
|
5790
6207
|
import_select.Select.Item,
|
|
5791
6208
|
{
|
|
5792
6209
|
"data-slot": "select-item",
|
|
@@ -5796,8 +6213,8 @@ function SelectItem({
|
|
|
5796
6213
|
),
|
|
5797
6214
|
...props,
|
|
5798
6215
|
children: [
|
|
5799
|
-
/* @__PURE__ */ (0,
|
|
5800
|
-
/* @__PURE__ */ (0,
|
|
6216
|
+
/* @__PURE__ */ (0, import_jsx_runtime102.jsx)("span", { className: "absolute right-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime102.jsx)(import_select.Select.ItemIndicator, { children: /* @__PURE__ */ (0, import_jsx_runtime102.jsx)(import_lucide_react23.CheckIcon, { className: "size-4" }) }) }),
|
|
6217
|
+
/* @__PURE__ */ (0, import_jsx_runtime102.jsx)(import_select.Select.ItemText, { children })
|
|
5801
6218
|
]
|
|
5802
6219
|
}
|
|
5803
6220
|
);
|
|
@@ -5806,7 +6223,7 @@ function SelectScrollUpButton({
|
|
|
5806
6223
|
className,
|
|
5807
6224
|
...props
|
|
5808
6225
|
}) {
|
|
5809
|
-
return /* @__PURE__ */ (0,
|
|
6226
|
+
return /* @__PURE__ */ (0, import_jsx_runtime102.jsx)(
|
|
5810
6227
|
import_select.Select.ScrollUpArrow,
|
|
5811
6228
|
{
|
|
5812
6229
|
"data-slot": "select-scroll-up-button",
|
|
@@ -5815,7 +6232,7 @@ function SelectScrollUpButton({
|
|
|
5815
6232
|
className
|
|
5816
6233
|
),
|
|
5817
6234
|
...props,
|
|
5818
|
-
children: /* @__PURE__ */ (0,
|
|
6235
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime102.jsx)(import_lucide_react23.ChevronUpIcon, { className: "size-4" })
|
|
5819
6236
|
}
|
|
5820
6237
|
);
|
|
5821
6238
|
}
|
|
@@ -5823,7 +6240,7 @@ function SelectScrollDownButton({
|
|
|
5823
6240
|
className,
|
|
5824
6241
|
...props
|
|
5825
6242
|
}) {
|
|
5826
|
-
return /* @__PURE__ */ (0,
|
|
6243
|
+
return /* @__PURE__ */ (0, import_jsx_runtime102.jsx)(
|
|
5827
6244
|
import_select.Select.ScrollDownArrow,
|
|
5828
6245
|
{
|
|
5829
6246
|
"data-slot": "select-scroll-down-button",
|
|
@@ -5832,13 +6249,13 @@ function SelectScrollDownButton({
|
|
|
5832
6249
|
className
|
|
5833
6250
|
),
|
|
5834
6251
|
...props,
|
|
5835
|
-
children: /* @__PURE__ */ (0,
|
|
6252
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime102.jsx)(import_lucide_react23.ChevronDownIcon, { className: "size-4" })
|
|
5836
6253
|
}
|
|
5837
6254
|
);
|
|
5838
6255
|
}
|
|
5839
6256
|
|
|
5840
6257
|
// src/components/components/Select/index.tsx
|
|
5841
|
-
var
|
|
6258
|
+
var import_jsx_runtime103 = require("react/jsx-runtime");
|
|
5842
6259
|
function Select2({
|
|
5843
6260
|
name,
|
|
5844
6261
|
label,
|
|
@@ -5853,10 +6270,10 @@ function Select2({
|
|
|
5853
6270
|
style
|
|
5854
6271
|
}) {
|
|
5855
6272
|
const form = useFormContext();
|
|
5856
|
-
const { t } = (0,
|
|
5857
|
-
const controlId = (0,
|
|
6273
|
+
const { t } = (0, import_runtime17.useI18n)();
|
|
6274
|
+
const controlId = (0, import_react23.useId)();
|
|
5858
6275
|
const inForm = form?.inForm === true && typeof name === "string" && name !== "";
|
|
5859
|
-
(0,
|
|
6276
|
+
(0, import_react23.useEffect)(() => {
|
|
5860
6277
|
if (inForm && form && name) {
|
|
5861
6278
|
form.registerField(name, rules, value);
|
|
5862
6279
|
return () => form.unregisterField(name);
|
|
@@ -5872,13 +6289,13 @@ function Select2({
|
|
|
5872
6289
|
onChange?.(next ?? void 0);
|
|
5873
6290
|
};
|
|
5874
6291
|
const inFormRoot = inForm === true;
|
|
5875
|
-
const select = /* @__PURE__ */ (0,
|
|
6292
|
+
const select = /* @__PURE__ */ (0, import_jsx_runtime103.jsxs)(
|
|
5876
6293
|
"span",
|
|
5877
6294
|
{
|
|
5878
6295
|
className: cn("inline-flex items-center gap-1", !inFormRoot && className),
|
|
5879
6296
|
style: inFormRoot ? void 0 : style,
|
|
5880
6297
|
children: [
|
|
5881
|
-
/* @__PURE__ */ (0,
|
|
6298
|
+
/* @__PURE__ */ (0, import_jsx_runtime103.jsxs)(
|
|
5882
6299
|
Select,
|
|
5883
6300
|
{
|
|
5884
6301
|
items: options,
|
|
@@ -5887,8 +6304,8 @@ function Select2({
|
|
|
5887
6304
|
disabled,
|
|
5888
6305
|
name: inForm ? name : void 0,
|
|
5889
6306
|
children: [
|
|
5890
|
-
/* @__PURE__ */ (0,
|
|
5891
|
-
/* @__PURE__ */ (0,
|
|
6307
|
+
/* @__PURE__ */ (0, import_jsx_runtime103.jsx)(SelectTrigger, { id: controlId, children: /* @__PURE__ */ (0, import_jsx_runtime103.jsx)(SelectValue, { placeholder }) }),
|
|
6308
|
+
/* @__PURE__ */ (0, import_jsx_runtime103.jsx)(SelectContent, { children: options.map((option) => /* @__PURE__ */ (0, import_jsx_runtime103.jsx)(
|
|
5892
6309
|
SelectItem,
|
|
5893
6310
|
{
|
|
5894
6311
|
value: option.value,
|
|
@@ -5900,7 +6317,7 @@ function Select2({
|
|
|
5900
6317
|
]
|
|
5901
6318
|
}
|
|
5902
6319
|
),
|
|
5903
|
-
allowClear && selectedValue !== null && !disabled ? /* @__PURE__ */ (0,
|
|
6320
|
+
allowClear && selectedValue !== null && !disabled ? /* @__PURE__ */ (0, import_jsx_runtime103.jsx)(
|
|
5904
6321
|
"button",
|
|
5905
6322
|
{
|
|
5906
6323
|
type: "button",
|
|
@@ -5920,14 +6337,14 @@ function Select2({
|
|
|
5920
6337
|
);
|
|
5921
6338
|
if (inForm && form && name) {
|
|
5922
6339
|
const error = form.errors[name];
|
|
5923
|
-
return /* @__PURE__ */ (0,
|
|
6340
|
+
return /* @__PURE__ */ (0, import_jsx_runtime103.jsxs)(
|
|
5924
6341
|
"div",
|
|
5925
6342
|
{
|
|
5926
6343
|
"data-slot": "form-item",
|
|
5927
6344
|
className: cn(formItemClass(form.layout), className),
|
|
5928
6345
|
style,
|
|
5929
6346
|
children: [
|
|
5930
|
-
label ? /* @__PURE__ */ (0,
|
|
6347
|
+
label ? /* @__PURE__ */ (0, import_jsx_runtime103.jsx)(
|
|
5931
6348
|
"label",
|
|
5932
6349
|
{
|
|
5933
6350
|
htmlFor: controlId,
|
|
@@ -5936,7 +6353,7 @@ function Select2({
|
|
|
5936
6353
|
}
|
|
5937
6354
|
) : null,
|
|
5938
6355
|
select,
|
|
5939
|
-
error ? /* @__PURE__ */ (0,
|
|
6356
|
+
error ? /* @__PURE__ */ (0, import_jsx_runtime103.jsx)("div", { "data-slot": "form-error", className: "text-sm text-destructive", children: error }) : null
|
|
5940
6357
|
]
|
|
5941
6358
|
}
|
|
5942
6359
|
);
|
|
@@ -5945,13 +6362,13 @@ function Select2({
|
|
|
5945
6362
|
}
|
|
5946
6363
|
|
|
5947
6364
|
// src/components/components/Separator/index.tsx
|
|
5948
|
-
var
|
|
6365
|
+
var import_jsx_runtime104 = require("react/jsx-runtime");
|
|
5949
6366
|
function Separator2({ orientation = "horizontal", className, style }) {
|
|
5950
|
-
return /* @__PURE__ */ (0,
|
|
6367
|
+
return /* @__PURE__ */ (0, import_jsx_runtime104.jsx)(Separator, { orientation, className, style });
|
|
5951
6368
|
}
|
|
5952
6369
|
|
|
5953
6370
|
// src/components/components/Sheet/index.tsx
|
|
5954
|
-
var
|
|
6371
|
+
var import_jsx_runtime105 = require("react/jsx-runtime");
|
|
5955
6372
|
function Sheet2({
|
|
5956
6373
|
title,
|
|
5957
6374
|
open,
|
|
@@ -5961,7 +6378,7 @@ function Sheet2({
|
|
|
5961
6378
|
className,
|
|
5962
6379
|
style
|
|
5963
6380
|
}) {
|
|
5964
|
-
return /* @__PURE__ */ (0,
|
|
6381
|
+
return /* @__PURE__ */ (0, import_jsx_runtime105.jsx)(
|
|
5965
6382
|
Sheet,
|
|
5966
6383
|
{
|
|
5967
6384
|
open: open ?? false,
|
|
@@ -5970,17 +6387,17 @@ function Sheet2({
|
|
|
5970
6387
|
onClose?.();
|
|
5971
6388
|
}
|
|
5972
6389
|
},
|
|
5973
|
-
children: /* @__PURE__ */ (0,
|
|
5974
|
-
title ? /* @__PURE__ */ (0,
|
|
5975
|
-
/* @__PURE__ */ (0,
|
|
6390
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime105.jsxs)(SheetContent, { side, className, style, children: [
|
|
6391
|
+
title ? /* @__PURE__ */ (0, import_jsx_runtime105.jsx)(SheetHeader, { children: /* @__PURE__ */ (0, import_jsx_runtime105.jsx)(SheetTitle, { children: title }) }) : null,
|
|
6392
|
+
/* @__PURE__ */ (0, import_jsx_runtime105.jsx)("div", { className: "flex-1 overflow-auto px-4", children })
|
|
5976
6393
|
] })
|
|
5977
6394
|
}
|
|
5978
6395
|
);
|
|
5979
6396
|
}
|
|
5980
6397
|
|
|
5981
6398
|
// src/components/components/Sider/index.tsx
|
|
5982
|
-
var
|
|
5983
|
-
var
|
|
6399
|
+
var import_lucide_react24 = require("lucide-react");
|
|
6400
|
+
var import_jsx_runtime106 = require("react/jsx-runtime");
|
|
5984
6401
|
function Sider({
|
|
5985
6402
|
width = 200,
|
|
5986
6403
|
collapsible,
|
|
@@ -5992,7 +6409,7 @@ function Sider({
|
|
|
5992
6409
|
children
|
|
5993
6410
|
}) {
|
|
5994
6411
|
const current = collapsed ? collapsedWidth : width;
|
|
5995
|
-
return /* @__PURE__ */ (0,
|
|
6412
|
+
return /* @__PURE__ */ (0, import_jsx_runtime106.jsxs)(
|
|
5996
6413
|
"aside",
|
|
5997
6414
|
{
|
|
5998
6415
|
"data-slot": "layout-sider",
|
|
@@ -6003,15 +6420,15 @@ function Sider({
|
|
|
6003
6420
|
),
|
|
6004
6421
|
style: { width: current, ...style },
|
|
6005
6422
|
children: [
|
|
6006
|
-
/* @__PURE__ */ (0,
|
|
6007
|
-
collapsible ? /* @__PURE__ */ (0,
|
|
6423
|
+
/* @__PURE__ */ (0, import_jsx_runtime106.jsx)("div", { className: "min-h-0 flex-1 overflow-auto", children }),
|
|
6424
|
+
collapsible ? /* @__PURE__ */ (0, import_jsx_runtime106.jsx)(
|
|
6008
6425
|
"button",
|
|
6009
6426
|
{
|
|
6010
6427
|
type: "button",
|
|
6011
6428
|
"aria-label": collapsed ? "expand sider" : "collapse sider",
|
|
6012
6429
|
className: "flex h-10 shrink-0 items-center justify-center border-t text-muted-foreground hover:text-foreground",
|
|
6013
6430
|
onClick: () => onCollapse?.(!collapsed),
|
|
6014
|
-
children: collapsed ? /* @__PURE__ */ (0,
|
|
6431
|
+
children: collapsed ? /* @__PURE__ */ (0, import_jsx_runtime106.jsx)(import_lucide_react24.ChevronRight, { "aria-hidden": true, className: "size-4" }) : /* @__PURE__ */ (0, import_jsx_runtime106.jsx)(import_lucide_react24.ChevronLeft, { "aria-hidden": true, className: "size-4" })
|
|
6015
6432
|
}
|
|
6016
6433
|
) : null
|
|
6017
6434
|
]
|
|
@@ -6020,7 +6437,7 @@ function Sider({
|
|
|
6020
6437
|
}
|
|
6021
6438
|
|
|
6022
6439
|
// src/components/components/Skeleton/index.tsx
|
|
6023
|
-
var
|
|
6440
|
+
var import_jsx_runtime107 = require("react/jsx-runtime");
|
|
6024
6441
|
var shapeDefaults = {
|
|
6025
6442
|
line: { className: "h-4 w-full", style: {} },
|
|
6026
6443
|
circle: { className: "rounded-full", style: { width: 40, height: 40 } },
|
|
@@ -6031,7 +6448,7 @@ function toSize(value) {
|
|
|
6031
6448
|
}
|
|
6032
6449
|
function Skeleton2({ shape = "line", width, height, className, style }) {
|
|
6033
6450
|
const defaults = shapeDefaults[shape];
|
|
6034
|
-
return /* @__PURE__ */ (0,
|
|
6451
|
+
return /* @__PURE__ */ (0, import_jsx_runtime107.jsx)(
|
|
6035
6452
|
Skeleton,
|
|
6036
6453
|
{
|
|
6037
6454
|
className: cn(defaults.className, className),
|
|
@@ -6046,13 +6463,13 @@ function Skeleton2({ shape = "line", width, height, className, style }) {
|
|
|
6046
6463
|
}
|
|
6047
6464
|
|
|
6048
6465
|
// src/components/components/Slider/index.tsx
|
|
6049
|
-
var
|
|
6466
|
+
var import_react24 = require("react");
|
|
6050
6467
|
|
|
6051
6468
|
// src/ui/slider.tsx
|
|
6052
6469
|
var import_slider = require("@base-ui/react/slider");
|
|
6053
|
-
var
|
|
6470
|
+
var import_jsx_runtime108 = require("react/jsx-runtime");
|
|
6054
6471
|
function Slider({ className, ...props }) {
|
|
6055
|
-
return /* @__PURE__ */ (0,
|
|
6472
|
+
return /* @__PURE__ */ (0, import_jsx_runtime108.jsx)(
|
|
6056
6473
|
import_slider.Slider.Root,
|
|
6057
6474
|
{
|
|
6058
6475
|
"data-slot": "slider",
|
|
@@ -6065,7 +6482,7 @@ function Slider({ className, ...props }) {
|
|
|
6065
6482
|
);
|
|
6066
6483
|
}
|
|
6067
6484
|
function SliderControl({ className, ...props }) {
|
|
6068
|
-
return /* @__PURE__ */ (0,
|
|
6485
|
+
return /* @__PURE__ */ (0, import_jsx_runtime108.jsx)(
|
|
6069
6486
|
import_slider.Slider.Control,
|
|
6070
6487
|
{
|
|
6071
6488
|
"data-slot": "slider-control",
|
|
@@ -6075,7 +6492,7 @@ function SliderControl({ className, ...props }) {
|
|
|
6075
6492
|
);
|
|
6076
6493
|
}
|
|
6077
6494
|
function SliderTrack({ className, ...props }) {
|
|
6078
|
-
return /* @__PURE__ */ (0,
|
|
6495
|
+
return /* @__PURE__ */ (0, import_jsx_runtime108.jsx)(
|
|
6079
6496
|
import_slider.Slider.Track,
|
|
6080
6497
|
{
|
|
6081
6498
|
"data-slot": "slider-track",
|
|
@@ -6088,7 +6505,7 @@ function SliderTrack({ className, ...props }) {
|
|
|
6088
6505
|
);
|
|
6089
6506
|
}
|
|
6090
6507
|
function SliderIndicator({ className, ...props }) {
|
|
6091
|
-
return /* @__PURE__ */ (0,
|
|
6508
|
+
return /* @__PURE__ */ (0, import_jsx_runtime108.jsx)(
|
|
6092
6509
|
import_slider.Slider.Indicator,
|
|
6093
6510
|
{
|
|
6094
6511
|
"data-slot": "slider-indicator",
|
|
@@ -6098,7 +6515,7 @@ function SliderIndicator({ className, ...props }) {
|
|
|
6098
6515
|
);
|
|
6099
6516
|
}
|
|
6100
6517
|
function SliderThumb({ className, ...props }) {
|
|
6101
|
-
return /* @__PURE__ */ (0,
|
|
6518
|
+
return /* @__PURE__ */ (0, import_jsx_runtime108.jsx)(
|
|
6102
6519
|
import_slider.Slider.Thumb,
|
|
6103
6520
|
{
|
|
6104
6521
|
"data-slot": "slider-thumb",
|
|
@@ -6112,7 +6529,7 @@ function SliderThumb({ className, ...props }) {
|
|
|
6112
6529
|
}
|
|
6113
6530
|
|
|
6114
6531
|
// src/components/components/Slider/index.tsx
|
|
6115
|
-
var
|
|
6532
|
+
var import_jsx_runtime109 = require("react/jsx-runtime");
|
|
6116
6533
|
function Slider2({
|
|
6117
6534
|
name,
|
|
6118
6535
|
label,
|
|
@@ -6128,7 +6545,7 @@ function Slider2({
|
|
|
6128
6545
|
}) {
|
|
6129
6546
|
const form = useFormContext();
|
|
6130
6547
|
const inForm = form?.inForm === true && typeof name === "string" && name !== "";
|
|
6131
|
-
(0,
|
|
6548
|
+
(0, import_react24.useEffect)(() => {
|
|
6132
6549
|
if (inForm && form && name) {
|
|
6133
6550
|
form.registerField(name, rules, value);
|
|
6134
6551
|
return () => form.unregisterField(name);
|
|
@@ -6143,7 +6560,7 @@ function Slider2({
|
|
|
6143
6560
|
}
|
|
6144
6561
|
onChange?.(next);
|
|
6145
6562
|
};
|
|
6146
|
-
const slider = /* @__PURE__ */ (0,
|
|
6563
|
+
const slider = /* @__PURE__ */ (0, import_jsx_runtime109.jsx)(
|
|
6147
6564
|
Slider,
|
|
6148
6565
|
{
|
|
6149
6566
|
value: numberValue,
|
|
@@ -6155,14 +6572,14 @@ function Slider2({
|
|
|
6155
6572
|
onValueChange: handleChange,
|
|
6156
6573
|
className: inForm ? void 0 : className,
|
|
6157
6574
|
style: inForm ? void 0 : style,
|
|
6158
|
-
children: /* @__PURE__ */ (0,
|
|
6159
|
-
/* @__PURE__ */ (0,
|
|
6160
|
-
/* @__PURE__ */ (0,
|
|
6575
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime109.jsxs)(SliderControl, { children: [
|
|
6576
|
+
/* @__PURE__ */ (0, import_jsx_runtime109.jsx)(SliderTrack, { children: /* @__PURE__ */ (0, import_jsx_runtime109.jsx)(SliderIndicator, {}) }),
|
|
6577
|
+
/* @__PURE__ */ (0, import_jsx_runtime109.jsx)(SliderThumb, {})
|
|
6161
6578
|
] })
|
|
6162
6579
|
}
|
|
6163
6580
|
);
|
|
6164
6581
|
if (inForm && form && name) {
|
|
6165
|
-
return /* @__PURE__ */ (0,
|
|
6582
|
+
return /* @__PURE__ */ (0, import_jsx_runtime109.jsx)(
|
|
6166
6583
|
FieldShell,
|
|
6167
6584
|
{
|
|
6168
6585
|
layout: form.layout,
|
|
@@ -6178,13 +6595,13 @@ function Slider2({
|
|
|
6178
6595
|
}
|
|
6179
6596
|
|
|
6180
6597
|
// src/components/components/Sonner/index.tsx
|
|
6181
|
-
var
|
|
6182
|
-
var
|
|
6598
|
+
var import_runtime18 = require("@pactor-app/runtime");
|
|
6599
|
+
var import_react25 = require("react");
|
|
6183
6600
|
|
|
6184
6601
|
// src/ui/toast.tsx
|
|
6185
6602
|
var import_toast = require("@base-ui/react/toast");
|
|
6186
|
-
var
|
|
6187
|
-
var
|
|
6603
|
+
var import_lucide_react25 = require("lucide-react");
|
|
6604
|
+
var import_jsx_runtime110 = require("react/jsx-runtime");
|
|
6188
6605
|
var toastManager = import_toast.Toast.createToastManager();
|
|
6189
6606
|
function toast(message, options = {}) {
|
|
6190
6607
|
return toastManager.add({
|
|
@@ -6200,7 +6617,7 @@ var toastVariantClass = {
|
|
|
6200
6617
|
};
|
|
6201
6618
|
function ToasterViewport({ className }) {
|
|
6202
6619
|
const { toasts } = import_toast.Toast.useToastManager();
|
|
6203
|
-
return /* @__PURE__ */ (0,
|
|
6620
|
+
return /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(import_toast.Toast.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(
|
|
6204
6621
|
import_toast.Toast.Viewport,
|
|
6205
6622
|
{
|
|
6206
6623
|
"data-slot": "toast-viewport",
|
|
@@ -6208,7 +6625,7 @@ function ToasterViewport({ className }) {
|
|
|
6208
6625
|
"fixed top-4 right-4 z-[100] flex w-80 flex-col gap-2 outline-none",
|
|
6209
6626
|
className
|
|
6210
6627
|
),
|
|
6211
|
-
children: toasts.map((item) => /* @__PURE__ */ (0,
|
|
6628
|
+
children: toasts.map((item) => /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(
|
|
6212
6629
|
import_toast.Toast.Root,
|
|
6213
6630
|
{
|
|
6214
6631
|
toast: item,
|
|
@@ -6218,16 +6635,16 @@ function ToasterViewport({ className }) {
|
|
|
6218
6635
|
"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",
|
|
6219
6636
|
toastVariantClass[item.type ?? "info"] ?? toastVariantClass.info
|
|
6220
6637
|
),
|
|
6221
|
-
children: /* @__PURE__ */ (0,
|
|
6222
|
-
/* @__PURE__ */ (0,
|
|
6223
|
-
/* @__PURE__ */ (0,
|
|
6638
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime110.jsxs)(import_toast.Toast.Content, { className: "flex items-start justify-between gap-2", children: [
|
|
6639
|
+
/* @__PURE__ */ (0, import_jsx_runtime110.jsxs)("div", { className: "grid gap-0.5", children: [
|
|
6640
|
+
/* @__PURE__ */ (0, import_jsx_runtime110.jsx)(
|
|
6224
6641
|
import_toast.Toast.Title,
|
|
6225
6642
|
{
|
|
6226
6643
|
"data-slot": "toast-title",
|
|
6227
6644
|
className: "font-medium"
|
|
6228
6645
|
}
|
|
6229
6646
|
),
|
|
6230
|
-
/* @__PURE__ */ (0,
|
|
6647
|
+
/* @__PURE__ */ (0, import_jsx_runtime110.jsx)(
|
|
6231
6648
|
import_toast.Toast.Description,
|
|
6232
6649
|
{
|
|
6233
6650
|
"data-slot": "toast-description",
|
|
@@ -6235,13 +6652,13 @@ function ToasterViewport({ className }) {
|
|
|
6235
6652
|
}
|
|
6236
6653
|
)
|
|
6237
6654
|
] }),
|
|
6238
|
-
/* @__PURE__ */ (0,
|
|
6655
|
+
/* @__PURE__ */ (0, import_jsx_runtime110.jsx)(
|
|
6239
6656
|
import_toast.Toast.Close,
|
|
6240
6657
|
{
|
|
6241
6658
|
"data-slot": "toast-close",
|
|
6242
6659
|
"aria-label": "Close",
|
|
6243
6660
|
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",
|
|
6244
|
-
children: /* @__PURE__ */ (0,
|
|
6661
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(import_lucide_react25.XIcon, {})
|
|
6245
6662
|
}
|
|
6246
6663
|
)
|
|
6247
6664
|
] })
|
|
@@ -6252,14 +6669,14 @@ function ToasterViewport({ className }) {
|
|
|
6252
6669
|
) });
|
|
6253
6670
|
}
|
|
6254
6671
|
function Toaster({ className }) {
|
|
6255
|
-
return /* @__PURE__ */ (0,
|
|
6672
|
+
return /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(import_toast.Toast.Provider, { toastManager, children: /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(ToasterViewport, { className }) });
|
|
6256
6673
|
}
|
|
6257
6674
|
|
|
6258
6675
|
// src/components/components/Sonner/index.tsx
|
|
6259
|
-
var
|
|
6676
|
+
var import_jsx_runtime111 = require("react/jsx-runtime");
|
|
6260
6677
|
function Sonner({ className, style }) {
|
|
6261
|
-
const { context } = (0,
|
|
6262
|
-
(0,
|
|
6678
|
+
const { context } = (0, import_runtime18.useRenderer)();
|
|
6679
|
+
(0, import_react25.useEffect)(() => {
|
|
6263
6680
|
const { actions } = context;
|
|
6264
6681
|
if (actions.has("toast")) {
|
|
6265
6682
|
return;
|
|
@@ -6273,15 +6690,15 @@ function Sonner({ className, style }) {
|
|
|
6273
6690
|
return { ok: true };
|
|
6274
6691
|
});
|
|
6275
6692
|
}, [context]);
|
|
6276
|
-
return /* @__PURE__ */ (0,
|
|
6693
|
+
return /* @__PURE__ */ (0, import_jsx_runtime111.jsx)("div", { "data-slot": "sonner", className, style, children: /* @__PURE__ */ (0, import_jsx_runtime111.jsx)(Toaster, {}) });
|
|
6277
6694
|
}
|
|
6278
6695
|
|
|
6279
6696
|
// src/ui/spinner.tsx
|
|
6280
|
-
var
|
|
6281
|
-
var
|
|
6697
|
+
var import_lucide_react26 = require("lucide-react");
|
|
6698
|
+
var import_jsx_runtime112 = require("react/jsx-runtime");
|
|
6282
6699
|
function Spinner({ className, ...props }) {
|
|
6283
|
-
return /* @__PURE__ */ (0,
|
|
6284
|
-
|
|
6700
|
+
return /* @__PURE__ */ (0, import_jsx_runtime112.jsx)(
|
|
6701
|
+
import_lucide_react26.Loader2Icon,
|
|
6285
6702
|
{
|
|
6286
6703
|
role: "status",
|
|
6287
6704
|
"aria-label": "Loading",
|
|
@@ -6293,37 +6710,37 @@ function Spinner({ className, ...props }) {
|
|
|
6293
6710
|
}
|
|
6294
6711
|
|
|
6295
6712
|
// src/components/components/Spinner/index.tsx
|
|
6296
|
-
var
|
|
6713
|
+
var import_jsx_runtime113 = require("react/jsx-runtime");
|
|
6297
6714
|
var sizeClass = {
|
|
6298
6715
|
sm: "size-3",
|
|
6299
6716
|
default: "size-4",
|
|
6300
6717
|
lg: "size-6"
|
|
6301
6718
|
};
|
|
6302
6719
|
function Spinner2({ size = "default", className, style }) {
|
|
6303
|
-
return /* @__PURE__ */ (0,
|
|
6720
|
+
return /* @__PURE__ */ (0, import_jsx_runtime113.jsx)(Spinner, { className: cn(sizeClass[size], className), style });
|
|
6304
6721
|
}
|
|
6305
6722
|
|
|
6306
6723
|
// src/components/components/Statistic/index.tsx
|
|
6307
|
-
var
|
|
6724
|
+
var import_jsx_runtime114 = require("react/jsx-runtime");
|
|
6308
6725
|
function Statistic({ title, value, precision, suffix, className, style }) {
|
|
6309
6726
|
const display = typeof value === "number" && precision !== void 0 ? value.toFixed(precision) : value;
|
|
6310
|
-
return /* @__PURE__ */ (0,
|
|
6311
|
-
title ? /* @__PURE__ */ (0,
|
|
6312
|
-
/* @__PURE__ */ (0,
|
|
6727
|
+
return /* @__PURE__ */ (0, import_jsx_runtime114.jsxs)("div", { "data-slot": "statistic", className: cn(className), style, children: [
|
|
6728
|
+
title ? /* @__PURE__ */ (0, import_jsx_runtime114.jsx)("div", { "data-slot": "statistic-title", className: "text-sm text-muted-foreground", children: title }) : null,
|
|
6729
|
+
/* @__PURE__ */ (0, import_jsx_runtime114.jsxs)("div", { "data-slot": "statistic-value", className: "text-2xl font-bold tabular-nums", children: [
|
|
6313
6730
|
display,
|
|
6314
|
-
suffix ? /* @__PURE__ */ (0,
|
|
6731
|
+
suffix ? /* @__PURE__ */ (0, import_jsx_runtime114.jsx)("span", { className: "ml-1 text-sm font-normal text-muted-foreground", children: suffix }) : null
|
|
6315
6732
|
] })
|
|
6316
6733
|
] });
|
|
6317
6734
|
}
|
|
6318
6735
|
|
|
6319
6736
|
// src/components/components/Switch/index.tsx
|
|
6320
|
-
var
|
|
6737
|
+
var import_react26 = require("react");
|
|
6321
6738
|
|
|
6322
6739
|
// src/ui/switch.tsx
|
|
6323
6740
|
var import_switch = require("@base-ui/react/switch");
|
|
6324
|
-
var
|
|
6741
|
+
var import_jsx_runtime115 = require("react/jsx-runtime");
|
|
6325
6742
|
function Switch({ className, ...props }) {
|
|
6326
|
-
return /* @__PURE__ */ (0,
|
|
6743
|
+
return /* @__PURE__ */ (0, import_jsx_runtime115.jsx)(
|
|
6327
6744
|
import_switch.Switch.Root,
|
|
6328
6745
|
{
|
|
6329
6746
|
"data-slot": "switch",
|
|
@@ -6332,7 +6749,7 @@ function Switch({ className, ...props }) {
|
|
|
6332
6749
|
className
|
|
6333
6750
|
),
|
|
6334
6751
|
...props,
|
|
6335
|
-
children: /* @__PURE__ */ (0,
|
|
6752
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime115.jsx)(
|
|
6336
6753
|
import_switch.Switch.Thumb,
|
|
6337
6754
|
{
|
|
6338
6755
|
"data-slot": "switch-thumb",
|
|
@@ -6344,7 +6761,7 @@ function Switch({ className, ...props }) {
|
|
|
6344
6761
|
}
|
|
6345
6762
|
|
|
6346
6763
|
// src/components/components/Switch/index.tsx
|
|
6347
|
-
var
|
|
6764
|
+
var import_jsx_runtime116 = require("react/jsx-runtime");
|
|
6348
6765
|
function Switch2({
|
|
6349
6766
|
name,
|
|
6350
6767
|
label,
|
|
@@ -6356,9 +6773,9 @@ function Switch2({
|
|
|
6356
6773
|
style
|
|
6357
6774
|
}) {
|
|
6358
6775
|
const form = useFormContext();
|
|
6359
|
-
const controlId = (0,
|
|
6776
|
+
const controlId = (0, import_react26.useId)();
|
|
6360
6777
|
const inForm = form?.inForm === true && typeof name === "string" && name !== "";
|
|
6361
|
-
(0,
|
|
6778
|
+
(0, import_react26.useEffect)(() => {
|
|
6362
6779
|
if (inForm && form && name) {
|
|
6363
6780
|
form.registerField(name, rules, value);
|
|
6364
6781
|
return () => form.unregisterField(name);
|
|
@@ -6373,13 +6790,13 @@ function Switch2({
|
|
|
6373
6790
|
}
|
|
6374
6791
|
onChange?.(next);
|
|
6375
6792
|
};
|
|
6376
|
-
const control = /* @__PURE__ */ (0,
|
|
6793
|
+
const control = /* @__PURE__ */ (0, import_jsx_runtime116.jsxs)(
|
|
6377
6794
|
"span",
|
|
6378
6795
|
{
|
|
6379
6796
|
className: cn("inline-flex items-center gap-2", !inForm && className),
|
|
6380
6797
|
style: inForm ? void 0 : style,
|
|
6381
6798
|
children: [
|
|
6382
|
-
/* @__PURE__ */ (0,
|
|
6799
|
+
/* @__PURE__ */ (0, import_jsx_runtime116.jsx)(
|
|
6383
6800
|
Switch,
|
|
6384
6801
|
{
|
|
6385
6802
|
id: controlId,
|
|
@@ -6389,12 +6806,12 @@ function Switch2({
|
|
|
6389
6806
|
onCheckedChange: handleChange
|
|
6390
6807
|
}
|
|
6391
6808
|
),
|
|
6392
|
-
label ? /* @__PURE__ */ (0,
|
|
6809
|
+
label ? /* @__PURE__ */ (0, import_jsx_runtime116.jsx)("label", { htmlFor: controlId, className: "text-sm leading-none font-medium", children: label }) : null
|
|
6393
6810
|
]
|
|
6394
6811
|
}
|
|
6395
6812
|
);
|
|
6396
6813
|
if (inForm && form && name) {
|
|
6397
|
-
return /* @__PURE__ */ (0,
|
|
6814
|
+
return /* @__PURE__ */ (0, import_jsx_runtime116.jsxs)(
|
|
6398
6815
|
"div",
|
|
6399
6816
|
{
|
|
6400
6817
|
"data-slot": "form-item",
|
|
@@ -6402,7 +6819,7 @@ function Switch2({
|
|
|
6402
6819
|
style,
|
|
6403
6820
|
children: [
|
|
6404
6821
|
control,
|
|
6405
|
-
form.errors[name] ? /* @__PURE__ */ (0,
|
|
6822
|
+
form.errors[name] ? /* @__PURE__ */ (0, import_jsx_runtime116.jsx)("div", { "data-slot": "form-error", className: "mt-1.5 text-sm text-destructive", children: form.errors[name] }) : null
|
|
6406
6823
|
]
|
|
6407
6824
|
}
|
|
6408
6825
|
);
|
|
@@ -6411,9 +6828,9 @@ function Switch2({
|
|
|
6411
6828
|
}
|
|
6412
6829
|
|
|
6413
6830
|
// src/components/components/Table/index.tsx
|
|
6414
|
-
var
|
|
6415
|
-
var
|
|
6416
|
-
var
|
|
6831
|
+
var import_runtime19 = require("@pactor-app/runtime");
|
|
6832
|
+
var import_react27 = require("react");
|
|
6833
|
+
var import_jsx_runtime117 = require("react/jsx-runtime");
|
|
6417
6834
|
function renderCellValue2(value) {
|
|
6418
6835
|
if (value === void 0 || value === null) {
|
|
6419
6836
|
return "";
|
|
@@ -6433,9 +6850,9 @@ function Table3({
|
|
|
6433
6850
|
className,
|
|
6434
6851
|
style
|
|
6435
6852
|
}) {
|
|
6436
|
-
const { renderChildren } = (0,
|
|
6437
|
-
const { t } = (0,
|
|
6438
|
-
const [current, setCurrent] = (0,
|
|
6853
|
+
const { renderChildren } = (0, import_runtime19.useRenderer)();
|
|
6854
|
+
const { t } = (0, import_runtime19.useI18n)();
|
|
6855
|
+
const [current, setCurrent] = (0, import_react27.useState)(1);
|
|
6439
6856
|
const pageSize = pagination === false ? void 0 : pagination?.pageSize;
|
|
6440
6857
|
const total = dataSource.length;
|
|
6441
6858
|
const pageCount = pageSize !== void 0 && pageSize > 0 ? Math.max(1, Math.ceil(total / pageSize)) : 1;
|
|
@@ -6444,8 +6861,8 @@ function Table3({
|
|
|
6444
6861
|
setCurrent(page);
|
|
6445
6862
|
onChange?.({ current: page, pageSize, total });
|
|
6446
6863
|
};
|
|
6447
|
-
return /* @__PURE__ */ (0,
|
|
6448
|
-
loading ? /* @__PURE__ */ (0,
|
|
6864
|
+
return /* @__PURE__ */ (0, import_jsx_runtime117.jsxs)("div", { "data-slot": "dsl-table", className: cn("relative", className), style, children: [
|
|
6865
|
+
loading ? /* @__PURE__ */ (0, import_jsx_runtime117.jsx)(
|
|
6449
6866
|
"div",
|
|
6450
6867
|
{
|
|
6451
6868
|
"data-slot": "table-loading",
|
|
@@ -6453,8 +6870,8 @@ function Table3({
|
|
|
6453
6870
|
children: t("pactor.table.loading")
|
|
6454
6871
|
}
|
|
6455
6872
|
) : null,
|
|
6456
|
-
/* @__PURE__ */ (0,
|
|
6457
|
-
/* @__PURE__ */ (0,
|
|
6873
|
+
/* @__PURE__ */ (0, import_jsx_runtime117.jsxs)(Table2, { children: [
|
|
6874
|
+
/* @__PURE__ */ (0, import_jsx_runtime117.jsx)(TableHeader, { children: /* @__PURE__ */ (0, import_jsx_runtime117.jsx)(TableRow, { className: "hover:bg-transparent", children: columns.map((column, index) => /* @__PURE__ */ (0, import_jsx_runtime117.jsx)(
|
|
6458
6875
|
TableHead,
|
|
6459
6876
|
{
|
|
6460
6877
|
style: column.width !== void 0 ? { width: column.width } : void 0,
|
|
@@ -6462,7 +6879,7 @@ function Table3({
|
|
|
6462
6879
|
},
|
|
6463
6880
|
column.dataIndex ?? String(index)
|
|
6464
6881
|
)) }) }),
|
|
6465
|
-
/* @__PURE__ */ (0,
|
|
6882
|
+
/* @__PURE__ */ (0, import_jsx_runtime117.jsx)(TableBody, { children: pageRows.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime117.jsx)(TableRow, { className: "hover:bg-transparent", children: /* @__PURE__ */ (0, import_jsx_runtime117.jsx)(TableCell, { colSpan: Math.max(1, columns.length), children: /* @__PURE__ */ (0, import_jsx_runtime117.jsx)(
|
|
6466
6883
|
"div",
|
|
6467
6884
|
{
|
|
6468
6885
|
"data-slot": "table-empty",
|
|
@@ -6471,10 +6888,10 @@ function Table3({
|
|
|
6471
6888
|
}
|
|
6472
6889
|
) }) }) : pageRows.map((row, rowIndex) => {
|
|
6473
6890
|
const key = row[rowKey];
|
|
6474
|
-
return /* @__PURE__ */ (0,
|
|
6891
|
+
return /* @__PURE__ */ (0, import_jsx_runtime117.jsx)(
|
|
6475
6892
|
TableRow,
|
|
6476
6893
|
{
|
|
6477
|
-
children: columns.map((column, columnIndex) => /* @__PURE__ */ (0,
|
|
6894
|
+
children: columns.map((column, columnIndex) => /* @__PURE__ */ (0, import_jsx_runtime117.jsx)(TableCell, { children: column.cell ? renderChildren([column.cell], { row, rowIndex }) : renderCellValue2(
|
|
6478
6895
|
column.dataIndex === void 0 ? void 0 : row[column.dataIndex]
|
|
6479
6896
|
) }, column.dataIndex ?? String(columnIndex)))
|
|
6480
6897
|
},
|
|
@@ -6482,8 +6899,8 @@ function Table3({
|
|
|
6482
6899
|
);
|
|
6483
6900
|
}) })
|
|
6484
6901
|
] }),
|
|
6485
|
-
pageSize !== void 0 && pageSize > 0 ? /* @__PURE__ */ (0,
|
|
6486
|
-
(page) => /* @__PURE__ */ (0,
|
|
6902
|
+
pageSize !== void 0 && pageSize > 0 ? /* @__PURE__ */ (0, import_jsx_runtime117.jsx)("div", { "data-slot": "table-pagination", className: "mt-3 flex justify-end gap-1", children: Array.from({ length: pageCount }, (_, index) => index + 1).map(
|
|
6903
|
+
(page) => /* @__PURE__ */ (0, import_jsx_runtime117.jsx)(
|
|
6487
6904
|
Button,
|
|
6488
6905
|
{
|
|
6489
6906
|
type: "button",
|
|
@@ -6500,16 +6917,16 @@ function Table3({
|
|
|
6500
6917
|
}
|
|
6501
6918
|
|
|
6502
6919
|
// src/components/components/Tabs/index.tsx
|
|
6503
|
-
var
|
|
6920
|
+
var import_runtime20 = require("@pactor-app/runtime");
|
|
6504
6921
|
|
|
6505
6922
|
// src/ui/tabs.tsx
|
|
6506
6923
|
var import_tabs = require("@base-ui/react/tabs");
|
|
6507
|
-
var
|
|
6924
|
+
var import_jsx_runtime118 = require("react/jsx-runtime");
|
|
6508
6925
|
function Tabs({
|
|
6509
6926
|
className,
|
|
6510
6927
|
...props
|
|
6511
6928
|
}) {
|
|
6512
|
-
return /* @__PURE__ */ (0,
|
|
6929
|
+
return /* @__PURE__ */ (0, import_jsx_runtime118.jsx)(
|
|
6513
6930
|
import_tabs.Tabs.Root,
|
|
6514
6931
|
{
|
|
6515
6932
|
"data-slot": "tabs",
|
|
@@ -6522,7 +6939,7 @@ function TabsList({
|
|
|
6522
6939
|
className,
|
|
6523
6940
|
...props
|
|
6524
6941
|
}) {
|
|
6525
|
-
return /* @__PURE__ */ (0,
|
|
6942
|
+
return /* @__PURE__ */ (0, import_jsx_runtime118.jsx)(
|
|
6526
6943
|
import_tabs.Tabs.List,
|
|
6527
6944
|
{
|
|
6528
6945
|
"data-slot": "tabs-list",
|
|
@@ -6538,7 +6955,7 @@ function TabsTrigger({
|
|
|
6538
6955
|
className,
|
|
6539
6956
|
...props
|
|
6540
6957
|
}) {
|
|
6541
|
-
return /* @__PURE__ */ (0,
|
|
6958
|
+
return /* @__PURE__ */ (0, import_jsx_runtime118.jsx)(
|
|
6542
6959
|
import_tabs.Tabs.Tab,
|
|
6543
6960
|
{
|
|
6544
6961
|
"data-slot": "tabs-trigger",
|
|
@@ -6554,7 +6971,7 @@ function TabsContent({
|
|
|
6554
6971
|
className,
|
|
6555
6972
|
...props
|
|
6556
6973
|
}) {
|
|
6557
|
-
return /* @__PURE__ */ (0,
|
|
6974
|
+
return /* @__PURE__ */ (0, import_jsx_runtime118.jsx)(
|
|
6558
6975
|
import_tabs.Tabs.Panel,
|
|
6559
6976
|
{
|
|
6560
6977
|
"data-slot": "tabs-content",
|
|
@@ -6565,10 +6982,10 @@ function TabsContent({
|
|
|
6565
6982
|
}
|
|
6566
6983
|
|
|
6567
6984
|
// src/components/components/Tabs/index.tsx
|
|
6568
|
-
var
|
|
6985
|
+
var import_jsx_runtime119 = require("react/jsx-runtime");
|
|
6569
6986
|
function Tabs2({ items = [], activeKey, onChange, className, style }) {
|
|
6570
|
-
const { renderChildren } = (0,
|
|
6571
|
-
return /* @__PURE__ */ (0,
|
|
6987
|
+
const { renderChildren } = (0, import_runtime20.useRenderer)();
|
|
6988
|
+
return /* @__PURE__ */ (0, import_jsx_runtime119.jsxs)(
|
|
6572
6989
|
Tabs,
|
|
6573
6990
|
{
|
|
6574
6991
|
value: activeKey,
|
|
@@ -6577,15 +6994,15 @@ function Tabs2({ items = [], activeKey, onChange, className, style }) {
|
|
|
6577
6994
|
className,
|
|
6578
6995
|
style,
|
|
6579
6996
|
children: [
|
|
6580
|
-
/* @__PURE__ */ (0,
|
|
6581
|
-
items.map((item) => /* @__PURE__ */ (0,
|
|
6997
|
+
/* @__PURE__ */ (0, import_jsx_runtime119.jsx)(TabsList, { children: items.map((item) => /* @__PURE__ */ (0, import_jsx_runtime119.jsx)(TabsTrigger, { value: item.key, children: item.label }, item.key)) }),
|
|
6998
|
+
items.map((item) => /* @__PURE__ */ (0, import_jsx_runtime119.jsx)(TabsContent, { value: item.key, children: renderChildren(item.children) }, item.key))
|
|
6582
6999
|
]
|
|
6583
7000
|
}
|
|
6584
7001
|
);
|
|
6585
7002
|
}
|
|
6586
7003
|
|
|
6587
7004
|
// src/components/components/Text/index.tsx
|
|
6588
|
-
var
|
|
7005
|
+
var import_jsx_runtime120 = require("react/jsx-runtime");
|
|
6589
7006
|
var typeClassMap = {
|
|
6590
7007
|
default: "",
|
|
6591
7008
|
secondary: "text-muted-foreground",
|
|
@@ -6604,7 +7021,7 @@ function Text({
|
|
|
6604
7021
|
style,
|
|
6605
7022
|
children
|
|
6606
7023
|
}) {
|
|
6607
|
-
return /* @__PURE__ */ (0,
|
|
7024
|
+
return /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(
|
|
6608
7025
|
"span",
|
|
6609
7026
|
{
|
|
6610
7027
|
"data-slot": "text",
|
|
@@ -6624,8 +7041,8 @@ function Text({
|
|
|
6624
7041
|
}
|
|
6625
7042
|
|
|
6626
7043
|
// src/components/components/Textarea/index.tsx
|
|
6627
|
-
var
|
|
6628
|
-
var
|
|
7044
|
+
var import_react28 = require("react");
|
|
7045
|
+
var import_jsx_runtime121 = require("react/jsx-runtime");
|
|
6629
7046
|
function Textarea2({
|
|
6630
7047
|
name,
|
|
6631
7048
|
label,
|
|
@@ -6639,9 +7056,9 @@ function Textarea2({
|
|
|
6639
7056
|
style
|
|
6640
7057
|
}) {
|
|
6641
7058
|
const form = useFormContext();
|
|
6642
|
-
const controlId = (0,
|
|
7059
|
+
const controlId = (0, import_react28.useId)();
|
|
6643
7060
|
const inForm = form?.inForm === true && typeof name === "string" && name !== "";
|
|
6644
|
-
(0,
|
|
7061
|
+
(0, import_react28.useEffect)(() => {
|
|
6645
7062
|
if (inForm && form && name) {
|
|
6646
7063
|
form.registerField(name, rules, value);
|
|
6647
7064
|
return () => form.unregisterField(name);
|
|
@@ -6650,7 +7067,7 @@ function Textarea2({
|
|
|
6650
7067
|
});
|
|
6651
7068
|
if (inForm && form && name) {
|
|
6652
7069
|
const fieldValue = form.values[name];
|
|
6653
|
-
return /* @__PURE__ */ (0,
|
|
7070
|
+
return /* @__PURE__ */ (0, import_jsx_runtime121.jsx)(
|
|
6654
7071
|
FieldShell,
|
|
6655
7072
|
{
|
|
6656
7073
|
layout: form.layout,
|
|
@@ -6659,7 +7076,7 @@ function Textarea2({
|
|
|
6659
7076
|
error: form.errors[name],
|
|
6660
7077
|
className,
|
|
6661
7078
|
style,
|
|
6662
|
-
children: /* @__PURE__ */ (0,
|
|
7079
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime121.jsx)(
|
|
6663
7080
|
Textarea,
|
|
6664
7081
|
{
|
|
6665
7082
|
id: controlId,
|
|
@@ -6676,7 +7093,7 @@ function Textarea2({
|
|
|
6676
7093
|
}
|
|
6677
7094
|
);
|
|
6678
7095
|
}
|
|
6679
|
-
return /* @__PURE__ */ (0,
|
|
7096
|
+
return /* @__PURE__ */ (0, import_jsx_runtime121.jsx)(
|
|
6680
7097
|
Textarea,
|
|
6681
7098
|
{
|
|
6682
7099
|
value: value ?? "",
|
|
@@ -6693,7 +7110,7 @@ function Textarea2({
|
|
|
6693
7110
|
// src/ui/toggle.tsx
|
|
6694
7111
|
var import_toggle = require("@base-ui/react/toggle");
|
|
6695
7112
|
var import_class_variance_authority7 = require("class-variance-authority");
|
|
6696
|
-
var
|
|
7113
|
+
var import_jsx_runtime122 = require("react/jsx-runtime");
|
|
6697
7114
|
var toggleVariants = (0, import_class_variance_authority7.cva)(
|
|
6698
7115
|
"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",
|
|
6699
7116
|
{
|
|
@@ -6720,7 +7137,7 @@ function Toggle({
|
|
|
6720
7137
|
size,
|
|
6721
7138
|
...props
|
|
6722
7139
|
}) {
|
|
6723
|
-
return /* @__PURE__ */ (0,
|
|
7140
|
+
return /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(
|
|
6724
7141
|
import_toggle.Toggle,
|
|
6725
7142
|
{
|
|
6726
7143
|
"data-slot": "toggle",
|
|
@@ -6731,7 +7148,7 @@ function Toggle({
|
|
|
6731
7148
|
}
|
|
6732
7149
|
|
|
6733
7150
|
// src/components/components/Toggle/index.tsx
|
|
6734
|
-
var
|
|
7151
|
+
var import_jsx_runtime123 = require("react/jsx-runtime");
|
|
6735
7152
|
function Toggle2({
|
|
6736
7153
|
text,
|
|
6737
7154
|
pressed,
|
|
@@ -6742,7 +7159,7 @@ function Toggle2({
|
|
|
6742
7159
|
className,
|
|
6743
7160
|
style
|
|
6744
7161
|
}) {
|
|
6745
|
-
return /* @__PURE__ */ (0,
|
|
7162
|
+
return /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(
|
|
6746
7163
|
Toggle,
|
|
6747
7164
|
{
|
|
6748
7165
|
pressed,
|
|
@@ -6761,7 +7178,7 @@ function Toggle2({
|
|
|
6761
7178
|
var import_toggle3 = require("@base-ui/react/toggle");
|
|
6762
7179
|
var import_toggle_group = require("@base-ui/react/toggle-group");
|
|
6763
7180
|
var React5 = __toESM(require("react"), 1);
|
|
6764
|
-
var
|
|
7181
|
+
var import_jsx_runtime124 = require("react/jsx-runtime");
|
|
6765
7182
|
var ToggleGroupContext = React5.createContext({
|
|
6766
7183
|
size: "default",
|
|
6767
7184
|
variant: "default"
|
|
@@ -6773,18 +7190,18 @@ function ToggleGroup({
|
|
|
6773
7190
|
children,
|
|
6774
7191
|
...props
|
|
6775
7192
|
}) {
|
|
6776
|
-
return /* @__PURE__ */ (0,
|
|
7193
|
+
return /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(
|
|
6777
7194
|
import_toggle_group.ToggleGroup,
|
|
6778
7195
|
{
|
|
6779
7196
|
"data-slot": "toggle-group",
|
|
6780
7197
|
"data-variant": variant,
|
|
6781
7198
|
"data-size": size,
|
|
6782
7199
|
className: cn(
|
|
6783
|
-
"group/toggle-group flex w-fit items-center
|
|
7200
|
+
"group/toggle-group flex w-fit items-center gap-1 rounded-md",
|
|
6784
7201
|
className
|
|
6785
7202
|
),
|
|
6786
7203
|
...props,
|
|
6787
|
-
children: /* @__PURE__ */ (0,
|
|
7204
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(ToggleGroupContext.Provider, { value: { variant, size }, children })
|
|
6788
7205
|
}
|
|
6789
7206
|
);
|
|
6790
7207
|
}
|
|
@@ -6796,7 +7213,7 @@ function ToggleGroupItem({
|
|
|
6796
7213
|
...props
|
|
6797
7214
|
}) {
|
|
6798
7215
|
const context = React5.useContext(ToggleGroupContext);
|
|
6799
|
-
return /* @__PURE__ */ (0,
|
|
7216
|
+
return /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(
|
|
6800
7217
|
import_toggle3.Toggle,
|
|
6801
7218
|
{
|
|
6802
7219
|
"data-slot": "toggle-group-item",
|
|
@@ -6817,7 +7234,7 @@ function ToggleGroupItem({
|
|
|
6817
7234
|
}
|
|
6818
7235
|
|
|
6819
7236
|
// src/components/components/ToggleGroup/index.tsx
|
|
6820
|
-
var
|
|
7237
|
+
var import_jsx_runtime125 = require("react/jsx-runtime");
|
|
6821
7238
|
function ToggleGroup2({
|
|
6822
7239
|
options = [],
|
|
6823
7240
|
value,
|
|
@@ -6837,7 +7254,7 @@ function ToggleGroup2({
|
|
|
6837
7254
|
onChange?.(added ?? void 0);
|
|
6838
7255
|
}
|
|
6839
7256
|
};
|
|
6840
|
-
return /* @__PURE__ */ (0,
|
|
7257
|
+
return /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(
|
|
6841
7258
|
ToggleGroup,
|
|
6842
7259
|
{
|
|
6843
7260
|
value: groupValue,
|
|
@@ -6846,7 +7263,7 @@ function ToggleGroup2({
|
|
|
6846
7263
|
onValueChange: (next) => handleChange(next),
|
|
6847
7264
|
className,
|
|
6848
7265
|
style,
|
|
6849
|
-
children: options.map((option) => /* @__PURE__ */ (0,
|
|
7266
|
+
children: options.map((option) => /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(
|
|
6850
7267
|
ToggleGroupItem,
|
|
6851
7268
|
{
|
|
6852
7269
|
value: option.value,
|
|
@@ -6860,17 +7277,17 @@ function ToggleGroup2({
|
|
|
6860
7277
|
}
|
|
6861
7278
|
|
|
6862
7279
|
// src/components/components/Tooltip/index.tsx
|
|
6863
|
-
var
|
|
7280
|
+
var import_jsx_runtime126 = require("react/jsx-runtime");
|
|
6864
7281
|
function Tooltip3({ content, children, className, style }) {
|
|
6865
|
-
return /* @__PURE__ */ (0,
|
|
6866
|
-
/* @__PURE__ */ (0,
|
|
6867
|
-
/* @__PURE__ */ (0,
|
|
7282
|
+
return /* @__PURE__ */ (0, import_jsx_runtime126.jsxs)(Tooltip2, { children: [
|
|
7283
|
+
/* @__PURE__ */ (0, import_jsx_runtime126.jsx)(TooltipTrigger, { render: triggerWrapper("tooltip-trigger-wrap"), children }),
|
|
7284
|
+
/* @__PURE__ */ (0, import_jsx_runtime126.jsx)(TooltipContent, { className, style, children: content })
|
|
6868
7285
|
] });
|
|
6869
7286
|
}
|
|
6870
7287
|
|
|
6871
7288
|
// src/ui/typography.tsx
|
|
6872
7289
|
var import_class_variance_authority8 = require("class-variance-authority");
|
|
6873
|
-
var
|
|
7290
|
+
var import_jsx_runtime127 = require("react/jsx-runtime");
|
|
6874
7291
|
var typographyVariants = (0, import_class_variance_authority8.cva)("", {
|
|
6875
7292
|
variants: {
|
|
6876
7293
|
variant: {
|
|
@@ -6906,7 +7323,7 @@ var variantTagMap = {
|
|
|
6906
7323
|
};
|
|
6907
7324
|
function Typography({ className, variant = "p", ...props }) {
|
|
6908
7325
|
const Tag2 = variantTagMap[variant ?? "p"];
|
|
6909
|
-
return /* @__PURE__ */ (0,
|
|
7326
|
+
return /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(
|
|
6910
7327
|
Tag2,
|
|
6911
7328
|
{
|
|
6912
7329
|
"data-slot": "typography",
|
|
@@ -6918,14 +7335,14 @@ function Typography({ className, variant = "p", ...props }) {
|
|
|
6918
7335
|
}
|
|
6919
7336
|
|
|
6920
7337
|
// src/components/components/Typography/index.tsx
|
|
6921
|
-
var
|
|
7338
|
+
var import_jsx_runtime128 = require("react/jsx-runtime");
|
|
6922
7339
|
function Typography2({
|
|
6923
7340
|
variant = "p",
|
|
6924
7341
|
text,
|
|
6925
7342
|
className,
|
|
6926
7343
|
style
|
|
6927
7344
|
}) {
|
|
6928
|
-
return /* @__PURE__ */ (0,
|
|
7345
|
+
return /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(Typography, { variant, className, style, children: text });
|
|
6929
7346
|
}
|
|
6930
7347
|
|
|
6931
7348
|
// src/components/register.ts
|
|
@@ -6990,6 +7407,7 @@ var builtinComponents = {
|
|
|
6990
7407
|
HoverCard: HoverCard2,
|
|
6991
7408
|
// 复合类扩展组件(第三批)
|
|
6992
7409
|
Calendar: Calendar2,
|
|
7410
|
+
DatePicker,
|
|
6993
7411
|
InputOTP: InputOTP2,
|
|
6994
7412
|
Combobox: Combobox2,
|
|
6995
7413
|
Carousel: Carousel2,
|
|
@@ -7042,6 +7460,7 @@ function createComponentRegistry() {
|
|
|
7042
7460
|
Content,
|
|
7043
7461
|
ContextMenu,
|
|
7044
7462
|
DataTable,
|
|
7463
|
+
DatePicker,
|
|
7045
7464
|
Dialog,
|
|
7046
7465
|
Drawer,
|
|
7047
7466
|
DropdownMenu,
|