aeon-ui-engine 1.8.0 → 1.9.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 (527) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/package.json +5 -2
  3. package/packages/core/dist/index.d.ts +116 -1
  4. package/packages/core/dist/index.js +202 -1
  5. package/packages/core/src/anatomy.ts +13 -1
  6. package/packages/core/src/index.ts +2 -0
  7. package/packages/core/src/list-window.ts +149 -0
  8. package/packages/core/src/sound.ts +154 -0
  9. package/packages/panda/package.json +6 -3
  10. package/packages/panda/panda.config.ts +12 -0
  11. package/packages/panda/src/recipes/clipboard.ts +40 -0
  12. package/packages/panda/src/recipes/composer.ts +4 -3
  13. package/packages/panda/src/recipes/index.ts +4 -0
  14. package/packages/panda/src/recipes/prose.ts +110 -0
  15. package/packages/panda/src/recipes/segment-group.ts +50 -0
  16. package/packages/panda/src/recipes/textarea.ts +60 -0
  17. package/packages/panda/styled-system/css/conditions.d.ts +7 -0
  18. package/packages/panda/styled-system/css/conditions.js +32 -0
  19. package/packages/panda/styled-system/css/css.d.ts +6 -6
  20. package/packages/panda/styled-system/css/css.js +63 -0
  21. package/packages/panda/styled-system/css/cva.d.ts +2 -3
  22. package/packages/panda/styled-system/css/cva.js +51 -0
  23. package/packages/panda/styled-system/css/cx.d.ts +5 -4
  24. package/packages/panda/styled-system/css/{cx.mjs → cx.js} +5 -4
  25. package/packages/panda/styled-system/css/first-that-works.d.ts +22 -0
  26. package/packages/panda/styled-system/css/first-that-works.js +1 -0
  27. package/packages/panda/styled-system/css/index.d.ts +6 -3
  28. package/packages/panda/styled-system/css/index.js +8 -0
  29. package/packages/panda/styled-system/css/keyframes.d.ts +5 -0
  30. package/packages/panda/styled-system/css/keyframes.js +8 -0
  31. package/packages/panda/styled-system/css/position-try.d.ts +5 -0
  32. package/packages/panda/styled-system/css/position-try.js +11 -0
  33. package/packages/panda/styled-system/css/sva.d.ts +1 -2
  34. package/packages/panda/styled-system/css/sva.js +49 -0
  35. package/packages/panda/styled-system/css/view-transition.d.ts +7 -0
  36. package/packages/panda/styled-system/css/view-transition.js +18 -0
  37. package/packages/panda/styled-system/helpers.d.ts +67 -0
  38. package/packages/panda/styled-system/helpers.js +624 -0
  39. package/packages/panda/styled-system/jsx/aspect-ratio.d.ts +3 -6
  40. package/packages/panda/styled-system/jsx/aspect-ratio.js +11 -0
  41. package/packages/panda/styled-system/jsx/bleed.d.ts +4 -7
  42. package/packages/panda/styled-system/jsx/bleed.js +11 -0
  43. package/packages/panda/styled-system/jsx/box.d.ts +4 -7
  44. package/packages/panda/styled-system/jsx/box.js +11 -0
  45. package/packages/panda/styled-system/jsx/center.d.ts +4 -7
  46. package/packages/panda/styled-system/jsx/center.js +11 -0
  47. package/packages/panda/styled-system/jsx/circle.d.ts +4 -7
  48. package/packages/panda/styled-system/jsx/circle.js +11 -0
  49. package/packages/panda/styled-system/jsx/container.d.ts +4 -7
  50. package/packages/panda/styled-system/jsx/container.js +11 -0
  51. package/packages/panda/styled-system/jsx/cq.d.ts +4 -7
  52. package/packages/panda/styled-system/jsx/cq.js +11 -0
  53. package/packages/panda/styled-system/jsx/create-recipe-context.d.ts +31 -0
  54. package/packages/panda/styled-system/jsx/create-recipe-context.js +38 -0
  55. package/packages/panda/styled-system/jsx/create-slot-recipe-context.d.ts +49 -0
  56. package/packages/panda/styled-system/jsx/create-slot-recipe-context.js +124 -0
  57. package/packages/panda/styled-system/jsx/divider.d.ts +4 -7
  58. package/packages/panda/styled-system/jsx/divider.js +11 -0
  59. package/packages/panda/styled-system/jsx/factory.d.ts +2 -2
  60. package/packages/panda/styled-system/jsx/factory.js +91 -0
  61. package/packages/panda/styled-system/jsx/flex.d.ts +4 -7
  62. package/packages/panda/styled-system/jsx/flex.js +11 -0
  63. package/packages/panda/styled-system/jsx/float.d.ts +4 -7
  64. package/packages/panda/styled-system/jsx/float.js +11 -0
  65. package/packages/panda/styled-system/jsx/grid-item.d.ts +4 -7
  66. package/packages/panda/styled-system/jsx/grid-item.js +11 -0
  67. package/packages/panda/styled-system/jsx/grid.d.ts +4 -7
  68. package/packages/panda/styled-system/jsx/grid.js +11 -0
  69. package/packages/panda/styled-system/jsx/helper.d.ts +34 -0
  70. package/packages/panda/styled-system/jsx/helper.js +92 -0
  71. package/packages/panda/styled-system/jsx/hstack.d.ts +4 -7
  72. package/packages/panda/styled-system/jsx/hstack.js +11 -0
  73. package/packages/panda/styled-system/jsx/index.d.ts +17 -17
  74. package/packages/panda/styled-system/jsx/index.js +24 -0
  75. package/packages/panda/styled-system/jsx/is-valid-prop.d.ts +5 -10
  76. package/packages/panda/styled-system/jsx/is-valid-prop.js +12 -0
  77. package/packages/panda/styled-system/jsx/link-overlay.d.ts +4 -7
  78. package/packages/panda/styled-system/jsx/link-overlay.js +11 -0
  79. package/packages/panda/styled-system/jsx/spacer.d.ts +4 -7
  80. package/packages/panda/styled-system/jsx/spacer.js +11 -0
  81. package/packages/panda/styled-system/jsx/square.d.ts +4 -7
  82. package/packages/panda/styled-system/jsx/square.js +11 -0
  83. package/packages/panda/styled-system/jsx/stack.d.ts +4 -7
  84. package/packages/panda/styled-system/jsx/stack.js +11 -0
  85. package/packages/panda/styled-system/jsx/visually-hidden.d.ts +4 -7
  86. package/packages/panda/styled-system/jsx/visually-hidden.js +11 -0
  87. package/packages/panda/styled-system/jsx/vstack.d.ts +4 -7
  88. package/packages/panda/styled-system/jsx/vstack.js +11 -0
  89. package/packages/panda/styled-system/jsx/wrap.d.ts +4 -7
  90. package/packages/panda/styled-system/jsx/wrap.js +11 -0
  91. package/packages/panda/styled-system/patterns/aspect-ratio.d.ts +8 -9
  92. package/packages/panda/styled-system/patterns/aspect-ratio.js +37 -0
  93. package/packages/panda/styled-system/patterns/bleed.d.ts +9 -10
  94. package/packages/panda/styled-system/patterns/bleed.js +30 -0
  95. package/packages/panda/styled-system/patterns/box.d.ts +8 -11
  96. package/packages/panda/styled-system/patterns/box.js +16 -0
  97. package/packages/panda/styled-system/patterns/center.d.ts +8 -9
  98. package/packages/panda/styled-system/patterns/center.js +22 -0
  99. package/packages/panda/styled-system/patterns/circle.d.ts +8 -9
  100. package/packages/panda/styled-system/patterns/circle.js +26 -0
  101. package/packages/panda/styled-system/patterns/container.d.ts +8 -11
  102. package/packages/panda/styled-system/patterns/container.js +26 -0
  103. package/packages/panda/styled-system/patterns/cq.d.ts +10 -10
  104. package/packages/panda/styled-system/patterns/cq.js +24 -0
  105. package/packages/panda/styled-system/patterns/divider.d.ts +11 -11
  106. package/packages/panda/styled-system/patterns/divider.js +31 -0
  107. package/packages/panda/styled-system/patterns/flex.d.ts +14 -15
  108. package/packages/panda/styled-system/patterns/flex.js +27 -0
  109. package/packages/panda/styled-system/patterns/float.d.ts +12 -12
  110. package/packages/panda/styled-system/patterns/float.js +84 -0
  111. package/packages/panda/styled-system/patterns/grid-item.d.ts +13 -14
  112. package/packages/panda/styled-system/patterns/grid-item.js +26 -0
  113. package/packages/panda/styled-system/patterns/grid.d.ts +13 -13
  114. package/packages/panda/styled-system/patterns/grid.js +30 -0
  115. package/packages/panda/styled-system/patterns/hstack.d.ts +9 -10
  116. package/packages/panda/styled-system/patterns/hstack.js +27 -0
  117. package/packages/panda/styled-system/patterns/index.d.ts +14 -15
  118. package/packages/panda/styled-system/patterns/index.js +20 -0
  119. package/packages/panda/styled-system/patterns/link-overlay.d.ts +8 -11
  120. package/packages/panda/styled-system/patterns/link-overlay.js +25 -0
  121. package/packages/panda/styled-system/patterns/runtime.js +25 -0
  122. package/packages/panda/styled-system/patterns/spacer.d.ts +9 -9
  123. package/packages/panda/styled-system/patterns/spacer.js +26 -0
  124. package/packages/panda/styled-system/patterns/square.d.ts +8 -9
  125. package/packages/panda/styled-system/patterns/square.js +25 -0
  126. package/packages/panda/styled-system/patterns/stack.d.ts +11 -12
  127. package/packages/panda/styled-system/patterns/stack.js +30 -0
  128. package/packages/panda/styled-system/patterns/visually-hidden.d.ts +8 -11
  129. package/packages/panda/styled-system/patterns/visually-hidden.js +19 -0
  130. package/packages/panda/styled-system/patterns/vstack.d.ts +9 -10
  131. package/packages/panda/styled-system/patterns/vstack.js +27 -0
  132. package/packages/panda/styled-system/patterns/wrap.d.ts +12 -13
  133. package/packages/panda/styled-system/patterns/wrap.js +26 -0
  134. package/packages/panda/styled-system/recipes/aeon-accordion.d.ts +9 -26
  135. package/packages/panda/styled-system/recipes/aeon-accordion.js +5 -0
  136. package/packages/panda/styled-system/recipes/aeon-app-shell.d.ts +10 -26
  137. package/packages/panda/styled-system/recipes/aeon-app-shell.js +5 -0
  138. package/packages/panda/styled-system/recipes/aeon-async.d.ts +9 -26
  139. package/packages/panda/styled-system/recipes/aeon-async.js +5 -0
  140. package/packages/panda/styled-system/recipes/aeon-avatar.d.ts +10 -28
  141. package/packages/panda/styled-system/recipes/aeon-avatar.js +5 -0
  142. package/packages/panda/styled-system/recipes/aeon-badge.d.ts +8 -26
  143. package/packages/panda/styled-system/recipes/aeon-badge.js +5 -0
  144. package/packages/panda/styled-system/recipes/aeon-bar.d.ts +13 -32
  145. package/packages/panda/styled-system/recipes/aeon-bar.js +5 -0
  146. package/packages/panda/styled-system/recipes/aeon-button-group.d.ts +10 -33
  147. package/packages/panda/styled-system/recipes/aeon-button-group.js +5 -0
  148. package/packages/panda/styled-system/recipes/aeon-button.d.ts +10 -33
  149. package/packages/panda/styled-system/recipes/aeon-button.js +5 -0
  150. package/packages/panda/styled-system/recipes/aeon-checkbox.d.ts +9 -24
  151. package/packages/panda/styled-system/recipes/aeon-checkbox.js +5 -0
  152. package/packages/panda/styled-system/recipes/aeon-clipboard.d.ts +16 -0
  153. package/packages/panda/styled-system/recipes/aeon-clipboard.js +5 -0
  154. package/packages/panda/styled-system/recipes/aeon-combobox.d.ts +9 -26
  155. package/packages/panda/styled-system/recipes/aeon-combobox.js +5 -0
  156. package/packages/panda/styled-system/recipes/aeon-composer.d.ts +9 -24
  157. package/packages/panda/styled-system/recipes/aeon-composer.js +5 -0
  158. package/packages/panda/styled-system/recipes/aeon-content.d.ts +10 -26
  159. package/packages/panda/styled-system/recipes/aeon-content.js +5 -0
  160. package/packages/panda/styled-system/recipes/aeon-conversation.d.ts +9 -24
  161. package/packages/panda/styled-system/recipes/aeon-conversation.js +5 -0
  162. package/packages/panda/styled-system/recipes/aeon-dialog.d.ts +9 -24
  163. package/packages/panda/styled-system/recipes/aeon-dialog.js +5 -0
  164. package/packages/panda/styled-system/recipes/aeon-entry.d.ts +11 -30
  165. package/packages/panda/styled-system/recipes/aeon-entry.js +5 -0
  166. package/packages/panda/styled-system/recipes/aeon-field.d.ts +9 -26
  167. package/packages/panda/styled-system/recipes/aeon-field.js +5 -0
  168. package/packages/panda/styled-system/recipes/aeon-file-upload.d.ts +9 -24
  169. package/packages/panda/styled-system/recipes/aeon-file-upload.js +5 -0
  170. package/packages/panda/styled-system/recipes/aeon-identity.d.ts +10 -28
  171. package/packages/panda/styled-system/recipes/aeon-identity.js +5 -0
  172. package/packages/panda/styled-system/recipes/aeon-list-row.d.ts +9 -26
  173. package/packages/panda/styled-system/recipes/aeon-list-row.js +5 -0
  174. package/packages/panda/styled-system/recipes/aeon-menu.d.ts +9 -24
  175. package/packages/panda/styled-system/recipes/aeon-menu.js +5 -0
  176. package/packages/panda/styled-system/recipes/aeon-metric-strip.d.ts +10 -28
  177. package/packages/panda/styled-system/recipes/aeon-metric-strip.js +5 -0
  178. package/packages/panda/styled-system/recipes/aeon-nav.d.ts +11 -30
  179. package/packages/panda/styled-system/recipes/aeon-nav.js +5 -0
  180. package/packages/panda/styled-system/recipes/aeon-panel.d.ts +10 -26
  181. package/packages/panda/styled-system/recipes/aeon-panel.js +5 -0
  182. package/packages/panda/styled-system/recipes/aeon-pin-input.d.ts +9 -24
  183. package/packages/panda/styled-system/recipes/aeon-pin-input.js +5 -0
  184. package/packages/panda/styled-system/recipes/aeon-popover.d.ts +9 -24
  185. package/packages/panda/styled-system/recipes/aeon-popover.js +5 -0
  186. package/packages/panda/styled-system/recipes/aeon-profile-header.d.ts +10 -28
  187. package/packages/panda/styled-system/recipes/aeon-profile-header.js +5 -0
  188. package/packages/panda/styled-system/recipes/aeon-progress.d.ts +9 -24
  189. package/packages/panda/styled-system/recipes/aeon-progress.js +5 -0
  190. package/packages/panda/styled-system/recipes/aeon-prose.d.ts +16 -0
  191. package/packages/panda/styled-system/recipes/aeon-prose.js +5 -0
  192. package/packages/panda/styled-system/recipes/aeon-radio-group.d.ts +9 -24
  193. package/packages/panda/styled-system/recipes/aeon-radio-group.js +5 -0
  194. package/packages/panda/styled-system/recipes/aeon-range-slider.d.ts +9 -24
  195. package/packages/panda/styled-system/recipes/aeon-range-slider.js +5 -0
  196. package/packages/panda/styled-system/recipes/aeon-scroll.d.ts +12 -36
  197. package/packages/panda/styled-system/recipes/aeon-scroll.js +5 -0
  198. package/packages/panda/styled-system/recipes/aeon-segment-group.d.ts +18 -0
  199. package/packages/panda/styled-system/recipes/aeon-segment-group.js +5 -0
  200. package/packages/panda/styled-system/recipes/aeon-select.d.ts +9 -26
  201. package/packages/panda/styled-system/recipes/aeon-select.js +5 -0
  202. package/packages/panda/styled-system/recipes/aeon-separator.d.ts +10 -26
  203. package/packages/panda/styled-system/recipes/aeon-separator.js +5 -0
  204. package/packages/panda/styled-system/recipes/aeon-slider.d.ts +9 -24
  205. package/packages/panda/styled-system/recipes/aeon-slider.js +5 -0
  206. package/packages/panda/styled-system/recipes/aeon-switch.d.ts +9 -24
  207. package/packages/panda/styled-system/recipes/aeon-switch.js +5 -0
  208. package/packages/panda/styled-system/recipes/aeon-tabs.d.ts +9 -24
  209. package/packages/panda/styled-system/recipes/aeon-tabs.js +5 -0
  210. package/packages/panda/styled-system/recipes/aeon-textarea.d.ts +18 -0
  211. package/packages/panda/styled-system/recipes/aeon-textarea.js +5 -0
  212. package/packages/panda/styled-system/recipes/aeon-theme-switcher.d.ts +10 -26
  213. package/packages/panda/styled-system/recipes/aeon-theme-switcher.js +5 -0
  214. package/packages/panda/styled-system/recipes/aeon-thread.d.ts +9 -24
  215. package/packages/panda/styled-system/recipes/aeon-thread.js +5 -0
  216. package/packages/panda/styled-system/recipes/aeon-toast.d.ts +9 -24
  217. package/packages/panda/styled-system/recipes/aeon-toast.js +5 -0
  218. package/packages/panda/styled-system/recipes/aeon-tooltip.d.ts +9 -24
  219. package/packages/panda/styled-system/recipes/aeon-tooltip.js +5 -0
  220. package/packages/panda/styled-system/recipes/index.d.ts +31 -28
  221. package/packages/panda/styled-system/recipes/index.js +43 -0
  222. package/packages/panda/styled-system/recipes/runtime.js +133 -0
  223. package/packages/panda/styled-system/styles.css +1899 -2106
  224. package/packages/panda/styled-system/tokens/index.d.ts +4 -5
  225. package/packages/panda/styled-system/tokens/index.js +18 -0
  226. package/packages/panda/styled-system/types/index.d.ts +3 -6
  227. package/packages/panda/styled-system/types/jsx.d.ts +36 -27
  228. package/packages/panda/styled-system/types/pattern.d.ts +18 -70
  229. package/packages/panda/styled-system/types/recipe.d.ts +50 -154
  230. package/packages/panda/styled-system/types/system.d.ts +1826 -0
  231. package/packages/panda/styled-system/types/tokens.d.ts +65 -0
  232. package/packages/panda/tsconfig.json +3 -1
  233. package/packages/primitives/dist/chunk-5BNAV4S2.js +258 -0
  234. package/packages/primitives/dist/chunk-HYHCIMHC.js +45 -0
  235. package/packages/primitives/dist/index.d.ts +2 -0
  236. package/packages/primitives/dist/index.js +30 -12
  237. package/packages/primitives/dist/machines/app-nav.d.ts +3 -3
  238. package/packages/primitives/dist/machines/cache.d.ts +223 -0
  239. package/packages/primitives/dist/machines/cache.js +14 -0
  240. package/packages/primitives/dist/machines/clipboard.d.ts +46 -0
  241. package/packages/primitives/dist/machines/clipboard.js +8 -0
  242. package/packages/primitives/dist/machines/tabs.d.ts +2 -2
  243. package/packages/primitives/src/index.ts +2 -0
  244. package/packages/primitives/src/machines/cache.ts +395 -0
  245. package/packages/primitives/src/machines/clipboard.ts +56 -0
  246. package/packages/react/dist/index.d.ts +106 -10
  247. package/packages/react/dist/index.js +1350 -994
  248. package/packages/react/src/clipboard/index.tsx +117 -0
  249. package/packages/react/src/composer/index.tsx +14 -5
  250. package/packages/react/src/index.ts +4 -0
  251. package/packages/react/src/prose/index.tsx +11 -0
  252. package/packages/react/src/radio-group/index.tsx +2 -1
  253. package/packages/react/src/scroll/index.tsx +1 -0
  254. package/packages/react/src/scroll/use-windowed-range.ts +118 -0
  255. package/packages/react/src/segment-group/index.tsx +171 -0
  256. package/packages/react/src/select/index.tsx +11 -2
  257. package/packages/react/src/tabs/index.tsx +19 -7
  258. package/packages/react/src/textarea/index.tsx +75 -0
  259. package/packages/react/src/utils/assign-ref.ts +7 -0
  260. package/packages/schemas/dist/index.d.ts +8 -0
  261. package/packages/schemas/dist/index.js +59 -0
  262. package/packages/schemas/json/catalog.json +493 -0
  263. package/packages/schemas/json/clipboard.json +136 -0
  264. package/packages/schemas/json/prose.json +103 -0
  265. package/packages/schemas/json/segmentGroup.json +131 -0
  266. package/packages/schemas/json/textarea.json +119 -0
  267. package/packages/schemas/registry/catalog.json +34 -0
  268. package/packages/schemas/registry/components/clipboard.json +136 -0
  269. package/packages/schemas/registry/components/prose.json +103 -0
  270. package/packages/schemas/registry/components/segmentGroup.json +131 -0
  271. package/packages/schemas/registry/components/textarea.json +119 -0
  272. package/packages/schemas/registry/machines/clipboard.json +110 -0
  273. package/packages/schemas/scripts/emit.ts +2 -0
  274. package/packages/schemas/src/components.ts +63 -0
  275. package/packages/ui/dist/index.d.ts +27 -3
  276. package/packages/ui/dist/index.js +232 -165
  277. package/packages/ui/src/clipboard.tsx +51 -0
  278. package/packages/ui/src/index.ts +4 -0
  279. package/packages/ui/src/prose.tsx +15 -0
  280. package/packages/ui/src/segment-group.tsx +28 -0
  281. package/packages/ui/src/textarea.tsx +17 -0
  282. package/scripts/vite-aliases.mjs +2 -2
  283. package/packages/cli/node_modules/.bin/esbuild +0 -21
  284. package/packages/cli/node_modules/.bin/jiti +0 -21
  285. package/packages/cli/node_modules/.bin/tsc +0 -21
  286. package/packages/cli/node_modules/.bin/tsserver +0 -21
  287. package/packages/cli/node_modules/.bin/tsup +0 -21
  288. package/packages/cli/node_modules/.bin/tsup-node +0 -21
  289. package/packages/cli/node_modules/.bin/tsx +0 -21
  290. package/packages/cli/node_modules/.bin/vite +0 -21
  291. package/packages/cli/node_modules/.bin/vitest +0 -21
  292. package/packages/core/node_modules/.bin/esbuild +0 -21
  293. package/packages/core/node_modules/.bin/jiti +0 -21
  294. package/packages/core/node_modules/.bin/tsc +0 -21
  295. package/packages/core/node_modules/.bin/tsserver +0 -21
  296. package/packages/core/node_modules/.bin/tsup +0 -21
  297. package/packages/core/node_modules/.bin/tsup-node +0 -21
  298. package/packages/core/node_modules/.bin/tsx +0 -21
  299. package/packages/core/node_modules/.bin/vite +0 -21
  300. package/packages/core/node_modules/.bin/vitest +0 -21
  301. package/packages/core/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +0 -1
  302. package/packages/core/src/identicon.test.ts +0 -39
  303. package/packages/core/src/machine.test.ts +0 -79
  304. package/packages/core/src/theme.test.ts +0 -14
  305. package/packages/geometry/node_modules/.bin/esbuild +0 -21
  306. package/packages/geometry/node_modules/.bin/jiti +0 -21
  307. package/packages/geometry/node_modules/.bin/tsc +0 -21
  308. package/packages/geometry/node_modules/.bin/tsserver +0 -21
  309. package/packages/geometry/node_modules/.bin/tsup +0 -21
  310. package/packages/geometry/node_modules/.bin/tsup-node +0 -21
  311. package/packages/geometry/node_modules/.bin/tsx +0 -21
  312. package/packages/panda/styled-system/css/conditions.mjs +0 -36
  313. package/packages/panda/styled-system/css/css.mjs +0 -45
  314. package/packages/panda/styled-system/css/cva.mjs +0 -87
  315. package/packages/panda/styled-system/css/index.mjs +0 -4
  316. package/packages/panda/styled-system/css/sva.mjs +0 -46
  317. package/packages/panda/styled-system/helpers.mjs +0 -328
  318. package/packages/panda/styled-system/jsx/aspect-ratio.mjs +0 -14
  319. package/packages/panda/styled-system/jsx/bleed.mjs +0 -14
  320. package/packages/panda/styled-system/jsx/box.mjs +0 -14
  321. package/packages/panda/styled-system/jsx/center.mjs +0 -14
  322. package/packages/panda/styled-system/jsx/circle.mjs +0 -14
  323. package/packages/panda/styled-system/jsx/container.mjs +0 -14
  324. package/packages/panda/styled-system/jsx/cq.mjs +0 -14
  325. package/packages/panda/styled-system/jsx/create-style-context.d.ts +0 -54
  326. package/packages/panda/styled-system/jsx/create-style-context.mjs +0 -121
  327. package/packages/panda/styled-system/jsx/divider.mjs +0 -14
  328. package/packages/panda/styled-system/jsx/factory-helper.mjs +0 -22
  329. package/packages/panda/styled-system/jsx/factory.mjs +0 -89
  330. package/packages/panda/styled-system/jsx/flex.mjs +0 -14
  331. package/packages/panda/styled-system/jsx/float.mjs +0 -14
  332. package/packages/panda/styled-system/jsx/grid-item.mjs +0 -14
  333. package/packages/panda/styled-system/jsx/grid.mjs +0 -14
  334. package/packages/panda/styled-system/jsx/hstack.mjs +0 -14
  335. package/packages/panda/styled-system/jsx/index.mjs +0 -23
  336. package/packages/panda/styled-system/jsx/is-valid-prop.mjs +0 -17
  337. package/packages/panda/styled-system/jsx/link-overlay.mjs +0 -14
  338. package/packages/panda/styled-system/jsx/spacer.mjs +0 -14
  339. package/packages/panda/styled-system/jsx/square.mjs +0 -14
  340. package/packages/panda/styled-system/jsx/stack.mjs +0 -14
  341. package/packages/panda/styled-system/jsx/visually-hidden.mjs +0 -14
  342. package/packages/panda/styled-system/jsx/vstack.mjs +0 -14
  343. package/packages/panda/styled-system/jsx/wrap.mjs +0 -14
  344. package/packages/panda/styled-system/patterns/aspect-ratio.mjs +0 -38
  345. package/packages/panda/styled-system/patterns/bleed.mjs +0 -24
  346. package/packages/panda/styled-system/patterns/box.mjs +0 -15
  347. package/packages/panda/styled-system/patterns/center.mjs +0 -21
  348. package/packages/panda/styled-system/patterns/circle.mjs +0 -25
  349. package/packages/panda/styled-system/patterns/container.mjs +0 -21
  350. package/packages/panda/styled-system/patterns/cq.mjs +0 -21
  351. package/packages/panda/styled-system/patterns/divider.mjs +0 -25
  352. package/packages/panda/styled-system/patterns/flex.mjs +0 -26
  353. package/packages/panda/styled-system/patterns/float.mjs +0 -52
  354. package/packages/panda/styled-system/patterns/grid-item.mjs +0 -25
  355. package/packages/panda/styled-system/patterns/grid.mjs +0 -27
  356. package/packages/panda/styled-system/patterns/hstack.mjs +0 -24
  357. package/packages/panda/styled-system/patterns/index.mjs +0 -20
  358. package/packages/panda/styled-system/patterns/link-overlay.mjs +0 -24
  359. package/packages/panda/styled-system/patterns/spacer.mjs +0 -25
  360. package/packages/panda/styled-system/patterns/square.mjs +0 -24
  361. package/packages/panda/styled-system/patterns/stack.mjs +0 -24
  362. package/packages/panda/styled-system/patterns/visually-hidden.mjs +0 -18
  363. package/packages/panda/styled-system/patterns/vstack.mjs +0 -24
  364. package/packages/panda/styled-system/patterns/wrap.mjs +0 -25
  365. package/packages/panda/styled-system/recipes/aeon-accordion.mjs +0 -49
  366. package/packages/panda/styled-system/recipes/aeon-app-shell.mjs +0 -70
  367. package/packages/panda/styled-system/recipes/aeon-async.mjs +0 -57
  368. package/packages/panda/styled-system/recipes/aeon-avatar.mjs +0 -57
  369. package/packages/panda/styled-system/recipes/aeon-badge.mjs +0 -32
  370. package/packages/panda/styled-system/recipes/aeon-bar.mjs +0 -77
  371. package/packages/panda/styled-system/recipes/aeon-button-group.mjs +0 -37
  372. package/packages/panda/styled-system/recipes/aeon-button.mjs +0 -39
  373. package/packages/panda/styled-system/recipes/aeon-checkbox.mjs +0 -49
  374. package/packages/panda/styled-system/recipes/aeon-combobox.mjs +0 -53
  375. package/packages/panda/styled-system/recipes/aeon-composer.mjs +0 -57
  376. package/packages/panda/styled-system/recipes/aeon-content.mjs +0 -70
  377. package/packages/panda/styled-system/recipes/aeon-conversation.mjs +0 -61
  378. package/packages/panda/styled-system/recipes/aeon-dialog.mjs +0 -61
  379. package/packages/panda/styled-system/recipes/aeon-entry.mjs +0 -100
  380. package/packages/panda/styled-system/recipes/aeon-field.mjs +0 -53
  381. package/packages/panda/styled-system/recipes/aeon-file-upload.mjs +0 -61
  382. package/packages/panda/styled-system/recipes/aeon-identity.mjs +0 -63
  383. package/packages/panda/styled-system/recipes/aeon-list-row.mjs +0 -49
  384. package/packages/panda/styled-system/recipes/aeon-menu.mjs +0 -53
  385. package/packages/panda/styled-system/recipes/aeon-metric-strip.mjs +0 -54
  386. package/packages/panda/styled-system/recipes/aeon-nav.mjs +0 -69
  387. package/packages/panda/styled-system/recipes/aeon-panel.mjs +0 -58
  388. package/packages/panda/styled-system/recipes/aeon-pin-input.mjs +0 -37
  389. package/packages/panda/styled-system/recipes/aeon-popover.mjs +0 -53
  390. package/packages/panda/styled-system/recipes/aeon-profile-header.mjs +0 -62
  391. package/packages/panda/styled-system/recipes/aeon-progress.mjs +0 -45
  392. package/packages/panda/styled-system/recipes/aeon-radio-group.mjs +0 -49
  393. package/packages/panda/styled-system/recipes/aeon-range-slider.mjs +0 -49
  394. package/packages/panda/styled-system/recipes/aeon-scroll.mjs +0 -64
  395. package/packages/panda/styled-system/recipes/aeon-select.mjs +0 -57
  396. package/packages/panda/styled-system/recipes/aeon-separator.mjs +0 -42
  397. package/packages/panda/styled-system/recipes/aeon-slider.mjs +0 -49
  398. package/packages/panda/styled-system/recipes/aeon-switch.mjs +0 -49
  399. package/packages/panda/styled-system/recipes/aeon-tabs.mjs +0 -49
  400. package/packages/panda/styled-system/recipes/aeon-theme-switcher.mjs +0 -59
  401. package/packages/panda/styled-system/recipes/aeon-thread.mjs +0 -73
  402. package/packages/panda/styled-system/recipes/aeon-toast.mjs +0 -49
  403. package/packages/panda/styled-system/recipes/aeon-tooltip.mjs +0 -49
  404. package/packages/panda/styled-system/recipes/create-recipe.mjs +0 -82
  405. package/packages/panda/styled-system/recipes/index.mjs +0 -39
  406. package/packages/panda/styled-system/tokens/index.mjs +0 -2224
  407. package/packages/panda/styled-system/tokens/tokens.d.ts +0 -60
  408. package/packages/panda/styled-system/types/composition.d.ts +0 -227
  409. package/packages/panda/styled-system/types/conditions.d.ts +0 -346
  410. package/packages/panda/styled-system/types/csstype.d.ts +0 -22570
  411. package/packages/panda/styled-system/types/global.d.ts +0 -20
  412. package/packages/panda/styled-system/types/parts.d.ts +0 -8
  413. package/packages/panda/styled-system/types/prop-type.d.ts +0 -250
  414. package/packages/panda/styled-system/types/selectors.d.ts +0 -59
  415. package/packages/panda/styled-system/types/static-css.d.ts +0 -56
  416. package/packages/panda/styled-system/types/style-props.d.ts +0 -8089
  417. package/packages/panda/styled-system/types/system-types.d.ts +0 -151
  418. package/packages/primitives/node_modules/.bin/esbuild +0 -21
  419. package/packages/primitives/node_modules/.bin/jiti +0 -21
  420. package/packages/primitives/node_modules/.bin/tsc +0 -21
  421. package/packages/primitives/node_modules/.bin/tsserver +0 -21
  422. package/packages/primitives/node_modules/.bin/tsup +0 -21
  423. package/packages/primitives/node_modules/.bin/tsup-node +0 -21
  424. package/packages/primitives/node_modules/.bin/tsx +0 -21
  425. package/packages/primitives/node_modules/.bin/vite +0 -21
  426. package/packages/primitives/node_modules/.bin/vitest +0 -21
  427. package/packages/primitives/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +0 -1
  428. package/packages/primitives/src/__tests__/app-nav.test.ts +0 -30
  429. package/packages/primitives/src/__tests__/file-upload.test.ts +0 -25
  430. package/packages/primitives/src/__tests__/floating-surface.test.ts +0 -29
  431. package/packages/primitives/src/__tests__/range-slider.test.ts +0 -39
  432. package/packages/react/node_modules/.bin/esbuild +0 -21
  433. package/packages/react/node_modules/.bin/jiti +0 -21
  434. package/packages/react/node_modules/.bin/tsc +0 -21
  435. package/packages/react/node_modules/.bin/tsserver +0 -21
  436. package/packages/react/node_modules/.bin/tsup +0 -21
  437. package/packages/react/node_modules/.bin/tsup-node +0 -21
  438. package/packages/react/node_modules/.bin/tsx +0 -21
  439. package/packages/react/node_modules/.bin/vite +0 -21
  440. package/packages/react/node_modules/.bin/vitest +0 -21
  441. package/packages/react/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +0 -1
  442. package/packages/react/src/avatar/avatar.test.tsx +0 -27
  443. package/packages/react/src/dialog/dialog.test.tsx +0 -77
  444. package/packages/react/src/select/select.test.tsx +0 -81
  445. package/packages/react/src/toast/toast.test.tsx +0 -40
  446. package/packages/react/src/tooltip/tooltip.test.tsx +0 -122
  447. package/packages/react-scene/node_modules/.bin/jiti +0 -21
  448. package/packages/react-scene/node_modules/.bin/tsc +0 -21
  449. package/packages/react-scene/node_modules/.bin/tsserver +0 -21
  450. package/packages/react-scene/node_modules/.bin/tsup +0 -21
  451. package/packages/react-scene/node_modules/.bin/tsup-node +0 -21
  452. package/packages/react-scene/node_modules/.bin/tsx +0 -21
  453. package/packages/scene/node_modules/.bin/jiti +0 -21
  454. package/packages/scene/node_modules/.bin/tsc +0 -21
  455. package/packages/scene/node_modules/.bin/tsserver +0 -21
  456. package/packages/scene/node_modules/.bin/tsup +0 -21
  457. package/packages/scene/node_modules/.bin/tsup-node +0 -21
  458. package/packages/scene/node_modules/.bin/tsx +0 -21
  459. package/packages/schemas/node_modules/.bin/esbuild +0 -21
  460. package/packages/schemas/node_modules/.bin/jiti +0 -21
  461. package/packages/schemas/node_modules/.bin/tsc +0 -21
  462. package/packages/schemas/node_modules/.bin/tsserver +0 -21
  463. package/packages/schemas/node_modules/.bin/tsup +0 -21
  464. package/packages/schemas/node_modules/.bin/tsup-node +0 -21
  465. package/packages/schemas/node_modules/.bin/tsx +0 -21
  466. package/packages/schemas/node_modules/.bin/vite +0 -21
  467. package/packages/schemas/node_modules/.bin/vitest +0 -21
  468. package/packages/schemas/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +0 -1
  469. package/packages/schemas/src/aeon-to-schema.test.ts +0 -70
  470. package/packages/schemas/src/index.test.ts +0 -108
  471. package/packages/signal/node_modules/.bin/jiti +0 -21
  472. package/packages/signal/node_modules/.bin/tsc +0 -21
  473. package/packages/signal/node_modules/.bin/tsserver +0 -21
  474. package/packages/signal/node_modules/.bin/tsup +0 -21
  475. package/packages/signal/node_modules/.bin/tsup-node +0 -21
  476. package/packages/signal/node_modules/.bin/tsx +0 -21
  477. package/packages/site/node_modules/.bin/jiti +0 -21
  478. package/packages/site/node_modules/.bin/tsc +0 -21
  479. package/packages/site/node_modules/.bin/tsserver +0 -21
  480. package/packages/site/node_modules/.bin/tsup +0 -21
  481. package/packages/site/node_modules/.bin/tsup-node +0 -21
  482. package/packages/site/node_modules/.bin/tsx +0 -21
  483. package/packages/solid/node_modules/.bin/jiti +0 -21
  484. package/packages/solid/node_modules/.bin/tsc +0 -21
  485. package/packages/solid/node_modules/.bin/tsserver +0 -21
  486. package/packages/solid/node_modules/.bin/tsup +0 -21
  487. package/packages/solid/node_modules/.bin/tsup-node +0 -21
  488. package/packages/solid/node_modules/.bin/tsx +0 -21
  489. package/packages/surface/node_modules/.bin/jiti +0 -21
  490. package/packages/surface/node_modules/.bin/tsc +0 -21
  491. package/packages/surface/node_modules/.bin/tsserver +0 -21
  492. package/packages/surface/node_modules/.bin/tsup +0 -21
  493. package/packages/surface/node_modules/.bin/tsup-node +0 -21
  494. package/packages/surface/node_modules/.bin/tsx +0 -21
  495. package/packages/svelte/node_modules/.bin/acorn +0 -21
  496. package/packages/svelte/node_modules/.bin/esbuild +0 -21
  497. package/packages/svelte/node_modules/.bin/jiti +0 -21
  498. package/packages/svelte/node_modules/.bin/svelte-check +0 -21
  499. package/packages/svelte/node_modules/.bin/tsc +0 -21
  500. package/packages/svelte/node_modules/.bin/tsserver +0 -21
  501. package/packages/svelte/node_modules/.bin/tsup +0 -21
  502. package/packages/svelte/node_modules/.bin/tsup-node +0 -21
  503. package/packages/svelte/node_modules/.bin/tsx +0 -21
  504. package/packages/svelte/node_modules/.bin/vite +0 -21
  505. package/packages/tree/node_modules/.bin/esbuild +0 -21
  506. package/packages/tree/node_modules/.bin/jiti +0 -21
  507. package/packages/tree/node_modules/.bin/tsc +0 -21
  508. package/packages/tree/node_modules/.bin/tsserver +0 -21
  509. package/packages/tree/node_modules/.bin/tsup +0 -21
  510. package/packages/tree/node_modules/.bin/tsup-node +0 -21
  511. package/packages/tree/node_modules/.bin/tsx +0 -21
  512. package/packages/tree/node_modules/.bin/vite +0 -21
  513. package/packages/tree/node_modules/.bin/vitest +0 -21
  514. package/packages/tree/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +0 -1
  515. package/packages/tree/src/exclusive-action.test.ts +0 -54
  516. package/packages/ui/node_modules/.bin/jiti +0 -21
  517. package/packages/ui/node_modules/.bin/tsc +0 -21
  518. package/packages/ui/node_modules/.bin/tsserver +0 -21
  519. package/packages/ui/node_modules/.bin/tsup +0 -21
  520. package/packages/ui/node_modules/.bin/tsup-node +0 -21
  521. package/packages/ui/node_modules/.bin/tsx +0 -21
  522. package/packages/vue/node_modules/.bin/jiti +0 -21
  523. package/packages/vue/node_modules/.bin/tsc +0 -21
  524. package/packages/vue/node_modules/.bin/tsserver +0 -21
  525. package/packages/vue/node_modules/.bin/tsup +0 -21
  526. package/packages/vue/node_modules/.bin/tsup-node +0 -21
  527. package/packages/vue/node_modules/.bin/tsx +0 -21
