@vireo-ai/trellis-ui 0.1.59 → 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 +49 -40
- 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/index.d.ts +3 -2
- 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/image/contract.d.ts +1 -1
- 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/index.d.ts +3 -2
- 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/client/types/runtime/item-template.d.ts +13 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/css/trellis-103fb43eb5e1.css +14030 -0
- 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/bridge-COxhbtRZ.js +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 +386 -346
- 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-CKiK3BQA.js.map +1 -0
- 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/resizable-Ctqx_OoS.js +2 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/resizable-Ctqx_OoS.js.map +1 -0
- 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-D2NgvMgw.js +2 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/shortcut-D2NgvMgw.js.map +1 -0
- 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-CbIOS4Lm.js +2 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/sortable-CbIOS4Lm.js.map +1 -0
- 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-CL4bjCqf.js +2 -0
- 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-Cl8rInnJ.js +2 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-Cl8rInnJ.js.map +1 -0
- 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 +2 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-DQtFqG0K.js.map +1 -0
- 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/item-template-DSfME41Q.js +2 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/item-template-DSfME41Q.js.map +1 -0
- 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 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/button-Dnf0aKac.js +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/button.js +2 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/checkbox-BpFFtrfY.js +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/checkbox.js +2 -1
- 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 -1
- 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 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/direct-upload-DaT6-YFL.js +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/direct-upload.js +2 -1
- 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 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/field-CtQbyblj.js +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/field.js +2 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/file-upload-DARtpJDT.js +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/file-upload.js +2 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/formset-CPO4XZkB.js +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/formset.js +2 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/import-mapper-C-3lKsKm.js +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/import-mapper.js +2 -1
- 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/input-BKEbDkKa.js +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/input.js +2 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/keybinding-RIi2q1IT.js +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/keybinding.js +2 -1
- 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 -1
- 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 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/radio-DrGFMWGq.js +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/radio.js +2 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/scroll-area-CyUCAbgG.js +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/scroll-area.js +2 -1
- 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 -1
- 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 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/slider-OztnTlqr.js +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/slider.js +2 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/switch-CZ7aiASg.js +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/switch.js +2 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/table-G3G5d2Eo.js +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/table.js +2 -1
- 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 -1
- 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 -1
- 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 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/virtualizer-CkRX2qVO.js +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/virtualizer.js +2 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/core-Z4zMCScs.js +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/core.js +2 -1
- 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 +160 -132
- 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 +7 -7
- 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 +7 -7
- 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/js/esm/capabilities/motion.js.map +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/resizable.js.map +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/shortcut.js.map +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/sortable.js.map +0 -1
- 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-18lXAVBg.js +0 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-18lXAVBg.js.map +0 -1
- 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-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-Bp3Npe3t.js +0 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-Bp3Npe3t.js.map +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-Ce_fpT15.js +0 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-Ce_fpT15.js.map +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-DDJEGHq-.js +0 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-DDJEGHq-.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/index.js.map +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/index.js.map +0 -1
package/README.md
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
# Trellis UI
|
package/THIRD_PARTY_NOTICES.md
CHANGED
|
@@ -7,6 +7,8 @@ Trellis UI's morph engine adapts behavior and matching ideas from Alpine.js Morp
|
|
|
7
7
|
- Alpine.js Morph — Copyright © 2019-2025 Caleb Porzio and contributors
|
|
8
8
|
- Morphlex — Copyright © 2024 Joel Drapper
|
|
9
9
|
- Datastar — Copyright © Star Federation
|
|
10
|
+
- TypeBox (bundled in the Node theme CLI) — Copyright © 2017-2026 Haydn Paterson
|
|
11
|
+
- Color.js (bundled in the Node theme CLI) — Copyright © 2021 Lea Verou, Chris Lilley
|
|
10
12
|
|
|
11
13
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
12
14
|
of this software and associated documentation files (the "Software"), to deal
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vireo-ai/trellis-ui",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.61",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Django-native UI toolkit for building realtime and interactive web apps.",
|
|
6
6
|
"license": "MIT",
|
|
@@ -18,21 +18,22 @@
|
|
|
18
18
|
"THIRD_PARTY_NOTICES.md",
|
|
19
19
|
"README.md",
|
|
20
20
|
"packages/client/types/**/*.d.ts",
|
|
21
|
-
"packages/client/src
|
|
22
|
-
"packages/
|
|
23
|
-
"packages/
|
|
24
|
-
"packages/client/src/runtime/**/*.css",
|
|
25
|
-
"packages/server/trellis_ui/static/trellis_ui/assets/css/trellis.css",
|
|
26
|
-
"packages/server/trellis_ui/static/trellis_ui/assets/css/trellis.min.css",
|
|
27
|
-
"packages/server/trellis_ui/static/trellis_ui/assets/js/trellis.js",
|
|
28
|
-
"packages/server/trellis_ui/static/trellis_ui/assets/js/trellis.min.js",
|
|
21
|
+
"packages/client/src/**/*.css",
|
|
22
|
+
"packages/server/trellis_ui/static/trellis_ui/assets/css/*.css",
|
|
23
|
+
"packages/server/trellis_ui/static/trellis_ui/assets/js/*.js",
|
|
29
24
|
"packages/server/trellis_ui/static/trellis_ui/assets/js/esm/**/*.js",
|
|
30
25
|
"packages/server/trellis_ui/static/trellis_ui/assets/js/esm/**/*.js.map",
|
|
31
26
|
"packages/server/trellis_ui/static/trellis_ui/assets/js/esm/**/*.json",
|
|
32
|
-
"!packages/client/types/components/manifests.d.ts",
|
|
33
|
-
"!packages/client/types/components/styles.d.ts",
|
|
27
|
+
"!packages/client/types/components/manifests.generated.d.ts",
|
|
28
|
+
"!packages/client/types/components/styles.generated.d.ts",
|
|
34
29
|
"!packages/client/types/components/**/manifest.d.ts",
|
|
35
|
-
"!packages/client/types/components/**/styles.d.ts"
|
|
30
|
+
"!packages/client/types/components/**/styles.d.ts",
|
|
31
|
+
"!packages/client/types/components/runtime-docs.generated.d.ts",
|
|
32
|
+
"packages/theme-engine/dist/trellis.js",
|
|
33
|
+
"packages/theme-engine/generated/schemas/*.json",
|
|
34
|
+
"packages/theme-engine/generated/knobs/v1/**/*.json",
|
|
35
|
+
"packages/theme-engine/skills/create-trellis-theme/**",
|
|
36
|
+
"packages/theme-engine/THEME_AUTHORING.md"
|
|
36
37
|
],
|
|
37
38
|
"exports": {
|
|
38
39
|
".": {
|
|
@@ -98,44 +99,52 @@
|
|
|
98
99
|
"@types/node": "^25.9.8",
|
|
99
100
|
"alpinejs": "^3.17.4",
|
|
100
101
|
"jsdom": "^29.1.1",
|
|
102
|
+
"postcss": "8.5.28",
|
|
103
|
+
"postcss-value-parser": "4.2.0",
|
|
101
104
|
"tailwindcss": "^4.3.3",
|
|
102
105
|
"typescript": "^6.0.3",
|
|
103
106
|
"vite": "^8.3.0",
|
|
104
107
|
"vitest": "^4.1.11"
|
|
105
108
|
},
|
|
109
|
+
"bin": {
|
|
110
|
+
"trellis": "./packages/theme-engine/dist/trellis.js"
|
|
111
|
+
},
|
|
106
112
|
"scripts": {
|
|
107
|
-
"generate:component-entries": "node scripts/
|
|
108
|
-
"analyze:runtime": "node scripts/
|
|
109
|
-
"check:runtime-boundary": "node scripts/
|
|
110
|
-
"verify:packed-consumer": "node scripts/
|
|
111
|
-
"typecheck": "
|
|
112
|
-
"test:unit": "
|
|
113
|
-
"test:python": "
|
|
114
|
-
"test:browser": "
|
|
115
|
-
"test": "
|
|
116
|
-
"test:watch": "
|
|
113
|
+
"generate:component-entries": "node scripts/build.mjs generate:component-entries",
|
|
114
|
+
"analyze:runtime": "node scripts/build.mjs analyze:runtime",
|
|
115
|
+
"check:runtime-boundary": "node scripts/build.mjs check:runtime-boundary",
|
|
116
|
+
"verify:packed-consumer": "node scripts/build.mjs verify:packed-consumer",
|
|
117
|
+
"typecheck": "node scripts/build.mjs typecheck",
|
|
118
|
+
"test:unit": "node scripts/build.mjs test:unit",
|
|
119
|
+
"test:python": "node scripts/build.mjs test:python",
|
|
120
|
+
"test:browser": "node scripts/build.mjs test:browser",
|
|
121
|
+
"test": "node scripts/build.mjs test",
|
|
122
|
+
"test:watch": "node scripts/build.mjs test:watch",
|
|
117
123
|
"trellis": "node packages/theme-engine/dist/cli.js",
|
|
118
124
|
"prek": "uv run prek",
|
|
119
|
-
"clean:types": "node
|
|
120
|
-
"build:theme": "
|
|
121
|
-
"build:docs-theme": "
|
|
122
|
-
"build:sources": "
|
|
123
|
-
"build:manifests": "
|
|
124
|
-
"build:runtime-docs": "
|
|
125
|
-
"generate:runtime-docs": "
|
|
126
|
-
"build:types": "
|
|
127
|
-
"build:js": "
|
|
128
|
-
"build:css": "
|
|
129
|
-
"build:package": "
|
|
130
|
-
"build:docs": "
|
|
131
|
-
"build": "
|
|
132
|
-
"check": "
|
|
133
|
-
"check:packages": "
|
|
134
|
-
"check:release": "
|
|
125
|
+
"clean:types": "node scripts/build.mjs clean:types",
|
|
126
|
+
"build:theme": "node scripts/build.mjs build:theme",
|
|
127
|
+
"build:docs-theme": "node scripts/build.mjs build:docs-theme",
|
|
128
|
+
"build:sources": "node scripts/build.mjs build:sources",
|
|
129
|
+
"build:manifests": "node scripts/build.mjs build:manifests",
|
|
130
|
+
"build:runtime-docs": "node scripts/build.mjs build:runtime-docs",
|
|
131
|
+
"generate:runtime-docs": "node scripts/build.mjs generate:runtime-docs",
|
|
132
|
+
"build:types": "node scripts/build.mjs build:types",
|
|
133
|
+
"build:js": "node scripts/build.mjs build:js",
|
|
134
|
+
"build:css": "node scripts/build.mjs build:css",
|
|
135
|
+
"build:package": "node scripts/build.mjs build:package",
|
|
136
|
+
"build:docs": "node scripts/build.mjs build:docs",
|
|
137
|
+
"build": "node scripts/build.mjs build",
|
|
138
|
+
"check": "node scripts/build.mjs check",
|
|
139
|
+
"check:packages": "node scripts/build.mjs check:packages",
|
|
140
|
+
"check:release": "node scripts/build.mjs check:release",
|
|
135
141
|
"release": "node scripts/release.mjs",
|
|
136
142
|
"publish:npm": "pnpm run check:release && pnpm publish dist/trellis-ui.tgz --access public --ignore-scripts",
|
|
137
|
-
"publish:pypi": "
|
|
143
|
+
"publish:pypi": "node scripts/build.mjs python:pack && uv publish dist/django_trellis-${npm_package_version}.tar.gz dist/django_trellis-${npm_package_version}-py3-none-any.whl",
|
|
138
144
|
"publish:all": "pnpm run check:release && pnpm publish dist/trellis-ui.tgz --access public --ignore-scripts && uv publish dist/django_trellis-${npm_package_version}.tar.gz dist/django_trellis-${npm_package_version}-py3-none-any.whl",
|
|
139
|
-
"dev:css": "pnpm run build:sources &&
|
|
145
|
+
"dev:css": "pnpm run build:sources && pnpm run \"/^dev:css:(compile|assets)$/\"",
|
|
146
|
+
"dev:css:compile": "tailwindcss -i ./packages/client/src/styles/static.css -o ./packages/server/trellis_ui/static/trellis_ui/assets/css/trellis.min.css --minify --watch",
|
|
147
|
+
"dev:css:assets": "node scripts/generate_static_asset_registry.mjs --watch",
|
|
148
|
+
"build:cli": "node scripts/build.mjs build:cli"
|
|
140
149
|
}
|
|
141
150
|
}
|
|
@@ -104,7 +104,8 @@
|
|
|
104
104
|
box-shadow: 0 0 0 var(--color-intent-accent-focus-width) var(--color-intent-accent-focus);
|
|
105
105
|
}
|
|
106
106
|
|
|
107
|
-
|
|
107
|
+
/* Nested actions own their paired ink and disabled attenuation. */
|
|
108
|
+
[data-ui-control][data-ui-control-recipe="field"] :is(input, select, textarea, button):disabled:not([data-ui-action-recipe]) {
|
|
108
109
|
color: inherit;
|
|
109
110
|
opacity: 1;
|
|
110
111
|
-webkit-text-fill-color: currentColor;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare const fullRuntimeAssetIds: readonly ["trellis:core", "trellis:motion", "trellis:resizable", "trellis:sortable", "trellis:shortcut", "trellis:accordion", "trellis:button", "trellis:checkbox", "trellis:date-picker", "trellis:direct-upload", "trellis:dropdown", "trellis:field", "trellis:file-upload", "trellis:formset", "trellis:import-mapper", "trellis:input", "trellis:keybinding", "trellis:modal", "trellis:panels", "trellis:radio", "trellis:scroll-area", "trellis:select", "trellis:sidebar", "trellis:slider", "trellis:switch", "trellis:tabs", "trellis:toast", "trellis:tooltip", "trellis:data-grid", "trellis:virtualizer", "trellis:table"];
|
|
1
|
+
declare const fullRuntimeAssetIds: readonly ["trellis:core", "trellis:motion", "trellis:anchor", "trellis:resizable", "trellis:sortable", "trellis:shortcut", "trellis:accordion", "trellis:button", "trellis:checkbox", "trellis:date-picker", "trellis:direct-upload", "trellis:dropdown", "trellis:field", "trellis:file-upload", "trellis:formset", "trellis:import-mapper", "trellis:input", "trellis:keybinding", "trellis:modal", "trellis:panels", "trellis:radio", "trellis:scroll-area", "trellis:select", "trellis:sidebar", "trellis:slider", "trellis:switch", "trellis:tabs", "trellis:toast", "trellis:tooltip", "trellis:data-grid", "trellis:virtualizer", "trellis:table"];
|
|
2
2
|
export { fullRuntimeAssetIds };
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { Alpine as AlpineType } from 'alpinejs';
|
|
2
|
+
import { registerAnchorDirective } from '../directives/anchor';
|
|
3
|
+
declare const registerAnchorCapability: (AlpineInstance: AlpineType) => void;
|
|
4
|
+
export { registerAnchorDirective, registerAnchorCapability };
|
|
5
|
+
export type { AnchorRectangle, AnchorTarget } from '../directives/anchor';
|
|
6
|
+
export { createAnchoredPopover, createAnchoredPopoverSurface, } from '../runtime/anchored-popover';
|
|
7
|
+
export type { AnchoredPopover, AnchoredPopoverOptions, AnchoredPopoverSurface, PopoverAlign, PopoverSide, } from '../runtime/anchored-popover';
|
|
@@ -31,6 +31,7 @@ export * from './data-grid/entry.generated';
|
|
|
31
31
|
export * from './virtualizer/entry.generated';
|
|
32
32
|
export * from './table/entry.generated';
|
|
33
33
|
export * from '../capabilities/motion';
|
|
34
|
+
export * from '../capabilities/anchor';
|
|
34
35
|
export * from '../capabilities/resizable';
|
|
35
36
|
export * from '../capabilities/sortable';
|
|
36
37
|
export * from '../capabilities/shortcut';
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type Alpine from 'alpinejs';
|
|
1
2
|
import { type AlpineMachine, type TransitionForHook, type TrellisAlpineComponent } from '../../runtime';
|
|
2
3
|
import { type FileUploadProps } from './contract';
|
|
3
4
|
import { fileUploadHooks, type FileTransferStatus, type FileUploadContext, type FileUploadMetadata, type FileUploadRecord } from './machine';
|
|
@@ -38,7 +39,7 @@ type FileUploadData = AlpineMachine<FileUploadContext, FileUploadProps, typeof f
|
|
|
38
39
|
init(): void;
|
|
39
40
|
destroy(): void;
|
|
40
41
|
};
|
|
41
|
-
declare const UiFileUpload: () => TrellisAlpineComponent<FileUploadData>;
|
|
42
|
-
declare const registerFileUpload:
|
|
42
|
+
declare const UiFileUpload: (AlpineInstance: Alpine.Alpine) => TrellisAlpineComponent<FileUploadData>;
|
|
43
|
+
declare const registerFileUpload: (AlpineInstance: Alpine.Alpine) => void;
|
|
43
44
|
export { registerFileUpload, UiFileUpload };
|
|
44
45
|
export type { FileTransferStatus, FileUploadData, FileUploadMetadata, FileUploadRecord, FileUploadTransition, UiFileUploadApi, };
|
|
@@ -6,7 +6,7 @@ declare const imageSchema: {
|
|
|
6
6
|
src: import("../../runtime/codecs").StringCodec;
|
|
7
7
|
alt: import("../../runtime/codecs").StringCodec;
|
|
8
8
|
fit: import("../../runtime/codecs").OneOfCodec<"fill" | "contain" | "none" | "cover" | "scale-down">;
|
|
9
|
-
loading: import("../../runtime/codecs").OneOfCodec<"
|
|
9
|
+
loading: import("../../runtime/codecs").OneOfCodec<"lazy" | "eager">;
|
|
10
10
|
decoding: import("../../runtime/codecs").OneOfCodec<"auto" | "sync" | "async">;
|
|
11
11
|
class: import("../../runtime/codecs").StringCodec;
|
|
12
12
|
imageClass: import("../../runtime/codecs").StringCodec;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type Alpine from 'alpinejs';
|
|
1
2
|
import { type AlpineMachine, type TransitionForHook, type TrellisAlpineComponent } from '../../runtime';
|
|
2
3
|
import { type BindingObject } from '../../runtime/merge-bindings';
|
|
3
4
|
import { type SelectProps } from './contract';
|
|
@@ -48,7 +49,7 @@ type SelectData = AlpineMachine<SelectContext, SelectProps, typeof selectHooks>
|
|
|
48
49
|
init(): void;
|
|
49
50
|
destroy(): void;
|
|
50
51
|
};
|
|
51
|
-
declare const UiSelect: () => TrellisAlpineComponent<SelectData>;
|
|
52
|
-
declare const registerSelect:
|
|
52
|
+
declare const UiSelect: (AlpineInstance: Alpine.Alpine) => TrellisAlpineComponent<SelectData>;
|
|
53
|
+
declare const registerSelect: (AlpineInstance: Alpine.Alpine) => void;
|
|
53
54
|
export { registerSelect, UiSelect };
|
|
54
55
|
export type { SelectData, SelectTransition, UiSelectApi };
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type Alpine from 'alpinejs';
|
|
2
|
+
/** Viewport-relative CSS pixels. Zero-sized rectangles can anchor a caret. */
|
|
3
|
+
type AnchorRectangle = {
|
|
4
|
+
x: number;
|
|
5
|
+
y: number;
|
|
6
|
+
width: number;
|
|
7
|
+
height: number;
|
|
8
|
+
};
|
|
9
|
+
type AnchorTarget = Element | AnchorRectangle | null;
|
|
10
|
+
/**
|
|
11
|
+
* Registers x-anchor="element | {x, y, width, height} | null" in Alpine.
|
|
12
|
+
*
|
|
13
|
+
* Modifiers: .top/.bottom/.left/.right, .start/.center/.end, .gap.N, .offset.N.
|
|
14
|
+
* Defaults: bottom-center, 8px gap, 0px cross-axis offset. Uses fixed positioning
|
|
15
|
+
* and Trellis's shared flip, shift (5px padding), size, and placement metadata.
|
|
16
|
+
*
|
|
17
|
+
* x-show, hidden, and native popover visibility remain application-owned. Hidden
|
|
18
|
+
* surfaces pause positioning; null detaches without hiding or clearing the last
|
|
19
|
+
* position. Rectangle replacements and field edits are reactive. Scroll/resize
|
|
20
|
+
* refresh positioning, but applications must supply updated viewport rectangles
|
|
21
|
+
* when their source moves. Element references use Floating UI's autoUpdate.
|
|
22
|
+
* Teardown removes observers/listeners and invalidates pending position writes.
|
|
23
|
+
*/
|
|
24
|
+
declare const registerAnchorDirective: (AlpineInstance: Alpine.Alpine) => void;
|
|
25
|
+
export { registerAnchorDirective };
|
|
26
|
+
export type { AnchorRectangle, AnchorTarget };
|
|
@@ -1,13 +1,15 @@
|
|
|
1
|
+
import { type ReferenceElement, type Strategy } from '@floating-ui/dom';
|
|
1
2
|
type PopoverSide = 'top' | 'bottom' | 'left' | 'right';
|
|
2
3
|
type PopoverAlign = 'start' | 'center' | 'end';
|
|
3
4
|
type AnchoredPopoverOptions = {
|
|
4
|
-
reference: () =>
|
|
5
|
+
reference: () => ReferenceElement;
|
|
5
6
|
floating: () => HTMLElement;
|
|
6
7
|
position: () => PopoverSide;
|
|
7
8
|
align: () => PopoverAlign;
|
|
8
9
|
gap: () => number;
|
|
9
10
|
offset: () => number;
|
|
10
11
|
matchReferenceWidth?: boolean;
|
|
12
|
+
strategy?: Strategy;
|
|
11
13
|
};
|
|
12
14
|
type AnchoredPopover = {
|
|
13
15
|
mounted(): boolean;
|
|
@@ -22,7 +24,7 @@ type AnchoredPopoverSurface = {
|
|
|
22
24
|
sync(): void;
|
|
23
25
|
destroy(): void;
|
|
24
26
|
};
|
|
25
|
-
declare const createAnchoredPopover: ({ reference, floating, position: getPosition, align: getAlign, gap, offset, matchReferenceWidth, }: AnchoredPopoverOptions) => AnchoredPopover;
|
|
27
|
+
declare const createAnchoredPopover: ({ reference, floating, position: getPosition, align: getAlign, gap, offset, matchReferenceWidth, strategy, }: AnchoredPopoverOptions) => AnchoredPopover;
|
|
26
28
|
declare const createAnchoredPopoverSurface: (options: AnchoredPopoverOptions) => AnchoredPopoverSurface;
|
|
27
29
|
export { createAnchoredPopover, createAnchoredPopoverSurface };
|
|
28
30
|
export type { AnchoredPopover, AnchoredPopoverOptions, AnchoredPopoverSurface, PopoverAlign, PopoverSide };
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type Alpine from 'alpinejs';
|
|
2
|
+
/** A mounted, scoped template owns its Alpine tree until removal. */
|
|
3
|
+
type TemplateInstance<T extends Record<string, unknown>> = {
|
|
4
|
+
readonly element: HTMLElement;
|
|
5
|
+
readonly template: HTMLTemplateElement;
|
|
6
|
+
update(scope: T): void;
|
|
7
|
+
mount(container: HTMLElement, before?: Node | null): void;
|
|
8
|
+
destroy(): void;
|
|
9
|
+
};
|
|
10
|
+
declare const createTemplateInstance: <T extends Record<string, unknown>>(AlpineInstance: Alpine.Alpine, template: HTMLTemplateElement, initialScope: T) => TemplateInstance<T>;
|
|
11
|
+
declare const findItemTemplate: (root: HTMLElement, attribute: string) => HTMLTemplateElement | undefined;
|
|
12
|
+
export { createTemplateInstance, findItemTemplate };
|
|
13
|
+
export type { TemplateInstance };
|