@vireo-ai/trellis-ui 0.1.61 → 0.1.63
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/THIRD_PARTY_NOTICES.md +9 -0
- package/package.json +15 -35
- package/packages/client/skills/compose-trellis-ui/SKILL.md +84 -0
- package/packages/client/skills/compose-trellis-ui/references/project-ui.md +40 -0
- package/packages/client/src/components/accordion/styles.css +21 -9
- package/packages/client/src/components/badge/styles.css +12 -0
- package/packages/client/src/components/button/styles.css +31 -5
- package/packages/client/src/components/card/styles.css +16 -0
- package/packages/client/src/components/checkbox/styles.css +29 -5
- package/packages/client/src/components/date-picker/styles.css +22 -17
- package/packages/client/src/components/field/styles.css +16 -16
- package/packages/client/src/components/input/styles.css +1 -0
- package/packages/client/src/components/keybinding/styles.css +9 -2
- package/packages/client/src/components/menu/styles.css +13 -0
- package/packages/client/src/components/panels/styles.css +12 -2
- package/packages/client/src/components/scroll-area/styles.css +169 -2
- package/packages/client/src/components/select/styles.css +28 -8
- package/packages/client/src/components/sidebar/styles.css +218 -0
- package/packages/client/src/components/slider/styles.css +57 -0
- package/packages/client/src/components/tabs/styles.css +26 -24
- package/packages/client/src/components/toast/styles.css +31 -0
- package/packages/client/src/directives/sortable.css +5 -0
- package/packages/client/src/runtime/drag-and-drop/resize-handle.css +2 -2
- package/packages/client/src/styles/components.css +8 -4
- package/packages/client/src/styles/fonts/fira-code/5.3.0/LICENSE +93 -0
- package/packages/client/src/styles/fonts/fira-code/5.3.0/download.json +47 -0
- package/packages/client/src/styles/fonts/fira-code/5.3.0/fira-code-cyrillic-ext-wght-normal.woff2 +0 -0
- package/packages/client/src/styles/fonts/fira-code/5.3.0/fira-code-cyrillic-wght-normal.woff2 +0 -0
- package/packages/client/src/styles/fonts/fira-code/5.3.0/fira-code-greek-ext-wght-normal.woff2 +0 -0
- package/packages/client/src/styles/fonts/fira-code/5.3.0/fira-code-greek-wght-normal.woff2 +0 -0
- package/packages/client/src/styles/fonts/fira-code/5.3.0/fira-code-latin-ext-wght-normal.woff2 +0 -0
- package/packages/client/src/styles/fonts/fira-code/5.3.0/fira-code-latin-wght-normal.woff2 +0 -0
- package/packages/client/src/styles/fonts/fira-code/5.3.0/fira-code-symbols2-wght-normal.woff2 +0 -0
- package/packages/client/src/styles/fonts/fira-code/5.3.0/font.css +62 -0
- package/packages/client/src/styles/fonts/fira-code/5.3.0/resource.json +82 -0
- package/packages/client/src/styles/fonts/inter/5.3.0/LICENSE +93 -0
- package/packages/client/src/styles/fonts/inter/5.3.0/download.json +47 -0
- package/packages/client/src/styles/fonts/inter/5.3.0/font.css +62 -0
- package/packages/client/src/styles/fonts/inter/5.3.0/inter-cyrillic-ext-standard-normal.woff2 +0 -0
- package/packages/client/src/styles/fonts/inter/5.3.0/inter-cyrillic-standard-normal.woff2 +0 -0
- package/packages/client/src/styles/fonts/inter/5.3.0/inter-greek-ext-standard-normal.woff2 +0 -0
- package/packages/client/src/styles/fonts/inter/5.3.0/inter-greek-standard-normal.woff2 +0 -0
- package/packages/client/src/styles/fonts/inter/5.3.0/inter-latin-ext-standard-normal.woff2 +0 -0
- package/packages/client/src/styles/fonts/inter/5.3.0/inter-latin-standard-normal.woff2 +0 -0
- package/packages/client/src/styles/fonts/inter/5.3.0/inter-vietnamese-standard-normal.woff2 +0 -0
- package/packages/client/src/styles/fonts/inter/5.3.0/resource.json +82 -0
- package/packages/client/src/styles/generated/theme-fonts.css +3 -3
- package/packages/client/src/styles/generated/theme-palette.css +1001 -634
- package/packages/client/src/styles/generated/theme-runtime.css +938 -607
- package/packages/client/src/styles/generated-sources.css +1 -1
- package/packages/client/src/styles/layout.css +88 -0
- package/packages/client/src/styles/recipes/action.css +4 -16
- package/packages/client/src/styles/recipes/disabled.css +8 -0
- package/packages/client/src/styles/recipes/option.css +0 -44
- package/packages/client/src/styles/recipes/selection.css +28 -39
- package/packages/client/src/styles/theme-support.css +26 -42
- package/packages/client/src/styles/typography.css +26 -0
- package/packages/client/types/assets/bridge.d.ts +1 -2
- package/packages/client/types/capabilities/collection.d.ts +7 -0
- package/packages/client/types/capabilities/collection.entry.generated.d.ts +3 -0
- package/packages/client/types/capabilities/shortcut.d.ts +4 -3
- package/packages/client/types/components/accordion/machine.d.ts +4 -4
- package/packages/client/types/components/app/contract.d.ts +5 -5
- package/packages/client/types/components/badge/contract.d.ts +1 -0
- package/packages/client/types/components/box/contract.d.ts +17 -12
- package/packages/client/types/components/box/index.d.ts +1 -1
- package/packages/client/types/components/button/contract.d.ts +3 -2
- package/packages/client/types/components/card/contract.d.ts +27 -16
- package/packages/client/types/components/checkbox/contract.d.ts +13 -13
- package/packages/client/types/components/common.d.ts +13 -11
- package/packages/client/types/components/container/contract.d.ts +4 -3
- package/packages/client/types/components/data-grid/contract.d.ts +3 -2
- package/packages/client/types/components/date-picker/contract.d.ts +2 -2
- package/packages/client/types/components/date-picker/machine.d.ts +11 -11
- package/packages/client/types/components/dropdown/contract.d.ts +1 -1
- package/packages/client/types/components/dropdown/machine.d.ts +5 -3
- package/packages/client/types/components/field/contract.d.ts +4 -4
- package/packages/client/types/components/file-upload/contract.d.ts +3 -3
- package/packages/client/types/components/file-upload/machine.d.ts +4 -4
- package/packages/client/types/components/flex/contract.d.ts +10 -8
- package/packages/client/types/components/frame/contract.d.ts +14 -11
- package/packages/client/types/components/grid/contract.d.ts +8 -7
- package/packages/client/types/components/image/contract.d.ts +1 -0
- package/packages/client/types/components/import-flow/contract.d.ts +1 -0
- package/packages/client/types/components/input/contract.d.ts +1 -0
- package/packages/client/types/components/input/machine.d.ts +2 -2
- package/packages/client/types/components/layout.d.ts +91 -35
- package/packages/client/types/components/menu/contract.d.ts +27 -10
- package/packages/client/types/components/modal/contract.d.ts +22 -5
- package/packages/client/types/components/panels/contract.d.ts +2 -2
- package/packages/client/types/components/panels/index.d.ts +2 -1
- package/packages/client/types/components/panels/machine.d.ts +9 -8
- package/packages/client/types/components/radio/contract.d.ts +8 -8
- package/packages/client/types/components/scroll-area/contract.d.ts +1 -20
- package/packages/client/types/components/section/contract.d.ts +4 -3
- package/packages/client/types/components/select/contract.d.ts +3 -3
- package/packages/client/types/components/select/machine.d.ts +13 -13
- package/packages/client/types/components/select/presentation.d.ts +1 -0
- package/packages/client/types/components/sidebar/contract.d.ts +26 -8
- package/packages/client/types/components/sidebar/groups.d.ts +4 -0
- package/packages/client/types/components/sidebar/index.d.ts +5 -4
- package/packages/client/types/components/slider/contract.d.ts +1 -0
- package/packages/client/types/components/slider/machine.d.ts +10 -5
- package/packages/client/types/components/stack/contract.d.ts +10 -8
- package/packages/client/types/components/switch/contract.d.ts +8 -8
- package/packages/client/types/components/table/contract.d.ts +6 -5
- package/packages/client/types/components/tabs/index.d.ts +2 -1
- package/packages/client/types/components/tabs/machine.d.ts +2 -2
- package/packages/client/types/components/textarea/contract.d.ts +1 -1
- package/packages/client/types/components/toast/machine.d.ts +2 -2
- package/packages/client/types/components/tooltip/contract.d.ts +13 -13
- package/packages/client/types/components/tooltip/machine.d.ts +3 -7
- package/packages/client/types/core.d.ts +3 -1
- package/packages/client/types/directives/anchor.d.ts +1 -0
- package/packages/client/types/directives/animate.d.ts +3 -0
- package/packages/client/types/directives/collection.d.ts +9 -0
- package/packages/client/types/directives/index.d.ts +2 -2
- package/packages/client/types/docs/transition-docs.d.ts +0 -2
- package/packages/client/types/motion/animate.d.ts +7 -2
- package/packages/client/types/motion/config.d.ts +118 -0
- package/packages/client/types/motion/feedback.d.ts +3 -0
- package/packages/client/types/motion/index.d.ts +8 -107
- package/packages/client/types/motion/layout.d.ts +25 -0
- package/packages/client/types/motion/lifecycle.d.ts +10 -0
- package/packages/client/types/motion/owned.d.ts +15 -4
- package/packages/client/types/motion/properties.d.ts +17 -0
- package/packages/client/types/motion/recipe.d.ts +8 -75
- package/packages/client/types/motion/reduced-motion.d.ts +7 -8
- package/packages/client/types/motion/registry.d.ts +37 -0
- package/packages/client/types/motion/resize-preview.d.ts +26 -0
- package/packages/client/types/motion/resize.d.ts +3 -1
- package/packages/client/types/motion/size.d.ts +7 -4
- package/packages/client/types/runtime/anchored-popover.d.ts +11 -2
- package/packages/client/types/runtime/collection-navigation.d.ts +12 -4
- package/packages/client/types/runtime/control-size.d.ts +4 -0
- package/packages/client/types/runtime/drag-and-drop/index.d.ts +10 -3
- package/packages/client/types/runtime/drag-and-drop/sortable/ghost.d.ts +2 -1
- package/packages/client/types/runtime/engine/fragment.d.ts +2 -1
- package/packages/client/types/runtime/engine/stream.d.ts +5 -9
- package/packages/client/types/runtime/focus.d.ts +3 -1
- package/packages/client/types/runtime/index.d.ts +2 -2
- package/packages/client/types/runtime/layout-participant.d.ts +10 -9
- package/packages/client/types/runtime/layout-task.d.ts +9 -0
- package/packages/client/types/runtime/morph-engine.d.ts +1 -0
- package/packages/client/types/runtime/option-data.d.ts +2 -1
- package/packages/client/types/runtime/preferences.d.ts +14 -0
- package/packages/client/types/runtime/scroll-area-schema.d.ts +23 -0
- package/packages/client/types/runtime/theme.d.ts +6 -4
- package/packages/client/types/runtime/ui.d.ts +5 -5
- package/packages/client/types/runtime/virtualizer-schema.d.ts +3 -1
- package/packages/client/types/runtime/virtualizer-size.d.ts +7 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/bridge-B7apK0M-.js +2 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/bridge-B7apK0M-.js.map +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/bridge.js +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/build-metadata.json +984 -1132
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/{anchor-B-CbpFFU.js → anchor-DXCLxWw-.js} +2 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/{anchor-B-CbpFFU.js.map → anchor-DXCLxWw-.js.map} +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/anchor.js +2 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/collection-CSrnChwy.js +2 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/collection-CSrnChwy.js.map +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/collection.js +2 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/resizable-DlgeSL0c.js +2 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/{resizable-Ctqx_OoS.js.map → resizable-DlgeSL0c.js.map} +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/resizable.js +2 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/shortcut-Qa2EByIB.js +2 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/{shortcut-D2NgvMgw.js.map → shortcut-Qa2EByIB.js.map} +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/shortcut.js +2 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/sortable-CgP1efhO.js +2 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/{sortable-CbIOS4Lm.js.map → sortable-CgP1efhO.js.map} +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/sortable.js +2 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-anchor-BqejlBjS.js +2 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-anchor-BqejlBjS.js.map +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-resizable-DPMSJ1AR.js +2 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-resizable-DPMSJ1AR.js.map +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-shortcut-BFvGIAs8.js +2 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-shortcut-BFvGIAs8.js.map +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-sortable-CpUAUTdh.js +5 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-sortable-CpUAUTdh.js.map +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/collection-navigation-et2se66r.js +2 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/collection-navigation-et2se66r.js.map +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/common-DnEHZCqy.js +2 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/common-DnEHZCqy.js.map +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/control-size-BcDu1m1N.js +2 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/control-size-BcDu1m1N.js.map +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/controller-de7TruDm.js +2 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/controller-de7TruDm.js.map +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/cursor-data-source-DdiMUeJM.js +2 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/cursor-data-source-DdiMUeJM.js.map +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/dismissable-layer-MzcgNRti.js +2 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/dismissable-layer-MzcgNRti.js.map +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/element-adapter-native-data-key-zFOeeob-.js +6 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{element-adapter-native-data-key-DrqJDAVH.js.map → element-adapter-native-data-key-zFOeeob-.js.map} +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/feedback-DP_ydw-J.js +2 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/feedback-DP_ydw-J.js.map +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/floating-ui.dom-B05VsV_p.js +2 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/floating-ui.dom-B05VsV_p.js.map +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{focus-pk_lz9sg.js → focus-BvBkrIcj.js} +2 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{focus-pk_lz9sg.js.map → focus-BvBkrIcj.js.map} +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/focus-scope-DYfME-Rk.js +2 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{focus-scope-BrYxsrhc.js.map → focus-scope-DYfME-Rk.js.map} +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/fragment-DVphuQVV.js +2 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/fragment-DVphuQVV.js.map +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/frame-DsKHMcuL.js +2 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/frame-DsKHMcuL.js.map +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/hover-CqeHOHpJ.js +2 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/hover-CqeHOHpJ.js.map +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/identity-BMTQyLbq.js +2 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/identity-BMTQyLbq.js.map +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/layout-mHPk9rxi.js +2 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/layout-mHPk9rxi.js.map +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/layout-task-B6P8q7BH.js +2 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/layout-task-B6P8q7BH.js.map +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/layout-wLgk8rAu.js +2 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/layout-wLgk8rAu.js.map +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/machine-Do4tL7nc.js +2 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/machine-Do4tL7nc.js.map +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/option-data-Du9mqQPo.js +2 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/option-data-Du9mqQPo.js.map +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/preferences-BZyZ-kK6.js +2 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/preferences-BZyZ-kK6.js.map +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/preload-helper-BZ1Pz5am.js +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/properties-D8pFWF8g.js +2 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/properties-D8pFWF8g.js.map +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/resize-DRGrWivx.js +2 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/resize-DRGrWivx.js.map +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/resize-preview-hnUhGcMX.js +2 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/resize-preview-hnUhGcMX.js.map +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/scroll-area-schema-DZgYyysJ.js +2 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/scroll-area-schema-DZgYyysJ.js.map +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/size-DAtboz8G.js +2 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/size-DAtboz8G.js.map +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{styles-CQDZhwd_.js → styles-BvLCjUXV.js} +2 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/styles-BvLCjUXV.js.map +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/ui-CVVSxrtG.js +4 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/ui-CVVSxrtG.js.map +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/virtualizer-size-CTy2gO64.js +2 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/virtualizer-size-CTy2gO64.js.map +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/accordion-DGWRKBdw.js +2 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/accordion-DGWRKBdw.js.map +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/accordion.js +2 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/button-DA4Ii46-.js +2 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/button-DA4Ii46-.js.map +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/button.js +2 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/checkbox-omt0I9Rh.js +2 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/checkbox-omt0I9Rh.js.map +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/checkbox.js +2 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/data-grid-Cr9kEoo9.js +2 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/data-grid-Cr9kEoo9.js.map +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/data-grid.js +2 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/date-picker-CtTM4Gf6.js +2 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/date-picker-CtTM4Gf6.js.map +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/date-picker.js +2 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/direct-upload-B4dcq4bn.js +2 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/direct-upload-B4dcq4bn.js.map +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/direct-upload.js +2 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/dropdown-BEMZqp_I.js +2 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/dropdown-BEMZqp_I.js.map +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/dropdown.js +2 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/field-BeqlTp38.js +2 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/field-BeqlTp38.js.map +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/field.js +2 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/file-upload-DCluNmYW.js +2 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/file-upload-DCluNmYW.js.map +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/file-upload.js +2 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/formset-DkPKkwlt.js +2 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/formset-DkPKkwlt.js.map +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/formset.js +2 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/import-mapper-aSuqkRen.js +2 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/import-mapper-aSuqkRen.js.map +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/import-mapper.js +2 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/input-2UqpKKXs.js +2 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/input-2UqpKKXs.js.map +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/input.js +2 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/keybinding-DjUHW-EE.js +2 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/keybinding-DjUHW-EE.js.map +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/keybinding.js +2 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/modal-DYn805Mg.js +2 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/modal-DYn805Mg.js.map +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/modal.js +2 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/panels-C4TtKM8_.js +2 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/panels-C4TtKM8_.js.map +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/panels.js +2 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/radio-gAYZVe11.js +2 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/radio-gAYZVe11.js.map +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/radio.js +2 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/scroll-area-SBruA-pr.js +2 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/scroll-area-SBruA-pr.js.map +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/scroll-area.js +2 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/select-C3hjgwMw.js +2 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/select-C3hjgwMw.js.map +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/select.js +2 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/sidebar-b0T3yohM.js +2 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/sidebar-b0T3yohM.js.map +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/sidebar.js +2 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/slider-B08DRTzI.js +2 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/slider-B08DRTzI.js.map +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/slider.js +2 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/switch-CO-1hVz6.js +2 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/switch-CO-1hVz6.js.map +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/switch.js +2 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/table-BlPgZVqW.js +2 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/table-BlPgZVqW.js.map +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/table.js +2 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/tabs-CDbYmlUb.js +2 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/tabs-CDbYmlUb.js.map +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/tabs.js +2 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/toast-Dxht5Hhg.js +2 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/toast-Dxht5Hhg.js.map +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/toast.js +2 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/tooltip-Ck_ZV7RN.js +2 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/tooltip-Ck_ZV7RN.js.map +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/tooltip.js +2 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/virtualizer-BfCjewp3.js +2 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/virtualizer-BfCjewp3.js.map +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/virtualizer.js +2 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/core-CbDVD_pk.js +2 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/core-CbDVD_pk.js.map +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/core.js +2 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/logical-entry-manifest.json +299 -441
- package/packages/theme-engine/README.md +98 -18
- package/packages/theme-engine/THEME_AUTHORING.md +34 -0
- package/packages/theme-engine/dist/trellis.js +613 -285
- package/packages/theme-engine/fonts/fira-code/5.3.0/LICENSE +93 -0
- package/packages/theme-engine/fonts/fira-code/5.3.0/download.json +47 -0
- package/packages/theme-engine/fonts/fira-code/5.3.0/fira-code-cyrillic-ext-wght-normal.woff2 +0 -0
- package/packages/theme-engine/fonts/fira-code/5.3.0/fira-code-cyrillic-wght-normal.woff2 +0 -0
- package/packages/theme-engine/fonts/fira-code/5.3.0/fira-code-greek-ext-wght-normal.woff2 +0 -0
- package/packages/theme-engine/fonts/fira-code/5.3.0/fira-code-greek-wght-normal.woff2 +0 -0
- package/packages/theme-engine/fonts/fira-code/5.3.0/fira-code-latin-ext-wght-normal.woff2 +0 -0
- package/packages/theme-engine/fonts/fira-code/5.3.0/fira-code-latin-wght-normal.woff2 +0 -0
- package/packages/theme-engine/fonts/fira-code/5.3.0/fira-code-symbols2-wght-normal.woff2 +0 -0
- package/packages/theme-engine/fonts/fira-code/5.3.0/font.css +62 -0
- package/packages/theme-engine/fonts/fira-code/5.3.0/resource.json +82 -0
- package/packages/theme-engine/fonts/inter/5.3.0/LICENSE +93 -0
- package/packages/theme-engine/fonts/inter/5.3.0/download.json +47 -0
- package/packages/theme-engine/fonts/inter/5.3.0/font.css +62 -0
- package/packages/theme-engine/fonts/inter/5.3.0/inter-cyrillic-ext-standard-normal.woff2 +0 -0
- package/packages/theme-engine/fonts/inter/5.3.0/inter-cyrillic-standard-normal.woff2 +0 -0
- package/packages/theme-engine/fonts/inter/5.3.0/inter-greek-ext-standard-normal.woff2 +0 -0
- package/packages/theme-engine/fonts/inter/5.3.0/inter-greek-standard-normal.woff2 +0 -0
- package/packages/theme-engine/fonts/inter/5.3.0/inter-latin-ext-standard-normal.woff2 +0 -0
- package/packages/theme-engine/fonts/inter/5.3.0/inter-latin-standard-normal.woff2 +0 -0
- package/packages/theme-engine/fonts/inter/5.3.0/inter-vietnamese-standard-normal.woff2 +0 -0
- package/packages/theme-engine/fonts/inter/5.3.0/resource.json +82 -0
- package/packages/theme-engine/generated/knobs/v1/color-alpha.json +1 -1
- package/packages/theme-engine/generated/knobs/v1/color-foundations.json +1 -1
- package/packages/theme-engine/generated/knobs/v1/color-ink.json +1 -1
- package/packages/theme-engine/generated/knobs/v1/color-lighting.json +1 -1
- package/packages/theme-engine/generated/knobs/v1/color-normalization.json +1 -1
- package/packages/theme-engine/generated/knobs/v1/color-ramps.json +1 -1
- package/packages/theme-engine/generated/knobs/v1/composition.json +1 -1
- package/packages/theme-engine/generated/knobs/v1/depth.json +1 -1
- package/packages/theme-engine/generated/knobs/v1/edges.json +1 -1
- package/packages/theme-engine/generated/knobs/v1/index.json +572 -85
- package/packages/theme-engine/generated/knobs/v1/manifest.json +25 -46
- package/packages/theme-engine/generated/knobs/v1/radii.json +50 -1
- package/packages/theme-engine/generated/knobs/v1/semantic-actions.json +1 -1
- package/packages/theme-engine/generated/knobs/v1/semantic-disabled.json +1 -1
- package/packages/theme-engine/generated/knobs/v1/semantic-disclosure.json +1 -1
- package/packages/theme-engine/generated/knobs/v1/semantic-intents.json +856 -37
- package/packages/theme-engine/generated/knobs/v1/semantic-scrim.json +1 -1
- package/packages/theme-engine/generated/knobs/v1/semantic-selection.json +1 -1
- package/packages/theme-engine/generated/knobs/v1/semantic-structure.json +1 -1
- package/packages/theme-engine/generated/knobs/v1/semantic-text-selection.json +372 -0
- package/packages/theme-engine/generated/knobs/v1/sizing-anatomy.json +4 -4
- package/packages/theme-engine/generated/knobs/v1/sizing-controls.json +1 -1
- package/packages/theme-engine/generated/knobs/v1/sizing-measures.json +1 -1
- package/packages/theme-engine/generated/knobs/v1/spacing.json +2 -2
- package/packages/theme-engine/generated/knobs/v1/substrates.json +1 -1
- package/packages/theme-engine/generated/knobs/v1/surfaces.json +1 -1
- package/packages/theme-engine/generated/knobs/v1/typography-anatomy.json +1 -1
- package/packages/theme-engine/generated/knobs/v1/typography-fonts.json +158 -40
- package/packages/theme-engine/generated/knobs/v1/typography-scale.json +1 -1
- package/packages/theme-engine/generated/schemas/theme-config-v1.json +108 -36
- package/packages/theme-engine/generated/schemas/theme-manifest-v1.json +10 -37
- package/packages/theme-engine/skills/create-trellis-theme/SKILL.md +4 -5
- package/packages/client/src/components/app/styles.css +0 -1
- package/packages/client/src/components/brand/styles.css +0 -8
- package/packages/client/src/styles/motion.css +0 -26
- package/packages/client/src/styles/static.css +0 -3
- package/packages/client/types/assets/full-runtime.generated.d.ts +0 -2
- package/packages/client/types/capabilities/motion.d.ts +0 -6
- package/packages/client/types/capabilities/motion.entry.generated.d.ts +0 -3
- package/packages/client/types/cdn.d.ts +0 -2
- package/packages/client/types/components/entry.generated.d.ts +0 -37
- package/packages/client/types/directives/bounds.d.ts +0 -4
- package/packages/client/types/directives/layout.d.ts +0 -3
- package/packages/client/types/index.d.ts +0 -8
- package/packages/client/types/motion/bounds.d.ts +0 -20
- package/packages/client/types/motion/controller.d.ts +0 -33
- package/packages/client/types/motion/flip.d.ts +0 -14
- package/packages/client/types/motion/plan.d.ts +0 -52
- package/packages/client/types/motion/stream.d.ts +0 -18
- package/packages/client/types/motion/targets.d.ts +0 -23
- package/packages/client/types/motion/view.d.ts +0 -27
- package/packages/server/trellis_ui/static/trellis_ui/assets/css/trellis-103fb43eb5e1.css +0 -14030
- package/packages/server/trellis_ui/static/trellis_ui/assets/css/trellis.css +0 -14030
- package/packages/server/trellis_ui/static/trellis_ui/assets/css/trellis.min-584dec82495c.css +0 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/css/trellis.min.css +0 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/bridge-COxhbtRZ.js +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/motion-CKiK3BQA.js +0 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/motion-CKiK3BQA.js.map +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/motion.js +0 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/resizable-Ctqx_OoS.js +0 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/shortcut-D2NgvMgw.js +0 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/sortable-CbIOS4Lm.js +0 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/alpine-machine-CE2UN4Qu.js +0 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/alpine-machine-CE2UN4Qu.js.map +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/bridge-DMrvM3JE.js +0 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/bridge-DMrvM3JE.js.map +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-anchor-lhqk7hfo.js +0 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-anchor-lhqk7hfo.js.map +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-motion-B32HePGn.js +0 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-motion-B32HePGn.js.map +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-resizable-ByUbMIHF.js +0 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-resizable-ByUbMIHF.js.map +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-shortcut-DZUQHJ3A.js +0 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-shortcut-DZUQHJ3A.js.map +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-sortable-Bl6ng6Hd.js +0 -5
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-sortable-Bl6ng6Hd.js.map +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/collection-navigation-hTbwy6oQ.js +0 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/collection-navigation-hTbwy6oQ.js.map +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/common-CBK89mIt.js +0 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/common-CBK89mIt.js.map +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/controller-C8xqwkr0.js +0 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/controller-C8xqwkr0.js.map +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/core-BxNepYBE.js +0 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/core-BxNepYBE.js.map +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/cursor-data-source-Do0FfF4Z.js +0 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/cursor-data-source-Do0FfF4Z.js.map +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/dismissable-layer-BROE-Ln2.js +0 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/dismissable-layer-BROE-Ln2.js.map +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/element-adapter-native-data-key-DrqJDAVH.js +0 -6
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-7hdXmBLE.js +0 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-7hdXmBLE.js.map +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-BCTWp6Xu.js +0 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-BCTWp6Xu.js.map +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-BQNpmLZO.js +0 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-BQNpmLZO.js.map +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-BRaKxvab.js +0 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-BRaKxvab.js.map +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-BZWdGtgg.js +0 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-BZWdGtgg.js.map +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-BnqcHAaF.js +0 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-BnqcHAaF.js.map +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-BzLNUDzF.js +0 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-BzLNUDzF.js.map +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-CC6pQ0nu.js +0 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-CC6pQ0nu.js.map +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-CEfr2bmw.js +0 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-CEfr2bmw.js.map +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-CL4bjCqf.js +0 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-CL4bjCqf.js.map +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-CVWqQEed.js +0 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-CVWqQEed.js.map +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-C_SxTqg5.js +0 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-C_SxTqg5.js.map +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-Cbyseoex.js +0 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-Cbyseoex.js.map +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-Cf2hKkwA.js +0 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-Cf2hKkwA.js.map +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-CfYgsDun.js +0 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-CfYgsDun.js.map +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-Cl8rInnJ.js +0 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-Cl8rInnJ.js.map +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-Ct9H8Hlf.js +0 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-Ct9H8Hlf.js.map +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-D2es_Wi2.js +0 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-D2es_Wi2.js.map +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-DQtFqG0K.js +0 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-DQtFqG0K.js.map +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-EqHVGr1d.js +0 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-EqHVGr1d.js.map +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-FCDgmA0s.js +0 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-FCDgmA0s.js.map +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-HqE8R7N1.js +0 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-HqE8R7N1.js.map +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-J0oGNBzS.js +0 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-J0oGNBzS.js.map +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-O0hEhk-2.js +0 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-O0hEhk-2.js.map +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-oJwO9fIY.js +0 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-oJwO9fIY.js.map +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-xjydizn-.js +0 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-xjydizn-.js.map +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/flip-BKThFI4L.js +0 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/flip-BKThFI4L.js.map +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/focus-scope-BrYxsrhc.js +0 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/fragment-9OT0mn7F.js +0 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/fragment-9OT0mn7F.js.map +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/machine-CNnHDbyo.js +0 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/machine-CNnHDbyo.js.map +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/motion-RwlK04Cy.js +0 -3
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/motion-RwlK04Cy.js.map +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/pdd-BG5sXFGF.js +0 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/pdd-BG5sXFGF.js.map +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/styles-CQDZhwd_.js.map +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/ui-Bg44ZmC3.js +0 -4
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/ui-Bg44ZmC3.js.map +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/accordion-DpoqsP_I.js +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/button-Dnf0aKac.js +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/checkbox-BpFFtrfY.js +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/data-grid-CCPYnOuT.js +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/date-picker-BCkP5gtC.js +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/direct-upload-DaT6-YFL.js +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/dropdown-Cc84envj.js +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/field-CtQbyblj.js +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/file-upload-DARtpJDT.js +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/formset-CPO4XZkB.js +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/import-mapper-C-3lKsKm.js +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/index-DRH3gncZ.js +0 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/index-DRH3gncZ.js.map +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/index.js +0 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/input-BKEbDkKa.js +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/keybinding-RIi2q1IT.js +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/modal-MUHGUsup.js +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/panels-DNAroAhk.js +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/radio-DrGFMWGq.js +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/scroll-area-CyUCAbgG.js +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/select-BjLF548F.js +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/sidebar-GpvEBW3K.js +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/slider-OztnTlqr.js +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/switch-CZ7aiASg.js +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/table-G3G5d2Eo.js +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/tabs-bq7j1uwx.js +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/toast-DkP0-rBO.js +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/tooltip-OITEWczP.js +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/virtualizer-CkRX2qVO.js +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/core-Z4zMCScs.js +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/index-DAz_hKiB.js +0 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/index-DAz_hKiB.js.map +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/index.js +0 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/trellis-ecb43dfd3b7b.js +0 -11
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/trellis.js +0 -11
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/trellis.min-ecb43dfd3b7b.js +0 -11
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/trellis.min.js +0 -11
- package/packages/theme-engine/generated/knobs/v1/motion.json +0 -128
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
# Trellis Theme Engine
|
|
2
2
|
|
|
3
|
-
The theme engine is a deterministic compiler from a materialized JSON `ThemeConfig` to
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
relationships once so components and custom compositions stay in sync.
|
|
3
|
+
The theme engine is a deterministic compiler from a materialized JSON `ThemeConfig` to Tailwind CSS. It encodes
|
|
4
|
+
brand relationships once so components and custom Tailwind compositions stay in sync. A validated
|
|
5
|
+
[DTCG 2025.10](https://www.designtokens.org/TR/2025.10/) document carries tokens between generation and serialization.
|
|
7
6
|
|
|
8
7
|
## Top-down model
|
|
9
8
|
|
|
@@ -26,7 +25,6 @@ flowchart TD
|
|
|
26
25
|
colorTheme --> spacing["Spacing<br/>progressive fluid scale and anatomy aliases"]
|
|
27
26
|
colorTheme --> typography["Typography<br/>families, type scale, and text roles"]
|
|
28
27
|
colorTheme --> sizing["Sizing<br/>controls, icons, measures, and component anatomy"]
|
|
29
|
-
colorTheme --> motion["Motion<br/>durations, bounce, and displacement"]
|
|
30
28
|
|
|
31
29
|
colorTheme --> generated["GeneratedTheme<br/>values, dependencies, diagnostics, and fingerprint"]
|
|
32
30
|
composition --> generated
|
|
@@ -35,18 +33,17 @@ flowchart TD
|
|
|
35
33
|
spacing --> generated
|
|
36
34
|
typography --> generated
|
|
37
35
|
sizing --> generated
|
|
38
|
-
motion --> generated
|
|
39
36
|
|
|
40
37
|
generated --> validate["validateGeneratedTheme<br/>reject broken generated relationships"]
|
|
41
38
|
validate --> tokens["generateDesignTokens<br/>DTCG 2025.10 resolver document"]
|
|
42
|
-
tokens --> serialize["
|
|
39
|
+
tokens --> serialize["Tailwind serialization<br/>consume tokens, never compiler internals"]
|
|
43
40
|
serialize --> artifacts["CSS artifacts<br/>palette · runtime · fonts"]
|
|
44
41
|
artifacts --> recipes["theme.css recipes<br/>map semantic tokens onto component states"]
|
|
45
42
|
recipes --> components["Trellis components and custom Tailwind UI"]
|
|
46
43
|
```
|
|
47
44
|
|
|
48
|
-
`ResolvedThemeConfig` separates authored intent from computed relationships. The
|
|
49
|
-
|
|
45
|
+
`ResolvedThemeConfig` separates authored intent from computed relationships. The internal token document separates
|
|
46
|
+
theme generation from Tailwind serialization. CSS serialization only consumes that document.
|
|
50
47
|
|
|
51
48
|
The Theme Knob Catalog is a separate generated read model of the authored configuration boundary. It derives paths,
|
|
52
49
|
constraints, concrete authored/compiler defaults, required parents, and repeated-path parameters from
|
|
@@ -59,7 +56,7 @@ configuration source.
|
|
|
59
56
|
### 1. Revision materialization
|
|
60
57
|
|
|
61
58
|
`compileTheme` is the hardened public path from a base plus patch history to a materialized config and validated token
|
|
62
|
-
document. It composes the stages below without exposing generated compiler internals to
|
|
59
|
+
document. It composes the stages below without exposing generated compiler internals to Tailwind serialization.
|
|
63
60
|
|
|
64
61
|
`materializeTheme` starts from a base `ThemeConfig` and applies ordered commits. A commit is an atomic batch of the
|
|
65
62
|
RFC 6902 `add`, `remove`, and `replace` operations. Theme patches may replace existing array members but cannot change
|
|
@@ -98,14 +95,14 @@ depth.
|
|
|
98
95
|
|
|
99
96
|
Generated values are validated before `generateDesignTokens` projects them into a DTCG 2025.10 Resolver Document.
|
|
100
97
|
Invariant tokens form one set and light/dark appearances form an `appearance` modifier. Standard DTCG types represent
|
|
101
|
-
colors, dimensions, numbers,
|
|
102
|
-
fluid relationships, unsupported CSS units, font resources, and
|
|
98
|
+
colors, dimensions, numbers, font families, weights, and shadows. Namespaced `dev.trellis` extensions retain
|
|
99
|
+
fluid relationships, unsupported CSS units, font resources, and Tailwind registration metadata without changing token values.
|
|
103
100
|
|
|
104
|
-
### 6.
|
|
101
|
+
### 6. Tailwind serialization
|
|
105
102
|
|
|
106
103
|
`serializeThemeArtifacts` and `serializeThemeCss` consume only the DTCG document. They produce named resources,
|
|
107
|
-
palette, and runtime artifacts with Tailwind registrations and deterministic fingerprints.
|
|
108
|
-
|
|
104
|
+
palette, and runtime artifacts with Tailwind registrations and deterministic fingerprints. Theme Workspaces emit
|
|
105
|
+
Tailwind CSS directly; each entry in `outputs` supplies only a `path`, with no output format selection.
|
|
109
106
|
|
|
110
107
|
### 7. Component consumption
|
|
111
108
|
|
|
@@ -144,6 +141,16 @@ Solid semantic roles also calibrate `separation.hover.{light,dark}` and `separat
|
|
|
144
141
|
perceptual distances from rest. The generator follows the authored state direction when contrast permits, then favors
|
|
145
142
|
the contrast-safe direction.
|
|
146
143
|
|
|
144
|
+
Selection foregrounds use the family's existing ink contrast policy against both selected and selected-hover fills
|
|
145
|
+
over every workspace and chrome level. Readable authored ink is preserved; otherwise the shared ink solver fits it.
|
|
146
|
+
This proof uses browser sRGB alpha compositing, while perceptual overlay calibration retains its linear-light math.
|
|
147
|
+
The compiler reports adjustments and rejects treatments that cannot meet the minimum under the pairing policy.
|
|
148
|
+
|
|
149
|
+
Colored soft treatments share their family's step 9 at 10%, 15%, and 20% opacity for rest, hover, and pressed.
|
|
150
|
+
Neutral soft treatments retain quiet alpha steps. `semantic.roles.intents.<intent>.soft.strength` can override each
|
|
151
|
+
state with an opacity or the existing `minimum-delta-e` calibration; the same contrast proof fits readable soft inks
|
|
152
|
+
across every generated surface. Components consume these shared treatments rather than mixing their own tints.
|
|
153
|
+
|
|
147
154
|
## Generated relationship tree
|
|
148
155
|
|
|
149
156
|
| Branch | Generates | Downstream consumers |
|
|
@@ -157,7 +164,6 @@ the contrast-safe direction.
|
|
|
157
164
|
| Typography | Font resources, 13 type steps, weights, anatomy dependencies | Text and control typography |
|
|
158
165
|
| Sizing | Bounded lengths for controls, icons, component anatomy, and measures | Component geometry |
|
|
159
166
|
| Composition | Breakpoints, responsive column maps, shell breakpoint | Page and layout recipes |
|
|
160
|
-
| Motion | Semantic durations, bounce strengths, and displacement scale | Component transitions and gestures |
|
|
161
167
|
|
|
162
168
|
## Shipped default at a glance
|
|
163
169
|
|
|
@@ -185,7 +191,7 @@ while surface elevation and interaction layers do most of the structural work.
|
|
|
185
191
|
component recipes are separate layers.
|
|
186
192
|
- Axes such as color, surface, depth, edge, radius, spacing, typography, sizing, and composition remain independently
|
|
187
193
|
tunable. Presets may coordinate them.
|
|
188
|
-
-
|
|
194
|
+
- Tailwind serialization consumes validated tokens; components consume serialized tokens and anatomy relationships. Neither reads
|
|
189
195
|
config nor repeats generation math.
|
|
190
196
|
- Generated tokens extend familiar Tailwind syntax. Do not replace foundations such as the base `--spacing` value.
|
|
191
197
|
- Shared bounded-fluid math may support several axes, but it does not create one universal public length scale.
|
|
@@ -209,7 +215,7 @@ per-breakpoint configuration matrices. Fix systemic visual defects upstream so e
|
|
|
209
215
|
| Defaults and shipped preset | `src/defaults.ts`, `src/presets/trellis-default.ts` |
|
|
210
216
|
| Resolution, validation, provenance | `src/resolve-theme-config.ts`, `src/validate-*.ts` |
|
|
211
217
|
| Complete orchestration | `src/orchestrator.ts` |
|
|
212
|
-
| Axis math | `src/color/`, `src/edge/`, `src/radius/`, `src/spacing/`, `src/typography/`, `src/sizing/`, `src/composition
|
|
218
|
+
| Axis math | `src/color/`, `src/edge/`, `src/radius/`, `src/spacing/`, `src/typography/`, `src/sizing/`, `src/composition/` |
|
|
213
219
|
| Shared fluid primitive | `src/fluid/bounded.ts` |
|
|
214
220
|
| DTCG token projection | `src/design-tokens/` |
|
|
215
221
|
| CSS and Tailwind output | `src/serialize/` |
|
|
@@ -219,3 +225,77 @@ per-breakpoint configuration matrices. Fix systemic visual defects upstream so e
|
|
|
219
225
|
When changing an axis, move its schema, defaults, resolution, focused generator, generated types, serialization, and
|
|
220
226
|
boundary tests together. Add cross-axis coordination only in orchestration. Never hand-edit `dist/` or
|
|
221
227
|
`packages/client/src/styles/generated/`.
|
|
228
|
+
|
|
229
|
+
## Text selection
|
|
230
|
+
|
|
231
|
+
`semantic.roles.textSelection` controls the browser's `::selection` highlight independently of selected component
|
|
232
|
+
states. The default uses accent step 9 at 25% opacity and uses the browser's `currentColor` text ink. Background and
|
|
233
|
+
foreground references resolve through the active appearance's palette; opacity ranges from `0` to `1`.
|
|
234
|
+
|
|
235
|
+
```json
|
|
236
|
+
{
|
|
237
|
+
"semantic": {
|
|
238
|
+
"roles": {
|
|
239
|
+
"strategy": "functional-role-graph",
|
|
240
|
+
"version": 1,
|
|
241
|
+
"textSelection": {
|
|
242
|
+
"background": {"family": "neutral", "color": {"kind": "step", "step": 12}},
|
|
243
|
+
"opacity": 1,
|
|
244
|
+
"foreground": {"family": "neutral", "color": {"kind": "step", "step": 1}}
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
```
|
|
250
|
+
|
|
251
|
+
This example uses opposing ends of the neutral palette for an opaque highlight. Set `foreground` to `"inherit"`
|
|
252
|
+
to restore the surrounding text color. Explicit foregrounds are preserved as authored; choose a readable pair.
|
|
253
|
+
The compiler emits `--background-text-selection` and, for an explicit foreground, `--color-text-selection-ink`.
|
|
254
|
+
The single global rule in `theme-support.css` consumes these tokens, falling back to `currentColor` for inherited ink.
|
|
255
|
+
The knob catalog exposes these controls in the Text selection group, including Text selection intensity for opacity.
|
|
256
|
+
|
|
257
|
+
## Dismiss control radius
|
|
258
|
+
|
|
259
|
+
`radius.dismiss` selects the shared shape of standalone Card, Modal, and Toast dismiss controls. It defaults to
|
|
260
|
+
`"full"`; use `"none"` for square corners or a radius-scale step (`1`–`6`) to follow the generated curve. Badge removal
|
|
261
|
+
retains its compact badge anatomy. The token `radius.role.dismiss` aliases the chosen primitive and emits
|
|
262
|
+
`--radius-dismiss` (`rounded-dismiss` in Tailwind); ordinary control, surface, and overlay radius roles stay independent.
|
|
263
|
+
|
|
264
|
+
```json
|
|
265
|
+
{
|
|
266
|
+
"message": "Use the second radius step for dismiss controls",
|
|
267
|
+
"operations": [{"op": "add", "path": "/radius/dismiss", "value": 2}]
|
|
268
|
+
}
|
|
269
|
+
```
|
|
270
|
+
|
|
271
|
+
## Fonts through theme commits
|
|
272
|
+
|
|
273
|
+
Font selection is part of the Theme Config and JSONL commit history. The shipped default uses pinned Fontsource
|
|
274
|
+
resources for Inter (weight and optical size) and Fira Code. No separate font command or manual face copying is needed.
|
|
275
|
+
|
|
276
|
+
```json
|
|
277
|
+
{
|
|
278
|
+
"message": "Use Inter locally",
|
|
279
|
+
"operations": [{
|
|
280
|
+
"op": "replace",
|
|
281
|
+
"path": "/typography/resources/brand",
|
|
282
|
+
"value": {"type": "fontsource", "id": "inter", "version": "5.3.0"}
|
|
283
|
+
}]
|
|
284
|
+
}
|
|
285
|
+
```
|
|
286
|
+
|
|
287
|
+
Use `trellis theme apply <manifest> <commit>` as usual. Apply and build prepare missing font dependencies, preserve
|
|
288
|
+
licenses and source hashes, validate available families and weights, and publish local stylesheets and font files
|
|
289
|
+
under the workspace's `fonts/<id>/<version>/` directory. The compiler performs no network or file IO; its generated
|
|
290
|
+
font references follow the same declarative resource identity. Font resource knobs are Primary authoring controls.
|
|
291
|
+
|
|
292
|
+
Fontsource selection prefers variable fonts with all available axes and includes supported styles and language
|
|
293
|
+
subsets. Static-only families use all catalog weights. An exact package version is required. When changing fonts,
|
|
294
|
+
update the corresponding `typography.families` binding in the same commit. Custom application-owned fonts use `local`
|
|
295
|
+
resources; `bunny` resources explicitly opt into CDN loading through the same theme workflow.
|
|
296
|
+
|
|
297
|
+
The bundled defaults require no network. Other fonts download on first apply/build and are reused locally thereafter.
|
|
298
|
+
Build planning and `theme check` never download or write; they report missing or stale assets. A failed acquisition
|
|
299
|
+
leaves the commit log and generated outputs unchanged. Deploy the generated CSS and workspace fonts together; paths
|
|
300
|
+
are calculated relative to each output, including nested output directories. Keep acquired assets under source control
|
|
301
|
+
for offline builds. Older versions may remain for rollback; active references come only from the materialized theme.
|
|
@@ -3,6 +3,14 @@
|
|
|
3
3
|
A Theme Workspace is one source-controlled theme. Pass its `theme.json` explicitly; separate workspaces never share
|
|
4
4
|
implicit state. Keep `base.json` complete and append one coherent `ThemePatchCommit` per line to `commits.jsonl`.
|
|
5
5
|
|
|
6
|
+
Theme Workspaces produce Tailwind CSS. The manifest's `outputs` entries specify CSS paths directly:
|
|
7
|
+
|
|
8
|
+
```json
|
|
9
|
+
{"outputs": [{"path": "./generated/theme.css"}]}
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
Import the generated CSS into the application's Tailwind 4 stylesheet. There is no output format selection.
|
|
13
|
+
|
|
6
14
|
Resource paths in this guide are relative to the authoring resource root: the directory containing this file and
|
|
7
15
|
`generated/`. In the Trellis repository, that directory is `packages/theme-engine/`.
|
|
8
16
|
|
|
@@ -42,3 +50,29 @@ Theme Patch Commits should not add or remove `$schema` merely to express a desig
|
|
|
42
50
|
|
|
43
51
|
If `apply` reports that the Theme Commit Log changed concurrently, reload the workspace source and retry the intended
|
|
44
52
|
commit. Trellis preserves the external change rather than guessing an ordering or merging commits automatically.
|
|
53
|
+
|
|
54
|
+
## Font selection
|
|
55
|
+
|
|
56
|
+
Discover `/typography/resources/**` in the font knob catalog and select fonts through an ordinary theme commit:
|
|
57
|
+
|
|
58
|
+
```json
|
|
59
|
+
{
|
|
60
|
+
"message": "Use Inter locally",
|
|
61
|
+
"operations": [{
|
|
62
|
+
"op": "replace",
|
|
63
|
+
"path": "/typography/resources/brand",
|
|
64
|
+
"value": {"type": "fontsource", "id": "inter", "version": "5.3.0"}
|
|
65
|
+
}]
|
|
66
|
+
}
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
Apply it with `trellis theme apply <manifest> <commit>`. Fontsource resources use a catalog ID and exact package
|
|
70
|
+
version, prefer variable fonts with their available axes, and are served locally. Update the matching
|
|
71
|
+
`typography.families` binding in the same commit when selecting another family. Faces, filenames, licenses, hashes,
|
|
72
|
+
and local stylesheets are prepared by apply/build; they are not authored into the JSONL history.
|
|
73
|
+
|
|
74
|
+
The bundled Inter and Fira Code defaults work offline. Apply/build acquire missing fonts once and reuse cached assets;
|
|
75
|
+
`theme check` and build planning never download or modify files. Download failures preserve the history and outputs.
|
|
76
|
+
Commit acquired `fonts/` assets for reproducible offline builds and deploy them with the generated CSS. A `bunny`
|
|
77
|
+
resource explicitly selects CDN loading; application-owned font files use a `local` resource. All selections follow
|
|
78
|
+
the same theme commit workflow.
|