@e-infra/design-system 0.0.2 → 0.0.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 (210) hide show
  1. package/README.md +1 -1
  2. package/dist/index.cjs.js +4721 -295
  3. package/dist/index.cjs.js.map +1 -1
  4. package/dist/index.cjs2.js +253 -295
  5. package/dist/index.cjs2.js.map +1 -1
  6. package/dist/index.cjs3.js +253 -295
  7. package/dist/index.cjs3.js.map +1 -1
  8. package/dist/index.es.js +4432 -49
  9. package/dist/index.es.js.map +1 -1
  10. package/dist/index.es2.js +7 -49
  11. package/dist/index.es2.js.map +1 -1
  12. package/dist/index.es3.js +7 -49
  13. package/dist/index.es3.js.map +1 -1
  14. package/dist/types/components/index.d.ts +1 -0
  15. package/dist/types/components/index.d.ts.map +1 -1
  16. package/dist/types/components/ui/stepper.d.ts +42 -0
  17. package/dist/types/components/ui/stepper.d.ts.map +1 -0
  18. package/package.json +4 -4
  19. package/dist/index.cjs10.js +0 -105
  20. package/dist/index.cjs10.js.map +0 -1
  21. package/dist/index.cjs11.js +0 -56
  22. package/dist/index.cjs11.js.map +0 -1
  23. package/dist/index.cjs12.js +0 -206
  24. package/dist/index.cjs12.js.map +0 -1
  25. package/dist/index.cjs13.js +0 -92
  26. package/dist/index.cjs13.js.map +0 -1
  27. package/dist/index.cjs14.js +0 -216
  28. package/dist/index.cjs14.js.map +0 -1
  29. package/dist/index.cjs15.js +0 -261
  30. package/dist/index.cjs15.js.map +0 -1
  31. package/dist/index.cjs16.js +0 -50
  32. package/dist/index.cjs16.js.map +0 -1
  33. package/dist/index.cjs17.js +0 -53
  34. package/dist/index.cjs17.js.map +0 -1
  35. package/dist/index.cjs18.js +0 -173
  36. package/dist/index.cjs18.js.map +0 -1
  37. package/dist/index.cjs19.js +0 -242
  38. package/dist/index.cjs19.js.map +0 -1
  39. package/dist/index.cjs20.js +0 -156
  40. package/dist/index.cjs20.js.map +0 -1
  41. package/dist/index.cjs21.js +0 -130
  42. package/dist/index.cjs21.js.map +0 -1
  43. package/dist/index.cjs22.js +0 -251
  44. package/dist/index.cjs22.js.map +0 -1
  45. package/dist/index.cjs23.js +0 -134
  46. package/dist/index.cjs23.js.map +0 -1
  47. package/dist/index.cjs24.js +0 -57
  48. package/dist/index.cjs24.js.map +0 -1
  49. package/dist/index.cjs25.js +0 -23
  50. package/dist/index.cjs25.js.map +0 -1
  51. package/dist/index.cjs26.js +0 -85
  52. package/dist/index.cjs26.js.map +0 -1
  53. package/dist/index.cjs27.js +0 -41
  54. package/dist/index.cjs27.js.map +0 -1
  55. package/dist/index.cjs28.js +0 -271
  56. package/dist/index.cjs28.js.map +0 -1
  57. package/dist/index.cjs29.js +0 -189
  58. package/dist/index.cjs29.js.map +0 -1
  59. package/dist/index.cjs30.js +0 -120
  60. package/dist/index.cjs30.js.map +0 -1
  61. package/dist/index.cjs31.js +0 -63
  62. package/dist/index.cjs31.js.map +0 -1
  63. package/dist/index.cjs32.js +0 -51
  64. package/dist/index.cjs32.js.map +0 -1
  65. package/dist/index.cjs33.js +0 -64
  66. package/dist/index.cjs33.js.map +0 -1
  67. package/dist/index.cjs34.js +0 -49
  68. package/dist/index.cjs34.js.map +0 -1
  69. package/dist/index.cjs35.js +0 -79
  70. package/dist/index.cjs35.js.map +0 -1
  71. package/dist/index.cjs36.js +0 -198
  72. package/dist/index.cjs36.js.map +0 -1
  73. package/dist/index.cjs37.js +0 -45
  74. package/dist/index.cjs37.js.map +0 -1
  75. package/dist/index.cjs38.js +0 -146
  76. package/dist/index.cjs38.js.map +0 -1
  77. package/dist/index.cjs39.js +0 -657
  78. package/dist/index.cjs39.js.map +0 -1
  79. package/dist/index.cjs4.js +0 -83
  80. package/dist/index.cjs4.js.map +0 -1
  81. package/dist/index.cjs40.js +0 -16
  82. package/dist/index.cjs40.js.map +0 -1
  83. package/dist/index.cjs41.js +0 -82
  84. package/dist/index.cjs41.js.map +0 -1
  85. package/dist/index.cjs42.js +0 -33
  86. package/dist/index.cjs42.js.map +0 -1
  87. package/dist/index.cjs43.js +0 -50
  88. package/dist/index.cjs43.js.map +0 -1
  89. package/dist/index.cjs44.js +0 -117
  90. package/dist/index.cjs44.js.map +0 -1
  91. package/dist/index.cjs45.js +0 -86
  92. package/dist/index.cjs45.js.map +0 -1
  93. package/dist/index.cjs46.js +0 -20
  94. package/dist/index.cjs46.js.map +0 -1
  95. package/dist/index.cjs47.js +0 -63
  96. package/dist/index.cjs47.js.map +0 -1
  97. package/dist/index.cjs48.js +0 -88
  98. package/dist/index.cjs48.js.map +0 -1
  99. package/dist/index.cjs49.js +0 -74
  100. package/dist/index.cjs49.js.map +0 -1
  101. package/dist/index.cjs5.js +0 -68
  102. package/dist/index.cjs5.js.map +0 -1
  103. package/dist/index.cjs50.js +0 -9
  104. package/dist/index.cjs50.js.map +0 -1
  105. package/dist/index.cjs51.js +0 -38
  106. package/dist/index.cjs51.js.map +0 -1
  107. package/dist/index.cjs6.js +0 -166
  108. package/dist/index.cjs6.js.map +0 -1
  109. package/dist/index.cjs7.js +0 -29
  110. package/dist/index.cjs7.js.map +0 -1
  111. package/dist/index.cjs8.js +0 -72
  112. package/dist/index.cjs8.js.map +0 -1
  113. package/dist/index.cjs9.js +0 -42
  114. package/dist/index.cjs9.js.map +0 -1
  115. package/dist/index.es10.js +0 -105
  116. package/dist/index.es10.js.map +0 -1
  117. package/dist/index.es11.js +0 -56
  118. package/dist/index.es11.js.map +0 -1
  119. package/dist/index.es12.js +0 -189
  120. package/dist/index.es12.js.map +0 -1
  121. package/dist/index.es13.js +0 -92
  122. package/dist/index.es13.js.map +0 -1
  123. package/dist/index.es14.js +0 -199
  124. package/dist/index.es14.js.map +0 -1
  125. package/dist/index.es15.js +0 -243
  126. package/dist/index.es15.js.map +0 -1
  127. package/dist/index.es16.js +0 -33
  128. package/dist/index.es16.js.map +0 -1
  129. package/dist/index.es17.js +0 -36
  130. package/dist/index.es17.js.map +0 -1
  131. package/dist/index.es18.js +0 -173
  132. package/dist/index.es18.js.map +0 -1
  133. package/dist/index.es19.js +0 -225
  134. package/dist/index.es19.js.map +0 -1
  135. package/dist/index.es20.js +0 -139
  136. package/dist/index.es20.js.map +0 -1
  137. package/dist/index.es21.js +0 -130
  138. package/dist/index.es21.js.map +0 -1
  139. package/dist/index.es22.js +0 -234
  140. package/dist/index.es22.js.map +0 -1
  141. package/dist/index.es23.js +0 -117
  142. package/dist/index.es23.js.map +0 -1
  143. package/dist/index.es24.js +0 -40
  144. package/dist/index.es24.js.map +0 -1
  145. package/dist/index.es25.js +0 -23
  146. package/dist/index.es25.js.map +0 -1
  147. package/dist/index.es26.js +0 -68
  148. package/dist/index.es26.js.map +0 -1
  149. package/dist/index.es27.js +0 -24
  150. package/dist/index.es27.js.map +0 -1
  151. package/dist/index.es28.js +0 -254
  152. package/dist/index.es28.js.map +0 -1
  153. package/dist/index.es29.js +0 -172
  154. package/dist/index.es29.js.map +0 -1
  155. package/dist/index.es30.js +0 -120
  156. package/dist/index.es30.js.map +0 -1
  157. package/dist/index.es31.js +0 -46
  158. package/dist/index.es31.js.map +0 -1
  159. package/dist/index.es32.js +0 -34
  160. package/dist/index.es32.js.map +0 -1
  161. package/dist/index.es33.js +0 -47
  162. package/dist/index.es33.js.map +0 -1
  163. package/dist/index.es34.js +0 -49
  164. package/dist/index.es34.js.map +0 -1
  165. package/dist/index.es35.js +0 -62
  166. package/dist/index.es35.js.map +0 -1
  167. package/dist/index.es36.js +0 -181
  168. package/dist/index.es36.js.map +0 -1
  169. package/dist/index.es37.js +0 -28
  170. package/dist/index.es37.js.map +0 -1
  171. package/dist/index.es38.js +0 -129
  172. package/dist/index.es38.js.map +0 -1
  173. package/dist/index.es39.js +0 -640
  174. package/dist/index.es39.js.map +0 -1
  175. package/dist/index.es4.js +0 -66
  176. package/dist/index.es4.js.map +0 -1
  177. package/dist/index.es40.js +0 -16
  178. package/dist/index.es40.js.map +0 -1
  179. package/dist/index.es41.js +0 -64
  180. package/dist/index.es41.js.map +0 -1
  181. package/dist/index.es42.js +0 -33
  182. package/dist/index.es42.js.map +0 -1
  183. package/dist/index.es43.js +0 -33
  184. package/dist/index.es43.js.map +0 -1
  185. package/dist/index.es44.js +0 -117
  186. package/dist/index.es44.js.map +0 -1
  187. package/dist/index.es45.js +0 -69
  188. package/dist/index.es45.js.map +0 -1
  189. package/dist/index.es46.js +0 -20
  190. package/dist/index.es46.js.map +0 -1
  191. package/dist/index.es47.js +0 -46
  192. package/dist/index.es47.js.map +0 -1
  193. package/dist/index.es48.js +0 -70
  194. package/dist/index.es48.js.map +0 -1
  195. package/dist/index.es49.js +0 -57
  196. package/dist/index.es49.js.map +0 -1
  197. package/dist/index.es5.js +0 -68
  198. package/dist/index.es5.js.map +0 -1
  199. package/dist/index.es50.js +0 -9
  200. package/dist/index.es50.js.map +0 -1
  201. package/dist/index.es51.js +0 -21
  202. package/dist/index.es51.js.map +0 -1
  203. package/dist/index.es6.js +0 -149
  204. package/dist/index.es6.js.map +0 -1
  205. package/dist/index.es7.js +0 -12
  206. package/dist/index.es7.js.map +0 -1
  207. package/dist/index.es8.js +0 -55
  208. package/dist/index.es8.js.map +0 -1
  209. package/dist/index.es9.js +0 -42
  210. package/dist/index.es9.js.map +0 -1
