@web-my-money/primitives 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.
Files changed (196) hide show
  1. package/dist/accordion/index.d.mts +9 -0
  2. package/dist/accordion/index.d.ts +9 -0
  3. package/dist/accordion/index.js +99 -0
  4. package/dist/accordion/index.mjs +14 -0
  5. package/dist/alert-dialog/index.d.mts +22 -0
  6. package/dist/alert-dialog/index.d.ts +22 -0
  7. package/dist/alert-dialog/index.js +206 -0
  8. package/dist/alert-dialog/index.mjs +29 -0
  9. package/dist/avatar/index.d.mts +23 -0
  10. package/dist/avatar/index.d.ts +23 -0
  11. package/dist/avatar/index.js +133 -0
  12. package/dist/avatar/index.mjs +10 -0
  13. package/dist/badge/index.d.mts +15 -0
  14. package/dist/badge/index.d.ts +15 -0
  15. package/dist/badge/index.js +96 -0
  16. package/dist/badge/index.mjs +10 -0
  17. package/dist/breadcrumb/index.d.mts +20 -0
  18. package/dist/breadcrumb/index.d.ts +20 -0
  19. package/dist/breadcrumb/index.js +126 -0
  20. package/dist/breadcrumb/index.mjs +20 -0
  21. package/dist/button/index.d.mts +12 -0
  22. package/dist/button/index.d.ts +12 -0
  23. package/dist/button/index.js +88 -0
  24. package/dist/button/index.mjs +10 -0
  25. package/dist/calendar/index.d.mts +29 -0
  26. package/dist/calendar/index.d.ts +29 -0
  27. package/dist/calendar/index.js +191 -0
  28. package/dist/calendar/index.mjs +9 -0
  29. package/dist/card/index.d.mts +13 -0
  30. package/dist/card/index.d.ts +13 -0
  31. package/dist/card/index.js +141 -0
  32. package/dist/card/index.mjs +19 -0
  33. package/dist/carousel/index.d.mts +20 -0
  34. package/dist/carousel/index.d.ts +20 -0
  35. package/dist/carousel/index.js +236 -0
  36. package/dist/carousel/index.mjs +19 -0
  37. package/dist/checkbox/index.d.mts +6 -0
  38. package/dist/checkbox/index.d.ts +6 -0
  39. package/dist/checkbox/index.js +63 -0
  40. package/dist/checkbox/index.mjs +8 -0
  41. package/dist/chunk-32LEHNCH.mjs +155 -0
  42. package/dist/chunk-3ZJ4L43B.mjs +92 -0
  43. package/dist/chunk-4KQNZMKT.mjs +47 -0
  44. package/dist/chunk-4W6U222X.mjs +113 -0
  45. package/dist/chunk-556SM2PJ.mjs +40 -0
  46. package/dist/chunk-5LYTCNI6.mjs +127 -0
  47. package/dist/chunk-5N7LGYZK.mjs +137 -0
  48. package/dist/chunk-6OG237U6.mjs +54 -0
  49. package/dist/chunk-7TMIJ7HZ.mjs +149 -0
  50. package/dist/chunk-DTENOVQN.mjs +44 -0
  51. package/dist/chunk-DUGW62XX.mjs +143 -0
  52. package/dist/chunk-DWLKKYIU.mjs +156 -0
  53. package/dist/chunk-DYCSGLM5.mjs +32 -0
  54. package/dist/chunk-DZPJV6MN.mjs +66 -0
  55. package/dist/chunk-FT72MNAV.mjs +25 -0
  56. package/dist/chunk-FV6JTZAK.mjs +30 -0
  57. package/dist/chunk-GLD4KQD3.mjs +90 -0
  58. package/dist/chunk-GWVW5OI6.mjs +106 -0
  59. package/dist/chunk-JWCA4M7E.mjs +160 -0
  60. package/dist/chunk-K4UYYX45.mjs +199 -0
  61. package/dist/chunk-KVQKOJNU.mjs +52 -0
  62. package/dist/chunk-LPMRBQLR.mjs +120 -0
  63. package/dist/chunk-M6HSM6GV.mjs +68 -0
  64. package/dist/chunk-NE5LEVMC.mjs +201 -0
  65. package/dist/chunk-NGWDLZ6E.mjs +33 -0
  66. package/dist/chunk-NH5ZVHAV.mjs +36 -0
  67. package/dist/chunk-PFXSPRVI.mjs +65 -0
  68. package/dist/chunk-PJO7WJ4G.mjs +10 -0
  69. package/dist/chunk-PTXZWR7Y.mjs +76 -0
  70. package/dist/chunk-SG747CBC.mjs +34 -0
  71. package/dist/chunk-UDQDW22Y.mjs +71 -0
  72. package/dist/chunk-UGOA6M4S.mjs +120 -0
  73. package/dist/chunk-UXU54FBX.mjs +63 -0
  74. package/dist/chunk-WYBX5VJ4.mjs +49 -0
  75. package/dist/chunk-Y7DNVOKO.mjs +57 -0
  76. package/dist/chunk-YNOS3JA2.mjs +29 -0
  77. package/dist/chunk-YPTARV3T.mjs +57 -0
  78. package/dist/chunk-YYFQVSPV.mjs +17 -0
  79. package/dist/chunk-ZR3J34NX.mjs +85 -0
  80. package/dist/collapsible/index.d.mts +8 -0
  81. package/dist/collapsible/index.d.ts +8 -0
  82. package/dist/collapsible/index.js +64 -0
  83. package/dist/collapsible/index.mjs +12 -0
  84. package/dist/combobox/index.d.mts +18 -0
  85. package/dist/combobox/index.d.ts +18 -0
  86. package/dist/combobox/index.js +198 -0
  87. package/dist/combobox/index.mjs +32 -0
  88. package/dist/context-menu/index.d.mts +16 -0
  89. package/dist/context-menu/index.d.ts +16 -0
  90. package/dist/context-menu/index.js +177 -0
  91. package/dist/context-menu/index.mjs +28 -0
  92. package/dist/date-range-input/index.d.mts +17 -0
  93. package/dist/date-range-input/index.d.ts +17 -0
  94. package/dist/date-range-input/index.js +284 -0
  95. package/dist/date-range-input/index.mjs +11 -0
  96. package/dist/dialog/index.d.mts +19 -0
  97. package/dist/dialog/index.d.ts +19 -0
  98. package/dist/dialog/index.js +240 -0
  99. package/dist/dialog/index.mjs +27 -0
  100. package/dist/dropdown-menu/index.d.mts +16 -0
  101. package/dist/dropdown-menu/index.d.ts +16 -0
  102. package/dist/dropdown-menu/index.js +189 -0
  103. package/dist/dropdown-menu/index.mjs +28 -0
  104. package/dist/field/index.d.mts +24 -0
  105. package/dist/field/index.d.ts +24 -0
  106. package/dist/field/index.js +88 -0
  107. package/dist/field/index.mjs +16 -0
  108. package/dist/hover-card/index.d.mts +8 -0
  109. package/dist/hover-card/index.d.ts +8 -0
  110. package/dist/hover-card/index.js +79 -0
  111. package/dist/hover-card/index.mjs +12 -0
  112. package/dist/index.d.mts +73 -0
  113. package/dist/index.d.ts +73 -0
  114. package/dist/index.js +3167 -0
  115. package/dist/index.mjs +452 -0
  116. package/dist/input/index.d.mts +5 -0
  117. package/dist/input/index.d.ts +5 -0
  118. package/dist/input/index.js +54 -0
  119. package/dist/input/index.mjs +7 -0
  120. package/dist/kbd/index.d.mts +8 -0
  121. package/dist/kbd/index.d.ts +8 -0
  122. package/dist/kbd/index.js +64 -0
  123. package/dist/kbd/index.mjs +9 -0
  124. package/dist/lightbox/index.d.mts +17 -0
  125. package/dist/lightbox/index.d.ts +17 -0
  126. package/dist/lightbox/index.js +151 -0
  127. package/dist/lightbox/index.mjs +24 -0
  128. package/dist/pagination/index.d.mts +33 -0
  129. package/dist/pagination/index.d.ts +33 -0
  130. package/dist/pagination/index.js +212 -0
  131. package/dist/pagination/index.mjs +25 -0
  132. package/dist/popover/index.d.mts +11 -0
  133. package/dist/popover/index.d.ts +11 -0
  134. package/dist/popover/index.js +120 -0
  135. package/dist/popover/index.mjs +18 -0
  136. package/dist/progress/index.d.mts +6 -0
  137. package/dist/progress/index.d.ts +6 -0
  138. package/dist/progress/index.js +60 -0
  139. package/dist/progress/index.mjs +8 -0
  140. package/dist/radio-group/index.d.mts +8 -0
  141. package/dist/radio-group/index.d.ts +8 -0
  142. package/dist/radio-group/index.js +71 -0
  143. package/dist/radio-group/index.mjs +10 -0
  144. package/dist/resizable/index.d.mts +10 -0
  145. package/dist/resizable/index.d.ts +10 -0
  146. package/dist/resizable/index.js +80 -0
  147. package/dist/resizable/index.mjs +12 -0
  148. package/dist/scroll-area/index.d.mts +6 -0
  149. package/dist/scroll-area/index.d.ts +6 -0
  150. package/dist/scroll-area/index.js +74 -0
  151. package/dist/scroll-area/index.mjs +8 -0
  152. package/dist/select/index.d.mts +17 -0
  153. package/dist/select/index.d.ts +17 -0
  154. package/dist/select/index.js +238 -0
  155. package/dist/select/index.mjs +26 -0
  156. package/dist/separator/index.d.mts +6 -0
  157. package/dist/separator/index.d.ts +6 -0
  158. package/dist/separator/index.js +59 -0
  159. package/dist/separator/index.mjs +8 -0
  160. package/dist/sheet/index.d.mts +38 -0
  161. package/dist/sheet/index.d.ts +38 -0
  162. package/dist/sheet/index.js +212 -0
  163. package/dist/sheet/index.mjs +27 -0
  164. package/dist/skeleton/index.d.mts +17 -0
  165. package/dist/skeleton/index.d.ts +17 -0
  166. package/dist/skeleton/index.js +80 -0
  167. package/dist/skeleton/index.mjs +11 -0
  168. package/dist/slide-over/index.d.mts +92 -0
  169. package/dist/slide-over/index.d.ts +92 -0
  170. package/dist/slide-over/index.js +298 -0
  171. package/dist/slide-over/index.mjs +31 -0
  172. package/dist/slider/index.d.mts +6 -0
  173. package/dist/slider/index.d.ts +6 -0
  174. package/dist/slider/index.js +47 -0
  175. package/dist/slider/index.mjs +8 -0
  176. package/dist/switch/index.d.mts +8 -0
  177. package/dist/switch/index.d.ts +8 -0
  178. package/dist/switch/index.js +66 -0
  179. package/dist/switch/index.mjs +8 -0
  180. package/dist/tabs/index.d.mts +9 -0
  181. package/dist/tabs/index.d.ts +9 -0
  182. package/dist/tabs/index.js +96 -0
  183. package/dist/tabs/index.mjs +14 -0
  184. package/dist/toast/index.d.mts +19 -0
  185. package/dist/toast/index.d.ts +19 -0
  186. package/dist/toast/index.js +107 -0
  187. package/dist/toast/index.mjs +10 -0
  188. package/dist/toggle/index.d.mts +14 -0
  189. package/dist/toggle/index.d.ts +14 -0
  190. package/dist/toggle/index.js +89 -0
  191. package/dist/toggle/index.mjs +12 -0
  192. package/dist/tooltip/index.d.mts +9 -0
  193. package/dist/tooltip/index.d.ts +9 -0
  194. package/dist/tooltip/index.js +101 -0
  195. package/dist/tooltip/index.mjs +14 -0
  196. package/package.json +235 -0
