highsoft-ui 1.0.161 → 1.0.162

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 (78) hide show
  1. package/CLAUDE.md +95 -2
  2. package/dist/{BrowserFrame-BUneieY7.js → BrowserFrame-D-DoBOXv.js} +2 -2
  3. package/dist/{Button-CjxX21gW.js → Button-BCbWIPg1.js} +1 -1
  4. package/dist/{ButtonGroup-DanFXfXA.js → ButtonGroup-DGEDf4ic.js} +1 -1
  5. package/dist/{Checkbox-BkxibNey.js → Checkbox-CO0SRaAZ.js} +1 -1
  6. package/dist/{CodeBlock-BkSyiiCb.js → CodeBlock-Ugik4xMM.js} +4 -4
  7. package/dist/{CookiePolicyModal-9p_OGcpB.js → CookiePolicyModal-TdrVbP_E.js} +2 -2
  8. package/dist/{CopyCode-90z6BfV0.js → CopyCode-_sKjpGqB.js} +2 -2
  9. package/dist/{Dropdown-8bjCO1Lx.js → Dropdown-LiG-JAoo.js} +267 -234
  10. package/dist/{Footer-DVZIe2ax.js → Footer-DzIGLnEz.js} +8 -8
  11. package/dist/{FooterBottom-BV9xJbRt.js → FooterBottom-CRe2Mvjd.js} +1 -1
  12. package/dist/{FooterHelp-Dlnj0dUF.js → FooterHelp-CTSvficW.js} +1 -1
  13. package/dist/{FooterLinks-BAdqoexV.js → FooterLinks-BoDdQUWb.js} +2 -2
  14. package/dist/{Header-CkWQ4zk-.js → Header-CTO6Y6oH.js} +26 -26
  15. package/dist/{InputGrouped-BUJKBG0D.js → InputGrouped-y0JyshpR.js} +13 -13
  16. package/dist/{Label-DgPVoDMR.js → Label-k6e4Rqb-.js} +1 -1
  17. package/dist/{LogoCarousel-DEvwvCfr.js → LogoCarousel-pRYdmphl.js} +2 -2
  18. package/dist/{NewsletterSignup-BP3AxNHH.js → NewsletterSignup-BrmQ7pXZ.js} +4 -4
  19. package/dist/{Notification-D4-209sL.js → Notification-BFLAktZo.js} +3 -3
  20. package/dist/{PrefPanel-B4MyeLGu.js → PrefPanel-CHkc6r6b.js} +9 -9
  21. package/dist/{RoadmapDetails-CATh63TE.js → RoadmapDetails-BWt0J4Pn.js} +2 -2
  22. package/dist/{Search-T4R860vH.js → Search-D29JM1a_.js} +7 -7
  23. package/dist/{SearchDropdown-fcfDUjOp.js → SearchDropdown-BSUAlaMY.js} +1 -1
  24. package/dist/{VideoCover-BXIkxFuT.js → VideoCover-C18NhQcY.js} +1 -1
  25. package/dist/{VideoPlayer-BB8jVMa5.js → VideoPlayer-UM4M4C5b.js} +4 -4
  26. package/dist/{VideoPlayerModal-fnAUwVMI.js → VideoPlayerModal-IRwjMLoy.js} +2 -2
  27. package/dist/{YoutubeModal-C3rfaDki.js → YoutubeModal-BOnH866s.js} +2 -2
  28. package/dist/components/BrowserFrame/index.js +1 -1
  29. package/dist/components/Button/index.js +1 -1
  30. package/dist/components/ButtonGroup/index.js +1 -1
  31. package/dist/components/Checkbox/index.js +1 -1
  32. package/dist/components/CodeBlock/index.js +1 -1
  33. package/dist/components/CopyCode/index.js +1 -1
  34. package/dist/components/Dropdown/index.js +1 -1
  35. package/dist/components/Footer/CookiePolicyModal.js +1 -1
  36. package/dist/components/Footer/FooterBottom.js +1 -1
  37. package/dist/components/Footer/FooterHelp.js +1 -1
  38. package/dist/components/Footer/FooterLinks.js +1 -1
  39. package/dist/components/Footer/YoutubeModal.js +1 -1
  40. package/dist/components/Footer/index.js +1 -1
  41. package/dist/components/Header/index.js +1 -1
  42. package/dist/components/InputGrouped/index.js +1 -1
  43. package/dist/components/Label/index.js +1 -1
  44. package/dist/components/LogoCarousel/index.js +1 -1
  45. package/dist/components/Modal/ModalContactFooter.js +2 -2
  46. package/dist/components/Modal/index.js +2 -2
  47. package/dist/components/NewsletterSignup/index.js +1 -1
  48. package/dist/components/Notification/index.js +1 -1
  49. package/dist/components/PrefPanel/index.js +1 -1
  50. package/dist/components/RoadmapDetails/index.js +1 -1
  51. package/dist/components/Search/index.js +1 -1
  52. package/dist/components/SearchDropdown/index.js +1 -1
  53. package/dist/components/Sidebar/NavDisclosure.js +2 -2
  54. package/dist/components/Sidebar/NavGroup.js +21 -37
  55. package/dist/components/Sidebar/NavItem.js +26 -19
  56. package/dist/components/Sidebar/Sidebar.js +97 -69
  57. package/dist/components/Sidebar/SidebarLayout.js +2 -2
  58. package/dist/components/Sidebar/SidebarResizer.js +1 -1
  59. package/dist/components/Sidebar/SidebarSwitcher.js +48 -0
  60. package/dist/components/Sidebar/index.js +5 -4
  61. package/dist/components/Sidebar/useSlideClip.js +27 -0
  62. package/dist/components/VideoCover/index.js +1 -1
  63. package/dist/components/VideoPlayer/VideoPlayerModal.js +1 -1
  64. package/dist/components/VideoPlayer/index.js +1 -1
  65. package/dist/{create-element-Bftz4UxU.js → create-element-DxkdwAGs.js} +1 -1
  66. package/dist/{esm-LCYnNVvi.js → esm-CUgR2iUX.js} +63 -49
  67. package/dist/highsoft-ui.css +1 -1
  68. package/dist/lib/components/Dropdown/index.d.ts +32 -3
  69. package/dist/lib/components/Sidebar/NavItem.d.ts +5 -0
  70. package/dist/lib/components/Sidebar/Sidebar.d.ts +12 -1
  71. package/dist/lib/components/Sidebar/SidebarSwitcher.d.ts +31 -0
  72. package/dist/lib/components/Sidebar/index.d.ts +2 -0
  73. package/dist/lib/components/Sidebar/useSlideClip.d.ts +30 -0
  74. package/dist/lib/main.d.ts +2 -2
  75. package/dist/main.js +26 -25
  76. package/dist/{prism-light-CqF2CLQS.js → prism-light-Czk1yGD_.js} +1 -1
  77. package/dist/{styles.module-DGKft2EO.js → styles.module-B9V15An9.js} +16 -0
  78. package/package.json +1 -1
