aeon-ui-engine 1.8.0 → 1.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +28 -0
- package/package.json +5 -2
- package/packages/core/dist/index.d.ts +116 -1
- package/packages/core/dist/index.js +202 -1
- package/packages/core/src/anatomy.ts +13 -1
- package/packages/core/src/index.ts +2 -0
- package/packages/core/src/list-window.ts +149 -0
- package/packages/core/src/sound.ts +154 -0
- package/packages/panda/package.json +6 -3
- package/packages/panda/panda.config.ts +12 -0
- package/packages/panda/src/recipes/clipboard.ts +40 -0
- package/packages/panda/src/recipes/composer.ts +4 -3
- package/packages/panda/src/recipes/index.ts +4 -0
- package/packages/panda/src/recipes/prose.ts +110 -0
- package/packages/panda/src/recipes/segment-group.ts +50 -0
- package/packages/panda/src/recipes/textarea.ts +60 -0
- package/packages/panda/styled-system/css/conditions.d.ts +7 -0
- package/packages/panda/styled-system/css/conditions.js +32 -0
- package/packages/panda/styled-system/css/css.d.ts +6 -6
- package/packages/panda/styled-system/css/css.js +63 -0
- package/packages/panda/styled-system/css/cva.d.ts +2 -3
- package/packages/panda/styled-system/css/cva.js +51 -0
- package/packages/panda/styled-system/css/cx.d.ts +5 -4
- package/packages/panda/styled-system/css/{cx.mjs → cx.js} +5 -4
- package/packages/panda/styled-system/css/first-that-works.d.ts +22 -0
- package/packages/panda/styled-system/css/first-that-works.js +1 -0
- package/packages/panda/styled-system/css/index.d.ts +6 -3
- package/packages/panda/styled-system/css/index.js +8 -0
- package/packages/panda/styled-system/css/keyframes.d.ts +5 -0
- package/packages/panda/styled-system/css/keyframes.js +8 -0
- package/packages/panda/styled-system/css/position-try.d.ts +5 -0
- package/packages/panda/styled-system/css/position-try.js +11 -0
- package/packages/panda/styled-system/css/sva.d.ts +1 -2
- package/packages/panda/styled-system/css/sva.js +49 -0
- package/packages/panda/styled-system/css/view-transition.d.ts +7 -0
- package/packages/panda/styled-system/css/view-transition.js +18 -0
- package/packages/panda/styled-system/helpers.d.ts +67 -0
- package/packages/panda/styled-system/helpers.js +624 -0
- package/packages/panda/styled-system/jsx/aspect-ratio.d.ts +3 -6
- package/packages/panda/styled-system/jsx/aspect-ratio.js +11 -0
- package/packages/panda/styled-system/jsx/bleed.d.ts +4 -7
- package/packages/panda/styled-system/jsx/bleed.js +11 -0
- package/packages/panda/styled-system/jsx/box.d.ts +4 -7
- package/packages/panda/styled-system/jsx/box.js +11 -0
- package/packages/panda/styled-system/jsx/center.d.ts +4 -7
- package/packages/panda/styled-system/jsx/center.js +11 -0
- package/packages/panda/styled-system/jsx/circle.d.ts +4 -7
- package/packages/panda/styled-system/jsx/circle.js +11 -0
- package/packages/panda/styled-system/jsx/container.d.ts +4 -7
- package/packages/panda/styled-system/jsx/container.js +11 -0
- package/packages/panda/styled-system/jsx/cq.d.ts +4 -7
- package/packages/panda/styled-system/jsx/cq.js +11 -0
- package/packages/panda/styled-system/jsx/create-recipe-context.d.ts +31 -0
- package/packages/panda/styled-system/jsx/create-recipe-context.js +38 -0
- package/packages/panda/styled-system/jsx/create-slot-recipe-context.d.ts +49 -0
- package/packages/panda/styled-system/jsx/create-slot-recipe-context.js +124 -0
- package/packages/panda/styled-system/jsx/divider.d.ts +4 -7
- package/packages/panda/styled-system/jsx/divider.js +11 -0
- package/packages/panda/styled-system/jsx/factory.d.ts +2 -2
- package/packages/panda/styled-system/jsx/factory.js +91 -0
- package/packages/panda/styled-system/jsx/flex.d.ts +4 -7
- package/packages/panda/styled-system/jsx/flex.js +11 -0
- package/packages/panda/styled-system/jsx/float.d.ts +4 -7
- package/packages/panda/styled-system/jsx/float.js +11 -0
- package/packages/panda/styled-system/jsx/grid-item.d.ts +4 -7
- package/packages/panda/styled-system/jsx/grid-item.js +11 -0
- package/packages/panda/styled-system/jsx/grid.d.ts +4 -7
- package/packages/panda/styled-system/jsx/grid.js +11 -0
- package/packages/panda/styled-system/jsx/helper.d.ts +34 -0
- package/packages/panda/styled-system/jsx/helper.js +92 -0
- package/packages/panda/styled-system/jsx/hstack.d.ts +4 -7
- package/packages/panda/styled-system/jsx/hstack.js +11 -0
- package/packages/panda/styled-system/jsx/index.d.ts +17 -17
- package/packages/panda/styled-system/jsx/index.js +24 -0
- package/packages/panda/styled-system/jsx/is-valid-prop.d.ts +5 -10
- package/packages/panda/styled-system/jsx/is-valid-prop.js +12 -0
- package/packages/panda/styled-system/jsx/link-overlay.d.ts +4 -7
- package/packages/panda/styled-system/jsx/link-overlay.js +11 -0
- package/packages/panda/styled-system/jsx/spacer.d.ts +4 -7
- package/packages/panda/styled-system/jsx/spacer.js +11 -0
- package/packages/panda/styled-system/jsx/square.d.ts +4 -7
- package/packages/panda/styled-system/jsx/square.js +11 -0
- package/packages/panda/styled-system/jsx/stack.d.ts +4 -7
- package/packages/panda/styled-system/jsx/stack.js +11 -0
- package/packages/panda/styled-system/jsx/visually-hidden.d.ts +4 -7
- package/packages/panda/styled-system/jsx/visually-hidden.js +11 -0
- package/packages/panda/styled-system/jsx/vstack.d.ts +4 -7
- package/packages/panda/styled-system/jsx/vstack.js +11 -0
- package/packages/panda/styled-system/jsx/wrap.d.ts +4 -7
- package/packages/panda/styled-system/jsx/wrap.js +11 -0
- package/packages/panda/styled-system/patterns/aspect-ratio.d.ts +8 -9
- package/packages/panda/styled-system/patterns/aspect-ratio.js +37 -0
- package/packages/panda/styled-system/patterns/bleed.d.ts +9 -10
- package/packages/panda/styled-system/patterns/bleed.js +30 -0
- package/packages/panda/styled-system/patterns/box.d.ts +8 -11
- package/packages/panda/styled-system/patterns/box.js +16 -0
- package/packages/panda/styled-system/patterns/center.d.ts +8 -9
- package/packages/panda/styled-system/patterns/center.js +22 -0
- package/packages/panda/styled-system/patterns/circle.d.ts +8 -9
- package/packages/panda/styled-system/patterns/circle.js +26 -0
- package/packages/panda/styled-system/patterns/container.d.ts +8 -11
- package/packages/panda/styled-system/patterns/container.js +26 -0
- package/packages/panda/styled-system/patterns/cq.d.ts +10 -10
- package/packages/panda/styled-system/patterns/cq.js +24 -0
- package/packages/panda/styled-system/patterns/divider.d.ts +11 -11
- package/packages/panda/styled-system/patterns/divider.js +31 -0
- package/packages/panda/styled-system/patterns/flex.d.ts +14 -15
- package/packages/panda/styled-system/patterns/flex.js +27 -0
- package/packages/panda/styled-system/patterns/float.d.ts +12 -12
- package/packages/panda/styled-system/patterns/float.js +84 -0
- package/packages/panda/styled-system/patterns/grid-item.d.ts +13 -14
- package/packages/panda/styled-system/patterns/grid-item.js +26 -0
- package/packages/panda/styled-system/patterns/grid.d.ts +13 -13
- package/packages/panda/styled-system/patterns/grid.js +30 -0
- package/packages/panda/styled-system/patterns/hstack.d.ts +9 -10
- package/packages/panda/styled-system/patterns/hstack.js +27 -0
- package/packages/panda/styled-system/patterns/index.d.ts +14 -15
- package/packages/panda/styled-system/patterns/index.js +20 -0
- package/packages/panda/styled-system/patterns/link-overlay.d.ts +8 -11
- package/packages/panda/styled-system/patterns/link-overlay.js +25 -0
- package/packages/panda/styled-system/patterns/runtime.js +25 -0
- package/packages/panda/styled-system/patterns/spacer.d.ts +9 -9
- package/packages/panda/styled-system/patterns/spacer.js +26 -0
- package/packages/panda/styled-system/patterns/square.d.ts +8 -9
- package/packages/panda/styled-system/patterns/square.js +25 -0
- package/packages/panda/styled-system/patterns/stack.d.ts +11 -12
- package/packages/panda/styled-system/patterns/stack.js +30 -0
- package/packages/panda/styled-system/patterns/visually-hidden.d.ts +8 -11
- package/packages/panda/styled-system/patterns/visually-hidden.js +19 -0
- package/packages/panda/styled-system/patterns/vstack.d.ts +9 -10
- package/packages/panda/styled-system/patterns/vstack.js +27 -0
- package/packages/panda/styled-system/patterns/wrap.d.ts +12 -13
- package/packages/panda/styled-system/patterns/wrap.js +26 -0
- package/packages/panda/styled-system/recipes/aeon-accordion.d.ts +9 -26
- package/packages/panda/styled-system/recipes/aeon-accordion.js +5 -0
- package/packages/panda/styled-system/recipes/aeon-app-shell.d.ts +10 -26
- package/packages/panda/styled-system/recipes/aeon-app-shell.js +5 -0
- package/packages/panda/styled-system/recipes/aeon-async.d.ts +9 -26
- package/packages/panda/styled-system/recipes/aeon-async.js +5 -0
- package/packages/panda/styled-system/recipes/aeon-avatar.d.ts +10 -28
- package/packages/panda/styled-system/recipes/aeon-avatar.js +5 -0
- package/packages/panda/styled-system/recipes/aeon-badge.d.ts +8 -26
- package/packages/panda/styled-system/recipes/aeon-badge.js +5 -0
- package/packages/panda/styled-system/recipes/aeon-bar.d.ts +13 -32
- package/packages/panda/styled-system/recipes/aeon-bar.js +5 -0
- package/packages/panda/styled-system/recipes/aeon-button-group.d.ts +10 -33
- package/packages/panda/styled-system/recipes/aeon-button-group.js +5 -0
- package/packages/panda/styled-system/recipes/aeon-button.d.ts +10 -33
- package/packages/panda/styled-system/recipes/aeon-button.js +5 -0
- package/packages/panda/styled-system/recipes/aeon-checkbox.d.ts +9 -24
- package/packages/panda/styled-system/recipes/aeon-checkbox.js +5 -0
- package/packages/panda/styled-system/recipes/aeon-clipboard.d.ts +16 -0
- package/packages/panda/styled-system/recipes/aeon-clipboard.js +5 -0
- package/packages/panda/styled-system/recipes/aeon-combobox.d.ts +9 -26
- package/packages/panda/styled-system/recipes/aeon-combobox.js +5 -0
- package/packages/panda/styled-system/recipes/aeon-composer.d.ts +9 -24
- package/packages/panda/styled-system/recipes/aeon-composer.js +5 -0
- package/packages/panda/styled-system/recipes/aeon-content.d.ts +10 -26
- package/packages/panda/styled-system/recipes/aeon-content.js +5 -0
- package/packages/panda/styled-system/recipes/aeon-conversation.d.ts +9 -24
- package/packages/panda/styled-system/recipes/aeon-conversation.js +5 -0
- package/packages/panda/styled-system/recipes/aeon-dialog.d.ts +9 -24
- package/packages/panda/styled-system/recipes/aeon-dialog.js +5 -0
- package/packages/panda/styled-system/recipes/aeon-entry.d.ts +11 -30
- package/packages/panda/styled-system/recipes/aeon-entry.js +5 -0
- package/packages/panda/styled-system/recipes/aeon-field.d.ts +9 -26
- package/packages/panda/styled-system/recipes/aeon-field.js +5 -0
- package/packages/panda/styled-system/recipes/aeon-file-upload.d.ts +9 -24
- package/packages/panda/styled-system/recipes/aeon-file-upload.js +5 -0
- package/packages/panda/styled-system/recipes/aeon-identity.d.ts +10 -28
- package/packages/panda/styled-system/recipes/aeon-identity.js +5 -0
- package/packages/panda/styled-system/recipes/aeon-list-row.d.ts +9 -26
- package/packages/panda/styled-system/recipes/aeon-list-row.js +5 -0
- package/packages/panda/styled-system/recipes/aeon-menu.d.ts +9 -24
- package/packages/panda/styled-system/recipes/aeon-menu.js +5 -0
- package/packages/panda/styled-system/recipes/aeon-metric-strip.d.ts +10 -28
- package/packages/panda/styled-system/recipes/aeon-metric-strip.js +5 -0
- package/packages/panda/styled-system/recipes/aeon-nav.d.ts +11 -30
- package/packages/panda/styled-system/recipes/aeon-nav.js +5 -0
- package/packages/panda/styled-system/recipes/aeon-panel.d.ts +10 -26
- package/packages/panda/styled-system/recipes/aeon-panel.js +5 -0
- package/packages/panda/styled-system/recipes/aeon-pin-input.d.ts +9 -24
- package/packages/panda/styled-system/recipes/aeon-pin-input.js +5 -0
- package/packages/panda/styled-system/recipes/aeon-popover.d.ts +9 -24
- package/packages/panda/styled-system/recipes/aeon-popover.js +5 -0
- package/packages/panda/styled-system/recipes/aeon-profile-header.d.ts +10 -28
- package/packages/panda/styled-system/recipes/aeon-profile-header.js +5 -0
- package/packages/panda/styled-system/recipes/aeon-progress.d.ts +9 -24
- package/packages/panda/styled-system/recipes/aeon-progress.js +5 -0
- package/packages/panda/styled-system/recipes/aeon-prose.d.ts +16 -0
- package/packages/panda/styled-system/recipes/aeon-prose.js +5 -0
- package/packages/panda/styled-system/recipes/aeon-radio-group.d.ts +9 -24
- package/packages/panda/styled-system/recipes/aeon-radio-group.js +5 -0
- package/packages/panda/styled-system/recipes/aeon-range-slider.d.ts +9 -24
- package/packages/panda/styled-system/recipes/aeon-range-slider.js +5 -0
- package/packages/panda/styled-system/recipes/aeon-scroll.d.ts +12 -36
- package/packages/panda/styled-system/recipes/aeon-scroll.js +5 -0
- package/packages/panda/styled-system/recipes/aeon-segment-group.d.ts +18 -0
- package/packages/panda/styled-system/recipes/aeon-segment-group.js +5 -0
- package/packages/panda/styled-system/recipes/aeon-select.d.ts +9 -26
- package/packages/panda/styled-system/recipes/aeon-select.js +5 -0
- package/packages/panda/styled-system/recipes/aeon-separator.d.ts +10 -26
- package/packages/panda/styled-system/recipes/aeon-separator.js +5 -0
- package/packages/panda/styled-system/recipes/aeon-slider.d.ts +9 -24
- package/packages/panda/styled-system/recipes/aeon-slider.js +5 -0
- package/packages/panda/styled-system/recipes/aeon-switch.d.ts +9 -24
- package/packages/panda/styled-system/recipes/aeon-switch.js +5 -0
- package/packages/panda/styled-system/recipes/aeon-tabs.d.ts +9 -24
- package/packages/panda/styled-system/recipes/aeon-tabs.js +5 -0
- package/packages/panda/styled-system/recipes/aeon-textarea.d.ts +18 -0
- package/packages/panda/styled-system/recipes/aeon-textarea.js +5 -0
- package/packages/panda/styled-system/recipes/aeon-theme-switcher.d.ts +10 -26
- package/packages/panda/styled-system/recipes/aeon-theme-switcher.js +5 -0
- package/packages/panda/styled-system/recipes/aeon-thread.d.ts +9 -24
- package/packages/panda/styled-system/recipes/aeon-thread.js +5 -0
- package/packages/panda/styled-system/recipes/aeon-toast.d.ts +9 -24
- package/packages/panda/styled-system/recipes/aeon-toast.js +5 -0
- package/packages/panda/styled-system/recipes/aeon-tooltip.d.ts +9 -24
- package/packages/panda/styled-system/recipes/aeon-tooltip.js +5 -0
- package/packages/panda/styled-system/recipes/index.d.ts +31 -28
- package/packages/panda/styled-system/recipes/index.js +43 -0
- package/packages/panda/styled-system/recipes/runtime.js +133 -0
- package/packages/panda/styled-system/styles.css +1899 -2106
- package/packages/panda/styled-system/tokens/index.d.ts +4 -5
- package/packages/panda/styled-system/tokens/index.js +18 -0
- package/packages/panda/styled-system/types/index.d.ts +3 -6
- package/packages/panda/styled-system/types/jsx.d.ts +36 -27
- package/packages/panda/styled-system/types/pattern.d.ts +18 -70
- package/packages/panda/styled-system/types/recipe.d.ts +50 -154
- package/packages/panda/styled-system/types/system.d.ts +1826 -0
- package/packages/panda/styled-system/types/tokens.d.ts +65 -0
- package/packages/panda/tsconfig.json +3 -1
- package/packages/primitives/dist/chunk-5BNAV4S2.js +258 -0
- package/packages/primitives/dist/chunk-HYHCIMHC.js +45 -0
- package/packages/primitives/dist/index.d.ts +2 -0
- package/packages/primitives/dist/index.js +30 -12
- package/packages/primitives/dist/machines/app-nav.d.ts +3 -3
- package/packages/primitives/dist/machines/cache.d.ts +223 -0
- package/packages/primitives/dist/machines/cache.js +14 -0
- package/packages/primitives/dist/machines/clipboard.d.ts +46 -0
- package/packages/primitives/dist/machines/clipboard.js +8 -0
- package/packages/primitives/dist/machines/tabs.d.ts +2 -2
- package/packages/primitives/src/index.ts +2 -0
- package/packages/primitives/src/machines/cache.ts +395 -0
- package/packages/primitives/src/machines/clipboard.ts +56 -0
- package/packages/react/dist/index.d.ts +106 -10
- package/packages/react/dist/index.js +1350 -994
- package/packages/react/src/clipboard/index.tsx +117 -0
- package/packages/react/src/composer/index.tsx +14 -5
- package/packages/react/src/index.ts +4 -0
- package/packages/react/src/prose/index.tsx +11 -0
- package/packages/react/src/radio-group/index.tsx +2 -1
- package/packages/react/src/scroll/index.tsx +1 -0
- package/packages/react/src/scroll/use-windowed-range.ts +118 -0
- package/packages/react/src/segment-group/index.tsx +171 -0
- package/packages/react/src/select/index.tsx +11 -2
- package/packages/react/src/tabs/index.tsx +19 -7
- package/packages/react/src/textarea/index.tsx +75 -0
- package/packages/react/src/utils/assign-ref.ts +7 -0
- package/packages/schemas/dist/index.d.ts +8 -0
- package/packages/schemas/dist/index.js +59 -0
- package/packages/schemas/json/catalog.json +493 -0
- package/packages/schemas/json/clipboard.json +136 -0
- package/packages/schemas/json/prose.json +103 -0
- package/packages/schemas/json/segmentGroup.json +131 -0
- package/packages/schemas/json/textarea.json +119 -0
- package/packages/schemas/registry/catalog.json +34 -0
- package/packages/schemas/registry/components/clipboard.json +136 -0
- package/packages/schemas/registry/components/prose.json +103 -0
- package/packages/schemas/registry/components/segmentGroup.json +131 -0
- package/packages/schemas/registry/components/textarea.json +119 -0
- package/packages/schemas/registry/machines/clipboard.json +110 -0
- package/packages/schemas/scripts/emit.ts +2 -0
- package/packages/schemas/src/components.ts +63 -0
- package/packages/ui/dist/index.d.ts +27 -3
- package/packages/ui/dist/index.js +232 -165
- package/packages/ui/src/clipboard.tsx +51 -0
- package/packages/ui/src/index.ts +4 -0
- package/packages/ui/src/prose.tsx +15 -0
- package/packages/ui/src/segment-group.tsx +28 -0
- package/packages/ui/src/textarea.tsx +17 -0
- package/scripts/vite-aliases.mjs +2 -2
- package/packages/cli/node_modules/.bin/esbuild +0 -21
- package/packages/cli/node_modules/.bin/jiti +0 -21
- package/packages/cli/node_modules/.bin/tsc +0 -21
- package/packages/cli/node_modules/.bin/tsserver +0 -21
- package/packages/cli/node_modules/.bin/tsup +0 -21
- package/packages/cli/node_modules/.bin/tsup-node +0 -21
- package/packages/cli/node_modules/.bin/tsx +0 -21
- package/packages/cli/node_modules/.bin/vite +0 -21
- package/packages/cli/node_modules/.bin/vitest +0 -21
- package/packages/core/node_modules/.bin/esbuild +0 -21
- package/packages/core/node_modules/.bin/jiti +0 -21
- package/packages/core/node_modules/.bin/tsc +0 -21
- package/packages/core/node_modules/.bin/tsserver +0 -21
- package/packages/core/node_modules/.bin/tsup +0 -21
- package/packages/core/node_modules/.bin/tsup-node +0 -21
- package/packages/core/node_modules/.bin/tsx +0 -21
- package/packages/core/node_modules/.bin/vite +0 -21
- package/packages/core/node_modules/.bin/vitest +0 -21
- package/packages/core/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +0 -1
- package/packages/core/src/identicon.test.ts +0 -39
- package/packages/core/src/machine.test.ts +0 -79
- package/packages/core/src/theme.test.ts +0 -14
- package/packages/geometry/node_modules/.bin/esbuild +0 -21
- package/packages/geometry/node_modules/.bin/jiti +0 -21
- package/packages/geometry/node_modules/.bin/tsc +0 -21
- package/packages/geometry/node_modules/.bin/tsserver +0 -21
- package/packages/geometry/node_modules/.bin/tsup +0 -21
- package/packages/geometry/node_modules/.bin/tsup-node +0 -21
- package/packages/geometry/node_modules/.bin/tsx +0 -21
- package/packages/panda/styled-system/css/conditions.mjs +0 -36
- package/packages/panda/styled-system/css/css.mjs +0 -45
- package/packages/panda/styled-system/css/cva.mjs +0 -87
- package/packages/panda/styled-system/css/index.mjs +0 -4
- package/packages/panda/styled-system/css/sva.mjs +0 -46
- package/packages/panda/styled-system/helpers.mjs +0 -328
- package/packages/panda/styled-system/jsx/aspect-ratio.mjs +0 -14
- package/packages/panda/styled-system/jsx/bleed.mjs +0 -14
- package/packages/panda/styled-system/jsx/box.mjs +0 -14
- package/packages/panda/styled-system/jsx/center.mjs +0 -14
- package/packages/panda/styled-system/jsx/circle.mjs +0 -14
- package/packages/panda/styled-system/jsx/container.mjs +0 -14
- package/packages/panda/styled-system/jsx/cq.mjs +0 -14
- package/packages/panda/styled-system/jsx/create-style-context.d.ts +0 -54
- package/packages/panda/styled-system/jsx/create-style-context.mjs +0 -121
- package/packages/panda/styled-system/jsx/divider.mjs +0 -14
- package/packages/panda/styled-system/jsx/factory-helper.mjs +0 -22
- package/packages/panda/styled-system/jsx/factory.mjs +0 -89
- package/packages/panda/styled-system/jsx/flex.mjs +0 -14
- package/packages/panda/styled-system/jsx/float.mjs +0 -14
- package/packages/panda/styled-system/jsx/grid-item.mjs +0 -14
- package/packages/panda/styled-system/jsx/grid.mjs +0 -14
- package/packages/panda/styled-system/jsx/hstack.mjs +0 -14
- package/packages/panda/styled-system/jsx/index.mjs +0 -23
- package/packages/panda/styled-system/jsx/is-valid-prop.mjs +0 -17
- package/packages/panda/styled-system/jsx/link-overlay.mjs +0 -14
- package/packages/panda/styled-system/jsx/spacer.mjs +0 -14
- package/packages/panda/styled-system/jsx/square.mjs +0 -14
- package/packages/panda/styled-system/jsx/stack.mjs +0 -14
- package/packages/panda/styled-system/jsx/visually-hidden.mjs +0 -14
- package/packages/panda/styled-system/jsx/vstack.mjs +0 -14
- package/packages/panda/styled-system/jsx/wrap.mjs +0 -14
- package/packages/panda/styled-system/patterns/aspect-ratio.mjs +0 -38
- package/packages/panda/styled-system/patterns/bleed.mjs +0 -24
- package/packages/panda/styled-system/patterns/box.mjs +0 -15
- package/packages/panda/styled-system/patterns/center.mjs +0 -21
- package/packages/panda/styled-system/patterns/circle.mjs +0 -25
- package/packages/panda/styled-system/patterns/container.mjs +0 -21
- package/packages/panda/styled-system/patterns/cq.mjs +0 -21
- package/packages/panda/styled-system/patterns/divider.mjs +0 -25
- package/packages/panda/styled-system/patterns/flex.mjs +0 -26
- package/packages/panda/styled-system/patterns/float.mjs +0 -52
- package/packages/panda/styled-system/patterns/grid-item.mjs +0 -25
- package/packages/panda/styled-system/patterns/grid.mjs +0 -27
- package/packages/panda/styled-system/patterns/hstack.mjs +0 -24
- package/packages/panda/styled-system/patterns/index.mjs +0 -20
- package/packages/panda/styled-system/patterns/link-overlay.mjs +0 -24
- package/packages/panda/styled-system/patterns/spacer.mjs +0 -25
- package/packages/panda/styled-system/patterns/square.mjs +0 -24
- package/packages/panda/styled-system/patterns/stack.mjs +0 -24
- package/packages/panda/styled-system/patterns/visually-hidden.mjs +0 -18
- package/packages/panda/styled-system/patterns/vstack.mjs +0 -24
- package/packages/panda/styled-system/patterns/wrap.mjs +0 -25
- package/packages/panda/styled-system/recipes/aeon-accordion.mjs +0 -49
- package/packages/panda/styled-system/recipes/aeon-app-shell.mjs +0 -70
- package/packages/panda/styled-system/recipes/aeon-async.mjs +0 -57
- package/packages/panda/styled-system/recipes/aeon-avatar.mjs +0 -57
- package/packages/panda/styled-system/recipes/aeon-badge.mjs +0 -32
- package/packages/panda/styled-system/recipes/aeon-bar.mjs +0 -77
- package/packages/panda/styled-system/recipes/aeon-button-group.mjs +0 -37
- package/packages/panda/styled-system/recipes/aeon-button.mjs +0 -39
- package/packages/panda/styled-system/recipes/aeon-checkbox.mjs +0 -49
- package/packages/panda/styled-system/recipes/aeon-combobox.mjs +0 -53
- package/packages/panda/styled-system/recipes/aeon-composer.mjs +0 -57
- package/packages/panda/styled-system/recipes/aeon-content.mjs +0 -70
- package/packages/panda/styled-system/recipes/aeon-conversation.mjs +0 -61
- package/packages/panda/styled-system/recipes/aeon-dialog.mjs +0 -61
- package/packages/panda/styled-system/recipes/aeon-entry.mjs +0 -100
- package/packages/panda/styled-system/recipes/aeon-field.mjs +0 -53
- package/packages/panda/styled-system/recipes/aeon-file-upload.mjs +0 -61
- package/packages/panda/styled-system/recipes/aeon-identity.mjs +0 -63
- package/packages/panda/styled-system/recipes/aeon-list-row.mjs +0 -49
- package/packages/panda/styled-system/recipes/aeon-menu.mjs +0 -53
- package/packages/panda/styled-system/recipes/aeon-metric-strip.mjs +0 -54
- package/packages/panda/styled-system/recipes/aeon-nav.mjs +0 -69
- package/packages/panda/styled-system/recipes/aeon-panel.mjs +0 -58
- package/packages/panda/styled-system/recipes/aeon-pin-input.mjs +0 -37
- package/packages/panda/styled-system/recipes/aeon-popover.mjs +0 -53
- package/packages/panda/styled-system/recipes/aeon-profile-header.mjs +0 -62
- package/packages/panda/styled-system/recipes/aeon-progress.mjs +0 -45
- package/packages/panda/styled-system/recipes/aeon-radio-group.mjs +0 -49
- package/packages/panda/styled-system/recipes/aeon-range-slider.mjs +0 -49
- package/packages/panda/styled-system/recipes/aeon-scroll.mjs +0 -64
- package/packages/panda/styled-system/recipes/aeon-select.mjs +0 -57
- package/packages/panda/styled-system/recipes/aeon-separator.mjs +0 -42
- package/packages/panda/styled-system/recipes/aeon-slider.mjs +0 -49
- package/packages/panda/styled-system/recipes/aeon-switch.mjs +0 -49
- package/packages/panda/styled-system/recipes/aeon-tabs.mjs +0 -49
- package/packages/panda/styled-system/recipes/aeon-theme-switcher.mjs +0 -59
- package/packages/panda/styled-system/recipes/aeon-thread.mjs +0 -73
- package/packages/panda/styled-system/recipes/aeon-toast.mjs +0 -49
- package/packages/panda/styled-system/recipes/aeon-tooltip.mjs +0 -49
- package/packages/panda/styled-system/recipes/create-recipe.mjs +0 -82
- package/packages/panda/styled-system/recipes/index.mjs +0 -39
- package/packages/panda/styled-system/tokens/index.mjs +0 -2224
- package/packages/panda/styled-system/tokens/tokens.d.ts +0 -60
- package/packages/panda/styled-system/types/composition.d.ts +0 -227
- package/packages/panda/styled-system/types/conditions.d.ts +0 -346
- package/packages/panda/styled-system/types/csstype.d.ts +0 -22570
- package/packages/panda/styled-system/types/global.d.ts +0 -20
- package/packages/panda/styled-system/types/parts.d.ts +0 -8
- package/packages/panda/styled-system/types/prop-type.d.ts +0 -250
- package/packages/panda/styled-system/types/selectors.d.ts +0 -59
- package/packages/panda/styled-system/types/static-css.d.ts +0 -56
- package/packages/panda/styled-system/types/style-props.d.ts +0 -8089
- package/packages/panda/styled-system/types/system-types.d.ts +0 -151
- package/packages/primitives/node_modules/.bin/esbuild +0 -21
- package/packages/primitives/node_modules/.bin/jiti +0 -21
- package/packages/primitives/node_modules/.bin/tsc +0 -21
- package/packages/primitives/node_modules/.bin/tsserver +0 -21
- package/packages/primitives/node_modules/.bin/tsup +0 -21
- package/packages/primitives/node_modules/.bin/tsup-node +0 -21
- package/packages/primitives/node_modules/.bin/tsx +0 -21
- package/packages/primitives/node_modules/.bin/vite +0 -21
- package/packages/primitives/node_modules/.bin/vitest +0 -21
- package/packages/primitives/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +0 -1
- package/packages/primitives/src/__tests__/app-nav.test.ts +0 -30
- package/packages/primitives/src/__tests__/file-upload.test.ts +0 -25
- package/packages/primitives/src/__tests__/floating-surface.test.ts +0 -29
- package/packages/primitives/src/__tests__/range-slider.test.ts +0 -39
- package/packages/react/node_modules/.bin/esbuild +0 -21
- package/packages/react/node_modules/.bin/jiti +0 -21
- package/packages/react/node_modules/.bin/tsc +0 -21
- package/packages/react/node_modules/.bin/tsserver +0 -21
- package/packages/react/node_modules/.bin/tsup +0 -21
- package/packages/react/node_modules/.bin/tsup-node +0 -21
- package/packages/react/node_modules/.bin/tsx +0 -21
- package/packages/react/node_modules/.bin/vite +0 -21
- package/packages/react/node_modules/.bin/vitest +0 -21
- package/packages/react/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +0 -1
- package/packages/react/src/avatar/avatar.test.tsx +0 -27
- package/packages/react/src/dialog/dialog.test.tsx +0 -77
- package/packages/react/src/select/select.test.tsx +0 -81
- package/packages/react/src/toast/toast.test.tsx +0 -40
- package/packages/react/src/tooltip/tooltip.test.tsx +0 -122
- package/packages/react-scene/node_modules/.bin/jiti +0 -21
- package/packages/react-scene/node_modules/.bin/tsc +0 -21
- package/packages/react-scene/node_modules/.bin/tsserver +0 -21
- package/packages/react-scene/node_modules/.bin/tsup +0 -21
- package/packages/react-scene/node_modules/.bin/tsup-node +0 -21
- package/packages/react-scene/node_modules/.bin/tsx +0 -21
- package/packages/scene/node_modules/.bin/jiti +0 -21
- package/packages/scene/node_modules/.bin/tsc +0 -21
- package/packages/scene/node_modules/.bin/tsserver +0 -21
- package/packages/scene/node_modules/.bin/tsup +0 -21
- package/packages/scene/node_modules/.bin/tsup-node +0 -21
- package/packages/scene/node_modules/.bin/tsx +0 -21
- package/packages/schemas/node_modules/.bin/esbuild +0 -21
- package/packages/schemas/node_modules/.bin/jiti +0 -21
- package/packages/schemas/node_modules/.bin/tsc +0 -21
- package/packages/schemas/node_modules/.bin/tsserver +0 -21
- package/packages/schemas/node_modules/.bin/tsup +0 -21
- package/packages/schemas/node_modules/.bin/tsup-node +0 -21
- package/packages/schemas/node_modules/.bin/tsx +0 -21
- package/packages/schemas/node_modules/.bin/vite +0 -21
- package/packages/schemas/node_modules/.bin/vitest +0 -21
- package/packages/schemas/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +0 -1
- package/packages/schemas/src/aeon-to-schema.test.ts +0 -70
- package/packages/schemas/src/index.test.ts +0 -108
- package/packages/signal/node_modules/.bin/jiti +0 -21
- package/packages/signal/node_modules/.bin/tsc +0 -21
- package/packages/signal/node_modules/.bin/tsserver +0 -21
- package/packages/signal/node_modules/.bin/tsup +0 -21
- package/packages/signal/node_modules/.bin/tsup-node +0 -21
- package/packages/signal/node_modules/.bin/tsx +0 -21
- package/packages/site/node_modules/.bin/jiti +0 -21
- package/packages/site/node_modules/.bin/tsc +0 -21
- package/packages/site/node_modules/.bin/tsserver +0 -21
- package/packages/site/node_modules/.bin/tsup +0 -21
- package/packages/site/node_modules/.bin/tsup-node +0 -21
- package/packages/site/node_modules/.bin/tsx +0 -21
- package/packages/solid/node_modules/.bin/jiti +0 -21
- package/packages/solid/node_modules/.bin/tsc +0 -21
- package/packages/solid/node_modules/.bin/tsserver +0 -21
- package/packages/solid/node_modules/.bin/tsup +0 -21
- package/packages/solid/node_modules/.bin/tsup-node +0 -21
- package/packages/solid/node_modules/.bin/tsx +0 -21
- package/packages/surface/node_modules/.bin/jiti +0 -21
- package/packages/surface/node_modules/.bin/tsc +0 -21
- package/packages/surface/node_modules/.bin/tsserver +0 -21
- package/packages/surface/node_modules/.bin/tsup +0 -21
- package/packages/surface/node_modules/.bin/tsup-node +0 -21
- package/packages/surface/node_modules/.bin/tsx +0 -21
- package/packages/svelte/node_modules/.bin/acorn +0 -21
- package/packages/svelte/node_modules/.bin/esbuild +0 -21
- package/packages/svelte/node_modules/.bin/jiti +0 -21
- package/packages/svelte/node_modules/.bin/svelte-check +0 -21
- package/packages/svelte/node_modules/.bin/tsc +0 -21
- package/packages/svelte/node_modules/.bin/tsserver +0 -21
- package/packages/svelte/node_modules/.bin/tsup +0 -21
- package/packages/svelte/node_modules/.bin/tsup-node +0 -21
- package/packages/svelte/node_modules/.bin/tsx +0 -21
- package/packages/svelte/node_modules/.bin/vite +0 -21
- package/packages/tree/node_modules/.bin/esbuild +0 -21
- package/packages/tree/node_modules/.bin/jiti +0 -21
- package/packages/tree/node_modules/.bin/tsc +0 -21
- package/packages/tree/node_modules/.bin/tsserver +0 -21
- package/packages/tree/node_modules/.bin/tsup +0 -21
- package/packages/tree/node_modules/.bin/tsup-node +0 -21
- package/packages/tree/node_modules/.bin/tsx +0 -21
- package/packages/tree/node_modules/.bin/vite +0 -21
- package/packages/tree/node_modules/.bin/vitest +0 -21
- package/packages/tree/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +0 -1
- package/packages/tree/src/exclusive-action.test.ts +0 -54
- package/packages/ui/node_modules/.bin/jiti +0 -21
- package/packages/ui/node_modules/.bin/tsc +0 -21
- package/packages/ui/node_modules/.bin/tsserver +0 -21
- package/packages/ui/node_modules/.bin/tsup +0 -21
- package/packages/ui/node_modules/.bin/tsup-node +0 -21
- package/packages/ui/node_modules/.bin/tsx +0 -21
- package/packages/vue/node_modules/.bin/jiti +0 -21
- package/packages/vue/node_modules/.bin/tsc +0 -21
- package/packages/vue/node_modules/.bin/tsserver +0 -21
- package/packages/vue/node_modules/.bin/tsup +0 -21
- package/packages/vue/node_modules/.bin/tsup-node +0 -21
- package/packages/vue/node_modules/.bin/tsx +0 -21
|
@@ -1,10 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
import type { FunctionComponent } from 'react'
|
|
1
|
+
import type { FunctionComponent } from 'react';
|
|
3
2
|
import type { CenterProperties } from '../patterns/center';
|
|
4
3
|
import type { HTMLStyledProps } from '../types/jsx';
|
|
5
|
-
import type { DistributiveOmit } from '../types/system
|
|
4
|
+
import type { DistributiveOmit } from '../types/system';
|
|
6
5
|
|
|
7
|
-
export interface CenterProps extends CenterProperties, DistributiveOmit<HTMLStyledProps<'div'>, keyof CenterProperties
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
export declare const Center: FunctionComponent<CenterProps>
|
|
6
|
+
export interface CenterProps extends CenterProperties, DistributiveOmit<HTMLStyledProps<'div'>, keyof CenterProperties> {}
|
|
7
|
+
export declare const Center: FunctionComponent<CenterProps>;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { createElement, forwardRef } from 'react';
|
|
2
|
+
import { center } from '../patterns/center';
|
|
3
|
+
import { splitProps } from '../helpers';
|
|
4
|
+
import { styled } from './factory';
|
|
5
|
+
|
|
6
|
+
export const Center = /* @__PURE__ */ forwardRef(function Center(props, ref) {
|
|
7
|
+
const [patternProps, restProps] = splitProps(props, center.propKeys)
|
|
8
|
+
const styleProps = center.raw(patternProps)
|
|
9
|
+
const mergedProps = { ref, ...styleProps, ...restProps }
|
|
10
|
+
return createElement(styled["div"], mergedProps)
|
|
11
|
+
})
|
|
@@ -1,10 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
import type { FunctionComponent } from 'react'
|
|
1
|
+
import type { FunctionComponent } from 'react';
|
|
3
2
|
import type { CircleProperties } from '../patterns/circle';
|
|
4
3
|
import type { HTMLStyledProps } from '../types/jsx';
|
|
5
|
-
import type { DistributiveOmit } from '../types/system
|
|
4
|
+
import type { DistributiveOmit } from '../types/system';
|
|
6
5
|
|
|
7
|
-
export interface CircleProps extends CircleProperties, DistributiveOmit<HTMLStyledProps<'div'>, keyof CircleProperties
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
export declare const Circle: FunctionComponent<CircleProps>
|
|
6
|
+
export interface CircleProps extends CircleProperties, DistributiveOmit<HTMLStyledProps<'div'>, keyof CircleProperties> {}
|
|
7
|
+
export declare const Circle: FunctionComponent<CircleProps>;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { createElement, forwardRef } from 'react';
|
|
2
|
+
import { circle } from '../patterns/circle';
|
|
3
|
+
import { splitProps } from '../helpers';
|
|
4
|
+
import { styled } from './factory';
|
|
5
|
+
|
|
6
|
+
export const Circle = /* @__PURE__ */ forwardRef(function Circle(props, ref) {
|
|
7
|
+
const [patternProps, restProps] = splitProps(props, circle.propKeys)
|
|
8
|
+
const styleProps = circle.raw(patternProps)
|
|
9
|
+
const mergedProps = { ref, ...styleProps, ...restProps }
|
|
10
|
+
return createElement(styled["div"], mergedProps)
|
|
11
|
+
})
|
|
@@ -1,10 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
import type { FunctionComponent } from 'react'
|
|
1
|
+
import type { FunctionComponent } from 'react';
|
|
3
2
|
import type { ContainerProperties } from '../patterns/container';
|
|
4
3
|
import type { HTMLStyledProps } from '../types/jsx';
|
|
5
|
-
import type { DistributiveOmit } from '../types/system
|
|
4
|
+
import type { DistributiveOmit } from '../types/system';
|
|
6
5
|
|
|
7
|
-
export interface ContainerProps extends ContainerProperties, DistributiveOmit<HTMLStyledProps<'div'>, keyof ContainerProperties
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
export declare const Container: FunctionComponent<ContainerProps>
|
|
6
|
+
export interface ContainerProps extends ContainerProperties, DistributiveOmit<HTMLStyledProps<'div'>, keyof ContainerProperties> {}
|
|
7
|
+
export declare const Container: FunctionComponent<ContainerProps>;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { createElement, forwardRef } from 'react';
|
|
2
|
+
import { container } from '../patterns/container';
|
|
3
|
+
import { splitProps } from '../helpers';
|
|
4
|
+
import { styled } from './factory';
|
|
5
|
+
|
|
6
|
+
export const Container = /* @__PURE__ */ forwardRef(function Container(props, ref) {
|
|
7
|
+
const [patternProps, restProps] = splitProps(props, container.propKeys)
|
|
8
|
+
const styleProps = container.raw(patternProps)
|
|
9
|
+
const mergedProps = { ref, ...styleProps, ...restProps }
|
|
10
|
+
return createElement(styled["div"], mergedProps)
|
|
11
|
+
})
|
|
@@ -1,10 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
import type { FunctionComponent } from 'react'
|
|
1
|
+
import type { FunctionComponent } from 'react';
|
|
3
2
|
import type { CqProperties } from '../patterns/cq';
|
|
4
3
|
import type { HTMLStyledProps } from '../types/jsx';
|
|
5
|
-
import type { DistributiveOmit } from '../types/system
|
|
4
|
+
import type { DistributiveOmit } from '../types/system';
|
|
6
5
|
|
|
7
|
-
export interface CqProps extends CqProperties, DistributiveOmit<HTMLStyledProps<'div'>, keyof CqProperties
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
export declare const Cq: FunctionComponent<CqProps>
|
|
6
|
+
export interface CqProps extends CqProperties, DistributiveOmit<HTMLStyledProps<'div'>, keyof CqProperties> {}
|
|
7
|
+
export declare const Cq: FunctionComponent<CqProps>;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { createElement, forwardRef } from 'react';
|
|
2
|
+
import { cq } from '../patterns/cq';
|
|
3
|
+
import { splitProps } from '../helpers';
|
|
4
|
+
import { styled } from './factory';
|
|
5
|
+
|
|
6
|
+
export const Cq = /* @__PURE__ */ forwardRef(function Cq(props, ref) {
|
|
7
|
+
const [patternProps, restProps] = splitProps(props, cq.propKeys)
|
|
8
|
+
const styleProps = cq.raw(patternProps)
|
|
9
|
+
const mergedProps = { ref, ...styleProps, ...restProps }
|
|
10
|
+
return createElement(styled["div"], mergedProps)
|
|
11
|
+
})
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { RecipeDefinition, RecipeRuntimeFn, RecipeSelection, RecipeVariantRecord } from '../types/recipe';
|
|
2
|
+
import type { Assign, JsxHTMLProps, JsxStyleProps } from '../types/system';
|
|
3
|
+
import type { AsProps, ComponentProps, DataAttrs, JsxFactoryOptions, UnstyledProps, WithForwardedProps } from '../types/jsx';
|
|
4
|
+
import type { ElementType, JSX, Provider } from 'react';
|
|
5
|
+
|
|
6
|
+
export type AnyRecipeDefinition = RecipeDefinition<RecipeVariantRecord>;
|
|
7
|
+
export interface RuntimeRecipeFn {
|
|
8
|
+
__type: unknown;
|
|
9
|
+
(props?: never): string;
|
|
10
|
+
}
|
|
11
|
+
export type RecipeContextRecipe = RecipeRuntimeFn<any, any> | RuntimeRecipeFn | AnyRecipeDefinition;
|
|
12
|
+
export type RecipePropsOf<R extends RecipeContextRecipe> = R extends RuntimeRecipeFn ? R['__type'] : R extends RecipeRuntimeFn<infer P, any> ? P : R extends RecipeDefinition<infer T> ? RecipeSelection<T> : never;
|
|
13
|
+
export type RecipeContextComponentProps<
|
|
14
|
+
T extends ElementType,
|
|
15
|
+
R extends RecipeContextRecipe,
|
|
16
|
+
F extends string
|
|
17
|
+
> = JsxHTMLProps<ComponentProps<T> & UnstyledProps & AsProps, WithForwardedProps<Assign<RecipePropsOf<R>, JsxStyleProps>, T, F>>;
|
|
18
|
+
export type RecipeContextComponent<
|
|
19
|
+
T extends ElementType,
|
|
20
|
+
R extends RecipeContextRecipe,
|
|
21
|
+
F extends string = never
|
|
22
|
+
> = (props: RecipeContextComponentProps<T, R, F>) => JSX.Element;
|
|
23
|
+
export interface RecipeContext<R extends RecipeContextRecipe> {
|
|
24
|
+
withContext: <
|
|
25
|
+
T extends ElementType,
|
|
26
|
+
F extends string = never
|
|
27
|
+
>(Component: T, options?: JsxFactoryOptions<ComponentProps<T>, F> | undefined) => RecipeContextComponent<T, R, F>;
|
|
28
|
+
PropsProvider: Provider<Partial<RecipePropsOf<R>> & DataAttrs>;
|
|
29
|
+
usePropsContext: () => RecipePropsOf<R> | undefined;
|
|
30
|
+
}
|
|
31
|
+
export declare function createRecipeContext<R extends RecipeContextRecipe>(recipeInput: R): RecipeContext<R>;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import { createContext, useContext, createElement, forwardRef } from 'react';
|
|
4
|
+
import { styled } from './factory';
|
|
5
|
+
import { getDisplayName, mergeDefaultProps } from './helper';
|
|
6
|
+
|
|
7
|
+
function resolveRecipe(recipe) {
|
|
8
|
+
if (recipe == null) throw new Error('createRecipeContext requires a recipe')
|
|
9
|
+
if (recipe.__recipe__ === true || recipe.__cva__ === true) return recipe
|
|
10
|
+
if (recipe.base || recipe.variants || recipe.defaultVariants || recipe.compoundVariants) return recipe
|
|
11
|
+
throw new Error('createRecipeContext requires a recipe')
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export function createRecipeContext(recipeInput) {
|
|
15
|
+
const recipe = resolveRecipe(recipeInput)
|
|
16
|
+
const PropsContext = createContext(undefined)
|
|
17
|
+
const usePropsContext = () => useContext(PropsContext)
|
|
18
|
+
|
|
19
|
+
const withContext = (Component, options) => {
|
|
20
|
+
const StyledComponent = styled(Component, recipe, options)
|
|
21
|
+
const componentName = getDisplayName(Component)
|
|
22
|
+
|
|
23
|
+
const WithContext = forwardRef(function WithContext(inProps, ref) {
|
|
24
|
+
const propsContext = usePropsContext()
|
|
25
|
+
const props = propsContext ? mergeDefaultProps(propsContext, inProps) : inProps
|
|
26
|
+
return createElement(StyledComponent, { ...props, ref })
|
|
27
|
+
})
|
|
28
|
+
|
|
29
|
+
WithContext.displayName = `withContext(${componentName})`
|
|
30
|
+
return WithContext
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
return {
|
|
34
|
+
withContext,
|
|
35
|
+
PropsProvider: PropsContext.Provider,
|
|
36
|
+
usePropsContext,
|
|
37
|
+
}
|
|
38
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import type { RecipeSelection, SlotRecipeDefinition, SlotRecipeRuntimeFn, SlotRecipeVariantRecord } from '../types/recipe';
|
|
2
|
+
import type { Assign, JsxHTMLProps, JsxStyleProps } from '../types/system';
|
|
3
|
+
import type { AsProps, ComponentProps, DataAttrs, JsxFactoryOptions, UnstyledProps, WithForwardedProps } from '../types/jsx';
|
|
4
|
+
import type { ElementType, JSX, Provider } from 'react';
|
|
5
|
+
|
|
6
|
+
export type AnySlotRecipeDefinition = SlotRecipeDefinition<string, SlotRecipeVariantRecord<string>>;
|
|
7
|
+
export interface RuntimeSlotRecipeFn {
|
|
8
|
+
__type: unknown;
|
|
9
|
+
__slot: string;
|
|
10
|
+
(props?: never): unknown;
|
|
11
|
+
}
|
|
12
|
+
export type SlotRecipeContextInput = SlotRecipeRuntimeFn<string, any, any> | RuntimeSlotRecipeFn | AnySlotRecipeDefinition;
|
|
13
|
+
export type SlotNameOf<R extends SlotRecipeContextInput> = R extends RuntimeSlotRecipeFn ? R['__slot'] : R extends SlotRecipeRuntimeFn<infer S, any, any> ? S : R extends SlotRecipeDefinition<infer S, any> ? S : string;
|
|
14
|
+
export type SlotRecipePropsOf<R extends SlotRecipeContextInput> = R extends RuntimeSlotRecipeFn ? R['__type'] : R extends SlotRecipeRuntimeFn<any, infer P, any> ? P : R extends SlotRecipeDefinition<any, infer T> ? RecipeSelection<T> : never;
|
|
15
|
+
export interface WithProviderOptions<P = {}> {
|
|
16
|
+
defaultProps?: (Partial<P> & DataAttrs) | undefined;
|
|
17
|
+
}
|
|
18
|
+
export type SlotRecipeProviderProps<
|
|
19
|
+
T extends ElementType,
|
|
20
|
+
R extends SlotRecipeContextInput,
|
|
21
|
+
F extends string
|
|
22
|
+
> = JsxHTMLProps<ComponentProps<T> & UnstyledProps & AsProps, WithForwardedProps<Assign<SlotRecipePropsOf<R>, JsxStyleProps>, T, F>>;
|
|
23
|
+
export type SlotRecipeProviderComponent<
|
|
24
|
+
T extends ElementType,
|
|
25
|
+
R extends SlotRecipeContextInput,
|
|
26
|
+
F extends string = never
|
|
27
|
+
> = (props: SlotRecipeProviderProps<T, R, F>) => JSX.Element;
|
|
28
|
+
export type SlotRecipeRootProviderComponent<
|
|
29
|
+
T extends ElementType,
|
|
30
|
+
R extends SlotRecipeContextInput
|
|
31
|
+
> = (props: ComponentProps<T> & UnstyledProps & SlotRecipePropsOf<R>) => JSX.Element;
|
|
32
|
+
export type SlotRecipeConsumerComponent<
|
|
33
|
+
T extends ElementType,
|
|
34
|
+
F extends string = never
|
|
35
|
+
> = (props: JsxHTMLProps<ComponentProps<T> & UnstyledProps & AsProps, WithForwardedProps<JsxStyleProps, T, F>>) => JSX.Element;
|
|
36
|
+
export interface SlotRecipeContext<R extends SlotRecipeContextInput> {
|
|
37
|
+
withRootProvider: <T extends ElementType>(Component: T, options?: WithProviderOptions<ComponentProps<T>> | undefined) => SlotRecipeRootProviderComponent<T, R>;
|
|
38
|
+
withProvider: <
|
|
39
|
+
T extends ElementType,
|
|
40
|
+
F extends string = never
|
|
41
|
+
>(Component: T, slot: SlotNameOf<R>, options?: JsxFactoryOptions<ComponentProps<T>, F> | undefined) => SlotRecipeProviderComponent<T, R, F>;
|
|
42
|
+
withContext: <
|
|
43
|
+
T extends ElementType,
|
|
44
|
+
F extends string = never
|
|
45
|
+
>(Component: T, slot: SlotNameOf<R>, options?: JsxFactoryOptions<ComponentProps<T>, F> | undefined) => SlotRecipeConsumerComponent<T, F>;
|
|
46
|
+
PropsProvider: Provider<Partial<SlotRecipePropsOf<R>> & DataAttrs>;
|
|
47
|
+
usePropsContext: () => SlotRecipePropsOf<R> | undefined;
|
|
48
|
+
}
|
|
49
|
+
export declare function createSlotRecipeContext<R extends SlotRecipeContextInput>(recipeInput: R): SlotRecipeContext<R>;
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import { createContext, useContext, createElement, forwardRef } from 'react';
|
|
4
|
+
import { cx, sva } from '../css/index';
|
|
5
|
+
import { styled } from './factory';
|
|
6
|
+
import { getDisplayName, mergeDefaultProps } from './helper';
|
|
7
|
+
|
|
8
|
+
function createSafeContext(contextName) {
|
|
9
|
+
const Context = createContext(undefined)
|
|
10
|
+
const useStyleContext = (componentName, slot) => {
|
|
11
|
+
const context = useContext(Context)
|
|
12
|
+
if (context === undefined) {
|
|
13
|
+
const componentInfo = componentName ? `Component "${componentName}"` : 'A component'
|
|
14
|
+
const slotInfo = slot ? ` (slot: "${slot}")` : ''
|
|
15
|
+
throw new Error(`${componentInfo}${slotInfo} cannot access ${contextName} because it's missing its Provider.`)
|
|
16
|
+
}
|
|
17
|
+
return context
|
|
18
|
+
}
|
|
19
|
+
return [Context, useStyleContext]
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
function resolveSlotRecipe(recipe) {
|
|
23
|
+
if (recipe == null) throw new Error('createSlotRecipeContext requires a slot recipe')
|
|
24
|
+
if (typeof recipe.splitVariantProps === 'function') return recipe
|
|
25
|
+
if (recipe.slots) return recipe
|
|
26
|
+
throw new Error('createSlotRecipeContext requires a slot recipe')
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
export function createSlotRecipeContext(recipeInput) {
|
|
30
|
+
const recipe = resolveSlotRecipe(recipeInput)
|
|
31
|
+
const isRuntimeRecipe = typeof recipe.splitVariantProps === 'function'
|
|
32
|
+
const isConfigRecipe = isRuntimeRecipe && recipe.__recipe__ !== undefined
|
|
33
|
+
const recipeName = isRuntimeRecipe && recipe.__name__ ? recipe.__name__ : undefined
|
|
34
|
+
const contextName = recipeName ? `createSlotRecipeContext("${recipeName}")` : 'createSlotRecipeContext'
|
|
35
|
+
const [SlotStylesContext, useSlotStylesContext] = createSafeContext(contextName)
|
|
36
|
+
const PropsContext = createContext(undefined)
|
|
37
|
+
const usePropsContext = () => useContext(PropsContext)
|
|
38
|
+
const withPropsContext = (props, propsContext) =>
|
|
39
|
+
propsContext ? mergeDefaultProps(propsContext, props) : props
|
|
40
|
+
const slotRecipeFn = isRuntimeRecipe ? recipe : sva(recipe.config ?? recipe)
|
|
41
|
+
|
|
42
|
+
const resolveProps = (props, slotStyles) => {
|
|
43
|
+
const { unstyled, ...restProps } = props
|
|
44
|
+
if (unstyled) return restProps
|
|
45
|
+
if (isConfigRecipe) return { ...restProps, className: cx(slotStyles, restProps.className) }
|
|
46
|
+
return { ...slotStyles, ...restProps }
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
const resolveSlots = (variantProps) => {
|
|
50
|
+
const styles = isConfigRecipe ? slotRecipeFn(variantProps) : slotRecipeFn.raw(variantProps)
|
|
51
|
+
if (!isConfigRecipe) styles._classNameMap = slotRecipeFn.classNameMap
|
|
52
|
+
return styles
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
const withRootProvider = (Component, options) => {
|
|
56
|
+
const WithRootProvider = (inProps) => {
|
|
57
|
+
const props = withPropsContext(inProps, usePropsContext())
|
|
58
|
+
const [variantProps, otherProps] = slotRecipeFn.splitVariantProps(props)
|
|
59
|
+
const resolvedSlots = resolveSlots(variantProps)
|
|
60
|
+
const mergedProps = options?.defaultProps ? mergeDefaultProps(options.defaultProps, otherProps) : otherProps
|
|
61
|
+
return createElement(SlotStylesContext.Provider, {
|
|
62
|
+
value: resolvedSlots,
|
|
63
|
+
children: createElement(Component, mergedProps),
|
|
64
|
+
})
|
|
65
|
+
}
|
|
66
|
+
const componentName = getDisplayName(Component)
|
|
67
|
+
WithRootProvider.displayName = `withRootProvider(${componentName})`
|
|
68
|
+
return WithRootProvider
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
const withProvider = (Component, slot, options) => {
|
|
72
|
+
const StyledComponent = styled(Component, {}, options)
|
|
73
|
+
const WithProvider = forwardRef(function WithProvider(inProps, ref) {
|
|
74
|
+
const props = withPropsContext(inProps, usePropsContext())
|
|
75
|
+
const [variantProps, restProps] = slotRecipeFn.splitVariantProps(props)
|
|
76
|
+
const resolvedSlots = resolveSlots(variantProps)
|
|
77
|
+
if (restProps.className == null && options?.defaultProps?.className) restProps.className = options.defaultProps.className
|
|
78
|
+
const resolvedProps = resolveProps(restProps, resolvedSlots[slot])
|
|
79
|
+
options?.forwardProps?.forEach((key) => {
|
|
80
|
+
if (key in variantProps) resolvedProps[key] = variantProps[key]
|
|
81
|
+
})
|
|
82
|
+
return createElement(SlotStylesContext.Provider, {
|
|
83
|
+
value: resolvedSlots,
|
|
84
|
+
children: createElement(StyledComponent, {
|
|
85
|
+
...resolvedProps,
|
|
86
|
+
className: cx(resolvedProps.className, resolvedSlots._classNameMap?.[slot]),
|
|
87
|
+
'data-slot': slot,
|
|
88
|
+
ref,
|
|
89
|
+
}),
|
|
90
|
+
})
|
|
91
|
+
})
|
|
92
|
+
const componentName = getDisplayName(Component)
|
|
93
|
+
WithProvider.displayName = `withProvider(${componentName})`
|
|
94
|
+
return WithProvider
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
const withContext = (Component, slot, options) => {
|
|
98
|
+
const StyledComponent = styled(Component, {}, options)
|
|
99
|
+
const componentName = getDisplayName(Component)
|
|
100
|
+
const WithContext = forwardRef(function WithContext(props, ref) {
|
|
101
|
+
const resolvedSlots = useSlotStylesContext(componentName, slot)
|
|
102
|
+
const nextProps = props.className == null && options?.defaultProps?.className
|
|
103
|
+
? { ...props, className: options.defaultProps.className }
|
|
104
|
+
: props
|
|
105
|
+
const resolvedProps = resolveProps(nextProps, resolvedSlots[slot])
|
|
106
|
+
return createElement(StyledComponent, {
|
|
107
|
+
...resolvedProps,
|
|
108
|
+
className: cx(resolvedProps.className, resolvedSlots._classNameMap?.[slot]),
|
|
109
|
+
'data-slot': slot,
|
|
110
|
+
ref,
|
|
111
|
+
})
|
|
112
|
+
})
|
|
113
|
+
WithContext.displayName = `withContext(${componentName})`
|
|
114
|
+
return WithContext
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
return {
|
|
118
|
+
withRootProvider,
|
|
119
|
+
withProvider,
|
|
120
|
+
withContext,
|
|
121
|
+
PropsProvider: PropsContext.Provider,
|
|
122
|
+
usePropsContext,
|
|
123
|
+
}
|
|
124
|
+
}
|
|
@@ -1,10 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
import type { FunctionComponent } from 'react'
|
|
1
|
+
import type { FunctionComponent } from 'react';
|
|
3
2
|
import type { DividerProperties } from '../patterns/divider';
|
|
4
3
|
import type { HTMLStyledProps } from '../types/jsx';
|
|
5
|
-
import type { DistributiveOmit } from '../types/system
|
|
4
|
+
import type { DistributiveOmit } from '../types/system';
|
|
6
5
|
|
|
7
|
-
export interface DividerProps extends DividerProperties, DistributiveOmit<HTMLStyledProps<'div'>, keyof DividerProperties
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
export declare const Divider: FunctionComponent<DividerProps>
|
|
6
|
+
export interface DividerProps extends DividerProperties, DistributiveOmit<HTMLStyledProps<'div'>, keyof DividerProperties> {}
|
|
7
|
+
export declare const Divider: FunctionComponent<DividerProps>;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { createElement, forwardRef } from 'react';
|
|
2
|
+
import { divider } from '../patterns/divider';
|
|
3
|
+
import { splitProps } from '../helpers';
|
|
4
|
+
import { styled } from './factory';
|
|
5
|
+
|
|
6
|
+
export const Divider = /* @__PURE__ */ forwardRef(function Divider(props, ref) {
|
|
7
|
+
const [patternProps, restProps] = splitProps(props, divider.propKeys)
|
|
8
|
+
const styleProps = divider.raw(patternProps)
|
|
9
|
+
const mergedProps = { ref, ...styleProps, ...restProps }
|
|
10
|
+
return createElement(styled["div"], mergedProps)
|
|
11
|
+
})
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { createElement, forwardRef } from 'react';
|
|
2
|
+
import { cx, cva } from '../css/index';
|
|
3
|
+
import { composeCvaFn, composeShouldForwardProps, getDisplayName, serializeSplitStyles, mergeDefaultProps, splitJsxProps } from './helper';
|
|
4
|
+
import { isCssProperty } from './is-valid-prop';
|
|
5
|
+
|
|
6
|
+
function styledFn(BaseComponent, recipeOrConfig = {}, options = {}) {
|
|
7
|
+
const recipeFn = recipeOrConfig.__cva__ || recipeOrConfig.__recipe__ ? recipeOrConfig : cva(recipeOrConfig)
|
|
8
|
+
const composedRecipeFn = composeCvaFn(BaseComponent.__cva__, recipeFn)
|
|
9
|
+
const getRaw = composedRecipeFn.__memoizedRaw__ || composedRecipeFn.raw
|
|
10
|
+
const variantKeys = composedRecipeFn.variantKeys
|
|
11
|
+
const variantSet = new Set(variantKeys)
|
|
12
|
+
const forwardFn = options.shouldForwardProp || ((prop) => !variantSet.has(prop) && !isCssProperty(prop))
|
|
13
|
+
const forwardProps = options.forwardProps
|
|
14
|
+
const forwardPropSet = forwardProps?.length ? new Set(forwardProps) : void 0
|
|
15
|
+
const shouldForwardProp = forwardPropSet
|
|
16
|
+
? (prop) => forwardPropSet.has(prop) || forwardFn(prop, variantKeys)
|
|
17
|
+
: (prop) => forwardFn(prop, variantKeys)
|
|
18
|
+
|
|
19
|
+
const dataProps = options.dataAttr && recipeOrConfig.__name__ ? { 'data-recipe': recipeOrConfig.__name__ } : {}
|
|
20
|
+
const defaultProps = Object.assign(dataProps, options.defaultProps)
|
|
21
|
+
const hasDefaultProps = Object.keys(defaultProps).length > 0
|
|
22
|
+
|
|
23
|
+
const shouldForward = composeShouldForwardProps(BaseComponent, shouldForwardProp)
|
|
24
|
+
const DefaultElement = BaseComponent.__base__ || BaseComponent
|
|
25
|
+
|
|
26
|
+
const StyledComponent = /* @__PURE__ */ forwardRef(function StyledComponent(props, ref) {
|
|
27
|
+
const Element = props.as === void 0 ? DefaultElement : props.as
|
|
28
|
+
const unstyled = props.unstyled
|
|
29
|
+
const children = props.children
|
|
30
|
+
let combinedProps = props
|
|
31
|
+
if (hasDefaultProps) {
|
|
32
|
+
const { as, unstyled, children, ...restProps } = props
|
|
33
|
+
combinedProps = mergeDefaultProps(defaultProps, restProps)
|
|
34
|
+
}
|
|
35
|
+
const [htmlProps, forwardedProps, variantProps, propStyles, cssStyles, elementProps] = splitJsxProps(
|
|
36
|
+
combinedProps,
|
|
37
|
+
shouldForward,
|
|
38
|
+
variantSet,
|
|
39
|
+
isCssProperty,
|
|
40
|
+
)
|
|
41
|
+
const hasStyles = propStyles || cssStyles !== void 0
|
|
42
|
+
let className
|
|
43
|
+
if (unstyled) {
|
|
44
|
+
className = cx(hasStyles && serializeSplitStyles(propStyles, cssStyles), combinedProps.className)
|
|
45
|
+
} else if (recipeOrConfig.__recipe__) {
|
|
46
|
+
const compoundVariantClasses = composedRecipeFn.__getCompoundVariantClasses__?.(variantProps)
|
|
47
|
+
className = cx(
|
|
48
|
+
composedRecipeFn(variantProps, false),
|
|
49
|
+
compoundVariantClasses,
|
|
50
|
+
hasStyles && serializeSplitStyles(propStyles, cssStyles),
|
|
51
|
+
combinedProps.className,
|
|
52
|
+
)
|
|
53
|
+
} else {
|
|
54
|
+
className = cx(
|
|
55
|
+
hasStyles ? serializeSplitStyles(propStyles, cssStyles, getRaw(variantProps)) : composedRecipeFn(variantProps),
|
|
56
|
+
combinedProps.className,
|
|
57
|
+
)
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
return createElement(Element, {
|
|
61
|
+
ref,
|
|
62
|
+
...forwardedProps,
|
|
63
|
+
...elementProps,
|
|
64
|
+
...htmlProps,
|
|
65
|
+
className,
|
|
66
|
+
}, children ?? combinedProps.children)
|
|
67
|
+
})
|
|
68
|
+
|
|
69
|
+
const name = getDisplayName(DefaultElement)
|
|
70
|
+
StyledComponent.displayName = `styled.${name}`
|
|
71
|
+
StyledComponent.__cva__ = composedRecipeFn
|
|
72
|
+
StyledComponent.__base__ = DefaultElement
|
|
73
|
+
StyledComponent.__shouldForwardProps__ = shouldForwardProp
|
|
74
|
+
|
|
75
|
+
return StyledComponent
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
function createJsxFactory() {
|
|
79
|
+
const cache = new Map()
|
|
80
|
+
return new Proxy(styledFn, {
|
|
81
|
+
apply(_, __, args) {
|
|
82
|
+
return styledFn(...args)
|
|
83
|
+
},
|
|
84
|
+
get(_, el) {
|
|
85
|
+
if (!cache.has(el)) cache.set(el, styledFn(el))
|
|
86
|
+
return cache.get(el)
|
|
87
|
+
},
|
|
88
|
+
})
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
export const styled = /* @__PURE__ */ createJsxFactory()
|
|
@@ -1,10 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
import type { FunctionComponent } from 'react'
|
|
1
|
+
import type { FunctionComponent } from 'react';
|
|
3
2
|
import type { FlexProperties } from '../patterns/flex';
|
|
4
3
|
import type { HTMLStyledProps } from '../types/jsx';
|
|
5
|
-
import type { DistributiveOmit } from '../types/system
|
|
4
|
+
import type { DistributiveOmit } from '../types/system';
|
|
6
5
|
|
|
7
|
-
export interface FlexProps extends FlexProperties, DistributiveOmit<HTMLStyledProps<'div'>, keyof FlexProperties
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
export declare const Flex: FunctionComponent<FlexProps>
|
|
6
|
+
export interface FlexProps extends FlexProperties, DistributiveOmit<HTMLStyledProps<'div'>, keyof FlexProperties> {}
|
|
7
|
+
export declare const Flex: FunctionComponent<FlexProps>;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { createElement, forwardRef } from 'react';
|
|
2
|
+
import { flex } from '../patterns/flex';
|
|
3
|
+
import { splitProps } from '../helpers';
|
|
4
|
+
import { styled } from './factory';
|
|
5
|
+
|
|
6
|
+
export const Flex = /* @__PURE__ */ forwardRef(function Flex(props, ref) {
|
|
7
|
+
const [patternProps, restProps] = splitProps(props, flex.propKeys)
|
|
8
|
+
const styleProps = flex.raw(patternProps)
|
|
9
|
+
const mergedProps = { ref, ...styleProps, ...restProps }
|
|
10
|
+
return createElement(styled["div"], mergedProps)
|
|
11
|
+
})
|
|
@@ -1,10 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
import type { FunctionComponent } from 'react'
|
|
1
|
+
import type { FunctionComponent } from 'react';
|
|
3
2
|
import type { FloatProperties } from '../patterns/float';
|
|
4
3
|
import type { HTMLStyledProps } from '../types/jsx';
|
|
5
|
-
import type { DistributiveOmit } from '../types/system
|
|
4
|
+
import type { DistributiveOmit } from '../types/system';
|
|
6
5
|
|
|
7
|
-
export interface FloatProps extends FloatProperties, DistributiveOmit<HTMLStyledProps<'div'>, keyof FloatProperties
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
export declare const Float: FunctionComponent<FloatProps>
|
|
6
|
+
export interface FloatProps extends FloatProperties, DistributiveOmit<HTMLStyledProps<'div'>, keyof FloatProperties> {}
|
|
7
|
+
export declare const Float: FunctionComponent<FloatProps>;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { createElement, forwardRef } from 'react';
|
|
2
|
+
import { float } from '../patterns/float';
|
|
3
|
+
import { splitProps } from '../helpers';
|
|
4
|
+
import { styled } from './factory';
|
|
5
|
+
|
|
6
|
+
export const Float = /* @__PURE__ */ forwardRef(function Float(props, ref) {
|
|
7
|
+
const [patternProps, restProps] = splitProps(props, float.propKeys)
|
|
8
|
+
const styleProps = float.raw(patternProps)
|
|
9
|
+
const mergedProps = { ref, ...styleProps, ...restProps }
|
|
10
|
+
return createElement(styled["div"], mergedProps)
|
|
11
|
+
})
|
|
@@ -1,10 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
import type { FunctionComponent } from 'react'
|
|
1
|
+
import type { FunctionComponent } from 'react';
|
|
3
2
|
import type { GridItemProperties } from '../patterns/grid-item';
|
|
4
3
|
import type { HTMLStyledProps } from '../types/jsx';
|
|
5
|
-
import type { DistributiveOmit } from '../types/system
|
|
4
|
+
import type { DistributiveOmit } from '../types/system';
|
|
6
5
|
|
|
7
|
-
export interface GridItemProps extends GridItemProperties, DistributiveOmit<HTMLStyledProps<'div'>, keyof GridItemProperties
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
export declare const GridItem: FunctionComponent<GridItemProps>
|
|
6
|
+
export interface GridItemProps extends GridItemProperties, DistributiveOmit<HTMLStyledProps<'div'>, keyof GridItemProperties> {}
|
|
7
|
+
export declare const GridItem: FunctionComponent<GridItemProps>;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { createElement, forwardRef } from 'react';
|
|
2
|
+
import { gridItem } from '../patterns/grid-item';
|
|
3
|
+
import { splitProps } from '../helpers';
|
|
4
|
+
import { styled } from './factory';
|
|
5
|
+
|
|
6
|
+
export const GridItem = /* @__PURE__ */ forwardRef(function GridItem(props, ref) {
|
|
7
|
+
const [patternProps, restProps] = splitProps(props, gridItem.propKeys)
|
|
8
|
+
const styleProps = gridItem.raw(patternProps)
|
|
9
|
+
const mergedProps = { ref, ...styleProps, ...restProps }
|
|
10
|
+
return createElement(styled["div"], mergedProps)
|
|
11
|
+
})
|
|
@@ -1,10 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
import type { FunctionComponent } from 'react'
|
|
1
|
+
import type { FunctionComponent } from 'react';
|
|
3
2
|
import type { GridProperties } from '../patterns/grid';
|
|
4
3
|
import type { HTMLStyledProps } from '../types/jsx';
|
|
5
|
-
import type { DistributiveOmit } from '../types/system
|
|
4
|
+
import type { DistributiveOmit } from '../types/system';
|
|
6
5
|
|
|
7
|
-
export interface GridProps extends GridProperties, DistributiveOmit<HTMLStyledProps<'div'>, keyof GridProperties
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
export declare const Grid: FunctionComponent<GridProps>
|
|
6
|
+
export interface GridProps extends GridProperties, DistributiveOmit<HTMLStyledProps<'div'>, keyof GridProperties> {}
|
|
7
|
+
export declare const Grid: FunctionComponent<GridProps>;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { createElement, forwardRef } from 'react';
|
|
2
|
+
import { grid } from '../patterns/grid';
|
|
3
|
+
import { splitProps } from '../helpers';
|
|
4
|
+
import { styled } from './factory';
|
|
5
|
+
|
|
6
|
+
export const Grid = /* @__PURE__ */ forwardRef(function Grid(props, ref) {
|
|
7
|
+
const [patternProps, restProps] = splitProps(props, grid.propKeys)
|
|
8
|
+
const styleProps = grid.raw(patternProps)
|
|
9
|
+
const mergedProps = { ref, ...styleProps, ...restProps }
|
|
10
|
+
return createElement(styled["div"], mergedProps)
|
|
11
|
+
})
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { RecipeCreatorFn } from '../types/recipe';
|
|
2
|
+
import type { SystemStyleObject } from '../types/system';
|
|
3
|
+
|
|
4
|
+
export type Props = Record<string, unknown>;
|
|
5
|
+
export type ShouldForwardProp = (prop: string, variantKeys?: string[]) => boolean;
|
|
6
|
+
/** A `cva` or config recipe function, as the JSX runtime reads it. */
|
|
7
|
+
export interface JsxRecipeFn {
|
|
8
|
+
(props?: Props, withCompoundVariants?: boolean): string;
|
|
9
|
+
raw(props?: Props): SystemStyleObject;
|
|
10
|
+
merge(other: JsxRecipeFn, cvaFn: RecipeCreatorFn): JsxRecipeFn;
|
|
11
|
+
variantKeys: string[];
|
|
12
|
+
__cva__?: boolean;
|
|
13
|
+
__recipe__?: boolean;
|
|
14
|
+
__name__?: string;
|
|
15
|
+
__memoizedRaw__?: (props?: Props) => SystemStyleObject;
|
|
16
|
+
__getCompoundVariantClasses__?: (props: Props) => string;
|
|
17
|
+
}
|
|
18
|
+
/** Markers the factory sets on the components it creates. */
|
|
19
|
+
export interface StyledMarkers {
|
|
20
|
+
__cva__?: JsxRecipeFn;
|
|
21
|
+
__base__?: unknown;
|
|
22
|
+
__shouldForwardProps__?: ShouldForwardProp;
|
|
23
|
+
}
|
|
24
|
+
export declare const composeShouldForwardProps: (tag: StyledMarkers, shouldForwardProp: ShouldForwardProp) => ShouldForwardProp;
|
|
25
|
+
export declare const composeCvaFn: (cvaA: JsxRecipeFn | undefined, cvaB: JsxRecipeFn) => JsxRecipeFn;
|
|
26
|
+
export declare function mergeDefaultProps(defaultProps: Props, props: Props): Props;
|
|
27
|
+
export declare const getDisplayName: (Component: string | {
|
|
28
|
+
displayName?: string;
|
|
29
|
+
name?: string;
|
|
30
|
+
} | undefined) => string;
|
|
31
|
+
export type SplitJsxProps = [htmlProps: Props | undefined, forwardedProps: Props | undefined, variantProps: Props, propStyles: SystemStyleObject | undefined, cssStyles: SystemStyleObject | undefined, elementProps: Props | undefined];
|
|
32
|
+
export declare function splitJsxProps(props: Props, shouldForwardProp: (prop: string) => boolean, variantSet: Set<string>, isCssProperty: (prop: string) => boolean, skipClass?: boolean): SplitJsxProps;
|
|
33
|
+
export declare function serializeSplitStyles(propStyles: SystemStyleObject | undefined, cssStyles: SystemStyleObject | undefined, baseStyles?: SystemStyleObject): string;
|
|
34
|
+
export declare function splitStyleProps(styleProps: Props): [propStyles: SystemStyleObject | undefined, cssStyles: SystemStyleObject | undefined];
|