asheeui 0.6.14 → 0.7.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 (184) hide show
  1. package/README.md +1 -14
  2. package/dist/AsheeUIProvider.js +22 -24
  3. package/dist/components/accordion/Accordion.js +79 -173
  4. package/dist/components/accordion/accordion-config.js +12 -13
  5. package/dist/components/accordion/accordion-styles.js +21 -24
  6. package/dist/components/autocomplete/Autocomplete.js +78 -136
  7. package/dist/components/autocomplete/autocomplete-config.js +7 -12
  8. package/dist/components/button/Button.d.ts +29 -1
  9. package/dist/components/button/Button.d.ts.map +1 -1
  10. package/dist/components/button/Button.js +47 -108
  11. package/dist/components/button/button-config.js +16 -17
  12. package/dist/components/button/button-styles.js +10 -11
  13. package/dist/components/card/Card.d.ts +36 -16
  14. package/dist/components/card/Card.d.ts.map +1 -1
  15. package/dist/components/card/Card.js +115 -205
  16. package/dist/components/card/card-config.js +24 -21
  17. package/dist/components/card/card-styles.js +19 -22
  18. package/dist/components/carousel/Carousel.js +123 -248
  19. package/dist/components/carousel/carousel-config.js +24 -25
  20. package/dist/components/carousel/carousel-styles.js +14 -16
  21. package/dist/components/chip/Chip.js +84 -191
  22. package/dist/components/chip/chip-config.js +13 -14
  23. package/dist/components/chip/chip-styles.js +22 -26
  24. package/dist/components/date-picker/Calendar.d.ts +3 -3
  25. package/dist/components/date-picker/Calendar.d.ts.map +1 -1
  26. package/dist/components/date-picker/Calendar.js +141 -222
  27. package/dist/components/date-picker/DatePicker.d.ts +5 -5
  28. package/dist/components/date-picker/DatePicker.d.ts.map +1 -1
  29. package/dist/components/date-picker/DatePicker.js +122 -220
  30. package/dist/components/date-picker/TimeSpinner.js +58 -82
  31. package/dist/components/date-picker/date-picker-config.d.ts +4 -4
  32. package/dist/components/date-picker/date-picker-config.d.ts.map +1 -1
  33. package/dist/components/date-picker/date-picker-config.js +10 -11
  34. package/dist/components/date-picker/date-picker-styles.js +44 -45
  35. package/dist/components/date-picker/date-picker.helpers.d.ts +4 -4
  36. package/dist/components/date-picker/date-picker.helpers.d.ts.map +1 -1
  37. package/dist/components/date-picker/date-picker.helpers.js +74 -102
  38. package/dist/components/drawer/Drawer.d.ts +26 -8
  39. package/dist/components/drawer/Drawer.d.ts.map +1 -1
  40. package/dist/components/drawer/Drawer.js +54 -131
  41. package/dist/components/drawer/drawer-config.js +14 -15
  42. package/dist/components/drawer/drawer-styles.js +38 -42
  43. package/dist/components/field/FieldShell.js +49 -56
  44. package/dist/components/field/field-config.js +17 -18
  45. package/dist/components/field/field-styles.js +8 -8
  46. package/dist/components/image/Image.d.ts +7 -7
  47. package/dist/components/image/Image.d.ts.map +1 -1
  48. package/dist/components/image/Image.js +65 -132
  49. package/dist/components/image/image-config.js +17 -18
  50. package/dist/components/image/image-styles.js +14 -15
  51. package/dist/components/input/Input.js +65 -150
  52. package/dist/components/input/PasswordInput.js +30 -49
  53. package/dist/components/input/input-config.js +7 -7
  54. package/dist/components/input/input-styles.js +9 -10
  55. package/dist/components/keyboard/KeyboardContext.js +10 -11
  56. package/dist/components/keyboard/KeyboardProvider.js +100 -181
  57. package/dist/components/keyboard/OnScreenKeyboard.d.ts.map +1 -1
  58. package/dist/components/keyboard/OnScreenKeyboard.js +159 -166
  59. package/dist/components/keyboard/keyboard-config.js +59 -57
  60. package/dist/components/keyboard/keyboard-styles.js +10 -11
  61. package/dist/components/keyboard/use-keyboard-field.js +29 -21
  62. package/dist/components/link/Link.js +47 -137
  63. package/dist/components/link/link-config.js +14 -15
  64. package/dist/components/link/link-styles.js +25 -29
  65. package/dist/components/marquee/Marquee.js +55 -144
  66. package/dist/components/marquee/marquee-config.js +18 -19
  67. package/dist/components/marquee/marquee-styles.js +13 -15
  68. package/dist/components/modal/Modal.d.ts +26 -10
  69. package/dist/components/modal/Modal.d.ts.map +1 -1
  70. package/dist/components/modal/Modal.js +56 -136
  71. package/dist/components/modal/modal-config.js +15 -16
  72. package/dist/components/modal/modal-styles.js +13 -14
  73. package/dist/components/multi-select/MultiSelect.d.ts +18 -2
  74. package/dist/components/multi-select/MultiSelect.d.ts.map +1 -1
  75. package/dist/components/multi-select/MultiSelect.js +149 -283
  76. package/dist/components/multi-select/multi-select-config.d.ts +23 -18
  77. package/dist/components/multi-select/multi-select-config.d.ts.map +1 -1
  78. package/dist/components/multi-select/multi-select-config.js +18 -21
  79. package/dist/components/multi-select/multi-select-styles.js +17 -20
  80. package/dist/components/radio/Radio.js +43 -80
  81. package/dist/components/radio/RadioGroup.js +57 -155
  82. package/dist/components/radio/radio-config.js +15 -16
  83. package/dist/components/radio/radio-context.js +6 -6
  84. package/dist/components/radio/radio-styles.js +55 -60
  85. package/dist/components/resizable-screen/ResizableScreen.js +87 -177
  86. package/dist/components/resizable-screen/resizable-screen-config.js +16 -17
  87. package/dist/components/select/Select.d.ts +3 -2
  88. package/dist/components/select/Select.d.ts.map +1 -1
  89. package/dist/components/select/Select.js +97 -195
  90. package/dist/components/select/select-config.js +8 -9
  91. package/dist/components/select/select-styles.js +5 -5
  92. package/dist/components/select-menu/SelectMenu.d.ts.map +1 -1
  93. package/dist/components/select-menu/SelectMenu.js +102 -196
  94. package/dist/components/select-menu/select-menu-config.js +12 -12
  95. package/dist/components/select-menu/use-select-floating.d.ts +11 -1
  96. package/dist/components/select-menu/use-select-floating.d.ts.map +1 -1
  97. package/dist/components/select-menu/use-select-floating.js +41 -48
  98. package/dist/components/sidebar/Sidebar.d.ts +43 -22
  99. package/dist/components/sidebar/Sidebar.d.ts.map +1 -1
  100. package/dist/components/sidebar/Sidebar.js +146 -331
  101. package/dist/components/sidebar/sidebar-config.d.ts +98 -31
  102. package/dist/components/sidebar/sidebar-config.d.ts.map +1 -1
  103. package/dist/components/sidebar/sidebar-config.js +47 -33
  104. package/dist/components/sidebar/sidebar-styles.js +27 -32
  105. package/dist/components/spinner/spinner-config.js +12 -13
  106. package/dist/components/spinner/spinner-styles.js +13 -14
  107. package/dist/components/spinner/spinner.js +39 -82
  108. package/dist/components/switch/Switch.js +62 -154
  109. package/dist/components/switch/switch-config.js +11 -12
  110. package/dist/components/switch/switch-styles.js +14 -16
  111. package/dist/components/table/Table.js +64 -186
  112. package/dist/components/table/table-config.js +17 -18
  113. package/dist/components/table/table-styles.js +48 -52
  114. package/dist/components/tabs/Tabs.d.ts +16 -8
  115. package/dist/components/tabs/Tabs.d.ts.map +1 -1
  116. package/dist/components/tabs/Tabs.js +93 -208
  117. package/dist/components/tabs/tabs-config.d.ts +42 -20
  118. package/dist/components/tabs/tabs-config.d.ts.map +1 -1
  119. package/dist/components/tabs/tabs-config.js +26 -18
  120. package/dist/components/tabs/tabs-styles.js +15 -17
  121. package/dist/components/textarea/Textarea.js +52 -138
  122. package/dist/components/textarea/textarea-config.js +10 -11
  123. package/dist/components/textarea/textarea-styles.js +9 -10
  124. package/dist/components/toast/ToastContext.js +22 -26
  125. package/dist/components/toast/ToastItem.js +82 -144
  126. package/dist/components/toast/ToastProvider.d.ts.map +1 -1
  127. package/dist/components/toast/ToastProvider.js +128 -190
  128. package/dist/components/toast/toast-config.js +23 -24
  129. package/dist/components/toast/toast-styles.js +50 -55
  130. package/dist/components/toast/use-pausable-timeout.js +17 -13
  131. package/dist/components/tooltip/Tooltip.d.ts +5 -0
  132. package/dist/components/tooltip/Tooltip.d.ts.map +1 -1
  133. package/dist/components/tooltip/Tooltip.js +68 -158
  134. package/dist/components/tooltip/tooltip-config.d.ts +25 -0
  135. package/dist/components/tooltip/tooltip-config.d.ts.map +1 -1
  136. package/dist/components/tooltip/tooltip-config.js +26 -22
  137. package/dist/components/tooltip/tooltip-styles.js +15 -17
  138. package/dist/config/default-config.js +11 -34
  139. package/dist/config/resolve-color.js +23 -23
  140. package/dist/config/resolve-config.d.ts.map +1 -1
  141. package/dist/config/resolve-config.js +14 -12
  142. package/dist/icons/ArrowLeftIcon.js +16 -19
  143. package/dist/icons/CalendarIcon.js +43 -24
  144. package/dist/icons/CheckIcon.js +16 -19
  145. package/dist/icons/ChevronDownIcon.js +15 -21
  146. package/dist/icons/ChevronLeftIcon.js +16 -19
  147. package/dist/icons/ChevronRightIcon.js +16 -19
  148. package/dist/icons/ChevronUpIcon.js +16 -19
  149. package/dist/icons/ClearIcon.js +26 -22
  150. package/dist/icons/ClockIcon.js +20 -22
  151. package/dist/icons/CloseIcon.js +26 -22
  152. package/dist/icons/ErrorIcon.js +16 -19
  153. package/dist/icons/ExternalLinkIcon.js +25 -23
  154. package/dist/icons/EyeIcon.js +20 -22
  155. package/dist/icons/EyeOffIcon.js +21 -22
  156. package/dist/icons/InfoIcon.js +16 -19
  157. package/dist/icons/SearchIcon.js +25 -22
  158. package/dist/icons/WarningIcon.js +16 -19
  159. package/dist/index.js +65 -163
  160. package/dist/libs/context.js +10 -13
  161. package/dist/libs/index.js +1 -0
  162. package/dist/libs/registry.js +10 -12
  163. package/dist/libs/use-floating-z-index.d.ts +32 -0
  164. package/dist/libs/use-floating-z-index.d.ts.map +1 -0
  165. package/dist/libs/use-floating-z-index.js +16 -0
  166. package/dist/libs/use-isomorphic-layout-effect.js +5 -5
  167. package/dist/scripts/AsheeThemeScript.js +35 -44
  168. package/dist/shared/radius.d.ts.map +1 -1
  169. package/dist/shared/radius.js +12 -13
  170. package/dist/shared/variant.js +46 -134
  171. package/dist/theme/color.js +28 -28
  172. package/dist/theme/controller.d.ts.map +1 -1
  173. package/dist/theme/controller.js +65 -178
  174. package/dist/theme/useTheme.js +13 -44
  175. package/dist/utils/cn.js +7 -7
  176. package/dist/utils/index.d.ts +1 -0
  177. package/dist/utils/index.d.ts.map +1 -1
  178. package/dist/utils/index.js +1 -0
  179. package/dist/utils/merge-object.js +13 -14
  180. package/dist/utils/resolve-token.js +11 -14
  181. package/dist/utils/stacking.d.ts +76 -0
  182. package/dist/utils/stacking.d.ts.map +1 -0
  183. package/dist/utils/stacking.js +34 -0
  184. package/package.json +12 -11