@@ -1,206 +0,0 @@
1
- "use strict";
2
- "use client";
3
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
4
- const jsxRuntime = require("react/jsx-runtime");
5
- const React = require("react");
6
- const lucideReact = require("lucide-react");
7
- const reactDayPicker = require("react-day-picker");
8
- const utils = require("./index.cjs50.js");
9
- const button = require("./index.cjs11.js");
10
- function _interopNamespaceDefault(e) {
11
- const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
12
- if (e) {
13
- for (const k in e) {
14
- if (k !== "default") {
15
- const d = Object.getOwnPropertyDescriptor(e, k);
16
- Object.defineProperty(n, k, d.get ? d : {
17
- enumerable: true,
18
- get: () => e[k]
19
- });
20
- }
21
- }
22
- }
23
- n.default = e;
24
- return Object.freeze(n);
25
- }
26
- const React__namespace = /* @__PURE__ */ _interopNamespaceDefault(React);
27
- function Calendar({
28
- className,
29
- classNames,
30
- showOutsideDays = true,
31
- captionLayout = "label",
32
- buttonVariant = "ghost",
33
- formatters,
34
- components,
35
- ...props
36
- }) {
37
- const defaultClassNames = reactDayPicker.getDefaultClassNames();
38
- return /* @__PURE__ */ jsxRuntime.jsx(
39
- reactDayPicker.DayPicker,
40
- {
41
- showOutsideDays,
42
- className: utils.cn(
43
- "bg-background group/calendar p-3 [--cell-size:--spacing(8)] [[data-slot=card-content]_&]:bg-transparent [[data-slot=popover-content]_&]:bg-transparent",
44
- String.raw`rtl:**:[.rdp-button\_next>svg]:rotate-180`,
45
- String.raw`rtl:**:[.rdp-button\_previous>svg]:rotate-180`,
46
- className
47
- ),
48
- captionLayout,
49
- formatters: {
50
- formatMonthDropdown: (date) => date.toLocaleString("default", { month: "short" }),
51
- ...formatters
52
- },
53
- classNames: {
54
- root: utils.cn("w-fit", defaultClassNames.root),
55
- months: utils.cn(
56
- "flex gap-4 flex-col md:flex-row relative",
57
- defaultClassNames.months
58
- ),
59
- month: utils.cn("flex flex-col w-full gap-4", defaultClassNames.month),
60
- nav: utils.cn(
61
- "flex items-center gap-1 w-full absolute top-0 inset-x-0 justify-between",
62
- defaultClassNames.nav
63
- ),
64
- button_previous: utils.cn(
65
- button.buttonVariants({ variant: buttonVariant }),
66
- "size-(--cell-size) aria-disabled:opacity-50 p-0 select-none",
67
- defaultClassNames.button_previous
68
- ),
69
- button_next: utils.cn(
70
- button.buttonVariants({ variant: buttonVariant }),
71
- "size-(--cell-size) aria-disabled:opacity-50 p-0 select-none",
72
- defaultClassNames.button_next
73
- ),
74
- month_caption: utils.cn(
75
- "flex items-center justify-center h-(--cell-size) w-full px-(--cell-size)",
76
- defaultClassNames.month_caption
77
- ),
78
- dropdowns: utils.cn(
79
- "w-full flex items-center text-sm font-medium justify-center h-(--cell-size) gap-1.5",
80
- defaultClassNames.dropdowns
81
- ),
82
- dropdown_root: utils.cn(
83
- "relative has-focus:border-ring border border-input shadow-xs has-focus:ring-ring/50 has-focus:ring-[3px] rounded-md",
84
- defaultClassNames.dropdown_root
85
- ),
86
- dropdown: utils.cn(
87
- "absolute bg-popover inset-0 opacity-0",
88
- defaultClassNames.dropdown
89
- ),
90
- caption_label: utils.cn(
91
- "select-none font-medium",
92
- captionLayout === "label" ? "text-sm" : "rounded-md pl-2 pr-1 flex items-center gap-1 text-sm h-8 [&>svg]:text-muted-foreground [&>svg]:size-3.5",
93
- defaultClassNames.caption_label
94
- ),
95
- table: "w-full border-collapse",
96
- weekdays: utils.cn("flex", defaultClassNames.weekdays),
97
- weekday: utils.cn(
98
- "text-muted-foreground rounded-md flex-1 font-normal text-[0.8rem] select-none",
99
- defaultClassNames.weekday
100
- ),
101
- week: utils.cn("flex w-full mt-2", defaultClassNames.week),
102
- week_number_header: utils.cn(
103
- "select-none w-(--cell-size)",
104
- defaultClassNames.week_number_header
105
- ),
106
- week_number: utils.cn(
107
- "text-[0.8rem] select-none text-muted-foreground",
108
- defaultClassNames.week_number
109
- ),
110
- day: utils.cn(
111
- "relative w-full h-full p-0 text-center [&:last-child[data-selected=true]_button]:rounded-r-md group/day aspect-square select-none",
112
- props.showWeekNumber ? "[&:nth-child(2)[data-selected=true]_button]:rounded-l-md" : "[&:first-child[data-selected=true]_button]:rounded-l-md",
113
- defaultClassNames.day
114
- ),
115
- range_start: utils.cn(
116
- "rounded-l-md bg-accent",
117
- defaultClassNames.range_start
118
- ),
119
- range_middle: utils.cn("rounded-none", defaultClassNames.range_middle),
120
- range_end: utils.cn("rounded-r-md bg-accent", defaultClassNames.range_end),
121
- today: utils.cn(
122
- "bg-accent text-accent-foreground rounded-md data-[selected=true]:rounded-none",
123
- defaultClassNames.today
124
- ),
125
- outside: utils.cn(
126
- "text-muted-foreground aria-selected:text-muted-foreground",
127
- defaultClassNames.outside
128
- ),
129
- disabled: utils.cn(
130
- "text-muted-foreground opacity-50",
131
- defaultClassNames.disabled
132
- ),
133
- hidden: utils.cn("invisible", defaultClassNames.hidden),
134
- ...classNames
135
- },
136
- components: {
137
- Root: ({ className: className2, rootRef, ...props2 }) => {
138
- return /* @__PURE__ */ jsxRuntime.jsx(
139
- "div",
140
- {
141
- "data-slot": "calendar",
142
- ref: rootRef,
143
- className: utils.cn(className2),
144
- ...props2
145
- }
146
- );
147
- },
148
- Chevron: ({ className: className2, orientation, ...props2 }) => {
149
- if (orientation === "left") {
150
- return /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronLeftIcon, { className: utils.cn("size-4", className2), ...props2 });
151
- }
152
- if (orientation === "right") {
153
- return /* @__PURE__ */ jsxRuntime.jsx(
154
- lucideReact.ChevronRightIcon,
155
- {
156
- className: utils.cn("size-4", className2),
157
- ...props2
158
- }
159
- );
160
- }
161
- return /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronDownIcon, { className: utils.cn("size-4", className2), ...props2 });
162
- },
163
- DayButton: CalendarDayButton,
164
- WeekNumber: ({ children, ...props2 }) => {
165
- return /* @__PURE__ */ jsxRuntime.jsx("td", { ...props2, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex size-(--cell-size) items-center justify-center text-center", children }) });
166
- },
167
- ...components
168
- },
169
- ...props
170
- }
171
- );
172
- }
173
- function CalendarDayButton({
174
- className,
175
- day,
176
- modifiers,
177
- ...props
178
- }) {
179
- const defaultClassNames = reactDayPicker.getDefaultClassNames();
180
- const ref = React__namespace.useRef(null);
181
- React__namespace.useEffect(() => {
182
- if (modifiers.focused) ref.current?.focus();
183
- }, [modifiers.focused]);
184
- return /* @__PURE__ */ jsxRuntime.jsx(
185
- button.Button,
186
- {
187
- ref,
188
- variant: "ghost",
189
- size: "icon",
190
- "data-day": day.date.toLocaleDateString(),
191
- "data-selected-single": modifiers.selected && !modifiers.range_start && !modifiers.range_end && !modifiers.range_middle,
192
- "data-range-start": modifiers.range_start,
193
- "data-range-end": modifiers.range_end,
194
- "data-range-middle": modifiers.range_middle,
195
- className: utils.cn(
196
- "data-[selected-single=true]:bg-primary data-[selected-single=true]:text-primary-foreground data-[range-middle=true]:bg-accent data-[range-middle=true]:text-accent-foreground data-[range-start=true]:bg-primary data-[range-start=true]:text-primary-foreground data-[range-end=true]:bg-primary data-[range-end=true]:text-primary-foreground group-data-[focused=true]/day:border-ring group-data-[focused=true]/day:ring-ring/50 dark:hover:text-accent-foreground flex aspect-square size-auto w-full min-w-(--cell-size) flex-col gap-1 leading-none font-normal group-data-[focused=true]/day:relative group-data-[focused=true]/day:z-10 group-data-[focused=true]/day:ring-[3px] data-[range-end=true]:rounded-md data-[range-end=true]:rounded-r-md data-[range-middle=true]:rounded-none data-[range-start=true]:rounded-md data-[range-start=true]:rounded-l-md [&>span]:text-xs [&>span]:opacity-70",
197
- defaultClassNames.day,
198
- className
199
- ),
200
- ...props
201
- }
202
- );
203
- }
204
- exports.Calendar = Calendar;
205
- exports.CalendarDayButton = CalendarDayButton;
206
- //# sourceMappingURL=index.cjs12.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.cjs12.js","sources":["../lib/components/ui/calendar.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport {\n ChevronDownIcon,\n ChevronLeftIcon,\n ChevronRightIcon,\n} from \"lucide-react\";\nimport {\n DayPicker,\n getDefaultClassNames,\n type DayButton,\n} from \"react-day-picker\";\n\nimport { cn } from \"@/lib/utils\";\nimport { Button, buttonVariants } from \"./button\";\n\nfunction Calendar({\n className,\n classNames,\n showOutsideDays = true,\n captionLayout = \"label\",\n buttonVariant = \"ghost\",\n formatters,\n components,\n ...props\n}: React.ComponentProps<typeof DayPicker> & {\n buttonVariant?: React.ComponentProps<typeof Button>[\"variant\"];\n}) {\n const defaultClassNames = getDefaultClassNames();\n\n return (\n <DayPicker\n showOutsideDays={showOutsideDays}\n className={cn(\n \"bg-background group/calendar p-3 [--cell-size:--spacing(8)] [[data-slot=card-content]_&]:bg-transparent [[data-slot=popover-content]_&]:bg-transparent\",\n String.raw`rtl:**:[.rdp-button\\_next>svg]:rotate-180`,\n String.raw`rtl:**:[.rdp-button\\_previous>svg]:rotate-180`,\n className\n )}\n captionLayout={captionLayout}\n formatters={{\n formatMonthDropdown: (date) =>\n date.toLocaleString(\"default\", { month: \"short\" }),\n ...formatters,\n }}\n classNames={{\n root: cn(\"w-fit\", defaultClassNames.root),\n months: cn(\n \"flex gap-4 flex-col md:flex-row relative\",\n defaultClassNames.months\n ),\n month: cn(\"flex flex-col w-full gap-4\", defaultClassNames.month),\n nav: cn(\n \"flex items-center gap-1 w-full absolute top-0 inset-x-0 justify-between\",\n defaultClassNames.nav\n ),\n button_previous: cn(\n buttonVariants({ variant: buttonVariant }),\n \"size-(--cell-size) aria-disabled:opacity-50 p-0 select-none\",\n defaultClassNames.button_previous\n ),\n button_next: cn(\n buttonVariants({ variant: buttonVariant }),\n \"size-(--cell-size) aria-disabled:opacity-50 p-0 select-none\",\n defaultClassNames.button_next\n ),\n month_caption: cn(\n \"flex items-center justify-center h-(--cell-size) w-full px-(--cell-size)\",\n defaultClassNames.month_caption\n ),\n dropdowns: cn(\n \"w-full flex items-center text-sm font-medium justify-center h-(--cell-size) gap-1.5\",\n defaultClassNames.dropdowns\n ),\n dropdown_root: cn(\n \"relative has-focus:border-ring border border-input shadow-xs has-focus:ring-ring/50 has-focus:ring-[3px] rounded-md\",\n defaultClassNames.dropdown_root\n ),\n dropdown: cn(\n \"absolute bg-popover inset-0 opacity-0\",\n defaultClassNames.dropdown\n ),\n caption_label: cn(\n \"select-none font-medium\",\n captionLayout === \"label\"\n ? \"text-sm\"\n : \"rounded-md pl-2 pr-1 flex items-center gap-1 text-sm h-8 [&>svg]:text-muted-foreground [&>svg]:size-3.5\",\n defaultClassNames.caption_label\n ),\n table: \"w-full border-collapse\",\n weekdays: cn(\"flex\", defaultClassNames.weekdays),\n weekday: cn(\n \"text-muted-foreground rounded-md flex-1 font-normal text-[0.8rem] select-none\",\n defaultClassNames.weekday\n ),\n week: cn(\"flex w-full mt-2\", defaultClassNames.week),\n week_number_header: cn(\n \"select-none w-(--cell-size)\",\n defaultClassNames.week_number_header\n ),\n week_number: cn(\n \"text-[0.8rem] select-none text-muted-foreground\",\n defaultClassNames.week_number\n ),\n day: cn(\n \"relative w-full h-full p-0 text-center [&:last-child[data-selected=true]_button]:rounded-r-md group/day aspect-square select-none\",\n props.showWeekNumber\n ? \"[&:nth-child(2)[data-selected=true]_button]:rounded-l-md\"\n : \"[&:first-child[data-selected=true]_button]:rounded-l-md\",\n defaultClassNames.day\n ),\n range_start: cn(\n \"rounded-l-md bg-accent\",\n defaultClassNames.range_start\n ),\n range_middle: cn(\"rounded-none\", defaultClassNames.range_middle),\n range_end: cn(\"rounded-r-md bg-accent\", defaultClassNames.range_end),\n today: cn(\n \"bg-accent text-accent-foreground rounded-md data-[selected=true]:rounded-none\",\n defaultClassNames.today\n ),\n outside: cn(\n \"text-muted-foreground aria-selected:text-muted-foreground\",\n defaultClassNames.outside\n ),\n disabled: cn(\n \"text-muted-foreground opacity-50\",\n defaultClassNames.disabled\n ),\n hidden: cn(\"invisible\", defaultClassNames.hidden),\n ...classNames,\n }}\n components={{\n Root: ({ className, rootRef, ...props }) => {\n return (\n <div\n data-slot=\"calendar\"\n ref={rootRef}\n className={cn(className)}\n {...props}\n />\n );\n },\n Chevron: ({ className, orientation, ...props }) => {\n if (orientation === \"left\") {\n return (\n <ChevronLeftIcon className={cn(\"size-4\", className)} {...props} />\n );\n }\n\n if (orientation === \"right\") {\n return (\n <ChevronRightIcon\n className={cn(\"size-4\", className)}\n {...props}\n />\n );\n }\n\n return (\n <ChevronDownIcon className={cn(\"size-4\", className)} {...props} />\n );\n },\n DayButton: CalendarDayButton,\n WeekNumber: ({ children, ...props }) => {\n return (\n <td {...props}>\n <div className=\"flex size-(--cell-size) items-center justify-center text-center\">\n {children}\n </div>\n </td>\n );\n },\n ...components,\n }}\n {...props}\n />\n );\n}\n\nfunction CalendarDayButton({\n className,\n day,\n modifiers,\n ...props\n}: React.ComponentProps<typeof DayButton>) {\n const defaultClassNames = getDefaultClassNames();\n\n const ref = React.useRef<HTMLButtonElement>(null);\n React.useEffect(() => {\n if (modifiers.focused) ref.current?.focus();\n }, [modifiers.focused]);\n\n return (\n <Button\n ref={ref}\n variant=\"ghost\"\n size=\"icon\"\n data-day={day.date.toLocaleDateString()}\n data-selected-single={\n modifiers.selected &&\n !modifiers.range_start &&\n !modifiers.range_end &&\n !modifiers.range_middle\n }\n data-range-start={modifiers.range_start}\n data-range-end={modifiers.range_end}\n data-range-middle={modifiers.range_middle}\n className={cn(\n \"data-[selected-single=true]:bg-primary data-[selected-single=true]:text-primary-foreground data-[range-middle=true]:bg-accent data-[range-middle=true]:text-accent-foreground data-[range-start=true]:bg-primary data-[range-start=true]:text-primary-foreground data-[range-end=true]:bg-primary data-[range-end=true]:text-primary-foreground group-data-[focused=true]/day:border-ring group-data-[focused=true]/day:ring-ring/50 dark:hover:text-accent-foreground flex aspect-square size-auto w-full min-w-(--cell-size) flex-col gap-1 leading-none font-normal group-data-[focused=true]/day:relative group-data-[focused=true]/day:z-10 group-data-[focused=true]/day:ring-[3px] data-[range-end=true]:rounded-md data-[range-end=true]:rounded-r-md data-[range-middle=true]:rounded-none data-[range-start=true]:rounded-md data-[range-start=true]:rounded-l-md [&>span]:text-xs [&>span]:opacity-70\",\n defaultClassNames.day,\n className\n )}\n {...props}\n />\n );\n}\n\nexport { Calendar, CalendarDayButton };\n"],"names":["getDefaultClassNames","jsx","DayPicker","cn","buttonVariants","className","props","ChevronLeftIcon","ChevronRightIcon","ChevronDownIcon","React","Button"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAiBA,SAAS,SAAS;AAAA,EAChB;AAAA,EACA;AAAA,EACA,kBAAkB;AAAA,EAClB,gBAAgB;AAAA,EAChB,gBAAgB;AAAA,EAChB;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAEG;AACD,QAAM,oBAAoBA,eAAAA,qBAAA;AAE1B,SACEC,2BAAAA;AAAAA,IAACC,eAAAA;AAAAA,IAAA;AAAA,MACC;AAAA,MACA,WAAWC,MAAAA;AAAAA,QACT;AAAA,QACA,OAAO;AAAA,QACP,OAAO;AAAA,QACP;AAAA,MAAA;AAAA,MAEF;AAAA,MACA,YAAY;AAAA,QACV,qBAAqB,CAAC,SACpB,KAAK,eAAe,WAAW,EAAE,OAAO,SAAS;AAAA,QACnD,GAAG;AAAA,MAAA;AAAA,MAEL,YAAY;AAAA,QACV,MAAMA,MAAAA,GAAG,SAAS,kBAAkB,IAAI;AAAA,QACxC,QAAQA,MAAAA;AAAAA,UACN;AAAA,UACA,kBAAkB;AAAA,QAAA;AAAA,QAEpB,OAAOA,MAAAA,GAAG,8BAA8B,kBAAkB,KAAK;AAAA,QAC/D,KAAKA,MAAAA;AAAAA,UACH;AAAA,UACA,kBAAkB;AAAA,QAAA;AAAA,QAEpB,iBAAiBA,MAAAA;AAAAA,UACfC,sBAAe,EAAE,SAAS,eAAe;AAAA,UACzC;AAAA,UACA,kBAAkB;AAAA,QAAA;AAAA,QAEpB,aAAaD,MAAAA;AAAAA,UACXC,sBAAe,EAAE,SAAS,eAAe;AAAA,UACzC;AAAA,UACA,kBAAkB;AAAA,QAAA;AAAA,QAEpB,eAAeD,MAAAA;AAAAA,UACb;AAAA,UACA,kBAAkB;AAAA,QAAA;AAAA,QAEpB,WAAWA,MAAAA;AAAAA,UACT;AAAA,UACA,kBAAkB;AAAA,QAAA;AAAA,QAEpB,eAAeA,MAAAA;AAAAA,UACb;AAAA,UACA,kBAAkB;AAAA,QAAA;AAAA,QAEpB,UAAUA,MAAAA;AAAAA,UACR;AAAA,UACA,kBAAkB;AAAA,QAAA;AAAA,QAEpB,eAAeA,MAAAA;AAAAA,UACb;AAAA,UACA,kBAAkB,UACd,YACA;AAAA,UACJ,kBAAkB;AAAA,QAAA;AAAA,QAEpB,OAAO;AAAA,QACP,UAAUA,MAAAA,GAAG,QAAQ,kBAAkB,QAAQ;AAAA,QAC/C,SAASA,MAAAA;AAAAA,UACP;AAAA,UACA,kBAAkB;AAAA,QAAA;AAAA,QAEpB,MAAMA,MAAAA,GAAG,oBAAoB,kBAAkB,IAAI;AAAA,QACnD,oBAAoBA,MAAAA;AAAAA,UAClB;AAAA,UACA,kBAAkB;AAAA,QAAA;AAAA,QAEpB,aAAaA,MAAAA;AAAAA,UACX;AAAA,UACA,kBAAkB;AAAA,QAAA;AAAA,QAEpB,KAAKA,MAAAA;AAAAA,UACH;AAAA,UACA,MAAM,iBACF,6DACA;AAAA,UACJ,kBAAkB;AAAA,QAAA;AAAA,QAEpB,aAAaA,MAAAA;AAAAA,UACX;AAAA,UACA,kBAAkB;AAAA,QAAA;AAAA,QAEpB,cAAcA,MAAAA,GAAG,gBAAgB,kBAAkB,YAAY;AAAA,QAC/D,WAAWA,MAAAA,GAAG,0BAA0B,kBAAkB,SAAS;AAAA,QACnE,OAAOA,MAAAA;AAAAA,UACL;AAAA,UACA,kBAAkB;AAAA,QAAA;AAAA,QAEpB,SAASA,MAAAA;AAAAA,UACP;AAAA,UACA,kBAAkB;AAAA,QAAA;AAAA,QAEpB,UAAUA,MAAAA;AAAAA,UACR;AAAA,UACA,kBAAkB;AAAA,QAAA;AAAA,QAEpB,QAAQA,MAAAA,GAAG,aAAa,kBAAkB,MAAM;AAAA,QAChD,GAAG;AAAA,MAAA;AAAA,MAEL,YAAY;AAAA,QACV,MAAM,CAAC,EAAE,WAAAE,YAAW,SAAS,GAAGC,aAAY;AAC1C,iBACEL,2BAAAA;AAAAA,YAAC;AAAA,YAAA;AAAA,cACC,aAAU;AAAA,cACV,KAAK;AAAA,cACL,WAAWE,MAAAA,GAAGE,UAAS;AAAA,cACtB,GAAGC;AAAAA,YAAA;AAAA,UAAA;AAAA,QAGV;AAAA,QACA,SAAS,CAAC,EAAE,WAAAD,YAAW,aAAa,GAAGC,aAAY;AACjD,cAAI,gBAAgB,QAAQ;AAC1B,mBACEL,2BAAAA,IAACM,+BAAgB,WAAWJ,MAAAA,GAAG,UAAUE,UAAS,GAAI,GAAGC,QAAO;AAAA,UAEpE;AAEA,cAAI,gBAAgB,SAAS;AAC3B,mBACEL,2BAAAA;AAAAA,cAACO,YAAAA;AAAAA,cAAA;AAAA,gBACC,WAAWL,MAAAA,GAAG,UAAUE,UAAS;AAAA,gBAChC,GAAGC;AAAAA,cAAA;AAAA,YAAA;AAAA,UAGV;AAEA,iBACEL,2BAAAA,IAACQ,+BAAgB,WAAWN,MAAAA,GAAG,UAAUE,UAAS,GAAI,GAAGC,QAAO;AAAA,QAEpE;AAAA,QACA,WAAW;AAAA,QACX,YAAY,CAAC,EAAE,UAAU,GAAGA,aAAY;AACtC,iBACEL,2BAAAA,IAAC,QAAI,GAAGK,QACN,yCAAC,OAAA,EAAI,WAAU,mEACZ,SAAA,CACH,EAAA,CACF;AAAA,QAEJ;AAAA,QACA,GAAG;AAAA,MAAA;AAAA,MAEJ,GAAG;AAAA,IAAA;AAAA,EAAA;AAGV;AAEA,SAAS,kBAAkB;AAAA,EACzB;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAA2C;AACzC,QAAM,oBAAoBN,eAAAA,qBAAA;AAE1B,QAAM,MAAMU,iBAAM,OAA0B,IAAI;AAChDA,mBAAM,UAAU,MAAM;AACpB,QAAI,UAAU,QAAS,KAAI,SAAS,MAAA;AAAA,EACtC,GAAG,CAAC,UAAU,OAAO,CAAC;AAEtB,SACET,2BAAAA;AAAAA,IAACU,OAAAA;AAAAA,IAAA;AAAA,MACC;AAAA,MACA,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,YAAU,IAAI,KAAK,mBAAA;AAAA,MACnB,wBACE,UAAU,YACV,CAAC,UAAU,eACX,CAAC,UAAU,aACX,CAAC,UAAU;AAAA,MAEb,oBAAkB,UAAU;AAAA,MAC5B,kBAAgB,UAAU;AAAA,MAC1B,qBAAmB,UAAU;AAAA,MAC7B,WAAWR,MAAAA;AAAAA,QACT;AAAA,QACA,kBAAkB;AAAA,QAClB;AAAA,MAAA;AAAA,MAED,GAAG;AAAA,IAAA;AAAA,EAAA;AAGV;;;"}
@@ -1,92 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const jsxRuntime = require("react/jsx-runtime");
4
- require("react");
5
- const utils = require("./index.cjs50.js");
6
- function Card({ className, ...props }) {
7
- return /* @__PURE__ */ jsxRuntime.jsx(
8
- "div",
9
- {
10
- "data-slot": "card",
11
- className: utils.cn(
12
- "bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",
13
- className
14
- ),
15
- ...props
16
- }
17
- );
18
- }
19
- function CardHeader({ className, ...props }) {
20
- return /* @__PURE__ */ jsxRuntime.jsx(
21
- "div",
22
- {
23
- "data-slot": "card-header",
24
- className: utils.cn(
25
- "@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-2 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6",
26
- className
27
- ),
28
- ...props
29
- }
30
- );
31
- }
32
- function CardTitle({ className, ...props }) {
33
- return /* @__PURE__ */ jsxRuntime.jsx(
34
- "div",
35
- {
36
- "data-slot": "card-title",
37
- className: utils.cn("leading-none font-semibold", className),
38
- ...props
39
- }
40
- );
41
- }
42
- function CardDescription({ className, ...props }) {
43
- return /* @__PURE__ */ jsxRuntime.jsx(
44
- "div",
45
- {
46
- "data-slot": "card-description",
47
- className: utils.cn("text-muted-foreground text-sm", className),
48
- ...props
49
- }
50
- );
51
- }
52
- function CardAction({ className, ...props }) {
53
- return /* @__PURE__ */ jsxRuntime.jsx(
54
- "div",
55
- {
56
- "data-slot": "card-action",
57
- className: utils.cn(
58
- "col-start-2 row-span-2 row-start-1 self-start justify-self-end",
59
- className
60
- ),
61
- ...props
62
- }
63
- );
64
- }
65
- function CardContent({ className, ...props }) {
66
- return /* @__PURE__ */ jsxRuntime.jsx(
67
- "div",
68
- {
69
- "data-slot": "card-content",
70
- className: utils.cn("px-6", className),
71
- ...props
72
- }
73
- );
74
- }
75
- function CardFooter({ className, ...props }) {
76
- return /* @__PURE__ */ jsxRuntime.jsx(
77
- "div",
78
- {
79
- "data-slot": "card-footer",
80
- className: utils.cn("flex items-center px-6 [.border-t]:pt-6", className),
81
- ...props
82
- }
83
- );
84
- }
85
- exports.Card = Card;
86
- exports.CardAction = CardAction;
87
- exports.CardContent = CardContent;
88
- exports.CardDescription = CardDescription;
89
- exports.CardFooter = CardFooter;
90
- exports.CardHeader = CardHeader;
91
- exports.CardTitle = CardTitle;
92
- //# sourceMappingURL=index.cjs13.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.cjs13.js","sources":["../lib/components/ui/card.tsx"],"sourcesContent":["import * as React from \"react\";\n\nimport { cn } from \"@/lib/utils\";\n\nfunction Card({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card\"\n className={cn(\n \"bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction CardHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-header\"\n className={cn(\n \"@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-2 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction CardTitle({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-title\"\n className={cn(\"leading-none font-semibold\", className)}\n {...props}\n />\n );\n}\n\nfunction CardDescription({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-description\"\n className={cn(\"text-muted-foreground text-sm\", className)}\n {...props}\n />\n );\n}\n\nfunction CardAction({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-action\"\n className={cn(\n \"col-start-2 row-span-2 row-start-1 self-start justify-self-end\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction CardContent({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-content\"\n className={cn(\"px-6\", className)}\n {...props}\n />\n );\n}\n\nfunction CardFooter({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-footer\"\n className={cn(\"flex items-center px-6 [.border-t]:pt-6\", className)}\n {...props}\n />\n );\n}\n\nexport {\n Card,\n CardHeader,\n CardFooter,\n CardTitle,\n CardAction,\n CardDescription,\n CardContent,\n};\n"],"names":["jsx","cn"],"mappings":";;;;;AAIA,SAAS,KAAK,EAAE,WAAW,GAAG,SAAsC;AAClE,SACEA,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAWC,MAAAA;AAAAA,QACT;AAAA,QACA;AAAA,MAAA;AAAA,MAED,GAAG;AAAA,IAAA;AAAA,EAAA;AAGV;AAEA,SAAS,WAAW,EAAE,WAAW,GAAG,SAAsC;AACxE,SACED,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAWC,MAAAA;AAAAA,QACT;AAAA,QACA;AAAA,MAAA;AAAA,MAED,GAAG;AAAA,IAAA;AAAA,EAAA;AAGV;AAEA,SAAS,UAAU,EAAE,WAAW,GAAG,SAAsC;AACvE,SACED,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAWC,MAAAA,GAAG,8BAA8B,SAAS;AAAA,MACpD,GAAG;AAAA,IAAA;AAAA,EAAA;AAGV;AAEA,SAAS,gBAAgB,EAAE,WAAW,GAAG,SAAsC;AAC7E,SACED,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAWC,MAAAA,GAAG,iCAAiC,SAAS;AAAA,MACvD,GAAG;AAAA,IAAA;AAAA,EAAA;AAGV;AAEA,SAAS,WAAW,EAAE,WAAW,GAAG,SAAsC;AACxE,SACED,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAWC,MAAAA;AAAAA,QACT;AAAA,QACA;AAAA,MAAA;AAAA,MAED,GAAG;AAAA,IAAA;AAAA,EAAA;AAGV;AAEA,SAAS,YAAY,EAAE,WAAW,GAAG,SAAsC;AACzE,SACED,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAWC,MAAAA,GAAG,QAAQ,SAAS;AAAA,MAC9B,GAAG;AAAA,IAAA;AAAA,EAAA;AAGV;AAEA,SAAS,WAAW,EAAE,WAAW,GAAG,SAAsC;AACxE,SACED,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAWC,MAAAA,GAAG,2CAA2C,SAAS;AAAA,MACjE,GAAG;AAAA,IAAA;AAAA,EAAA;AAGV;;;;;;;;"}
@@ -1,216 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const jsxRuntime = require("react/jsx-runtime");
4
- const React = require("react");
5
- const useEmblaCarousel = require("embla-carousel-react");
6
- const lucideReact = require("lucide-react");
7
- const utils = require("./index.cjs50.js");
8
- const button = require("./index.cjs11.js");
9
- function _interopNamespaceDefault(e) {
10
- const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
11
- if (e) {
12
- for (const k in e) {
13
- if (k !== "default") {
14
- const d = Object.getOwnPropertyDescriptor(e, k);
15
- Object.defineProperty(n, k, d.get ? d : {
16
- enumerable: true,
17
- get: () => e[k]
18
- });
19
- }
20
- }
21
- }
22
- n.default = e;
23
- return Object.freeze(n);
24
- }
25
- const React__namespace = /* @__PURE__ */ _interopNamespaceDefault(React);
26
- const CarouselContext = React__namespace.createContext(null);
27
- function useCarousel() {
28
- const context = React__namespace.useContext(CarouselContext);
29
- if (!context) {
30
- throw new Error("useCarousel must be used within a <Carousel />");
31
- }
32
- return context;
33
- }
34
- function Carousel({
35
- orientation = "horizontal",
36
- opts,
37
- setApi,
38
- plugins,
39
- className,
40
- children,
41
- ...props
42
- }) {
43
- const [carouselRef, api] = useEmblaCarousel(
44
- {
45
- ...opts,
46
- axis: orientation === "horizontal" ? "x" : "y"
47
- },
48
- plugins
49
- );
50
- const [canScrollPrev, setCanScrollPrev] = React__namespace.useState(false);
51
- const [canScrollNext, setCanScrollNext] = React__namespace.useState(false);
52
- const onSelect = React__namespace.useCallback((api2) => {
53
- if (!api2) return;
54
- setCanScrollPrev(api2.canScrollPrev());
55
- setCanScrollNext(api2.canScrollNext());
56
- }, []);
57
- const scrollPrev = React__namespace.useCallback(() => {
58
- api?.scrollPrev();
59
- }, [api]);
60
- const scrollNext = React__namespace.useCallback(() => {
61
- api?.scrollNext();
62
- }, [api]);
63
- const handleKeyDown = React__namespace.useCallback(
64
- (event) => {
65
- if (event.key === "ArrowLeft") {
66
- event.preventDefault();
67
- scrollPrev();
68
- } else if (event.key === "ArrowRight") {
69
- event.preventDefault();
70
- scrollNext();
71
- }
72
- },
73
- [scrollPrev, scrollNext]
74
- );
75
- React__namespace.useEffect(() => {
76
- if (!api || !setApi) return;
77
- setApi(api);
78
- }, [api, setApi]);
79
- React__namespace.useEffect(() => {
80
- if (!api) return;
81
- onSelect(api);
82
- api.on("reInit", onSelect);
83
- api.on("select", onSelect);
84
- return () => {
85
- api?.off("select", onSelect);
86
- };
87
- }, [api, onSelect]);
88
- return /* @__PURE__ */ jsxRuntime.jsx(
89
- CarouselContext.Provider,
90
- {
91
- value: {
92
- carouselRef,
93
- api,
94
- opts,
95
- orientation: orientation || (opts?.axis === "y" ? "vertical" : "horizontal"),
96
- scrollPrev,
97
- scrollNext,
98
- canScrollPrev,
99
- canScrollNext
100
- },
101
- children: /* @__PURE__ */ jsxRuntime.jsx(
102
- "div",
103
- {
104
- onKeyDownCapture: handleKeyDown,
105
- className: utils.cn("relative", className),
106
- role: "region",
107
- "aria-roledescription": "carousel",
108
- "data-slot": "carousel",
109
- ...props,
110
- children
111
- }
112
- )
113
- }
114
- );
115
- }
116
- function CarouselContent({ className, ...props }) {
117
- const { carouselRef, orientation } = useCarousel();
118
- return /* @__PURE__ */ jsxRuntime.jsx(
119
- "div",
120
- {
121
- ref: carouselRef,
122
- className: "overflow-hidden",
123
- "data-slot": "carousel-content",
124
- children: /* @__PURE__ */ jsxRuntime.jsx(
125
- "div",
126
- {
127
- className: utils.cn(
128
- "flex",
129
- orientation === "horizontal" ? "-ml-4" : "-mt-4 flex-col",
130
- className
131
- ),
132
- ...props
133
- }
134
- )
135
- }
136
- );
137
- }
138
- function CarouselItem({ className, ...props }) {
139
- const { orientation } = useCarousel();
140
- return /* @__PURE__ */ jsxRuntime.jsx(
141
- "div",
142
- {
143
- role: "group",
144
- "aria-roledescription": "slide",
145
- "data-slot": "carousel-item",
146
- className: utils.cn(
147
- "min-w-0 shrink-0 grow-0 basis-full",
148
- orientation === "horizontal" ? "pl-4" : "pt-4",
149
- className
150
- ),
151
- ...props
152
- }
153
- );
154
- }
155
- function CarouselPrevious({
156
- className,
157
- variant = "outline",
158
- size = "icon",
159
- ...props
160
- }) {
161
- const { orientation, scrollPrev, canScrollPrev } = useCarousel();
162
- return /* @__PURE__ */ jsxRuntime.jsxs(
163
- button.Button,
164
- {
165
- "data-slot": "carousel-previous",
166
- variant,
167
- size,
168
- className: utils.cn(
169
- "absolute size-8 rounded-full",
170
- orientation === "horizontal" ? "top-1/2 -left-12 -translate-y-1/2" : "-top-12 left-1/2 -translate-x-1/2 rotate-90",
171
- className
172
- ),
173
- disabled: !canScrollPrev,
174
- onClick: scrollPrev,
175
- ...props,
176
- children: [
177
- /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ArrowLeft, {}),
178
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "Previous slide" })
179
- ]
180
- }
181
- );
182
- }
183
- function CarouselNext({
184
- className,
185
- variant = "outline",
186
- size = "icon",
187
- ...props
188
- }) {
189
- const { orientation, scrollNext, canScrollNext } = useCarousel();
190
- return /* @__PURE__ */ jsxRuntime.jsxs(
191
- button.Button,
192
- {
193
- "data-slot": "carousel-next",
194
- variant,
195
- size,
196
- className: utils.cn(
197
- "absolute size-8 rounded-full",
198
- orientation === "horizontal" ? "top-1/2 -right-12 -translate-y-1/2" : "-bottom-12 left-1/2 -translate-x-1/2 rotate-90",
199
- className
200
- ),
201
- disabled: !canScrollNext,
202
- onClick: scrollNext,
203
- ...props,
204
- children: [
205
- /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ArrowRight, {}),
206
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "Next slide" })
207
- ]
208
- }
209
- );
210
- }
211
- exports.Carousel = Carousel;
212
- exports.CarouselContent = CarouselContent;
213
- exports.CarouselItem = CarouselItem;
214
- exports.CarouselNext = CarouselNext;
215
- exports.CarouselPrevious = CarouselPrevious;
216
- //# sourceMappingURL=index.cjs14.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.cjs14.js","sources":["../lib/components/ui/carousel.tsx"],"sourcesContent":["import * as React from \"react\";\nimport useEmblaCarousel, {\n type UseEmblaCarouselType,\n} from \"embla-carousel-react\";\nimport { ArrowLeft, ArrowRight } from \"lucide-react\";\n\nimport { cn } from \"@/lib/utils\";\nimport { Button } from \"./button\";\n\ntype CarouselApi = UseEmblaCarouselType[1];\ntype UseCarouselParameters = Parameters<typeof useEmblaCarousel>;\ntype CarouselOptions = UseCarouselParameters[0];\ntype CarouselPlugin = UseCarouselParameters[1];\n\ntype CarouselProps = {\n opts?: CarouselOptions;\n plugins?: CarouselPlugin;\n orientation?: \"horizontal\" | \"vertical\";\n setApi?: (api: CarouselApi) => void;\n};\n\ntype CarouselContextProps = {\n carouselRef: ReturnType<typeof useEmblaCarousel>[0];\n api: ReturnType<typeof useEmblaCarousel>[1];\n scrollPrev: () => void;\n scrollNext: () => void;\n canScrollPrev: boolean;\n canScrollNext: boolean;\n} & CarouselProps;\n\nconst CarouselContext = React.createContext<CarouselContextProps | null>(null);\n\nfunction useCarousel() {\n const context = React.useContext(CarouselContext);\n\n if (!context) {\n throw new Error(\"useCarousel must be used within a <Carousel />\");\n }\n\n return context;\n}\n\nfunction Carousel({\n orientation = \"horizontal\",\n opts,\n setApi,\n plugins,\n className,\n children,\n ...props\n}: React.ComponentProps<\"div\"> & CarouselProps) {\n const [carouselRef, api] = useEmblaCarousel(\n {\n ...opts,\n axis: orientation === \"horizontal\" ? \"x\" : \"y\",\n },\n plugins\n );\n const [canScrollPrev, setCanScrollPrev] = React.useState(false);\n const [canScrollNext, setCanScrollNext] = React.useState(false);\n\n const onSelect = React.useCallback((api: CarouselApi) => {\n if (!api) return;\n setCanScrollPrev(api.canScrollPrev());\n setCanScrollNext(api.canScrollNext());\n }, []);\n\n const scrollPrev = React.useCallback(() => {\n api?.scrollPrev();\n }, [api]);\n\n const scrollNext = React.useCallback(() => {\n api?.scrollNext();\n }, [api]);\n\n const handleKeyDown = React.useCallback(\n (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (event.key === \"ArrowLeft\") {\n event.preventDefault();\n scrollPrev();\n } else if (event.key === \"ArrowRight\") {\n event.preventDefault();\n scrollNext();\n }\n },\n [scrollPrev, scrollNext]\n );\n\n React.useEffect(() => {\n if (!api || !setApi) return;\n setApi(api);\n }, [api, setApi]);\n\n React.useEffect(() => {\n if (!api) return;\n onSelect(api);\n api.on(\"reInit\", onSelect);\n api.on(\"select\", onSelect);\n\n return () => {\n api?.off(\"select\", onSelect);\n };\n }, [api, onSelect]);\n\n return (\n <CarouselContext.Provider\n value={{\n carouselRef,\n api: api,\n opts,\n orientation:\n orientation || (opts?.axis === \"y\" ? \"vertical\" : \"horizontal\"),\n scrollPrev,\n scrollNext,\n canScrollPrev,\n canScrollNext,\n }}\n >\n <div\n onKeyDownCapture={handleKeyDown}\n className={cn(\"relative\", className)}\n role=\"region\"\n aria-roledescription=\"carousel\"\n data-slot=\"carousel\"\n {...props}\n >\n {children}\n </div>\n </CarouselContext.Provider>\n );\n}\n\nfunction CarouselContent({ className, ...props }: React.ComponentProps<\"div\">) {\n const { carouselRef, orientation } = useCarousel();\n\n return (\n <div\n ref={carouselRef}\n className=\"overflow-hidden\"\n data-slot=\"carousel-content\"\n >\n <div\n className={cn(\n \"flex\",\n orientation === \"horizontal\" ? \"-ml-4\" : \"-mt-4 flex-col\",\n className\n )}\n {...props}\n />\n </div>\n );\n}\n\nfunction CarouselItem({ className, ...props }: React.ComponentProps<\"div\">) {\n const { orientation } = useCarousel();\n\n return (\n <div\n role=\"group\"\n aria-roledescription=\"slide\"\n data-slot=\"carousel-item\"\n className={cn(\n \"min-w-0 shrink-0 grow-0 basis-full\",\n orientation === \"horizontal\" ? \"pl-4\" : \"pt-4\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction CarouselPrevious({\n className,\n variant = \"outline\",\n size = \"icon\",\n ...props\n}: React.ComponentProps<typeof Button>) {\n const { orientation, scrollPrev, canScrollPrev } = useCarousel();\n\n return (\n <Button\n data-slot=\"carousel-previous\"\n variant={variant}\n size={size}\n className={cn(\n \"absolute size-8 rounded-full\",\n orientation === \"horizontal\"\n ? \"top-1/2 -left-12 -translate-y-1/2\"\n : \"-top-12 left-1/2 -translate-x-1/2 rotate-90\",\n className\n )}\n disabled={!canScrollPrev}\n onClick={scrollPrev}\n {...props}\n >\n <ArrowLeft />\n <span className=\"sr-only\">Previous slide</span>\n </Button>\n );\n}\n\nfunction CarouselNext({\n className,\n variant = \"outline\",\n size = \"icon\",\n ...props\n}: React.ComponentProps<typeof Button>) {\n const { orientation, scrollNext, canScrollNext } = useCarousel();\n\n return (\n <Button\n data-slot=\"carousel-next\"\n variant={variant}\n size={size}\n className={cn(\n \"absolute size-8 rounded-full\",\n orientation === \"horizontal\"\n ? \"top-1/2 -right-12 -translate-y-1/2\"\n : \"-bottom-12 left-1/2 -translate-x-1/2 rotate-90\",\n className\n )}\n disabled={!canScrollNext}\n onClick={scrollNext}\n {...props}\n >\n <ArrowRight />\n <span className=\"sr-only\">Next slide</span>\n </Button>\n );\n}\n\nexport {\n type CarouselApi,\n Carousel,\n CarouselContent,\n CarouselItem,\n CarouselPrevious,\n CarouselNext,\n};\n"],"names":["React","api","jsx","cn","jsxs","Button","ArrowLeft","ArrowRight"],"mappings":"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"}