prometeo-design-system 4.3.0 → 4.3.1

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 (59) hide show
  1. package/dist/Avatar.es.js +41 -40
  2. package/dist/CardProfile-C1F83KJV.js +280 -0
  3. package/dist/CardProfile.es.js +3 -291
  4. package/dist/CheckBox.es.js +21 -24
  5. package/dist/DialogModal.es.js +46 -52
  6. package/dist/Icons/UserAvatar.es.js +4 -4
  7. package/dist/Input.es.js +72 -73
  8. package/dist/NotificationCard.es.js +21 -28
  9. package/dist/PlainTooltip.es.js +19 -19
  10. package/dist/PyrionLayout.es.js +810 -916
  11. package/dist/Scrollable.es.js +177 -322
  12. package/dist/Select.es.js +47 -47
  13. package/dist/SelectSearch.es.js +103 -107
  14. package/dist/TabLinks.es.js +121 -2
  15. package/dist/TicketCard.es.js +2 -2
  16. package/dist/Toast.es.js +51 -95
  17. package/dist/badge-CbqYNrl4.js +87 -0
  18. package/dist/components/Avatar/Avatar.d.ts +4 -2
  19. package/dist/components/CardProfile/CardProfile.d.ts +4 -7
  20. package/dist/components/DropZone/useFileDropzone.d.ts +1 -9
  21. package/dist/components/Layout/LayoutGeneric.d.ts +6 -0
  22. package/dist/components/NotificationCard/NotificationCard.d.ts +2 -3
  23. package/dist/components/PyrionNavigationDrawer/PLNotificationsList.d.ts +2 -5
  24. package/dist/components/PyrionNavigationDrawer/PLSidebar.d.ts +1 -3
  25. package/dist/components/PyrionNavigationDrawer/PLSidebarContent.d.ts +0 -2
  26. package/dist/components/PyrionNavigationDrawer/PLayoutBase.d.ts +0 -2
  27. package/dist/components/PyrionNavigationDrawer/PyrionLayout.d.ts +1 -4
  28. package/dist/components/Scrollable/Scrollable.d.ts +0 -29
  29. package/dist/components/Sidebar/SecondaryBar/SecondaryBar.d.ts +32 -0
  30. package/dist/components/Sidebar/SecondaryBar/hooks/useSecondaryBarAnimation.d.ts +2 -0
  31. package/dist/components/Sidebar/SecondaryBar/index.d.ts +1 -0
  32. package/dist/components/Sidebar/SidebarComposable.d.ts +43 -0
  33. package/dist/components/Sidebar/components/NavigationLink.d.ts +11 -0
  34. package/dist/components/Sidebar/components/company-logo.d.ts +5 -0
  35. package/dist/components/Sidebar/components/nav-actions.d.ts +7 -0
  36. package/dist/components/Sidebar/components/nav-links.d.ts +7 -0
  37. package/dist/components/Sidebar/context/SidebarContext.d.ts +13 -0
  38. package/dist/components/Sidebar/hooks/SidebarProvider.d.ts +3 -0
  39. package/dist/components/Sidebar/hooks/useNavBarActions.d.ts +9 -0
  40. package/dist/components/Sidebar/hooks/useNavBarCollapse.d.ts +4 -0
  41. package/dist/components/Sidebar/hooks/useNavLinks.d.ts +32 -0
  42. package/dist/components/Sidebar/hooks/useSidebarHook.d.ts +13 -0
  43. package/dist/components/Sidebar/index.d.ts +12 -0
  44. package/dist/components/Sidebar/ui/useNavbarAnimation.d.ts +2 -0
  45. package/dist/components/TabLinks/TabLinks.d.ts +0 -19
  46. package/dist/components/Toaster/Toaster.d.ts +1 -13
  47. package/dist/components/UserCard/UserCard.d.ts +2 -3
  48. package/dist/hooks/useLabelBackground.d.ts +0 -1
  49. package/dist/index.d.ts +16 -0
  50. package/dist/prometeo-design-system.es.js +2906 -119
  51. package/dist/styles.css +1 -1
  52. package/dist/useLabelBackground-BDIHUdND.js +26 -0
  53. package/package.json +2 -2
  54. package/dist/TabLinks-DxqprStp.js +0 -147
  55. package/dist/UserCard.d.ts +0 -6
  56. package/dist/UserCard.es.js +0 -28
  57. package/dist/badge-BEx-0Q-K.js +0 -35
  58. package/dist/exports/UserCard.d.ts +0 -2
  59. package/dist/useLabelBackground-D5SzHhl_.js +0 -32