@@ -0,0 +1,199 @@
1
+ import {
2
+ cn
3
+ } from "./chunk-PJO7WJ4G.mjs";
4
+
5
+ // src/select/index.tsx
6
+ import { Select as SelectPrimitive } from "@base-ui/react/select";
7
+ import { ChevronDownIcon, CheckIcon, ChevronUpIcon } from "lucide-react";
8
+ import { jsx, jsxs } from "react/jsx-runtime";
9
+ var Select = SelectPrimitive.Root;
10
+ function SelectGroup({ className, ...props }) {
11
+ return /* @__PURE__ */ jsx(
12
+ SelectPrimitive.Group,
13
+ {
14
+ "data-slot": "select-group",
15
+ className: cn("scroll-my-1 p-1", className),
16
+ ...props
17
+ }
18
+ );
19
+ }
20
+ function SelectValue({ className, ...props }) {
21
+ return /* @__PURE__ */ jsx(
22
+ SelectPrimitive.Value,
23
+ {
24
+ "data-slot": "select-value",
25
+ className: cn("flex flex-1 text-left", className),
26
+ ...props
27
+ }
28
+ );
29
+ }
30
+ function SelectTrigger({
31
+ className,
32
+ size = "default",
33
+ children,
34
+ ...props
35
+ }) {
36
+ return /* @__PURE__ */ jsxs(
37
+ SelectPrimitive.Trigger,
38
+ {
39
+ "data-slot": "select-trigger",
40
+ "data-size": size,
41
+ className: cn(
42
+ "flex w-fit items-center justify-between gap-1.5 rounded-lg border border-input bg-transparent py-2 pr-2 pl-2.5 text-sm whitespace-nowrap transition-colors outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 data-placeholder:text-muted-foreground data-[size=default]:h-8 data-[size=sm]:h-7 data-[size=sm]:rounded-[min(var(--radius-md),10px)] *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-1.5 dark:bg-input/30 dark:hover:bg-input/50 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
43
+ className
44
+ ),
45
+ ...props,
46
+ children: [
47
+ children,
48
+ /* @__PURE__ */ jsx(
49
+ SelectPrimitive.Icon,
50
+ {
51
+ render: /* @__PURE__ */ jsx(ChevronDownIcon, { className: "pointer-events-none size-4 text-muted-foreground" })
52
+ }
53
+ )
54
+ ]
55
+ }
56
+ );
57
+ }
58
+ function SelectContent({
59
+ className,
60
+ children,
61
+ side = "bottom",
62
+ sideOffset = 4,
63
+ align = "center",
64
+ alignOffset = 0,
65
+ alignItemWithTrigger = true,
66
+ ...props
67
+ }) {
68
+ return /* @__PURE__ */ jsx(SelectPrimitive.Portal, { children: /* @__PURE__ */ jsx(
69
+ SelectPrimitive.Positioner,
70
+ {
71
+ side,
72
+ sideOffset,
73
+ align,
74
+ alignOffset,
75
+ alignItemWithTrigger,
76
+ className: "isolate z-50",
77
+ children: /* @__PURE__ */ jsxs(
78
+ SelectPrimitive.Popup,
79
+ {
80
+ "data-slot": "select-content",
81
+ "data-align-trigger": alignItemWithTrigger,
82
+ className: cn(
83
+ "relative isolate z-50 max-h-(--available-height) w-(--anchor-width) min-w-36 origin-(--transform-origin) overflow-x-hidden overflow-y-auto rounded-lg bg-popover text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 data-[align-trigger=true]:animate-none data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-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 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95",
84
+ className
85
+ ),
86
+ ...props,
87
+ children: [
88
+ /* @__PURE__ */ jsx(SelectScrollUpButton, {}),
89
+ /* @__PURE__ */ jsx(SelectPrimitive.List, { children }),
90
+ /* @__PURE__ */ jsx(SelectScrollDownButton, {})
91
+ ]
92
+ }
93
+ )
94
+ }
95
+ ) });
96
+ }
97
+ function SelectLabel({
98
+ className,
99
+ ...props
100
+ }) {
101
+ return /* @__PURE__ */ jsx(
102
+ SelectPrimitive.GroupLabel,
103
+ {
104
+ "data-slot": "select-label",
105
+ className: cn("px-1.5 py-1 text-xs text-muted-foreground", className),
106
+ ...props
107
+ }
108
+ );
109
+ }
110
+ function SelectItem({
111
+ className,
112
+ children,
113
+ ...props
114
+ }) {
115
+ return /* @__PURE__ */ jsxs(
116
+ SelectPrimitive.Item,
117
+ {
118
+ "data-slot": "select-item",
119
+ className: cn(
120
+ "relative flex w-full cursor-default items-center gap-1.5 rounded-md py-1 pr-8 pl-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground 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",
121
+ className
122
+ ),
123
+ ...props,
124
+ children: [
125
+ /* @__PURE__ */ jsx(SelectPrimitive.ItemText, { className: "flex flex-1 shrink-0 gap-2 whitespace-nowrap", children }),
126
+ /* @__PURE__ */ jsx(
127
+ SelectPrimitive.ItemIndicator,
128
+ {
129
+ render: /* @__PURE__ */ jsx("span", { className: "pointer-events-none absolute right-2 flex size-4 items-center justify-center" }),
130
+ children: /* @__PURE__ */ jsx(CheckIcon, { className: "pointer-events-none" })
131
+ }
132
+ )
133
+ ]
134
+ }
135
+ );
136
+ }
137
+ function SelectSeparator({
138
+ className,
139
+ ...props
140
+ }) {
141
+ return /* @__PURE__ */ jsx(
142
+ SelectPrimitive.Separator,
143
+ {
144
+ "data-slot": "select-separator",
145
+ className: cn(
146
+ "pointer-events-none -mx-1 my-1 h-px bg-border",
147
+ className
148
+ ),
149
+ ...props
150
+ }
151
+ );
152
+ }
153
+ function SelectScrollUpButton({
154
+ className,
155
+ ...props
156
+ }) {
157
+ return /* @__PURE__ */ jsx(
158
+ SelectPrimitive.ScrollUpArrow,
159
+ {
160
+ "data-slot": "select-scroll-up-button",
161
+ className: cn(
162
+ "top-0 z-10 flex w-full cursor-default items-center justify-center bg-popover py-1 [&_svg:not([class*='size-'])]:size-4",
163
+ className
164
+ ),
165
+ ...props,
166
+ children: /* @__PURE__ */ jsx(ChevronUpIcon, {})
167
+ }
168
+ );
169
+ }
170
+ function SelectScrollDownButton({
171
+ className,
172
+ ...props
173
+ }) {
174
+ return /* @__PURE__ */ jsx(
175
+ SelectPrimitive.ScrollDownArrow,
176
+ {
177
+ "data-slot": "select-scroll-down-button",
178
+ className: cn(
179
+ "bottom-0 z-10 flex w-full cursor-default items-center justify-center bg-popover py-1 [&_svg:not([class*='size-'])]:size-4",
180
+ className
181
+ ),
182
+ ...props,
183
+ children: /* @__PURE__ */ jsx(ChevronDownIcon, {})
184
+ }
185
+ );
186
+ }
187
+
188
+ export {
189
+ Select,
190
+ SelectGroup,
191
+ SelectValue,
192
+ SelectTrigger,
193
+ SelectContent,
194
+ SelectLabel,
195
+ SelectItem,
196
+ SelectSeparator,
197
+ SelectScrollUpButton,
198
+ SelectScrollDownButton
199
+ };
@@ -0,0 +1,52 @@
1
+ import {
2
+ cn
3
+ } from "./chunk-PJO7WJ4G.mjs";
4
+
5
+ // src/resizable/index.tsx
6
+ import { GripVertical } from "lucide-react";
7
+ import {
8
+ Panel,
9
+ PanelGroup,
10
+ PanelResizeHandle
11
+ } from "react-resizable-panels";
12
+ import { jsx } from "react/jsx-runtime";
13
+ function ResizablePanelGroup({ className, ...props }) {
14
+ return /* @__PURE__ */ jsx(
15
+ PanelGroup,
16
+ {
17
+ "data-slot": "resizable-panel-group",
18
+ className: cn(
19
+ "flex h-full w-full data-[panel-group-direction=vertical]:flex-col",
20
+ className
21
+ ),
22
+ ...props
23
+ }
24
+ );
25
+ }
26
+ function ResizablePanel({ ...props }) {
27
+ return /* @__PURE__ */ jsx(Panel, { "data-slot": "resizable-panel", ...props });
28
+ }
29
+ function ResizableHandle({
30
+ withHandle,
31
+ className,
32
+ ...props
33
+ }) {
34
+ return /* @__PURE__ */ jsx(
35
+ PanelResizeHandle,
36
+ {
37
+ "data-slot": "resizable-handle",
38
+ className: cn(
39
+ "relative flex w-px items-center justify-center bg-border after:absolute after:inset-y-0 after:left-1/2 after:w-1 after:-translate-x-1/2 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring data-[panel-group-direction=vertical]:h-px data-[panel-group-direction=vertical]:w-full data-[panel-group-direction=vertical]:after:left-0 data-[panel-group-direction=vertical]:after:h-1 data-[panel-group-direction=vertical]:after:w-full data-[panel-group-direction=vertical]:after:translate-x-0 data-[panel-group-direction=vertical]:after:-translate-y-1/2",
40
+ className
41
+ ),
42
+ ...props,
43
+ children: withHandle && /* @__PURE__ */ jsx("div", { className: "z-10 flex h-4 w-3 items-center justify-center rounded-xs border border-border bg-border", children: /* @__PURE__ */ jsx(GripVertical, { className: "size-2.5" }) })
44
+ }
45
+ );
46
+ }
47
+
48
+ export {
49
+ ResizablePanelGroup,
50
+ ResizablePanel,
51
+ ResizableHandle
52
+ };
@@ -0,0 +1,120 @@
1
+ import {
2
+ Button
3
+ } from "./chunk-YPTARV3T.mjs";
4
+ import {
5
+ cn
6
+ } from "./chunk-PJO7WJ4G.mjs";
7
+
8
+ // src/alert-dialog/index.tsx
9
+ import { AlertDialog as AlertDialogPrimitive } from "@base-ui/react/alert-dialog";
10
+ import { jsx, jsxs } from "react/jsx-runtime";
11
+ function AlertDialog({ ...props }) {
12
+ return /* @__PURE__ */ jsx(AlertDialogPrimitive.Root, { "data-slot": "alert-dialog", ...props });
13
+ }
14
+ function AlertDialogTrigger({ ...props }) {
15
+ return /* @__PURE__ */ jsx(AlertDialogPrimitive.Trigger, { "data-slot": "alert-dialog-trigger", ...props });
16
+ }
17
+ function AlertDialogPortal({ ...props }) {
18
+ return /* @__PURE__ */ jsx(AlertDialogPrimitive.Portal, { "data-slot": "alert-dialog-portal", ...props });
19
+ }
20
+ function AlertDialogOverlay({ className, ...props }) {
21
+ return /* @__PURE__ */ jsx(
22
+ AlertDialogPrimitive.Backdrop,
23
+ {
24
+ "data-slot": "dialog-overlay",
25
+ className: cn(
26
+ "fixed inset-0 isolate z-50 bg-black/10 duration-100 supports-backdrop-filter:backdrop-blur-xs",
27
+ className
28
+ ),
29
+ ...props
30
+ }
31
+ );
32
+ }
33
+ function AlertDialogContent({ className, children, ...props }) {
34
+ return /* @__PURE__ */ jsxs(AlertDialogPortal, { children: [
35
+ /* @__PURE__ */ jsx(AlertDialogOverlay, {}),
36
+ /* @__PURE__ */ jsx(
37
+ AlertDialogPrimitive.Popup,
38
+ {
39
+ "data-slot": "dialog-content",
40
+ className: cn(
41
+ "fixed top-1/2 left-1/2 z-50 grid w-full max-w-[calc(100%-2rem)] -translate-x-1/2 -translate-y-1/2 gap-4 rounded-xl bg-popover p-4 text-sm text-popover-foreground ring-1 ring-foreground/10 duration-100 outline-none sm:max-w-sm",
42
+ className
43
+ ),
44
+ ...props,
45
+ children
46
+ }
47
+ )
48
+ ] });
49
+ }
50
+ function AlertDialogHeader({ className, ...props }) {
51
+ return /* @__PURE__ */ jsx("div", { "data-slot": "alert-dialog-header", className: cn("flex flex-col gap-2", className), ...props });
52
+ }
53
+ function AlertDialogFooter({ className, ...props }) {
54
+ return /* @__PURE__ */ jsx(
55
+ "div",
56
+ {
57
+ "data-slot": "alert-dialog-footer",
58
+ className: cn("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end", className),
59
+ ...props
60
+ }
61
+ );
62
+ }
63
+ function AlertDialogTitle({ className, ...props }) {
64
+ return /* @__PURE__ */ jsx(
65
+ AlertDialogPrimitive.Title,
66
+ {
67
+ "data-slot": "alert-dialog-title",
68
+ className: cn("font-heading text-base leading-none font-medium", className),
69
+ ...props
70
+ }
71
+ );
72
+ }
73
+ function AlertDialogDescription({ className, ...props }) {
74
+ return /* @__PURE__ */ jsx(
75
+ AlertDialogPrimitive.Description,
76
+ {
77
+ "data-slot": "alert-dialog-description",
78
+ className: cn("text-sm text-muted-foreground", className),
79
+ ...props
80
+ }
81
+ );
82
+ }
83
+ function AlertDialogAction({
84
+ className,
85
+ variant = "default",
86
+ ...props
87
+ }) {
88
+ return /* @__PURE__ */ jsx(
89
+ AlertDialogPrimitive.Close,
90
+ {
91
+ "data-slot": "alert-dialog-action",
92
+ render: /* @__PURE__ */ jsx(Button, { variant, className }),
93
+ ...props
94
+ }
95
+ );
96
+ }
97
+ function AlertDialogCancel({ className, ...props }) {
98
+ return /* @__PURE__ */ jsx(
99
+ AlertDialogPrimitive.Close,
100
+ {
101
+ "data-slot": "alert-dialog-cancel",
102
+ render: /* @__PURE__ */ jsx(Button, { variant: "outline", className }),
103
+ ...props
104
+ }
105
+ );
106
+ }
107
+
108
+ export {
109
+ AlertDialog,
110
+ AlertDialogTrigger,
111
+ AlertDialogPortal,
112
+ AlertDialogOverlay,
113
+ AlertDialogContent,
114
+ AlertDialogHeader,
115
+ AlertDialogFooter,
116
+ AlertDialogTitle,
117
+ AlertDialogDescription,
118
+ AlertDialogAction,
119
+ AlertDialogCancel
120
+ };
@@ -0,0 +1,68 @@
1
+ import {
2
+ cn
3
+ } from "./chunk-PJO7WJ4G.mjs";
4
+
5
+ // src/tooltip/index.tsx
6
+ import { Tooltip as TooltipPrimitive } from "@base-ui/react/tooltip";
7
+ import { jsx, jsxs } from "react/jsx-runtime";
8
+ function TooltipProvider({
9
+ delay = 0,
10
+ ...props
11
+ }) {
12
+ return /* @__PURE__ */ jsx(
13
+ TooltipPrimitive.Provider,
14
+ {
15
+ "data-slot": "tooltip-provider",
16
+ delay,
17
+ ...props
18
+ }
19
+ );
20
+ }
21
+ function Tooltip({ ...props }) {
22
+ return /* @__PURE__ */ jsx(TooltipPrimitive.Root, { "data-slot": "tooltip", ...props });
23
+ }
24
+ function TooltipTrigger({ ...props }) {
25
+ return /* @__PURE__ */ jsx(TooltipPrimitive.Trigger, { "data-slot": "tooltip-trigger", ...props });
26
+ }
27
+ function TooltipContent({
28
+ className,
29
+ side = "top",
30
+ sideOffset = 4,
31
+ align = "center",
32
+ alignOffset = 0,
33
+ children,
34
+ ...props
35
+ }) {
36
+ return /* @__PURE__ */ jsx(TooltipPrimitive.Portal, { children: /* @__PURE__ */ jsx(
37
+ TooltipPrimitive.Positioner,
38
+ {
39
+ align,
40
+ alignOffset,
41
+ side,
42
+ sideOffset,
43
+ className: "isolate z-50",
44
+ children: /* @__PURE__ */ jsxs(
45
+ TooltipPrimitive.Popup,
46
+ {
47
+ "data-slot": "tooltip-content",
48
+ className: cn(
49
+ "z-50 inline-flex w-fit max-w-xs origin-(--transform-origin) items-center gap-1.5 rounded-md bg-foreground px-3 py-1.5 text-xs text-background has-data-[slot=kbd]:pr-1.5 data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-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 **:data-[slot=kbd]:relative **:data-[slot=kbd]:isolate **:data-[slot=kbd]:z-50 **:data-[slot=kbd]:rounded-sm data-[state=delayed-open]:animate-in data-[state=delayed-open]:fade-in-0 data-[state=delayed-open]:zoom-in-95 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95",
50
+ className
51
+ ),
52
+ ...props,
53
+ children: [
54
+ children,
55
+ /* @__PURE__ */ jsx(TooltipPrimitive.Arrow, { className: "z-50 size-2.5 translate-y-[calc(-50%-2px)] rotate-45 rounded-[2px] bg-foreground fill-foreground data-[side=bottom]:top-1 data-[side=inline-end]:top-1/2! data-[side=inline-end]:-left-1 data-[side=inline-end]:-translate-y-1/2 data-[side=inline-start]:top-1/2! data-[side=inline-start]:-right-1 data-[side=inline-start]:-translate-y-1/2 data-[side=left]:top-1/2! data-[side=left]:-right-1 data-[side=left]:-translate-y-1/2 data-[side=right]:top-1/2! data-[side=right]:-left-1 data-[side=right]:-translate-y-1/2 data-[side=top]:-bottom-2.5" })
56
+ ]
57
+ }
58
+ )
59
+ }
60
+ ) });
61
+ }
62
+
63
+ export {
64
+ TooltipProvider,
65
+ Tooltip,
66
+ TooltipTrigger,
67
+ TooltipContent
68
+ };
@@ -0,0 +1,201 @@
1
+ import {
2
+ Button
3
+ } from "./chunk-YPTARV3T.mjs";
4
+ import {
5
+ cn
6
+ } from "./chunk-PJO7WJ4G.mjs";
7
+
8
+ // src/slide-over/index.tsx
9
+ import { Dialog as DialogPrimitive } from "@base-ui/react/dialog";
10
+ import { XIcon } from "lucide-react";
11
+
12
+ // src/slide-over/use-record-nav.ts
13
+ import * as React from "react";
14
+ function useRecordNav({
15
+ selector,
16
+ idAttribute = "data-record-id",
17
+ currentId,
18
+ onNavigate,
19
+ enabled = true,
20
+ keys
21
+ }) {
22
+ const nextKey = keys?.next ?? "j";
23
+ const prevKey = keys?.prev ?? "k";
24
+ const onNavigateRef = React.useRef(onNavigate);
25
+ onNavigateRef.current = onNavigate;
26
+ React.useEffect(() => {
27
+ if (!enabled) return;
28
+ function onKeyDown(e) {
29
+ const target = e.target;
30
+ const tag = target?.tagName;
31
+ if (tag === "INPUT" || tag === "TEXTAREA" || tag === "SELECT" || target?.isContentEditable) return;
32
+ if (e.metaKey || e.ctrlKey || e.altKey) return;
33
+ if (e.key !== nextKey && e.key !== prevKey) return;
34
+ const nodes = Array.from(document.querySelectorAll(selector));
35
+ if (nodes.length === 0) return;
36
+ const ids = nodes.map((n) => n.getAttribute(idAttribute)).filter((id) => !!id);
37
+ const currentIndex = currentId ? ids.indexOf(currentId) : -1;
38
+ const delta = e.key === nextKey ? 1 : -1;
39
+ const nextIndex = currentIndex === -1 ? 0 : (currentIndex + delta + ids.length) % ids.length;
40
+ const nextId = ids[nextIndex];
41
+ if (nextId) {
42
+ e.preventDefault();
43
+ onNavigateRef.current(nextId);
44
+ }
45
+ }
46
+ document.addEventListener("keydown", onKeyDown);
47
+ return () => document.removeEventListener("keydown", onKeyDown);
48
+ }, [enabled, selector, idAttribute, currentId, nextKey, prevKey]);
49
+ }
50
+
51
+ // src/slide-over/index.tsx
52
+ import { jsx, jsxs } from "react/jsx-runtime";
53
+ function SlideOver({ ...props }) {
54
+ return /* @__PURE__ */ jsx(DialogPrimitive.Root, { "data-slot": "slide-over", ...props });
55
+ }
56
+ function SlideOverTrigger({ ...props }) {
57
+ return /* @__PURE__ */ jsx(DialogPrimitive.Trigger, { "data-slot": "slide-over-trigger", ...props });
58
+ }
59
+ function SlideOverPortal({ ...props }) {
60
+ return /* @__PURE__ */ jsx(DialogPrimitive.Portal, { "data-slot": "slide-over-portal", ...props });
61
+ }
62
+ function SlideOverClose({ ...props }) {
63
+ return /* @__PURE__ */ jsx(DialogPrimitive.Close, { "data-slot": "slide-over-close", ...props });
64
+ }
65
+ function SlideOverOverlay({ className, ...props }) {
66
+ return /* @__PURE__ */ jsx(
67
+ DialogPrimitive.Backdrop,
68
+ {
69
+ "data-slot": "dialog-overlay",
70
+ className: cn("fixed inset-0 z-50 bg-black/50", className),
71
+ ...props
72
+ }
73
+ );
74
+ }
75
+ var SIZE_STYLES = {
76
+ md: "sm:max-w-2xl",
77
+ lg: "sm:max-w-4xl lg:max-w-5xl",
78
+ xl: "sm:max-w-6xl lg:max-w-7xl xl:max-w-[90rem]",
79
+ full: "sm:max-w-[100vw]"
80
+ };
81
+ function SlideOverContent({
82
+ className,
83
+ children,
84
+ size = "lg",
85
+ showCloseButton = true,
86
+ ...props
87
+ }) {
88
+ return /* @__PURE__ */ jsxs(SlideOverPortal, { children: [
89
+ /* @__PURE__ */ jsx(SlideOverOverlay, {}),
90
+ /* @__PURE__ */ jsxs(
91
+ DialogPrimitive.Popup,
92
+ {
93
+ "data-slot": "slide-over-content",
94
+ className: cn(
95
+ "fixed inset-0 z-50 flex w-full max-w-[100vw] flex-col overflow-hidden bg-card text-card-foreground outline-none sm:inset-y-6 sm:left-1/2 sm:h-[calc(100%-3rem)] sm:-translate-x-1/2 sm:rounded-xl sm:border sm:border-border sm:shadow-2xl",
96
+ SIZE_STYLES[size],
97
+ className
98
+ ),
99
+ ...props,
100
+ children: [
101
+ children,
102
+ showCloseButton && /* @__PURE__ */ jsxs(
103
+ SlideOverClose,
104
+ {
105
+ render: /* @__PURE__ */ jsx(Button, { variant: "ghost", className: "absolute right-3 top-3 z-10", size: "icon-sm" }),
106
+ children: [
107
+ /* @__PURE__ */ jsx(XIcon, {}),
108
+ /* @__PURE__ */ jsx("span", { className: "sr-only", children: "Close" })
109
+ ]
110
+ }
111
+ )
112
+ ]
113
+ }
114
+ )
115
+ ] });
116
+ }
117
+ function SlideOverHeader({ className, ...props }) {
118
+ return /* @__PURE__ */ jsx(
119
+ "div",
120
+ {
121
+ "data-slot": "slide-over-header",
122
+ className: cn("flex shrink-0 items-center gap-3 border-b border-border px-4 py-3 sm:px-6", className),
123
+ ...props
124
+ }
125
+ );
126
+ }
127
+ function SlideOverFooter({
128
+ className,
129
+ shortcuts,
130
+ children,
131
+ ...props
132
+ }) {
133
+ return /* @__PURE__ */ jsxs(
134
+ "div",
135
+ {
136
+ "data-slot": "slide-over-footer",
137
+ className: cn(
138
+ "flex shrink-0 flex-wrap items-center justify-between gap-2 border-t border-border px-4 py-2.5 text-xs text-muted-foreground sm:px-6",
139
+ className
140
+ ),
141
+ ...props,
142
+ children: [
143
+ /* @__PURE__ */ jsx("div", { className: "flex items-center gap-3", children: shortcuts }),
144
+ /* @__PURE__ */ jsx("div", { className: "flex items-center gap-2", children })
145
+ ]
146
+ }
147
+ );
148
+ }
149
+ function SlideOverTitle({ className, ...props }) {
150
+ return /* @__PURE__ */ jsx(
151
+ DialogPrimitive.Title,
152
+ {
153
+ "data-slot": "slide-over-title",
154
+ className: cn("truncate font-heading text-base font-semibold", className),
155
+ ...props
156
+ }
157
+ );
158
+ }
159
+ function SlideOverDescription({ className, ...props }) {
160
+ return /* @__PURE__ */ jsx(
161
+ DialogPrimitive.Description,
162
+ {
163
+ "data-slot": "slide-over-description",
164
+ className: cn("text-sm text-muted-foreground", className),
165
+ ...props
166
+ }
167
+ );
168
+ }
169
+ function SlideOverColumns({
170
+ columns,
171
+ className
172
+ }) {
173
+ return /* @__PURE__ */ jsx("div", { className: cn("flex flex-1 flex-col overflow-y-auto lg:flex-row lg:overflow-hidden", className), children: columns.map((col) => /* @__PURE__ */ jsx(
174
+ "div",
175
+ {
176
+ className: cn(
177
+ "flex flex-col lg:h-full lg:overflow-y-auto",
178
+ col.width ?? "lg:flex-1",
179
+ col.className
180
+ ),
181
+ style: col.order != null ? { order: col.order } : void 0,
182
+ children: col.content
183
+ },
184
+ col.key
185
+ )) });
186
+ }
187
+
188
+ export {
189
+ useRecordNav,
190
+ SlideOver,
191
+ SlideOverTrigger,
192
+ SlideOverPortal,
193
+ SlideOverClose,
194
+ SlideOverOverlay,
195
+ SlideOverContent,
196
+ SlideOverHeader,
197
+ SlideOverFooter,
198
+ SlideOverTitle,
199
+ SlideOverDescription,
200
+ SlideOverColumns
201
+ };
@@ -0,0 +1,33 @@
1
+ import {
2
+ cn
3
+ } from "./chunk-PJO7WJ4G.mjs";
4
+
5
+ // src/checkbox/index.tsx
6
+ import { Checkbox as CheckboxPrimitive } from "@base-ui/react/checkbox";
7
+ import { CheckIcon } from "lucide-react";
8
+ import { jsx } from "react/jsx-runtime";
9
+ function Checkbox({ className, ...props }) {
10
+ return /* @__PURE__ */ jsx(
11
+ CheckboxPrimitive.Root,
12
+ {
13
+ "data-slot": "checkbox",
14
+ className: cn(
15
+ "peer relative flex size-4 shrink-0 items-center justify-center rounded-[4px] border border-input transition-colors outline-none group-has-disabled/field:opacity-50 after:absolute after:-inset-x-3 after:-inset-y-2 focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 aria-invalid:aria-checked:border-primary dark:bg-input/30 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 data-checked:border-primary data-checked:bg-primary data-checked:text-primary-foreground dark:data-checked:bg-primary",
16
+ className
17
+ ),
18
+ ...props,
19
+ children: /* @__PURE__ */ jsx(
20
+ CheckboxPrimitive.Indicator,
21
+ {
22
+ "data-slot": "checkbox-indicator",
23
+ className: "grid place-content-center text-current transition-none [&>svg]:size-3.5",
24
+ children: /* @__PURE__ */ jsx(CheckIcon, {})
25
+ }
26
+ )
27
+ }
28
+ );
29
+ }
30
+
31
+ export {
32
+ Checkbox
33
+ };