aeon-ui-engine 1.0.3 → 1.2.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 +34 -0
- package/CONSUMER.md +82 -40
- 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 +255 -7
- package/packages/core/dist/index.js +372 -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 +234 -5
- package/packages/core/src/brand-theme.ts +172 -0
- package/packages/core/src/index.ts +1 -0
- 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 +8 -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/consumer-shell.css +129 -0
- package/packages/panda/src/theme/electron.css +30 -0
- 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-4NOKRUSG.js +81 -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 +5 -0
- package/packages/primitives/dist/index.js +46 -14
- package/packages/primitives/dist/machines/app-nav.d.ts +96 -0
- package/packages/primitives/dist/machines/app-nav.js +12 -0
- 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/__tests__/app-nav.test.ts +30 -0
- package/packages/primitives/src/index.ts +5 -0
- package/packages/primitives/src/machines/app-nav.ts +107 -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 +536 -17
- package/packages/react/dist/index.js +2163 -479
- 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-nav/index.tsx +249 -0
- 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 +23 -1
- 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/hooks/use-fit-text.ts +59 -0
- package/packages/react/src/identity/index.tsx +110 -0
- package/packages/react/src/index.ts +19 -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/prompt/index.tsx +161 -0
- package/packages/react/src/radio-group/index.tsx +19 -7
- package/packages/react/src/slider/index.tsx +3 -1
- package/packages/react/src/status-banner/index.tsx +84 -0
- 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-nav.tsx +2 -0
- 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 +20 -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/prompt.tsx +29 -0
- package/packages/ui/src/status-banner.tsx +1 -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 +65 -3
- package/scripts/xstate-introspect.mjs +68 -0
- package/packages/react/src/async/legacy-region.tsx +0 -38
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import * as react from 'react';
|
|
2
|
-
import { ButtonHTMLAttributes, ReactNode, HTMLAttributes, InputHTMLAttributes, LabelHTMLAttributes, TextareaHTMLAttributes, RefObject, ImgHTMLAttributes } from 'react';
|
|
2
|
+
import { ButtonHTMLAttributes, ReactNode, HTMLAttributes, InputHTMLAttributes, LabelHTMLAttributes, TextareaHTMLAttributes, RefObject, ImgHTMLAttributes, FormHTMLAttributes } from 'react';
|
|
3
3
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
4
4
|
import * as xstate from 'xstate';
|
|
5
5
|
import { AnyStateMachine } from 'xstate';
|
|
6
|
-
import { AsyncContext } from '@aeon-ui/primitives';
|
|
7
|
-
export { createAsyncMachine, fieldMachine } from '@aeon-ui/primitives';
|
|
6
|
+
import { AsyncContext, ContentRegionState, AppNavChild, StickyBarState } from '@aeon-ui/primitives';
|
|
7
|
+
export { AppNavChild, AppNavContext, createAsyncMachine, fieldMachine } from '@aeon-ui/primitives';
|
|
8
8
|
import { useMachine } from '@xstate/react';
|
|
9
|
-
import { ResponsiveLayoutSpec, LayoutMode, LayoutCompositionSpec } from '@aeon-ui/core';
|
|
9
|
+
import { fieldFace, AeonColorMode, ResponsiveLayoutSpec, LayoutMode, LayoutCompositionSpec } from '@aeon-ui/core';
|
|
10
|
+
export { AeonColorMode as AeonMode } from '@aeon-ui/core';
|
|
10
11
|
|
|
11
12
|
/** Action button lifecycle — see STATES.md and `buttonLifecycleMachine`. */
|
|
12
13
|
type ButtonStatus = 'idle' | 'pending' | 'success' | 'failure' | 'disabled';
|
|
@@ -80,6 +81,51 @@ declare const Dialog: {
|
|
|
80
81
|
CloseTrigger: react.ForwardRefExoticComponent<ButtonHTMLAttributes<HTMLButtonElement> & react.RefAttributes<HTMLButtonElement>>;
|
|
81
82
|
};
|
|
82
83
|
|
|
84
|
+
type PromptStatus = 'pending' | 'confirming' | 'dismissed' | 'confirmed';
|
|
85
|
+
interface PromptRootProps {
|
|
86
|
+
open?: boolean;
|
|
87
|
+
defaultOpen?: boolean;
|
|
88
|
+
onOpenChange?: (open: boolean) => void;
|
|
89
|
+
/** Projected onto data-aeon-state (default: pending when open). */
|
|
90
|
+
status?: PromptStatus;
|
|
91
|
+
children?: ReactNode;
|
|
92
|
+
className?: string;
|
|
93
|
+
}
|
|
94
|
+
declare const Prompt: {
|
|
95
|
+
Root: react.ForwardRefExoticComponent<PromptRootProps & react.RefAttributes<HTMLDivElement>>;
|
|
96
|
+
Trigger: react.ForwardRefExoticComponent<ButtonHTMLAttributes<HTMLButtonElement> & react.RefAttributes<HTMLButtonElement>>;
|
|
97
|
+
Portal: react.ForwardRefExoticComponent<DialogPortalProps & react.RefAttributes<HTMLDivElement>>;
|
|
98
|
+
Backdrop: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & react.RefAttributes<HTMLDivElement>>;
|
|
99
|
+
Positioner: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & react.RefAttributes<HTMLDivElement>>;
|
|
100
|
+
Content: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & react.RefAttributes<HTMLDivElement>>;
|
|
101
|
+
Title: react.ForwardRefExoticComponent<HTMLAttributes<HTMLHeadingElement> & react.RefAttributes<HTMLHeadingElement>>;
|
|
102
|
+
Description: react.ForwardRefExoticComponent<HTMLAttributes<HTMLParagraphElement> & react.RefAttributes<HTMLParagraphElement>>;
|
|
103
|
+
CloseTrigger: react.ForwardRefExoticComponent<ButtonHTMLAttributes<HTMLButtonElement> & react.RefAttributes<HTMLButtonElement>>;
|
|
104
|
+
Eyebrow: react.ForwardRefExoticComponent<HTMLAttributes<HTMLParagraphElement> & react.RefAttributes<HTMLParagraphElement>>;
|
|
105
|
+
Meta: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDListElement> & react.RefAttributes<HTMLDListElement>>;
|
|
106
|
+
Amount: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & react.RefAttributes<HTMLDivElement>>;
|
|
107
|
+
Actions: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & react.RefAttributes<HTMLDivElement>>;
|
|
108
|
+
Primary: react.ForwardRefExoticComponent<ButtonHTMLAttributes<HTMLButtonElement> & react.RefAttributes<HTMLButtonElement>>;
|
|
109
|
+
Secondary: react.ForwardRefExoticComponent<ButtonHTMLAttributes<HTMLButtonElement> & react.RefAttributes<HTMLButtonElement>>;
|
|
110
|
+
};
|
|
111
|
+
|
|
112
|
+
type StatusBannerTone = 'info' | 'success' | 'warning' | 'danger';
|
|
113
|
+
interface StatusBannerRootProps extends HTMLAttributes<HTMLDivElement> {
|
|
114
|
+
tone?: StatusBannerTone;
|
|
115
|
+
/** Machine-ish status string projected to data-aeon-state (e.g. ready, downloading). */
|
|
116
|
+
status?: string;
|
|
117
|
+
children?: ReactNode;
|
|
118
|
+
}
|
|
119
|
+
/** Non-blocking top-of-app notice (updates, sync, offline). */
|
|
120
|
+
declare const StatusBanner: {
|
|
121
|
+
Root: react.ForwardRefExoticComponent<StatusBannerRootProps & react.RefAttributes<HTMLDivElement>>;
|
|
122
|
+
Copy: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & react.RefAttributes<HTMLDivElement>>;
|
|
123
|
+
Title: react.ForwardRefExoticComponent<HTMLAttributes<HTMLElement> & react.RefAttributes<HTMLElement>>;
|
|
124
|
+
Body: react.ForwardRefExoticComponent<HTMLAttributes<HTMLSpanElement> & react.RefAttributes<HTMLSpanElement>>;
|
|
125
|
+
Actions: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & react.RefAttributes<HTMLDivElement>>;
|
|
126
|
+
Action: react.ForwardRefExoticComponent<ButtonHTMLAttributes<HTMLButtonElement> & react.RefAttributes<HTMLButtonElement>>;
|
|
127
|
+
};
|
|
128
|
+
|
|
83
129
|
interface TabsRootProps {
|
|
84
130
|
value?: string;
|
|
85
131
|
defaultValue?: string;
|
|
@@ -247,10 +293,10 @@ declare const defaultMachine: xstate.StateMachine<AsyncContext<unknown>, {
|
|
|
247
293
|
type: "RESOLVE";
|
|
248
294
|
data: unknown;
|
|
249
295
|
}, {}, never, {
|
|
250
|
-
type: "
|
|
296
|
+
type: "resolve";
|
|
251
297
|
params: xstate.NonReducibleUnknown;
|
|
252
298
|
} | {
|
|
253
|
-
type: "
|
|
299
|
+
type: "clear";
|
|
254
300
|
params: xstate.NonReducibleUnknown;
|
|
255
301
|
} | {
|
|
256
302
|
type: "markStale";
|
|
@@ -286,17 +332,14 @@ interface AsyncProviderProps {
|
|
|
286
332
|
}
|
|
287
333
|
declare function AsyncProvider({ children, machine }: AsyncProviderProps): react_jsx_runtime.JSX.Element;
|
|
288
334
|
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
status: string;
|
|
292
|
-
data: T | null;
|
|
293
|
-
error: string | null;
|
|
294
|
-
}) => ReactNode);
|
|
295
|
-
className?: string;
|
|
296
|
-
}
|
|
297
|
-
/** @deprecated Prefer `<Async.Root>` with Track, Readout, and Actions. */
|
|
298
|
-
declare function AsyncRegion<T = unknown>({ children, className }: AsyncRegionProps<T>): react_jsx_runtime.JSX.Element;
|
|
335
|
+
/** Map async machine leaf → Content face (product UI — not Track). */
|
|
336
|
+
declare function asyncStatusToContentState(status: string): ContentRegionState;
|
|
299
337
|
|
|
338
|
+
/**
|
|
339
|
+
* Async — fetch lifecycle driver (`createAsyncMachine`).
|
|
340
|
+
* Product UI: project status with Content slots via `asyncStatusToContentState`.
|
|
341
|
+
* `Track` is a totality/debug rail — not Instant default (see docs/PRIMITIVE_COVERAGE.md).
|
|
342
|
+
*/
|
|
300
343
|
declare const Async: {
|
|
301
344
|
Root: react.ForwardRefExoticComponent<AsyncRootProps & react.RefAttributes<HTMLDivElement>>;
|
|
302
345
|
Provider: typeof AsyncProvider;
|
|
@@ -306,7 +349,13 @@ declare const Async: {
|
|
|
306
349
|
};
|
|
307
350
|
|
|
308
351
|
interface FieldContextValue {
|
|
352
|
+
/** Primary visual face — idle | dirty | invalid | pending (same hierarchy as Button). */
|
|
353
|
+
face: ReturnType<typeof fieldFace>;
|
|
354
|
+
/** @deprecated Use `face` — kept as an alias for older callers. */
|
|
309
355
|
stateAttr: string;
|
|
356
|
+
interaction: string;
|
|
357
|
+
validation: string;
|
|
358
|
+
submission: string;
|
|
310
359
|
send: ReturnType<typeof useAeonMachine<typeof fieldMachine>>[1];
|
|
311
360
|
invalid: boolean;
|
|
312
361
|
pending: boolean;
|
|
@@ -327,6 +376,7 @@ declare const Field: {
|
|
|
327
376
|
Root: react.ForwardRefExoticComponent<FieldRootProps & react.RefAttributes<HTMLDivElement>>;
|
|
328
377
|
Label: react.ForwardRefExoticComponent<LabelHTMLAttributes<HTMLLabelElement> & react.RefAttributes<HTMLLabelElement>>;
|
|
329
378
|
Control: react.ForwardRefExoticComponent<FieldControlProps & react.RefAttributes<HTMLInputElement>>;
|
|
379
|
+
Input: react.ForwardRefExoticComponent<FieldControlProps & react.RefAttributes<HTMLInputElement>>;
|
|
330
380
|
Textarea: react.ForwardRefExoticComponent<FieldTextareaProps & react.RefAttributes<HTMLTextAreaElement>>;
|
|
331
381
|
Message: react.ForwardRefExoticComponent<react.HTMLAttributes<HTMLParagraphElement> & react.RefAttributes<HTMLParagraphElement>>;
|
|
332
382
|
Hint: react.ForwardRefExoticComponent<react.HTMLAttributes<HTMLParagraphElement> & react.RefAttributes<HTMLParagraphElement>>;
|
|
@@ -545,15 +595,472 @@ declare const Toast: {
|
|
|
545
595
|
Show: typeof Show;
|
|
546
596
|
};
|
|
547
597
|
|
|
598
|
+
interface ThemeSwitcherRootProps extends HTMLAttributes<HTMLDivElement> {
|
|
599
|
+
/** Initial theme — overridden by localStorage / system preference. */
|
|
600
|
+
defaultTheme?: string;
|
|
601
|
+
/** Initial mode — overridden by localStorage / system preference. */
|
|
602
|
+
defaultMode?: AeonColorMode;
|
|
603
|
+
/** Called when theme or mode changes. */
|
|
604
|
+
onThemeChange?: (themeId: string, mode: AeonColorMode) => void;
|
|
605
|
+
}
|
|
606
|
+
interface ThemeSwitcherModesProps extends HTMLAttributes<HTMLDivElement> {
|
|
607
|
+
}
|
|
608
|
+
interface ThemeSwitcherModeBtnProps extends HTMLAttributes<HTMLButtonElement> {
|
|
609
|
+
mode: AeonColorMode;
|
|
610
|
+
active: boolean;
|
|
611
|
+
}
|
|
612
|
+
interface ThemeSwitcherThemeSelectProps extends HTMLAttributes<HTMLDivElement> {
|
|
613
|
+
}
|
|
614
|
+
/**
|
|
615
|
+
* ThemeSwitcher — headless compound component for theme + mode control.
|
|
616
|
+
*
|
|
617
|
+
* Uses `initAeonTheme()` on mount to read localStorage / system preference.
|
|
618
|
+
* All state changes call `applyAeonTheme()` to update `<html>` dataset attrs.
|
|
619
|
+
*
|
|
620
|
+
* @example
|
|
621
|
+
* <ThemeSwitcher.Root>
|
|
622
|
+
* <ThemeSwitcher.Modes>
|
|
623
|
+
* <ThemeSwitcher.ModeBtn mode="light" active={mode === 'light'} />
|
|
624
|
+
* <ThemeSwitcher.ModeBtn mode="dark" active={mode === 'dark'} />
|
|
625
|
+
* </ThemeSwitcher.Modes>
|
|
626
|
+
* <ThemeSwitcher.ThemeSelect>
|
|
627
|
+
* <ThemeSwitcher.ThemeTrigger />
|
|
628
|
+
* </ThemeSwitcher.ThemeSelect>
|
|
629
|
+
* </ThemeSwitcher.Root>
|
|
630
|
+
*/
|
|
631
|
+
declare const ThemeSwitcher: {
|
|
632
|
+
Root: react.ForwardRefExoticComponent<ThemeSwitcherRootProps & react.RefAttributes<HTMLDivElement>>;
|
|
633
|
+
Modes: react.ForwardRefExoticComponent<ThemeSwitcherModesProps & react.RefAttributes<HTMLDivElement>>;
|
|
634
|
+
ModeBtn: react.ForwardRefExoticComponent<ThemeSwitcherModeBtnProps & react.RefAttributes<HTMLButtonElement>>;
|
|
635
|
+
ThemeSelect: react.ForwardRefExoticComponent<ThemeSwitcherThemeSelectProps & react.RefAttributes<HTMLDivElement>>;
|
|
636
|
+
ThemeTrigger: react.ForwardRefExoticComponent<HTMLAttributes<HTMLButtonElement> & react.RefAttributes<HTMLButtonElement>>;
|
|
637
|
+
};
|
|
638
|
+
|
|
548
639
|
type AvatarStatus = 'idle' | 'loading' | 'loaded' | 'error';
|
|
549
640
|
interface AvatarRootProps extends HTMLAttributes<HTMLSpanElement> {
|
|
550
641
|
children?: ReactNode;
|
|
551
642
|
className?: string;
|
|
552
643
|
}
|
|
644
|
+
type PresenceState = 'idle' | 'active' | 'away' | 'busy' | 'offline';
|
|
553
645
|
declare const Avatar: {
|
|
554
646
|
Root: react.ForwardRefExoticComponent<AvatarRootProps & react.RefAttributes<HTMLSpanElement>>;
|
|
555
647
|
Image: react.ForwardRefExoticComponent<ImgHTMLAttributes<HTMLImageElement> & react.RefAttributes<HTMLImageElement>>;
|
|
556
648
|
Fallback: react.ForwardRefExoticComponent<HTMLAttributes<HTMLSpanElement> & react.RefAttributes<HTMLSpanElement>>;
|
|
649
|
+
Badge: react.ForwardRefExoticComponent<HTMLAttributes<HTMLSpanElement> & {
|
|
650
|
+
presence?: PresenceState;
|
|
651
|
+
} & react.RefAttributes<HTMLSpanElement>>;
|
|
652
|
+
};
|
|
653
|
+
|
|
654
|
+
interface IdentityRootProps extends HTMLAttributes<HTMLElement> {
|
|
655
|
+
as?: 'div' | 'a' | 'button';
|
|
656
|
+
size?: 'sm' | 'md' | 'lg';
|
|
657
|
+
children?: ReactNode;
|
|
658
|
+
}
|
|
659
|
+
declare const Identity: {
|
|
660
|
+
Root: react.ForwardRefExoticComponent<IdentityRootProps & react.RefAttributes<HTMLElement>>;
|
|
661
|
+
Avatar: react.ForwardRefExoticComponent<HTMLAttributes<HTMLSpanElement> & react.RefAttributes<HTMLSpanElement>>;
|
|
662
|
+
Title: react.ForwardRefExoticComponent<HTMLAttributes<HTMLSpanElement> & react.RefAttributes<HTMLSpanElement>>;
|
|
663
|
+
Subtitle: react.ForwardRefExoticComponent<HTMLAttributes<HTMLSpanElement> & react.RefAttributes<HTMLSpanElement>>;
|
|
664
|
+
Meta: react.ForwardRefExoticComponent<HTMLAttributes<HTMLSpanElement> & react.RefAttributes<HTMLSpanElement>>;
|
|
665
|
+
Trailing: react.ForwardRefExoticComponent<HTMLAttributes<HTMLSpanElement> & react.RefAttributes<HTMLSpanElement>>;
|
|
666
|
+
};
|
|
667
|
+
|
|
668
|
+
interface MetricStripRootProps extends HTMLAttributes<HTMLElement> {
|
|
669
|
+
/** cluster = ultra-dense chips; loose = columnar stats */
|
|
670
|
+
density?: 'cluster' | 'loose';
|
|
671
|
+
children?: ReactNode;
|
|
672
|
+
}
|
|
673
|
+
declare const MetricStrip: {
|
|
674
|
+
Root: react.ForwardRefExoticComponent<MetricStripRootProps & react.RefAttributes<HTMLElement>>;
|
|
675
|
+
Chip: react.ForwardRefExoticComponent<HTMLAttributes<HTMLSpanElement> & react.RefAttributes<HTMLSpanElement>>;
|
|
676
|
+
Value: react.ForwardRefExoticComponent<HTMLAttributes<HTMLSpanElement> & react.RefAttributes<HTMLSpanElement>>;
|
|
677
|
+
Label: react.ForwardRefExoticComponent<HTMLAttributes<HTMLSpanElement> & react.RefAttributes<HTMLSpanElement>>;
|
|
678
|
+
};
|
|
679
|
+
|
|
680
|
+
interface ListRowRootProps extends ButtonHTMLAttributes<HTMLButtonElement> {
|
|
681
|
+
as?: 'button' | 'div' | 'a';
|
|
682
|
+
children?: ReactNode;
|
|
683
|
+
}
|
|
684
|
+
declare const ListRow: {
|
|
685
|
+
Root: react.ForwardRefExoticComponent<ListRowRootProps & react.RefAttributes<HTMLElement>>;
|
|
686
|
+
Leading: react.ForwardRefExoticComponent<HTMLAttributes<HTMLSpanElement> & react.RefAttributes<HTMLSpanElement>>;
|
|
687
|
+
Label: react.ForwardRefExoticComponent<HTMLAttributes<HTMLSpanElement> & react.RefAttributes<HTMLSpanElement>>;
|
|
688
|
+
Description: react.ForwardRefExoticComponent<HTMLAttributes<HTMLSpanElement> & react.RefAttributes<HTMLSpanElement>>;
|
|
689
|
+
Trailing: react.ForwardRefExoticComponent<HTMLAttributes<HTMLSpanElement> & react.RefAttributes<HTMLSpanElement>>;
|
|
690
|
+
};
|
|
691
|
+
|
|
692
|
+
/** Card face — idle resting · selected highlight · muted de-emphasized. */
|
|
693
|
+
type EntryState = 'idle' | 'selected' | 'muted';
|
|
694
|
+
interface EntryListProps extends HTMLAttributes<HTMLDivElement> {
|
|
695
|
+
children?: ReactNode;
|
|
696
|
+
}
|
|
697
|
+
interface EntryRootProps extends HTMLAttributes<HTMLElement> {
|
|
698
|
+
as?: 'article' | 'div' | 'li' | 'section';
|
|
699
|
+
state?: EntryState;
|
|
700
|
+
children?: ReactNode;
|
|
701
|
+
}
|
|
702
|
+
declare const Entry: {
|
|
703
|
+
List: react.ForwardRefExoticComponent<EntryListProps & react.RefAttributes<HTMLDivElement>>;
|
|
704
|
+
Root: react.ForwardRefExoticComponent<EntryRootProps & react.RefAttributes<HTMLElement>>;
|
|
705
|
+
Header: react.ForwardRefExoticComponent<HTMLAttributes<HTMLElement> & {
|
|
706
|
+
as?: "span" | "div" | "footer" | "header" | "p";
|
|
707
|
+
} & react.RefAttributes<HTMLElement>>;
|
|
708
|
+
Leading: react.ForwardRefExoticComponent<HTMLAttributes<HTMLElement> & {
|
|
709
|
+
as?: "span" | "div" | "footer" | "header" | "p";
|
|
710
|
+
} & react.RefAttributes<HTMLElement>>;
|
|
711
|
+
Heading: react.ForwardRefExoticComponent<HTMLAttributes<HTMLElement> & {
|
|
712
|
+
as?: "span" | "div" | "footer" | "header" | "p";
|
|
713
|
+
} & react.RefAttributes<HTMLElement>>;
|
|
714
|
+
Title: react.ForwardRefExoticComponent<HTMLAttributes<HTMLElement> & {
|
|
715
|
+
as?: "span" | "div" | "footer" | "header" | "p";
|
|
716
|
+
} & react.RefAttributes<HTMLElement>>;
|
|
717
|
+
Subtitle: react.ForwardRefExoticComponent<HTMLAttributes<HTMLElement> & {
|
|
718
|
+
as?: "span" | "div" | "footer" | "header" | "p";
|
|
719
|
+
} & react.RefAttributes<HTMLElement>>;
|
|
720
|
+
Meta: react.ForwardRefExoticComponent<HTMLAttributes<HTMLElement> & {
|
|
721
|
+
as?: "span" | "div" | "footer" | "header" | "p";
|
|
722
|
+
} & react.RefAttributes<HTMLElement>>;
|
|
723
|
+
Media: react.ForwardRefExoticComponent<HTMLAttributes<HTMLElement> & {
|
|
724
|
+
as?: "span" | "div" | "footer" | "header" | "p";
|
|
725
|
+
} & react.RefAttributes<HTMLElement>>;
|
|
726
|
+
Body: react.ForwardRefExoticComponent<HTMLAttributes<HTMLElement> & {
|
|
727
|
+
as?: "span" | "div" | "footer" | "header" | "p";
|
|
728
|
+
} & react.RefAttributes<HTMLElement>>;
|
|
729
|
+
Values: react.ForwardRefExoticComponent<HTMLAttributes<HTMLElement> & {
|
|
730
|
+
as?: "span" | "div" | "footer" | "header" | "p";
|
|
731
|
+
} & react.RefAttributes<HTMLElement>>;
|
|
732
|
+
Value: react.ForwardRefExoticComponent<HTMLAttributes<HTMLElement> & {
|
|
733
|
+
as?: "span" | "div" | "footer" | "header" | "p";
|
|
734
|
+
} & react.RefAttributes<HTMLElement>>;
|
|
735
|
+
Actions: react.ForwardRefExoticComponent<HTMLAttributes<HTMLElement> & {
|
|
736
|
+
as?: "span" | "div" | "footer" | "header" | "p";
|
|
737
|
+
} & react.RefAttributes<HTMLElement>>;
|
|
738
|
+
Footer: react.ForwardRefExoticComponent<HTMLAttributes<HTMLElement> & {
|
|
739
|
+
as?: "span" | "div" | "footer" | "header" | "p";
|
|
740
|
+
} & react.RefAttributes<HTMLElement>>;
|
|
741
|
+
};
|
|
742
|
+
|
|
743
|
+
type ConversationItemState = 'idle' | 'unread' | 'selected';
|
|
744
|
+
interface ConversationRootProps extends HTMLAttributes<HTMLElement> {
|
|
745
|
+
children?: ReactNode;
|
|
746
|
+
}
|
|
747
|
+
interface ConversationItemProps extends ButtonHTMLAttributes<HTMLButtonElement> {
|
|
748
|
+
state?: ConversationItemState;
|
|
749
|
+
as?: 'button' | 'div' | 'a';
|
|
750
|
+
}
|
|
751
|
+
declare const Conversation: {
|
|
752
|
+
Root: react.ForwardRefExoticComponent<ConversationRootProps & react.RefAttributes<HTMLElement>>;
|
|
753
|
+
Item: react.ForwardRefExoticComponent<ConversationItemProps & react.RefAttributes<HTMLElement>>;
|
|
754
|
+
Leading: react.ForwardRefExoticComponent<HTMLAttributes<HTMLSpanElement> & react.RefAttributes<HTMLSpanElement>>;
|
|
755
|
+
Body: react.ForwardRefExoticComponent<HTMLAttributes<HTMLSpanElement> & react.RefAttributes<HTMLSpanElement>>;
|
|
756
|
+
Title: react.ForwardRefExoticComponent<HTMLAttributes<HTMLSpanElement> & react.RefAttributes<HTMLSpanElement>>;
|
|
757
|
+
Preview: react.ForwardRefExoticComponent<HTMLAttributes<HTMLSpanElement> & react.RefAttributes<HTMLSpanElement>>;
|
|
758
|
+
Meta: react.ForwardRefExoticComponent<HTMLAttributes<HTMLSpanElement> & react.RefAttributes<HTMLSpanElement>>;
|
|
759
|
+
Badge: react.ForwardRefExoticComponent<HTMLAttributes<HTMLSpanElement> & react.RefAttributes<HTMLSpanElement>>;
|
|
760
|
+
};
|
|
761
|
+
|
|
762
|
+
type ThreadMessageState = 'mine' | 'theirs' | 'pending' | 'failed';
|
|
763
|
+
interface ThreadRootProps extends HTMLAttributes<HTMLElement> {
|
|
764
|
+
children?: ReactNode;
|
|
765
|
+
}
|
|
766
|
+
interface ThreadItemProps extends HTMLAttributes<HTMLDivElement> {
|
|
767
|
+
state?: ThreadMessageState | `${ThreadMessageState} ${string}`;
|
|
768
|
+
}
|
|
769
|
+
declare const Thread: {
|
|
770
|
+
Root: react.ForwardRefExoticComponent<ThreadRootProps & react.RefAttributes<HTMLElement>>;
|
|
771
|
+
List: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & react.RefAttributes<HTMLDivElement>>;
|
|
772
|
+
Item: react.ForwardRefExoticComponent<ThreadItemProps & react.RefAttributes<HTMLDivElement>>;
|
|
773
|
+
Bubble: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & react.RefAttributes<HTMLDivElement>>;
|
|
774
|
+
Meta: react.ForwardRefExoticComponent<HTMLAttributes<HTMLSpanElement> & react.RefAttributes<HTMLSpanElement>>;
|
|
775
|
+
Day: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & react.RefAttributes<HTMLDivElement>>;
|
|
776
|
+
};
|
|
777
|
+
|
|
778
|
+
type ComposerState = 'idle' | 'sending' | 'disabled' | 'error';
|
|
779
|
+
interface ComposerRootProps extends FormHTMLAttributes<HTMLFormElement> {
|
|
780
|
+
state?: ComposerState;
|
|
781
|
+
children?: ReactNode;
|
|
782
|
+
}
|
|
783
|
+
declare const Composer: {
|
|
784
|
+
Root: react.ForwardRefExoticComponent<ComposerRootProps & react.RefAttributes<HTMLFormElement>>;
|
|
785
|
+
Input: react.ForwardRefExoticComponent<TextareaHTMLAttributes<HTMLTextAreaElement> & react.RefAttributes<HTMLTextAreaElement>>;
|
|
786
|
+
Actions: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & react.RefAttributes<HTMLDivElement>>;
|
|
787
|
+
Send: react.ForwardRefExoticComponent<HTMLAttributes<HTMLSpanElement> & react.RefAttributes<HTMLSpanElement>>;
|
|
788
|
+
};
|
|
789
|
+
|
|
790
|
+
interface ProfileHeaderRootProps extends HTMLAttributes<HTMLElement> {
|
|
791
|
+
children?: ReactNode;
|
|
792
|
+
}
|
|
793
|
+
declare const ProfileHeader: {
|
|
794
|
+
Root: react.ForwardRefExoticComponent<ProfileHeaderRootProps & react.RefAttributes<HTMLElement>>;
|
|
795
|
+
Media: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & react.RefAttributes<HTMLDivElement>>;
|
|
796
|
+
Identity: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & react.RefAttributes<HTMLDivElement>>;
|
|
797
|
+
Metrics: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & react.RefAttributes<HTMLDivElement>>;
|
|
798
|
+
Actions: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & react.RefAttributes<HTMLDivElement>>;
|
|
799
|
+
Body: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & react.RefAttributes<HTMLDivElement>>;
|
|
800
|
+
};
|
|
801
|
+
|
|
802
|
+
interface BarRootProps extends HTMLAttributes<HTMLDivElement> {
|
|
803
|
+
/** HTML element to render — defaults to `'header'`. */
|
|
804
|
+
as?: 'header' | 'nav' | 'footer' | 'div';
|
|
805
|
+
/** Flex gap between zones. */
|
|
806
|
+
gap?: string;
|
|
807
|
+
}
|
|
808
|
+
interface ZoneProps extends HTMLAttributes<HTMLDivElement> {
|
|
809
|
+
/** Which zone — controls flex behavior. */
|
|
810
|
+
zone: Zone;
|
|
811
|
+
}
|
|
812
|
+
type Zone = 'leading' | 'center' | 'trailing';
|
|
813
|
+
declare const Zone: react.ForwardRefExoticComponent<ZoneProps & react.RefAttributes<HTMLDivElement>>;
|
|
814
|
+
/**
|
|
815
|
+
* Bar — horizontal layout primitive for toolbars, headers, footers.
|
|
816
|
+
*
|
|
817
|
+
* Guarantees no overlap by enforcing a three-zone flex contract:
|
|
818
|
+
* - **Leading** — `flex: 0 1 auto`, shrinks before overflowing.
|
|
819
|
+
* - **Center** — `flex: 1 1 0`, absorbs available space, truncates.
|
|
820
|
+
* - **Trailing** — `flex: 0 1 auto`, shrinks before overflowing.
|
|
821
|
+
*
|
|
822
|
+
* The root is always `display: flex; flex-wrap: nowrap` with
|
|
823
|
+
* `overflow: hidden` so children can never escape the bar boundary.
|
|
824
|
+
* Responsive collapse is handled by the Panda recipe (min-widths, wrap
|
|
825
|
+
* at breakpoints) — never by ad-hoc CSS.
|
|
826
|
+
*/
|
|
827
|
+
declare const Bar: {
|
|
828
|
+
Root: react.ForwardRefExoticComponent<BarRootProps & react.RefAttributes<HTMLDivElement>>;
|
|
829
|
+
Leading: react.ForwardRefExoticComponent<Omit<ZoneProps, "zone"> & react.RefAttributes<HTMLDivElement>>;
|
|
830
|
+
Center: react.ForwardRefExoticComponent<Omit<ZoneProps, "zone"> & react.RefAttributes<HTMLDivElement>>;
|
|
831
|
+
Trailing: react.ForwardRefExoticComponent<Omit<ZoneProps, "zone"> & react.RefAttributes<HTMLDivElement>>;
|
|
832
|
+
};
|
|
833
|
+
|
|
834
|
+
interface PanelGroupProps extends HTMLAttributes<HTMLDivElement> {
|
|
835
|
+
orientation?: 'horizontal' | 'vertical';
|
|
836
|
+
children?: ReactNode;
|
|
837
|
+
}
|
|
838
|
+
interface PanelRootProps extends HTMLAttributes<HTMLDivElement> {
|
|
839
|
+
/** Accessible name; also the collapsed vertical rail text. */
|
|
840
|
+
label: string;
|
|
841
|
+
/** Start expanded (default true). */
|
|
842
|
+
defaultExpanded?: boolean;
|
|
843
|
+
/** Controlled expanded state. */
|
|
844
|
+
expanded?: boolean;
|
|
845
|
+
/** Whether the panel can collapse (default true). */
|
|
846
|
+
collapsible?: boolean;
|
|
847
|
+
onExpandedChange?: (expanded: boolean) => void;
|
|
848
|
+
children?: ReactNode;
|
|
849
|
+
}
|
|
850
|
+
interface PanelTriggerProps extends ButtonHTMLAttributes<HTMLButtonElement> {
|
|
851
|
+
}
|
|
852
|
+
interface PanelLabelProps extends HTMLAttributes<HTMLSpanElement> {
|
|
853
|
+
/** Override root label text. */
|
|
854
|
+
children?: ReactNode;
|
|
855
|
+
}
|
|
856
|
+
interface PanelContentProps extends HTMLAttributes<HTMLDivElement> {
|
|
857
|
+
/** Prefer Scroll.Root inside for overflow regions. */
|
|
858
|
+
children?: ReactNode;
|
|
859
|
+
}
|
|
860
|
+
declare const Panel: {
|
|
861
|
+
Group: react.ForwardRefExoticComponent<PanelGroupProps & react.RefAttributes<HTMLDivElement>>;
|
|
862
|
+
Root: react.ForwardRefExoticComponent<PanelRootProps & react.RefAttributes<HTMLDivElement>>;
|
|
863
|
+
Trigger: react.ForwardRefExoticComponent<PanelTriggerProps & react.RefAttributes<HTMLButtonElement>>;
|
|
864
|
+
Label: react.ForwardRefExoticComponent<PanelLabelProps & react.RefAttributes<HTMLSpanElement>>;
|
|
865
|
+
Content: react.ForwardRefExoticComponent<PanelContentProps & react.RefAttributes<HTMLDivElement>>;
|
|
866
|
+
};
|
|
867
|
+
|
|
868
|
+
type AppShellChrome = 'idle' | 'overlayOpen';
|
|
869
|
+
interface AppShellContextValue {
|
|
870
|
+
chrome: AppShellChrome;
|
|
871
|
+
dockVisible: boolean;
|
|
872
|
+
overlayOpen: boolean;
|
|
873
|
+
send: ReturnType<typeof useAeonMachine<typeof appShellMachine>>[1];
|
|
874
|
+
}
|
|
875
|
+
declare function useAppShellContext(): AppShellContextValue;
|
|
876
|
+
interface AppShellRootProps extends HTMLAttributes<HTMLDivElement> {
|
|
877
|
+
/** Initial dock visibility when uncontrolled. */
|
|
878
|
+
defaultDockVisible?: boolean;
|
|
879
|
+
/** Controlled dock visibility — syncs into the shell machine. */
|
|
880
|
+
dockVisible?: boolean;
|
|
881
|
+
children?: ReactNode;
|
|
882
|
+
}
|
|
883
|
+
/**
|
|
884
|
+
* AppShell — application chrome frame.
|
|
885
|
+
* Machine: idle | overlayOpen (+ dockVisible context).
|
|
886
|
+
* UI = f(snapshot): content dims / scrim when overlayOpen; dock hides when dockVisible=false.
|
|
887
|
+
*/
|
|
888
|
+
declare const AppShell: {
|
|
889
|
+
Root: react.ForwardRefExoticComponent<AppShellRootProps & react.RefAttributes<HTMLDivElement>>;
|
|
890
|
+
Header: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & {
|
|
891
|
+
as?: "main" | "div" | "aside" | "footer" | "header";
|
|
892
|
+
} & react.RefAttributes<HTMLDivElement>>;
|
|
893
|
+
Subheader: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & {
|
|
894
|
+
as?: "main" | "div" | "aside" | "footer" | "header";
|
|
895
|
+
} & react.RefAttributes<HTMLDivElement>>;
|
|
896
|
+
Content: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & {
|
|
897
|
+
as?: "main" | "div" | "aside" | "footer" | "header";
|
|
898
|
+
} & react.RefAttributes<HTMLDivElement>>;
|
|
899
|
+
Aside: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & {
|
|
900
|
+
as?: "main" | "div" | "aside" | "footer" | "header";
|
|
901
|
+
} & react.RefAttributes<HTMLDivElement>>;
|
|
902
|
+
Footer: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & {
|
|
903
|
+
as?: "main" | "div" | "aside" | "footer" | "header";
|
|
904
|
+
} & react.RefAttributes<HTMLDivElement>>;
|
|
905
|
+
Dock: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & react.RefAttributes<HTMLDivElement>>;
|
|
906
|
+
Scrim: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & react.RefAttributes<HTMLDivElement>>;
|
|
907
|
+
};
|
|
908
|
+
|
|
909
|
+
interface AppNavContextValue {
|
|
910
|
+
section: string;
|
|
911
|
+
stack: AppNavChild[];
|
|
912
|
+
child: AppNavChild | null;
|
|
913
|
+
stateAttr: string;
|
|
914
|
+
send: ReturnType<typeof useAeonMachine<typeof appNavMachine>>[1];
|
|
915
|
+
setSection: (section: string) => void;
|
|
916
|
+
push: (child: AppNavChild) => void;
|
|
917
|
+
replace: (child: AppNavChild) => void;
|
|
918
|
+
pop: () => void;
|
|
919
|
+
popTo: (id: string) => void;
|
|
920
|
+
clear: () => void;
|
|
921
|
+
}
|
|
922
|
+
declare function useAppNav(): AppNavContextValue;
|
|
923
|
+
/** Use the machine without the compound tree. */
|
|
924
|
+
declare function useAppNavMachine(input?: {
|
|
925
|
+
section?: string;
|
|
926
|
+
stack?: AppNavChild[];
|
|
927
|
+
}): {
|
|
928
|
+
section: string;
|
|
929
|
+
stack: AppNavChild[];
|
|
930
|
+
child: AppNavChild | null;
|
|
931
|
+
stateAttr: string;
|
|
932
|
+
send: (event: {
|
|
933
|
+
type: "SET_SECTION";
|
|
934
|
+
section: string;
|
|
935
|
+
} | {
|
|
936
|
+
type: "PUSH";
|
|
937
|
+
child: AppNavChild;
|
|
938
|
+
} | {
|
|
939
|
+
type: "REPLACE";
|
|
940
|
+
child: AppNavChild;
|
|
941
|
+
} | {
|
|
942
|
+
type: "POP";
|
|
943
|
+
} | {
|
|
944
|
+
type: "POP_TO";
|
|
945
|
+
id: string;
|
|
946
|
+
} | {
|
|
947
|
+
type: "CLEAR";
|
|
948
|
+
} | {
|
|
949
|
+
type: "RESET";
|
|
950
|
+
section: string;
|
|
951
|
+
}) => void;
|
|
952
|
+
setSection: (next: string) => void;
|
|
953
|
+
push: (next: AppNavChild) => void;
|
|
954
|
+
replace: (next: AppNavChild) => void;
|
|
955
|
+
pop: () => void;
|
|
956
|
+
popTo: (id: string) => void;
|
|
957
|
+
clear: () => void;
|
|
958
|
+
reset: (next: string) => void;
|
|
959
|
+
};
|
|
960
|
+
interface AppNavRootProps extends HTMLAttributes<HTMLDivElement> {
|
|
961
|
+
defaultSection?: string;
|
|
962
|
+
children?: ReactNode;
|
|
963
|
+
}
|
|
964
|
+
interface AppNavSectionProps extends ButtonHTMLAttributes<HTMLButtonElement> {
|
|
965
|
+
value: string;
|
|
966
|
+
}
|
|
967
|
+
interface AppNavBreadcrumbProps extends HTMLAttributes<HTMLElement> {
|
|
968
|
+
/** Labels for section + each stack entry (length = 1 + stack.length). */
|
|
969
|
+
labels?: string[];
|
|
970
|
+
}
|
|
971
|
+
/**
|
|
972
|
+
* AppNav — section rail + detail stack.
|
|
973
|
+
* Machine: SET_SECTION / PUSH / POP / CLEAR. UI = f(section, stack).
|
|
974
|
+
*/
|
|
975
|
+
declare const AppNav: {
|
|
976
|
+
Root: react.ForwardRefExoticComponent<AppNavRootProps & react.RefAttributes<HTMLDivElement>>;
|
|
977
|
+
Rail: react.ForwardRefExoticComponent<HTMLAttributes<HTMLElement> & react.RefAttributes<HTMLElement>>;
|
|
978
|
+
Section: react.ForwardRefExoticComponent<AppNavSectionProps & react.RefAttributes<HTMLButtonElement>>;
|
|
979
|
+
Stage: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & react.RefAttributes<HTMLDivElement>>;
|
|
980
|
+
Breadcrumb: react.ForwardRefExoticComponent<AppNavBreadcrumbProps & react.RefAttributes<HTMLElement>>;
|
|
981
|
+
Back: react.ForwardRefExoticComponent<ButtonHTMLAttributes<HTMLButtonElement> & react.RefAttributes<HTMLButtonElement>>;
|
|
982
|
+
};
|
|
983
|
+
|
|
984
|
+
interface ContentContextValue {
|
|
985
|
+
state: ContentRegionState;
|
|
986
|
+
error: string | null;
|
|
987
|
+
send: ReturnType<typeof useAeonMachine<typeof contentRegionMachine>>[1];
|
|
988
|
+
}
|
|
989
|
+
declare function useContentContext(): ContentContextValue;
|
|
990
|
+
interface ContentRootProps extends HTMLAttributes<HTMLDivElement> {
|
|
991
|
+
/**
|
|
992
|
+
* Controlled face — projects parent/app machine onto Content slots
|
|
993
|
+
* (same pattern as Button `status`). When set, slot visibility uses this
|
|
994
|
+
* value instead of the internal contentRegionMachine leaf.
|
|
995
|
+
*/
|
|
996
|
+
state?: ContentRegionState;
|
|
997
|
+
children?: ReactNode;
|
|
998
|
+
}
|
|
999
|
+
/**
|
|
1000
|
+
* Content — status-slotted region. Machine totality maps 1:1 onto parts.
|
|
1001
|
+
* States: idle | pending | empty | error | ready | loadingMore | success
|
|
1002
|
+
* Drive via contentRegionMachine events, or project with Root `state` prop.
|
|
1003
|
+
*/
|
|
1004
|
+
declare const Content: {
|
|
1005
|
+
Root: react.ForwardRefExoticComponent<ContentRootProps & react.RefAttributes<HTMLDivElement>>;
|
|
1006
|
+
Toolbar: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & react.RefAttributes<HTMLDivElement>>;
|
|
1007
|
+
Body: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & react.RefAttributes<HTMLDivElement>>;
|
|
1008
|
+
Pending: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & react.RefAttributes<HTMLDivElement>>;
|
|
1009
|
+
Empty: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & react.RefAttributes<HTMLDivElement>>;
|
|
1010
|
+
Error: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & react.RefAttributes<HTMLDivElement>>;
|
|
1011
|
+
Success: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & react.RefAttributes<HTMLDivElement>>;
|
|
1012
|
+
Sentinel: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & react.RefAttributes<HTMLDivElement>>;
|
|
1013
|
+
};
|
|
1014
|
+
|
|
1015
|
+
interface NavRootProps extends HTMLAttributes<HTMLElement> {
|
|
1016
|
+
defaultValue?: string;
|
|
1017
|
+
value?: string;
|
|
1018
|
+
onValueChange?: (value: string) => void;
|
|
1019
|
+
as?: 'nav' | 'div';
|
|
1020
|
+
orientation?: 'horizontal' | 'vertical';
|
|
1021
|
+
children?: ReactNode;
|
|
1022
|
+
}
|
|
1023
|
+
interface NavItemProps extends ButtonHTMLAttributes<HTMLButtonElement> {
|
|
1024
|
+
value: string;
|
|
1025
|
+
}
|
|
1026
|
+
/**
|
|
1027
|
+
* Nav — navigational collection (top links, bottom tabs, side rail).
|
|
1028
|
+
* Selection: tabsMachine. Item states: inactive | active | disabled.
|
|
1029
|
+
*/
|
|
1030
|
+
declare const Nav: {
|
|
1031
|
+
Root: react.ForwardRefExoticComponent<NavRootProps & react.RefAttributes<HTMLElement>>;
|
|
1032
|
+
Item: react.ForwardRefExoticComponent<NavItemProps & react.RefAttributes<HTMLButtonElement>>;
|
|
1033
|
+
Indicator: react.ForwardRefExoticComponent<HTMLAttributes<HTMLSpanElement> & react.RefAttributes<HTMLSpanElement>>;
|
|
1034
|
+
Label: react.ForwardRefExoticComponent<HTMLAttributes<HTMLSpanElement> & react.RefAttributes<HTMLSpanElement>>;
|
|
1035
|
+
Icon: react.ForwardRefExoticComponent<HTMLAttributes<HTMLSpanElement> & react.RefAttributes<HTMLSpanElement>>;
|
|
1036
|
+
Badge: react.ForwardRefExoticComponent<HTMLAttributes<HTMLSpanElement> & react.RefAttributes<HTMLSpanElement>>;
|
|
1037
|
+
};
|
|
1038
|
+
|
|
1039
|
+
interface StickyBarContextValue {
|
|
1040
|
+
state: StickyBarState;
|
|
1041
|
+
offsetPx: number;
|
|
1042
|
+
send: ReturnType<typeof useAeonMachine<typeof stickyBarMachine>>[1];
|
|
1043
|
+
}
|
|
1044
|
+
declare function useStickyBarContext(): StickyBarContextValue;
|
|
1045
|
+
interface StickyBarRootProps extends HTMLAttributes<HTMLElement> {
|
|
1046
|
+
as?: 'header' | 'nav' | 'footer' | 'div';
|
|
1047
|
+
/** Placement — top | bottom | inline (CSS contract). */
|
|
1048
|
+
placement?: 'top' | 'bottom' | 'inline';
|
|
1049
|
+
/** Initial machine state. */
|
|
1050
|
+
defaultState?: StickyBarState;
|
|
1051
|
+
children?: ReactNode;
|
|
1052
|
+
}
|
|
1053
|
+
/**
|
|
1054
|
+
* StickyBar — sticky/fixed chrome band with machine totality.
|
|
1055
|
+
* States: floating | docked | collapsed | hidden
|
|
1056
|
+
* Zones reuse bar anatomy (leading / center / trailing / seam).
|
|
1057
|
+
*/
|
|
1058
|
+
declare const StickyBar: {
|
|
1059
|
+
Root: react.ForwardRefExoticComponent<StickyBarRootProps & react.RefAttributes<HTMLElement>>;
|
|
1060
|
+
Leading: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & react.RefAttributes<HTMLDivElement>>;
|
|
1061
|
+
Center: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & react.RefAttributes<HTMLDivElement>>;
|
|
1062
|
+
Trailing: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & react.RefAttributes<HTMLDivElement>>;
|
|
1063
|
+
Seam: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & react.RefAttributes<HTMLDivElement>>;
|
|
557
1064
|
};
|
|
558
1065
|
|
|
559
1066
|
declare function useLayoutMode(spec: ResponsiveLayoutSpec): {
|
|
@@ -561,4 +1068,16 @@ declare function useLayoutMode(spec: ResponsiveLayoutSpec): {
|
|
|
561
1068
|
composition: LayoutCompositionSpec;
|
|
562
1069
|
};
|
|
563
1070
|
|
|
564
|
-
|
|
1071
|
+
type FitTextOptions = {
|
|
1072
|
+
maxPx?: number;
|
|
1073
|
+
minPx?: number;
|
|
1074
|
+
/** Re-run when this value changes (e.g. display string). */
|
|
1075
|
+
watch?: unknown;
|
|
1076
|
+
};
|
|
1077
|
+
/**
|
|
1078
|
+
* Shrink font-size (then scale) so `contentRef` fits inside `slotRef`
|
|
1079
|
+
* without expanding parent layout. Universal for balance rows, titles, tickers.
|
|
1080
|
+
*/
|
|
1081
|
+
declare function useFitText(slotRef: RefObject<HTMLElement | null>, contentRef: RefObject<HTMLElement | null>, opts?: FitTextOptions): void;
|
|
1082
|
+
|
|
1083
|
+
export { Accordion, type AccordionItemContentProps, type AccordionItemProps, type AccordionItemTriggerProps, type AccordionRootProps, AppNav, type AppNavBreadcrumbProps, type AppNavRootProps, type AppNavSectionProps, AppShell, type AppShellRootProps, Async, AsyncActions, AsyncProvider, AsyncReadout, AsyncRoot, AsyncTrack, Avatar, type AvatarRootProps, type AvatarStatus, Bar, type BarRootProps, Button, type ButtonRootProps, type ButtonStatus, Checkbox, type CheckboxRootProps, Combobox, type ComboboxItemProps, type ComboboxRootProps, Composer, type ComposerRootProps, type ComposerState, Content, type ContentRootProps, Conversation, type ConversationItemProps, type ConversationItemState, type ConversationRootProps, Dialog, type DialogPortalProps, type DialogRootProps, Entry, type EntryListProps, type EntryRootProps, type EntryState, Field, type FieldControlProps, type FieldRootProps, type FieldTextareaProps, Identity, type IdentityRootProps, ListRow, type ListRowRootProps, Menu, type MenuItemProps, type MenuPositionerProps, type MenuRootProps, MetricStrip, type MetricStripRootProps, Nav, type NavItemProps, type NavRootProps, Panel, type PanelContentProps, type PanelGroupProps, type PanelLabelProps, type PanelRootProps, type PanelTriggerProps, PinInput, type PinInputInputProps, type PinInputRootProps, Popover, type PopoverPositionerProps, type PopoverRootProps, type PresenceState, ProfileHeader, type ProfileHeaderRootProps, Progress, type ProgressRootProps, Prompt, type PromptRootProps, type PromptStatus, RadioGroup, type RadioGroupItemProps, type RadioGroupRootProps, Scroll, type ScrollRootProps, type ScrollViewportProps, Select, type SelectContentProps, type SelectItemProps, type SelectPositionerProps, type SelectRootProps, Separator, type SeparatorRootProps, Slider, type SliderRootProps, StatusBanner, type StatusBannerRootProps, type StatusBannerTone, StickyBar, type StickyBarRootProps, Switch, type SwitchRootProps, Tabs, type TabsContentProps, type TabsRootProps, type TabsTriggerProps, ThemeSwitcher, type ThemeSwitcherModeBtnProps, type ThemeSwitcherModesProps, type ThemeSwitcherRootProps, type ThemeSwitcherThemeSelectProps, Thread, type ThreadItemProps, type ThreadMessageState, type ThreadRootProps, Toast, ToastItem, type ToastPlacement, type ToastProviderProps, type ToastPublishOptions, type ToastRecord, type ToastRootProps, type ToastStore, type ToastViewportProps, Tooltip, type TooltipPositionerProps, type TooltipRootProps, asyncStatusToContentState, useAeonMachine, useAppNav, useAppNavMachine, useAppShellContext, useAsyncContext, useContentContext, useFieldContext, useFitText, useLayoutMode, useScrollContext, useScrollState, useStickyBarContext, useToast, useToastStore };
|