@enya-learning/nova 0.4.3 → 0.5.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 (132) hide show
  1. package/README.md +7 -16
  2. package/dist/chunks/dist-fahbq1psobj0ox6s.js +1327 -0
  3. package/dist/chunks/dist-fahbq1psobj0ox6s.js.map +1 -0
  4. package/dist/chunks/dist-o8x0ip0z71xkr2oh.js +37 -0
  5. package/dist/chunks/dist-o8x0ip0z71xkr2oh.js.map +1 -0
  6. package/dist/components/accordion.js +59 -0
  7. package/dist/components/accordion.js.map +1 -0
  8. package/dist/components/alert-dialog.js +108 -0
  9. package/dist/components/alert-dialog.js.map +1 -0
  10. package/dist/components/alert.js +49 -0
  11. package/dist/components/alert.js.map +1 -0
  12. package/dist/components/aspect-ratio.js +16 -0
  13. package/dist/components/aspect-ratio.js.map +1 -0
  14. package/dist/components/avatar.js +58 -0
  15. package/dist/components/avatar.js.map +1 -0
  16. package/dist/components/badge.js +33 -0
  17. package/dist/components/badge.js.map +1 -0
  18. package/dist/components/breadcrumb.js +81 -0
  19. package/dist/components/breadcrumb.js.map +1 -0
  20. package/dist/components/button-group.js +47 -0
  21. package/dist/components/button-group.js.map +1 -0
  22. package/dist/components/button.js +48 -3
  23. package/dist/components/button.js.map +1 -0
  24. package/dist/components/calendar.js +3000 -0
  25. package/dist/components/calendar.js.map +1 -0
  26. package/dist/components/card.js +65 -0
  27. package/dist/components/card.js.map +1 -0
  28. package/dist/components/carousel.js +1191 -0
  29. package/dist/components/carousel.js.map +1 -0
  30. package/dist/components/chart.js +10596 -0
  31. package/dist/components/chart.js.map +1 -0
  32. package/dist/components/checkbox.js +22 -0
  33. package/dist/components/checkbox.js.map +1 -0
  34. package/dist/components/collapsible.js +28 -0
  35. package/dist/components/collapsible.js.map +1 -0
  36. package/dist/components/combobox.js +179 -0
  37. package/dist/components/combobox.js.map +1 -0
  38. package/dist/components/command.js +656 -0
  39. package/dist/components/command.js.map +1 -0
  40. package/dist/components/context-menu.js +149 -0
  41. package/dist/components/context-menu.js.map +1 -0
  42. package/dist/components/dialog.js +103 -0
  43. package/dist/components/dialog.js.map +1 -0
  44. package/dist/components/direction.js +6 -0
  45. package/dist/components/drawer.js +1042 -0
  46. package/dist/components/drawer.js.map +1 -0
  47. package/dist/components/dropdown-menu.js +153 -0
  48. package/dist/components/dropdown-menu.js.map +1 -0
  49. package/dist/components/empty.js +67 -0
  50. package/dist/components/empty.js.map +1 -0
  51. package/dist/components/enya-logo.js +42 -42
  52. package/dist/components/enya-logo.js.map +1 -1
  53. package/dist/components/field.js +119 -0
  54. package/dist/components/field.js.map +1 -0
  55. package/dist/components/hover-card.js +40 -0
  56. package/dist/components/hover-card.js.map +1 -0
  57. package/dist/components/input-group.js +85 -0
  58. package/dist/components/input-group.js.map +1 -0
  59. package/dist/components/input-otp.js +416 -0
  60. package/dist/components/input-otp.js.map +1 -0
  61. package/dist/components/input.js +18 -0
  62. package/dist/components/input.js.map +1 -0
  63. package/dist/components/item.js +133 -0
  64. package/dist/components/item.js.map +1 -0
  65. package/dist/components/kbd.js +23 -0
  66. package/dist/components/kbd.js.map +1 -0
  67. package/dist/components/label.js +16 -0
  68. package/dist/components/label.js.map +1 -0
  69. package/dist/components/menubar.js +153 -0
  70. package/dist/components/menubar.js.map +1 -0
  71. package/dist/components/native-select.js +43 -0
  72. package/dist/components/native-select.js.map +1 -0
  73. package/dist/components/navigation-menu.js +93 -0
  74. package/dist/components/navigation-menu.js.map +1 -0
  75. package/dist/components/pagination.js +95 -0
  76. package/dist/components/pagination.js.map +1 -0
  77. package/dist/components/popover.js +62 -0
  78. package/dist/components/popover.js.map +1 -0
  79. package/dist/components/progress.js +50 -0
  80. package/dist/components/progress.js.map +1 -0
  81. package/dist/components/radio-group.js +30 -0
  82. package/dist/components/radio-group.js.map +1 -0
  83. package/dist/components/resizable.js +1562 -0
  84. package/dist/components/resizable.js.map +1 -0
  85. package/dist/components/scroll-area.js +40 -0
  86. package/dist/components/scroll-area.js.map +1 -0
  87. package/dist/components/select.js +109 -0
  88. package/dist/components/select.js.map +1 -0
  89. package/dist/components/separator.js +17 -0
  90. package/dist/components/separator.js.map +1 -0
  91. package/dist/components/sheet.js +98 -0
  92. package/dist/components/sheet.js.map +1 -0
  93. package/dist/components/sidebar.js +395 -0
  94. package/dist/components/sidebar.js.map +1 -0
  95. package/dist/components/skeleton.js +15 -0
  96. package/dist/components/skeleton.js.map +1 -0
  97. package/dist/components/slider.js +36 -0
  98. package/dist/components/slider.js.map +1 -0
  99. package/dist/components/sonner.js +722 -0
  100. package/dist/components/sonner.js.map +1 -0
  101. package/dist/components/spinner.js +17 -0
  102. package/dist/components/spinner.js.map +1 -0
  103. package/dist/components/switch.js +21 -0
  104. package/dist/components/switch.js.map +1 -0
  105. package/dist/components/table.js +76 -0
  106. package/dist/components/table.js.map +1 -0
  107. package/dist/components/tabs.js +51 -0
  108. package/dist/components/tabs.js.map +1 -0
  109. package/dist/components/textarea.js +16 -0
  110. package/dist/components/textarea.js.map +1 -0
  111. package/dist/components/toggle-group.js +55 -0
  112. package/dist/components/toggle-group.js.map +1 -0
  113. package/dist/components/toggle.js +39 -0
  114. package/dist/components/toggle.js.map +1 -0
  115. package/dist/components/tooltip.js +46 -0
  116. package/dist/components/tooltip.js.map +1 -0
  117. package/dist/index.js +17 -23241
  118. package/dist/src/components/badge/badge.d.ts +1 -1
  119. package/dist/src/components/button/button.d.ts +1 -1
  120. package/dist/src/components/item/item.d.ts +1 -1
  121. package/dist/src/components/tabs/tabs.d.ts +1 -1
  122. package/dist/src/index.d.ts +1 -53
  123. package/dist/styles/nova-binding.css +102 -0
  124. package/dist/styles/nova.css +106 -48
  125. package/dist/styles/theme-nova.css +77 -81
  126. package/dist/styles/typography.css +34 -22
  127. package/package.json +17 -9
  128. package/src/eslint/no-primitive-colors.test.ts +97 -0
  129. package/dist/chunks/button-kvgr8g13fe959ju0.js +0 -81
  130. package/dist/chunks/button-kvgr8g13fe959ju0.js.map +0 -1
  131. package/dist/index.js.map +0 -1
  132. package/dist/styles/globals.css +0 -77
