highsoft-ui 1.0.160 → 1.0.162
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CLAUDE.md +111 -4
- package/dist/{BrowserFrame-BUneieY7.js → BrowserFrame-D-DoBOXv.js} +2 -2
- package/dist/{Button-CjxX21gW.js → Button-BCbWIPg1.js} +1 -1
- package/dist/{ButtonGroup-DanFXfXA.js → ButtonGroup-DGEDf4ic.js} +1 -1
- package/dist/{Checkbox-BkxibNey.js → Checkbox-CO0SRaAZ.js} +1 -1
- package/dist/{CodeBlock-BkSyiiCb.js → CodeBlock-Ugik4xMM.js} +4 -4
- package/dist/{CookiePolicyModal-9p_OGcpB.js → CookiePolicyModal-TdrVbP_E.js} +2 -2
- package/dist/{CopyCode-90z6BfV0.js → CopyCode-_sKjpGqB.js} +2 -2
- package/dist/{Dropdown-8bjCO1Lx.js → Dropdown-LiG-JAoo.js} +267 -234
- package/dist/{Footer-DVZIe2ax.js → Footer-DzIGLnEz.js} +8 -8
- package/dist/{FooterBottom-BV9xJbRt.js → FooterBottom-CRe2Mvjd.js} +1 -1
- package/dist/{FooterHelp-Dlnj0dUF.js → FooterHelp-CTSvficW.js} +1 -1
- package/dist/{FooterLinks-BAdqoexV.js → FooterLinks-BoDdQUWb.js} +2 -2
- package/dist/{Header-Dsji2l2m.js → Header-CTO6Y6oH.js} +26 -26
- package/dist/{InputGrouped-BUJKBG0D.js → InputGrouped-y0JyshpR.js} +13 -13
- package/dist/{Label-DgPVoDMR.js → Label-k6e4Rqb-.js} +1 -1
- package/dist/{LogoCarousel-DEvwvCfr.js → LogoCarousel-pRYdmphl.js} +2 -2
- package/dist/{NewsletterSignup-BP3AxNHH.js → NewsletterSignup-BrmQ7pXZ.js} +4 -4
- package/dist/{Notification-D0ow_x0-.js → Notification-BFLAktZo.js} +34 -32
- package/dist/{PrefPanel-B4MyeLGu.js → PrefPanel-CHkc6r6b.js} +9 -9
- package/dist/{RoadmapDetails-CATh63TE.js → RoadmapDetails-BWt0J4Pn.js} +2 -2
- package/dist/{Search-T4R860vH.js → Search-D29JM1a_.js} +7 -7
- package/dist/{SearchDropdown-fcfDUjOp.js → SearchDropdown-BSUAlaMY.js} +1 -1
- package/dist/{VideoCover-BXIkxFuT.js → VideoCover-C18NhQcY.js} +1 -1
- package/dist/{VideoPlayer-BB8jVMa5.js → VideoPlayer-UM4M4C5b.js} +4 -4
- package/dist/{VideoPlayerModal-fnAUwVMI.js → VideoPlayerModal-IRwjMLoy.js} +2 -2
- package/dist/{YoutubeModal-C3rfaDki.js → YoutubeModal-BOnH866s.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/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 +1 -1
- 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 +2 -2
- package/dist/components/Sidebar/NavGroup.js +21 -37
- package/dist/components/Sidebar/NavItem.js +26 -19
- package/dist/components/Sidebar/Sidebar.js +97 -69
- package/dist/components/Sidebar/SidebarLayout.js +2 -2
- package/dist/components/Sidebar/SidebarResizer.js +1 -1
- package/dist/components/Sidebar/SidebarSwitcher.js +48 -0
- package/dist/components/Sidebar/index.js +5 -4
- package/dist/components/Sidebar/useSlideClip.js +27 -0
- 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-Bftz4UxU.js → create-element-DxkdwAGs.js} +1 -1
- package/dist/{esm-LCYnNVvi.js → esm-CUgR2iUX.js} +63 -49
- package/dist/highsoft-ui.css +1 -1
- package/dist/lib/components/Dropdown/index.d.ts +32 -3
- package/dist/lib/components/Sidebar/NavItem.d.ts +5 -0
- package/dist/lib/components/Sidebar/Sidebar.d.ts +12 -1
- package/dist/lib/components/Sidebar/SidebarSwitcher.d.ts +31 -0
- package/dist/lib/components/Sidebar/index.d.ts +2 -0
- package/dist/lib/components/Sidebar/useSlideClip.d.ts +30 -0
- package/dist/lib/main.d.ts +2 -2
- package/dist/main.js +26 -25
- package/dist/{prism-light-CqF2CLQS.js → prism-light-Czk1yGD_.js} +1 -1
- package/dist/{styles.module-DGKft2EO.js → styles.module-B9V15An9.js} +16 -0
- package/package.json +1 -1
package/CLAUDE.md
CHANGED
|
@@ -362,6 +362,38 @@ Standalone, self-bordered text field with a floating label, help text, and error
|
|
|
362
362
|
- **`hasError` / `success`:** state styling; pair with `helpText`
|
|
363
363
|
- **Touch devices get a 16px field** regardless of `size`. iOS Safari zooms the whole viewport when you focus a field whose text is under 16px, and doesn't zoom back out — so sizes `100` and `200` are floored under `@media (pointer: coarse)`. **Don't "fix" this at the page level** with a `maximum-scale=1` / `user-scalable=no` viewport meta: that buys it by disabling pinch-zoom for everyone, which fails WCAG 1.4.4 (Resize Text).
|
|
364
364
|
|
|
365
|
+
### Dropdown
|
|
366
|
+
Menu popover (Radix DropdownMenu) hung off any trigger — single-select with a check column, or a plain action menu.
|
|
367
|
+
```tsx
|
|
368
|
+
<Dropdown
|
|
369
|
+
trigger={<Button variant="neutral" size={300} iconRight={<ChevronDown />}>Theme</Button>}
|
|
370
|
+
value={theme} onValueChange={setTheme}
|
|
371
|
+
options={[{ value: 'light', label: 'Light' }, { value: 'dark', label: 'Dark' }]}
|
|
372
|
+
/>
|
|
373
|
+
|
|
374
|
+
// Action menu — no selection state, closes on pick
|
|
375
|
+
<Dropdown trigger={…} closeOnSelect>
|
|
376
|
+
<DropdownItem onSelect={rename}>Rename</DropdownItem>
|
|
377
|
+
</Dropdown>
|
|
378
|
+
|
|
379
|
+
// Compact menu under a small trigger (SidebarSwitcher)
|
|
380
|
+
<Dropdown trigger={<SidebarSwitcher … />} size={100} width="trigger" closeOnSelect options={…} />
|
|
381
|
+
```
|
|
382
|
+
- **`options`** (`{ value, label, icon?, disabled? }[]`) or composable **`DropdownItem`** children
|
|
383
|
+
- **`value` / `onValueChange`**: single-select mode (items become radio items)
|
|
384
|
+
- **`indicator`:** how the selected row is marked; the default follows the variant (`plain` → `fill`, `divided` → `check`). `fill` gives it the brand selected pair — `--HS-surface-brand-background-100` with `--HS-text-brand-selected`, stepping to background-200 on hover — the same pair the Sidebar's active row uses, with no leading column. `check` renders a check glyph in a leading column and leaves the row unfilled; use it when the menu sits on a brand-tinted surface or the rows already carry colour. `showCheck` is a deprecated alias (`true` → `check`, `false` → `fill`).
|
|
385
|
+
- **`closeOnSelect`**: default `false` so users can change their mind; set `true` for action menus and switchers
|
|
386
|
+
- **`variant`:** `plain` (default) is a padded white panel with transparent, rounded rows — hover and keyboard focus are one soft inset wash (`--HS-surface-ui-background-50`), the selected row is marked by the check alone, and disabled rows fade. It uses the same surface language as the Button or `SidebarSwitcher` it hangs off, so the menu reads as a floating menu rather than a list. `divided` is the list treatment: edge-to-edge rows separated by hairlines, hover lifts a row to white, keyboard focus adds a 3px brand bar down the left. Use it for dense pickers that should read as a list.
|
|
387
|
+
- **`size`:** `200` (default) is the menu for a size-300 Button: 14px medium labels on ~30px rows (`divided`: 14px semi on 37px rows). `100` is the compact menu for small triggers like `SidebarSwitcher`: 12px medium labels on ~26px rows with a 12px check glyph, so the list reads at the trigger's label size instead of two steps above it. Don't shrink the default instead — every Button-triggered menu would drop below its trigger.
|
|
388
|
+
- **`width`:** omit to hug the widest item, `'trigger'` to match the trigger, or a CSS length; **`side`/`align`/`sideOffset`**
|
|
389
|
+
|
|
390
|
+
**Accessibility:**
|
|
391
|
+
- Built on Radix `DropdownMenu`: the trigger gets `aria-haspopup="menu"` + `aria-expanded`, the panel is `role="menu"`, and in single-select mode items are `role="menuitemradio"` with `aria-checked` — so the selected row is announced whichever `indicator` draws it. Disabled items carry `aria-disabled` and stay in the list.
|
|
392
|
+
- Keyboard: Enter/Space/ArrowDown open the menu and focus the first item; arrows move, Home/End jump, Enter/Space select, Escape closes and returns focus to the trigger. Typing jumps to the first matching label.
|
|
393
|
+
- Hover and keyboard focus share one highlight (Radix sets `data-highlighted` for both), so the focused row is always visible. The `plain` variant's wash is `--HS-surface-ui-background-50` on white; `divided` adds a 3px brand bar on keyboard focus. The `fill` selected pair (`brand-background-100` + `text-brand-selected`) is the same pair the Sidebar's active row uses and inverts in dark mode.
|
|
394
|
+
- The check glyph is decorative (the state lives in `aria-checked`); leading icons are decorative too. Open/close animate on the shared tokens and drop to instant under `prefers-reduced-motion`.
|
|
395
|
+
- **Focus return after a pointer pick shows no ring.** Radix returns focus to the trigger when the menu closes; that move happens by script outside the click handler, so WebKit (and Chromium after a keyboard-focused menu) paints it as keyboard focus and a mouse user sees the trigger light up. Dropdown remembers whether the closing interaction was a pointer (item pick, outside click) and, if so, takes over the focus return and sets `data-hs-pointer-focus` on the trigger until its next keydown or blur. `Button` and `SidebarSwitcher` scope their `:focus-visible` ring with `:not([data-hs-pointer-focus])`; a custom trigger that wants the same quiet return should do likewise. Keyboard closes (Enter, Escape) keep the ring, and focus always lands on the trigger either way.
|
|
396
|
+
|
|
365
397
|
### SearchDropdown
|
|
366
398
|
Combobox / autocomplete: a search field (built on `InputSolo`) with a filtered, keyboard-navigable results popover and match highlighting.
|
|
367
399
|
```tsx
|
|
@@ -489,10 +521,24 @@ Browser-window chrome around embedded content — a real `<iframe>` via `src`, o
|
|
|
489
521
|
```
|
|
490
522
|
|
|
491
523
|
### Notification
|
|
524
|
+
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.
|
|
492
525
|
```tsx
|
|
493
|
-
<Notification
|
|
494
|
-
|
|
526
|
+
<Notification
|
|
527
|
+
content={{ title: 'Highcharts v12 is here!', description: 'See what changed.', url: '/blog/v12', tag: 'new' }}
|
|
528
|
+
variant="brand"
|
|
529
|
+
closable
|
|
530
|
+
onClose={() => dismiss(id)}
|
|
531
|
+
/>
|
|
495
532
|
```
|
|
533
|
+
- **`content`:** one `NotificationItem` or an array (rotates every 15s, pauses on hover/focus) — `{ title?, description?, url?, tag? }`
|
|
534
|
+
- **`variant`:** `brand` (default) | `success` | `danger` | `attention`
|
|
535
|
+
- **`closable`** (default `true`) + **`onClose`**: shows the close button
|
|
536
|
+
|
|
537
|
+
**Accessibility:**
|
|
538
|
+
- 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.
|
|
539
|
+
- The link takes its accessible name from the visible banner text; the close button is a real `Button` with `aria-label="Close notification"`.
|
|
540
|
+
- `: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.
|
|
541
|
+
- Inactive carousel slides are `aria-hidden` with `pointer-events: none`; rotation pauses on hover and while focus is inside the banner.
|
|
496
542
|
|
|
497
543
|
### VideoPlayer
|
|
498
544
|
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.
|
|
@@ -591,12 +637,73 @@ import { BarChart01 } from '@untitled-ui/icons-react'
|
|
|
591
637
|
- **`SidebarMain`** — the fluid content column beside the sidebar.
|
|
592
638
|
- **`Sidebar`** — the `<aside>`; becomes the bottom sheet on mobile and auto-renders the resize handle, the grab handle and the close button.
|
|
593
639
|
- **`SidebarHeader` / `SidebarBody`** — fixed top region / scrollable body.
|
|
594
|
-
- **`SidebarSection`** — labelled group. `collapsible` surfaces a "Minimize" control that collapses its open `NavGroup`s; `action` slots a custom control instead.
|
|
595
|
-
- **`
|
|
640
|
+
- **`SidebarSection`** — labelled group. `collapsible` surfaces a "Minimize" control that collapses its open `NavGroup`s; `action` slots a custom control instead. `expandable` lets the whole section fold away behind its label (a chevron toggle; `defaultOpen` true, or controlled `open`/`onOpenChange`).
|
|
641
|
+
- **`SidebarSwitcher`** — the header picker trigger: an icon tile, a two-line text block and a selector chevron. See below.
|
|
642
|
+
- **`NavItem`** — polymorphic nav link (`as`, default `<a>`); `active`, `icon`, `badge` (a trailing node after the label — typically `<Label variant="success" iconLeft={false} border>Pro</Label>`). Closes the mobile sheet on click, after a ~350ms beat so the row visibly takes its selected state under the finger rather than the sheet vanishing out from under the tap. **Touch only** (`pointer: coarse`) — the same breakpoint fires on a narrow desktop window, where hover has already shown which row is which and the pause would just read as lag. Open parents pin to the top while their list scrolls.
|
|
596
643
|
- **`NavGroup`** — expandable tree node (`defaultOpen`, controlled `open`/`onOpenChange`, `active` to tint the guide-line on the active path).
|
|
597
644
|
- **`NavDisclosure`** — collapses behind a tap-toggle on narrow screens, inert on desktop.
|
|
598
645
|
- The sidebar imposes **no background** of its own — set `--hs-sidebar-bg` (the mobile sheet keeps an opaque fallback). Colours use `--HS-*` tokens, so dark mode is automatic.
|
|
599
646
|
|
|
647
|
+
#### The documentation navigation: `SidebarSwitcher`, `NavGroup`, compact `Dropdown`
|
|
648
|
+
|
|
649
|
+
This is the structure `DocsShell` in documentation-pages renders, and what the
|
|
650
|
+
Storybook `Documentation` story mirrors: standard nav rows (hover wash, brand
|
|
651
|
+
pill for the current page) under a header of two pickers — framework first,
|
|
652
|
+
then product — each a `SidebarSwitcher` driving a compact `Dropdown`. The body
|
|
653
|
+
is one `collapsible` section named after the product, whose areas are
|
|
654
|
+
`NavGroup`s, closed unless they hold the current page. `SidebarSection
|
|
655
|
+
expandable` (the whole section folding behind its label) exists too, but the
|
|
656
|
+
docs site doesn't use it.
|
|
657
|
+
|
|
658
|
+
```tsx
|
|
659
|
+
<SidebarLayout defaultWidth={300} mobileTriggerLabel="Documentation"
|
|
660
|
+
mobileTriggerIcon={<ProductIcon icon={product} theme="monochrome" size={20} />}>
|
|
661
|
+
<Sidebar aria-label="Documentation">
|
|
662
|
+
<SidebarHeader>
|
|
663
|
+
{/* Header pickers, framework first then product. The switcher is a plain
|
|
664
|
+
<button>, so it slots straight into Dropdown's trigger and Radix wires
|
|
665
|
+
aria-expanded/haspopup. */}
|
|
666
|
+
<Dropdown value={framework} onValueChange={setFramework} closeOnSelect width="trigger" size={100}
|
|
667
|
+
options={frameworks.map((f) => ({ ...f, icon: <FrameworkIcon icon={f.value} size={16} /> }))}
|
|
668
|
+
trigger={
|
|
669
|
+
<SidebarSwitcher icon={<FrameworkIcon icon={framework} size={20} />}
|
|
670
|
+
label="JavaScript" description="Framework" />
|
|
671
|
+
} />
|
|
672
|
+
<Dropdown value={product} onValueChange={setProduct} closeOnSelect width="trigger" size={100}
|
|
673
|
+
options={products.map((p) => ({ ...p, icon: <ProductIcon icon={p.value} theme="monochrome" size={16} /> }))}
|
|
674
|
+
trigger={
|
|
675
|
+
<SidebarSwitcher icon={<ProductIcon icon={product} theme="monochrome" size={20} />}
|
|
676
|
+
label="Highcharts Core" description="Product" />
|
|
677
|
+
} />
|
|
678
|
+
</SidebarHeader>
|
|
679
|
+
<SidebarBody>
|
|
680
|
+
<SidebarSection label="Highcharts Core" collapsible>
|
|
681
|
+
<NavGroup label="Getting started" active defaultOpen>
|
|
682
|
+
<NavItem href="/installation" active>Installation</NavItem>
|
|
683
|
+
<NavItem href="/first-chart">Your first chart</NavItem>
|
|
684
|
+
</NavGroup>
|
|
685
|
+
<NavGroup label="Chart concepts">
|
|
686
|
+
<NavItem href="/tooltip" badge={<Label variant="success" iconLeft={false} border>Pro</Label>}>
|
|
687
|
+
Tooltip
|
|
688
|
+
</NavItem>
|
|
689
|
+
</NavGroup>
|
|
690
|
+
</SidebarSection>
|
|
691
|
+
</SidebarBody>
|
|
692
|
+
</Sidebar>
|
|
693
|
+
<SidebarMain>{children}</SidebarMain>
|
|
694
|
+
</SidebarLayout>
|
|
695
|
+
```
|
|
696
|
+
|
|
697
|
+
- **`SidebarSwitcher`** props: `icon` (goes in a 32px tile with 6px padding — a `ProductIcon`/`FrameworkIcon` at `20`, or an `Icon` at `16`), `label`, `description`, `chevron` (default `true`), `interactive` (default `true`; `false` renders a static row with no button, chevron or hover for when there's nothing to switch to). Everything else is a button prop (`aria-label`, `onClick`, …) and the ref lands on the `<button>`. Hover is the same translucent wash the nav rows use (`--hs-nav-hover-bg`), arriving in 100ms with no easing and held while the menu is open, so the switchers and the list below read as one surface; the chevron darkens with the text and turns brand while open. The icon tile is a white chip — `--HS-surface-ui-background-0` with a `--HS-surface-ui-border-100` hairline — so the icon keeps a clean ground under the wash, and every tile looks the same. The two text lines sit tight (line-height 1.2, no gap) so they read as one unit.
|
|
698
|
+
- **`SidebarSection expandable`**: the label becomes the toggle, filling the head so the whole row is the target with the chevron at its far end. The body slides closed on the same 0fr→1fr grid transition `NavGroup` uses (clipped only while sliding, so sticky group toggles inside an open section still pin). A Minimize/`action` control, if any, sits beside the toggle as a sibling.
|
|
699
|
+
- Product icons in the switcher use `theme="monochrome"` (the brand duotone), so the tile reads as one tone next to the framework logo.
|
|
700
|
+
|
|
701
|
+
**Accessibility (switcher / expandable):**
|
|
702
|
+
- `SidebarSwitcher` is a real `<button>`, named by its visible text — label then description, "JavaScript, Framework" — pass `aria-label` to override. The tile and chevron are `aria-hidden`. As a `Dropdown` trigger it gets `aria-expanded` + `aria-haspopup` from Radix, and the menu is keyboard-operable as usual. `interactive={false}` renders a `<div>`, so nothing focusable is left behind.
|
|
703
|
+
- An expandable section's label is a `<button>` inside its `<h3>` with `aria-expanded` and `aria-controls` pointing at the body. The folded body is **`inert`** as well as clipped, so its links leave the tab order and the accessibility tree; a screen reader's headings list still shows the section.
|
|
704
|
+
- State never rests on hover: the active row keeps `aria-current="page"` and the filled brand pill; hover only previews.
|
|
705
|
+
- All three controls show the brand `:focus-visible` ring. Under `prefers-reduced-motion: reduce` the section slide, chevron turn and switcher wash are instant.
|
|
706
|
+
|
|
600
707
|
#### Mobile (≤760px): the bar and the sheet
|
|
601
708
|
|
|
602
709
|
A page that has a site `<Header>` already spends the top of a phone screen on the site menu. A second hamburger 40px below it reads as one navigation split in half, whatever the second one is called — so the section nav takes the **opposite end of the screen**: a bar fixed in thumb reach that **names its own contents and where you currently are**, and a sheet that rises from it. Different place, different shape, different words, so the two are legible as different controls at a glance.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { t as e } from "./clsx-BWCAbrjV.js";
|
|
2
|
-
import { G as t, L as n, R as r, k as i } from "./esm-
|
|
3
|
-
import { t as a } from "./Button-
|
|
2
|
+
import { G as t, L as n, R as r, k as i } from "./esm-CUgR2iUX.js";
|
|
3
|
+
import { t as a } from "./Button-BCbWIPg1.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 = {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as e } from "./clsx-BWCAbrjV.js";
|
|
2
|
-
import { P as t } from "./esm-
|
|
2
|
+
import { P as t } from "./esm-CUgR2iUX.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 = {
|
|
@@ -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 { et as r, q as i } from "./esm-CUgR2iUX.js";
|
|
4
|
+
import { t as a } from "./Button-BCbWIPg1.js";
|
|
5
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";
|
|
@@ -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-Czk1yGD_.js"),
|
|
26
|
+
import("./create-element-DxkdwAGs.js").then((e) => e.n),
|
|
27
27
|
import("./jsx-B57trbk8.js"),
|
|
28
28
|
import("./tsx-CJFgwLf7.js"),
|
|
29
29
|
import("./json-Bfzk2Msc.js"),
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { t as e } from "./esm-
|
|
2
|
-
import { t } from "./Button-
|
|
1
|
+
import { t as e } from "./esm-CUgR2iUX.js";
|
|
2
|
+
import { t } from "./Button-BCbWIPg1.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 { et as r, q as i } from "./esm-CUgR2iUX.js";
|
|
4
|
+
import { t as a } from "./Button-BCbWIPg1.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 = {
|