aeon-ui-engine 1.0.3 → 1.1.0
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/CHANGELOG.md +15 -0
- package/CONSUMER.md +39 -42
- package/README.md +47 -16
- package/package.json +9 -2
- package/packages/cli/README.md +17 -0
- package/packages/cli/dist/bin.d.ts +1 -0
- package/packages/cli/dist/bin.js +35 -0
- package/packages/cli/dist/chunk-IW5NT2Z2.js +103 -0
- package/packages/cli/dist/index.d.ts +10 -0
- package/packages/cli/dist/index.js +6 -0
- package/packages/cli/node_modules/.bin/esbuild +21 -0
- package/packages/cli/node_modules/.bin/jiti +21 -0
- package/packages/cli/node_modules/.bin/tsc +21 -0
- package/packages/cli/node_modules/.bin/tsserver +21 -0
- package/packages/cli/node_modules/.bin/tsup +21 -0
- package/packages/cli/node_modules/.bin/tsup-node +21 -0
- package/packages/cli/node_modules/.bin/tsx +21 -0
- package/packages/cli/node_modules/.bin/vite +21 -0
- package/packages/cli/node_modules/.bin/vitest +21 -0
- package/packages/cli/package.json +50 -0
- package/packages/cli/src/bin.ts +34 -0
- package/packages/cli/src/index.ts +1 -0
- package/packages/cli/src/init.ts +107 -0
- package/packages/cli/tsconfig.json +10 -0
- package/packages/core/README.md +7 -1
- package/packages/core/dist/index.d.ts +174 -6
- package/packages/core/dist/index.js +259 -2
- package/packages/core/node_modules/.bin/esbuild +4 -4
- package/packages/core/node_modules/.bin/vite +4 -4
- package/packages/core/node_modules/.bin/vitest +2 -2
- package/packages/core/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -1
- package/packages/core/package.json +17 -5
- package/packages/core/src/anatomy.ts +196 -5
- package/packages/core/src/machine.test.ts +62 -1
- package/packages/core/src/machine.ts +93 -0
- package/packages/core/src/theme.ts +105 -0
- package/packages/panda/aeon.css +7 -0
- package/packages/panda/package.json +1 -1
- package/packages/panda/panda.config.ts +58 -1
- package/packages/panda/src/recipes/app-shell.ts +137 -0
- package/packages/panda/src/recipes/avatar.ts +131 -0
- package/packages/panda/src/recipes/bar.ts +206 -0
- package/packages/panda/src/recipes/button-group.ts +12 -4
- package/packages/panda/src/recipes/button.ts +1 -0
- package/packages/panda/src/recipes/combobox.ts +2 -1
- package/packages/panda/src/recipes/composer.ts +81 -0
- package/packages/panda/src/recipes/content.ts +104 -0
- package/packages/panda/src/recipes/conversation.ts +106 -0
- package/packages/panda/src/recipes/entry.ts +217 -0
- package/packages/panda/src/recipes/field.ts +12 -2
- package/packages/panda/src/recipes/floating.ts +26 -13
- package/packages/panda/src/recipes/identity.ts +73 -0
- package/packages/panda/src/recipes/index.ts +15 -0
- package/packages/panda/src/recipes/list-row.ts +109 -0
- package/packages/panda/src/recipes/metric-strip.ts +80 -0
- package/packages/panda/src/recipes/nav.ts +155 -0
- package/packages/panda/src/recipes/panel.ts +156 -0
- package/packages/panda/src/recipes/pin-input.ts +3 -2
- package/packages/panda/src/recipes/profile-header.ts +120 -0
- package/packages/panda/src/recipes/select.ts +2 -1
- package/packages/panda/src/recipes/slider.ts +6 -4
- package/packages/panda/src/recipes/theme-switcher.ts +110 -0
- package/packages/panda/src/recipes/thread.ts +88 -0
- package/packages/panda/src/theme/catalog-types.ts +2 -0
- package/packages/panda/src/theme/catalog.ts +23 -0
- package/packages/panda/src/theme/chrome.css +2 -1
- package/packages/panda/src/theme/global-theme-css.ts +9 -0
- package/packages/panda/src/theme/omarchy.themes.ts +607 -0
- package/packages/panda/src/theme/palette.ts +3 -0
- package/packages/panda/src/theme/scrollbars.css +58 -21
- package/packages/panda/src/theme/themes.config.ts +39 -1
- package/packages/panda/styled-system/css/conditions.mjs +1 -1
- package/packages/panda/styled-system/css/css.mjs +1 -1
- package/packages/panda/styled-system/css/sva.mjs +9 -4
- package/packages/panda/styled-system/helpers.mjs +11 -22
- package/packages/panda/styled-system/jsx/create-style-context.d.ts +54 -0
- package/packages/panda/styled-system/jsx/create-style-context.mjs +121 -0
- package/packages/panda/styled-system/jsx/factory.mjs +14 -5
- package/packages/panda/styled-system/jsx/index.d.ts +1 -0
- package/packages/panda/styled-system/jsx/index.mjs +1 -0
- package/packages/panda/styled-system/jsx/is-valid-prop.mjs +2 -2
- package/packages/panda/styled-system/patterns/aspect-ratio.d.ts +0 -1
- package/packages/panda/styled-system/patterns/bleed.d.ts +0 -1
- package/packages/panda/styled-system/patterns/box.d.ts +0 -1
- package/packages/panda/styled-system/patterns/center.d.ts +0 -1
- package/packages/panda/styled-system/patterns/circle.d.ts +0 -1
- package/packages/panda/styled-system/patterns/container.d.ts +0 -1
- package/packages/panda/styled-system/patterns/cq.d.ts +0 -1
- package/packages/panda/styled-system/patterns/divider.d.ts +0 -1
- package/packages/panda/styled-system/patterns/flex.d.ts +0 -1
- package/packages/panda/styled-system/patterns/float.d.ts +0 -1
- package/packages/panda/styled-system/patterns/grid-item.d.ts +0 -1
- package/packages/panda/styled-system/patterns/grid.d.ts +0 -1
- package/packages/panda/styled-system/patterns/grid.mjs +1 -1
- package/packages/panda/styled-system/patterns/hstack.d.ts +0 -1
- package/packages/panda/styled-system/patterns/hstack.mjs +1 -1
- package/packages/panda/styled-system/patterns/link-overlay.d.ts +0 -1
- package/packages/panda/styled-system/patterns/spacer.d.ts +0 -1
- package/packages/panda/styled-system/patterns/spacer.mjs +6 -2
- package/packages/panda/styled-system/patterns/square.d.ts +0 -1
- package/packages/panda/styled-system/patterns/stack.d.ts +0 -1
- package/packages/panda/styled-system/patterns/stack.mjs +1 -1
- package/packages/panda/styled-system/patterns/visually-hidden.d.ts +0 -1
- package/packages/panda/styled-system/patterns/vstack.d.ts +0 -1
- package/packages/panda/styled-system/patterns/vstack.mjs +1 -1
- package/packages/panda/styled-system/patterns/wrap.d.ts +0 -1
- package/packages/panda/styled-system/patterns/wrap.mjs +1 -1
- package/packages/panda/styled-system/recipes/aeon-accordion.d.ts +4 -3
- package/packages/panda/styled-system/recipes/aeon-accordion.mjs +1 -0
- package/packages/panda/styled-system/recipes/aeon-app-shell.d.ts +34 -0
- package/packages/panda/styled-system/recipes/aeon-app-shell.mjs +70 -0
- package/packages/panda/styled-system/recipes/aeon-async.d.ts +4 -3
- package/packages/panda/styled-system/recipes/aeon-async.mjs +1 -0
- package/packages/panda/styled-system/recipes/aeon-avatar.d.ts +36 -0
- package/packages/panda/styled-system/recipes/aeon-avatar.mjs +57 -0
- package/packages/panda/styled-system/recipes/aeon-badge.d.ts +3 -0
- package/packages/panda/styled-system/recipes/aeon-bar.d.ts +40 -0
- package/packages/panda/styled-system/recipes/aeon-bar.mjs +77 -0
- package/packages/panda/styled-system/recipes/aeon-button-group.d.ts +3 -2
- package/packages/panda/styled-system/recipes/aeon-button.d.ts +3 -2
- package/packages/panda/styled-system/recipes/aeon-checkbox.d.ts +4 -1
- package/packages/panda/styled-system/recipes/aeon-checkbox.mjs +1 -0
- package/packages/panda/styled-system/recipes/aeon-combobox.d.ts +4 -3
- package/packages/panda/styled-system/recipes/aeon-combobox.mjs +1 -0
- package/packages/panda/styled-system/recipes/aeon-composer.d.ts +31 -0
- package/packages/panda/styled-system/recipes/aeon-composer.mjs +45 -0
- package/packages/panda/styled-system/recipes/aeon-content.d.ts +34 -0
- package/packages/panda/styled-system/recipes/aeon-content.mjs +70 -0
- package/packages/panda/styled-system/recipes/aeon-conversation.d.ts +31 -0
- package/packages/panda/styled-system/recipes/aeon-conversation.mjs +61 -0
- package/packages/panda/styled-system/recipes/aeon-dialog.d.ts +4 -1
- package/packages/panda/styled-system/recipes/aeon-dialog.mjs +1 -0
- package/packages/panda/styled-system/recipes/aeon-entry.d.ts +38 -0
- package/packages/panda/styled-system/recipes/aeon-entry.mjs +100 -0
- package/packages/panda/styled-system/recipes/aeon-field.d.ts +4 -3
- package/packages/panda/styled-system/recipes/aeon-field.mjs +1 -0
- package/packages/panda/styled-system/recipes/aeon-identity.d.ts +36 -0
- package/packages/panda/styled-system/recipes/aeon-identity.mjs +63 -0
- package/packages/panda/styled-system/recipes/aeon-list-row.d.ts +33 -0
- package/packages/panda/styled-system/recipes/aeon-list-row.mjs +49 -0
- package/packages/panda/styled-system/recipes/aeon-menu.d.ts +4 -1
- package/packages/panda/styled-system/recipes/aeon-menu.mjs +1 -0
- package/packages/panda/styled-system/recipes/aeon-metric-strip.d.ts +36 -0
- package/packages/panda/styled-system/recipes/aeon-metric-strip.mjs +54 -0
- package/packages/panda/styled-system/recipes/aeon-nav.d.ts +38 -0
- package/packages/panda/styled-system/recipes/aeon-nav.mjs +69 -0
- package/packages/panda/styled-system/recipes/aeon-panel.d.ts +34 -0
- package/packages/panda/styled-system/recipes/aeon-panel.mjs +58 -0
- package/packages/panda/styled-system/recipes/aeon-pin-input.d.ts +4 -1
- package/packages/panda/styled-system/recipes/aeon-pin-input.mjs +1 -0
- package/packages/panda/styled-system/recipes/aeon-popover.d.ts +4 -1
- package/packages/panda/styled-system/recipes/aeon-popover.mjs +1 -0
- package/packages/panda/styled-system/recipes/aeon-profile-header.d.ts +36 -0
- package/packages/panda/styled-system/recipes/aeon-profile-header.mjs +62 -0
- package/packages/panda/styled-system/recipes/aeon-progress.d.ts +4 -1
- package/packages/panda/styled-system/recipes/aeon-progress.mjs +1 -0
- package/packages/panda/styled-system/recipes/aeon-radio-group.d.ts +4 -1
- package/packages/panda/styled-system/recipes/aeon-radio-group.mjs +1 -0
- package/packages/panda/styled-system/recipes/aeon-scroll.d.ts +4 -3
- package/packages/panda/styled-system/recipes/aeon-scroll.mjs +1 -0
- package/packages/panda/styled-system/recipes/aeon-select.d.ts +4 -3
- package/packages/panda/styled-system/recipes/aeon-select.mjs +1 -0
- package/packages/panda/styled-system/recipes/aeon-separator.d.ts +4 -1
- package/packages/panda/styled-system/recipes/aeon-separator.mjs +1 -0
- package/packages/panda/styled-system/recipes/aeon-slider.d.ts +4 -1
- package/packages/panda/styled-system/recipes/aeon-slider.mjs +1 -0
- package/packages/panda/styled-system/recipes/aeon-switch.d.ts +4 -1
- package/packages/panda/styled-system/recipes/aeon-switch.mjs +1 -0
- package/packages/panda/styled-system/recipes/aeon-tabs.d.ts +4 -1
- package/packages/panda/styled-system/recipes/aeon-tabs.mjs +1 -0
- package/packages/panda/styled-system/recipes/aeon-theme-switcher.d.ts +34 -0
- package/packages/panda/styled-system/recipes/aeon-theme-switcher.mjs +59 -0
- package/packages/panda/styled-system/recipes/aeon-thread.d.ts +31 -0
- package/packages/panda/styled-system/recipes/aeon-thread.mjs +53 -0
- package/packages/panda/styled-system/recipes/aeon-toast.d.ts +4 -1
- package/packages/panda/styled-system/recipes/aeon-toast.mjs +1 -0
- package/packages/panda/styled-system/recipes/aeon-tooltip.d.ts +4 -1
- package/packages/panda/styled-system/recipes/aeon-tooltip.mjs +1 -0
- package/packages/panda/styled-system/recipes/index.d.ts +16 -1
- package/packages/panda/styled-system/recipes/index.mjs +16 -1
- package/packages/panda/styled-system/styles.css +2317 -450
- package/packages/panda/styled-system/tokens/index.mjs +43 -7
- package/packages/panda/styled-system/tokens/tokens.d.ts +5 -5
- package/packages/panda/styled-system/types/composition.d.ts +86 -23
- package/packages/panda/styled-system/types/conditions.d.ts +34 -10
- package/packages/panda/styled-system/types/csstype.d.ts +6405 -5133
- package/packages/panda/styled-system/types/jsx.d.ts +27 -10
- package/packages/panda/styled-system/types/pattern.d.ts +4 -4
- package/packages/panda/styled-system/types/prop-type.d.ts +11 -1
- package/packages/panda/styled-system/types/style-props.d.ts +2763 -2165
- package/packages/panda/styled-system/types/system-types.d.ts +38 -80
- package/packages/panda/theme-runtime.css +945 -0
- package/packages/primitives/dist/chunk-R25CUHNF.js +46 -0
- package/packages/primitives/dist/chunk-RO2DMFN5.js +89 -0
- package/packages/primitives/dist/chunk-V5D7LS4J.js +61 -0
- package/packages/primitives/dist/chunk-YBPNI2LI.js +70 -0
- package/packages/primitives/dist/index.d.ts +4 -0
- package/packages/primitives/dist/index.js +30 -8
- package/packages/primitives/dist/machines/app-shell.d.ts +57 -0
- package/packages/primitives/dist/machines/app-shell.js +8 -0
- package/packages/primitives/dist/machines/async.d.ts +4 -4
- package/packages/primitives/dist/machines/content-region.d.ts +72 -0
- package/packages/primitives/dist/machines/content-region.js +8 -0
- package/packages/primitives/dist/machines/panel.d.ts +50 -0
- package/packages/primitives/dist/machines/panel.js +6 -0
- package/packages/primitives/dist/machines/sticky-bar.d.ts +62 -0
- package/packages/primitives/dist/machines/sticky-bar.js +8 -0
- package/packages/primitives/node_modules/.bin/esbuild +21 -0
- package/packages/primitives/node_modules/.bin/vite +21 -0
- package/packages/primitives/node_modules/.bin/vitest +2 -2
- package/packages/primitives/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -1
- package/packages/primitives/package.json +15 -5
- package/packages/primitives/scripts/xstate-introspect.mjs +35 -0
- package/packages/primitives/src/index.ts +4 -0
- package/packages/primitives/src/machines/app-shell.ts +63 -0
- package/packages/primitives/src/machines/content-region.ts +107 -0
- package/packages/primitives/src/machines/panel.ts +71 -0
- package/packages/primitives/src/machines/sticky-bar.ts +89 -0
- package/packages/react/dist/index.d.ts +403 -16
- package/packages/react/dist/index.js +1505 -227
- package/packages/react/node_modules/.bin/esbuild +21 -0
- package/packages/react/node_modules/.bin/vite +21 -0
- package/packages/react/node_modules/.bin/vitest +2 -2
- package/packages/react/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -1
- package/packages/react/package.json +18 -7
- package/packages/react/src/app-shell/index.tsx +154 -0
- package/packages/react/src/async/index.tsx +6 -1
- package/packages/react/src/async/map-content-state.ts +18 -0
- package/packages/react/src/avatar/index.tsx +19 -0
- package/packages/react/src/bar/index.tsx +101 -0
- package/packages/react/src/button/index.tsx +4 -2
- package/packages/react/src/composer/index.tsx +75 -0
- package/packages/react/src/content/index.tsx +149 -0
- package/packages/react/src/conversation/index.tsx +78 -0
- package/packages/react/src/entry/index.tsx +85 -0
- package/packages/react/src/field/index.tsx +31 -18
- package/packages/react/src/identity/index.tsx +110 -0
- package/packages/react/src/index.ts +15 -0
- package/packages/react/src/list-row/index.tsx +80 -0
- package/packages/react/src/metric-strip/index.tsx +88 -0
- package/packages/react/src/nav/index.tsx +155 -0
- package/packages/react/src/panel/index.tsx +267 -0
- package/packages/react/src/profile-header/index.tsx +91 -0
- package/packages/react/src/radio-group/index.tsx +19 -7
- package/packages/react/src/slider/index.tsx +3 -1
- package/packages/react/src/sticky-bar/index.tsx +135 -0
- package/packages/react/src/switch/index.tsx +7 -1
- package/packages/react/src/theme-switcher/index.tsx +227 -0
- package/packages/react/src/thread/index.tsx +95 -0
- package/packages/react/src/toast/primitives.tsx +2 -2
- package/packages/react/src/tooltip/tooltip.test.tsx +9 -1
- package/packages/react/tsconfig.json +2 -1
- package/packages/schemas/README.md +52 -0
- package/packages/schemas/dist/index.d.ts +287 -0
- package/packages/schemas/dist/index.js +701 -0
- package/packages/schemas/json/accordion.json +132 -0
- package/packages/schemas/json/async.json +161 -0
- package/packages/schemas/json/button.json +170 -0
- package/packages/schemas/json/catalog.json +2299 -0
- package/packages/schemas/json/checkbox.json +136 -0
- package/packages/schemas/json/combobox.json +130 -0
- package/packages/schemas/json/dialog.json +154 -0
- package/packages/schemas/json/field.json +171 -0
- package/packages/schemas/json/menu.json +138 -0
- package/packages/schemas/json/popover.json +133 -0
- package/packages/schemas/json/progress.json +137 -0
- package/packages/schemas/json/scroll.json +129 -0
- package/packages/schemas/json/select.json +140 -0
- package/packages/schemas/json/switch.json +136 -0
- package/packages/schemas/json/tabs.json +135 -0
- package/packages/schemas/json/toast.json +141 -0
- package/packages/schemas/json/tooltip.json +123 -0
- package/packages/schemas/node_modules/.bin/esbuild +21 -0
- package/packages/schemas/node_modules/.bin/jiti +21 -0
- package/packages/schemas/node_modules/.bin/tsc +21 -0
- package/packages/schemas/node_modules/.bin/tsserver +21 -0
- package/packages/schemas/node_modules/.bin/tsup +21 -0
- package/packages/schemas/node_modules/.bin/tsup-node +21 -0
- package/packages/schemas/node_modules/.bin/tsx +21 -0
- package/packages/schemas/node_modules/.bin/vite +21 -0
- package/packages/schemas/node_modules/.bin/vitest +21 -0
- package/packages/schemas/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -0
- package/packages/schemas/package.json +56 -0
- package/packages/schemas/prompts/cursorrules.md +64 -0
- package/packages/schemas/prompts/statecharts.md +31 -0
- package/packages/schemas/prompts/system.md +30 -0
- package/packages/schemas/registry/catalog.json +54 -0
- package/packages/schemas/registry/components/accordion.json +132 -0
- package/packages/schemas/registry/components/async.json +161 -0
- package/packages/schemas/registry/components/button.json +170 -0
- package/packages/schemas/registry/components/checkbox.json +136 -0
- package/packages/schemas/registry/components/combobox.json +130 -0
- package/packages/schemas/registry/components/dialog.json +154 -0
- package/packages/schemas/registry/components/field.json +171 -0
- package/packages/schemas/registry/components/menu.json +138 -0
- package/packages/schemas/registry/components/popover.json +133 -0
- package/packages/schemas/registry/components/progress.json +137 -0
- package/packages/schemas/registry/components/scroll.json +129 -0
- package/packages/schemas/registry/components/select.json +140 -0
- package/packages/schemas/registry/components/switch.json +136 -0
- package/packages/schemas/registry/components/tabs.json +135 -0
- package/packages/schemas/registry/components/toast.json +141 -0
- package/packages/schemas/registry/components/tooltip.json +123 -0
- package/packages/schemas/registry/machines/async.json +219 -0
- package/packages/schemas/registry/machines/buttonLifecycle.json +224 -0
- package/packages/schemas/registry/machines/dialog.json +143 -0
- package/packages/schemas/registry/machines/field.json +275 -0
- package/packages/schemas/scripts/emit.ts +61 -0
- package/packages/schemas/src/aeon-to-schema.test.ts +70 -0
- package/packages/schemas/src/aeon-to-schema.ts +206 -0
- package/packages/schemas/src/agent-bridge.ts +82 -0
- package/packages/schemas/src/components.ts +307 -0
- package/packages/schemas/src/index.test.ts +25 -0
- package/packages/schemas/src/index.ts +25 -0
- package/packages/schemas/src/prompts.ts +121 -0
- package/packages/schemas/src/registry.ts +73 -0
- package/packages/schemas/src/schema-builder.ts +87 -0
- package/packages/schemas/tsconfig.json +9 -0
- package/packages/solid/package.json +2 -2
- package/packages/svelte/node_modules/.bin/esbuild +21 -0
- package/packages/svelte/node_modules/.bin/vite +4 -4
- package/packages/svelte/package.json +15 -5
- package/packages/ui/README.md +19 -6
- package/packages/ui/dist/index.d.ts +254 -9
- package/packages/ui/dist/index.js +690 -139
- package/packages/ui/src/app-shell.tsx +44 -0
- package/packages/ui/src/async.tsx +2 -1
- package/packages/ui/src/avatar.tsx +35 -0
- package/packages/ui/src/bar.tsx +34 -0
- package/packages/ui/src/composer.tsx +27 -0
- package/packages/ui/src/content.tsx +43 -0
- package/packages/ui/src/conversation.tsx +43 -0
- package/packages/ui/src/entry.tsx +76 -0
- package/packages/ui/src/field.tsx +5 -0
- package/packages/ui/src/identity.tsx +35 -0
- package/packages/ui/src/index.ts +16 -0
- package/packages/ui/src/list-row.tsx +30 -0
- package/packages/ui/src/metric-strip.tsx +29 -0
- package/packages/ui/src/nav.tsx +46 -0
- package/packages/ui/src/panel.tsx +39 -0
- package/packages/ui/src/profile-header.tsx +35 -0
- package/packages/ui/src/sticky-bar.tsx +42 -0
- package/packages/ui/src/switch.tsx +17 -4
- package/packages/ui/src/theme-switcher.tsx +41 -0
- package/packages/ui/src/thread.tsx +35 -0
- package/packages/vue/package.json +3 -3
- package/scripts/vite-aliases.mjs +57 -3
- package/scripts/xstate-introspect.mjs +68 -0
- package/packages/react/src/async/legacy-region.tsx +0 -38
|
@@ -29,12 +29,13 @@ import { jsx } from "react/jsx-runtime";
|
|
|
29
29
|
var Root = forwardRef(function ButtonRoot({ variant = "solid", size = "md", disabled, status = "idle", children, className, ...rest }, ref) {
|
|
30
30
|
const resolvedStatus = disabled ? "disabled" : status;
|
|
31
31
|
const isBusy = resolvedStatus === "pending";
|
|
32
|
+
const isLocked = resolvedStatus === "success";
|
|
32
33
|
return /* @__PURE__ */ jsx(
|
|
33
34
|
"button",
|
|
34
35
|
{
|
|
35
36
|
ref,
|
|
36
37
|
type: "button",
|
|
37
|
-
disabled: disabled || isBusy || resolvedStatus === "disabled",
|
|
38
|
+
disabled: disabled || isBusy || isLocked || resolvedStatus === "disabled",
|
|
38
39
|
"aria-busy": isBusy || void 0,
|
|
39
40
|
className,
|
|
40
41
|
"data-aeon-variant": variant,
|
|
@@ -42,7 +43,7 @@ var Root = forwardRef(function ButtonRoot({ variant = "solid", size = "md", disa
|
|
|
42
43
|
...mergeProps(
|
|
43
44
|
partAttrs(buttonAnatomy.scope, buttonAnatomy.root, {
|
|
44
45
|
state: resolvedStatus,
|
|
45
|
-
disabled: Boolean(disabled || resolvedStatus === "disabled")
|
|
46
|
+
disabled: Boolean(disabled || resolvedStatus === "disabled" || isLocked)
|
|
46
47
|
}),
|
|
47
48
|
rest
|
|
48
49
|
),
|
|
@@ -79,7 +80,7 @@ function useAeonMachine(machine, options) {
|
|
|
79
80
|
}
|
|
80
81
|
|
|
81
82
|
// src/switch/index.tsx
|
|
82
|
-
import { jsx as jsx2 } from "react/jsx-runtime";
|
|
83
|
+
import { Fragment, jsx as jsx2 } from "react/jsx-runtime";
|
|
83
84
|
var SwitchCtx = createContext(null);
|
|
84
85
|
function useSwitchCtx() {
|
|
85
86
|
const ctx = useContext(SwitchCtx);
|
|
@@ -135,7 +136,7 @@ var Root2 = forwardRef2(function SwitchRoot({ checked, defaultChecked = false, d
|
|
|
135
136
|
},
|
|
136
137
|
rest
|
|
137
138
|
),
|
|
138
|
-
children
|
|
139
|
+
children: children ?? /* @__PURE__ */ jsx2(Fragment, { children: /* @__PURE__ */ jsx2(Control, { children: /* @__PURE__ */ jsx2(Thumb, {}) }) })
|
|
139
140
|
}
|
|
140
141
|
) });
|
|
141
142
|
});
|
|
@@ -827,6 +828,7 @@ import { tabsMachine as tabsMachine2 } from "@aeon-ui/primitives";
|
|
|
827
828
|
import {
|
|
828
829
|
createContext as createContext6,
|
|
829
830
|
forwardRef as forwardRef8,
|
|
831
|
+
useCallback,
|
|
830
832
|
useContext as useContext6,
|
|
831
833
|
useEffect as useEffect8,
|
|
832
834
|
useMemo as useMemo6
|
|
@@ -849,13 +851,22 @@ var Root8 = forwardRef8(function RadioGroupRoot({ value, defaultValue = "", onVa
|
|
|
849
851
|
input: { value: defaultValue, disabled: false }
|
|
850
852
|
});
|
|
851
853
|
const resolvedValue = value ?? snapshot.context.value;
|
|
854
|
+
const controlled = value !== void 0;
|
|
855
|
+
const selectValue = useCallback(
|
|
856
|
+
(next) => {
|
|
857
|
+
if (controlled) onValueChange?.(next);
|
|
858
|
+
else send({ type: "SELECT", value: next });
|
|
859
|
+
},
|
|
860
|
+
[controlled, onValueChange, send]
|
|
861
|
+
);
|
|
852
862
|
useEffect8(() => {
|
|
853
|
-
|
|
854
|
-
|
|
863
|
+
if (controlled) return;
|
|
864
|
+
onValueChange?.(snapshot.context.value);
|
|
865
|
+
}, [snapshot.context.value, controlled, onValueChange]);
|
|
855
866
|
useEffect8(() => {
|
|
856
867
|
if (value !== void 0) send({ type: "SET_VALUE", value });
|
|
857
868
|
}, [value, send]);
|
|
858
|
-
const ctx = useMemo6(() => ({ value: resolvedValue, send }), [resolvedValue, send]);
|
|
869
|
+
const ctx = useMemo6(() => ({ value: resolvedValue, send, selectValue }), [resolvedValue, send, selectValue]);
|
|
859
870
|
return /* @__PURE__ */ jsx8(RadioGroupCtx.Provider, { value: ctx, children: /* @__PURE__ */ jsx8(
|
|
860
871
|
"div",
|
|
861
872
|
{
|
|
@@ -889,9 +900,9 @@ var Item = forwardRef8(function RadioGroupItem({ value: itemValue, children, ...
|
|
|
889
900
|
) });
|
|
890
901
|
});
|
|
891
902
|
var ItemControl = forwardRef8(function RadioGroupItemControl({ onClick, onKeyDown, ...rest }, ref) {
|
|
892
|
-
const {
|
|
903
|
+
const { selectValue } = useRadioGroupCtx();
|
|
893
904
|
const { value: itemValue, selected } = useRadioGroupItemCtx();
|
|
894
|
-
const select = () =>
|
|
905
|
+
const select = () => selectValue(itemValue);
|
|
895
906
|
return /* @__PURE__ */ jsx8(
|
|
896
907
|
"span",
|
|
897
908
|
{
|
|
@@ -937,7 +948,7 @@ var ItemIndicator = forwardRef8(function RadioGroupItemIndicator(props, ref) {
|
|
|
937
948
|
);
|
|
938
949
|
});
|
|
939
950
|
var ItemLabel = forwardRef8(function RadioGroupItemLabel({ onClick, ...rest }, ref) {
|
|
940
|
-
const {
|
|
951
|
+
const { selectValue } = useRadioGroupCtx();
|
|
941
952
|
const { value: itemValue } = useRadioGroupItemCtx();
|
|
942
953
|
return /* @__PURE__ */ jsx8(
|
|
943
954
|
"span",
|
|
@@ -948,7 +959,7 @@ var ItemLabel = forwardRef8(function RadioGroupItemLabel({ onClick, ...rest }, r
|
|
|
948
959
|
{
|
|
949
960
|
onClick: (e) => {
|
|
950
961
|
onClick?.(e);
|
|
951
|
-
|
|
962
|
+
selectValue(itemValue);
|
|
952
963
|
}
|
|
953
964
|
},
|
|
954
965
|
rest
|
|
@@ -964,7 +975,7 @@ import { sliderMachine, snapSliderValue } from "@aeon-ui/primitives";
|
|
|
964
975
|
import {
|
|
965
976
|
createContext as createContext7,
|
|
966
977
|
forwardRef as forwardRef9,
|
|
967
|
-
useCallback,
|
|
978
|
+
useCallback as useCallback2,
|
|
968
979
|
useContext as useContext7,
|
|
969
980
|
useEffect as useEffect9,
|
|
970
981
|
useMemo as useMemo7,
|
|
@@ -1011,7 +1022,7 @@ var Root9 = forwardRef9(function SliderRoot({
|
|
|
1011
1022
|
useEffect9(() => {
|
|
1012
1023
|
if (value !== void 0) send({ type: "SET_VALUE", value });
|
|
1013
1024
|
}, [value, send]);
|
|
1014
|
-
const setValueFromClientX =
|
|
1025
|
+
const setValueFromClientX = useCallback2(
|
|
1015
1026
|
(clientX) => {
|
|
1016
1027
|
const track = trackRef.current;
|
|
1017
1028
|
if (!track || disabled) return;
|
|
@@ -1105,7 +1116,7 @@ var Range2 = forwardRef9(function SliderRange({ style, ...rest }, ref) {
|
|
|
1105
1116
|
);
|
|
1106
1117
|
});
|
|
1107
1118
|
var Thumb2 = forwardRef9(function SliderThumb({ onKeyDown, onPointerDown, style, ...rest }, ref) {
|
|
1108
|
-
const { value, min, max, step, disabled, dragging, send } = useSliderCtx();
|
|
1119
|
+
const { value, min, max, step, disabled, dragging, send, setValueFromClientX } = useSliderCtx();
|
|
1109
1120
|
return /* @__PURE__ */ jsx9(
|
|
1110
1121
|
"span",
|
|
1111
1122
|
{
|
|
@@ -1124,7 +1135,9 @@ var Thumb2 = forwardRef9(function SliderThumb({ onKeyDown, onPointerDown, style,
|
|
|
1124
1135
|
onPointerDown?.(e);
|
|
1125
1136
|
if (disabled || e.button !== 0) return;
|
|
1126
1137
|
e.stopPropagation();
|
|
1138
|
+
e.currentTarget.setPointerCapture(e.pointerId);
|
|
1127
1139
|
send({ type: "POINTER_DOWN" });
|
|
1140
|
+
setValueFromClientX(e.clientX);
|
|
1128
1141
|
},
|
|
1129
1142
|
onKeyDown: (e) => {
|
|
1130
1143
|
onKeyDown?.(e);
|
|
@@ -1163,7 +1176,7 @@ import { partAttrs as partAttrs10, partOnlyAttrs as partOnlyAttrs4, pinInputAnat
|
|
|
1163
1176
|
import {
|
|
1164
1177
|
createContext as createContext8,
|
|
1165
1178
|
forwardRef as forwardRef10,
|
|
1166
|
-
useCallback as
|
|
1179
|
+
useCallback as useCallback3,
|
|
1167
1180
|
useContext as useContext8,
|
|
1168
1181
|
useEffect as useEffect10,
|
|
1169
1182
|
useMemo as useMemo8,
|
|
@@ -1202,7 +1215,7 @@ var Root10 = forwardRef10(function PinInputRoot({
|
|
|
1202
1215
|
onValueChange?.(resolved);
|
|
1203
1216
|
if (resolved.length === length && !resolved.includes("")) onComplete?.(resolved);
|
|
1204
1217
|
}, [resolved, length, onValueChange, onComplete]);
|
|
1205
|
-
const setChars =
|
|
1218
|
+
const setChars = useCallback3(
|
|
1206
1219
|
(next) => {
|
|
1207
1220
|
const joined = next.slice(0, length).join("");
|
|
1208
1221
|
if (!controlled) setUncontrolled(next.slice(0, length));
|
|
@@ -1211,7 +1224,7 @@ var Root10 = forwardRef10(function PinInputRoot({
|
|
|
1211
1224
|
},
|
|
1212
1225
|
[controlled, length, onValueChange, onComplete]
|
|
1213
1226
|
);
|
|
1214
|
-
const setChar =
|
|
1227
|
+
const setChar = useCallback3(
|
|
1215
1228
|
(index, char) => {
|
|
1216
1229
|
const next = [...chars.slice(0, length)];
|
|
1217
1230
|
while (next.length < length) next.push("");
|
|
@@ -1220,12 +1233,12 @@ var Root10 = forwardRef10(function PinInputRoot({
|
|
|
1220
1233
|
},
|
|
1221
1234
|
[chars, length, setChars]
|
|
1222
1235
|
);
|
|
1223
|
-
const focusInput =
|
|
1236
|
+
const focusInput = useCallback3((index) => {
|
|
1224
1237
|
const el = inputRefs.current[index];
|
|
1225
1238
|
el?.focus();
|
|
1226
1239
|
el?.select();
|
|
1227
1240
|
}, []);
|
|
1228
|
-
const registerInput =
|
|
1241
|
+
const registerInput = useCallback3((index, el) => {
|
|
1229
1242
|
inputRefs.current[index] = el;
|
|
1230
1243
|
}, []);
|
|
1231
1244
|
const ctx = useMemo8(
|
|
@@ -1580,35 +1593,25 @@ var AsyncTrack = forwardRef15(function AsyncTrack2({ states = ASYNC_LIFECYCLE_ST
|
|
|
1580
1593
|
);
|
|
1581
1594
|
});
|
|
1582
1595
|
|
|
1583
|
-
// src/async/
|
|
1584
|
-
|
|
1585
|
-
|
|
1586
|
-
|
|
1587
|
-
|
|
1588
|
-
|
|
1589
|
-
|
|
1590
|
-
|
|
1591
|
-
|
|
1592
|
-
|
|
1593
|
-
|
|
1594
|
-
|
|
1595
|
-
|
|
1596
|
-
|
|
1597
|
-
|
|
1598
|
-
...mergeProps(partAttrs13("async", "root", { state: status })),
|
|
1599
|
-
children: content ?? /* @__PURE__ */ jsxs2(Fragment, { children: [
|
|
1600
|
-
status === "idle" && /* @__PURE__ */ jsx17("span", { "data-aeon-part": "idle", children: "Ready" }),
|
|
1601
|
-
status === "loading" && /* @__PURE__ */ jsx17("span", { "data-aeon-part": "loading", children: "Loading\u2026" }),
|
|
1602
|
-
status === "success" && /* @__PURE__ */ jsx17("span", { "data-aeon-part": "success", children: String(data) }),
|
|
1603
|
-
status === "failure" && /* @__PURE__ */ jsx17("span", { "data-aeon-part": "failure", children: error }),
|
|
1604
|
-
status === "empty" && /* @__PURE__ */ jsx17("span", { "data-aeon-part": "empty", children: "No results" })
|
|
1605
|
-
] })
|
|
1606
|
-
}
|
|
1607
|
-
);
|
|
1596
|
+
// src/async/map-content-state.ts
|
|
1597
|
+
function asyncStatusToContentState(status) {
|
|
1598
|
+
switch (status) {
|
|
1599
|
+
case "loading":
|
|
1600
|
+
return "pending";
|
|
1601
|
+
case "empty":
|
|
1602
|
+
return "empty";
|
|
1603
|
+
case "failure":
|
|
1604
|
+
return "error";
|
|
1605
|
+
case "success":
|
|
1606
|
+
return "success";
|
|
1607
|
+
case "idle":
|
|
1608
|
+
default:
|
|
1609
|
+
return "idle";
|
|
1610
|
+
}
|
|
1608
1611
|
}
|
|
1609
1612
|
|
|
1610
1613
|
// src/async/index.tsx
|
|
1611
|
-
import { createAsyncMachine as
|
|
1614
|
+
import { createAsyncMachine as createAsyncMachine2 } from "@aeon-ui/primitives";
|
|
1612
1615
|
var Async = {
|
|
1613
1616
|
Root: AsyncRoot,
|
|
1614
1617
|
Provider: AsyncProvider,
|
|
@@ -1618,15 +1621,15 @@ var Async = {
|
|
|
1618
1621
|
};
|
|
1619
1622
|
|
|
1620
1623
|
// src/field/index.tsx
|
|
1621
|
-
import { fieldAnatomy, partAttrs as
|
|
1624
|
+
import { fieldAnatomy, fieldFace, fieldRegions, partAttrs as partAttrs13, partOnlyAttrs as partOnlyAttrs9 } from "@aeon-ui/core";
|
|
1622
1625
|
import { fieldMachine } from "@aeon-ui/primitives";
|
|
1623
1626
|
import {
|
|
1624
1627
|
createContext as createContext11,
|
|
1625
1628
|
forwardRef as forwardRef16,
|
|
1626
1629
|
useContext as useContext11,
|
|
1627
|
-
useMemo as
|
|
1630
|
+
useMemo as useMemo11
|
|
1628
1631
|
} from "react";
|
|
1629
|
-
import { jsx as
|
|
1632
|
+
import { jsx as jsx17 } from "react/jsx-runtime";
|
|
1630
1633
|
var FieldCtx = createContext11(null);
|
|
1631
1634
|
function useFieldContext() {
|
|
1632
1635
|
const ctx = useContext11(FieldCtx);
|
|
@@ -1635,30 +1638,43 @@ function useFieldContext() {
|
|
|
1635
1638
|
}
|
|
1636
1639
|
var Root12 = forwardRef16(function FieldRoot({ children, className, id }, ref) {
|
|
1637
1640
|
const [snapshot, send] = useAeonMachine(fieldMachine);
|
|
1638
|
-
const
|
|
1639
|
-
const
|
|
1640
|
-
const
|
|
1641
|
-
const
|
|
1642
|
-
|
|
1643
|
-
|
|
1644
|
-
|
|
1645
|
-
|
|
1641
|
+
const face = fieldFace(snapshot.value);
|
|
1642
|
+
const regions = fieldRegions(snapshot.value);
|
|
1643
|
+
const invalid = regions.validation === "invalid";
|
|
1644
|
+
const pending = regions.submission === "pending";
|
|
1645
|
+
const value = useMemo11(
|
|
1646
|
+
() => ({
|
|
1647
|
+
face,
|
|
1648
|
+
stateAttr: face,
|
|
1649
|
+
interaction: regions.interaction,
|
|
1650
|
+
validation: regions.validation,
|
|
1651
|
+
submission: regions.submission,
|
|
1652
|
+
send,
|
|
1653
|
+
invalid,
|
|
1654
|
+
pending
|
|
1655
|
+
}),
|
|
1656
|
+
[face, regions.interaction, regions.validation, regions.submission, send, invalid, pending]
|
|
1657
|
+
);
|
|
1658
|
+
return /* @__PURE__ */ jsx17(FieldCtx.Provider, { value, children: /* @__PURE__ */ jsx17(
|
|
1646
1659
|
"div",
|
|
1647
1660
|
{
|
|
1648
1661
|
ref,
|
|
1649
1662
|
id,
|
|
1650
1663
|
className,
|
|
1651
|
-
|
|
1664
|
+
"data-aeon-interaction": regions.interaction,
|
|
1665
|
+
"data-aeon-validation": regions.validation,
|
|
1666
|
+
"data-aeon-submission": regions.submission,
|
|
1667
|
+
...partAttrs13(fieldAnatomy.scope, fieldAnatomy.root, { state: face }),
|
|
1652
1668
|
children
|
|
1653
1669
|
}
|
|
1654
1670
|
) });
|
|
1655
1671
|
});
|
|
1656
1672
|
var Label5 = forwardRef16(function FieldLabel(props, ref) {
|
|
1657
|
-
return /* @__PURE__ */
|
|
1673
|
+
return /* @__PURE__ */ jsx17("label", { ref, ...partOnlyAttrs9(fieldAnatomy.label), ...props });
|
|
1658
1674
|
});
|
|
1659
1675
|
var Control3 = forwardRef16(function FieldControl({ validate, onChange, onBlur, ...rest }, ref) {
|
|
1660
1676
|
const { send, invalid } = useFieldContext();
|
|
1661
|
-
return /* @__PURE__ */
|
|
1677
|
+
return /* @__PURE__ */ jsx17(
|
|
1662
1678
|
"input",
|
|
1663
1679
|
{
|
|
1664
1680
|
ref,
|
|
@@ -1684,7 +1700,7 @@ var Control3 = forwardRef16(function FieldControl({ validate, onChange, onBlur,
|
|
|
1684
1700
|
});
|
|
1685
1701
|
var Textarea = forwardRef16(function FieldTextarea({ validate, onChange, onBlur, ...rest }, ref) {
|
|
1686
1702
|
const { send, invalid } = useFieldContext();
|
|
1687
|
-
return /* @__PURE__ */
|
|
1703
|
+
return /* @__PURE__ */ jsx17(
|
|
1688
1704
|
"textarea",
|
|
1689
1705
|
{
|
|
1690
1706
|
ref,
|
|
@@ -1709,34 +1725,35 @@ var Textarea = forwardRef16(function FieldTextarea({ validate, onChange, onBlur,
|
|
|
1709
1725
|
);
|
|
1710
1726
|
});
|
|
1711
1727
|
var Message = forwardRef16(
|
|
1712
|
-
function FieldMessage(props, ref) {
|
|
1728
|
+
function FieldMessage({ children, ...props }, ref) {
|
|
1713
1729
|
const { invalid } = useFieldContext();
|
|
1714
1730
|
if (!invalid) return null;
|
|
1715
|
-
return /* @__PURE__ */
|
|
1731
|
+
return /* @__PURE__ */ jsx17(
|
|
1716
1732
|
"p",
|
|
1717
1733
|
{
|
|
1718
1734
|
ref,
|
|
1719
1735
|
role: "alert",
|
|
1720
1736
|
...partOnlyAttrs9(fieldAnatomy.message, { state: "invalid" }),
|
|
1721
|
-
...props
|
|
1737
|
+
...props,
|
|
1738
|
+
children: children ?? "Check this field."
|
|
1722
1739
|
}
|
|
1723
1740
|
);
|
|
1724
1741
|
}
|
|
1725
1742
|
);
|
|
1726
1743
|
var Hint = forwardRef16(
|
|
1727
1744
|
function FieldHint(props, ref) {
|
|
1728
|
-
return /* @__PURE__ */
|
|
1745
|
+
return /* @__PURE__ */ jsx17("p", { ref, ...partOnlyAttrs9(fieldAnatomy.hint), ...props });
|
|
1729
1746
|
}
|
|
1730
1747
|
);
|
|
1731
|
-
var Field = { Root: Root12, Label: Label5, Control: Control3, Textarea, Message, Hint };
|
|
1748
|
+
var Field = { Root: Root12, Label: Label5, Control: Control3, Input: Control3, Textarea, Message, Hint };
|
|
1732
1749
|
|
|
1733
1750
|
// src/scroll/index.tsx
|
|
1734
|
-
import { scrollAnatomy, partAttrs as
|
|
1751
|
+
import { scrollAnatomy, partAttrs as partAttrs14, partOnlyAttrs as partOnlyAttrs10 } from "@aeon-ui/core";
|
|
1735
1752
|
import {
|
|
1736
1753
|
createContext as createContext12,
|
|
1737
1754
|
forwardRef as forwardRef17,
|
|
1738
1755
|
useContext as useContext12,
|
|
1739
|
-
useMemo as
|
|
1756
|
+
useMemo as useMemo12,
|
|
1740
1757
|
useRef as useRef4
|
|
1741
1758
|
} from "react";
|
|
1742
1759
|
|
|
@@ -1766,7 +1783,7 @@ function useScrollState(ref) {
|
|
|
1766
1783
|
}
|
|
1767
1784
|
|
|
1768
1785
|
// src/scroll/index.tsx
|
|
1769
|
-
import { jsx as
|
|
1786
|
+
import { jsx as jsx18 } from "react/jsx-runtime";
|
|
1770
1787
|
var ScrollCtx = createContext12(null);
|
|
1771
1788
|
function useScrollContext() {
|
|
1772
1789
|
const ctx = useContext12(ScrollCtx);
|
|
@@ -1776,15 +1793,15 @@ function useScrollContext() {
|
|
|
1776
1793
|
var Root13 = forwardRef17(function ScrollRoot({ children, className, ...rest }, ref) {
|
|
1777
1794
|
const viewportRef = useRef4(null);
|
|
1778
1795
|
const stateAttr = useScrollState(viewportRef);
|
|
1779
|
-
const value =
|
|
1780
|
-
return /* @__PURE__ */
|
|
1796
|
+
const value = useMemo12(() => ({ stateAttr }), [stateAttr]);
|
|
1797
|
+
return /* @__PURE__ */ jsx18(ScrollCtx.Provider, { value, children: /* @__PURE__ */ jsx18(
|
|
1781
1798
|
"div",
|
|
1782
1799
|
{
|
|
1783
1800
|
ref,
|
|
1784
1801
|
className,
|
|
1785
|
-
...
|
|
1802
|
+
...partAttrs14(scrollAnatomy.scope, scrollAnatomy.root),
|
|
1786
1803
|
...rest,
|
|
1787
|
-
children: /* @__PURE__ */
|
|
1804
|
+
children: /* @__PURE__ */ jsx18(ScrollViewportRefContext.Provider, { value: viewportRef, children })
|
|
1788
1805
|
}
|
|
1789
1806
|
) });
|
|
1790
1807
|
});
|
|
@@ -1794,7 +1811,7 @@ var ScrollViewportRefContext = createContext12(
|
|
|
1794
1811
|
var Viewport = forwardRef17(function ScrollViewport({ children, className, ...rest }, forwardedRef) {
|
|
1795
1812
|
const ctxRef = useContext12(ScrollViewportRefContext);
|
|
1796
1813
|
const { stateAttr } = useScrollContext();
|
|
1797
|
-
return /* @__PURE__ */
|
|
1814
|
+
return /* @__PURE__ */ jsx18(
|
|
1798
1815
|
"div",
|
|
1799
1816
|
{
|
|
1800
1817
|
ref: (node) => {
|
|
@@ -1804,14 +1821,14 @@ var Viewport = forwardRef17(function ScrollViewport({ children, className, ...re
|
|
|
1804
1821
|
},
|
|
1805
1822
|
className,
|
|
1806
1823
|
"data-aeon-scroll": "",
|
|
1807
|
-
...
|
|
1824
|
+
...partAttrs14(scrollAnatomy.scope, scrollAnatomy.viewport, { state: stateAttr }),
|
|
1808
1825
|
...rest,
|
|
1809
1826
|
children
|
|
1810
1827
|
}
|
|
1811
1828
|
);
|
|
1812
1829
|
});
|
|
1813
1830
|
var Content3 = forwardRef17(function ScrollContent(props, ref) {
|
|
1814
|
-
return /* @__PURE__ */
|
|
1831
|
+
return /* @__PURE__ */ jsx18("div", { ref, ...partOnlyAttrs10(scrollAnatomy.content), ...props });
|
|
1815
1832
|
});
|
|
1816
1833
|
var Scroll = {
|
|
1817
1834
|
Root: Root13,
|
|
@@ -1820,21 +1837,21 @@ var Scroll = {
|
|
|
1820
1837
|
};
|
|
1821
1838
|
|
|
1822
1839
|
// src/select/index.tsx
|
|
1823
|
-
import { selectAnatomy, partAttrs as
|
|
1840
|
+
import { selectAnatomy, partAttrs as partAttrs16, partOnlyAttrs as partOnlyAttrs11 } from "@aeon-ui/core";
|
|
1824
1841
|
import { popoverMachine } from "@aeon-ui/primitives";
|
|
1825
1842
|
import {
|
|
1826
1843
|
createContext as createContext13,
|
|
1827
1844
|
forwardRef as forwardRef19,
|
|
1828
|
-
useCallback as
|
|
1845
|
+
useCallback as useCallback4,
|
|
1829
1846
|
useContext as useContext13,
|
|
1830
1847
|
useId as useId2,
|
|
1831
|
-
useMemo as
|
|
1848
|
+
useMemo as useMemo13,
|
|
1832
1849
|
useRef as useRef5,
|
|
1833
1850
|
useState as useState4
|
|
1834
1851
|
} from "react";
|
|
1835
1852
|
|
|
1836
1853
|
// src/floating/FloatingPositioner.tsx
|
|
1837
|
-
import { partAttrs as
|
|
1854
|
+
import { partAttrs as partAttrs15 } from "@aeon-ui/core";
|
|
1838
1855
|
import { forwardRef as forwardRef18 } from "react";
|
|
1839
1856
|
|
|
1840
1857
|
// src/hooks/use-anchor-position.ts
|
|
@@ -1879,7 +1896,7 @@ function useAnchorPosition(anchorRef, floatingRef, active, placement = "bottom-s
|
|
|
1879
1896
|
}
|
|
1880
1897
|
|
|
1881
1898
|
// src/floating/FloatingPositioner.tsx
|
|
1882
|
-
import { jsx as
|
|
1899
|
+
import { jsx as jsx19 } from "react/jsx-runtime";
|
|
1883
1900
|
var FloatingPositioner = forwardRef18(
|
|
1884
1901
|
function FloatingPositioner2({
|
|
1885
1902
|
open,
|
|
@@ -1899,7 +1916,7 @@ var FloatingPositioner = forwardRef18(
|
|
|
1899
1916
|
matchWidth: matchAnchorWidth
|
|
1900
1917
|
});
|
|
1901
1918
|
if (!open) return null;
|
|
1902
|
-
const node = /* @__PURE__ */
|
|
1919
|
+
const node = /* @__PURE__ */ jsx19(
|
|
1903
1920
|
"div",
|
|
1904
1921
|
{
|
|
1905
1922
|
ref: (el) => {
|
|
@@ -1908,7 +1925,7 @@ var FloatingPositioner = forwardRef18(
|
|
|
1908
1925
|
else if (ref) ref.current = el;
|
|
1909
1926
|
},
|
|
1910
1927
|
className,
|
|
1911
|
-
...mergeProps(
|
|
1928
|
+
...mergeProps(partAttrs15(scope, part, { state: "open" }), rest),
|
|
1912
1929
|
children
|
|
1913
1930
|
}
|
|
1914
1931
|
);
|
|
@@ -1932,7 +1949,7 @@ function useOutsideClick(refs, enabled, onOutside) {
|
|
|
1932
1949
|
}
|
|
1933
1950
|
|
|
1934
1951
|
// src/select/index.tsx
|
|
1935
|
-
import { jsx as
|
|
1952
|
+
import { jsx as jsx20, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
1936
1953
|
var SelectCtx = createContext13(null);
|
|
1937
1954
|
var SelectPositionerCtx = createContext13(false);
|
|
1938
1955
|
function useSelectCtx() {
|
|
@@ -1954,26 +1971,26 @@ var Root14 = forwardRef19(function SelectRoot({ value, onValueChange, children,
|
|
|
1954
1971
|
const rootRef = useRef5(null);
|
|
1955
1972
|
const listboxId = useId2();
|
|
1956
1973
|
const open = disabled ? false : snapshot.matches("open");
|
|
1957
|
-
const close =
|
|
1974
|
+
const close = useCallback4(() => {
|
|
1958
1975
|
send({ type: "CLOSE" });
|
|
1959
1976
|
setHighlightedValue(null);
|
|
1960
1977
|
}, [send]);
|
|
1961
1978
|
useOutsideClick([rootRef, positionerRef], open, () => send({ type: "POINTER_DOWN_OUTSIDE" }));
|
|
1962
|
-
const getOptionValues =
|
|
1979
|
+
const getOptionValues = useCallback4(
|
|
1963
1980
|
() => optionValuesFromDom(listboxId, contentRef.current),
|
|
1964
1981
|
[listboxId, open]
|
|
1965
1982
|
);
|
|
1966
|
-
const selectValue =
|
|
1983
|
+
const selectValue = useCallback4(
|
|
1967
1984
|
(next) => {
|
|
1968
1985
|
onValueChange?.(next);
|
|
1969
1986
|
close();
|
|
1970
1987
|
},
|
|
1971
1988
|
[onValueChange, close]
|
|
1972
1989
|
);
|
|
1973
|
-
const highlightValue =
|
|
1990
|
+
const highlightValue = useCallback4((next) => {
|
|
1974
1991
|
setHighlightedValue(next);
|
|
1975
1992
|
}, []);
|
|
1976
|
-
const moveHighlight =
|
|
1993
|
+
const moveHighlight = useCallback4(
|
|
1977
1994
|
(delta) => {
|
|
1978
1995
|
const options = getOptionValues();
|
|
1979
1996
|
if (options.length === 0) {
|
|
@@ -1988,7 +2005,7 @@ var Root14 = forwardRef19(function SelectRoot({ value, onValueChange, children,
|
|
|
1988
2005
|
},
|
|
1989
2006
|
[getOptionValues, highlightedValue]
|
|
1990
2007
|
);
|
|
1991
|
-
const onListboxKeyDown =
|
|
2008
|
+
const onListboxKeyDown = useCallback4(
|
|
1992
2009
|
(e) => {
|
|
1993
2010
|
if (e.defaultPrevented) return;
|
|
1994
2011
|
if ((e.key === "Enter" || e.key === " ") && !open) {
|
|
@@ -2031,7 +2048,7 @@ var Root14 = forwardRef19(function SelectRoot({ value, onValueChange, children,
|
|
|
2031
2048
|
},
|
|
2032
2049
|
[open, send, moveHighlight, getOptionValues, highlightValue, highlightedValue, selectValue]
|
|
2033
2050
|
);
|
|
2034
|
-
const ctx =
|
|
2051
|
+
const ctx = useMemo13(
|
|
2035
2052
|
() => ({
|
|
2036
2053
|
value,
|
|
2037
2054
|
open,
|
|
@@ -2060,7 +2077,7 @@ var Root14 = forwardRef19(function SelectRoot({ value, onValueChange, children,
|
|
|
2060
2077
|
onListboxKeyDown
|
|
2061
2078
|
]
|
|
2062
2079
|
);
|
|
2063
|
-
return /* @__PURE__ */
|
|
2080
|
+
return /* @__PURE__ */ jsx20(SelectCtx.Provider, { value: ctx, children: /* @__PURE__ */ jsx20(
|
|
2064
2081
|
"div",
|
|
2065
2082
|
{
|
|
2066
2083
|
ref: (node) => {
|
|
@@ -2069,7 +2086,7 @@ var Root14 = forwardRef19(function SelectRoot({ value, onValueChange, children,
|
|
|
2069
2086
|
else if (ref) ref.current = node;
|
|
2070
2087
|
},
|
|
2071
2088
|
className,
|
|
2072
|
-
...
|
|
2089
|
+
...partAttrs16(selectAnatomy.scope, selectAnatomy.root, {
|
|
2073
2090
|
state: open ? "open" : "closed"
|
|
2074
2091
|
}),
|
|
2075
2092
|
children
|
|
@@ -2077,11 +2094,11 @@ var Root14 = forwardRef19(function SelectRoot({ value, onValueChange, children,
|
|
|
2077
2094
|
) });
|
|
2078
2095
|
});
|
|
2079
2096
|
var ValueText2 = forwardRef19(function SelectValueText(props, ref) {
|
|
2080
|
-
return /* @__PURE__ */
|
|
2097
|
+
return /* @__PURE__ */ jsx20("span", { ref, ...partOnlyAttrs11(selectAnatomy.value), ...props });
|
|
2081
2098
|
});
|
|
2082
2099
|
var Trigger3 = forwardRef19(function SelectTrigger({ children, onClick, onKeyDown, ...rest }, ref) {
|
|
2083
2100
|
const { open, send, listboxId, triggerRef, onListboxKeyDown } = useSelectCtx();
|
|
2084
|
-
return /* @__PURE__ */
|
|
2101
|
+
return /* @__PURE__ */ jsxs2(
|
|
2085
2102
|
"button",
|
|
2086
2103
|
{
|
|
2087
2104
|
ref: (node) => {
|
|
@@ -2093,7 +2110,7 @@ var Trigger3 = forwardRef19(function SelectTrigger({ children, onClick, onKeyDow
|
|
|
2093
2110
|
"aria-haspopup": "listbox",
|
|
2094
2111
|
"aria-expanded": open,
|
|
2095
2112
|
"aria-controls": open ? listboxId : void 0,
|
|
2096
|
-
...
|
|
2113
|
+
...partAttrs16(selectAnatomy.scope, selectAnatomy.trigger, { state: open ? "open" : "closed" }),
|
|
2097
2114
|
...mergeProps(rest, {
|
|
2098
2115
|
onClick: (e) => {
|
|
2099
2116
|
onClick?.(e);
|
|
@@ -2106,14 +2123,14 @@ var Trigger3 = forwardRef19(function SelectTrigger({ children, onClick, onKeyDow
|
|
|
2106
2123
|
}),
|
|
2107
2124
|
children: [
|
|
2108
2125
|
children,
|
|
2109
|
-
/* @__PURE__ */
|
|
2126
|
+
/* @__PURE__ */ jsx20("span", { ...partOnlyAttrs11(selectAnatomy.icon), "aria-hidden": true })
|
|
2110
2127
|
]
|
|
2111
2128
|
}
|
|
2112
2129
|
);
|
|
2113
2130
|
});
|
|
2114
2131
|
var Positioner2 = forwardRef19(function SelectPositioner({ portalled = true, children, className, ...rest }, ref) {
|
|
2115
2132
|
const { open, triggerRef, positionerRef } = useSelectCtx();
|
|
2116
|
-
return /* @__PURE__ */
|
|
2133
|
+
return /* @__PURE__ */ jsx20(SelectPositionerCtx.Provider, { value: true, children: /* @__PURE__ */ jsx20(
|
|
2117
2134
|
FloatingPositioner,
|
|
2118
2135
|
{
|
|
2119
2136
|
ref,
|
|
@@ -2135,7 +2152,7 @@ var Content4 = forwardRef19(function SelectContent({ portalled = true, onKeyDown
|
|
|
2135
2152
|
const { open, listboxId, contentRef, highlightedValue, onListboxKeyDown, triggerRef, positionerRef } = useSelectCtx();
|
|
2136
2153
|
if (!open) return null;
|
|
2137
2154
|
const activeId = highlightedValue && open ? `${listboxId}-option-${highlightedValue}` : void 0;
|
|
2138
|
-
const listbox = /* @__PURE__ */
|
|
2155
|
+
const listbox = /* @__PURE__ */ jsx20(
|
|
2139
2156
|
"div",
|
|
2140
2157
|
{
|
|
2141
2158
|
ref: (node) => {
|
|
@@ -2148,7 +2165,7 @@ var Content4 = forwardRef19(function SelectContent({ portalled = true, onKeyDown
|
|
|
2148
2165
|
"aria-activedescendant": activeId,
|
|
2149
2166
|
className,
|
|
2150
2167
|
"data-aeon-scroll": "",
|
|
2151
|
-
...
|
|
2168
|
+
...partAttrs16(selectAnatomy.scope, selectAnatomy.content, { state: "open" }),
|
|
2152
2169
|
...mergeProps(rest, {
|
|
2153
2170
|
onKeyDown: (e) => {
|
|
2154
2171
|
onKeyDown?.(e);
|
|
@@ -2159,7 +2176,7 @@ var Content4 = forwardRef19(function SelectContent({ portalled = true, onKeyDown
|
|
|
2159
2176
|
}
|
|
2160
2177
|
);
|
|
2161
2178
|
if (inPositioner) return listbox;
|
|
2162
|
-
return /* @__PURE__ */
|
|
2179
|
+
return /* @__PURE__ */ jsx20(
|
|
2163
2180
|
FloatingPositioner,
|
|
2164
2181
|
{
|
|
2165
2182
|
open,
|
|
@@ -2177,7 +2194,7 @@ var Item3 = forwardRef19(function SelectItem({ value, disabled = false, children
|
|
|
2177
2194
|
const { value: selected, listboxId, highlightedValue, selectValue } = useSelectCtx();
|
|
2178
2195
|
const selectedState = value === selected;
|
|
2179
2196
|
const highlighted = value === highlightedValue;
|
|
2180
|
-
return /* @__PURE__ */
|
|
2197
|
+
return /* @__PURE__ */ jsx20(
|
|
2181
2198
|
"button",
|
|
2182
2199
|
{
|
|
2183
2200
|
ref,
|
|
@@ -2186,7 +2203,7 @@ var Item3 = forwardRef19(function SelectItem({ value, disabled = false, children
|
|
|
2186
2203
|
id: `${listboxId}-option-${value}`,
|
|
2187
2204
|
"aria-selected": selectedState,
|
|
2188
2205
|
disabled,
|
|
2189
|
-
...
|
|
2206
|
+
...partAttrs16(selectAnatomy.scope, selectAnatomy.item, {
|
|
2190
2207
|
state: selectedState ? "selected" : highlighted ? "highlighted" : "idle",
|
|
2191
2208
|
highlighted
|
|
2192
2209
|
}),
|
|
@@ -2210,19 +2227,19 @@ var Select = {
|
|
|
2210
2227
|
};
|
|
2211
2228
|
|
|
2212
2229
|
// src/combobox/index.tsx
|
|
2213
|
-
import { comboboxAnatomy, partAttrs as
|
|
2230
|
+
import { comboboxAnatomy, partAttrs as partAttrs17, partOnlyAttrs as partOnlyAttrs12 } from "@aeon-ui/core";
|
|
2214
2231
|
import {
|
|
2215
2232
|
createContext as createContext14,
|
|
2216
2233
|
forwardRef as forwardRef20,
|
|
2217
|
-
useCallback as
|
|
2234
|
+
useCallback as useCallback5,
|
|
2218
2235
|
useContext as useContext14,
|
|
2219
2236
|
useEffect as useEffect14,
|
|
2220
2237
|
useId as useId3,
|
|
2221
|
-
useMemo as
|
|
2238
|
+
useMemo as useMemo14,
|
|
2222
2239
|
useRef as useRef6,
|
|
2223
2240
|
useState as useState5
|
|
2224
2241
|
} from "react";
|
|
2225
|
-
import { Fragment as Fragment2, jsx as
|
|
2242
|
+
import { Fragment as Fragment2, jsx as jsx21, jsxs as jsxs3 } from "react/jsx-runtime";
|
|
2226
2243
|
var ComboboxCtx = createContext14(null);
|
|
2227
2244
|
function useComboboxCtx() {
|
|
2228
2245
|
const ctx = useContext14(ComboboxCtx);
|
|
@@ -2246,7 +2263,7 @@ var Root15 = forwardRef20(function ComboboxRoot({ value, onValueChange, children
|
|
|
2246
2263
|
const [itemsVersion, setItemsVersion] = useState5(0);
|
|
2247
2264
|
const itemsRef = useRef6([]);
|
|
2248
2265
|
const listboxId = useId3();
|
|
2249
|
-
const setOpen =
|
|
2266
|
+
const setOpen = useCallback5(
|
|
2250
2267
|
(next) => {
|
|
2251
2268
|
if (disabled) return;
|
|
2252
2269
|
setOpenState(next);
|
|
@@ -2257,16 +2274,16 @@ var Root15 = forwardRef20(function ComboboxRoot({ value, onValueChange, children
|
|
|
2257
2274
|
},
|
|
2258
2275
|
[disabled]
|
|
2259
2276
|
);
|
|
2260
|
-
const registerItem =
|
|
2277
|
+
const registerItem = useCallback5((item) => {
|
|
2261
2278
|
itemsRef.current = [...itemsRef.current.filter((i) => i.value !== item.value), item];
|
|
2262
2279
|
setItemsVersion((v) => v + 1);
|
|
2263
2280
|
}, []);
|
|
2264
|
-
const unregisterItem =
|
|
2281
|
+
const unregisterItem = useCallback5((valueKey) => {
|
|
2265
2282
|
itemsRef.current = itemsRef.current.filter((i) => i.value !== valueKey);
|
|
2266
2283
|
setItemsVersion((v) => v + 1);
|
|
2267
2284
|
}, []);
|
|
2268
|
-
const getItems =
|
|
2269
|
-
const ctx =
|
|
2285
|
+
const getItems = useCallback5(() => itemsRef.current, []);
|
|
2286
|
+
const ctx = useMemo14(
|
|
2270
2287
|
() => ({
|
|
2271
2288
|
value,
|
|
2272
2289
|
open: disabled ? false : open,
|
|
@@ -2297,12 +2314,12 @@ var Root15 = forwardRef20(function ComboboxRoot({ value, onValueChange, children
|
|
|
2297
2314
|
disabled
|
|
2298
2315
|
]
|
|
2299
2316
|
);
|
|
2300
|
-
return /* @__PURE__ */
|
|
2317
|
+
return /* @__PURE__ */ jsx21(ComboboxCtx.Provider, { value: ctx, children: /* @__PURE__ */ jsx21(
|
|
2301
2318
|
"div",
|
|
2302
2319
|
{
|
|
2303
2320
|
ref,
|
|
2304
2321
|
className,
|
|
2305
|
-
...
|
|
2322
|
+
...partAttrs17(comboboxAnatomy.scope, comboboxAnatomy.root, {
|
|
2306
2323
|
state: open ? "open" : "closed"
|
|
2307
2324
|
}),
|
|
2308
2325
|
children
|
|
@@ -2311,7 +2328,7 @@ var Root15 = forwardRef20(function ComboboxRoot({ value, onValueChange, children
|
|
|
2311
2328
|
});
|
|
2312
2329
|
function useVisibleItems() {
|
|
2313
2330
|
const { query, getItems, itemsVersion } = useComboboxCtx();
|
|
2314
|
-
return
|
|
2331
|
+
return useMemo14(() => {
|
|
2315
2332
|
void itemsVersion;
|
|
2316
2333
|
return getItems().filter((i) => matchesQuery(i.label, query));
|
|
2317
2334
|
}, [query, getItems, itemsVersion]);
|
|
@@ -2332,12 +2349,12 @@ var Input2 = forwardRef20(function ComboboxInput({ onChange, onKeyDown, onFocus,
|
|
|
2332
2349
|
} = useComboboxCtx();
|
|
2333
2350
|
const inputRef = useRef6(null);
|
|
2334
2351
|
const visible = useVisibleItems();
|
|
2335
|
-
const selectedLabel =
|
|
2352
|
+
const selectedLabel = useMemo14(() => {
|
|
2336
2353
|
void itemsVersion;
|
|
2337
2354
|
return getItems().find((i) => i.value === selected)?.label ?? "";
|
|
2338
2355
|
}, [getItems, selected, itemsVersion]);
|
|
2339
2356
|
const displayValue = open ? query : selectedLabel;
|
|
2340
|
-
const selectValue =
|
|
2357
|
+
const selectValue = useCallback5(
|
|
2341
2358
|
(next) => {
|
|
2342
2359
|
onValueChange?.(next);
|
|
2343
2360
|
setOpen(false);
|
|
@@ -2346,7 +2363,7 @@ var Input2 = forwardRef20(function ComboboxInput({ onChange, onKeyDown, onFocus,
|
|
|
2346
2363
|
},
|
|
2347
2364
|
[onValueChange, setOpen, setQuery, setHighlightedValue]
|
|
2348
2365
|
);
|
|
2349
|
-
const moveHighlight =
|
|
2366
|
+
const moveHighlight = useCallback5(
|
|
2350
2367
|
(delta) => {
|
|
2351
2368
|
if (visible.length === 0) {
|
|
2352
2369
|
setHighlightedValue(null);
|
|
@@ -2360,7 +2377,7 @@ var Input2 = forwardRef20(function ComboboxInput({ onChange, onKeyDown, onFocus,
|
|
|
2360
2377
|
},
|
|
2361
2378
|
[visible, highlightedValue, setHighlightedValue]
|
|
2362
2379
|
);
|
|
2363
|
-
const setRefs =
|
|
2380
|
+
const setRefs = useCallback5(
|
|
2364
2381
|
(node) => {
|
|
2365
2382
|
inputRef.current = node;
|
|
2366
2383
|
if (typeof ref === "function") ref(node);
|
|
@@ -2385,8 +2402,8 @@ var Input2 = forwardRef20(function ComboboxInput({ onChange, onKeyDown, onFocus,
|
|
|
2385
2402
|
};
|
|
2386
2403
|
}, [open, setOpen]);
|
|
2387
2404
|
const activeDescendant = highlightedValue && open ? `${listboxId}-option-${highlightedValue}` : void 0;
|
|
2388
|
-
return /* @__PURE__ */
|
|
2389
|
-
/* @__PURE__ */
|
|
2405
|
+
return /* @__PURE__ */ jsxs3(Fragment2, { children: [
|
|
2406
|
+
/* @__PURE__ */ jsx21(
|
|
2390
2407
|
"input",
|
|
2391
2408
|
{
|
|
2392
2409
|
ref: setRefs,
|
|
@@ -2398,7 +2415,7 @@ var Input2 = forwardRef20(function ComboboxInput({ onChange, onKeyDown, onFocus,
|
|
|
2398
2415
|
"aria-activedescendant": activeDescendant,
|
|
2399
2416
|
autoComplete: "off",
|
|
2400
2417
|
value: valueProp ?? displayValue,
|
|
2401
|
-
...
|
|
2418
|
+
...partAttrs17(comboboxAnatomy.scope, comboboxAnatomy.input, { state: open ? "open" : "closed" }),
|
|
2402
2419
|
...mergeProps(rest, {
|
|
2403
2420
|
onFocus: (e) => {
|
|
2404
2421
|
onFocus?.(e);
|
|
@@ -2447,7 +2464,7 @@ var Input2 = forwardRef20(function ComboboxInput({ onChange, onKeyDown, onFocus,
|
|
|
2447
2464
|
})
|
|
2448
2465
|
}
|
|
2449
2466
|
),
|
|
2450
|
-
/* @__PURE__ */
|
|
2467
|
+
/* @__PURE__ */ jsx21(
|
|
2451
2468
|
"span",
|
|
2452
2469
|
{
|
|
2453
2470
|
...partOnlyAttrs12(comboboxAnatomy.icon, { state: open ? "open" : "closed" }),
|
|
@@ -2460,7 +2477,7 @@ var Input2 = forwardRef20(function ComboboxInput({ onChange, onKeyDown, onFocus,
|
|
|
2460
2477
|
var Content5 = forwardRef20(function ComboboxContent({ children, className, ...rest }, ref) {
|
|
2461
2478
|
const { open, listboxId } = useComboboxCtx();
|
|
2462
2479
|
if (!open) return null;
|
|
2463
|
-
return /* @__PURE__ */
|
|
2480
|
+
return /* @__PURE__ */ jsx21(
|
|
2464
2481
|
"div",
|
|
2465
2482
|
{
|
|
2466
2483
|
ref,
|
|
@@ -2468,7 +2485,7 @@ var Content5 = forwardRef20(function ComboboxContent({ children, className, ...r
|
|
|
2468
2485
|
role: "listbox",
|
|
2469
2486
|
className,
|
|
2470
2487
|
"data-aeon-scroll": "",
|
|
2471
|
-
...
|
|
2488
|
+
...partAttrs17(comboboxAnatomy.scope, comboboxAnatomy.content),
|
|
2472
2489
|
...rest,
|
|
2473
2490
|
children
|
|
2474
2491
|
}
|
|
@@ -2495,7 +2512,7 @@ var Item4 = forwardRef20(function ComboboxItem({ value, textValue, children, onC
|
|
|
2495
2512
|
if (!matchesQuery(label, query)) return null;
|
|
2496
2513
|
const selectedState = value === selected;
|
|
2497
2514
|
const highlighted = value === highlightedValue;
|
|
2498
|
-
return /* @__PURE__ */
|
|
2515
|
+
return /* @__PURE__ */ jsx21(
|
|
2499
2516
|
"button",
|
|
2500
2517
|
{
|
|
2501
2518
|
ref,
|
|
@@ -2504,7 +2521,7 @@ var Item4 = forwardRef20(function ComboboxItem({ value, textValue, children, onC
|
|
|
2504
2521
|
id: resolvedOptionId,
|
|
2505
2522
|
"aria-selected": selectedState,
|
|
2506
2523
|
"data-highlighted": highlighted ? "" : void 0,
|
|
2507
|
-
...
|
|
2524
|
+
...partAttrs17(comboboxAnatomy.scope, comboboxAnatomy.item, {
|
|
2508
2525
|
state: selectedState ? "selected" : "idle",
|
|
2509
2526
|
highlighted
|
|
2510
2527
|
}),
|
|
@@ -2526,12 +2543,12 @@ var Empty = forwardRef20(function ComboboxEmpty({ children, className, ...rest }
|
|
|
2526
2543
|
const { open, query } = useComboboxCtx();
|
|
2527
2544
|
const visible = useVisibleItems();
|
|
2528
2545
|
if (!open || !query.trim() || visible.length > 0) return null;
|
|
2529
|
-
return /* @__PURE__ */
|
|
2546
|
+
return /* @__PURE__ */ jsx21(
|
|
2530
2547
|
"div",
|
|
2531
2548
|
{
|
|
2532
2549
|
ref,
|
|
2533
2550
|
className,
|
|
2534
|
-
...
|
|
2551
|
+
...partAttrs17(comboboxAnatomy.scope, comboboxAnatomy.empty),
|
|
2535
2552
|
...rest,
|
|
2536
2553
|
children: children ?? "No results"
|
|
2537
2554
|
}
|
|
@@ -2546,19 +2563,19 @@ var Combobox = {
|
|
|
2546
2563
|
};
|
|
2547
2564
|
|
|
2548
2565
|
// src/popover/index.tsx
|
|
2549
|
-
import { popoverAnatomy, partAttrs as
|
|
2566
|
+
import { popoverAnatomy, partAttrs as partAttrs18 } from "@aeon-ui/core";
|
|
2550
2567
|
import { popoverMachine as popoverMachine2 } from "@aeon-ui/primitives";
|
|
2551
2568
|
import {
|
|
2552
2569
|
createContext as createContext15,
|
|
2553
2570
|
forwardRef as forwardRef21,
|
|
2554
|
-
useCallback as
|
|
2571
|
+
useCallback as useCallback6,
|
|
2555
2572
|
useContext as useContext15,
|
|
2556
2573
|
useEffect as useEffect15,
|
|
2557
2574
|
useId as useId4,
|
|
2558
|
-
useMemo as
|
|
2575
|
+
useMemo as useMemo15,
|
|
2559
2576
|
useRef as useRef7
|
|
2560
2577
|
} from "react";
|
|
2561
|
-
import { jsx as
|
|
2578
|
+
import { jsx as jsx22 } from "react/jsx-runtime";
|
|
2562
2579
|
var PopoverCtx = createContext15(null);
|
|
2563
2580
|
function usePopoverCtx() {
|
|
2564
2581
|
const ctx = useContext15(PopoverCtx);
|
|
@@ -2581,13 +2598,13 @@ var Root16 = forwardRef21(function PopoverRoot({ open, defaultOpen = false, onOp
|
|
|
2581
2598
|
useEffect15(() => {
|
|
2582
2599
|
if (open !== void 0) send({ type: "SET_OPEN", open });
|
|
2583
2600
|
}, [open, send]);
|
|
2584
|
-
const close =
|
|
2601
|
+
const close = useCallback6(() => send({ type: "CLOSE" }), [send]);
|
|
2585
2602
|
useOutsideClick([rootRef, positionerRef], resolvedOpen, close);
|
|
2586
|
-
const value =
|
|
2603
|
+
const value = useMemo15(
|
|
2587
2604
|
() => ({ open: resolvedOpen, send, triggerId, contentId, triggerRef, positionerRef }),
|
|
2588
2605
|
[resolvedOpen, send, triggerId, contentId]
|
|
2589
2606
|
);
|
|
2590
|
-
return /* @__PURE__ */
|
|
2607
|
+
return /* @__PURE__ */ jsx22(PopoverCtx.Provider, { value, children: /* @__PURE__ */ jsx22(
|
|
2591
2608
|
"div",
|
|
2592
2609
|
{
|
|
2593
2610
|
ref: (node) => {
|
|
@@ -2597,7 +2614,7 @@ var Root16 = forwardRef21(function PopoverRoot({ open, defaultOpen = false, onOp
|
|
|
2597
2614
|
},
|
|
2598
2615
|
className,
|
|
2599
2616
|
...mergeProps(
|
|
2600
|
-
|
|
2617
|
+
partAttrs18(popoverAnatomy.scope, popoverAnatomy.root, {
|
|
2601
2618
|
state: resolvedOpen ? "open" : "closed"
|
|
2602
2619
|
}),
|
|
2603
2620
|
rest
|
|
@@ -2608,7 +2625,7 @@ var Root16 = forwardRef21(function PopoverRoot({ open, defaultOpen = false, onOp
|
|
|
2608
2625
|
});
|
|
2609
2626
|
var Trigger4 = forwardRef21(function PopoverTrigger({ onClick, ...rest }, ref) {
|
|
2610
2627
|
const { open, send, triggerId, contentId, triggerRef } = usePopoverCtx();
|
|
2611
|
-
return /* @__PURE__ */
|
|
2628
|
+
return /* @__PURE__ */ jsx22(
|
|
2612
2629
|
"button",
|
|
2613
2630
|
{
|
|
2614
2631
|
ref: (node) => {
|
|
@@ -2621,7 +2638,7 @@ var Trigger4 = forwardRef21(function PopoverTrigger({ onClick, ...rest }, ref) {
|
|
|
2621
2638
|
"aria-expanded": open,
|
|
2622
2639
|
"aria-controls": open ? contentId : void 0,
|
|
2623
2640
|
...mergeProps(
|
|
2624
|
-
|
|
2641
|
+
partAttrs18(popoverAnatomy.scope, popoverAnatomy.trigger, { state: open ? "open" : "closed" }),
|
|
2625
2642
|
{
|
|
2626
2643
|
onClick: (e) => {
|
|
2627
2644
|
onClick?.(e);
|
|
@@ -2635,7 +2652,7 @@ var Trigger4 = forwardRef21(function PopoverTrigger({ onClick, ...rest }, ref) {
|
|
|
2635
2652
|
});
|
|
2636
2653
|
var Positioner3 = forwardRef21(function PopoverPositioner({ portalled = true, placement = "bottom-start", children, className, ...rest }, ref) {
|
|
2637
2654
|
const { open, triggerRef, positionerRef } = usePopoverCtx();
|
|
2638
|
-
return /* @__PURE__ */
|
|
2655
|
+
return /* @__PURE__ */ jsx22(
|
|
2639
2656
|
FloatingPositioner,
|
|
2640
2657
|
{
|
|
2641
2658
|
ref,
|
|
@@ -2655,7 +2672,7 @@ var Positioner3 = forwardRef21(function PopoverPositioner({ portalled = true, pl
|
|
|
2655
2672
|
var Content6 = forwardRef21(function PopoverContent({ onKeyDown, ...rest }, ref) {
|
|
2656
2673
|
const { open, send, triggerId, contentId } = usePopoverCtx();
|
|
2657
2674
|
if (!open) return null;
|
|
2658
|
-
return /* @__PURE__ */
|
|
2675
|
+
return /* @__PURE__ */ jsx22(
|
|
2659
2676
|
"div",
|
|
2660
2677
|
{
|
|
2661
2678
|
ref,
|
|
@@ -2664,7 +2681,7 @@ var Content6 = forwardRef21(function PopoverContent({ onKeyDown, ...rest }, ref)
|
|
|
2664
2681
|
"aria-modal": false,
|
|
2665
2682
|
"aria-labelledby": triggerId,
|
|
2666
2683
|
...mergeProps(
|
|
2667
|
-
|
|
2684
|
+
partAttrs18(popoverAnatomy.scope, popoverAnatomy.content, { state: "open" }),
|
|
2668
2685
|
{
|
|
2669
2686
|
onKeyDown: (e) => {
|
|
2670
2687
|
onKeyDown?.(e);
|
|
@@ -2679,19 +2696,19 @@ var Content6 = forwardRef21(function PopoverContent({ onKeyDown, ...rest }, ref)
|
|
|
2679
2696
|
var Arrow = forwardRef21(function PopoverArrow(props, ref) {
|
|
2680
2697
|
const { open } = usePopoverCtx();
|
|
2681
2698
|
if (!open) return null;
|
|
2682
|
-
return /* @__PURE__ */
|
|
2699
|
+
return /* @__PURE__ */ jsx22("div", { ref, ...mergeProps(partAttrs18(popoverAnatomy.scope, popoverAnatomy.arrow), props) });
|
|
2683
2700
|
});
|
|
2684
2701
|
var CloseTrigger2 = forwardRef21(
|
|
2685
2702
|
function PopoverCloseTrigger({ onClick, ...rest }, ref) {
|
|
2686
2703
|
const { send } = usePopoverCtx();
|
|
2687
|
-
return /* @__PURE__ */
|
|
2704
|
+
return /* @__PURE__ */ jsx22(
|
|
2688
2705
|
"button",
|
|
2689
2706
|
{
|
|
2690
2707
|
ref,
|
|
2691
2708
|
type: "button",
|
|
2692
2709
|
"aria-label": "Close",
|
|
2693
2710
|
...mergeProps(
|
|
2694
|
-
|
|
2711
|
+
partAttrs18(popoverAnatomy.scope, popoverAnatomy.closeTrigger),
|
|
2695
2712
|
{
|
|
2696
2713
|
onClick: (e) => {
|
|
2697
2714
|
onClick?.(e);
|
|
@@ -2707,19 +2724,19 @@ var CloseTrigger2 = forwardRef21(
|
|
|
2707
2724
|
var Popover = { Root: Root16, Trigger: Trigger4, Positioner: Positioner3, Content: Content6, Arrow, CloseTrigger: CloseTrigger2 };
|
|
2708
2725
|
|
|
2709
2726
|
// src/menu/index.tsx
|
|
2710
|
-
import { menuAnatomy, partAttrs as
|
|
2727
|
+
import { menuAnatomy, partAttrs as partAttrs19 } from "@aeon-ui/core";
|
|
2711
2728
|
import { popoverMachine as popoverMachine3 } from "@aeon-ui/primitives";
|
|
2712
2729
|
import {
|
|
2713
2730
|
createContext as createContext16,
|
|
2714
2731
|
forwardRef as forwardRef22,
|
|
2715
|
-
useCallback as
|
|
2732
|
+
useCallback as useCallback7,
|
|
2716
2733
|
useContext as useContext16,
|
|
2717
2734
|
useEffect as useEffect16,
|
|
2718
2735
|
useId as useId5,
|
|
2719
|
-
useMemo as
|
|
2736
|
+
useMemo as useMemo16,
|
|
2720
2737
|
useRef as useRef8
|
|
2721
2738
|
} from "react";
|
|
2722
|
-
import { jsx as
|
|
2739
|
+
import { jsx as jsx23 } from "react/jsx-runtime";
|
|
2723
2740
|
var MenuCtx = createContext16(null);
|
|
2724
2741
|
function useMenuCtx() {
|
|
2725
2742
|
const ctx = useContext16(MenuCtx);
|
|
@@ -2740,13 +2757,13 @@ var Root17 = forwardRef22(function MenuRoot({ open, defaultOpen = false, onOpenC
|
|
|
2740
2757
|
useEffect16(() => {
|
|
2741
2758
|
if (open !== void 0) send({ type: "SET_OPEN", open });
|
|
2742
2759
|
}, [open, send]);
|
|
2743
|
-
const close =
|
|
2760
|
+
const close = useCallback7(() => send({ type: "CLOSE" }), [send]);
|
|
2744
2761
|
useOutsideClick([rootRef, positionerRef], resolvedOpen, close);
|
|
2745
|
-
const value =
|
|
2762
|
+
const value = useMemo16(
|
|
2746
2763
|
() => ({ open: resolvedOpen, send, triggerId, menuId, triggerRef, positionerRef }),
|
|
2747
2764
|
[resolvedOpen, send, triggerId, menuId]
|
|
2748
2765
|
);
|
|
2749
|
-
return /* @__PURE__ */
|
|
2766
|
+
return /* @__PURE__ */ jsx23(MenuCtx.Provider, { value, children: /* @__PURE__ */ jsx23(
|
|
2750
2767
|
"div",
|
|
2751
2768
|
{
|
|
2752
2769
|
ref: (node) => {
|
|
@@ -2756,7 +2773,7 @@ var Root17 = forwardRef22(function MenuRoot({ open, defaultOpen = false, onOpenC
|
|
|
2756
2773
|
},
|
|
2757
2774
|
className,
|
|
2758
2775
|
...mergeProps(
|
|
2759
|
-
|
|
2776
|
+
partAttrs19(menuAnatomy.scope, menuAnatomy.root, { state: resolvedOpen ? "open" : "closed" }),
|
|
2760
2777
|
rest
|
|
2761
2778
|
),
|
|
2762
2779
|
children
|
|
@@ -2765,7 +2782,7 @@ var Root17 = forwardRef22(function MenuRoot({ open, defaultOpen = false, onOpenC
|
|
|
2765
2782
|
});
|
|
2766
2783
|
var Trigger5 = forwardRef22(function MenuTrigger({ onClick, ...rest }, ref) {
|
|
2767
2784
|
const { open, send, triggerId, menuId, triggerRef } = useMenuCtx();
|
|
2768
|
-
return /* @__PURE__ */
|
|
2785
|
+
return /* @__PURE__ */ jsx23(
|
|
2769
2786
|
"button",
|
|
2770
2787
|
{
|
|
2771
2788
|
ref: (node) => {
|
|
@@ -2779,7 +2796,7 @@ var Trigger5 = forwardRef22(function MenuTrigger({ onClick, ...rest }, ref) {
|
|
|
2779
2796
|
"aria-expanded": open,
|
|
2780
2797
|
"aria-controls": open ? menuId : void 0,
|
|
2781
2798
|
...mergeProps(
|
|
2782
|
-
|
|
2799
|
+
partAttrs19(menuAnatomy.scope, menuAnatomy.trigger, { state: open ? "open" : "closed" }),
|
|
2783
2800
|
{
|
|
2784
2801
|
onClick: (e) => {
|
|
2785
2802
|
onClick?.(e);
|
|
@@ -2793,7 +2810,7 @@ var Trigger5 = forwardRef22(function MenuTrigger({ onClick, ...rest }, ref) {
|
|
|
2793
2810
|
});
|
|
2794
2811
|
var Positioner4 = forwardRef22(function MenuPositioner({ portalled = true, placement = "bottom-start", children, className, ...rest }, ref) {
|
|
2795
2812
|
const { open, triggerRef, positionerRef } = useMenuCtx();
|
|
2796
|
-
return /* @__PURE__ */
|
|
2813
|
+
return /* @__PURE__ */ jsx23(
|
|
2797
2814
|
FloatingPositioner,
|
|
2798
2815
|
{
|
|
2799
2816
|
ref,
|
|
@@ -2813,14 +2830,14 @@ var Positioner4 = forwardRef22(function MenuPositioner({ portalled = true, place
|
|
|
2813
2830
|
var Content7 = forwardRef22(function MenuContent({ onKeyDown, ...rest }, ref) {
|
|
2814
2831
|
const { open, send, menuId } = useMenuCtx();
|
|
2815
2832
|
if (!open) return null;
|
|
2816
|
-
return /* @__PURE__ */
|
|
2833
|
+
return /* @__PURE__ */ jsx23(
|
|
2817
2834
|
"div",
|
|
2818
2835
|
{
|
|
2819
2836
|
ref,
|
|
2820
2837
|
id: menuId,
|
|
2821
2838
|
role: "menu",
|
|
2822
2839
|
...mergeProps(
|
|
2823
|
-
|
|
2840
|
+
partAttrs19(menuAnatomy.scope, menuAnatomy.content, { state: "open" }),
|
|
2824
2841
|
{
|
|
2825
2842
|
onKeyDown: (e) => {
|
|
2826
2843
|
onKeyDown?.(e);
|
|
@@ -2834,14 +2851,14 @@ var Content7 = forwardRef22(function MenuContent({ onKeyDown, ...rest }, ref) {
|
|
|
2834
2851
|
});
|
|
2835
2852
|
var Item5 = forwardRef22(function MenuItem({ closeOnSelect = true, onClick, ...rest }, ref) {
|
|
2836
2853
|
const { send } = useMenuCtx();
|
|
2837
|
-
return /* @__PURE__ */
|
|
2854
|
+
return /* @__PURE__ */ jsx23(
|
|
2838
2855
|
"button",
|
|
2839
2856
|
{
|
|
2840
2857
|
ref,
|
|
2841
2858
|
type: "button",
|
|
2842
2859
|
role: "menuitem",
|
|
2843
2860
|
...mergeProps(
|
|
2844
|
-
|
|
2861
|
+
partAttrs19(menuAnatomy.scope, menuAnatomy.item),
|
|
2845
2862
|
{
|
|
2846
2863
|
onClick: (e) => {
|
|
2847
2864
|
onClick?.(e);
|
|
@@ -2854,19 +2871,19 @@ var Item5 = forwardRef22(function MenuItem({ closeOnSelect = true, onClick, ...r
|
|
|
2854
2871
|
);
|
|
2855
2872
|
});
|
|
2856
2873
|
var Separator2 = forwardRef22(function MenuSeparator(props, ref) {
|
|
2857
|
-
return /* @__PURE__ */
|
|
2874
|
+
return /* @__PURE__ */ jsx23("div", { ref, role: "separator", ...mergeProps(partAttrs19(menuAnatomy.scope, menuAnatomy.separator), props) });
|
|
2858
2875
|
});
|
|
2859
2876
|
var Menu = { Root: Root17, Trigger: Trigger5, Positioner: Positioner4, Content: Content7, Item: Item5, Separator: Separator2 };
|
|
2860
2877
|
|
|
2861
2878
|
// src/tooltip/index.tsx
|
|
2862
|
-
import { tooltipAnatomy, partAttrs as
|
|
2879
|
+
import { tooltipAnatomy, partAttrs as partAttrs20 } from "@aeon-ui/core";
|
|
2863
2880
|
import {
|
|
2864
2881
|
createContext as createContext17,
|
|
2865
2882
|
forwardRef as forwardRef23,
|
|
2866
2883
|
useContext as useContext17,
|
|
2867
2884
|
useEffect as useEffect18,
|
|
2868
2885
|
useId as useId6,
|
|
2869
|
-
useMemo as
|
|
2886
|
+
useMemo as useMemo17,
|
|
2870
2887
|
useRef as useRef9,
|
|
2871
2888
|
useState as useState7
|
|
2872
2889
|
} from "react";
|
|
@@ -2886,7 +2903,7 @@ function usePrefersHover() {
|
|
|
2886
2903
|
}
|
|
2887
2904
|
|
|
2888
2905
|
// src/tooltip/index.tsx
|
|
2889
|
-
import { jsx as
|
|
2906
|
+
import { jsx as jsx24 } from "react/jsx-runtime";
|
|
2890
2907
|
var TooltipCtx = createContext17(null);
|
|
2891
2908
|
function useTooltipCtx() {
|
|
2892
2909
|
const ctx = useContext17(TooltipCtx);
|
|
@@ -2964,7 +2981,7 @@ var Root18 = forwardRef23(function TooltipRoot({
|
|
|
2964
2981
|
else showImmediately();
|
|
2965
2982
|
};
|
|
2966
2983
|
useOutsideClick([triggerRef, positionerRef], resolvedOpen && !prefersHover && outsideClickEnabled, hideNow);
|
|
2967
|
-
const value =
|
|
2984
|
+
const value = useMemo17(
|
|
2968
2985
|
() => ({
|
|
2969
2986
|
open: resolvedOpen,
|
|
2970
2987
|
setOpen,
|
|
@@ -2982,13 +2999,13 @@ var Root18 = forwardRef23(function TooltipRoot({
|
|
|
2982
2999
|
}),
|
|
2983
3000
|
[resolvedOpen, triggerId, contentId, openDelay, closeDelay, touchDurationMs, touchOutsideGraceMs, showOnFocus, prefersHover]
|
|
2984
3001
|
);
|
|
2985
|
-
return /* @__PURE__ */
|
|
3002
|
+
return /* @__PURE__ */ jsx24(TooltipCtx.Provider, { value, children: /* @__PURE__ */ jsx24(
|
|
2986
3003
|
"div",
|
|
2987
3004
|
{
|
|
2988
3005
|
ref,
|
|
2989
3006
|
className,
|
|
2990
3007
|
...mergeProps(
|
|
2991
|
-
|
|
3008
|
+
partAttrs20(tooltipAnatomy.scope, tooltipAnatomy.root, {
|
|
2992
3009
|
state: resolvedOpen ? "open" : "closed"
|
|
2993
3010
|
}),
|
|
2994
3011
|
rest
|
|
@@ -3010,7 +3027,7 @@ var Trigger6 = forwardRef23(function TooltipTrigger({ onClick, onMouseEnter, onM
|
|
|
3010
3027
|
showOnFocus,
|
|
3011
3028
|
prefersHover
|
|
3012
3029
|
} = useTooltipCtx();
|
|
3013
|
-
return /* @__PURE__ */
|
|
3030
|
+
return /* @__PURE__ */ jsx24(
|
|
3014
3031
|
"span",
|
|
3015
3032
|
{
|
|
3016
3033
|
ref: (node) => {
|
|
@@ -3022,7 +3039,7 @@ var Trigger6 = forwardRef23(function TooltipTrigger({ onClick, onMouseEnter, onM
|
|
|
3022
3039
|
tabIndex: 0,
|
|
3023
3040
|
"aria-describedby": open ? contentId : void 0,
|
|
3024
3041
|
...mergeProps(
|
|
3025
|
-
|
|
3042
|
+
partAttrs20(tooltipAnatomy.scope, tooltipAnatomy.trigger, { state: open ? "open" : "closed" }),
|
|
3026
3043
|
{
|
|
3027
3044
|
onMouseEnter: (e) => {
|
|
3028
3045
|
onMouseEnter?.(e);
|
|
@@ -3056,7 +3073,7 @@ var Trigger6 = forwardRef23(function TooltipTrigger({ onClick, onMouseEnter, onM
|
|
|
3056
3073
|
});
|
|
3057
3074
|
var Positioner5 = forwardRef23(function TooltipPositioner({ portalled = true, placement = "top-start", children, className, ...rest }, ref) {
|
|
3058
3075
|
const { open, triggerRef, positionerRef } = useTooltipCtx();
|
|
3059
|
-
return /* @__PURE__ */
|
|
3076
|
+
return /* @__PURE__ */ jsx24(
|
|
3060
3077
|
FloatingPositioner,
|
|
3061
3078
|
{
|
|
3062
3079
|
ref,
|
|
@@ -3076,25 +3093,25 @@ var Positioner5 = forwardRef23(function TooltipPositioner({ portalled = true, pl
|
|
|
3076
3093
|
var Content8 = forwardRef23(function TooltipContent(props, ref) {
|
|
3077
3094
|
const { open, contentId } = useTooltipCtx();
|
|
3078
3095
|
if (!open) return null;
|
|
3079
|
-
return /* @__PURE__ */
|
|
3096
|
+
return /* @__PURE__ */ jsx24(
|
|
3080
3097
|
"div",
|
|
3081
3098
|
{
|
|
3082
3099
|
ref,
|
|
3083
3100
|
id: contentId,
|
|
3084
3101
|
role: "tooltip",
|
|
3085
|
-
...mergeProps(
|
|
3102
|
+
...mergeProps(partAttrs20(tooltipAnatomy.scope, tooltipAnatomy.content, { state: "open" }), props)
|
|
3086
3103
|
}
|
|
3087
3104
|
);
|
|
3088
3105
|
});
|
|
3089
3106
|
var Arrow2 = forwardRef23(function TooltipArrow(props, ref) {
|
|
3090
3107
|
const { open } = useTooltipCtx();
|
|
3091
3108
|
if (!open) return null;
|
|
3092
|
-
return /* @__PURE__ */
|
|
3109
|
+
return /* @__PURE__ */ jsx24("div", { ref, ...mergeProps(partAttrs20(tooltipAnatomy.scope, tooltipAnatomy.arrow), props) });
|
|
3093
3110
|
});
|
|
3094
3111
|
var Tooltip = { Root: Root18, Trigger: Trigger6, Positioner: Positioner5, Content: Content8, Arrow: Arrow2 };
|
|
3095
3112
|
|
|
3096
3113
|
// src/toast/primitives.tsx
|
|
3097
|
-
import { toastAnatomy, partAttrs as
|
|
3114
|
+
import { toastAnatomy, partAttrs as partAttrs21 } from "@aeon-ui/core";
|
|
3098
3115
|
import { toastMachine } from "@aeon-ui/primitives";
|
|
3099
3116
|
import {
|
|
3100
3117
|
createContext as createContext18,
|
|
@@ -3102,10 +3119,10 @@ import {
|
|
|
3102
3119
|
useContext as useContext18,
|
|
3103
3120
|
useEffect as useEffect19,
|
|
3104
3121
|
useId as useId7,
|
|
3105
|
-
useMemo as
|
|
3122
|
+
useMemo as useMemo18,
|
|
3106
3123
|
useRef as useRef10
|
|
3107
3124
|
} from "react";
|
|
3108
|
-
import { jsx as
|
|
3125
|
+
import { jsx as jsx25 } from "react/jsx-runtime";
|
|
3109
3126
|
var ToastCtx = createContext18(null);
|
|
3110
3127
|
function useToastCtx() {
|
|
3111
3128
|
const ctx = useContext18(ToastCtx);
|
|
@@ -3128,8 +3145,8 @@ var Root19 = forwardRef24(function ToastRoot({ durationMs = 5e3, defaultVisible
|
|
|
3128
3145
|
}
|
|
3129
3146
|
if (hasBeenVisible.current) onVisibleChange?.(false);
|
|
3130
3147
|
}, [visible, onVisibleChange]);
|
|
3131
|
-
const value =
|
|
3132
|
-
return /* @__PURE__ */
|
|
3148
|
+
const value = useMemo18(() => ({ visible, send, titleId }), [visible, send, titleId]);
|
|
3149
|
+
return /* @__PURE__ */ jsx25(ToastCtx.Provider, { value, children: /* @__PURE__ */ jsx25(
|
|
3133
3150
|
"div",
|
|
3134
3151
|
{
|
|
3135
3152
|
ref,
|
|
@@ -3137,7 +3154,7 @@ var Root19 = forwardRef24(function ToastRoot({ durationMs = 5e3, defaultVisible
|
|
|
3137
3154
|
"aria-live": "polite",
|
|
3138
3155
|
"aria-atomic": "true",
|
|
3139
3156
|
...mergeProps(
|
|
3140
|
-
|
|
3157
|
+
partAttrs21(toastAnatomy.scope, toastAnatomy.root, { state: visible ? "visible" : "hidden" }),
|
|
3141
3158
|
rest
|
|
3142
3159
|
),
|
|
3143
3160
|
className,
|
|
@@ -3148,24 +3165,24 @@ var Root19 = forwardRef24(function ToastRoot({ durationMs = 5e3, defaultVisible
|
|
|
3148
3165
|
});
|
|
3149
3166
|
var Title2 = forwardRef24(function ToastTitle(props, ref) {
|
|
3150
3167
|
const { titleId } = useToastCtx();
|
|
3151
|
-
return /* @__PURE__ */
|
|
3168
|
+
return /* @__PURE__ */ jsx25("p", { ref, id: titleId, ...mergeProps(partAttrs21(toastAnatomy.scope, toastAnatomy.title), props) });
|
|
3152
3169
|
});
|
|
3153
3170
|
var Description2 = forwardRef24(
|
|
3154
3171
|
function ToastDescription(props, ref) {
|
|
3155
|
-
return /* @__PURE__ */
|
|
3172
|
+
return /* @__PURE__ */ jsx25("p", { ref, ...mergeProps(partAttrs21(toastAnatomy.scope, toastAnatomy.description), props) });
|
|
3156
3173
|
}
|
|
3157
3174
|
);
|
|
3158
3175
|
var CloseTrigger3 = forwardRef24(
|
|
3159
3176
|
function ToastCloseTrigger({ onClick, children, ...rest }, ref) {
|
|
3160
3177
|
const { send } = useToastCtx();
|
|
3161
|
-
return /* @__PURE__ */
|
|
3178
|
+
return /* @__PURE__ */ jsx25(
|
|
3162
3179
|
"button",
|
|
3163
3180
|
{
|
|
3164
3181
|
ref,
|
|
3165
3182
|
type: "button",
|
|
3166
|
-
"aria-label":
|
|
3183
|
+
"aria-label": "Dismiss",
|
|
3167
3184
|
...mergeProps(
|
|
3168
|
-
|
|
3185
|
+
partAttrs21(toastAnatomy.scope, toastAnatomy.closeTrigger),
|
|
3169
3186
|
{
|
|
3170
3187
|
onClick: (e) => {
|
|
3171
3188
|
onClick?.(e);
|
|
@@ -3174,7 +3191,7 @@ var CloseTrigger3 = forwardRef24(
|
|
|
3174
3191
|
},
|
|
3175
3192
|
rest
|
|
3176
3193
|
),
|
|
3177
|
-
children: children ?? "
|
|
3194
|
+
children: children ?? "\xD7"
|
|
3178
3195
|
}
|
|
3179
3196
|
);
|
|
3180
3197
|
}
|
|
@@ -3191,11 +3208,11 @@ function Show({ durationMs }) {
|
|
|
3191
3208
|
}
|
|
3192
3209
|
|
|
3193
3210
|
// src/toast/provider.tsx
|
|
3194
|
-
import { toastAnatomy as toastAnatomy2, partAttrs as
|
|
3211
|
+
import { toastAnatomy as toastAnatomy2, partAttrs as partAttrs22 } from "@aeon-ui/core";
|
|
3195
3212
|
import {
|
|
3196
|
-
useCallback as
|
|
3213
|
+
useCallback as useCallback8,
|
|
3197
3214
|
useEffect as useEffect20,
|
|
3198
|
-
useMemo as
|
|
3215
|
+
useMemo as useMemo19,
|
|
3199
3216
|
useState as useState8
|
|
3200
3217
|
} from "react";
|
|
3201
3218
|
import { createPortal as createPortal2 } from "react-dom";
|
|
@@ -3213,10 +3230,10 @@ function useToastStore() {
|
|
|
3213
3230
|
|
|
3214
3231
|
// src/toast/toast-item.tsx
|
|
3215
3232
|
import { forwardRef as forwardRef25 } from "react";
|
|
3216
|
-
import { jsx as
|
|
3233
|
+
import { jsx as jsx26, jsxs as jsxs4 } from "react/jsx-runtime";
|
|
3217
3234
|
var ToastItem = forwardRef25(function ToastItem2({ item, onExited, className, ...rest }, ref) {
|
|
3218
3235
|
const { id, title, description, durationMs } = item;
|
|
3219
|
-
return /* @__PURE__ */
|
|
3236
|
+
return /* @__PURE__ */ jsxs4(
|
|
3220
3237
|
Root19,
|
|
3221
3238
|
{
|
|
3222
3239
|
ref,
|
|
@@ -3228,16 +3245,16 @@ var ToastItem = forwardRef25(function ToastItem2({ item, onExited, className, ..
|
|
|
3228
3245
|
},
|
|
3229
3246
|
...rest,
|
|
3230
3247
|
children: [
|
|
3231
|
-
title ? /* @__PURE__ */
|
|
3232
|
-
description ? /* @__PURE__ */
|
|
3233
|
-
/* @__PURE__ */
|
|
3248
|
+
title ? /* @__PURE__ */ jsx26(Title2, { children: title }) : null,
|
|
3249
|
+
description ? /* @__PURE__ */ jsx26(Description2, { children: description }) : null,
|
|
3250
|
+
/* @__PURE__ */ jsx26(CloseTrigger3, {})
|
|
3234
3251
|
]
|
|
3235
3252
|
}
|
|
3236
3253
|
);
|
|
3237
3254
|
});
|
|
3238
3255
|
|
|
3239
3256
|
// src/toast/provider.tsx
|
|
3240
|
-
import { jsx as
|
|
3257
|
+
import { jsx as jsx27 } from "react/jsx-runtime";
|
|
3241
3258
|
var PLACEMENT_ATTR = {
|
|
3242
3259
|
"top-start": "top-start",
|
|
3243
3260
|
"top-end": "top-end",
|
|
@@ -3249,13 +3266,13 @@ function nextToastId() {
|
|
|
3249
3266
|
}
|
|
3250
3267
|
function ToastProvider({ children, limit = 5 }) {
|
|
3251
3268
|
const [items, setItems] = useState8([]);
|
|
3252
|
-
const dismiss =
|
|
3269
|
+
const dismiss = useCallback8((id) => {
|
|
3253
3270
|
setItems((prev) => prev.filter((t) => t.id !== id));
|
|
3254
3271
|
}, []);
|
|
3255
|
-
const dismissAll =
|
|
3272
|
+
const dismissAll = useCallback8(() => {
|
|
3256
3273
|
setItems([]);
|
|
3257
3274
|
}, []);
|
|
3258
|
-
const publish =
|
|
3275
|
+
const publish = useCallback8(
|
|
3259
3276
|
(options) => {
|
|
3260
3277
|
const id = options.id ?? nextToastId();
|
|
3261
3278
|
const record = { ...options, id };
|
|
@@ -3268,11 +3285,11 @@ function ToastProvider({ children, limit = 5 }) {
|
|
|
3268
3285
|
},
|
|
3269
3286
|
[limit]
|
|
3270
3287
|
);
|
|
3271
|
-
const value =
|
|
3288
|
+
const value = useMemo19(
|
|
3272
3289
|
() => ({ items, publish, dismiss, dismissAll }),
|
|
3273
3290
|
[items, publish, dismiss, dismissAll]
|
|
3274
3291
|
);
|
|
3275
|
-
return /* @__PURE__ */
|
|
3292
|
+
return /* @__PURE__ */ jsx27(ToastStoreCtx.Provider, { value, children });
|
|
3276
3293
|
}
|
|
3277
3294
|
function ToastViewport({ placement = "bottom-end", className, ...rest }) {
|
|
3278
3295
|
const { items, dismiss } = useToastStore();
|
|
@@ -3282,11 +3299,11 @@ function ToastViewport({ placement = "bottom-end", className, ...rest }) {
|
|
|
3282
3299
|
}, []);
|
|
3283
3300
|
if (!mounted) return null;
|
|
3284
3301
|
return createPortal2(
|
|
3285
|
-
/* @__PURE__ */
|
|
3302
|
+
/* @__PURE__ */ jsx27(
|
|
3286
3303
|
"div",
|
|
3287
3304
|
{
|
|
3288
3305
|
...mergeProps(
|
|
3289
|
-
|
|
3306
|
+
partAttrs22(toastAnatomy2.scope, toastAnatomy2.viewport, {
|
|
3290
3307
|
state: items.length > 0 ? "active" : "idle"
|
|
3291
3308
|
}),
|
|
3292
3309
|
{
|
|
@@ -3295,7 +3312,7 @@ function ToastViewport({ placement = "bottom-end", className, ...rest }) {
|
|
|
3295
3312
|
rest
|
|
3296
3313
|
),
|
|
3297
3314
|
className,
|
|
3298
|
-
children: items.map((item) => /* @__PURE__ */
|
|
3315
|
+
children: items.map((item) => /* @__PURE__ */ jsx27(ToastItem, { item, onExited: dismiss }, item.id))
|
|
3299
3316
|
}
|
|
3300
3317
|
),
|
|
3301
3318
|
document.body
|
|
@@ -3317,27 +3334,165 @@ var Toast = {
|
|
|
3317
3334
|
Show
|
|
3318
3335
|
};
|
|
3319
3336
|
|
|
3320
|
-
// src/
|
|
3321
|
-
import {
|
|
3337
|
+
// src/theme-switcher/index.tsx
|
|
3338
|
+
import { partAttrs as partAttrs23, scopeAttrs as scopeAttrs2, themeSwitcherAnatomy } from "@aeon-ui/core";
|
|
3339
|
+
import {
|
|
3340
|
+
applyAeonTheme,
|
|
3341
|
+
initAeonTheme
|
|
3342
|
+
} from "@aeon-ui/core";
|
|
3322
3343
|
import {
|
|
3323
3344
|
createContext as createContext20,
|
|
3324
3345
|
forwardRef as forwardRef26,
|
|
3325
|
-
useCallback as useCallback8,
|
|
3326
3346
|
useContext as useContext20,
|
|
3327
|
-
|
|
3328
|
-
useMemo as useMemo21,
|
|
3347
|
+
useLayoutEffect as useLayoutEffect2,
|
|
3329
3348
|
useState as useState9
|
|
3330
3349
|
} from "react";
|
|
3350
|
+
import { jsx as jsx28 } from "react/jsx-runtime";
|
|
3351
|
+
var Root20 = forwardRef26(
|
|
3352
|
+
function ThemeSwitcherRoot({ defaultTheme, defaultMode, onThemeChange, children, ...rest }, ref) {
|
|
3353
|
+
const [themeId, setThemeId] = useState9(defaultTheme ?? "default");
|
|
3354
|
+
const [mode, setMode] = useState9(defaultMode ?? "dark");
|
|
3355
|
+
useLayoutEffect2(() => {
|
|
3356
|
+
const { themeId: t, mode: m } = initAeonTheme();
|
|
3357
|
+
setThemeId(t);
|
|
3358
|
+
setMode(m);
|
|
3359
|
+
}, []);
|
|
3360
|
+
const handleThemeChange = (next) => {
|
|
3361
|
+
setThemeId(next);
|
|
3362
|
+
applyAeonTheme(next, mode);
|
|
3363
|
+
onThemeChange?.(next, mode);
|
|
3364
|
+
};
|
|
3365
|
+
const handleModeChange = (next) => {
|
|
3366
|
+
setMode(next);
|
|
3367
|
+
applyAeonTheme(themeId, next);
|
|
3368
|
+
onThemeChange?.(themeId, next);
|
|
3369
|
+
};
|
|
3370
|
+
return /* @__PURE__ */ jsx28(
|
|
3371
|
+
"div",
|
|
3372
|
+
{
|
|
3373
|
+
ref,
|
|
3374
|
+
...mergeProps(
|
|
3375
|
+
scopeAttrs2(themeSwitcherAnatomy.scope, themeSwitcherAnatomy.root),
|
|
3376
|
+
rest
|
|
3377
|
+
),
|
|
3378
|
+
children: /* @__PURE__ */ jsx28(
|
|
3379
|
+
ThemeSwitcherContext.Provider,
|
|
3380
|
+
{
|
|
3381
|
+
value: { themeId, mode, handleThemeChange, handleModeChange },
|
|
3382
|
+
children
|
|
3383
|
+
}
|
|
3384
|
+
)
|
|
3385
|
+
}
|
|
3386
|
+
);
|
|
3387
|
+
}
|
|
3388
|
+
);
|
|
3389
|
+
var ThemeSwitcherContext = createContext20(null);
|
|
3390
|
+
function useThemeSwitcher() {
|
|
3391
|
+
const ctx = useContext20(ThemeSwitcherContext);
|
|
3392
|
+
if (!ctx) throw new Error("ThemeSwitcher parts must be used inside <ThemeSwitcher.Root>");
|
|
3393
|
+
return ctx;
|
|
3394
|
+
}
|
|
3395
|
+
var Modes = forwardRef26(
|
|
3396
|
+
function ThemeSwitcherModes(props, ref) {
|
|
3397
|
+
return /* @__PURE__ */ jsx28(
|
|
3398
|
+
"div",
|
|
3399
|
+
{
|
|
3400
|
+
ref,
|
|
3401
|
+
role: "group",
|
|
3402
|
+
"aria-label": "Color mode",
|
|
3403
|
+
...mergeProps(
|
|
3404
|
+
partAttrs23(themeSwitcherAnatomy.scope, themeSwitcherAnatomy.modes),
|
|
3405
|
+
props
|
|
3406
|
+
)
|
|
3407
|
+
}
|
|
3408
|
+
);
|
|
3409
|
+
}
|
|
3410
|
+
);
|
|
3411
|
+
var ModeBtn = forwardRef26(
|
|
3412
|
+
function ThemeSwitcherModeBtn({ mode, active, ...rest }, ref) {
|
|
3413
|
+
const { handleModeChange } = useThemeSwitcher();
|
|
3414
|
+
return /* @__PURE__ */ jsx28(
|
|
3415
|
+
"button",
|
|
3416
|
+
{
|
|
3417
|
+
ref,
|
|
3418
|
+
type: "button",
|
|
3419
|
+
"aria-pressed": active,
|
|
3420
|
+
"data-active": active ? "true" : void 0,
|
|
3421
|
+
...mergeProps(
|
|
3422
|
+
partAttrs23(themeSwitcherAnatomy.scope, themeSwitcherAnatomy.modeBtn),
|
|
3423
|
+
rest
|
|
3424
|
+
),
|
|
3425
|
+
onClick: (e) => {
|
|
3426
|
+
handleModeChange(mode);
|
|
3427
|
+
rest.onClick?.(e);
|
|
3428
|
+
},
|
|
3429
|
+
children: rest.children ?? (mode === "light" ? "Light" : "Dark")
|
|
3430
|
+
}
|
|
3431
|
+
);
|
|
3432
|
+
}
|
|
3433
|
+
);
|
|
3434
|
+
var ThemeSelect = forwardRef26(
|
|
3435
|
+
function ThemeSwitcherThemeSelect({ children, ...rest }, ref) {
|
|
3436
|
+
return /* @__PURE__ */ jsx28(
|
|
3437
|
+
"div",
|
|
3438
|
+
{
|
|
3439
|
+
ref,
|
|
3440
|
+
...mergeProps(
|
|
3441
|
+
partAttrs23(themeSwitcherAnatomy.scope, themeSwitcherAnatomy.themeSelect),
|
|
3442
|
+
rest
|
|
3443
|
+
),
|
|
3444
|
+
children
|
|
3445
|
+
}
|
|
3446
|
+
);
|
|
3447
|
+
}
|
|
3448
|
+
);
|
|
3449
|
+
var ThemeTrigger = forwardRef26(
|
|
3450
|
+
function ThemeSwitcherThemeTrigger(props, ref) {
|
|
3451
|
+
const { themeId } = useThemeSwitcher();
|
|
3452
|
+
return /* @__PURE__ */ jsx28(
|
|
3453
|
+
"button",
|
|
3454
|
+
{
|
|
3455
|
+
ref,
|
|
3456
|
+
type: "button",
|
|
3457
|
+
"aria-label": `Theme preset: ${themeId}`,
|
|
3458
|
+
...mergeProps(
|
|
3459
|
+
partAttrs23(themeSwitcherAnatomy.scope, themeSwitcherAnatomy.themeTrigger),
|
|
3460
|
+
props
|
|
3461
|
+
),
|
|
3462
|
+
children: props.children ?? themeId
|
|
3463
|
+
}
|
|
3464
|
+
);
|
|
3465
|
+
}
|
|
3466
|
+
);
|
|
3467
|
+
var ThemeSwitcher = {
|
|
3468
|
+
Root: Root20,
|
|
3469
|
+
Modes,
|
|
3470
|
+
ModeBtn,
|
|
3471
|
+
ThemeSelect,
|
|
3472
|
+
ThemeTrigger
|
|
3473
|
+
};
|
|
3474
|
+
|
|
3475
|
+
// src/avatar/index.tsx
|
|
3476
|
+
import { avatarAnatomy, partAttrs as partAttrs24 } from "@aeon-ui/core";
|
|
3477
|
+
import {
|
|
3478
|
+
createContext as createContext21,
|
|
3479
|
+
forwardRef as forwardRef27,
|
|
3480
|
+
useCallback as useCallback9,
|
|
3481
|
+
useContext as useContext21,
|
|
3482
|
+
useEffect as useEffect21,
|
|
3483
|
+
useMemo as useMemo20,
|
|
3484
|
+
useState as useState10
|
|
3485
|
+
} from "react";
|
|
3331
3486
|
import { jsx as jsx29 } from "react/jsx-runtime";
|
|
3332
|
-
var AvatarCtx =
|
|
3487
|
+
var AvatarCtx = createContext21(null);
|
|
3333
3488
|
function useAvatarCtx() {
|
|
3334
|
-
const ctx =
|
|
3489
|
+
const ctx = useContext21(AvatarCtx);
|
|
3335
3490
|
if (!ctx) throw new Error("Avatar parts must be used within Avatar.Root");
|
|
3336
3491
|
return ctx;
|
|
3337
3492
|
}
|
|
3338
|
-
var
|
|
3339
|
-
const [status, setStatus] =
|
|
3340
|
-
const value =
|
|
3493
|
+
var Root21 = forwardRef27(function AvatarRoot({ children, className, ...rest }, ref) {
|
|
3494
|
+
const [status, setStatus] = useState10("idle");
|
|
3495
|
+
const value = useMemo20(() => ({ status, setStatus }), [status]);
|
|
3341
3496
|
return /* @__PURE__ */ jsx29(AvatarCtx.Provider, { value, children: /* @__PURE__ */ jsx29(
|
|
3342
3497
|
"span",
|
|
3343
3498
|
{
|
|
@@ -3351,20 +3506,20 @@ var Root20 = forwardRef26(function AvatarRoot({ children, className, ...rest },
|
|
|
3351
3506
|
}
|
|
3352
3507
|
) });
|
|
3353
3508
|
});
|
|
3354
|
-
var Image =
|
|
3509
|
+
var Image = forwardRef27(function AvatarImage({ src, alt, onLoad, onError, className, ...rest }, ref) {
|
|
3355
3510
|
const { status, setStatus } = useAvatarCtx();
|
|
3356
3511
|
useEffect21(() => {
|
|
3357
3512
|
if (!src) setStatus("idle");
|
|
3358
3513
|
else setStatus("loading");
|
|
3359
3514
|
}, [src, setStatus]);
|
|
3360
|
-
const handleLoad =
|
|
3515
|
+
const handleLoad = useCallback9(
|
|
3361
3516
|
(e) => {
|
|
3362
3517
|
onLoad?.(e);
|
|
3363
3518
|
setStatus("loaded");
|
|
3364
3519
|
},
|
|
3365
3520
|
[onLoad, setStatus]
|
|
3366
3521
|
);
|
|
3367
|
-
const handleError =
|
|
3522
|
+
const handleError = useCallback9(
|
|
3368
3523
|
(e) => {
|
|
3369
3524
|
onError?.(e);
|
|
3370
3525
|
setStatus("error");
|
|
@@ -3384,7 +3539,7 @@ var Image = forwardRef26(function AvatarImage({ src, alt, onLoad, onError, class
|
|
|
3384
3539
|
}
|
|
3385
3540
|
);
|
|
3386
3541
|
});
|
|
3387
|
-
var Fallback =
|
|
3542
|
+
var Fallback = forwardRef27(function AvatarFallback({ className, ...rest }, ref) {
|
|
3388
3543
|
const { status } = useAvatarCtx();
|
|
3389
3544
|
const show = status !== "loaded";
|
|
3390
3545
|
return /* @__PURE__ */ jsx29(
|
|
@@ -3398,64 +3553,1187 @@ var Fallback = forwardRef26(function AvatarFallback({ className, ...rest }, ref)
|
|
|
3398
3553
|
}
|
|
3399
3554
|
);
|
|
3400
3555
|
});
|
|
3556
|
+
var Badge = forwardRef27(function AvatarBadge({ presence = "idle", className, ...rest }, ref) {
|
|
3557
|
+
useAvatarCtx();
|
|
3558
|
+
return /* @__PURE__ */ jsx29(
|
|
3559
|
+
"span",
|
|
3560
|
+
{
|
|
3561
|
+
ref,
|
|
3562
|
+
"data-aeon-presence": presence,
|
|
3563
|
+
...partAttrs24(avatarAnatomy.scope, avatarAnatomy.badge, { state: presence }),
|
|
3564
|
+
className,
|
|
3565
|
+
...rest
|
|
3566
|
+
}
|
|
3567
|
+
);
|
|
3568
|
+
});
|
|
3401
3569
|
var Avatar = {
|
|
3402
|
-
Root:
|
|
3570
|
+
Root: Root21,
|
|
3403
3571
|
Image,
|
|
3404
|
-
Fallback
|
|
3572
|
+
Fallback,
|
|
3573
|
+
Badge
|
|
3405
3574
|
};
|
|
3406
3575
|
|
|
3407
|
-
// src/
|
|
3408
|
-
import {
|
|
3409
|
-
import {
|
|
3410
|
-
|
|
3411
|
-
|
|
3412
|
-
|
|
3413
|
-
|
|
3576
|
+
// src/identity/index.tsx
|
|
3577
|
+
import { identityAnatomy, partAttrs as partAttrs25, scopeAttrs as scopeAttrs3 } from "@aeon-ui/core";
|
|
3578
|
+
import { createContext as createContext22, forwardRef as forwardRef28, useContext as useContext22 } from "react";
|
|
3579
|
+
import { jsx as jsx30 } from "react/jsx-runtime";
|
|
3580
|
+
var IdentityCtx = createContext22(null);
|
|
3581
|
+
function useIdentityCtx() {
|
|
3582
|
+
const ctx = useContext22(IdentityCtx);
|
|
3583
|
+
if (!ctx) throw new Error("Identity parts must be used within Identity.Root");
|
|
3584
|
+
return ctx;
|
|
3585
|
+
}
|
|
3586
|
+
var Root22 = forwardRef28(function IdentityRoot({ as: Tag = "div", size = "md", children, ...rest }, ref) {
|
|
3587
|
+
return /* @__PURE__ */ jsx30(IdentityCtx.Provider, { value: { size }, children: /* @__PURE__ */ jsx30(
|
|
3588
|
+
Tag,
|
|
3589
|
+
{
|
|
3590
|
+
ref,
|
|
3591
|
+
"data-aeon-size": size,
|
|
3592
|
+
...mergeProps(scopeAttrs3(identityAnatomy.scope, identityAnatomy.root), rest),
|
|
3593
|
+
children
|
|
3594
|
+
}
|
|
3595
|
+
) });
|
|
3596
|
+
});
|
|
3597
|
+
var AvatarSlot = forwardRef28(
|
|
3598
|
+
function IdentityAvatar(props, ref) {
|
|
3599
|
+
useIdentityCtx();
|
|
3600
|
+
return /* @__PURE__ */ jsx30(
|
|
3601
|
+
"span",
|
|
3602
|
+
{
|
|
3603
|
+
ref,
|
|
3604
|
+
...mergeProps(partAttrs25(identityAnatomy.scope, identityAnatomy.avatar), props)
|
|
3605
|
+
}
|
|
3606
|
+
);
|
|
3607
|
+
}
|
|
3608
|
+
);
|
|
3609
|
+
var Title3 = forwardRef28(function IdentityTitle(props, ref) {
|
|
3610
|
+
useIdentityCtx();
|
|
3611
|
+
return /* @__PURE__ */ jsx30(
|
|
3612
|
+
"span",
|
|
3613
|
+
{
|
|
3614
|
+
ref,
|
|
3615
|
+
...mergeProps(partAttrs25(identityAnatomy.scope, identityAnatomy.title), props)
|
|
3616
|
+
}
|
|
3617
|
+
);
|
|
3618
|
+
});
|
|
3619
|
+
var Subtitle = forwardRef28(
|
|
3620
|
+
function IdentitySubtitle(props, ref) {
|
|
3621
|
+
useIdentityCtx();
|
|
3622
|
+
return /* @__PURE__ */ jsx30(
|
|
3623
|
+
"span",
|
|
3624
|
+
{
|
|
3625
|
+
ref,
|
|
3626
|
+
...mergeProps(partAttrs25(identityAnatomy.scope, identityAnatomy.subtitle), props)
|
|
3627
|
+
}
|
|
3628
|
+
);
|
|
3629
|
+
}
|
|
3630
|
+
);
|
|
3631
|
+
var Meta = forwardRef28(function IdentityMeta(props, ref) {
|
|
3632
|
+
useIdentityCtx();
|
|
3633
|
+
return /* @__PURE__ */ jsx30("span", { ref, ...mergeProps(partAttrs25(identityAnatomy.scope, identityAnatomy.meta), props) });
|
|
3634
|
+
});
|
|
3635
|
+
var Trailing = forwardRef28(
|
|
3636
|
+
function IdentityTrailing(props, ref) {
|
|
3637
|
+
useIdentityCtx();
|
|
3638
|
+
return /* @__PURE__ */ jsx30(
|
|
3639
|
+
"span",
|
|
3640
|
+
{
|
|
3641
|
+
ref,
|
|
3642
|
+
...mergeProps(partAttrs25(identityAnatomy.scope, identityAnatomy.trailing), props)
|
|
3643
|
+
}
|
|
3644
|
+
);
|
|
3645
|
+
}
|
|
3646
|
+
);
|
|
3647
|
+
var Identity = {
|
|
3648
|
+
Root: Root22,
|
|
3649
|
+
Avatar: AvatarSlot,
|
|
3650
|
+
Title: Title3,
|
|
3651
|
+
Subtitle,
|
|
3652
|
+
Meta,
|
|
3653
|
+
Trailing
|
|
3654
|
+
};
|
|
3655
|
+
|
|
3656
|
+
// src/metric-strip/index.tsx
|
|
3657
|
+
import { metricStripAnatomy, partAttrs as partAttrs26, scopeAttrs as scopeAttrs4 } from "@aeon-ui/core";
|
|
3658
|
+
import { createContext as createContext23, forwardRef as forwardRef29, useContext as useContext23 } from "react";
|
|
3659
|
+
import { jsx as jsx31 } from "react/jsx-runtime";
|
|
3660
|
+
var MetricCtx = createContext23(null);
|
|
3661
|
+
function useMetricCtx() {
|
|
3662
|
+
const ctx = useContext23(MetricCtx);
|
|
3663
|
+
if (!ctx) throw new Error("MetricStrip parts must be used within MetricStrip.Root");
|
|
3664
|
+
return ctx;
|
|
3665
|
+
}
|
|
3666
|
+
var Root23 = forwardRef29(function MetricStripRoot({ density = "cluster", children, ...rest }, ref) {
|
|
3667
|
+
return /* @__PURE__ */ jsx31(MetricCtx.Provider, { value: { density }, children: /* @__PURE__ */ jsx31(
|
|
3668
|
+
"div",
|
|
3669
|
+
{
|
|
3670
|
+
ref,
|
|
3671
|
+
"data-aeon-density": density,
|
|
3672
|
+
role: "group",
|
|
3673
|
+
...mergeProps(scopeAttrs4(metricStripAnatomy.scope, metricStripAnatomy.root), rest),
|
|
3674
|
+
children
|
|
3675
|
+
}
|
|
3676
|
+
) });
|
|
3677
|
+
});
|
|
3678
|
+
var Chip = forwardRef29(function MetricChip(props, ref) {
|
|
3679
|
+
useMetricCtx();
|
|
3680
|
+
return /* @__PURE__ */ jsx31(
|
|
3681
|
+
"span",
|
|
3682
|
+
{
|
|
3683
|
+
ref,
|
|
3684
|
+
...mergeProps(partAttrs26(metricStripAnatomy.scope, metricStripAnatomy.chip), props)
|
|
3685
|
+
}
|
|
3686
|
+
);
|
|
3687
|
+
});
|
|
3688
|
+
var Value = forwardRef29(function MetricValue(props, ref) {
|
|
3689
|
+
useMetricCtx();
|
|
3690
|
+
return /* @__PURE__ */ jsx31(
|
|
3691
|
+
"span",
|
|
3692
|
+
{
|
|
3693
|
+
ref,
|
|
3694
|
+
...mergeProps(partAttrs26(metricStripAnatomy.scope, metricStripAnatomy.value), props)
|
|
3695
|
+
}
|
|
3696
|
+
);
|
|
3697
|
+
});
|
|
3698
|
+
var Label6 = forwardRef29(function MetricLabel(props, ref) {
|
|
3699
|
+
useMetricCtx();
|
|
3700
|
+
return /* @__PURE__ */ jsx31(
|
|
3701
|
+
"span",
|
|
3702
|
+
{
|
|
3703
|
+
ref,
|
|
3704
|
+
...mergeProps(partAttrs26(metricStripAnatomy.scope, metricStripAnatomy.label), props)
|
|
3705
|
+
}
|
|
3706
|
+
);
|
|
3707
|
+
});
|
|
3708
|
+
var MetricStrip = {
|
|
3709
|
+
Root: Root23,
|
|
3710
|
+
Chip,
|
|
3711
|
+
Value,
|
|
3712
|
+
Label: Label6
|
|
3713
|
+
};
|
|
3714
|
+
|
|
3715
|
+
// src/list-row/index.tsx
|
|
3716
|
+
import { listRowAnatomy, partAttrs as partAttrs27, scopeAttrs as scopeAttrs5 } from "@aeon-ui/core";
|
|
3717
|
+
import { forwardRef as forwardRef30 } from "react";
|
|
3718
|
+
import { jsx as jsx32 } from "react/jsx-runtime";
|
|
3719
|
+
var Root24 = forwardRef30(function ListRowRoot({ as: Tag = "button", type, children, ...rest }, ref) {
|
|
3720
|
+
const buttonType = Tag === "button" ? type ?? "button" : void 0;
|
|
3721
|
+
return /* @__PURE__ */ jsx32(
|
|
3722
|
+
Tag,
|
|
3723
|
+
{
|
|
3724
|
+
ref,
|
|
3725
|
+
type: buttonType,
|
|
3726
|
+
...mergeProps(scopeAttrs5(listRowAnatomy.scope, listRowAnatomy.root), rest),
|
|
3727
|
+
children
|
|
3728
|
+
}
|
|
3729
|
+
);
|
|
3730
|
+
});
|
|
3731
|
+
var Leading = forwardRef30(function ListRowLeading(props, ref) {
|
|
3732
|
+
return /* @__PURE__ */ jsx32(
|
|
3733
|
+
"span",
|
|
3734
|
+
{
|
|
3735
|
+
ref,
|
|
3736
|
+
...mergeProps(partAttrs27(listRowAnatomy.scope, listRowAnatomy.leading), props)
|
|
3737
|
+
}
|
|
3738
|
+
);
|
|
3739
|
+
});
|
|
3740
|
+
var Label7 = forwardRef30(function ListRowLabel(props, ref) {
|
|
3741
|
+
return /* @__PURE__ */ jsx32("span", { ref, ...mergeProps(partAttrs27(listRowAnatomy.scope, listRowAnatomy.label), props) });
|
|
3742
|
+
});
|
|
3743
|
+
var Description3 = forwardRef30(
|
|
3744
|
+
function ListRowDescription(props, ref) {
|
|
3745
|
+
return /* @__PURE__ */ jsx32(
|
|
3746
|
+
"span",
|
|
3747
|
+
{
|
|
3748
|
+
ref,
|
|
3749
|
+
...mergeProps(partAttrs27(listRowAnatomy.scope, listRowAnatomy.description), props)
|
|
3750
|
+
}
|
|
3751
|
+
);
|
|
3752
|
+
}
|
|
3753
|
+
);
|
|
3754
|
+
var Trailing2 = forwardRef30(
|
|
3755
|
+
function ListRowTrailing(props, ref) {
|
|
3756
|
+
return /* @__PURE__ */ jsx32(
|
|
3757
|
+
"span",
|
|
3758
|
+
{
|
|
3759
|
+
ref,
|
|
3760
|
+
...mergeProps(partAttrs27(listRowAnatomy.scope, listRowAnatomy.trailing), props)
|
|
3761
|
+
}
|
|
3762
|
+
);
|
|
3763
|
+
}
|
|
3764
|
+
);
|
|
3765
|
+
var ListRow = {
|
|
3766
|
+
Root: Root24,
|
|
3767
|
+
Leading,
|
|
3768
|
+
Label: Label7,
|
|
3769
|
+
Description: Description3,
|
|
3770
|
+
Trailing: Trailing2
|
|
3771
|
+
};
|
|
3772
|
+
|
|
3773
|
+
// src/entry/index.tsx
|
|
3774
|
+
import { entryAnatomy, partAttrs as partAttrs28, scopeAttrs as scopeAttrs6 } from "@aeon-ui/core";
|
|
3775
|
+
import { forwardRef as forwardRef31 } from "react";
|
|
3776
|
+
import { jsx as jsx33 } from "react/jsx-runtime";
|
|
3777
|
+
var List2 = forwardRef31(function EntryList({ children, ...rest }, ref) {
|
|
3778
|
+
return /* @__PURE__ */ jsx33(
|
|
3779
|
+
"div",
|
|
3780
|
+
{
|
|
3781
|
+
ref,
|
|
3782
|
+
...mergeProps(scopeAttrs6(entryAnatomy.scope, entryAnatomy.list), rest),
|
|
3783
|
+
children
|
|
3784
|
+
}
|
|
3785
|
+
);
|
|
3786
|
+
});
|
|
3787
|
+
var Root25 = forwardRef31(function EntryRoot({ as: Tag = "article", state = "idle", children, ...rest }, ref) {
|
|
3788
|
+
return /* @__PURE__ */ jsx33(
|
|
3789
|
+
Tag,
|
|
3790
|
+
{
|
|
3791
|
+
ref,
|
|
3792
|
+
...mergeProps(scopeAttrs6(entryAnatomy.scope, entryAnatomy.root, { state }), rest),
|
|
3793
|
+
children
|
|
3794
|
+
}
|
|
3795
|
+
);
|
|
3796
|
+
});
|
|
3797
|
+
function Part(part, displayName, defaultTag = "div") {
|
|
3798
|
+
const Comp = forwardRef31(
|
|
3799
|
+
function EntryPart({ as: Tag = defaultTag, ...props }, ref) {
|
|
3800
|
+
return /* @__PURE__ */ jsx33(
|
|
3801
|
+
Tag,
|
|
3802
|
+
{
|
|
3803
|
+
ref,
|
|
3804
|
+
...mergeProps(partAttrs28(entryAnatomy.scope, part), props)
|
|
3805
|
+
}
|
|
3806
|
+
);
|
|
3807
|
+
}
|
|
3808
|
+
);
|
|
3809
|
+
Comp.displayName = displayName;
|
|
3810
|
+
return Comp;
|
|
3811
|
+
}
|
|
3812
|
+
var Entry = {
|
|
3813
|
+
List: List2,
|
|
3814
|
+
Root: Root25,
|
|
3815
|
+
Header: Part(entryAnatomy.header, "Entry.Header", "header"),
|
|
3816
|
+
Leading: Part(entryAnatomy.leading, "Entry.Leading", "div"),
|
|
3817
|
+
Heading: Part(entryAnatomy.heading, "Entry.Heading", "div"),
|
|
3818
|
+
Title: Part(entryAnatomy.title, "Entry.Title", "div"),
|
|
3819
|
+
Subtitle: Part(entryAnatomy.subtitle, "Entry.Subtitle", "div"),
|
|
3820
|
+
Meta: Part(entryAnatomy.meta, "Entry.Meta", "span"),
|
|
3821
|
+
Media: Part(entryAnatomy.media, "Entry.Media", "div"),
|
|
3822
|
+
Body: Part(entryAnatomy.body, "Entry.Body", "div"),
|
|
3823
|
+
Values: Part(entryAnatomy.values, "Entry.Values", "div"),
|
|
3824
|
+
Value: Part(entryAnatomy.value, "Entry.Value", "span"),
|
|
3825
|
+
Actions: Part(entryAnatomy.actions, "Entry.Actions", "div"),
|
|
3826
|
+
Footer: Part(entryAnatomy.footer, "Entry.Footer", "footer")
|
|
3827
|
+
};
|
|
3828
|
+
|
|
3829
|
+
// src/conversation/index.tsx
|
|
3830
|
+
import { conversationAnatomy, partAttrs as partAttrs29, scopeAttrs as scopeAttrs7 } from "@aeon-ui/core";
|
|
3831
|
+
import { forwardRef as forwardRef32 } from "react";
|
|
3832
|
+
import { jsx as jsx34 } from "react/jsx-runtime";
|
|
3833
|
+
var Root26 = forwardRef32(function ConversationRoot({ children, ...rest }, ref) {
|
|
3834
|
+
return /* @__PURE__ */ jsx34(
|
|
3835
|
+
"div",
|
|
3836
|
+
{
|
|
3837
|
+
ref,
|
|
3838
|
+
...mergeProps(scopeAttrs7(conversationAnatomy.scope, conversationAnatomy.root), rest),
|
|
3839
|
+
children
|
|
3840
|
+
}
|
|
3841
|
+
);
|
|
3842
|
+
});
|
|
3843
|
+
var Item6 = forwardRef32(function ConversationItem({ state = "idle", as: Tag = "button", type, children, ...rest }, ref) {
|
|
3844
|
+
const buttonType = Tag === "button" ? type ?? "button" : void 0;
|
|
3845
|
+
return /* @__PURE__ */ jsx34(
|
|
3846
|
+
Tag,
|
|
3847
|
+
{
|
|
3848
|
+
ref,
|
|
3849
|
+
type: buttonType,
|
|
3850
|
+
...mergeProps(
|
|
3851
|
+
partAttrs29(conversationAnatomy.scope, conversationAnatomy.item, { state }),
|
|
3852
|
+
rest
|
|
3853
|
+
),
|
|
3854
|
+
children
|
|
3855
|
+
}
|
|
3856
|
+
);
|
|
3857
|
+
});
|
|
3858
|
+
function Part2(part, displayName) {
|
|
3859
|
+
const Comp = forwardRef32(function ConversationPart(props, ref) {
|
|
3860
|
+
return /* @__PURE__ */ jsx34(
|
|
3861
|
+
"span",
|
|
3862
|
+
{
|
|
3863
|
+
ref,
|
|
3864
|
+
...mergeProps(partAttrs29(conversationAnatomy.scope, part), props)
|
|
3865
|
+
}
|
|
3866
|
+
);
|
|
3867
|
+
});
|
|
3868
|
+
Comp.displayName = displayName;
|
|
3869
|
+
return Comp;
|
|
3870
|
+
}
|
|
3871
|
+
var Conversation = {
|
|
3872
|
+
Root: Root26,
|
|
3873
|
+
Item: Item6,
|
|
3874
|
+
Leading: Part2(conversationAnatomy.leading, "Conversation.Leading"),
|
|
3875
|
+
Body: Part2(conversationAnatomy.body, "Conversation.Body"),
|
|
3876
|
+
Title: Part2(conversationAnatomy.title, "Conversation.Title"),
|
|
3877
|
+
Preview: Part2(conversationAnatomy.preview, "Conversation.Preview"),
|
|
3878
|
+
Meta: Part2(conversationAnatomy.meta, "Conversation.Meta"),
|
|
3879
|
+
Badge: Part2(conversationAnatomy.badge, "Conversation.Badge")
|
|
3880
|
+
};
|
|
3881
|
+
|
|
3882
|
+
// src/thread/index.tsx
|
|
3883
|
+
import { partAttrs as partAttrs30, scopeAttrs as scopeAttrs8, threadAnatomy } from "@aeon-ui/core";
|
|
3884
|
+
import { forwardRef as forwardRef33 } from "react";
|
|
3885
|
+
import { jsx as jsx35 } from "react/jsx-runtime";
|
|
3886
|
+
var Root27 = forwardRef33(function ThreadRoot({ children, ...rest }, ref) {
|
|
3887
|
+
return /* @__PURE__ */ jsx35(
|
|
3888
|
+
"div",
|
|
3889
|
+
{
|
|
3890
|
+
ref,
|
|
3891
|
+
...mergeProps(scopeAttrs8(threadAnatomy.scope, threadAnatomy.root), rest),
|
|
3892
|
+
children
|
|
3893
|
+
}
|
|
3894
|
+
);
|
|
3895
|
+
});
|
|
3896
|
+
var List3 = forwardRef33(function ThreadList(props, ref) {
|
|
3897
|
+
return /* @__PURE__ */ jsx35(
|
|
3898
|
+
"div",
|
|
3899
|
+
{
|
|
3900
|
+
ref,
|
|
3901
|
+
role: "log",
|
|
3902
|
+
"aria-live": "polite",
|
|
3903
|
+
...mergeProps(partAttrs30(threadAnatomy.scope, threadAnatomy.list), props)
|
|
3904
|
+
}
|
|
3905
|
+
);
|
|
3906
|
+
});
|
|
3907
|
+
var Item7 = forwardRef33(function ThreadItem({ state = "theirs", ...rest }, ref) {
|
|
3908
|
+
return /* @__PURE__ */ jsx35(
|
|
3909
|
+
"div",
|
|
3910
|
+
{
|
|
3911
|
+
ref,
|
|
3912
|
+
...mergeProps(partAttrs30(threadAnatomy.scope, threadAnatomy.item, { state }), rest)
|
|
3913
|
+
}
|
|
3914
|
+
);
|
|
3915
|
+
});
|
|
3916
|
+
var Bubble = forwardRef33(function ThreadBubble(props, ref) {
|
|
3917
|
+
return /* @__PURE__ */ jsx35(
|
|
3918
|
+
"div",
|
|
3919
|
+
{
|
|
3920
|
+
ref,
|
|
3921
|
+
...mergeProps(partAttrs30(threadAnatomy.scope, threadAnatomy.bubble), props)
|
|
3922
|
+
}
|
|
3923
|
+
);
|
|
3924
|
+
});
|
|
3925
|
+
var Meta2 = forwardRef33(function ThreadMeta(props, ref) {
|
|
3926
|
+
return /* @__PURE__ */ jsx35("span", { ref, ...mergeProps(partAttrs30(threadAnatomy.scope, threadAnatomy.meta), props) });
|
|
3927
|
+
});
|
|
3928
|
+
var Day = forwardRef33(function ThreadDay(props, ref) {
|
|
3929
|
+
return /* @__PURE__ */ jsx35("div", { ref, ...mergeProps(partAttrs30(threadAnatomy.scope, threadAnatomy.day), props) });
|
|
3930
|
+
});
|
|
3931
|
+
var Thread = {
|
|
3932
|
+
Root: Root27,
|
|
3933
|
+
List: List3,
|
|
3934
|
+
Item: Item7,
|
|
3935
|
+
Bubble,
|
|
3936
|
+
Meta: Meta2,
|
|
3937
|
+
Day
|
|
3938
|
+
};
|
|
3939
|
+
|
|
3940
|
+
// src/composer/index.tsx
|
|
3941
|
+
import { composerAnatomy, partAttrs as partAttrs31, scopeAttrs as scopeAttrs9 } from "@aeon-ui/core";
|
|
3942
|
+
import {
|
|
3943
|
+
forwardRef as forwardRef34
|
|
3944
|
+
} from "react";
|
|
3945
|
+
import { jsx as jsx36 } from "react/jsx-runtime";
|
|
3946
|
+
var Root28 = forwardRef34(function ComposerRoot({ state = "idle", children, ...rest }, ref) {
|
|
3947
|
+
return /* @__PURE__ */ jsx36(
|
|
3948
|
+
"form",
|
|
3949
|
+
{
|
|
3950
|
+
ref,
|
|
3951
|
+
...mergeProps(scopeAttrs9(composerAnatomy.scope, composerAnatomy.root, { state }), rest),
|
|
3952
|
+
children
|
|
3953
|
+
}
|
|
3954
|
+
);
|
|
3955
|
+
});
|
|
3956
|
+
var Input3 = forwardRef34(
|
|
3957
|
+
function ComposerInput(props, ref) {
|
|
3958
|
+
return /* @__PURE__ */ jsx36(
|
|
3959
|
+
"textarea",
|
|
3960
|
+
{
|
|
3961
|
+
ref,
|
|
3962
|
+
rows: 1,
|
|
3963
|
+
...mergeProps(partAttrs31(composerAnatomy.scope, composerAnatomy.input), props)
|
|
3964
|
+
}
|
|
3965
|
+
);
|
|
3966
|
+
}
|
|
3967
|
+
);
|
|
3968
|
+
var Actions = forwardRef34(
|
|
3969
|
+
function ComposerActions(props, ref) {
|
|
3970
|
+
return /* @__PURE__ */ jsx36(
|
|
3971
|
+
"div",
|
|
3972
|
+
{
|
|
3973
|
+
ref,
|
|
3974
|
+
...mergeProps(partAttrs31(composerAnatomy.scope, composerAnatomy.actions), props)
|
|
3975
|
+
}
|
|
3976
|
+
);
|
|
3977
|
+
}
|
|
3978
|
+
);
|
|
3979
|
+
var Send = forwardRef34(
|
|
3980
|
+
function ComposerSend(props, ref) {
|
|
3981
|
+
return /* @__PURE__ */ jsx36(
|
|
3982
|
+
"span",
|
|
3983
|
+
{
|
|
3984
|
+
ref,
|
|
3985
|
+
...mergeProps(partAttrs31(composerAnatomy.scope, composerAnatomy.send), props)
|
|
3986
|
+
}
|
|
3987
|
+
);
|
|
3988
|
+
}
|
|
3989
|
+
);
|
|
3990
|
+
var Composer = {
|
|
3991
|
+
Root: Root28,
|
|
3992
|
+
Input: Input3,
|
|
3993
|
+
Actions,
|
|
3994
|
+
Send
|
|
3995
|
+
};
|
|
3996
|
+
|
|
3997
|
+
// src/profile-header/index.tsx
|
|
3998
|
+
import { profileHeaderAnatomy, partAttrs as partAttrs32, scopeAttrs as scopeAttrs10 } from "@aeon-ui/core";
|
|
3999
|
+
import { forwardRef as forwardRef35 } from "react";
|
|
4000
|
+
import { jsx as jsx37 } from "react/jsx-runtime";
|
|
4001
|
+
var Root29 = forwardRef35(function ProfileHeaderRoot({ children, ...rest }, ref) {
|
|
4002
|
+
return /* @__PURE__ */ jsx37(
|
|
4003
|
+
"header",
|
|
4004
|
+
{
|
|
4005
|
+
ref,
|
|
4006
|
+
...mergeProps(scopeAttrs10(profileHeaderAnatomy.scope, profileHeaderAnatomy.root), rest),
|
|
4007
|
+
children
|
|
4008
|
+
}
|
|
4009
|
+
);
|
|
4010
|
+
});
|
|
4011
|
+
var Media = forwardRef35(function ProfileHeaderMedia(props, ref) {
|
|
4012
|
+
return /* @__PURE__ */ jsx37(
|
|
4013
|
+
"div",
|
|
4014
|
+
{
|
|
4015
|
+
ref,
|
|
4016
|
+
...mergeProps(partAttrs32(profileHeaderAnatomy.scope, profileHeaderAnatomy.media), props)
|
|
4017
|
+
}
|
|
4018
|
+
);
|
|
4019
|
+
});
|
|
4020
|
+
var IdentitySlot = forwardRef35(
|
|
4021
|
+
function ProfileHeaderIdentity(props, ref) {
|
|
4022
|
+
return /* @__PURE__ */ jsx37(
|
|
4023
|
+
"div",
|
|
4024
|
+
{
|
|
4025
|
+
ref,
|
|
4026
|
+
...mergeProps(partAttrs32(profileHeaderAnatomy.scope, profileHeaderAnatomy.identity), props)
|
|
4027
|
+
}
|
|
4028
|
+
);
|
|
4029
|
+
}
|
|
4030
|
+
);
|
|
4031
|
+
var Metrics = forwardRef35(
|
|
4032
|
+
function ProfileHeaderMetrics(props, ref) {
|
|
4033
|
+
return /* @__PURE__ */ jsx37(
|
|
4034
|
+
"div",
|
|
4035
|
+
{
|
|
4036
|
+
ref,
|
|
4037
|
+
...mergeProps(partAttrs32(profileHeaderAnatomy.scope, profileHeaderAnatomy.metrics), props)
|
|
4038
|
+
}
|
|
4039
|
+
);
|
|
4040
|
+
}
|
|
4041
|
+
);
|
|
4042
|
+
var Actions2 = forwardRef35(
|
|
4043
|
+
function ProfileHeaderActions(props, ref) {
|
|
4044
|
+
return /* @__PURE__ */ jsx37(
|
|
4045
|
+
"div",
|
|
4046
|
+
{
|
|
4047
|
+
ref,
|
|
4048
|
+
...mergeProps(partAttrs32(profileHeaderAnatomy.scope, profileHeaderAnatomy.actions), props)
|
|
4049
|
+
}
|
|
4050
|
+
);
|
|
4051
|
+
}
|
|
4052
|
+
);
|
|
4053
|
+
var Body = forwardRef35(function ProfileHeaderBody(props, ref) {
|
|
4054
|
+
return /* @__PURE__ */ jsx37(
|
|
4055
|
+
"div",
|
|
4056
|
+
{
|
|
4057
|
+
ref,
|
|
4058
|
+
...mergeProps(partAttrs32(profileHeaderAnatomy.scope, profileHeaderAnatomy.body), props)
|
|
4059
|
+
}
|
|
4060
|
+
);
|
|
4061
|
+
});
|
|
4062
|
+
var ProfileHeader = {
|
|
4063
|
+
Root: Root29,
|
|
4064
|
+
Media,
|
|
4065
|
+
Identity: IdentitySlot,
|
|
4066
|
+
Metrics,
|
|
4067
|
+
Actions: Actions2,
|
|
4068
|
+
Body
|
|
4069
|
+
};
|
|
4070
|
+
|
|
4071
|
+
// src/bar/index.tsx
|
|
4072
|
+
import { barAnatomy, partAttrs as partAttrs33, scopeAttrs as scopeAttrs11 } from "@aeon-ui/core";
|
|
4073
|
+
import { createContext as createContext24, forwardRef as forwardRef36 } from "react";
|
|
4074
|
+
import { jsx as jsx38 } from "react/jsx-runtime";
|
|
4075
|
+
var BarContext = createContext24({});
|
|
4076
|
+
var Root30 = forwardRef36(function BarRoot({ as: Tag = "header", gap, children, ...rest }, ref) {
|
|
4077
|
+
return /* @__PURE__ */ jsx38(BarContext.Provider, { value: { gap }, children: /* @__PURE__ */ jsx38(
|
|
4078
|
+
Tag,
|
|
4079
|
+
{
|
|
4080
|
+
ref,
|
|
4081
|
+
...mergeProps(scopeAttrs11(barAnatomy.scope, barAnatomy.root), rest),
|
|
4082
|
+
children
|
|
4083
|
+
}
|
|
4084
|
+
) });
|
|
4085
|
+
});
|
|
4086
|
+
var Zone = forwardRef36(function BarZone({ zone, children, ...rest }, ref) {
|
|
4087
|
+
return /* @__PURE__ */ jsx38(
|
|
4088
|
+
"div",
|
|
4089
|
+
{
|
|
4090
|
+
ref,
|
|
4091
|
+
...mergeProps(partAttrs33(barAnatomy.scope, zone), rest),
|
|
4092
|
+
children
|
|
4093
|
+
}
|
|
4094
|
+
);
|
|
4095
|
+
});
|
|
4096
|
+
var Bar = {
|
|
4097
|
+
Root: Root30,
|
|
4098
|
+
Leading: forwardRef36(
|
|
4099
|
+
function BarLeading(props, ref) {
|
|
4100
|
+
return /* @__PURE__ */ jsx38(Zone, { ref, zone: "leading", ...props });
|
|
4101
|
+
}
|
|
4102
|
+
),
|
|
4103
|
+
Center: forwardRef36(
|
|
4104
|
+
function BarCenter(props, ref) {
|
|
4105
|
+
return /* @__PURE__ */ jsx38(Zone, { ref, zone: "center", ...props });
|
|
4106
|
+
}
|
|
4107
|
+
),
|
|
4108
|
+
Trailing: forwardRef36(
|
|
4109
|
+
function BarTrailing(props, ref) {
|
|
4110
|
+
return /* @__PURE__ */ jsx38(Zone, { ref, zone: "trailing", ...props });
|
|
4111
|
+
}
|
|
4112
|
+
)
|
|
4113
|
+
};
|
|
4114
|
+
|
|
4115
|
+
// src/panel/index.tsx
|
|
4116
|
+
import { panelAnatomy, partAttrs as partAttrs34, scopeAttrs as scopeAttrs12 } from "@aeon-ui/core";
|
|
4117
|
+
import { panelMachine } from "@aeon-ui/primitives";
|
|
4118
|
+
import {
|
|
4119
|
+
createContext as createContext25,
|
|
4120
|
+
forwardRef as forwardRef37,
|
|
4121
|
+
useContext as useContext24,
|
|
4122
|
+
useEffect as useEffect22,
|
|
4123
|
+
useId as useId8,
|
|
4124
|
+
useMemo as useMemo21
|
|
4125
|
+
} from "react";
|
|
4126
|
+
import { jsx as jsx39 } from "react/jsx-runtime";
|
|
4127
|
+
var PanelCtx = createContext25(null);
|
|
4128
|
+
function usePanelCtx() {
|
|
4129
|
+
const ctx = useContext24(PanelCtx);
|
|
4130
|
+
if (!ctx) throw new Error("Panel parts must be used within Panel.Root");
|
|
4131
|
+
return ctx;
|
|
4132
|
+
}
|
|
4133
|
+
var Group3 = forwardRef37(function PanelGroup({ orientation = "horizontal", children, className, ...rest }, ref) {
|
|
4134
|
+
return /* @__PURE__ */ jsx39(
|
|
4135
|
+
"div",
|
|
4136
|
+
{
|
|
4137
|
+
ref,
|
|
4138
|
+
className,
|
|
4139
|
+
"data-aeon-orientation": orientation,
|
|
4140
|
+
...mergeProps(partAttrs34(panelAnatomy.scope, panelAnatomy.group), rest),
|
|
4141
|
+
children
|
|
4142
|
+
}
|
|
4143
|
+
);
|
|
4144
|
+
});
|
|
4145
|
+
var Root31 = forwardRef37(function PanelRoot({
|
|
4146
|
+
label,
|
|
4147
|
+
defaultExpanded = true,
|
|
4148
|
+
expanded: expandedProp,
|
|
4149
|
+
collapsible = true,
|
|
4150
|
+
onExpandedChange,
|
|
4151
|
+
children,
|
|
4152
|
+
className,
|
|
4153
|
+
...rest
|
|
4154
|
+
}, ref) {
|
|
4155
|
+
const contentId = useId8().replace(/:/g, "");
|
|
4156
|
+
const [snapshot, send] = useAeonMachine(panelMachine, {
|
|
4157
|
+
input: { expanded: defaultExpanded }
|
|
4158
|
+
});
|
|
4159
|
+
const machineExpanded = snapshot.value === "expanded";
|
|
4160
|
+
const expanded = expandedProp ?? machineExpanded;
|
|
4161
|
+
const state = expanded ? "expanded" : "collapsed";
|
|
4162
|
+
useEffect22(() => {
|
|
4163
|
+
onExpandedChange?.(expanded);
|
|
4164
|
+
}, [expanded, onExpandedChange]);
|
|
4165
|
+
useEffect22(() => {
|
|
4166
|
+
if (expandedProp === void 0) return;
|
|
4167
|
+
send({ type: "SET_EXPANDED", expanded: expandedProp });
|
|
4168
|
+
}, [expandedProp, send]);
|
|
4169
|
+
const ctx = useMemo21(
|
|
4170
|
+
() => ({
|
|
4171
|
+
state,
|
|
4172
|
+
expanded,
|
|
4173
|
+
collapsible,
|
|
4174
|
+
label,
|
|
4175
|
+
contentId: `aeon-panel-${contentId}`,
|
|
4176
|
+
send
|
|
4177
|
+
}),
|
|
4178
|
+
[state, expanded, collapsible, label, contentId, send]
|
|
4179
|
+
);
|
|
4180
|
+
return /* @__PURE__ */ jsx39(PanelCtx.Provider, { value: ctx, children: /* @__PURE__ */ jsx39(
|
|
4181
|
+
"div",
|
|
4182
|
+
{
|
|
4183
|
+
ref,
|
|
4184
|
+
className,
|
|
4185
|
+
...mergeProps(
|
|
4186
|
+
scopeAttrs12(panelAnatomy.scope, panelAnatomy.root, { state }),
|
|
4187
|
+
{
|
|
4188
|
+
"data-aeon-collapsible": collapsible ? "true" : void 0
|
|
4189
|
+
},
|
|
4190
|
+
rest
|
|
4191
|
+
),
|
|
4192
|
+
children
|
|
4193
|
+
}
|
|
4194
|
+
) });
|
|
4195
|
+
});
|
|
4196
|
+
var Trigger7 = forwardRef37(function PanelTrigger({ children, onClick, ...rest }, ref) {
|
|
4197
|
+
const { expanded, collapsible, contentId, send, label } = usePanelCtx();
|
|
4198
|
+
return /* @__PURE__ */ jsx39(
|
|
4199
|
+
"button",
|
|
4200
|
+
{
|
|
4201
|
+
ref,
|
|
4202
|
+
type: "button",
|
|
4203
|
+
"aria-expanded": expanded,
|
|
4204
|
+
"aria-controls": contentId,
|
|
4205
|
+
disabled: !collapsible,
|
|
4206
|
+
...mergeProps(
|
|
4207
|
+
partAttrs34(panelAnatomy.scope, panelAnatomy.trigger, {
|
|
4208
|
+
state: expanded ? "expanded" : "collapsed"
|
|
4209
|
+
}),
|
|
4210
|
+
rest
|
|
4211
|
+
),
|
|
4212
|
+
onClick: (e) => {
|
|
4213
|
+
onClick?.(e);
|
|
4214
|
+
if (!e.defaultPrevented && collapsible) send({ type: "TOGGLE" });
|
|
4215
|
+
},
|
|
4216
|
+
children: children ?? (expanded ? "Collapse" : `Expand ${label}`)
|
|
4217
|
+
}
|
|
4218
|
+
);
|
|
4219
|
+
});
|
|
4220
|
+
var Label8 = forwardRef37(function PanelLabel({ children, onClick, ...rest }, ref) {
|
|
4221
|
+
const { label, state, collapsible, send, expanded, contentId } = usePanelCtx();
|
|
4222
|
+
const text = typeof children === "string" || children == null ? String(children ?? label) : null;
|
|
4223
|
+
return /* @__PURE__ */ jsx39(
|
|
4224
|
+
"span",
|
|
4225
|
+
{
|
|
4226
|
+
ref,
|
|
4227
|
+
role: collapsible ? "button" : void 0,
|
|
4228
|
+
tabIndex: collapsible ? 0 : void 0,
|
|
4229
|
+
"aria-expanded": collapsible ? expanded : void 0,
|
|
4230
|
+
"aria-controls": collapsible ? contentId : void 0,
|
|
4231
|
+
...mergeProps(partAttrs34(panelAnatomy.scope, panelAnatomy.label, { state }), rest),
|
|
4232
|
+
onClick: (e) => {
|
|
4233
|
+
onClick?.(e);
|
|
4234
|
+
if (!e.defaultPrevented && collapsible) send({ type: "TOGGLE" });
|
|
4235
|
+
},
|
|
4236
|
+
onKeyDown: (e) => {
|
|
4237
|
+
if (!collapsible) return;
|
|
4238
|
+
if (e.key === "Enter" || e.key === " ") {
|
|
4239
|
+
e.preventDefault();
|
|
4240
|
+
send({ type: "TOGGLE" });
|
|
4241
|
+
}
|
|
4242
|
+
},
|
|
4243
|
+
children: text != null ? state === "collapsed" ? text.split("").map(
|
|
4244
|
+
(ch, i) => ch === " " ? /* @__PURE__ */ jsx39("span", { "data-aeon-part": "label-gap", "aria-hidden": true, children: " " }, `sp-${i}`) : /* @__PURE__ */ jsx39("span", { "data-aeon-part": "label-char", children: ch }, `${ch}-${i}`)
|
|
4245
|
+
) : text : children
|
|
4246
|
+
}
|
|
4247
|
+
);
|
|
4248
|
+
});
|
|
4249
|
+
var Content9 = forwardRef37(function PanelContent({ children, ...rest }, ref) {
|
|
4250
|
+
const { expanded, contentId, state } = usePanelCtx();
|
|
4251
|
+
return /* @__PURE__ */ jsx39(
|
|
4252
|
+
"div",
|
|
4253
|
+
{
|
|
4254
|
+
ref,
|
|
4255
|
+
id: contentId,
|
|
4256
|
+
hidden: !expanded,
|
|
4257
|
+
...mergeProps(partAttrs34(panelAnatomy.scope, panelAnatomy.content, { state }), rest),
|
|
4258
|
+
children
|
|
4259
|
+
}
|
|
4260
|
+
);
|
|
4261
|
+
});
|
|
4262
|
+
var Panel = {
|
|
4263
|
+
Group: Group3,
|
|
4264
|
+
Root: Root31,
|
|
4265
|
+
Trigger: Trigger7,
|
|
4266
|
+
Label: Label8,
|
|
4267
|
+
Content: Content9
|
|
4268
|
+
};
|
|
4269
|
+
|
|
4270
|
+
// src/app-shell/index.tsx
|
|
4271
|
+
import { appShellAnatomy, partAttrs as partAttrs35, scopeAttrs as scopeAttrs13 } from "@aeon-ui/core";
|
|
4272
|
+
import { appShellMachine } from "@aeon-ui/primitives";
|
|
4273
|
+
import {
|
|
4274
|
+
createContext as createContext26,
|
|
4275
|
+
forwardRef as forwardRef38,
|
|
4276
|
+
useContext as useContext25,
|
|
4277
|
+
useEffect as useEffect23,
|
|
4278
|
+
useMemo as useMemo22
|
|
4279
|
+
} from "react";
|
|
4280
|
+
import { jsx as jsx40 } from "react/jsx-runtime";
|
|
4281
|
+
var AppShellCtx = createContext26(null);
|
|
4282
|
+
function useAppShellContext() {
|
|
4283
|
+
const ctx = useContext25(AppShellCtx);
|
|
4284
|
+
if (!ctx) throw new Error("AppShell parts must be used within AppShell.Root");
|
|
4285
|
+
return ctx;
|
|
4286
|
+
}
|
|
4287
|
+
var Root32 = forwardRef38(function AppShellRoot({ defaultDockVisible = true, dockVisible: dockVisibleProp, children, ...rest }, ref) {
|
|
4288
|
+
const [snapshot, send] = useAeonMachine(appShellMachine, {
|
|
4289
|
+
input: { dockVisible: dockVisibleProp ?? defaultDockVisible }
|
|
4290
|
+
});
|
|
4291
|
+
const chrome = snapshot.value;
|
|
4292
|
+
const dockVisible = dockVisibleProp ?? snapshot.context.dockVisible;
|
|
4293
|
+
useEffect23(() => {
|
|
4294
|
+
if (dockVisibleProp === void 0) return;
|
|
4295
|
+
if (snapshot.context.dockVisible !== dockVisibleProp) {
|
|
4296
|
+
send({ type: "SET_DOCK", visible: dockVisibleProp });
|
|
4297
|
+
}
|
|
4298
|
+
}, [dockVisibleProp, snapshot.context.dockVisible, send]);
|
|
4299
|
+
const value = useMemo22(
|
|
4300
|
+
() => ({
|
|
4301
|
+
chrome,
|
|
4302
|
+
dockVisible,
|
|
4303
|
+
overlayOpen: chrome === "overlayOpen",
|
|
4304
|
+
send
|
|
4305
|
+
}),
|
|
4306
|
+
[chrome, dockVisible, send]
|
|
4307
|
+
);
|
|
4308
|
+
return /* @__PURE__ */ jsx40(AppShellCtx.Provider, { value, children: /* @__PURE__ */ jsx40(
|
|
4309
|
+
"div",
|
|
4310
|
+
{
|
|
4311
|
+
ref,
|
|
4312
|
+
"data-aeon-dock": dockVisible ? "visible" : "hidden",
|
|
4313
|
+
...mergeProps(
|
|
4314
|
+
scopeAttrs13(appShellAnatomy.scope, appShellAnatomy.root, { state: chrome }),
|
|
4315
|
+
rest
|
|
4316
|
+
),
|
|
4317
|
+
children
|
|
4318
|
+
}
|
|
4319
|
+
) });
|
|
4320
|
+
});
|
|
4321
|
+
function ShellPart(part, displayName, defaultTag = "div") {
|
|
4322
|
+
const Comp = forwardRef38(
|
|
4323
|
+
function AeonShellPart({ as: Tag = defaultTag, ...rest }, ref) {
|
|
4324
|
+
const { chrome } = useAppShellContext();
|
|
4325
|
+
return /* @__PURE__ */ jsx40(
|
|
4326
|
+
Tag,
|
|
4327
|
+
{
|
|
4328
|
+
ref,
|
|
4329
|
+
...mergeProps(partAttrs35(appShellAnatomy.scope, part, { state: chrome }), rest)
|
|
4330
|
+
}
|
|
4331
|
+
);
|
|
4332
|
+
}
|
|
4333
|
+
);
|
|
4334
|
+
Comp.displayName = displayName;
|
|
4335
|
+
return Comp;
|
|
4336
|
+
}
|
|
4337
|
+
var Header = ShellPart(appShellAnatomy.header, "AppShell.Header", "header");
|
|
4338
|
+
var Subheader = ShellPart(appShellAnatomy.subheader, "AppShell.Subheader");
|
|
4339
|
+
var Content10 = ShellPart(appShellAnatomy.content, "AppShell.Content", "main");
|
|
4340
|
+
var Aside = ShellPart(appShellAnatomy.aside, "AppShell.Aside", "aside");
|
|
4341
|
+
var Footer = ShellPart(appShellAnatomy.footer, "AppShell.Footer", "footer");
|
|
4342
|
+
var Dock = forwardRef38(function AppShellDock({ hidden, ...rest }, ref) {
|
|
4343
|
+
const { chrome, dockVisible } = useAppShellContext();
|
|
4344
|
+
if (!dockVisible) return null;
|
|
4345
|
+
return /* @__PURE__ */ jsx40(
|
|
4346
|
+
"div",
|
|
4347
|
+
{
|
|
4348
|
+
ref,
|
|
4349
|
+
hidden,
|
|
4350
|
+
...mergeProps(partAttrs35(appShellAnatomy.scope, appShellAnatomy.dock, { state: chrome }), rest)
|
|
4351
|
+
}
|
|
4352
|
+
);
|
|
4353
|
+
});
|
|
4354
|
+
var Scrim = forwardRef38(function AppShellScrim(props, ref) {
|
|
4355
|
+
const { chrome, overlayOpen, send } = useAppShellContext();
|
|
4356
|
+
if (!overlayOpen) return null;
|
|
4357
|
+
return /* @__PURE__ */ jsx40(
|
|
4358
|
+
"div",
|
|
4359
|
+
{
|
|
4360
|
+
ref,
|
|
4361
|
+
role: "presentation",
|
|
4362
|
+
onClick: () => send({ type: "CLOSE_OVERLAY" }),
|
|
4363
|
+
...mergeProps(partAttrs35(appShellAnatomy.scope, appShellAnatomy.scrim, { state: chrome }), props)
|
|
4364
|
+
}
|
|
4365
|
+
);
|
|
4366
|
+
});
|
|
4367
|
+
var AppShell = {
|
|
4368
|
+
Root: Root32,
|
|
4369
|
+
Header,
|
|
4370
|
+
Subheader,
|
|
4371
|
+
Content: Content10,
|
|
4372
|
+
Aside,
|
|
4373
|
+
Footer,
|
|
4374
|
+
Dock,
|
|
4375
|
+
Scrim
|
|
4376
|
+
};
|
|
4377
|
+
|
|
4378
|
+
// src/content/index.tsx
|
|
4379
|
+
import { contentAnatomy, partAttrs as partAttrs36, scopeAttrs as scopeAttrs14 } from "@aeon-ui/core";
|
|
4380
|
+
import { contentRegionMachine } from "@aeon-ui/primitives";
|
|
4381
|
+
import {
|
|
4382
|
+
createContext as createContext27,
|
|
4383
|
+
forwardRef as forwardRef39,
|
|
4384
|
+
useContext as useContext26,
|
|
4385
|
+
useMemo as useMemo23
|
|
4386
|
+
} from "react";
|
|
4387
|
+
import { jsx as jsx41 } from "react/jsx-runtime";
|
|
4388
|
+
var ContentCtx = createContext27(null);
|
|
4389
|
+
function useContentContext() {
|
|
4390
|
+
const ctx = useContext26(ContentCtx);
|
|
4391
|
+
if (!ctx) throw new Error("Content parts must be used within Content.Root");
|
|
4392
|
+
return ctx;
|
|
4393
|
+
}
|
|
4394
|
+
var Root33 = forwardRef39(function ContentRoot({ state: stateProp, children, ...rest }, ref) {
|
|
4395
|
+
const [snapshot, send] = useAeonMachine(contentRegionMachine);
|
|
4396
|
+
const machineState = snapshot.value;
|
|
4397
|
+
const state = stateProp ?? machineState;
|
|
4398
|
+
const value = useMemo23(
|
|
4399
|
+
() => ({ state, error: snapshot.context.error, send }),
|
|
4400
|
+
[state, snapshot.context.error, send]
|
|
4401
|
+
);
|
|
4402
|
+
return /* @__PURE__ */ jsx41(ContentCtx.Provider, { value, children: /* @__PURE__ */ jsx41(
|
|
4403
|
+
"div",
|
|
4404
|
+
{
|
|
4405
|
+
ref,
|
|
4406
|
+
...mergeProps(scopeAttrs14(contentAnatomy.scope, contentAnatomy.root, { state }), rest),
|
|
4407
|
+
children
|
|
4408
|
+
}
|
|
4409
|
+
) });
|
|
4410
|
+
});
|
|
4411
|
+
var Toolbar = forwardRef39(function ContentToolbar(props, ref) {
|
|
4412
|
+
const { state } = useContentContext();
|
|
4413
|
+
return /* @__PURE__ */ jsx41(
|
|
4414
|
+
"div",
|
|
4415
|
+
{
|
|
4416
|
+
ref,
|
|
4417
|
+
...mergeProps(partAttrs36(contentAnatomy.scope, contentAnatomy.toolbar, { state }), props)
|
|
4418
|
+
}
|
|
4419
|
+
);
|
|
4420
|
+
});
|
|
4421
|
+
var Body2 = forwardRef39(function ContentBody({ hidden, ...rest }, ref) {
|
|
4422
|
+
const { state } = useContentContext();
|
|
4423
|
+
const show = state === "ready" || state === "loadingMore" || state === "success" || state === "idle";
|
|
4424
|
+
if (!show) return null;
|
|
4425
|
+
return /* @__PURE__ */ jsx41(
|
|
4426
|
+
"div",
|
|
4427
|
+
{
|
|
4428
|
+
ref,
|
|
4429
|
+
hidden,
|
|
4430
|
+
...mergeProps(partAttrs36(contentAnatomy.scope, contentAnatomy.body, { state }), rest)
|
|
4431
|
+
}
|
|
4432
|
+
);
|
|
4433
|
+
});
|
|
4434
|
+
function StatusSlot(part, match, displayName) {
|
|
4435
|
+
const matches = Array.isArray(match) ? match : [match];
|
|
4436
|
+
const Comp = forwardRef39(function ContentStatusSlot(props, ref) {
|
|
4437
|
+
const { state } = useContentContext();
|
|
4438
|
+
if (!matches.includes(state)) return null;
|
|
4439
|
+
return /* @__PURE__ */ jsx41(
|
|
4440
|
+
"div",
|
|
4441
|
+
{
|
|
4442
|
+
ref,
|
|
4443
|
+
role: "status",
|
|
4444
|
+
...mergeProps(partAttrs36(contentAnatomy.scope, part, { state }), props)
|
|
4445
|
+
}
|
|
4446
|
+
);
|
|
4447
|
+
});
|
|
4448
|
+
Comp.displayName = displayName;
|
|
4449
|
+
return Comp;
|
|
4450
|
+
}
|
|
4451
|
+
var Pending = StatusSlot(contentAnatomy.pending, "pending", "Content.Pending");
|
|
4452
|
+
var Empty2 = StatusSlot(contentAnatomy.empty, "empty", "Content.Empty");
|
|
4453
|
+
var ErrorSlot = StatusSlot(contentAnatomy.error, "error", "Content.Error");
|
|
4454
|
+
var Success = StatusSlot(contentAnatomy.success, "success", "Content.Success");
|
|
4455
|
+
var Sentinel = forwardRef39(function ContentSentinel(props, ref) {
|
|
4456
|
+
const { state } = useContentContext();
|
|
4457
|
+
if (state !== "ready" && state !== "loadingMore") return null;
|
|
4458
|
+
return /* @__PURE__ */ jsx41(
|
|
4459
|
+
"div",
|
|
4460
|
+
{
|
|
4461
|
+
ref,
|
|
4462
|
+
...mergeProps(partAttrs36(contentAnatomy.scope, contentAnatomy.sentinel, { state }), props)
|
|
4463
|
+
}
|
|
4464
|
+
);
|
|
4465
|
+
});
|
|
4466
|
+
var Content11 = {
|
|
4467
|
+
Root: Root33,
|
|
4468
|
+
Toolbar,
|
|
4469
|
+
Body: Body2,
|
|
4470
|
+
Pending,
|
|
4471
|
+
Empty: Empty2,
|
|
4472
|
+
Error: ErrorSlot,
|
|
4473
|
+
Success,
|
|
4474
|
+
Sentinel
|
|
4475
|
+
};
|
|
4476
|
+
|
|
4477
|
+
// src/nav/index.tsx
|
|
4478
|
+
import { navAnatomy, partAttrs as partAttrs37, scopeAttrs as scopeAttrs15 } from "@aeon-ui/core";
|
|
4479
|
+
import { tabsMachine as tabsMachine3 } from "@aeon-ui/primitives";
|
|
4480
|
+
import {
|
|
4481
|
+
createContext as createContext28,
|
|
4482
|
+
forwardRef as forwardRef40,
|
|
4483
|
+
useContext as useContext27,
|
|
4484
|
+
useEffect as useEffect24,
|
|
4485
|
+
useMemo as useMemo24
|
|
4486
|
+
} from "react";
|
|
4487
|
+
import { jsx as jsx42 } from "react/jsx-runtime";
|
|
4488
|
+
var NavCtx = createContext28(null);
|
|
4489
|
+
function useNavCtx() {
|
|
4490
|
+
const ctx = useContext27(NavCtx);
|
|
4491
|
+
if (!ctx) throw new Error("Nav parts must be used within Nav.Root");
|
|
4492
|
+
return ctx;
|
|
4493
|
+
}
|
|
4494
|
+
var Root34 = forwardRef40(function NavRoot({
|
|
4495
|
+
defaultValue = "",
|
|
4496
|
+
value,
|
|
4497
|
+
onValueChange,
|
|
4498
|
+
as: Tag = "nav",
|
|
4499
|
+
orientation = "horizontal",
|
|
4500
|
+
children,
|
|
4501
|
+
...rest
|
|
4502
|
+
}, ref) {
|
|
4503
|
+
const [snapshot, send] = useAeonMachine(tabsMachine3, {
|
|
4504
|
+
input: { value: defaultValue, disabled: false }
|
|
4505
|
+
});
|
|
4506
|
+
const resolvedValue = value ?? snapshot.context.value;
|
|
4507
|
+
useEffect24(() => {
|
|
4508
|
+
if (value !== void 0) send({ type: "SET_VALUE", value });
|
|
4509
|
+
}, [value, send]);
|
|
4510
|
+
const ctx = useMemo24(
|
|
4511
|
+
() => ({ value: resolvedValue, send, onValueChange }),
|
|
4512
|
+
[resolvedValue, send, onValueChange]
|
|
4513
|
+
);
|
|
4514
|
+
return /* @__PURE__ */ jsx42(NavCtx.Provider, { value: ctx, children: /* @__PURE__ */ jsx42(
|
|
4515
|
+
Tag,
|
|
4516
|
+
{
|
|
4517
|
+
ref,
|
|
4518
|
+
"data-aeon-orientation": orientation,
|
|
4519
|
+
...mergeProps(scopeAttrs15(navAnatomy.scope, navAnatomy.root), rest),
|
|
4520
|
+
children
|
|
4521
|
+
}
|
|
4522
|
+
) });
|
|
4523
|
+
});
|
|
4524
|
+
var Item8 = forwardRef40(function NavItem({ value, disabled, onClick, children, ...rest }, ref) {
|
|
4525
|
+
const { value: selected, send, onValueChange } = useNavCtx();
|
|
4526
|
+
const active = selected === value;
|
|
4527
|
+
const state = disabled ? "disabled" : active ? "active" : "inactive";
|
|
4528
|
+
return /* @__PURE__ */ jsx42(
|
|
4529
|
+
"button",
|
|
4530
|
+
{
|
|
4531
|
+
ref,
|
|
4532
|
+
type: "button",
|
|
4533
|
+
disabled,
|
|
4534
|
+
"aria-current": active ? "page" : void 0,
|
|
4535
|
+
"data-aeon-value": value,
|
|
4536
|
+
onClick: (e) => {
|
|
4537
|
+
onClick?.(e);
|
|
4538
|
+
if (disabled || e.defaultPrevented) return;
|
|
4539
|
+
send({ type: "SELECT", value });
|
|
4540
|
+
onValueChange?.(value);
|
|
4541
|
+
},
|
|
4542
|
+
...mergeProps(partAttrs37(navAnatomy.scope, navAnatomy.item, { state, disabled }), rest),
|
|
4543
|
+
children
|
|
4544
|
+
}
|
|
4545
|
+
);
|
|
4546
|
+
});
|
|
4547
|
+
var Indicator3 = forwardRef40(function NavIndicator(props, ref) {
|
|
4548
|
+
return /* @__PURE__ */ jsx42(
|
|
4549
|
+
"span",
|
|
4550
|
+
{
|
|
4551
|
+
ref,
|
|
4552
|
+
"aria-hidden": true,
|
|
4553
|
+
...mergeProps(partAttrs37(navAnatomy.scope, navAnatomy.indicator), props)
|
|
4554
|
+
}
|
|
4555
|
+
);
|
|
4556
|
+
});
|
|
4557
|
+
var Label9 = forwardRef40(function NavLabel(props, ref) {
|
|
4558
|
+
return /* @__PURE__ */ jsx42("span", { ref, ...mergeProps(partAttrs37(navAnatomy.scope, navAnatomy.label), props) });
|
|
4559
|
+
});
|
|
4560
|
+
var Icon2 = forwardRef40(function NavIcon(props, ref) {
|
|
4561
|
+
return /* @__PURE__ */ jsx42("span", { ref, ...mergeProps(partAttrs37(navAnatomy.scope, navAnatomy.icon), props) });
|
|
4562
|
+
});
|
|
4563
|
+
var Badge2 = forwardRef40(function NavBadge(props, ref) {
|
|
4564
|
+
return /* @__PURE__ */ jsx42("span", { ref, ...mergeProps(partAttrs37(navAnatomy.scope, navAnatomy.badge), props) });
|
|
4565
|
+
});
|
|
4566
|
+
var Nav = {
|
|
4567
|
+
Root: Root34,
|
|
4568
|
+
Item: Item8,
|
|
4569
|
+
Indicator: Indicator3,
|
|
4570
|
+
Label: Label9,
|
|
4571
|
+
Icon: Icon2,
|
|
4572
|
+
Badge: Badge2
|
|
4573
|
+
};
|
|
4574
|
+
|
|
4575
|
+
// src/sticky-bar/index.tsx
|
|
4576
|
+
import { barAnatomy as barAnatomy2, partAttrs as partAttrs38, scopeAttrs as scopeAttrs16 } from "@aeon-ui/core";
|
|
4577
|
+
import { stickyBarMachine } from "@aeon-ui/primitives";
|
|
4578
|
+
import {
|
|
4579
|
+
createContext as createContext29,
|
|
4580
|
+
forwardRef as forwardRef41,
|
|
4581
|
+
useContext as useContext28,
|
|
4582
|
+
useMemo as useMemo25
|
|
4583
|
+
} from "react";
|
|
4584
|
+
import { jsx as jsx43 } from "react/jsx-runtime";
|
|
4585
|
+
var StickyBarCtx = createContext29(null);
|
|
4586
|
+
function useStickyBarContext() {
|
|
4587
|
+
const ctx = useContext28(StickyBarCtx);
|
|
4588
|
+
if (!ctx) throw new Error("StickyBar parts must be used within StickyBar.Root");
|
|
4589
|
+
return ctx;
|
|
4590
|
+
}
|
|
4591
|
+
var Root35 = forwardRef41(function StickyBarRoot({
|
|
4592
|
+
/* Default div — AppShell.Header is already the landmark; nested <header> is invalid
|
|
4593
|
+
HTML and browsers auto-close the outer header (0-height), so the bar covers content. */
|
|
4594
|
+
as: Tag = "div",
|
|
4595
|
+
placement = "top",
|
|
4596
|
+
defaultState = "floating",
|
|
4597
|
+
children,
|
|
4598
|
+
style,
|
|
4599
|
+
...rest
|
|
4600
|
+
}, ref) {
|
|
4601
|
+
const [snapshot, send] = useAeonMachine(stickyBarMachine, {
|
|
4602
|
+
input: { initial: defaultState }
|
|
4603
|
+
});
|
|
4604
|
+
const state = snapshot.value;
|
|
4605
|
+
const offsetPx = snapshot.context.offsetPx;
|
|
4606
|
+
const value = useMemo25(() => ({ state, offsetPx, send }), [state, offsetPx, send]);
|
|
4607
|
+
if (state === "hidden") return null;
|
|
4608
|
+
const stickyStyle = {
|
|
4609
|
+
...typeof style === "object" && style ? style : {},
|
|
4610
|
+
...offsetPx > 0 ? { ["--aeon-bar-offset"]: `${offsetPx}px` } : {}
|
|
4611
|
+
};
|
|
4612
|
+
return /* @__PURE__ */ jsx43(StickyBarCtx.Provider, { value, children: /* @__PURE__ */ jsx43(
|
|
4613
|
+
Tag,
|
|
4614
|
+
{
|
|
4615
|
+
ref,
|
|
4616
|
+
"data-aeon-placement": placement,
|
|
4617
|
+
style: stickyStyle,
|
|
4618
|
+
...mergeProps(scopeAttrs16(barAnatomy2.scope, barAnatomy2.root, { state }), rest),
|
|
4619
|
+
children
|
|
4620
|
+
}
|
|
4621
|
+
) });
|
|
4622
|
+
});
|
|
4623
|
+
var Zone2 = forwardRef41(function StickyBarZone({ zone, ...rest }, ref) {
|
|
4624
|
+
const { state } = useStickyBarContext();
|
|
4625
|
+
return /* @__PURE__ */ jsx43(
|
|
4626
|
+
"div",
|
|
4627
|
+
{
|
|
4628
|
+
ref,
|
|
4629
|
+
...mergeProps(partAttrs38(barAnatomy2.scope, zone, { state }), rest)
|
|
4630
|
+
}
|
|
4631
|
+
);
|
|
4632
|
+
});
|
|
4633
|
+
var Leading2 = forwardRef41(
|
|
4634
|
+
function StickyBarLeading(props, ref) {
|
|
4635
|
+
return /* @__PURE__ */ jsx43(Zone2, { ref, zone: "leading", ...props });
|
|
4636
|
+
}
|
|
4637
|
+
);
|
|
4638
|
+
var Center = forwardRef41(
|
|
4639
|
+
function StickyBarCenter(props, ref) {
|
|
4640
|
+
return /* @__PURE__ */ jsx43(Zone2, { ref, zone: "center", ...props });
|
|
4641
|
+
}
|
|
4642
|
+
);
|
|
4643
|
+
var Trailing3 = forwardRef41(
|
|
4644
|
+
function StickyBarTrailing(props, ref) {
|
|
4645
|
+
return /* @__PURE__ */ jsx43(Zone2, { ref, zone: "trailing", ...props });
|
|
4646
|
+
}
|
|
4647
|
+
);
|
|
4648
|
+
var Seam = forwardRef41(function StickyBarSeam(props, ref) {
|
|
4649
|
+
const { state } = useStickyBarContext();
|
|
4650
|
+
return /* @__PURE__ */ jsx43(
|
|
4651
|
+
"div",
|
|
4652
|
+
{
|
|
4653
|
+
ref,
|
|
4654
|
+
"aria-hidden": true,
|
|
4655
|
+
...mergeProps(partAttrs38(barAnatomy2.scope, barAnatomy2.seam, { state }), props)
|
|
4656
|
+
}
|
|
4657
|
+
);
|
|
4658
|
+
});
|
|
4659
|
+
var StickyBar = {
|
|
4660
|
+
Root: Root35,
|
|
4661
|
+
Leading: Leading2,
|
|
4662
|
+
Center,
|
|
4663
|
+
Trailing: Trailing3,
|
|
4664
|
+
Seam
|
|
4665
|
+
};
|
|
4666
|
+
|
|
4667
|
+
// src/hooks/use-layout-mode.ts
|
|
4668
|
+
import { getCompactMq, layoutCompositionForMode, matchLayoutMode } from "@aeon-ui/core";
|
|
4669
|
+
import { useEffect as useEffect25, useMemo as useMemo26, useState as useState11 } from "react";
|
|
4670
|
+
function useLayoutMode(spec) {
|
|
4671
|
+
const mq = useMemo26(() => getCompactMq(spec), [spec.compactMq]);
|
|
4672
|
+
const [mode, setMode] = useState11(() => matchLayoutMode(spec, mq));
|
|
4673
|
+
useEffect25(() => {
|
|
3414
4674
|
const sync = () => setMode(matchLayoutMode(spec, mq));
|
|
3415
4675
|
sync();
|
|
3416
4676
|
mq.addEventListener("change", sync);
|
|
3417
4677
|
return () => mq.removeEventListener("change", sync);
|
|
3418
4678
|
}, [spec, mq]);
|
|
3419
|
-
const composition =
|
|
4679
|
+
const composition = useMemo26(() => layoutCompositionForMode(spec, mode), [spec, mode]);
|
|
3420
4680
|
return { mode, composition };
|
|
3421
4681
|
}
|
|
3422
4682
|
export {
|
|
3423
4683
|
Accordion,
|
|
4684
|
+
AppShell,
|
|
3424
4685
|
Async,
|
|
3425
4686
|
AsyncActions,
|
|
3426
4687
|
AsyncProvider,
|
|
3427
4688
|
AsyncReadout,
|
|
3428
|
-
AsyncRegion,
|
|
3429
4689
|
AsyncRoot,
|
|
3430
4690
|
AsyncTrack,
|
|
3431
4691
|
Avatar,
|
|
4692
|
+
Bar,
|
|
3432
4693
|
Button,
|
|
3433
4694
|
Checkbox,
|
|
3434
4695
|
Combobox,
|
|
4696
|
+
Composer,
|
|
4697
|
+
Content11 as Content,
|
|
4698
|
+
Conversation,
|
|
3435
4699
|
Dialog,
|
|
4700
|
+
Entry,
|
|
3436
4701
|
Field,
|
|
4702
|
+
Identity,
|
|
4703
|
+
ListRow,
|
|
3437
4704
|
Menu,
|
|
4705
|
+
MetricStrip,
|
|
4706
|
+
Nav,
|
|
4707
|
+
Panel,
|
|
3438
4708
|
PinInput,
|
|
3439
4709
|
Popover,
|
|
4710
|
+
ProfileHeader,
|
|
3440
4711
|
Progress,
|
|
3441
4712
|
RadioGroup,
|
|
3442
4713
|
Scroll,
|
|
3443
4714
|
Select,
|
|
3444
4715
|
Separator,
|
|
3445
4716
|
Slider,
|
|
4717
|
+
StickyBar,
|
|
3446
4718
|
Switch,
|
|
3447
4719
|
Tabs,
|
|
4720
|
+
ThemeSwitcher,
|
|
4721
|
+
Thread,
|
|
3448
4722
|
Toast,
|
|
3449
4723
|
ToastItem,
|
|
3450
4724
|
Tooltip,
|
|
3451
|
-
|
|
4725
|
+
asyncStatusToContentState,
|
|
4726
|
+
createAsyncMachine2 as createAsyncMachine,
|
|
3452
4727
|
fieldMachine,
|
|
3453
4728
|
useAeonMachine,
|
|
4729
|
+
useAppShellContext,
|
|
3454
4730
|
useAsyncContext,
|
|
4731
|
+
useContentContext,
|
|
3455
4732
|
useFieldContext,
|
|
3456
4733
|
useLayoutMode,
|
|
3457
4734
|
useScrollContext,
|
|
3458
4735
|
useScrollState,
|
|
4736
|
+
useStickyBarContext,
|
|
3459
4737
|
useToast,
|
|
3460
4738
|
useToastStore
|
|
3461
4739
|
};
|