@@ -0,0 +1,1191 @@
1
+ "use client";
2
+ import { t as mt } from "../chunks/utils-kyb5nny4y41y7hd8.js";
3
+ import { Button as Jt } from "./button.js";
4
+ import { jsx as Q, jsxs as Xt } from "react/jsx-runtime";
5
+ import { ChevronLeftIcon as fn, ChevronRightIcon as dn } from "lucide-react";
6
+ import * as H from "react";
7
+ import { useCallback as pn, useEffect as Ct, useRef as Gt, useState as $t } from "react";
8
+ function mn(t) {
9
+ return Object.prototype.toString.call(t) === "[object Object]";
10
+ }
11
+ function qt(t) {
12
+ return mn(t) || Array.isArray(t);
13
+ }
14
+ function gn() {
15
+ return !!(typeof window < "u" && window.document && window.document.createElement);
16
+ }
17
+ function Dt(t, n) {
18
+ const e = Object.keys(t), s = Object.keys(n);
19
+ return e.length !== s.length || JSON.stringify(Object.keys(t.breakpoints || {})) !== JSON.stringify(Object.keys(n.breakpoints || {})) ? !1 : e.every((i) => {
20
+ const o = t[i], r = n[i];
21
+ return typeof o == "function" ? `${o}` == `${r}` : !qt(o) || !qt(r) ? o === r : Dt(o, r);
22
+ });
23
+ }
24
+ function Kt(t) {
25
+ return t.concat().sort((n, e) => n.name > e.name ? 1 : -1).map((n) => n.options);
26
+ }
27
+ function hn(t, n) {
28
+ if (t.length !== n.length) return !1;
29
+ const e = Kt(t), s = Kt(n);
30
+ return e.every((i, o) => {
31
+ const r = s[o];
32
+ return Dt(i, r);
33
+ });
34
+ }
35
+ function Tt(t) {
36
+ return typeof t == "number";
37
+ }
38
+ function Pt(t) {
39
+ return typeof t == "string";
40
+ }
41
+ function yt(t) {
42
+ return typeof t == "boolean";
43
+ }
44
+ function Ut(t) {
45
+ return Object.prototype.toString.call(t) === "[object Object]";
46
+ }
47
+ function A(t) {
48
+ return Math.abs(t);
49
+ }
50
+ function Nt(t) {
51
+ return Math.sign(t);
52
+ }
53
+ function lt(t, n) {
54
+ return A(t - n);
55
+ }
56
+ function Sn(t, n) {
57
+ return t === 0 || n === 0 || A(t) <= A(n) ? 0 : A(lt(A(t), A(n)) / t);
58
+ }
59
+ function yn(t) {
60
+ return Math.round(t * 100) / 100;
61
+ }
62
+ function ft(t) {
63
+ return dt(t).map(Number);
64
+ }
65
+ function j(t) {
66
+ return t[gt(t)];
67
+ }
68
+ function gt(t) {
69
+ return Math.max(0, t.length - 1);
70
+ }
71
+ function Ot(t, n) {
72
+ return n === gt(t);
73
+ }
74
+ function Qt(t, n = 0) {
75
+ return Array.from(Array(t), (e, s) => n + s);
76
+ }
77
+ function dt(t) {
78
+ return Object.keys(t);
79
+ }
80
+ function Yt(t, n) {
81
+ return [t, n].reduce((e, s) => (dt(s).forEach((i) => {
82
+ const o = e[i], r = s[i];
83
+ e[i] = Ut(o) && Ut(r) ? Yt(o, r) : r;
84
+ }), e), {});
85
+ }
86
+ function At(t, n) {
87
+ return typeof n.MouseEvent < "u" && t instanceof n.MouseEvent;
88
+ }
89
+ function bn(t, n) {
90
+ const e = {
91
+ start: s,
92
+ center: i,
93
+ end: o
94
+ };
95
+ function s() {
96
+ return 0;
97
+ }
98
+ function i(u) {
99
+ return o(u) / 2;
100
+ }
101
+ function o(u) {
102
+ return n - u;
103
+ }
104
+ function r(u, c) {
105
+ return Pt(t) ? e[t](u) : t(n, u, c);
106
+ }
107
+ return { measure: r };
108
+ }
109
+ function pt() {
110
+ let t = [];
111
+ function n(i, o, r, u = { passive: !0 }) {
112
+ let c;
113
+ if ("addEventListener" in i)
114
+ i.addEventListener(o, r, u), c = () => i.removeEventListener(o, r, u);
115
+ else {
116
+ const l = i;
117
+ l.addListener(r), c = () => l.removeListener(r);
118
+ }
119
+ return t.push(c), s;
120
+ }
121
+ function e() {
122
+ t = t.filter((i) => i());
123
+ }
124
+ const s = {
125
+ add: n,
126
+ clear: e
127
+ };
128
+ return s;
129
+ }
130
+ function xn(t, n, e, s) {
131
+ const i = pt(), o = 1e3 / 60;
132
+ let r = null, u = 0, c = 0;
133
+ function l() {
134
+ i.add(t, "visibilitychange", () => {
135
+ t.hidden && d();
136
+ });
137
+ }
138
+ function f() {
139
+ p(), i.clear();
140
+ }
141
+ function m(h) {
142
+ if (!c) return;
143
+ r || (r = h, e(), e());
144
+ const S = h - r;
145
+ for (r = h, u += S; u >= o; )
146
+ e(), u -= o;
147
+ s(u / o), c && (c = n.requestAnimationFrame(m));
148
+ }
149
+ function g() {
150
+ c || (c = n.requestAnimationFrame(m));
151
+ }
152
+ function p() {
153
+ n.cancelAnimationFrame(c), r = null, u = 0, c = 0;
154
+ }
155
+ function d() {
156
+ r = null, u = 0;
157
+ }
158
+ return {
159
+ init: l,
160
+ destroy: f,
161
+ start: g,
162
+ stop: p,
163
+ update: e,
164
+ render: s
165
+ };
166
+ }
167
+ function vn(t, n) {
168
+ const e = n === "rtl", s = t === "y", i = s ? "y" : "x", o = s ? "x" : "y", r = !s && e ? -1 : 1, u = f(), c = m();
169
+ function l(p) {
170
+ const { height: d, width: h } = p;
171
+ return s ? d : h;
172
+ }
173
+ function f() {
174
+ return s ? "top" : e ? "right" : "left";
175
+ }
176
+ function m() {
177
+ return s ? "bottom" : e ? "left" : "right";
178
+ }
179
+ function g(p) {
180
+ return p * r;
181
+ }
182
+ return {
183
+ scroll: i,
184
+ cross: o,
185
+ startEdge: u,
186
+ endEdge: c,
187
+ measureSize: l,
188
+ direction: g
189
+ };
190
+ }
191
+ function tt(t = 0, n = 0) {
192
+ const e = A(t - n);
193
+ function s(c) {
194
+ return c < t;
195
+ }
196
+ function i(c) {
197
+ return c > n;
198
+ }
199
+ function o(c) {
200
+ return s(c) || i(c);
201
+ }
202
+ function r(c) {
203
+ return o(c) ? s(c) ? t : n : c;
204
+ }
205
+ function u(c) {
206
+ return e ? c - e * Math.ceil((c - n) / e) : c;
207
+ }
208
+ return {
209
+ length: e,
210
+ max: n,
211
+ min: t,
212
+ constrain: r,
213
+ reachedAny: o,
214
+ reachedMax: i,
215
+ reachedMin: s,
216
+ removeOffset: u
217
+ };
218
+ }
219
+ function _t(t, n, e) {
220
+ const { constrain: s } = tt(0, t), i = t + 1;
221
+ let o = r(n);
222
+ function r(g) {
223
+ return e ? A((i + g) % i) : s(g);
224
+ }
225
+ function u() {
226
+ return o;
227
+ }
228
+ function c(g) {
229
+ return o = r(g), m;
230
+ }
231
+ function l(g) {
232
+ return f().set(u() + g);
233
+ }
234
+ function f() {
235
+ return _t(t, u(), e);
236
+ }
237
+ const m = {
238
+ get: u,
239
+ set: c,
240
+ add: l,
241
+ clone: f
242
+ };
243
+ return m;
244
+ }
245
+ function En(t, n, e, s, i, o, r, u, c, l, f, m, g, p, d, h, S, a, b) {
246
+ const { cross: I, direction: P } = t, T = [
247
+ "INPUT",
248
+ "SELECT",
249
+ "TEXTAREA"
250
+ ], x = { passive: !1 }, C = pt(), v = pt(), D = tt(50, 225).constrain(p.measure(20)), N = {
251
+ mouse: 300,
252
+ touch: 400
253
+ }, O = {
254
+ mouse: 500,
255
+ touch: 600
256
+ }, k = d ? 43 : 25;
257
+ let V = !1, B = 0, Y = 0, _ = !1, G = !1, J = !1, $ = !1;
258
+ function Z(y) {
259
+ if (!b) return;
260
+ function E(w) {
261
+ (yt(b) || b(y, w)) && F(w);
262
+ }
263
+ const L = n;
264
+ C.add(L, "dragstart", (w) => w.preventDefault(), x).add(L, "touchmove", () => {
265
+ }, x).add(L, "touchend", () => {
266
+ }).add(L, "touchstart", E).add(L, "mousedown", E).add(L, "touchcancel", M).add(L, "contextmenu", M).add(L, "click", et, !0);
267
+ }
268
+ function q() {
269
+ C.clear(), v.clear();
270
+ }
271
+ function nt() {
272
+ const y = $ ? e : n;
273
+ v.add(y, "touchmove", R, x).add(y, "touchend", M).add(y, "mousemove", R, x).add(y, "mouseup", M);
274
+ }
275
+ function K(y) {
276
+ const E = y.nodeName || "";
277
+ return T.includes(E);
278
+ }
279
+ function it() {
280
+ return (d ? O : N)[$ ? "mouse" : "touch"];
281
+ }
282
+ function st(y, E) {
283
+ const L = m.add(Nt(y) * -1), w = f.byDistance(y, !d).distance;
284
+ return d || A(y) < D ? w : S && E ? w * 0.5 : f.byIndex(L.get(), 0).distance;
285
+ }
286
+ function F(y) {
287
+ const E = At(y, s);
288
+ $ = E, J = d && E && !y.buttons && V, V = lt(i.get(), r.get()) >= 2, !(E && y.button !== 0) && (K(y.target) || (_ = !0, o.pointerDown(y), l.useFriction(0).useDuration(0), i.set(r), nt(), B = o.readPoint(y), Y = o.readPoint(y, I), g.emit("pointerDown")));
289
+ }
290
+ function R(y) {
291
+ if (!At(y, s) && y.touches.length >= 2) return M(y);
292
+ const E = o.readPoint(y), L = o.readPoint(y, I), w = lt(E, B), U = lt(L, Y);
293
+ if (!G && !$ && (!y.cancelable || (G = w > U, !G)))
294
+ return M(y);
295
+ const X = o.pointerMove(y);
296
+ w > h && (J = !0), l.useFriction(0.3).useDuration(0.75), u.start(), i.add(P(X)), y.preventDefault();
297
+ }
298
+ function M(y) {
299
+ const E = f.byDistance(0, !1).index !== m.get(), L = o.pointerUp(y) * it(), w = st(P(L), E), U = Sn(L, w), X = k - 10 * U, ct = a + U / 50;
300
+ G = !1, _ = !1, v.clear(), l.useDuration(X).useFriction(ct), c.distance(w, !d), $ = !1, g.emit("pointerUp");
301
+ }
302
+ function et(y) {
303
+ J && (y.stopPropagation(), y.preventDefault(), J = !1);
304
+ }
305
+ function z() {
306
+ return _;
307
+ }
308
+ return {
309
+ init: Z,
310
+ destroy: q,
311
+ pointerDown: z
312
+ };
313
+ }
314
+ function Ln(t, n) {
315
+ let s, i;
316
+ function o(f) {
317
+ return f.timeStamp;
318
+ }
319
+ function r(f, m) {
320
+ const g = `client${(m || t.scroll) === "x" ? "X" : "Y"}`;
321
+ return (At(f, n) ? f : f.touches[0])[g];
322
+ }
323
+ function u(f) {
324
+ return s = f, i = f, r(f);
325
+ }
326
+ function c(f) {
327
+ const m = r(f) - r(i), g = o(f) - o(s) > 170;
328
+ return i = f, g && (s = f), m;
329
+ }
330
+ function l(f) {
331
+ if (!s || !i) return 0;
332
+ const m = r(i) - r(s), g = o(f) - o(s), p = o(f) - o(i) > 170, d = m / g;
333
+ return g && !p && A(d) > 0.1 ? d : 0;
334
+ }
335
+ return {
336
+ pointerDown: u,
337
+ pointerMove: c,
338
+ pointerUp: l,
339
+ readPoint: r
340
+ };
341
+ }
342
+ function In() {
343
+ function t(n) {
344
+ const { offsetTop: e, offsetLeft: s, offsetWidth: i, offsetHeight: o } = n;
345
+ return {
346
+ top: e,
347
+ right: s + i,
348
+ bottom: e + o,
349
+ left: s,
350
+ width: i,
351
+ height: o
352
+ };
353
+ }
354
+ return { measure: t };
355
+ }
356
+ function Cn(t) {
357
+ function n(e) {
358
+ return t * (e / 100);
359
+ }
360
+ return { measure: n };
361
+ }
362
+ function Pn(t, n, e, s, i, o, r) {
363
+ const u = [t].concat(s);
364
+ let c, l, f = [], m = !1;
365
+ function g(h) {
366
+ return i.measureSize(r.measure(h));
367
+ }
368
+ function p(h) {
369
+ if (!o) return;
370
+ l = g(t), f = s.map(g);
371
+ function S(a) {
372
+ for (const b of a) {
373
+ if (m) return;
374
+ const I = b.target === t, P = s.indexOf(b.target), T = I ? l : f[P];
375
+ if (A(g(I ? t : s[P]) - T) >= 0.5) {
376
+ h.reInit(), n.emit("resize");
377
+ break;
378
+ }
379
+ }
380
+ }
381
+ c = new ResizeObserver((a) => {
382
+ (yt(o) || o(h, a)) && S(a);
383
+ }), e.requestAnimationFrame(() => {
384
+ u.forEach((a) => c.observe(a));
385
+ });
386
+ }
387
+ function d() {
388
+ m = !0, c && c.disconnect();
389
+ }
390
+ return {
391
+ init: p,
392
+ destroy: d
393
+ };
394
+ }
395
+ function An(t, n, e, s, i, o) {
396
+ let r = 0, u = 0, c = i, l = o, f = t.get(), m = 0;
397
+ function g() {
398
+ const x = s.get() - t.get(), C = !c;
399
+ let v = 0;
400
+ return C ? (r = 0, e.set(s), t.set(s), v = x) : (e.set(t), r += x / c, r *= l, f += r, t.add(r), v = f - m), u = Nt(v), m = f, T;
401
+ }
402
+ function p() {
403
+ return A(s.get() - n.get()) < 1e-3;
404
+ }
405
+ function d() {
406
+ return c;
407
+ }
408
+ function h() {
409
+ return u;
410
+ }
411
+ function S() {
412
+ return r;
413
+ }
414
+ function a() {
415
+ return I(i);
416
+ }
417
+ function b() {
418
+ return P(o);
419
+ }
420
+ function I(x) {
421
+ return c = x, T;
422
+ }
423
+ function P(x) {
424
+ return l = x, T;
425
+ }
426
+ const T = {
427
+ direction: h,
428
+ duration: d,
429
+ velocity: S,
430
+ seek: g,
431
+ settled: p,
432
+ useBaseFriction: b,
433
+ useBaseDuration: a,
434
+ useFriction: P,
435
+ useDuration: I
436
+ };
437
+ return T;
438
+ }
439
+ function Dn(t, n, e, s, i) {
440
+ const o = i.measure(10), r = i.measure(50), u = tt(0.1, 0.99);
441
+ let c = !1;
442
+ function l() {
443
+ return !(c || !t.reachedAny(e.get()) || !t.reachedAny(n.get()));
444
+ }
445
+ function f(g) {
446
+ if (!l()) return;
447
+ const p = A(t[t.reachedMin(n.get()) ? "min" : "max"] - n.get()), d = e.get() - n.get(), h = u.constrain(p / r);
448
+ e.subtract(d * h), !g && A(d) < o && (e.set(t.constrain(e.get())), s.useDuration(25).useBaseFriction());
449
+ }
450
+ function m(g) {
451
+ c = !g;
452
+ }
453
+ return {
454
+ shouldConstrain: l,
455
+ constrain: f,
456
+ toggleActive: m
457
+ };
458
+ }
459
+ function Tn(t, n, e, s, i) {
460
+ const o = tt(-n + t, 0), r = m(), u = f(), c = g();
461
+ function l(p, d) {
462
+ return lt(p, d) <= 1;
463
+ }
464
+ function f() {
465
+ const p = r[0], d = j(r);
466
+ return tt(r.lastIndexOf(p), r.indexOf(d) + 1);
467
+ }
468
+ function m() {
469
+ return e.map((p, d) => {
470
+ const { min: h, max: S } = o, a = o.constrain(p), b = !d, I = Ot(e, d);
471
+ return b ? S : I || l(h, a) ? h : l(S, a) ? S : a;
472
+ }).map((p) => parseFloat(p.toFixed(3)));
473
+ }
474
+ function g() {
475
+ if (n <= t + i) return [o.max];
476
+ if (s === "keepSnaps") return r;
477
+ const { min: p, max: d } = u;
478
+ return r.slice(p, d);
479
+ }
480
+ return {
481
+ snapsContained: c,
482
+ scrollContainLimit: u
483
+ };
484
+ }
485
+ function Nn(t, n, e) {
486
+ const s = n[0];
487
+ return { limit: tt(e ? s - t : j(n), s) };
488
+ }
489
+ function On(t, n, e, s) {
490
+ const { reachedMin: o, reachedMax: r } = tt(n.min + 0.1, n.max + 0.1);
491
+ function u(l) {
492
+ return l === 1 ? r(e.get()) : l === -1 ? o(e.get()) : !1;
493
+ }
494
+ function c(l) {
495
+ if (!u(l)) return;
496
+ const f = t * (l * -1);
497
+ s.forEach((m) => m.add(f));
498
+ }
499
+ return { loop: c };
500
+ }
501
+ function wn(t) {
502
+ const { max: n, length: e } = t;
503
+ function s(i) {
504
+ const o = i - n;
505
+ return e ? o / -e : 0;
506
+ }
507
+ return { get: s };
508
+ }
509
+ function Mn(t, n, e, s, i) {
510
+ const { startEdge: o, endEdge: r } = t, { groupSlides: u } = i, c = m().map(n.measure), l = g(), f = p();
511
+ function m() {
512
+ return u(s).map((d) => j(d)[r] - d[0][o]).map(A);
513
+ }
514
+ function g() {
515
+ return s.map((d) => e[o] - d[o]).map((d) => -A(d));
516
+ }
517
+ function p() {
518
+ return u(l).map((d) => d[0]).map((d, h) => d + c[h]);
519
+ }
520
+ return {
521
+ snaps: l,
522
+ snapsAligned: f
523
+ };
524
+ }
525
+ function kn(t, n, e, s, i, o) {
526
+ const { groupSlides: r } = i, { min: u, max: c } = s, l = f();
527
+ function f() {
528
+ const m = r(o), g = !t || n === "keepSnaps";
529
+ return e.length === 1 ? [o] : g ? m : m.slice(u, c).map((p, d, h) => {
530
+ const S = !d, a = Ot(h, d);
531
+ return S ? Qt(j(h[0]) + 1) : a ? Qt(gt(o) - j(h)[0] + 1, j(h)[0]) : p;
532
+ });
533
+ }
534
+ return { slideRegistry: l };
535
+ }
536
+ function Fn(t, n, e, s, i) {
537
+ const { reachedAny: o, removeOffset: r, constrain: u } = s;
538
+ function c(p) {
539
+ return p.concat().sort((d, h) => A(d) - A(h))[0];
540
+ }
541
+ function l(p) {
542
+ const d = t ? r(p) : u(p), { index: h } = n.map((S, a) => ({
543
+ diff: f(S - d, 0),
544
+ index: a
545
+ })).sort((S, a) => A(S.diff) - A(a.diff))[0];
546
+ return {
547
+ index: h,
548
+ distance: d
549
+ };
550
+ }
551
+ function f(p, d) {
552
+ const h = [
553
+ p,
554
+ p + e,
555
+ p - e
556
+ ];
557
+ if (!t) return p;
558
+ if (!d) return c(h);
559
+ const S = h.filter((a) => Nt(a) === d);
560
+ return S.length ? c(S) : j(h) - e;
561
+ }
562
+ function m(p, d) {
563
+ return {
564
+ index: p,
565
+ distance: f(n[p] - i.get(), d)
566
+ };
567
+ }
568
+ function g(p, d) {
569
+ const h = i.get() + p, { index: S, distance: a } = l(h), b = !t && o(h);
570
+ return !d || b ? {
571
+ index: S,
572
+ distance: p
573
+ } : {
574
+ index: S,
575
+ distance: p + f(n[S] - a, 0)
576
+ };
577
+ }
578
+ return {
579
+ byDistance: g,
580
+ byIndex: m,
581
+ shortcut: f
582
+ };
583
+ }
584
+ function zn(t, n, e, s, i, o, r) {
585
+ function u(f) {
586
+ const m = f.distance, g = f.index !== n.get();
587
+ o.add(m), m && (s.duration() ? t.start() : (t.update(), t.render(1), t.update())), g && (e.set(n.get()), n.set(f.index), r.emit("select"));
588
+ }
589
+ function c(f, m) {
590
+ u(i.byDistance(f, m));
591
+ }
592
+ function l(f, m) {
593
+ const g = n.clone().set(f);
594
+ u(i.byIndex(g.get(), m));
595
+ }
596
+ return {
597
+ distance: c,
598
+ index: l
599
+ };
600
+ }
601
+ function Bn(t, n, e, s, i, o, r, u) {
602
+ const c = {
603
+ passive: !0,
604
+ capture: !0
605
+ };
606
+ let l = 0;
607
+ function f(g) {
608
+ if (!u) return;
609
+ function p(d) {
610
+ if ((/* @__PURE__ */ new Date()).getTime() - l > 10) return;
611
+ r.emit("slideFocusStart"), t.scrollLeft = 0;
612
+ const h = e.findIndex((S) => S.includes(d));
613
+ Tt(h) && (i.useDuration(0), s.index(h, 0), r.emit("slideFocus"));
614
+ }
615
+ o.add(document, "keydown", m, !1), n.forEach((d, h) => {
616
+ o.add(d, "focus", (S) => {
617
+ (yt(u) || u(g, S)) && p(h);
618
+ }, c);
619
+ });
620
+ }
621
+ function m(g) {
622
+ g.code === "Tab" && (l = (/* @__PURE__ */ new Date()).getTime());
623
+ }
624
+ return { init: f };
625
+ }
626
+ function at(t) {
627
+ let n = t;
628
+ function e() {
629
+ return n;
630
+ }
631
+ function s(u) {
632
+ n = r(u);
633
+ }
634
+ function i(u) {
635
+ n += r(u);
636
+ }
637
+ function o(u) {
638
+ n -= r(u);
639
+ }
640
+ function r(u) {
641
+ return Tt(u) ? u : u.get();
642
+ }
643
+ return {
644
+ get: e,
645
+ set: s,
646
+ add: i,
647
+ subtract: o
648
+ };
649
+ }
650
+ function Zt(t, n) {
651
+ const e = t.scroll === "x" ? r : u, s = n.style;
652
+ let i = null, o = !1;
653
+ function r(m) {
654
+ return `translate3d(${m}px,0px,0px)`;
655
+ }
656
+ function u(m) {
657
+ return `translate3d(0px,${m}px,0px)`;
658
+ }
659
+ function c(m) {
660
+ if (o) return;
661
+ const g = yn(t.direction(m));
662
+ g !== i && (s.transform = e(g), i = g);
663
+ }
664
+ function l(m) {
665
+ o = !m;
666
+ }
667
+ function f() {
668
+ o || (s.transform = "", n.getAttribute("style") || n.removeAttribute("style"));
669
+ }
670
+ return {
671
+ clear: f,
672
+ to: c,
673
+ toggleActive: l
674
+ };
675
+ }
676
+ function jn(t, n, e, s, i, o, r, u, c) {
677
+ const f = ft(i), m = ft(i).reverse(), g = a().concat(b());
678
+ function p(x, C) {
679
+ return x.reduce((v, D) => v - i[D], C);
680
+ }
681
+ function d(x, C) {
682
+ return x.reduce((v, D) => p(v, C) > 0 ? v.concat([D]) : v, []);
683
+ }
684
+ function h(x) {
685
+ return o.map((C, v) => ({
686
+ start: C - s[v] + 0.5 + x,
687
+ end: C + n - 0.5 + x
688
+ }));
689
+ }
690
+ function S(x, C, v) {
691
+ const D = h(C);
692
+ return x.map((N) => {
693
+ const O = v ? 0 : -e, k = v ? e : 0, V = v ? "end" : "start", B = D[N][V];
694
+ return {
695
+ index: N,
696
+ loopPoint: B,
697
+ slideLocation: at(-1),
698
+ translate: Zt(t, c[N]),
699
+ target: () => u.get() > B ? O : k
700
+ };
701
+ });
702
+ }
703
+ function a() {
704
+ const x = r[0];
705
+ return S(d(m, x), e, !1);
706
+ }
707
+ function b() {
708
+ return S(d(f, n - r[0] - 1), -e, !0);
709
+ }
710
+ function I() {
711
+ return g.every(({ index: x }) => p(f.filter((C) => C !== x), n) <= 0.1);
712
+ }
713
+ function P() {
714
+ g.forEach((x) => {
715
+ const { target: C, translate: v, slideLocation: D } = x, N = C();
716
+ N !== D.get() && (v.to(N), D.set(N));
717
+ });
718
+ }
719
+ function T() {
720
+ g.forEach((x) => x.translate.clear());
721
+ }
722
+ return {
723
+ canLoop: I,
724
+ clear: T,
725
+ loop: P,
726
+ loopPoints: g
727
+ };
728
+ }
729
+ function Vn(t, n, e) {
730
+ let s, i = !1;
731
+ function o(u) {
732
+ if (!e) return;
733
+ function c(l) {
734
+ for (const f of l) if (f.type === "childList") {
735
+ u.reInit(), n.emit("slidesChanged");
736
+ break;
737
+ }
738
+ }
739
+ s = new MutationObserver((l) => {
740
+ i || (yt(e) || e(u, l)) && c(l);
741
+ }), s.observe(t, { childList: !0 });
742
+ }
743
+ function r() {
744
+ s && s.disconnect(), i = !0;
745
+ }
746
+ return {
747
+ init: o,
748
+ destroy: r
749
+ };
750
+ }
751
+ function Rn(t, n, e, s) {
752
+ const i = {};
753
+ let o = null, r = null, u, c = !1;
754
+ function l() {
755
+ u = new IntersectionObserver((p) => {
756
+ c || (p.forEach((d) => {
757
+ const h = n.indexOf(d.target);
758
+ i[h] = d;
759
+ }), o = null, r = null, e.emit("slidesInView"));
760
+ }, {
761
+ root: t.parentElement,
762
+ threshold: s
763
+ }), n.forEach((p) => u.observe(p));
764
+ }
765
+ function f() {
766
+ u && u.disconnect(), c = !0;
767
+ }
768
+ function m(p) {
769
+ return dt(i).reduce((d, h) => {
770
+ const S = parseInt(h), { isIntersecting: a } = i[S];
771
+ return (p && a || !p && !a) && d.push(S), d;
772
+ }, []);
773
+ }
774
+ function g(p = !0) {
775
+ if (p && o) return o;
776
+ if (!p && r) return r;
777
+ const d = m(p);
778
+ return p && (o = d), p || (r = d), d;
779
+ }
780
+ return {
781
+ init: l,
782
+ destroy: f,
783
+ get: g
784
+ };
785
+ }
786
+ function Hn(t, n, e, s, i, o) {
787
+ const { measureSize: r, startEdge: u, endEdge: c } = t, l = e[0] && i, f = d(), m = h(), g = e.map(r), p = S();
788
+ function d() {
789
+ if (!l) return 0;
790
+ const a = e[0];
791
+ return A(n[u] - a[u]);
792
+ }
793
+ function h() {
794
+ if (!l) return 0;
795
+ const a = o.getComputedStyle(j(s));
796
+ return parseFloat(a.getPropertyValue(`margin-${c}`));
797
+ }
798
+ function S() {
799
+ return e.map((a, b, I) => {
800
+ const P = !b, T = Ot(I, b);
801
+ return P ? g[b] + f : T ? g[b] + m : I[b + 1][u] - a[u];
802
+ }).map(A);
803
+ }
804
+ return {
805
+ slideSizes: g,
806
+ slideSizesWithGaps: p,
807
+ startGap: f,
808
+ endGap: m
809
+ };
810
+ }
811
+ function Gn(t, n, e, s, i, o, r, u, c) {
812
+ const { startEdge: l, endEdge: f, direction: m } = t, g = Tt(e);
813
+ function p(S, a) {
814
+ return ft(S).filter((b) => b % a === 0).map((b) => S.slice(b, b + a));
815
+ }
816
+ function d(S) {
817
+ return S.length ? ft(S).reduce((a, b, I) => {
818
+ const P = j(a) || 0, T = P === 0, x = b === gt(S), C = i[l] - o[P][l], v = i[l] - o[b][f], D = !s && T ? m(r) : 0, N = A(v - (!s && x ? m(u) : 0) - (C + D));
819
+ return I && N > n + c && a.push(b), x && a.push(S.length), a;
820
+ }, []).map((a, b, I) => {
821
+ const P = Math.max(I[b - 1] || 0);
822
+ return S.slice(P, a);
823
+ }) : [];
824
+ }
825
+ function h(S) {
826
+ return g ? p(S, e) : d(S);
827
+ }
828
+ return { groupSlides: h };
829
+ }
830
+ function $n(t, n, e, s, i, o, r) {
831
+ const { align: u, axis: c, direction: l, startIndex: f, loop: m, duration: g, dragFree: p, dragThreshold: d, inViewThreshold: h, slidesToScroll: S, skipSnaps: a, containScroll: b, watchResize: I, watchSlides: P, watchDrag: T, watchFocus: x } = o, C = 2, v = In(), D = v.measure(n), N = e.map(v.measure), O = vn(c, l), k = O.measureSize(D), V = Cn(k), B = bn(u, k), Y = !m && !!b, { slideSizes: _, slideSizesWithGaps: G, startGap: J, endGap: $ } = Hn(O, D, N, e, m || !!b, i), Z = Gn(O, k, S, m, D, N, J, $, C), { snaps: q, snapsAligned: nt } = Mn(O, B, D, N, Z), K = -j(q) + j(G), { snapsContained: it, scrollContainLimit: st } = Tn(k, K, nt, b, C), F = Y ? it : nt, { limit: R } = Nn(K, F, m), M = _t(gt(F), f, m), et = M.clone(), z = ft(e), y = ({ dragHandler: ot, scrollBody: Lt, scrollBounds: It, options: { loop: ht } }) => {
832
+ ht || It.constrain(ot.pointerDown()), Lt.seek();
833
+ }, E = ({ scrollBody: ot, translate: Lt, location: It, offsetLocation: ht, previousLocation: en, scrollLooper: rn, slideLooper: on, dragHandler: sn, animation: cn, eventHandler: zt, scrollBounds: un, options: { loop: Bt } }, jt) => {
834
+ const Vt = ot.settled(), an = !un.shouldConstrain(), Rt = Bt ? Vt : Vt && an, Ht = Rt && !sn.pointerDown();
835
+ Ht && cn.stop();
836
+ const ln = It.get() * jt + en.get() * (1 - jt);
837
+ ht.set(ln), Bt && (rn.loop(ot.direction()), on.loop()), Lt.to(ht.get()), Ht && zt.emit("settle"), Rt || zt.emit("scroll");
838
+ }, L = xn(s, i, () => y(Et), (ot) => E(Et, ot)), w = 0.68, U = F[M.get()], X = at(U), ct = at(U), rt = at(U), W = at(U), ut = An(X, rt, ct, W, g, w), xt = Fn(m, F, K, R, W), vt = zn(L, M, et, ut, xt, W, r), Mt = wn(R), kt = pt(), tn = Rn(n, e, r, h), { slideRegistry: Ft } = kn(Y, b, F, st, Z, z), nn = Bn(t, e, Ft, vt, ut, kt, r, x), Et = {
839
+ ownerDocument: s,
840
+ ownerWindow: i,
841
+ eventHandler: r,
842
+ containerRect: D,
843
+ slideRects: N,
844
+ animation: L,
845
+ axis: O,
846
+ dragHandler: En(O, t, s, i, W, Ln(O, i), X, L, vt, ut, xt, M, r, V, p, d, a, w, T),
847
+ eventStore: kt,
848
+ percentOfView: V,
849
+ index: M,
850
+ indexPrevious: et,
851
+ limit: R,
852
+ location: X,
853
+ offsetLocation: rt,
854
+ previousLocation: ct,
855
+ options: o,
856
+ resizeHandler: Pn(n, r, i, e, O, I, v),
857
+ scrollBody: ut,
858
+ scrollBounds: Dn(R, rt, W, ut, V),
859
+ scrollLooper: On(K, R, rt, [
860
+ X,
861
+ rt,
862
+ ct,
863
+ W
864
+ ]),
865
+ scrollProgress: Mt,
866
+ scrollSnapList: F.map(Mt.get),
867
+ scrollSnaps: F,
868
+ scrollTarget: xt,
869
+ scrollTo: vt,
870
+ slideLooper: jn(O, k, K, _, G, q, F, rt, e),
871
+ slideFocus: nn,
872
+ slidesHandler: Vn(n, r, P),
873
+ slidesInView: tn,
874
+ slideIndexes: z,
875
+ slideRegistry: Ft,
876
+ slidesToScroll: Z,
877
+ target: W,
878
+ translate: Zt(O, n)
879
+ };
880
+ return Et;
881
+ }
882
+ function qn() {
883
+ let t = {}, n;
884
+ function e(l) {
885
+ n = l;
886
+ }
887
+ function s(l) {
888
+ return t[l] || [];
889
+ }
890
+ function i(l) {
891
+ return s(l).forEach((f) => f(n, l)), c;
892
+ }
893
+ function o(l, f) {
894
+ return t[l] = s(l).concat([f]), c;
895
+ }
896
+ function r(l, f) {
897
+ return t[l] = s(l).filter((m) => m !== f), c;
898
+ }
899
+ function u() {
900
+ t = {};
901
+ }
902
+ const c = {
903
+ init: e,
904
+ emit: i,
905
+ off: r,
906
+ on: o,
907
+ clear: u
908
+ };
909
+ return c;
910
+ }
911
+ var Kn = {
912
+ align: "center",
913
+ axis: "x",
914
+ container: null,
915
+ slides: null,
916
+ containScroll: "trimSnaps",
917
+ direction: "ltr",
918
+ slidesToScroll: 1,
919
+ inViewThreshold: 0,
920
+ breakpoints: {},
921
+ dragFree: !1,
922
+ dragThreshold: 10,
923
+ loop: !1,
924
+ skipSnaps: !1,
925
+ duration: 25,
926
+ startIndex: 0,
927
+ active: !0,
928
+ watchDrag: !0,
929
+ watchResize: !0,
930
+ watchSlides: !0,
931
+ watchFocus: !0
932
+ };
933
+ function Un(t) {
934
+ function n(i, o) {
935
+ return Yt(i, o || {});
936
+ }
937
+ function e(i) {
938
+ const o = i.breakpoints || {};
939
+ return n(i, dt(o).filter((r) => t.matchMedia(r).matches).map((r) => o[r]).reduce((r, u) => n(r, u), {}));
940
+ }
941
+ function s(i) {
942
+ return i.map((o) => dt(o.breakpoints || {})).reduce((o, r) => o.concat(r), []).map(t.matchMedia);
943
+ }
944
+ return {
945
+ mergeOptions: n,
946
+ optionsAtMedia: e,
947
+ optionsMediaQueries: s
948
+ };
949
+ }
950
+ function Qn(t) {
951
+ let n = [];
952
+ function e(i, o) {
953
+ return n = o.filter(({ options: r }) => t.optionsAtMedia(r).active !== !1), n.forEach((r) => r.init(i, t)), o.reduce((r, u) => Object.assign(r, { [u.name]: u }), {});
954
+ }
955
+ function s() {
956
+ n = n.filter((i) => i.destroy());
957
+ }
958
+ return {
959
+ init: e,
960
+ destroy: s
961
+ };
962
+ }
963
+ function St(t, n, e) {
964
+ const s = t.ownerDocument, i = s.defaultView, o = Un(i), r = Qn(o), u = pt(), c = qn(), { mergeOptions: l, optionsAtMedia: f, optionsMediaQueries: m } = o, { on: g, off: p, emit: d } = c, h = O;
965
+ let S = !1, a, b = l(Kn, St.globalOptions), I = l(b), P = [], T, x, C;
966
+ function v() {
967
+ const { container: y, slides: E } = I;
968
+ x = (Pt(y) ? t.querySelector(y) : y) || t.children[0];
969
+ const L = Pt(E) ? x.querySelectorAll(E) : E;
970
+ C = [].slice.call(L || x.children);
971
+ }
972
+ function D(y) {
973
+ const E = $n(t, x, C, s, i, y, c);
974
+ return y.loop && !E.slideLooper.canLoop() ? D(Object.assign({}, y, { loop: !1 })) : E;
975
+ }
976
+ function N(y, E) {
977
+ S || (b = l(b, y), I = f(b), P = E || P, v(), a = D(I), m([b, ...P.map(({ options: L }) => L)]).forEach((L) => u.add(L, "change", O)), I.active && (a.translate.to(a.location.get()), a.animation.init(), a.slidesInView.init(), a.slideFocus.init(z), a.eventHandler.init(z), a.resizeHandler.init(z), a.slidesHandler.init(z), a.options.loop && a.slideLooper.loop(), x.offsetParent && C.length && a.dragHandler.init(z), T = r.init(z, P)));
978
+ }
979
+ function O(y, E) {
980
+ const L = q();
981
+ k(), N(l({ startIndex: L }, y), E), c.emit("reInit");
982
+ }
983
+ function k() {
984
+ a.dragHandler.destroy(), a.eventStore.clear(), a.translate.clear(), a.slideLooper.clear(), a.resizeHandler.destroy(), a.slidesHandler.destroy(), a.slidesInView.destroy(), a.animation.destroy(), r.destroy(), u.clear();
985
+ }
986
+ function V() {
987
+ S || (S = !0, u.clear(), k(), c.emit("destroy"), c.clear());
988
+ }
989
+ function B(y, E, L) {
990
+ !I.active || S || (a.scrollBody.useBaseFriction().useDuration(E === !0 ? 0 : I.duration), a.scrollTo.index(y, L || 0));
991
+ }
992
+ function Y(y) {
993
+ B(a.index.add(1).get(), y, -1);
994
+ }
995
+ function _(y) {
996
+ B(a.index.add(-1).get(), y, 1);
997
+ }
998
+ function G() {
999
+ return a.index.add(1).get() !== q();
1000
+ }
1001
+ function J() {
1002
+ return a.index.add(-1).get() !== q();
1003
+ }
1004
+ function $() {
1005
+ return a.scrollSnapList;
1006
+ }
1007
+ function Z() {
1008
+ return a.scrollProgress.get(a.offsetLocation.get());
1009
+ }
1010
+ function q() {
1011
+ return a.index.get();
1012
+ }
1013
+ function nt() {
1014
+ return a.indexPrevious.get();
1015
+ }
1016
+ function K() {
1017
+ return a.slidesInView.get();
1018
+ }
1019
+ function it() {
1020
+ return a.slidesInView.get(!1);
1021
+ }
1022
+ function st() {
1023
+ return T;
1024
+ }
1025
+ function F() {
1026
+ return a;
1027
+ }
1028
+ function R() {
1029
+ return t;
1030
+ }
1031
+ function M() {
1032
+ return x;
1033
+ }
1034
+ function et() {
1035
+ return C;
1036
+ }
1037
+ const z = {
1038
+ canScrollNext: G,
1039
+ canScrollPrev: J,
1040
+ containerNode: M,
1041
+ internalEngine: F,
1042
+ destroy: V,
1043
+ off: p,
1044
+ on: g,
1045
+ emit: d,
1046
+ plugins: st,
1047
+ previousScrollSnap: nt,
1048
+ reInit: h,
1049
+ rootNode: R,
1050
+ scrollNext: Y,
1051
+ scrollPrev: _,
1052
+ scrollProgress: Z,
1053
+ scrollSnapList: $,
1054
+ scrollTo: B,
1055
+ selectedScrollSnap: q,
1056
+ slideNodes: et,
1057
+ slidesInView: K,
1058
+ slidesNotInView: it
1059
+ };
1060
+ return N(n, e), setTimeout(() => c.emit("init"), 0), z;
1061
+ }
1062
+ St.globalOptions = void 0;
1063
+ function wt(t = {}, n = []) {
1064
+ const e = Gt(t), s = Gt(n), [i, o] = $t(), [r, u] = $t(), c = pn(() => {
1065
+ i && i.reInit(e.current, s.current);
1066
+ }, [i]);
1067
+ return Ct(() => {
1068
+ Dt(e.current, t) || (e.current = t, c());
1069
+ }, [t, c]), Ct(() => {
1070
+ hn(s.current, n) || (s.current = n, c());
1071
+ }, [n, c]), Ct(() => {
1072
+ if (gn() && r) {
1073
+ St.globalOptions = wt.globalOptions;
1074
+ const l = St(r, e.current, s.current);
1075
+ return o(l), () => l.destroy();
1076
+ } else o(void 0);
1077
+ }, [r, o]), [u, i];
1078
+ }
1079
+ wt.globalOptions = void 0;
1080
+ var Wt = H.createContext(null);
1081
+ function bt() {
1082
+ const t = H.useContext(Wt);
1083
+ if (!t) throw new Error("useCarousel must be used within a <Carousel />");
1084
+ return t;
1085
+ }
1086
+ function Wn({ orientation: t = "horizontal", opts: n, setApi: e, plugins: s, className: i, children: o, ...r }) {
1087
+ const [u, c] = wt({
1088
+ ...n,
1089
+ axis: t === "horizontal" ? "x" : "y"
1090
+ }, s), [l, f] = H.useState(!1), [m, g] = H.useState(!1), p = H.useCallback((a) => {
1091
+ a && (f(a.canScrollPrev()), g(a.canScrollNext()));
1092
+ }, []), d = H.useCallback(() => {
1093
+ c?.scrollPrev();
1094
+ }, [c]), h = H.useCallback(() => {
1095
+ c?.scrollNext();
1096
+ }, [c]), S = H.useCallback((a) => {
1097
+ a.key === "ArrowLeft" ? (a.preventDefault(), d()) : a.key === "ArrowRight" && (a.preventDefault(), h());
1098
+ }, [d, h]);
1099
+ return H.useEffect(() => {
1100
+ !c || !e || e(c);
1101
+ }, [c, e]), H.useEffect(() => {
1102
+ if (c)
1103
+ return p(c), c.on("reInit", p), c.on("select", p), () => {
1104
+ c?.off("select", p);
1105
+ };
1106
+ }, [c, p]), /* @__PURE__ */ Q(Wt.Provider, {
1107
+ value: {
1108
+ carouselRef: u,
1109
+ api: c,
1110
+ opts: n,
1111
+ orientation: t || (n?.axis === "y" ? "vertical" : "horizontal"),
1112
+ scrollPrev: d,
1113
+ scrollNext: h,
1114
+ canScrollPrev: l,
1115
+ canScrollNext: m
1116
+ },
1117
+ children: /* @__PURE__ */ Q("div", {
1118
+ onKeyDownCapture: S,
1119
+ className: mt("relative", i),
1120
+ role: "region",
1121
+ "aria-roledescription": "carousel",
1122
+ "data-slot": "carousel",
1123
+ ...r,
1124
+ children: o
1125
+ })
1126
+ });
1127
+ }
1128
+ function te({ className: t, ...n }) {
1129
+ const { carouselRef: e, orientation: s } = bt();
1130
+ return /* @__PURE__ */ Q("div", {
1131
+ ref: e,
1132
+ className: "overflow-hidden",
1133
+ "data-slot": "carousel-content",
1134
+ children: /* @__PURE__ */ Q("div", {
1135
+ className: mt("flex", s === "horizontal" ? "-ms-4" : "-mt-4 flex-col", t),
1136
+ ...n
1137
+ })
1138
+ });
1139
+ }
1140
+ function ne({ className: t, ...n }) {
1141
+ const { orientation: e } = bt();
1142
+ return /* @__PURE__ */ Q("div", {
1143
+ role: "group",
1144
+ "aria-roledescription": "slide",
1145
+ "data-slot": "carousel-item",
1146
+ className: mt("min-w-0 shrink-0 grow-0 basis-full", e === "horizontal" ? "ps-4" : "pt-4", t),
1147
+ ...n
1148
+ });
1149
+ }
1150
+ function ee({ className: t, variant: n = "outline", size: e = "icon-sm", ...s }) {
1151
+ const { orientation: i, scrollPrev: o, canScrollPrev: r } = bt();
1152
+ return /* @__PURE__ */ Xt(Jt, {
1153
+ "data-slot": "carousel-previous",
1154
+ variant: n,
1155
+ size: e,
1156
+ className: mt("absolute touch-manipulation rounded-full", i === "horizontal" ? "-start-12 top-1/2 -translate-y-1/2" : "start-1/2 -top-12 -translate-x-1/2 rotate-90 rtl:translate-x-1/2", t),
1157
+ disabled: !r,
1158
+ onClick: o,
1159
+ ...s,
1160
+ children: [/* @__PURE__ */ Q(fn, { className: "rtl:rotate-180" }), /* @__PURE__ */ Q("span", {
1161
+ className: "sr-only",
1162
+ children: "Previous slide"
1163
+ })]
1164
+ });
1165
+ }
1166
+ function re({ className: t, variant: n = "outline", size: e = "icon-sm", ...s }) {
1167
+ const { orientation: i, scrollNext: o, canScrollNext: r } = bt();
1168
+ return /* @__PURE__ */ Xt(Jt, {
1169
+ "data-slot": "carousel-next",
1170
+ variant: n,
1171
+ size: e,
1172
+ className: mt("absolute touch-manipulation rounded-full", i === "horizontal" ? "-end-12 top-1/2 -translate-y-1/2" : "start-1/2 -bottom-12 -translate-x-1/2 rotate-90 rtl:translate-x-1/2", t),
1173
+ disabled: !r,
1174
+ onClick: o,
1175
+ ...s,
1176
+ children: [/* @__PURE__ */ Q(dn, { className: "rtl:rotate-180" }), /* @__PURE__ */ Q("span", {
1177
+ className: "sr-only",
1178
+ children: "Next slide"
1179
+ })]
1180
+ });
1181
+ }
1182
+ export {
1183
+ Wn as Carousel,
1184
+ te as CarouselContent,
1185
+ ne as CarouselItem,
1186
+ re as CarouselNext,
1187
+ ee as CarouselPrevious,
1188
+ bt as useCarousel
1189
+ };
1190
+
1191
+ //# sourceMappingURL=carousel.js.map