@datum-cloud/datum-ui 0.2.0-alpha.3 → 0.2.0-alpha.4

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.
Files changed (132) hide show
  1. package/README.md +46 -21
  2. package/dist/alert/index.mjs +3 -0
  3. package/dist/alert-BC2Mccfo.mjs +95 -0
  4. package/dist/autocomplete/index.mjs +7 -0
  5. package/dist/autocomplete-DZtI97HP.mjs +295 -0
  6. package/dist/avatar-stack/index.mjs +5 -0
  7. package/dist/avatar-stack-JCfBlPB9.mjs +80 -0
  8. package/dist/badge/index.mjs +3 -0
  9. package/dist/badge-bFgeYceE.mjs +185 -0
  10. package/dist/breadcrumb/index.mjs +4 -0
  11. package/dist/breadcrumb-BGYJgom_.mjs +71 -0
  12. package/dist/button/index.mjs +4 -0
  13. package/dist/button-AzpnV-WB.mjs +49 -0
  14. package/dist/button-C1wRfGtT.mjs +230 -0
  15. package/dist/button-group/index.mjs +5 -0
  16. package/dist/button-group-C1IB2K5s.mjs +40 -0
  17. package/dist/calendar/index.mjs +5 -0
  18. package/dist/calendar-DlIHeWb0.mjs +113 -0
  19. package/dist/card/index.mjs +4 -0
  20. package/dist/card-3Kd0VdNf.mjs +63 -0
  21. package/dist/chart/index.mjs +4 -0
  22. package/dist/chart-BZqUKpkh.mjs +143 -0
  23. package/dist/checkbox/index.mjs +4 -0
  24. package/dist/checkbox-LG1OKTpG.mjs +34 -0
  25. package/dist/col-lrLMZaTJ.mjs +184 -0
  26. package/dist/collapsible/index.mjs +3 -0
  27. package/dist/collapsible-Bt9UYfv3.mjs +9 -0
  28. package/dist/command/index.mjs +5 -0
  29. package/dist/command-s0Yv3abE.mjs +86 -0
  30. package/dist/components/features/date-picker/index.d.ts +3 -0
  31. package/dist/components/features/date-picker/index.d.ts.map +1 -0
  32. package/dist/components/features/dropzone/index.d.ts +1 -0
  33. package/dist/components/features/dropzone/index.d.ts.map +1 -1
  34. package/dist/date-picker/index.mjs +9 -0
  35. package/dist/{datum.provider-D6VMjSV0.mjs → datum.provider-B77goJgl.mjs} +1 -1
  36. package/dist/dialog/index.mjs +5 -0
  37. package/dist/dialog-DXBaT9gA.mjs +86 -0
  38. package/dist/dialog-bnMMf9GD.mjs +73 -0
  39. package/dist/dropdown/index.mjs +3 -0
  40. package/dist/dropdown-DtSa_lqc.mjs +112 -0
  41. package/dist/dropzone/index.mjs +5 -0
  42. package/dist/dropzone-BkOnwrS4.mjs +221 -0
  43. package/dist/empty-content/index.mjs +3 -0
  44. package/dist/empty-content-BM9rzI13.mjs +196 -0
  45. package/dist/exports/map.d.ts +3 -0
  46. package/dist/exports/map.d.ts.map +1 -0
  47. package/dist/form/index.mjs +146 -0
  48. package/dist/grid/index.mjs +3 -0
  49. package/dist/hooks/index.mjs +2 -3
  50. package/dist/hover-card/index.mjs +4 -0
  51. package/dist/hover-card-CUPfFUqE.mjs +33 -0
  52. package/dist/icon-wrapper-9ticVbRL.mjs +14 -0
  53. package/dist/icons/index.mjs +3 -3
  54. package/dist/index.mjs +66 -8
  55. package/dist/input/index.mjs +5 -0
  56. package/dist/input-DuyjEKEW.mjs +17 -0
  57. package/dist/input-fzXBheCN.mjs +17 -0
  58. package/dist/input-group/index.mjs +7 -0
  59. package/dist/input-group-CPaFSTEV.mjs +80 -0
  60. package/dist/input-number/index.mjs +6 -0
  61. package/dist/input-number-9o62JHRl.mjs +106 -0
  62. package/dist/input-with-addons/index.mjs +3 -0
  63. package/dist/input-with-addons-BQn7KCTU.mjs +30 -0
  64. package/dist/label/index.mjs +4 -0
  65. package/dist/label-_ste_Re3.mjs +44 -0
  66. package/dist/link-button-TIF2Zdrk.mjs +36 -0
  67. package/dist/loader-overlay/index.mjs +3 -0
  68. package/dist/loader-overlay-DUaQSZQP.mjs +17 -0
  69. package/dist/map/index.mjs +13 -0
  70. package/dist/map-Df8QMcX0.mjs +1094 -0
  71. package/dist/more-actions/index.mjs +5 -0
  72. package/dist/more-actions-Ch1f6Mh3.mjs +54 -0
  73. package/dist/nprogress/index.mjs +32 -0
  74. package/dist/page-title/index.mjs +3 -0
  75. package/dist/page-title-BJuo81rT.mjs +26 -0
  76. package/dist/popover/index.mjs +4 -0
  77. package/dist/popover-SQlKSz6L.mjs +36 -0
  78. package/dist/provider/index.mjs +4 -0
  79. package/dist/radio-group/index.mjs +4 -0
  80. package/dist/radio-group-Oshv0b-U.mjs +49 -0
  81. package/dist/select/index.mjs +4 -0
  82. package/dist/select-DVlEzD2W.mjs +166 -0
  83. package/dist/separator/index.mjs +4 -0
  84. package/dist/separator-T2ppyD-8.mjs +18 -0
  85. package/dist/sheet/index.mjs +5 -0
  86. package/dist/sheet-BKiCwtNO.mjs +45 -0
  87. package/dist/sheet-CtnP6gTD.mjs +77 -0
  88. package/dist/sidebar/index.mjs +11 -0
  89. package/dist/sidebar-DfqezV8t.mjs +945 -0
  90. package/dist/skeleton/index.mjs +4 -0
  91. package/dist/skeleton-vzbxA-DQ.mjs +13 -0
  92. package/dist/spinner/index.mjs +4 -0
  93. package/dist/spinner-BE7k2bAD.mjs +16 -0
  94. package/dist/{icon-wrapper-BgPkifId.mjs → spinner.icon-Bg8zgGh0.mjs} +1 -12
  95. package/dist/stepper/index.mjs +5 -0
  96. package/dist/stepper-SWB-u_nM.mjs +323 -0
  97. package/dist/switch/index.mjs +4 -0
  98. package/dist/switch-Calk7Gyw.mjs +32 -0
  99. package/dist/table/index.mjs +4 -0
  100. package/dist/table-CsXBcQLI.mjs +68 -0
  101. package/dist/tabs/index.mjs +3 -0
  102. package/dist/tabs-D8n-dqnw.mjs +52 -0
  103. package/dist/tag-input/index.mjs +5 -0
  104. package/dist/tag-input-Di7SDNbK.mjs +284 -0
  105. package/dist/task-queue/index.mjs +7 -0
  106. package/dist/task-queue-dropdown-DW72ikDH.mjs +1356 -0
  107. package/dist/textarea/index.mjs +5 -0
  108. package/dist/textarea-CxE3YbC7.mjs +17 -0
  109. package/dist/textarea-QYRcDEpK.mjs +15 -0
  110. package/dist/theme/index.mjs +4 -0
  111. package/dist/theme-script-XBouzsNR.mjs +66 -0
  112. package/dist/to-api-format-C2xjQUcI.mjs +1506 -0
  113. package/dist/toast/index.mjs +3 -0
  114. package/dist/tooltip/index.mjs +4 -0
  115. package/dist/tooltip-Dd3ActSS.mjs +74 -0
  116. package/dist/typography/index.mjs +3 -0
  117. package/dist/typography-UA7ZZvgJ.mjs +200 -0
  118. package/dist/use-copy-to-clipboard-ki-WoTml.mjs +31 -0
  119. package/dist/use-stepper-BaToCYMs.mjs +2017 -0
  120. package/dist/{use-copy-to-clipboard-BfrpD6G8.mjs → use-toast-mdn_CqRY.mjs} +34 -27
  121. package/dist/utils/index.mjs +0 -1
  122. package/dist/utils-Bfgoe-Gm.mjs +20 -0
  123. package/dist/visually-hidden/index.mjs +3 -0
  124. package/dist/visuallyhidden-aaTUk4Yo.mjs +7 -0
  125. package/package.json +208 -8
  126. package/dist/components/index.mjs +0 -8
  127. package/dist/providers/index.mjs +0 -4
  128. package/dist/theme-script-DHyLk25i.mjs +0 -11128
  129. /package/dist/{close.icon-chkXPAUC.mjs → close.icon-CMNMoXM_.mjs} +0 -0
  130. /package/dist/{map-leaflet-imports-OKaoesjZ.mjs → map-leaflet-imports-CdzvEnzY.mjs} +0 -0
  131. /package/dist/{theme.provider-DpFLwtHe.mjs → theme.provider-DgGshapa.mjs} +0 -0
  132. /package/dist/{use-debounce-BYB-jPeX.mjs → use-debounce-DQ1tmxOL.mjs} +0 -0
