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.
- package/.changeset/README.md +23 -0
- package/.changeset/combobox-and-changesets.md +9 -0
- package/.changeset/config.json +30 -0
- package/.changeset/framework-adapters.md +12 -0
- package/.changeset/scene-3d.md +6 -0
- package/.changeset/scene-plane.md +8 -0
- package/.changeset/site-og.md +5 -0
- package/.cursor/rules/aeon-ui.mdc +22 -0
- package/ACCESSIBILITY.md +32 -0
- package/AGENTS.md +226 -0
- package/COMPONENTS.md +36 -0
- package/FRAMEWORKS.md +57 -0
- package/INTEGRATION.md +89 -0
- package/LICENSE +21 -0
- package/PHILOSOPHY.md +71 -0
- package/PUBLISHING.md +85 -0
- package/README.md +154 -0
- package/SCENE.md +113 -0
- package/STATES.md +243 -0
- package/apps/demo/index.html +31 -0
- package/apps/demo/og.config.mjs +15 -0
- package/apps/demo/package.json +41 -0
- package/apps/demo/public/favicon.svg +16 -0
- package/apps/demo/public/og.png +0 -0
- package/apps/demo/public/og.svg +35 -0
- package/apps/demo/scripts/generate-og-png.mjs +60 -0
- package/apps/demo/src/App.tsx +31 -0
- package/apps/demo/src/aeonDiagrams.ts +100 -0
- package/apps/demo/src/app.css +16 -0
- package/apps/demo/src/components/ActionCluster.tsx +20 -0
- package/apps/demo/src/components/AsyncMachineDemo.tsx +97 -0
- package/apps/demo/src/components/ButtonLifecycleDemo.tsx +63 -0
- package/apps/demo/src/components/CodeExample.tsx +7 -0
- package/apps/demo/src/components/ComboboxDemo.tsx +30 -0
- package/apps/demo/src/components/DiagramsSection.tsx +38 -0
- package/apps/demo/src/components/FieldStateDemo.tsx +51 -0
- package/apps/demo/src/components/GridMesh.tsx +8 -0
- package/apps/demo/src/components/HeroInstall.tsx +10 -0
- package/apps/demo/src/components/LandingFaq.tsx +29 -0
- package/apps/demo/src/components/LandingFooter.tsx +22 -0
- package/apps/demo/src/components/LandingHeader.tsx +60 -0
- package/apps/demo/src/components/LandingHero.tsx +55 -0
- package/apps/demo/src/components/LayersSection.tsx +51 -0
- package/apps/demo/src/components/MermaidDiagram.tsx +84 -0
- package/apps/demo/src/components/PhilosophySection.tsx +33 -0
- package/apps/demo/src/components/PlaygroundBlock.tsx +23 -0
- package/apps/demo/src/components/PlaygroundSection.tsx +204 -0
- package/apps/demo/src/components/SceneSection.tsx +157 -0
- package/apps/demo/src/components/ScrollRegionDemo.tsx +74 -0
- package/apps/demo/src/components/ThemeSwitcher.tsx +76 -0
- package/apps/demo/src/demo-layout.css +264 -0
- package/apps/demo/src/landing.css +1094 -0
- package/apps/demo/src/main.tsx +14 -0
- package/apps/demo/src/nav.ts +9 -0
- package/apps/demo/src/site.ts +347 -0
- package/apps/demo/tsconfig.json +17 -0
- package/apps/demo/vite-plugins/og-meta.ts +30 -0
- package/apps/demo/vite.config.ts +69 -0
- package/docs/API_PATTERNS.md +234 -0
- package/docs/ARCHITECTURE.md +125 -0
- package/docs/COMPONENT_CHECKLIST.md +103 -0
- package/docs/FILE_MAP.md +122 -0
- package/docs/GLOSSARY.md +125 -0
- package/docs/INDEX.md +53 -0
- package/docs/LAYOUT_COORDINATES.md +178 -0
- package/docs/MACHINES.md +166 -0
- package/docs/MIGRATION_FROM_ARK.md +295 -0
- package/docs/VITE_CONSUMER.md +114 -0
- package/package.json +25 -0
- package/packages/core/README.md +69 -0
- package/packages/core/package.json +37 -0
- package/packages/core/src/anatomy.ts +144 -0
- package/packages/core/src/attrs.ts +47 -0
- package/packages/core/src/index.ts +8 -0
- package/packages/core/src/layout.ts +176 -0
- package/packages/core/src/machine.test.ts +18 -0
- package/packages/core/src/machine.ts +15 -0
- package/packages/core/src/philosophy.ts +10 -0
- package/packages/core/src/scroll.ts +72 -0
- package/packages/core/src/theme.test.ts +14 -0
- package/packages/core/src/theme.ts +53 -0
- package/packages/core/src/types.ts +25 -0
- package/packages/core/theme-transition.css +58 -0
- package/packages/core/tsconfig.json +8 -0
- package/packages/core/vitest.config.ts +8 -0
- package/packages/geometry/README.md +7 -0
- package/packages/geometry/package.json +35 -0
- package/packages/geometry/src/index.ts +3 -0
- package/packages/geometry/src/patterns.ts +55 -0
- package/packages/geometry/src/scene-attrs.ts +11 -0
- package/packages/geometry/src/svg.ts +60 -0
- package/packages/geometry/tsconfig.json +8 -0
- package/packages/panda/README.md +66 -0
- package/packages/panda/package.json +40 -0
- package/packages/panda/panda.config.ts +229 -0
- package/packages/panda/scripts/emit-theme-runtime.ts +37 -0
- package/packages/panda/src/recipes/accordion.ts +95 -0
- package/packages/panda/src/recipes/async.ts +76 -0
- package/packages/panda/src/recipes/badge.ts +44 -0
- package/packages/panda/src/recipes/button-group.ts +33 -0
- package/packages/panda/src/recipes/button.ts +91 -0
- package/packages/panda/src/recipes/checkbox.ts +41 -0
- package/packages/panda/src/recipes/combobox.ts +121 -0
- package/packages/panda/src/recipes/dialog.ts +96 -0
- package/packages/panda/src/recipes/field-shared.ts +29 -0
- package/packages/panda/src/recipes/field.ts +72 -0
- package/packages/panda/src/recipes/floating.ts +170 -0
- package/packages/panda/src/recipes/index.ts +14 -0
- package/packages/panda/src/recipes/scroll-region.ts +55 -0
- package/packages/panda/src/recipes/select.ts +111 -0
- package/packages/panda/src/recipes/switch.ts +51 -0
- package/packages/panda/src/recipes/tabs.ts +50 -0
- package/packages/panda/src/theme/catalog-types.ts +24 -0
- package/packages/panda/src/theme/catalog.ts +73 -0
- package/packages/panda/src/theme/chrome.css +75 -0
- package/packages/panda/src/theme/global-theme-css.ts +42 -0
- package/packages/panda/src/theme/index.ts +5 -0
- package/packages/panda/src/theme/palette.ts +65 -0
- package/packages/panda/src/theme/scrollbars.css +96 -0
- package/packages/panda/src/theme/semantic-tokens.ts +17 -0
- package/packages/panda/src/theme/themes.config.ts +516 -0
- package/packages/panda/src/theme/tokens.ts +51 -0
- package/packages/panda/styled-system/css/conditions.mjs +36 -0
- package/packages/panda/styled-system/css/css.d.ts +22 -0
- package/packages/panda/styled-system/css/css.mjs +45 -0
- package/packages/panda/styled-system/css/cva.d.ts +6 -0
- package/packages/panda/styled-system/css/cva.mjs +87 -0
- package/packages/panda/styled-system/css/cx.d.ts +5 -0
- package/packages/panda/styled-system/css/cx.mjs +15 -0
- package/packages/panda/styled-system/css/index.d.ts +5 -0
- package/packages/panda/styled-system/css/index.mjs +4 -0
- package/packages/panda/styled-system/css/sva.d.ts +4 -0
- package/packages/panda/styled-system/css/sva.mjs +41 -0
- package/packages/panda/styled-system/helpers.mjs +339 -0
- package/packages/panda/styled-system/jsx/aspect-ratio.d.ts +10 -0
- package/packages/panda/styled-system/jsx/aspect-ratio.mjs +14 -0
- package/packages/panda/styled-system/jsx/bleed.d.ts +10 -0
- package/packages/panda/styled-system/jsx/bleed.mjs +14 -0
- package/packages/panda/styled-system/jsx/box.d.ts +10 -0
- package/packages/panda/styled-system/jsx/box.mjs +14 -0
- package/packages/panda/styled-system/jsx/center.d.ts +10 -0
- package/packages/panda/styled-system/jsx/center.mjs +14 -0
- package/packages/panda/styled-system/jsx/circle.d.ts +10 -0
- package/packages/panda/styled-system/jsx/circle.mjs +14 -0
- package/packages/panda/styled-system/jsx/container.d.ts +10 -0
- package/packages/panda/styled-system/jsx/container.mjs +14 -0
- package/packages/panda/styled-system/jsx/cq.d.ts +10 -0
- package/packages/panda/styled-system/jsx/cq.mjs +14 -0
- package/packages/panda/styled-system/jsx/divider.d.ts +10 -0
- package/packages/panda/styled-system/jsx/divider.mjs +14 -0
- package/packages/panda/styled-system/jsx/factory-helper.mjs +22 -0
- package/packages/panda/styled-system/jsx/factory.d.ts +3 -0
- package/packages/panda/styled-system/jsx/factory.mjs +80 -0
- package/packages/panda/styled-system/jsx/flex.d.ts +10 -0
- package/packages/panda/styled-system/jsx/flex.mjs +14 -0
- package/packages/panda/styled-system/jsx/float.d.ts +10 -0
- package/packages/panda/styled-system/jsx/float.mjs +14 -0
- package/packages/panda/styled-system/jsx/grid-item.d.ts +10 -0
- package/packages/panda/styled-system/jsx/grid-item.mjs +14 -0
- package/packages/panda/styled-system/jsx/grid.d.ts +10 -0
- package/packages/panda/styled-system/jsx/grid.mjs +14 -0
- package/packages/panda/styled-system/jsx/hstack.d.ts +10 -0
- package/packages/panda/styled-system/jsx/hstack.mjs +14 -0
- package/packages/panda/styled-system/jsx/index.d.ts +24 -0
- package/packages/panda/styled-system/jsx/index.mjs +22 -0
- package/packages/panda/styled-system/jsx/is-valid-prop.d.ts +11 -0
- package/packages/panda/styled-system/jsx/is-valid-prop.mjs +17 -0
- package/packages/panda/styled-system/jsx/link-overlay.d.ts +10 -0
- package/packages/panda/styled-system/jsx/link-overlay.mjs +14 -0
- package/packages/panda/styled-system/jsx/spacer.d.ts +10 -0
- package/packages/panda/styled-system/jsx/spacer.mjs +14 -0
- package/packages/panda/styled-system/jsx/square.d.ts +10 -0
- package/packages/panda/styled-system/jsx/square.mjs +14 -0
- package/packages/panda/styled-system/jsx/stack.d.ts +10 -0
- package/packages/panda/styled-system/jsx/stack.mjs +14 -0
- package/packages/panda/styled-system/jsx/visually-hidden.d.ts +10 -0
- package/packages/panda/styled-system/jsx/visually-hidden.mjs +14 -0
- package/packages/panda/styled-system/jsx/vstack.d.ts +10 -0
- package/packages/panda/styled-system/jsx/vstack.mjs +14 -0
- package/packages/panda/styled-system/jsx/wrap.d.ts +10 -0
- package/packages/panda/styled-system/jsx/wrap.mjs +14 -0
- package/packages/panda/styled-system/patterns/aspect-ratio.d.ts +21 -0
- package/packages/panda/styled-system/patterns/aspect-ratio.mjs +38 -0
- package/packages/panda/styled-system/patterns/bleed.d.ts +22 -0
- package/packages/panda/styled-system/patterns/bleed.mjs +24 -0
- package/packages/panda/styled-system/patterns/box.d.ts +21 -0
- package/packages/panda/styled-system/patterns/box.mjs +15 -0
- package/packages/panda/styled-system/patterns/center.d.ts +21 -0
- package/packages/panda/styled-system/patterns/center.mjs +21 -0
- package/packages/panda/styled-system/patterns/circle.d.ts +21 -0
- package/packages/panda/styled-system/patterns/circle.mjs +25 -0
- package/packages/panda/styled-system/patterns/container.d.ts +21 -0
- package/packages/panda/styled-system/patterns/container.mjs +21 -0
- package/packages/panda/styled-system/patterns/cq.d.ts +22 -0
- package/packages/panda/styled-system/patterns/cq.mjs +21 -0
- package/packages/panda/styled-system/patterns/divider.d.ts +23 -0
- package/packages/panda/styled-system/patterns/divider.mjs +25 -0
- package/packages/panda/styled-system/patterns/flex.d.ts +27 -0
- package/packages/panda/styled-system/patterns/flex.mjs +26 -0
- package/packages/panda/styled-system/patterns/float.d.ts +24 -0
- package/packages/panda/styled-system/patterns/float.mjs +52 -0
- package/packages/panda/styled-system/patterns/grid-item.d.ts +26 -0
- package/packages/panda/styled-system/patterns/grid-item.mjs +25 -0
- package/packages/panda/styled-system/patterns/grid.d.ts +25 -0
- package/packages/panda/styled-system/patterns/grid.mjs +27 -0
- package/packages/panda/styled-system/patterns/hstack.d.ts +22 -0
- package/packages/panda/styled-system/patterns/hstack.mjs +24 -0
- package/packages/panda/styled-system/patterns/index.d.ts +21 -0
- package/packages/panda/styled-system/patterns/index.mjs +20 -0
- package/packages/panda/styled-system/patterns/link-overlay.d.ts +21 -0
- package/packages/panda/styled-system/patterns/link-overlay.mjs +24 -0
- package/packages/panda/styled-system/patterns/spacer.d.ts +21 -0
- package/packages/panda/styled-system/patterns/spacer.mjs +21 -0
- package/packages/panda/styled-system/patterns/square.d.ts +21 -0
- package/packages/panda/styled-system/patterns/square.mjs +24 -0
- package/packages/panda/styled-system/patterns/stack.d.ts +24 -0
- package/packages/panda/styled-system/patterns/stack.mjs +24 -0
- package/packages/panda/styled-system/patterns/visually-hidden.d.ts +21 -0
- package/packages/panda/styled-system/patterns/visually-hidden.mjs +18 -0
- package/packages/panda/styled-system/patterns/vstack.d.ts +22 -0
- package/packages/panda/styled-system/patterns/vstack.mjs +24 -0
- package/packages/panda/styled-system/patterns/wrap.d.ts +25 -0
- package/packages/panda/styled-system/patterns/wrap.mjs +25 -0
- package/packages/panda/styled-system/recipes/aeon-accordion.d.ts +32 -0
- package/packages/panda/styled-system/recipes/aeon-accordion.mjs +48 -0
- package/packages/panda/styled-system/recipes/aeon-async.d.ts +32 -0
- package/packages/panda/styled-system/recipes/aeon-async.mjs +56 -0
- package/packages/panda/styled-system/recipes/aeon-badge.d.ts +31 -0
- package/packages/panda/styled-system/recipes/aeon-badge.mjs +32 -0
- package/packages/panda/styled-system/recipes/aeon-button-group.d.ts +39 -0
- package/packages/panda/styled-system/recipes/aeon-button-group.mjs +37 -0
- package/packages/panda/styled-system/recipes/aeon-button.d.ts +39 -0
- package/packages/panda/styled-system/recipes/aeon-button.mjs +39 -0
- package/packages/panda/styled-system/recipes/aeon-checkbox.d.ts +28 -0
- package/packages/panda/styled-system/recipes/aeon-checkbox.mjs +48 -0
- package/packages/panda/styled-system/recipes/aeon-combobox.d.ts +32 -0
- package/packages/panda/styled-system/recipes/aeon-combobox.mjs +52 -0
- package/packages/panda/styled-system/recipes/aeon-dialog.d.ts +28 -0
- package/packages/panda/styled-system/recipes/aeon-dialog.mjs +60 -0
- package/packages/panda/styled-system/recipes/aeon-field.d.ts +32 -0
- package/packages/panda/styled-system/recipes/aeon-field.mjs +52 -0
- package/packages/panda/styled-system/recipes/aeon-menu.d.ts +28 -0
- package/packages/panda/styled-system/recipes/aeon-menu.mjs +52 -0
- package/packages/panda/styled-system/recipes/aeon-popover.d.ts +28 -0
- package/packages/panda/styled-system/recipes/aeon-popover.mjs +52 -0
- package/packages/panda/styled-system/recipes/aeon-scroll.d.ts +43 -0
- package/packages/panda/styled-system/recipes/aeon-scroll.mjs +63 -0
- package/packages/panda/styled-system/recipes/aeon-select.d.ts +32 -0
- package/packages/panda/styled-system/recipes/aeon-select.mjs +56 -0
- package/packages/panda/styled-system/recipes/aeon-switch.d.ts +28 -0
- package/packages/panda/styled-system/recipes/aeon-switch.mjs +48 -0
- package/packages/panda/styled-system/recipes/aeon-tabs.d.ts +28 -0
- package/packages/panda/styled-system/recipes/aeon-tabs.mjs +48 -0
- package/packages/panda/styled-system/recipes/aeon-toast.d.ts +28 -0
- package/packages/panda/styled-system/recipes/aeon-toast.mjs +48 -0
- package/packages/panda/styled-system/recipes/aeon-tooltip.d.ts +28 -0
- package/packages/panda/styled-system/recipes/aeon-tooltip.mjs +48 -0
- package/packages/panda/styled-system/recipes/create-recipe.mjs +82 -0
- package/packages/panda/styled-system/recipes/index.d.ts +18 -0
- package/packages/panda/styled-system/recipes/index.mjs +17 -0
- package/packages/panda/styled-system/styles.css +2157 -0
- package/packages/panda/styled-system/tokens/index.d.ts +9 -0
- package/packages/panda/styled-system/tokens/index.mjs +2156 -0
- package/packages/panda/styled-system/tokens/tokens.d.ts +60 -0
- package/packages/panda/styled-system/types/composition.d.ts +164 -0
- package/packages/panda/styled-system/types/conditions.d.ts +322 -0
- package/packages/panda/styled-system/types/csstype.d.ts +21298 -0
- package/packages/panda/styled-system/types/global.d.ts +20 -0
- package/packages/panda/styled-system/types/index.d.ts +8 -0
- package/packages/panda/styled-system/types/jsx.d.ts +52 -0
- package/packages/panda/styled-system/types/parts.d.ts +8 -0
- package/packages/panda/styled-system/types/pattern.d.ts +78 -0
- package/packages/panda/styled-system/types/prop-type.d.ts +240 -0
- package/packages/panda/styled-system/types/recipe.d.ts +181 -0
- package/packages/panda/styled-system/types/selectors.d.ts +59 -0
- package/packages/panda/styled-system/types/static-css.d.ts +56 -0
- package/packages/panda/styled-system/types/style-props.d.ts +7491 -0
- package/packages/panda/styled-system/types/system-types.d.ts +193 -0
- package/packages/panda/theme-runtime.css +842 -0
- package/packages/panda/tsconfig.json +8 -0
- package/packages/primitives/README.md +54 -0
- package/packages/primitives/package.json +41 -0
- package/packages/primitives/src/__tests__/floating-surface.test.ts +29 -0
- package/packages/primitives/src/index.ts +9 -0
- package/packages/primitives/src/machines/accordion.ts +56 -0
- package/packages/primitives/src/machines/async.ts +108 -0
- package/packages/primitives/src/machines/button.ts +66 -0
- package/packages/primitives/src/machines/dialog.ts +61 -0
- package/packages/primitives/src/machines/field.ts +85 -0
- package/packages/primitives/src/machines/popover.ts +52 -0
- package/packages/primitives/src/machines/tabs.ts +46 -0
- package/packages/primitives/src/machines/toast.ts +48 -0
- package/packages/primitives/src/machines/toggle.ts +61 -0
- package/packages/primitives/tsconfig.json +8 -0
- package/packages/primitives/vitest.config.ts +8 -0
- package/packages/react/README.md +65 -0
- package/packages/react/package.json +52 -0
- package/packages/react/src/accordion/index.tsx +179 -0
- package/packages/react/src/async/actions.tsx +22 -0
- package/packages/react/src/async/context.tsx +54 -0
- package/packages/react/src/async/index.tsx +21 -0
- package/packages/react/src/async/legacy-region.tsx +38 -0
- package/packages/react/src/async/readout.tsx +34 -0
- package/packages/react/src/async/root.tsx +39 -0
- package/packages/react/src/async/track.tsx +59 -0
- package/packages/react/src/avatar/avatar.test.tsx +27 -0
- package/packages/react/src/avatar/index.tsx +122 -0
- package/packages/react/src/button/index.tsx +70 -0
- package/packages/react/src/checkbox/index.tsx +180 -0
- package/packages/react/src/combobox/index.tsx +430 -0
- package/packages/react/src/dialog/dialog.test.tsx +50 -0
- package/packages/react/src/dialog/index.tsx +275 -0
- package/packages/react/src/field/index.tsx +172 -0
- package/packages/react/src/hooks/use-aeon-machine.ts +10 -0
- package/packages/react/src/hooks/use-anchor-position.ts +33 -0
- package/packages/react/src/hooks/use-focus-trap.ts +51 -0
- package/packages/react/src/hooks/use-layout-mode.ts +22 -0
- package/packages/react/src/hooks/use-outside-click.ts +19 -0
- package/packages/react/src/hooks/use-portalled.ts +16 -0
- package/packages/react/src/hooks/use-scroll-lock.ts +13 -0
- package/packages/react/src/index.ts +18 -0
- package/packages/react/src/menu/index.tsx +195 -0
- package/packages/react/src/popover/index.tsx +191 -0
- package/packages/react/src/scroll/index.tsx +98 -0
- package/packages/react/src/scroll/use-scroll-state.ts +30 -0
- package/packages/react/src/select/index.tsx +372 -0
- package/packages/react/src/select/select.test.tsx +60 -0
- package/packages/react/src/switch/index.tsx +215 -0
- package/packages/react/src/tabs/index.tsx +140 -0
- package/packages/react/src/toast/context.tsx +28 -0
- package/packages/react/src/toast/index.tsx +20 -0
- package/packages/react/src/toast/primitives.tsx +129 -0
- package/packages/react/src/toast/provider.tsx +111 -0
- package/packages/react/src/toast/toast-item.tsx +32 -0
- package/packages/react/src/tooltip/index.tsx +191 -0
- package/packages/react/src/utils/merge-props.ts +24 -0
- package/packages/react/tsconfig.json +8 -0
- package/packages/react/vitest.config.ts +9 -0
- package/packages/react/vitest.setup.ts +5 -0
- package/packages/react-scene/README.md +11 -0
- package/packages/react-scene/package.json +47 -0
- package/packages/react-scene/scene-3d.css +37 -0
- package/packages/react-scene/scene-room.css +95 -0
- package/packages/react-scene/src/index.ts +20 -0
- package/packages/react-scene/src/procedural-grid.tsx +35 -0
- package/packages/react-scene/src/scene-layer.tsx +38 -0
- package/packages/react-scene/src/scene-plane.tsx +69 -0
- package/packages/react-scene/src/scene-room.tsx +81 -0
- package/packages/react-scene/src/scene-root.tsx +49 -0
- package/packages/react-scene/src/scene-slot.tsx +41 -0
- package/packages/react-scene/src/scene-stage.tsx +37 -0
- package/packages/react-scene/src/scene-surface.tsx +20 -0
- package/packages/react-scene/src/signal-bars.tsx +57 -0
- package/packages/react-scene/src/use-signal-visualizer.ts +103 -0
- package/packages/react-scene/tsconfig.json +8 -0
- package/packages/scene/README.md +5 -0
- package/packages/scene/package.json +32 -0
- package/packages/scene/src/index.ts +2 -0
- package/packages/scene/src/room.ts +40 -0
- package/packages/scene/src/transform.ts +60 -0
- package/packages/scene/tsconfig.json +8 -0
- package/packages/signal/README.md +9 -0
- package/packages/signal/package.json +32 -0
- package/packages/signal/src/analyser.ts +113 -0
- package/packages/signal/src/bands.ts +33 -0
- package/packages/signal/src/index.ts +3 -0
- package/packages/signal/src/motion.ts +80 -0
- package/packages/signal/tsconfig.json +8 -0
- package/packages/site/README.md +19 -0
- package/packages/site/package.json +32 -0
- package/packages/site/src/index.ts +8 -0
- package/packages/site/src/open-graph.ts +90 -0
- package/packages/site/tsconfig.json +8 -0
- package/packages/solid/README.md +30 -0
- package/packages/solid/package.json +42 -0
- package/packages/solid/src/hooks/use-aeon-machine.ts +10 -0
- package/packages/solid/src/index.ts +2 -0
- package/packages/solid/src/switch/index.tsx +191 -0
- package/packages/solid/src/utils/merge-props.ts +3 -0
- package/packages/solid/tsconfig.json +10 -0
- package/packages/surface/README.md +10 -0
- package/packages/surface/package.json +33 -0
- package/packages/surface/src/index.ts +1 -0
- package/packages/surface/src/materials.ts +14 -0
- package/packages/surface/surface.css +113 -0
- package/packages/surface/tsconfig.json +8 -0
- package/packages/svelte/README.md +45 -0
- package/packages/svelte/package.json +49 -0
- package/packages/svelte/src/Switch.svelte +86 -0
- package/packages/svelte/src/SwitchControl.svelte +45 -0
- package/packages/svelte/src/SwitchHiddenInput.svelte +12 -0
- package/packages/svelte/src/SwitchLabel.svelte +9 -0
- package/packages/svelte/src/SwitchThumb.svelte +16 -0
- package/packages/svelte/src/hooks/use-aeon-machine.ts +23 -0
- package/packages/svelte/src/index.ts +2 -0
- package/packages/svelte/src/switch-context.ts +13 -0
- package/packages/svelte/tsconfig.json +8 -0
- package/packages/ui/README.md +63 -0
- package/packages/ui/package.json +45 -0
- package/packages/ui/src/accordion.tsx +27 -0
- package/packages/ui/src/async.tsx +43 -0
- package/packages/ui/src/badge.tsx +18 -0
- package/packages/ui/src/button.tsx +38 -0
- package/packages/ui/src/checkbox.tsx +24 -0
- package/packages/ui/src/cn.ts +1 -0
- package/packages/ui/src/combobox.tsx +29 -0
- package/packages/ui/src/dialog.tsx +32 -0
- package/packages/ui/src/field.tsx +33 -0
- package/packages/ui/src/index.ts +17 -0
- package/packages/ui/src/menu.tsx +25 -0
- package/packages/ui/src/popover.tsx +22 -0
- package/packages/ui/src/scroll.tsx +51 -0
- package/packages/ui/src/select.tsx +33 -0
- package/packages/ui/src/styles.css +2 -0
- package/packages/ui/src/switch.tsx +22 -0
- package/packages/ui/src/tabs.tsx +22 -0
- package/packages/ui/src/toast.tsx +36 -0
- package/packages/ui/src/tooltip.tsx +19 -0
- package/packages/ui/tsconfig.json +12 -0
- package/packages/vue/README.md +40 -0
- package/packages/vue/package.json +42 -0
- package/packages/vue/src/hooks/use-aeon-machine.ts +10 -0
- package/packages/vue/src/index.ts +2 -0
- package/packages/vue/src/switch/index.ts +208 -0
- package/packages/vue/src/utils/part-props.ts +8 -0
- package/packages/vue/tsconfig.json +8 -0
- package/pnpm-workspace.yaml +3 -0
- package/scripts/ensure-headless-built.mjs +25 -0
- package/tsconfig.base.json +21 -0
- package/vercel.json +12 -0
|
@@ -0,0 +1,516 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Edit palettes here — one file, light + dark per mood.
|
|
3
|
+
* Run `pnpm codegen` in packages/panda after changes.
|
|
4
|
+
*/
|
|
5
|
+
import type { AeonThemeConfigEntry } from './palette.js'
|
|
6
|
+
|
|
7
|
+
export const aeonThemesConfig = [
|
|
8
|
+
{
|
|
9
|
+
id: 'default',
|
|
10
|
+
label: 'Aeon',
|
|
11
|
+
description: 'Teal accent — balanced product UI',
|
|
12
|
+
dark: {
|
|
13
|
+
bg: '#0c0e12',
|
|
14
|
+
surface: '#141820',
|
|
15
|
+
surfaceRaised: '#1c2230',
|
|
16
|
+
border: '#2a3344',
|
|
17
|
+
text: '#e8ecf4',
|
|
18
|
+
muted: '#8b95a8',
|
|
19
|
+
accent: '#5eead4',
|
|
20
|
+
accentDim: '#2dd4bf33',
|
|
21
|
+
},
|
|
22
|
+
light: {
|
|
23
|
+
bg: '#f3f5f9',
|
|
24
|
+
surface: '#ffffff',
|
|
25
|
+
surfaceRaised: '#eef1f7',
|
|
26
|
+
border: '#d5dbe6',
|
|
27
|
+
text: '#12151c',
|
|
28
|
+
muted: '#5c6578',
|
|
29
|
+
accent: '#0d9488',
|
|
30
|
+
accentDim: '#0d94881f',
|
|
31
|
+
},
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
id: 'signal',
|
|
35
|
+
label: 'Signal',
|
|
36
|
+
description: 'Warm coral — energetic marketing',
|
|
37
|
+
dark: {
|
|
38
|
+
bg: '#0f0d0c',
|
|
39
|
+
surface: '#1a1614',
|
|
40
|
+
surfaceRaised: '#252019',
|
|
41
|
+
border: '#3d342c',
|
|
42
|
+
text: '#f5efe8',
|
|
43
|
+
muted: '#9a8f84',
|
|
44
|
+
accent: '#fb923c',
|
|
45
|
+
accentDim: '#fb923c2e',
|
|
46
|
+
},
|
|
47
|
+
light: {
|
|
48
|
+
bg: '#faf6f2',
|
|
49
|
+
surface: '#ffffff',
|
|
50
|
+
surfaceRaised: '#f5ede4',
|
|
51
|
+
border: '#e0d5c8',
|
|
52
|
+
text: '#1c1510',
|
|
53
|
+
muted: '#6b5f52',
|
|
54
|
+
accent: '#ea580c',
|
|
55
|
+
accentDim: '#ea580c1a',
|
|
56
|
+
},
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
id: 'dusk',
|
|
60
|
+
label: 'Dusk',
|
|
61
|
+
description: 'Violet — editorial, contemplative',
|
|
62
|
+
dark: {
|
|
63
|
+
bg: '#0b0a10',
|
|
64
|
+
surface: '#14121c',
|
|
65
|
+
surfaceRaised: '#1c1a28',
|
|
66
|
+
border: '#2e2a42',
|
|
67
|
+
text: '#ece8f4',
|
|
68
|
+
muted: '#918aa8',
|
|
69
|
+
accent: '#a78bfa',
|
|
70
|
+
accentDim: '#a78bfa33',
|
|
71
|
+
danger: '#f472b6',
|
|
72
|
+
dangerDim: '#f472b618',
|
|
73
|
+
},
|
|
74
|
+
light: {
|
|
75
|
+
bg: '#f6f4fa',
|
|
76
|
+
surface: '#ffffff',
|
|
77
|
+
surfaceRaised: '#eeeaf6',
|
|
78
|
+
border: '#d8d2e6',
|
|
79
|
+
text: '#16131f',
|
|
80
|
+
muted: '#5e576e',
|
|
81
|
+
accent: '#7c3aed',
|
|
82
|
+
accentDim: '#7c3aed1a',
|
|
83
|
+
danger: '#db2777',
|
|
84
|
+
dangerDim: '#db277714',
|
|
85
|
+
},
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
id: 'calm',
|
|
89
|
+
label: 'Calm',
|
|
90
|
+
description: 'Sage green — focused, low noise',
|
|
91
|
+
dark: {
|
|
92
|
+
bg: '#0a0f0c',
|
|
93
|
+
surface: '#121a15',
|
|
94
|
+
surfaceRaised: '#1a241c',
|
|
95
|
+
border: '#2a3d32',
|
|
96
|
+
text: '#e2ebe4',
|
|
97
|
+
muted: '#8a9d90',
|
|
98
|
+
accent: '#86efac',
|
|
99
|
+
accentDim: '#86efac2a',
|
|
100
|
+
},
|
|
101
|
+
light: {
|
|
102
|
+
bg: '#f2f6f3',
|
|
103
|
+
surface: '#ffffff',
|
|
104
|
+
surfaceRaised: '#e8f0ea',
|
|
105
|
+
border: '#c5d6cb',
|
|
106
|
+
text: '#142018',
|
|
107
|
+
muted: '#5a6f62',
|
|
108
|
+
accent: '#16a34a',
|
|
109
|
+
accentDim: '#16a34a1a',
|
|
110
|
+
},
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
id: 'ocean',
|
|
114
|
+
label: 'Ocean',
|
|
115
|
+
description: 'Deep blue — trust and clarity',
|
|
116
|
+
dark: {
|
|
117
|
+
bg: '#060c14',
|
|
118
|
+
surface: '#0e1824',
|
|
119
|
+
surfaceRaised: '#152433',
|
|
120
|
+
border: '#243548',
|
|
121
|
+
text: '#e4edf7',
|
|
122
|
+
muted: '#7f94ab',
|
|
123
|
+
accent: '#38bdf8',
|
|
124
|
+
accentDim: '#38bdf833',
|
|
125
|
+
},
|
|
126
|
+
light: {
|
|
127
|
+
bg: '#f0f6fc',
|
|
128
|
+
surface: '#ffffff',
|
|
129
|
+
surfaceRaised: '#e3eef9',
|
|
130
|
+
border: '#c5d4e8',
|
|
131
|
+
text: '#0f1c2e',
|
|
132
|
+
muted: '#526880',
|
|
133
|
+
accent: '#0284c7',
|
|
134
|
+
accentDim: '#0284c71a',
|
|
135
|
+
},
|
|
136
|
+
},
|
|
137
|
+
{
|
|
138
|
+
id: 'ember',
|
|
139
|
+
label: 'Ember',
|
|
140
|
+
description: 'Crimson heat — urgency and drama',
|
|
141
|
+
dark: {
|
|
142
|
+
bg: '#120808',
|
|
143
|
+
surface: '#1e1010',
|
|
144
|
+
surfaceRaised: '#2a1616',
|
|
145
|
+
border: '#4a2828',
|
|
146
|
+
text: '#f8e8e8',
|
|
147
|
+
muted: '#a88a8a',
|
|
148
|
+
accent: '#f87171',
|
|
149
|
+
accentDim: '#f8717130',
|
|
150
|
+
danger: '#fb7185',
|
|
151
|
+
},
|
|
152
|
+
light: {
|
|
153
|
+
bg: '#fdf5f5',
|
|
154
|
+
surface: '#ffffff',
|
|
155
|
+
surfaceRaised: '#faeaea',
|
|
156
|
+
border: '#e8caca',
|
|
157
|
+
text: '#1f1010',
|
|
158
|
+
muted: '#7a5555',
|
|
159
|
+
accent: '#dc2626',
|
|
160
|
+
accentDim: '#dc26261a',
|
|
161
|
+
},
|
|
162
|
+
},
|
|
163
|
+
{
|
|
164
|
+
id: 'frost',
|
|
165
|
+
label: 'Frost',
|
|
166
|
+
description: 'Icy cyan — crisp, technical',
|
|
167
|
+
dark: {
|
|
168
|
+
bg: '#080c10',
|
|
169
|
+
surface: '#101820',
|
|
170
|
+
surfaceRaised: '#182430',
|
|
171
|
+
border: '#2a3a4a',
|
|
172
|
+
text: '#e8f4fc',
|
|
173
|
+
muted: '#8aa4b8',
|
|
174
|
+
accent: '#67e8f9',
|
|
175
|
+
accentDim: '#67e8f92e',
|
|
176
|
+
},
|
|
177
|
+
light: {
|
|
178
|
+
bg: '#f4fafc',
|
|
179
|
+
surface: '#ffffff',
|
|
180
|
+
surfaceRaised: '#e6f4f8',
|
|
181
|
+
border: '#c8e0ea',
|
|
182
|
+
text: '#0c1820',
|
|
183
|
+
muted: '#5a7280',
|
|
184
|
+
accent: '#0891b2',
|
|
185
|
+
accentDim: '#0891b21a',
|
|
186
|
+
},
|
|
187
|
+
},
|
|
188
|
+
{
|
|
189
|
+
id: 'dawn',
|
|
190
|
+
label: 'Dawn',
|
|
191
|
+
description: 'Peach gold — optimistic mornings',
|
|
192
|
+
dark: {
|
|
193
|
+
bg: '#100c08',
|
|
194
|
+
surface: '#1c1610',
|
|
195
|
+
surfaceRaised: '#282018',
|
|
196
|
+
border: '#403528',
|
|
197
|
+
text: '#f5efe6',
|
|
198
|
+
muted: '#a89888',
|
|
199
|
+
accent: '#fcd34d',
|
|
200
|
+
accentDim: '#fcd34d33',
|
|
201
|
+
},
|
|
202
|
+
light: {
|
|
203
|
+
bg: '#fdfaf3',
|
|
204
|
+
surface: '#ffffff',
|
|
205
|
+
surfaceRaised: '#f8f0e0',
|
|
206
|
+
border: '#e8dcc4',
|
|
207
|
+
text: '#1c1408',
|
|
208
|
+
muted: '#7a6e58',
|
|
209
|
+
accent: '#d97706',
|
|
210
|
+
accentDim: '#d977061a',
|
|
211
|
+
},
|
|
212
|
+
},
|
|
213
|
+
{
|
|
214
|
+
id: 'forest',
|
|
215
|
+
label: 'Forest',
|
|
216
|
+
description: 'Earth green — grounded, natural',
|
|
217
|
+
dark: {
|
|
218
|
+
bg: '#0a0e08',
|
|
219
|
+
surface: '#141a10',
|
|
220
|
+
surfaceRaised: '#1e2818',
|
|
221
|
+
border: '#2e3a26',
|
|
222
|
+
text: '#e6ede0',
|
|
223
|
+
muted: '#8a9a7e',
|
|
224
|
+
accent: '#a3e635',
|
|
225
|
+
accentDim: '#a3e6352a',
|
|
226
|
+
},
|
|
227
|
+
light: {
|
|
228
|
+
bg: '#f4f6f0',
|
|
229
|
+
surface: '#ffffff',
|
|
230
|
+
surfaceRaised: '#e8ede0',
|
|
231
|
+
border: '#c8d4bc',
|
|
232
|
+
text: '#141a10',
|
|
233
|
+
muted: '#5a6a50',
|
|
234
|
+
accent: '#4d7c0f',
|
|
235
|
+
accentDim: '#4d7c0f1a',
|
|
236
|
+
},
|
|
237
|
+
},
|
|
238
|
+
{
|
|
239
|
+
id: 'noir',
|
|
240
|
+
label: 'Noir',
|
|
241
|
+
description: 'Monochrome — minimal contrast',
|
|
242
|
+
dark: {
|
|
243
|
+
bg: '#090909',
|
|
244
|
+
surface: '#141414',
|
|
245
|
+
surfaceRaised: '#1f1f1f',
|
|
246
|
+
border: '#333333',
|
|
247
|
+
text: '#f2f2f2',
|
|
248
|
+
muted: '#9a9a9a',
|
|
249
|
+
accent: '#e5e5e5',
|
|
250
|
+
accentDim: '#e5e5e528',
|
|
251
|
+
gridLine: 'rgba(255, 255, 255, 0.06)',
|
|
252
|
+
},
|
|
253
|
+
light: {
|
|
254
|
+
bg: '#f7f7f7',
|
|
255
|
+
surface: '#ffffff',
|
|
256
|
+
surfaceRaised: '#eeeeee',
|
|
257
|
+
border: '#d4d4d4',
|
|
258
|
+
text: '#111111',
|
|
259
|
+
muted: '#666666',
|
|
260
|
+
accent: '#171717',
|
|
261
|
+
accentDim: '#17171714',
|
|
262
|
+
gridLine: 'rgba(0, 0, 0, 0.06)',
|
|
263
|
+
},
|
|
264
|
+
},
|
|
265
|
+
{
|
|
266
|
+
id: 'berry',
|
|
267
|
+
label: 'Berry',
|
|
268
|
+
description: 'Raspberry rose — bold product marketing',
|
|
269
|
+
dark: {
|
|
270
|
+
bg: '#10080c',
|
|
271
|
+
surface: '#1a1016',
|
|
272
|
+
surfaceRaised: '#261820',
|
|
273
|
+
border: '#3f2834',
|
|
274
|
+
text: '#f8eef2',
|
|
275
|
+
muted: '#a88a96',
|
|
276
|
+
accent: '#f472b6',
|
|
277
|
+
accentDim: '#f472b633',
|
|
278
|
+
},
|
|
279
|
+
light: {
|
|
280
|
+
bg: '#fdf5f8',
|
|
281
|
+
surface: '#ffffff',
|
|
282
|
+
surfaceRaised: '#fae8f0',
|
|
283
|
+
border: '#e8c8d6',
|
|
284
|
+
text: '#1f1018',
|
|
285
|
+
muted: '#7a5568',
|
|
286
|
+
accent: '#db2777',
|
|
287
|
+
accentDim: '#db27771a',
|
|
288
|
+
},
|
|
289
|
+
},
|
|
290
|
+
{
|
|
291
|
+
id: 'slate',
|
|
292
|
+
label: 'Slate',
|
|
293
|
+
description: 'Cool gray-blue — dashboards and docs',
|
|
294
|
+
dark: {
|
|
295
|
+
bg: '#0c1014',
|
|
296
|
+
surface: '#151a22',
|
|
297
|
+
surfaceRaised: '#1e2630',
|
|
298
|
+
border: '#2e3848',
|
|
299
|
+
text: '#e6ebf2',
|
|
300
|
+
muted: '#8b96a8',
|
|
301
|
+
accent: '#94a3b8',
|
|
302
|
+
accentDim: '#94a3b82e',
|
|
303
|
+
},
|
|
304
|
+
light: {
|
|
305
|
+
bg: '#f1f4f8',
|
|
306
|
+
surface: '#ffffff',
|
|
307
|
+
surfaceRaised: '#e8ecf2',
|
|
308
|
+
border: '#cdd5e0',
|
|
309
|
+
text: '#111820',
|
|
310
|
+
muted: '#5a6578',
|
|
311
|
+
accent: '#475569',
|
|
312
|
+
accentDim: '#4755691a',
|
|
313
|
+
},
|
|
314
|
+
},
|
|
315
|
+
{
|
|
316
|
+
id: 'lavender',
|
|
317
|
+
label: 'Lavender',
|
|
318
|
+
description: 'Soft lilac — calm creative tools',
|
|
319
|
+
dark: {
|
|
320
|
+
bg: '#0e0c12',
|
|
321
|
+
surface: '#16141e',
|
|
322
|
+
surfaceRaised: '#201c2a',
|
|
323
|
+
border: '#322e42',
|
|
324
|
+
text: '#eeeaf6',
|
|
325
|
+
muted: '#9a92b0',
|
|
326
|
+
accent: '#c4b5fd',
|
|
327
|
+
accentDim: '#c4b5fd33',
|
|
328
|
+
},
|
|
329
|
+
light: {
|
|
330
|
+
bg: '#f7f5fc',
|
|
331
|
+
surface: '#ffffff',
|
|
332
|
+
surfaceRaised: '#ede8f8',
|
|
333
|
+
border: '#d6cee8',
|
|
334
|
+
text: '#18141f',
|
|
335
|
+
muted: '#6a6278',
|
|
336
|
+
accent: '#8b5cf6',
|
|
337
|
+
accentDim: '#8b5cf61a',
|
|
338
|
+
},
|
|
339
|
+
},
|
|
340
|
+
{
|
|
341
|
+
id: 'mint',
|
|
342
|
+
label: 'Mint',
|
|
343
|
+
description: 'Bright mint — fresh SaaS interfaces',
|
|
344
|
+
dark: {
|
|
345
|
+
bg: '#081210',
|
|
346
|
+
surface: '#101c18',
|
|
347
|
+
surfaceRaised: '#182820',
|
|
348
|
+
border: '#2a4036',
|
|
349
|
+
text: '#e4f6ee',
|
|
350
|
+
muted: '#88a898',
|
|
351
|
+
accent: '#34d399',
|
|
352
|
+
accentDim: '#34d3992e',
|
|
353
|
+
},
|
|
354
|
+
light: {
|
|
355
|
+
bg: '#f0faf5',
|
|
356
|
+
surface: '#ffffff',
|
|
357
|
+
surfaceRaised: '#e0f5ea',
|
|
358
|
+
border: '#b8e0cc',
|
|
359
|
+
text: '#0f1a14',
|
|
360
|
+
muted: '#5a7264',
|
|
361
|
+
accent: '#059669',
|
|
362
|
+
accentDim: '#0596691a',
|
|
363
|
+
},
|
|
364
|
+
},
|
|
365
|
+
{
|
|
366
|
+
id: 'sand',
|
|
367
|
+
label: 'Sand',
|
|
368
|
+
description: 'Warm stone — editorial and hospitality',
|
|
369
|
+
dark: {
|
|
370
|
+
bg: '#12100c',
|
|
371
|
+
surface: '#1c1a14',
|
|
372
|
+
surfaceRaised: '#28241c',
|
|
373
|
+
border: '#3d3828',
|
|
374
|
+
text: '#f0ebe2',
|
|
375
|
+
muted: '#a09888',
|
|
376
|
+
accent: '#d6b48a',
|
|
377
|
+
accentDim: '#d6b48a33',
|
|
378
|
+
},
|
|
379
|
+
light: {
|
|
380
|
+
bg: '#faf7f0',
|
|
381
|
+
surface: '#ffffff',
|
|
382
|
+
surfaceRaised: '#f2ebe0',
|
|
383
|
+
border: '#ddd4c4',
|
|
384
|
+
text: '#1c1810',
|
|
385
|
+
muted: '#7a7060',
|
|
386
|
+
accent: '#b45309',
|
|
387
|
+
accentDim: '#b453091a',
|
|
388
|
+
},
|
|
389
|
+
},
|
|
390
|
+
{
|
|
391
|
+
id: 'honey',
|
|
392
|
+
label: 'Honey',
|
|
393
|
+
description: 'Golden amber — warmth without glare',
|
|
394
|
+
dark: {
|
|
395
|
+
bg: '#100e08',
|
|
396
|
+
surface: '#1c1810',
|
|
397
|
+
surfaceRaised: '#282218',
|
|
398
|
+
border: '#403828',
|
|
399
|
+
text: '#f5f0e4',
|
|
400
|
+
muted: '#a89880',
|
|
401
|
+
accent: '#fbbf24',
|
|
402
|
+
accentDim: '#fbbf2433',
|
|
403
|
+
},
|
|
404
|
+
light: {
|
|
405
|
+
bg: '#fffbeb',
|
|
406
|
+
surface: '#ffffff',
|
|
407
|
+
surfaceRaised: '#fef3c7',
|
|
408
|
+
border: '#e8d8a8',
|
|
409
|
+
text: '#1c1608',
|
|
410
|
+
muted: '#7a6848',
|
|
411
|
+
accent: '#ca8a04',
|
|
412
|
+
accentDim: '#ca8a041a',
|
|
413
|
+
},
|
|
414
|
+
},
|
|
415
|
+
{
|
|
416
|
+
id: 'neon',
|
|
417
|
+
label: 'Neon',
|
|
418
|
+
description: 'Electric lime — dev tools and terminals',
|
|
419
|
+
dark: {
|
|
420
|
+
bg: '#060a06',
|
|
421
|
+
surface: '#0e140e',
|
|
422
|
+
surfaceRaised: '#141e14',
|
|
423
|
+
border: '#243024',
|
|
424
|
+
text: '#e8f8e8',
|
|
425
|
+
muted: '#88a888',
|
|
426
|
+
accent: '#a3e635',
|
|
427
|
+
accentDim: '#a3e6352e',
|
|
428
|
+
danger: '#facc15',
|
|
429
|
+
},
|
|
430
|
+
light: {
|
|
431
|
+
bg: '#f4faf0',
|
|
432
|
+
surface: '#ffffff',
|
|
433
|
+
surfaceRaised: '#e8f4dc',
|
|
434
|
+
border: '#c8dcc0',
|
|
435
|
+
text: '#101808',
|
|
436
|
+
muted: '#5a7050',
|
|
437
|
+
accent: '#65a30d',
|
|
438
|
+
accentDim: '#65a30d1a',
|
|
439
|
+
},
|
|
440
|
+
},
|
|
441
|
+
{
|
|
442
|
+
id: 'rose',
|
|
443
|
+
label: 'Rose',
|
|
444
|
+
description: 'Blush pink — lifestyle and wellness',
|
|
445
|
+
dark: {
|
|
446
|
+
bg: '#100c0e',
|
|
447
|
+
surface: '#1a1416',
|
|
448
|
+
surfaceRaised: '#261c20',
|
|
449
|
+
border: '#3e2c34',
|
|
450
|
+
text: '#f6ecee',
|
|
451
|
+
muted: '#a89098',
|
|
452
|
+
accent: '#fda4af',
|
|
453
|
+
accentDim: '#fda4af33',
|
|
454
|
+
},
|
|
455
|
+
light: {
|
|
456
|
+
bg: '#fff5f6',
|
|
457
|
+
surface: '#ffffff',
|
|
458
|
+
surfaceRaised: '#fce8ec',
|
|
459
|
+
border: '#e8ccd4',
|
|
460
|
+
text: '#1f1014',
|
|
461
|
+
muted: '#7a5862',
|
|
462
|
+
accent: '#e11d48',
|
|
463
|
+
accentDim: '#e11d481a',
|
|
464
|
+
},
|
|
465
|
+
},
|
|
466
|
+
{
|
|
467
|
+
id: 'midnight',
|
|
468
|
+
label: 'Midnight',
|
|
469
|
+
description: 'Indigo night — premium dark apps',
|
|
470
|
+
dark: {
|
|
471
|
+
bg: '#060818',
|
|
472
|
+
surface: '#0e1224',
|
|
473
|
+
surfaceRaised: '#161c34',
|
|
474
|
+
border: '#283050',
|
|
475
|
+
text: '#e8ecfa',
|
|
476
|
+
muted: '#8894b8',
|
|
477
|
+
accent: '#818cf8',
|
|
478
|
+
accentDim: '#818cf833',
|
|
479
|
+
},
|
|
480
|
+
light: {
|
|
481
|
+
bg: '#f2f4fc',
|
|
482
|
+
surface: '#ffffff',
|
|
483
|
+
surfaceRaised: '#e6eaf8',
|
|
484
|
+
border: '#c8d0e8',
|
|
485
|
+
text: '#0e1220',
|
|
486
|
+
muted: '#566080',
|
|
487
|
+
accent: '#4f46e5',
|
|
488
|
+
accentDim: '#4f46e51a',
|
|
489
|
+
},
|
|
490
|
+
},
|
|
491
|
+
{
|
|
492
|
+
id: 'copper',
|
|
493
|
+
label: 'Copper',
|
|
494
|
+
description: 'Burnished metal — craft and hardware',
|
|
495
|
+
dark: {
|
|
496
|
+
bg: '#0e0a08',
|
|
497
|
+
surface: '#181210',
|
|
498
|
+
surfaceRaised: '#241a14',
|
|
499
|
+
border: '#3c2c22',
|
|
500
|
+
text: '#f2e8e0',
|
|
501
|
+
muted: '#a09084',
|
|
502
|
+
accent: '#f59e0b',
|
|
503
|
+
accentDim: '#f59e0b33',
|
|
504
|
+
},
|
|
505
|
+
light: {
|
|
506
|
+
bg: '#faf6f2',
|
|
507
|
+
surface: '#ffffff',
|
|
508
|
+
surfaceRaised: '#f2e8dc',
|
|
509
|
+
border: '#dcc8b4',
|
|
510
|
+
text: '#1a1208',
|
|
511
|
+
muted: '#786858',
|
|
512
|
+
accent: '#b45309',
|
|
513
|
+
accentDim: '#b453091a',
|
|
514
|
+
},
|
|
515
|
+
},
|
|
516
|
+
] as const satisfies readonly AeonThemeConfigEntry[]
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { defineTokens } from '@pandacss/dev'
|
|
2
|
+
|
|
3
|
+
export const tokens = defineTokens({
|
|
4
|
+
fonts: {
|
|
5
|
+
ui: { value: "'IBM Plex Sans', system-ui, sans-serif" },
|
|
6
|
+
mono: { value: "'IBM Plex Mono', ui-monospace, monospace" },
|
|
7
|
+
display: { value: "'Syne', system-ui, sans-serif" },
|
|
8
|
+
body: { value: "'Instrument Sans', system-ui, sans-serif" },
|
|
9
|
+
},
|
|
10
|
+
/* Aeon palette is set only via theme-runtime.css (html[data-aeon-theme][data-aeon-mode]). */
|
|
11
|
+
colors: {},
|
|
12
|
+
radii: {
|
|
13
|
+
sm: { value: '0.375rem' },
|
|
14
|
+
md: { value: '0.5rem' },
|
|
15
|
+
lg: { value: '0.625rem' },
|
|
16
|
+
siteLg: { value: '10px' },
|
|
17
|
+
},
|
|
18
|
+
shadows: {
|
|
19
|
+
panel: { value: '0 8px 32px #00000066' },
|
|
20
|
+
focusRing: { value: '0 0 0 2px #0c0e12, 0 0 0 4px #5eead4' },
|
|
21
|
+
},
|
|
22
|
+
spacing: {
|
|
23
|
+
/** Compact chrome — buttons, badges, selects (not panel insets). */
|
|
24
|
+
controlX: { value: '0.75rem' },
|
|
25
|
+
controlY: { value: '0.375rem' },
|
|
26
|
+
controlXSm: { value: '0.625rem' },
|
|
27
|
+
controlYSm: { value: '0.3125rem' },
|
|
28
|
+
badgeX: { value: '0.5rem' },
|
|
29
|
+
badgeY: { value: '0.125rem' },
|
|
30
|
+
insetXSm: { value: '1.125rem' },
|
|
31
|
+
insetYSm: { value: '0.75rem' },
|
|
32
|
+
insetX: { value: '1.5rem' },
|
|
33
|
+
insetY: { value: '0.875rem' },
|
|
34
|
+
insetXLg: { value: '1.75rem' },
|
|
35
|
+
insetYLg: { value: '1.125rem' },
|
|
36
|
+
padSm: { value: '1.25rem' },
|
|
37
|
+
padMd: { value: '1.625rem' },
|
|
38
|
+
padLg: { value: '2rem' },
|
|
39
|
+
padXl: { value: '2.5rem' },
|
|
40
|
+
gapSm: { value: '0.75rem' },
|
|
41
|
+
gap: { value: '1rem' },
|
|
42
|
+
gapLg: { value: '1.25rem' },
|
|
43
|
+
accordionGap: { value: '0.75rem' },
|
|
44
|
+
accordionInsetX: { value: '1.75rem' },
|
|
45
|
+
accordionTriggerY: { value: '1.375rem' },
|
|
46
|
+
accordionTriggerMinH: { value: '3.5rem' },
|
|
47
|
+
/** @deprecated Prefer padMd on itemContent — kept for legacy --aeon-* aliases */
|
|
48
|
+
accordionContentY: { value: '1rem' },
|
|
49
|
+
accordionContentB: { value: '1rem' },
|
|
50
|
+
},
|
|
51
|
+
})
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { withoutSpace } from '../helpers.mjs';
|
|
2
|
+
|
|
3
|
+
const conditionsStr = "_hover,_focus,_focusWithin,_focusVisible,_disabled,_active,_visited,_target,_readOnly,_readWrite,_empty,_checked,_enabled,_expanded,_highlighted,_complete,_incomplete,_dragging,_before,_after,_firstLetter,_firstLine,_marker,_selection,_file,_backdrop,_first,_last,_only,_even,_odd,_firstOfType,_lastOfType,_onlyOfType,_peerFocus,_peerHover,_peerActive,_peerFocusWithin,_peerFocusVisible,_peerDisabled,_peerChecked,_peerInvalid,_peerExpanded,_peerPlaceholderShown,_groupFocus,_groupHover,_groupActive,_groupFocusWithin,_groupFocusVisible,_groupDisabled,_groupChecked,_groupExpanded,_groupInvalid,_indeterminate,_required,_valid,_invalid,_autofill,_inRange,_outOfRange,_placeholder,_placeholderShown,_pressed,_selected,_grabbed,_underValue,_overValue,_atValue,_default,_optional,_open,_closed,_fullscreen,_loading,_hidden,_current,_currentPage,_currentStep,_today,_unavailable,_rangeStart,_rangeEnd,_now,_topmost,_motionReduce,_motionSafe,_print,_landscape,_portrait,_dark,_light,_osDark,_osLight,_highContrast,_lessContrast,_moreContrast,_ltr,_rtl,_scrollbar,_scrollbarThumb,_scrollbarTrack,_horizontal,_vertical,_icon,_starting,_aeonSelected,_aeonChecked,_aeonOpen,_aeonClosed,_aeonPending,_aeonSuccess,_aeonFailure,_aeonInvalid,sm,smOnly,smDown,md,mdOnly,mdDown,lg,lgOnly,lgDown,xl,xlOnly,xlDown,2xl,2xlOnly,2xlDown,smToMd,smToLg,smToXl,smTo2xl,mdToLg,mdToXl,mdTo2xl,lgToXl,lgTo2xl,xlTo2xl,@/xs,@/sm,@/md,@/lg,@/xl,@/2xl,@/3xl,@/4xl,@/5xl,@/6xl,@/7xl,@/8xl,base"
|
|
4
|
+
const conditions = new Set(conditionsStr.split(','))
|
|
5
|
+
|
|
6
|
+
const conditionRegex = /^@|&|&$/
|
|
7
|
+
|
|
8
|
+
export function isCondition(value){
|
|
9
|
+
return conditions.has(value) || conditionRegex.test(value)
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
const underscoreRegex = /^_/
|
|
13
|
+
const conditionsSelectorRegex = /&|@/
|
|
14
|
+
|
|
15
|
+
export function finalizeConditions(paths){
|
|
16
|
+
return paths.map((path) => {
|
|
17
|
+
if (conditions.has(path)){
|
|
18
|
+
return path.replace(underscoreRegex, '')
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
if (conditionsSelectorRegex.test(path)){
|
|
22
|
+
return `[${withoutSpace(path.trim())}]`
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
return path
|
|
26
|
+
})}
|
|
27
|
+
|
|
28
|
+
export function sortConditions(paths){
|
|
29
|
+
return paths.sort((a, b) => {
|
|
30
|
+
const aa = isCondition(a)
|
|
31
|
+
const bb = isCondition(b)
|
|
32
|
+
if (aa && !bb) return 1
|
|
33
|
+
if (!aa && bb) return -1
|
|
34
|
+
return 0
|
|
35
|
+
})
|
|
36
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
import type { SystemStyleObject } from '../types/index';
|
|
3
|
+
|
|
4
|
+
type Styles = SystemStyleObject | undefined | null | false
|
|
5
|
+
|
|
6
|
+
interface CssRawFunction {
|
|
7
|
+
(styles: Styles): SystemStyleObject
|
|
8
|
+
(styles: Styles[]): SystemStyleObject
|
|
9
|
+
(...styles: Array<Styles | Styles[]>): SystemStyleObject
|
|
10
|
+
(styles: Styles): SystemStyleObject
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
interface CssFunction {
|
|
14
|
+
(styles: Styles): string
|
|
15
|
+
(styles: Styles[]): string
|
|
16
|
+
(...styles: Array<Styles | Styles[]>): string
|
|
17
|
+
(styles: Styles): string
|
|
18
|
+
|
|
19
|
+
raw: CssRawFunction
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export declare const css: CssFunction;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { createCss, createMergeCss, hypenateProperty, withoutSpace } from '../helpers.mjs';
|
|
2
|
+
import { sortConditions, finalizeConditions } from './conditions.mjs';
|
|
3
|
+
|
|
4
|
+
const utilities = "aspectRatio:asp,boxDecorationBreak:bx-db,zIndex:z,boxSizing:bx-s,objectPosition:obj-p,objectFit:obj-f,overscrollBehavior:ovs-b,overscrollBehaviorX:ovs-bx,overscrollBehaviorY:ovs-by,position:pos/1,top:top,left:left,inset:inset,insetInline:inset-x/insetX,insetBlock:inset-y/insetY,insetBlockEnd:inset-be,insetBlockStart:inset-bs,insetInlineEnd:inset-e/insetEnd/end,insetInlineStart:inset-s/insetStart/start,right:right,bottom:bottom,float:float,visibility:vis,display:d,hideFrom:hide,hideBelow:show,flexBasis:flex-b,flex:flex,flexDirection:flex-d/flexDir,flexGrow:flex-g,flexShrink:flex-sh,gridTemplateColumns:grid-tc,gridTemplateRows:grid-tr,gridColumn:grid-c,gridRow:grid-r,gridColumnStart:grid-cs,gridColumnEnd:grid-ce,gridAutoFlow:grid-af,gridAutoColumns:grid-ac,gridAutoRows:grid-ar,gap:gap,gridGap:grid-g,gridRowGap:grid-rg,gridColumnGap:grid-cg,rowGap:rg,columnGap:cg,justifyContent:jc,alignContent:ac,alignItems:ai,alignSelf:as,padding:p/1,paddingLeft:pl/1,paddingRight:pr/1,paddingTop:pt/1,paddingBottom:pb/1,paddingBlock:py/1/paddingY,paddingBlockEnd:pbe,paddingBlockStart:pbs,paddingInline:px/paddingX/1,paddingInlineEnd:pe/1/paddingEnd,paddingInlineStart:ps/1/paddingStart,marginLeft:ml/1,marginRight:mr/1,marginTop:mt/1,marginBottom:mb/1,margin:m/1,marginBlock:my/1/marginY,marginBlockEnd:mbe,marginBlockStart:mbs,marginInline:mx/1/marginX,marginInlineEnd:me/1/marginEnd,marginInlineStart:ms/1/marginStart,spaceX:sx,spaceY:sy,outlineWidth:ring-w/ringWidth,outlineColor:ring-c/ringColor,outline:ring/1,outlineOffset:ring-o/ringOffset,divideX:dvd-x,divideY:dvd-y,divideColor:dvd-c,divideStyle:dvd-s,width:w/1,inlineSize:w-is,minWidth:min-w/minW,minInlineSize:min-w-is,maxWidth:max-w/maxW,maxInlineSize:max-w-is,height:h/1,blockSize:h-bs,minHeight:min-h/minH,minBlockSize:min-h-bs,maxHeight:max-h/maxH,maxBlockSize:max-b,color:c,fontFamily:ff,fontSize:fs,fontSizeAdjust:fs-a,fontPalette:fp,fontKerning:fk,fontFeatureSettings:ff-s,fontWeight:fw,fontSmoothing:fsmt,fontVariant:fv,fontVariantAlternates:fv-alt,fontVariantCaps:fv-caps,fontVariationSettings:fv-s,fontVariantNumeric:fv-num,letterSpacing:ls,lineHeight:lh,textAlign:ta,textDecoration:td,textDecorationColor:td-c,textEmphasisColor:te-c,textDecorationStyle:td-s,textDecorationThickness:td-t,textUnderlineOffset:tu-o,textTransform:tt,textIndent:ti,textShadow:tsh,textShadowColor:tsh-c/textShadowColor,textOverflow:tov,verticalAlign:va,wordBreak:wb,textWrap:tw,truncate:trunc,lineClamp:lc,listStyleType:li-t,listStylePosition:li-pos,listStyleImage:li-img,listStyle:li-s,backgroundPosition:bg-p/bgPosition,backgroundPositionX:bg-p-x/bgPositionX,backgroundPositionY:bg-p-y/bgPositionY,backgroundAttachment:bg-a/bgAttachment,backgroundClip:bg-cp/bgClip,background:bg/1,backgroundColor:bg-c/bgColor,backgroundOrigin:bg-o/bgOrigin,backgroundImage:bg-i/bgImage,backgroundRepeat:bg-r/bgRepeat,backgroundBlendMode:bg-bm/bgBlendMode,backgroundSize:bg-s/bgSize,backgroundGradient:bg-grad/bgGradient,textGradient:txt-grad,gradientFromPosition:grad-from-pos,gradientToPosition:grad-to-pos,gradientFrom:grad-from,gradientTo:grad-to,gradientVia:grad-via,gradientViaPosition:grad-via-pos,borderRadius:bdr/rounded,borderTopLeftRadius:bdr-tl/roundedTopLeft,borderTopRightRadius:bdr-tr/roundedTopRight,borderBottomRightRadius:bdr-br/roundedBottomRight,borderBottomLeftRadius:bdr-bl/roundedBottomLeft,borderTopRadius:bdr-t/roundedTop,borderRightRadius:bdr-r/roundedRight,borderBottomRadius:bdr-b/roundedBottom,borderLeftRadius:bdr-l/roundedLeft,borderStartStartRadius:bdr-ss/roundedStartStart,borderStartEndRadius:bdr-se/roundedStartEnd,borderStartRadius:bdr-s/roundedStart,borderEndStartRadius:bdr-es/roundedEndStart,borderEndEndRadius:bdr-ee/roundedEndEnd,borderEndRadius:bdr-e/roundedEnd,border:bd,borderWidth:bd-w,borderTopWidth:bd-t-w,borderLeftWidth:bd-l-w,borderRightWidth:bd-r-w,borderBottomWidth:bd-b-w,borderBlockStartWidth:bd-bs-w,borderBlockEndWidth:bd-be-w,borderColor:bd-c,borderInline:bd-x/borderX,borderInlineWidth:bd-x-w/borderXWidth,borderInlineColor:bd-x-c/borderXColor,borderBlock:bd-y/borderY,borderBlockWidth:bd-y-w/borderYWidth,borderBlockColor:bd-y-c/borderYColor,borderLeft:bd-l,borderLeftColor:bd-l-c,borderInlineStart:bd-s/borderStart,borderInlineStartWidth:bd-s-w/borderStartWidth,borderInlineStartColor:bd-s-c/borderStartColor,borderRight:bd-r,borderRightColor:bd-r-c,borderInlineEnd:bd-e/borderEnd,borderInlineEndWidth:bd-e-w/borderEndWidth,borderInlineEndColor:bd-e-c/borderEndColor,borderTop:bd-t,borderTopColor:bd-t-c,borderBottom:bd-b,borderBottomColor:bd-b-c,borderBlockEnd:bd-be,borderBlockEndColor:bd-be-c,borderBlockStart:bd-bs,borderBlockStartColor:bd-bs-c,opacity:op,boxShadow:bx-sh/shadow,boxShadowColor:bx-sh-c/shadowColor,mixBlendMode:mix-bm,filter:filter,brightness:brightness,contrast:contrast,grayscale:grayscale,hueRotate:hue-rotate,invert:invert,saturate:saturate,sepia:sepia,dropShadow:drop-shadow,blur:blur,backdropFilter:bkdp,backdropBlur:bkdp-blur,backdropBrightness:bkdp-brightness,backdropContrast:bkdp-contrast,backdropGrayscale:bkdp-grayscale,backdropHueRotate:bkdp-hue-rotate,backdropInvert:bkdp-invert,backdropOpacity:bkdp-opacity,backdropSaturate:bkdp-saturate,backdropSepia:bkdp-sepia,borderCollapse:bd-cl,borderSpacing:bd-sp,borderSpacingX:bd-sx,borderSpacingY:bd-sy,tableLayout:tbl,transitionTimingFunction:trs-tmf,transitionDelay:trs-dly,transitionDuration:trs-dur,transitionProperty:trs-prop,transition:trs,animation:anim,animationName:anim-n,animationTimingFunction:anim-tmf,animationDuration:anim-dur,animationDelay:anim-dly,animationPlayState:anim-ps,animationComposition:anim-comp,animationFillMode:anim-fm,animationDirection:anim-dir,animationIterationCount:anim-ic,animationRange:anim-r,animationState:anim-s,animationRangeStart:anim-rs,animationRangeEnd:anim-re,animationTimeline:anim-tl,transformOrigin:trf-o,transformBox:trf-b,transformStyle:trf-s,transform:trf,rotate:rotate,rotateX:rotate-x,rotateY:rotate-y,rotateZ:rotate-z,scale:scale,scaleX:scale-x,scaleY:scale-y,translate:translate,translateX:translate-x/x,translateY:translate-y/y,translateZ:translate-z/z,accentColor:ac-c,caretColor:ca-c,scrollBehavior:scr-bhv,scrollbar:scr-bar,scrollbarColor:scr-bar-c,scrollbarGutter:scr-bar-g,scrollbarWidth:scr-bar-w,scrollMargin:scr-m,scrollMarginLeft:scr-ml,scrollMarginRight:scr-mr,scrollMarginTop:scr-mt,scrollMarginBottom:scr-mb,scrollMarginBlock:scr-my/scrollMarginY,scrollMarginBlockEnd:scr-mbe,scrollMarginBlockStart:scr-mbt,scrollMarginInline:scr-mx/scrollMarginX,scrollMarginInlineEnd:scr-me,scrollMarginInlineStart:scr-ms,scrollPadding:scr-p,scrollPaddingBlock:scr-py/scrollPaddingY,scrollPaddingBlockStart:scr-pbs,scrollPaddingBlockEnd:scr-pbe,scrollPaddingInline:scr-px/scrollPaddingX,scrollPaddingInlineEnd:scr-pe,scrollPaddingInlineStart:scr-ps,scrollPaddingLeft:scr-pl,scrollPaddingRight:scr-pr,scrollPaddingTop:scr-pt,scrollPaddingBottom:scr-pb,scrollSnapAlign:scr-sa,scrollSnapStop:scrs-s,scrollSnapType:scrs-t,scrollSnapStrictness:scrs-strt,scrollSnapMargin:scrs-m,scrollSnapMarginTop:scrs-mt,scrollSnapMarginBottom:scrs-mb,scrollSnapMarginLeft:scrs-ml,scrollSnapMarginRight:scrs-mr,scrollSnapCoordinate:scrs-c,scrollSnapDestination:scrs-d,scrollSnapPointsX:scrs-px,scrollSnapPointsY:scrs-py,scrollSnapTypeX:scrs-tx,scrollSnapTypeY:scrs-ty,scrollTimeline:scrtl,scrollTimelineAxis:scrtl-a,scrollTimelineName:scrtl-n,touchAction:tch-a,userSelect:us,overflow:ov,overflowWrap:ov-wrap,overflowX:ov-x,overflowY:ov-y,overflowAnchor:ov-a,overflowBlock:ov-b,overflowInline:ov-i,overflowClipBox:ovcp-bx,overflowClipMargin:ovcp-m,overscrollBehaviorBlock:ovs-bb,overscrollBehaviorInline:ovs-bi,fill:fill,stroke:stk,strokeWidth:stk-w,strokeDasharray:stk-dsh,strokeDashoffset:stk-do,strokeLinecap:stk-lc,strokeLinejoin:stk-lj,strokeMiterlimit:stk-ml,strokeOpacity:stk-op,srOnly:sr,debug:debug,appearance:ap,backfaceVisibility:bfv,clipPath:cp-path,hyphens:hy,mask:msk,maskImage:msk-i,maskSize:msk-s,textSizeAdjust:txt-adj,container:cq,containerName:cq-n,containerType:cq-t,cursor:cursor,textStyle:textStyle"
|
|
5
|
+
|
|
6
|
+
const classNameByProp = new Map()
|
|
7
|
+
const shorthands = new Map()
|
|
8
|
+
utilities.split(',').forEach((utility) => {
|
|
9
|
+
const [prop, meta] = utility.split(':')
|
|
10
|
+
const [className, ...shorthandList] = meta.split('/')
|
|
11
|
+
classNameByProp.set(prop, className)
|
|
12
|
+
if (shorthandList.length) {
|
|
13
|
+
shorthandList.forEach((shorthand) => {
|
|
14
|
+
shorthands.set(shorthand === '1' ? className : shorthand, prop)
|
|
15
|
+
})
|
|
16
|
+
}
|
|
17
|
+
})
|
|
18
|
+
|
|
19
|
+
const resolveShorthand = (prop) => shorthands.get(prop) || prop
|
|
20
|
+
|
|
21
|
+
const context = {
|
|
22
|
+
|
|
23
|
+
conditions: {
|
|
24
|
+
shift: sortConditions,
|
|
25
|
+
finalize: finalizeConditions,
|
|
26
|
+
breakpoints: { keys: ["base","sm","md","lg","xl","2xl"] }
|
|
27
|
+
},
|
|
28
|
+
utility: {
|
|
29
|
+
|
|
30
|
+
transform: (prop, value) => {
|
|
31
|
+
const key = resolveShorthand(prop)
|
|
32
|
+
const propKey = classNameByProp.get(key) || hypenateProperty(key)
|
|
33
|
+
return { className: `${propKey}_${withoutSpace(value)}` }
|
|
34
|
+
},
|
|
35
|
+
hasShorthand: true,
|
|
36
|
+
toHash: (path, hashFn) => hashFn(path.join(":")),
|
|
37
|
+
resolveShorthand: resolveShorthand,
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
const cssFn = createCss(context)
|
|
42
|
+
export const css = (...styles) => cssFn(mergeCss(...styles))
|
|
43
|
+
css.raw = (...styles) => mergeCss(...styles)
|
|
44
|
+
|
|
45
|
+
export const { mergeCss, assignCss } = createMergeCss(context)
|