aeon-ui-engine 1.3.1 → 1.4.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 +61 -0
- package/package.json +1 -1
- package/packages/cli/README.md +13 -1
- package/packages/cli/dist/bin.js +23 -5
- package/packages/cli/dist/chunk-5L47SLNV.js +247 -0
- package/packages/cli/dist/index.d.ts +17 -1
- package/packages/cli/dist/index.js +5 -3
- package/packages/cli/src/bin.ts +21 -3
- package/packages/cli/src/index.ts +1 -0
- package/packages/cli/src/migrate.ts +170 -0
- package/packages/core/dist/index.d.ts +35 -7
- package/packages/core/dist/index.js +102 -2
- package/packages/core/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -1
- package/packages/core/src/anatomy.ts +39 -3
- package/packages/core/src/identicon.test.ts +39 -0
- package/packages/core/src/identicon.ts +79 -0
- package/packages/core/src/index.ts +1 -0
- package/packages/panda/panda.config.ts +4 -0
- package/packages/panda/src/recipes/composer.ts +58 -4
- package/packages/panda/src/recipes/file-upload.ts +100 -0
- package/packages/panda/src/recipes/index.ts +2 -0
- package/packages/panda/src/recipes/range-slider.ts +59 -0
- package/packages/panda/src/recipes/thread.ts +77 -2
- package/packages/panda/styled-system/recipes/aeon-composer.d.ts +1 -1
- package/packages/panda/styled-system/recipes/aeon-composer.mjs +12 -0
- package/packages/panda/styled-system/recipes/aeon-file-upload.d.ts +31 -0
- package/packages/panda/styled-system/recipes/aeon-file-upload.mjs +61 -0
- package/packages/panda/styled-system/recipes/aeon-range-slider.d.ts +31 -0
- package/packages/panda/styled-system/recipes/aeon-range-slider.mjs +49 -0
- package/packages/panda/styled-system/recipes/aeon-thread.d.ts +1 -1
- package/packages/panda/styled-system/recipes/aeon-thread.mjs +20 -0
- package/packages/panda/styled-system/recipes/index.d.ts +2 -0
- package/packages/panda/styled-system/recipes/index.mjs +2 -0
- package/packages/panda/styled-system/styles.css +292 -0
- package/packages/primitives/dist/chunk-CV4UXXZF.js +44 -0
- package/packages/primitives/dist/chunk-IZKQSCYU.js +164 -0
- package/packages/primitives/dist/index.d.ts +2 -0
- package/packages/primitives/dist/index.js +22 -6
- package/packages/primitives/dist/machines/file-upload.d.ts +39 -0
- package/packages/primitives/dist/machines/file-upload.js +8 -0
- package/packages/primitives/dist/machines/range-slider.d.ts +129 -0
- package/packages/primitives/dist/machines/range-slider.js +12 -0
- package/packages/primitives/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -1
- package/packages/primitives/src/__tests__/file-upload.test.ts +25 -0
- package/packages/primitives/src/__tests__/range-slider.test.ts +39 -0
- package/packages/primitives/src/index.ts +2 -0
- package/packages/primitives/src/machines/file-upload.ts +55 -0
- package/packages/primitives/src/machines/range-slider.ts +209 -0
- package/packages/react/dist/index.d.ts +117 -25
- package/packages/react/dist/index.js +1731 -1006
- package/packages/react/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -1
- package/packages/react/src/button/index.tsx +50 -15
- package/packages/react/src/combobox/index.tsx +13 -8
- package/packages/react/src/composer/index.tsx +58 -3
- package/packages/react/src/file-upload/index.tsx +322 -0
- package/packages/react/src/index.ts +3 -0
- package/packages/react/src/prompt/index.tsx +45 -0
- package/packages/react/src/range-slider/index.tsx +322 -0
- package/packages/react/src/thread/index.tsx +74 -3
- package/packages/react/src/tooltip/index.tsx +48 -22
- package/packages/react/src/utils/slot.tsx +47 -0
- package/packages/schemas/dist/index.d.ts +73 -24
- package/packages/schemas/dist/index.js +514 -50
- package/packages/schemas/json/appNav.json +146 -0
- package/packages/schemas/json/appShell.json +151 -0
- package/packages/schemas/json/avatar.json +130 -0
- package/packages/schemas/json/bar.json +126 -0
- package/packages/schemas/json/button.json +6 -0
- package/packages/schemas/json/catalog.json +3496 -15
- package/packages/schemas/json/combobox.json +19 -7
- package/packages/schemas/json/composer.json +125 -0
- package/packages/schemas/json/content.json +167 -0
- package/packages/schemas/json/conversation.json +166 -0
- package/packages/schemas/json/entry.json +182 -0
- package/packages/schemas/json/fileUpload.json +168 -0
- package/packages/schemas/json/identity.json +147 -0
- package/packages/schemas/json/listRow.json +131 -0
- package/packages/schemas/json/metricStrip.json +132 -0
- package/packages/schemas/json/nav.json +136 -0
- package/packages/schemas/json/panel.json +143 -0
- package/packages/schemas/json/pinInput.json +112 -0
- package/packages/schemas/json/profileHeader.json +138 -0
- package/packages/schemas/json/prompt.json +155 -0
- package/packages/schemas/json/radioGroup.json +130 -0
- package/packages/schemas/json/rangeSlider.json +157 -0
- package/packages/schemas/json/separator.json +105 -0
- package/packages/schemas/json/slider.json +147 -0
- package/packages/schemas/json/statusBanner.json +149 -0
- package/packages/schemas/json/stickyBar.json +153 -0
- package/packages/schemas/json/thread.json +129 -0
- package/packages/schemas/json/tooltip.json +21 -7
- package/packages/schemas/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -1
- package/packages/schemas/prompts/cursorrules.md +6 -4
- package/packages/schemas/prompts/statecharts.md +23 -2
- package/packages/schemas/prompts/system.md +2 -2
- package/packages/schemas/registry/catalog.json +313 -4
- package/packages/schemas/registry/components/appNav.json +146 -0
- package/packages/schemas/registry/components/appShell.json +151 -0
- package/packages/schemas/registry/components/avatar.json +130 -0
- package/packages/schemas/registry/components/bar.json +126 -0
- package/packages/schemas/registry/components/button.json +6 -0
- package/packages/schemas/registry/components/combobox.json +19 -7
- package/packages/schemas/registry/components/composer.json +125 -0
- package/packages/schemas/registry/components/content.json +167 -0
- package/packages/schemas/registry/components/conversation.json +166 -0
- package/packages/schemas/registry/components/entry.json +182 -0
- package/packages/schemas/registry/components/fileUpload.json +168 -0
- package/packages/schemas/registry/components/identity.json +147 -0
- package/packages/schemas/registry/components/listRow.json +131 -0
- package/packages/schemas/registry/components/metricStrip.json +132 -0
- package/packages/schemas/registry/components/nav.json +136 -0
- package/packages/schemas/registry/components/panel.json +143 -0
- package/packages/schemas/registry/components/pinInput.json +112 -0
- package/packages/schemas/registry/components/profileHeader.json +138 -0
- package/packages/schemas/registry/components/prompt.json +155 -0
- package/packages/schemas/registry/components/radioGroup.json +130 -0
- package/packages/schemas/registry/components/rangeSlider.json +157 -0
- package/packages/schemas/registry/components/separator.json +105 -0
- package/packages/schemas/registry/components/slider.json +147 -0
- package/packages/schemas/registry/components/statusBanner.json +149 -0
- package/packages/schemas/registry/components/stickyBar.json +153 -0
- package/packages/schemas/registry/components/thread.json +129 -0
- package/packages/schemas/registry/components/tooltip.json +21 -7
- package/packages/schemas/registry/machines/accordion.json +58 -0
- package/packages/schemas/registry/machines/appNav.json +108 -0
- package/packages/schemas/registry/machines/appShell.json +128 -0
- package/packages/schemas/registry/machines/contentRegion.json +314 -0
- package/packages/schemas/registry/machines/fileUpload.json +182 -0
- package/packages/schemas/registry/machines/panel.json +131 -0
- package/packages/schemas/registry/machines/popover.json +143 -0
- package/packages/schemas/registry/machines/rangeSlider.json +201 -0
- package/packages/schemas/registry/machines/slider.json +151 -0
- package/packages/schemas/registry/machines/stickyBar.json +261 -0
- package/packages/schemas/registry/machines/tabs.json +58 -0
- package/packages/schemas/registry/machines/toast.json +89 -0
- package/packages/schemas/registry/machines/toggle.json +134 -0
- package/packages/schemas/scripts/emit.ts +27 -0
- package/packages/schemas/src/components.ts +499 -6
- package/packages/schemas/src/index.test.ts +83 -0
- package/packages/schemas/src/index.ts +1 -0
- package/packages/schemas/src/machine-id.ts +7 -0
- package/packages/schemas/src/prompts.ts +25 -4
- package/packages/schemas/src/registry.ts +28 -39
- package/packages/schemas/tsconfig.json +1 -1
- package/packages/ui/dist/index.d.ts +100 -46
- package/packages/ui/dist/index.js +463 -341
- package/packages/ui/src/composer.tsx +37 -11
- package/packages/ui/src/file-upload.tsx +36 -0
- package/packages/ui/src/index.ts +2 -0
- package/packages/ui/src/prompt.tsx +3 -0
- package/packages/ui/src/range-slider.tsx +24 -0
- package/packages/ui/src/thread.tsx +40 -0
- package/packages/cli/dist/chunk-IW5NT2Z2.js +0 -103
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/** Map component schema `machine` export names → registry/machines/{id}.json ids. */
|
|
2
|
+
export function machineRegistryId(machine: string | null | undefined): string | undefined {
|
|
3
|
+
if (machine == null) return undefined
|
|
4
|
+
if (machine === 'createAsyncMachine') return 'async'
|
|
5
|
+
if (machine.endsWith('Machine')) return machine.slice(0, -'Machine'.length)
|
|
6
|
+
return machine
|
|
7
|
+
}
|
|
@@ -15,8 +15,8 @@ You are building UI with **Aeon UI**, a React component library powered by finit
|
|
|
15
15
|
## Non-negotiable rules
|
|
16
16
|
1. Do not duplicate open/checked/lifecycle in \`useState\` when a machine exists in \`@aeon-ui/primitives\`.
|
|
17
17
|
2. **Button \`status\` is a prop** (\`idle|pending|success|failure|disabled\`). Optional: drive it from \`buttonLifecycleMachine\` via \`useAeonMachine\` in app code.
|
|
18
|
-
3. **Select / Menu / Popover** share \`popoverMachine\` — never fork another open/closed chart.
|
|
19
|
-
4. **
|
|
18
|
+
3. **Select / Menu / Popover / Combobox / Tooltip** share \`popoverMachine\` for open/closed — never fork another open/closed chart. Combobox keeps query/highlight in React; Tooltip keeps openDelay/closeDelay/touchDuration in React.
|
|
19
|
+
4. **PinInput** digit buffer is React-local today — do not invent a pin machine without the component checklist.
|
|
20
20
|
5. **Scroll** uses \`getScrollSnapshot()\` — no XState machine.
|
|
21
21
|
6. If a machine lists N stable states, the UI must represent all N (totality).
|
|
22
22
|
7. Prefer \`@aeon-ui/react\` (headless) or \`@aeon-ui/ui\` (styled). Relative TS imports use \`.js\` extensions inside the Aeon monorepo only.
|
|
@@ -58,13 +58,34 @@ Rule: Pending must set aria-busy. Do not use disabled alone to mean "saving".`,
|
|
|
58
58
|
States: open | closed. Events: OPEN, CLOSE, TOGGLE.
|
|
59
59
|
Rule: Backdrop click and Escape are CLOSE transitions. Title/Description are required for a11y when open.`,
|
|
60
60
|
|
|
61
|
-
popoverFamily: `## Popover family (Popover, Menu, Select open state)
|
|
61
|
+
popoverFamily: `## Popover family (Popover, Menu, Select, Combobox, Tooltip open state)
|
|
62
62
|
Machine: popoverMachine — states open | closed.
|
|
63
|
-
Rule: Reuse this chart. Never create selectOpenMachine / menuOpenMachine forks
|
|
63
|
+
Rule: Reuse this chart. Never create selectOpenMachine / menuOpenMachine / comboboxOpenMachine / tooltipOpenMachine forks.
|
|
64
|
+
Combobox: query + highlight stay React-local; open/closed must still be popoverMachine.
|
|
65
|
+
Tooltip: openDelay / closeDelay / touchDuration stay React-local; open/closed must still be popoverMachine.`,
|
|
64
66
|
|
|
65
67
|
toggle: `## Switch / Checkbox
|
|
66
68
|
Machine: toggleMachine — checked | unchecked. Events: TOGGLE, CHECK, UNCHECK.
|
|
67
69
|
Rule: Hidden input stays in sync with snapshot for forms.`,
|
|
70
|
+
|
|
71
|
+
slider: `## Slider statechart
|
|
72
|
+
Machine: sliderMachine — idle | dragging; value/min/max/step in context.
|
|
73
|
+
Events: SET_VALUE, STEP, POINTER_DOWN, POINTER_UP, HOME, END.
|
|
74
|
+
Rule: Disabled blocks SET_VALUE / drag; project idle vs dragging on data-aeon-state.`,
|
|
75
|
+
|
|
76
|
+
contentRegion: `## Content region statechart
|
|
77
|
+
Machine: contentRegionMachine — idle → pending → (empty | error | ready) → loadingMore | success.
|
|
78
|
+
Events: LOAD, RESOLVE, REJECT, RETRY, LOAD_MORE, MORE_DONE, SUCCEED, RESET.
|
|
79
|
+
Rule: Every stable state has a slot. Pair with Async for fetch; do not hide empty/error behind a spinner.`,
|
|
80
|
+
|
|
81
|
+
toast: `## Toast item statechart
|
|
82
|
+
Machine: toastMachine — hidden | visible. Events: SHOW, HIDE, DISMISS.
|
|
83
|
+
Rule: Provider list orchestration may use React; each toast item uses the machine.`,
|
|
84
|
+
|
|
85
|
+
stickyBar: `## StickyBar statechart
|
|
86
|
+
Machine: stickyBarMachine — floating | docked | collapsed | hidden.
|
|
87
|
+
Events: DOCK, FLOAT, COLLAPSE, EXPAND, HIDE, SHOW, SET_OFFSET.
|
|
88
|
+
Rule: DOM scope is bar (bar anatomy zones). Do not invent a parallel sticky useState.`,
|
|
68
89
|
} as const
|
|
69
90
|
|
|
70
91
|
/** Checkout-form example used on the landing "AI playground" proof. */
|
|
@@ -1,8 +1,14 @@
|
|
|
1
|
+
import { componentSchemas } from './components.js'
|
|
2
|
+
import { machineRegistryId } from './machine-id.js'
|
|
3
|
+
import type { JsonSchema } from './schema-builder.js'
|
|
4
|
+
|
|
1
5
|
/**
|
|
2
6
|
* Aeon UI agent registry — machine-legible component contracts for Generative UI.
|
|
3
7
|
* Fetch at runtime: GET https://aeon-ui.com/registry/catalog.json
|
|
4
8
|
* Per component: GET https://aeon-ui.com/registry/components/{id}.json
|
|
5
9
|
* Machines: GET https://aeon-ui.com/registry/machines/{id}.json
|
|
10
|
+
*
|
|
11
|
+
* Components are derived from `componentSchemas` — do not hand-maintain a parallel list.
|
|
6
12
|
*/
|
|
7
13
|
export type RegistryEntry = {
|
|
8
14
|
id: string
|
|
@@ -16,6 +22,24 @@ export type RegistryEntry = {
|
|
|
16
22
|
|
|
17
23
|
export const REGISTRY_BASE = 'https://aeon-ui.com/registry' as const
|
|
18
24
|
|
|
25
|
+
function entryFromSchema(id: string, schema: JsonSchema): RegistryEntry {
|
|
26
|
+
const x = schema['x-aeon'] as {
|
|
27
|
+
scope: string
|
|
28
|
+
machine: string | null
|
|
29
|
+
runtime: string
|
|
30
|
+
}
|
|
31
|
+
const mid = machineRegistryId(x.machine)
|
|
32
|
+
return {
|
|
33
|
+
id,
|
|
34
|
+
title: String(schema.title ?? id),
|
|
35
|
+
scope: x.scope,
|
|
36
|
+
schemaUrl: `${REGISTRY_BASE}/components/${id}.json`,
|
|
37
|
+
...(mid ? { machineUrl: `${REGISTRY_BASE}/machines/${mid}.json` } : {}),
|
|
38
|
+
runtime: x.runtime,
|
|
39
|
+
description: String(schema.description ?? ''),
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
|
|
19
43
|
export const registryCatalog = {
|
|
20
44
|
$id: `${REGISTRY_BASE}/catalog.json`,
|
|
21
45
|
version: '0.1.0',
|
|
@@ -27,47 +51,12 @@ export const registryCatalog = {
|
|
|
27
51
|
component: `${REGISTRY_BASE}/components/{id}.json`,
|
|
28
52
|
machine: `${REGISTRY_BASE}/machines/{id}.json`,
|
|
29
53
|
},
|
|
30
|
-
components: [
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
title: 'Button',
|
|
34
|
-
scope: 'button',
|
|
35
|
-
schemaUrl: `${REGISTRY_BASE}/components/button.json`,
|
|
36
|
-
machineUrl: `${REGISTRY_BASE}/machines/buttonLifecycle.json`,
|
|
37
|
-
runtime: 'status prop',
|
|
38
|
-
description: 'Action control with idle|pending|success|failure|disabled',
|
|
39
|
-
},
|
|
40
|
-
{
|
|
41
|
-
id: 'async',
|
|
42
|
-
title: 'Async',
|
|
43
|
-
scope: 'async',
|
|
44
|
-
schemaUrl: `${REGISTRY_BASE}/components/async.json`,
|
|
45
|
-
machineUrl: `${REGISTRY_BASE}/machines/async.json`,
|
|
46
|
-
runtime: 'useAeonMachine',
|
|
47
|
-
description: 'Fetch lifecycle region with full totality',
|
|
48
|
-
},
|
|
49
|
-
{
|
|
50
|
-
id: 'field',
|
|
51
|
-
title: 'Field',
|
|
52
|
-
scope: 'field',
|
|
53
|
-
schemaUrl: `${REGISTRY_BASE}/components/field.json`,
|
|
54
|
-
machineUrl: `${REGISTRY_BASE}/machines/field.json`,
|
|
55
|
-
runtime: 'useAeonMachine',
|
|
56
|
-
description: 'Parallel interaction × validation × submission',
|
|
57
|
-
},
|
|
58
|
-
{
|
|
59
|
-
id: 'dialog',
|
|
60
|
-
title: 'Dialog',
|
|
61
|
-
scope: 'dialog',
|
|
62
|
-
schemaUrl: `${REGISTRY_BASE}/components/dialog.json`,
|
|
63
|
-
machineUrl: `${REGISTRY_BASE}/machines/dialog.json`,
|
|
64
|
-
runtime: 'useAeonMachine',
|
|
65
|
-
description: 'Modal open/closed',
|
|
66
|
-
},
|
|
67
|
-
] satisfies RegistryEntry[],
|
|
54
|
+
components: Object.entries(componentSchemas).map(([id, schema]) =>
|
|
55
|
+
entryFromSchema(id, schema),
|
|
56
|
+
) satisfies RegistryEntry[],
|
|
68
57
|
client: {
|
|
69
58
|
fetchCatalog: `fetch('${REGISTRY_BASE}/catalog.json').then(r => r.json())`,
|
|
70
59
|
fetchComponent: `id => fetch(\`${REGISTRY_BASE}/components/\${id}.json\`).then(r => r.json())`,
|
|
71
60
|
fetchMachine: `id => fetch(\`${REGISTRY_BASE}/machines/\${id}.json\`).then(r => r.json())`,
|
|
72
61
|
},
|
|
73
|
-
}
|
|
62
|
+
}
|
|
@@ -2,8 +2,8 @@ import * as react from 'react';
|
|
|
2
2
|
import { ComponentProps, HTMLAttributes } from 'react';
|
|
3
3
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
4
4
|
import * as _aeon_ui_react from '@aeon-ui/react';
|
|
5
|
-
import { Button as Button$1, Avatar as Avatar$1, Identity as Identity$1, MetricStrip as MetricStrip$1, ListRow as ListRow$1, Entry as Entry$1, Conversation as Conversation$1, Thread as Thread$1, Composer as Composer$1, ProfileHeader as ProfileHeader$1, Async as Async$1, useAsyncContext, Field as Field$1, Switch as Switch$1, Checkbox as Checkbox$1, Dialog as Dialog$1, Tabs as Tabs$1, Separator as Separator$1, Progress as Progress$1, RadioGroup as RadioGroup$1, Slider as Slider$1, PinInput as PinInput$1, Accordion as Accordion$1, Bar as Bar$1, Panel as Panel$1, AppShell as AppShell$1, Content as Content$1, Nav as Nav$1, StickyBar as StickyBar$1, Scroll as Scroll$1, Select as Select$1, Combobox as Combobox$1, Menu as Menu$1, Popover as Popover$1, Tooltip as Tooltip$1, Toast as Toast$1, ThemeSwitcher as ThemeSwitcher$1 } from '@aeon-ui/react';
|
|
6
|
-
export { useToast } from '@aeon-ui/react';
|
|
5
|
+
import { Button as Button$1, Avatar as Avatar$1, Identity as Identity$1, MetricStrip as MetricStrip$1, ListRow as ListRow$1, Entry as Entry$1, Conversation as Conversation$1, Thread as Thread$1, Composer as Composer$1, ProfileHeader as ProfileHeader$1, Async as Async$1, useAsyncContext, Field as Field$1, Switch as Switch$1, Checkbox as Checkbox$1, Dialog as Dialog$1, Prompt as Prompt$1, Tabs as Tabs$1, Separator as Separator$1, Progress as Progress$1, RadioGroup as RadioGroup$1, Slider as Slider$1, RangeSlider as RangeSlider$1, FileUpload as FileUpload$1, PinInput as PinInput$1, Accordion as Accordion$1, Bar as Bar$1, Panel as Panel$1, AppShell as AppShell$1, Content as Content$1, Nav as Nav$1, StickyBar as StickyBar$1, Scroll as Scroll$1, Select as Select$1, Combobox as Combobox$1, Menu as Menu$1, Popover as Popover$1, Tooltip as Tooltip$1, Toast as Toast$1, ThemeSwitcher as ThemeSwitcher$1 } from '@aeon-ui/react';
|
|
6
|
+
export { AppNav, AppNavChild, AppNavContext, StatusBanner, useAppNav, useAppNavMachine, useToast } from '@aeon-ui/react';
|
|
7
7
|
export { cx as cn } from '@aeon-ui/panda/styled-system/css';
|
|
8
8
|
|
|
9
9
|
type ButtonProps = ComponentProps<typeof Button$1.Root> & {
|
|
@@ -35,36 +35,36 @@ type Size = 'sm' | 'md' | 'lg';
|
|
|
35
35
|
type RootProps$i = ComponentProps<typeof Identity$1.Root> & {
|
|
36
36
|
size?: Size;
|
|
37
37
|
};
|
|
38
|
-
type PartProps$
|
|
38
|
+
type PartProps$9 = ComponentProps<typeof Identity$1.Title>;
|
|
39
39
|
declare const Identity: {
|
|
40
40
|
Root: ({ className, size, ...props }: RootProps$i) => react_jsx_runtime.JSX.Element;
|
|
41
|
-
Avatar: ({ className, ...props }: PartProps$
|
|
42
|
-
Title: ({ className, ...props }: PartProps$
|
|
43
|
-
Subtitle: ({ className, ...props }: PartProps$
|
|
44
|
-
Meta: ({ className, ...props }: PartProps$
|
|
45
|
-
Trailing: ({ className, ...props }: PartProps$
|
|
41
|
+
Avatar: ({ className, ...props }: PartProps$9) => react_jsx_runtime.JSX.Element;
|
|
42
|
+
Title: ({ className, ...props }: PartProps$9) => react_jsx_runtime.JSX.Element;
|
|
43
|
+
Subtitle: ({ className, ...props }: PartProps$9) => react_jsx_runtime.JSX.Element;
|
|
44
|
+
Meta: ({ className, ...props }: PartProps$9) => react_jsx_runtime.JSX.Element;
|
|
45
|
+
Trailing: ({ className, ...props }: PartProps$9) => react_jsx_runtime.JSX.Element;
|
|
46
46
|
};
|
|
47
47
|
|
|
48
48
|
type Density$1 = 'cluster' | 'loose';
|
|
49
49
|
type RootProps$h = ComponentProps<typeof MetricStrip$1.Root> & {
|
|
50
50
|
density?: Density$1;
|
|
51
51
|
};
|
|
52
|
-
type PartProps$
|
|
52
|
+
type PartProps$8 = ComponentProps<typeof MetricStrip$1.Chip>;
|
|
53
53
|
declare const MetricStrip: {
|
|
54
54
|
Root: ({ className, density, ...props }: RootProps$h) => react_jsx_runtime.JSX.Element;
|
|
55
|
-
Chip: ({ className, ...props }: PartProps$
|
|
56
|
-
Value: ({ className, ...props }: PartProps$
|
|
57
|
-
Label: ({ className, ...props }: PartProps$
|
|
55
|
+
Chip: ({ className, ...props }: PartProps$8) => react_jsx_runtime.JSX.Element;
|
|
56
|
+
Value: ({ className, ...props }: PartProps$8) => react_jsx_runtime.JSX.Element;
|
|
57
|
+
Label: ({ className, ...props }: PartProps$8) => react_jsx_runtime.JSX.Element;
|
|
58
58
|
};
|
|
59
59
|
|
|
60
60
|
type RootProps$g = ComponentProps<typeof ListRow$1.Root>;
|
|
61
|
-
type PartProps$
|
|
61
|
+
type PartProps$7 = ComponentProps<typeof ListRow$1.Label>;
|
|
62
62
|
declare const ListRow: {
|
|
63
63
|
Root: ({ className, ...props }: RootProps$g) => react_jsx_runtime.JSX.Element;
|
|
64
|
-
Leading: ({ className, ...props }: PartProps$
|
|
65
|
-
Label: ({ className, ...props }: PartProps$
|
|
66
|
-
Description: ({ className, ...props }: PartProps$
|
|
67
|
-
Trailing: ({ className, ...props }: PartProps$
|
|
64
|
+
Leading: ({ className, ...props }: PartProps$7) => react_jsx_runtime.JSX.Element;
|
|
65
|
+
Label: ({ className, ...props }: PartProps$7) => react_jsx_runtime.JSX.Element;
|
|
66
|
+
Description: ({ className, ...props }: PartProps$7) => react_jsx_runtime.JSX.Element;
|
|
67
|
+
Trailing: ({ className, ...props }: PartProps$7) => react_jsx_runtime.JSX.Element;
|
|
68
68
|
};
|
|
69
69
|
|
|
70
70
|
type Density = 'compact' | 'cozy';
|
|
@@ -77,58 +77,71 @@ type RootProps$f = ComponentProps<typeof Entry$1.Root> & {
|
|
|
77
77
|
density?: Density;
|
|
78
78
|
layout?: Layout;
|
|
79
79
|
};
|
|
80
|
-
type PartProps$
|
|
80
|
+
type PartProps$6 = ComponentProps<typeof Entry$1.Title>;
|
|
81
81
|
declare const Entry: {
|
|
82
82
|
List: ({ className, density, layout, ...props }: ListProps) => react_jsx_runtime.JSX.Element;
|
|
83
83
|
Root: ({ className, density, layout, ...props }: RootProps$f) => react_jsx_runtime.JSX.Element;
|
|
84
|
-
Header: ({ className, ...props }: PartProps$
|
|
85
|
-
Leading: ({ className, ...props }: PartProps$
|
|
86
|
-
Heading: ({ className, ...props }: PartProps$
|
|
87
|
-
Title: ({ className, ...props }: PartProps$
|
|
88
|
-
Subtitle: ({ className, ...props }: PartProps$
|
|
89
|
-
Meta: ({ className, ...props }: PartProps$
|
|
90
|
-
Media: ({ className, ...props }: PartProps$
|
|
91
|
-
Body: ({ className, ...props }: PartProps$
|
|
92
|
-
Values: ({ className, ...props }: PartProps$
|
|
93
|
-
Value: ({ className, ...props }: PartProps$
|
|
94
|
-
Actions: ({ className, ...props }: PartProps$
|
|
95
|
-
Footer: ({ className, ...props }: PartProps$
|
|
84
|
+
Header: ({ className, ...props }: PartProps$6) => react_jsx_runtime.JSX.Element;
|
|
85
|
+
Leading: ({ className, ...props }: PartProps$6) => react_jsx_runtime.JSX.Element;
|
|
86
|
+
Heading: ({ className, ...props }: PartProps$6) => react_jsx_runtime.JSX.Element;
|
|
87
|
+
Title: ({ className, ...props }: PartProps$6) => react_jsx_runtime.JSX.Element;
|
|
88
|
+
Subtitle: ({ className, ...props }: PartProps$6) => react_jsx_runtime.JSX.Element;
|
|
89
|
+
Meta: ({ className, ...props }: PartProps$6) => react_jsx_runtime.JSX.Element;
|
|
90
|
+
Media: ({ className, ...props }: PartProps$6) => react_jsx_runtime.JSX.Element;
|
|
91
|
+
Body: ({ className, ...props }: PartProps$6) => react_jsx_runtime.JSX.Element;
|
|
92
|
+
Values: ({ className, ...props }: PartProps$6) => react_jsx_runtime.JSX.Element;
|
|
93
|
+
Value: ({ className, ...props }: PartProps$6) => react_jsx_runtime.JSX.Element;
|
|
94
|
+
Actions: ({ className, ...props }: PartProps$6) => react_jsx_runtime.JSX.Element;
|
|
95
|
+
Footer: ({ className, ...props }: PartProps$6) => react_jsx_runtime.JSX.Element;
|
|
96
96
|
};
|
|
97
97
|
|
|
98
98
|
type RootProps$e = ComponentProps<typeof Conversation$1.Root>;
|
|
99
99
|
type ItemProps$2 = ComponentProps<typeof Conversation$1.Item>;
|
|
100
|
-
type PartProps$
|
|
100
|
+
type PartProps$5 = ComponentProps<typeof Conversation$1.Title>;
|
|
101
101
|
declare const Conversation: {
|
|
102
102
|
Root: ({ className, ...props }: RootProps$e) => react_jsx_runtime.JSX.Element;
|
|
103
103
|
Item: ({ className, ...props }: ItemProps$2) => react_jsx_runtime.JSX.Element;
|
|
104
|
-
Leading: ({ className, ...props }: PartProps$
|
|
105
|
-
Body: ({ className, ...props }: PartProps$
|
|
106
|
-
Title: ({ className, ...props }: PartProps$
|
|
107
|
-
Preview: ({ className, ...props }: PartProps$
|
|
108
|
-
Meta: ({ className, ...props }: PartProps$
|
|
109
|
-
Badge: ({ className, ...props }: PartProps$
|
|
104
|
+
Leading: ({ className, ...props }: PartProps$5) => react_jsx_runtime.JSX.Element;
|
|
105
|
+
Body: ({ className, ...props }: PartProps$5) => react_jsx_runtime.JSX.Element;
|
|
106
|
+
Title: ({ className, ...props }: PartProps$5) => react_jsx_runtime.JSX.Element;
|
|
107
|
+
Preview: ({ className, ...props }: PartProps$5) => react_jsx_runtime.JSX.Element;
|
|
108
|
+
Meta: ({ className, ...props }: PartProps$5) => react_jsx_runtime.JSX.Element;
|
|
109
|
+
Badge: ({ className, ...props }: PartProps$5) => react_jsx_runtime.JSX.Element;
|
|
110
110
|
};
|
|
111
111
|
|
|
112
112
|
type RootProps$d = ComponentProps<typeof Thread$1.Root>;
|
|
113
113
|
type ItemProps$1 = ComponentProps<typeof Thread$1.Item>;
|
|
114
|
-
type PartProps$
|
|
114
|
+
type PartProps$4 = ComponentProps<typeof Thread$1.Bubble>;
|
|
115
|
+
type BindProps = ComponentProps<typeof Thread$1.Bind>;
|
|
115
116
|
declare const Thread: {
|
|
116
117
|
Root: ({ className, ...props }: RootProps$d) => react_jsx_runtime.JSX.Element;
|
|
117
|
-
List: ({ className, ...props }: PartProps$
|
|
118
|
+
List: ({ className, ...props }: PartProps$4) => react_jsx_runtime.JSX.Element;
|
|
118
119
|
Item: ({ className, ...props }: ItemProps$1) => react_jsx_runtime.JSX.Element;
|
|
119
|
-
Bubble: ({ className, ...props }: PartProps$
|
|
120
|
-
Meta: ({ className, ...props }: PartProps$
|
|
121
|
-
Day: ({ className, ...props }: PartProps$
|
|
120
|
+
Bubble: ({ className, ...props }: PartProps$4) => react_jsx_runtime.JSX.Element;
|
|
121
|
+
Meta: ({ className, ...props }: PartProps$4) => react_jsx_runtime.JSX.Element;
|
|
122
|
+
Day: ({ className, ...props }: PartProps$4) => react_jsx_runtime.JSX.Element;
|
|
123
|
+
Bind: ({ className, ...props }: BindProps) => react_jsx_runtime.JSX.Element;
|
|
124
|
+
Card: ({ className, ...props }: PartProps$4) => react_jsx_runtime.JSX.Element;
|
|
125
|
+
CardTitle: ({ className, ...props }: PartProps$4) => react_jsx_runtime.JSX.Element;
|
|
126
|
+
CardBody: ({ className, ...props }: PartProps$4) => react_jsx_runtime.JSX.Element;
|
|
127
|
+
CardActions: ({ className, ...props }: PartProps$4) => react_jsx_runtime.JSX.Element;
|
|
122
128
|
};
|
|
123
129
|
|
|
124
130
|
type RootProps$c = ComponentProps<typeof Composer$1.Root>;
|
|
125
131
|
type InputProps = ComponentProps<typeof Composer$1.Input>;
|
|
126
|
-
type
|
|
132
|
+
type ActionsProps$1 = ComponentProps<typeof Composer$1.Actions>;
|
|
133
|
+
type SendProps = ComponentProps<typeof Composer$1.Send>;
|
|
134
|
+
type ToolbarProps = ComponentProps<typeof Composer$1.Toolbar>;
|
|
135
|
+
type SuggestionsProps = ComponentProps<typeof Composer$1.Suggestions>;
|
|
136
|
+
type SuggestionProps = ComponentProps<typeof Composer$1.Suggestion>;
|
|
127
137
|
declare const Composer: {
|
|
128
138
|
Root: ({ className, ...props }: RootProps$c) => react_jsx_runtime.JSX.Element;
|
|
129
139
|
Input: ({ className, ...props }: InputProps) => react_jsx_runtime.JSX.Element;
|
|
130
|
-
Actions: ({ className, ...props }:
|
|
131
|
-
Send: ({ className, ...props }:
|
|
140
|
+
Actions: ({ className, ...props }: ActionsProps$1) => react_jsx_runtime.JSX.Element;
|
|
141
|
+
Send: ({ className, ...props }: SendProps) => react_jsx_runtime.JSX.Element;
|
|
142
|
+
Toolbar: ({ className, ...props }: ToolbarProps) => react_jsx_runtime.JSX.Element;
|
|
143
|
+
Suggestions: ({ className, ...props }: SuggestionsProps) => react_jsx_runtime.JSX.Element;
|
|
144
|
+
Suggestion: ({ className, ...props }: SuggestionProps) => react_jsx_runtime.JSX.Element;
|
|
132
145
|
};
|
|
133
146
|
|
|
134
147
|
type Align$1 = 'start' | 'center';
|
|
@@ -199,6 +212,28 @@ declare const Dialog: {
|
|
|
199
212
|
CloseTrigger: ({ className, ...props }: ComponentProps<typeof Dialog$1.CloseTrigger>) => react_jsx_runtime.JSX.Element;
|
|
200
213
|
};
|
|
201
214
|
|
|
215
|
+
/** Styled Prompt — Dialog recipes + prompt action parts. */
|
|
216
|
+
declare const Prompt: {
|
|
217
|
+
Root: react.ForwardRefExoticComponent<_aeon_ui_react.PromptRootProps & react.RefAttributes<HTMLDivElement>>;
|
|
218
|
+
Trigger: ({ className, ...props }: ComponentProps<react.ForwardRefExoticComponent<react.ButtonHTMLAttributes<HTMLButtonElement> & react.RefAttributes<HTMLButtonElement>>>) => react_jsx_runtime.JSX.Element;
|
|
219
|
+
Portal: react.ForwardRefExoticComponent<_aeon_ui_react.DialogPortalProps & react.RefAttributes<HTMLDivElement>>;
|
|
220
|
+
Backdrop: ({ className, ...props }: ComponentProps<react.ForwardRefExoticComponent<react.HTMLAttributes<HTMLDivElement> & react.RefAttributes<HTMLDivElement>>>) => react_jsx_runtime.JSX.Element;
|
|
221
|
+
Positioner: ({ className, ...props }: ComponentProps<react.ForwardRefExoticComponent<react.HTMLAttributes<HTMLDivElement> & react.RefAttributes<HTMLDivElement>>>) => react_jsx_runtime.JSX.Element;
|
|
222
|
+
Content: ({ className, ...props }: ComponentProps<react.ForwardRefExoticComponent<react.HTMLAttributes<HTMLDivElement> & react.RefAttributes<HTMLDivElement>>>) => react_jsx_runtime.JSX.Element;
|
|
223
|
+
Title: ({ className, ...props }: ComponentProps<react.ForwardRefExoticComponent<react.HTMLAttributes<HTMLHeadingElement> & react.RefAttributes<HTMLHeadingElement>>>) => react_jsx_runtime.JSX.Element;
|
|
224
|
+
Description: ({ className, ...props }: ComponentProps<react.ForwardRefExoticComponent<react.HTMLAttributes<HTMLParagraphElement> & react.RefAttributes<HTMLParagraphElement>>>) => react_jsx_runtime.JSX.Element;
|
|
225
|
+
CloseTrigger: ({ className, ...props }: ComponentProps<react.ForwardRefExoticComponent<react.ButtonHTMLAttributes<HTMLButtonElement> & react.RefAttributes<HTMLButtonElement>>>) => react_jsx_runtime.JSX.Element;
|
|
226
|
+
Eyebrow: ({ className, ...props }: ComponentProps<typeof Prompt$1.Eyebrow>) => react_jsx_runtime.JSX.Element;
|
|
227
|
+
Meta: react.ForwardRefExoticComponent<react.HTMLAttributes<HTMLDListElement> & react.RefAttributes<HTMLDListElement>>;
|
|
228
|
+
Amount: react.ForwardRefExoticComponent<react.HTMLAttributes<HTMLDivElement> & react.RefAttributes<HTMLDivElement>>;
|
|
229
|
+
Verb: react.ForwardRefExoticComponent<react.HTMLAttributes<HTMLParagraphElement> & react.RefAttributes<HTMLParagraphElement>>;
|
|
230
|
+
Recipient: react.ForwardRefExoticComponent<react.HTMLAttributes<HTMLParagraphElement> & react.RefAttributes<HTMLParagraphElement>>;
|
|
231
|
+
Effect: react.ForwardRefExoticComponent<react.HTMLAttributes<HTMLParagraphElement> & react.RefAttributes<HTMLParagraphElement>>;
|
|
232
|
+
Actions: react.ForwardRefExoticComponent<react.HTMLAttributes<HTMLDivElement> & react.RefAttributes<HTMLDivElement>>;
|
|
233
|
+
Primary: ({ className, ...props }: ComponentProps<typeof Prompt$1.Primary>) => react_jsx_runtime.JSX.Element;
|
|
234
|
+
Secondary: ({ className, ...props }: ComponentProps<typeof Prompt$1.Secondary>) => react_jsx_runtime.JSX.Element;
|
|
235
|
+
};
|
|
236
|
+
|
|
202
237
|
declare const Tabs: {
|
|
203
238
|
Root: ({ className, ...props }: ComponentProps<typeof Tabs$1.Root>) => react_jsx_runtime.JSX.Element;
|
|
204
239
|
List: ({ className, ...props }: ComponentProps<typeof Tabs$1.List>) => react_jsx_runtime.JSX.Element;
|
|
@@ -237,6 +272,25 @@ declare const Slider: {
|
|
|
237
272
|
ValueText: ({ className, ...props }: ComponentProps<typeof Slider$1.ValueText>) => react_jsx_runtime.JSX.Element;
|
|
238
273
|
};
|
|
239
274
|
|
|
275
|
+
declare const RangeSlider: {
|
|
276
|
+
Root: ({ className, ...props }: ComponentProps<typeof RangeSlider$1.Root>) => react_jsx_runtime.JSX.Element;
|
|
277
|
+
Track: ({ className, ...props }: ComponentProps<typeof RangeSlider$1.Track>) => react_jsx_runtime.JSX.Element;
|
|
278
|
+
Range: ({ className, ...props }: ComponentProps<typeof RangeSlider$1.Range>) => react_jsx_runtime.JSX.Element;
|
|
279
|
+
Thumb: ({ className, ...props }: ComponentProps<typeof RangeSlider$1.Thumb>) => react_jsx_runtime.JSX.Element;
|
|
280
|
+
ValueText: ({ className, ...props }: ComponentProps<typeof RangeSlider$1.ValueText>) => react_jsx_runtime.JSX.Element;
|
|
281
|
+
};
|
|
282
|
+
|
|
283
|
+
declare const FileUpload: {
|
|
284
|
+
Root: ({ className, ...props }: ComponentProps<typeof FileUpload$1.Root>) => react_jsx_runtime.JSX.Element;
|
|
285
|
+
Label: ({ className, ...props }: ComponentProps<typeof FileUpload$1.Label>) => react_jsx_runtime.JSX.Element;
|
|
286
|
+
Dropzone: ({ className, ...props }: ComponentProps<typeof FileUpload$1.Dropzone>) => react_jsx_runtime.JSX.Element;
|
|
287
|
+
Input: ({ className, ...props }: ComponentProps<typeof FileUpload$1.Input>) => react_jsx_runtime.JSX.Element;
|
|
288
|
+
Hint: ({ className, ...props }: ComponentProps<typeof FileUpload$1.Hint>) => react_jsx_runtime.JSX.Element;
|
|
289
|
+
Preview: ({ className, ...props }: ComponentProps<typeof FileUpload$1.Preview>) => react_jsx_runtime.JSX.Element;
|
|
290
|
+
ClearTrigger: ({ className, ...props }: ComponentProps<typeof FileUpload$1.ClearTrigger>) => react_jsx_runtime.JSX.Element;
|
|
291
|
+
RejectionMessage: ({ className, ...props }: ComponentProps<typeof FileUpload$1.RejectionMessage>) => react_jsx_runtime.JSX.Element;
|
|
292
|
+
};
|
|
293
|
+
|
|
240
294
|
declare const PinInput: {
|
|
241
295
|
Root: ({ className, ...props }: ComponentProps<typeof PinInput$1.Root>) => react_jsx_runtime.JSX.Element;
|
|
242
296
|
Input: ({ className, ...props }: ComponentProps<typeof PinInput$1.Input>) => react_jsx_runtime.JSX.Element;
|
|
@@ -442,4 +496,4 @@ declare const ThemeSwitcher: {
|
|
|
442
496
|
ThemeTrigger: ({ className, ...props }: ThemeTriggerProps) => react_jsx_runtime.JSX.Element;
|
|
443
497
|
};
|
|
444
498
|
|
|
445
|
-
export { Accordion, AppShell, Async, Avatar, Badge, Bar, Button, Checkbox, Combobox, Composer, Content, Conversation, Dialog, Entry, Field, Identity, ListRow, Menu, MetricStrip, Nav, Panel, PinInput, Popover, ProfileHeader, Progress, RadioGroup, Scroll, Select, Separator, Slider, StickyBar, Switch, Tabs, ThemeSwitcher, Thread, Toast, Tooltip };
|
|
499
|
+
export { Accordion, AppShell, Async, Avatar, Badge, Bar, Button, Checkbox, Combobox, Composer, Content, Conversation, Dialog, Entry, Field, FileUpload, Identity, ListRow, Menu, MetricStrip, Nav, Panel, PinInput, Popover, ProfileHeader, Progress, Prompt, RadioGroup, RangeSlider, Scroll, Select, Separator, Slider, StickyBar, Switch, Tabs, ThemeSwitcher, Thread, Toast, Tooltip };
|