aeon-ui-engine 1.0.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 (430) hide show
  1. package/.changeset/README.md +23 -0
  2. package/.changeset/combobox-and-changesets.md +9 -0
  3. package/.changeset/config.json +30 -0
  4. package/.changeset/framework-adapters.md +12 -0
  5. package/.changeset/scene-3d.md +6 -0
  6. package/.changeset/scene-plane.md +8 -0
  7. package/.changeset/site-og.md +5 -0
  8. package/.cursor/rules/aeon-ui.mdc +22 -0
  9. package/ACCESSIBILITY.md +32 -0
  10. package/AGENTS.md +226 -0
  11. package/COMPONENTS.md +36 -0
  12. package/FRAMEWORKS.md +57 -0
  13. package/INTEGRATION.md +89 -0
  14. package/LICENSE +21 -0
  15. package/PHILOSOPHY.md +71 -0
  16. package/PUBLISHING.md +85 -0
  17. package/README.md +154 -0
  18. package/SCENE.md +113 -0
  19. package/STATES.md +243 -0
  20. package/apps/demo/index.html +31 -0
  21. package/apps/demo/og.config.mjs +15 -0
  22. package/apps/demo/package.json +41 -0
  23. package/apps/demo/public/favicon.svg +16 -0
  24. package/apps/demo/public/og.png +0 -0
  25. package/apps/demo/public/og.svg +35 -0
  26. package/apps/demo/scripts/generate-og-png.mjs +60 -0
  27. package/apps/demo/src/App.tsx +31 -0
  28. package/apps/demo/src/aeonDiagrams.ts +100 -0
  29. package/apps/demo/src/app.css +16 -0
  30. package/apps/demo/src/components/ActionCluster.tsx +20 -0
  31. package/apps/demo/src/components/AsyncMachineDemo.tsx +97 -0
  32. package/apps/demo/src/components/ButtonLifecycleDemo.tsx +63 -0
  33. package/apps/demo/src/components/CodeExample.tsx +7 -0
  34. package/apps/demo/src/components/ComboboxDemo.tsx +30 -0
  35. package/apps/demo/src/components/DiagramsSection.tsx +38 -0
  36. package/apps/demo/src/components/FieldStateDemo.tsx +51 -0
  37. package/apps/demo/src/components/GridMesh.tsx +8 -0
  38. package/apps/demo/src/components/HeroInstall.tsx +10 -0
  39. package/apps/demo/src/components/LandingFaq.tsx +29 -0
  40. package/apps/demo/src/components/LandingFooter.tsx +22 -0
  41. package/apps/demo/src/components/LandingHeader.tsx +60 -0
  42. package/apps/demo/src/components/LandingHero.tsx +55 -0
  43. package/apps/demo/src/components/LayersSection.tsx +51 -0
  44. package/apps/demo/src/components/MermaidDiagram.tsx +84 -0
  45. package/apps/demo/src/components/PhilosophySection.tsx +33 -0
  46. package/apps/demo/src/components/PlaygroundBlock.tsx +23 -0
  47. package/apps/demo/src/components/PlaygroundSection.tsx +204 -0
  48. package/apps/demo/src/components/SceneSection.tsx +157 -0
  49. package/apps/demo/src/components/ScrollRegionDemo.tsx +74 -0
  50. package/apps/demo/src/components/ThemeSwitcher.tsx +76 -0
  51. package/apps/demo/src/demo-layout.css +264 -0
  52. package/apps/demo/src/landing.css +1094 -0
  53. package/apps/demo/src/main.tsx +14 -0
  54. package/apps/demo/src/nav.ts +9 -0
  55. package/apps/demo/src/site.ts +347 -0
  56. package/apps/demo/tsconfig.json +17 -0
  57. package/apps/demo/vite-plugins/og-meta.ts +30 -0
  58. package/apps/demo/vite.config.ts +69 -0
  59. package/docs/API_PATTERNS.md +234 -0
  60. package/docs/ARCHITECTURE.md +125 -0
  61. package/docs/COMPONENT_CHECKLIST.md +103 -0
  62. package/docs/FILE_MAP.md +122 -0
  63. package/docs/GLOSSARY.md +125 -0
  64. package/docs/INDEX.md +53 -0
  65. package/docs/LAYOUT_COORDINATES.md +178 -0
  66. package/docs/MACHINES.md +166 -0
  67. package/docs/MIGRATION_FROM_ARK.md +295 -0
  68. package/docs/VITE_CONSUMER.md +114 -0
  69. package/package.json +25 -0
  70. package/packages/core/README.md +69 -0
  71. package/packages/core/package.json +37 -0
  72. package/packages/core/src/anatomy.ts +144 -0
  73. package/packages/core/src/attrs.ts +47 -0
  74. package/packages/core/src/index.ts +8 -0
  75. package/packages/core/src/layout.ts +176 -0
  76. package/packages/core/src/machine.test.ts +18 -0
  77. package/packages/core/src/machine.ts +15 -0
  78. package/packages/core/src/philosophy.ts +10 -0
  79. package/packages/core/src/scroll.ts +72 -0
  80. package/packages/core/src/theme.test.ts +14 -0
  81. package/packages/core/src/theme.ts +53 -0
  82. package/packages/core/src/types.ts +25 -0
  83. package/packages/core/theme-transition.css +58 -0
  84. package/packages/core/tsconfig.json +8 -0
  85. package/packages/core/vitest.config.ts +8 -0
  86. package/packages/geometry/README.md +7 -0
  87. package/packages/geometry/package.json +35 -0
  88. package/packages/geometry/src/index.ts +3 -0
  89. package/packages/geometry/src/patterns.ts +55 -0
  90. package/packages/geometry/src/scene-attrs.ts +11 -0
  91. package/packages/geometry/src/svg.ts +60 -0
  92. package/packages/geometry/tsconfig.json +8 -0
  93. package/packages/panda/README.md +66 -0
  94. package/packages/panda/package.json +40 -0
  95. package/packages/panda/panda.config.ts +229 -0
  96. package/packages/panda/scripts/emit-theme-runtime.ts +37 -0
  97. package/packages/panda/src/recipes/accordion.ts +95 -0
  98. package/packages/panda/src/recipes/async.ts +76 -0
  99. package/packages/panda/src/recipes/badge.ts +44 -0
  100. package/packages/panda/src/recipes/button-group.ts +33 -0
  101. package/packages/panda/src/recipes/button.ts +91 -0
  102. package/packages/panda/src/recipes/checkbox.ts +41 -0
  103. package/packages/panda/src/recipes/combobox.ts +121 -0
  104. package/packages/panda/src/recipes/dialog.ts +96 -0
  105. package/packages/panda/src/recipes/field-shared.ts +29 -0
  106. package/packages/panda/src/recipes/field.ts +72 -0
  107. package/packages/panda/src/recipes/floating.ts +170 -0
  108. package/packages/panda/src/recipes/index.ts +14 -0
  109. package/packages/panda/src/recipes/scroll-region.ts +55 -0
  110. package/packages/panda/src/recipes/select.ts +111 -0
  111. package/packages/panda/src/recipes/switch.ts +51 -0
  112. package/packages/panda/src/recipes/tabs.ts +50 -0
  113. package/packages/panda/src/theme/catalog-types.ts +24 -0
  114. package/packages/panda/src/theme/catalog.ts +73 -0
  115. package/packages/panda/src/theme/chrome.css +75 -0
  116. package/packages/panda/src/theme/global-theme-css.ts +42 -0
  117. package/packages/panda/src/theme/index.ts +5 -0
  118. package/packages/panda/src/theme/palette.ts +65 -0
  119. package/packages/panda/src/theme/scrollbars.css +96 -0
  120. package/packages/panda/src/theme/semantic-tokens.ts +17 -0
  121. package/packages/panda/src/theme/themes.config.ts +516 -0
  122. package/packages/panda/src/theme/tokens.ts +51 -0
  123. package/packages/panda/styled-system/css/conditions.mjs +36 -0
  124. package/packages/panda/styled-system/css/css.d.ts +22 -0
  125. package/packages/panda/styled-system/css/css.mjs +45 -0
  126. package/packages/panda/styled-system/css/cva.d.ts +6 -0
  127. package/packages/panda/styled-system/css/cva.mjs +87 -0
  128. package/packages/panda/styled-system/css/cx.d.ts +5 -0
  129. package/packages/panda/styled-system/css/cx.mjs +15 -0
  130. package/packages/panda/styled-system/css/index.d.ts +5 -0
  131. package/packages/panda/styled-system/css/index.mjs +4 -0
  132. package/packages/panda/styled-system/css/sva.d.ts +4 -0
  133. package/packages/panda/styled-system/css/sva.mjs +41 -0
  134. package/packages/panda/styled-system/helpers.mjs +339 -0
  135. package/packages/panda/styled-system/jsx/aspect-ratio.d.ts +10 -0
  136. package/packages/panda/styled-system/jsx/aspect-ratio.mjs +14 -0
  137. package/packages/panda/styled-system/jsx/bleed.d.ts +10 -0
  138. package/packages/panda/styled-system/jsx/bleed.mjs +14 -0
  139. package/packages/panda/styled-system/jsx/box.d.ts +10 -0
  140. package/packages/panda/styled-system/jsx/box.mjs +14 -0
  141. package/packages/panda/styled-system/jsx/center.d.ts +10 -0
  142. package/packages/panda/styled-system/jsx/center.mjs +14 -0
  143. package/packages/panda/styled-system/jsx/circle.d.ts +10 -0
  144. package/packages/panda/styled-system/jsx/circle.mjs +14 -0
  145. package/packages/panda/styled-system/jsx/container.d.ts +10 -0
  146. package/packages/panda/styled-system/jsx/container.mjs +14 -0
  147. package/packages/panda/styled-system/jsx/cq.d.ts +10 -0
  148. package/packages/panda/styled-system/jsx/cq.mjs +14 -0
  149. package/packages/panda/styled-system/jsx/divider.d.ts +10 -0
  150. package/packages/panda/styled-system/jsx/divider.mjs +14 -0
  151. package/packages/panda/styled-system/jsx/factory-helper.mjs +22 -0
  152. package/packages/panda/styled-system/jsx/factory.d.ts +3 -0
  153. package/packages/panda/styled-system/jsx/factory.mjs +80 -0
  154. package/packages/panda/styled-system/jsx/flex.d.ts +10 -0
  155. package/packages/panda/styled-system/jsx/flex.mjs +14 -0
  156. package/packages/panda/styled-system/jsx/float.d.ts +10 -0
  157. package/packages/panda/styled-system/jsx/float.mjs +14 -0
  158. package/packages/panda/styled-system/jsx/grid-item.d.ts +10 -0
  159. package/packages/panda/styled-system/jsx/grid-item.mjs +14 -0
  160. package/packages/panda/styled-system/jsx/grid.d.ts +10 -0
  161. package/packages/panda/styled-system/jsx/grid.mjs +14 -0
  162. package/packages/panda/styled-system/jsx/hstack.d.ts +10 -0
  163. package/packages/panda/styled-system/jsx/hstack.mjs +14 -0
  164. package/packages/panda/styled-system/jsx/index.d.ts +24 -0
  165. package/packages/panda/styled-system/jsx/index.mjs +22 -0
  166. package/packages/panda/styled-system/jsx/is-valid-prop.d.ts +11 -0
  167. package/packages/panda/styled-system/jsx/is-valid-prop.mjs +17 -0
  168. package/packages/panda/styled-system/jsx/link-overlay.d.ts +10 -0
  169. package/packages/panda/styled-system/jsx/link-overlay.mjs +14 -0
  170. package/packages/panda/styled-system/jsx/spacer.d.ts +10 -0
  171. package/packages/panda/styled-system/jsx/spacer.mjs +14 -0
  172. package/packages/panda/styled-system/jsx/square.d.ts +10 -0
  173. package/packages/panda/styled-system/jsx/square.mjs +14 -0
  174. package/packages/panda/styled-system/jsx/stack.d.ts +10 -0
  175. package/packages/panda/styled-system/jsx/stack.mjs +14 -0
  176. package/packages/panda/styled-system/jsx/visually-hidden.d.ts +10 -0
  177. package/packages/panda/styled-system/jsx/visually-hidden.mjs +14 -0
  178. package/packages/panda/styled-system/jsx/vstack.d.ts +10 -0
  179. package/packages/panda/styled-system/jsx/vstack.mjs +14 -0
  180. package/packages/panda/styled-system/jsx/wrap.d.ts +10 -0
  181. package/packages/panda/styled-system/jsx/wrap.mjs +14 -0
  182. package/packages/panda/styled-system/patterns/aspect-ratio.d.ts +21 -0
  183. package/packages/panda/styled-system/patterns/aspect-ratio.mjs +38 -0
  184. package/packages/panda/styled-system/patterns/bleed.d.ts +22 -0
  185. package/packages/panda/styled-system/patterns/bleed.mjs +24 -0
  186. package/packages/panda/styled-system/patterns/box.d.ts +21 -0
  187. package/packages/panda/styled-system/patterns/box.mjs +15 -0
  188. package/packages/panda/styled-system/patterns/center.d.ts +21 -0
  189. package/packages/panda/styled-system/patterns/center.mjs +21 -0
  190. package/packages/panda/styled-system/patterns/circle.d.ts +21 -0
  191. package/packages/panda/styled-system/patterns/circle.mjs +25 -0
  192. package/packages/panda/styled-system/patterns/container.d.ts +21 -0
  193. package/packages/panda/styled-system/patterns/container.mjs +21 -0
  194. package/packages/panda/styled-system/patterns/cq.d.ts +22 -0
  195. package/packages/panda/styled-system/patterns/cq.mjs +21 -0
  196. package/packages/panda/styled-system/patterns/divider.d.ts +23 -0
  197. package/packages/panda/styled-system/patterns/divider.mjs +25 -0
  198. package/packages/panda/styled-system/patterns/flex.d.ts +27 -0
  199. package/packages/panda/styled-system/patterns/flex.mjs +26 -0
  200. package/packages/panda/styled-system/patterns/float.d.ts +24 -0
  201. package/packages/panda/styled-system/patterns/float.mjs +52 -0
  202. package/packages/panda/styled-system/patterns/grid-item.d.ts +26 -0
  203. package/packages/panda/styled-system/patterns/grid-item.mjs +25 -0
  204. package/packages/panda/styled-system/patterns/grid.d.ts +25 -0
  205. package/packages/panda/styled-system/patterns/grid.mjs +27 -0
  206. package/packages/panda/styled-system/patterns/hstack.d.ts +22 -0
  207. package/packages/panda/styled-system/patterns/hstack.mjs +24 -0
  208. package/packages/panda/styled-system/patterns/index.d.ts +21 -0
  209. package/packages/panda/styled-system/patterns/index.mjs +20 -0
  210. package/packages/panda/styled-system/patterns/link-overlay.d.ts +21 -0
  211. package/packages/panda/styled-system/patterns/link-overlay.mjs +24 -0
  212. package/packages/panda/styled-system/patterns/spacer.d.ts +21 -0
  213. package/packages/panda/styled-system/patterns/spacer.mjs +21 -0
  214. package/packages/panda/styled-system/patterns/square.d.ts +21 -0
  215. package/packages/panda/styled-system/patterns/square.mjs +24 -0
  216. package/packages/panda/styled-system/patterns/stack.d.ts +24 -0
  217. package/packages/panda/styled-system/patterns/stack.mjs +24 -0
  218. package/packages/panda/styled-system/patterns/visually-hidden.d.ts +21 -0
  219. package/packages/panda/styled-system/patterns/visually-hidden.mjs +18 -0
  220. package/packages/panda/styled-system/patterns/vstack.d.ts +22 -0
  221. package/packages/panda/styled-system/patterns/vstack.mjs +24 -0
  222. package/packages/panda/styled-system/patterns/wrap.d.ts +25 -0
  223. package/packages/panda/styled-system/patterns/wrap.mjs +25 -0
  224. package/packages/panda/styled-system/recipes/aeon-accordion.d.ts +32 -0
  225. package/packages/panda/styled-system/recipes/aeon-accordion.mjs +48 -0
  226. package/packages/panda/styled-system/recipes/aeon-async.d.ts +32 -0
  227. package/packages/panda/styled-system/recipes/aeon-async.mjs +56 -0
  228. package/packages/panda/styled-system/recipes/aeon-badge.d.ts +31 -0
  229. package/packages/panda/styled-system/recipes/aeon-badge.mjs +32 -0
  230. package/packages/panda/styled-system/recipes/aeon-button-group.d.ts +39 -0
  231. package/packages/panda/styled-system/recipes/aeon-button-group.mjs +37 -0
  232. package/packages/panda/styled-system/recipes/aeon-button.d.ts +39 -0
  233. package/packages/panda/styled-system/recipes/aeon-button.mjs +39 -0
  234. package/packages/panda/styled-system/recipes/aeon-checkbox.d.ts +28 -0
  235. package/packages/panda/styled-system/recipes/aeon-checkbox.mjs +48 -0
  236. package/packages/panda/styled-system/recipes/aeon-combobox.d.ts +32 -0
  237. package/packages/panda/styled-system/recipes/aeon-combobox.mjs +52 -0
  238. package/packages/panda/styled-system/recipes/aeon-dialog.d.ts +28 -0
  239. package/packages/panda/styled-system/recipes/aeon-dialog.mjs +60 -0
  240. package/packages/panda/styled-system/recipes/aeon-field.d.ts +32 -0
  241. package/packages/panda/styled-system/recipes/aeon-field.mjs +52 -0
  242. package/packages/panda/styled-system/recipes/aeon-menu.d.ts +28 -0
  243. package/packages/panda/styled-system/recipes/aeon-menu.mjs +52 -0
  244. package/packages/panda/styled-system/recipes/aeon-popover.d.ts +28 -0
  245. package/packages/panda/styled-system/recipes/aeon-popover.mjs +52 -0
  246. package/packages/panda/styled-system/recipes/aeon-scroll.d.ts +43 -0
  247. package/packages/panda/styled-system/recipes/aeon-scroll.mjs +63 -0
  248. package/packages/panda/styled-system/recipes/aeon-select.d.ts +32 -0
  249. package/packages/panda/styled-system/recipes/aeon-select.mjs +56 -0
  250. package/packages/panda/styled-system/recipes/aeon-switch.d.ts +28 -0
  251. package/packages/panda/styled-system/recipes/aeon-switch.mjs +48 -0
  252. package/packages/panda/styled-system/recipes/aeon-tabs.d.ts +28 -0
  253. package/packages/panda/styled-system/recipes/aeon-tabs.mjs +48 -0
  254. package/packages/panda/styled-system/recipes/aeon-toast.d.ts +28 -0
  255. package/packages/panda/styled-system/recipes/aeon-toast.mjs +48 -0
  256. package/packages/panda/styled-system/recipes/aeon-tooltip.d.ts +28 -0
  257. package/packages/panda/styled-system/recipes/aeon-tooltip.mjs +48 -0
  258. package/packages/panda/styled-system/recipes/create-recipe.mjs +82 -0
  259. package/packages/panda/styled-system/recipes/index.d.ts +18 -0
  260. package/packages/panda/styled-system/recipes/index.mjs +17 -0
  261. package/packages/panda/styled-system/styles.css +2157 -0
  262. package/packages/panda/styled-system/tokens/index.d.ts +9 -0
  263. package/packages/panda/styled-system/tokens/index.mjs +2156 -0
  264. package/packages/panda/styled-system/tokens/tokens.d.ts +60 -0
  265. package/packages/panda/styled-system/types/composition.d.ts +164 -0
  266. package/packages/panda/styled-system/types/conditions.d.ts +322 -0
  267. package/packages/panda/styled-system/types/csstype.d.ts +21298 -0
  268. package/packages/panda/styled-system/types/global.d.ts +20 -0
  269. package/packages/panda/styled-system/types/index.d.ts +8 -0
  270. package/packages/panda/styled-system/types/jsx.d.ts +52 -0
  271. package/packages/panda/styled-system/types/parts.d.ts +8 -0
  272. package/packages/panda/styled-system/types/pattern.d.ts +78 -0
  273. package/packages/panda/styled-system/types/prop-type.d.ts +240 -0
  274. package/packages/panda/styled-system/types/recipe.d.ts +181 -0
  275. package/packages/panda/styled-system/types/selectors.d.ts +59 -0
  276. package/packages/panda/styled-system/types/static-css.d.ts +56 -0
  277. package/packages/panda/styled-system/types/style-props.d.ts +7491 -0
  278. package/packages/panda/styled-system/types/system-types.d.ts +193 -0
  279. package/packages/panda/theme-runtime.css +842 -0
  280. package/packages/panda/tsconfig.json +8 -0
  281. package/packages/primitives/README.md +54 -0
  282. package/packages/primitives/package.json +41 -0
  283. package/packages/primitives/src/__tests__/floating-surface.test.ts +29 -0
  284. package/packages/primitives/src/index.ts +9 -0
  285. package/packages/primitives/src/machines/accordion.ts +56 -0
  286. package/packages/primitives/src/machines/async.ts +108 -0
  287. package/packages/primitives/src/machines/button.ts +66 -0
  288. package/packages/primitives/src/machines/dialog.ts +61 -0
  289. package/packages/primitives/src/machines/field.ts +85 -0
  290. package/packages/primitives/src/machines/popover.ts +52 -0
  291. package/packages/primitives/src/machines/tabs.ts +46 -0
  292. package/packages/primitives/src/machines/toast.ts +48 -0
  293. package/packages/primitives/src/machines/toggle.ts +61 -0
  294. package/packages/primitives/tsconfig.json +8 -0
  295. package/packages/primitives/vitest.config.ts +8 -0
  296. package/packages/react/README.md +65 -0
  297. package/packages/react/package.json +52 -0
  298. package/packages/react/src/accordion/index.tsx +179 -0
  299. package/packages/react/src/async/actions.tsx +22 -0
  300. package/packages/react/src/async/context.tsx +54 -0
  301. package/packages/react/src/async/index.tsx +21 -0
  302. package/packages/react/src/async/legacy-region.tsx +38 -0
  303. package/packages/react/src/async/readout.tsx +34 -0
  304. package/packages/react/src/async/root.tsx +39 -0
  305. package/packages/react/src/async/track.tsx +59 -0
  306. package/packages/react/src/avatar/avatar.test.tsx +27 -0
  307. package/packages/react/src/avatar/index.tsx +122 -0
  308. package/packages/react/src/button/index.tsx +70 -0
  309. package/packages/react/src/checkbox/index.tsx +180 -0
  310. package/packages/react/src/combobox/index.tsx +430 -0
  311. package/packages/react/src/dialog/dialog.test.tsx +50 -0
  312. package/packages/react/src/dialog/index.tsx +275 -0
  313. package/packages/react/src/field/index.tsx +172 -0
  314. package/packages/react/src/hooks/use-aeon-machine.ts +10 -0
  315. package/packages/react/src/hooks/use-anchor-position.ts +33 -0
  316. package/packages/react/src/hooks/use-focus-trap.ts +51 -0
  317. package/packages/react/src/hooks/use-layout-mode.ts +22 -0
  318. package/packages/react/src/hooks/use-outside-click.ts +19 -0
  319. package/packages/react/src/hooks/use-portalled.ts +16 -0
  320. package/packages/react/src/hooks/use-scroll-lock.ts +13 -0
  321. package/packages/react/src/index.ts +18 -0
  322. package/packages/react/src/menu/index.tsx +195 -0
  323. package/packages/react/src/popover/index.tsx +191 -0
  324. package/packages/react/src/scroll/index.tsx +98 -0
  325. package/packages/react/src/scroll/use-scroll-state.ts +30 -0
  326. package/packages/react/src/select/index.tsx +372 -0
  327. package/packages/react/src/select/select.test.tsx +60 -0
  328. package/packages/react/src/switch/index.tsx +215 -0
  329. package/packages/react/src/tabs/index.tsx +140 -0
  330. package/packages/react/src/toast/context.tsx +28 -0
  331. package/packages/react/src/toast/index.tsx +20 -0
  332. package/packages/react/src/toast/primitives.tsx +129 -0
  333. package/packages/react/src/toast/provider.tsx +111 -0
  334. package/packages/react/src/toast/toast-item.tsx +32 -0
  335. package/packages/react/src/tooltip/index.tsx +191 -0
  336. package/packages/react/src/utils/merge-props.ts +24 -0
  337. package/packages/react/tsconfig.json +8 -0
  338. package/packages/react/vitest.config.ts +9 -0
  339. package/packages/react/vitest.setup.ts +5 -0
  340. package/packages/react-scene/README.md +11 -0
  341. package/packages/react-scene/package.json +47 -0
  342. package/packages/react-scene/scene-3d.css +37 -0
  343. package/packages/react-scene/scene-room.css +95 -0
  344. package/packages/react-scene/src/index.ts +20 -0
  345. package/packages/react-scene/src/procedural-grid.tsx +35 -0
  346. package/packages/react-scene/src/scene-layer.tsx +38 -0
  347. package/packages/react-scene/src/scene-plane.tsx +69 -0
  348. package/packages/react-scene/src/scene-room.tsx +81 -0
  349. package/packages/react-scene/src/scene-root.tsx +49 -0
  350. package/packages/react-scene/src/scene-slot.tsx +41 -0
  351. package/packages/react-scene/src/scene-stage.tsx +37 -0
  352. package/packages/react-scene/src/scene-surface.tsx +20 -0
  353. package/packages/react-scene/src/signal-bars.tsx +57 -0
  354. package/packages/react-scene/src/use-signal-visualizer.ts +103 -0
  355. package/packages/react-scene/tsconfig.json +8 -0
  356. package/packages/scene/README.md +5 -0
  357. package/packages/scene/package.json +32 -0
  358. package/packages/scene/src/index.ts +2 -0
  359. package/packages/scene/src/room.ts +40 -0
  360. package/packages/scene/src/transform.ts +60 -0
  361. package/packages/scene/tsconfig.json +8 -0
  362. package/packages/signal/README.md +9 -0
  363. package/packages/signal/package.json +32 -0
  364. package/packages/signal/src/analyser.ts +113 -0
  365. package/packages/signal/src/bands.ts +33 -0
  366. package/packages/signal/src/index.ts +3 -0
  367. package/packages/signal/src/motion.ts +80 -0
  368. package/packages/signal/tsconfig.json +8 -0
  369. package/packages/site/README.md +19 -0
  370. package/packages/site/package.json +32 -0
  371. package/packages/site/src/index.ts +8 -0
  372. package/packages/site/src/open-graph.ts +90 -0
  373. package/packages/site/tsconfig.json +8 -0
  374. package/packages/solid/README.md +30 -0
  375. package/packages/solid/package.json +42 -0
  376. package/packages/solid/src/hooks/use-aeon-machine.ts +10 -0
  377. package/packages/solid/src/index.ts +2 -0
  378. package/packages/solid/src/switch/index.tsx +191 -0
  379. package/packages/solid/src/utils/merge-props.ts +3 -0
  380. package/packages/solid/tsconfig.json +10 -0
  381. package/packages/surface/README.md +10 -0
  382. package/packages/surface/package.json +33 -0
  383. package/packages/surface/src/index.ts +1 -0
  384. package/packages/surface/src/materials.ts +14 -0
  385. package/packages/surface/surface.css +113 -0
  386. package/packages/surface/tsconfig.json +8 -0
  387. package/packages/svelte/README.md +45 -0
  388. package/packages/svelte/package.json +49 -0
  389. package/packages/svelte/src/Switch.svelte +86 -0
  390. package/packages/svelte/src/SwitchControl.svelte +45 -0
  391. package/packages/svelte/src/SwitchHiddenInput.svelte +12 -0
  392. package/packages/svelte/src/SwitchLabel.svelte +9 -0
  393. package/packages/svelte/src/SwitchThumb.svelte +16 -0
  394. package/packages/svelte/src/hooks/use-aeon-machine.ts +23 -0
  395. package/packages/svelte/src/index.ts +2 -0
  396. package/packages/svelte/src/switch-context.ts +13 -0
  397. package/packages/svelte/tsconfig.json +8 -0
  398. package/packages/ui/README.md +63 -0
  399. package/packages/ui/package.json +45 -0
  400. package/packages/ui/src/accordion.tsx +27 -0
  401. package/packages/ui/src/async.tsx +43 -0
  402. package/packages/ui/src/badge.tsx +18 -0
  403. package/packages/ui/src/button.tsx +38 -0
  404. package/packages/ui/src/checkbox.tsx +24 -0
  405. package/packages/ui/src/cn.ts +1 -0
  406. package/packages/ui/src/combobox.tsx +29 -0
  407. package/packages/ui/src/dialog.tsx +32 -0
  408. package/packages/ui/src/field.tsx +33 -0
  409. package/packages/ui/src/index.ts +17 -0
  410. package/packages/ui/src/menu.tsx +25 -0
  411. package/packages/ui/src/popover.tsx +22 -0
  412. package/packages/ui/src/scroll.tsx +51 -0
  413. package/packages/ui/src/select.tsx +33 -0
  414. package/packages/ui/src/styles.css +2 -0
  415. package/packages/ui/src/switch.tsx +22 -0
  416. package/packages/ui/src/tabs.tsx +22 -0
  417. package/packages/ui/src/toast.tsx +36 -0
  418. package/packages/ui/src/tooltip.tsx +19 -0
  419. package/packages/ui/tsconfig.json +12 -0
  420. package/packages/vue/README.md +40 -0
  421. package/packages/vue/package.json +42 -0
  422. package/packages/vue/src/hooks/use-aeon-machine.ts +10 -0
  423. package/packages/vue/src/index.ts +2 -0
  424. package/packages/vue/src/switch/index.ts +208 -0
  425. package/packages/vue/src/utils/part-props.ts +8 -0
  426. package/packages/vue/tsconfig.json +8 -0
  427. package/pnpm-workspace.yaml +3 -0
  428. package/scripts/ensure-headless-built.mjs +25 -0
  429. package/tsconfig.base.json +21 -0
  430. package/vercel.json +12 -0
