@vireo-ai/trellis-ui 0.1.60 → 0.1.61
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/README.md +0 -1
- package/THIRD_PARTY_NOTICES.md +2 -0
- package/package.json +45 -36
- package/packages/client/src/components/field/styles.css +2 -1
- package/packages/client/src/styles/components.css +1 -0
- package/packages/client/src/styles/static.css +0 -1
- package/packages/client/types/assets/full-runtime.generated.d.ts +1 -1
- package/packages/client/types/capabilities/anchor.d.ts +7 -0
- package/packages/client/types/capabilities/anchor.entry.generated.d.ts +3 -0
- package/packages/client/types/components/accordion/runtime-docs.d.ts +1 -0
- package/packages/client/types/components/checkbox/runtime-docs.d.ts +1 -0
- package/packages/client/types/components/data-grid/runtime-docs.d.ts +1 -0
- package/packages/client/types/components/date-picker/runtime-docs.d.ts +1 -0
- package/packages/client/types/components/direct-upload/runtime-docs.d.ts +1 -0
- package/packages/client/types/components/dropdown/runtime-docs.d.ts +1 -0
- package/packages/client/types/components/entry.generated.d.ts +1 -0
- package/packages/client/types/components/field/runtime-docs.d.ts +1 -0
- package/packages/client/types/components/file-upload/runtime-docs.d.ts +1 -0
- package/packages/client/types/components/formset/runtime-docs.d.ts +1 -0
- package/packages/client/types/components/modal/runtime-docs.d.ts +1 -0
- package/packages/client/types/components/panels/runtime-docs.d.ts +1 -0
- package/packages/client/types/components/radio/runtime-docs.d.ts +1 -0
- package/packages/client/types/components/scroll-area/runtime-docs.d.ts +1 -0
- package/packages/client/types/components/select/runtime-docs.d.ts +1 -0
- package/packages/client/types/components/sidebar/runtime-docs.d.ts +1 -0
- package/packages/client/types/components/slider/runtime-docs.d.ts +1 -0
- package/packages/client/types/components/switch/runtime-docs.d.ts +1 -0
- package/packages/client/types/components/tabs/runtime-docs.d.ts +1 -0
- package/packages/client/types/components/toast/runtime-docs.d.ts +1 -0
- package/packages/client/types/components/tooltip/runtime-docs.d.ts +1 -0
- package/packages/client/types/components/virtualizer/runtime-docs.d.ts +1 -0
- package/packages/client/types/directives/anchor.d.ts +26 -0
- package/packages/client/types/directives/index.d.ts +1 -0
- package/packages/client/types/runtime/anchored-popover.d.ts +4 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/css/{trellis-a1130be0a833.css → trellis-103fb43eb5e1.css} +23 -23
- package/packages/server/trellis_ui/static/trellis_ui/assets/css/trellis.css +23 -23
- package/packages/server/trellis_ui/static/trellis_ui/assets/css/trellis.min-584dec82495c.css +2 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/css/trellis.min.css +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/build-metadata.json +346 -318
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/anchor-B-CbpFFU.js +2 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/anchor-B-CbpFFU.js.map +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/anchor.js +2 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/motion-CKiK3BQA.js +2 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/{motion-B0MINJTL.js.map → motion-CKiK3BQA.js.map} +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/motion.js +2 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/{sortable-DQ4eUO2l.js → sortable-CbIOS4Lm.js} +2 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/{sortable-DQ4eUO2l.js.map → sortable-CbIOS4Lm.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-lhqk7hfo.js +2 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-anchor-lhqk7hfo.js.map +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-motion-B32HePGn.js +2 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{capability-motion-D_BJBnwB.js.map → capability-motion-B32HePGn.js.map} +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-sortable-Bl6ng6Hd.js +5 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{capability-sortable-BDbURlVO.js.map → capability-sortable-Bl6ng6Hd.js.map} +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/controller-C8xqwkr0.js.map +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/core-BxNepYBE.js +2 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{core-Ybm_WmKr.js.map → core-BxNepYBE.js.map} +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-7hdXmBLE.js +2 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-7hdXmBLE.js.map +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-DDrayI_M.js → entry.generated-BRaKxvab.js} +2 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-DDrayI_M.js.map → entry.generated-BRaKxvab.js.map} +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-BnqcHAaF.js.map +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-OT_bt7F2.js → entry.generated-BzLNUDzF.js} +2 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-BzLNUDzF.js.map +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-CEfr2bmw.js +2 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-CEfr2bmw.js.map +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-ChoqPigj.js → entry.generated-CL4bjCqf.js} +2 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-CL4bjCqf.js.map +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-BgGSoQFS.js → entry.generated-Cbyseoex.js} +2 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-Cbyseoex.js.map +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-Cf2hKkwA.js +2 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-Cf2hKkwA.js.map +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-CfYgsDun.js.map +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-CqtsPVJy.js → entry.generated-Cl8rInnJ.js} +2 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-CqtsPVJy.js.map → entry.generated-Cl8rInnJ.js.map} +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-dcqwycC7.js → entry.generated-Ct9H8Hlf.js} +2 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-Ct9H8Hlf.js.map +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-D2es_Wi2.js.map +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-DQtFqG0K.js.map +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-FCDgmA0s.js +2 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-FCDgmA0s.js.map +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-J0oGNBzS.js +2 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-J0oGNBzS.js.map +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{flip-crNQSZEa.js → flip-BKThFI4L.js} +2 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{flip-crNQSZEa.js.map → flip-BKThFI4L.js.map} +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{motion-B90yNOaV.js → motion-RwlK04Cy.js} +2 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{motion-B90yNOaV.js.map → motion-RwlK04Cy.js.map} +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/styles-CQDZhwd_.js.map +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{ui-CTQoglp3.js → ui-Bg44ZmC3.js} +4 -4
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/ui-Bg44ZmC3.js.map +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/warn-BbGtqbh1.js +2 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/warn-BbGtqbh1.js.map +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/accordion-DpoqsP_I.js +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/data-grid-CCPYnOuT.js +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-BCkP5gtC.js +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/dropdown-Cc84envj.js +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/index-DRH3gncZ.js +2 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/index-DRH3gncZ.js.map +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/index.js +2 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/modal-MUHGUsup.js +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-DNAroAhk.js +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/select-BjLF548F.js +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-GpvEBW3K.js +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/tabs-bq7j1uwx.js +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-DkP0-rBO.js +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-OITEWczP.js +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/{core-CRIj89v5.js → core-Z4zMCScs.js} +1 -1
- 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/index-DAz_hKiB.js +2 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/index-DAz_hKiB.js.map +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/index.js +2 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/logical-entry-manifest.json +134 -111
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/trellis-ecb43dfd3b7b.js +11 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/trellis.js +6 -6
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/trellis.min-ecb43dfd3b7b.js +11 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/trellis.min.js +6 -6
- package/packages/theme-engine/README.md +221 -0
- package/packages/theme-engine/THEME_AUTHORING.md +44 -0
- package/packages/theme-engine/dist/trellis.js +16935 -0
- package/packages/theme-engine/generated/knobs/v1/color-alpha.json +2426 -0
- package/packages/theme-engine/generated/knobs/v1/color-foundations.json +1582 -0
- package/packages/theme-engine/generated/knobs/v1/color-ink.json +6541 -0
- package/packages/theme-engine/generated/knobs/v1/color-lighting.json +3056 -0
- package/packages/theme-engine/generated/knobs/v1/color-normalization.json +1685 -0
- package/packages/theme-engine/generated/knobs/v1/color-ramps.json +14304 -0
- package/packages/theme-engine/generated/knobs/v1/composition.json +881 -0
- package/packages/theme-engine/generated/knobs/v1/depth.json +1705 -0
- package/packages/theme-engine/generated/knobs/v1/edges.json +326 -0
- package/packages/theme-engine/generated/knobs/v1/index.json +20096 -0
- package/packages/theme-engine/generated/knobs/v1/manifest.json +719 -0
- package/packages/theme-engine/generated/knobs/v1/motion.json +128 -0
- package/packages/theme-engine/generated/knobs/v1/radii.json +331 -0
- package/packages/theme-engine/generated/knobs/v1/semantic-actions.json +1814 -0
- package/packages/theme-engine/generated/knobs/v1/semantic-disabled.json +759 -0
- package/packages/theme-engine/generated/knobs/v1/semantic-disclosure.json +59 -0
- package/packages/theme-engine/generated/knobs/v1/semantic-intents.json +4841 -0
- package/packages/theme-engine/generated/knobs/v1/semantic-scrim.json +308 -0
- package/packages/theme-engine/generated/knobs/v1/semantic-selection.json +940 -0
- package/packages/theme-engine/generated/knobs/v1/semantic-structure.json +365 -0
- package/packages/theme-engine/generated/knobs/v1/sizing-anatomy.json +3112 -0
- package/packages/theme-engine/generated/knobs/v1/sizing-controls.json +599 -0
- package/packages/theme-engine/generated/knobs/v1/sizing-measures.json +1089 -0
- package/packages/theme-engine/generated/knobs/v1/spacing.json +1246 -0
- package/packages/theme-engine/generated/knobs/v1/substrates.json +315 -0
- package/packages/theme-engine/generated/knobs/v1/surfaces.json +870 -0
- package/packages/theme-engine/generated/knobs/v1/typography-anatomy.json +1754 -0
- package/packages/theme-engine/generated/knobs/v1/typography-fonts.json +711 -0
- package/packages/theme-engine/generated/knobs/v1/typography-scale.json +329 -0
- package/packages/theme-engine/generated/schemas/theme-config-v1.json +3987 -0
- package/packages/theme-engine/generated/schemas/theme-manifest-v1.json +79 -0
- package/packages/theme-engine/skills/create-trellis-theme/SKILL.md +108 -0
- package/packages/client/types/components/runtime-docs.d.ts +0 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/css/trellis.min-d053936d467f.css +0 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/motion-B0MINJTL.js +0 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/anchored-popover-BwQbt4V2.js +0 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/anchored-popover-BwQbt4V2.js.map +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-motion-D_BJBnwB.js +0 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-sortable-BDbURlVO.js +0 -5
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/core-Ybm_WmKr.js +0 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-2YvnuzOD.js +0 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-2YvnuzOD.js.map +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-B986Ob4f.js +0 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-B986Ob4f.js.map +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-BITa8xFV.js +0 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-BITa8xFV.js.map +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-BSVJpGWu.js +0 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-BSVJpGWu.js.map +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-BgGSoQFS.js.map +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-ChoqPigj.js.map +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-OT_bt7F2.js.map +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-WRveW7p9.js +0 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-WRveW7p9.js.map +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-dcqwycC7.js.map +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/ui-CTQoglp3.js.map +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/accordion-CKh9jOQc.js +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/data-grid-DHqf4lhn.js +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/date-picker-DhNrvLv7.js +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/dropdown-CDPdgATy.js +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/index-DzOKmgfj.js +0 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/index-DzOKmgfj.js.map +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/modal-1D2WtmlK.js +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/panels-BXtMr9cv.js +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/select-B_b2uwfv.js +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/sidebar-D8y44c-J.js +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/tabs-CBjcV5_z.js +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/toast-DSduFsxK.js +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/tooltip-B3vA5YAi.js +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/index-CL7BWKcd.js +0 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/index-CL7BWKcd.js.map +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/trellis-acc1b62a38b1.js +0 -11
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/trellis.min-acc1b62a38b1.js +0 -11
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://trellis.build/schemas/theme-manifest-v1.json",
|
|
4
|
+
"additionalProperties": false,
|
|
5
|
+
"type": "object",
|
|
6
|
+
"required": [
|
|
7
|
+
"$schema",
|
|
8
|
+
"formatVersion",
|
|
9
|
+
"engineVersion",
|
|
10
|
+
"base",
|
|
11
|
+
"commits",
|
|
12
|
+
"outputs"
|
|
13
|
+
],
|
|
14
|
+
"properties": {
|
|
15
|
+
"$schema": {
|
|
16
|
+
"const": "https://trellis.build/schemas/theme-manifest-v1.json",
|
|
17
|
+
"type": "string"
|
|
18
|
+
},
|
|
19
|
+
"formatVersion": {
|
|
20
|
+
"const": 1,
|
|
21
|
+
"type": "number"
|
|
22
|
+
},
|
|
23
|
+
"engineVersion": {
|
|
24
|
+
"minLength": 1,
|
|
25
|
+
"type": "string"
|
|
26
|
+
},
|
|
27
|
+
"base": {
|
|
28
|
+
"minLength": 1,
|
|
29
|
+
"type": "string"
|
|
30
|
+
},
|
|
31
|
+
"commits": {
|
|
32
|
+
"minLength": 1,
|
|
33
|
+
"type": "string"
|
|
34
|
+
},
|
|
35
|
+
"outputs": {
|
|
36
|
+
"type": "array",
|
|
37
|
+
"items": {
|
|
38
|
+
"anyOf": [
|
|
39
|
+
{
|
|
40
|
+
"additionalProperties": false,
|
|
41
|
+
"type": "object",
|
|
42
|
+
"required": [
|
|
43
|
+
"format",
|
|
44
|
+
"path"
|
|
45
|
+
],
|
|
46
|
+
"properties": {
|
|
47
|
+
"format": {
|
|
48
|
+
"const": "tailwind",
|
|
49
|
+
"type": "string"
|
|
50
|
+
},
|
|
51
|
+
"path": {
|
|
52
|
+
"minLength": 1,
|
|
53
|
+
"type": "string"
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
"additionalProperties": false,
|
|
59
|
+
"type": "object",
|
|
60
|
+
"required": [
|
|
61
|
+
"format",
|
|
62
|
+
"path"
|
|
63
|
+
],
|
|
64
|
+
"properties": {
|
|
65
|
+
"format": {
|
|
66
|
+
"const": "dtcg",
|
|
67
|
+
"type": "string"
|
|
68
|
+
},
|
|
69
|
+
"path": {
|
|
70
|
+
"minLength": 1,
|
|
71
|
+
"type": "string"
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
]
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: create-trellis-theme
|
|
3
|
+
description: Create or tune a Trellis theme from brand, product, or visual direction using the knob catalog and source-controlled patch commits. Use for theme-wide color, typography, density, shape, depth, composition, or motion changes, rather than component-specific CSS fixes.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Create a Trellis theme
|
|
7
|
+
|
|
8
|
+
Translate the requested design direction into the smallest sufficient sequence of Theme Patch Commits. Preserve the
|
|
9
|
+
workspace as ordinary source: a complete base, an append-ordered JSONL log, and deterministic generated outputs.
|
|
10
|
+
|
|
11
|
+
## Locate the toolchain and workspace
|
|
12
|
+
|
|
13
|
+
Locate the authoring resource root: the directory containing `THEME_AUTHORING.md` and `generated/knobs/v1/`.
|
|
14
|
+
For this packaged skill, it is two directories above the skill folder (`../../` from
|
|
15
|
+
`skills/create-trellis-theme/`). If the skill was copied into an agent's skill directory, locate those resources in the
|
|
16
|
+
project's installed `@vireo-ai/trellis-ui` package, under `packages/theme-engine/` (normally
|
|
17
|
+
`node_modules/@vireo-ai/trellis-ui/packages/theme-engine/`). In the Trellis repository, the root is
|
|
18
|
+
`packages/theme-engine/`.
|
|
19
|
+
All resource paths below are relative to this root, not the application working directory.
|
|
20
|
+
|
|
21
|
+
Read `THEME_AUTHORING.md`. Confirm the local CLI is available before changing source. In a consumer project, use
|
|
22
|
+
`npm exec --no -- trellis …` from the project root; this uses the installed command without fetching another package.
|
|
23
|
+
In the Trellis repository, use `pnpm trellis …`. The examples below use the consumer invocation.
|
|
24
|
+
If the CLI, guide, or catalog is missing, report the missing resource and the installed package version; do not guess
|
|
25
|
+
config paths or silently download a replacement toolchain.
|
|
26
|
+
|
|
27
|
+
Locate the intended `theme.json`; do not infer a repository-wide active theme. If several Theme Workspaces exist, use
|
|
28
|
+
the one belonging to the application or site in scope. A request to create a new theme authorizes initializing its
|
|
29
|
+
workspace with `npm exec --no -- trellis theme init <directory>`. Reuse the existing workspace for tuning requests.
|
|
30
|
+
|
|
31
|
+
The versioned Theme Config schema is at `generated/schemas/theme-config-v1.json` and identifies itself as
|
|
32
|
+
`https://trellis.build/schemas/theme-config-v1.json`. A config's own `$schema` property is optional editor metadata:
|
|
33
|
+
the compiler does not require or insert it, and a Theme Patch Commit must not add or remove it as a design change.
|
|
34
|
+
|
|
35
|
+
Inspect the workspace's `theme.json`, `base.json`, and relevant recent lines of `commits.jsonl`. Never hand-edit a
|
|
36
|
+
configured generated artifact.
|
|
37
|
+
|
|
38
|
+
## Discover knobs progressively
|
|
39
|
+
|
|
40
|
+
1. Read `generated/knobs/v1/manifest.json` for the available axes, semantic groups, tier counts, and impact scopes.
|
|
41
|
+
2. Search `index.json` with filesystem or JSON tools for words from the request. Keep the result narrow; do not load the
|
|
42
|
+
complete index into the conversation.
|
|
43
|
+
3. Search Primary and Tuning entries first. Map promising index entries' `group` IDs to the manifest's group `file`
|
|
44
|
+
paths, and open only those files.
|
|
45
|
+
4. In a group file, use the knob's path, description, constraints, defaults, parameters, `patch.operation`, and
|
|
46
|
+
`patch.missingParents` to construct valid operations.
|
|
47
|
+
5. Substitute every `{parameter}` with one of the documented values before emitting a JSON Pointer.
|
|
48
|
+
|
|
49
|
+
The escalation tiers are intentional:
|
|
50
|
+
|
|
51
|
+
- **Primary:** establish identity and broad character. Prefer these first.
|
|
52
|
+
- **Tuning:** refine a specific relationship after the primary direction is sound.
|
|
53
|
+
- **Expert:** change low-level policy only when Primary and Tuning controls cannot express the result.
|
|
54
|
+
- **Escape Hatch:** set exact authored values that bypass generator behavior. Use only for an explicit need and state
|
|
55
|
+
why the higher-level controls were insufficient.
|
|
56
|
+
|
|
57
|
+
Do not use many low-level knobs to simulate a higher-level change. Exact palette steps are an escape hatch, not the
|
|
58
|
+
normal way to select an accent or neutral direction.
|
|
59
|
+
|
|
60
|
+
## Author one coherent commit
|
|
61
|
+
|
|
62
|
+
Create a temporary JSON file containing one `ThemePatchCommit`:
|
|
63
|
+
|
|
64
|
+
```json
|
|
65
|
+
{
|
|
66
|
+
"message": "Make motion faster and more direct",
|
|
67
|
+
"operations": [
|
|
68
|
+
{"op": "replace", "path": "/motion/tempo", "value": 0.7},
|
|
69
|
+
{"op": "replace", "path": "/motion/elasticity", "value": 0.1}
|
|
70
|
+
]
|
|
71
|
+
}
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
Use only supported RFC 6902 `add`, `remove`, and `replace` operations. Follow catalog constraints exactly. When a knob
|
|
75
|
+
lists missing parents, add the required structure before its leaf in the same commit. Array members may be replaced,
|
|
76
|
+
but array membership cannot be changed.
|
|
77
|
+
|
|
78
|
+
Prefer the fewest leaf operations that express one design intention. Do not fill optional fields merely because they
|
|
79
|
+
exist, rewrite the base to record an iteration, or rewrite earlier commits for a follow-up adjustment.
|
|
80
|
+
|
|
81
|
+
Apply the candidate through the toolchain:
|
|
82
|
+
|
|
83
|
+
```bash
|
|
84
|
+
npm exec --no -- trellis theme apply path/to/theme.json path/to/candidate.json
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
An accepted apply appends one canonical JSONL record and refreshes selected outputs. If validation or compilation
|
|
88
|
+
fails, use the diagnostics and catalog metadata to correct the candidate; do not patch around the compiler.
|
|
89
|
+
If apply reports a concurrent commit-log change, reload the workspace and reassess the candidate before retrying.
|
|
90
|
+
|
|
91
|
+
## Inspect and iterate
|
|
92
|
+
|
|
93
|
+
Review `commits.jsonl`, generated outputs, and the Git diff. When a runnable application is available, inspect
|
|
94
|
+
representative components in both light and dark appearances, including text hierarchy, controls, nested surfaces,
|
|
95
|
+
focus, disabled and selected states, one overlay, and motion affected by the change.
|
|
96
|
+
|
|
97
|
+
Treat the user's next instruction as a new commit against the current materialized theme. Keep attribution and rollback
|
|
98
|
+
in Git; do not invent conversation state, snapshots, branches, undo commands, or a second revision graph.
|
|
99
|
+
|
|
100
|
+
Use `npm exec --no -- trellis theme build <manifest>` after manual source or merge changes, and
|
|
101
|
+
`npm exec --no -- trellis theme check <manifest>` for a read-only stale-output check. `init` creates source files;
|
|
102
|
+
run `build` to produce the initial outputs. Paths in the manifest resolve relative to the manifest; CLI operands
|
|
103
|
+
resolve from the command's working directory.
|
|
104
|
+
|
|
105
|
+
## Hand off
|
|
106
|
+
|
|
107
|
+
Report the design intention, knob paths and tiers used, accepted diagnostics, generated outputs, and checks performed.
|
|
108
|
+
Call out any Expert or Escape Hatch use explicitly. Do not paste generated CSS unless the user asks for it.
|