@@ -1,2 +1,2 @@
1
- import { t as e } from "../../LogoCarousel-DEvwvCfr.js";
1
+ import { t as e } from "../../LogoCarousel-pRYdmphl.js";
2
2
  export { e as LogoCarousel };
@@ -1,5 +1,5 @@
1
- import { N as e } from "../../esm-LCYnNVvi.js";
2
- import { t } from "../../Button-CjxX21gW.js";
1
+ import { N as e } from "../../esm-CUgR2iUX.js";
2
+ import { t } from "../../Button-BCbWIPg1.js";
3
3
  import { t as n } from "../../Typography-AvvBRu-u.js";
4
4
  import { t as r } from "../../styles.module-BDcr8Smc.js";
5
5
  import { jsx as i, jsxs as a } from "react/jsx-runtime";
@@ -1,6 +1,6 @@
1
1
  import { t as e } from "../../clsx-BWCAbrjV.js";
2
- import { t } from "../../esm-LCYnNVvi.js";
3
- import { t as n } from "../../Button-CjxX21gW.js";
2
+ import { t } from "../../esm-CUgR2iUX.js";
3
+ import { t as n } from "../../Button-BCbWIPg1.js";
4
4
  import { t as r } from "../../Typography-AvvBRu-u.js";
5
5
  import { t as i } from "../../styles.module-BDcr8Smc.js";
6
6
  import { useEffect as a, useRef as o } from "react";
@@ -1,2 +1,2 @@
1
- import { t as e } from "../../NewsletterSignup-BP3AxNHH.js";
1
+ import { t as e } from "../../NewsletterSignup-BrmQ7pXZ.js";
2
2
  export { e as NewsletterSignup };
@@ -1,2 +1,2 @@
1
- import { t as e } from "../../Notification-D4-209sL.js";
1
+ import { t as e } from "../../Notification-BFLAktZo.js";
2
2
  export { e as Notification };
@@ -1,2 +1,2 @@
1
- import { n as e, t } from "../../PrefPanel-B4MyeLGu.js";
1
+ import { n as e, t } from "../../PrefPanel-CHkc6r6b.js";
2
2
  export { t as PrefPanel, e as PrefRadio };
@@ -1,2 +1,2 @@
1
- import { t as e } from "../../RoadmapDetails-CATh63TE.js";
1
+ import { t as e } from "../../RoadmapDetails-BWt0J4Pn.js";
2
2
  export { e as RoadmapDetails };
@@ -1,2 +1,2 @@
1
- import { t as e } from "../../Search-T4R860vH.js";
1
+ import { t as e } from "../../Search-D29JM1a_.js";
2
2
  export { e as Search };
@@ -1,2 +1,2 @@
1
- import { t as e } from "../../SearchDropdown-fcfDUjOp.js";
1
+ import { t as e } from "../../SearchDropdown-BSUAlaMY.js";
2
2
  export { e as SearchDropdown };
@@ -1,8 +1,8 @@
1
1
  "use client";
2
2
  import { t as e } from "../../clsx-BWCAbrjV.js";
3
- import { X as t } from "../../esm-LCYnNVvi.js";
3
+ import { Z as t } from "../../esm-CUgR2iUX.js";
4
4
  import { t as n } from "../../Icon-DJTgdvsG.js";
