@ansh-ui/react 0.2.0 → 0.3.1
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/dist/{chunk-C5JG6TMM.cjs → chunk-2U7BHYIQ.cjs} +143 -143
- package/dist/chunk-2U7BHYIQ.cjs.map +1 -0
- package/dist/{chunk-HO2YSF5O.js → chunk-742E5FQS.js} +3 -3
- package/dist/chunk-742E5FQS.js.map +1 -0
- package/dist/{chunk-QO3E7TJS.js → chunk-7QGB2X7R.js} +36 -28
- package/dist/chunk-7QGB2X7R.js.map +1 -0
- package/dist/{chunk-EGG4CP7C.js → chunk-BQJ6H3HC.js} +3 -2
- package/dist/chunk-BQJ6H3HC.js.map +1 -0
- package/dist/{chunk-OLTS6G5M.js → chunk-GNA33V2J.js} +11 -6
- package/dist/chunk-GNA33V2J.js.map +1 -0
- package/dist/{chunk-C32LKF23.cjs → chunk-KTLTYHAT.cjs} +3 -3
- package/dist/chunk-KTLTYHAT.cjs.map +1 -0
- package/dist/{chunk-AVPEA5PB.cjs → chunk-MPX7QT4R.cjs} +4 -4
- package/dist/chunk-MPX7QT4R.cjs.map +1 -0
- package/dist/{chunk-T4AK2KLM.js → chunk-NJUVVMJV.js} +3 -3
- package/dist/chunk-NJUVVMJV.js.map +1 -0
- package/dist/{chunk-IBXLC5IE.js → chunk-P5MRISBP.js} +19 -3
- package/dist/chunk-P5MRISBP.js.map +1 -0
- package/dist/{chunk-WGYNCSTP.cjs → chunk-PUW6BTPQ.cjs} +3 -2
- package/dist/chunk-PUW6BTPQ.cjs.map +1 -0
- package/dist/{chunk-LDCZQP3R.js → chunk-RGGNLAAA.js} +122 -122
- package/dist/chunk-RGGNLAAA.js.map +1 -0
- package/dist/{chunk-6VRF7X5C.cjs → chunk-TEPQGFR4.cjs} +19 -2
- package/dist/chunk-TEPQGFR4.cjs.map +1 -0
- package/dist/{chunk-OJN5JBNP.cjs → chunk-VJI6V27F.cjs} +99 -99
- package/dist/chunk-VJI6V27F.cjs.map +1 -0
- package/dist/{chunk-HPGCILO4.js → chunk-XRKZPLUT.js} +99 -99
- package/dist/chunk-XRKZPLUT.js.map +1 -0
- package/dist/{chunk-DATBU46V.cjs → chunk-XYT6OXKP.cjs} +10 -4
- package/dist/chunk-XYT6OXKP.cjs.map +1 -0
- package/dist/{chunk-RHTLNSVW.cjs → chunk-YVJB7AAZ.cjs} +39 -31
- package/dist/chunk-YVJB7AAZ.cjs.map +1 -0
- package/dist/data.cjs +16 -16
- package/dist/data.d.cts +25 -23
- package/dist/data.d.ts +25 -23
- package/dist/data.js +1 -1
- package/dist/form.cjs +37 -37
- package/dist/form.d.cts +4 -1
- package/dist/form.d.ts +4 -1
- package/dist/form.js +2 -2
- package/dist/index.cjs +666 -135
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +220 -7
- package/dist/index.d.ts +220 -7
- package/dist/index.js +530 -14
- package/dist/index.js.map +1 -1
- package/dist/layout.cjs +13 -13
- package/dist/layout.d.cts +11 -2
- package/dist/layout.d.ts +11 -2
- package/dist/layout.js +1 -1
- package/dist/{motion-CQmCq6_k.d.ts → motion-C6WfBFES.d.cts} +23 -19
- package/dist/{motion-CSX4g2N8.d.cts → motion-ugXmf505.d.ts} +23 -19
- package/dist/motion.cjs +19 -19
- package/dist/motion.d.cts +2 -2
- package/dist/motion.d.ts +2 -2
- package/dist/motion.js +2 -2
- package/dist/navigation.cjs +8 -8
- package/dist/navigation.d.cts +3 -2
- package/dist/navigation.d.ts +3 -2
- package/dist/navigation.js +1 -1
- package/dist/overlay.cjs +16 -16
- package/dist/overlay.d.cts +17 -14
- package/dist/overlay.d.ts +17 -14
- package/dist/overlay.js +2 -2
- package/dist/{position-DVScKcaa.d.cts → position-CW6cGpSF.d.cts} +2 -1
- package/dist/{position-DVScKcaa.d.ts → position-CW6cGpSF.d.ts} +2 -1
- package/dist/primitives.cjs +25 -21
- package/dist/primitives.d.cts +5 -4
- package/dist/primitives.d.ts +5 -4
- package/dist/primitives.js +2 -2
- package/dist/{sidebar-D-PafAXw.d.cts → sidebar-Dyt67t2z.d.cts} +2 -1
- package/dist/{sidebar-D-PafAXw.d.ts → sidebar-Dyt67t2z.d.ts} +2 -1
- package/dist/styles.css +464 -0
- package/dist/{use-observers-B9qtimrk.d.cts → use-observers-DvA7hSz4.d.cts} +10 -1
- package/dist/{use-observers-B9qtimrk.d.ts → use-observers-DvA7hSz4.d.ts} +10 -1
- package/package.json +3 -3
- package/dist/chunk-6VRF7X5C.cjs.map +0 -1
- package/dist/chunk-AVPEA5PB.cjs.map +0 -1
- package/dist/chunk-C32LKF23.cjs.map +0 -1
- package/dist/chunk-C5JG6TMM.cjs.map +0 -1
- package/dist/chunk-DATBU46V.cjs.map +0 -1
- package/dist/chunk-EGG4CP7C.js.map +0 -1
- package/dist/chunk-HO2YSF5O.js.map +0 -1
- package/dist/chunk-HPGCILO4.js.map +0 -1
- package/dist/chunk-IBXLC5IE.js.map +0 -1
- package/dist/chunk-LDCZQP3R.js.map +0 -1
- package/dist/chunk-OJN5JBNP.cjs.map +0 -1
- package/dist/chunk-OLTS6G5M.js.map +0 -1
- package/dist/chunk-QO3E7TJS.js.map +0 -1
- package/dist/chunk-RHTLNSVW.cjs.map +0 -1
- package/dist/chunk-T4AK2KLM.js.map +0 -1
- package/dist/chunk-WGYNCSTP.cjs.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/navigation/tabs.tsx","../src/components/navigation/breadcrumbs.tsx","../src/components/navigation/nav-menu.tsx","../src/primitives/inert.ts","../src/components/disclosure.tsx"],"names":["useControllableState","useId","useRef","jsxs","cx","jsx","useState","Fragment","useEffect","version"],"mappings":"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","file":"chunk-XYT6OXKP.cjs","sourcesContent":["import { type ReactNode, useId, useRef } from 'react'\nimport { cx } from '../../primitives/compose'\nimport { useControllableState } from '../../primitives/use-controllable-state'\n\nexport interface TabItem {\n id: string\n label: ReactNode\n icon?: ReactNode\n /** Count or status shown after the label. */\n badge?: ReactNode\n disabled?: boolean\n content?: ReactNode\n}\n\nexport interface TabsProps {\n items: readonly TabItem[]\n value?: string\n defaultValue?: string\n onChange?: (value: string) => void\n variant?: 'underline' | 'pill' | 'enclosed'\n orientation?: 'horizontal' | 'vertical'\n size?: 'sm' | 'md'\n /** Stretch tabs to fill the available width. */\n fitted?: boolean\n /**\n * Activate on arrow-key focus, rather than requiring Enter.\n *\n * Automatic is the ARIA-preferred default for cheap panels. Set `false` when switching a tab\n * triggers a fetch — arrowing past three tabs would fire three requests.\n */\n activateOnFocus?: boolean\n /** Accessible name for the tab list. */\n label: string\n className?: string\n children?: ReactNode\n}\n\n/**\n * Tabs.\n *\n * The full WAI-ARIA tab pattern: a single tab stop for the whole list (roving tabindex), arrow keys\n * to move between tabs, Home/End to jump to the ends, and `aria-controls`/`aria-labelledby` linking\n * each tab to its panel in both directions.\n *\n * Panels are unmounted when inactive rather than hidden. Hiding keeps the whole tree mounted, which\n * means timers keep running, media keeps buffering and forms keep their state — the last of which\n * sounds desirable until a hidden required field blocks submission with no visible error.\n */\nexport function Tabs({\n items,\n value,\n defaultValue,\n onChange,\n variant = 'underline',\n orientation = 'horizontal',\n size = 'md',\n fitted = false,\n activateOnFocus = true,\n label,\n className,\n children,\n}: TabsProps) {\n const [active, setActive] = useControllableState<string>({\n value,\n defaultValue: defaultValue ?? items.find((item) => !item.disabled)?.id ?? '',\n onChange,\n })\n\n const baseId = useId()\n const tabRefs = useRef<Array<HTMLButtonElement | null>>([])\n\n const activeIndex = items.findIndex((item) => item.id === active)\n const activeItem = items[activeIndex]\n\n const move = (delta: number) => {\n if (items.length === 0) return\n let next = activeIndex < 0 ? 0 : activeIndex\n for (let attempts = 0; attempts < items.length; attempts++) {\n next = (next + delta + items.length) % items.length\n if (!items[next]?.disabled) break\n }\n tabRefs.current[next]?.focus()\n if (activateOnFocus) setActive(items[next]!.id)\n }\n\n const onKeyDown = (event: React.KeyboardEvent) => {\n const forward = orientation === 'horizontal' ? 'ArrowRight' : 'ArrowDown'\n const backward = orientation === 'horizontal' ? 'ArrowLeft' : 'ArrowUp'\n\n switch (event.key) {\n case forward:\n event.preventDefault()\n move(1)\n break\n case backward:\n event.preventDefault()\n move(-1)\n break\n case 'Home': {\n event.preventDefault()\n const first = items.findIndex((item) => !item.disabled)\n if (first >= 0) {\n tabRefs.current[first]?.focus()\n if (activateOnFocus) setActive(items[first]!.id)\n }\n break\n }\n case 'End': {\n event.preventDefault()\n for (let i = items.length - 1; i >= 0; i--) {\n if (!items[i]?.disabled) {\n tabRefs.current[i]?.focus()\n if (activateOnFocus) setActive(items[i]!.id)\n break\n }\n }\n break\n }\n }\n }\n\n return (\n <div\n className={cx(\n 'ansh-tabs',\n `ansh-tabs--${variant}`,\n `ansh-tabs--${orientation}`,\n `ansh-tabs--${size}`,\n className,\n )}\n >\n <div\n role=\"tablist\"\n aria-label={label}\n aria-orientation={orientation}\n className={cx('ansh-tabs__list', fitted && 'ansh-tabs__list--fitted')}\n onKeyDown={onKeyDown}\n >\n {items.map((item, index) => {\n const selected = item.id === active\n return (\n <button\n key={item.id}\n ref={(node) => {\n tabRefs.current[index] = node\n }}\n type=\"button\"\n role=\"tab\"\n id={`${baseId}-tab-${item.id}`}\n aria-selected={selected}\n aria-controls={`${baseId}-panel-${item.id}`}\n // Exactly one tab is in the tab order. Without this, a bar of eight tabs costs a\n // keyboard user eight presses to pass.\n tabIndex={selected ? 0 : -1}\n disabled={item.disabled}\n className={cx(\n 'ansh-tabs__tab',\n selected && 'ansh-tabs__tab--active',\n 'ansh-focusable',\n )}\n onClick={() => setActive(item.id)}\n >\n {item.icon ? <span className=\"ansh-tabs__icon\">{item.icon}</span> : null}\n <span>{item.label}</span>\n {item.badge !== undefined ? (\n <span className=\"ansh-tabs__badge\">{item.badge}</span>\n ) : null}\n </button>\n )\n })}\n </div>\n\n {activeItem?.content !== undefined || children ? (\n <div\n role=\"tabpanel\"\n id={`${baseId}-panel-${active}`}\n aria-labelledby={`${baseId}-tab-${active}`}\n // Focusable so a keyboard user can Tab from the tab into its panel and scroll it, which\n // is required when the panel has no focusable content of its own.\n tabIndex={0}\n className=\"ansh-tabs__panel ansh-focusable\"\n >\n {activeItem?.content ?? children}\n </div>\n ) : null}\n </div>\n )\n}\n","import { type ReactNode, useState } from 'react'\nimport { cx } from '../../primitives/compose'\n\nexport interface Crumb {\n label: ReactNode\n href?: string\n icon?: ReactNode\n onClick?: () => void\n}\n\nexport interface BreadcrumbsProps {\n items: readonly Crumb[]\n /** Collapse the middle when there are more than this many. Default `Infinity`. */\n maxItems?: number\n separator?: ReactNode\n className?: string\n}\n\n/**\n * A breadcrumb trail.\n *\n * `<nav aria-label=\"Breadcrumb\">` around an ordered list, with the last item marked\n * `aria-current=\"page\"` and rendered as text rather than a link. Making the current page a link to\n * itself is a small thing that wastes a keyboard user's time on every page.\n *\n * Separators are `aria-hidden`, so the trail reads as \"Home, Projects, Invoice 401\" rather than\n * \"Home slash Projects slash\".\n */\nexport function Breadcrumbs({\n items,\n maxItems = Number.POSITIVE_INFINITY,\n separator,\n className,\n}: BreadcrumbsProps) {\n const [expanded, setExpanded] = useState(false)\n\n const collapsed = !expanded && items.length > maxItems && maxItems >= 2\n // Keep the first and the last two — the root and where you are — which is the information\n // people actually navigate by.\n const shown = collapsed ? [items[0]!, ...items.slice(-2)] : items\n const gapAfter = collapsed ? 0 : -1\n\n const chevron = separator ?? (\n <svg viewBox=\"0 0 12 12\" width=\"12\" height=\"12\" aria-hidden=\"true\">\n <path\n d=\"M4.5 2.5L8 6l-3.5 3.5\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n fill=\"none\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n )\n\n return (\n <nav aria-label=\"Breadcrumb\" className={cx('ansh-breadcrumbs', className)}>\n <ol className=\"ansh-breadcrumbs__list\">\n {shown.map((crumb, index) => {\n const isLast = index === shown.length - 1\n return (\n <li key={index} className=\"ansh-breadcrumbs__item\">\n {index > 0 ? (\n <span className=\"ansh-breadcrumbs__separator\" aria-hidden=\"true\">\n {chevron}\n </span>\n ) : null}\n\n {isLast ? (\n <span className=\"ansh-breadcrumbs__current\" aria-current=\"page\">\n {crumb.icon}\n {crumb.label}\n </span>\n ) : (\n <a\n href={crumb.href ?? '#'}\n className=\"ansh-breadcrumbs__link ansh-focusable\"\n onClick={\n crumb.onClick\n ? (event) => {\n event.preventDefault()\n crumb.onClick!()\n }\n : undefined\n }\n >\n {crumb.icon}\n {crumb.label}\n </a>\n )}\n\n {index === gapAfter ? (\n <>\n <span className=\"ansh-breadcrumbs__separator\" aria-hidden=\"true\">\n {chevron}\n </span>\n <button\n type=\"button\"\n className=\"ansh-breadcrumbs__more ansh-focusable\"\n aria-label={`Show ${items.length - 3} hidden breadcrumbs`}\n aria-expanded={false}\n onClick={() => setExpanded(true)}\n >\n …\n </button>\n </>\n ) : null}\n </li>\n )\n })}\n </ol>\n </nav>\n )\n}\n\nexport interface Step {\n id: string\n label: ReactNode\n description?: ReactNode\n /** Marks the step failed — validation errors on a wizard page. */\n error?: boolean\n /** Allow jumping to this step directly. */\n clickable?: boolean\n}\n\nexport interface StepperProps {\n steps: readonly Step[]\n /** Index of the current step. Steps before it are complete. */\n current: number\n onStepChange?: (index: number) => void\n orientation?: 'horizontal' | 'vertical'\n className?: string\n}\n\n/**\n * A progress stepper for multi-page flows — checkout, onboarding, approvals.\n *\n * The state of each step is announced in text, not just drawn: `aria-current=\"step\"` on the active\n * one and a visually hidden \"completed\"/\"current\"/\"not started\" on each. A stepper that\n * distinguishes its states with a tick glyph and a colour tells a screen-reader user nothing.\n */\nexport function Stepper({\n steps,\n current,\n onStepChange,\n orientation = 'horizontal',\n className,\n}: StepperProps) {\n return (\n <nav\n className={cx('ansh-stepper', `ansh-stepper--${orientation}`, className)}\n aria-label=\"Progress\"\n >\n <ol className=\"ansh-stepper__list\">\n {steps.map((step, index) => {\n const complete = index < current\n const active = index === current\n const state = step.error\n ? 'error'\n : complete\n ? 'complete'\n : active\n ? 'current'\n : 'upcoming'\n const interactive = step.clickable && onStepChange && index !== current\n\n const inner = (\n <>\n <span\n className={cx('ansh-stepper__marker', `ansh-stepper__marker--${state}`)}\n aria-hidden=\"true\"\n >\n {step.error ? (\n '!'\n ) : complete ? (\n <svg viewBox=\"0 0 14 14\" width=\"12\" height=\"12\">\n <path\n d=\"M2.5 7.5l3 3 6-6.5\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n fill=\"none\"\n />\n </svg>\n ) : (\n index + 1\n )}\n </span>\n <span className=\"ansh-stepper__text\">\n <span className=\"ansh-stepper__label\">{step.label}</span>\n {step.description ? (\n <span className=\"ansh-stepper__description\">{step.description}</span>\n ) : null}\n <span className=\"ansh-visually-hidden\">\n {step.error\n ? ' — has errors'\n : complete\n ? ' — completed'\n : active\n ? ' — current step'\n : ' — not started'}\n </span>\n </span>\n </>\n )\n\n return (\n <li\n key={step.id}\n className={cx('ansh-stepper__item', `ansh-stepper__item--${state}`)}\n aria-current={active ? 'step' : undefined}\n >\n {interactive ? (\n <button\n type=\"button\"\n className=\"ansh-stepper__button ansh-focusable\"\n onClick={() => onStepChange!(index)}\n >\n {inner}\n </button>\n ) : (\n <span className=\"ansh-stepper__button\">{inner}</span>\n )}\n </li>\n )\n })}\n </ol>\n </nav>\n )\n}\n","import { type ReactNode, useEffect, useId, useRef, useState } from 'react'\nimport { cx } from '../../primitives/compose'\n\nexport interface MegaMenuLink {\n id: string\n label: string\n description?: string\n href?: string\n icon?: ReactNode\n onClick?: () => void\n}\n\nexport interface MegaMenuColumn {\n id: string\n heading?: string\n links: readonly MegaMenuLink[]\n}\n\nexport interface NavMenuItem {\n id: string\n label: string\n href?: string\n /** Columns of links. Presence of this makes the item a dropdown rather than a link. */\n columns?: readonly MegaMenuColumn[]\n /** Promoted panel on the right of the dropdown — a featured post, a CTA. */\n feature?: ReactNode\n}\n\nexport interface NavigationMenuProps {\n items: readonly NavMenuItem[]\n label?: string\n className?: string\n}\n\n/**\n * A site navigation bar with mega-menu dropdowns.\n *\n * The pattern marketing sites need and the one most likely to be built with hover alone. This one:\n *\n * - opens on hover **and** on click/Enter, so it works with a keyboard and on touch;\n * - keeps the panel open while the pointer travels toward it, via a close delay;\n * - closes on Escape, returning focus to the trigger;\n * - marks each trigger `aria-expanded` and links it to its panel with `aria-controls`.\n *\n * The panel is a plain absolutely-positioned element rather than a portal. A mega menu is full-width\n * and anchored to the bar, not to a point, so the portal's viewport-relative positioning would fight\n * the layout rather than help it.\n */\nexport function NavigationMenu({\n items,\n label = 'Main navigation',\n className,\n}: NavigationMenuProps) {\n const [openId, setOpenId] = useState<string | null>(null)\n const timerRef = useRef<ReturnType<typeof setTimeout> | undefined>(undefined)\n const rootRef = useRef<HTMLElement | null>(null)\n const baseId = useId()\n\n const schedule = (next: string | null, delay: number) => {\n clearTimeout(timerRef.current)\n timerRef.current = setTimeout(() => setOpenId(next), delay)\n }\n\n useEffect(() => () => clearTimeout(timerRef.current), [])\n\n // Close when focus leaves the whole bar. `focusout` with a `relatedTarget` containment check is\n // the reliable way to detect that — a blur handler on each trigger fires while focus is still\n // moving to a link inside the panel, closing it just before the click lands.\n useEffect(() => {\n if (!openId) return\n const root = rootRef.current\n if (!root) return\n\n const onFocusOut = (event: FocusEvent) => {\n const next = event.relatedTarget as Node | null\n if (next && root.contains(next)) return\n setOpenId(null)\n }\n const onKeyDown = (event: KeyboardEvent) => {\n if (event.key !== 'Escape') return\n setOpenId(null)\n root.querySelector<HTMLElement>(`[aria-expanded=\"true\"]`)?.focus()\n }\n\n root.addEventListener('focusout', onFocusOut)\n document.addEventListener('keydown', onKeyDown)\n return () => {\n root.removeEventListener('focusout', onFocusOut)\n document.removeEventListener('keydown', onKeyDown)\n }\n }, [openId])\n\n return (\n <nav\n ref={rootRef as React.Ref<HTMLElement>}\n className={cx('ansh-navmenu', className)}\n aria-label={label}\n onMouseLeave={() => schedule(null, 200)}\n >\n <ul className=\"ansh-navmenu__list\">\n {items.map((item) => {\n const hasPanel = Boolean(item.columns?.length)\n const open = openId === item.id\n const panelId = `${baseId}-${item.id}`\n\n if (!hasPanel) {\n return (\n <li key={item.id} className=\"ansh-navmenu__item\">\n <a href={item.href ?? '#'} className=\"ansh-navmenu__link ansh-focusable\">\n {item.label}\n </a>\n </li>\n )\n }\n\n return (\n <li\n key={item.id}\n className={cx('ansh-navmenu__item', open && 'ansh-navmenu__item--open')}\n onMouseEnter={() => schedule(item.id, 80)}\n >\n <button\n type=\"button\"\n className=\"ansh-navmenu__link ansh-navmenu__link--trigger ansh-focusable\"\n aria-expanded={open}\n aria-controls={panelId}\n onClick={() => setOpenId(open ? null : item.id)}\n onKeyDown={(event) => {\n if (event.key === 'ArrowDown') {\n event.preventDefault()\n setOpenId(item.id)\n // Focus the first link in the panel on the next frame, once it exists.\n requestAnimationFrame(() => {\n document\n .getElementById(panelId)\n ?.querySelector<HTMLElement>('a, button')\n ?.focus()\n })\n }\n }}\n >\n {item.label}\n <span\n className={cx('ansh-navmenu__chevron', open && 'ansh-navmenu__chevron--open')}\n aria-hidden=\"true\"\n >\n <svg viewBox=\"0 0 12 12\" width=\"10\" height=\"10\">\n <path\n d=\"M3 4.5L6 7.5l3-3\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n fill=\"none\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n </span>\n </button>\n\n <div\n id={panelId}\n className=\"ansh-navmenu__panel\"\n hidden={!open}\n onMouseEnter={() => clearTimeout(timerRef.current)}\n >\n <div className=\"ansh-navmenu__grid\">\n {item.columns!.map((column) => (\n <div className=\"ansh-navmenu__column\" key={column.id}>\n {column.heading ? (\n <p className=\"ansh-navmenu__heading\">{column.heading}</p>\n ) : null}\n <ul className=\"ansh-navmenu__links\">\n {column.links.map((link) => (\n <li key={link.id}>\n <a\n href={link.href ?? '#'}\n className=\"ansh-navmenu__entry ansh-focusable\"\n onClick={\n link.onClick\n ? (event) => {\n event.preventDefault()\n link.onClick!()\n setOpenId(null)\n }\n : () => setOpenId(null)\n }\n >\n {link.icon ? (\n <span className=\"ansh-navmenu__icon\" aria-hidden=\"true\">\n {link.icon}\n </span>\n ) : null}\n <span className=\"ansh-navmenu__entry-text\">\n <span className=\"ansh-navmenu__entry-label\">{link.label}</span>\n {link.description ? (\n <span className=\"ansh-navmenu__entry-description\">\n {link.description}\n </span>\n ) : null}\n </span>\n </a>\n </li>\n ))}\n </ul>\n </div>\n ))}\n\n {item.feature ? (\n <div className=\"ansh-navmenu__feature\">{item.feature}</div>\n ) : null}\n </div>\n </div>\n </li>\n )\n })}\n </ul>\n </nav>\n )\n}\n","import { version } from 'react'\n\n// React 19 treats `inert` as a boolean prop. React 18 doesn't know it, so it drops `inert={true}`\n// with a warning and only writes the attribute for a string, while React 19 reads `inert=\"\"` as\n// false. The peer range covers both, so the form is chosen from the running version.\nconst BOOLEAN_INERT = Number.parseInt(version, 10) >= 19\n\n/**\n * Props that make an element `inert` (out of the tab order, the accessibility tree and\n * hit-testing) on both React 18 and 19. Spread them: `<div {...inertProps(!open)}>`.\n */\nexport function inertProps(inert: boolean): { inert?: boolean } {\n if (!inert) return {}\n // The string form is the React 18 attribute; the cast is because @types/react 19 says boolean.\n return BOOLEAN_INERT ? { inert: true } : ({ inert: '' } as unknown as { inert: boolean })\n}\n","import { type ReactNode, useId, useRef, useState } from 'react'\nimport { cx } from '../primitives/compose'\nimport { useControllableState } from '../primitives/use-controllable-state'\nimport { inertProps } from '../primitives/inert'\n\n/**\n * Disclosure widgets.\n *\n * The animation here is the interesting part. Height cannot be transitioned to `auto`, so the usual\n * workarounds are measuring the content with JavaScript (a forced layout on every toggle, and wrong\n * the moment the content reflows) or a `max-height` guess (which either clips tall content or makes\n * short content ease over an invisible gap, so the timing looks wrong).\n *\n * `grid-template-rows: 0fr → 1fr` transitions to the content's intrinsic height with no JavaScript\n * and no magic numbers. It needs the extra wrapper with `min-height: 0` — without that the grid\n * child refuses to shrink below its content size and nothing animates.\n */\n\nexport interface CollapsibleProps {\n open?: boolean\n defaultOpen?: boolean\n onOpenChange?: (open: boolean) => void\n trigger: ReactNode\n /** Render the trigger as-is rather than wrapping it in the styled button row. */\n bare?: boolean\n className?: string\n children: ReactNode\n}\n\n/** A single show/hide region. */\nexport function Collapsible({\n open,\n defaultOpen = false,\n onOpenChange,\n trigger,\n bare = false,\n className,\n children,\n}: CollapsibleProps) {\n const [isOpen, setOpen] = useControllableState<boolean>({\n value: open,\n defaultValue: defaultOpen,\n onChange: onOpenChange,\n })\n const id = useId()\n\n return (\n <div className={cx('ansh-collapsible', className)} data-state={isOpen ? 'open' : 'closed'}>\n <button\n type=\"button\"\n className={cx(\n bare ? 'ansh-collapsible__bare' : 'ansh-collapsible__trigger',\n 'ansh-focusable',\n )}\n aria-expanded={isOpen}\n aria-controls={id}\n onClick={() => setOpen(!isOpen)}\n >\n {trigger}\n <span\n className={cx('ansh-collapsible__chevron', isOpen && 'ansh-collapsible__chevron--open')}\n aria-hidden=\"true\"\n >\n <svg viewBox=\"0 0 12 12\" width=\"12\" height=\"12\">\n <path\n d=\"M3 4.5L6 7.5l3-3\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n fill=\"none\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n </span>\n </button>\n\n <div\n className=\"ansh-collapsible__region\"\n id={id}\n role=\"region\"\n data-state={isOpen ? 'open' : 'closed'}\n >\n {/* `inert` on the collapsed panel removes its contents from the tab order and the\n accessibility tree. Without it, a keyboard user tabs into links inside a section that\n is visually closed — invisible focus, and no way to tell where they are. */}\n <div className=\"ansh-collapsible__inner\" {...inertProps(!isOpen)}>\n {children}\n </div>\n </div>\n </div>\n )\n}\n\nexport interface AccordionItem {\n id: string\n title: ReactNode\n /** Secondary line under the title. */\n subtitle?: ReactNode\n icon?: ReactNode\n disabled?: boolean\n content: ReactNode\n}\n\nexport interface AccordionProps {\n items: readonly AccordionItem[]\n /** Allow several panels open at once. Default `false`. */\n multiple?: boolean\n /** Open panel ids. */\n value?: readonly string[]\n defaultValue?: readonly string[]\n onChange?: (value: readonly string[]) => void\n variant?: 'bordered' | 'separated' | 'plain'\n className?: string\n}\n\n/**\n * A stack of collapsible sections.\n *\n * Headings are real `<h3>` elements wrapping the button, which is the ARIA-recommended structure: a\n * screen-reader user navigating by heading finds each section, and the button inside carries the\n * expanded state. A `<div>` with `role=\"button\"` looks identical and is invisible to heading\n * navigation.\n *\n * Arrow keys move between headers, and Home/End jump to the ends — the accordion is a composite\n * widget, so this is expected behaviour rather than a nicety.\n */\nexport function Accordion({\n items,\n multiple = false,\n value,\n defaultValue = [],\n onChange,\n variant = 'bordered',\n className,\n}: AccordionProps) {\n const [openIds, setOpenIds] = useControllableState<readonly string[]>({\n value,\n defaultValue,\n onChange,\n })\n const baseId = useId()\n const headerRefs = useRef<Array<HTMLButtonElement | null>>([])\n\n const toggle = (id: string) => {\n if (openIds.includes(id)) {\n setOpenIds(openIds.filter((entry) => entry !== id))\n } else {\n setOpenIds(multiple ? [...openIds, id] : [id])\n }\n }\n\n const onKeyDown = (index: number) => (event: React.KeyboardEvent) => {\n const enabled = items\n .map((item, i) => ({ item, i }))\n .filter(({ item }) => !item.disabled)\n .map(({ i }) => i)\n const position = enabled.indexOf(index)\n let next: number | undefined\n\n switch (event.key) {\n case 'ArrowDown':\n next = enabled[(position + 1) % enabled.length]\n break\n case 'ArrowUp':\n next = enabled[(position - 1 + enabled.length) % enabled.length]\n break\n case 'Home':\n next = enabled[0]\n break\n case 'End':\n next = enabled[enabled.length - 1]\n break\n default:\n return\n }\n\n event.preventDefault()\n if (next !== undefined) headerRefs.current[next]?.focus()\n }\n\n return (\n <div className={cx('ansh-accordion', `ansh-accordion--${variant}`, className)}>\n {items.map((item, index) => {\n const open = openIds.includes(item.id)\n const panelId = `${baseId}-panel-${item.id}`\n const headerId = `${baseId}-header-${item.id}`\n\n return (\n <div\n key={item.id}\n className={cx('ansh-accordion__item', open && 'ansh-accordion__item--open')}\n data-state={open ? 'open' : 'closed'}\n >\n <h3 className=\"ansh-accordion__heading\">\n <button\n ref={(node) => {\n headerRefs.current[index] = node\n }}\n type=\"button\"\n id={headerId}\n className=\"ansh-accordion__trigger ansh-focusable\"\n aria-expanded={open}\n aria-controls={panelId}\n disabled={item.disabled}\n onClick={() => toggle(item.id)}\n onKeyDown={onKeyDown(index)}\n >\n {item.icon ? <span className=\"ansh-accordion__icon\">{item.icon}</span> : null}\n <span className=\"ansh-accordion__text\">\n <span className=\"ansh-accordion__title\">{item.title}</span>\n {item.subtitle ? (\n <span className=\"ansh-accordion__subtitle\">{item.subtitle}</span>\n ) : null}\n </span>\n <span\n className={cx('ansh-accordion__chevron', open && 'ansh-accordion__chevron--open')}\n aria-hidden=\"true\"\n >\n <svg viewBox=\"0 0 12 12\" width=\"12\" height=\"12\">\n <path\n d=\"M3 4.5L6 7.5l3-3\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n fill=\"none\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n </span>\n </button>\n </h3>\n\n <div\n className=\"ansh-accordion__region\"\n id={panelId}\n role=\"region\"\n aria-labelledby={headerId}\n data-state={open ? 'open' : 'closed'}\n >\n <div className=\"ansh-accordion__panel\" {...inertProps(!open)}>\n {item.content}\n </div>\n </div>\n </div>\n )\n })}\n </div>\n )\n}\n\nexport interface DisclosureListProps {\n /** Simple show-more list — the pattern for \"N more items\". */\n items: readonly ReactNode[]\n /** How many to show before collapsing. Default `3`. */\n initial?: number\n moreLabel?: (hidden: number) => string\n lessLabel?: string\n className?: string\n}\n\n/** Show a few items with a \"show N more\" toggle. */\nexport function DisclosureList({\n items,\n initial = 3,\n moreLabel = (hidden) => `Show ${hidden} more`,\n lessLabel = 'Show less',\n className,\n}: DisclosureListProps) {\n const [expanded, setExpanded] = useState(false)\n const id = useId()\n const hidden = items.length - initial\n\n if (hidden <= 0) {\n return (\n <ul className={cx('ansh-disclosure-list', className)}>\n {items.map((item, index) => (\n <li key={index}>{item}</li>\n ))}\n </ul>\n )\n }\n\n return (\n <div className={className}>\n <ul className=\"ansh-disclosure-list\" id={id}>\n {(expanded ? items : items.slice(0, initial)).map((item, index) => (\n <li key={index}>{item}</li>\n ))}\n </ul>\n <button\n type=\"button\"\n className=\"ansh-disclosure-list__toggle ansh-focusable\"\n aria-expanded={expanded}\n aria-controls={id}\n onClick={() => setExpanded((v) => !v)}\n >\n {expanded ? lessLabel : moreLabel(hidden)}\n </button>\n </div>\n )\n}\n"]}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var chunkXMXECSQO_cjs = require('./chunk-XMXECSQO.cjs');
|
|
4
4
|
var chunkPO5DU3FU_cjs = require('./chunk-PO5DU3FU.cjs');
|
|
5
|
-
var
|
|
5
|
+
var chunkTEPQGFR4_cjs = require('./chunk-TEPQGFR4.cjs');
|
|
6
6
|
var chunkSFU5EPSN_cjs = require('./chunk-SFU5EPSN.cjs');
|
|
7
7
|
var react = require('react');
|
|
8
8
|
var jsxRuntime = require('react/jsx-runtime');
|
|
@@ -100,7 +100,7 @@ var Input = react.forwardRef(function Input2({
|
|
|
100
100
|
}, forwardedRef) {
|
|
101
101
|
const fieldProps = useFieldControl();
|
|
102
102
|
const localRef = react.useRef(null);
|
|
103
|
-
const ref =
|
|
103
|
+
const ref = chunkTEPQGFR4_cjs.useMergedRef(localRef, forwardedRef);
|
|
104
104
|
const [hasValue, setHasValue] = react.useState(
|
|
105
105
|
() => String(rest.value ?? rest.defaultValue ?? "").length > 0
|
|
106
106
|
);
|
|
@@ -192,7 +192,7 @@ var Textarea = react.forwardRef(function Textarea2({
|
|
|
192
192
|
}, forwardedRef) {
|
|
193
193
|
const fieldProps = useFieldControl();
|
|
194
194
|
const localRef = react.useRef(null);
|
|
195
|
-
const ref =
|
|
195
|
+
const ref = chunkTEPQGFR4_cjs.useMergedRef(localRef, forwardedRef);
|
|
196
196
|
const [count, setCount] = react.useState(() => String(rest.value ?? rest.defaultValue ?? "").length);
|
|
197
197
|
const resize = react.useCallback(() => {
|
|
198
198
|
const node = localRef.current;
|
|
@@ -398,7 +398,7 @@ var Checkbox = react.forwardRef(function Checkbox2({
|
|
|
398
398
|
}, forwardedRef) {
|
|
399
399
|
const fieldProps = useFieldControl();
|
|
400
400
|
const localRef = react.useRef(null);
|
|
401
|
-
const ref =
|
|
401
|
+
const ref = chunkTEPQGFR4_cjs.useMergedRef(localRef, forwardedRef);
|
|
402
402
|
const generatedId = react.useId();
|
|
403
403
|
const id = rest.id ?? fieldProps.id ?? generatedId;
|
|
404
404
|
const descriptionId = `${id}-hint`;
|
|
@@ -2476,7 +2476,7 @@ function Calendar({
|
|
|
2476
2476
|
}
|
|
2477
2477
|
};
|
|
2478
2478
|
const onKeyDown = (event) => {
|
|
2479
|
-
let next
|
|
2479
|
+
let next;
|
|
2480
2480
|
switch (event.key) {
|
|
2481
2481
|
case "ArrowLeft":
|
|
2482
2482
|
next = addDays(cursor, -1);
|
|
@@ -2550,32 +2550,40 @@ function Calendar({
|
|
|
2550
2550
|
const isDisabled = disabled(date);
|
|
2551
2551
|
const isSelected = mode === "single" ? isSameDay(date, single) : isSameDay(date, range.start) || isSameDay(date, range.end);
|
|
2552
2552
|
const isCursor = isSameDay(date, cursor);
|
|
2553
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2554
|
-
"
|
|
2553
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2554
|
+
"td",
|
|
2555
2555
|
{
|
|
2556
|
-
|
|
2557
|
-
|
|
2558
|
-
className: chunkSFU5EPSN_cjs.cx(
|
|
2559
|
-
"ansh-calendar__day",
|
|
2560
|
-
outside && "ansh-calendar__day--outside",
|
|
2561
|
-
isSelected && "ansh-calendar__day--selected",
|
|
2562
|
-
inRange(date) && "ansh-calendar__day--in-range",
|
|
2563
|
-
isSameDay(date, today) && "ansh-calendar__day--today"
|
|
2564
|
-
),
|
|
2565
|
-
tabIndex: isCursor ? 0 : -1,
|
|
2566
|
-
disabled: isDisabled,
|
|
2556
|
+
className: "ansh-calendar__cell",
|
|
2557
|
+
role: "gridcell",
|
|
2567
2558
|
"aria-selected": isSelected,
|
|
2568
|
-
|
|
2569
|
-
|
|
2570
|
-
|
|
2571
|
-
|
|
2572
|
-
|
|
2573
|
-
|
|
2574
|
-
|
|
2575
|
-
|
|
2576
|
-
|
|
2577
|
-
|
|
2578
|
-
|
|
2559
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2560
|
+
"button",
|
|
2561
|
+
{
|
|
2562
|
+
type: "button",
|
|
2563
|
+
"data-ansh-day": "",
|
|
2564
|
+
className: chunkSFU5EPSN_cjs.cx(
|
|
2565
|
+
"ansh-calendar__day",
|
|
2566
|
+
outside && "ansh-calendar__day--outside",
|
|
2567
|
+
isSelected && "ansh-calendar__day--selected",
|
|
2568
|
+
inRange(date) && "ansh-calendar__day--in-range",
|
|
2569
|
+
isSameDay(date, today) && "ansh-calendar__day--today"
|
|
2570
|
+
),
|
|
2571
|
+
tabIndex: isCursor ? 0 : -1,
|
|
2572
|
+
disabled: isDisabled,
|
|
2573
|
+
"aria-current": isSameDay(date, today) ? "date" : void 0,
|
|
2574
|
+
"aria-label": fullDate.format(date),
|
|
2575
|
+
onClick: () => {
|
|
2576
|
+
setCursor(date);
|
|
2577
|
+
commit(date);
|
|
2578
|
+
},
|
|
2579
|
+
onMouseEnter: () => mode === "range" && setHovered(date),
|
|
2580
|
+
onFocus: () => setCursor(date),
|
|
2581
|
+
children: date.getDate()
|
|
2582
|
+
}
|
|
2583
|
+
)
|
|
2584
|
+
},
|
|
2585
|
+
date.toISOString()
|
|
2586
|
+
);
|
|
2579
2587
|
})
|
|
2580
2588
|
] }, week[0].toISOString())) })
|
|
2581
2589
|
]
|
|
@@ -2972,5 +2980,5 @@ exports.stepActive = stepActive;
|
|
|
2972
2980
|
exports.useFieldContext = useFieldContext;
|
|
2973
2981
|
exports.useFieldControl = useFieldControl;
|
|
2974
2982
|
exports.useTypeahead = useTypeahead;
|
|
2975
|
-
//# sourceMappingURL=chunk-
|
|
2976
|
-
//# sourceMappingURL=chunk-
|
|
2983
|
+
//# sourceMappingURL=chunk-YVJB7AAZ.cjs.map
|
|
2984
|
+
//# sourceMappingURL=chunk-YVJB7AAZ.cjs.map
|