highsoft-ui 1.0.159 → 1.0.161
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/CLAUDE.md +19 -4
- package/dist/{CodeBlock-Ds79AzEX.js → CodeBlock-BkSyiiCb.js} +1 -1
- package/dist/{Dropdown-D3AnhPYO.js → Dropdown-8bjCO1Lx.js} +1 -1
- package/dist/{Footer-DDj7XStD.js → Footer-DVZIe2ax.js} +4 -4
- package/dist/{FooterHelp-CnoweyYC.js → FooterHelp-Dlnj0dUF.js} +1 -1
- package/dist/{FooterLinks-BCr9brR3.js → FooterLinks-BAdqoexV.js} +1 -1
- package/dist/{FrameworkIcon-D7N3PjYr.js → FrameworkIcon-B8GmMx0r.js} +13 -8
- package/dist/{Header-Dsji2l2m.js → Header-CkWQ4zk-.js} +1 -1
- package/dist/{Icon-VeXJMj8Q.js → Icon-DJTgdvsG.js} +9 -4
- package/dist/{NewsletterSignup-Bk0SU1NB.js → NewsletterSignup-BP3AxNHH.js} +1 -1
- package/dist/{Notification-D0ow_x0-.js → Notification-D4-209sL.js} +31 -29
- package/dist/{ProductIcon-CKtF7AWy.js → ProductIcon-C5yvnjHr.js} +13 -8
- package/dist/{SearchDropdown-BetSrTgQ.js → SearchDropdown-fcfDUjOp.js} +1 -1
- package/dist/{VideoCover-B59ykzJi.js → VideoCover-BXIkxFuT.js} +1 -1
- package/dist/{VideoPlayer-ChyiZ0sK.js → VideoPlayer-BB8jVMa5.js} +1 -1
- package/dist/{VideoPlayerModal-D6ze_Evt.js → VideoPlayerModal-fnAUwVMI.js} +1 -1
- package/dist/{YoutubeModal-CXwczXZa.js → YoutubeModal-C3rfaDki.js} +2 -2
- package/dist/components/CodeBlock/index.js +1 -1
- package/dist/components/Dropdown/index.js +1 -1
- package/dist/components/Footer/FooterHelp.js +1 -1
- package/dist/components/Footer/FooterLinks.js +1 -1
- package/dist/components/Footer/YoutubeModal.js +1 -1
- package/dist/components/Footer/index.js +1 -1
- package/dist/components/FrameworkIcon/index.js +1 -1
- package/dist/components/Header/index.js +1 -1
- package/dist/components/Icon/index.js +1 -1
- package/dist/components/NewsletterSignup/index.js +1 -1
- package/dist/components/Notification/index.js +1 -1
- package/dist/components/ProductIcon/index.js +1 -1
- package/dist/components/SearchDropdown/index.js +1 -1
- package/dist/components/Sidebar/NavDisclosure.js +1 -1
- package/dist/components/Sidebar/NavGroup.js +1 -1
- package/dist/components/Sidebar/Sidebar.js +1 -1
- package/dist/components/VideoCover/index.js +1 -1
- package/dist/components/VideoPlayer/VideoPlayerModal.js +1 -1
- package/dist/components/VideoPlayer/index.js +1 -1
- package/dist/highsoft-ui.css +1 -1
- package/dist/lib/components/FrameworkIcon/index.d.ts +1 -1
- package/dist/lib/components/Icon/index.d.ts +1 -1
- package/dist/lib/components/ProductIcon/index.d.ts +1 -1
- package/dist/main.js +13 -13
- package/package.json +1 -1
package/CLAUDE.md
CHANGED
|
@@ -258,6 +258,7 @@ import { ChevronRight } from '@untitled-ui/icons-react'
|
|
|
258
258
|
```
|
|
259
259
|
- **`name`:** the icon component from `@untitled-ui/icons-react`
|
|
260
260
|
- **`size`:** `12` | `16` | `20` | `24` (default) | `32` | `40` | `52` | `64` | `72` — each maps to a stroke width (16 → 1.33, 20 → 1.67, 24 → 2), which is what keeps icons visually consistent at different sizes
|
|
261
|
+
- The size is applied as an **inline style on the `<svg>`**, not just attributes — so ancestor rules like Button/Label's `svg { width: … }` (or app-global svg CSS) can't shrink the icon out from under its wrapper.
|
|
261
262
|
- Icons passed to `Button`/`Label` via `iconLeft`/`iconRight` don't need this — those components size raw SVG children themselves.
|
|
262
263
|
|
|
263
264
|
### FrameworkIcon
|
|
@@ -269,7 +270,7 @@ Language, framework and platform brand icons in two themes.
|
|
|
269
270
|
```
|
|
270
271
|
- **`icon`:** `javascript`, `typescript`, `react`, `vue`, `angular`, `python`, `swift`, `android`, `html`, `css`, `dotnet`, `figma`, `flutter`
|
|
271
272
|
- **`theme`:** `multi` (default, full brand color) | `monochrome` (single tone via `currentColor`)
|
|
272
|
-
- **`size`:** `12` | `16` | `20` | `24` (default) | `32` | `40` | `52` | `64` | `72`
|
|
273
|
+
- **`size`:** `12` | `16` | `20` | `24` (default) | `32` | `40` | `52` | `64` | `72` — applied as an inline style on the `<svg>` as well as the wrapper, so ancestor `svg { width: … }` rules (Button, Label, app CSS) can't override it
|
|
273
274
|
- **`box`:** wraps the icon in a shell + inner tile with a hover lift; the shell background reads `--hsui-icon-box-bg` so a parent (e.g. a selected `RadioBox`) can retint it without a prop
|
|
274
275
|
|
|
275
276
|
**Monochrome icons must be a single `currentColor` path with the glyph knocked out** — never a colored silhouette with a second `fill="white"` letterform on top. A hardcoded white letterform only survives on a white surface: it disappears on `--HS-surface-ui-background-50/100` and inverts wrongly in dark mode. Cutting the glyph out (reversed subpaths, or `fillRule="evenodd"`) lets whatever surface is behind the icon show through, so one path is correct on every background and in both themes.
|
|
@@ -293,7 +294,7 @@ Highcharts product and feature icons in four themes.
|
|
|
293
294
|
```
|
|
294
295
|
- **`icon`:** products `core`, `stock`, `maps`, `gantt`, `dashboards`, `grid`, `orbit`; plus feature/resource names like `demos`, `docs`, `API`, `changelog`, `roadmap`, `gpt`, `editor`, `export server`, `python`, `lab`, `support`, `custom projects`, `case studies`, `chart chooser`, `hca`, `a11y`, `edu license`, `license`, `ADV+`
|
|
295
296
|
- **`theme`:** `multi` (default, full color) | `monochrome` (brand duotone) | `grayscale` (neutral tones) | `line` (single-line art)
|
|
296
|
-
- **`size`:** `12` | `16` | `20` | `24` (default) | `32` | `40` | `52` | `64` | `72`
|
|
297
|
+
- **`size`:** `12` | `16` | `20` | `24` (default) | `32` | `40` | `52` | `64` | `72` — applied as an inline style on the `<svg>` as well as the wrapper, so ancestor `svg { width: … }` rules (Button, Label, app CSS) can't override it
|
|
297
298
|
- **`box`:** wraps the icon in a shell + inner tile with a hover lift; the shell background reads `--hsui-icon-box-bg` so a parent can retint it without a prop
|
|
298
299
|
|
|
299
300
|
**Every fill must be an `--icon-*` CSS variable, never a hex color** — `--icon-multicolor-*` (multi), `--icon-duotone-*` (monochrome), `--icon-monotone-mono-key-*` (grayscale), `--icon-single-line-color` (line), defined in `lib/scss/variables.scss` with a dark-mode remap. A hardcoded hex renders identically in both modes and breaks dark mode. Figma sometimes exports flattened hexes — swap them for the matching variable in the source SVG before generating.
|
|
@@ -488,10 +489,24 @@ Browser-window chrome around embedded content — a real `<iframe>` via `src`, o
|
|
|
488
489
|
```
|
|
489
490
|
|
|
490
491
|
### Notification
|
|
492
|
+
Full-width banner at the top of the page (the Header renders these). Supports a single item or a rotating carousel, an optional link, and dismissal.
|
|
491
493
|
```tsx
|
|
492
|
-
<Notification
|
|
493
|
-
|
|
494
|
+
<Notification
|
|
495
|
+
content={{ title: 'Highcharts v12 is here!', description: 'See what changed.', url: '/blog/v12', tag: 'new' }}
|
|
496
|
+
variant="brand"
|
|
497
|
+
closable
|
|
498
|
+
onClose={() => dismiss(id)}
|
|
499
|
+
/>
|
|
494
500
|
```
|
|
501
|
+
- **`content`:** one `NotificationItem` or an array (rotates every 15s, pauses on hover/focus) — `{ title?, description?, url?, tag? }`
|
|
502
|
+
- **`variant`:** `brand` (default) | `success` | `danger` | `attention`
|
|
503
|
+
- **`closable`** (default `true`) + **`onClose`**: shows the close button
|
|
504
|
+
|
|
505
|
+
**Accessibility:**
|
|
506
|
+
- The wrapper is a `<div>`, never a link: when an item has a `url`, the link is an **inner stretched link** (an inset-0 `::after` spans the banner) and the close button is its **sibling** stacked above it — a `<button>` may not nest inside an `<a>` (invalid HTML; Next.js flags it, and nested interactive controls confuse AT). The whole banner stays clickable and the close button still works.
|
|
507
|
+
- The link takes its accessible name from the visible banner text; the close button is a real `Button` with `aria-label="Close notification"`.
|
|
508
|
+
- `:focus-visible` on the link draws the ring via the stretched `::after`, so it wraps the full banner like the old wrapper-level outline did. Hover highlight applies only while the *link* is hovered (via `:has`) — hovering the close button no longer suggests the banner will navigate.
|
|
509
|
+
- Inactive carousel slides are `aria-hidden` with `pointer-events: none`; rotation pauses on hover and while focus is inside the banner.
|
|
495
510
|
|
|
496
511
|
### VideoPlayer
|
|
497
512
|
Sutro-inspired media player with a brand-accent scrubber, floating volume, auto-hiding chrome, and fullscreen. One custom control bar drives **self-hosted files, YouTube and Vimeo** — provider SDKs load lazily and their branded start screens are masked with an unbranded thumbnail until first play.
|
|
@@ -2,7 +2,7 @@ import { r as e, s as t } from "./utils-K9S_6_Eq.js";
|
|
|
2
2
|
import { t as n } from "./clsx-BWCAbrjV.js";
|
|
3
3
|
import { $ as r, q as i } from "./esm-LCYnNVvi.js";
|
|
4
4
|
import { t as a } from "./Button-CjxX21gW.js";
|
|
5
|
-
import { t as o } from "./FrameworkIcon-
|
|
5
|
+
import { t as o } from "./FrameworkIcon-B8GmMx0r.js";
|
|
6
6
|
import { Fragment as s, forwardRef as c, useCallback as l, useEffect as u, useMemo as d, useState as f } from "react";
|
|
7
7
|
import { jsx as p, jsxs as m } from "react/jsx-runtime";
|
|
8
8
|
var h = {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { t as e } from "./clsx-BWCAbrjV.js";
|
|
2
2
|
import { $ as t } from "./esm-LCYnNVvi.js";
|
|
3
|
-
import { t as n } from "./Icon-
|
|
3
|
+
import { t as n } from "./Icon-DJTgdvsG.js";
|
|
4
4
|
import { _ as r, a as i, c as a, d as o, g as s, h as c, i as l, l as u, m as d, n as f, o as p, p as m, r as h, t as g, u as _, v, y } from "./es2015-DWa0ZZ7A.js";
|
|
5
5
|
import { a as ee, i as b, n as te, r as x, t as S } from "./dist-CE9LFbij.js";
|
|
6
6
|
import { a as C, i as w, n as T, r as ne, t as re } from "./dist-B04QoImH.js";
|
|
@@ -4,11 +4,11 @@ import { t as r } from "./Button-CjxX21gW.js";
|
|
|
4
4
|
import { t as i } from "./Container-BDssaLig.js";
|
|
5
5
|
import { t as a } from "./DiscordInvite-CLYxexdH.js";
|
|
6
6
|
import { t as o } from "./Logo-Bz0G2G-k.js";
|
|
7
|
-
import { t as s } from "./NewsletterSignup-
|
|
7
|
+
import { t as s } from "./NewsletterSignup-BP3AxNHH.js";
|
|
8
8
|
import { t as c } from "./FooterBottom-BV9xJbRt.js";
|
|
9
|
-
import { t as l } from "./FooterHelp-
|
|
10
|
-
import { t as u } from "./FooterLinks-
|
|
11
|
-
import { t as d } from "./YoutubeModal-
|
|
9
|
+
import { t as l } from "./FooterHelp-Dlnj0dUF.js";
|
|
10
|
+
import { t as u } from "./FooterLinks-BAdqoexV.js";
|
|
11
|
+
import { t as d } from "./YoutubeModal-C3rfaDki.js";
|
|
12
12
|
import { jsx as f, jsxs as p } from "react/jsx-runtime";
|
|
13
13
|
var m = {
|
|
14
14
|
discordCard: "_4W4F3q_discordCard",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { a as e, t } from "./utils-K9S_6_Eq.js";
|
|
2
2
|
import { d as n, g as r } from "./esm-LCYnNVvi.js";
|
|
3
|
-
import { t as i } from "./Icon-
|
|
3
|
+
import { t as i } from "./Icon-DJTgdvsG.js";
|
|
4
4
|
import { o as a, r as o } from "./fa-B95RwBpz.js";
|
|
5
5
|
import { t as s } from "./Typography-AvvBRu-u.js";
|
|
6
6
|
import { jsx as c, jsxs as l } from "react/jsx-runtime";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { t as e } from "./clsx-BWCAbrjV.js";
|
|
2
2
|
import { I as t } from "./esm-LCYnNVvi.js";
|
|
3
|
-
import { t as n } from "./Icon-
|
|
3
|
+
import { t as n } from "./Icon-DJTgdvsG.js";
|
|
4
4
|
import { t as r } from "./Typography-AvvBRu-u.js";
|
|
5
5
|
import { t as i } from "./Label-DgPVoDMR.js";
|
|
6
6
|
import a from "./components/icons/MadeInNorway.js";
|
|
@@ -25,28 +25,33 @@ var i = {
|
|
|
25
25
|
multi: t,
|
|
26
26
|
monochrome: n
|
|
27
27
|
};
|
|
28
|
-
function s({ icon: t, theme: n = "multi", size: s = 24, box: c = !1, className: l,
|
|
29
|
-
let
|
|
30
|
-
if (!
|
|
31
|
-
let
|
|
28
|
+
function s({ icon: t, theme: n = "multi", size: s = 24, box: c = !1, className: l, style: u, ...d }) {
|
|
29
|
+
let f = a[t], p = o[n][f];
|
|
30
|
+
if (!p) return console.warn(`FrameworkIcon: No icon found for "${t}" with theme "${n}"`), null;
|
|
31
|
+
let m = /* @__PURE__ */ r("span", {
|
|
32
32
|
className: e("hsui-framework-icon", i.icon, l),
|
|
33
33
|
style: {
|
|
34
34
|
width: s,
|
|
35
35
|
height: s
|
|
36
36
|
},
|
|
37
|
-
children: /* @__PURE__ */ r(
|
|
37
|
+
children: /* @__PURE__ */ r(p, {
|
|
38
38
|
width: s,
|
|
39
39
|
height: s,
|
|
40
|
-
|
|
40
|
+
style: {
|
|
41
|
+
width: s,
|
|
42
|
+
height: s,
|
|
43
|
+
...u
|
|
44
|
+
},
|
|
45
|
+
...d
|
|
41
46
|
})
|
|
42
47
|
});
|
|
43
48
|
return c ? /* @__PURE__ */ r("span", {
|
|
44
49
|
className: i.boxOuter,
|
|
45
50
|
children: /* @__PURE__ */ r("span", {
|
|
46
51
|
className: i.boxInner,
|
|
47
|
-
children:
|
|
52
|
+
children: m
|
|
48
53
|
})
|
|
49
|
-
}) :
|
|
54
|
+
}) : m;
|
|
50
55
|
}
|
|
51
56
|
//#endregion
|
|
52
57
|
export { s as t };
|
|
@@ -7,7 +7,7 @@ import { t as y } from "./Logo-Bz0G2G-k.js";
|
|
|
7
7
|
import { t as b } from "./PrefPanel-B4MyeLGu.js";
|
|
8
8
|
import { t as x } from "./Search-T4R860vH.js";
|
|
9
9
|
import { t as S } from "./Label-DgPVoDMR.js";
|
|
10
|
-
import { t as C } from "./Notification-
|
|
10
|
+
import { t as C } from "./Notification-D4-209sL.js";
|
|
11
11
|
import { useEffect as w, useRef as T, useState as E } from "react";
|
|
12
12
|
import { Fragment as D, jsx as O, jsxs as k } from "react/jsx-runtime";
|
|
13
13
|
var A = {
|
|
@@ -11,8 +11,8 @@ var n = { icon: "_2G93rW_icon" }, r = {
|
|
|
11
11
|
64: 5.33,
|
|
12
12
|
72: 6
|
|
13
13
|
};
|
|
14
|
-
function i({ name: i, size: a = 24, className: o, strokeWidth: s,
|
|
15
|
-
let
|
|
14
|
+
function i({ name: i, size: a = 24, className: o, strokeWidth: s, style: c, ...l }) {
|
|
15
|
+
let u = s ?? r[a];
|
|
16
16
|
return /* @__PURE__ */ t("span", {
|
|
17
17
|
className: e("hsui-icon", n.icon, o),
|
|
18
18
|
style: {
|
|
@@ -22,8 +22,13 @@ function i({ name: i, size: a = 24, className: o, strokeWidth: s, ...c }) {
|
|
|
22
22
|
children: /* @__PURE__ */ t(i, {
|
|
23
23
|
width: a,
|
|
24
24
|
height: a,
|
|
25
|
-
strokeWidth:
|
|
26
|
-
|
|
25
|
+
strokeWidth: u,
|
|
26
|
+
style: {
|
|
27
|
+
width: a,
|
|
28
|
+
height: a,
|
|
29
|
+
...c
|
|
30
|
+
},
|
|
31
|
+
...l
|
|
27
32
|
})
|
|
28
33
|
});
|
|
29
34
|
}
|
|
@@ -2,7 +2,7 @@ import { l as e } from "./utils-K9S_6_Eq.js";
|
|
|
2
2
|
import { t } from "./clsx-BWCAbrjV.js";
|
|
3
3
|
import { B as n, Q as r, at as i } from "./esm-LCYnNVvi.js";
|
|
4
4
|
import { t as a } from "./Button-CjxX21gW.js";
|
|
5
|
-
import { t as o } from "./Icon-
|
|
5
|
+
import { t as o } from "./Icon-DJTgdvsG.js";
|
|
6
6
|
import { t as s } from "./Link-CYR92_U0.js";
|
|
7
7
|
import { t as c } from "./InputSolo-DUdKtZjX.js";
|
|
8
8
|
import { t as l } from "./Typography-AvvBRu-u.js";
|
|
@@ -15,6 +15,7 @@ var u = {
|
|
|
15
15
|
content: "MhRkRW_content",
|
|
16
16
|
danger: "MhRkRW_danger",
|
|
17
17
|
description: "MhRkRW_description",
|
|
18
|
+
link: "MhRkRW_link",
|
|
18
19
|
notification: "MhRkRW_notification",
|
|
19
20
|
slide: "MhRkRW_slide",
|
|
20
21
|
success: "MhRkRW_success",
|
|
@@ -24,7 +25,7 @@ var u = {
|
|
|
24
25
|
//#endregion
|
|
25
26
|
//#region lib/components/Notification/index.tsx
|
|
26
27
|
function d({ id: d, content: f, variant: p = "brand", closable: m = !0, onClose: h }) {
|
|
27
|
-
let g = Array.isArray(f) ? f : [f], [_, v] = o(() => g.length > 1 ? Math.floor(Math.random() * g.length) : 0), [y, b] = o(!1), [x, S] = o(!1), C = y || x, w = g[_]?.url
|
|
28
|
+
let g = Array.isArray(f) ? f : [f], [_, v] = o(() => g.length > 1 ? Math.floor(Math.random() * g.length) : 0), [y, b] = o(!1), [x, S] = o(!1), C = y || x, w = g[_]?.url;
|
|
28
29
|
a(() => {
|
|
29
30
|
if (g.length <= 1 || C) return;
|
|
30
31
|
let e = window.setInterval(() => {
|
|
@@ -32,9 +33,9 @@ function d({ id: d, content: f, variant: p = "brand", closable: m = !0, onClose:
|
|
|
32
33
|
}, 15e3);
|
|
33
34
|
return () => window.clearInterval(e);
|
|
34
35
|
}, [g.length, C]);
|
|
35
|
-
let
|
|
36
|
+
let T = () => b(!0), E = (e) => {
|
|
36
37
|
e.currentTarget.contains(e.relatedTarget) || b(!1);
|
|
37
|
-
},
|
|
38
|
+
}, D = () => S(!0), O = () => S(!1), k = (e, t = !0) => {
|
|
38
39
|
let n = /* @__PURE__ */ l(s, { children: [e.title && /* @__PURE__ */ l("span", {
|
|
39
40
|
className: u.title,
|
|
40
41
|
children: [e.tag === "new" && /* @__PURE__ */ c(i, {
|
|
@@ -54,43 +55,44 @@ function d({ id: d, content: f, variant: p = "brand", closable: m = !0, onClose:
|
|
|
54
55
|
children: n
|
|
55
56
|
});
|
|
56
57
|
};
|
|
57
|
-
|
|
58
|
+
if (!g.length) return null;
|
|
59
|
+
let A = g.length > 1 ? /* @__PURE__ */ c("div", {
|
|
60
|
+
className: u.carousel,
|
|
61
|
+
children: g.map((t, n) => {
|
|
62
|
+
let r = n === _;
|
|
63
|
+
return /* @__PURE__ */ c("div", {
|
|
64
|
+
className: e(u.slide, { [u.active]: r }),
|
|
65
|
+
"aria-hidden": !r,
|
|
66
|
+
children: k(t, r)
|
|
67
|
+
}, `${t.title ?? t.description ?? "item"}-${n}`);
|
|
68
|
+
})
|
|
69
|
+
}) : k(g[0]);
|
|
70
|
+
return /* @__PURE__ */ c("div", {
|
|
58
71
|
className: e(u.notification, u[p]),
|
|
59
72
|
"data-theme": "light",
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
"data-track-label": d || w
|
|
65
|
-
} : {},
|
|
66
|
-
onFocus: E,
|
|
67
|
-
onBlur: D,
|
|
68
|
-
onMouseEnter: O,
|
|
69
|
-
onMouseLeave: k,
|
|
73
|
+
onFocus: T,
|
|
74
|
+
onBlur: E,
|
|
75
|
+
onMouseEnter: D,
|
|
76
|
+
onMouseLeave: O,
|
|
70
77
|
children: /* @__PURE__ */ l(r, {
|
|
71
78
|
className: u.container,
|
|
72
|
-
children: [
|
|
73
|
-
className: u.
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
}, `${t.title ?? t.description ?? "item"}-${n}`);
|
|
81
|
-
})
|
|
82
|
-
}) : A(g[0]), m && /* @__PURE__ */ c(n, {
|
|
79
|
+
children: [w ? /* @__PURE__ */ c("a", {
|
|
80
|
+
className: u.link,
|
|
81
|
+
href: w,
|
|
82
|
+
"data-track": "header-banner",
|
|
83
|
+
"data-track-action": "click",
|
|
84
|
+
"data-track-label": d || w,
|
|
85
|
+
children: A
|
|
86
|
+
}) : A, m && /* @__PURE__ */ c(n, {
|
|
83
87
|
variant: p === "brand" ? "brand" : "transparent",
|
|
84
88
|
size: 100,
|
|
85
89
|
className: u.close,
|
|
86
90
|
"aria-label": "Close notification",
|
|
87
|
-
onClick: (
|
|
88
|
-
e.preventDefault(), e.stopPropagation(), h?.();
|
|
89
|
-
},
|
|
91
|
+
onClick: () => h?.(),
|
|
90
92
|
children: /* @__PURE__ */ c(t, {})
|
|
91
93
|
})]
|
|
92
94
|
})
|
|
93
|
-
})
|
|
95
|
+
});
|
|
94
96
|
}
|
|
95
97
|
//#endregion
|
|
96
98
|
export { d as t };
|
|
@@ -42,28 +42,33 @@ var o = {
|
|
|
42
42
|
grayscale: r,
|
|
43
43
|
line: i
|
|
44
44
|
};
|
|
45
|
-
function l({ icon: t, theme: n = "multi", size: r = 24, box: i = !1, className: l,
|
|
46
|
-
let
|
|
47
|
-
if (!
|
|
48
|
-
let
|
|
45
|
+
function l({ icon: t, theme: n = "multi", size: r = 24, box: i = !1, className: l, style: u, ...d }) {
|
|
46
|
+
let f = s[t], p = c[n][f];
|
|
47
|
+
if (!p) return console.warn(`ProductIcon: No icon found for "${t}" with theme "${n}"`), null;
|
|
48
|
+
let m = /* @__PURE__ */ a("span", {
|
|
49
49
|
className: e("hsui-product-icon", o.icon, l),
|
|
50
50
|
style: {
|
|
51
51
|
width: r,
|
|
52
52
|
height: r
|
|
53
53
|
},
|
|
54
|
-
children: /* @__PURE__ */ a(
|
|
54
|
+
children: /* @__PURE__ */ a(p, {
|
|
55
55
|
width: r,
|
|
56
56
|
height: r,
|
|
57
|
-
|
|
57
|
+
style: {
|
|
58
|
+
width: r,
|
|
59
|
+
height: r,
|
|
60
|
+
...u
|
|
61
|
+
},
|
|
62
|
+
...d
|
|
58
63
|
})
|
|
59
64
|
});
|
|
60
65
|
return i ? /* @__PURE__ */ a("span", {
|
|
61
66
|
className: o.boxOuter,
|
|
62
67
|
children: /* @__PURE__ */ a("span", {
|
|
63
68
|
className: o.boxInner,
|
|
64
|
-
children:
|
|
69
|
+
children: m
|
|
65
70
|
})
|
|
66
|
-
}) :
|
|
71
|
+
}) : m;
|
|
67
72
|
}
|
|
68
73
|
//#endregion
|
|
69
74
|
export { l as t };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { t as e } from "./clsx-BWCAbrjV.js";
|
|
2
2
|
import { _ as t } from "./esm-LCYnNVvi.js";
|
|
3
|
-
import { t as n } from "./Icon-
|
|
3
|
+
import { t as n } from "./Icon-DJTgdvsG.js";
|
|
4
4
|
import { t as r } from "./InputSolo-DUdKtZjX.js";
|
|
5
5
|
import { useCallback as i, useEffect as a, useId as o, useMemo as s, useRef as c, useState as l } from "react";
|
|
6
6
|
import { Fragment as u, jsx as d, jsxs as f } from "react/jsx-runtime";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { t as e } from "./clsx-BWCAbrjV.js";
|
|
2
2
|
import { st as t } from "./esm-LCYnNVvi.js";
|
|
3
|
-
import { t as n } from "./Icon-
|
|
3
|
+
import { t as n } from "./Icon-DJTgdvsG.js";
|
|
4
4
|
import { t as r } from "./Typography-AvvBRu-u.js";
|
|
5
5
|
import { forwardRef as i, useCallback as a, useEffect as o, useRef as s, useState as c } from "react";
|
|
6
6
|
import { jsx as l, jsxs as u } from "react/jsx-runtime";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { t as e } from "./clsx-BWCAbrjV.js";
|
|
2
2
|
import { M as t, S as n, a as r, ct as i, i as a, k as o, o as s, r as ee, t as c, w as l } from "./esm-LCYnNVvi.js";
|
|
3
|
-
import { t as u } from "./Icon-
|
|
3
|
+
import { t as u } from "./Icon-DJTgdvsG.js";
|
|
4
4
|
import { detectProvider as d, providerPosterUrl as f, useMediaEngine as p } from "./components/VideoPlayer/useMediaEngine.js";
|
|
5
5
|
import { forwardRef as m, useCallback as h, useEffect as g, useId as _, useImperativeHandle as v, useRef as y, useState as b } from "react";
|
|
6
6
|
import { jsx as x, jsxs as S } from "react/jsx-runtime";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { n as e } from "./esm-LCYnNVvi.js";
|
|
2
2
|
import { t } from "./dist-J9cXmrDi.js";
|
|
3
3
|
import { a as n, i as r, n as i, o as a, r as o, s, t as c } from "./dist-f0z6DapB.js";
|
|
4
|
-
import { t as l } from "./VideoPlayer-
|
|
4
|
+
import { t as l } from "./VideoPlayer-BB8jVMa5.js";
|
|
5
5
|
import { jsx as u, jsxs as d } from "react/jsx-runtime";
|
|
6
6
|
var f = {
|
|
7
7
|
close: "ig0T5q_close",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { s as e } from "./fa-B95RwBpz.js";
|
|
2
|
-
import { t } from "./VideoCover-
|
|
3
|
-
import { t as n } from "./VideoPlayerModal-
|
|
2
|
+
import { t } from "./VideoCover-BXIkxFuT.js";
|
|
3
|
+
import { t as n } from "./VideoPlayerModal-fnAUwVMI.js";
|
|
4
4
|
import { jsx as r, jsxs as i } from "react/jsx-runtime";
|
|
5
5
|
var a = {
|
|
6
6
|
youtube: "elwCNG_youtube",
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as e } from "../../CodeBlock-
|
|
1
|
+
import { t as e } from "../../CodeBlock-BkSyiiCb.js";
|
|
2
2
|
export { e as CodeBlock };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { n as e, r as t, t as n } from "../../Dropdown-
|
|
1
|
+
import { n as e, r as t, t as n } from "../../Dropdown-8bjCO1Lx.js";
|
|
2
2
|
export { n as Dropdown, e as DropdownItem, t as DropdownSeparator };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as e } from "../../FooterHelp-
|
|
1
|
+
import { t as e } from "../../FooterHelp-Dlnj0dUF.js";
|
|
2
2
|
export { e as default };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as e } from "../../FooterLinks-
|
|
1
|
+
import { t as e } from "../../FooterLinks-BAdqoexV.js";
|
|
2
2
|
export { e as default };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as e } from "../../YoutubeModal-
|
|
1
|
+
import { t as e } from "../../YoutubeModal-C3rfaDki.js";
|
|
2
2
|
export { e as default };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as e } from "../../Footer-
|
|
1
|
+
import { t as e } from "../../Footer-DVZIe2ax.js";
|
|
2
2
|
export { e as Footer };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as e } from "../../FrameworkIcon-
|
|
1
|
+
import { t as e } from "../../FrameworkIcon-B8GmMx0r.js";
|
|
2
2
|
export { e as FrameworkIcon };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { n as e, t } from "../../Header-
|
|
1
|
+
import { n as e, t } from "../../Header-CkWQ4zk-.js";
|
|
2
2
|
export { t as Header, e as SubHeader };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as e } from "../../Icon-
|
|
1
|
+
import { t as e } from "../../Icon-DJTgdvsG.js";
|
|
2
2
|
export { e as Icon };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as e } from "../../NewsletterSignup-
|
|
1
|
+
import { t as e } from "../../NewsletterSignup-BP3AxNHH.js";
|
|
2
2
|
export { e as NewsletterSignup };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as e } from "../../Notification-
|
|
1
|
+
import { t as e } from "../../Notification-D4-209sL.js";
|
|
2
2
|
export { e as Notification };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as e } from "../../ProductIcon-
|
|
1
|
+
import { t as e } from "../../ProductIcon-C5yvnjHr.js";
|
|
2
2
|
export { e as ProductIcon };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as e } from "../../SearchDropdown-
|
|
1
|
+
import { t as e } from "../../SearchDropdown-fcfDUjOp.js";
|
|
2
2
|
export { e as SearchDropdown };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { t as e } from "../../clsx-BWCAbrjV.js";
|
|
3
3
|
import { X as t } from "../../esm-LCYnNVvi.js";
|
|
4
|
-
import { t as n } from "../../Icon-
|
|
4
|
+
import { t as n } from "../../Icon-DJTgdvsG.js";
|
|
5
5
|
import { t as r } from "../../styles.module-DGKft2EO.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";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { t as e } from "../../clsx-BWCAbrjV.js";
|
|
3
3
|
import { X as t } from "../../esm-LCYnNVvi.js";
|
|
4
|
-
import { t as n } from "../../Icon-
|
|
4
|
+
import { t as n } from "../../Icon-DJTgdvsG.js";
|
|
5
5
|
import { useOptionalSidebarSection as r } from "./context.js";
|
|
6
6
|
import { t as i } from "../../styles.module-DGKft2EO.js";
|
|
7
7
|
import { NavPathContext as a, textOf as o, useNavPath as s } from "./navPath.js";
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { t as e } from "../../clsx-BWCAbrjV.js";
|
|
3
3
|
import { O as t, t as n } from "../../esm-LCYnNVvi.js";
|
|
4
4
|
import { t as r } from "../../Button-CjxX21gW.js";
|
|
5
|
-
import { t as i } from "../../Icon-
|
|
5
|
+
import { t as i } from "../../Icon-DJTgdvsG.js";
|
|
6
6
|
import { t as a } from "../../Typography-AvvBRu-u.js";
|
|
7
7
|
import { SidebarSectionContext as o, useSidebarLayout as s } from "./context.js";
|
|
8
8
|
import { t as c } from "../../styles.module-DGKft2EO.js";
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as e } from "../../VideoCover-
|
|
1
|
+
import { t as e } from "../../VideoCover-BXIkxFuT.js";
|
|
2
2
|
export { e as VideoCover };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as e } from "../../VideoPlayerModal-
|
|
1
|
+
import { t as e } from "../../VideoPlayerModal-fnAUwVMI.js";
|
|
2
2
|
export { e as VideoPlayerModal };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as e } from "../../VideoPlayer-
|
|
1
|
+
import { t as e } from "../../VideoPlayer-BB8jVMa5.js";
|
|
2
2
|
export { e as VideoPlayer };
|