aeon-ui-engine 1.3.5 → 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.
Files changed (84) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/package.json +1 -1
  3. package/packages/cli/README.md +13 -1
  4. package/packages/cli/dist/bin.js +23 -5
  5. package/packages/cli/dist/chunk-5L47SLNV.js +247 -0
  6. package/packages/cli/dist/index.d.ts +17 -1
  7. package/packages/cli/dist/index.js +5 -3
  8. package/packages/cli/src/bin.ts +21 -3
  9. package/packages/cli/src/index.ts +1 -0
  10. package/packages/cli/src/migrate.ts +170 -0
  11. package/packages/core/dist/index.d.ts +35 -7
  12. package/packages/core/dist/index.js +102 -2
  13. package/packages/core/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -1
  14. package/packages/core/src/anatomy.ts +39 -3
  15. package/packages/core/src/identicon.test.ts +39 -0
  16. package/packages/core/src/identicon.ts +79 -0
  17. package/packages/core/src/index.ts +1 -0
  18. package/packages/panda/panda.config.ts +4 -0
  19. package/packages/panda/src/recipes/composer.ts +58 -4
  20. package/packages/panda/src/recipes/file-upload.ts +100 -0
  21. package/packages/panda/src/recipes/index.ts +2 -0
  22. package/packages/panda/src/recipes/range-slider.ts +59 -0
  23. package/packages/panda/src/recipes/thread.ts +77 -2
  24. package/packages/panda/styled-system/recipes/aeon-composer.d.ts +1 -1
  25. package/packages/panda/styled-system/recipes/aeon-composer.mjs +12 -0
  26. package/packages/panda/styled-system/recipes/aeon-file-upload.d.ts +31 -0
  27. package/packages/panda/styled-system/recipes/aeon-file-upload.mjs +61 -0
  28. package/packages/panda/styled-system/recipes/aeon-range-slider.d.ts +31 -0
  29. package/packages/panda/styled-system/recipes/aeon-range-slider.mjs +49 -0
  30. package/packages/panda/styled-system/recipes/aeon-thread.d.ts +1 -1
  31. package/packages/panda/styled-system/recipes/aeon-thread.mjs +20 -0
  32. package/packages/panda/styled-system/recipes/index.d.ts +2 -0
  33. package/packages/panda/styled-system/recipes/index.mjs +2 -0
  34. package/packages/panda/styled-system/styles.css +292 -0
  35. package/packages/primitives/dist/chunk-CV4UXXZF.js +44 -0
  36. package/packages/primitives/dist/chunk-IZKQSCYU.js +164 -0
  37. package/packages/primitives/dist/index.d.ts +2 -0
  38. package/packages/primitives/dist/index.js +22 -6
  39. package/packages/primitives/dist/machines/file-upload.d.ts +39 -0
  40. package/packages/primitives/dist/machines/file-upload.js +8 -0
  41. package/packages/primitives/dist/machines/range-slider.d.ts +129 -0
  42. package/packages/primitives/dist/machines/range-slider.js +12 -0
  43. package/packages/primitives/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -1
  44. package/packages/primitives/src/__tests__/file-upload.test.ts +25 -0
  45. package/packages/primitives/src/__tests__/range-slider.test.ts +39 -0
  46. package/packages/primitives/src/index.ts +2 -0
  47. package/packages/primitives/src/machines/file-upload.ts +55 -0
  48. package/packages/primitives/src/machines/range-slider.ts +209 -0
  49. package/packages/react/dist/index.d.ts +117 -25
  50. package/packages/react/dist/index.js +1731 -1006
  51. package/packages/react/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -1
  52. package/packages/react/src/button/index.tsx +50 -15
  53. package/packages/react/src/composer/index.tsx +58 -3
  54. package/packages/react/src/file-upload/index.tsx +322 -0
  55. package/packages/react/src/index.ts +3 -0
  56. package/packages/react/src/prompt/index.tsx +45 -0
  57. package/packages/react/src/range-slider/index.tsx +322 -0
  58. package/packages/react/src/thread/index.tsx +74 -3
  59. package/packages/react/src/utils/slot.tsx +47 -0
  60. package/packages/schemas/dist/index.d.ts +4 -0
  61. package/packages/schemas/dist/index.js +67 -1
  62. package/packages/schemas/json/button.json +6 -0
  63. package/packages/schemas/json/catalog.json +333 -0
  64. package/packages/schemas/json/fileUpload.json +168 -0
  65. package/packages/schemas/json/rangeSlider.json +157 -0
  66. package/packages/schemas/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -1
  67. package/packages/schemas/registry/catalog.json +18 -0
  68. package/packages/schemas/registry/components/button.json +6 -0
  69. package/packages/schemas/registry/components/fileUpload.json +168 -0
  70. package/packages/schemas/registry/components/rangeSlider.json +157 -0
  71. package/packages/schemas/registry/machines/fileUpload.json +182 -0
  72. package/packages/schemas/registry/machines/rangeSlider.json +201 -0
  73. package/packages/schemas/scripts/emit.ts +4 -0
  74. package/packages/schemas/src/components.ts +70 -0
  75. package/packages/schemas/tsconfig.json +1 -1
  76. package/packages/ui/dist/index.d.ts +100 -46
  77. package/packages/ui/dist/index.js +463 -341
  78. package/packages/ui/src/composer.tsx +37 -11
  79. package/packages/ui/src/file-upload.tsx +36 -0
  80. package/packages/ui/src/index.ts +2 -0
  81. package/packages/ui/src/prompt.tsx +3 -0
  82. package/packages/ui/src/range-slider.tsx +24 -0
  83. package/packages/ui/src/thread.tsx +40 -0
  84. package/packages/cli/dist/chunk-IW5NT2Z2.js +0 -103
