highsoft-ui 1.0.156 → 1.0.157
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 +43 -0
- package/dist/{BrowserFrame-z7X66igu.js → BrowserFrame-BUneieY7.js} +3 -3
- package/dist/{Button-CSYKfiMM.js → Button-CjxX21gW.js} +1 -1
- package/dist/{ButtonGroup-CRCpF1mq.js → ButtonGroup-B4LYol17.js} +1 -1
- package/dist/{Checkbox-Ve_qaCW-.js → Checkbox-BkxibNey.js} +1 -1
- package/dist/ClientLogo-Dj7K48YL.js +104 -0
- package/dist/{CodeBlock-D5HGMQXp.js → CodeBlock-Ds79AzEX.js} +5 -5
- package/dist/{CookiePolicyModal-Jajmg0gS.js → CookiePolicyModal-9p_OGcpB.js} +2 -2
- package/dist/{CopyCode-B5XYKD2s.js → CopyCode-90z6BfV0.js} +3 -3
- package/dist/{Dropdown-C7cw9SiY.js → Dropdown-D3AnhPYO.js} +1 -1
- package/dist/{Footer-Bjccchkp.js → Footer-DDj7XStD.js} +8 -8
- package/dist/{FooterBottom-B4_6jDJ2.js → FooterBottom-BV9xJbRt.js} +1 -1
- package/dist/{FooterHelp-BODC1jYl.js → FooterHelp-CnoweyYC.js} +1 -1
- package/dist/{FooterLinks-0FQT6GGH.js → FooterLinks-BCr9brR3.js} +2 -2
- package/dist/{Header-BIEG3fWi.js → Header-Dsji2l2m.js} +27 -27
- package/dist/{InputGrouped-Iz23ILtZ.js → InputGrouped-BUJKBG0D.js} +3 -3
- package/dist/{Label-arNNMKJi.js → Label-DgPVoDMR.js} +1 -1
- package/dist/LogoCarousel-DEvwvCfr.js +131 -0
- package/dist/{NewsletterSignup-BwSHFFxv.js → NewsletterSignup-Bk0SU1NB.js} +2 -2
- package/dist/{Notification-Coii3TQE.js → Notification-D0ow_x0-.js} +3 -3
- package/dist/{PrefPanel-DHotymro.js → PrefPanel-B4MyeLGu.js} +11 -11
- package/dist/{RoadmapDetails-CtyefwR6.js → RoadmapDetails-CATh63TE.js} +6 -6
- package/dist/{Search-Dd2PjPua.js → Search-T4R860vH.js} +11 -11
- package/dist/{SearchDropdown-FVBycbSo.js → SearchDropdown-BetSrTgQ.js} +1 -1
- package/dist/{VideoCover-bWmOXfeg.js → VideoCover-B59ykzJi.js} +1 -1
- package/dist/{VideoPlayer-cCv7zyDb.js → VideoPlayer-ChyiZ0sK.js} +7 -7
- package/dist/{VideoPlayerModal-DXKK98WG.js → VideoPlayerModal-D6ze_Evt.js} +2 -2
- package/dist/{YoutubeModal-B-D2bQLx.js → YoutubeModal-CXwczXZa.js} +2 -2
- package/dist/components/BrowserFrame/index.js +1 -1
- package/dist/components/Button/index.js +1 -1
- package/dist/components/ButtonGroup/index.js +1 -1
- package/dist/components/Checkbox/index.js +1 -1
- package/dist/components/ClientLogo/dimensions.js +133 -0
- package/dist/components/ClientLogo/icons/mono/Alteryx.js +18 -0
- package/dist/components/ClientLogo/icons/mono/BankOfAmerica.js +18 -0
- package/dist/components/ClientLogo/icons/mono/BnpParibas.js +21 -0
- package/dist/components/ClientLogo/icons/mono/BoldBi.js +34 -0
- package/dist/components/ClientLogo/icons/mono/Citi.js +21 -0
- package/dist/components/ClientLogo/icons/mono/Crowdstrike.js +44 -0
- package/dist/components/ClientLogo/icons/mono/Cvs.js +16 -0
- package/dist/components/ClientLogo/icons/mono/Drivetrain.js +30 -0
- package/dist/components/ClientLogo/icons/mono/Epa.js +16 -0
- package/dist/components/ClientLogo/icons/mono/Fnz.js +16 -0
- package/dist/components/ClientLogo/icons/mono/Gainsight.js +16 -0
- package/dist/components/ClientLogo/icons/mono/GiGavenVidere.js +26 -0
- package/dist/components/ClientLogo/icons/mono/Github.js +21 -0
- package/dist/components/ClientLogo/icons/mono/Google.js +16 -0
- package/dist/components/ClientLogo/icons/mono/Horus.js +19 -0
- package/dist/components/ClientLogo/icons/mono/Icbc.js +23 -0
- package/dist/components/ClientLogo/icons/mono/JohnsonJohnson.js +16 -0
- package/dist/components/ClientLogo/icons/mono/Medtronic.js +16 -0
- package/dist/components/ClientLogo/icons/mono/Morningstar.js +19 -0
- package/dist/components/ClientLogo/icons/mono/Mufg.js +16 -0
- package/dist/components/ClientLogo/icons/mono/Netflix.js +16 -0
- package/dist/components/ClientLogo/icons/mono/Paypal.js +30 -0
- package/dist/components/ClientLogo/icons/mono/Pfizer.js +19 -0
- package/dist/components/ClientLogo/icons/mono/Salesforce.js +21 -0
- package/dist/components/ClientLogo/icons/mono/Samsung.js +16 -0
- package/dist/components/ClientLogo/icons/mono/Sap.js +16 -0
- package/dist/components/ClientLogo/icons/mono/Testmo.js +54 -0
- package/dist/components/ClientLogo/icons/mono/ThomsonReuters.js +16 -0
- package/dist/components/ClientLogo/icons/mono/Verizon.js +16 -0
- package/dist/components/ClientLogo/icons/mono/Visa.js +16 -0
- package/dist/components/ClientLogo/icons/mono/Who.js +26 -0
- package/dist/components/ClientLogo/icons/mono/X.js +16 -0
- package/dist/components/ClientLogo/icons/mono/index.js +70 -0
- package/dist/components/ClientLogo/index.js +2 -0
- package/dist/components/CodeBlock/index.js +1 -1
- package/dist/components/CopyCode/index.js +1 -1
- package/dist/components/Dropdown/index.js +1 -1
- package/dist/components/Footer/CookiePolicyModal.js +1 -1
- package/dist/components/Footer/FooterBottom.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/Header/index.js +1 -1
- package/dist/components/InputGrouped/index.js +1 -1
- package/dist/components/Label/index.js +1 -1
- package/dist/components/LogoCarousel/index.js +2 -0
- package/dist/components/Modal/ModalContactFooter.js +2 -2
- package/dist/components/Modal/index.js +2 -2
- package/dist/components/NewsletterSignup/index.js +1 -1
- package/dist/components/Notification/index.js +1 -1
- package/dist/components/PrefPanel/index.js +1 -1
- package/dist/components/RoadmapDetails/index.js +1 -1
- package/dist/components/Search/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 +2 -2
- package/dist/components/Sidebar/SidebarLayout.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/{create-element-E8WYUYfK.js → create-element-Bftz4UxU.js} +1 -1
- package/dist/{esm-bFdwg2E8.js → esm-LCYnNVvi.js} +57 -23
- package/dist/highsoft-ui.css +1 -1
- package/dist/lib/components/ClientLogo/dimensions.d.ts +131 -0
- package/dist/lib/components/ClientLogo/icons/mono/Alteryx.d.ts +2 -0
- package/dist/lib/components/ClientLogo/icons/mono/BankOfAmerica.d.ts +2 -0
- package/dist/lib/components/ClientLogo/icons/mono/BnpParibas.d.ts +2 -0
- package/dist/lib/components/ClientLogo/icons/mono/BoldBi.d.ts +2 -0
- package/dist/lib/components/ClientLogo/icons/mono/Citi.d.ts +2 -0
- package/dist/lib/components/ClientLogo/icons/mono/Crowdstrike.d.ts +2 -0
- package/dist/lib/components/ClientLogo/icons/mono/Cvs.d.ts +2 -0
- package/dist/lib/components/ClientLogo/icons/mono/Drivetrain.d.ts +2 -0
- package/dist/lib/components/ClientLogo/icons/mono/Epa.d.ts +2 -0
- package/dist/lib/components/ClientLogo/icons/mono/Fnz.d.ts +2 -0
- package/dist/lib/components/ClientLogo/icons/mono/Gainsight.d.ts +2 -0
- package/dist/lib/components/ClientLogo/icons/mono/GiGavenVidere.d.ts +2 -0
- package/dist/lib/components/ClientLogo/icons/mono/Github.d.ts +2 -0
- package/dist/lib/components/ClientLogo/icons/mono/Google.d.ts +2 -0
- package/dist/lib/components/ClientLogo/icons/mono/Horus.d.ts +2 -0
- package/dist/lib/components/ClientLogo/icons/mono/Icbc.d.ts +2 -0
- package/dist/lib/components/ClientLogo/icons/mono/JohnsonJohnson.d.ts +2 -0
- package/dist/lib/components/ClientLogo/icons/mono/Medtronic.d.ts +2 -0
- package/dist/lib/components/ClientLogo/icons/mono/Morningstar.d.ts +2 -0
- package/dist/lib/components/ClientLogo/icons/mono/Mufg.d.ts +2 -0
- package/dist/lib/components/ClientLogo/icons/mono/Netflix.d.ts +2 -0
- package/dist/lib/components/ClientLogo/icons/mono/Paypal.d.ts +2 -0
- package/dist/lib/components/ClientLogo/icons/mono/Pfizer.d.ts +2 -0
- package/dist/lib/components/ClientLogo/icons/mono/Salesforce.d.ts +2 -0
- package/dist/lib/components/ClientLogo/icons/mono/Samsung.d.ts +2 -0
- package/dist/lib/components/ClientLogo/icons/mono/Sap.d.ts +2 -0
- package/dist/lib/components/ClientLogo/icons/mono/Testmo.d.ts +2 -0
- package/dist/lib/components/ClientLogo/icons/mono/ThomsonReuters.d.ts +2 -0
- package/dist/lib/components/ClientLogo/icons/mono/Verizon.d.ts +2 -0
- package/dist/lib/components/ClientLogo/icons/mono/Visa.d.ts +2 -0
- package/dist/lib/components/ClientLogo/icons/mono/Who.d.ts +2 -0
- package/dist/lib/components/ClientLogo/icons/mono/X.d.ts +2 -0
- package/dist/lib/components/ClientLogo/icons/mono/index.d.ts +32 -0
- package/dist/lib/components/ClientLogo/index.d.ts +54 -0
- package/dist/lib/components/LogoCarousel/index.d.ts +60 -0
- package/dist/lib/main.d.ts +4 -0
- package/dist/main.js +44 -42
- package/dist/{prism-light-BTlrcsMq.js → prism-light-CqF2CLQS.js} +1 -1
- package/package.json +2 -1
package/CLAUDE.md
CHANGED
|
@@ -262,6 +262,49 @@ The `.tsx` icons are **generated** — put Figma exports in `lib/components/Prod
|
|
|
262
262
|
- **Keyboard/focus:** the icon is a non-interactive `<span>` — no focus, nothing in the tab order. `box` is presentational; focus styling belongs to the interactive ancestor.
|
|
263
263
|
- **Reduced motion:** under `prefers-reduced-motion: reduce` the `box` tile drops the hover lift but keeps the `box-shadow` step (instant depth change instead of movement); the shell keeps its `background-color` fade — a colour change, not motion.
|
|
264
264
|
|
|
265
|
+
### ClientLogo
|
|
266
|
+
Customer/client brand logos (Netflix, Visa, PayPal, …) in a single tone.
|
|
267
|
+
```tsx
|
|
268
|
+
<ClientLogo logo="netflix" /> // size 32 (baseline height in px)
|
|
269
|
+
<ClientLogo logo="visa" size={40} /> // bigger, same relative scale
|
|
270
|
+
<ClientLogo logo="github" width={90} /> // explicit width override
|
|
271
|
+
```
|
|
272
|
+
- **`logo`:** kebab-case company name (`netflix`, `bank-of-america`, `johnson-johnson`, …) — see `ClientLogoName`
|
|
273
|
+
- **`size`:** visual size in px — the rendered height of a baseline logo (default `32`). Every logo is scaled by the same `size / baseHeight` factor, so a wall keeps the **relative sizes tuned in Figma**: the exports share a 109-unit baseline height, and a logo exported taller renders bigger on purpose. When a logo reads too big/small, fix its export height in Figma and re-run the generator — no per-logo constants in code.
|
|
274
|
+
- **`width` / `height`:** explicit overrides (number or CSS length); the other dimension follows the aspect ratio
|
|
275
|
+
- `clientLogoLabels` exports human-readable names (`'johnson-johnson'` → `"Johnson & Johnson"`) for captions and accessible lists
|
|
276
|
+
- Logos are responsive: `max-width: 100%` lets them shrink inside narrower grid cells, height follows the viewBox aspect
|
|
277
|
+
|
|
278
|
+
**Fills are semantic text tokens, not currentColor** — main paths use `--HS-text-primary-default`, and duotone marks (PayPal's back "P") use `--HS-text-tertiary-default` for the secondary tone, with `currentColor` as fallback when tokens aren't loaded. Logos match the text hierarchy and remap in dark mode; they do **not** follow a parent's `color`.
|
|
279
|
+
|
|
280
|
+
The `.tsx` icons are **generated** — drop Figma exports in `lib/components/ClientLogo/svg-export/` (`company=<name>.svg`, optionally `, Color=<Yes|No>`; sources are pre-optimized with SVGO), map the name in `scripts/convert-client-logos.cjs`, then `npm run icons:clients` + `npm run prettier`. The generator also emits `dimensions.ts` (per-logo viewBox size + baseline height) — hand-edits to `icons/` or `dimensions.ts` are reverted on regeneration. New names also go in the `ClientLogoName` type + `logoComponentMap` + `clientLogoLabels`.
|
|
281
|
+
|
|
282
|
+
**Accessibility:**
|
|
283
|
+
- Decorative by default — an inline `<svg>` with no accessible name. When a logo stands alone as meaningful content, name it at the call site: `role="img"` + `aria-label` (props spread onto the `<svg>`).
|
|
284
|
+
- Token fills keep the logos at text-hierarchy contrast in both themes; the duotone secondary is tertiary text, legible on default surfaces.
|
|
285
|
+
- Non-interactive `<span>` — no focus, nothing in the tab order.
|
|
286
|
+
|
|
287
|
+
### LogoCarousel
|
|
288
|
+
Auto-scrolling "trusted by" strip of client logos — seamless loop, edge fades, pause control.
|
|
289
|
+
```tsx
|
|
290
|
+
<LogoCarousel /> // full set, 40 px/s
|
|
291
|
+
<LogoCarousel logos={['netflix', 'visa', 'google']} slowOnHover />
|
|
292
|
+
<LogoCarousel direction="right" speed={60} size={32} />
|
|
293
|
+
```
|
|
294
|
+
- **`logos`:** `ClientLogoName[]` (default: the full set); **`size`:** forwarded to each `ClientLogo` (default `28`)
|
|
295
|
+
- **`speed`:** px/s (default `40`) — duration is derived from the measured content width, so the perceived pace is constant regardless of logo count or viewport; **`direction`:** `left` (default) | `right`
|
|
296
|
+
- **`slowOnHover`:** ramps the animation down to ⅓ speed on hover and back up on leave — an eased `playbackRate` transition, never a hard stop (full pausing belongs to the pause button)
|
|
297
|
+
- **`gap`** (default `64`), **`fade`** (edge mask width, default `64`), **`label`** (region name, default `'Client logos'`), **`pauseLabel`**/**`resumeLabel`** (button text, default `'Pause'`/`'Resume'`)
|
|
298
|
+
- **`reducedMotion`:** `boolean` — defaults to the user's `prefers-reduced-motion`; when on, the strip renders **static and horizontally scrollable** instead of animating
|
|
299
|
+
- Fills its container's width (`width: 100%; min-width: 0` — safe as a flex/grid child)
|
|
300
|
+
- **Performance:** the only per-frame change is one composited `transform` (translate3d + `will-change`) — no layout, no paint; logos rasterize once into a GPU layer. Content is repeated only as often as the viewport needs, and an IntersectionObserver pauses the animation off-screen.
|
|
301
|
+
|
|
302
|
+
**Accessibility:**
|
|
303
|
+
- The moving strip is `aria-hidden`; screen readers get a **static visually-hidden list of company names** (from `clientLogoLabels`) inside the labelled region — nothing announces mid-motion, every company is always reachable.
|
|
304
|
+
- The pause button satisfies WCAG 2.2.2 (Pause, Stop, Hide): a real `Button` (transparent, size 50) whose visible label flips Pause/Resume — the label carries the state, deliberately no `aria-pressed` on top.
|
|
305
|
+
- Under `prefers-reduced-motion` nothing moves, from the very first frame (a CSS media-query guard covers pre-hydration): users get the static scrollable strip — a focusable (`tabindex=0`), labelled viewport with the brand focus ring, arrow-key scrollable, and a real list pairing each logo with its visually-hidden name. The pause button disappears (nothing to pause).
|
|
306
|
+
- Hover slow-down is pointer-only polish; no functionality depends on it.
|
|
307
|
+
|
|
265
308
|
### InputSolo
|
|
266
309
|
Standalone, self-bordered text field with a floating label, help text, and error/success states.
|
|
267
310
|
```tsx
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { t as e } from "./clsx-BWCAbrjV.js";
|
|
2
|
-
import {
|
|
3
|
-
import { t as a } from "./Button-
|
|
2
|
+
import { G as t, L as n, R as r, k as i } from "./esm-LCYnNVvi.js";
|
|
3
|
+
import { t as a } from "./Button-CjxX21gW.js";
|
|
4
4
|
import { forwardRef as o, useCallback as s, useEffect as c, useRef as l, useState as u } from "react";
|
|
5
5
|
import { jsx as d, jsxs as f } from "react/jsx-runtime";
|
|
6
6
|
var p = {
|
|
@@ -38,7 +38,7 @@ var p = {
|
|
|
38
38
|
}, [U]), q = o === "full" && _ !== "none" ? _ === "fullscreen" ? /* @__PURE__ */ d(a, {
|
|
39
39
|
variant: "soft",
|
|
40
40
|
size: 100,
|
|
41
|
-
iconRight: d(z ?
|
|
41
|
+
iconRight: d(z ? i : t, {}),
|
|
42
42
|
onClick: K,
|
|
43
43
|
children: v ?? (z ? "Exit fullscreen" : "Fullscreen")
|
|
44
44
|
}) : U ? /* @__PURE__ */ d(a, {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as e } from "./clsx-BWCAbrjV.js";
|
|
2
|
-
import {
|
|
2
|
+
import { P as t } from "./esm-LCYnNVvi.js";
|
|
3
3
|
import { createContext as n, useCallback as r, useContext as i, useEffect as a, useId as o, useRef as s, useState as c } from "react";
|
|
4
4
|
import { jsx as l, jsxs as u } from "react/jsx-runtime";
|
|
5
5
|
var d = {
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import { t as e } from "./clsx-BWCAbrjV.js";
|
|
2
|
+
import { clientLogoDimensions as t } from "./components/ClientLogo/dimensions.js";
|
|
3
|
+
import { t as n } from "./components/ClientLogo/icons/mono/index.js";
|
|
4
|
+
import { jsx as r } from "react/jsx-runtime";
|
|
5
|
+
var i = { logo: "bdy1Ua_logo" }, a = {
|
|
6
|
+
netflix: "Netflix",
|
|
7
|
+
samsung: "Samsung",
|
|
8
|
+
sap: "Sap",
|
|
9
|
+
"thomson-reuters": "ThomsonReuters",
|
|
10
|
+
verizon: "Verizon",
|
|
11
|
+
x: "X",
|
|
12
|
+
visa: "Visa",
|
|
13
|
+
github: "Github",
|
|
14
|
+
google: "Google",
|
|
15
|
+
"bank-of-america": "BankOfAmerica",
|
|
16
|
+
fnz: "Fnz",
|
|
17
|
+
"bnp-paribas": "BnpParibas",
|
|
18
|
+
mufg: "Mufg",
|
|
19
|
+
icbc: "Icbc",
|
|
20
|
+
citi: "Citi",
|
|
21
|
+
"johnson-johnson": "JohnsonJohnson",
|
|
22
|
+
medtronic: "Medtronic",
|
|
23
|
+
cvs: "Cvs",
|
|
24
|
+
pfizer: "Pfizer",
|
|
25
|
+
who: "Who",
|
|
26
|
+
paypal: "Paypal",
|
|
27
|
+
salesforce: "Salesforce",
|
|
28
|
+
crowdstrike: "Crowdstrike",
|
|
29
|
+
alteryx: "Alteryx",
|
|
30
|
+
gainsight: "Gainsight",
|
|
31
|
+
"bold-bi": "BoldBi",
|
|
32
|
+
horus: "Horus",
|
|
33
|
+
morningstar: "Morningstar",
|
|
34
|
+
epa: "Epa",
|
|
35
|
+
testmo: "Testmo",
|
|
36
|
+
"gi-gaven-videre": "GiGavenVidere",
|
|
37
|
+
drivetrain: "Drivetrain"
|
|
38
|
+
}, o = {
|
|
39
|
+
netflix: "Netflix",
|
|
40
|
+
samsung: "Samsung",
|
|
41
|
+
sap: "SAP",
|
|
42
|
+
"thomson-reuters": "Thomson Reuters",
|
|
43
|
+
verizon: "Verizon",
|
|
44
|
+
x: "X",
|
|
45
|
+
visa: "Visa",
|
|
46
|
+
github: "GitHub",
|
|
47
|
+
google: "Google",
|
|
48
|
+
"bank-of-america": "Bank of America",
|
|
49
|
+
fnz: "FNZ",
|
|
50
|
+
"bnp-paribas": "BNP Paribas",
|
|
51
|
+
mufg: "MUFG",
|
|
52
|
+
icbc: "ICBC",
|
|
53
|
+
citi: "Citi",
|
|
54
|
+
"johnson-johnson": "Johnson & Johnson",
|
|
55
|
+
medtronic: "Medtronic",
|
|
56
|
+
cvs: "CVS Pharmacy",
|
|
57
|
+
pfizer: "Pfizer",
|
|
58
|
+
who: "World Health Organization",
|
|
59
|
+
paypal: "PayPal",
|
|
60
|
+
salesforce: "Salesforce",
|
|
61
|
+
crowdstrike: "CrowdStrike",
|
|
62
|
+
alteryx: "Alteryx",
|
|
63
|
+
gainsight: "Gainsight",
|
|
64
|
+
"bold-bi": "Bold BI",
|
|
65
|
+
horus: "Horus",
|
|
66
|
+
morningstar: "Morningstar",
|
|
67
|
+
epa: "EPA",
|
|
68
|
+
testmo: "Testmo",
|
|
69
|
+
"gi-gaven-videre": "Gi gaven videre",
|
|
70
|
+
drivetrain: "Drivetrain"
|
|
71
|
+
};
|
|
72
|
+
function s({ logo: o, size: s = 32, width: c, height: l, className: u, style: d, ...f }) {
|
|
73
|
+
let p = n[a[o]];
|
|
74
|
+
if (!p) return console.warn(`ClientLogo: No logo found for "${o}"`), null;
|
|
75
|
+
let m;
|
|
76
|
+
if (l !== void 0) m = {
|
|
77
|
+
width: c ?? "auto",
|
|
78
|
+
height: l
|
|
79
|
+
};
|
|
80
|
+
else if (c !== void 0) m = {
|
|
81
|
+
width: c,
|
|
82
|
+
height: "auto"
|
|
83
|
+
};
|
|
84
|
+
else {
|
|
85
|
+
let e = t[o], n = s / 109;
|
|
86
|
+
m = {
|
|
87
|
+
width: e.width * n,
|
|
88
|
+
maxWidth: "100%",
|
|
89
|
+
height: "auto"
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
return /* @__PURE__ */ r("span", {
|
|
93
|
+
className: e("hsui-client-logo", i.logo, u),
|
|
94
|
+
children: /* @__PURE__ */ r(p, {
|
|
95
|
+
style: {
|
|
96
|
+
...m,
|
|
97
|
+
...d
|
|
98
|
+
},
|
|
99
|
+
...f
|
|
100
|
+
})
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
//#endregion
|
|
104
|
+
export { o as n, s as t };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { r as e, s as t } from "./utils-K9S_6_Eq.js";
|
|
2
2
|
import { t as n } from "./clsx-BWCAbrjV.js";
|
|
3
|
-
import {
|
|
4
|
-
import { t as a } from "./Button-
|
|
3
|
+
import { $ as r, q as i } from "./esm-LCYnNVvi.js";
|
|
4
|
+
import { t as a } from "./Button-CjxX21gW.js";
|
|
5
5
|
import { t as o } from "./FrameworkIcon-D7N3PjYr.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";
|
|
@@ -22,8 +22,8 @@ var h = {
|
|
|
22
22
|
}, g = null;
|
|
23
23
|
function _() {
|
|
24
24
|
return g ||= Promise.all([
|
|
25
|
-
import("./prism-light-
|
|
26
|
-
import("./create-element-
|
|
25
|
+
import("./prism-light-CqF2CLQS.js"),
|
|
26
|
+
import("./create-element-Bftz4UxU.js").then((e) => e.n),
|
|
27
27
|
import("./jsx-B57trbk8.js"),
|
|
28
28
|
import("./tsx-CJFgwLf7.js"),
|
|
29
29
|
import("./json-Bfzk2Msc.js"),
|
|
@@ -195,7 +195,7 @@ var C = {}, w = ({ children: e }) => /* @__PURE__ */ p("pre", {
|
|
|
195
195
|
}), /* @__PURE__ */ p(a, {
|
|
196
196
|
variant: B ? "success" : "transparent",
|
|
197
197
|
size: 100,
|
|
198
|
-
iconRight: p(B ?
|
|
198
|
+
iconRight: p(B ? r : i, {}),
|
|
199
199
|
onClick: U,
|
|
200
200
|
"aria-label": B ? "Copied" : A,
|
|
201
201
|
className: h.copyBtn,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { t as e } from "./esm-
|
|
2
|
-
import { t } from "./Button-
|
|
1
|
+
import { t as e } from "./esm-LCYnNVvi.js";
|
|
2
|
+
import { t } from "./Button-CjxX21gW.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
4
|
import { useEffect as l, useRef as u, useState as d } from "react";
|
|
5
5
|
import { jsx as f, jsxs as p } from "react/jsx-runtime";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { r as e, s as t } from "./utils-K9S_6_Eq.js";
|
|
2
2
|
import { t as n } from "./clsx-BWCAbrjV.js";
|
|
3
|
-
import {
|
|
4
|
-
import { t as a } from "./Button-
|
|
3
|
+
import { $ as r, q as i } from "./esm-LCYnNVvi.js";
|
|
4
|
+
import { t as a } from "./Button-CjxX21gW.js";
|
|
5
5
|
import { forwardRef as o, useCallback as s } from "react";
|
|
6
6
|
import { jsx as c, jsxs as l } from "react/jsx-runtime";
|
|
7
7
|
var u = {
|
|
@@ -26,7 +26,7 @@ var u = {
|
|
|
26
26
|
}), /* @__PURE__ */ c(a, {
|
|
27
27
|
variant: x ? "success" : "soft",
|
|
28
28
|
size: 200,
|
|
29
|
-
iconLeft: c(x ?
|
|
29
|
+
iconLeft: c(x ? r : i, {}),
|
|
30
30
|
onClick: (e) => {
|
|
31
31
|
e.stopPropagation(), S();
|
|
32
32
|
},
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as e } from "./clsx-BWCAbrjV.js";
|
|
2
|
-
import {
|
|
2
|
+
import { $ as t } from "./esm-LCYnNVvi.js";
|
|
3
3
|
import { t as n } from "./Icon-VeXJMj8Q.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";
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { r as e } from "./utils-K9S_6_Eq.js";
|
|
2
|
-
import {
|
|
3
|
-
import { t as r } from "./Button-
|
|
2
|
+
import { $ as t, J as n } from "./esm-LCYnNVvi.js";
|
|
3
|
+
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-
|
|
8
|
-
import { t as c } from "./FooterBottom-
|
|
9
|
-
import { t as l } from "./FooterHelp-
|
|
10
|
-
import { t as u } from "./FooterLinks-
|
|
11
|
-
import { t as d } from "./YoutubeModal-
|
|
7
|
+
import { t as s } from "./NewsletterSignup-Bk0SU1NB.js";
|
|
8
|
+
import { t as c } from "./FooterBottom-BV9xJbRt.js";
|
|
9
|
+
import { t as l } from "./FooterHelp-CnoweyYC.js";
|
|
10
|
+
import { t as u } from "./FooterLinks-BCr9brR3.js";
|
|
11
|
+
import { t as d } from "./YoutubeModal-CXwczXZa.js";
|
|
12
12
|
import { jsx as f, jsxs as p } from "react/jsx-runtime";
|
|
13
13
|
var m = {
|
|
14
14
|
discordCard: "_4W4F3q_discordCard",
|
|
@@ -29,7 +29,7 @@ function g() {
|
|
|
29
29
|
return /* @__PURE__ */ p(r, {
|
|
30
30
|
variant: "neutral",
|
|
31
31
|
onClick: () => i(o),
|
|
32
|
-
children: [o, f(a ?
|
|
32
|
+
children: [o, f(a ? t : n, {})]
|
|
33
33
|
});
|
|
34
34
|
}
|
|
35
35
|
function _({ link: e = "a", host: t = "https://www.highcharts.com" }) {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { a as e, t } from "./utils-K9S_6_Eq.js";
|
|
2
2
|
import { a as n, c as r, i, n as a, o, r as s, s as c, t as l } from "./fa-B95RwBpz.js";
|
|
3
3
|
import { t as u } from "./Typography-AvvBRu-u.js";
|
|
4
|
-
import { t as d } from "./CookiePolicyModal-
|
|
4
|
+
import { t as d } from "./CookiePolicyModal-9p_OGcpB.js";
|
|
5
5
|
import { Fragment as f, jsx as p, jsxs as m } from "react/jsx-runtime";
|
|
6
6
|
//#region node_modules/react-icons/fa6/index.mjs
|
|
7
7
|
function h(e) {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { a as e, t } from "./utils-K9S_6_Eq.js";
|
|
2
|
-
import { d as n, g as r } from "./esm-
|
|
2
|
+
import { d as n, g as r } from "./esm-LCYnNVvi.js";
|
|
3
3
|
import { t as i } from "./Icon-VeXJMj8Q.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";
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { t as e } from "./clsx-BWCAbrjV.js";
|
|
2
|
-
import {
|
|
2
|
+
import { I as t } from "./esm-LCYnNVvi.js";
|
|
3
3
|
import { t as n } from "./Icon-VeXJMj8Q.js";
|
|
4
4
|
import { t as r } from "./Typography-AvvBRu-u.js";
|
|
5
|
-
import { t as i } from "./Label-
|
|
5
|
+
import { t as i } from "./Label-DgPVoDMR.js";
|
|
6
6
|
import a from "./components/icons/MadeInNorway.js";
|
|
7
7
|
import { jsx as o, jsxs as s } from "react/jsx-runtime";
|
|
8
8
|
var c = {
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { a as e, d as t, i as n, o as r, u as i } from "./utils-K9S_6_Eq.js";
|
|
2
2
|
import { t as a } from "./clsx-BWCAbrjV.js";
|
|
3
|
-
import {
|
|
4
|
-
import { t as _ } from "./Button-
|
|
3
|
+
import { A as o, V as s, at as c, b as l, et as u, f as d, j as f, nt as p, p as m, s as h, t as g } from "./esm-LCYnNVvi.js";
|
|
4
|
+
import { t as _ } from "./Button-CjxX21gW.js";
|
|
5
5
|
import { t as v } from "./Container-BDssaLig.js";
|
|
6
6
|
import { t as y } from "./Logo-Bz0G2G-k.js";
|
|
7
|
-
import { t as b } from "./PrefPanel-
|
|
8
|
-
import { t as x } from "./Search-
|
|
9
|
-
import { t as S } from "./Label-
|
|
10
|
-
import { t as C } from "./Notification-
|
|
7
|
+
import { t as b } from "./PrefPanel-B4MyeLGu.js";
|
|
8
|
+
import { t as x } from "./Search-T4R860vH.js";
|
|
9
|
+
import { t as S } from "./Label-DgPVoDMR.js";
|
|
10
|
+
import { t as C } from "./Notification-D0ow_x0-.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 = {
|
|
@@ -75,12 +75,12 @@ var A = {
|
|
|
75
75
|
{
|
|
76
76
|
title: "Products",
|
|
77
77
|
url: "https://www.highcharts.com/products/",
|
|
78
|
-
icon: /* @__PURE__ */ O(
|
|
78
|
+
icon: /* @__PURE__ */ O(u, {})
|
|
79
79
|
},
|
|
80
80
|
{
|
|
81
81
|
title: "Demos",
|
|
82
82
|
url: "https://www.highcharts.com/demo",
|
|
83
|
-
icon: /* @__PURE__ */ O(
|
|
83
|
+
icon: /* @__PURE__ */ O(l, {})
|
|
84
84
|
},
|
|
85
85
|
{
|
|
86
86
|
title: "Support",
|
|
@@ -90,17 +90,17 @@ var A = {
|
|
|
90
90
|
{
|
|
91
91
|
title: "Resources",
|
|
92
92
|
url: "https://www.highcharts.com/resources/",
|
|
93
|
-
icon: /* @__PURE__ */ O(
|
|
93
|
+
icon: /* @__PURE__ */ O(s, {})
|
|
94
94
|
},
|
|
95
95
|
{
|
|
96
96
|
title: "Pricing",
|
|
97
97
|
url: "https://shop.highcharts.com/",
|
|
98
|
-
icon: /* @__PURE__ */ O(
|
|
98
|
+
icon: /* @__PURE__ */ O(p, {})
|
|
99
99
|
},
|
|
100
100
|
{
|
|
101
101
|
title: "Blog",
|
|
102
102
|
url: "https://www.highcharts.com/blog/home/",
|
|
103
|
-
icon: /* @__PURE__ */ O(
|
|
103
|
+
icon: /* @__PURE__ */ O(c, {})
|
|
104
104
|
}
|
|
105
105
|
];
|
|
106
106
|
function B(e, t) {
|
|
@@ -193,31 +193,31 @@ function Y() {
|
|
|
193
193
|
e && R(M, e);
|
|
194
194
|
}, [e]), null;
|
|
195
195
|
}
|
|
196
|
-
function X({ subItems: t, children: r, notifications: o = J, link: s = "a", host: c = "https://www.highcharts.com", pathname: l, cssVariable:
|
|
196
|
+
function X({ subItems: t, children: r, notifications: o = J, link: s = "a", host: c = "https://www.highcharts.com", pathname: l, cssVariable: u, position: p = "sticky" }) {
|
|
197
197
|
let S = e("(max-width: 374px)"), w = e("(max-width: 849px)"), M = e("(max-width: 1300px)"), N = G(t), P = T(null), [F, L] = E(!1), [V, H] = E([]);
|
|
198
198
|
n(() => {
|
|
199
199
|
let e = P.current;
|
|
200
200
|
if (!e) return;
|
|
201
201
|
let n = t?.length ? N ? U : W : 0, r = 82 + V.length * 48 + n, i = -(82 + V.length * 48);
|
|
202
|
-
if (
|
|
203
|
-
e.style.transform = "",
|
|
202
|
+
if (p === "static") return e.style.transform = "", u && document.documentElement.style.setProperty("--header-bottom", `${r}px`), () => {
|
|
203
|
+
e.style.transform = "", u && document.documentElement.style.removeProperty("--header-bottom");
|
|
204
204
|
};
|
|
205
205
|
let a = window.scrollY, o = 0, s = null, c = null, l = () => {
|
|
206
|
-
c = null, !(!e || s === o) && (e.style.transform = `translate3d(0, ${o}px, 0)`,
|
|
206
|
+
c = null, !(!e || s === o) && (e.style.transform = `translate3d(0, ${o}px, 0)`, u && document.documentElement.style.setProperty("--header-bottom", `${r + o}px`), s = o);
|
|
207
207
|
};
|
|
208
208
|
l();
|
|
209
|
-
let
|
|
209
|
+
let d = () => {
|
|
210
210
|
let e = window.scrollY, t = e - a;
|
|
211
211
|
a = e, o = Math.min(0, Math.max(i, o - t)), c === null && (c = window.requestAnimationFrame(l));
|
|
212
212
|
};
|
|
213
|
-
return window.addEventListener("scroll",
|
|
214
|
-
window.removeEventListener("scroll",
|
|
213
|
+
return window.addEventListener("scroll", d, { passive: !0 }), () => {
|
|
214
|
+
window.removeEventListener("scroll", d), c !== null && cancelAnimationFrame(c), e.style.transform = "", u && document.documentElement.style.removeProperty("--header-bottom");
|
|
215
215
|
};
|
|
216
216
|
}, [
|
|
217
|
-
|
|
217
|
+
u,
|
|
218
218
|
N,
|
|
219
219
|
V.length,
|
|
220
|
-
|
|
220
|
+
p,
|
|
221
221
|
t?.length
|
|
222
222
|
]), n(() => {
|
|
223
223
|
if (!o.length) return;
|
|
@@ -289,7 +289,7 @@ function X({ subItems: t, children: r, notifications: o = J, link: s = "a", host
|
|
|
289
289
|
children: [/* @__PURE__ */ O("span", {
|
|
290
290
|
className: A.gpt,
|
|
291
291
|
children: "Highcharts Assist"
|
|
292
|
-
}), /* @__PURE__ */ O(
|
|
292
|
+
}), /* @__PURE__ */ O(d, {})]
|
|
293
293
|
}) }),
|
|
294
294
|
/* @__PURE__ */ O("li", { children: /* @__PURE__ */ O(x, {}) }),
|
|
295
295
|
/* @__PURE__ */ O("li", { children: /* @__PURE__ */ O(b, {}) }),
|
|
@@ -299,20 +299,20 @@ function X({ subItems: t, children: r, notifications: o = J, link: s = "a", host
|
|
|
299
299
|
as: s,
|
|
300
300
|
href: B("https://shop.highcharts.com/", c),
|
|
301
301
|
"aria-label": "Buy Now",
|
|
302
|
-
children: [/* @__PURE__ */ O(
|
|
302
|
+
children: [/* @__PURE__ */ O(m, {}), "Buy Now"]
|
|
303
303
|
}) }),
|
|
304
304
|
/* @__PURE__ */ O("li", { children: /* @__PURE__ */ k(_, {
|
|
305
305
|
className: A.cta,
|
|
306
306
|
variant: "brand",
|
|
307
307
|
as: s,
|
|
308
308
|
href: B("https://www.highcharts.com/download/", c),
|
|
309
|
-
children: [/* @__PURE__ */ O(
|
|
309
|
+
children: [/* @__PURE__ */ O(h, {}), "Try for Free"]
|
|
310
310
|
}) }),
|
|
311
311
|
/* @__PURE__ */ O("li", { children: /* @__PURE__ */ k(_, {
|
|
312
312
|
variant: F ? "soft" : "transparent",
|
|
313
313
|
className: A.menu,
|
|
314
314
|
onClick: X,
|
|
315
|
-
children: [F ? "Close" : "Menu", O(F ?
|
|
315
|
+
children: [F ? "Close" : "Menu", O(F ? g : f, {})]
|
|
316
316
|
}) })
|
|
317
317
|
]
|
|
318
318
|
})
|
|
@@ -349,7 +349,7 @@ function X({ subItems: t, children: r, notifications: o = J, link: s = "a", host
|
|
|
349
349
|
children: [/* @__PURE__ */ O("span", {
|
|
350
350
|
className: A.gpt,
|
|
351
351
|
children: "Highcharts Assist"
|
|
352
|
-
}), /* @__PURE__ */ O(
|
|
352
|
+
}), /* @__PURE__ */ O(d, {})]
|
|
353
353
|
}) }),
|
|
354
354
|
/* @__PURE__ */ O("li", { children: /* @__PURE__ */ O(x, {}) }),
|
|
355
355
|
/* @__PURE__ */ O("li", { children: /* @__PURE__ */ O(b, {}) })
|
|
@@ -363,13 +363,13 @@ function X({ subItems: t, children: r, notifications: o = J, link: s = "a", host
|
|
|
363
363
|
fullWidth: !0,
|
|
364
364
|
as: s,
|
|
365
365
|
href: B("https://shop.highcharts.com/", c),
|
|
366
|
-
children: [/* @__PURE__ */ O(
|
|
366
|
+
children: [/* @__PURE__ */ O(m, {}), "Buy Now"]
|
|
367
367
|
}) }), /* @__PURE__ */ O("li", { children: /* @__PURE__ */ k(_, {
|
|
368
368
|
variant: "success",
|
|
369
369
|
fullWidth: !0,
|
|
370
370
|
as: s,
|
|
371
371
|
href: B("https://www.highcharts.com/download/", c),
|
|
372
|
-
children: [/* @__PURE__ */ O(
|
|
372
|
+
children: [/* @__PURE__ */ O(h, {}), "Try for Free"]
|
|
373
373
|
}) })]
|
|
374
374
|
}),
|
|
375
375
|
/* @__PURE__ */ O("ul", {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { t as e } from "./clsx-BWCAbrjV.js";
|
|
2
|
-
import {
|
|
3
|
-
import { t as i } from "./Button-
|
|
2
|
+
import { U as t, W as n, Z as r } from "./esm-LCYnNVvi.js";
|
|
3
|
+
import { t as i } from "./Button-CjxX21gW.js";
|
|
4
4
|
import { forwardRef as a, useCallback as o, useEffect as s, useRef as c, useState as l } from "react";
|
|
5
5
|
import { jsx as u, jsxs as d } from "react/jsx-runtime";
|
|
6
6
|
var f = {
|
|
@@ -130,7 +130,7 @@ var h = a(({ label: r, required: a = !1, helpText: p, showHelpText: m = !1, labe
|
|
|
130
130
|
e.stopPropagation(), R((e) => !e);
|
|
131
131
|
},
|
|
132
132
|
"aria-label": L ? "Hide password" : "Show password",
|
|
133
|
-
children: u(L ?
|
|
133
|
+
children: u(L ? t : n, {})
|
|
134
134
|
}),
|
|
135
135
|
_
|
|
136
136
|
]
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
import { a as e } from "./utils-K9S_6_Eq.js";
|
|
2
|
+
import { t } from "./clsx-BWCAbrjV.js";
|
|
3
|
+
import { T as n, x as r } from "./esm-LCYnNVvi.js";
|
|
4
|
+
import { t as i } from "./Button-CjxX21gW.js";
|
|
5
|
+
import { n as a, t as o } from "./ClientLogo-Dj7K48YL.js";
|
|
6
|
+
import { useEffect as s, useRef as c, useState as l } from "react";
|
|
7
|
+
import { Fragment as u, jsx as d, jsxs as f } from "react/jsx-runtime";
|
|
8
|
+
var p = {
|
|
9
|
+
list: "_088dTG_list",
|
|
10
|
+
listItem: "_088dTG_listItem",
|
|
11
|
+
marquee: "_088dTG_marquee",
|
|
12
|
+
pauseButton: "_088dTG_pauseButton",
|
|
13
|
+
root: "_088dTG_root",
|
|
14
|
+
scrollable: "_088dTG_scrollable",
|
|
15
|
+
srOnly: "_088dTG_srOnly",
|
|
16
|
+
track: "_088dTG_track",
|
|
17
|
+
viewport: "_088dTG_viewport"
|
|
18
|
+
}, m = Object.keys(a);
|
|
19
|
+
function h({ logos: h = m, size: g = 28, gap: _ = 64, speed: v = 40, direction: y = "left", slowOnHover: b = !1, fade: x = 64, label: S = "Client logos", pauseLabel: C = "Pause", resumeLabel: w = "Resume", reducedMotion: T, className: E, style: D, ...O }) {
|
|
20
|
+
let k = e("(prefers-reduced-motion: reduce)"), A = T ?? k, j = c(null), M = c(null), N = c(null), P = c(null), F = c(0), [I, L] = l(!1), [R, z] = l(!0), [B, V] = l(2), [H, U] = l(0), W = (e) => {
|
|
21
|
+
let t = P.current;
|
|
22
|
+
if (!t) return;
|
|
23
|
+
let n = t.getAnimations()[0];
|
|
24
|
+
if (!n) return;
|
|
25
|
+
cancelAnimationFrame(F.current);
|
|
26
|
+
let r = () => {
|
|
27
|
+
let t = n.playbackRate + (e - n.playbackRate) * .08;
|
|
28
|
+
if (Math.abs(t - e) < .01) {
|
|
29
|
+
n.playbackRate = e;
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
n.playbackRate = t, F.current = requestAnimationFrame(r);
|
|
33
|
+
};
|
|
34
|
+
r();
|
|
35
|
+
};
|
|
36
|
+
s(() => () => cancelAnimationFrame(F.current), []), s(() => {
|
|
37
|
+
if (A) return;
|
|
38
|
+
let e = M.current, t = N.current;
|
|
39
|
+
if (!e || !t) return;
|
|
40
|
+
let n = () => {
|
|
41
|
+
let n = t.scrollWidth, r = e.clientWidth;
|
|
42
|
+
n === 0 || r === 0 || (V(Math.max(2, Math.ceil(r / n) + 1)), U(n / v));
|
|
43
|
+
};
|
|
44
|
+
n();
|
|
45
|
+
let r = new ResizeObserver(n);
|
|
46
|
+
return r.observe(e), r.observe(t), () => r.disconnect();
|
|
47
|
+
}, [
|
|
48
|
+
A,
|
|
49
|
+
v,
|
|
50
|
+
h,
|
|
51
|
+
g,
|
|
52
|
+
_
|
|
53
|
+
]), s(() => {
|
|
54
|
+
if (A) return;
|
|
55
|
+
let e = j.current;
|
|
56
|
+
if (!e) return;
|
|
57
|
+
let t = new IntersectionObserver(([e]) => {
|
|
58
|
+
z(e.isIntersecting);
|
|
59
|
+
});
|
|
60
|
+
return t.observe(e), () => t.disconnect();
|
|
61
|
+
}, [A]);
|
|
62
|
+
let G = I || !R, K;
|
|
63
|
+
return K = A ? /* @__PURE__ */ d("div", {
|
|
64
|
+
ref: M,
|
|
65
|
+
className: t(p.viewport, p.scrollable),
|
|
66
|
+
tabIndex: 0,
|
|
67
|
+
"aria-label": S,
|
|
68
|
+
children: /* @__PURE__ */ d("ul", {
|
|
69
|
+
className: p.list,
|
|
70
|
+
children: h.map((e) => /* @__PURE__ */ f("li", {
|
|
71
|
+
className: p.listItem,
|
|
72
|
+
children: [/* @__PURE__ */ d(o, {
|
|
73
|
+
logo: e,
|
|
74
|
+
size: g
|
|
75
|
+
}), /* @__PURE__ */ d("span", {
|
|
76
|
+
className: p.srOnly,
|
|
77
|
+
children: a[e]
|
|
78
|
+
})]
|
|
79
|
+
}, e))
|
|
80
|
+
})
|
|
81
|
+
}) : /* @__PURE__ */ f(u, { children: [
|
|
82
|
+
/* @__PURE__ */ d("ul", {
|
|
83
|
+
className: p.srOnly,
|
|
84
|
+
children: h.map((e) => /* @__PURE__ */ d("li", { children: a[e] }, e))
|
|
85
|
+
}),
|
|
86
|
+
/* @__PURE__ */ d("div", {
|
|
87
|
+
ref: M,
|
|
88
|
+
className: p.viewport,
|
|
89
|
+
"aria-hidden": "true",
|
|
90
|
+
onPointerEnter: b ? () => W(1 / 3) : void 0,
|
|
91
|
+
onPointerLeave: b ? () => W(1) : void 0,
|
|
92
|
+
children: /* @__PURE__ */ d("div", {
|
|
93
|
+
ref: P,
|
|
94
|
+
className: p.marquee,
|
|
95
|
+
children: Array.from({ length: B }, (e, t) => /* @__PURE__ */ d("div", {
|
|
96
|
+
ref: t === 0 ? N : void 0,
|
|
97
|
+
className: p.track,
|
|
98
|
+
children: h.map((e) => /* @__PURE__ */ d(o, {
|
|
99
|
+
logo: e,
|
|
100
|
+
size: g
|
|
101
|
+
}, e))
|
|
102
|
+
}, t))
|
|
103
|
+
})
|
|
104
|
+
}),
|
|
105
|
+
/* @__PURE__ */ d(i, {
|
|
106
|
+
variant: "transparent",
|
|
107
|
+
size: 50,
|
|
108
|
+
className: p.pauseButton,
|
|
109
|
+
onClick: () => L((e) => !e),
|
|
110
|
+
iconLeft: d(I ? r : n, {}),
|
|
111
|
+
children: I ? w : C
|
|
112
|
+
})
|
|
113
|
+
] }), /* @__PURE__ */ d("section", {
|
|
114
|
+
ref: j,
|
|
115
|
+
className: t("hsui-logo-carousel", p.root, E),
|
|
116
|
+
"aria-label": S,
|
|
117
|
+
"data-paused": G || void 0,
|
|
118
|
+
"data-direction": y,
|
|
119
|
+
style: {
|
|
120
|
+
"--hsui-logo-carousel-gap": `${_}px`,
|
|
121
|
+
"--hsui-logo-carousel-fade": `${x}px`,
|
|
122
|
+
"--hsui-logo-carousel-copies": B,
|
|
123
|
+
...H > 0 && { "--hsui-logo-carousel-duration": `${H}s` },
|
|
124
|
+
...D
|
|
125
|
+
},
|
|
126
|
+
...O,
|
|
127
|
+
children: K
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
//#endregion
|
|
131
|
+
export { h as t };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { l as e } from "./utils-K9S_6_Eq.js";
|
|
2
2
|
import { t } from "./clsx-BWCAbrjV.js";
|
|
3
|
-
import {
|
|
4
|
-
import { t as a } from "./Button-
|
|
3
|
+
import { B as n, Q as r, at as i } from "./esm-LCYnNVvi.js";
|
|
4
|
+
import { t as a } from "./Button-CjxX21gW.js";
|
|
5
5
|
import { t as o } from "./Icon-VeXJMj8Q.js";
|
|
6
6
|
import { t as s } from "./Link-CYR92_U0.js";
|
|
7
7
|
import { t as c } from "./InputSolo-DUdKtZjX.js";
|