@@ -0,0 +1,395 @@
1
+ import { assign, createActor, fromCallback, fromPromise, setup, type ActorRefFrom, type SnapshotFrom } from 'xstate'
2
+
3
+ /** Stable lifecycle states of one cache entry (see STATES.md). */
4
+ export const CACHE_STATES = ['idle', 'loading', 'ready', 'stale', 'refreshing', 'failed'] as const
5
+
6
+ export type CacheState = (typeof CACHE_STATES)[number]
7
+
8
+ /** Longest delay a timer can hold; a longer time-to-live is checked again when read. */
9
+ const MAX_DELAY_MS = 2_147_483_647
10
+
11
+ /**
12
+ * Caches named for secrets, keys or spend decisions are refused: those must be
13
+ * read fresh every time, never served from memory.
14
+ */
15
+ const NEVER_CACHE = /\b(secrets?|private[-_ ]?keys?|mnemonics?|seeds?|passwords?|passphrases?|wif|xprv|signing[-_ ]?keys?|spend)\b/i
16
+
17
+ export function isCacheableId(id: string): boolean {
18
+ return id.trim().length > 0 && !NEVER_CACHE.test(id)
19
+ }
20
+
21
+ export interface CacheEntryContext<T, K> {
22
+ key: K
23
+ ttl: number
24
+ data: T | undefined
25
+ error: string | null
26
+ /** When `data` was loaded; null while there is none. */
27
+ loadedAt: number | null
28
+ /** An invalidation landed mid-load: the result may predate the write, so load once more. */
29
+ dirty: boolean
30
+ now: () => number
31
+ }
32
+
33
+ export type CacheEntryEvent =
34
+ | { type: 'FETCH' }
35
+ | { type: 'REFRESH' }
36
+ | { type: 'INVALIDATE'; refetch?: boolean }
37
+ | { type: 'CLEAR' }
38
+
39
+ export interface CacheEntryInput<K> {
40
+ key: K
41
+ ttl: number
42
+ now?: () => number
43
+ }
44
+
45
+ const message = (error: unknown) => (error instanceof Error ? error.message : String(error))
46
+
47
+ /**
48
+ * One keyed entry: idle until fetched, loading the first time, ready while
49
+ * younger than its time-to-live, then stale. FETCH on a stale or expired entry
50
+ * revalidates in `refreshing` while the old data stays readable; FETCH while a
51
+ * load runs is dropped, so one load serves every caller. INVALIDATE marks the
52
+ * entry stale (and reloads when `refetch`); CLEAR drops the data and cancels a
53
+ * running load so its result never lands.
54
+ */
55
+ export function createCacheEntryMachine<T, K = string>() {
56
+ return setup({
57
+ types: {
58
+ context: {} as CacheEntryContext<T, K>,
59
+ events: {} as CacheEntryEvent,
60
+ input: {} as CacheEntryInput<K>,
61
+ },
62
+ actors: {
63
+ load: fromPromise<T, { key: K }>(async () => {
64
+ throw new Error('cache entry load is not provided')
65
+ }),
66
+ },
67
+ delays: {
68
+ ttl: ({ context }) => {
69
+ const age = context.loadedAt === null ? 0 : context.now() - context.loadedAt
70
+ return Math.min(Math.max(0, context.ttl - age), MAX_DELAY_MS)
71
+ },
72
+ },
73
+ guards: {
74
+ expired: ({ context }) => context.loadedAt !== null && context.now() - context.loadedAt >= context.ttl,
75
+ dirty: ({ context }) => context.dirty,
76
+ refetch: ({ event }) => event.type === 'INVALIDATE' && event.refetch === true,
77
+ },
78
+ actions: {
79
+ markDirty: assign({ dirty: true }),
80
+ clear: assign({ data: undefined, error: null, loadedAt: null, dirty: false }),
81
+ },
82
+ }).createMachine({
83
+ id: 'cacheEntry',
84
+ context: ({ input }) => ({
85
+ key: input.key,
86
+ ttl: input.ttl,
87
+ data: undefined,
88
+ error: null,
89
+ loadedAt: null,
90
+ dirty: false,
91
+ now: input.now ?? Date.now,
92
+ }),
93
+ initial: 'idle',
94
+ on: { CLEAR: { target: '.idle', actions: 'clear' } },
95
+ states: {
96
+ idle: {
97
+ on: { FETCH: 'loading', REFRESH: 'loading', INVALIDATE: { guard: 'refetch', target: 'loading' } },
98
+ },
99
+ loading: {
100
+ invoke: {
101
+ src: 'load',
102
+ input: ({ context }) => ({ key: context.key }),
103
+ onDone: [
104
+ {
105
+ guard: 'dirty',
106
+ target: 'refreshing',
107
+ actions: assign(({ context, event }) => ({ data: event.output, error: null, loadedAt: context.now(), dirty: false })),
108
+ },
109
+ {
110
+ target: 'ready',
111
+ actions: assign(({ context, event }) => ({ data: event.output, error: null, loadedAt: context.now() })),
112
+ },
113
+ ],
114
+ onError: { target: 'failed', actions: assign(({ event }) => ({ error: message(event.error), dirty: false })) },
115
+ },
116
+ on: { INVALIDATE: { actions: 'markDirty' } },
117
+ },
118
+ ready: {
119
+ after: { ttl: { guard: 'expired', target: 'stale' } },
120
+ on: {
121
+ FETCH: { guard: 'expired', target: 'refreshing' },
122
+ REFRESH: 'refreshing',
123
+ INVALIDATE: [{ guard: 'refetch', target: 'refreshing' }, { target: 'stale' }],
124
+ },
125
+ },
126
+ stale: {
127
+ on: { FETCH: 'refreshing', REFRESH: 'refreshing', INVALIDATE: { guard: 'refetch', target: 'refreshing' } },
128
+ },
129
+ refreshing: {
130
+ invoke: {
131
+ src: 'load',
132
+ input: ({ context }) => ({ key: context.key }),
133
+ onDone: [
134
+ {
135
+ guard: 'dirty',
136
+ target: 'refreshing',
137
+ reenter: true,
138
+ actions: assign(({ context, event }) => ({ data: event.output, error: null, loadedAt: context.now(), dirty: false })),
139
+ },
140
+ {
141
+ target: 'ready',
142
+ actions: assign(({ context, event }) => ({ data: event.output, error: null, loadedAt: context.now() })),
143
+ },
144
+ ],
145
+ onError: { target: 'stale', actions: assign(({ event }) => ({ error: message(event.error), dirty: false })) },
146
+ },
147
+ on: { INVALIDATE: { actions: 'markDirty' } },
148
+ },
149
+ failed: {
150
+ on: { FETCH: 'loading', REFRESH: 'loading', INVALIDATE: { guard: 'refetch', target: 'loading' } },
151
+ },
152
+ },
153
+ })
154
+ }
155
+
156
+ export const cacheEntryMachine = createCacheEntryMachine()
157
+
158
+ export type CacheEntryActor<T, K = string> = ActorRefFrom<ReturnType<typeof createCacheEntryMachine<T, K>>>
159
+ type CacheEntrySnapshot<T, K> = SnapshotFrom<ReturnType<typeof createCacheEntryMachine<T, K>>>
160
+
161
+ /**
162
+ * What a reader sees of one entry. The same object comes back until the entry
163
+ * changes, and `data` keeps its identity across ready, stale and refreshing,
164
+ * so selectors over a view never cause a re-render on their own.
165
+ */
166
+ export interface CacheView<T> {
167
+ readonly state: CacheState
168
+ readonly data: T | undefined
169
+ readonly error: string | null
170
+ readonly loadedAt: number | null
171
+ }
172
+
173
+ const IDLE_VIEW: CacheView<never> = Object.freeze({ state: 'idle', data: undefined, error: null, loadedAt: null })
174
+
175
+ /** Commands a chart sends the cache, directly or through the invoked cache actor. */
176
+ export type CacheCommand<K> =
177
+ | { type: 'CACHE.FETCH'; key?: K }
178
+ | { type: 'CACHE.REFRESH'; key?: K }
179
+ | { type: 'CACHE.INVALIDATE'; key?: K; tag?: string }
180
+ | { type: 'CACHE.KEY'; key: K }
181
+ | { type: 'CACHE.CLEAR' }
182
+
183
+ /** What the invoked cache actor sends its parent chart whenever its entry changes. */
184
+ export interface CacheUpdate<T, K> {
185
+ type: 'CACHE.UPDATE'
186
+ cache: string
187
+ key: K
188
+ view: CacheView<T>
189
+ }
190
+
191
+ export interface ChartCacheOptions<T, K> {
192
+ /** Names the cache in logs and errors. Names of secrets, keys or spend decisions are refused. */
193
+ id: string
194
+ load: (key: K, context: { signal: AbortSignal }) => Promise<T>
195
+ /** Milliseconds an entry stays fresh, for every key or per key. */
196
+ ttl: number | ((key: K) => number)
197
+ tags?: (key: K) => readonly string[]
198
+ /** Turns a key into the string entries are stored under. Defaults to `String` for strings, else JSON. */
199
+ keyOf?: (key: K) => string
200
+ /** Most entries kept; the least recently used unwatched, settled ones go first. Default 100. */
201
+ maxEntries?: number
202
+ now?: () => number
203
+ }
204
+
205
+ export interface ChartCache<T, K = string> {
206
+ readonly id: string
207
+ /** Entries currently held. */
208
+ readonly size: number
209
+ /** The entry's current view, without loading it. Stable until the entry changes. */
210
+ peek(key: K): CacheView<T>
211
+ /** Loads the entry if it is missing, failed, stale or expired; a running load is reused. */
212
+ fetch(key: K): void
213
+ /** Reloads now, keeping the old data readable meanwhile. */
214
+ refresh(key: K): void
215
+ /** Resolves with the entry's data, serving stale data at once while it revalidates. */
216
+ read(key: K): Promise<T>
217
+ /** Marks entries stale; watched ones reload at once. */
218
+ invalidate(target: { key: K } | { tag: string }): void
219
+ /** Drops every entry's data and cancels running loads (lock, account or network switch). */
220
+ clear(): void
221
+ subscribe(key: K, listener: (view: CacheView<T>) => void): () => void
222
+ send(command: CacheCommand<K>): void
223
+ /**
224
+ * Invoke from a chart: `invoke: { id: 'cache', src: cache.actor, input: { key } }`.
225
+ * It fetches the key, sends `CACHE.UPDATE` on every change, and takes
226
+ * `CACHE.*` commands from the parent (`sendTo('cache', …)`); commands without
227
+ * a key apply to its own, and `CACHE.KEY` moves it to another key.
228
+ */
229
+ readonly actor: ReturnType<typeof fromCallback<CacheCommand<K>, { key: K; fetch?: boolean }>>
230
+ }
231
+
232
+ interface Slot<T, K> {
233
+ key: K
234
+ tags: readonly string[]
235
+ actor: CacheEntryActor<T, K>
236
+ view: CacheView<T>
237
+ listeners: Set<(view: CacheView<T>) => void>
238
+ usedAt: number
239
+ }
240
+
241
+ const defaultKeyOf = (key: unknown) => (typeof key === 'string' ? key : JSON.stringify(key))
242
+
243
+ function viewOf<T, K>(snapshot: CacheEntrySnapshot<T, K>, previous: CacheView<T>): CacheView<T> {
244
+ const state = snapshot.value as CacheState
245
+ const { data, error, loadedAt } = snapshot.context
246
+ if (previous.state === state && previous.data === data && previous.error === error && previous.loadedAt === loadedAt) return previous
247
+ return Object.freeze({ state, data, error, loadedAt })
248
+ }
249
+
250
+ /**
251
+ * A keyed cache shared by every chart that reads it, so a remounted chart is
252
+ * served from memory instead of loading again. Each entry is its own
253
+ * `cacheEntryMachine`; create one cache per kind of data at module scope.
254
+ */
255
+ export function createChartCache<T, K = string>(options: ChartCacheOptions<T, K>): ChartCache<T, K> {
256
+ if (!isCacheableId(options.id)) throw new Error(`refusing to cache "${options.id}": secrets, keys and spend decisions are never cached`)
257
+ const keyOf = options.keyOf ?? defaultKeyOf
258
+ const maxEntries = Math.max(1, options.maxEntries ?? 100)
259
+ const ttlOf = typeof options.ttl === 'function' ? options.ttl : () => options.ttl as number
260
+ const machine = createCacheEntryMachine<T, K>().provide({
261
+ actors: { load: fromPromise<T, { key: K }>(({ input, signal }) => options.load(input.key, { signal })) },
262
+ })
263
+ const slots = new Map<string, Slot<T, K>>()
264
+ let clock = 0
265
+
266
+ const busy = (slot: Slot<T, K>) => slot.view.state === 'loading' || slot.view.state === 'refreshing'
267
+
268
+ const evict = (keep?: Slot<T, K>) => {
269
+ if (slots.size <= maxEntries) return
270
+ const idle = [...slots.entries()]
271
+ .filter(([, slot]) => slot !== keep && slot.listeners.size === 0 && !busy(slot))
272
+ .sort((a, b) => a[1].usedAt - b[1].usedAt)
273
+ for (const [id, slot] of idle) {
274
+ if (slots.size <= maxEntries) break
275
+ slot.actor.stop()
276
+ slots.delete(id)
277
+ }
278
+ }
279
+
280
+ const slotFor = (key: K): Slot<T, K> => {
281
+ const id = keyOf(key)
282
+ const existing = slots.get(id)
283
+ if (existing) {
284
+ existing.usedAt = ++clock
285
+ return existing
286
+ }
287
+ const actor = createActor(machine, { input: { key, ttl: ttlOf(key), now: options.now } })
288
+ const slot: Slot<T, K> = { key, tags: options.tags?.(key) ?? [], actor, view: IDLE_VIEW, listeners: new Set(), usedAt: ++clock }
289
+ actor.subscribe((snapshot) => {
290
+ const next = viewOf(snapshot, slot.view)
291
+ if (next === slot.view) return
292
+ slot.view = next
293
+ for (const listener of [...slot.listeners]) listener(next)
294
+ })
295
+ slots.set(id, slot)
296
+ actor.start()
297
+ evict(slot)
298
+ return slot
299
+ }
300
+
301
+ const invalidateSlot = (slot: Slot<T, K>) => slot.actor.send({ type: 'INVALIDATE', refetch: slot.listeners.size > 0 })
302
+
303
+ const cache: Omit<ChartCache<T, K>, 'actor' | 'size'> & { actor?: ChartCache<T, K>['actor'] } = {
304
+ id: options.id,
305
+ peek: (key) => slots.get(keyOf(key))?.view ?? IDLE_VIEW,
306
+ fetch: (key) => slotFor(key).actor.send({ type: 'FETCH' }),
307
+ refresh: (key) => slotFor(key).actor.send({ type: 'REFRESH' }),
308
+ read: (key) =>
309
+ new Promise<T>((resolve, reject) => {
310
+ const slot = slotFor(key)
311
+ const settle = (view: CacheView<T>) => {
312
+ if (view.loadedAt !== null && view.state !== 'loading') resolve(view.data as T)
313
+ else if (view.state === 'failed') reject(new Error(view.error ?? `${options.id} failed to load`))
314
+ else return false
315
+ return true
316
+ }
317
+ slot.actor.send({ type: 'FETCH' })
318
+ if (settle(slot.view)) return
319
+ const stop = cache.subscribe(key, (view) => {
320
+ if (settle(view)) stop()
321
+ })
322
+ }),
323
+ invalidate: (target) => {
324
+ if ('key' in target) {
325
+ const slot = slots.get(keyOf(target.key))
326
+ if (slot) invalidateSlot(slot)
327
+ return
328
+ }
329
+ for (const slot of slots.values()) if (slot.tags.includes(target.tag)) invalidateSlot(slot)
330
+ },
331
+ clear: () => {
332
+ for (const [id, slot] of [...slots.entries()]) {
333
+ slot.actor.send({ type: 'CLEAR' })
334
+ if (slot.listeners.size === 0) {
335
+ slot.actor.stop()
336
+ slots.delete(id)
337
+ }
338
+ }
339
+ },
340
+ subscribe: (key, listener) => {
341
+ const slot = slotFor(key)
342
+ slot.listeners.add(listener)
343
+ return () => {
344
+ slot.listeners.delete(listener)
345
+ evict()
346
+ }
347
+ },
348
+ send: (command) => {
349
+ switch (command.type) {
350
+ case 'CACHE.FETCH':
351
+ if (command.key !== undefined) cache.fetch(command.key)
352
+ return
353
+ case 'CACHE.REFRESH':
354
+ if (command.key !== undefined) cache.refresh(command.key)
355
+ return
356
+ case 'CACHE.INVALIDATE':
357
+ if (command.tag !== undefined) cache.invalidate({ tag: command.tag })
358
+ else if (command.key !== undefined) cache.invalidate({ key: command.key })
359
+ return
360
+ case 'CACHE.KEY':
361
+ cache.fetch(command.key)
362
+ return
363
+ case 'CACHE.CLEAR':
364
+ cache.clear()
365
+ return
366
+ }
367
+ },
368
+ }
369
+
370
+ cache.actor = fromCallback<CacheCommand<K>, { key: K; fetch?: boolean }>(({ input, sendBack, receive }) => {
371
+ let key = input.key
372
+ let stop = () => {}
373
+ const watch = (next: K, fetch: boolean) => {
374
+ stop()
375
+ key = next
376
+ const report = (view: CacheView<T>) => sendBack({ type: 'CACHE.UPDATE', cache: options.id, key: next, view } satisfies CacheUpdate<T, K>)
377
+ stop = cache.subscribe(next, report)
378
+ report(cache.peek(next))
379
+ if (fetch) cache.fetch(next)
380
+ }
381
+ watch(key, input.fetch !== false)
382
+ receive((command) => {
383
+ if (command.type === 'CACHE.KEY') {
384
+ if (keyOf(command.key) !== keyOf(key)) watch(command.key, true)
385
+ return
386
+ }
387
+ if (command.type === 'CACHE.CLEAR') return cache.clear()
388
+ if (command.type === 'CACHE.INVALIDATE' && command.tag !== undefined) return cache.send(command)
389
+ cache.send({ ...command, key: command.key ?? key } as CacheCommand<K>)
390
+ })
391
+ return () => stop()
392
+ })
393
+
394
+ return Object.defineProperty(cache, 'size', { get: () => slots.size, enumerable: true }) as ChartCache<T, K>
395
+ }
@@ -0,0 +1,56 @@
1
+ import { playSound } from '@aeon-ui/core'
2
+ import { fromPromise, setup } from 'xstate'
3
+
4
+ /**
5
+ * Copy-to-clipboard feedback.
6
+ *
7
+ * Events: COPY { value } writes `value` to the system clipboard.
8
+ * States: idle → copying → copied | failed, back to idle after `timeout` ms. COPY again restarts.
9
+ * Entering copied / failed plays the `copy` / `error` sound (silent unless the app enabled sounds).
10
+ */
11
+ export interface ClipboardContext {
12
+ /** How long `copied` / `failed` show before returning to idle, in ms. */
13
+ timeout: number
14
+ }
15
+
16
+ export type ClipboardEvent = { type: 'COPY'; value: string }
17
+
18
+ export const CLIPBOARD_STATES = ['idle', 'copying', 'copied', 'failed'] as const
19
+ export type ClipboardStatus = (typeof CLIPBOARD_STATES)[number]
20
+
21
+ export const clipboardMachine = setup({
22
+ types: {
23
+ context: {} as ClipboardContext,
24
+ events: {} as ClipboardEvent,
25
+ input: {} as Partial<ClipboardContext> | undefined,
26
+ },
27
+ actors: {
28
+ write: fromPromise<void, { value: string }>(async ({ input }) => {
29
+ await navigator.clipboard.writeText(input.value)
30
+ }),
31
+ },
32
+ actions: {
33
+ soundCopied: () => playSound('copy'),
34
+ soundFailed: () => playSound('error'),
35
+ },
36
+ delays: {
37
+ timeout: ({ context }) => context.timeout,
38
+ },
39
+ }).createMachine({
40
+ id: 'clipboard',
41
+ context: ({ input }) => ({ timeout: input?.timeout ?? 1500 }),
42
+ initial: 'idle',
43
+ states: {
44
+ idle: { on: { COPY: 'copying' } },
45
+ copying: {
46
+ invoke: {
47
+ src: 'write',
48
+ input: ({ event }) => ({ value: (event as ClipboardEvent).value }),
49
+ onDone: 'copied',
50
+ onError: 'failed',
51
+ },
52
+ },
53
+ copied: { entry: 'soundCopied', after: { timeout: 'idle' }, on: { COPY: 'copying' } },
54
+ failed: { entry: 'soundFailed', after: { timeout: 'idle' }, on: { COPY: 'copying' } },
55
+ },
56
+ })
@@ -1,12 +1,12 @@
1
1
  import * as react from 'react';