@@ -1,11 +1,11 @@
1
1
  import * as react from 'react';
2
2
  import { ButtonHTMLAttributes, ReactNode, HTMLAttributes, InputHTMLAttributes, LabelHTMLAttributes, TextareaHTMLAttributes, RefObject, ImgHTMLAttributes, FormHTMLAttributes } from 'react';
3
- import * as react_jsx_runtime from 'react/jsx-runtime';
4
3
  import * as xstate from 'xstate';
5
4
  import { AnyStateMachine } from 'xstate';
5
+ import { useMachine } from '@xstate/react';
6
+ import * as react_jsx_runtime from 'react/jsx-runtime';
6
7
  import { AsyncContext, ContentRegionState, AppNavChild, StickyBarState } from '@aeon-ui/primitives';
7
8
  export { AppNavChild, AppNavContext, createAsyncMachine, fieldMachine } from '@aeon-ui/primitives';
8
- import { useMachine } from '@xstate/react';
9
9
  import { fieldFace, AeonColorMode, ResponsiveLayoutSpec, LayoutMode, LayoutCompositionSpec } from '@aeon-ui/core';
10
10
  export { AeonColorMode as AeonMode } from '@aeon-ui/core';
11
11
 
@@ -16,6 +16,11 @@ interface ButtonRootProps extends ButtonHTMLAttributes<HTMLButtonElement> {
16
16
  size?: 'xs' | 'sm' | 'md' | 'lg';
17
17
  /** Machine-aligned lifecycle; `disabled` prop overrides to `disabled`. */
18
18
  status?: ButtonStatus;
19
+ /**
20
+ * Merge button attrs onto a single child (e.g. Next.js `<Link>` / `<a>`).
21
+ * Child must be one React element.
22
+ */
23
+ asChild?: boolean;
19
24
  children?: ReactNode;
20
25
  }