@@ -1,11 +1,11 @@
1
- import { j as y } from "./jsx-runtime-GkKLlHH4.js";
2
- import { u as Pt } from "./useDevice-vwn4GLwK.js";
3
- import { g as dt, r as V } from "./useLabelBackground-D5SzHhl_.js";
4
- import { c as M } from "./cn-B6yFEsav.js";
5
- import { c as K } from "./index-BOQuZ0gG.js";
6
- import pt, { useRef as i, useState as zt, useCallback as C, useImperativeHandle as At, useLayoutEffect as Rt, useEffect as Bt } from "react";
7
- import { CrevronLeft as gt } from "./Icons/CrevronLeft.es.js";
8
- const mt = K(
1
+ import { j as h } from "./jsx-runtime-GkKLlHH4.js";
2
+ import { u as st } from "./useDevice-vwn4GLwK.js";
3
+ import { g as nt } from "./useLabelBackground-BDIHUdND.js";
4
+ import { c as m } from "./cn-B6yFEsav.js";
5
+ import { c as j } from "./index-BOQuZ0gG.js";
6
+ import F, { useRef as a, useLayoutEffect as lt, useEffect as ct } from "react";
7
+ import { CrevronLeft as at } from "./Icons/CrevronLeft.es.js";
8
+ const P = j(
9
9
  "",
10
10
  {
11
11
  variants: {
@@ -16,7 +16,7 @@ const mt = K(
16
16
  }
17
17
  }
18
18
  }
19
- ), bt = K("", {
19
+ ), J = j("", {
20
20
  variants: {
21
21
  position: {
22
22
  top: "",
@@ -26,7 +26,7 @@ const mt = K(
26
26
  },
27
27
  type: {
28
28
  icon: " absolute z-100 rounded-full hover:scale-125 transition-all duration-300 ease-in-out shadow-xs rounded-full shadow-white/10 text-neutral-default-pressed",
29
- shadow: "absolute z-100 transition-all duration-300 ease-in-out"
29
+ shadow: "absolute z-100 transition-all duration-400 ease-in-out"
30
30
  }
31
31
  },
32
32
  compoundVariants: [
@@ -39,7 +39,7 @@ const mt = K(
39
39
  { type: "shadow", position: "left", className: "left-0 top-0 h-full w-5" },
40
40
  { type: "shadow", position: "right", className: "right-0 top-0 h-full w-5 rotate-180" }
41
41
  ]
42
- }), $t = K("", {
42
+ }), it = j("", {
43
43
  variants: {
44
44
  hide: {
45
45
  true: " prometeo-scrollbar-none",
@@ -50,388 +50,243 @@ const mt = K(
50
50
  medium: ""
51
51
  }
52
52
  }
53
- }), Kt = (X) => {
54
- const { defaultBehavior: z = "scroll-on-click" } = X, vt = Pt(), yt = {
55
- top: { show: !0, type: "shadow", behavior: z },
56
- bottom: { show: !0, type: "shadow", behavior: z },
57
- left: { show: !0, type: "icon", behavior: z },
58
- right: { show: !0, type: "icon", behavior: z }
59
- }, Tt = {
53
+ }), bt = (R) => {
54
+ const { defaultBehavior: w = "scroll-on-click" } = R, K = st(), G = {
55
+ top: { show: !0, type: "shadow", behavior: w },
56
+ bottom: { show: !0, type: "shadow", behavior: w },
57
+ left: { show: !0, type: "icon", behavior: w },
58
+ right: { show: !0, type: "icon", behavior: w }
59
+ }, Q = {
60
60
  hide: !1,
61
61
  size: "medium"
62
62
  }, {
63
- debugMode: wt = !1,
64
- className: Y,
65
- axis: v = "both",
66
- children: xt,
67
- indicators: j = yt,
68
- scrollbarProps: G = Tt,
69
- disableMouseScroll: Q = !1,
70
- persistScroll: A = !1,
71
- controls: Lt,
72
- scrollTopButton: w
73
- } = X, c = i({}), n = i(null), u = i(null), N = i(null), a = i(null), f = i(5), h = i({}), D = i(null), g = i(!1), Z = i(!1), R = i(null), H = i(null), [St, Mt] = zt(!1), P = i([]), tt = i(/* @__PURE__ */ new Map()), et = i({ scrollTop: 0, scrollLeft: 0 }), q = (t) => {
74
- if (!n.current) return 0;
75
- const { scrollTop: r, scrollLeft: e, scrollHeight: o, clientHeight: s, scrollWidth: l, clientWidth: d } = n.current;
76
- switch (t) {
63
+ debugMode: X = !1,
64
+ className: k,
65
+ axis: z = "both",
66
+ children: Y,
67
+ indicators: v = G,
68
+ scrollbarProps: A = Q,
69
+ disableMouseScroll: D = !1,
70
+ persistScroll: L = !1
71
+ } = R, s = a({}), l = a(null), d = a(null), b = a(null), i = a(null), u = a(5), f = a({}), x = a(null), p = a(!1), O = a(!1), T = a(null), g = a(null), Z = (e) => {
72
+ if (!l.current) return 0;
73
+ const { scrollTop: t, scrollLeft: r, scrollHeight: o, clientHeight: n, scrollWidth: c, clientWidth: y } = l.current;
74
+ switch (e) {
77
75
  case "top":
78
- return Math.max(0, r);
76
+ return Math.max(0, t);
79
77
  case "bottom":
80
- return Math.max(0, o - (r + s));
78
+ return Math.max(0, o - (t + n));
81
79
  case "left":
82
- return Math.max(0, e);
80
+ return Math.max(0, r);
83
81
  case "right":
84
- return Math.max(0, l - (e + d));
82
+ return Math.max(0, c - (r + y));
85
83
  default:
86
84
  return 0;
87
85
  }
88
- }, rt = C((t) => {
89
- if (!t || !n.current) return 0;
90
- const { clientHeight: r, scrollHeight: e } = n.current;
91
- if (t.includes("%")) {
92
- const o = parseFloat(t.replace("%", "")), s = Math.max(0, e - r);
93
- return o / 100 * s;
94
- } else {
95
- if (t.includes("px"))
96
- return parseFloat(t.replace("px", ""));
97
- if (t.includes("vh"))
98
- return parseFloat(t.replace("vh", "")) / 100 * window.innerHeight;
99
- }
100
- return 0;
101
- }, []), Nt = C(() => {
102
- if (!n.current || !w) return;
103
- const { scrollTop: t } = n.current, r = rt(w.target || "40vh");
104
- Mt(t >= r);
105
- }, [w, rt]), ot = C(() => {
106
- if (!n.current) return { x: 0, y: 0 };
107
- const { scrollTop: t, scrollLeft: r, scrollHeight: e, scrollWidth: o, clientHeight: s, clientWidth: l } = n.current, d = Math.max(0, e - s), m = Math.max(0, o - l), T = d > 0 ? t / d * 100 : 0;
108
- return { x: m > 0 ? r / m * 100 : 0, y: T };
109
- }, []), nt = C((t) => {
110
- const r = et.current;
111
- let e = null;
112
- return t.scrollTop > r.scrollTop ? e = "down" : t.scrollTop < r.scrollTop ? e = "up" : t.scrollLeft > r.scrollLeft ? e = "right" : t.scrollLeft < r.scrollLeft && (e = "left"), et.current = t, e;
113
- }, []), Et = C((t) => {
114
- if (!n.current) return;
115
- const { scrollTop: r, scrollLeft: e, scrollHeight: o, scrollWidth: s, clientHeight: l, clientWidth: d } = n.current, m = nt(t), { x: T, y: L } = ot(), S = {
116
- percentage: L,
117
- direction: m,
118
- scrollTop: r,
119
- scrollLeft: e,
120
- scrollHeight: o,
121
- scrollWidth: s,
122
- clientHeight: l,
123
- clientWidth: d
124
- }, _ = {
125
- percentage: T,
126
- direction: m,
127
- scrollTop: r,
128
- scrollLeft: e,
129
- scrollHeight: o,
130
- scrollWidth: s,
131
- clientHeight: l,
132
- clientWidth: d
133
- };
134
- P.current.forEach((p) => {
135
- const { config: b, triggered: $ } = p;
136
- if (!b) {
137
- (v === "y" || v === "both") && p.callback(S), (v === "x" || v === "both") && p.callback(_);
138
- return;
139
- }
140
- const J = (b.direction === "y" || b.direction === "both") && (v === "y" || v === "both"), ht = (b.direction === "x" || b.direction === "both") && (v === "x" || v === "both");
141
- if (!J && !ht) return;
142
- const E = (J ? S : _).percentage, I = b.target * 100;
143
- let k = !1;
144
- if (b.trip === "forth")
145
- k = !$ && E >= I, k && (p.triggered = !0), $ && E < I && (p.triggered = !1);
146
- else if (b.trip === "back")
147
- k = $ && E < I, k && (p.triggered = !1), !$ && E >= I && (p.triggered = !0);
148
- else if (b.trip === "round-trip") {
149
- const O = E >= I;
150
- k = p.triggered !== O;
151
- }
152
- if (k) {
153
- const O = `${P.current.indexOf(p)}-${b?.target || 0}-${b?.direction || "y"}`, W = Date.now(), Ht = tt.current.get(O) || 0;
154
- if (W - Ht < 500)
155
- return;
156
- b.trip === "round-trip" && (p.triggered = E >= I, p.lastDirection = m || void 0), tt.current.set(O, W), p.lastTriggerTime = W, J ? p.callback(S) : ht && p.callback(_);
157
- }
158
- });
159
- }, [v, nt, ot]), st = C((t, r) => {
160
- const e = {
161
- callback: t,
162
- config: r,
163
- triggered: !1,
164
- lastDirection: void 0
165
- };
166
- return P.current.push(e), () => {
167
- const o = P.current.indexOf(e);
168
- o > -1 && P.current.splice(o, 1);
86
+ }, E = (e, t = 100, r = !0) => {
87
+ if (!l.current) return;
88
+ const o = Z(e), n = Math.min(Math.abs(t), o);
89
+ if (n === 0) return;
90
+ const c = e === "top" || e === "left" ? -n : n, y = {
91
+ top: { top: c, left: 0 },
92
+ bottom: { top: c, left: 0 },
93
+ left: { top: 0, left: c },
94
+ right: { top: 0, left: c }
169
95
  };
170
- }, []);
171
- At(Lt, () => ({
172
- subscribeToScrollTarget: st
173
- }), [st]);
174
- const B = (t, r = 100, e = !0) => {
175
- if (!n.current) return;
176
- const o = q(t), s = Math.min(Math.abs(r), o);
177
- if (s === 0) return;
178
- const l = t === "top" || t === "left" ? -s : s, d = {
179
- top: { top: l, left: 0 },
180
- bottom: { top: l, left: 0 },
181
- left: { top: 0, left: l },
182
- right: { top: 0, left: l }
96
+ l.current.scrollBy({ ...y[e], behavior: r ? "smooth" : "auto" });
97
+ }, tt = (e) => {
98
+ if (!l.current) return;
99
+ const t = l.current, r = {
100
+ top: { top: 0, left: t.scrollLeft },
101
+ bottom: { top: t.scrollHeight, left: t.scrollLeft },
102
+ left: { top: t.scrollTop, left: 0 },
103
+ right: { top: t.scrollTop, left: t.scrollWidth }
183
104
  };
184
- n.current.scrollBy({ ...d[t], behavior: e ? "smooth" : "auto" });
185
- }, It = (t) => {
186
- if (!n.current) return;
187
- const r = n.current, e = {
188
- top: { top: 0, left: r.scrollLeft },
189
- bottom: { top: r.scrollHeight, left: r.scrollLeft },
190
- left: { top: r.scrollTop, left: 0 },
191
- right: { top: r.scrollTop, left: r.scrollWidth }
192
- };
193
- r.scrollTo({ ...e[t], behavior: "smooth" });
194
- }, kt = () => {
195
- n.current && n.current.scrollTo({ top: 0, behavior: "smooth" });
196
- }, Ct = (t, r) => {
197
- const e = c.current[t];
198
- if (e) {
199
- if (e.style.cursor = "pointer", r === "icon") {
200
- const o = e.querySelector("svg");
105
+ t.scrollTo({ ...r[e], behavior: "smooth" });
106
+ }, et = (e, t) => {
107
+ const r = s.current[e];
108
+ if (r) {
109
+ if (r.style.cursor = "pointer", t === "icon") {
110
+ const o = r.querySelector("svg");
201
111
  o && (o.style.transition = "all 0.3s ease-in-out", o.style.transform = "scale(1.3)", o.style.backgroundColor = "rgba(255, 255, 255, 0.2)", o.style.borderRadius = "100%");
202
- } else if (r === "shadow") {
203
- const o = e.querySelector("span"), s = dt(n.current);
204
- o && (t === "top" || t === "bottom" ? (o.style.height = "110px", o.style.background = `linear-gradient(to bottom, ${s} 5%, ${V(s, -2)} 10%, ${V(s, -5, 30)} 70%, transparent)`, o.style.animation = "scrollToEndPulse 3.5s ease-out", setTimeout(() => {
205
- o.style.animation = "";
206
- }, 3500)) : (o.style.width = "40px", o.style.animation = "scrollToEndPulseVertical 1.5s ease-out", setTimeout(() => {
207
- o.style.animation = "";
208
- }, 1500)));
112
+ } else if (t === "shadow") {
113
+ const o = r.querySelector("span");
114
+ o && (e === "top" || e === "bottom" ? o.style.height = "90px" : o.style.width = "40px");
209
115
  }
210
116
  }
211
- }, x = (t) => {
212
- const r = c.current[t];
213
- if (!r) return;
214
- r.style.cursor = "";
215
- const e = r.querySelector("svg");
216
- e && (e.style.transform = "", e.style.backgroundColor = "", e.style.borderRadius = "");
217
- const o = r.querySelector("span");
117
+ }, M = (e) => {
118
+ const t = s.current[e];
119
+ if (!t) return;
120
+ t.style.cursor = "";
121
+ const r = t.querySelector("svg");
122
+ r && (r.style.transform = "", r.style.backgroundColor = "", r.style.borderRadius = "");
123
+ const o = t.querySelector("span");
218
124
  o && (o.style.height = "", o.style.width = "");
219
- }, lt = (t, r) => {
220
- if (r === "scroll-on-click" && g.current) {
221
- g.current = !1;
125
+ }, B = (e, t) => {
126
+ if (t === "scroll-on-click" && p.current) {
127
+ p.current = !1;
222
128
  return;
223
129
  }
224
- if (h.current[t]) {
225
- a.current && (clearTimeout(a.current), a.current = null), u.current && (clearInterval(u.current), u.current = null), x(t), h.current[t] = !1, It(t);
130
+ if (f.current[e]) {
131
+ i.current && (clearTimeout(i.current), i.current = null), d.current && (clearInterval(d.current), d.current = null), M(e), f.current[e] = !1, tt(e);
226
132
  return;
227
133
  }
228
- if (r === "scroll-on-click") {
229
- if (!n.current) return;
230
- const { clientHeight: e, clientWidth: o } = n.current, s = t === "top" || t === "bottom" ? e * 0.8 : o * 0.8;
231
- B(t, s);
134
+ if (t === "scroll-on-click") {
135
+ if (!l.current) return;
136
+ const { clientHeight: r, clientWidth: o } = l.current, n = e === "top" || e === "bottom" ? r * 0.8 : o * 0.8;
137
+ E(e, n);
232
138
  }
233
- }, ct = (t, r) => {
234
- a.current && (clearTimeout(a.current), a.current = null), g.current = !0, f.current = 3;
235
- let e = 0;
236
- D.current = t, h.current[t] = !1, B(t, f.current, !1), u.current = setInterval(() => {
237
- e += 16;
238
- const o = e / 1e3;
239
- if (q(t) === 0) {
240
- F(t);
241
- return;
242
- }
243
- if (o >= 2 && !h.current[t] && (h.current[t] = !0, Ct(t, r)), o <= 2)
244
- f.current = 5 + o * 0.4;
139
+ }, W = (e, t) => {
140
+ i.current && (clearTimeout(i.current), i.current = null), p.current = !0, u.current = 3;
141
+ let r = 0;
142
+ x.current = e, f.current[e] = !1, E(e, u.current, !1), d.current = setInterval(() => {
143
+ r += 16;
144
+ const o = r / 1e3;
145
+ if (o >= 2 && !f.current[e] && (f.current[e] = !0, et(e, t)), o <= 2)
146
+ u.current = 5 + o * 0.4;
245
147
  else {
246
- const l = o - 2;
247
- f.current += Math.pow(l, 1.1) * 2;
148
+ const n = o - 2;
149
+ u.current += Math.pow(n, 1.1) * 2;
248
150
  }
249
- f.current = Math.min(f.current, 100), B(t, f.current, !1);
151
+ u.current = Math.min(u.current, 100), E(e, u.current, !1);
250
152
  }, 16);
251
- }, F = (t, r = !1) => {
252
- N.current && (clearTimeout(N.current), N.current = null);
253
- const e = t || D.current;
254
- if (!r && e && u.current) {
255
- let o = 0;
256
- const s = f.current, l = 800, d = setInterval(() => {
257
- o += 16;
258
- const m = o / l, T = 1 - Math.pow(1 - m, 3);
259
- if (f.current = s * (1 - T), q(e) === 0 || f.current <= 0.5) {
260
- clearInterval(d), u.current && (clearInterval(u.current), u.current = null), f.current = 5, e ? h.current[e] ? (a.current && clearTimeout(a.current), a.current = setTimeout(() => {
261
- x(e), h.current[e] = !1, g.current = !1;
262
- }, 1e3)) : (x(e), h.current[e] = !1, g.current = !1) : g.current = !1, D.current = null;
263
- return;
264
- }
265
- B(e, f.current, !1);
266
- }, 16);
267
- N.current = setTimeout(() => {
268
- clearInterval(d), u.current && (clearInterval(u.current), u.current = null), f.current = 5, e ? h.current[e] ? (a.current && clearTimeout(a.current), a.current = setTimeout(() => {
269
- x(e), h.current[e] = !1, g.current = !1;
270
- }, 1e3)) : (x(e), h.current[e] = !1, g.current = !1) : g.current = !1, D.current = null;
271
- }, l);
272
- } else
273
- u.current && (clearInterval(u.current), u.current = null), f.current = 5, e ? h.current[e] ? (a.current && clearTimeout(a.current), a.current = setTimeout(() => {
274
- x(e), h.current[e] = !1, g.current = !1;
275
- }, 1e3)) : (x(e), h.current[e] = !1, g.current = !1) : g.current = !1, D.current = null;
276
- }, at = (t, r, e) => {
277
- vt || r === "scroll-on-hover" && (N.current = setTimeout(() => {
278
- ct(t, e);
153
+ }, q = (e) => {
154
+ b.current && (clearTimeout(b.current), b.current = null), d.current && (clearInterval(d.current), d.current = null), u.current = 5;
155
+ const t = e || x.current;
156
+ t ? f.current[t] ? (i.current && clearTimeout(i.current), i.current = setTimeout(() => {
157
+ M(t), f.current[t] = !1, p.current = !1;
158
+ }, 1e3)) : (M(t), f.current[t] = !1, p.current = !1) : p.current = !1, x.current = null;
159
+ }, H = (e, t, r) => {
160
+ K || t === "scroll-on-hover" && (b.current = setTimeout(() => {
161
+ W(e, r);
279
162
  }, 200));
280
- }, it = (t, r) => {
281
- r === "scroll-on-hover" && F(t, !0);
282
- }, ut = (t, r, e) => {
283
- r === "scroll-on-click" && (g.current = !1, N.current = setTimeout(() => {
284
- ct(t, e);
163
+ }, $ = (e, t) => {
164
+ t === "scroll-on-hover" && q(e);
165
+ }, U = (e, t, r) => {
166
+ t === "scroll-on-click" && (p.current = !1, b.current = setTimeout(() => {
167
+ W(e, r);
285
168
  }, 200));
286
- }, ft = (t, r) => {
287
- r === "scroll-on-click" && F(t, !1);
288
- }, U = () => {
289
- if (!n.current) return;
290
- const t = n.current, { scrollTop: r, scrollLeft: e, scrollHeight: o, scrollWidth: s, clientHeight: l, clientWidth: d } = t, m = r <= 10, T = r + l >= o - 10, L = e <= 10, S = e + d >= s - 10;
291
- c.current.top?.classList.toggle("opacity-0", m), c.current.top?.classList.toggle("pointer-events-none", m), c.current.top?.classList.toggle("pointer-events-auto", !m), c.current.bottom?.classList.toggle("opacity-0", T), c.current.bottom?.classList.toggle("pointer-events-none", T), c.current.bottom?.classList.toggle("pointer-events-auto", !T), c.current.left?.classList.toggle("opacity-0", L), c.current.left?.classList.toggle("pointer-events-none", L), c.current.left?.classList.toggle("pointer-events-auto", !L), c.current.right?.classList.toggle("opacity-0", S), c.current.right?.classList.toggle("pointer-events-none", S), c.current.right?.classList.toggle("pointer-events-auto", !S);
169
+ }, V = (e, t) => {
170
+ t === "scroll-on-click" && q(e);
171
+ }, _ = () => {
172
+ if (!l.current) return;
173
+ const e = l.current, { scrollTop: t, scrollLeft: r, scrollHeight: o, scrollWidth: n, clientHeight: c, clientWidth: y } = e, S = t <= 10, N = t + c >= o - 10, I = r <= 10, C = r + y >= n - 10;
174
+ s.current.top?.classList.toggle("opacity-0", S), s.current.top?.classList.toggle("pointer-events-none", S), s.current.top?.classList.toggle("pointer-events-auto", !S), s.current.bottom?.classList.toggle("opacity-0", N), s.current.bottom?.classList.toggle("pointer-events-none", N), s.current.bottom?.classList.toggle("pointer-events-auto", !N), s.current.left?.classList.toggle("opacity-0", I), s.current.left?.classList.toggle("pointer-events-none", I), s.current.left?.classList.toggle("pointer-events-auto", !I), s.current.right?.classList.toggle("opacity-0", C), s.current.right?.classList.toggle("pointer-events-none", C), s.current.right?.classList.toggle("pointer-events-auto", !C);
292
175
  };
293
- Rt(() => {
294
- if (!n.current) return;
295
- const t = n.current;
296
- if (A) {
297
- R.current = typeof A == "string" ? `scrollable-${A}` : `scrollable-${Math.random().toString(36).substr(2, 9)}`;
176
+ lt(() => {
177
+ if (!l.current) return;
178
+ const e = l.current;
179
+ if (L) {
180
+ T.current = typeof L == "string" ? `scrollable-${L}` : `scrollable-${Math.random().toString(36).substr(2, 9)}`;
298
181
  try {
299
- const o = sessionStorage.getItem(R.current);
182
+ const o = sessionStorage.getItem(T.current);
300
183
  if (o) {
301
- const { scrollTop: s, scrollLeft: l } = JSON.parse(o);
302
- t.scrollTop = s, t.scrollLeft = l;
184
+ const { scrollTop: n, scrollLeft: c } = JSON.parse(o);
185
+ e.scrollTop = n, e.scrollLeft = c;
303
186
  }
304
187
  } catch {
305
188
  }
306
189
  }
307
- U(), Z.current || (Z.current = !0, requestAnimationFrame(() => {
308
- Object.values(c.current).forEach((o) => {
309
- o?.classList.add("transition-all", "duration-300");
310
- }), setTimeout(() => {
311
- U();
312
- }, 0);
190
+ _(), O.current || (O.current = !0, requestAnimationFrame(() => {
191
+ Object.values(s.current).forEach((o) => {
192
+ o?.classList.add("transition-all", "duration-500");
193
+ });
313
194
  }));
314
- const r = () => {
315
- if (U(), Nt(), n.current) {
316
- const o = {
317
- scrollTop: n.current.scrollTop,
318
- scrollLeft: n.current.scrollLeft
319
- };
320
- Et(o);
321
- }
322
- A && R.current && (H.current && clearTimeout(H.current), H.current = setTimeout(() => {
195
+ const t = () => {
196
+ _(), L && T.current && (g.current && clearTimeout(g.current), g.current = setTimeout(() => {
323
197
  try {
324
198
  const o = {
325
- scrollTop: t.scrollTop,
326
- scrollLeft: t.scrollLeft
199
+ scrollTop: e.scrollTop,
200
+ scrollLeft: e.scrollLeft
327
201
  };
328
- sessionStorage.setItem(R.current, JSON.stringify(o));
202
+ sessionStorage.setItem(T.current, JSON.stringify(o));
329
203
  } catch {
330
204
  }
331
205
  }, 150));
332
206
  };
333
- t.addEventListener("scroll", r);
334
- const e = (o) => {
335
- Q && o.preventDefault();
207
+ e.addEventListener("scroll", t);
208
+ const r = (o) => {
209
+ D && o.preventDefault();
336
210
  };
337
- return t.addEventListener("wheel", e, { passive: !1 }), () => {
338
- t.removeEventListener("scroll", r), t.removeEventListener("wheel", e), H.current && clearTimeout(H.current);
211
+ return e.addEventListener("wheel", r, { passive: !1 }), () => {
212
+ e.removeEventListener("scroll", t), e.removeEventListener("wheel", r), g.current && clearTimeout(g.current);
339
213
  };
340
- }, [Q]), Bt(() => {
341
- if (!n.current) return;
342
- let t = dt(n.current);
343
- Object.entries(j).forEach(([r, e]) => {
344
- if (e?.show && e.type === "shadow") {
345
- const s = c.current[r]?.querySelector("span");
346
- if (s) {
347
- s.dataset.bgColor = t;
348
- const l = r === "left" || r === "right" ? "to right" : "to bottom";
349
- s.style.background = `linear-gradient(${l}, ${t} 5%, ${V(t, -2)} 10%, ${V(t, -5, 30)} 70%, transparent)`;
214
+ }, [D]), ct(() => {
215
+ if (!l.current) return;
216
+ const e = nt(l.current);
217
+ Object.entries(v).forEach(([t, r]) => {
218
+ if (r?.show && r.type === "shadow") {
219
+ const n = s.current[t]?.querySelector("span");
220
+ if (n) {
221
+ n.dataset.bgColor = e;
222
+ const c = t === "left" || t === "right" ? "to right" : "to bottom";
223
+ n.style.background = `linear-gradient(${c}, ${e} 40%, transparent)`, n.style.background = `linear-gradient(${c}, ${e} 40%, transparent)`;
350
224
  }
351
225
  }
352
226
  });
353
- }, [j]);
354
- const jt = pt.Children.toArray(xt), Dt = Object.values(j).some((t) => t?.show && t?.type === "icon");
355
- return /* @__PURE__ */ y.jsxs("div", { className: M("relative p-0", Y, mt({ axis: v }), "scrolleable", Dt ? "overflow-visible" : "overflow-hidden!"), children: [
356
- /* @__PURE__ */ y.jsx(
227
+ }, [v]);
228
+ const rt = F.Children.toArray(Y), ot = Object.values(v).some((e) => e?.show && e?.type === "icon");
229
+ return /* @__PURE__ */ h.jsxs("div", { className: m("relative p-0", k, P({ axis: z }), "scrolleable", ot ? "overflow-visible" : "overflow-hidden!"), children: [
230
+ /* @__PURE__ */ h.jsx(
357
231
  "div",
358
232
  {
359
- ref: n,
360
- className: M(
361
- wt && "border border-red-900 border-dashed",
362
- Y,
233
+ ref: l,
234
+ className: m(
235
+ X && "border border-red-900 border-dashed",
236
+ k,
363
237
  "py-2 relative w-full h-full min-h-full",
364
- mt({ axis: v }),
365
- $t({ hide: G?.hide, size: G?.size }),
238
+ P({ axis: z }),
239
+ it({ hide: A?.hide, size: A?.size }),
366
240
  ""
367
241
  ),
368
- children: jt?.map((t) => pt.cloneElement(t, { className: M(t?.props?.className, "shrink-0! pointer-events-auto") }))
242
+ children: rt?.map((e) => F.cloneElement(e, { className: m(e?.props?.className, "shrink-0! pointer-events-auto") }))
369
243
  }
370
244
  ),
371
- /* @__PURE__ */ y.jsx("div", { className: "h-full w-full z-10 absolute inset-0 pointer-events-none overflow-hidden rounded-[inherit]", children: Object.entries(j).map(([t, r]) => {
372
- if (!r?.show || r.type !== "shadow") return null;
373
- const e = t;
374
- return /* @__PURE__ */ y.jsx(
245
+ /* @__PURE__ */ h.jsx("div", { className: "h-full w-full z-10 absolute inset-0 pointer-events-none overflow-hidden rounded-[inherit]", children: Object.entries(v).map(([e, t]) => {
246
+ if (!t?.show || t.type !== "shadow") return null;
247
+ const r = e;
248
+ return /* @__PURE__ */ h.jsx(
375
249
  "span",
376
250
  {
377
251
  ref: (o) => {
378
- c.current[t] = o;
252
+ s.current[e] = o;
379
253
  },
380
- className: M(
254
+ className: m(
381
255
  "cursor-default ease-in-out z-100",
382
256
  "opacity-0 pointer-events-none"
383
257
  ),
384
- onClick: () => lt(e, r.behavior),
385
- onMouseEnter: () => at(e, r.behavior, r.type),
386
- onMouseLeave: () => it(e, r.behavior),
387
- onMouseDown: () => ut(e, r.behavior, r.type),
388
- onMouseUp: () => ft(e, r.behavior),
389
- children: /* @__PURE__ */ y.jsx("span", { className: M(bt({ position: e, type: "shadow" }), r.className) })
258
+ onClick: () => B(r, t.behavior),
259
+ onMouseEnter: () => H(r, t.behavior, t.type),
260
+ onMouseLeave: () => $(r, t.behavior),
261
+ onMouseDown: () => U(r, t.behavior, t.type),
262
+ onMouseUp: () => V(r, t.behavior),
263
+ children: /* @__PURE__ */ h.jsx("span", { className: m(J({ position: r, type: "shadow" }), t.className) })
390
264
  },
391
- t
265
+ e
392
266
  );
393
267
  }) }),
394
- /* @__PURE__ */ y.jsx("div", { className: "h-full w-full z-20 absolute inset-0 pointer-events-none", children: Object.entries(j).map(([t, r]) => {
395
- if (!r?.show || r.type !== "icon") return null;
396
- const e = t;
397
- return /* @__PURE__ */ y.jsx(
268
+ /* @__PURE__ */ h.jsx("div", { className: "h-full w-full z-20 absolute inset-0 pointer-events-none", children: Object.entries(v).map(([e, t]) => {
269
+ if (!t?.show || t.type !== "icon") return null;
270
+ const r = e;
271
+ return /* @__PURE__ */ h.jsx(
398
272
  "span",
399
273
  {
400
274
  ref: (o) => {
401
- c.current[t] = o;
275
+ s.current[e] = o;
402
276
  },
403
277
  className: "pointer-events-auto cursor-default transition-all duration-300 opacity-0",
404
- onClick: () => lt(e, r.behavior),
405
- onMouseEnter: () => at(e, r.behavior, r.type),
406
- onMouseLeave: () => it(e, r.behavior),
407
- onMouseDown: () => ut(e, r.behavior, r.type),
408
- onMouseUp: () => ft(e, r.behavior),
409
- children: /* @__PURE__ */ y.jsx(gt, { size: 20, className: M(bt({ position: e, type: "icon" }), r.className) })
278
+ onClick: () => B(r, t.behavior),
279
+ onMouseEnter: () => H(r, t.behavior, t.type),
280
+ onMouseLeave: () => $(r, t.behavior),
281
+ onMouseDown: () => U(r, t.behavior, t.type),
282
+ onMouseUp: () => V(r, t.behavior),
283
+ children: /* @__PURE__ */ h.jsx(at, { size: 20, className: m(J({ position: r, type: "icon" }), t.className) })
410
284
  },
411
- t
285
+ e
412
286
  );
413
- }) }),
414
- w && /* @__PURE__ */ y.jsx(
415
- "button",
416
- {
417
- onClick: kt,
418
- className: M(
419
- "absolute bottom-6 right-6 z-50 p-3 rounded-full shadow-lg transition-all duration-300 hover:scale-110 pointer-events-auto cursor-pointer",
420
- "bg-primary-default-default hover:bg-primary-default-hover text-white",
421
- // Transiciones de aparición/desaparición
422
- "transform translate-y-0 opacity-70",
423
- !St && "translate-y-4 opacity-0 pointer-events-none",
424
- w.className
425
- ),
426
- "aria-label": "Scroll to top",
427
- style: {
428
- transition: "all 0.3s ease-in-out"
429
- },
430
- children: w.icon ? /* @__PURE__ */ y.jsx(w.icon, { size: 20, className: "text-white" }) : /* @__PURE__ */ y.jsx(gt, { size: 20, className: "text-white rotate-90" })
431
- }
432
- )
287
+ }) })
433
288
  ] });
434
289
  };
435
290
  export {
436
- Kt as Scrollable
291
+ bt as Scrollable
437
292
  };