5
- import { t as r } from "../../styles.module-DGKft2EO.js";
5
+ import { t as r } from "../../styles.module-B9V15An9.js";
6
6
  import { useId as i, useState as a } from "react";
7
7
  import { jsx as o, jsxs as s } from "react/jsx-runtime";
8
8
  //#region lib/components/Sidebar/NavDisclosure.tsx
@@ -1,81 +1,65 @@
1
1
  "use client";
2
2
  import { t as e } from "../../clsx-BWCAbrjV.js";
3
- import { X as t } from "../../esm-LCYnNVvi.js";
3
+ import { Z as t } from "../../esm-CUgR2iUX.js";
4
4
  import { t as n } from "../../Icon-DJTgdvsG.js";
5
5
  import { useOptionalSidebarSection as r } from "./context.js";
6
- import { t as i } from "../../styles.module-DGKft2EO.js";
7
- import { NavPathContext as a, textOf as o, useNavPath as s } from "./navPath.js";
8
- import { useCallback as c, useEffect as l, useId as u, useMemo as d, useRef as f, useState as p } from "react";
9
- import { jsx as m, jsxs as h } from "react/jsx-runtime";
6
+ import { t as i } from "../../styles.module-B9V15An9.js";
7
+ import { useSlideClip as a } from "./useSlideClip.js";
8
+ import { NavPathContext as o, textOf as s, useNavPath as c } from "./navPath.js";
9
+ import { useCallback as l, useEffect as u, useId as d, useMemo as f, useRef as p, useState as m } from "react";
10
+ import { jsx as h, jsxs as g } from "react/jsx-runtime";
10
11
  //#region lib/components/Sidebar/NavGroup.tsx
