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.
- package/dist/Avatar.es.js +41 -40
- package/dist/CardProfile-C1F83KJV.js +280 -0
- package/dist/CardProfile.es.js +3 -291
- package/dist/CheckBox.es.js +21 -24
- package/dist/DialogModal.es.js +46 -52
- package/dist/Icons/UserAvatar.es.js +4 -4
- package/dist/Input.es.js +72 -73
- package/dist/NotificationCard.es.js +21 -28
- package/dist/PlainTooltip.es.js +19 -19
- package/dist/PyrionLayout.es.js +810 -916
- package/dist/Scrollable.es.js +177 -322
- package/dist/Select.es.js +47 -47
- package/dist/SelectSearch.es.js +103 -107
- package/dist/TabLinks.es.js +121 -2
- package/dist/TicketCard.es.js +2 -2
- package/dist/Toast.es.js +51 -95
- package/dist/badge-CbqYNrl4.js +87 -0
- package/dist/components/Avatar/Avatar.d.ts +4 -2
- package/dist/components/CardProfile/CardProfile.d.ts +4 -7
- package/dist/components/DropZone/useFileDropzone.d.ts +1 -9
- package/dist/components/Layout/LayoutGeneric.d.ts +6 -0
- package/dist/components/NotificationCard/NotificationCard.d.ts +2 -3
- package/dist/components/PyrionNavigationDrawer/PLNotificationsList.d.ts +2 -5
- package/dist/components/PyrionNavigationDrawer/PLSidebar.d.ts +1 -3
- package/dist/components/PyrionNavigationDrawer/PLSidebarContent.d.ts +0 -2
- package/dist/components/PyrionNavigationDrawer/PLayoutBase.d.ts +0 -2
- package/dist/components/PyrionNavigationDrawer/PyrionLayout.d.ts +1 -4
- package/dist/components/Scrollable/Scrollable.d.ts +0 -29
- package/dist/components/Sidebar/SecondaryBar/SecondaryBar.d.ts +32 -0
- package/dist/components/Sidebar/SecondaryBar/hooks/useSecondaryBarAnimation.d.ts +2 -0
- package/dist/components/Sidebar/SecondaryBar/index.d.ts +1 -0
- package/dist/components/Sidebar/SidebarComposable.d.ts +43 -0
- package/dist/components/Sidebar/components/NavigationLink.d.ts +11 -0
- package/dist/components/Sidebar/components/company-logo.d.ts +5 -0
- package/dist/components/Sidebar/components/nav-actions.d.ts +7 -0
- package/dist/components/Sidebar/components/nav-links.d.ts +7 -0
- package/dist/components/Sidebar/context/SidebarContext.d.ts +13 -0
- package/dist/components/Sidebar/hooks/SidebarProvider.d.ts +3 -0
- package/dist/components/Sidebar/hooks/useNavBarActions.d.ts +9 -0
- package/dist/components/Sidebar/hooks/useNavBarCollapse.d.ts +4 -0
- package/dist/components/Sidebar/hooks/useNavLinks.d.ts +32 -0
- package/dist/components/Sidebar/hooks/useSidebarHook.d.ts +13 -0
- package/dist/components/Sidebar/index.d.ts +12 -0
- package/dist/components/Sidebar/ui/useNavbarAnimation.d.ts +2 -0
- package/dist/components/TabLinks/TabLinks.d.ts +0 -19
- package/dist/components/Toaster/Toaster.d.ts +1 -13
- package/dist/components/UserCard/UserCard.d.ts +2 -3
- package/dist/hooks/useLabelBackground.d.ts +0 -1
- package/dist/index.d.ts +16 -0
- package/dist/prometeo-design-system.es.js +2906 -119
- package/dist/styles.css +1 -1
- package/dist/useLabelBackground-BDIHUdND.js +26 -0
- package/package.json +2 -2
- package/dist/TabLinks-DxqprStp.js +0 -147
- package/dist/UserCard.d.ts +0 -6
- package/dist/UserCard.es.js +0 -28
- package/dist/badge-BEx-0Q-K.js +0 -35
- package/dist/exports/UserCard.d.ts +0 -2
- package/dist/useLabelBackground-D5SzHhl_.js +0 -32
package/dist/Scrollable.es.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { j as
|
|
2
|
-
import { u as
|
|
3
|
-
import { g as
|
|
4
|
-
import { c as
|
|
5
|
-
import { c as
|
|
6
|
-
import
|
|
7
|
-
import { CrevronLeft as
|
|
8
|
-
const
|
|
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
|
-
),
|
|
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-
|
|
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
|
-
}),
|
|
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
|
-
}),
|
|
54
|
-
const { defaultBehavior:
|
|
55
|
-
top: { show: !0, type: "shadow", behavior:
|
|
56
|
-
bottom: { show: !0, type: "shadow", behavior:
|
|
57
|
-
left: { show: !0, type: "icon", behavior:
|
|
58
|
-
right: { show: !0, type: "icon", behavior:
|
|
59
|
-
},
|
|
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:
|
|
64
|
-
className:
|
|
65
|
-
axis:
|
|
66
|
-
children:
|
|
67
|
-
indicators:
|
|
68
|
-
scrollbarProps:
|
|
69
|
-
disableMouseScroll:
|
|
70
|
-
persistScroll:
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
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,
|
|
76
|
+
return Math.max(0, t);
|
|
79
77
|
case "bottom":
|
|
80
|
-
return Math.max(0, o - (
|
|
78
|
+
return Math.max(0, o - (t + n));
|
|
81
79
|
case "left":
|
|
82
|
-
return Math.max(0,
|
|
80
|
+
return Math.max(0, r);
|
|
83
81
|
case "right":
|
|
84
|
-
return Math.max(0,
|
|
82
|
+
return Math.max(0, c - (r + y));
|
|
85
83
|
default:
|
|
86
84
|
return 0;
|
|
87
85
|
}
|
|
88
|
-
},
|
|
89
|
-
if (!
|
|
90
|
-
const
|
|
91
|
-
if (
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
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
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
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
|
-
|
|
185
|
-
},
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
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 (
|
|
203
|
-
const o =
|
|
204
|
-
o && (
|
|
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
|
-
},
|
|
212
|
-
const
|
|
213
|
-
if (!
|
|
214
|
-
|
|
215
|
-
const
|
|
216
|
-
|
|
217
|
-
const o =
|
|
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
|
-
},
|
|
220
|
-
if (
|
|
221
|
-
|
|
125
|
+
}, B = (e, t) => {
|
|
126
|
+
if (t === "scroll-on-click" && p.current) {
|
|
127
|
+
p.current = !1;
|
|
222
128
|
return;
|
|
223
129
|
}
|
|
224
|
-
if (
|
|
225
|
-
|
|
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 (
|
|
229
|
-
if (!
|
|
230
|
-
const { clientHeight:
|
|
231
|
-
|
|
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
|
-
},
|
|
234
|
-
|
|
235
|
-
let
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
const o =
|
|
239
|
-
if (
|
|
240
|
-
|
|
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
|
|
247
|
-
|
|
148
|
+
const n = o - 2;
|
|
149
|
+
u.current += Math.pow(n, 1.1) * 2;
|
|
248
150
|
}
|
|
249
|
-
|
|
151
|
+
u.current = Math.min(u.current, 100), E(e, u.current, !1);
|
|
250
152
|
}, 16);
|
|
251
|
-
},
|
|
252
|
-
|
|
253
|
-
const
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
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
|
-
},
|
|
281
|
-
|
|
282
|
-
},
|
|
283
|
-
|
|
284
|
-
|
|
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
|
-
},
|
|
287
|
-
|
|
288
|
-
},
|
|
289
|
-
if (!
|
|
290
|
-
const
|
|
291
|
-
|
|
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
|
-
|
|
294
|
-
if (!
|
|
295
|
-
const
|
|
296
|
-
if (
|
|
297
|
-
|
|
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(
|
|
182
|
+
const o = sessionStorage.getItem(T.current);
|
|
300
183
|
if (o) {
|
|
301
|
-
const { scrollTop:
|
|
302
|
-
|
|
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
|
-
|
|
308
|
-
Object.values(
|
|
309
|
-
o?.classList.add("transition-all", "duration-
|
|
310
|
-
})
|
|
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
|
|
315
|
-
|
|
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:
|
|
326
|
-
scrollLeft:
|
|
199
|
+
scrollTop: e.scrollTop,
|
|
200
|
+
scrollLeft: e.scrollLeft
|
|
327
201
|
};
|
|
328
|
-
sessionStorage.setItem(
|
|
202
|
+
sessionStorage.setItem(T.current, JSON.stringify(o));
|
|
329
203
|
} catch {
|
|
330
204
|
}
|
|
331
205
|
}, 150));
|
|
332
206
|
};
|
|
333
|
-
|
|
334
|
-
const
|
|
335
|
-
|
|
207
|
+
e.addEventListener("scroll", t);
|
|
208
|
+
const r = (o) => {
|
|
209
|
+
D && o.preventDefault();
|
|
336
210
|
};
|
|
337
|
-
return
|
|
338
|
-
|
|
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
|
-
}, [
|
|
341
|
-
if (!
|
|
342
|
-
|
|
343
|
-
Object.entries(
|
|
344
|
-
if (
|
|
345
|
-
const
|
|
346
|
-
if (
|
|
347
|
-
|
|
348
|
-
const
|
|
349
|
-
|
|
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
|
-
}, [
|
|
354
|
-
const
|
|
355
|
-
return /* @__PURE__ */
|
|
356
|
-
/* @__PURE__ */
|
|
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:
|
|
360
|
-
className:
|
|
361
|
-
|
|
362
|
-
|
|
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
|
-
|
|
365
|
-
|
|
238
|
+
P({ axis: z }),
|
|
239
|
+
it({ hide: A?.hide, size: A?.size }),
|
|
366
240
|
""
|
|
367
241
|
),
|
|
368
|
-
children:
|
|
242
|
+
children: rt?.map((e) => F.cloneElement(e, { className: m(e?.props?.className, "shrink-0! pointer-events-auto") }))
|
|
369
243
|
}
|
|
370
244
|
),
|
|
371
|
-
/* @__PURE__ */
|
|
372
|
-
if (!
|
|
373
|
-
const
|
|
374
|
-
return /* @__PURE__ */
|
|
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
|
-
|
|
252
|
+
s.current[e] = o;
|
|
379
253
|
},
|
|
380
|
-
className:
|
|
254
|
+
className: m(
|
|
381
255
|
"cursor-default ease-in-out z-100",
|
|
382
256
|
"opacity-0 pointer-events-none"
|
|
383
257
|
),
|
|
384
|
-
onClick: () =>
|
|
385
|
-
onMouseEnter: () =>
|
|
386
|
-
onMouseLeave: () =>
|
|
387
|
-
onMouseDown: () =>
|
|
388
|
-
onMouseUp: () =>
|
|
389
|
-
children: /* @__PURE__ */
|
|
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
|
-
|
|
265
|
+
e
|
|
392
266
|
);
|
|
393
267
|
}) }),
|
|
394
|
-
/* @__PURE__ */
|
|
395
|
-
if (!
|
|
396
|
-
const
|
|
397
|
-
return /* @__PURE__ */
|
|
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
|
-
|
|
275
|
+
s.current[e] = o;
|
|
402
276
|
},
|
|
403
277
|
className: "pointer-events-auto cursor-default transition-all duration-300 opacity-0",
|
|
404
|
-
onClick: () =>
|
|
405
|
-
onMouseEnter: () =>
|
|
406
|
-
onMouseLeave: () =>
|
|
407
|
-
onMouseDown: () =>
|
|
408
|
-
onMouseUp: () =>
|
|
409
|
-
children: /* @__PURE__ */
|
|
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
|
-
|
|
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
|
-
|
|
291
|
+
bt as Scrollable
|
|
437
292
|
};
|