21
26
  declare const Button: {
@@ -104,6 +109,9 @@ declare const Prompt: {
104
109
  Eyebrow: react.ForwardRefExoticComponent<HTMLAttributes<HTMLParagraphElement> & react.RefAttributes<HTMLParagraphElement>>;
105
110
  Meta: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDListElement> & react.RefAttributes<HTMLDListElement>>;
106
111
  Amount: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & react.RefAttributes<HTMLDivElement>>;
112
+ Verb: react.ForwardRefExoticComponent<HTMLAttributes<HTMLParagraphElement> & react.RefAttributes<HTMLParagraphElement>>;
113
+ Recipient: react.ForwardRefExoticComponent<HTMLAttributes<HTMLParagraphElement> & react.RefAttributes<HTMLParagraphElement>>;
114
+ Effect: react.ForwardRefExoticComponent<HTMLAttributes<HTMLParagraphElement> & react.RefAttributes<HTMLParagraphElement>>;
107
115
  Actions: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & react.RefAttributes<HTMLDivElement>>;
108
116
  Primary: react.ForwardRefExoticComponent<ButtonHTMLAttributes<HTMLButtonElement> & react.RefAttributes<HTMLButtonElement>>;
109
117
  Secondary: react.ForwardRefExoticComponent<ButtonHTMLAttributes<HTMLButtonElement> & react.RefAttributes<HTMLButtonElement>>;
@@ -205,6 +213,67 @@ declare const Slider: {
205
213
  ValueText: react.ForwardRefExoticComponent<HTMLAttributes<HTMLSpanElement> & react.RefAttributes<HTMLSpanElement>>;
206
214
  };
207
215
 
216
+ type ThumbIndex = 0 | 1;
217
+ interface RangeSliderRootProps {
218
+ value?: [number, number];
219
+ defaultValue?: [number, number];
220
+ min?: number;
221
+ max?: number;
222
+ step?: number;
223
+ minStepsBetween?: number;
224
+ disabled?: boolean;
225
+ onValueChange?: (value: [number, number]) => void;
226
+ children?: ReactNode;
227
+ className?: string;
228
+ }
229
+ interface RangeSliderThumbProps extends HTMLAttributes<HTMLSpanElement> {
230
+ index: ThumbIndex;
231
+ }
232
+ declare const RangeSlider: {
233
+ Root: react.ForwardRefExoticComponent<RangeSliderRootProps & react.RefAttributes<HTMLDivElement>>;
234
+ Track: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & react.RefAttributes<HTMLDivElement>>;
235
+ Range: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & react.RefAttributes<HTMLDivElement>>;
236
+ Thumb: react.ForwardRefExoticComponent<RangeSliderThumbProps & react.RefAttributes<HTMLSpanElement>>;
237
+ ValueText: react.ForwardRefExoticComponent<HTMLAttributes<HTMLSpanElement> & react.RefAttributes<HTMLSpanElement>>;
238
+ };
239
+
240
+ /** Bridge executable statecharts to React — UI = f(snapshot). */
241
+ declare function useAeonMachine<M extends AnyStateMachine>(machine: M, options?: Parameters<typeof useMachine<M>>[1]): [xstate.StateFrom<M>, (event: xstate.EventFromLogic<M>) => void, xstate.Actor<M>];
242
+
243
+ interface FileUploadContextValue {
244
+ phase: 'idle' | 'dragging' | 'rejected';
245
+ accept: string;
246
+ disabled: boolean;
247
+ file: File | null;
248
+ inputId: string;
249
+ inputRef: React.RefObject<HTMLInputElement | null>;
250
+ send: ReturnType<typeof useAeonMachine<typeof fileUploadMachine>>[1];
251
+ selectFile: (file: File | null) => void;
252
+ clear: () => void;
253
+ openPicker: () => void;
254
+ }
255
+ declare function useFileUploadCtx(): FileUploadContextValue;
256
+ interface FileUploadRootProps {
257
+ accept?: string;
258
+ disabled?: boolean;
259
+ /** Controlled selected file (bytes stay outside the machine). */
260
+ file?: File | null;
261
+ defaultFile?: File | null;
262
+ onFileSelect?: (file: File | null) => void;
263
+ children?: ReactNode;
264
+ className?: string;
265
+ }
266
+ declare const FileUpload: {
267
+ Root: react.ForwardRefExoticComponent<FileUploadRootProps & react.RefAttributes<HTMLDivElement>>;
268
+ Label: react.ForwardRefExoticComponent<HTMLAttributes<HTMLLabelElement> & react.RefAttributes<HTMLLabelElement>>;
269
+ Dropzone: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & react.RefAttributes<HTMLDivElement>>;
270
+ Input: react.ForwardRefExoticComponent<InputHTMLAttributes<HTMLInputElement> & react.RefAttributes<HTMLInputElement>>;
271
+ Hint: react.ForwardRefExoticComponent<HTMLAttributes<HTMLParagraphElement> & react.RefAttributes<HTMLParagraphElement>>;
272
+ Preview: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & react.RefAttributes<HTMLDivElement>>;
273
+ ClearTrigger: react.ForwardRefExoticComponent<HTMLAttributes<HTMLButtonElement> & react.RefAttributes<HTMLButtonElement>>;
274
+ RejectionMessage: react.ForwardRefExoticComponent<HTMLAttributes<HTMLParagraphElement> & react.RefAttributes<HTMLParagraphElement>>;
275
+ };
276
+
208
277
  interface PinInputRootProps {
209
278
  length?: number;
210
279
  value?: string;
@@ -275,9 +344,6 @@ interface AsyncRootProps extends HTMLAttributes<HTMLDivElement> {
275
344
  }
276
345
  declare const AsyncRoot: react.ForwardRefExoticComponent<AsyncRootProps & react.RefAttributes<HTMLDivElement>>;
277
346
 
278
- /** Bridge executable statecharts to React — UI = f(snapshot). */
279
- declare function useAeonMachine<M extends AnyStateMachine>(machine: M, options?: Parameters<typeof useMachine<M>>[1]): [xstate.StateFrom<M>, (event: xstate.EventFromLogic<M>) => void, xstate.Actor<M>];
280
-
281
347
  declare const defaultMachine: xstate.StateMachine<AsyncContext<unknown>, {
282
348
  type: "FETCH";
283
349
  } | {
@@ -703,40 +769,40 @@ declare const Entry: {
703
769
  List: react.ForwardRefExoticComponent<EntryListProps & react.RefAttributes<HTMLDivElement>>;
704
770
  Root: react.ForwardRefExoticComponent<EntryRootProps & react.RefAttributes<HTMLElement>>;
705
771
  Header: react.ForwardRefExoticComponent<HTMLAttributes<HTMLElement> & {
706
- as?: "span" | "div" | "footer" | "header" | "p";
772
+ as?: "div" | "footer" | "header" | "p" | "span";
707
773
  } & react.RefAttributes<HTMLElement>>;
708
774
  Leading: react.ForwardRefExoticComponent<HTMLAttributes<HTMLElement> & {
709
- as?: "span" | "div" | "footer" | "header" | "p";
775
+ as?: "div" | "footer" | "header" | "p" | "span";
710
776
  } & react.RefAttributes<HTMLElement>>;
711
777
  Heading: react.ForwardRefExoticComponent<HTMLAttributes<HTMLElement> & {
712
- as?: "span" | "div" | "footer" | "header" | "p";
778
+ as?: "div" | "footer" | "header" | "p" | "span";
713
779
  } & react.RefAttributes<HTMLElement>>;
714
780
  Title: react.ForwardRefExoticComponent<HTMLAttributes<HTMLElement> & {
715
- as?: "span" | "div" | "footer" | "header" | "p";
781
+ as?: "div" | "footer" | "header" | "p" | "span";
716
782
  } & react.RefAttributes<HTMLElement>>;
717
783
  Subtitle: react.ForwardRefExoticComponent<HTMLAttributes<HTMLElement> & {
718
- as?: "span" | "div" | "footer" | "header" | "p";
784
+ as?: "div" | "footer" | "header" | "p" | "span";
719
785
  } & react.RefAttributes<HTMLElement>>;
720
786
  Meta: react.ForwardRefExoticComponent<HTMLAttributes<HTMLElement> & {
721
- as?: "span" | "div" | "footer" | "header" | "p";
787
+ as?: "div" | "footer" | "header" | "p" | "span";
722
788
  } & react.RefAttributes<HTMLElement>>;
723
789
  Media: react.ForwardRefExoticComponent<HTMLAttributes<HTMLElement> & {
724
- as?: "span" | "div" | "footer" | "header" | "p";
790
+ as?: "div" | "footer" | "header" | "p" | "span";
725
791
  } & react.RefAttributes<HTMLElement>>;
726
792
  Body: react.ForwardRefExoticComponent<HTMLAttributes<HTMLElement> & {
727
- as?: "span" | "div" | "footer" | "header" | "p";
793
+ as?: "div" | "footer" | "header" | "p" | "span";
728
794
  } & react.RefAttributes<HTMLElement>>;
729
795
  Values: react.ForwardRefExoticComponent<HTMLAttributes<HTMLElement> & {
730
- as?: "span" | "div" | "footer" | "header" | "p";
796
+ as?: "div" | "footer" | "header" | "p" | "span";
731
797
  } & react.RefAttributes<HTMLElement>>;
732
798
  Value: react.ForwardRefExoticComponent<HTMLAttributes<HTMLElement> & {
733
- as?: "span" | "div" | "footer" | "header" | "p";
799
+ as?: "div" | "footer" | "header" | "p" | "span";
734
800
  } & react.RefAttributes<HTMLElement>>;
735
801
  Actions: react.ForwardRefExoticComponent<HTMLAttributes<HTMLElement> & {
736
- as?: "span" | "div" | "footer" | "header" | "p";
802
+ as?: "div" | "footer" | "header" | "p" | "span";
737
803
  } & react.RefAttributes<HTMLElement>>;
738
804
  Footer: react.ForwardRefExoticComponent<HTMLAttributes<HTMLElement> & {
739
- as?: "span" | "div" | "footer" | "header" | "p";
805
+ as?: "div" | "footer" | "header" | "p" | "span";
740
806
  } & react.RefAttributes<HTMLElement>>;
741
807
  };
742
808
 
@@ -759,12 +825,15 @@ declare const Conversation: {
759
825
  Badge: react.ForwardRefExoticComponent<HTMLAttributes<HTMLSpanElement> & react.RefAttributes<HTMLSpanElement>>;
760
826
  };
761
827
 
828
+ /** Base alignment / delivery states. */
762
829
  type ThreadMessageState = 'mine' | 'theirs' | 'pending' | 'failed';
830
+ /** Structured in-thread faces (space-combinable with mine/theirs). */
831
+ type ThreadItemFace = 'command-result' | 'payment-card' | 'request-card';
763
832
  interface ThreadRootProps extends HTMLAttributes<HTMLElement> {
764
833
  children?: ReactNode;
765
834
  }
766
835
  interface ThreadItemProps extends HTMLAttributes<HTMLDivElement> {
767
- state?: ThreadMessageState | `${ThreadMessageState} ${string}`;
836
+ state?: ThreadMessageState | ThreadItemFace | `${ThreadMessageState} ${ThreadItemFace}` | string;
768
837
  }
769
838
  declare const Thread: {
770
839
  Root: react.ForwardRefExoticComponent<ThreadRootProps & react.RefAttributes<HTMLElement>>;
@@ -773,9 +842,21 @@ declare const Thread: {
773
842
  Bubble: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & react.RefAttributes<HTMLDivElement>>;
774
843
  Meta: react.ForwardRefExoticComponent<HTMLAttributes<HTMLSpanElement> & react.RefAttributes<HTMLSpanElement>>;
775
844
  Day: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & react.RefAttributes<HTMLDivElement>>;
845
+ Bind: react.ForwardRefExoticComponent<ButtonHTMLAttributes<HTMLButtonElement> & react.RefAttributes<HTMLButtonElement>>;
846
+ Card: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & react.RefAttributes<HTMLDivElement>>;
847
+ CardTitle: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & react.RefAttributes<HTMLDivElement>>;
848
+ CardBody: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & react.RefAttributes<HTMLDivElement>>;
849
+ CardActions: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & react.RefAttributes<HTMLDivElement>>;
776
850
  };
777
851
 
778
- type ComposerState = 'idle' | 'sending' | 'disabled' | 'error';
852
+ /**
853
+ * Composer root states.
854
+ * - chat: plain message compose
855
+ * - command: local slash input (BRC-218) — never from received text
856
+ * - lookup: non-confirming verbs (/whois, /help)
857
+ * - idle | sending | disabled | error: transport chrome
858
+ */
859
+ type ComposerState = 'idle' | 'sending' | 'disabled' | 'error' | 'chat' | 'command' | 'lookup';
779
860
  interface ComposerRootProps extends FormHTMLAttributes<HTMLFormElement> {
780
861
  state?: ComposerState;
781
862
  children?: ReactNode;
@@ -785,6 +866,9 @@ declare const Composer: {
785
866
  Input: react.ForwardRefExoticComponent<TextareaHTMLAttributes<HTMLTextAreaElement> & react.RefAttributes<HTMLTextAreaElement>>;
786
867
  Actions: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & react.RefAttributes<HTMLDivElement>>;
787
868
  Send: react.ForwardRefExoticComponent<HTMLAttributes<HTMLSpanElement> & react.RefAttributes<HTMLSpanElement>>;
869
+ Toolbar: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & react.RefAttributes<HTMLDivElement>>;
870
+ Suggestions: react.ForwardRefExoticComponent<HTMLAttributes<HTMLUListElement> & react.RefAttributes<HTMLUListElement>>;
871
+ Suggestion: react.ForwardRefExoticComponent<ButtonHTMLAttributes<HTMLButtonElement> & react.RefAttributes<HTMLButtonElement>>;
788
872
  };
789
873
 
790
874
  interface ProfileHeaderRootProps extends HTMLAttributes<HTMLElement> {
@@ -888,19 +972,19 @@ interface AppShellRootProps extends HTMLAttributes<HTMLDivElement> {
888
972
  declare const AppShell: {
889
973
  Root: react.ForwardRefExoticComponent<AppShellRootProps & react.RefAttributes<HTMLDivElement>>;
890
974
  Header: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & {
891
- as?: "main" | "div" | "aside" | "footer" | "header";
975
+ as?: "aside" | "div" | "footer" | "header" | "main";
892
976
  } & react.RefAttributes<HTMLDivElement>>;
893
977
  Subheader: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & {
894
- as?: "main" | "div" | "aside" | "footer" | "header";
978
+ as?: "aside" | "div" | "footer" | "header" | "main";
895
979
  } & react.RefAttributes<HTMLDivElement>>;
896
980
  Content: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & {
897
- as?: "main" | "div" | "aside" | "footer" | "header";
981
+ as?: "aside" | "div" | "footer" | "header" | "main";
898
982
  } & react.RefAttributes<HTMLDivElement>>;
899
983
  Aside: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & {
900
- as?: "main" | "div" | "aside" | "footer" | "header";
984
+ as?: "aside" | "div" | "footer" | "header" | "main";
901
985
  } & react.RefAttributes<HTMLDivElement>>;
902
986
  Footer: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & {
903
- as?: "main" | "div" | "aside" | "footer" | "header";
987
+ as?: "aside" | "div" | "footer" | "header" | "main";
904
988
  } & react.RefAttributes<HTMLDivElement>>;
905
989
  Dock: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & react.RefAttributes<HTMLDivElement>>;
906
990
  Scrim: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & react.RefAttributes<HTMLDivElement>>;
@@ -1080,4 +1164,12 @@ type FitTextOptions = {
1080
1164
  */
1081
1165
  declare function useFitText(slotRef: RefObject<HTMLElement | null>, contentRef: RefObject<HTMLElement | null>, opts?: FitTextOptions): void;
1082
1166
 
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 };
1167
+ /**
1168
+ * Radix-style Slot — merges Aeon attrs onto a single child element
1169
+ * (e.g. Next.js Link) instead of rendering a wrapper.
1170
+ */
1171
+ declare const Slot: react.ForwardRefExoticComponent<HTMLAttributes<HTMLElement> & {
1172
+ children?: ReactNode;
1173
+ } & react.RefAttributes<HTMLElement>>;
1174
+
1175
+ 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, FileUpload, type FileUploadRootProps, 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, RangeSlider, type RangeSliderRootProps, type RangeSliderThumbProps, Scroll, type ScrollRootProps, type ScrollViewportProps, Select, type SelectContentProps, type SelectItemProps, type SelectPositionerProps, type SelectRootProps, Separator, type SeparatorRootProps, Slider, type SliderRootProps, Slot, 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 ThreadItemFace, 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, useFileUploadCtx as useFileUpload, useFitText, useLayoutMode, useScrollContext, useScrollState, useStickyBarContext, useToast, useToastStore };