11
- var g = "grid-template-rows";
12
12
  function _({ label: _, children: v, icon: y, defaultOpen: b = !1, open: x, onOpenChange: S, active: C, className: w }) {
13
- let [T, E] = p(b), D = x !== void 0, O = D ? x : T, k = u(), A = u(), j = r(), M = s(), N = M.length, P = o(_), F = d(() => [...M, P], [M, P]), I = c((e) => {
13
+ let [T, E] = m(b), D = x !== void 0, O = D ? x : T, k = d(), A = d(), j = r(), M = c(), N = M.length, P = s(_), F = f(() => [...M, P], [M, P]), I = l((e) => {
14
14
  D || E(e), S?.(e);
15
- }, [D, S]), L = c(() => I(!O), [O, I]);
16
- l(() => (j?.reportOpen(A, O), () => j?.reportOpen(A, !1)), [
15
+ }, [D, S]), L = l(() => I(!O), [O, I]);
16
+ u(() => (j?.reportOpen(A, O), () => j?.reportOpen(A, !1)), [
17
17
  O,
18
18
  A,
19
19
  j
20
20
  ]);
21
- let [R, z] = p(!1), B = f(null), V = f(O);
22
- V.current !== O && (V.current = O, z(O)), l(() => {
23
- if (!R) return;
24
- let e = B.current;
25
- if (!e) return;
26
- if (!parseFloat(getComputedStyle(e).transitionDuration)) {
27
- z(!1);
28
- return;
29
- }
30
- let t = (t) => {
31
- t.target === e && t.propertyName === g && z(!1);
32
- };
33
- return e.addEventListener("transitionend", t), e.addEventListener("transitioncancel", t), () => {
34
- e.removeEventListener("transitionend", t), e.removeEventListener("transitioncancel", t);
35
- };
36
- }, [R]);
37
- let H = f(j?.collapseNonce ?? 0);
38
- return l(() => {
21
+ let { expanding: R, ref: z } = a(O), B = p(j?.collapseNonce ?? 0);
22
+ return u(() => {
39
23
  let e = j?.collapseNonce ?? 0;
40
- e !== H.current && (H.current = e, O && I(!1));
24
+ e !== B.current && (B.current = e, O && I(!1));
41
25
  }, [
42
26
  j?.collapseNonce,
43
27
  O,
44
28
  j,
45
29
  I
46
- ]), /* @__PURE__ */ h("div", {
30
+ ]), /* @__PURE__ */ g("div", {
47
31
  className: e(i.group, O && i.groupOpen, R && i.groupExpanding, C && i.groupActive, w),
48
32
  style: { "--hs-nav-depth": N },
49
- children: [/* @__PURE__ */ h("button", {
33
+ children: [/* @__PURE__ */ g("button", {
50
34
  type: "button",
51
35
  className: i.groupToggle,
52
36
  "aria-expanded": O,
53
37
  "aria-controls": k,
54
38
  onClick: L,
55
39
  children: [
56
- /* @__PURE__ */ m(n, {
40
+ /* @__PURE__ */ h(n, {
57
41
  name: t,
58
42
  size: 16,
59
43
  className: i.groupChevron,
60
44
  "aria-hidden": "true"
61
45
  }),
62
- y == null ? null : /* @__PURE__ */ m("span", {
46
+ y == null ? null : /* @__PURE__ */ h("span", {
63
47
  className: i.itemIcon,
64
48
  children: y
65
49
  }),
66
- /* @__PURE__ */ m("span", {
50
+ /* @__PURE__ */ h("span", {
67
51
  className: i.groupLabel,
68
52
  children: _
69
53
  })
70
54
  ]
71
- }), /* @__PURE__ */ m("div", {
72
- ref: B,
55
+ }), /* @__PURE__ */ h("div", {
56
+ ref: z,
73
57
  id: k,
74
58
  className: i.groupChildren,
75
59
  role: "group",
76
- children: /* @__PURE__ */ m("div", {
60
+ children: /* @__PURE__ */ h("div", {
77
61
  className: i.groupChildrenInner,
78
- children: /* @__PURE__ */ m(a.Provider, {
62
+ children: /* @__PURE__ */ h(o.Provider, {
79
63
  value: F,
80
64
  children: v
81
65
  })
@@ -1,34 +1,41 @@
1
1
  "use client";
2
2
  import { t as e } from "../../clsx-BWCAbrjV.js";
3
3
  import { useOptionalSidebarLayout as t } from "./context.js";
4
- import { t as n } from "../../styles.module-DGKft2EO.js";
4
+ import { t as n } from "../../styles.module-B9V15An9.js";
5
5
  import { textOf as r, useNavPath as i } from "./navPath.js";
6
6
  import { forwardRef as a, useEffect as o, useId as s } from "react";
7
7
  import { jsx as c, jsxs as l } from "react/jsx-runtime";
8
8
  //#region lib/components/Sidebar/NavItem.tsx
9
- var u = 350, d = a(function({ as: a, active: d, icon: f, children: p, className: m, onClick: h, ...g }, _) {
10
- let v = a || "a", y = t(), b = s(), x = i(), S = r(p), C = d && S ? [...x.filter(Boolean), S].slice(-2).join(" / ") : null, w = y?.reportActivePage;
9
+ var u = 350, d = a(function({ as: a, active: d, icon: f, badge: p, children: m, className: h, onClick: g, ..._ }, v) {
10
+ let y = a || "a", b = t(), x = s(), S = i(), C = r(m), w = d && C ? [...S.filter(Boolean), C].slice(-2).join(" / ") : null, T = b?.reportActivePage;
11
11
  return o(() => {
12
- if (w) return w(b, C), () => w(b, null);
12
+ if (T) return T(x, w), () => T(x, null);
13
13
  }, [
14
- w,
15
- b,
16
- C
17
- ]), /* @__PURE__ */ l(v, {
18
- ref: _,
19
- className: e(n.item, d && n.itemActive, m),
14
+ T,
15
+ x,
16
+ w
17
+ ]), /* @__PURE__ */ l(y, {
18
+ ref: v,
19
+ className: e(n.item, d && n.itemActive, h),
20
20
  "aria-current": d ? "page" : void 0,
21
21
  onClick: (e) => {
22
- h?.(e), y && (window.matchMedia("(pointer: coarse)").matches && y.isMobile && y.mobileOpen ? window.setTimeout(() => y.closeMobile(), u) : y.closeMobile());
22
+ g?.(e), b && (window.matchMedia("(pointer: coarse)").matches && b.isMobile && b.mobileOpen ? window.setTimeout(() => b.closeMobile(), u) : b.closeMobile());
23
23
  },
24
- ...g,
25
- children: [f == null ? null : /* @__PURE__ */ c("span", {
26
- className: n.itemIcon,
27
- children: f
28
- }), /* @__PURE__ */ c("span", {
29
- className: n.itemLabel,
30
- children: p
31
- })]
24
+ ..._,
25
+ children: [
26
+ f == null ? null : /* @__PURE__ */ c("span", {
27
+ className: n.itemIcon,
28
+ children: f
29
+ }),
30
+ /* @__PURE__ */ c("span", {
31
+ className: n.itemLabel,
32
+ children: m
33
+ }),
34
+ p == null ? null : /* @__PURE__ */ c("span", {
35
+ className: n.itemBadge,
36
+ children: p
37
+ })
38
+ ]
32
39
  });
33
40
  });
34
41
  //#endregion
@@ -1,140 +1,168 @@
1
1
  "use client";
2
2
  import { t as e } from "../../clsx-BWCAbrjV.js";
3
- import { O as t, t as n } from "../../esm-LCYnNVvi.js";
4
- import { t as r } from "../../Button-CjxX21gW.js";
5
- import { t as i } from "../../Icon-DJTgdvsG.js";
6
- import { t as a } from "../../Typography-AvvBRu-u.js";
7
- import { SidebarSectionContext as o, useSidebarLayout as s } from "./context.js";
8
- import { t as c } from "../../styles.module-DGKft2EO.js";
9
- import { SidebarResizer as l } from "./SidebarResizer.js";
10
- import { useCallback as u, useEffect as d, useRef as f, useState as p } from "react";
11
- import { jsx as m, jsxs as h } from "react/jsx-runtime";
3
+ import { O as t, Q as n, t as r } from "../../esm-CUgR2iUX.js";
4
+ import { t as i } from "../../Button-BCbWIPg1.js";
5
+ import { t as a } from "../../Icon-DJTgdvsG.js";
6
+ import { t as o } from "../../Typography-AvvBRu-u.js";
7
+ import { SidebarSectionContext as s, useSidebarLayout as c } from "./context.js";
8
+ import { t as l } from "../../styles.module-B9V15An9.js";
9
+ import { SidebarResizer as u } from "./SidebarResizer.js";
10
+ import { useSlideClip as d } from "./useSlideClip.js";
11
+ import { useCallback as f, useEffect as p, useId as m, useRef as h, useState as g } from "react";
12
+ import { jsx as _, jsxs as v } from "react/jsx-runtime";
12
13
  //#region lib/components/Sidebar/Sidebar.tsx
13
- var g = 72, _ = 56, v = .84, y = "a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex=\"-1\"])";
14
- function b({ children: t, "aria-label": a = "Sidebar navigation", closeLabel: o = "Close navigation", className: p }) {
15
- let { resizable: b, isMobile: x, mobileOpen: S, closeMobile: C, openFocus: w } = s(), T = f(null), E = x && S;
16
- d(() => {
14
+ var y = 72, b = 56, x = .84, S = "a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex=\"-1\"])";
15
+ function C({ children: t, "aria-label": n = "Sidebar navigation", closeLabel: o = "Close navigation", className: s }) {
16
+ let { resizable: d, isMobile: m, mobileOpen: g, closeMobile: C, openFocus: w } = c(), T = h(null), E = m && g;
17
+ p(() => {
17
18
  let e = T.current;
18
- !S || !e || ((w === "search" ? e.querySelector(`.${c.header} input:not([type='hidden']):not([disabled])`) : null) ?? e).focus();
19
- }, [S, w]), d(() => {
19
+ !g || !e || ((w === "search" ? e.querySelector(`.${l.header} input:not([type='hidden']):not([disabled])`) : null) ?? e).focus();
20
+ }, [g, w]), p(() => {
20
21
  let e = window.visualViewport, t = T.current;
21
22
  if (!E || !e || !t) return;
22
23
  let n = () => {
23
- let n = document.documentElement.clientHeight, r = Math.max(0, Math.round(n - e.offsetTop - e.height)), i = Math.max(0, Math.round(Math.min(e.height - _, n * v)));
24
+ let n = document.documentElement.clientHeight, r = Math.max(0, Math.round(n - e.offsetTop - e.height)), i = Math.max(0, Math.round(Math.min(e.height - b, n * x)));
24
25
  t.style.setProperty("--hs-sheet-lift", `${r}px`), t.style.setProperty("--hs-sheet-max-h", `${i}px`);
25
26
  };
26
27
  return n(), e.addEventListener("resize", n), e.addEventListener("scroll", n), () => {
27
28
  e.removeEventListener("resize", n), e.removeEventListener("scroll", n), t.style.removeProperty("--hs-sheet-lift"), t.style.removeProperty("--hs-sheet-max-h");
28
29
  };
29
- }, [E]), d(() => {
30
+ }, [E]), p(() => {
30
31
  if (!E) return;
31
32
  let e = (e) => {
32
33
  let t = T.current;
33
34
  if (e.key !== "Tab" || !t) return;
34
- let n = Array.from(t.querySelectorAll(y)).filter((e) => e.offsetParent !== null || e === document.activeElement);
35
+ let n = Array.from(t.querySelectorAll(S)).filter((e) => e.offsetParent !== null || e === document.activeElement);
35
36
  if (!n.length) return;
36
37
  let r = n[0], i = n[n.length - 1], a = document.activeElement;
37
38
  a === t ? e.shiftKey && (e.preventDefault(), i.focus()) : t.contains(a) ? a === (e.shiftKey ? r : i) && (e.preventDefault(), (e.shiftKey ? i : r).focus()) : (e.preventDefault(), r.focus());
38
39
  };
39
40
  return document.addEventListener("keydown", e), () => document.removeEventListener("keydown", e);
40
41
  }, [E]);
41
- let D = f(!1), O = f(0), k = f(0), A = u((e) => {
42
+ let D = h(!1), O = h(0), k = h(0), A = f((e) => {
42
43
  D.current = !1;
43
44
  let t = T.current;
44
- t?.classList.remove(c.sheetDragging), t?.style.removeProperty("--hs-sheet-dy"), e && C();
45
+ t?.classList.remove(l.sheetDragging), t?.style.removeProperty("--hs-sheet-dy"), e && C();
45
46
  }, [C]), j = (e) => {
46
- E && (e.currentTarget.setPointerCapture(e.pointerId), D.current = !0, O.current = e.clientY, k.current = 0, T.current?.classList.add(c.sheetDragging));
47
+ E && (e.currentTarget.setPointerCapture(e.pointerId), D.current = !0, O.current = e.clientY, k.current = 0, T.current?.classList.add(l.sheetDragging));
47
48
  }, M = (e) => {
48
49
  D.current && (k.current = Math.max(0, e.clientY - O.current), T.current?.style.setProperty("--hs-sheet-dy", `${k.current}px`));
49
50
  }, N = (e) => {
50
- D.current && (e.currentTarget.hasPointerCapture(e.pointerId) && e.currentTarget.releasePointerCapture(e.pointerId), A(k.current > g));
51
+ D.current && (e.currentTarget.hasPointerCapture(e.pointerId) && e.currentTarget.releasePointerCapture(e.pointerId), A(k.current > y));
51
52
  };
52
- return d(() => {
53
- !S && D.current && A(!1);
54
- }, [S, A]), /* @__PURE__ */ h("aside", {
53
+ return p(() => {
54
+ !g && D.current && A(!1);
55
+ }, [g, A]), /* @__PURE__ */ v("aside", {
55
56
  ref: T,
56
57
  id: "hs-sidebar-drawer",
57
- className: e(c.sidebar, S && c.sidebarOpen, p),
58
- "aria-label": a,
58
+ className: e(l.sidebar, g && l.sidebarOpen, s),
59
+ "aria-label": n,
59
60
  role: E ? "dialog" : void 0,
60
61
  "aria-modal": E ? !0 : void 0,
61
62
  tabIndex: -1,
62
- inert: x && !S ? !0 : void 0,
63
+ inert: m && !g ? !0 : void 0,
63
64
  children: [
64
- /* @__PURE__ */ m("div", {
65
- className: c.grabber,
65
+ /* @__PURE__ */ _("div", {
66
+ className: l.grabber,
66
67
  "aria-hidden": "true",
67
68
  onPointerDown: j,
68
69
  onPointerMove: M,
69
70
  onPointerUp: N,
70
71
  onPointerCancel: N,
71
- children: /* @__PURE__ */ m("span", { className: c.grabberPill })
72
+ children: /* @__PURE__ */ _("span", { className: l.grabberPill })
72
73
  }),
73
- x ? /* @__PURE__ */ m("span", {
74
- className: c.close,
75
- children: /* @__PURE__ */ m(r, {
74
+ m ? /* @__PURE__ */ _("span", {
75
+ className: l.close,
76
+ children: /* @__PURE__ */ _(i, {
76
77
  variant: "plain",
77
78
  size: 300,
78
79
  "aria-label": o,
79
80
  onClick: C,
80
- children: /* @__PURE__ */ m(i, {
81
- name: n,
81
+ children: /* @__PURE__ */ _(a, {
82
+ name: r,
82
83
  size: 16
83
84
  })
84
85
  })
85
86
  }) : null,
86
87
  t,
87
- b ? /* @__PURE__ */ m(l, {}) : null
88
+ d ? /* @__PURE__ */ _(u, {}) : null
88
89
  ]
89
90
  });
90
91
  }
91
- function x({ children: t, className: n }) {
92
- return /* @__PURE__ */ m("div", {
93
- className: e(c.header, n),
92
+ function w({ children: t, className: n }) {
93
+ return /* @__PURE__ */ _("div", {
94
+ className: e(l.header, n),
94
95
  children: t
95
96
  });
96
97
  }
97
- function S({ children: t, className: n }) {
98
- return /* @__PURE__ */ m("div", {
99
- className: e(c.body, n),
98
+ function T({ children: t, className: n }) {
99
+ return /* @__PURE__ */ _("div", {
100
+ className: e(l.body, n),
100
101
  children: t
101
102
  });
102
103
  }
103
- function C({ children: n, label: s, collapsible: l = !1, minimizeLabel: d = "Minimize", action: g, className: _ }) {
104
- let [v, y] = p(0), b = f(/* @__PURE__ */ new Set()), [x, S] = p(0), C = u((e, t) => {
105
- let n = b.current;
106
- t ? n.add(e) : n.delete(e), S(n.size);
107
- }, []), w = l && g == null && x > 0, T = s != null || g != null || w;
108
- return /* @__PURE__ */ m(o.Provider, {
104
+ function E({ children: r, label: c, collapsible: u = !1, minimizeLabel: p = "Minimize", action: y, expandable: b = !1, defaultOpen: x = !0, open: S, onOpenChange: C, className: w }) {
105
+ let [T, E] = g(x), D = S !== void 0, O = !b || (D ? S : T), k = m(), { expanding: A, ref: j } = d(O), M = () => {
106
+ let e = !O;
107
+ D || E(e), C?.(e);
108
+ }, [N, P] = g(0), F = h(/* @__PURE__ */ new Set()), [I, L] = g(0), R = f((e, t) => {
109
+ let n = F.current;
110
+ t ? n.add(e) : n.delete(e), L(n.size);
111
+ }, []), z = u && y == null && I > 0, B = c != null || y != null || z, V = c == null ? null : /* @__PURE__ */ _(o, {
112
+ as: "h3",
113
+ size: 75,
114
+ weight: "semi",
115
+ color: "secondary",
116
+ className: l.sectionLabel,
117
+ children: b ? /* @__PURE__ */ v("button", {
118
+ type: "button",
119
+ className: l.sectionToggle,
120
+ "aria-expanded": O,
121
+ "aria-controls": k,
122
+ onClick: M,
123
+ children: [/* @__PURE__ */ _("span", {
124
+ className: l.sectionToggleText,
125
+ children: c
126
+ }), /* @__PURE__ */ _(a, {
127
+ name: n,
128
+ size: 12,
129
+ className: l.sectionChevron,
130
+ "aria-hidden": "true"
131
+ })]
132
+ }) : c
133
+ });
134
+ return /* @__PURE__ */ _(s.Provider, {
109
135
  value: {
110
- collapseNonce: v,
111
- reportOpen: C
136
+ collapseNonce: N,
137
+ reportOpen: R
112
138
  },
113
- children: /* @__PURE__ */ h("section", {
114
- className: e(c.section, T && c.hasStickyHead, _),
115
- children: [T ? /* @__PURE__ */ h("div", {
116
- className: c.sectionHead,
117
- children: [s == null ? null : /* @__PURE__ */ m(a, {
118
- as: "h3",
119
- size: 75,
120
- weight: "semi",
121
- color: "secondary",
122
- className: c.sectionLabel,
123
- children: s
124
- }), g ?? (w ? /* @__PURE__ */ m(r, {
139
+ children: /* @__PURE__ */ v("section", {
140
+ className: e(l.section, B && l.hasStickyHead, b && l.sectionExpandable, b && O && l.sectionOpen, b && A && l.sectionExpanding, w),
141
+ children: [B ? /* @__PURE__ */ v("div", {
142
+ className: l.sectionHead,
143
+ children: [V, y ?? (z ? /* @__PURE__ */ _(i, {
125
144
  variant: "plain",
126
145
  size: 100,
127
- className: c.minimizeBtn,
128
- iconLeft: /* @__PURE__ */ m(i, {
146
+ className: l.minimizeBtn,
147
+ iconLeft: /* @__PURE__ */ _(a, {
129
148
  name: t,
130
149
  size: 12
131
150
  }),
132
- onClick: () => y((e) => e + 1),
133
- children: d
151
+ onClick: () => P((e) => e + 1),
152
+ children: p
134
153
  }) : null)]
135
- }) : null, n]
154
+ }) : null, b ? /* @__PURE__ */ _("div", {
155
+ ref: j,
156
+ id: k,
157
+ className: l.sectionBody,
158
+ inert: O ? void 0 : !0,
159
+ children: /* @__PURE__ */ _("div", {
160
+ className: l.sectionBodyInner,
161
+ children: r
162
+ })
163
+ }) : r]
136
164
  })
137
165
  });
138
166
  }
139
167
  //#endregion
140
- export { b as Sidebar, S as SidebarBody, x as SidebarHeader, C as SidebarSection };
168
+ export { C as Sidebar, T as SidebarBody, w as SidebarHeader, E as SidebarSection };
@@ -1,10 +1,10 @@
1
1
  "use client";
2
2
  import { a as e } from "../../utils-K9S_6_Eq.js";
3
3
  import { t } from "../../clsx-BWCAbrjV.js";
4
- import { Y as n } from "../../esm-LCYnNVvi.js";
4
+ import { Y as n } from "../../esm-CUgR2iUX.js";
5
5
  import { t as r } from "../../Typography-AvvBRu-u.js";
6
6
  import { SidebarLayoutContext as i } from "./context.js";
7
- import { t as a } from "../../styles.module-DGKft2EO.js";
7
+ import { t as a } from "../../styles.module-B9V15An9.js";
8
8
  import { useCallback as o, useEffect as s, useRef as c, useState as l } from "react";
9
9
  import { jsx as u, jsxs as d } from "react/jsx-runtime";
10
10
  //#region lib/components/Sidebar/SidebarLayout.tsx
@@ -1,6 +1,6 @@
1
1
  "use client";
2
2
  import { useSidebarLayout as e } from "./context.js";
3
- import { t } from "../../styles.module-DGKft2EO.js";
3
+ import { t } from "../../styles.module-B9V15An9.js";
4
4
  import { useCallback as n, useEffect as r, useRef as i, useState as a } from "react";
5
5
  import { Fragment as o, jsx as s, jsxs as c } from "react/jsx-runtime";
6
6
  //#region lib/components/Sidebar/SidebarResizer.tsx
@@ -0,0 +1,48 @@
1
+ "use client";
2
+ import { t as e } from "../../clsx-BWCAbrjV.js";
3
+ import { X as t } from "../../esm-CUgR2iUX.js";
4
+ import { t as n } from "../../Icon-DJTgdvsG.js";
5
+ import { t as r } from "../../styles.module-B9V15An9.js";
6
+ import { forwardRef as i } from "react";
7
+ import { Fragment as a, jsx as o, jsxs as s } from "react/jsx-runtime";
8
+ //#region lib/components/Sidebar/SidebarSwitcher.tsx
9
+ var c = i(function({ icon: i, label: c, description: l, chevron: u = !0, interactive: d = !0, className: f, ...p }, m) {
10
+ let h = /* @__PURE__ */ s(a, { children: [
11
+ /* @__PURE__ */ o("span", {
12
+ className: r.switcherTile,
13
+ "aria-hidden": "true",
14
+ children: i
15
+ }),
16
+ /* @__PURE__ */ s("span", {
17
+ className: r.switcherText,
18
+ children: [/* @__PURE__ */ o("span", {
19
+ className: r.switcherLabel,
20
+ children: c
21
+ }), l == null ? null : /* @__PURE__ */ o("span", {
22
+ className: r.switcherDescription,
23
+ children: l
24
+ })]
25
+ }),
26
+ d && u ? /* @__PURE__ */ o("span", {
27
+ className: r.switcherChevron,
28
+ "aria-hidden": "true",
29
+ children: /* @__PURE__ */ o(n, {
30
+ name: t,
31
+ size: 16
32
+ })
33
+ }) : null
34
+ ] }), g = e(r.switcher, !d && r.switcherStatic, f);
35
+ return d ? /* @__PURE__ */ o("button", {
36
+ ref: m,
37
+ type: "button",
38
+ className: g,
39
+ ...p,
40
+ children: h
41
+ }) : /* @__PURE__ */ o("div", {
42
+ className: g,
43
+ ...p,
44
+ children: h
45
+ });
46
+ });
47
+ //#endregion
48
+ export { c as SidebarSwitcher };
@@ -2,7 +2,8 @@ import { useOptionalSidebarLayout as e, useSidebarLayout as t } from "./context.
2
2
  import { SidebarLayout as n, SidebarMain as r } from "./SidebarLayout.js";
3
3
  import { SidebarResizer as i } from "./SidebarResizer.js";
4
4
  import { Sidebar as a, SidebarBody as o, SidebarHeader as s, SidebarSection as c } from "./Sidebar.js";
5
- import { NavItem as l } from "./NavItem.js";
6
- import { NavGroup as u } from "./NavGroup.js";
7
- import { NavDisclosure as d } from "./NavDisclosure.js";
8
- export { d as NavDisclosure, u as NavGroup, l as NavItem, a as Sidebar, o as SidebarBody, s as SidebarHeader, n as SidebarLayout, r as SidebarMain, i as SidebarResizer, c as SidebarSection, e as useOptionalSidebarLayout, t as useSidebarLayout };
5
+ import { SidebarSwitcher as l } from "./SidebarSwitcher.js";
6
+ import { NavItem as u } from "./NavItem.js";
7
+ import { NavGroup as d } from "./NavGroup.js";
8
+ import { NavDisclosure as f } from "./NavDisclosure.js";
9
+ export { f as NavDisclosure, d as NavGroup, u as NavItem, a as Sidebar, o as SidebarBody, s as SidebarHeader, n as SidebarLayout, r as SidebarMain, i as SidebarResizer, c as SidebarSection, l as SidebarSwitcher, e as useOptionalSidebarLayout, t as useSidebarLayout };
@@ -0,0 +1,27 @@
1
+ "use client";
2
+ import { useEffect as e, useRef as t, useState as n } from "react";
3
+ //#region lib/components/Sidebar/useSlideClip.ts
4
+ var r = "grid-template-rows";
5
+ function i(i) {
6
+ let [a, o] = n(!1), s = t(null), c = t(i);
7
+ return c.current !== i && (c.current = i, o(i)), e(() => {
8
+ if (!a) return;
9
+ let e = s.current;
10
+ if (!e) return;
11
+ if (!parseFloat(getComputedStyle(e).transitionDuration)) {
12
+ o(!1);
13
+ return;
14
+ }
15
+ let t = (t) => {
16
+ t.target === e && t.propertyName === r && o(!1);
17
+ };
18
+ return e.addEventListener("transitionend", t), e.addEventListener("transitioncancel", t), () => {
19
+ e.removeEventListener("transitionend", t), e.removeEventListener("transitioncancel", t);
20
+ };
21
+ }, [a]), {
22
+ expanding: a,
23
+ ref: s
24
+ };
25
+ }
26
+ //#endregion
27
+ export { i as useSlideClip };
@@ -1,2 +1,2 @@
1
- import { t as e } from "../../VideoCover-BXIkxFuT.js";
1
+ import { t as e } from "../../VideoCover-C18NhQcY.js";
2
2
  export { e as VideoCover };
@@ -1,2 +1,2 @@
1
- import { t as e } from "../../VideoPlayerModal-fnAUwVMI.js";
1
+ import { t as e } from "../../VideoPlayerModal-IRwjMLoy.js";
2
2
  export { e as VideoPlayerModal };
@@ -1,2 +1,2 @@
1
- import { t as e } from "../../VideoPlayer-BB8jVMa5.js";
1
+ import { t as e } from "../../VideoPlayer-UM4M4C5b.js";
2
2
  export { e as VideoPlayer };
@@ -1,5 +1,5 @@
1
1
  import { r as e } from "./chunk-jwUa06l-.js";
2
- import { lt as t } from "./esm-LCYnNVvi.js";
2
+ import { ut as t } from "./esm-CUgR2iUX.js";
3
3
  import n from "react";
4
4
  //#region node_modules/@babel/runtime/helpers/esm/typeof.js
5
5
  function r(e) {