@@ -1,249 +1,124 @@
1
1
  "use client";
2
- import { jsxs as T, jsx as l, Fragment as Ae } from "react/jsx-runtime";
3
- import { forwardRef as Se, useId as Pe, useMemo as ke, useState as p, useRef as Ne, useCallback as j, useEffect as Le } from "react";
4
- import { ChevronLeftIcon as Re } from "../../icons/ChevronLeftIcon.js";
5
- import { ChevronRightIcon as De } from "../../icons/ChevronRightIcon.js";
6
- import { useAsheeConfig as Oe } from "../../libs/context.js";
7
- import { resolveCascade as d, resolveRadiusKey as Ie, resolveClassKey as A } from "../../utils/resolve-token.js";
8
- import { FALLBACK_CAROUSEL_CONFIG as s } from "./carousel-config.js";
9
- import { CAROUSEL_HEIGHT_CLASS as _e, CAROUSEL_PADDING_CLASS as Ee, CAROUSEL_VARIANT_CLASS as F } from "./carousel-styles.js";
10
- import { RADIUS_CLASS as He } from "../../shared/radius.js";
11
- import { cn as u } from "../../utils/cn.js";
12
- const G = 50, ze = Se(
13
- ({
14
- items: h = [],
15
- variant: $,
16
- size: C,
17
- radius: V,
18
- autoPlay: X,
19
- autoPlayInterval: x,
20
- loop: B,
21
- showControls: W,
22
- showIndicators: q,
23
- pauseOnHover: J,
24
- disableAnimation: Q = !1,
25
- defaultIndex: Y = 0,
26
- index: S,
27
- onIndexChange: i,
28
- renderPrevControl: P,
29
- renderNextControl: k,
30
- itemClassName: Z,
31
- controlClassName: N,
32
- indicatorClassName: ee,
33
- className: re,
34
- style: oe,
35
- children: c,
36
- id: te,
37
- ...se
38
- }, le) => {
39
- var M;
40
- const y = Oe(), e = (M = y.components) == null ? void 0 : M.carousel, ae = Pe(), ie = te ?? ae, L = d(
41
- C,
42
- e == null ? void 0 : e.size,
43
- void 0,
44
- s.size
45
- ), ne = d(
46
- $,
47
- e == null ? void 0 : e.variant,
48
- y.defaultVariant,
49
- s.variant
50
- ), de = Ie(
51
- V,
52
- e == null ? void 0 : e.radius,
53
- y.defaultRadius,
54
- s.radius
55
- ), R = d(
56
- X,
57
- e == null ? void 0 : e.autoPlay,
58
- void 0,
59
- s.autoPlay
60
- ), D = d(
61
- x,
62
- e == null ? void 0 : e.autoPlayInterval,
63
- void 0,
64
- s.autoPlayInterval
65
- ), f = d(
66
- B,
67
- e == null ? void 0 : e.loop,
68
- void 0,
69
- s.loop
70
- ), ue = d(
71
- W,
72
- e == null ? void 0 : e.showControls,
73
- void 0,
74
- s.showControls
75
- ), ce = d(
76
- q,
77
- e == null ? void 0 : e.showIndicators,
78
- void 0,
79
- s.showIndicators
80
- ), O = d(
81
- J,
82
- e == null ? void 0 : e.pauseOnHover,
83
- void 0,
84
- s.pauseOnHover
85
- ), fe = A(
86
- L,
87
- _e,
88
- s.size
89
- ), be = A(
90
- L,
91
- Ee,
92
- s.size
93
- ), ve = A(
94
- de,
95
- He,
96
- s.radius
97
- ), me = F[ne] ?? F.bordered, t = ke(() => h.length > 0 ? h : c ? (Array.isArray(c) ? c : [c]).map((o, we) => ({
98
- id: `slide-${we}`,
99
- content: o
100
- })) : [], [h, c]), b = S !== void 0, [pe, I] = p(Y), a = b ? S : pe, [_, m] = p(!1), [v, E] = p(!1), [g, w] = p(0), H = Ne(0), n = j(
101
- (r) => {
102
- if (t.length <= 1) return;
103
- let o = a + r;
104
- o < 0 ? o = f ? t.length - 1 : 0 : o >= t.length && (o = f ? 0 : t.length - 1), o !== a && (b || I(o), i == null || i(o));
105
- },
106
- [a, t.length, f, b, i]
107
- ), he = j(
108
- (r) => {
109
- r === a || r < 0 || r >= t.length || (b || I(r), i == null || i(r));
110
- },
111
- [a, t.length, b, i]
112
- );
113
- Le(() => {
114
- if (!R || O && _ || v || t.length <= 1)
115
- return;
116
- const r = setInterval(() => {
117
- n(1);
118
- }, D);
119
- return () => clearInterval(r);
120
- }, [
121
- R,
122
- D,
123
- O,
124
- _,
125
- v,
126
- t.length,
127
- n
128
- ]);
129
- const ye = (r) => {
130
- r.target.closest("button") || (E(!0), H.current = r.clientX, w(0), r.currentTarget.setPointerCapture(r.pointerId));
131
- }, ge = (r) => {
132
- if (!v) return;
133
- const o = r.clientX - H.current;
134
- w(o);
135
- }, z = () => {
136
- v && (E(!1), g < -G ? n(1) : g > G && n(-1), w(0));
137
- }, U = !f && a === 0, K = !f && a === t.length - 1;
138
- return /* @__PURE__ */ T(
139
- "div",
140
- {
141
- ref: le,
142
- id: ie,
143
- onMouseEnter: () => m(!0),
144
- onMouseLeave: () => m(!1),
145
- onFocus: () => m(!0),
146
- onBlur: () => m(!1),
147
- className: u(
148
- "relative scrollbar-hide overflow-hidden w-full select-none flex flex-col group",
149
- me,
150
- ve,
151
- fe,
152
- re
153
- ),
154
- style: oe,
155
- ...se,
156
- children: [
157
- /* @__PURE__ */ l(
158
- "div",
159
- {
160
- onPointerDown: ye,
161
- onPointerMove: ge,
162
- onPointerUp: z,
163
- onPointerCancel: z,
164
- className: "relative w-full h-full scrollbar-hide overflow-hidden flex-1 touch-pan-y cursor-grab active:cursor-grabbing",
165
- children: /* @__PURE__ */ l(
166
- "div",
167
- {
168
- className: u(
169
- "flex w-full h-full",
170
- !v && !Q && "transition-transform duration-300 ease-out"
171
- ),
172
- style: {
173
- transform: `translate3d(calc(${-a * 100}% + ${g}px), 0, 0)`
174
- },
175
- children: t.map((r, o) => /* @__PURE__ */ l(
176
- "div",
177
- {
178
- className: u(
179
- "w-full h-full shrink-0 flex items-center justify-center scrollbar-hide overflow-hidden",
180
- be,
181
- Z
182
- ),
183
- children: r.content
184
- },
185
- r.id || o
186
- ))
187
- }
188
- )
189
- }
190
- ),
191
- ue && t.length > 1 && /* @__PURE__ */ T(Ae, { children: [
192
- P ? P({
193
- onClick: () => n(-1),
194
- disabled: U
195
- }) : /* @__PURE__ */ l(
196
- "button",
197
- {
198
- type: "button",
199
- "aria-label": "Previous Slide",
200
- disabled: U,
201
- onClick: () => n(-1),
202
- className: u(
203
- "absolute left-3 top-1/2 -translate-y-1/2 z-20 p-2.5 rounded-full bg-background/80 hover:bg-background text-foreground border border-border/50 backdrop-blur-md shadow-md transition-all duration-200 focus:outline-none focus-visible:ring-2 focus-visible:ring-primary disabled:opacity-30 disabled:cursor-not-allowed",
204
- N
205
- ),
206
- children: /* @__PURE__ */ l(Re, { className: "w-5 h-5" })
207
- }
208
- ),
209
- k ? k({
210
- onClick: () => n(1),
211
- disabled: K
212
- }) : /* @__PURE__ */ l(
213
- "button",
214
- {
215
- type: "button",
216
- "aria-label": "Next Slide",
217
- disabled: K,
218
- onClick: () => n(1),
219
- className: u(
220
- "absolute right-3 top-1/2 -translate-y-1/2 z-20 p-2.5 rounded-full bg-background/80 hover:bg-background text-foreground border border-border/50 backdrop-blur-md shadow-md transition-all duration-200 focus:outline-none focus-visible:ring-2 focus-visible:ring-primary disabled:opacity-30 disabled:cursor-not-allowed",
221
- N
222
- ),
223
- children: /* @__PURE__ */ l(De, { className: "w-5 h-5" })
224
- }
225
- )
226
- ] }),
227
- ce && t.length > 1 && /* @__PURE__ */ l("div", { className: "absolute bottom-3 inset-x-0 z-20 flex justify-center items-center gap-1.5 pointer-events-none", children: /* @__PURE__ */ l("div", { className: "flex items-center gap-1.5 p-1.5 rounded-full bg-background/40 backdrop-blur-md pointer-events-auto border border-white/10", children: t.map((r, o) => /* @__PURE__ */ l(
228
- "button",
229
- {
230
- type: "button",
231
- "aria-label": `Go to slide ${o + 1}`,
232
- onClick: () => he(o),
233
- className: u(
234
- "h-2 rounded-full transition-all duration-300 focus:outline-none focus-visible:ring-1 focus-visible:ring-primary",
235
- o === a ? "w-6 bg-primary" : "w-2 bg-foreground/40 hover:bg-foreground/70",
236
- ee
237
- )
238
- },
239
- r.id || o
240
- )) }) })
241
- ]
242
- }
243
- );
244
- }
245
- );
246
- ze.displayName = "Carousel";
247
- export {
248
- ze as Carousel
249
- };
2
+ "use client";
3
+ import { cn as e } from "../../utils/cn.js";
4
+ import { useAsheeConfig as t } from "../../libs/context.js";
5
+ import { RADIUS_CLASS as n } from "../../shared/radius.js";
6
+ import { resolveCascade as r, resolveClassKey as i, resolveRadiusKey as a } from "../../utils/resolve-token.js";
7
+ import { ChevronLeftIcon as ee } from "../../icons/ChevronLeftIcon.js";
8
+ import { ChevronRightIcon as te } from "../../icons/ChevronRightIcon.js";
9
+ import { FALLBACK_CAROUSEL_CONFIG as o } from "./carousel-config.js";
10
+ import { CAROUSEL_HEIGHT_CLASS as ne, CAROUSEL_PADDING_CLASS as s, CAROUSEL_VARIANT_CLASS as c } from "./carousel-styles.js";
11
+ import { forwardRef as l, useCallback as u, useEffect as re, useId as ie, useMemo as ae, useRef as oe, useState as d } from "react";
12
+ import { Fragment as f, jsx as p, jsxs as m } from "react/jsx-runtime";
13
+ //#region src/components/carousel/Carousel.tsx
14
+ var h = 50, g = l(({ items: l = [], variant: g, size: se, radius: ce, autoPlay: le, autoPlayInterval: ue, loop: de, showControls: fe, showIndicators: _, pauseOnHover: v, disableAnimation: pe = !1, defaultIndex: me = 0, index: y, onIndexChange: b, renderPrevControl: x, renderNextControl: S, itemClassName: he, controlClassName: C, indicatorClassName: ge, className: _e, style: ve, children: w, id: T, ...E }, D) => {
15
+ let O = t(), k = O.components?.carousel, A = ie(), j = T ?? A, M = r(se, k?.size, void 0, o.size), N = r(g, k?.variant, O.defaultVariant, o.variant), P = a(ce, k?.radius, O.defaultRadius, o.radius), F = r(le, k?.autoPlay, void 0, o.autoPlay), I = r(ue, k?.autoPlayInterval, void 0, o.autoPlayInterval), L = r(de, k?.loop, void 0, o.loop), ye = r(fe, k?.showControls, void 0, o.showControls), be = r(_, k?.showIndicators, void 0, o.showIndicators), R = r(v, k?.pauseOnHover, void 0, o.pauseOnHover), xe = i(M, ne, o.size), Se = i(M, s, o.size), Ce = i(P, n, o.radius), we = c[N] ?? c.bordered, z = ae(() => l.length > 0 ? l : w ? (Array.isArray(w) ? w : [w]).map((e, t) => ({
16
+ id: `slide-${t}`,
17
+ content: e
18
+ })) : [], [l, w]), B = y !== void 0, [Te, V] = d(me), H = B ? y : Te, [U, W] = d(!1), [G, K] = d(!1), [q, J] = d(0), Y = oe(0), X = u((e) => {
19
+ if (z.length <= 1) return;
20
+ let t = H + e;
21
+ t < 0 ? t = L ? z.length - 1 : 0 : t >= z.length && (t = L ? 0 : z.length - 1), t !== H && (B || V(t), b?.(t));
22
+ }, [
23
+ H,
24
+ z.length,
25
+ L,
26
+ B,
27
+ b
28
+ ]), Ee = u((e) => {
29
+ e === H || e < 0 || e >= z.length || (B || V(e), b?.(e));
30
+ }, [
31
+ H,
32
+ z.length,
33
+ B,
34
+ b
35
+ ]);
36
+ re(() => {
37
+ if (!F || R && U || G || z.length <= 1) return;
38
+ let e = setInterval(() => {
39
+ X(1);
40
+ }, I);
41
+ return () => clearInterval(e);
42
+ }, [
43
+ F,
44
+ I,
45
+ R,
46
+ U,
47
+ G,
48
+ z.length,
49
+ X
50
+ ]);
51
+ let De = (e) => {
52
+ e.target.closest("button") || (K(!0), Y.current = e.clientX, J(0), e.currentTarget.setPointerCapture(e.pointerId));
53
+ }, Oe = (e) => {
54
+ if (!G) return;
55
+ let t = e.clientX - Y.current;
56
+ J(t);
57
+ }, Z = () => {
58
+ G && (K(!1), q < -50 ? X(1) : q > h && X(-1), J(0));
59
+ }, Q = !L && H === 0, $ = !L && H === z.length - 1;
60
+ return /* @__PURE__ */ m("div", {
61
+ ref: D,
62
+ id: j,
63
+ onMouseEnter: () => W(!0),
64
+ onMouseLeave: () => W(!1),
65
+ onFocus: () => W(!0),
66
+ onBlur: () => W(!1),
67
+ className: e("relative scrollbar-hide overflow-hidden w-full select-none flex flex-col group", we, Ce, xe, _e),
68
+ style: ve,
69
+ ...E,
70
+ children: [
71
+ /* @__PURE__ */ p("div", {
72
+ onPointerDown: De,
73
+ onPointerMove: Oe,
74
+ onPointerUp: Z,
75
+ onPointerCancel: Z,
76
+ className: "relative w-full h-full scrollbar-hide overflow-hidden flex-1 touch-pan-y cursor-grab active:cursor-grabbing",
77
+ children: /* @__PURE__ */ p("div", {
78
+ className: e("flex w-full h-full", !G && !pe && "transition-transform duration-300 ease-out"),
79
+ style: { transform: `translate3d(calc(${-H * 100}% + ${q}px), 0, 0)` },
80
+ children: z.map((t, n) => /* @__PURE__ */ p("div", {
81
+ className: e("w-full h-full shrink-0 flex items-center justify-center scrollbar-hide overflow-hidden", Se, he),
82
+ children: t.content
83
+ }, t.id || n))
84
+ })
85
+ }),
86
+ ye && z.length > 1 && /* @__PURE__ */ m(f, { children: [x ? x({
87
+ onClick: () => X(-1),
88
+ disabled: Q
89
+ }) : /* @__PURE__ */ p("button", {
90
+ type: "button",
91
+ "aria-label": "Previous Slide",
92
+ disabled: Q,
93
+ onClick: () => X(-1),
94
+ className: e("absolute left-3 top-1/2 -translate-y-1/2 z-20 p-2.5 rounded-full bg-background/80 hover:bg-background text-foreground border border-border/50 backdrop-blur-md shadow-md transition-all duration-200 focus:outline-none focus-visible:ring-2 focus-visible:ring-primary disabled:opacity-30 disabled:cursor-not-allowed", C),
95
+ children: /* @__PURE__ */ p(ee, { className: "w-5 h-5" })
96
+ }), S ? S({
97
+ onClick: () => X(1),
98
+ disabled: $
99
+ }) : /* @__PURE__ */ p("button", {
100
+ type: "button",
101
+ "aria-label": "Next Slide",
102
+ disabled: $,
103
+ onClick: () => X(1),
104
+ className: e("absolute right-3 top-1/2 -translate-y-1/2 z-20 p-2.5 rounded-full bg-background/80 hover:bg-background text-foreground border border-border/50 backdrop-blur-md shadow-md transition-all duration-200 focus:outline-none focus-visible:ring-2 focus-visible:ring-primary disabled:opacity-30 disabled:cursor-not-allowed", C),
105
+ children: /* @__PURE__ */ p(te, { className: "w-5 h-5" })
106
+ })] }),
107
+ be && z.length > 1 && /* @__PURE__ */ p("div", {
108
+ className: "absolute bottom-3 inset-x-0 z-20 flex justify-center items-center gap-1.5 pointer-events-none",
109
+ children: /* @__PURE__ */ p("div", {
110
+ className: "flex items-center gap-1.5 p-1.5 rounded-full bg-background/40 backdrop-blur-md pointer-events-auto border border-white/10",
111
+ children: z.map((t, n) => /* @__PURE__ */ p("button", {
112
+ type: "button",
113
+ "aria-label": `Go to slide ${n + 1}`,
114
+ onClick: () => Ee(n),
115
+ className: e("h-2 rounded-full transition-all duration-300 focus:outline-none focus-visible:ring-1 focus-visible:ring-primary", n === H ? "w-6 bg-primary" : "w-2 bg-foreground/40 hover:bg-foreground/70", ge)
116
+ }, t.id || n))
117
+ })
118
+ })
119
+ ]
120
+ });
121
+ });
122
+ g.displayName = "Carousel";
123
+ //#endregion
124
+ export { g as Carousel };
@@ -1,29 +1,28 @@
1
1
  "use client";