@@ -0,0 +1,5 @@
1
+ import "../utils-Bfgoe-Gm.mjs";
2
+ import "../tooltip-Dd3ActSS.mjs";
3
+ import { t as MoreActions } from "../more-actions-Ch1f6Mh3.mjs";
4
+
5
+ export { MoreActions };
@@ -0,0 +1,54 @@
1
+ import { t as cn } from "./cn-DWCc1QRE.mjs";
2
+ import { t as Button } from "./button-C1wRfGtT.mjs";
3
+ import { t as Tooltip } from "./tooltip-Dd3ActSS.mjs";
4
+ import { a as DropdownMenuItem, h as DropdownMenuTrigger, r as DropdownMenuContent, t as DropdownMenu } from "./dropdown-DtSa_lqc.mjs";
5
+ import { Ellipsis } from "lucide-react";
6
+ import { useState } from "react";
7
+ import { jsx, jsxs } from "react/jsx-runtime";
8
+
9
+ //#region src/components/features/more-actions/more-actions.tsx
10
+ function MoreActions({ row, actions, className, disabled = false, iconClassName }) {
11
+ const [open, setOpen] = useState(false);
12
+ const visibleActions = actions.filter((action) => !action.hidden?.(row));
13
+ if (visibleActions.length === 0) return null;
14
+ return /* @__PURE__ */ jsxs(DropdownMenu, {
15
+ open,
16
+ onOpenChange: setOpen,
17
+ children: [/* @__PURE__ */ jsx(DropdownMenuTrigger, {
18
+ asChild: true,
19
+ children: /* @__PURE__ */ jsx(Button, {
20
+ onClick: () => setOpen(!open),
21
+ type: "quaternary",
22
+ theme: "borderless",
23
+ size: "icon",
24
+ disabled,
25
+ className: cn("data-[state=open]:bg-accent size-7 p-0 focus-visible:ring-0 focus-visible:ring-offset-0", className),
26
+ children: /* @__PURE__ */ jsx(Ellipsis, { className: cn("size-5", iconClassName) })
27
+ })
28
+ }), /* @__PURE__ */ jsx(DropdownMenuContent, {
29
+ align: "end",
30
+ children: visibleActions.map((action) => {
31
+ const tooltipText = typeof action.tooltip === "function" ? action.tooltip(row) : action.tooltip ?? action.label;
32
+ const menuItem = /* @__PURE__ */ jsxs(DropdownMenuItem, {
33
+ onClick: (event) => {
34
+ event.preventDefault();
35
+ event.stopPropagation();
36
+ setOpen(false);
37
+ action.action(row);
38
+ },
39
+ className: cn("cursor-pointer text-xs", action.variant === "destructive" && "text-destructive [&_svg]:!text-destructive hover:!text-destructive hover:[&_svg]:!text-destructive", action.className),
40
+ disabled: action.disabled?.(row) ?? false,
41
+ children: [action.icon, action.label]
42
+ });
43
+ if (tooltipText && tooltipText !== action.label) return /* @__PURE__ */ jsx(Tooltip, {
44
+ message: tooltipText,
45
+ children: menuItem
46
+ }, action.key);
47
+ return /* @__PURE__ */ jsx("div", { children: menuItem }, action.key);
48
+ })
49
+ })]
50
+ });
51
+ }
52
+
53
+ //#endregion
54
+ export { MoreActions as t };
@@ -0,0 +1,32 @@
1
+ import NProgress from "nprogress";
2
+
3
+ //#region src/components/features/nprogress/index.ts
4
+ /**
5
+ * NProgress Module
6
+ *
7
+ * Provides progress bar functionality with custom styling.
8
+ * Styles are located in ./nprogress.css and imported via @app/styles/root.css
9
+ */
10
+ let timeout = null;
11
+ function startProgress() {
12
+ if (timeout) clearTimeout(timeout);
13
+ timeout = setTimeout(() => {
14
+ NProgress.start();
15
+ }, 150);
16
+ }
17
+ function stopProgress() {
18
+ if (timeout) {
19
+ clearTimeout(timeout);
20
+ timeout = null;
21
+ }
22
+ NProgress.done();
23
+ }
24
+ function configureProgress() {
25
+ NProgress.configure({
26
+ showSpinner: false,
27
+ trickleSpeed: 100
28
+ });
29
+ }
30
+
31
+ //#endregion
32
+ export { configureProgress, startProgress, stopProgress };
@@ -0,0 +1,3 @@
1
+ import { t as PageTitle } from "../page-title-BJuo81rT.mjs";
2
+
3
+ export { PageTitle };
@@ -0,0 +1,26 @@
1
+ import { t as cn } from "./cn-DWCc1QRE.mjs";
2
+ import { jsx, jsxs } from "react/jsx-runtime";
3
+
4
+ //#region src/components/features/page-title/page-title.tsx
5
+ function PageTitle({ title, description, actions, className, titleClassName, descriptionClassName, actionsClassName, actionsPosition = "inline" }) {
6
+ const isInline = actionsPosition === "inline";
7
+ return /* @__PURE__ */ jsxs("div", {
8
+ className: cn("flex w-full", isInline ? "items-center justify-between" : "flex-col gap-3", className),
9
+ children: [/* @__PURE__ */ jsxs("div", {
10
+ className: cn("flex", isInline ? "flex-col justify-start gap-1" : "w-full flex-col gap-1"),
11
+ children: [title && /* @__PURE__ */ jsx("span", {
12
+ className: cn("text-2xl leading-none font-medium", titleClassName),
13
+ children: title
14
+ }), description && /* @__PURE__ */ jsx("div", {
15
+ className: cn("text-sm font-normal", descriptionClassName),
16
+ children: description
17
+ })]
18
+ }), actions && /* @__PURE__ */ jsx("div", {
19
+ className: cn("flex gap-1", isInline ? "justify-end pl-2" : "w-full", actionsClassName),
20
+ children: actions
21
+ })]
22
+ });
23
+ }
24
+
25
+ //#endregion
26
+ export { PageTitle as t };
@@ -0,0 +1,4 @@
1
+ import "../utils-Bfgoe-Gm.mjs";
2
+ import { i as PopoverTrigger, n as PopoverAnchor, r as PopoverContent, t as Popover } from "../popover-SQlKSz6L.mjs";
3
+
4
+ export { Popover, PopoverAnchor, PopoverContent, PopoverTrigger };
@@ -0,0 +1,36 @@
1
+ import { t as cn } from "./utils-Bfgoe-Gm.mjs";
2
+ import "react";
3
+ import { jsx } from "react/jsx-runtime";
4
+ import * as PopoverPrimitive from "@radix-ui/react-popover";
5
+
6
+ //#region ../shadcn/ui/popover.tsx
7
+ const Popover = ({ ...props }) => {
8
+ return /* @__PURE__ */ jsx(PopoverPrimitive.Root, {
9
+ "data-slot": "popover",
10
+ ...props
11
+ });
12
+ };
13
+ const PopoverTrigger = ({ ...props }) => {
14
+ return /* @__PURE__ */ jsx(PopoverPrimitive.Trigger, {
15
+ "data-slot": "popover-trigger",
16
+ ...props
17
+ });
18
+ };
19
+ const PopoverContent = ({ className, align = "center", sideOffset = 4, ...props }) => {
20
+ return /* @__PURE__ */ jsx(PopoverPrimitive.Portal, { children: /* @__PURE__ */ jsx(PopoverPrimitive.Content, {
21
+ "data-slot": "popover-content",
22
+ align,
23
+ sideOffset,
24
+ className: cn("bg-popover text-popover-foreground 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 z-50 w-72 rounded-md border p-4 shadow-md outline-hidden", className),
25
+ ...props
26
+ }) });
27
+ };
28
+ const PopoverAnchor = ({ ...props }) => {
29
+ return /* @__PURE__ */ jsx(PopoverPrimitive.Anchor, {
30
+ "data-slot": "popover-anchor",
31
+ ...props
32
+ });
33
+ };
34
+
35
+ //#endregion
36
+ export { PopoverTrigger as i, PopoverAnchor as n, PopoverContent as r, Popover as t };
@@ -0,0 +1,4 @@
1
+ import '../style.css';
2
+ import { t as DatumProvider } from "../datum.provider-B77goJgl.mjs";
3
+
4
+ export { DatumProvider };
@@ -0,0 +1,4 @@
1
+ import "../utils-Bfgoe-Gm.mjs";
2
+ import { n as RadioGroupItem, t as RadioGroup } from "../radio-group-Oshv0b-U.mjs";
3
+
4
+ export { RadioGroup, RadioGroupItem };
@@ -0,0 +1,49 @@
1
+ import { t as cn } from "./cn-DWCc1QRE.mjs";
2
+ import { t as cn$1 } from "./utils-Bfgoe-Gm.mjs";
3
+ import { CircleIcon } from "lucide-react";
4
+ import "react";
5
+ import { jsx } from "react/jsx-runtime";
6
+ import * as RadioGroupPrimitive from "@radix-ui/react-radio-group";
7
+
8
+ //#region ../shadcn/ui/radio-group.tsx
9
+ function RadioGroup$1({ className, ...props }) {
10
+ return /* @__PURE__ */ jsx(RadioGroupPrimitive.Root, {
11
+ "data-slot": "radio-group",
12
+ className: cn$1("grid gap-3", className),
13
+ ...props
14
+ });
15
+ }
16
+ function RadioGroupItem$1({ className, ...props }) {
17
+ return /* @__PURE__ */ jsx(RadioGroupPrimitive.Item, {
18
+ "data-slot": "radio-group-item",
19
+ className: cn$1("border-input text-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 aspect-square size-4 shrink-0 rounded-full border shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50", className),
20
+ ...props,
21
+ children: /* @__PURE__ */ jsx(RadioGroupPrimitive.Indicator, {
22
+ "data-slot": "radio-group-indicator",
23
+ className: "relative flex items-center justify-center",
24
+ children: /* @__PURE__ */ jsx(CircleIcon, { className: "fill-primary absolute top-1/2 left-1/2 size-2 -translate-x-1/2 -translate-y-1/2" })
25
+ })
26
+ });
27
+ }
28
+
29
+ //#endregion
30
+ //#region src/components/base/radio-group/radio-group.tsx
31
+ function RadioGroup({ ref, className, ...props }) {
32
+ return /* @__PURE__ */ jsx(RadioGroup$1, {
33
+ ref,
34
+ className: cn(className),
35
+ ...props
36
+ });
37
+ }
38
+ RadioGroup.displayName = "RadioGroup";
39
+ function RadioGroupItem({ ref, className, ...props }) {
40
+ return /* @__PURE__ */ jsx(RadioGroupItem$1, {
41
+ ref,
42
+ className: cn(className),
43
+ ...props
44
+ });
45
+ }
46
+ RadioGroupItem.displayName = "RadioGroupItem";
47
+
48
+ //#endregion
49
+ export { RadioGroupItem as n, RadioGroup as t };
@@ -0,0 +1,4 @@
1
+ import "../utils-Bfgoe-Gm.mjs";
2
+ import { a as SelectLabel, c as SelectSeparator, i as SelectItem, l as SelectTrigger, n as SelectContent, o as SelectScrollDownButton, r as SelectGroup, s as SelectScrollUpButton, t as Select, u as SelectValue } from "../select-DVlEzD2W.mjs";
3
+
4
+ export { Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue };
@@ -0,0 +1,166 @@
1
+ import { t as cn } from "./cn-DWCc1QRE.mjs";
2
+ import { t as cn$1 } from "./utils-Bfgoe-Gm.mjs";
3
+ import { CheckIcon, ChevronDownIcon, ChevronUpIcon } from "lucide-react";
4
+ import "react";
5
+ import { jsx, jsxs } from "react/jsx-runtime";
6
+ import * as SelectPrimitive from "@radix-ui/react-select";
7
+
8
+ //#region ../shadcn/ui/select.tsx
9
+ const Select$1 = ({ ...props }) => {
10
+ return /* @__PURE__ */ jsx(SelectPrimitive.Root, {
11
+ "data-slot": "select",
12
+ ...props
13
+ });
14
+ };
15
+ const SelectGroup$1 = ({ ...props }) => {
16
+ return /* @__PURE__ */ jsx(SelectPrimitive.Group, {
17
+ "data-slot": "select-group",
18
+ ...props
19
+ });
20
+ };
21
+ const SelectValue$1 = ({ ...props }) => {
22
+ return /* @__PURE__ */ jsx(SelectPrimitive.Value, {
23
+ "data-slot": "select-value",
24
+ ...props
25
+ });
26
+ };
27
+ const SelectTrigger$1 = ({ className, children, ...props }) => {
28
+ return /* @__PURE__ */ jsxs(SelectPrimitive.Trigger, {
29
+ "data-slot": "select-trigger",
30
+ className: cn$1("border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive rounded-md border bg-transparent py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", "flex h-auto min-h-10 w-full items-center justify-between px-3 text-sm font-medium", className),
31
+ ...props,
32
+ children: [children, /* @__PURE__ */ jsx(SelectPrimitive.Icon, {
33
+ asChild: true,
34
+ children: /* @__PURE__ */ jsx(ChevronDownIcon, { className: "size-4 opacity-50" })
35
+ })]
36
+ });
37
+ };
38
+ const SelectContent$1 = ({ className, children, position = "popper", ...props }) => {
39
+ return /* @__PURE__ */ jsx(SelectPrimitive.Portal, { children: /* @__PURE__ */ jsxs(SelectPrimitive.Content, {
40
+ "data-slot": "select-content",
41
+ className: cn$1("bg-popover text-popover-foreground 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 relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border shadow-md", position === "popper" && "data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1", "w-[var(--radix-select-trigger-width)]", className),
42
+ position,
43
+ ...props,
44
+ children: [
45
+ /* @__PURE__ */ jsx(SelectScrollUpButton$1, {}),
46
+ /* @__PURE__ */ jsx(SelectPrimitive.Viewport, {
47
+ className: cn$1("p-1", position === "popper" && "h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"),
48
+ children
49
+ }),
50
+ /* @__PURE__ */ jsx(SelectScrollDownButton$1, {})
51
+ ]
52
+ }) });
53
+ };
54
+ const SelectLabel$1 = ({ className, ...props }) => {
55
+ return /* @__PURE__ */ jsx(SelectPrimitive.Label, {
56
+ "data-slot": "select-label",
57
+ className: cn$1("px-2 py-1.5 text-sm font-medium", className),
58
+ ...props
59
+ });
60
+ };
61
+ const SelectItem$1 = ({ className, children, ...props }) => {
62
+ return /* @__PURE__ */ jsxs(SelectPrimitive.Item, {
63
+ "data-slot": "select-item",
64
+ className: cn$1("focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2", className),
65
+ ...props,
66
+ children: [/* @__PURE__ */ jsx("span", {
67
+ className: "absolute right-2 flex size-3.5 items-center justify-center",
68
+ children: /* @__PURE__ */ jsx(SelectPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx(CheckIcon, { className: "size-4" }) })
69
+ }), /* @__PURE__ */ jsx(SelectPrimitive.ItemText, { children })]
70
+ });
71
+ };
72
+ const SelectSeparator$1 = ({ className, ...props }) => {
73
+ return /* @__PURE__ */ jsx(SelectPrimitive.Separator, {
74
+ "data-slot": "select-separator",
75
+ className: cn$1("bg-border pointer-events-none -mx-1 my-1 h-px", className),
76
+ ...props
77
+ });
78
+ };
79
+ const SelectScrollUpButton$1 = ({ className, ...props }) => {
80
+ return /* @__PURE__ */ jsx(SelectPrimitive.ScrollUpButton, {
81
+ "data-slot": "select-scroll-up-button",
82
+ className: cn$1("flex cursor-default items-center justify-center py-1", className),
83
+ ...props,
84
+ children: /* @__PURE__ */ jsx(ChevronUpIcon, { className: "size-4" })
85
+ });
86
+ };
87
+ const SelectScrollDownButton$1 = ({ className, ...props }) => {
88
+ return /* @__PURE__ */ jsx(SelectPrimitive.ScrollDownButton, {
89
+ "data-slot": "select-scroll-down-button",
90
+ className: cn$1("flex cursor-default items-center justify-center py-1", className),
91
+ ...props,
92
+ children: /* @__PURE__ */ jsx(ChevronDownIcon, { className: "size-4" })
93
+ });
94
+ };
95
+
96
+ //#endregion
97
+ //#region src/components/base/select/select.tsx
98
+ const Select = Select$1;
99
+ const SelectValue = SelectValue$1;
100
+ function SelectGroup({ ref, className, ...props }) {
101
+ return /* @__PURE__ */ jsx(SelectGroup$1, {
102
+ ref,
103
+ className: cn(className),
104
+ ...props
105
+ });
106
+ }
107
+ SelectGroup.displayName = "SelectGroup";
108
+ function SelectTrigger({ ref, className, ...props }) {
109
+ return /* @__PURE__ */ jsx(SelectTrigger$1, {
110
+ ref,
111
+ className: cn("rounded-lg", "bg-input-background/50", "text-input-foreground", "border-input-border", "placeholder:text-input-placeholder", "focus-visible:ring-0 focus-visible:ring-offset-0", "focus-visible:border-input-focus-border", "focus-visible:shadow-(--input-focus-shadow)", "aria-invalid:border-destructive", className),
112
+ ...props
113
+ });
114
+ }
115
+ SelectTrigger.displayName = "SelectTrigger";
116
+ function SelectContent({ ref, className, ...props }) {
117
+ return /* @__PURE__ */ jsx(SelectContent$1, {
118
+ ref,
119
+ className: cn(className),
120
+ ...props
121
+ });
122
+ }
123
+ SelectContent.displayName = "SelectContent";
124
+ function SelectLabel({ ref, className, ...props }) {
125
+ return /* @__PURE__ */ jsx(SelectLabel$1, {
126
+ ref,
127
+ className: cn(className),
128
+ ...props
129
+ });
130
+ }
131
+ SelectLabel.displayName = "SelectLabel";
132
+ function SelectItem({ ref, className, ...props }) {
133
+ return /* @__PURE__ */ jsx(SelectItem$1, {
134
+ ref,
135
+ className: cn(className),
136
+ ...props
137
+ });
138
+ }
139
+ SelectItem.displayName = "SelectItem";
140
+ function SelectSeparator({ ref, className, ...props }) {
141
+ return /* @__PURE__ */ jsx(SelectSeparator$1, {
142
+ ref,
143
+ className: cn(className),
144
+ ...props
145
+ });
146
+ }
147
+ SelectSeparator.displayName = "SelectSeparator";
148
+ function SelectScrollUpButton({ ref, className, ...props }) {
149
+ return /* @__PURE__ */ jsx(SelectScrollUpButton$1, {
150
+ ref,
151
+ className: cn(className),
152
+ ...props
153
+ });
154
+ }
155
+ SelectScrollUpButton.displayName = "SelectScrollUpButton";
156
+ function SelectScrollDownButton({ ref, className, ...props }) {
157
+ return /* @__PURE__ */ jsx(SelectScrollDownButton$1, {
158
+ ref,
159
+ className: cn(className),
160
+ ...props
161
+ });
162
+ }
163
+ SelectScrollDownButton.displayName = "SelectScrollDownButton";
164
+
165
+ //#endregion
166
+ export { SelectLabel as a, SelectSeparator as c, SelectItem as i, SelectTrigger as l, SelectContent as n, SelectScrollDownButton as o, SelectGroup as r, SelectScrollUpButton as s, Select as t, SelectValue as u };
@@ -0,0 +1,4 @@
1
+ import "../utils-Bfgoe-Gm.mjs";
2
+ import { t as Separator } from "../separator-T2ppyD-8.mjs";
3
+
4
+ export { Separator };
@@ -0,0 +1,18 @@
1
+ import { t as cn } from "./utils-Bfgoe-Gm.mjs";
2
+ import "react";
3
+ import { jsx } from "react/jsx-runtime";
4
+ import * as SeparatorPrimitive from "@radix-ui/react-separator";
5
+
6
+ //#region ../shadcn/ui/separator.tsx
7
+ const Separator = ({ className, orientation = "horizontal", decorative = true, ...props }) => {
8
+ return /* @__PURE__ */ jsx(SeparatorPrimitive.Root, {
9
+ "data-slot": "separator-root",
10
+ decorative,
11
+ orientation,
12
+ className: cn("bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px", className),
13
+ ...props
14
+ });
15
+ };
16
+
17
+ //#endregion
18
+ export { Separator as t };
@@ -0,0 +1,5 @@
1
+ import "../utils-Bfgoe-Gm.mjs";
2
+ import { a as SheetHeader, i as SheetFooter, o as SheetTitle, r as SheetDescription, s as SheetTrigger } from "../sheet-CtnP6gTD.mjs";
3
+ import { i as SheetOverlay, n as SheetClose, r as SheetContent, t as Sheet } from "../sheet-BKiCwtNO.mjs";
4
+
5
+ export { Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetTitle, SheetTrigger };
@@ -0,0 +1,45 @@
1
+ import { t as cn } from "./cn-DWCc1QRE.mjs";
2
+ import { t as CloseIcon } from "./close.icon-CMNMoXM_.mjs";
3
+ import { a as SheetHeader, i as SheetFooter, o as SheetTitle, r as SheetDescription, s as SheetTrigger, t as Sheet$1 } from "./sheet-CtnP6gTD.mjs";
4
+ import "react";
5
+ import { jsx, jsxs } from "react/jsx-runtime";
6
+ import * as SheetPrimitive from "@radix-ui/react-dialog";
7
+
8
+ //#region src/components/base/sheet/sheet.tsx
9
+ const SheetClose = SheetPrimitive.Close;
10
+ function SheetOverlay({ className, ...props }) {
11
+ return /* @__PURE__ */ jsx(SheetPrimitive.Overlay, {
12
+ "data-slot": "sheet-overlay",
13
+ className: cn("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 bg-dialog-overlay/50 fixed inset-0 z-50 backdrop-blur-[2px]", className),
14
+ ...props
15
+ });
16
+ }
17
+ function SheetContent({ className, children, side = "right", ...props }) {
18
+ return /* @__PURE__ */ jsxs(SheetPrimitive.Portal, {
19
+ "data-slot": "sheet-portal",
20
+ children: [/* @__PURE__ */ jsx(SheetOverlay, {}), /* @__PURE__ */ jsxs(SheetPrimitive.Content, {
21
+ "data-slot": "sheet-content",
22
+ className: cn("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out fixed z-50 flex flex-col gap-4 shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500", side === "right" && "data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right inset-y-0 right-0 h-full w-3/4 border-l sm:max-w-sm", side === "left" && "data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left inset-y-0 left-0 h-full w-3/4 border-r sm:max-w-sm", side === "top" && "data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top inset-x-0 top-0 h-auto border-b", side === "bottom" && "data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom inset-x-0 bottom-0 h-auto border-t", className),
23
+ ...props,
24
+ children: [children, /* @__PURE__ */ jsxs(SheetPrimitive.Close, {
25
+ className: "ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 cursor-pointer rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0",
26
+ children: [/* @__PURE__ */ jsx(CloseIcon, { className: "size-4" }), /* @__PURE__ */ jsx("span", {
27
+ className: "sr-only",
28
+ children: "Close"
29
+ })]
30
+ })]
31
+ })]
32
+ });
33
+ }
34
+ const Sheet = Object.assign(Sheet$1, {
35
+ Trigger: SheetTrigger,
36
+ Content: SheetContent,
37
+ Close: SheetClose,
38
+ Header: SheetHeader,
39
+ Footer: SheetFooter,
40
+ Title: SheetTitle,
41
+ Description: SheetDescription
42
+ });
43
+
44
+ //#endregion
45
+ export { SheetOverlay as i, SheetClose as n, SheetContent as r, Sheet as t };
@@ -0,0 +1,77 @@
1
+ import { t as cn } from "./utils-Bfgoe-Gm.mjs";
2
+ import { XIcon } from "lucide-react";
3
+ import "react";
4
+ import { jsx, jsxs } from "react/jsx-runtime";
5
+ import * as SheetPrimitive from "@radix-ui/react-dialog";
6
+
7
+ //#region ../shadcn/ui/sheet.tsx
8
+ const Sheet = ({ ...props }) => {
9
+ return /* @__PURE__ */ jsx(SheetPrimitive.Root, {
10
+ "data-slot": "sheet",
11
+ ...props
12
+ });
13
+ };
14
+ const SheetTrigger = ({ ...props }) => {
15
+ return /* @__PURE__ */ jsx(SheetPrimitive.Trigger, {
16
+ "data-slot": "sheet-trigger",
17
+ ...props
18
+ });
19
+ };
20
+ const SheetPortal = ({ ...props }) => {
21
+ return /* @__PURE__ */ jsx(SheetPrimitive.Portal, {
22
+ "data-slot": "sheet-portal",
23
+ ...props
24
+ });
25
+ };
26
+ const SheetOverlay = ({ className, ...props }) => {
27
+ return /* @__PURE__ */ jsx(SheetPrimitive.Overlay, {
28
+ "data-slot": "sheet-overlay",
29
+ className: cn("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/80", className),
30
+ ...props
31
+ });
32
+ };
33
+ const SheetContent = ({ className, children, side = "right", ...props }) => {
34
+ return /* @__PURE__ */ jsxs(SheetPortal, { children: [/* @__PURE__ */ jsx(SheetOverlay, {}), /* @__PURE__ */ jsxs(SheetPrimitive.Content, {
35
+ "data-slot": "sheet-content",
36
+ className: cn("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out fixed z-50 flex flex-col gap-4 shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500", side === "right" && "data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right inset-y-0 right-0 h-full w-3/4 border-l sm:max-w-sm", side === "left" && "data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left inset-y-0 left-0 h-full w-3/4 border-r sm:max-w-sm", side === "top" && "data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top inset-x-0 top-0 h-auto border-b", side === "bottom" && "data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom inset-x-0 bottom-0 h-auto border-t", className),
37
+ ...props,
38
+ children: [children, /* @__PURE__ */ jsxs(SheetPrimitive.Close, {
39
+ className: "ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
40
+ children: [/* @__PURE__ */ jsx(XIcon, {}), /* @__PURE__ */ jsx("span", {
41
+ className: "sr-only",
42
+ children: "Close"
43
+ })]
44
+ })]
45
+ })] });
46
+ };
47
+ const SheetHeader = ({ className, ...props }) => {
48
+ return /* @__PURE__ */ jsx("div", {
49
+ "data-slot": "sheet-header",
50
+ className: cn("flex flex-col gap-1.5 p-4", className),
51
+ ...props
52
+ });
53
+ };
54
+ const SheetFooter = ({ className, ...props }) => {
55
+ return /* @__PURE__ */ jsx("div", {
56
+ "data-slot": "sheet-footer",
57
+ className: cn("mt-auto flex flex-col gap-2 p-4", className),
58
+ ...props
59
+ });
60
+ };
61
+ const SheetTitle = ({ className, ...props }) => {
62
+ return /* @__PURE__ */ jsx(SheetPrimitive.Title, {
63
+ "data-slot": "sheet-title",
64
+ className: cn("text-foreground font-semibold", className),
65
+ ...props
66
+ });
67
+ };
68
+ const SheetDescription = ({ className, ...props }) => {
69
+ return /* @__PURE__ */ jsx(SheetPrimitive.Description, {
70
+ "data-slot": "sheet-description",
71
+ className: cn("text-muted-foreground text-sm", className),
72
+ ...props
73
+ });
74
+ };
75
+
76
+ //#endregion
77
+ export { SheetHeader as a, SheetFooter as i, SheetContent as n, SheetTitle as o, SheetDescription as r, SheetTrigger as s, Sheet as t };
@@ -0,0 +1,11 @@
1
+ import "../utils-Bfgoe-Gm.mjs";
2
+ import "../separator-T2ppyD-8.mjs";
3
+ import "../button-AzpnV-WB.mjs";
4
+ import "../collapsible-Bt9UYfv3.mjs";
5
+ import "../input-DuyjEKEW.mjs";
6
+ import "../sheet-CtnP6gTD.mjs";
7
+ import "../skeleton-vzbxA-DQ.mjs";
8
+ import "../tooltip-Dd3ActSS.mjs";
9
+ import { C as SidebarTrigger, E as NavMain, S as SidebarSeparator, T as AppSidebar, _ as SidebarMenuSub, a as SidebarGroupAction, b as SidebarProvider, c as SidebarHeader, d as SidebarMenu, f as SidebarMenuAction, g as SidebarMenuSkeleton, h as SidebarMenuItem, i as SidebarGroup, l as SidebarInput, m as SidebarMenuButton, n as SidebarContent, o as SidebarGroupContent, p as SidebarMenuBadge, r as SidebarFooter, s as SidebarGroupLabel, t as Sidebar, u as SidebarInset, v as SidebarMenuSubButton, w as useSidebar, x as SidebarRail, y as SidebarMenuSubItem } from "../sidebar-DfqezV8t.mjs";
10
+
11
+ export { AppSidebar, NavMain, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, useSidebar };