@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,137 @@
1
+ import {
2
+ cn
3
+ } from "./chunk-PJO7WJ4G.mjs";
4
+
5
+ // src/context-menu/index.tsx
6
+ import { ContextMenu as ContextMenuPrimitive } from "@base-ui/react/context-menu";
7
+ import { Check, ChevronRight } from "lucide-react";
8
+ import { jsx, jsxs } from "react/jsx-runtime";
9
+ function ContextMenu({ ...props }) {
10
+ return /* @__PURE__ */ jsx(ContextMenuPrimitive.Root, { "data-slot": "context-menu", ...props });
11
+ }
12
+ function ContextMenuTrigger({ ...props }) {
13
+ return /* @__PURE__ */ jsx(ContextMenuPrimitive.Trigger, { "data-slot": "context-menu-trigger", ...props });
14
+ }
15
+ function ContextMenuGroup({ ...props }) {
16
+ return /* @__PURE__ */ jsx(ContextMenuPrimitive.Group, { "data-slot": "context-menu-group", ...props });
17
+ }
18
+ var popupClasses = "z-50 min-w-40 origin-(--transform-origin) rounded-lg bg-popover p-1 text-sm text-popover-foreground shadow-md ring-1 ring-foreground/10 outline-hidden duration-100 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";
19
+ function ContextMenuContent({
20
+ className,
21
+ ...props
22
+ }) {
23
+ return /* @__PURE__ */ jsx(ContextMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx(ContextMenuPrimitive.Positioner, { className: "isolate z-50", children: /* @__PURE__ */ jsx(
24
+ ContextMenuPrimitive.Popup,
25
+ {
26
+ "data-slot": "context-menu-content",
27
+ className: cn(popupClasses, className),
28
+ ...props
29
+ }
30
+ ) }) });
31
+ }
32
+ var itemClasses = "relative flex cursor-default select-none items-center gap-2 rounded-md px-2 py-1.5 text-sm outline-hidden data-highlighted:bg-muted data-highlighted:text-foreground data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:size-4 [&_svg]:shrink-0";
33
+ function ContextMenuItem({
34
+ className,
35
+ ...props
36
+ }) {
37
+ return /* @__PURE__ */ jsx(
38
+ ContextMenuPrimitive.Item,
39
+ {
40
+ "data-slot": "context-menu-item",
41
+ className: cn(itemClasses, className),
42
+ ...props
43
+ }
44
+ );
45
+ }
46
+ function ContextMenuCheckboxItem({
47
+ className,
48
+ children,
49
+ ...props
50
+ }) {
51
+ return /* @__PURE__ */ jsxs(
52
+ ContextMenuPrimitive.CheckboxItem,
53
+ {
54
+ "data-slot": "context-menu-checkbox-item",
55
+ className: cn(itemClasses, "pl-7", className),
56
+ ...props,
57
+ children: [
58
+ /* @__PURE__ */ jsx("span", { className: "absolute left-1.5 flex size-4 items-center justify-center", children: /* @__PURE__ */ jsx(ContextMenuPrimitive.CheckboxItemIndicator, { children: /* @__PURE__ */ jsx(Check, { className: "size-3.5" }) }) }),
59
+ children
60
+ ]
61
+ }
62
+ );
63
+ }
64
+ function ContextMenuLabel({
65
+ className,
66
+ ...props
67
+ }) {
68
+ return /* @__PURE__ */ jsx(
69
+ ContextMenuPrimitive.GroupLabel,
70
+ {
71
+ "data-slot": "context-menu-label",
72
+ className: cn("px-2 py-1.5 text-xs font-medium text-muted-foreground", className),
73
+ ...props
74
+ }
75
+ );
76
+ }
77
+ function ContextMenuSeparator({
78
+ className,
79
+ ...props
80
+ }) {
81
+ return /* @__PURE__ */ jsx(
82
+ ContextMenuPrimitive.Separator,
83
+ {
84
+ "data-slot": "context-menu-separator",
85
+ className: cn("-mx-1 my-1 h-px bg-border", className),
86
+ ...props
87
+ }
88
+ );
89
+ }
90
+ function ContextMenuSub({ ...props }) {
91
+ return /* @__PURE__ */ jsx(ContextMenuPrimitive.SubmenuRoot, { ...props });
92
+ }
93
+ function ContextMenuSubTrigger({
94
+ className,
95
+ children,
96
+ ...props
97
+ }) {
98
+ return /* @__PURE__ */ jsxs(
99
+ ContextMenuPrimitive.SubmenuTrigger,
100
+ {
101
+ "data-slot": "context-menu-sub-trigger",
102
+ className: cn(itemClasses, "data-popup-open:bg-muted", className),
103
+ ...props,
104
+ children: [
105
+ children,
106
+ /* @__PURE__ */ jsx(ChevronRight, { className: "ml-auto size-4" })
107
+ ]
108
+ }
109
+ );
110
+ }
111
+ function ContextMenuSubContent({
112
+ className,
113
+ ...props
114
+ }) {
115
+ return /* @__PURE__ */ jsx(ContextMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx(ContextMenuPrimitive.Positioner, { className: "isolate z-50", side: "inline-end", sideOffset: 4, children: /* @__PURE__ */ jsx(
116
+ ContextMenuPrimitive.Popup,
117
+ {
118
+ "data-slot": "context-menu-sub-content",
119
+ className: cn(popupClasses, className),
120
+ ...props
121
+ }
122
+ ) }) });
123
+ }
124
+
125
+ export {
126
+ ContextMenu,
127
+ ContextMenuTrigger,
128
+ ContextMenuGroup,
129
+ ContextMenuContent,
130
+ ContextMenuItem,
131
+ ContextMenuCheckboxItem,
132
+ ContextMenuLabel,
133
+ ContextMenuSeparator,
134
+ ContextMenuSub,
135
+ ContextMenuSubTrigger,
136
+ ContextMenuSubContent
137
+ };
@@ -0,0 +1,54 @@
1
+ import {
2
+ cn
3
+ } from "./chunk-PJO7WJ4G.mjs";
4
+
5
+ // src/field/index.tsx
6
+ import { Field as FieldPrimitive } from "@base-ui/react/field";
7
+ import { jsx } from "react/jsx-runtime";
8
+ var Field = ({
9
+ className,
10
+ ...props
11
+ }) => /* @__PURE__ */ jsx(FieldPrimitive.Root, { className: cn("flex flex-col gap-1.5", className), ...props });
12
+ var FieldLabel = ({
13
+ className,
14
+ ...props
15
+ }) => /* @__PURE__ */ jsx(
16
+ FieldPrimitive.Label,
17
+ {
18
+ className: cn(
19
+ "text-sm font-medium text-foreground select-none",
20
+ "data-[disabled]:opacity-50",
21
+ className
22
+ ),
23
+ ...props
24
+ }
25
+ );
26
+ var FieldDescription = ({
27
+ className,
28
+ ...props
29
+ }) => /* @__PURE__ */ jsx(
30
+ FieldPrimitive.Description,
31
+ {
32
+ className: cn("text-xs text-muted-foreground", className),
33
+ ...props
34
+ }
35
+ );
36
+ var FieldError = ({
37
+ className,
38
+ ...props
39
+ }) => /* @__PURE__ */ jsx(
40
+ FieldPrimitive.Error,
41
+ {
42
+ className: cn("text-xs font-medium text-destructive", className),
43
+ ...props
44
+ }
45
+ );
46
+ var FieldControl = FieldPrimitive.Control;
47
+
48
+ export {
49
+ Field,
50
+ FieldLabel,
51
+ FieldDescription,
52
+ FieldError,
53
+ FieldControl
54
+ };
@@ -0,0 +1,149 @@
1
+ import {
2
+ cn
3
+ } from "./chunk-PJO7WJ4G.mjs";
4
+
5
+ // src/dropdown-menu/index.tsx
6
+ import { Menu as MenuPrimitive } from "@base-ui/react/menu";
7
+ import { Check, ChevronRight } from "lucide-react";
8
+ import { jsx, jsxs } from "react/jsx-runtime";
9
+ function DropdownMenu({ ...props }) {
10
+ return /* @__PURE__ */ jsx(MenuPrimitive.Root, { "data-slot": "dropdown-menu", ...props });
11
+ }
12
+ function DropdownMenuTrigger({ ...props }) {
13
+ return /* @__PURE__ */ jsx(MenuPrimitive.Trigger, { "data-slot": "dropdown-menu-trigger", ...props });
14
+ }
15
+ function DropdownMenuGroup({ ...props }) {
16
+ return /* @__PURE__ */ jsx(MenuPrimitive.Group, { "data-slot": "dropdown-menu-group", ...props });
17
+ }
18
+ var popupClasses = "z-50 min-w-40 origin-(--transform-origin) rounded-lg bg-popover p-1 text-sm text-popover-foreground shadow-md ring-1 ring-foreground/10 outline-hidden duration-100 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";
19
+ function DropdownMenuContent({
20
+ className,
21
+ align = "start",
22
+ sideOffset = 4,
23
+ side = "bottom",
24
+ ...props
25
+ }) {
26
+ return /* @__PURE__ */ jsx(MenuPrimitive.Portal, { children: /* @__PURE__ */ jsx(
27
+ MenuPrimitive.Positioner,
28
+ {
29
+ align,
30
+ sideOffset,
31
+ side,
32
+ className: "isolate z-50",
33
+ children: /* @__PURE__ */ jsx(
34
+ MenuPrimitive.Popup,
35
+ {
36
+ "data-slot": "dropdown-menu-content",
37
+ className: cn(popupClasses, className),
38
+ ...props
39
+ }
40
+ )
41
+ }
42
+ ) });
43
+ }
44
+ var itemClasses = "relative flex cursor-default select-none items-center gap-2 rounded-md px-2 py-1.5 text-sm outline-hidden data-highlighted:bg-muted data-highlighted:text-foreground data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:size-4 [&_svg]:shrink-0";
45
+ function DropdownMenuItem({
46
+ className,
47
+ ...props
48
+ }) {
49
+ return /* @__PURE__ */ jsx(
50
+ MenuPrimitive.Item,
51
+ {
52
+ "data-slot": "dropdown-menu-item",
53
+ className: cn(itemClasses, className),
54
+ ...props
55
+ }
56
+ );
57
+ }
58
+ function DropdownMenuCheckboxItem({
59
+ className,
60
+ children,
61
+ ...props
62
+ }) {
63
+ return /* @__PURE__ */ jsxs(
64
+ MenuPrimitive.CheckboxItem,
65
+ {
66
+ "data-slot": "dropdown-menu-checkbox-item",
67
+ className: cn(itemClasses, "pl-7", className),
68
+ ...props,
69
+ children: [
70
+ /* @__PURE__ */ jsx("span", { className: "absolute left-1.5 flex size-4 items-center justify-center", children: /* @__PURE__ */ jsx(MenuPrimitive.CheckboxItemIndicator, { children: /* @__PURE__ */ jsx(Check, { className: "size-3.5" }) }) }),
71
+ children
72
+ ]
73
+ }
74
+ );
75
+ }
76
+ function DropdownMenuLabel({
77
+ className,
78
+ ...props
79
+ }) {
80
+ return /* @__PURE__ */ jsx(
81
+ MenuPrimitive.GroupLabel,
82
+ {
83
+ "data-slot": "dropdown-menu-label",
84
+ className: cn("px-2 py-1.5 text-xs font-medium text-muted-foreground", className),
85
+ ...props
86
+ }
87
+ );
88
+ }
89
+ function DropdownMenuSeparator({
90
+ className,
91
+ ...props
92
+ }) {
93
+ return /* @__PURE__ */ jsx(
94
+ MenuPrimitive.Separator,
95
+ {
96
+ "data-slot": "dropdown-menu-separator",
97
+ className: cn("-mx-1 my-1 h-px bg-border", className),
98
+ ...props
99
+ }
100
+ );
101
+ }
102
+ function DropdownMenuSub({ ...props }) {
103
+ return /* @__PURE__ */ jsx(MenuPrimitive.SubmenuRoot, { ...props });
104
+ }
105
+ function DropdownMenuSubTrigger({
106
+ className,
107
+ children,
108
+ ...props
109
+ }) {
110
+ return /* @__PURE__ */ jsxs(
111
+ MenuPrimitive.SubmenuTrigger,
112
+ {
113
+ "data-slot": "dropdown-menu-sub-trigger",
114
+ className: cn(itemClasses, "data-popup-open:bg-muted", className),
115
+ ...props,
116
+ children: [
117
+ children,
118
+ /* @__PURE__ */ jsx(ChevronRight, { className: "ml-auto size-4" })
119
+ ]
120
+ }
121
+ );
122
+ }
123
+ function DropdownMenuSubContent({
124
+ className,
125
+ ...props
126
+ }) {
127
+ return /* @__PURE__ */ jsx(MenuPrimitive.Portal, { children: /* @__PURE__ */ jsx(MenuPrimitive.Positioner, { className: "isolate z-50", side: "inline-end", sideOffset: 4, children: /* @__PURE__ */ jsx(
128
+ MenuPrimitive.Popup,
129
+ {
130
+ "data-slot": "dropdown-menu-sub-content",
131
+ className: cn(popupClasses, className),
132
+ ...props
133
+ }
134
+ ) }) });
135
+ }
136
+
137
+ export {
138
+ DropdownMenu,
139
+ DropdownMenuTrigger,
140
+ DropdownMenuGroup,
141
+ DropdownMenuContent,
142
+ DropdownMenuItem,
143
+ DropdownMenuCheckboxItem,
144
+ DropdownMenuLabel,
145
+ DropdownMenuSeparator,
146
+ DropdownMenuSub,
147
+ DropdownMenuSubTrigger,
148
+ DropdownMenuSubContent
149
+ };
@@ -0,0 +1,44 @@
1
+ import {
2
+ cn
3
+ } from "./chunk-PJO7WJ4G.mjs";
4
+
5
+ // src/scroll-area/index.tsx
6
+ import { ScrollArea as ScrollAreaPrimitive } from "@base-ui/react/scroll-area";
7
+ import { jsx, jsxs } from "react/jsx-runtime";
8
+ function ScrollArea({
9
+ className,
10
+ children,
11
+ ...props
12
+ }) {
13
+ return /* @__PURE__ */ jsxs(
14
+ ScrollAreaPrimitive.Root,
15
+ {
16
+ "data-slot": "scroll-area",
17
+ className: cn("relative overflow-hidden", className),
18
+ ...props,
19
+ children: [
20
+ /* @__PURE__ */ jsx(ScrollAreaPrimitive.Viewport, { className: "size-full rounded-[inherit] outline-none", children }),
21
+ /* @__PURE__ */ jsx(
22
+ ScrollAreaPrimitive.Scrollbar,
23
+ {
24
+ orientation: "vertical",
25
+ className: "flex w-2 touch-none select-none p-0.5 transition-opacity data-[orientation=vertical]:h-full",
26
+ children: /* @__PURE__ */ jsx(ScrollAreaPrimitive.Thumb, { className: "relative flex-1 rounded-full bg-border" })
27
+ }
28
+ ),
29
+ /* @__PURE__ */ jsx(
30
+ ScrollAreaPrimitive.Scrollbar,
31
+ {
32
+ orientation: "horizontal",
33
+ className: "flex h-2 touch-none select-none p-0.5 transition-opacity",
34
+ children: /* @__PURE__ */ jsx(ScrollAreaPrimitive.Thumb, { className: "relative flex-1 rounded-full bg-border" })
35
+ }
36
+ )
37
+ ]
38
+ }
39
+ );
40
+ }
41
+
42
+ export {
43
+ ScrollArea
44
+ };
@@ -0,0 +1,143 @@
1
+ import {
2
+ buttonVariants
3
+ } from "./chunk-YPTARV3T.mjs";
4
+ import {
5
+ cn
6
+ } from "./chunk-PJO7WJ4G.mjs";
7
+
8
+ // src/pagination/index.tsx
9
+ import { ChevronLeft, ChevronRight, MoreHorizontal } from "lucide-react";
10
+ import { jsx, jsxs } from "react/jsx-runtime";
11
+ function Pagination({ className, ...props }) {
12
+ return /* @__PURE__ */ jsx(
13
+ "nav",
14
+ {
15
+ "aria-label": "pagination",
16
+ "data-slot": "pagination",
17
+ className: cn("mx-auto flex w-full justify-center", className),
18
+ ...props
19
+ }
20
+ );
21
+ }
22
+ function PaginationContent({ className, ...props }) {
23
+ return /* @__PURE__ */ jsx(
24
+ "ul",
25
+ {
26
+ "data-slot": "pagination-content",
27
+ className: cn("flex flex-row items-center gap-1", className),
28
+ ...props
29
+ }
30
+ );
31
+ }
32
+ function PaginationItem({ ...props }) {
33
+ return /* @__PURE__ */ jsx("li", { "data-slot": "pagination-item", ...props });
34
+ }
35
+ function PaginationLink({ className, isActive, size = "icon-sm", ...props }) {
36
+ return /* @__PURE__ */ jsx(
37
+ "button",
38
+ {
39
+ type: "button",
40
+ "data-slot": "pagination-link",
41
+ "data-active": isActive,
42
+ "aria-current": isActive ? "page" : void 0,
43
+ className: cn(buttonVariants({ variant: isActive ? "outline" : "ghost", size }), className),
44
+ ...props
45
+ }
46
+ );
47
+ }
48
+ function PaginationPrevious({ className, ...props }) {
49
+ return /* @__PURE__ */ jsxs(
50
+ PaginationLink,
51
+ {
52
+ "aria-label": "Go to previous page",
53
+ size: "default",
54
+ className: cn("gap-1 px-2.5", className),
55
+ ...props,
56
+ children: [
57
+ /* @__PURE__ */ jsx(ChevronLeft, { className: "size-4" }),
58
+ /* @__PURE__ */ jsx("span", { className: "hidden sm:inline", children: "Previous" })
59
+ ]
60
+ }
61
+ );
62
+ }
63
+ function PaginationNext({ className, ...props }) {
64
+ return /* @__PURE__ */ jsxs(
65
+ PaginationLink,
66
+ {
67
+ "aria-label": "Go to next page",
68
+ size: "default",
69
+ className: cn("gap-1 px-2.5", className),
70
+ ...props,
71
+ children: [
72
+ /* @__PURE__ */ jsx("span", { className: "hidden sm:inline", children: "Next" }),
73
+ /* @__PURE__ */ jsx(ChevronRight, { className: "size-4" })
74
+ ]
75
+ }
76
+ );
77
+ }
78
+ function PaginationEllipsis({ className, ...props }) {
79
+ return /* @__PURE__ */ jsxs(
80
+ "span",
81
+ {
82
+ "aria-hidden": true,
83
+ "data-slot": "pagination-ellipsis",
84
+ className: cn("flex size-8 items-center justify-center", className),
85
+ ...props,
86
+ children: [
87
+ /* @__PURE__ */ jsx(MoreHorizontal, { className: "size-4" }),
88
+ /* @__PURE__ */ jsx("span", { className: "sr-only", children: "More pages" })
89
+ ]
90
+ }
91
+ );
92
+ }
93
+ function getPaginationRange(page, pageCount, siblingCount = 1) {
94
+ const totalSlots = siblingCount * 2 + 5;
95
+ if (pageCount <= totalSlots) return Array.from({ length: pageCount }, (_, i) => i + 1);
96
+ const leftSibling = Math.max(page - siblingCount, 1);
97
+ const rightSibling = Math.min(page + siblingCount, pageCount);
98
+ const showLeftEllipsis = leftSibling > 2;
99
+ const showRightEllipsis = rightSibling < pageCount - 1;
100
+ const range = [1];
101
+ if (showLeftEllipsis) range.push("ellipsis");
102
+ for (let i = leftSibling === 1 ? 2 : leftSibling; i <= (rightSibling === pageCount ? pageCount - 1 : rightSibling); i++) {
103
+ if (i > 1 && i < pageCount) range.push(i);
104
+ }
105
+ if (showRightEllipsis) range.push("ellipsis");
106
+ range.push(pageCount);
107
+ return range;
108
+ }
109
+ function PaginationBar({ page, pageCount, onPageChange, siblingCount, className }) {
110
+ if (pageCount <= 1) return null;
111
+ const range = getPaginationRange(page, pageCount, siblingCount);
112
+ return /* @__PURE__ */ jsx(Pagination, { className, children: /* @__PURE__ */ jsxs(PaginationContent, { children: [
113
+ /* @__PURE__ */ jsx(PaginationItem, { children: /* @__PURE__ */ jsx(
114
+ PaginationPrevious,
115
+ {
116
+ disabled: page <= 1,
117
+ onClick: () => onPageChange(page - 1)
118
+ }
119
+ ) }),
120
+ range.map(
121
+ (p, i) => p === "ellipsis" ? /* @__PURE__ */ jsx(PaginationItem, { children: /* @__PURE__ */ jsx(PaginationEllipsis, {}) }, `ellipsis-${i}`) : /* @__PURE__ */ jsx(PaginationItem, { children: /* @__PURE__ */ jsx(PaginationLink, { isActive: p === page, onClick: () => onPageChange(p), children: p }) }, p)
122
+ ),
123
+ /* @__PURE__ */ jsx(PaginationItem, { children: /* @__PURE__ */ jsx(
124
+ PaginationNext,
125
+ {
126
+ disabled: page >= pageCount,
127
+ onClick: () => onPageChange(page + 1)
128
+ }
129
+ ) })
130
+ ] }) });
131
+ }
132
+
133
+ export {
134
+ Pagination,
135
+ PaginationContent,
136
+ PaginationItem,
137
+ PaginationLink,
138
+ PaginationPrevious,
139
+ PaginationNext,
140
+ PaginationEllipsis,
141
+ getPaginationRange,
142
+ PaginationBar
143
+ };
@@ -0,0 +1,156 @@
1
+ import {
2
+ cn
3
+ } from "./chunk-PJO7WJ4G.mjs";
4
+
5
+ // src/combobox/index.tsx
6
+ import { Combobox as ComboboxPrimitive } from "@base-ui/react/combobox";
7
+ import { Check, ChevronsUpDown, X } from "lucide-react";
8
+ import { jsx, jsxs } from "react/jsx-runtime";
9
+ function Combobox({
10
+ ...props
11
+ }) {
12
+ return /* @__PURE__ */ jsx(ComboboxPrimitive.Root, { "data-slot": "combobox", ...props });
13
+ }
14
+ function ComboboxInputGroup({ className, ...props }) {
15
+ return /* @__PURE__ */ jsx(
16
+ ComboboxPrimitive.InputGroup,
17
+ {
18
+ "data-slot": "combobox-input-group",
19
+ className: cn("relative flex items-center", className),
20
+ ...props
21
+ }
22
+ );
23
+ }
24
+ function ComboboxInput({ className, ...props }) {
25
+ return /* @__PURE__ */ jsx(
26
+ ComboboxPrimitive.Input,
27
+ {
28
+ "data-slot": "combobox-input",
29
+ className: cn(
30
+ "h-8 w-full min-w-0 rounded-lg border border-input bg-transparent px-2.5 py-1 pr-8 text-base transition-colors outline-none placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",
31
+ className
32
+ ),
33
+ ...props
34
+ }
35
+ );
36
+ }
37
+ function ComboboxTrigger({ className, ...props }) {
38
+ return /* @__PURE__ */ jsx(
39
+ ComboboxPrimitive.Trigger,
40
+ {
41
+ "data-slot": "combobox-trigger",
42
+ className: cn(
43
+ "absolute right-1.5 inline-flex size-5 items-center justify-center rounded text-muted-foreground outline-none hover:text-foreground",
44
+ className
45
+ ),
46
+ ...props,
47
+ children: /* @__PURE__ */ jsx(ChevronsUpDown, { className: "size-3.5" })
48
+ }
49
+ );
50
+ }
51
+ function ComboboxClear({ className, ...props }) {
52
+ return /* @__PURE__ */ jsx(
53
+ ComboboxPrimitive.Clear,
54
+ {
55
+ "data-slot": "combobox-clear",
56
+ className: cn(
57
+ "absolute right-1.5 inline-flex size-5 items-center justify-center rounded text-muted-foreground outline-none hover:text-foreground",
58
+ className
59
+ ),
60
+ ...props,
61
+ children: /* @__PURE__ */ jsx(X, { className: "size-3.5" })
62
+ }
63
+ );
64
+ }
65
+ function ComboboxPortal({ ...props }) {
66
+ return /* @__PURE__ */ jsx(ComboboxPrimitive.Portal, { ...props });
67
+ }
68
+ function ComboboxPositioner({
69
+ className,
70
+ align = "start",
71
+ sideOffset = 4,
72
+ ...props
73
+ }) {
74
+ return /* @__PURE__ */ jsx(
75
+ ComboboxPrimitive.Positioner,
76
+ {
77
+ "data-slot": "combobox-positioner",
78
+ align,
79
+ sideOffset,
80
+ className: cn("isolate z-50", className),
81
+ ...props
82
+ }
83
+ );
84
+ }
85
+ function ComboboxPopup({ className, ...props }) {
86
+ return /* @__PURE__ */ jsx(
87
+ ComboboxPrimitive.Popup,
88
+ {
89
+ "data-slot": "combobox-popup",
90
+ className: cn(
91
+ "z-50 max-h-72 w-(--anchor-width) min-w-40 origin-(--transform-origin) overflow-auto rounded-lg bg-popover p-1 text-sm text-popover-foreground shadow-md ring-1 ring-foreground/10 outline-hidden duration-100 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",
92
+ className
93
+ ),
94
+ ...props
95
+ }
96
+ );
97
+ }
98
+ function ComboboxList({ ...props }) {
99
+ return /* @__PURE__ */ jsx(ComboboxPrimitive.List, { "data-slot": "combobox-list", ...props });
100
+ }
101
+ function ComboboxEmpty({ className, ...props }) {
102
+ return /* @__PURE__ */ jsx(
103
+ ComboboxPrimitive.Empty,
104
+ {
105
+ "data-slot": "combobox-empty",
106
+ className: cn("px-2 py-4 text-center text-sm text-muted-foreground", className),
107
+ ...props
108
+ }
109
+ );
110
+ }
111
+ function ComboboxGroup({ ...props }) {
112
+ return /* @__PURE__ */ jsx(ComboboxPrimitive.Group, { "data-slot": "combobox-group", ...props });
113
+ }
114
+ function ComboboxGroupLabel({ className, ...props }) {
115
+ return /* @__PURE__ */ jsx(
116
+ ComboboxPrimitive.GroupLabel,
117
+ {
118
+ "data-slot": "combobox-group-label",
119
+ className: cn("px-2 py-1.5 text-xs font-medium text-muted-foreground", className),
120
+ ...props
121
+ }
122
+ );
123
+ }
124
+ function ComboboxItem({ className, children, ...props }) {
125
+ return /* @__PURE__ */ jsxs(
126
+ ComboboxPrimitive.Item,
127
+ {
128
+ "data-slot": "combobox-item",
129
+ className: cn(
130
+ "relative flex cursor-default select-none items-center gap-2 rounded-md py-1.5 pl-7 pr-2 text-sm outline-hidden data-highlighted:bg-muted data-highlighted:text-foreground data-disabled:pointer-events-none data-disabled:opacity-50",
131
+ className
132
+ ),
133
+ ...props,
134
+ children: [
135
+ /* @__PURE__ */ jsx("span", { className: "absolute left-1.5 flex size-4 items-center justify-center", children: /* @__PURE__ */ jsx(ComboboxPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx(Check, { className: "size-3.5" }) }) }),
136
+ children
137
+ ]
138
+ }
139
+ );
140
+ }
141
+
142
+ export {
143
+ Combobox,
144
+ ComboboxInputGroup,
145
+ ComboboxInput,
146
+ ComboboxTrigger,
147
+ ComboboxClear,
148
+ ComboboxPortal,
149
+ ComboboxPositioner,
150
+ ComboboxPopup,
151
+ ComboboxList,
152
+ ComboboxEmpty,
153
+ ComboboxGroup,
154
+ ComboboxGroupLabel,
155
+ ComboboxItem
156
+ };