2
- import { ButtonHTMLAttributes, ReactNode, HTMLAttributes, InputHTMLAttributes, LabelHTMLAttributes, TextareaHTMLAttributes, RefObject, ImgHTMLAttributes, FormHTMLAttributes } from 'react';
2
+ import { ButtonHTMLAttributes, ReactNode, HTMLAttributes, InputHTMLAttributes, TextareaHTMLAttributes, CSSProperties, ForwardedRef, LabelHTMLAttributes, RefObject, ImgHTMLAttributes, FormHTMLAttributes } from 'react';
3
3
  import * as xstate from 'xstate';
4
4
  import { AnyStateMachine } from 'xstate';
5
5
  import { useMachine } from '@xstate/react';
6
6
  import * as react_jsx_runtime from 'react/jsx-runtime';
7
7
  import { AsyncContext, ContentRegionState, AppNavChild, StickyBarState } from '@aeon-ui/primitives';
8
8
  export { AppNavChild, AppNavContext, createAsyncMachine, fieldMachine } from '@aeon-ui/primitives';
9
- import { fieldFace, AeonColorMode, ResponsiveLayoutSpec, LayoutMode, LayoutCompositionSpec } from '@aeon-ui/core';
9
+ import { fieldFace, ListWindowAxis, ListWindow, AeonColorMode, ResponsiveLayoutSpec, LayoutMode, LayoutCompositionSpec } from '@aeon-ui/core';
10
10
  export { AeonColorMode as AeonMode } from '@aeon-ui/core';