2
2
  import { registerComponentDefaults as e } from "../../libs/registry.js";
3
- const o = {
4
- size: "md",
5
- autoPlay: !1,
6
- autoPlayInterval: 5e3,
7
- loop: !0,
8
- showControls: !0,
9
- showIndicators: !0,
10
- pauseOnHover: !0,
11
- disableAnimation: !1
3
+ //#region src/components/carousel/carousel-config.ts
4
+ var t = {
5
+ size: "md",
6
+ autoPlay: !1,
7
+ autoPlayInterval: 5e3,
8
+ loop: !0,
9
+ showControls: !0,
10
+ showIndicators: !0,
11
+ pauseOnHover: !0,
12
+ disableAnimation: !1
12
13
  };
13
- e("carousel", o);
14
- const a = {
15
- size: "md",
16
- variant: "bordered",
17
- radius: "lg",
18
- autoPlay: !1,
19
- autoPlayInterval: 5e3,
20
- loop: !0,
21
- showControls: !0,
22
- showIndicators: !0,
23
- pauseOnHover: !0,
24
- disableAnimation: !1
25
- };
26
- export {
27
- a as FALLBACK_CAROUSEL_CONFIG,
28
- o as defaultCarouselConfig
14
+ e("carousel", t);
15
+ var n = {
16
+ size: "md",
17
+ variant: "bordered",
18
+ radius: "lg",
19
+ autoPlay: !1,
20
+ autoPlayInterval: 5e3,
21
+ loop: !0,
22
+ showControls: !0,
23
+ showIndicators: !0,
24
+ pauseOnHover: !0,
25
+ disableAnimation: !1
29
26
  };
27
+ //#endregion
28
+ export { n as FALLBACK_CAROUSEL_CONFIG, t as defaultCarouselConfig };
@@ -1,18 +1,16 @@
1
1
  "use client";
2
- const r = {
3
- sm: "h-60 md:h-80",
4
- md: "h-80 md:h-[420px]",
5
- lg: "h-[400px] md:h-[520px]"
6
- }, d = {
7
- sm: "p-4",
8
- md: "p-6",
9
- lg: "p-8"
10
- }, o = {
11
- bordered: "bg-background border-2 border-border",
12
- ghost: "bg-transparent"
13
- };
14
- export {
15
- r as CAROUSEL_HEIGHT_CLASS,
16
- d as CAROUSEL_PADDING_CLASS,
17
- o as CAROUSEL_VARIANT_CLASS
2
+ //#region src/components/carousel/carousel-styles.ts
3
+ var e = {
4
+ sm: "h-60 md:h-80",
5
+ md: "h-80 md:h-[420px]",
6
+ lg: "h-[400px] md:h-[520px]"
7
+ }, t = {
8
+ sm: "p-4",
9
+ md: "p-6",
10
+ lg: "p-8"
11
+ }, n = {
12
+ bordered: "bg-background border-2 border-border",
13
+ ghost: "bg-transparent"
18
14
  };
15
+ //#endregion
16
+ export { e as CAROUSEL_HEIGHT_CLASS, t as CAROUSEL_PADDING_CLASS, n as CAROUSEL_VARIANT_CLASS };