@marktiderman/genesis-ui 1.0.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/ViewToggle-DDe_Luj2.d.ts +10 -0
- package/dist/chunk-2B3MFHBQ.js +94 -0
- package/dist/chunk-2B3MFHBQ.js.map +1 -0
- package/dist/chunk-2MQKBZBJ.js +87 -0
- package/dist/chunk-2MQKBZBJ.js.map +1 -0
- package/dist/chunk-2MXMWBDV.js +30 -0
- package/dist/chunk-2MXMWBDV.js.map +1 -0
- package/dist/chunk-2SBHHXAC.js +40 -0
- package/dist/chunk-2SBHHXAC.js.map +1 -0
- package/dist/chunk-4HUKJSKC.js +51 -0
- package/dist/chunk-4HUKJSKC.js.map +1 -0
- package/dist/chunk-4RAZJ6LL.js +27 -0
- package/dist/chunk-4RAZJ6LL.js.map +1 -0
- package/dist/chunk-4TROUCWO.js +43 -0
- package/dist/chunk-4TROUCWO.js.map +1 -0
- package/dist/chunk-4V4H2ZM7.js +170 -0
- package/dist/chunk-4V4H2ZM7.js.map +1 -0
- package/dist/chunk-5J7BP5DI.js +47 -0
- package/dist/chunk-5J7BP5DI.js.map +1 -0
- package/dist/chunk-5Q4FABZQ.js +44 -0
- package/dist/chunk-5Q4FABZQ.js.map +1 -0
- package/dist/chunk-63FW5ZUA.js +26 -0
- package/dist/chunk-63FW5ZUA.js.map +1 -0
- package/dist/chunk-6V4GJUE3.js +25 -0
- package/dist/chunk-6V4GJUE3.js.map +1 -0
- package/dist/chunk-7H3E5VOJ.js +205 -0
- package/dist/chunk-7H3E5VOJ.js.map +1 -0
- package/dist/chunk-7OBL3H5P.js +83 -0
- package/dist/chunk-7OBL3H5P.js.map +1 -0
- package/dist/chunk-A5WHNNXJ.js +22 -0
- package/dist/chunk-A5WHNNXJ.js.map +1 -0
- package/dist/chunk-AI6CCNWK.js +51 -0
- package/dist/chunk-AI6CCNWK.js.map +1 -0
- package/dist/chunk-AIODTBWP.js +23 -0
- package/dist/chunk-AIODTBWP.js.map +1 -0
- package/dist/chunk-C6H7AMO4.js +43 -0
- package/dist/chunk-C6H7AMO4.js.map +1 -0
- package/dist/chunk-CLK7JBZJ.js +288 -0
- package/dist/chunk-CLK7JBZJ.js.map +1 -0
- package/dist/chunk-EI5EGKHL.js +32 -0
- package/dist/chunk-EI5EGKHL.js.map +1 -0
- package/dist/chunk-F2JB7YFF.js +341 -0
- package/dist/chunk-F2JB7YFF.js.map +1 -0
- package/dist/chunk-FCGFG4RV.js +120 -0
- package/dist/chunk-FCGFG4RV.js.map +1 -0
- package/dist/chunk-FFSDFQQN.js +19 -0
- package/dist/chunk-FFSDFQQN.js.map +1 -0
- package/dist/chunk-FN3FZVUR.js +79 -0
- package/dist/chunk-FN3FZVUR.js.map +1 -0
- package/dist/chunk-FZYUVUXU.js +199 -0
- package/dist/chunk-FZYUVUXU.js.map +1 -0
- package/dist/chunk-GJ6XSCNF.js +64 -0
- package/dist/chunk-GJ6XSCNF.js.map +1 -0
- package/dist/chunk-HSHIZHYR.js +23 -0
- package/dist/chunk-HSHIZHYR.js.map +1 -0
- package/dist/chunk-HVQCZFJ7.js +115 -0
- package/dist/chunk-HVQCZFJ7.js.map +1 -0
- package/dist/chunk-IKIFQILN.js +124 -0
- package/dist/chunk-IKIFQILN.js.map +1 -0
- package/dist/chunk-JEECTX26.js +20 -0
- package/dist/chunk-JEECTX26.js.map +1 -0
- package/dist/chunk-JJ4NOMMI.js +73 -0
- package/dist/chunk-JJ4NOMMI.js.map +1 -0
- package/dist/chunk-JXI2MYL3.js +40 -0
- package/dist/chunk-JXI2MYL3.js.map +1 -0
- package/dist/chunk-JYPENH7T.js +95 -0
- package/dist/chunk-JYPENH7T.js.map +1 -0
- package/dist/chunk-K23AQNOM.js +51 -0
- package/dist/chunk-K23AQNOM.js.map +1 -0
- package/dist/chunk-K4YLKVMX.js +24 -0
- package/dist/chunk-K4YLKVMX.js.map +1 -0
- package/dist/chunk-KBS4BHME.js +11 -0
- package/dist/chunk-KBS4BHME.js.map +1 -0
- package/dist/chunk-LRXDZBV2.js +26 -0
- package/dist/chunk-LRXDZBV2.js.map +1 -0
- package/dist/chunk-M7AU5DDM.js +26 -0
- package/dist/chunk-M7AU5DDM.js.map +1 -0
- package/dist/chunk-MUQLZFUR.js +31 -0
- package/dist/chunk-MUQLZFUR.js.map +1 -0
- package/dist/chunk-N2ZFNOOT.js +57 -0
- package/dist/chunk-N2ZFNOOT.js.map +1 -0
- package/dist/chunk-NJMO3VPA.js +26 -0
- package/dist/chunk-NJMO3VPA.js.map +1 -0
- package/dist/chunk-NZ5WBA4R.js +18 -0
- package/dist/chunk-NZ5WBA4R.js.map +1 -0
- package/dist/chunk-OCTV3S4I.js +29 -0
- package/dist/chunk-OCTV3S4I.js.map +1 -0
- package/dist/chunk-OVU3Z2MT.js +22 -0
- package/dist/chunk-OVU3Z2MT.js.map +1 -0
- package/dist/chunk-OZ7ZAYCS.js +35 -0
- package/dist/chunk-OZ7ZAYCS.js.map +1 -0
- package/dist/chunk-OZZTPE7F.js +51 -0
- package/dist/chunk-OZZTPE7F.js.map +1 -0
- package/dist/chunk-QBZMY2AF.js +90 -0
- package/dist/chunk-QBZMY2AF.js.map +1 -0
- package/dist/chunk-QCJAASJT.js +242 -0
- package/dist/chunk-QCJAASJT.js.map +1 -0
- package/dist/chunk-QFM4Z2SS.js +19 -0
- package/dist/chunk-QFM4Z2SS.js.map +1 -0
- package/dist/chunk-SBJV3K4G.js +120 -0
- package/dist/chunk-SBJV3K4G.js.map +1 -0
- package/dist/chunk-SCUT2ZCD.js +109 -0
- package/dist/chunk-SCUT2ZCD.js.map +1 -0
- package/dist/chunk-SVXDWPLO.js +102 -0
- package/dist/chunk-SVXDWPLO.js.map +1 -0
- package/dist/chunk-SXSCHWZU.js +27 -0
- package/dist/chunk-SXSCHWZU.js.map +1 -0
- package/dist/chunk-T465NJRL.js +134 -0
- package/dist/chunk-T465NJRL.js.map +1 -0
- package/dist/chunk-TAP3PBQT.js +39 -0
- package/dist/chunk-TAP3PBQT.js.map +1 -0
- package/dist/chunk-TKA4LOMT.js +37 -0
- package/dist/chunk-TKA4LOMT.js.map +1 -0
- package/dist/chunk-UGHQFQOE.js +142 -0
- package/dist/chunk-UGHQFQOE.js.map +1 -0
- package/dist/chunk-W5Y3LG5K.js +26 -0
- package/dist/chunk-W5Y3LG5K.js.map +1 -0
- package/dist/chunk-W64GERJW.js +22 -0
- package/dist/chunk-W64GERJW.js.map +1 -0
- package/dist/chunk-WALXVR6V.js +9 -0
- package/dist/chunk-WALXVR6V.js.map +1 -0
- package/dist/chunk-WZWR2ELB.js +30 -0
- package/dist/chunk-WZWR2ELB.js.map +1 -0
- package/dist/chunk-X7KMF6NH.js +59 -0
- package/dist/chunk-X7KMF6NH.js.map +1 -0
- package/dist/chunk-XISSLIMH.js +20 -0
- package/dist/chunk-XISSLIMH.js.map +1 -0
- package/dist/chunk-YZEA5TGK.js +87 -0
- package/dist/chunk-YZEA5TGK.js.map +1 -0
- package/dist/chunk-ZD32TSOK.js +101 -0
- package/dist/chunk-ZD32TSOK.js.map +1 -0
- package/dist/chunk-ZDAT5JDH.js +82 -0
- package/dist/chunk-ZDAT5JDH.js.map +1 -0
- package/dist/components/data/index.d.ts +458 -0
- package/dist/components/data/index.js +2923 -0
- package/dist/components/data/index.js.map +1 -0
- package/dist/components/ui/accordion.d.ts +9 -0
- package/dist/components/ui/accordion.js +4 -0
- package/dist/components/ui/accordion.js.map +1 -0
- package/dist/components/ui/alert-dialog.d.ts +17 -0
- package/dist/components/ui/alert-dialog.js +4 -0
- package/dist/components/ui/alert-dialog.js.map +1 -0
- package/dist/components/ui/alert.d.ts +14 -0
- package/dist/components/ui/alert.js +4 -0
- package/dist/components/ui/alert.js.map +1 -0
- package/dist/components/ui/aspect-ratio.d.ts +6 -0
- package/dist/components/ui/aspect-ratio.js +3 -0
- package/dist/components/ui/aspect-ratio.js.map +1 -0
- package/dist/components/ui/avatar.d.ts +8 -0
- package/dist/components/ui/avatar.js +4 -0
- package/dist/components/ui/avatar.js.map +1 -0
- package/dist/components/ui/badge.d.ts +13 -0
- package/dist/components/ui/badge.js +4 -0
- package/dist/components/ui/badge.js.map +1 -0
- package/dist/components/ui/breadcrumb.d.ts +22 -0
- package/dist/components/ui/breadcrumb.js +4 -0
- package/dist/components/ui/breadcrumb.js.map +1 -0
- package/dist/components/ui/button-group.d.ts +9 -0
- package/dist/components/ui/button-group.js +4 -0
- package/dist/components/ui/button-group.js.map +1 -0
- package/dist/components/ui/button.d.ts +15 -0
- package/dist/components/ui/button.js +4 -0
- package/dist/components/ui/button.js.map +1 -0
- package/dist/components/ui/calendar.d.ts +13 -0
- package/dist/components/ui/calendar.js +5 -0
- package/dist/components/ui/calendar.js.map +1 -0
- package/dist/components/ui/card.d.ts +11 -0
- package/dist/components/ui/card.js +4 -0
- package/dist/components/ui/card.js.map +1 -0
- package/dist/components/ui/carousel.d.ts +24 -0
- package/dist/components/ui/carousel.js +5 -0
- package/dist/components/ui/carousel.js.map +1 -0
- package/dist/components/ui/chart.d.ts +51 -0
- package/dist/components/ui/chart.js +4 -0
- package/dist/components/ui/chart.js.map +1 -0
- package/dist/components/ui/checkbox.d.ts +6 -0
- package/dist/components/ui/checkbox.js +4 -0
- package/dist/components/ui/checkbox.js.map +1 -0
- package/dist/components/ui/collapsible.d.ts +8 -0
- package/dist/components/ui/collapsible.js +3 -0
- package/dist/components/ui/collapsible.js.map +1 -0
- package/dist/components/ui/command.d.ts +85 -0
- package/dist/components/ui/command.js +5 -0
- package/dist/components/ui/command.js.map +1 -0
- package/dist/components/ui/context-menu.d.ts +30 -0
- package/dist/components/ui/context-menu.js +4 -0
- package/dist/components/ui/context-menu.js.map +1 -0
- package/dist/components/ui/date-picker.d.ts +12 -0
- package/dist/components/ui/date-picker.js +7 -0
- package/dist/components/ui/date-picker.js.map +1 -0
- package/dist/components/ui/dialog.d.ts +18 -0
- package/dist/components/ui/dialog.js +4 -0
- package/dist/components/ui/dialog.js.map +1 -0
- package/dist/components/ui/drawer.d.ts +27 -0
- package/dist/components/ui/drawer.js +4 -0
- package/dist/components/ui/drawer.js.map +1 -0
- package/dist/components/ui/dropdown-menu.d.ts +30 -0
- package/dist/components/ui/dropdown-menu.js +4 -0
- package/dist/components/ui/dropdown-menu.js.map +1 -0
- package/dist/components/ui/empty-state.d.ts +22 -0
- package/dist/components/ui/empty-state.js +4 -0
- package/dist/components/ui/empty-state.js.map +1 -0
- package/dist/components/ui/form-field.d.ts +17 -0
- package/dist/components/ui/form-field.js +5 -0
- package/dist/components/ui/form-field.js.map +1 -0
- package/dist/components/ui/hover-card.d.ts +8 -0
- package/dist/components/ui/hover-card.js +4 -0
- package/dist/components/ui/hover-card.js.map +1 -0
- package/dist/components/ui/input-group.d.ts +14 -0
- package/dist/components/ui/input-group.js +4 -0
- package/dist/components/ui/input-group.js.map +1 -0
- package/dist/components/ui/input-otp.d.ts +37 -0
- package/dist/components/ui/input-otp.js +4 -0
- package/dist/components/ui/input-otp.js.map +1 -0
- package/dist/components/ui/input.d.ts +5 -0
- package/dist/components/ui/input.js +4 -0
- package/dist/components/ui/input.js.map +1 -0
- package/dist/components/ui/kbd.d.ts +8 -0
- package/dist/components/ui/kbd.js +4 -0
- package/dist/components/ui/kbd.js.map +1 -0
- package/dist/components/ui/label.d.ts +8 -0
- package/dist/components/ui/label.js +4 -0
- package/dist/components/ui/label.js.map +1 -0
- package/dist/components/ui/menubar.d.ts +31 -0
- package/dist/components/ui/menubar.js +4 -0
- package/dist/components/ui/menubar.js.map +1 -0
- package/dist/components/ui/navigation-menu.d.ts +15 -0
- package/dist/components/ui/navigation-menu.js +4 -0
- package/dist/components/ui/navigation-menu.js.map +1 -0
- package/dist/components/ui/pagination.d.ts +33 -0
- package/dist/components/ui/pagination.js +5 -0
- package/dist/components/ui/pagination.js.map +1 -0
- package/dist/components/ui/popover.d.ts +8 -0
- package/dist/components/ui/popover.js +4 -0
- package/dist/components/ui/popover.js.map +1 -0
- package/dist/components/ui/progress.d.ts +9 -0
- package/dist/components/ui/progress.js +4 -0
- package/dist/components/ui/progress.js.map +1 -0
- package/dist/components/ui/radio-group.d.ts +7 -0
- package/dist/components/ui/radio-group.js +4 -0
- package/dist/components/ui/radio-group.js.map +1 -0
- package/dist/components/ui/resizable.d.ts +27 -0
- package/dist/components/ui/resizable.js +4 -0
- package/dist/components/ui/resizable.js.map +1 -0
- package/dist/components/ui/scroll-area.d.ts +9 -0
- package/dist/components/ui/scroll-area.js +4 -0
- package/dist/components/ui/scroll-area.js.map +1 -0
- package/dist/components/ui/select.d.ts +13 -0
- package/dist/components/ui/select.js +4 -0
- package/dist/components/ui/select.js.map +1 -0
- package/dist/components/ui/separator.d.ts +10 -0
- package/dist/components/ui/separator.js +4 -0
- package/dist/components/ui/separator.js.map +1 -0
- package/dist/components/ui/sheet.d.ts +29 -0
- package/dist/components/ui/sheet.js +4 -0
- package/dist/components/ui/sheet.js.map +1 -0
- package/dist/components/ui/skeleton.d.ts +6 -0
- package/dist/components/ui/skeleton.js +4 -0
- package/dist/components/ui/skeleton.js.map +1 -0
- package/dist/components/ui/slider.d.ts +6 -0
- package/dist/components/ui/slider.js +4 -0
- package/dist/components/ui/slider.js.map +1 -0
- package/dist/components/ui/sonner.d.ts +9 -0
- package/dist/components/ui/sonner.js +4 -0
- package/dist/components/ui/sonner.js.map +1 -0
- package/dist/components/ui/spinner.d.ts +9 -0
- package/dist/components/ui/spinner.js +4 -0
- package/dist/components/ui/spinner.js.map +1 -0
- package/dist/components/ui/switch.d.ts +6 -0
- package/dist/components/ui/switch.js +4 -0
- package/dist/components/ui/switch.js.map +1 -0
- package/dist/components/ui/table.d.ts +12 -0
- package/dist/components/ui/table.js +4 -0
- package/dist/components/ui/table.js.map +1 -0
- package/dist/components/ui/tabs.d.ts +20 -0
- package/dist/components/ui/tabs.js +4 -0
- package/dist/components/ui/tabs.js.map +1 -0
- package/dist/components/ui/textarea.d.ts +5 -0
- package/dist/components/ui/textarea.js +4 -0
- package/dist/components/ui/textarea.js.map +1 -0
- package/dist/components/ui/toggle-group.d.ts +15 -0
- package/dist/components/ui/toggle-group.js +5 -0
- package/dist/components/ui/toggle-group.js.map +1 -0
- package/dist/components/ui/toggle.d.ts +15 -0
- package/dist/components/ui/toggle.js +4 -0
- package/dist/components/ui/toggle.js.map +1 -0
- package/dist/components/ui/tooltip.d.ts +10 -0
- package/dist/components/ui/tooltip.js +4 -0
- package/dist/components/ui/tooltip.js.map +1 -0
- package/dist/components/ui/typography.d.ts +14 -0
- package/dist/components/ui/typography.js +4 -0
- package/dist/components/ui/typography.js.map +1 -0
- package/dist/hooks/index.d.ts +13 -0
- package/dist/hooks/index.js +11 -0
- package/dist/hooks/index.js.map +1 -0
- package/dist/hooks/use-data-filters.d.ts +32 -0
- package/dist/hooks/use-data-filters.js +4 -0
- package/dist/hooks/use-data-filters.js.map +1 -0
- package/dist/hooks/use-keyboard-navigation.d.ts +29 -0
- package/dist/hooks/use-keyboard-navigation.js +3 -0
- package/dist/hooks/use-keyboard-navigation.js.map +1 -0
- package/dist/hooks/use-mobile.d.ts +3 -0
- package/dist/hooks/use-mobile.js +3 -0
- package/dist/hooks/use-mobile.js.map +1 -0
- package/dist/hooks/use-one.d.ts +18 -0
- package/dist/hooks/use-one.js +4 -0
- package/dist/hooks/use-one.js.map +1 -0
- package/dist/hooks/use-prefetch.d.ts +19 -0
- package/dist/hooks/use-prefetch.js +3 -0
- package/dist/hooks/use-prefetch.js.map +1 -0
- package/dist/hooks/use-resource-form.d.ts +37 -0
- package/dist/hooks/use-resource-form.js +7 -0
- package/dist/hooks/use-resource-form.js.map +1 -0
- package/dist/hooks/use-resource-page.d.ts +5 -0
- package/dist/hooks/use-resource-page.js +4 -0
- package/dist/hooks/use-resource-page.js.map +1 -0
- package/dist/hooks/use-resource.d.ts +46 -0
- package/dist/hooks/use-resource.js +4 -0
- package/dist/hooks/use-resource.js.map +1 -0
- package/dist/hooks/use-view-preference.d.ts +6 -0
- package/dist/hooks/use-view-preference.js +3 -0
- package/dist/hooks/use-view-preference.js.map +1 -0
- package/dist/hooks/use-view-settings.d.ts +15 -0
- package/dist/hooks/use-view-settings.js +3 -0
- package/dist/hooks/use-view-settings.js.map +1 -0
- package/dist/hooks/use-wizard.d.ts +25 -0
- package/dist/hooks/use-wizard.js +3 -0
- package/dist/hooks/use-wizard.js.map +1 -0
- package/dist/index.d.ts +87 -0
- package/dist/index.js +56 -0
- package/dist/index.js.map +1 -0
- package/dist/navigation-qI86Ldug.d.ts +90 -0
- package/dist/provider/index.d.ts +1 -0
- package/dist/provider/index.js +3 -0
- package/dist/provider/index.js.map +1 -0
- package/dist/status-colors.d.ts +29 -0
- package/dist/status-colors.js +72 -0
- package/dist/status-colors.js.map +1 -0
- package/dist/types-HIZY7zxO.d.ts +61 -0
- package/dist/use-resource-page-BzvUM8de.d.ts +159 -0
- package/dist/utils.d.ts +7 -0
- package/dist/utils.js +3 -0
- package/dist/utils.js.map +1 -0
- package/package.json +350 -0
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { cn } from './chunk-NZ5WBA4R.js';
|
|
3
|
+
import * as React from 'react';
|
|
4
|
+
import * as RadioGroupPrimitive from '@radix-ui/react-radio-group';
|
|
5
|
+
import { Circle } from 'lucide-react';
|
|
6
|
+
import { jsx } from 'react/jsx-runtime';
|
|
7
|
+
|
|
8
|
+
var RadioGroup = React.forwardRef(({ className, ...props }, ref) => {
|
|
9
|
+
return /* @__PURE__ */ jsx(
|
|
10
|
+
RadioGroupPrimitive.Root,
|
|
11
|
+
{
|
|
12
|
+
className: cn("grid gap-2", className),
|
|
13
|
+
...props,
|
|
14
|
+
ref
|
|
15
|
+
}
|
|
16
|
+
);
|
|
17
|
+
});
|
|
18
|
+
RadioGroup.displayName = RadioGroupPrimitive.Root.displayName;
|
|
19
|
+
var RadioGroupItem = React.forwardRef(({ className, ...props }, ref) => {
|
|
20
|
+
return /* @__PURE__ */ jsx(
|
|
21
|
+
RadioGroupPrimitive.Item,
|
|
22
|
+
{
|
|
23
|
+
ref,
|
|
24
|
+
className: cn(
|
|
25
|
+
"aspect-square h-4 w-4 rounded-full border border-primary text-primary ring-offset-background focus:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",
|
|
26
|
+
className
|
|
27
|
+
),
|
|
28
|
+
...props,
|
|
29
|
+
children: /* @__PURE__ */ jsx(RadioGroupPrimitive.Indicator, { className: "flex items-center justify-center", children: /* @__PURE__ */ jsx(Circle, { className: "h-2.5 w-2.5 fill-current text-current" }) })
|
|
30
|
+
}
|
|
31
|
+
);
|
|
32
|
+
});
|
|
33
|
+
RadioGroupItem.displayName = RadioGroupPrimitive.Item.displayName;
|
|
34
|
+
|
|
35
|
+
export { RadioGroup, RadioGroupItem };
|
|
36
|
+
//# sourceMappingURL=chunk-TKA4LOMT.js.map
|
|
37
|
+
//# sourceMappingURL=chunk-TKA4LOMT.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/ui/radio-group.tsx"],"names":[],"mappings":";;;;;;AAOA,IAAM,UAAA,GAAmB,iBAGvB,CAAC,EAAE,WAAW,GAAG,KAAA,IAAS,GAAA,KAAQ;AAClC,EAAA,uBACE,GAAA;AAAA,IAAqB,mBAAA,CAAA,IAAA;AAAA,IAApB;AAAA,MACC,SAAA,EAAW,EAAA,CAAG,YAAA,EAAc,SAAS,CAAA;AAAA,MACpC,GAAG,KAAA;AAAA,MACJ;AAAA;AAAA,GACF;AAEJ,CAAC;AACD,UAAA,CAAW,cAAkC,mBAAA,CAAA,IAAA,CAAK,WAAA;AAElD,IAAM,cAAA,GAAuB,iBAG3B,CAAC,EAAE,WAAW,GAAG,KAAA,IAAS,GAAA,KAAQ;AAClC,EAAA,uBACE,GAAA;AAAA,IAAqB,mBAAA,CAAA,IAAA;AAAA,IAApB;AAAA,MACC,GAAA;AAAA,MACA,SAAA,EAAW,EAAA;AAAA,QACT,0OAAA;AAAA,QACA;AAAA,OACF;AAAA,MACC,GAAG,KAAA;AAAA,MAEJ,QAAA,kBAAA,GAAA,CAAqB,+BAApB,EAA8B,SAAA,EAAU,oCACvC,QAAA,kBAAA,GAAA,CAAC,MAAA,EAAA,EAAO,SAAA,EAAU,uCAAA,EAAwC,CAAA,EAC5D;AAAA;AAAA,GACF;AAEJ,CAAC;AACD,cAAA,CAAe,cAAkC,mBAAA,CAAA,IAAA,CAAK,WAAA","file":"chunk-TKA4LOMT.js","sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport * as RadioGroupPrimitive from \"@radix-ui/react-radio-group\";\nimport { Circle } from \"lucide-react\";\nimport { cn } from \"../../utils\";\n\nconst RadioGroup = React.forwardRef<\n React.ComponentRef<typeof RadioGroupPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof RadioGroupPrimitive.Root>\n>(({ className, ...props }, ref) => {\n return (\n <RadioGroupPrimitive.Root\n className={cn(\"grid gap-2\", className)}\n {...props}\n ref={ref}\n />\n );\n});\nRadioGroup.displayName = RadioGroupPrimitive.Root.displayName;\n\nconst RadioGroupItem = React.forwardRef<\n React.ComponentRef<typeof RadioGroupPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof RadioGroupPrimitive.Item>\n>(({ className, ...props }, ref) => {\n return (\n <RadioGroupPrimitive.Item\n ref={ref}\n className={cn(\n \"aspect-square h-4 w-4 rounded-full border border-primary text-primary ring-offset-background focus:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50\",\n className,\n )}\n {...props}\n >\n <RadioGroupPrimitive.Indicator className=\"flex items-center justify-center\">\n <Circle className=\"h-2.5 w-2.5 fill-current text-current\" />\n </RadioGroupPrimitive.Indicator>\n </RadioGroupPrimitive.Item>\n );\n});\nRadioGroupItem.displayName = RadioGroupPrimitive.Item.displayName;\n\nexport { RadioGroup, RadioGroupItem };\n"]}
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { cn } from './chunk-NZ5WBA4R.js';
|
|
3
|
+
import * as React from 'react';
|
|
4
|
+
import * as ContextMenuPrimitive from '@radix-ui/react-context-menu';
|
|
5
|
+
import { ChevronRight, Check, Circle } from 'lucide-react';
|
|
6
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
7
|
+
|
|
8
|
+
var ContextMenu = ContextMenuPrimitive.Root;
|
|
9
|
+
var ContextMenuTrigger = ContextMenuPrimitive.Trigger;
|
|
10
|
+
var ContextMenuGroup = ContextMenuPrimitive.Group;
|
|
11
|
+
var ContextMenuPortal = ContextMenuPrimitive.Portal;
|
|
12
|
+
var ContextMenuSub = ContextMenuPrimitive.Sub;
|
|
13
|
+
var ContextMenuRadioGroup = ContextMenuPrimitive.RadioGroup;
|
|
14
|
+
var ContextMenuSubTrigger = React.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxs(
|
|
15
|
+
ContextMenuPrimitive.SubTrigger,
|
|
16
|
+
{
|
|
17
|
+
ref,
|
|
18
|
+
className: cn(
|
|
19
|
+
"flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none data-[state=open]:bg-accent focus:bg-accent",
|
|
20
|
+
inset && "pl-8",
|
|
21
|
+
className
|
|
22
|
+
),
|
|
23
|
+
...props,
|
|
24
|
+
children: [
|
|
25
|
+
children,
|
|
26
|
+
/* @__PURE__ */ jsx(ChevronRight, { className: "ml-auto h-4 w-4" })
|
|
27
|
+
]
|
|
28
|
+
}
|
|
29
|
+
));
|
|
30
|
+
ContextMenuSubTrigger.displayName = ContextMenuPrimitive.SubTrigger.displayName;
|
|
31
|
+
var ContextMenuSubContent = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
32
|
+
ContextMenuPrimitive.SubContent,
|
|
33
|
+
{
|
|
34
|
+
ref,
|
|
35
|
+
className: cn(
|
|
36
|
+
"z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
|
|
37
|
+
className
|
|
38
|
+
),
|
|
39
|
+
...props
|
|
40
|
+
}
|
|
41
|
+
));
|
|
42
|
+
ContextMenuSubContent.displayName = ContextMenuPrimitive.SubContent.displayName;
|
|
43
|
+
var ContextMenuContent = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(ContextMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx(
|
|
44
|
+
ContextMenuPrimitive.Content,
|
|
45
|
+
{
|
|
46
|
+
ref,
|
|
47
|
+
className: cn(
|
|
48
|
+
"z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
|
|
49
|
+
className
|
|
50
|
+
),
|
|
51
|
+
...props
|
|
52
|
+
}
|
|
53
|
+
) }));
|
|
54
|
+
ContextMenuContent.displayName = ContextMenuPrimitive.Content.displayName;
|
|
55
|
+
var ContextMenuItem = React.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
56
|
+
ContextMenuPrimitive.Item,
|
|
57
|
+
{
|
|
58
|
+
ref,
|
|
59
|
+
className: cn(
|
|
60
|
+
"relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none transition-colors data-[disabled]:pointer-events-none data-[disabled]:opacity-50 focus:bg-accent focus:text-accent-foreground",
|
|
61
|
+
inset && "pl-8",
|
|
62
|
+
className
|
|
63
|
+
),
|
|
64
|
+
...props
|
|
65
|
+
}
|
|
66
|
+
));
|
|
67
|
+
ContextMenuItem.displayName = ContextMenuPrimitive.Item.displayName;
|
|
68
|
+
var ContextMenuCheckboxItem = React.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxs(
|
|
69
|
+
ContextMenuPrimitive.CheckboxItem,
|
|
70
|
+
{
|
|
71
|
+
ref,
|
|
72
|
+
className: cn(
|
|
73
|
+
"relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors data-[disabled]:pointer-events-none data-[disabled]:opacity-50 focus:bg-accent focus:text-accent-foreground",
|
|
74
|
+
className
|
|
75
|
+
),
|
|
76
|
+
checked,
|
|
77
|
+
...props,
|
|
78
|
+
children: [
|
|
79
|
+
/* @__PURE__ */ jsx("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx(ContextMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx(Check, { className: "h-4 w-4" }) }) }),
|
|
80
|
+
children
|
|
81
|
+
]
|
|
82
|
+
}
|
|
83
|
+
));
|
|
84
|
+
ContextMenuCheckboxItem.displayName = ContextMenuPrimitive.CheckboxItem.displayName;
|
|
85
|
+
var ContextMenuRadioItem = React.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
|
|
86
|
+
ContextMenuPrimitive.RadioItem,
|
|
87
|
+
{
|
|
88
|
+
ref,
|
|
89
|
+
className: cn(
|
|
90
|
+
"relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors data-[disabled]:pointer-events-none data-[disabled]:opacity-50 focus:bg-accent focus:text-accent-foreground",
|
|
91
|
+
className
|
|
92
|
+
),
|
|
93
|
+
...props,
|
|
94
|
+
children: [
|
|
95
|
+
/* @__PURE__ */ jsx("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx(ContextMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx(Circle, { className: "h-2 w-2 fill-current" }) }) }),
|
|
96
|
+
children
|
|
97
|
+
]
|
|
98
|
+
}
|
|
99
|
+
));
|
|
100
|
+
ContextMenuRadioItem.displayName = ContextMenuPrimitive.RadioItem.displayName;
|
|
101
|
+
var ContextMenuLabel = React.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
102
|
+
ContextMenuPrimitive.Label,
|
|
103
|
+
{
|
|
104
|
+
ref,
|
|
105
|
+
className: cn(
|
|
106
|
+
"px-2 py-1.5 text-sm font-semibold text-foreground",
|
|
107
|
+
inset && "pl-8",
|
|
108
|
+
className
|
|
109
|
+
),
|
|
110
|
+
...props
|
|
111
|
+
}
|
|
112
|
+
));
|
|
113
|
+
ContextMenuLabel.displayName = ContextMenuPrimitive.Label.displayName;
|
|
114
|
+
var ContextMenuSeparator = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
115
|
+
ContextMenuPrimitive.Separator,
|
|
116
|
+
{
|
|
117
|
+
ref,
|
|
118
|
+
className: cn("-mx-1 my-1 h-px bg-border", className),
|
|
119
|
+
...props
|
|
120
|
+
}
|
|
121
|
+
));
|
|
122
|
+
ContextMenuSeparator.displayName = ContextMenuPrimitive.Separator.displayName;
|
|
123
|
+
var ContextMenuShortcut = ({
|
|
124
|
+
className,
|
|
125
|
+
...props
|
|
126
|
+
}) => {
|
|
127
|
+
return /* @__PURE__ */ jsx(
|
|
128
|
+
"span",
|
|
129
|
+
{
|
|
130
|
+
className: cn(
|
|
131
|
+
"ml-auto text-xs tracking-widest text-muted-foreground",
|
|
132
|
+
className
|
|
133
|
+
),
|
|
134
|
+
...props
|
|
135
|
+
}
|
|
136
|
+
);
|
|
137
|
+
};
|
|
138
|
+
ContextMenuShortcut.displayName = "ContextMenuShortcut";
|
|
139
|
+
|
|
140
|
+
export { ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger };
|
|
141
|
+
//# sourceMappingURL=chunk-UGHQFQOE.js.map
|
|
142
|
+
//# sourceMappingURL=chunk-UGHQFQOE.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/ui/context-menu.tsx"],"names":[],"mappings":"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","file":"chunk-UGHQFQOE.js","sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport * as ContextMenuPrimitive from \"@radix-ui/react-context-menu\";\nimport { Check, ChevronRight, Circle } from \"lucide-react\";\n\nimport { cn } from \"../../utils\";\n\nconst ContextMenu = ContextMenuPrimitive.Root;\nconst ContextMenuTrigger = ContextMenuPrimitive.Trigger;\nconst ContextMenuGroup = ContextMenuPrimitive.Group;\nconst ContextMenuPortal = ContextMenuPrimitive.Portal;\nconst ContextMenuSub = ContextMenuPrimitive.Sub;\nconst ContextMenuRadioGroup = ContextMenuPrimitive.RadioGroup;\n\nconst ContextMenuSubTrigger = React.forwardRef<\n React.ElementRef<typeof ContextMenuPrimitive.SubTrigger>,\n React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.SubTrigger> & {\n inset?: boolean;\n }\n>(({ className, inset, children, ...props }, ref) => (\n <ContextMenuPrimitive.SubTrigger\n ref={ref}\n className={cn(\n \"flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none data-[state=open]:bg-accent focus:bg-accent\",\n inset && \"pl-8\",\n className\n )}\n {...props}\n >\n {children}\n <ChevronRight className=\"ml-auto h-4 w-4\" />\n </ContextMenuPrimitive.SubTrigger>\n));\nContextMenuSubTrigger.displayName = ContextMenuPrimitive.SubTrigger.displayName;\n\nconst ContextMenuSubContent = React.forwardRef<\n React.ElementRef<typeof ContextMenuPrimitive.SubContent>,\n React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.SubContent>\n>(({ className, ...props }, ref) => (\n <ContextMenuPrimitive.SubContent\n ref={ref}\n className={cn(\n \"z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\",\n className\n )}\n {...props}\n />\n));\nContextMenuSubContent.displayName = ContextMenuPrimitive.SubContent.displayName;\n\nconst ContextMenuContent = React.forwardRef<\n React.ElementRef<typeof ContextMenuPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.Content>\n>(({ className, ...props }, ref) => (\n <ContextMenuPrimitive.Portal>\n <ContextMenuPrimitive.Content\n ref={ref}\n className={cn(\n \"z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\",\n className\n )}\n {...props}\n />\n </ContextMenuPrimitive.Portal>\n));\nContextMenuContent.displayName = ContextMenuPrimitive.Content.displayName;\n\nconst ContextMenuItem = React.forwardRef<\n React.ElementRef<typeof ContextMenuPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.Item> & {\n inset?: boolean;\n }\n>(({ className, inset, ...props }, ref) => (\n <ContextMenuPrimitive.Item\n ref={ref}\n className={cn(\n \"relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none transition-colors data-[disabled]:pointer-events-none data-[disabled]:opacity-50 focus:bg-accent focus:text-accent-foreground\",\n inset && \"pl-8\",\n className\n )}\n {...props}\n />\n));\nContextMenuItem.displayName = ContextMenuPrimitive.Item.displayName;\n\nconst ContextMenuCheckboxItem = React.forwardRef<\n React.ElementRef<typeof ContextMenuPrimitive.CheckboxItem>,\n React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.CheckboxItem>\n>(({ className, children, checked, ...props }, ref) => (\n <ContextMenuPrimitive.CheckboxItem\n ref={ref}\n className={cn(\n \"relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors data-[disabled]:pointer-events-none data-[disabled]:opacity-50 focus:bg-accent focus:text-accent-foreground\",\n className\n )}\n checked={checked}\n {...props}\n >\n <span className=\"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\">\n <ContextMenuPrimitive.ItemIndicator>\n <Check className=\"h-4 w-4\" />\n </ContextMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </ContextMenuPrimitive.CheckboxItem>\n));\nContextMenuCheckboxItem.displayName =\n ContextMenuPrimitive.CheckboxItem.displayName;\n\nconst ContextMenuRadioItem = React.forwardRef<\n React.ElementRef<typeof ContextMenuPrimitive.RadioItem>,\n React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.RadioItem>\n>(({ className, children, ...props }, ref) => (\n <ContextMenuPrimitive.RadioItem\n ref={ref}\n className={cn(\n \"relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors data-[disabled]:pointer-events-none data-[disabled]:opacity-50 focus:bg-accent focus:text-accent-foreground\",\n className\n )}\n {...props}\n >\n <span className=\"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\">\n <ContextMenuPrimitive.ItemIndicator>\n <Circle className=\"h-2 w-2 fill-current\" />\n </ContextMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </ContextMenuPrimitive.RadioItem>\n));\nContextMenuRadioItem.displayName = ContextMenuPrimitive.RadioItem.displayName;\n\nconst ContextMenuLabel = React.forwardRef<\n React.ElementRef<typeof ContextMenuPrimitive.Label>,\n React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.Label> & {\n inset?: boolean;\n }\n>(({ className, inset, ...props }, ref) => (\n <ContextMenuPrimitive.Label\n ref={ref}\n className={cn(\n \"px-2 py-1.5 text-sm font-semibold text-foreground\",\n inset && \"pl-8\",\n className\n )}\n {...props}\n />\n));\nContextMenuLabel.displayName = ContextMenuPrimitive.Label.displayName;\n\nconst ContextMenuSeparator = React.forwardRef<\n React.ElementRef<typeof ContextMenuPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.Separator>\n>(({ className, ...props }, ref) => (\n <ContextMenuPrimitive.Separator\n ref={ref}\n className={cn(\"-mx-1 my-1 h-px bg-border\", className)}\n {...props}\n />\n));\nContextMenuSeparator.displayName = ContextMenuPrimitive.Separator.displayName;\n\nconst ContextMenuShortcut = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLSpanElement>) => {\n return (\n <span\n className={cn(\n \"ml-auto text-xs tracking-widest text-muted-foreground\",\n className\n )}\n {...props}\n />\n );\n};\nContextMenuShortcut.displayName = \"ContextMenuShortcut\";\n\nexport {\n ContextMenu,\n ContextMenuTrigger,\n ContextMenuContent,\n ContextMenuItem,\n ContextMenuCheckboxItem,\n ContextMenuRadioItem,\n ContextMenuLabel,\n ContextMenuSeparator,\n ContextMenuShortcut,\n ContextMenuGroup,\n ContextMenuPortal,\n ContextMenuSub,\n ContextMenuSubContent,\n ContextMenuSubTrigger,\n ContextMenuRadioGroup,\n};\n"]}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { cn } from './chunk-NZ5WBA4R.js';
|
|
2
|
+
import { jsx } from 'react/jsx-runtime';
|
|
3
|
+
|
|
4
|
+
function Progress({ className, value = 0, ...props }) {
|
|
5
|
+
return /* @__PURE__ */ jsx(
|
|
6
|
+
"div",
|
|
7
|
+
{
|
|
8
|
+
className: cn(
|
|
9
|
+
"relative h-2 w-full overflow-hidden rounded-full bg-secondary",
|
|
10
|
+
className
|
|
11
|
+
),
|
|
12
|
+
...props,
|
|
13
|
+
children: /* @__PURE__ */ jsx(
|
|
14
|
+
"div",
|
|
15
|
+
{
|
|
16
|
+
className: "h-full bg-primary transition-all duration-300 ease-in-out",
|
|
17
|
+
style: { width: `${Math.min(100, Math.max(0, value))}%` }
|
|
18
|
+
}
|
|
19
|
+
)
|
|
20
|
+
}
|
|
21
|
+
);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export { Progress };
|
|
25
|
+
//# sourceMappingURL=chunk-W5Y3LG5K.js.map
|
|
26
|
+
//# sourceMappingURL=chunk-W5Y3LG5K.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/ui/progress.tsx"],"names":[],"mappings":";;;AAOA,SAAS,SAAS,EAAE,SAAA,EAAW,QAAQ,CAAA,EAAG,GAAG,OAAM,EAAkB;AACnE,EAAA,uBACE,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,EAAA;AAAA,QACT,+DAAA;AAAA,QACA;AAAA,OACF;AAAA,MACC,GAAG,KAAA;AAAA,MAEJ,QAAA,kBAAA,GAAA;AAAA,QAAC,KAAA;AAAA,QAAA;AAAA,UACC,SAAA,EAAU,2DAAA;AAAA,UACV,KAAA,EAAO,EAAE,KAAA,EAAO,CAAA,EAAG,IAAA,CAAK,GAAA,CAAI,GAAA,EAAK,IAAA,CAAK,GAAA,CAAI,CAAA,EAAG,KAAK,CAAC,CAAC,CAAA,CAAA,CAAA;AAAI;AAAA;AAC1D;AAAA,GACF;AAEJ","file":"chunk-W5Y3LG5K.js","sourcesContent":["import * as React from \"react\";\nimport { cn } from \"../../utils\";\n\ninterface ProgressProps extends React.HTMLAttributes<HTMLDivElement> {\n value?: number;\n}\n\nfunction Progress({ className, value = 0, ...props }: ProgressProps) {\n return (\n <div\n className={cn(\n \"relative h-2 w-full overflow-hidden rounded-full bg-secondary\",\n className\n )}\n {...props}\n >\n <div\n className=\"h-full bg-primary transition-all duration-300 ease-in-out\"\n style={{ width: `${Math.min(100, Math.max(0, value))}%` }}\n />\n </div>\n );\n}\n\nexport { Progress };\n"]}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { cn } from './chunk-NZ5WBA4R.js';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import { jsx } from 'react/jsx-runtime';
|
|
4
|
+
|
|
5
|
+
var Textarea = React.forwardRef(({ className, ...props }, ref) => {
|
|
6
|
+
return /* @__PURE__ */ jsx(
|
|
7
|
+
"textarea",
|
|
8
|
+
{
|
|
9
|
+
className: cn(
|
|
10
|
+
"flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2 text-base ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",
|
|
11
|
+
className
|
|
12
|
+
),
|
|
13
|
+
ref,
|
|
14
|
+
...props
|
|
15
|
+
}
|
|
16
|
+
);
|
|
17
|
+
});
|
|
18
|
+
Textarea.displayName = "Textarea";
|
|
19
|
+
|
|
20
|
+
export { Textarea };
|
|
21
|
+
//# sourceMappingURL=chunk-W64GERJW.js.map
|
|
22
|
+
//# sourceMappingURL=chunk-W64GERJW.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/ui/textarea.tsx"],"names":[],"mappings":";;;;AAGA,IAAM,QAAA,GAAiB,iBAGrB,CAAC,EAAE,WAAW,GAAG,KAAA,IAAS,GAAA,KAAQ;AAClC,EAAA,uBACE,GAAA;AAAA,IAAC,UAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,EAAA;AAAA,QACT,mTAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,GAAA;AAAA,MACC,GAAG;AAAA;AAAA,GACN;AAEJ,CAAC;AACD,QAAA,CAAS,WAAA,GAAc,UAAA","file":"chunk-W64GERJW.js","sourcesContent":["import * as React from \"react\";\nimport { cn } from \"../../utils\";\n\nconst Textarea = React.forwardRef<\n HTMLTextAreaElement,\n React.ComponentProps<\"textarea\">\n>(({ className, ...props }, ref) => {\n return (\n <textarea\n className={cn(\n \"flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2 text-base ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm\",\n className,\n )}\n ref={ref}\n {...props}\n />\n );\n});\nTextarea.displayName = \"Textarea\";\n\nexport { Textarea };\n"]}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import * as AspectRatioPrimitive from '@radix-ui/react-aspect-ratio';
|
|
3
|
+
|
|
4
|
+
// src/components/ui/aspect-ratio.tsx
|
|
5
|
+
var AspectRatio = AspectRatioPrimitive.Root;
|
|
6
|
+
|
|
7
|
+
export { AspectRatio };
|
|
8
|
+
//# sourceMappingURL=chunk-WALXVR6V.js.map
|
|
9
|
+
//# sourceMappingURL=chunk-WALXVR6V.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/ui/aspect-ratio.tsx"],"names":[],"mappings":";;;AAIA,IAAM,WAAA,GAAmC,oBAAA,CAAA","file":"chunk-WALXVR6V.js","sourcesContent":["\"use client\";\n\nimport * as AspectRatioPrimitive from \"@radix-ui/react-aspect-ratio\";\n\nconst AspectRatio = AspectRatioPrimitive.Root;\n\nexport { AspectRatio };\n"]}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { cn } from './chunk-NZ5WBA4R.js';
|
|
3
|
+
import * as React from 'react';
|
|
4
|
+
import * as CheckboxPrimitive from '@radix-ui/react-checkbox';
|
|
5
|
+
import { Minus, Check } from 'lucide-react';
|
|
6
|
+
import { jsx } from 'react/jsx-runtime';
|
|
7
|
+
|
|
8
|
+
var Checkbox = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
9
|
+
CheckboxPrimitive.Root,
|
|
10
|
+
{
|
|
11
|
+
ref,
|
|
12
|
+
className: cn(
|
|
13
|
+
"peer h-4 w-4 shrink-0 rounded border border-border shadow-sm focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:border-primary data-[state=checked]:text-primary-foreground data-[state=indeterminate]:bg-primary data-[state=indeterminate]:border-primary data-[state=indeterminate]:text-primary-foreground",
|
|
14
|
+
className
|
|
15
|
+
),
|
|
16
|
+
...props,
|
|
17
|
+
children: /* @__PURE__ */ jsx(
|
|
18
|
+
CheckboxPrimitive.Indicator,
|
|
19
|
+
{
|
|
20
|
+
className: cn("flex items-center justify-center text-current"),
|
|
21
|
+
children: props.checked === "indeterminate" ? /* @__PURE__ */ jsx(Minus, { className: "h-3 w-3" }) : /* @__PURE__ */ jsx(Check, { className: "h-3 w-3" })
|
|
22
|
+
}
|
|
23
|
+
)
|
|
24
|
+
}
|
|
25
|
+
));
|
|
26
|
+
Checkbox.displayName = CheckboxPrimitive.Root.displayName;
|
|
27
|
+
|
|
28
|
+
export { Checkbox };
|
|
29
|
+
//# sourceMappingURL=chunk-WZWR2ELB.js.map
|
|
30
|
+
//# sourceMappingURL=chunk-WZWR2ELB.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/ui/checkbox.tsx"],"names":[],"mappings":";;;;;;AAOA,IAAM,QAAA,GAAiB,iBAGrB,CAAC,EAAE,WAAW,GAAG,KAAA,IAAS,GAAA,qBAC1B,GAAA;AAAA,EAAmB,iBAAA,CAAA,IAAA;AAAA,EAAlB;AAAA,IACC,GAAA;AAAA,IACA,SAAA,EAAW,EAAA;AAAA,MACT,scAAA;AAAA,MACA;AAAA,KACF;AAAA,IACC,GAAG,KAAA;AAAA,IAEJ,QAAA,kBAAA,GAAA;AAAA,MAAmB,iBAAA,CAAA,SAAA;AAAA,MAAlB;AAAA,QACC,SAAA,EAAW,GAAG,+CAA+C,CAAA;AAAA,QAE5D,QAAA,EAAA,KAAA,CAAM,OAAA,KAAY,eAAA,mBACjB,GAAA,CAAC,KAAA,EAAA,EAAM,SAAA,EAAU,SAAA,EAAU,CAAA,mBAE3B,GAAA,CAAC,KAAA,EAAA,EAAM,SAAA,EAAU,SAAA,EAAU;AAAA;AAAA;AAE/B;AACF,CACD;AACD,QAAA,CAAS,cAAgC,iBAAA,CAAA,IAAA,CAAK,WAAA","file":"chunk-WZWR2ELB.js","sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport * as CheckboxPrimitive from \"@radix-ui/react-checkbox\";\nimport { Check, Minus } from \"lucide-react\";\nimport { cn } from \"../../utils\";\n\nconst Checkbox = React.forwardRef<\n React.ComponentRef<typeof CheckboxPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof CheckboxPrimitive.Root>\n>(({ className, ...props }, ref) => (\n <CheckboxPrimitive.Root\n ref={ref}\n className={cn(\n \"peer h-4 w-4 shrink-0 rounded border border-border shadow-sm focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:border-primary data-[state=checked]:text-primary-foreground data-[state=indeterminate]:bg-primary data-[state=indeterminate]:border-primary data-[state=indeterminate]:text-primary-foreground\",\n className\n )}\n {...props}\n >\n <CheckboxPrimitive.Indicator\n className={cn(\"flex items-center justify-center text-current\")}\n >\n {props.checked === \"indeterminate\" ? (\n <Minus className=\"h-3 w-3\" />\n ) : (\n <Check className=\"h-3 w-3\" />\n )}\n </CheckboxPrimitive.Indicator>\n </CheckboxPrimitive.Root>\n));\nCheckbox.displayName = CheckboxPrimitive.Root.displayName;\n\nexport { Checkbox };\n"]}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { Label } from './chunk-AIODTBWP.js';
|
|
2
|
+
import { cn } from './chunk-NZ5WBA4R.js';
|
|
3
|
+
import * as React from 'react';
|
|
4
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
5
|
+
|
|
6
|
+
function FormField({
|
|
7
|
+
className,
|
|
8
|
+
children,
|
|
9
|
+
...props
|
|
10
|
+
}) {
|
|
11
|
+
return /* @__PURE__ */ jsx("div", { className: cn("space-y-2", className), ...props, children });
|
|
12
|
+
}
|
|
13
|
+
var FormLabel = React.forwardRef(({ className, error, required, children, ...props }, ref) => /* @__PURE__ */ jsxs(
|
|
14
|
+
Label,
|
|
15
|
+
{
|
|
16
|
+
ref,
|
|
17
|
+
className: cn(error && "text-destructive", className),
|
|
18
|
+
...props,
|
|
19
|
+
children: [
|
|
20
|
+
children,
|
|
21
|
+
required && /* @__PURE__ */ jsx("span", { className: "text-destructive ml-1", children: "*" })
|
|
22
|
+
]
|
|
23
|
+
}
|
|
24
|
+
));
|
|
25
|
+
FormLabel.displayName = "FormLabel";
|
|
26
|
+
function FormError({
|
|
27
|
+
className,
|
|
28
|
+
children,
|
|
29
|
+
...props
|
|
30
|
+
}) {
|
|
31
|
+
if (!children) return null;
|
|
32
|
+
return /* @__PURE__ */ jsx(
|
|
33
|
+
"p",
|
|
34
|
+
{
|
|
35
|
+
className: cn("text-sm font-medium text-destructive", className),
|
|
36
|
+
...props,
|
|
37
|
+
children
|
|
38
|
+
}
|
|
39
|
+
);
|
|
40
|
+
}
|
|
41
|
+
function FormDescription({
|
|
42
|
+
className,
|
|
43
|
+
children,
|
|
44
|
+
...props
|
|
45
|
+
}) {
|
|
46
|
+
if (!children) return null;
|
|
47
|
+
return /* @__PURE__ */ jsx(
|
|
48
|
+
"p",
|
|
49
|
+
{
|
|
50
|
+
className: cn("text-sm text-muted-foreground", className),
|
|
51
|
+
...props,
|
|
52
|
+
children
|
|
53
|
+
}
|
|
54
|
+
);
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
export { FormDescription, FormError, FormField, FormLabel };
|
|
58
|
+
//# sourceMappingURL=chunk-X7KMF6NH.js.map
|
|
59
|
+
//# sourceMappingURL=chunk-X7KMF6NH.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/ui/form-field.tsx"],"names":[],"mappings":";;;;;AAQA,SAAS,SAAA,CAAU;AAAA,EACjB,SAAA;AAAA,EACA,QAAA;AAAA,EACA,GAAG;AACL,CAAA,EAAyC;AACvC,EAAA,uBACE,GAAA,CAAC,SAAI,SAAA,EAAW,EAAA,CAAG,aAAa,SAAS,CAAA,EAAI,GAAG,KAAA,EAC7C,QAAA,EACH,CAAA;AAEJ;AAWA,IAAM,SAAA,GAAkB,KAAA,CAAA,UAAA,CAGtB,CAAC,EAAE,SAAA,EAAW,KAAA,EAAO,QAAA,EAAU,QAAA,EAAU,GAAG,KAAA,EAAM,EAAG,GAAA,qBACrD,IAAA;AAAA,EAAC,KAAA;AAAA,EAAA;AAAA,IACC,GAAA;AAAA,IACA,SAAA,EAAW,EAAA,CAAG,KAAA,IAAS,kBAAA,EAAoB,SAAS,CAAA;AAAA,IACnD,GAAG,KAAA;AAAA,IAEH,QAAA,EAAA;AAAA,MAAA,QAAA;AAAA,MACA,QAAA,oBAAY,GAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,yBAAwB,QAAA,EAAA,GAAA,EAAC;AAAA;AAAA;AACxD,CACD;AACD,SAAA,CAAU,WAAA,GAAc,WAAA;AAMxB,SAAS,SAAA,CAAU;AAAA,EACjB,SAAA;AAAA,EACA,QAAA;AAAA,EACA,GAAG;AACL,CAAA,EAA+C;AAC7C,EAAA,IAAI,CAAC,UAAU,OAAO,IAAA;AACtB,EAAA,uBACE,GAAA;AAAA,IAAC,GAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,EAAA,CAAG,sCAAA,EAAwC,SAAS,CAAA;AAAA,MAC9D,GAAG,KAAA;AAAA,MAEH;AAAA;AAAA,GACH;AAEJ;AAMA,SAAS,eAAA,CAAgB;AAAA,EACvB,SAAA;AAAA,EACA,QAAA;AAAA,EACA,GAAG;AACL,CAAA,EAA+C;AAC7C,EAAA,IAAI,CAAC,UAAU,OAAO,IAAA;AACtB,EAAA,uBACE,GAAA;AAAA,IAAC,GAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,EAAA,CAAG,+BAAA,EAAiC,SAAS,CAAA;AAAA,MACvD,GAAG,KAAA;AAAA,MAEH;AAAA;AAAA,GACH;AAEJ","file":"chunk-X7KMF6NH.js","sourcesContent":["import * as React from \"react\";\nimport { Label } from \"./label\";\nimport { cn } from \"../../utils\";\n\n// ---------------------------------------------------------------------------\n// FormField — wrapper div for consistent form field layout\n// ---------------------------------------------------------------------------\n\nfunction FormField({\n className,\n children,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) {\n return (\n <div className={cn(\"space-y-2\", className)} {...props}>\n {children}\n </div>\n );\n}\n\n// ---------------------------------------------------------------------------\n// FormLabel — label with error styling support\n// ---------------------------------------------------------------------------\n\ninterface FormLabelProps extends React.ComponentPropsWithoutRef<typeof Label> {\n error?: boolean;\n required?: boolean;\n}\n\nconst FormLabel = React.forwardRef<\n React.ComponentRef<typeof Label>,\n FormLabelProps\n>(({ className, error, required, children, ...props }, ref) => (\n <Label\n ref={ref}\n className={cn(error && \"text-destructive\", className)}\n {...props}\n >\n {children}\n {required && <span className=\"text-destructive ml-1\">*</span>}\n </Label>\n));\nFormLabel.displayName = \"FormLabel\";\n\n// ---------------------------------------------------------------------------\n// FormError — error message display\n// ---------------------------------------------------------------------------\n\nfunction FormError({\n className,\n children,\n ...props\n}: React.HTMLAttributes<HTMLParagraphElement>) {\n if (!children) return null;\n return (\n <p\n className={cn(\"text-sm font-medium text-destructive\", className)}\n {...props}\n >\n {children}\n </p>\n );\n}\n\n// ---------------------------------------------------------------------------\n// FormDescription — help text\n// ---------------------------------------------------------------------------\n\nfunction FormDescription({\n className,\n children,\n ...props\n}: React.HTMLAttributes<HTMLParagraphElement>) {\n if (!children) return null;\n return (\n <p\n className={cn(\"text-sm text-muted-foreground\", className)}\n {...props}\n >\n {children}\n </p>\n );\n}\n\nexport { FormField, FormLabel, FormError, FormDescription };\n"]}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { useState, useEffect } from 'react';
|
|
3
|
+
import { useStorage } from '@marktiderman/genesis-core';
|
|
4
|
+
|
|
5
|
+
// src/hooks/use-view-preference.ts
|
|
6
|
+
function useViewPreference(key, defaultMode = "grid") {
|
|
7
|
+
const storage = useStorage();
|
|
8
|
+
const storageKey = `genesis-view-${key}`;
|
|
9
|
+
const [mode, setMode] = useState(() => {
|
|
10
|
+
return storage.getItem(storageKey) || defaultMode;
|
|
11
|
+
});
|
|
12
|
+
useEffect(() => {
|
|
13
|
+
storage.setItem(storageKey, mode);
|
|
14
|
+
}, [mode, storageKey, storage]);
|
|
15
|
+
return [mode, setMode];
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export { useViewPreference };
|
|
19
|
+
//# sourceMappingURL=chunk-XISSLIMH.js.map
|
|
20
|
+
//# sourceMappingURL=chunk-XISSLIMH.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/hooks/use-view-preference.ts"],"names":[],"mappings":";;;;AAMO,SAAS,iBAAA,CACd,GAAA,EACA,WAAA,GAAwB,MAAA,EACc;AACtC,EAAA,MAAM,UAAU,UAAA,EAAW;AAC3B,EAAA,MAAM,UAAA,GAAa,gBAAgB,GAAG,CAAA,CAAA;AACtC,EAAA,MAAM,CAAC,IAAA,EAAM,OAAO,CAAA,GAAI,SAAmB,MAAM;AAC/C,IAAA,OAAQ,OAAA,CAAQ,OAAA,CAAQ,UAAU,CAAA,IAAkB,WAAA;AAAA,EACtD,CAAC,CAAA;AAED,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,OAAA,CAAQ,OAAA,CAAQ,YAAY,IAAI,CAAA;AAAA,EAClC,CAAA,EAAG,CAAC,IAAA,EAAM,UAAA,EAAY,OAAO,CAAC,CAAA;AAE9B,EAAA,OAAO,CAAC,MAAM,OAAO,CAAA;AACvB","file":"chunk-XISSLIMH.js","sourcesContent":["\"use client\";\n\nimport { useState, useEffect } from \"react\";\nimport { useStorage } from \"@marktiderman/genesis-core\";\nimport type { ViewMode } from \"../components/data/ViewToggle\";\n\nexport function useViewPreference(\n key: string,\n defaultMode: ViewMode = \"grid\",\n): [ViewMode, (mode: ViewMode) => void] {\n const storage = useStorage();\n const storageKey = `genesis-view-${key}`;\n const [mode, setMode] = useState<ViewMode>(() => {\n return (storage.getItem(storageKey) as ViewMode) || defaultMode;\n });\n\n useEffect(() => {\n storage.setItem(storageKey, mode);\n }, [mode, storageKey, storage]);\n\n return [mode, setMode];\n}\n"]}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { cn } from './chunk-NZ5WBA4R.js';
|
|
3
|
+
import * as React from 'react';
|
|
4
|
+
import * as DialogPrimitive from '@radix-ui/react-dialog';
|
|
5
|
+
import { X } from 'lucide-react';
|
|
6
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
7
|
+
|
|
8
|
+
var Dialog = DialogPrimitive.Root;
|
|
9
|
+
var DialogTrigger = DialogPrimitive.Trigger;
|
|
10
|
+
var DialogPortal = DialogPrimitive.Portal;
|
|
11
|
+
var DialogClose = DialogPrimitive.Close;
|
|
12
|
+
var DialogOverlay = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
13
|
+
DialogPrimitive.Overlay,
|
|
14
|
+
{
|
|
15
|
+
ref,
|
|
16
|
+
className: cn(
|
|
17
|
+
"fixed inset-0 z-50 bg-black/50 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
|
|
18
|
+
className
|
|
19
|
+
),
|
|
20
|
+
...props
|
|
21
|
+
}
|
|
22
|
+
));
|
|
23
|
+
DialogOverlay.displayName = DialogPrimitive.Overlay.displayName;
|
|
24
|
+
var DialogContent = React.forwardRef(({ className, children, showCloseButton = true, ...props }, ref) => /* @__PURE__ */ jsxs(DialogPortal, { children: [
|
|
25
|
+
/* @__PURE__ */ jsx(DialogOverlay, {}),
|
|
26
|
+
/* @__PURE__ */ jsxs(
|
|
27
|
+
DialogPrimitive.Content,
|
|
28
|
+
{
|
|
29
|
+
ref,
|
|
30
|
+
className: cn(
|
|
31
|
+
"fixed left-[50%] top-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] sm:max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border border-border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",
|
|
32
|
+
className
|
|
33
|
+
),
|
|
34
|
+
...props,
|
|
35
|
+
children: [
|
|
36
|
+
children,
|
|
37
|
+
showCloseButton && /* @__PURE__ */ jsxs(DialogPrimitive.Close, { className: "absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent", children: [
|
|
38
|
+
/* @__PURE__ */ jsx(X, { className: "h-4 w-4" }),
|
|
39
|
+
/* @__PURE__ */ jsx("span", { className: "sr-only", children: "Close" })
|
|
40
|
+
] })
|
|
41
|
+
]
|
|
42
|
+
}
|
|
43
|
+
)
|
|
44
|
+
] }));
|
|
45
|
+
DialogContent.displayName = DialogPrimitive.Content.displayName;
|
|
46
|
+
var DialogHeader = ({
|
|
47
|
+
className,
|
|
48
|
+
...props
|
|
49
|
+
}) => /* @__PURE__ */ jsx(
|
|
50
|
+
"div",
|
|
51
|
+
{
|
|
52
|
+
className: cn("flex flex-col space-y-1.5 text-center sm:text-left", className),
|
|
53
|
+
...props
|
|
54
|
+
}
|
|
55
|
+
);
|
|
56
|
+
var DialogFooter = ({
|
|
57
|
+
className,
|
|
58
|
+
...props
|
|
59
|
+
}) => /* @__PURE__ */ jsx(
|
|
60
|
+
"div",
|
|
61
|
+
{
|
|
62
|
+
className: cn("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2", className),
|
|
63
|
+
...props
|
|
64
|
+
}
|
|
65
|
+
);
|
|
66
|
+
var DialogTitle = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
67
|
+
DialogPrimitive.Title,
|
|
68
|
+
{
|
|
69
|
+
ref,
|
|
70
|
+
className: cn("text-lg font-semibold leading-none tracking-tight", className),
|
|
71
|
+
...props
|
|
72
|
+
}
|
|
73
|
+
));
|
|
74
|
+
DialogTitle.displayName = DialogPrimitive.Title.displayName;
|
|
75
|
+
var DialogDescription = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
76
|
+
DialogPrimitive.Description,
|
|
77
|
+
{
|
|
78
|
+
ref,
|
|
79
|
+
className: cn("text-sm text-muted-foreground", className),
|
|
80
|
+
...props
|
|
81
|
+
}
|
|
82
|
+
));
|
|
83
|
+
DialogDescription.displayName = DialogPrimitive.Description.displayName;
|
|
84
|
+
|
|
85
|
+
export { Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger };
|
|
86
|
+
//# sourceMappingURL=chunk-YZEA5TGK.js.map
|
|
87
|
+
//# sourceMappingURL=chunk-YZEA5TGK.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/ui/dialog.tsx"],"names":[],"mappings":";;;;;;AAOA,IAAM,MAAA,GAAyB,eAAA,CAAA;AAC/B,IAAM,aAAA,GAAgC,eAAA,CAAA;AACtC,IAAM,YAAA,GAA+B,eAAA,CAAA;AACrC,IAAM,WAAA,GAA8B,eAAA,CAAA;AAEpC,IAAM,aAAA,GAAsB,iBAG1B,CAAC,EAAE,WAAW,GAAG,KAAA,IAAS,GAAA,qBAC1B,GAAA;AAAA,EAAiB,eAAA,CAAA,OAAA;AAAA,EAAhB;AAAA,IACC,GAAA;AAAA,IACA,SAAA,EAAW,EAAA;AAAA,MACT,wJAAA;AAAA,MACA;AAAA,KACF;AAAA,IACC,GAAG;AAAA;AACN,CACD;AACD,aAAA,CAAc,cAA8B,eAAA,CAAA,OAAA,CAAQ,WAAA;AAEpD,IAAM,aAAA,GAAsB,KAAA,CAAA,UAAA,CAK1B,CAAC,EAAE,SAAA,EAAW,QAAA,EAAU,eAAA,GAAkB,IAAA,EAAM,GAAG,KAAA,EAAM,EAAG,GAAA,0BAC3D,YAAA,EAAA,EACC,QAAA,EAAA;AAAA,kBAAA,GAAA,CAAC,aAAA,EAAA,EAAc,CAAA;AAAA,kBACf,IAAA;AAAA,IAAiB,eAAA,CAAA,OAAA;AAAA,IAAhB;AAAA,MACC,GAAA;AAAA,MACA,SAAA,EAAW,EAAA;AAAA,QACT,siBAAA;AAAA,QACA;AAAA,OACF;AAAA,MACC,GAAG,KAAA;AAAA,MAEH,QAAA,EAAA;AAAA,QAAA,QAAA;AAAA,QACA,eAAA,oBACC,IAAA,CAAiB,eAAA,CAAA,KAAA,EAAhB,EAAsB,WAAU,uOAAA,EAC/B,QAAA,EAAA;AAAA,0BAAA,GAAA,CAAC,CAAA,EAAA,EAAE,WAAU,SAAA,EAAU,CAAA;AAAA,0BACvB,GAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,SAAA,EAAU,QAAA,EAAA,OAAA,EAAK;AAAA,SAAA,EACjC;AAAA;AAAA;AAAA;AAEJ,CAAA,EACF,CACD;AACD,aAAA,CAAc,cAA8B,eAAA,CAAA,OAAA,CAAQ,WAAA;AAEpD,IAAM,eAAe,CAAC;AAAA,EACpB,SAAA;AAAA,EACA,GAAG;AACL,CAAA,qBACE,GAAA;AAAA,EAAC,KAAA;AAAA,EAAA;AAAA,IACC,SAAA,EAAW,EAAA,CAAG,oDAAA,EAAsD,SAAS,CAAA;AAAA,IAC5E,GAAG;AAAA;AACN;AAGF,IAAM,eAAe,CAAC;AAAA,EACpB,SAAA;AAAA,EACA,GAAG;AACL,CAAA,qBACE,GAAA;AAAA,EAAC,KAAA;AAAA,EAAA;AAAA,IACC,SAAA,EAAW,EAAA,CAAG,+DAAA,EAAiE,SAAS,CAAA;AAAA,IACvF,GAAG;AAAA;AACN;AAGF,IAAM,WAAA,GAAoB,iBAGxB,CAAC,EAAE,WAAW,GAAG,KAAA,IAAS,GAAA,qBAC1B,GAAA;AAAA,EAAiB,eAAA,CAAA,KAAA;AAAA,EAAhB;AAAA,IACC,GAAA;AAAA,IACA,SAAA,EAAW,EAAA,CAAG,mDAAA,EAAqD,SAAS,CAAA;AAAA,IAC3E,GAAG;AAAA;AACN,CACD;AACD,WAAA,CAAY,cAA8B,eAAA,CAAA,KAAA,CAAM,WAAA;AAEhD,IAAM,iBAAA,GAA0B,iBAG9B,CAAC,EAAE,WAAW,GAAG,KAAA,IAAS,GAAA,qBAC1B,GAAA;AAAA,EAAiB,eAAA,CAAA,WAAA;AAAA,EAAhB;AAAA,IACC,GAAA;AAAA,IACA,SAAA,EAAW,EAAA,CAAG,+BAAA,EAAiC,SAAS,CAAA;AAAA,IACvD,GAAG;AAAA;AACN,CACD;AACD,iBAAA,CAAkB,cAA8B,eAAA,CAAA,WAAA,CAAY,WAAA","file":"chunk-YZEA5TGK.js","sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport * as DialogPrimitive from \"@radix-ui/react-dialog\";\nimport { X } from \"lucide-react\";\nimport { cn } from \"../../utils\";\n\nconst Dialog = DialogPrimitive.Root;\nconst DialogTrigger = DialogPrimitive.Trigger;\nconst DialogPortal = DialogPrimitive.Portal;\nconst DialogClose = DialogPrimitive.Close;\n\nconst DialogOverlay = React.forwardRef<\n React.ComponentRef<typeof DialogPrimitive.Overlay>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Overlay>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Overlay\n ref={ref}\n className={cn(\n \"fixed inset-0 z-50 bg-black/50 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0\",\n className\n )}\n {...props}\n />\n));\nDialogOverlay.displayName = DialogPrimitive.Overlay.displayName;\n\nconst DialogContent = React.forwardRef<\n React.ComponentRef<typeof DialogPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Content> & {\n showCloseButton?: boolean;\n }\n>(({ className, children, showCloseButton = true, ...props }, ref) => (\n <DialogPortal>\n <DialogOverlay />\n <DialogPrimitive.Content\n ref={ref}\n className={cn(\n \"fixed left-[50%] top-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] sm:max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border border-border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg\",\n className\n )}\n {...props}\n >\n {children}\n {showCloseButton && (\n <DialogPrimitive.Close className=\"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent\">\n <X className=\"h-4 w-4\" />\n <span className=\"sr-only\">Close</span>\n </DialogPrimitive.Close>\n )}\n </DialogPrimitive.Content>\n </DialogPortal>\n));\nDialogContent.displayName = DialogPrimitive.Content.displayName;\n\nconst DialogHeader = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\"flex flex-col space-y-1.5 text-center sm:text-left\", className)}\n {...props}\n />\n);\n\nconst DialogFooter = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\"flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2\", className)}\n {...props}\n />\n);\n\nconst DialogTitle = React.forwardRef<\n React.ComponentRef<typeof DialogPrimitive.Title>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Title>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Title\n ref={ref}\n className={cn(\"text-lg font-semibold leading-none tracking-tight\", className)}\n {...props}\n />\n));\nDialogTitle.displayName = DialogPrimitive.Title.displayName;\n\nconst DialogDescription = React.forwardRef<\n React.ComponentRef<typeof DialogPrimitive.Description>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Description>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Description\n ref={ref}\n className={cn(\"text-sm text-muted-foreground\", className)}\n {...props}\n />\n));\nDialogDescription.displayName = DialogPrimitive.Description.displayName;\n\nexport {\n Dialog,\n DialogPortal,\n DialogOverlay,\n DialogClose,\n DialogTrigger,\n DialogContent,\n DialogHeader,\n DialogFooter,\n DialogTitle,\n DialogDescription,\n};\n"]}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import { buttonVariants } from './chunk-4TROUCWO.js';
|
|
2
|
+
import { cn } from './chunk-NZ5WBA4R.js';
|
|
3
|
+
import * as React from 'react';
|
|
4
|
+
import { ChevronLeft, ChevronRight, MoreHorizontal } from 'lucide-react';
|
|
5
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
6
|
+
|
|
7
|
+
var Pagination = ({ className, ...props }) => /* @__PURE__ */ jsx(
|
|
8
|
+
"nav",
|
|
9
|
+
{
|
|
10
|
+
role: "navigation",
|
|
11
|
+
"aria-label": "pagination",
|
|
12
|
+
className: cn("mx-auto flex w-full justify-center", className),
|
|
13
|
+
...props
|
|
14
|
+
}
|
|
15
|
+
);
|
|
16
|
+
Pagination.displayName = "Pagination";
|
|
17
|
+
var PaginationContent = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
18
|
+
"ul",
|
|
19
|
+
{
|
|
20
|
+
ref,
|
|
21
|
+
className: cn("flex flex-row items-center gap-1", className),
|
|
22
|
+
...props
|
|
23
|
+
}
|
|
24
|
+
));
|
|
25
|
+
PaginationContent.displayName = "PaginationContent";
|
|
26
|
+
var PaginationItem = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx("li", { ref, className: cn("", className), ...props }));
|
|
27
|
+
PaginationItem.displayName = "PaginationItem";
|
|
28
|
+
var PaginationLink = ({
|
|
29
|
+
className,
|
|
30
|
+
isActive,
|
|
31
|
+
size = "icon",
|
|
32
|
+
...props
|
|
33
|
+
}) => /* @__PURE__ */ jsx(
|
|
34
|
+
"a",
|
|
35
|
+
{
|
|
36
|
+
"aria-current": isActive ? "page" : void 0,
|
|
37
|
+
className: cn(
|
|
38
|
+
buttonVariants({
|
|
39
|
+
variant: isActive ? "outline" : "ghost",
|
|
40
|
+
size
|
|
41
|
+
}),
|
|
42
|
+
className
|
|
43
|
+
),
|
|
44
|
+
...props
|
|
45
|
+
}
|
|
46
|
+
);
|
|
47
|
+
PaginationLink.displayName = "PaginationLink";
|
|
48
|
+
var PaginationPrevious = ({
|
|
49
|
+
className,
|
|
50
|
+
...props
|
|
51
|
+
}) => /* @__PURE__ */ jsxs(
|
|
52
|
+
PaginationLink,
|
|
53
|
+
{
|
|
54
|
+
"aria-label": "Go to previous page",
|
|
55
|
+
size: "default",
|
|
56
|
+
className: cn("gap-1 pl-2.5", className),
|
|
57
|
+
...props,
|
|
58
|
+
children: [
|
|
59
|
+
/* @__PURE__ */ jsx(ChevronLeft, { className: "h-4 w-4" }),
|
|
60
|
+
/* @__PURE__ */ jsx("span", { children: "Previous" })
|
|
61
|
+
]
|
|
62
|
+
}
|
|
63
|
+
);
|
|
64
|
+
PaginationPrevious.displayName = "PaginationPrevious";
|
|
65
|
+
var PaginationNext = ({
|
|
66
|
+
className,
|
|
67
|
+
...props
|
|
68
|
+
}) => /* @__PURE__ */ jsxs(
|
|
69
|
+
PaginationLink,
|
|
70
|
+
{
|
|
71
|
+
"aria-label": "Go to next page",
|
|
72
|
+
size: "default",
|
|
73
|
+
className: cn("gap-1 pr-2.5", className),
|
|
74
|
+
...props,
|
|
75
|
+
children: [
|
|
76
|
+
/* @__PURE__ */ jsx("span", { children: "Next" }),
|
|
77
|
+
/* @__PURE__ */ jsx(ChevronRight, { className: "h-4 w-4" })
|
|
78
|
+
]
|
|
79
|
+
}
|
|
80
|
+
);
|
|
81
|
+
PaginationNext.displayName = "PaginationNext";
|
|
82
|
+
var PaginationEllipsis = ({
|
|
83
|
+
className,
|
|
84
|
+
...props
|
|
85
|
+
}) => /* @__PURE__ */ jsxs(
|
|
86
|
+
"span",
|
|
87
|
+
{
|
|
88
|
+
"aria-hidden": true,
|
|
89
|
+
className: cn("flex h-9 w-9 items-center justify-center", className),
|
|
90
|
+
...props,
|
|
91
|
+
children: [
|
|
92
|
+
/* @__PURE__ */ jsx(MoreHorizontal, { className: "h-4 w-4" }),
|
|
93
|
+
/* @__PURE__ */ jsx("span", { className: "sr-only", children: "More pages" })
|
|
94
|
+
]
|
|
95
|
+
}
|
|
96
|
+
);
|
|
97
|
+
PaginationEllipsis.displayName = "PaginationEllipsis";
|
|
98
|
+
|
|
99
|
+
export { Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious };
|
|
100
|
+
//# sourceMappingURL=chunk-ZD32TSOK.js.map
|
|
101
|
+
//# sourceMappingURL=chunk-ZD32TSOK.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/ui/pagination.tsx"],"names":[],"mappings":"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","file":"chunk-ZD32TSOK.js","sourcesContent":["import * as React from \"react\";\nimport { ChevronLeft, ChevronRight, MoreHorizontal } from \"lucide-react\";\nimport { cn } from \"../../utils\";\nimport { type ButtonProps, buttonVariants } from \"./button\";\n\nconst Pagination = ({ className, ...props }: React.ComponentProps<\"nav\">) => (\n <nav\n role=\"navigation\"\n aria-label=\"pagination\"\n className={cn(\"mx-auto flex w-full justify-center\", className)}\n {...props}\n />\n);\nPagination.displayName = \"Pagination\";\n\nconst PaginationContent = React.forwardRef<\n HTMLUListElement,\n React.ComponentProps<\"ul\">\n>(({ className, ...props }, ref) => (\n <ul\n ref={ref}\n className={cn(\"flex flex-row items-center gap-1\", className)}\n {...props}\n />\n));\nPaginationContent.displayName = \"PaginationContent\";\n\nconst PaginationItem = React.forwardRef<\n HTMLLIElement,\n React.ComponentProps<\"li\">\n>(({ className, ...props }, ref) => (\n <li ref={ref} className={cn(\"\", className)} {...props} />\n));\nPaginationItem.displayName = \"PaginationItem\";\n\ntype PaginationLinkProps = {\n isActive?: boolean;\n} & Pick<ButtonProps, \"size\"> &\n React.ComponentProps<\"a\">;\n\nconst PaginationLink = ({\n className,\n isActive,\n size = \"icon\",\n ...props\n}: PaginationLinkProps) => (\n <a\n aria-current={isActive ? \"page\" : undefined}\n className={cn(\n buttonVariants({\n variant: isActive ? \"outline\" : \"ghost\",\n size,\n }),\n className,\n )}\n {...props}\n />\n);\nPaginationLink.displayName = \"PaginationLink\";\n\nconst PaginationPrevious = ({\n className,\n ...props\n}: React.ComponentProps<typeof PaginationLink>) => (\n <PaginationLink\n aria-label=\"Go to previous page\"\n size=\"default\"\n className={cn(\"gap-1 pl-2.5\", className)}\n {...props}\n >\n <ChevronLeft className=\"h-4 w-4\" />\n <span>Previous</span>\n </PaginationLink>\n);\nPaginationPrevious.displayName = \"PaginationPrevious\";\n\nconst PaginationNext = ({\n className,\n ...props\n}: React.ComponentProps<typeof PaginationLink>) => (\n <PaginationLink\n aria-label=\"Go to next page\"\n size=\"default\"\n className={cn(\"gap-1 pr-2.5\", className)}\n {...props}\n >\n <span>Next</span>\n <ChevronRight className=\"h-4 w-4\" />\n </PaginationLink>\n);\nPaginationNext.displayName = \"PaginationNext\";\n\nconst PaginationEllipsis = ({\n className,\n ...props\n}: React.ComponentProps<\"span\">) => (\n <span\n aria-hidden\n className={cn(\"flex h-9 w-9 items-center justify-center\", className)}\n {...props}\n >\n <MoreHorizontal className=\"h-4 w-4\" />\n <span className=\"sr-only\">More pages</span>\n </span>\n);\nPaginationEllipsis.displayName = \"PaginationEllipsis\";\n\nexport {\n Pagination,\n PaginationContent,\n PaginationEllipsis,\n PaginationItem,\n PaginationLink,\n PaginationNext,\n PaginationPrevious,\n};\n"]}
|