11
11
 
12
12
  /** Action button lifecycle — see STATES.md and `buttonLifecycleMachine`. */
@@ -134,7 +134,7 @@ declare const StatusBanner: {
134
134
  Action: react.ForwardRefExoticComponent<ButtonHTMLAttributes<HTMLButtonElement> & react.RefAttributes<HTMLButtonElement>>;
135
135
  };
136
136
 
137
- interface TabsRootProps {
137
+ interface TabsRootProps extends Omit<HTMLAttributes<HTMLDivElement>, 'defaultValue' | 'onChange' | 'children'> {
138
138
  value?: string;
139
139
  defaultValue?: string;
140
140
  onValueChange?: (value: string) => void;
@@ -162,6 +162,64 @@ declare const Separator: {
162
162
  Root: react.ForwardRefExoticComponent<SeparatorRootProps & react.RefAttributes<HTMLDivElement>>;
163
163
  };
164
164
 
165
+ type ProseRootProps = HTMLAttributes<HTMLDivElement>;
166
+ declare const Prose: {
167
+ Root: react.ForwardRefExoticComponent<ProseRootProps & react.RefAttributes<HTMLDivElement>>;
168
+ };
169
+
170
+ /** Row limits as the CSS variables Aeon's auto-growing textareas read (Textarea, Composer.Input). */
171
+ declare function rowLimits(minRows?: number, maxRows?: number): CSSProperties;
172
+ /**
173
+ * Grows a textarea to its content where CSS `field-sizing` is missing (Firefox); the recipe's
174
+ * min / max height still clamp it. Spread the result onto the textarea.
175
+ */
176
+ declare function useAutoGrow(forwarded: ForwardedRef<HTMLTextAreaElement>, value: unknown): {
177
+ ref: (el: HTMLTextAreaElement | null) => void;
178
+ onInput: () => void;
179
+ };
180
+ interface TextareaRootProps extends TextareaHTMLAttributes<HTMLTextAreaElement> {
181
+ /** Height floor in lines. */
182
+ minRows?: number;
183
+ /** Height ceiling in lines; past it the textarea scrolls. Omit to grow without limit. */
184
+ maxRows?: number;
185
+ }
186
+ declare const Textarea: {
187
+ Root: react.ForwardRefExoticComponent<TextareaRootProps & react.RefAttributes<HTMLTextAreaElement>>;
188
+ };
189
+
190
+ interface SegmentGroupRootProps extends Omit<HTMLAttributes<HTMLDivElement>, 'defaultValue' | 'onChange'> {
191
+ value?: string;
192
+ defaultValue?: string;
193
+ onValueChange?: (value: string) => void;
194
+ disabled?: boolean;
195
+ orientation?: 'horizontal' | 'vertical';
196
+ }
197
+ interface SegmentGroupItemProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'value'> {
198
+ value: string;
199
+ }
200
+ declare const SegmentGroup: {
201
+ Root: react.ForwardRefExoticComponent<SegmentGroupRootProps & react.RefAttributes<HTMLDivElement>>;
202
+ Item: react.ForwardRefExoticComponent<SegmentGroupItemProps & react.RefAttributes<HTMLButtonElement>>;
203
+ };
204
+
205
+ /** Read the copy status from any part inside Clipboard.Root. */
206
+ declare const useClipboardStatus: () => "idle" | "copying" | "copied" | "failed";
207
+ interface ClipboardRootProps extends HTMLAttributes<HTMLDivElement> {
208
+ /** Text written to the clipboard; read at the moment of copying. */
209
+ value: string;
210
+ /** How long copied / failed show, in ms. */
211
+ timeout?: number;
212
+ }
213
+ interface ClipboardIndicatorProps extends HTMLAttributes<HTMLSpanElement> {
214
+ /** Shown while copied; `children` show otherwise. */
215
+ copied?: ReactNode;
216
+ }
217
+ declare const Clipboard: {
218
+ Root: react.ForwardRefExoticComponent<ClipboardRootProps & react.RefAttributes<HTMLDivElement>>;
219
+ Trigger: react.ForwardRefExoticComponent<ButtonHTMLAttributes<HTMLButtonElement> & react.RefAttributes<HTMLButtonElement>>;
220
+ Indicator: react.ForwardRefExoticComponent<ClipboardIndicatorProps & react.RefAttributes<HTMLSpanElement>>;
221
+ };
222
+
165
223
  interface ProgressRootProps extends HTMLAttributes<HTMLDivElement> {
166
224
  value?: number;
167
225
  max?: number;
@@ -176,7 +234,7 @@ declare const Progress: {
176
234
  Label: react.ForwardRefExoticComponent<HTMLAttributes<HTMLSpanElement> & react.RefAttributes<HTMLSpanElement>>;
177
235
  };
178
236
 
179
- interface RadioGroupRootProps {
237
+ interface RadioGroupRootProps extends Omit<HTMLAttributes<HTMLDivElement>, 'defaultValue' | 'onChange' | 'children'> {
180
238
  value?: string;
181
239
  defaultValue?: string;
182
240
  onValueChange?: (value: string) => void;
@@ -472,6 +530,33 @@ declare const Field: {
472
530
  /** Subscribe to scroll + resize; returns data-aeon-state value for a viewport. */
473
531
  declare function useScrollState(ref: RefObject<HTMLElement | null>): string;
474
532
 
533
+ interface UseWindowedRangeOptions {
534
+ total: number;
535
+ /** Fallback row pitch, used until a row can be measured. */
536
+ itemExtent: number;
537
+ /** Fallback column count for grids; the real count is read from the grid. */
538
+ columns?: number;
539
+ overscan?: number;
540
+ /** Restrict measuring to real rows when the list also holds other chrome. */
541
+ rowSelector?: string;
542
+ minItems?: number;
543
+ /** `x` windows a horizontal strip by item width; columns do not apply. */
544
+ axis?: ListWindowAxis;
545
+ /** The list element itself; its scrollable ancestor drives the window. */
546
+ scrollRef: RefObject<HTMLElement | null>;
547
+ }
548
+ /**
549
+ * Windowed slice for long lists and grids. Render `items.slice(start, end)`
550
+ * between spacers of `padStart` / `padEnd` (spread `listWindowPadAttrs`) or
551
+ * as list padding; each row keeps its own data-aeon-* projection.
552
+ *
553
+ * The first render windows from the hints, so a long list never mounts whole.
554
+ * Measuring reads layout, so it runs at most once per frame, and the window is
555
+ * published only when it moves: a scroll inside the current window renders
556
+ * nothing.
557
+ */
558
+ declare function useWindowedRange(options: UseWindowedRangeOptions): ListWindow;
559
+
475
560
  interface ScrollContextValue {
476
561
  stateAttr: string;
477
562
  }
@@ -488,6 +573,10 @@ declare const Scroll: {
488
573
  Content: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & react.RefAttributes<HTMLDivElement>>;
489
574
  };
490
575
 
576
+ type AnchorSide = 'top' | 'bottom';
577
+ type AnchorAlign = 'start' | 'end' | 'center';
578
+ type AnchorPlacement = `${AnchorSide}-${AnchorAlign}`;
579
+
491
580
  interface SelectRootProps {
492
581
  value: string;
493
582
  onValueChange?: (value: string) => void;
@@ -498,6 +587,11 @@ interface SelectRootProps {
498
587
  interface SelectPositionerProps extends HTMLAttributes<HTMLDivElement> {
499
588
  /** Mount listbox in document.body (default true). */
500
589
  portalled?: boolean;
590
+ placement?: AnchorPlacement;
591
+ /** Align to this region rather than the trigger. See `FloatingPositioner`. */
592
+ anchorRef?: RefObject<HTMLElement | null>;
593
+ /** Size the listbox to the anchor (default true). */
594
+ matchAnchorWidth?: boolean;
501
595
  children?: ReactNode;
502
596
  }
503
597
  interface SelectContentProps extends HTMLAttributes<HTMLDivElement> {
@@ -540,10 +634,6 @@ declare const Combobox: {
540
634
  Empty: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & react.RefAttributes<HTMLDivElement>>;
541
635
  };
542
636
 
543
- type AnchorSide = 'top' | 'bottom';
544
- type AnchorAlign = 'start' | 'end' | 'center';
545
- type AnchorPlacement = `${AnchorSide}-${AnchorAlign}`;
546
-
547
637
  interface PopoverRootProps {
548
638
  open?: boolean;
549
639
  defaultOpen?: boolean;
@@ -900,9 +990,15 @@ interface ComposerRootProps extends FormHTMLAttributes<HTMLFormElement> {
900
990
  state?: ComposerState;
901
991
  children?: ReactNode;
902
992
  }
993
+ interface ComposerInputProps extends TextareaHTMLAttributes<HTMLTextAreaElement> {
994
+ /** Height floor in lines (default 1). */
995
+ minRows?: number;
996
+ /** Height ceiling in lines before the input scrolls (default 4). */
997
+ maxRows?: number;
998
+ }
903
999
  declare const Composer: {
904
1000
  Root: react.ForwardRefExoticComponent<ComposerRootProps & react.RefAttributes<HTMLFormElement>>;
905
- Input: react.ForwardRefExoticComponent<TextareaHTMLAttributes<HTMLTextAreaElement> & react.RefAttributes<HTMLTextAreaElement>>;
1001
+ Input: react.ForwardRefExoticComponent<ComposerInputProps & react.RefAttributes<HTMLTextAreaElement>>;
906
1002
  Actions: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & react.RefAttributes<HTMLDivElement>>;
907
1003
  Send: react.ForwardRefExoticComponent<HTMLAttributes<HTMLSpanElement> & react.RefAttributes<HTMLSpanElement>>;
908
1004
  Toolbar: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & react.RefAttributes<HTMLDivElement>>;
@@ -1211,4 +1307,4 @@ declare const Slot: react.ForwardRefExoticComponent<HTMLAttributes<HTMLElement>
1211
1307
  children?: ReactNode;
1212
1308
  } & react.RefAttributes<HTMLElement>>;
1213
1309
 
1214
- 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 SliderContextValue, 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, useSliderContext, useStickyBarContext, useToast, useToastStore };
1310
+ 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, Clipboard, type ClipboardIndicatorProps, type ClipboardRootProps, Combobox, type ComboboxItemProps, type ComboboxRootProps, Composer, type ComposerInputProps, 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, Prose, type ProseRootProps, RadioGroup, type RadioGroupItemProps, type RadioGroupRootProps, RangeSlider, type RangeSliderRootProps, type RangeSliderThumbProps, Scroll, type ScrollRootProps, type ScrollViewportProps, SegmentGroup, type SegmentGroupItemProps, type SegmentGroupRootProps, Select, type SelectContentProps, type SelectItemProps, type SelectPositionerProps, type SelectRootProps, Separator, type SeparatorRootProps, Slider, type SliderContextValue, type SliderRootProps, Slot, StatusBanner, type StatusBannerRootProps, type StatusBannerTone, StickyBar, type StickyBarRootProps, Switch, type SwitchRootProps, Tabs, type TabsContentProps, type TabsRootProps, type TabsTriggerProps, Textarea, type TextareaRootProps, 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, type UseWindowedRangeOptions, asyncStatusToContentState, rowLimits, useAeonMachine, useAppNav, useAppNavMachine, useAppShellContext, useAsyncContext, useAutoGrow, useClipboardStatus, useContentContext, useFieldContext, useFileUploadCtx as useFileUpload, useFitText, useLayoutMode, useScrollContext, useScrollState, useSliderContext, useStickyBarContext, useToast, useToastStore, useWindowedRange };