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