@@ -0,0 +1,2157 @@
1
+ @layer reset, base, tokens, recipes, utilities;
2
+
3
+ @layer reset{
4
+ html,:host {
5
+ --font-fallback: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
6
+ -webkit-text-size-adjust: 100%;
7
+ -webkit-font-smoothing: antialiased;
8
+ -moz-osx-font-smoothing: grayscale;
9
+ -moz-tab-size: 4;
10
+ tab-size: 4;
11
+ -webkit-tap-highlight-color: transparent;
12
+ line-height: 1.5;
13
+ font-family: var(--global-font-body, var(--font-fallback));
14
+ }
15
+
16
+ *,::before,::after,::backdrop,::file-selector-button {
17
+ margin: 0px;
18
+ padding: 0px;
19
+ box-sizing: border-box;
20
+ border-width: 0px;
21
+ border-style: solid;
22
+ border-color: var(--global-color-border, currentcolor);
23
+ }
24
+
25
+ hr {
26
+ height: 0px;
27
+ color: inherit;
28
+ border-top-width: 1px;
29
+ }
30
+
31
+ body {
32
+ height: 100%;
33
+ line-height: inherit;
34
+ }
35
+
36
+ img {
37
+ border-style: none;
38
+ }
39
+
40
+ img,svg,video,canvas,audio,iframe,embed,object {
41
+ display: block;
42
+ vertical-align: middle;
43
+ }
44
+
45
+ img,video {
46
+ max-width: 100%;
47
+ height: auto;
48
+ }
49
+
50
+ h1,h2,h3,h4,h5,h6 {
51
+ text-wrap: balance;
52
+ font-size: inherit;
53
+ font-weight: inherit;
54
+ }
55
+
56
+ p,h1,h2,h3,h4,h5,h6 {
57
+ overflow-wrap: break-word;
58
+ }
59
+
60
+ ol,ul,menu {
61
+ list-style: none;
62
+ }
63
+
64
+ button,input:where([type='button'], [type='reset'], [type='submit']),::file-selector-button {
65
+ appearance: button;
66
+ -webkit-appearance: button;
67
+ }
68
+
69
+ button,input,optgroup,select,textarea,::file-selector-button {
70
+ font: inherit;
71
+ font-feature-settings: inherit;
72
+ font-variation-settings: inherit;
73
+ letter-spacing: inherit;
74
+ color: inherit;
75
+ background: var(--colors-transparent);
76
+ }
77
+
78
+ ::placeholder {
79
+ opacity: 1;
80
+ --placeholder-fallback: rgba(0, 0, 0, 0.5);
81
+ color: var(--global-color-placeholder, var(--placeholder-fallback));
82
+ }
83
+
84
+ @supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px) {
85
+ ::placeholder {
86
+ --placeholder-fallback: color-mix(in oklab, currentcolor 50%, transparent);
87
+ }
88
+ }
89
+
90
+ textarea {
91
+ resize: vertical;
92
+ }
93
+
94
+ table {
95
+ text-indent: 0px;
96
+ border-collapse: collapse;
97
+ border-color: inherit;
98
+ }
99
+
100
+ summary {
101
+ display: list-item;
102
+ }
103
+
104
+ small {
105
+ font-size: 80%;
106
+ }
107
+
108
+ sub,sup {
109
+ position: relative;
110
+ vertical-align: baseline;
111
+ font-size: 75%;
112
+ line-height: 0;
113
+ }
114
+
115
+ sub {
116
+ bottom: -0.25em;
117
+ }
118
+
119
+ sup {
120
+ top: -0.5em;
121
+ }
122
+
123
+ dialog {
124
+ padding: 0px;
125
+ }
126
+
127
+ a {
128
+ color: inherit;
129
+ text-decoration: inherit;
130
+ }
131
+
132
+ abbr:where([title]) {
133
+ text-decoration: underline dotted;
134
+ }
135
+
136
+ b,strong {
137
+ font-weight: bolder;
138
+ }
139
+
140
+ code,kbd,samp,pre {
141
+ --font-mono-fallback: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New';
142
+ font-feature-settings: normal;
143
+ font-variation-settings: normal;
144
+ font-family: var(--global-font-mono, var(--font-mono-fallback));
145
+ font-size: 1em;
146
+ }
147
+
148
+ progress {
149
+ vertical-align: baseline;
150
+ }
151
+
152
+ ::-webkit-search-decoration,::-webkit-search-cancel-button {
153
+ -webkit-appearance: none;
154
+ }
155
+
156
+ ::-webkit-inner-spin-button,::-webkit-outer-spin-button {
157
+ height: auto;
158
+ }
159
+
160
+ :-moz-ui-invalid {
161
+ box-shadow: none;
162
+ }
163
+
164
+ :-moz-focusring {
165
+ outline: auto;
166
+ }
167
+
168
+ [hidden]:where(:not([hidden='until-found'])) {
169
+ display: none !important;
170
+ }
171
+ }
172
+
173
+ @layer base{
174
+ :root {
175
+ --made-with-panda: '🐼';
176
+ }
177
+
178
+ html,body,#root {
179
+ min-height: 100%;
180
+ }
181
+
182
+ body {
183
+ margin: var(--spacing-0);
184
+ background: var(--colors-bg);
185
+ color: var(--colors-fg);
186
+ -webkit-font-smoothing: antialiased;
187
+ font-family: var(--fonts-body);
188
+ }
189
+
190
+ :root {
191
+ --aeon-font: var(--fonts-ui);
192
+ --aeon-mono: var(--fonts-mono);
193
+ --aeon-bg: var(--colors-aeon-bg);
194
+ --aeon-surface: var(--colors-aeon-surface);
195
+ --aeon-surface-raised: var(--colors-aeon-surface-raised);
196
+ --aeon-border: var(--colors-aeon-border);
197
+ --aeon-text: var(--colors-aeon-text);
198
+ --aeon-muted: var(--colors-aeon-muted);
199
+ --aeon-accent: var(--colors-aeon-accent);
200
+ --aeon-accent-dim: var(--colors-aeon-accent-dim);
201
+ --aeon-danger: var(--colors-aeon-danger);
202
+ --aeon-radius: var(--radii-md);
203
+ --aeon-radius-lg: var(--radii-lg);
204
+ --aeon-shadow: var(--shadows-panel);
205
+ --aeon-focus: var(--shadows-focus-ring);
206
+ --aeon-inset-x-sm: var(--spacing-inset-x-sm);
207
+ --aeon-inset-y-sm: var(--spacing-inset-y-sm);
208
+ --aeon-inset-x: var(--spacing-inset-x);
209
+ --aeon-inset-y: var(--spacing-inset-y);
210
+ --aeon-inset-x-lg: var(--spacing-inset-x-lg);
211
+ --aeon-inset-y-lg: var(--spacing-inset-y-lg);
212
+ --aeon-pad-sm: var(--spacing-pad-sm);
213
+ --aeon-pad-md: var(--spacing-pad-md);
214
+ --aeon-pad-lg: var(--spacing-pad-lg);
215
+ --aeon-pad-xl: var(--spacing-pad-xl);
216
+ --aeon-gap-sm: var(--spacing-gap-sm);
217
+ --aeon-gap: var(--spacing-gap);
218
+ --aeon-gap-lg: var(--spacing-gap-lg);
219
+ --aeon-accordion-gap: var(--spacing-accordion-gap);
220
+ --aeon-accordion-inset-x: var(--spacing-accordion-inset-x);
221
+ --aeon-accordion-trigger-y: var(--spacing-accordion-trigger-y);
222
+ --aeon-accordion-trigger-min-h: var(--spacing-accordion-trigger-min-h);
223
+ --aeon-accordion-content-y: var(--spacing-accordion-content-y);
224
+ --aeon-accordion-content-b: var(--spacing-accordion-content-b);
225
+ --font-display: var(--fonts-display);
226
+ --font-body: var(--fonts-body);
227
+ }
228
+
229
+ [data-aeon-scope] {
230
+ font-family: var(--fonts-ui);
231
+ line-height: 1.5;
232
+ }
233
+
234
+ [data-aeon-scope="switch"] [data-aeon-part="root"],[data-aeon-scope="checkbox"] [data-aeon-part="root"] {
235
+ display: inline-flex;
236
+ align-items: center;
237
+ }
238
+
239
+ [data-aeon-scope="switch"] [data-aeon-part="control"],[data-aeon-scope="checkbox"] [data-aeon-part="control"] {
240
+ margin: var(--spacing-0);
241
+ padding: var(--spacing-0);
242
+ }
243
+
244
+ [data-aeon-scope="button"][data-aeon-part="group"] {
245
+ display: inline-flex;
246
+ gap: 0.5rem;
247
+ align-items: center;
248
+ flex-wrap: wrap;
249
+ }
250
+
251
+ [data-aeon-scope="button"][data-aeon-part="group"] > [data-aeon-scope="button"][data-aeon-part="root"] {
252
+ margin-inline-start: var(--spacing-0);
253
+ }
254
+
255
+ :not([data-aeon-part="group"]):not([data-aeon-part="actions"]) > [data-aeon-scope="button"][data-aeon-part="root"] + [data-aeon-scope="button"][data-aeon-part="root"] {
256
+ margin-inline-start: 0.5rem;
257
+ }
258
+
259
+ [data-aeon-scope="button"][data-aeon-part="root"][data-aeon-state="pending"] {
260
+ cursor: wait;
261
+ opacity: 0.85;
262
+ }
263
+
264
+ [data-aeon-scope="button"][data-aeon-part="root"][data-aeon-state="success"] {
265
+ border-color: var(--colors-accent);
266
+ }
267
+
268
+ [data-aeon-scope="button"][data-aeon-part="root"][data-aeon-state="failure"] {
269
+ color: var(--colors-danger);
270
+ border-color: var(--colors-danger);
271
+ }
272
+
273
+ [data-aeon-part="readout"][data-aeon-state="loading"] [data-aeon-part="readoutRail"] {
274
+ background: var(--colors-accent);
275
+ opacity: 0.7;
276
+ }
277
+
278
+ [data-aeon-part="readout"][data-aeon-state="success"] [data-aeon-part="readoutRail"],[data-aeon-part="readout"][data-aeon-state*="success"] [data-aeon-part="readoutRail"] {
279
+ background: var(--colors-accent);
280
+ }
281
+
282
+ [data-aeon-part="readout"][data-aeon-state="failure"] [data-aeon-part="readoutRail"] {
283
+ background: var(--colors-danger);
284
+ }
285
+
286
+ [data-aeon-part="readout"][data-aeon-state="empty"] [data-aeon-part="readoutRail"] {
287
+ background: var(--colors-muted);
288
+ }
289
+
290
+ [data-aeon-part="readout"] {
291
+ display: flex;
292
+ width: 100%;
293
+ min-height: 5.5rem;
294
+ border-radius: var(--radii-lg);
295
+ overflow: hidden;
296
+ background: var(--colors-bg);
297
+ align-items: stretch;
298
+ border-width: 1px;
299
+ border-style: solid;
300
+ border-color: var(--colors-border);
301
+ }
302
+
303
+ [data-aeon-part="readoutRail"] {
304
+ flex: 0 0 4px;
305
+ background: var(--colors-border);
306
+ align-self: stretch;
307
+ }
308
+
309
+ [data-aeon-part="readoutBody"] {
310
+ flex: 1 1 auto;
311
+ min-width: var(--sizes-0);
312
+ display: flex;
313
+ padding-inline: var(--spacing-pad-md);
314
+ padding-block: var(--spacing-pad-md);
315
+ align-items: center;
316
+ }
317
+
318
+ [data-aeon-part="readoutBody"] > * {
319
+ margin: var(--spacing-0);
320
+ max-width: 100%;
321
+ line-height: 1.5;
322
+ }
323
+
324
+ [data-aeon-part="track"] [data-aeon-part="segment"] {
325
+ padding-block: 0.75rem;
326
+ padding-inline: 1.35rem;
327
+ min-width: 4.75rem;
328
+ }
329
+
330
+ [data-aeon-scope="field"] [data-aeon-part="control"][aria-invalid="true"] {
331
+ border-color: var(--colors-danger);
332
+ }
333
+
334
+ [data-aeon-scope="field"][data-aeon-state*="submission:pending"] [data-aeon-part="control"] {
335
+ opacity: 0.7;
336
+ pointer-events: none;
337
+ }
338
+
339
+ *,::before,::after,::backdrop {
340
+ --blur: /*-*/ /*-*/;
341
+ --brightness: /*-*/ /*-*/;
342
+ --contrast: /*-*/ /*-*/;
343
+ --grayscale: /*-*/ /*-*/;
344
+ --hue-rotate: /*-*/ /*-*/;
345
+ --invert: /*-*/ /*-*/;
346
+ --saturate: /*-*/ /*-*/;
347
+ --sepia: /*-*/ /*-*/;
348
+ --drop-shadow: /*-*/ /*-*/;
349
+ --backdrop-blur: /*-*/ /*-*/;
350
+ --backdrop-brightness: /*-*/ /*-*/;
351
+ --backdrop-contrast: /*-*/ /*-*/;
352
+ --backdrop-grayscale: /*-*/ /*-*/;
353
+ --backdrop-hue-rotate: /*-*/ /*-*/;
354
+ --backdrop-invert: /*-*/ /*-*/;
355
+ --backdrop-opacity: /*-*/ /*-*/;
356
+ --backdrop-saturate: /*-*/ /*-*/;
357
+ --backdrop-sepia: /*-*/ /*-*/;
358
+ --gradient-from-position: /*-*/ /*-*/;
359
+ --gradient-to-position: /*-*/ /*-*/;
360
+ --gradient-via-position: /*-*/ /*-*/;
361
+ --scroll-snap-strictness: proximity;
362
+ --border-spacing-x: 0;
363
+ --border-spacing-y: 0;
364
+ --translate-x: 0;
365
+ --translate-y: 0;
366
+ --rotate: 0;
367
+ --rotate-x: 0;
368
+ --rotate-y: 0;
369
+ --skew-x: 0;
370
+ --skew-y: 0;
371
+ --scale-x: 1;
372
+ --scale-y: 1;
373
+ }
374
+ }
375
+
376
+ @layer tokens{
377
+ :where(:root, :host) {
378
+ --aspect-ratios-square: 1 / 1;
379
+ --aspect-ratios-landscape: 4 / 3;
380
+ --aspect-ratios-portrait: 3 / 4;
381
+ --aspect-ratios-wide: 16 / 9;
382
+ --aspect-ratios-ultrawide: 18 / 5;
383
+ --aspect-ratios-golden: 1.618 / 1;
384
+ --borders-none: none;
385
+ --easings-default: cubic-bezier(0.4, 0, 0.2, 1);
386
+ --easings-linear: linear;
387
+ --easings-in: cubic-bezier(0.4, 0, 1, 1);
388
+ --easings-out: cubic-bezier(0, 0, 0.2, 1);
389
+ --easings-in-out: cubic-bezier(0.4, 0, 0.2, 1);
390
+ --durations-fastest: 50ms;
391
+ --durations-faster: 100ms;
392
+ --durations-fast: 150ms;
393
+ --durations-normal: 200ms;
394
+ --durations-slow: 300ms;
395
+ --durations-slower: 400ms;
396
+ --durations-slowest: 500ms;
397
+ --font-weights-thin: 100;
398
+ --font-weights-extralight: 200;
399
+ --font-weights-light: 300;
400
+ --font-weights-normal: 400;
401
+ --font-weights-medium: 500;
402
+ --font-weights-semibold: 600;
403
+ --font-weights-bold: 700;
404
+ --font-weights-extrabold: 800;
405
+ --font-weights-black: 900;
406
+ --line-heights-none: 1;
407
+ --line-heights-tight: 1.25;
408
+ --line-heights-snug: 1.375;
409
+ --line-heights-normal: 1.5;
410
+ --line-heights-relaxed: 1.625;
411
+ --line-heights-loose: 2;
412
+ --letter-spacings-tighter: -0.05em;
413
+ --letter-spacings-tight: -0.025em;
414
+ --letter-spacings-normal: 0em;
415
+ --letter-spacings-wide: 0.025em;
416
+ --letter-spacings-wider: 0.05em;
417
+ --letter-spacings-widest: 0.1em;
418
+ --font-sizes-2xs: 0.5rem;
419
+ --font-sizes-xs: 0.75rem;
420
+ --font-sizes-sm: 0.875rem;
421
+ --font-sizes-md: 1rem;
422
+ --font-sizes-lg: 1.125rem;
423
+ --font-sizes-xl: 1.25rem;
424
+ --font-sizes-2xl: 1.5rem;
425
+ --font-sizes-3xl: 1.875rem;
426
+ --font-sizes-4xl: 2.25rem;
427
+ --font-sizes-5xl: 3rem;
428
+ --font-sizes-6xl: 3.75rem;
429
+ --font-sizes-7xl: 4.5rem;
430
+ --font-sizes-8xl: 6rem;
431
+ --font-sizes-9xl: 8rem;
432
+ --blurs-sm: 4px;
433
+ --blurs-base: 8px;
434
+ --blurs-md: 12px;
435
+ --blurs-lg: 16px;
436
+ --blurs-xl: 24px;
437
+ --blurs-2xl: 40px;
438
+ --blurs-3xl: 64px;
439
+ --sizes-0: 0rem;
440
+ --sizes-1: 0.25rem;
441
+ --sizes-2: 0.5rem;
442
+ --sizes-3: 0.75rem;
443
+ --sizes-4: 1rem;
444
+ --sizes-5: 1.25rem;
445
+ --sizes-6: 1.5rem;
446
+ --sizes-7: 1.75rem;
447
+ --sizes-8: 2rem;
448
+ --sizes-9: 2.25rem;
449
+ --sizes-10: 2.5rem;
450
+ --sizes-11: 2.75rem;
451
+ --sizes-12: 3rem;
452
+ --sizes-14: 3.5rem;
453
+ --sizes-16: 4rem;
454
+ --sizes-20: 5rem;
455
+ --sizes-24: 6rem;
456
+ --sizes-28: 7rem;
457
+ --sizes-32: 8rem;
458
+ --sizes-36: 9rem;
459
+ --sizes-40: 10rem;
460
+ --sizes-44: 11rem;
461
+ --sizes-48: 12rem;
462
+ --sizes-52: 13rem;
463
+ --sizes-56: 14rem;
464
+ --sizes-60: 15rem;
465
+ --sizes-64: 16rem;
466
+ --sizes-72: 18rem;
467
+ --sizes-80: 20rem;
468
+ --sizes-96: 24rem;
469
+ --sizes-0\.5: 0.125rem;
470
+ --sizes-1\.5: 0.375rem;
471
+ --sizes-2\.5: 0.625rem;
472
+ --sizes-3\.5: 0.875rem;
473
+ --sizes-xs: 20rem;
474
+ --sizes-sm: 24rem;
475
+ --sizes-md: 28rem;
476
+ --sizes-lg: 32rem;
477
+ --sizes-xl: 36rem;
478
+ --sizes-2xl: 42rem;
479
+ --sizes-3xl: 48rem;
480
+ --sizes-4xl: 56rem;
481
+ --sizes-5xl: 64rem;
482
+ --sizes-6xl: 72rem;
483
+ --sizes-7xl: 80rem;
484
+ --sizes-8xl: 90rem;
485
+ --sizes-prose: 65ch;
486
+ --sizes-full: 100%;
487
+ --sizes-min: min-content;
488
+ --sizes-max: max-content;
489
+ --sizes-fit: fit-content;
490
+ --sizes-breakpoint-sm: 640px;
491
+ --sizes-breakpoint-md: 768px;
492
+ --sizes-breakpoint-lg: 1024px;
493
+ --sizes-breakpoint-xl: 1280px;
494
+ --sizes-breakpoint-2xl: 1536px;
495
+ --animations-spin: spin 1s linear infinite;
496
+ --animations-ping: ping 1s cubic-bezier(0, 0, 0.2, 1) infinite;
497
+ --animations-pulse: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
498
+ --animations-bounce: bounce 1s infinite;
499
+ --fonts-sans: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
500
+ --fonts-serif: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;
501
+ --fonts-ui: 'IBM Plex Sans', system-ui, sans-serif;
502
+ --fonts-mono: 'IBM Plex Mono', ui-monospace, monospace;
503
+ --fonts-display: 'Syne', system-ui, sans-serif;
504
+ --fonts-body: 'Instrument Sans', system-ui, sans-serif;
505
+ --colors-current: currentColor;
506
+ --colors-black: #000;
507
+ --colors-white: #fff;
508
+ --colors-transparent: rgb(0 0 0 / 0);
509
+ --colors-rose-50: #fff1f2;
510
+ --colors-rose-100: #ffe4e6;
511
+ --colors-rose-200: #fecdd3;
512
+ --colors-rose-300: #fda4af;
513
+ --colors-rose-400: #fb7185;
514
+ --colors-rose-500: #f43f5e;
515
+ --colors-rose-600: #e11d48;
516
+ --colors-rose-700: #be123c;
517
+ --colors-rose-800: #9f1239;
518
+ --colors-rose-900: #881337;
519
+ --colors-rose-950: #4c0519;
520
+ --colors-pink-50: #fdf2f8;
521
+ --colors-pink-100: #fce7f3;
522
+ --colors-pink-200: #fbcfe8;
523
+ --colors-pink-300: #f9a8d4;
524
+ --colors-pink-400: #f472b6;
525
+ --colors-pink-500: #ec4899;
526
+ --colors-pink-600: #db2777;
527
+ --colors-pink-700: #be185d;
528
+ --colors-pink-800: #9d174d;
529
+ --colors-pink-900: #831843;
530
+ --colors-pink-950: #500724;
531
+ --colors-fuchsia-50: #fdf4ff;
532
+ --colors-fuchsia-100: #fae8ff;
533
+ --colors-fuchsia-200: #f5d0fe;
534
+ --colors-fuchsia-300: #f0abfc;
535
+ --colors-fuchsia-400: #e879f9;
536
+ --colors-fuchsia-500: #d946ef;
537
+ --colors-fuchsia-600: #c026d3;
538
+ --colors-fuchsia-700: #a21caf;
539
+ --colors-fuchsia-800: #86198f;
540
+ --colors-fuchsia-900: #701a75;
541
+ --colors-fuchsia-950: #4a044e;
542
+ --colors-purple-50: #faf5ff;
543
+ --colors-purple-100: #f3e8ff;
544
+ --colors-purple-200: #e9d5ff;
545
+ --colors-purple-300: #d8b4fe;
546
+ --colors-purple-400: #c084fc;
547
+ --colors-purple-500: #a855f7;
548
+ --colors-purple-600: #9333ea;
549
+ --colors-purple-700: #7e22ce;
550
+ --colors-purple-800: #6b21a8;
551
+ --colors-purple-900: #581c87;
552
+ --colors-purple-950: #3b0764;
553
+ --colors-violet-50: #f5f3ff;
554
+ --colors-violet-100: #ede9fe;
555
+ --colors-violet-200: #ddd6fe;
556
+ --colors-violet-300: #c4b5fd;
557
+ --colors-violet-400: #a78bfa;
558
+ --colors-violet-500: #8b5cf6;
559
+ --colors-violet-600: #7c3aed;
560
+ --colors-violet-700: #6d28d9;
561
+ --colors-violet-800: #5b21b6;
562
+ --colors-violet-900: #4c1d95;
563
+ --colors-violet-950: #2e1065;
564
+ --colors-indigo-50: #eef2ff;
565
+ --colors-indigo-100: #e0e7ff;
566
+ --colors-indigo-200: #c7d2fe;
567
+ --colors-indigo-300: #a5b4fc;
568
+ --colors-indigo-400: #818cf8;
569
+ --colors-indigo-500: #6366f1;
570
+ --colors-indigo-600: #4f46e5;
571
+ --colors-indigo-700: #4338ca;
572
+ --colors-indigo-800: #3730a3;
573
+ --colors-indigo-900: #312e81;
574
+ --colors-indigo-950: #1e1b4b;
575
+ --colors-blue-50: #eff6ff;
576
+ --colors-blue-100: #dbeafe;
577
+ --colors-blue-200: #bfdbfe;
578
+ --colors-blue-300: #93c5fd;
579
+ --colors-blue-400: #60a5fa;
580
+ --colors-blue-500: #3b82f6;
581
+ --colors-blue-600: #2563eb;
582
+ --colors-blue-700: #1d4ed8;
583
+ --colors-blue-800: #1e40af;
584
+ --colors-blue-900: #1e3a8a;
585
+ --colors-blue-950: #172554;
586
+ --colors-sky-50: #f0f9ff;
587
+ --colors-sky-100: #e0f2fe;
588
+ --colors-sky-200: #bae6fd;
589
+ --colors-sky-300: #7dd3fc;
590
+ --colors-sky-400: #38bdf8;
591
+ --colors-sky-500: #0ea5e9;
592
+ --colors-sky-600: #0284c7;
593
+ --colors-sky-700: #0369a1;
594
+ --colors-sky-800: #075985;
595
+ --colors-sky-900: #0c4a6e;
596
+ --colors-sky-950: #082f49;
597
+ --colors-cyan-50: #ecfeff;
598
+ --colors-cyan-100: #cffafe;
599
+ --colors-cyan-200: #a5f3fc;
600
+ --colors-cyan-300: #67e8f9;
601
+ --colors-cyan-400: #22d3ee;
602
+ --colors-cyan-500: #06b6d4;
603
+ --colors-cyan-600: #0891b2;
604
+ --colors-cyan-700: #0e7490;
605
+ --colors-cyan-800: #155e75;
606
+ --colors-cyan-900: #164e63;
607
+ --colors-cyan-950: #083344;
608
+ --colors-teal-50: #f0fdfa;
609
+ --colors-teal-100: #ccfbf1;
610
+ --colors-teal-200: #99f6e4;
611
+ --colors-teal-300: #5eead4;
612
+ --colors-teal-400: #2dd4bf;
613
+ --colors-teal-500: #14b8a6;
614
+ --colors-teal-600: #0d9488;
615
+ --colors-teal-700: #0f766e;
616
+ --colors-teal-800: #115e59;
617
+ --colors-teal-900: #134e4a;
618
+ --colors-teal-950: #042f2e;
619
+ --colors-emerald-50: #ecfdf5;
620
+ --colors-emerald-100: #d1fae5;
621
+ --colors-emerald-200: #a7f3d0;
622
+ --colors-emerald-300: #6ee7b7;
623
+ --colors-emerald-400: #34d399;
624
+ --colors-emerald-500: #10b981;
625
+ --colors-emerald-600: #059669;
626
+ --colors-emerald-700: #047857;
627
+ --colors-emerald-800: #065f46;
628
+ --colors-emerald-900: #064e3b;
629
+ --colors-emerald-950: #022c22;
630
+ --colors-green-50: #f0fdf4;
631
+ --colors-green-100: #dcfce7;
632
+ --colors-green-200: #bbf7d0;
633
+ --colors-green-300: #86efac;
634
+ --colors-green-400: #4ade80;
635
+ --colors-green-500: #22c55e;
636
+ --colors-green-600: #16a34a;
637
+ --colors-green-700: #15803d;
638
+ --colors-green-800: #166534;
639
+ --colors-green-900: #14532d;
640
+ --colors-green-950: #052e16;
641
+ --colors-lime-50: #f7fee7;
642
+ --colors-lime-100: #ecfccb;
643
+ --colors-lime-200: #d9f99d;
644
+ --colors-lime-300: #bef264;
645
+ --colors-lime-400: #a3e635;
646
+ --colors-lime-500: #84cc16;
647
+ --colors-lime-600: #65a30d;
648
+ --colors-lime-700: #4d7c0f;
649
+ --colors-lime-800: #3f6212;
650
+ --colors-lime-900: #365314;
651
+ --colors-lime-950: #1a2e05;
652
+ --colors-yellow-50: #fefce8;
653
+ --colors-yellow-100: #fef9c3;
654
+ --colors-yellow-200: #fef08a;
655
+ --colors-yellow-300: #fde047;
656
+ --colors-yellow-400: #facc15;
657
+ --colors-yellow-500: #eab308;
658
+ --colors-yellow-600: #ca8a04;
659
+ --colors-yellow-700: #a16207;
660
+ --colors-yellow-800: #854d0e;
661
+ --colors-yellow-900: #713f12;
662
+ --colors-yellow-950: #422006;
663
+ --colors-amber-50: #fffbeb;
664
+ --colors-amber-100: #fef3c7;
665
+ --colors-amber-200: #fde68a;
666
+ --colors-amber-300: #fcd34d;
667
+ --colors-amber-400: #fbbf24;
668
+ --colors-amber-500: #f59e0b;
669
+ --colors-amber-600: #d97706;
670
+ --colors-amber-700: #b45309;
671
+ --colors-amber-800: #92400e;
672
+ --colors-amber-900: #78350f;
673
+ --colors-amber-950: #451a03;
674
+ --colors-orange-50: #fff7ed;
675
+ --colors-orange-100: #ffedd5;
676
+ --colors-orange-200: #fed7aa;
677
+ --colors-orange-300: #fdba74;
678
+ --colors-orange-400: #fb923c;
679
+ --colors-orange-500: #f97316;
680
+ --colors-orange-600: #ea580c;
681
+ --colors-orange-700: #c2410c;
682
+ --colors-orange-800: #9a3412;
683
+ --colors-orange-900: #7c2d12;
684
+ --colors-orange-950: #431407;
685
+ --colors-red-50: #fef2f2;
686
+ --colors-red-100: #fee2e2;
687
+ --colors-red-200: #fecaca;
688
+ --colors-red-300: #fca5a5;
689
+ --colors-red-400: #f87171;
690
+ --colors-red-500: #ef4444;
691
+ --colors-red-600: #dc2626;
692
+ --colors-red-700: #b91c1c;
693
+ --colors-red-800: #991b1b;
694
+ --colors-red-900: #7f1d1d;
695
+ --colors-red-950: #450a0a;
696
+ --colors-neutral-50: #fafafa;
697
+ --colors-neutral-100: #f5f5f5;
698
+ --colors-neutral-200: #e5e5e5;
699
+ --colors-neutral-300: #d4d4d4;
700
+ --colors-neutral-400: #a3a3a3;
701
+ --colors-neutral-500: #737373;
702
+ --colors-neutral-600: #525252;
703
+ --colors-neutral-700: #404040;
704
+ --colors-neutral-800: #262626;
705
+ --colors-neutral-900: #171717;
706
+ --colors-neutral-950: #0a0a0a;
707
+ --colors-stone-50: #fafaf9;
708
+ --colors-stone-100: #f5f5f4;
709
+ --colors-stone-200: #e7e5e4;
710
+ --colors-stone-300: #d6d3d1;
711
+ --colors-stone-400: #a8a29e;
712
+ --colors-stone-500: #78716c;
713
+ --colors-stone-600: #57534e;
714
+ --colors-stone-700: #44403c;
715
+ --colors-stone-800: #292524;
716
+ --colors-stone-900: #1c1917;
717
+ --colors-stone-950: #0c0a09;
718
+ --colors-zinc-50: #fafafa;
719
+ --colors-zinc-100: #f4f4f5;
720
+ --colors-zinc-200: #e4e4e7;
721
+ --colors-zinc-300: #d4d4d8;
722
+ --colors-zinc-400: #a1a1aa;
723
+ --colors-zinc-500: #71717a;
724
+ --colors-zinc-600: #52525b;
725
+ --colors-zinc-700: #3f3f46;
726
+ --colors-zinc-800: #27272a;
727
+ --colors-zinc-900: #18181b;
728
+ --colors-zinc-950: #09090b;
729
+ --colors-gray-50: #f9fafb;
730
+ --colors-gray-100: #f3f4f6;
731
+ --colors-gray-200: #e5e7eb;
732
+ --colors-gray-300: #d1d5db;
733
+ --colors-gray-400: #9ca3af;
734
+ --colors-gray-500: #6b7280;
735
+ --colors-gray-600: #4b5563;
736
+ --colors-gray-700: #374151;
737
+ --colors-gray-800: #1f2937;
738
+ --colors-gray-900: #111827;
739
+ --colors-gray-950: #030712;
740
+ --colors-slate-50: #f8fafc;
741
+ --colors-slate-100: #f1f5f9;
742
+ --colors-slate-200: #e2e8f0;
743
+ --colors-slate-300: #cbd5e1;
744
+ --colors-slate-400: #94a3b8;
745
+ --colors-slate-500: #64748b;
746
+ --colors-slate-600: #475569;
747
+ --colors-slate-700: #334155;
748
+ --colors-slate-800: #1e293b;
749
+ --colors-slate-900: #0f172a;
750
+ --colors-slate-950: #020617;
751
+ --radii-xs: 0.125rem;
752
+ --radii-xl: 0.75rem;
753
+ --radii-2xl: 1rem;
754
+ --radii-3xl: 1.5rem;
755
+ --radii-4xl: 2rem;
756
+ --radii-full: 9999px;
757
+ --radii-sm: 0.375rem;
758
+ --radii-md: 0.5rem;
759
+ --radii-lg: 0.625rem;
760
+ --radii-site-lg: 10px;
761
+ --shadows-xs: 0 1px 2px 0 rgb(0 0 0 / 0.05);
762
+ --shadows-sm: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
763
+ --shadows-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
764
+ --shadows-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
765
+ --shadows-xl: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
766
+ --shadows-2xl: 0 25px 50px -12px rgb(0 0 0 / 0.25);
767
+ --shadows-inner: inset 0 2px 4px 0 rgb(0 0 0 / 0.05);
768
+ --shadows-panel: 0 8px 32px #00000066;
769
+ --shadows-focus-ring: 0 0 0 2px #0c0e12, 0 0 0 4px #5eead4;
770
+ --spacing-0: 0rem;
771
+ --spacing-1: 0.25rem;
772
+ --spacing-2: 0.5rem;
773
+ --spacing-3: 0.75rem;
774
+ --spacing-4: 1rem;
775
+ --spacing-5: 1.25rem;
776
+ --spacing-6: 1.5rem;
777
+ --spacing-7: 1.75rem;
778
+ --spacing-8: 2rem;
779
+ --spacing-9: 2.25rem;
780
+ --spacing-10: 2.5rem;
781
+ --spacing-11: 2.75rem;
782
+ --spacing-12: 3rem;
783
+ --spacing-14: 3.5rem;
784
+ --spacing-16: 4rem;
785
+ --spacing-20: 5rem;
786
+ --spacing-24: 6rem;
787
+ --spacing-28: 7rem;
788
+ --spacing-32: 8rem;
789
+ --spacing-36: 9rem;
790
+ --spacing-40: 10rem;
791
+ --spacing-44: 11rem;
792
+ --spacing-48: 12rem;
793
+ --spacing-52: 13rem;
794
+ --spacing-56: 14rem;
795
+ --spacing-60: 15rem;
796
+ --spacing-64: 16rem;
797
+ --spacing-72: 18rem;
798
+ --spacing-80: 20rem;
799
+ --spacing-96: 24rem;
800
+ --spacing-0\.5: 0.125rem;
801
+ --spacing-1\.5: 0.375rem;
802
+ --spacing-2\.5: 0.625rem;
803
+ --spacing-3\.5: 0.875rem;
804
+ --spacing-control-x: 0.75rem;
805
+ --spacing-control-y: 0.375rem;
806
+ --spacing-control-x-sm: 0.625rem;
807
+ --spacing-control-y-sm: 0.3125rem;
808
+ --spacing-badge-x: 0.5rem;
809
+ --spacing-badge-y: 0.125rem;
810
+ --spacing-inset-x-sm: 1.125rem;
811
+ --spacing-inset-y-sm: 0.75rem;
812
+ --spacing-inset-x: 1.5rem;
813
+ --spacing-inset-y: 0.875rem;
814
+ --spacing-inset-x-lg: 1.75rem;
815
+ --spacing-inset-y-lg: 1.125rem;
816
+ --spacing-pad-sm: 1.25rem;
817
+ --spacing-pad-md: 1.625rem;
818
+ --spacing-pad-lg: 2rem;
819
+ --spacing-pad-xl: 2.5rem;
820
+ --spacing-gap-sm: 0.75rem;
821
+ --spacing-gap: 1rem;
822
+ --spacing-gap-lg: 1.25rem;
823
+ --spacing-accordion-gap: 0.75rem;
824
+ --spacing-accordion-inset-x: 1.75rem;
825
+ --spacing-accordion-trigger-y: 1.375rem;
826
+ --spacing-accordion-trigger-min-h: 3.5rem;
827
+ --spacing-accordion-content-y: 1rem;
828
+ --spacing-accordion-content-b: 1rem;
829
+ --breakpoints-sm: 640px;
830
+ --breakpoints-md: 768px;
831
+ --breakpoints-lg: 1024px;
832
+ --breakpoints-xl: 1280px;
833
+ --breakpoints-2xl: 1536px;
834
+ --colors-bg: var(--colors-aeon-bg);
835
+ --colors-surface: var(--colors-aeon-surface);
836
+ --colors-surface-raised: var(--colors-aeon-surface-raised);
837
+ --colors-border: var(--colors-aeon-border);
838
+ --colors-fg: var(--colors-aeon-text);
839
+ --colors-muted: var(--colors-aeon-muted);
840
+ --colors-accent: var(--colors-aeon-accent);
841
+ --colors-accent-dim: var(--colors-aeon-accent-dim);
842
+ --colors-danger: var(--colors-aeon-danger);
843
+ --colors-danger-dim: var(--colors-aeon-danger-dim);
844
+ }
845
+
846
+ @keyframes spin {
847
+ to {
848
+ transform: rotate(360deg);
849
+ }
850
+ }
851
+
852
+ @keyframes ping {
853
+ 75%,100% {
854
+ transform: scale(2);
855
+ opacity: 0;
856
+ }
857
+ }
858
+
859
+ @keyframes pulse {
860
+ 50% {
861
+ opacity: 0.5;
862
+ }
863
+ }
864
+
865
+ @keyframes bounce {
866
+ 0%,100% {
867
+ transform: translateY(-25%);
868
+ animation-timing-function: cubic-bezier(0.8,0,1,1);
869
+ }
870
+
871
+ 50% {
872
+ transform: none;
873
+ animation-timing-function: cubic-bezier(0,0,0.2,1);
874
+ }
875
+ }
876
+ }
877
+
878
+ @layer recipes{
879
+ @layer _base{
880
+
881
+ .aeonBadge {
882
+ border-radius: var(--radii-sm);
883
+ letter-spacing: 0.06em;
884
+ text-transform: uppercase;
885
+ padding-block: var(--spacing-badge-y);
886
+ padding-inline: var(--spacing-badge-x);
887
+ align-self: flex-start;
888
+ font-size: 0.6875rem;
889
+ font-weight: var(--font-weights-semibold);
890
+ border-width: 1px;
891
+ border-style: solid;
892
+ line-height: 1.2;
893
+ }
894
+
895
+ .aeonBadge,.aeonButton {
896
+ display: inline-flex;
897
+ white-space: nowrap;
898
+ align-items: center;
899
+ font-family: var(--fonts-ui);
900
+ }
901
+
902
+ .aeonButton {
903
+ gap: var(--spacing-2);
904
+ cursor: pointer;
905
+ outline: var(--borders-none);
906
+ justify-content: center;
907
+ align-self: center;
908
+ font-weight: var(--font-weights-medium);
909
+ line-height: 1.25;
910
+ --transition-prop: color, background-color, border-color, box-shadow, transform;
911
+ transition-property: color, background-color, border-color, box-shadow, transform;
912
+ --transition-duration: var(--durations-normal);
913
+ transition-duration: var(--durations-normal);
914
+ }
915
+
916
+ .aeonButton:is(:disabled, [disabled], [data-disabled]) {
917
+ opacity: 0.4;
918
+ pointer-events: none;
919
+ }
920
+
921
+ .aeonButton:is(:focus-visible, [data-focus-visible]) {
922
+ box-shadow: var(--shadows-focus-ring);
923
+ }
924
+
925
+ .aeonButton:is(:active, [data-active]) {
926
+ transform: scale(0.98);
927
+ }
928
+
929
+ .aeonButtonGroup {
930
+ display: inline-flex;
931
+ gap: 0.5rem;
932
+ vertical-align: middle;
933
+ flex-wrap: wrap;
934
+ align-items: center;
935
+ justify-content: flex-start;
936
+ }
937
+ }
938
+
939
+ .aeonBadge--variant_default {
940
+ background: var(--colors-surface-raised);
941
+ color: var(--colors-muted);
942
+ border-color: var(--colors-border);
943
+ }
944
+
945
+ .aeonBadge--variant_accent {
946
+ background: var(--colors-accent-dim);
947
+ color: var(--colors-accent);
948
+ border-color: var(--colors-accent);
949
+ }
950
+
951
+ .aeonBadge--variant_danger {
952
+ background: var(--colors-danger-dim);
953
+ color: var(--colors-danger);
954
+ border-color: var(--colors-danger);
955
+ }
956
+
957
+ .aeonButton--variant_solid {
958
+ background: var(--colors-accent);
959
+ color: var(--colors-bg);
960
+ }
961
+
962
+ .aeonButton--variant_solid:is(:hover, [data-hover]) {
963
+ filter: brightness(1.1);
964
+ }
965
+
966
+ .aeonButton--size_md {
967
+ border-radius: var(--radii-md);
968
+ padding-block: 0.4375rem;
969
+ padding-inline: 0.875rem;
970
+ min-height: 2.25rem;
971
+ font-size: 0.875rem;
972
+ }
973
+
974
+ .aeonButton--size_sm {
975
+ border-radius: var(--radii-sm);
976
+ padding-block: var(--spacing-control-y);
977
+ padding-inline: var(--spacing-control-x);
978
+ min-height: 2rem;
979
+ font-size: 0.8125rem;
980
+ }
981
+
982
+ .aeonButton--size_xs {
983
+ border-radius: var(--radii-sm);
984
+ padding-block: var(--spacing-control-y-sm);
985
+ padding-inline: var(--spacing-control-x-sm);
986
+ min-height: 1.75rem;
987
+ font-size: 0.75rem;
988
+ font-weight: var(--font-weights-semibold);
989
+ }
990
+
991
+ .aeonButton--size_lg {
992
+ border-radius: var(--radii-md);
993
+ padding-block: var(--spacing-inset-y-sm);
994
+ padding-inline: var(--spacing-inset-x-sm);
995
+ min-height: 2.5rem;
996
+ font-size: 0.9375rem;
997
+ }
998
+
999
+ .aeonButton--variant_outline {
1000
+ background: var(--colors-transparent);
1001
+ color: var(--colors-fg);
1002
+ border-width: 1px;
1003
+ border-style: solid;
1004
+ border-color: var(--colors-border);
1005
+ }
1006
+
1007
+ .aeonButton--variant_outline:is(:hover, [data-hover]) {
1008
+ border-color: var(--colors-accent);
1009
+ }
1010
+
1011
+ .aeonButton--variant_ghost {
1012
+ background: var(--colors-transparent);
1013
+ color: var(--colors-muted);
1014
+ }
1015
+
1016
+ .aeonButton--variant_ghost:is(:hover, [data-hover]) {
1017
+ color: var(--colors-fg);
1018
+ background: var(--colors-surface-raised);
1019
+ }
1020
+
1021
+ .aeonButtonGroup--gap_sm {
1022
+ gap: var(--spacing-gap-sm);
1023
+ }
1024
+ }
1025
+
1026
+ @layer recipes.slots{
1027
+ @layer _base{
1028
+
1029
+ .aeonAccordion__root {
1030
+ display: flex;
1031
+ gap: var(--spacing-accordion-gap);
1032
+ flex-direction: column;
1033
+ font-family: var(--fonts-ui);
1034
+ }
1035
+
1036
+ .aeonAccordion__item {
1037
+ border-radius: var(--radii-md);
1038
+ background: var(--colors-surface);
1039
+ border-width: 1px;
1040
+ border-style: solid;
1041
+ border-color: var(--colors-border);
1042
+ }
1043
+
1044
+ .aeonAccordion__itemTrigger {
1045
+ width: 100%;
1046
+ display: flex;
1047
+ gap: var(--spacing-gap-lg);
1048
+ text-align: left;
1049
+ color: var(--colors-fg);
1050
+ padding-inline: var(--spacing-accordion-inset-x);
1051
+ padding-block: var(--spacing-accordion-trigger-y);
1052
+ min-height: accordionTriggerMinH;
1053
+ cursor: pointer;
1054
+ appearance: none;
1055
+ -webkit-appearance: none;
1056
+ font: inherit;
1057
+ background: var(--colors-surface);
1058
+ outline: var(--borders-none);
1059
+ align-items: center;
1060
+ justify-content: space-between;
1061
+ font-size: var(--font-sizes-md);
1062
+ font-weight: var(--font-weights-medium);
1063
+ line-height: var(--line-heights-snug);
1064
+ --transition-prop: background-color;
1065
+ transition-property: background-color;
1066
+ --transition-duration: var(--durations-normal);
1067
+ transition-duration: var(--durations-normal);
1068
+ border-top-left-radius: var(--radii-md);
1069
+ border-top-right-radius: var(--radii-md);
1070
+ }
1071
+
1072
+ .aeonAccordion__itemTrigger[data-aeon-state=closed] {
1073
+ border-bottom-left-radius: var(--radii-md);
1074
+ border-bottom-right-radius: var(--radii-md);
1075
+ }
1076
+
1077
+ .aeonAccordion__itemTrigger:is(:focus-visible, [data-focus-visible]) {
1078
+ box-shadow: var(--shadows-focus-ring);
1079
+ }
1080
+
1081
+ .aeonAccordion__itemTrigger:is(:hover, [data-hover]) {
1082
+ background: var(--colors-surface-raised);
1083
+ }
1084
+
1085
+ .aeonAccordion__itemContent {
1086
+ position: relative;
1087
+ display: flex;
1088
+ gap: var(--spacing-gap-sm);
1089
+ color: var(--colors-muted);
1090
+ background: var(--colors-surface);
1091
+ padding-inline: var(--spacing-accordion-inset-x);
1092
+ flex-direction: column;
1093
+ align-items: stretch;
1094
+ font-size: var(--font-sizes-sm);
1095
+ line-height: 1.55;
1096
+ padding-top: var(--spacing-pad-md);
1097
+ padding-bottom: var(--spacing-pad-md);
1098
+ border-bottom-left-radius: var(--radii-md);
1099
+ border-bottom-right-radius: var(--radii-md);
1100
+ }
1101
+
1102
+ .aeonAccordion__itemContent > *,.aeonAccordion__itemContent .code-example {
1103
+ margin: var(--spacing-0);
1104
+ }
1105
+
1106
+ .aeonAccordion__itemContent::before {
1107
+ position: absolute;
1108
+ height: 1px;
1109
+ background: var(--colors-border);
1110
+ content: "";
1111
+ top: var(--spacing-0);
1112
+ left: var(--spacing-accordion-inset-x);
1113
+ right: var(--spacing-accordion-inset-x);
1114
+ }
1115
+
1116
+ .aeonAccordion__itemIndicator {
1117
+ color: var(--colors-muted);
1118
+ padding-inline: var(--spacing-1);
1119
+ flex-shrink: 0;
1120
+ font-size: var(--font-sizes-sm);
1121
+ line-height: 1;
1122
+ }
1123
+
1124
+ .aeonAsync__root {
1125
+ display: flex;
1126
+ gap: var(--spacing-gap-lg);
1127
+ flex-direction: column;
1128
+ }
1129
+
1130
+ .aeonAsync__track {
1131
+ --aeon-state-track-count: 5;
1132
+ container-type: inline-size;
1133
+ display: grid;
1134
+ width: 100%;
1135
+ letter-spacing: clamp(0.02em, 0.12cqi, 0.06em);
1136
+ text-transform: uppercase;
1137
+ grid-template-columns: repeat(var(--aeon-state-track-count), minmax(0, 1fr));
1138
+ align-items: stretch;
1139
+ font-family: var(--fonts-mono);
1140
+ font-size: clamp(0.5rem, 3cqi, 0.6875rem);
1141
+ font-weight: var(--font-weights-semibold);
1142
+ line-height: 1.2;
1143
+ }
1144
+
1145
+ .aeonAsync__segment {
1146
+ min-width: var(--sizes-0);
1147
+ padding-block: var(--spacing-2\.5);
1148
+ padding-inline: clamp(0.15rem, 2.5cqi, 0.85rem);
1149
+ color: var(--colors-muted);
1150
+ white-space: nowrap;
1151
+ align-items: center;
1152
+ justify-content: center;
1153
+ border-width: 1px;
1154
+ border-style: solid;
1155
+ border-color: var(--colors-border);
1156
+ }
1157
+
1158
+ .aeonAsync__segment,.aeonAsync__readout {
1159
+ display: flex;
1160
+ background: var(--colors-bg);
1161
+ }
1162
+
1163
+ .aeonAsync__readout {
1164
+ width: 100%;
1165
+ min-height: 5.5rem;
1166
+ border-radius: var(--radii-lg);
1167
+ overflow: hidden;
1168
+ align-items: stretch;
1169
+ border-width: 1px;
1170
+ border-style: solid;
1171
+ border-color: var(--colors-border);
1172
+ }
1173
+
1174
+ .aeonAsync__readoutRail {
1175
+ flex: 0 0 4px;
1176
+ background: var(--colors-border);
1177
+ align-self: stretch;
1178
+ --transition-prop: background;
1179
+ transition-property: background;
1180
+ --transition-duration: var(--durations-normal);
1181
+ transition-duration: var(--durations-normal);
1182
+ }
1183
+
1184
+ .aeonAsync__readoutBody {
1185
+ flex: 1 1 auto;
1186
+ min-width: var(--sizes-0);
1187
+ display: flex;
1188
+ padding-inline: var(--spacing-pad-md);
1189
+ padding-block: var(--spacing-pad-md);
1190
+ align-items: center;
1191
+ line-height: 1.5;
1192
+ }
1193
+
1194
+ .aeonAsync__actions {
1195
+ gap: var(--spacing-gap-sm);
1196
+ flex-wrap: wrap;
1197
+ }
1198
+
1199
+ .aeonAsync__actions,.aeonCheckbox__root {
1200
+ display: inline-flex;
1201
+ align-items: center;
1202
+ }
1203
+
1204
+ .aeonCheckbox__root {
1205
+ gap: var(--spacing-gap-lg);
1206
+ font-family: var(--fonts-ui);
1207
+ line-height: 1.5;
1208
+ }
1209
+
1210
+ .aeonCheckbox__root,.aeonCheckbox__control {
1211
+ cursor: pointer;
1212
+ vertical-align: middle;
1213
+ }
1214
+
1215
+ .aeonCheckbox__control {
1216
+ margin: var(--spacing-0);
1217
+ padding: var(--spacing-0);
1218
+ font: inherit;
1219
+ color: inherit;
1220
+ box-sizing: border-box;
1221
+ appearance: none;
1222
+ -webkit-appearance: none;
1223
+ width: 1.5rem;
1224
+ height: 1.5rem;
1225
+ border-radius: var(--radii-md);
1226
+ background: var(--colors-surface);
1227
+ display: inline-flex;
1228
+ outline: var(--borders-none);
1229
+ line-height: 1;
1230
+ flex-shrink: 0;
1231
+ border-width: 1px;
1232
+ border-style: solid;
1233
+ border-color: var(--colors-border);
1234
+ align-items: center;
1235
+ justify-content: center;
1236
+ --transition-prop: background-color, border-color;
1237
+ transition-property: background-color, border-color;
1238
+ --transition-duration: var(--durations-normal);
1239
+ transition-duration: var(--durations-normal);
1240
+ }
1241
+
1242
+ .aeonCheckbox__control[data-aeon-state*=checked] {
1243
+ background: var(--colors-accent);
1244
+ border-color: var(--colors-accent);
1245
+ }
1246
+
1247
+ .aeonCheckbox__control:is(:focus-visible, [data-focus-visible]) {
1248
+ box-shadow: var(--shadows-focus-ring);
1249
+ }
1250
+
1251
+ .aeonCheckbox__indicator {
1252
+ color: var(--colors-bg);
1253
+ font-size: var(--font-sizes-xs);
1254
+ font-weight: var(--font-weights-bold);
1255
+ }
1256
+
1257
+ .aeonCheckbox__label {
1258
+ color: var(--colors-fg);
1259
+ -webkit-user-select: none;
1260
+ user-select: none;
1261
+ font-size: var(--font-sizes-sm);
1262
+ line-height: 1.5;
1263
+ }
1264
+
1265
+ .aeonCombobox__root {
1266
+ position: relative;
1267
+ display: inline-block;
1268
+ min-width: var(--sizes-0);
1269
+ width: 100%;
1270
+ max-width: 20rem;
1271
+ }
1272
+
1273
+ .aeonCombobox__input {
1274
+ display: block;
1275
+ width: 100%;
1276
+ min-height: 2rem;
1277
+ padding-block: var(--spacing-control-y);
1278
+ border-radius: var(--radii-sm);
1279
+ color: var(--colors-fg);
1280
+ background: var(--colors-surface);
1281
+ outline: var(--borders-none);
1282
+ padding-left: var(--spacing-control-x);
1283
+ padding-right: 2rem;
1284
+ font-size: 0.8125rem;
1285
+ font-weight: var(--font-weights-medium);
1286
+ font-family: var(--fonts-ui);
1287
+ line-height: 1.25;
1288
+ border-width: 1px;
1289
+ border-style: solid;
1290
+ border-color: var(--colors-border);
1291
+ --transition-prop: border-color, background-color;
1292
+ transition-property: border-color, background-color;
1293
+ --transition-duration: var(--durations-normal);
1294
+ transition-duration: var(--durations-normal);
1295
+ }
1296
+
1297
+ .aeonCombobox__input::placeholder,.aeonCombobox__input[data-placeholder] {
1298
+ color: var(--colors-muted);
1299
+ }
1300
+
1301
+ .aeonCombobox__input[data-aeon-state=open] {
1302
+ background: var(--colors-surface-raised);
1303
+ border-color: var(--colors-accent);
1304
+ }
1305
+
1306
+ .aeonCombobox__input:is(:focus-visible, [data-focus-visible]) {
1307
+ box-shadow: var(--shadows-focus-ring);
1308
+ }
1309
+
1310
+ .aeonCombobox__input:is(:hover, [data-hover]) {
1311
+ border-color: var(--colors-accent);
1312
+ }
1313
+
1314
+ .aeonCombobox__icon {
1315
+ position: absolute;
1316
+ width: 0.5rem;
1317
+ height: 0.5rem;
1318
+ border-right: 2px solid;
1319
+ border-bottom: 2px solid;
1320
+ transform: rotate(45deg) translateY(-1px);
1321
+ pointer-events: none;
1322
+ right: var(--spacing-control-x);
1323
+ top: 50%;
1324
+ margin-top: -0.35rem;
1325
+ border-color: var(--colors-muted);
1326
+ --transition-prop: transform;
1327
+ transition-property: transform;
1328
+ --transition-duration: var(--durations-normal);
1329
+ transition-duration: var(--durations-normal);
1330
+ }
1331
+
1332
+ .aeonCombobox__content {
1333
+ position: absolute;
1334
+ z-index: 50;
1335
+ max-height: 14rem;
1336
+ padding-block: var(--spacing-inset-y-sm);
1337
+ background: var(--colors-surface);
1338
+ border-radius: var(--radii-md);
1339
+ box-shadow: var(--shadows-panel);
1340
+ outline: var(--borders-none);
1341
+ top: calc(100% + 0.25rem);
1342
+ left: var(--spacing-0);
1343
+ right: var(--spacing-0);
1344
+ overflow-y: auto;
1345
+ border-width: 1px;
1346
+ border-style: solid;
1347
+ border-color: var(--colors-border);
1348
+ }
1349
+
1350
+ .aeonCombobox__item {
1351
+ display: block;
1352
+ width: 100%;
1353
+ padding-block: 0.5rem;
1354
+ padding-inline: 1rem;
1355
+ text-align: left;
1356
+ color: var(--colors-fg);
1357
+ background: var(--colors-transparent);
1358
+ border: var(--borders-none);
1359
+ cursor: pointer;
1360
+ outline: var(--borders-none);
1361
+ font-size: 0.8125rem;
1362
+ font-family: var(--fonts-ui);
1363
+ }
1364
+
1365
+ .aeonCombobox__item[data-aeon-state=selected] {
1366
+ background: var(--colors-accent-dim);
1367
+ color: var(--colors-accent);
1368
+ font-weight: var(--font-weights-semibold);
1369
+ }
1370
+
1371
+ .aeonCombobox__item[data-highlighted] {
1372
+ background: var(--colors-surface-raised);
1373
+ color: var(--colors-accent);
1374
+ }
1375
+
1376
+ .aeonCombobox__item:is(:focus-visible, [data-focus-visible]) {
1377
+ background: var(--colors-surface-raised);
1378
+ box-shadow: none;
1379
+ }
1380
+
1381
+ .aeonCombobox__item:is(:hover, [data-hover]) {
1382
+ background: var(--colors-surface-raised);
1383
+ color: var(--colors-accent);
1384
+ }
1385
+
1386
+ .aeonCombobox__empty {
1387
+ padding-block: 0.65rem;
1388
+ padding-inline: 1rem;
1389
+ color: var(--colors-muted);
1390
+ font-size: 0.8125rem;
1391
+ font-family: var(--fonts-ui);
1392
+ }
1393
+
1394
+ .aeonDialog__trigger {
1395
+ border-radius: var(--radii-md);
1396
+ color: var(--colors-fg);
1397
+ padding-block: var(--spacing-inset-y);
1398
+ padding-inline: var(--spacing-inset-x);
1399
+ min-height: 2.75rem;
1400
+ cursor: pointer;
1401
+ border-width: 1px;
1402
+ border-style: solid;
1403
+ border-color: var(--colors-border);
1404
+ font-size: var(--font-sizes-sm);
1405
+ font-weight: var(--font-weights-medium);
1406
+ font-family: var(--fonts-ui);
1407
+ --transition-prop: border-color;
1408
+ transition-property: border-color;
1409
+ --transition-duration: var(--durations-normal);
1410
+ transition-duration: var(--durations-normal);
1411
+ }
1412
+
1413
+ .aeonDialog__trigger:is(:hover, [data-hover]) {
1414
+ border-color: var(--colors-accent);
1415
+ }
1416
+
1417
+ .aeonDialog__backdrop {
1418
+ z-index: 40;
1419
+ --mix-background: color-mix(in srgb, var(--colors-black) 70%, transparent);
1420
+ background: var(--mix-background, var(--colors-black));
1421
+ backdrop-filter: blur(4px);
1422
+ -webkit-backdrop-filter: blur(4px);
1423
+ }
1424
+
1425
+ .aeonDialog__backdrop,.aeonDialog__positioner {
1426
+ position: fixed;
1427
+ inset: var(--spacing-0);
1428
+ }
1429
+
1430
+ .aeonDialog__positioner {
1431
+ z-index: 50;
1432
+ display: flex;
1433
+ padding: var(--spacing-4);
1434
+ align-items: center;
1435
+ justify-content: center;
1436
+ }
1437
+
1438
+ .aeonDialog__content {
1439
+ width: 100%;
1440
+ max-width: var(--sizes-md);
1441
+ border-radius: var(--radii-lg);
1442
+ background: var(--colors-surface-raised);
1443
+ box-shadow: var(--shadows-panel);
1444
+ color: var(--colors-fg);
1445
+ padding: var(--spacing-pad-xl);
1446
+ border-width: 1px;
1447
+ border-style: solid;
1448
+ border-color: var(--colors-border);
1449
+ font-family: var(--fonts-ui);
1450
+ }
1451
+
1452
+ .aeonDialog__title {
1453
+ margin: var(--spacing-0);
1454
+ font-size: var(--font-sizes-lg);
1455
+ font-weight: var(--font-weights-semibold);
1456
+ margin-bottom: var(--spacing-gap);
1457
+ }
1458
+
1459
+ .aeonDialog__title,.aeonDialog__description {
1460
+ padding-right: var(--spacing-inset-x-sm);
1461
+ }
1462
+
1463
+ .aeonDialog__description {
1464
+ color: var(--colors-muted);
1465
+ margin: var(--spacing-0);
1466
+ font-size: var(--font-sizes-sm);
1467
+ margin-bottom: var(--spacing-pad-md);
1468
+ line-height: 1.65;
1469
+ }
1470
+
1471
+ .aeonDialog__closeTrigger {
1472
+ border-radius: var(--radii-md);
1473
+ padding-block: var(--spacing-inset-y);
1474
+ padding-inline: var(--spacing-inset-x);
1475
+ min-height: 2.75rem;
1476
+ cursor: pointer;
1477
+ border-width: 1px;
1478
+ border-style: solid;
1479
+ border-color: var(--colors-border);
1480
+ font-size: var(--font-sizes-sm);
1481
+ font-family: var(--fonts-ui);
1482
+ margin-top: var(--spacing-gap-lg);
1483
+ --transition-prop: border-color;
1484
+ transition-property: border-color;
1485
+ --transition-duration: var(--durations-normal);
1486
+ transition-duration: var(--durations-normal);
1487
+ }
1488
+
1489
+ .aeonDialog__closeTrigger:is(:hover, [data-hover]) {
1490
+ border-color: var(--colors-accent);
1491
+ }
1492
+
1493
+ .aeonField__root {
1494
+ display: flex;
1495
+ gap: var(--spacing-2);
1496
+ width: 100%;
1497
+ max-width: 24rem;
1498
+ flex-direction: column;
1499
+ align-items: flex-start;
1500
+ }
1501
+
1502
+ .aeonField__label {
1503
+ font-weight: var(--font-weights-medium);
1504
+ }
1505
+
1506
+ .aeonField__label,.aeonField__control {
1507
+ color: var(--colors-fg);
1508
+ font-size: var(--font-sizes-sm);
1509
+ }
1510
+
1511
+ .aeonField__control {
1512
+ width: 100%;
1513
+ border-radius: var(--radii-md);
1514
+ background: var(--colors-surface);
1515
+ padding-inline: var(--spacing-inset-x);
1516
+ padding-block: var(--spacing-inset-y-sm);
1517
+ outline: var(--borders-none);
1518
+ font-family: var(--fonts-ui);
1519
+ line-height: 1.5;
1520
+ border-width: 1px;
1521
+ border-style: solid;
1522
+ border-color: var(--colors-border);
1523
+ }
1524
+
1525
+ .aeonField__control:is(:focus-visible, [data-focus-visible]) {
1526
+ box-shadow: var(--shadows-focus-ring);
1527
+ border-color: var(--colors-accent);
1528
+ }
1529
+
1530
+ .aeonField__textarea {
1531
+ width: 100%;
1532
+ min-height: 6.5rem;
1533
+ resize: vertical;
1534
+ border-radius: var(--radii-md);
1535
+ background: var(--colors-surface);
1536
+ color: var(--colors-fg);
1537
+ padding-inline: var(--spacing-inset-x);
1538
+ padding-block: var(--spacing-inset-y-sm);
1539
+ outline: var(--borders-none);
1540
+ font-size: var(--font-sizes-sm);
1541
+ font-family: var(--fonts-ui);
1542
+ line-height: 1.5;
1543
+ border-width: 1px;
1544
+ border-style: solid;
1545
+ border-color: var(--colors-border);
1546
+ }
1547
+
1548
+ .aeonField__textarea:is(:focus-visible, [data-focus-visible]) {
1549
+ box-shadow: var(--shadows-focus-ring);
1550
+ border-color: var(--colors-accent);
1551
+ }
1552
+
1553
+ .aeonField__message {
1554
+ color: var(--colors-danger);
1555
+ }
1556
+
1557
+ .aeonField__message,.aeonField__hint {
1558
+ margin: var(--spacing-0);
1559
+ font-size: var(--font-sizes-xs);
1560
+ }
1561
+
1562
+ .aeonField__hint {
1563
+ color: var(--colors-muted);
1564
+ }
1565
+
1566
+ .aeonMenu__root {
1567
+ position: relative;
1568
+ display: inline-block;
1569
+ }
1570
+
1571
+ .aeonMenu__trigger {
1572
+ border-radius: var(--radii-md);
1573
+ color: var(--colors-fg);
1574
+ padding-block: var(--spacing-inset-y);
1575
+ padding-inline: var(--spacing-inset-x);
1576
+ min-height: 2.5rem;
1577
+ cursor: pointer;
1578
+ background: var(--colors-surface);
1579
+ border-width: 1px;
1580
+ border-style: solid;
1581
+ border-color: var(--colors-border);
1582
+ font-size: var(--font-sizes-sm);
1583
+ font-weight: var(--font-weights-medium);
1584
+ font-family: var(--fonts-ui);
1585
+ }
1586
+
1587
+ .aeonMenu__trigger:is(:hover, [data-hover]) {
1588
+ border-color: var(--colors-accent);
1589
+ }
1590
+
1591
+ .aeonMenu__positioner {
1592
+ position: absolute;
1593
+ z-index: 50;
1594
+ min-width: 10rem;
1595
+ top: calc(100% + 0.35rem);
1596
+ left: var(--spacing-0);
1597
+ }
1598
+
1599
+ .aeonMenu__content {
1600
+ border-radius: var(--radii-md);
1601
+ background: var(--colors-surface-raised);
1602
+ box-shadow: var(--shadows-panel);
1603
+ padding-block: var(--spacing-inset-y-sm);
1604
+ padding-inline: var(--spacing-0);
1605
+ border-width: 1px;
1606
+ border-style: solid;
1607
+ border-color: var(--colors-border);
1608
+ }
1609
+
1610
+ .aeonMenu__content,.aeonMenu__item {
1611
+ color: var(--colors-fg);
1612
+ font-family: var(--fonts-ui);
1613
+ font-size: var(--font-sizes-sm);
1614
+ }
1615
+
1616
+ .aeonMenu__item {
1617
+ display: flex;
1618
+ width: 100%;
1619
+ text-align: left;
1620
+ padding-block: var(--spacing-inset-y);
1621
+ padding-inline: var(--spacing-inset-x);
1622
+ background: var(--colors-transparent);
1623
+ border: var(--borders-none);
1624
+ cursor: pointer;
1625
+ align-items: center;
1626
+ }
1627
+
1628
+ .aeonMenu__item:is(:focus-visible, [data-focus-visible]) {
1629
+ outline: var(--borders-none);
1630
+ box-shadow: var(--shadows-focus-ring);
1631
+ }
1632
+
1633
+ .aeonMenu__item:is(:hover, [data-hover]) {
1634
+ background: var(--colors-surface);
1635
+ }
1636
+
1637
+ .aeonMenu__separator {
1638
+ height: 1px;
1639
+ margin-block: var(--spacing-inset-y-sm);
1640
+ background: var(--colors-border);
1641
+ }
1642
+
1643
+ .aeonPopover__root {
1644
+ position: relative;
1645
+ display: inline-block;
1646
+ }
1647
+
1648
+ .aeonPopover__trigger {
1649
+ border-radius: var(--radii-md);
1650
+ color: var(--colors-fg);
1651
+ padding-block: var(--spacing-inset-y);
1652
+ padding-inline: var(--spacing-inset-x);
1653
+ min-height: 2.5rem;
1654
+ cursor: pointer;
1655
+ background: var(--colors-surface);
1656
+ border-width: 1px;
1657
+ border-style: solid;
1658
+ border-color: var(--colors-border);
1659
+ font-size: var(--font-sizes-sm);
1660
+ font-weight: var(--font-weights-medium);
1661
+ font-family: var(--fonts-ui);
1662
+ }
1663
+
1664
+ .aeonPopover__trigger:is(:hover, [data-hover]) {
1665
+ border-color: var(--colors-accent);
1666
+ }
1667
+
1668
+ .aeonPopover__positioner {
1669
+ position: absolute;
1670
+ z-index: 50;
1671
+ min-width: 10rem;
1672
+ top: calc(100% + 0.35rem);
1673
+ left: var(--spacing-0);
1674
+ }
1675
+
1676
+ .aeonPopover__content {
1677
+ border-radius: var(--radii-md);
1678
+ background: var(--colors-surface-raised);
1679
+ box-shadow: var(--shadows-panel);
1680
+ color: var(--colors-fg);
1681
+ padding-block: var(--spacing-inset-y-sm);
1682
+ padding-inline: var(--spacing-inset-x-sm);
1683
+ padding: var(--spacing-pad-md);
1684
+ border-width: 1px;
1685
+ border-style: solid;
1686
+ border-color: var(--colors-border);
1687
+ }
1688
+
1689
+ .aeonPopover__content,.aeonPopover__closeTrigger {
1690
+ font-family: var(--fonts-ui);
1691
+ font-size: var(--font-sizes-sm);
1692
+ }
1693
+
1694
+ .aeonPopover__closeTrigger {
1695
+ cursor: pointer;
1696
+ color: var(--colors-muted);
1697
+ margin-top: var(--spacing-gap);
1698
+ }
1699
+
1700
+ .aeonPopover__closeTrigger:is(:hover, [data-hover]) {
1701
+ color: var(--colors-fg);
1702
+ }
1703
+
1704
+ .aeonScroll__root {
1705
+ display: flex;
1706
+ gap: var(--spacing-gap-sm);
1707
+ min-width: var(--sizes-0);
1708
+ flex-direction: column;
1709
+ }
1710
+
1711
+ .aeonScroll__viewport {
1712
+ position: relative;
1713
+ min-width: var(--sizes-0);
1714
+ overflow: auto;
1715
+ border-radius: var(--radii-md);
1716
+ background: var(--colors-bg);
1717
+ border-width: 1px;
1718
+ border-style: solid;
1719
+ border-color: var(--colors-border);
1720
+ }
1721
+
1722
+ .aeonScroll__content {
1723
+ min-width: min-content;
1724
+ }
1725
+
1726
+ .aeonSelect__root {
1727
+ position: relative;
1728
+ display: inline-block;
1729
+ min-width: var(--sizes-0);
1730
+ }
1731
+
1732
+ .aeonSelect__trigger {
1733
+ display: inline-flex;
1734
+ gap: var(--spacing-gap-sm);
1735
+ width: 100%;
1736
+ min-height: 2rem;
1737
+ padding-block: var(--spacing-control-y);
1738
+ padding-inline: var(--spacing-control-x);
1739
+ border-radius: var(--radii-sm);
1740
+ color: var(--colors-fg);
1741
+ background: var(--colors-surface);
1742
+ cursor: pointer;
1743
+ outline: var(--borders-none);
1744
+ align-items: center;
1745
+ justify-content: space-between;
1746
+ font-size: 0.8125rem;
1747
+ font-weight: var(--font-weights-medium);
1748
+ font-family: var(--fonts-ui);
1749
+ line-height: 1.25;
1750
+ border-width: 1px;
1751
+ border-style: solid;
1752
+ border-color: var(--colors-border);
1753
+ --transition-prop: border-color, background-color;
1754
+ transition-property: border-color, background-color;
1755
+ --transition-duration: var(--durations-normal);
1756
+ transition-duration: var(--durations-normal);
1757
+ }
1758
+
1759
+ .aeonSelect__trigger[data-aeon-state=open] {
1760
+ background: var(--colors-surface-raised);
1761
+ border-color: var(--colors-accent);
1762
+ }
1763
+
1764
+ .aeonSelect__trigger[data-aeon-state=open] [data-aeon-part="icon"] {
1765
+ transform: rotate(-135deg) translateY(2px);
1766
+ }
1767
+
1768
+ .aeonSelect__trigger:is(:focus-visible, [data-focus-visible]) {
1769
+ box-shadow: var(--shadows-focus-ring);
1770
+ }
1771
+
1772
+ .aeonSelect__trigger:is(:hover, [data-hover]) {
1773
+ border-color: var(--colors-accent);
1774
+ }
1775
+
1776
+ .aeonSelect__value {
1777
+ flex: 1 1 0%;
1778
+ text-align: left;
1779
+ white-space: nowrap;
1780
+ overflow: hidden;
1781
+ text-overflow: ellipsis;
1782
+ }
1783
+
1784
+ .aeonSelect__icon {
1785
+ width: 0.5rem;
1786
+ height: 0.5rem;
1787
+ border-right: 2px solid;
1788
+ border-bottom: 2px solid;
1789
+ transform: rotate(45deg) translateY(-1px);
1790
+ flex-shrink: 0;
1791
+ border-color: var(--colors-muted);
1792
+ --transition-prop: transform;
1793
+ transition-property: transform;
1794
+ --transition-duration: var(--durations-normal);
1795
+ transition-duration: var(--durations-normal);
1796
+ }
1797
+
1798
+ .aeonSelect__positioner {
1799
+ z-index: 50;
1800
+ }
1801
+
1802
+ .aeonSelect__content {
1803
+ max-height: 14rem;
1804
+ padding-block: var(--spacing-inset-y-sm);
1805
+ background: var(--colors-surface);
1806
+ border-radius: var(--radii-md);
1807
+ box-shadow: var(--shadows-panel);
1808
+ outline: var(--borders-none);
1809
+ overflow-y: auto;
1810
+ border-width: 1px;
1811
+ border-style: solid;
1812
+ border-color: var(--colors-border);
1813
+ }
1814
+
1815
+ .aeonSelect__item {
1816
+ display: block;
1817
+ width: 100%;
1818
+ padding-block: 0.5rem;
1819
+ padding-inline: 1rem;
1820
+ text-align: left;
1821
+ color: var(--colors-fg);
1822
+ background: var(--colors-transparent);
1823
+ border: var(--borders-none);
1824
+ cursor: pointer;
1825
+ outline: var(--borders-none);
1826
+ font-size: 0.8125rem;
1827
+ font-family: var(--fonts-ui);
1828
+ }
1829
+
1830
+ .aeonSelect__item[data-aeon-state=selected] {
1831
+ background: var(--colors-accent-dim);
1832
+ color: var(--colors-accent);
1833
+ font-weight: var(--font-weights-semibold);
1834
+ }
1835
+
1836
+ .aeonSelect__item:is(:focus-visible, [data-focus-visible]) {
1837
+ background: var(--colors-surface-raised);
1838
+ box-shadow: none;
1839
+ }
1840
+
1841
+ .aeonSelect__item:is(:hover, [data-hover]) {
1842
+ background: var(--colors-surface-raised);
1843
+ color: var(--colors-accent);
1844
+ }
1845
+
1846
+ .aeonSwitch__root {
1847
+ gap: var(--spacing-gap-lg);
1848
+ font-family: var(--fonts-ui);
1849
+ line-height: 1.5;
1850
+ }
1851
+
1852
+ .aeonSwitch__root,.aeonSwitch__control {
1853
+ display: inline-flex;
1854
+ cursor: pointer;
1855
+ vertical-align: middle;
1856
+ align-items: center;
1857
+ }
1858
+
1859
+ .aeonSwitch__control {
1860
+ margin: var(--spacing-0);
1861
+ padding: 3px;
1862
+ font: inherit;
1863
+ color: inherit;
1864
+ box-sizing: border-box;
1865
+ appearance: none;
1866
+ -webkit-appearance: none;
1867
+ width: 3rem;
1868
+ height: 1.75rem;
1869
+ border-radius: var(--radii-full);
1870
+ background: var(--colors-surface);
1871
+ outline: var(--borders-none);
1872
+ line-height: 1;
1873
+ flex-shrink: 0;
1874
+ border-width: 1px;
1875
+ border-style: solid;
1876
+ border-color: var(--colors-border);
1877
+ --transition-prop: background-color, border-color;
1878
+ transition-property: background-color, border-color;
1879
+ --transition-duration: var(--durations-normal);
1880
+ transition-duration: var(--durations-normal);
1881
+ }
1882
+
1883
+ .aeonSwitch__control[data-aeon-state*=checked] {
1884
+ background: var(--colors-accent-dim);
1885
+ border-color: var(--colors-accent);
1886
+ }
1887
+
1888
+ .aeonSwitch__control:is(:focus-visible, [data-focus-visible]) {
1889
+ box-shadow: var(--shadows-focus-ring);
1890
+ }
1891
+
1892
+ .aeonSwitch__thumb {
1893
+ width: 1.125rem;
1894
+ height: 1.125rem;
1895
+ border-radius: var(--radii-full);
1896
+ background: var(--colors-fg);
1897
+ pointer-events: none;
1898
+ flex-shrink: 0;
1899
+ --transition-prop: margin, background-color;
1900
+ transition-property: margin, background-color;
1901
+ --transition-duration: var(--durations-normal);
1902
+ transition-duration: var(--durations-normal);
1903
+ }
1904
+
1905
+ .aeonSwitch__thumb[data-aeon-state*=checked] {
1906
+ background: var(--colors-accent);
1907
+ margin-left: auto;
1908
+ }
1909
+
1910
+ .aeonSwitch__label {
1911
+ color: var(--colors-fg);
1912
+ -webkit-user-select: none;
1913
+ user-select: none;
1914
+ font-size: var(--font-sizes-sm);
1915
+ line-height: 1.5;
1916
+ }
1917
+
1918
+ .aeonTabs__root {
1919
+ display: flex;
1920
+ gap: var(--spacing-4);
1921
+ flex-direction: column;
1922
+ font-family: var(--fonts-ui);
1923
+ }
1924
+
1925
+ .aeonTabs__list {
1926
+ display: inline-flex;
1927
+ border-radius: var(--radii-md);
1928
+ background: var(--colors-surface);
1929
+ padding: var(--spacing-inset-y-sm);
1930
+ gap: var(--spacing-inset-y-sm);
1931
+ border-width: 1px;
1932
+ border-style: solid;
1933
+ border-color: var(--colors-border);
1934
+ }
1935
+
1936
+ .aeonTabs__trigger {
1937
+ border-radius: 0.375rem;
1938
+ color: var(--colors-muted);
1939
+ padding-block: var(--spacing-inset-y);
1940
+ padding-inline: var(--spacing-inset-x-sm);
1941
+ min-height: 2.5rem;
1942
+ cursor: pointer;
1943
+ outline: var(--borders-none);
1944
+ font-size: var(--font-sizes-sm);
1945
+ --transition-prop: color, background-color;
1946
+ transition-property: color, background-color;
1947
+ --transition-duration: var(--durations-normal);
1948
+ transition-duration: var(--durations-normal);
1949
+ }
1950
+
1951
+ .aeonTabs__trigger[data-aeon-state=selected] {
1952
+ background: var(--colors-surface-raised);
1953
+ color: var(--colors-accent);
1954
+ }
1955
+
1956
+ .aeonTabs__trigger:is(:focus-visible, [data-focus-visible]) {
1957
+ box-shadow: var(--shadows-focus-ring);
1958
+ }
1959
+
1960
+ .aeonTabs__content {
1961
+ color: var(--colors-fg);
1962
+ padding-inline: var(--spacing-inset-x-sm);
1963
+ font-size: var(--font-sizes-sm);
1964
+ line-height: 1.65;
1965
+ padding-top: var(--spacing-pad-md);
1966
+ }
1967
+
1968
+ .aeonToast__viewport {
1969
+ position: fixed;
1970
+ z-index: 60;
1971
+ display: flex;
1972
+ gap: var(--spacing-gap-sm);
1973
+ max-width: var(--sizes-full);
1974
+ pointer-events: none;
1975
+ outline: var(--borders-none);
1976
+ flex-direction: column;
1977
+ }
1978
+
1979
+ .aeonToast__viewport[data-placement="top-start"] {
1980
+ top: var(--spacing-pad-md);
1981
+ left: var(--spacing-pad-md);
1982
+ align-items: flex-start;
1983
+ }
1984
+
1985
+ .aeonToast__viewport[data-placement="top-end"] {
1986
+ top: var(--spacing-pad-md);
1987
+ right: var(--spacing-pad-md);
1988
+ align-items: flex-end;
1989
+ }
1990
+
1991
+ .aeonToast__viewport[data-placement="bottom-start"] {
1992
+ bottom: var(--spacing-pad-md);
1993
+ left: var(--spacing-pad-md);
1994
+ align-items: flex-start;
1995
+ }
1996
+
1997
+ .aeonToast__viewport[data-placement="bottom-end"] {
1998
+ bottom: var(--spacing-pad-md);
1999
+ right: var(--spacing-pad-md);
2000
+ align-items: flex-end;
2001
+ }
2002
+
2003
+ .aeonToast__root {
2004
+ pointer-events: auto;
2005
+ display: flex;
2006
+ gap: var(--spacing-gap-sm);
2007
+ max-width: var(--sizes-sm);
2008
+ padding: var(--spacing-pad-md);
2009
+ border-radius: var(--radii-lg);
2010
+ background: var(--colors-surface-raised);
2011
+ box-shadow: var(--shadows-panel);
2012
+ color: var(--colors-fg);
2013
+ flex-direction: column;
2014
+ border-width: 1px;
2015
+ border-style: solid;
2016
+ border-color: var(--colors-border);
2017
+ font-family: var(--fonts-ui);
2018
+ }
2019
+
2020
+ .aeonToast__title {
2021
+ font-weight: var(--font-weights-semibold);
2022
+ }
2023
+
2024
+ .aeonToast__title,.aeonToast__description {
2025
+ margin: var(--spacing-0);
2026
+ font-size: var(--font-sizes-sm);
2027
+ }
2028
+
2029
+ .aeonToast__description {
2030
+ color: var(--colors-muted);
2031
+ line-height: 1.5;
2032
+ }
2033
+
2034
+ .aeonToast__closeTrigger {
2035
+ color: var(--colors-muted);
2036
+ cursor: pointer;
2037
+ background: var(--colors-transparent);
2038
+ border: var(--borders-none);
2039
+ align-self: flex-end;
2040
+ font-size: var(--font-sizes-xs);
2041
+ font-family: var(--fonts-ui);
2042
+ }
2043
+
2044
+ .aeonToast__closeTrigger:is(:hover, [data-hover]) {
2045
+ color: var(--colors-fg);
2046
+ }
2047
+
2048
+ .aeonTooltip__root {
2049
+ position: relative;
2050
+ display: inline-block;
2051
+ }
2052
+
2053
+ .aeonTooltip__trigger {
2054
+ display: inline-flex;
2055
+ cursor: default;
2056
+ }
2057
+
2058
+ .aeonTooltip__positioner {
2059
+ position: absolute;
2060
+ z-index: 50;
2061
+ min-width: 10rem;
2062
+ top: auto;
2063
+ left: var(--spacing-0);
2064
+ bottom: calc(100% + 0.35rem);
2065
+ }
2066
+
2067
+ .aeonTooltip__content {
2068
+ border-radius: var(--radii-md);
2069
+ background: var(--colors-surface-raised);
2070
+ box-shadow: var(--shadows-panel);
2071
+ color: var(--colors-fg);
2072
+ padding-block: var(--spacing-inset-y-sm);
2073
+ padding-inline: var(--spacing-inset-x);
2074
+ max-width: 16rem;
2075
+ border-width: 1px;
2076
+ border-style: solid;
2077
+ border-color: var(--colors-border);
2078
+ font-family: var(--fonts-ui);
2079
+ font-size: var(--font-sizes-xs);
2080
+ }
2081
+ }
2082
+
2083
+ .aeonScroll__viewport--axis_both {
2084
+ overflow: auto;
2085
+ }
2086
+
2087
+ .aeonScroll__viewport--maxH_md {
2088
+ max-height: 12rem;
2089
+ }
2090
+
2091
+ .aeonScroll__viewport--maxW_full {
2092
+ max-width: 100%;
2093
+ }
2094
+ }
2095
+
2096
+ @layer utilities{
2097
+
2098
+ .min-h_340 {
2099
+ min-height: 340px;
2100
+ }
2101
+
2102
+ .distance_980 {
2103
+ distance: 980px;
2104
+ }
2105
+
2106
+ .origin_50\%_36\% {
2107
+ origin: 50% 36%;
2108
+ }
2109
+
2110
+ .translate-z_-130 {
2111
+ --translate-z: -130;
2112
+ }
2113
+
2114
+ .translate-z_-85 {
2115
+ --translate-z: -85;
2116
+ }
2117
+
2118
+ .translate-z_-55 {
2119
+ --translate-z: -55;
2120
+ }
2121
+
2122
+ .rotate-y_42 {
2123
+ --rotate-y: 42;
2124
+ }
2125
+
2126
+ .rotate-y_-42 {
2127
+ --rotate-y: -42;
2128
+ }
2129
+
2130
+ .translate-z_0 {
2131
+ --translate-z: var(--spacing-0);
2132
+ }
2133
+
2134
+ .rotate-x_56 {
2135
+ --rotate-x: 56;
2136
+ }
2137
+
2138
+ .translate-z_28 {
2139
+ --translate-z: var(--spacing-28);
2140
+ }
2141
+
2142
+ .max-h_sm {
2143
+ max-height: var(--sizes-sm);
2144
+ }
2145
+
2146
+ .flex_1 {
2147
+ flex: 1 1 0%;
2148
+ }
2149
+
2150
+ .min-w_0 {
2151
+ min-width: var(--sizes-0);
2152
+ }
2153
+
2154
+ .pr_gapSm {
2155
+ padding-right: var(--spacing-gap-sm);
2156
+ }
2157
+ }