highsoft-ui 1.0.156 → 1.0.158
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 +85 -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-DanFXfXA.js} +29 -18
- 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/ButtonGroup/index.d.ts +24 -6
- 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
|
@@ -179,6 +179,48 @@ The foundational layout component. Use it instead of raw `<div>` with inline sty
|
|
|
179
179
|
- **`disabled` / `loading`:** both render the button non-interactive and share one **unified disabled treatment** across variants — the coloured variants (`brand`, `success`, `attention`, `danger`) fall back to the same neutral surface as `neutral`/`soft` rather than a greyed brand colour, so a disabled control never reads as active. In dark mode disabled buttons use a muted fill with lighter (`neutral-400`) label text and a defined (`neutral-1000`) border; `transparent` stays flat but keeps its border, and `plain` is borderless label-only.
|
|
180
180
|
- **Accessibility:** a real `<button>` uses the native `disabled` attribute (removed from the tab order, not clickable); when rendered as `<a>` (via `href`), disabled instead sets `aria-disabled`, drops `href`, forces `tabIndex={-1}`, and blocks the click — so the disabled meaning is exposed either way. Disabled label contrast is intentionally muted and is exempt from WCAG 1.4.3 (inactive controls). `:focus-visible` shows a 2px brand focus ring on every variant; transitions use the design-token animations and respect `prefers-reduced-motion` via the shared tokens.
|
|
181
181
|
|
|
182
|
+
### ButtonGroup
|
|
183
|
+
Segmented control built from Buttons in a shared container. Single-select by
|
|
184
|
+
default; set `selectable={false}` for an action group (e.g. prev/next paging).
|
|
185
|
+
```tsx
|
|
186
|
+
const viewItems: ButtonGroupItem[] = [
|
|
187
|
+
{ value: 'list', label: 'List' },
|
|
188
|
+
{ value: 'grid', label: 'Grid', iconLeft: <LayoutAlt02 /> }
|
|
189
|
+
]
|
|
190
|
+
|
|
191
|
+
// Single-select (default): the selected item renders soft, the rest plain
|
|
192
|
+
<ButtonGroup items={viewItems} value={view} onChange={setView} aria-label="View mode" />
|
|
193
|
+
|
|
194
|
+
// In a row of transparent Buttons — flat container with the same hairline border
|
|
195
|
+
<ButtonGroup items={viewItems} variant="transparent" aria-label="View mode" />
|
|
196
|
+
|
|
197
|
+
// Action group: no current choice, onChange fires on every enabled click
|
|
198
|
+
<ButtonGroup
|
|
199
|
+
selectable={false}
|
|
200
|
+
variant="transparent"
|
|
201
|
+
aria-label="Pagination"
|
|
202
|
+
onChange={(value) => setPage((p) => (value === 'next' ? p + 1 : p - 1))}
|
|
203
|
+
items={[
|
|
204
|
+
{ value: 'prev', label: 'Previous', iconLeft: <ChevronLeft />, disabled: page === 1 },
|
|
205
|
+
{ value: 'next', label: 'Next', iconRight: <ChevronRight />, disabled: page === total }
|
|
206
|
+
]}
|
|
207
|
+
/>
|
|
208
|
+
|
|
209
|
+
// Icon-only items: drop the label, name each via buttonProps aria-label
|
|
210
|
+
{ value: 'prev', iconLeft: <ChevronLeft />, buttonProps: { 'aria-label': 'Previous page' } }
|
|
211
|
+
```
|
|
212
|
+
- **`items`:** `ButtonGroupItem[]` — each `{ value, label?, iconLeft?, iconRight?, disabled?, buttonProps? }`. `label` is optional for icon-only items; `buttonProps` forwards Button props (`href`, `onClick`, `aria-label`, …) but never `variant`/`size` — the group owns those.
|
|
213
|
+
- **`value` / `defaultValue` / `onChange(value, item)`:** controlled or uncontrolled selection; uncontrolled defaults to the first enabled item. `onChange` fires only when the selection actually changes — except with `selectable={false}`, where it fires on every enabled click.
|
|
214
|
+
- **`selectable`:** default `true`. Set `false` for momentary actions with no current choice: nothing renders selected and `aria-pressed` is omitted.
|
|
215
|
+
- **`variant`:** `default` (filled container, for cards/panels) | `alt` (darker fill, for the page background) | `transparent` (no fill, the transparent Button's hairline border — use it when the group sits next to `variant="transparent"` buttons so the two read as siblings)
|
|
216
|
+
- **`size`:** Button sizes `50`–`500` (default `200`), shared by all items; **`fullWidth`** stretches items evenly
|
|
217
|
+
- The container can be retinted via `--button-group-container-*` custom properties (`default`/`alt` variants only; `transparent` reads the button tokens directly).
|
|
218
|
+
|
|
219
|
+
**Accessibility:**
|
|
220
|
+
- The wrapper is `role="group"` — always pass `aria-label` (or `aria-labelledby`) to name it.
|
|
221
|
+
- In select mode each item exposes `aria-pressed` for its selected state; with `selectable={false}` the attribute is omitted entirely, so AT hears plain buttons, not toggles stuck "off".
|
|
222
|
+
- Items are real `Button`s: native `disabled` semantics, brand `:focus-visible` ring, design-token transitions that respect `prefers-reduced-motion`. Icon-only items need `buttonProps={{ 'aria-label': … }}` — the icon alone names nothing.
|
|
223
|
+
|
|
182
224
|
### Heading
|
|
183
225
|
```tsx
|
|
184
226
|
<Heading level={1}>Page title</Heading>
|
|
@@ -262,6 +304,49 @@ The `.tsx` icons are **generated** — put Figma exports in `lib/components/Prod
|
|
|
262
304
|
- **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
305
|
- **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
306
|
|
|
307
|
+
### ClientLogo
|
|
308
|
+
Customer/client brand logos (Netflix, Visa, PayPal, …) in a single tone.
|
|
309
|
+
```tsx
|
|
310
|
+
<ClientLogo logo="netflix" /> // size 32 (baseline height in px)
|
|
311
|
+
<ClientLogo logo="visa" size={40} /> // bigger, same relative scale
|
|
312
|
+
<ClientLogo logo="github" width={90} /> // explicit width override
|
|
313
|
+
```
|
|
314
|
+
- **`logo`:** kebab-case company name (`netflix`, `bank-of-america`, `johnson-johnson`, …) — see `ClientLogoName`
|
|
315
|
+
- **`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.
|
|
316
|
+
- **`width` / `height`:** explicit overrides (number or CSS length); the other dimension follows the aspect ratio
|
|
317
|
+
- `clientLogoLabels` exports human-readable names (`'johnson-johnson'` → `"Johnson & Johnson"`) for captions and accessible lists
|
|
318
|
+
- Logos are responsive: `max-width: 100%` lets them shrink inside narrower grid cells, height follows the viewBox aspect
|
|
319
|
+
|
|
320
|
+
**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`.
|
|
321
|
+
|
|
322
|
+
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`.
|
|
323
|
+
|
|
324
|
+
**Accessibility:**
|
|
325
|
+
- 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>`).
|
|
326
|
+
- Token fills keep the logos at text-hierarchy contrast in both themes; the duotone secondary is tertiary text, legible on default surfaces.
|
|
327
|
+
- Non-interactive `<span>` — no focus, nothing in the tab order.
|
|
328
|
+
|
|
329
|
+
### LogoCarousel
|
|
330
|
+
Auto-scrolling "trusted by" strip of client logos — seamless loop, edge fades, pause control.
|
|
331
|
+
```tsx
|
|
332
|
+
<LogoCarousel /> // full set, 40 px/s
|
|
333
|
+
<LogoCarousel logos={['netflix', 'visa', 'google']} slowOnHover />
|
|
334
|
+
<LogoCarousel direction="right" speed={60} size={32} />
|
|
335
|
+
```
|
|
336
|
+
- **`logos`:** `ClientLogoName[]` (default: the full set); **`size`:** forwarded to each `ClientLogo` (default `28`)
|
|
337
|
+
- **`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`
|
|
338
|
+
- **`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)
|
|
339
|
+
- **`gap`** (default `64`), **`fade`** (edge mask width, default `64`), **`label`** (region name, default `'Client logos'`), **`pauseLabel`**/**`resumeLabel`** (button text, default `'Pause'`/`'Resume'`)
|
|
340
|
+
- **`reducedMotion`:** `boolean` — defaults to the user's `prefers-reduced-motion`; when on, the strip renders **static and horizontally scrollable** instead of animating
|
|
341
|
+
- Fills its container's width (`width: 100%; min-width: 0` — safe as a flex/grid child)
|
|
342
|
+
- **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.
|
|
343
|
+
|
|
344
|
+
**Accessibility:**
|
|
345
|
+
- 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.
|
|
346
|
+
- 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.
|
|
347
|
+
- 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).
|
|
348
|
+
- Hover slow-down is pointer-only polish; no functionality depends on it.
|
|
349
|
+
|
|
265
350
|
### InputSolo
|
|
266
351
|
Standalone, self-bordered text field with a floating label, help text, and error/success states.
|
|
267
352
|
```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 { t } from "./Button-
|
|
2
|
+
import { t } from "./Button-CjxX21gW.js";
|
|
3
3
|
import { useEffect as n, useState as r } from "react";
|
|
4
4
|
import { jsx as i } from "react/jsx-runtime";
|
|
5
5
|
var a = {
|
|
@@ -13,42 +13,53 @@ var a = {
|
|
|
13
13
|
"size-300": "qkD_Ga_size-300",
|
|
14
14
|
"size-400": "qkD_Ga_size-400",
|
|
15
15
|
"size-50": "qkD_Ga_size-50",
|
|
16
|
-
"size-500": "qkD_Ga_size-500"
|
|
16
|
+
"size-500": "qkD_Ga_size-500",
|
|
17
|
+
transparent: "qkD_Ga_transparent"
|
|
17
18
|
};
|
|
18
19
|
//#endregion
|
|
19
20
|
//#region lib/components/ButtonGroup/index.tsx
|
|
20
|
-
function o({ items: o, value: s, defaultValue: c, onChange: l,
|
|
21
|
-
let
|
|
21
|
+
function o({ items: o, value: s, defaultValue: c, onChange: l, selectable: u = !0, size: d = 200, variant: f = "default", fullWidth: p = !1, className: m, ...h }) {
|
|
22
|
+
let g = o.find((e) => !e.disabled)?.value, [_, v] = r(c ?? g);
|
|
22
23
|
n(() => {
|
|
23
|
-
s
|
|
24
|
+
!u || s !== void 0 || o.some((e) => e.value === _ && !e.disabled) || v(g);
|
|
24
25
|
}, [
|
|
25
|
-
h,
|
|
26
26
|
g,
|
|
27
|
+
_,
|
|
27
28
|
o,
|
|
29
|
+
u,
|
|
28
30
|
s
|
|
29
31
|
]);
|
|
30
|
-
let
|
|
31
|
-
t.buttonProps?.onClick?.(e), !(e.defaultPrevented || t.disabled)
|
|
32
|
+
let y = u ? s ?? _ : void 0, b = (e, t) => {
|
|
33
|
+
if (t.buttonProps?.onClick?.(e), !(e.defaultPrevented || t.disabled)) {
|
|
34
|
+
if (!u) {
|
|
35
|
+
l?.(t.value, t);
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
s === void 0 && v(t.value), t.value !== y && l?.(t.value, t);
|
|
39
|
+
}
|
|
32
40
|
};
|
|
33
41
|
return /* @__PURE__ */ i("div", {
|
|
34
|
-
className: e("hsui-button-group", a.buttonGroup, a[`size-${
|
|
35
|
-
[a.full]:
|
|
36
|
-
[a.alt]:
|
|
37
|
-
"hsui-button-group--alt":
|
|
38
|
-
|
|
42
|
+
className: e("hsui-button-group", a.buttonGroup, a[`size-${d}`], {
|
|
43
|
+
[a.full]: p,
|
|
44
|
+
[a.alt]: f === "alt",
|
|
45
|
+
"hsui-button-group--alt": f === "alt",
|
|
46
|
+
[a.transparent]: f === "transparent",
|
|
47
|
+
"hsui-button-group--transparent": f === "transparent"
|
|
48
|
+
}, m),
|
|
39
49
|
role: "group",
|
|
40
|
-
...
|
|
50
|
+
...h,
|
|
41
51
|
children: o.map((n) => {
|
|
42
|
-
let r = n.value ===
|
|
52
|
+
let r = n.value === y;
|
|
43
53
|
return /* @__PURE__ */ i(t, {
|
|
44
54
|
...n.buttonProps,
|
|
45
55
|
className: e(a.item, n.buttonProps?.className, { [a.itemSelected]: r }),
|
|
46
56
|
variant: r ? "soft" : "plain",
|
|
47
|
-
size:
|
|
57
|
+
size: d,
|
|
48
58
|
iconLeft: n.iconLeft,
|
|
59
|
+
iconRight: n.iconRight,
|
|
49
60
|
disabled: n.disabled,
|
|
50
|
-
"aria-pressed": r,
|
|
51
|
-
onClick: (e) =>
|
|
61
|
+
"aria-pressed": u ? r : void 0,
|
|
62
|
+
onClick: (e) => b(e, n),
|
|
52
63
|
children: n.label
|
|
53
64
|
}, n.value);
|
|
54
65
|
})
|
|
@@ -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
|
]
|