@anoki/fse-ui 1.0.0-beta1.48.44 → 1.0.0-beta1.48.46
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/components/ui/TableOfContents/TableOfContents.css +1 -1
- package/dist/index.cjs10.js +1 -1
- package/dist/index.cjs110.js +1 -1
- package/dist/index.cjs110.js.map +1 -1
- package/dist/index.cjs137.js +1 -1
- package/dist/index.cjs157.js +1 -1
- package/dist/index.cjs158.js +1 -1
- package/dist/index.cjs159.js +1 -1
- package/dist/index.cjs160.js +1 -1
- package/dist/index.cjs161.js +1 -1
- package/dist/index.cjs162.js +1 -1
- package/dist/index.cjs163.js +1 -1
- package/dist/index.cjs164.js +1 -1
- package/dist/index.cjs165.js +1 -1
- package/dist/index.cjs166.js +1 -1
- package/dist/index.cjs167.js +1 -1
- package/dist/index.cjs168.js +1 -1
- package/dist/index.cjs169.js +1 -1
- package/dist/index.cjs170.js +1 -1
- package/dist/index.cjs171.js +1 -1
- package/dist/index.cjs172.js +1 -1
- package/dist/index.cjs173.js +1 -1
- package/dist/index.cjs174.js +1 -1
- package/dist/index.cjs175.js +1 -1
- package/dist/index.cjs176.js +1 -1
- package/dist/index.cjs177.js +1 -1
- package/dist/index.cjs178.js +1 -1
- package/dist/index.cjs179.js +1 -1
- package/dist/index.cjs183.js +1 -1
- package/dist/index.cjs184.js +1 -1
- package/dist/index.cjs185.js +1 -1
- package/dist/index.cjs187.js +1 -1
- package/dist/index.cjs188.js +1 -1
- package/dist/index.cjs189.js +1 -1
- package/dist/index.cjs190.js +1 -1
- package/dist/index.cjs191.js +1 -1
- package/dist/index.cjs192.js +1 -1
- package/dist/index.cjs193.js +1 -1
- package/dist/index.cjs194.js +1 -1
- package/dist/index.cjs195.js +1 -1
- package/dist/index.cjs197.js +1 -1
- package/dist/index.cjs198.js +1 -1
- package/dist/index.cjs199.js +1 -1
- package/dist/index.cjs200.js +1 -1
- package/dist/index.cjs201.js +1 -1
- package/dist/index.cjs202.js +1 -1
- package/dist/index.cjs203.js +1 -1
- package/dist/index.cjs206.js +1 -1
- package/dist/index.cjs207.js +1 -1
- package/dist/index.cjs208.js +1 -1
- package/dist/index.cjs209.js +1 -1
- package/dist/index.cjs210.js +1 -1
- package/dist/index.cjs211.js +1 -1
- package/dist/index.cjs212.js +1 -1
- package/dist/index.cjs213.js +1 -1
- package/dist/index.cjs214.js +1 -1
- package/dist/index.cjs215.js +1 -1
- package/dist/index.cjs221.js +1 -1
- package/dist/index.cjs223.js +1 -1
- package/dist/index.cjs224.js +1 -1
- package/dist/index.cjs24.js +1 -1
- package/dist/index.cjs248.js +1 -1
- package/dist/index.cjs255.js +1 -1
- package/dist/index.cjs274.js +1 -1
- package/dist/index.cjs274.js.map +1 -1
- package/dist/index.cjs276.js +2 -0
- package/dist/index.cjs276.js.map +1 -0
- package/dist/index.cjs28.js +1 -1
- package/dist/index.cjs295.js +1 -1
- package/dist/index.cjs32.js +1 -1
- package/dist/index.cjs321.js +1 -1
- package/dist/index.cjs323.js +1 -1
- package/dist/index.cjs33.js +1 -1
- package/dist/index.cjs330.js +1 -1
- package/dist/index.cjs331.js +1 -1
- package/dist/index.cjs335.js +1 -1
- package/dist/index.cjs344.js +1 -1
- package/dist/index.cjs346.js +1 -1
- package/dist/index.cjs352.js +1 -1
- package/dist/index.cjs353.js +1 -1
- package/dist/index.cjs395.js +1 -1
- package/dist/index.cjs401.js +1 -1
- package/dist/index.cjs435.js +1 -1
- package/dist/index.cjs443.js +1 -1
- package/dist/index.cjs454.js +1 -1
- package/dist/index.cjs455.js +1 -1
- package/dist/index.cjs456.js +27 -1
- package/dist/index.cjs456.js.map +1 -1
- package/dist/index.cjs457.js +1 -2
- package/dist/index.cjs457.js.map +1 -1
- package/dist/index.cjs458.js +1 -27
- package/dist/index.cjs458.js.map +1 -1
- package/dist/index.cjs459.js +1 -1
- package/dist/index.cjs459.js.map +1 -1
- package/dist/index.cjs460.js +2 -1
- package/dist/index.cjs460.js.map +1 -1
- package/dist/index.cjs468.js +1 -1
- package/dist/index.cjs469.js +1 -1
- package/dist/index.cjs484.js +1 -1
- package/dist/index.cjs484.js.map +1 -1
- package/dist/index.cjs485.js +1 -1
- package/dist/index.cjs485.js.map +1 -1
- package/dist/index.cjs486.js +1 -1
- package/dist/index.cjs486.js.map +1 -1
- package/dist/index.cjs487.js +1 -1
- package/dist/index.cjs487.js.map +1 -1
- package/dist/index.cjs488.js +2 -0
- package/dist/index.cjs488.js.map +1 -0
- package/dist/index.cjs489.js +2 -0
- package/dist/index.cjs489.js.map +1 -0
- package/dist/index.cjs490.js +2 -0
- package/dist/index.cjs490.js.map +1 -0
- package/dist/{index.cjs508.js → index.cjs504.js} +2 -2
- package/dist/{index.cjs508.js.map → index.cjs504.js.map} +1 -1
- package/dist/{index.cjs509.js → index.cjs505.js} +1 -1
- package/dist/index.cjs505.js.map +1 -0
- package/dist/index.cjs514.js +2 -0
- package/dist/index.cjs514.js.map +1 -0
- package/dist/{index.cjs512.js → index.cjs515.js} +1 -1
- package/dist/index.cjs515.js.map +1 -0
- package/dist/index.cjs516.js +1 -1
- package/dist/index.cjs516.js.map +1 -1
- package/dist/index.cjs522.js +1 -1
- package/dist/index.cjs531.js +1 -1
- package/dist/index.cjs535.js +1 -1
- package/dist/index.cjs536.js +1 -1
- package/dist/index.cjs537.js +1 -1
- package/dist/index.cjs542.js +1 -1
- package/dist/index.cjs546.js +1 -1
- package/dist/index.cjs547.js +1 -1
- package/dist/index.cjs559.js +1 -1
- package/dist/index.cjs563.js +1 -1
- package/dist/index.cjs580.js +1 -1
- package/dist/index.cjs580.js.map +1 -1
- package/dist/index.cjs581.js +1 -1
- package/dist/index.cjs581.js.map +1 -1
- package/dist/index.cjs582.js +1 -1
- package/dist/index.cjs582.js.map +1 -1
- package/dist/index.cjs583.js +1 -1
- package/dist/index.cjs583.js.map +1 -1
- package/dist/index.cjs6.js +1 -1
- package/dist/index.cjs64.js +1 -1
- package/dist/index.cjs7.js +1 -1
- package/dist/index.cjs8.js +1 -1
- package/dist/index.cjs9.js +1 -1
- package/dist/index.es10.js +2 -2
- package/dist/index.es110.js +55 -32
- package/dist/index.es110.js.map +1 -1
- package/dist/index.es137.js +1 -1
- package/dist/index.es157.js +1 -1
- package/dist/index.es158.js +1 -1
- package/dist/index.es159.js +1 -1
- package/dist/index.es160.js +1 -1
- package/dist/index.es161.js +1 -1
- package/dist/index.es162.js +1 -1
- package/dist/index.es163.js +1 -1
- package/dist/index.es164.js +1 -1
- package/dist/index.es165.js +1 -1
- package/dist/index.es166.js +1 -1
- package/dist/index.es167.js +1 -1
- package/dist/index.es168.js +1 -1
- package/dist/index.es169.js +1 -1
- package/dist/index.es170.js +1 -1
- package/dist/index.es171.js +1 -1
- package/dist/index.es172.js +1 -1
- package/dist/index.es173.js +1 -1
- package/dist/index.es174.js +1 -1
- package/dist/index.es175.js +1 -1
- package/dist/index.es176.js +1 -1
- package/dist/index.es177.js +1 -1
- package/dist/index.es178.js +1 -1
- package/dist/index.es179.js +1 -1
- package/dist/index.es183.js +1 -1
- package/dist/index.es184.js +1 -1
- package/dist/index.es185.js +1 -1
- package/dist/index.es187.js +1 -1
- package/dist/index.es188.js +1 -1
- package/dist/index.es189.js +1 -1
- package/dist/index.es190.js +1 -1
- package/dist/index.es191.js +1 -1
- package/dist/index.es192.js +1 -1
- package/dist/index.es193.js +1 -1
- package/dist/index.es194.js +1 -1
- package/dist/index.es195.js +1 -1
- package/dist/index.es197.js +1 -1
- package/dist/index.es198.js +1 -1
- package/dist/index.es199.js +1 -1
- package/dist/index.es200.js +1 -1
- package/dist/index.es201.js +1 -1
- package/dist/index.es202.js +1 -1
- package/dist/index.es203.js +1 -1
- package/dist/index.es206.js +1 -1
- package/dist/index.es207.js +1 -1
- package/dist/index.es208.js +1 -1
- package/dist/index.es209.js +1 -1
- package/dist/index.es210.js +1 -1
- package/dist/index.es211.js +1 -1
- package/dist/index.es212.js +1 -1
- package/dist/index.es213.js +1 -1
- package/dist/index.es214.js +1 -1
- package/dist/index.es215.js +1 -1
- package/dist/index.es221.js +1 -1
- package/dist/index.es223.js +1 -1
- package/dist/index.es224.js +1 -1
- package/dist/index.es24.js +1 -1
- package/dist/index.es248.js +1 -1
- package/dist/index.es255.js +2 -2
- package/dist/index.es274.js +27 -2
- package/dist/index.es274.js.map +1 -1
- package/dist/index.es276.js +5 -0
- package/dist/index.es276.js.map +1 -0
- package/dist/index.es28.js +1 -1
- package/dist/index.es295.js +1 -1
- package/dist/index.es32.js +1 -1
- package/dist/index.es321.js +1 -1
- package/dist/index.es323.js +7 -7
- package/dist/index.es33.js +1 -1
- package/dist/index.es330.js +1 -1
- package/dist/index.es331.js +1 -1
- package/dist/index.es335.js +1 -1
- package/dist/index.es344.js +1 -1
- package/dist/index.es346.js +1 -1
- package/dist/index.es352.js +1 -1
- package/dist/index.es353.js +1 -1
- package/dist/index.es395.js +1 -1
- package/dist/index.es401.js +1 -1
- package/dist/index.es435.js +1 -1
- package/dist/index.es443.js +1 -1
- package/dist/index.es454.js +1 -1
- package/dist/index.es455.js +1 -1
- package/dist/index.es456.js +3674 -5
- package/dist/index.es456.js.map +1 -1
- package/dist/index.es457.js +5 -520
- package/dist/index.es457.js.map +1 -1
- package/dist/index.es458.js +2 -3675
- package/dist/index.es458.js.map +1 -1
- package/dist/index.es459.js +5 -5
- package/dist/index.es459.js.map +1 -1
- package/dist/index.es460.js +521 -2
- package/dist/index.es460.js.map +1 -1
- package/dist/index.es468.js +1 -1
- package/dist/index.es469.js +7 -7
- package/dist/index.es484.js +122 -12
- package/dist/index.es484.js.map +1 -1
- package/dist/index.es485.js +134 -8
- package/dist/index.es485.js.map +1 -1
- package/dist/index.es486.js +14 -50
- package/dist/index.es486.js.map +1 -1
- package/dist/index.es487.js +13 -54
- package/dist/index.es487.js.map +1 -1
- package/dist/index.es488.js +12 -0
- package/dist/index.es488.js.map +1 -0
- package/dist/index.es489.js +53 -0
- package/dist/index.es489.js.map +1 -0
- package/dist/index.es490.js +59 -0
- package/dist/index.es490.js.map +1 -0
- package/dist/{index.es508.js → index.es504.js} +3 -3
- package/dist/{index.es508.js.map → index.es504.js.map} +1 -1
- package/dist/{index.es509.js → index.es505.js} +1 -1
- package/dist/index.es505.js.map +1 -0
- package/dist/index.es514.js +8 -0
- package/dist/index.es514.js.map +1 -0
- package/dist/{index.es512.js → index.es515.js} +1 -1
- package/dist/index.es515.js.map +1 -0
- package/dist/index.es516.js +2 -5
- package/dist/index.es516.js.map +1 -1
- package/dist/index.es522.js +1 -1
- package/dist/index.es531.js +3 -3
- package/dist/index.es535.js +1 -1
- package/dist/index.es536.js +1 -1
- package/dist/index.es537.js +1 -1
- package/dist/index.es542.js +1 -1
- package/dist/index.es546.js +1 -1
- package/dist/index.es547.js +7 -7
- package/dist/index.es559.js +2 -2
- package/dist/index.es563.js +1 -1
- package/dist/index.es580.js +54 -512
- package/dist/index.es580.js.map +1 -1
- package/dist/index.es581.js +509 -113
- package/dist/index.es581.js.map +1 -1
- package/dist/index.es582.js +121 -123
- package/dist/index.es582.js.map +1 -1
- package/dist/index.es583.js +125 -61
- package/dist/index.es583.js.map +1 -1
- package/dist/index.es6.js +1 -1
- package/dist/index.es64.js +1 -1
- package/dist/index.es7.js +1 -1
- package/dist/index.es8.js +1 -1
- package/dist/index.es9.js +2 -2
- package/package.json +1 -1
- package/dist/index.cjs275.js +0 -2
- package/dist/index.cjs275.js.map +0 -1
- package/dist/index.cjs481.js +0 -2
- package/dist/index.cjs481.js.map +0 -1
- package/dist/index.cjs482.js +0 -2
- package/dist/index.cjs482.js.map +0 -1
- package/dist/index.cjs483.js +0 -2
- package/dist/index.cjs483.js.map +0 -1
- package/dist/index.cjs509.js.map +0 -1
- package/dist/index.cjs512.js.map +0 -1
- package/dist/index.cjs513.js +0 -2
- package/dist/index.cjs513.js.map +0 -1
- package/dist/index.es275.js +0 -30
- package/dist/index.es275.js.map +0 -1
- package/dist/index.es481.js +0 -128
- package/dist/index.es481.js.map +0 -1
- package/dist/index.es482.js +0 -138
- package/dist/index.es482.js.map +0 -1
- package/dist/index.es483.js +0 -17
- package/dist/index.es483.js.map +0 -1
- package/dist/index.es509.js.map +0 -1
- package/dist/index.es512.js.map +0 -1
- package/dist/index.es513.js +0 -5
- package/dist/index.es513.js.map +0 -1
- /package/dist/components/ui/{CardMapDoctorV2/CardMapDoctorV2.css → CardMapDoctor/CardMapDoctor.css} +0 -0
- /package/dist/components/ui/{ConsentModal/ConsentModalContent/ConsentModalContent.css → DoctorConfirmModal/DoctorConfirmModalContent/DoctorConfirmModalContent.css} +0 -0
- /package/dist/components/ui/{ConsentModal/ConsentModalFooter/ConsentModalFooter.css → DoctorModal/DoctorModalFooter/DoctorModalFooter.css} +0 -0
package/dist/index.es110.js
CHANGED
@@ -1,36 +1,57 @@
|
|
1
1
|
import { j as s } from "./index.es244.js";
|
2
|
-
import
|
2
|
+
import I, { useState as T, useEffect as f } from "react";
|
3
3
|
import './components/ui/TableOfContents/TableOfContents.css';/* empty css */
|
4
|
-
import { useMediaQuery as
|
5
|
-
import { clsx as
|
6
|
-
import { Row as
|
7
|
-
import { ArrowDown as
|
8
|
-
import { ScrollArea as
|
9
|
-
const
|
10
|
-
title:
|
4
|
+
import { useMediaQuery as k } from "./index.es280.js";
|
5
|
+
import { clsx as u } from "./index.es246.js";
|
6
|
+
import { Row as S } from "./index.es9.js";
|
7
|
+
import { ArrowDown as H } from "./index.es158.js";
|
8
|
+
import { ScrollArea as R } from "./index.es413.js";
|
9
|
+
const q = ({
|
10
|
+
title: h = "Indice",
|
11
11
|
headings: r,
|
12
|
-
titleTag:
|
13
|
-
modeAuthenticated:
|
14
|
-
isOpen:
|
15
|
-
onToggle:
|
12
|
+
titleTag: p = "h1",
|
13
|
+
modeAuthenticated: x = !1,
|
14
|
+
isOpen: i,
|
15
|
+
onToggle: n = () => {
|
16
16
|
}
|
17
17
|
}) => {
|
18
|
-
const [
|
19
|
-
|
18
|
+
const [v, l] = I.useState(""), [w, b] = T(0), a = k("(min-width: 768px)"), g = a || i;
|
19
|
+
f(() => {
|
20
20
|
const e = () => {
|
21
|
-
const o = window.scrollY, t = document.documentElement.scrollHeight - window.innerHeight,
|
22
|
-
|
21
|
+
const o = window.scrollY, t = document.documentElement.scrollHeight - window.innerHeight, c = t > 0 ? Math.min(o / t * 100, 100) : 0;
|
22
|
+
b(c);
|
23
23
|
};
|
24
24
|
return window.addEventListener("scroll", e), e(), () => window.removeEventListener("scroll", e);
|
25
|
-
}, [])
|
25
|
+
}, []);
|
26
|
+
const d = (e) => {
|
27
|
+
if (!a) return;
|
28
|
+
const o = document.querySelector(
|
29
|
+
`a[href="#${e}"]`
|
30
|
+
), t = document.querySelector(
|
31
|
+
".toc-scroll"
|
32
|
+
);
|
33
|
+
if (o && t) {
|
34
|
+
const c = t.getBoundingClientRect(), m = o.getBoundingClientRect();
|
35
|
+
if (!(m.top >= c.top && m.bottom <= c.bottom)) {
|
36
|
+
const j = o.offsetTop, N = t.clientHeight, y = o.offsetHeight, E = j - N / 2 + y / 2;
|
37
|
+
t.scrollTo({
|
38
|
+
top: E,
|
39
|
+
behavior: "smooth"
|
40
|
+
});
|
41
|
+
}
|
42
|
+
}
|
43
|
+
};
|
44
|
+
return f(() => {
|
26
45
|
const e = new IntersectionObserver(
|
27
46
|
(o) => {
|
28
47
|
o.forEach((t) => {
|
29
|
-
t.isIntersecting &&
|
48
|
+
t.isIntersecting && (l(t.target.id), setTimeout(() => {
|
49
|
+
d(t.target.id);
|
50
|
+
}, 150));
|
30
51
|
});
|
31
52
|
},
|
32
53
|
{
|
33
|
-
rootMargin: "-
|
54
|
+
rootMargin: "-230px 0px -60% 0px",
|
34
55
|
threshold: 0
|
35
56
|
}
|
36
57
|
);
|
@@ -41,23 +62,23 @@ const M = ({
|
|
41
62
|
}, [r]), /* @__PURE__ */ s.jsxs(
|
42
63
|
"div",
|
43
64
|
{
|
44
|
-
className:
|
45
|
-
"toc-container-authenticated":
|
65
|
+
className: u("toc-container", {
|
66
|
+
"toc-container-authenticated": x
|
46
67
|
}),
|
47
68
|
children: [
|
48
69
|
/* @__PURE__ */ s.jsx(
|
49
70
|
"button",
|
50
71
|
{
|
51
72
|
className: "ui-button-accordion-toc",
|
52
|
-
onClick:
|
73
|
+
onClick: n,
|
53
74
|
type: "button",
|
54
|
-
children: /* @__PURE__ */ s.jsxs(
|
55
|
-
/* @__PURE__ */ s.jsx(
|
75
|
+
children: /* @__PURE__ */ s.jsxs(S, { className: "ui-header-table-of-contents", children: [
|
76
|
+
/* @__PURE__ */ s.jsx(p, { className: "text-slate-20 fw-semibold fs-7", children: h }),
|
56
77
|
/* @__PURE__ */ s.jsx(
|
57
|
-
|
78
|
+
H,
|
58
79
|
{
|
59
80
|
color: "primary",
|
60
|
-
className:
|
81
|
+
className: u("ui-arrow-toc", { "ui-expanded-toc": i })
|
61
82
|
}
|
62
83
|
)
|
63
84
|
] })
|
@@ -67,11 +88,11 @@ const M = ({
|
|
67
88
|
"div",
|
68
89
|
{
|
69
90
|
className: "scroll-progress",
|
70
|
-
style: { width: `${
|
91
|
+
style: { width: `${w}%` }
|
71
92
|
}
|
72
93
|
) }),
|
73
|
-
|
74
|
-
|
94
|
+
g && /* @__PURE__ */ s.jsx(
|
95
|
+
R,
|
75
96
|
{
|
76
97
|
type: "always",
|
77
98
|
scrollbars: "vertical",
|
@@ -80,10 +101,12 @@ const M = ({
|
|
80
101
|
"a",
|
81
102
|
{
|
82
103
|
href: `#${e.id}`,
|
83
|
-
className: `toc-link ${
|
104
|
+
className: `toc-link ${v === e.id ? "active text-primary" : "text-slate-28"}`,
|
84
105
|
onClick: (o) => {
|
85
106
|
var t;
|
86
|
-
o.preventDefault(), (
|
107
|
+
o.preventDefault(), l(e.id), setTimeout(() => {
|
108
|
+
d(e.id);
|
109
|
+
}, 100), (t = document.getElementById(e.id)) == null || t.scrollIntoView({ behavior: "smooth" }), n();
|
87
110
|
},
|
88
111
|
children: e.text
|
89
112
|
}
|
@@ -95,6 +118,6 @@ const M = ({
|
|
95
118
|
);
|
96
119
|
};
|
97
120
|
export {
|
98
|
-
|
121
|
+
q as TableOfContents
|
99
122
|
};
|
100
123
|
//# sourceMappingURL=index.es110.js.map
|
package/dist/index.es110.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.es110.js","sources":["../src/components/ui/TableOfContents/index.tsx"],"sourcesContent":["import React, { useEffect, useState } from \"react\";\r\nimport { ScrollArea } from \"@radix-ui/themes\";\r\nimport \"./TableOfContents.scss\";\r\nimport { Row } from \"@/components\";\r\nimport { useMediaQuery } from \"@/hooks/useMediaQuery.ts\";\r\nimport { ArrowDown } from \"@/icons\";\r\nimport clsx from \"clsx\";\r\nimport { HeadingLevel } from \"@/types/headings\";\r\n\r\ntype Heading = {\r\n id: string;\r\n text: string;\r\n};\r\n\r\ntype TableOfContentsProps = {\r\n title: string;\r\n headings: Heading[];\r\n titleTag?: HeadingLevel;\r\n modeAuthenticated?: boolean;\r\n isOpen?: boolean;\r\n onToggle?: () => void;\r\n};\r\n\r\nexport const TableOfContents = ({\r\n title = \"Indice\",\r\n headings,\r\n titleTag: TitleTag = \"h1\",\r\n modeAuthenticated = false,\r\n isOpen,\r\n onToggle = () => {},\r\n}: TableOfContentsProps) => {\r\n const [activeId, setActiveId] = React.useState(\"\");\r\n const [scrollProgress, setScrollProgress] = useState(0);\r\n const isDesktop = useMediaQuery(\"(min-width: 768px)\");\r\n const showScrollArea = isDesktop || isOpen;\r\n\r\n useEffect(() => {\r\n const updateScrollProgress = () => {\r\n const scrollTop = window.scrollY;\r\n const docHeight =\r\n document.documentElement.scrollHeight - window.innerHeight;\r\n const scrollPercent =\r\n docHeight > 0 ? Math.min((scrollTop / docHeight) * 100, 100) : 0;\r\n setScrollProgress(scrollPercent);\r\n };\r\n\r\n window.addEventListener(\"scroll\", updateScrollProgress);\r\n updateScrollProgress();\r\n\r\n return () => window.removeEventListener(\"scroll\", updateScrollProgress);\r\n }, []);\r\n\r\n useEffect(() => {\r\n const observer = new IntersectionObserver(\r\n (entries) => {\r\n entries.forEach((entry) => {\r\n if (entry.isIntersecting) {\r\n setActiveId(entry.target.id);\r\n }\r\n });\r\n },\r\n {\r\n rootMargin: \"-
|
1
|
+
{"version":3,"file":"index.es110.js","sources":["../src/components/ui/TableOfContents/index.tsx"],"sourcesContent":["import React, { useEffect, useState } from \"react\";\r\nimport { ScrollArea } from \"@radix-ui/themes\";\r\nimport \"./TableOfContents.scss\";\r\nimport { Row } from \"@/components\";\r\nimport { useMediaQuery } from \"@/hooks/useMediaQuery.ts\";\r\nimport { ArrowDown } from \"@/icons\";\r\nimport clsx from \"clsx\";\r\nimport { HeadingLevel } from \"@/types/headings\";\r\n\r\ntype Heading = {\r\n id: string;\r\n text: string;\r\n};\r\n\r\ntype TableOfContentsProps = {\r\n title: string;\r\n headings: Heading[];\r\n titleTag?: HeadingLevel;\r\n modeAuthenticated?: boolean;\r\n isOpen?: boolean;\r\n onToggle?: () => void;\r\n};\r\n\r\nexport const TableOfContents = ({\r\n title = \"Indice\",\r\n headings,\r\n titleTag: TitleTag = \"h1\",\r\n modeAuthenticated = false,\r\n isOpen,\r\n onToggle = () => {},\r\n}: TableOfContentsProps) => {\r\n const [activeId, setActiveId] = React.useState(\"\");\r\n const [scrollProgress, setScrollProgress] = useState(0);\r\n const isDesktop = useMediaQuery(\"(min-width: 768px)\");\r\n const showScrollArea = isDesktop || isOpen;\r\n\r\n useEffect(() => {\r\n const updateScrollProgress = () => {\r\n const scrollTop = window.scrollY;\r\n const docHeight =\r\n document.documentElement.scrollHeight - window.innerHeight;\r\n const scrollPercent =\r\n docHeight > 0 ? Math.min((scrollTop / docHeight) * 100, 100) : 0;\r\n setScrollProgress(scrollPercent);\r\n };\r\n\r\n window.addEventListener(\"scroll\", updateScrollProgress);\r\n updateScrollProgress();\r\n\r\n return () => window.removeEventListener(\"scroll\", updateScrollProgress);\r\n }, []);\r\n\r\n const scrollToActiveItem = (activeId: string) => {\r\n if (!isDesktop) return;\r\n\r\n const activeLink = document.querySelector(\r\n `a[href=\"#${activeId}\"]`,\r\n ) as HTMLElement;\r\n const scrollContainer = document.querySelector(\r\n \".toc-scroll\",\r\n ) as HTMLElement;\r\n\r\n if (activeLink && scrollContainer) {\r\n const containerRect = scrollContainer.getBoundingClientRect();\r\n const linkRect = activeLink.getBoundingClientRect();\r\n\r\n const isVisible =\r\n linkRect.top >= containerRect.top &&\r\n linkRect.bottom <= containerRect.bottom;\r\n\r\n if (!isVisible) {\r\n const linkOffsetTop = activeLink.offsetTop;\r\n const containerHeight = scrollContainer.clientHeight;\r\n const linkHeight = activeLink.offsetHeight;\r\n\r\n const scrollTop = linkOffsetTop - containerHeight / 2 + linkHeight / 2;\r\n\r\n scrollContainer.scrollTo({\r\n top: scrollTop,\r\n behavior: \"smooth\",\r\n });\r\n }\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n const observer = new IntersectionObserver(\r\n (entries) => {\r\n entries.forEach((entry) => {\r\n if (entry.isIntersecting) {\r\n setActiveId(entry.target.id);\r\n\r\n setTimeout(() => {\r\n scrollToActiveItem(entry.target.id);\r\n }, 150);\r\n }\r\n });\r\n },\r\n {\r\n rootMargin: \"-230px 0px -60% 0px\",\r\n threshold: 0,\r\n },\r\n );\r\n\r\n headings.forEach(({ id }) => {\r\n const element = document.getElementById(id);\r\n if (element) observer.observe(element);\r\n });\r\n\r\n return () => observer.disconnect();\r\n }, [headings]);\r\n\r\n return (\r\n <div\r\n className={clsx(\"toc-container\", {\r\n \"toc-container-authenticated\": modeAuthenticated,\r\n })}\r\n >\r\n <button\r\n className={\"ui-button-accordion-toc\"}\r\n onClick={onToggle}\r\n type=\"button\"\r\n >\r\n <Row className={\"ui-header-table-of-contents\"}>\r\n <TitleTag className=\"text-slate-20 fw-semibold fs-7\">\r\n {title}\r\n </TitleTag>\r\n <ArrowDown\r\n color={\"primary\"}\r\n className={clsx(\"ui-arrow-toc\", { \"ui-expanded-toc\": isOpen })}\r\n />\r\n </Row>\r\n </button>\r\n\r\n <div className=\"scroll-progress-bar\">\r\n <div\r\n className=\"scroll-progress\"\r\n style={{ width: `${scrollProgress}%` }}\r\n />\r\n </div>\r\n\r\n {showScrollArea && (\r\n <ScrollArea\r\n type=\"always\"\r\n scrollbars=\"vertical\"\r\n className=\"toc-scroll fw-semibold fs-6\"\r\n >\r\n <div className=\"toc-list base-col\">\r\n {headings.map((item) => (\r\n <div key={item.id} className=\"toc-item\">\r\n <a\r\n href={`#${item.id}`}\r\n className={`toc-link ${activeId === item.id ? \"active text-primary\" : \"text-slate-28\"}`}\r\n onClick={(e) => {\r\n e.preventDefault();\r\n setActiveId(item.id);\r\n\r\n setTimeout(() => {\r\n scrollToActiveItem(item.id);\r\n }, 100);\r\n\r\n document\r\n .getElementById(item.id)\r\n ?.scrollIntoView({ behavior: \"smooth\" });\r\n onToggle();\r\n }}\r\n >\r\n {item.text}\r\n </a>\r\n </div>\r\n ))}\r\n </div>\r\n </ScrollArea>\r\n )}\r\n </div>\r\n );\r\n};\r\n"],"names":["TableOfContents","title","headings","TitleTag","modeAuthenticated","isOpen","onToggle","activeId","setActiveId","React","scrollProgress","setScrollProgress","useState","isDesktop","useMediaQuery","showScrollArea","useEffect","updateScrollProgress","scrollTop","docHeight","scrollPercent","scrollToActiveItem","activeLink","scrollContainer","containerRect","linkRect","linkOffsetTop","containerHeight","linkHeight","observer","entries","entry","id","element","jsxs","clsx","jsx","Row","ArrowDown","ScrollArea","item","e","_a"],"mappings":"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"}
|
package/dist/index.es137.js
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
import { j as s } from "./index.es244.js";
|
2
2
|
import { clsx as a } from "./index.es246.js";
|
3
|
-
import { createColorClasses as e } from "./index.
|
3
|
+
import { createColorClasses as e } from "./index.es276.js";
|
4
4
|
import './components/ui/Divider/Divider.css';/* empty css */
|
5
5
|
const p = ({
|
6
6
|
direction: o = "horizontal",
|
package/dist/index.es157.js
CHANGED
package/dist/index.es158.js
CHANGED
package/dist/index.es159.js
CHANGED
package/dist/index.es160.js
CHANGED
package/dist/index.es161.js
CHANGED
package/dist/index.es162.js
CHANGED
package/dist/index.es163.js
CHANGED
package/dist/index.es164.js
CHANGED
package/dist/index.es165.js
CHANGED
package/dist/index.es166.js
CHANGED
package/dist/index.es167.js
CHANGED
package/dist/index.es168.js
CHANGED
package/dist/index.es169.js
CHANGED
package/dist/index.es170.js
CHANGED
package/dist/index.es171.js
CHANGED
package/dist/index.es172.js
CHANGED
package/dist/index.es173.js
CHANGED
package/dist/index.es174.js
CHANGED
package/dist/index.es175.js
CHANGED
package/dist/index.es176.js
CHANGED
package/dist/index.es177.js
CHANGED
package/dist/index.es178.js
CHANGED
package/dist/index.es179.js
CHANGED
package/dist/index.es183.js
CHANGED
package/dist/index.es184.js
CHANGED
package/dist/index.es185.js
CHANGED
package/dist/index.es187.js
CHANGED
package/dist/index.es188.js
CHANGED
package/dist/index.es189.js
CHANGED
package/dist/index.es190.js
CHANGED
package/dist/index.es191.js
CHANGED
package/dist/index.es192.js
CHANGED
package/dist/index.es193.js
CHANGED
package/dist/index.es194.js
CHANGED
package/dist/index.es195.js
CHANGED
package/dist/index.es197.js
CHANGED
package/dist/index.es198.js
CHANGED
package/dist/index.es199.js
CHANGED
package/dist/index.es200.js
CHANGED
package/dist/index.es201.js
CHANGED
package/dist/index.es202.js
CHANGED
package/dist/index.es203.js
CHANGED
package/dist/index.es206.js
CHANGED
package/dist/index.es207.js
CHANGED
package/dist/index.es208.js
CHANGED
package/dist/index.es209.js
CHANGED