asheeui 0.6.15 → 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 (183) hide show
  1. package/dist/AsheeUIProvider.js +22 -24
  2. package/dist/components/accordion/Accordion.js +79 -173
  3. package/dist/components/accordion/accordion-config.js +12 -13
  4. package/dist/components/accordion/accordion-styles.js +21 -24
  5. package/dist/components/autocomplete/Autocomplete.js +78 -136
  6. package/dist/components/autocomplete/autocomplete-config.js +7 -12
  7. package/dist/components/button/Button.d.ts +29 -1
  8. package/dist/components/button/Button.d.ts.map +1 -1
  9. package/dist/components/button/Button.js +47 -108
  10. package/dist/components/button/button-config.js +16 -17
  11. package/dist/components/button/button-styles.js +10 -11
  12. package/dist/components/card/Card.d.ts +36 -16
  13. package/dist/components/card/Card.d.ts.map +1 -1
  14. package/dist/components/card/Card.js +115 -205
  15. package/dist/components/card/card-config.js +24 -21
  16. package/dist/components/card/card-styles.js +19 -22
  17. package/dist/components/carousel/Carousel.js +123 -248
  18. package/dist/components/carousel/carousel-config.js +24 -25
  19. package/dist/components/carousel/carousel-styles.js +14 -16
  20. package/dist/components/chip/Chip.js +84 -191
  21. package/dist/components/chip/chip-config.js +13 -14
  22. package/dist/components/chip/chip-styles.js +22 -26
  23. package/dist/components/date-picker/Calendar.d.ts +3 -3
  24. package/dist/components/date-picker/Calendar.d.ts.map +1 -1
  25. package/dist/components/date-picker/Calendar.js +141 -222
  26. package/dist/components/date-picker/DatePicker.d.ts +5 -5
  27. package/dist/components/date-picker/DatePicker.d.ts.map +1 -1
  28. package/dist/components/date-picker/DatePicker.js +122 -220
  29. package/dist/components/date-picker/TimeSpinner.js +58 -82
  30. package/dist/components/date-picker/date-picker-config.d.ts +4 -4
  31. package/dist/components/date-picker/date-picker-config.d.ts.map +1 -1
  32. package/dist/components/date-picker/date-picker-config.js +10 -11
  33. package/dist/components/date-picker/date-picker-styles.js +44 -45
  34. package/dist/components/date-picker/date-picker.helpers.d.ts +4 -4
  35. package/dist/components/date-picker/date-picker.helpers.d.ts.map +1 -1
  36. package/dist/components/date-picker/date-picker.helpers.js +74 -102
  37. package/dist/components/drawer/Drawer.d.ts +26 -8
  38. package/dist/components/drawer/Drawer.d.ts.map +1 -1
  39. package/dist/components/drawer/Drawer.js +54 -131
  40. package/dist/components/drawer/drawer-config.js +14 -15
  41. package/dist/components/drawer/drawer-styles.js +38 -42
  42. package/dist/components/field/FieldShell.js +49 -56
  43. package/dist/components/field/field-config.js +17 -18
  44. package/dist/components/field/field-styles.js +8 -8
  45. package/dist/components/image/Image.d.ts +7 -7
  46. package/dist/components/image/Image.d.ts.map +1 -1
  47. package/dist/components/image/Image.js +65 -132
  48. package/dist/components/image/image-config.js +17 -18
  49. package/dist/components/image/image-styles.js +14 -15
  50. package/dist/components/input/Input.js +65 -150
  51. package/dist/components/input/PasswordInput.js +30 -49
  52. package/dist/components/input/input-config.js +7 -7
  53. package/dist/components/input/input-styles.js +9 -10
  54. package/dist/components/keyboard/KeyboardContext.js +10 -11
  55. package/dist/components/keyboard/KeyboardProvider.js +100 -181
  56. package/dist/components/keyboard/OnScreenKeyboard.d.ts.map +1 -1
  57. package/dist/components/keyboard/OnScreenKeyboard.js +159 -166
  58. package/dist/components/keyboard/keyboard-config.js +59 -57
  59. package/dist/components/keyboard/keyboard-styles.js +10 -11
  60. package/dist/components/keyboard/use-keyboard-field.js +29 -21
  61. package/dist/components/link/Link.js +47 -137
  62. package/dist/components/link/link-config.js +14 -15
  63. package/dist/components/link/link-styles.js +25 -29
  64. package/dist/components/marquee/Marquee.js +55 -144
  65. package/dist/components/marquee/marquee-config.js +18 -19
  66. package/dist/components/marquee/marquee-styles.js +13 -15
  67. package/dist/components/modal/Modal.d.ts +26 -10
  68. package/dist/components/modal/Modal.d.ts.map +1 -1
  69. package/dist/components/modal/Modal.js +56 -136
  70. package/dist/components/modal/modal-config.js +15 -16
  71. package/dist/components/modal/modal-styles.js +13 -14
  72. package/dist/components/multi-select/MultiSelect.d.ts +18 -2
  73. package/dist/components/multi-select/MultiSelect.d.ts.map +1 -1
  74. package/dist/components/multi-select/MultiSelect.js +149 -283
  75. package/dist/components/multi-select/multi-select-config.d.ts +23 -18
  76. package/dist/components/multi-select/multi-select-config.d.ts.map +1 -1
  77. package/dist/components/multi-select/multi-select-config.js +18 -21
  78. package/dist/components/multi-select/multi-select-styles.js +17 -20
  79. package/dist/components/radio/Radio.js +43 -80
  80. package/dist/components/radio/RadioGroup.js +57 -155
  81. package/dist/components/radio/radio-config.js +15 -16
  82. package/dist/components/radio/radio-context.js +6 -6
  83. package/dist/components/radio/radio-styles.js +55 -60
  84. package/dist/components/resizable-screen/ResizableScreen.js +87 -177
  85. package/dist/components/resizable-screen/resizable-screen-config.js +16 -17
  86. package/dist/components/select/Select.d.ts +3 -2
  87. package/dist/components/select/Select.d.ts.map +1 -1
  88. package/dist/components/select/Select.js +97 -195
  89. package/dist/components/select/select-config.js +8 -9
  90. package/dist/components/select/select-styles.js +5 -5
  91. package/dist/components/select-menu/SelectMenu.d.ts.map +1 -1
  92. package/dist/components/select-menu/SelectMenu.js +102 -196
  93. package/dist/components/select-menu/select-menu-config.js +12 -12
  94. package/dist/components/select-menu/use-select-floating.d.ts +11 -1
  95. package/dist/components/select-menu/use-select-floating.d.ts.map +1 -1
  96. package/dist/components/select-menu/use-select-floating.js +41 -48
  97. package/dist/components/sidebar/Sidebar.d.ts +43 -22
  98. package/dist/components/sidebar/Sidebar.d.ts.map +1 -1
  99. package/dist/components/sidebar/Sidebar.js +146 -331
  100. package/dist/components/sidebar/sidebar-config.d.ts +98 -31
  101. package/dist/components/sidebar/sidebar-config.d.ts.map +1 -1
  102. package/dist/components/sidebar/sidebar-config.js +47 -33
  103. package/dist/components/sidebar/sidebar-styles.js +27 -32
  104. package/dist/components/spinner/spinner-config.js +12 -13
  105. package/dist/components/spinner/spinner-styles.js +13 -14
  106. package/dist/components/spinner/spinner.js +39 -82
  107. package/dist/components/switch/Switch.js +62 -154
  108. package/dist/components/switch/switch-config.js +11 -12
  109. package/dist/components/switch/switch-styles.js +14 -16
  110. package/dist/components/table/Table.js +64 -186
  111. package/dist/components/table/table-config.js +17 -18
  112. package/dist/components/table/table-styles.js +48 -52
  113. package/dist/components/tabs/Tabs.d.ts +16 -8
  114. package/dist/components/tabs/Tabs.d.ts.map +1 -1
  115. package/dist/components/tabs/Tabs.js +93 -208
  116. package/dist/components/tabs/tabs-config.d.ts +42 -20
  117. package/dist/components/tabs/tabs-config.d.ts.map +1 -1
  118. package/dist/components/tabs/tabs-config.js +26 -18
  119. package/dist/components/tabs/tabs-styles.js +15 -17
  120. package/dist/components/textarea/Textarea.js +52 -138
  121. package/dist/components/textarea/textarea-config.js +10 -11
  122. package/dist/components/textarea/textarea-styles.js +9 -10
  123. package/dist/components/toast/ToastContext.js +22 -26
  124. package/dist/components/toast/ToastItem.js +82 -144
  125. package/dist/components/toast/ToastProvider.d.ts.map +1 -1
  126. package/dist/components/toast/ToastProvider.js +128 -190
  127. package/dist/components/toast/toast-config.js +23 -24
  128. package/dist/components/toast/toast-styles.js +50 -55
  129. package/dist/components/toast/use-pausable-timeout.js +17 -13
  130. package/dist/components/tooltip/Tooltip.d.ts +5 -0
  131. package/dist/components/tooltip/Tooltip.d.ts.map +1 -1
  132. package/dist/components/tooltip/Tooltip.js +68 -158
  133. package/dist/components/tooltip/tooltip-config.d.ts +25 -0
  134. package/dist/components/tooltip/tooltip-config.d.ts.map +1 -1
  135. package/dist/components/tooltip/tooltip-config.js +26 -22
  136. package/dist/components/tooltip/tooltip-styles.js +15 -17
  137. package/dist/config/default-config.js +11 -34
  138. package/dist/config/resolve-color.js +23 -23
  139. package/dist/config/resolve-config.d.ts.map +1 -1
  140. package/dist/config/resolve-config.js +14 -12
  141. package/dist/icons/ArrowLeftIcon.js +16 -19
  142. package/dist/icons/CalendarIcon.js +43 -24
  143. package/dist/icons/CheckIcon.js +16 -19
  144. package/dist/icons/ChevronDownIcon.js +15 -21
  145. package/dist/icons/ChevronLeftIcon.js +16 -19
  146. package/dist/icons/ChevronRightIcon.js +16 -19
  147. package/dist/icons/ChevronUpIcon.js +16 -19
  148. package/dist/icons/ClearIcon.js +26 -22
  149. package/dist/icons/ClockIcon.js +20 -22
  150. package/dist/icons/CloseIcon.js +26 -22
  151. package/dist/icons/ErrorIcon.js +16 -19
  152. package/dist/icons/ExternalLinkIcon.js +25 -23
  153. package/dist/icons/EyeIcon.js +20 -22
  154. package/dist/icons/EyeOffIcon.js +21 -22
  155. package/dist/icons/InfoIcon.js +16 -19
  156. package/dist/icons/SearchIcon.js +25 -22
  157. package/dist/icons/WarningIcon.js +16 -19
  158. package/dist/index.js +65 -163
  159. package/dist/libs/context.js +10 -13
  160. package/dist/libs/index.js +1 -0
  161. package/dist/libs/registry.js +10 -12
  162. package/dist/libs/use-floating-z-index.d.ts +32 -0
  163. package/dist/libs/use-floating-z-index.d.ts.map +1 -0
  164. package/dist/libs/use-floating-z-index.js +16 -0
  165. package/dist/libs/use-isomorphic-layout-effect.js +5 -5
  166. package/dist/scripts/AsheeThemeScript.js +35 -44
  167. package/dist/shared/radius.d.ts.map +1 -1
  168. package/dist/shared/radius.js +12 -13
  169. package/dist/shared/variant.js +46 -134
  170. package/dist/theme/color.js +28 -28
  171. package/dist/theme/controller.d.ts.map +1 -1
  172. package/dist/theme/controller.js +65 -178
  173. package/dist/theme/useTheme.js +13 -44
  174. package/dist/utils/cn.js +7 -7
  175. package/dist/utils/index.d.ts +1 -0
  176. package/dist/utils/index.d.ts.map +1 -1
  177. package/dist/utils/index.js +1 -0
  178. package/dist/utils/merge-object.js +13 -14
  179. package/dist/utils/resolve-token.js +11 -14
  180. package/dist/utils/stacking.d.ts +76 -0
  181. package/dist/utils/stacking.d.ts.map +1 -0
  182. package/dist/utils/stacking.js +34 -0
  183. 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 };