@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.
Files changed (239) hide show
  1. package/README.md +0 -1
  2. package/THIRD_PARTY_NOTICES.md +2 -0
  3. package/package.json +49 -40
  4. package/packages/client/src/components/field/styles.css +2 -1
  5. package/packages/client/src/styles/components.css +1 -0
  6. package/packages/client/src/styles/static.css +0 -1
  7. package/packages/client/types/assets/full-runtime.generated.d.ts +1 -1
  8. package/packages/client/types/capabilities/anchor.d.ts +7 -0
  9. package/packages/client/types/capabilities/anchor.entry.generated.d.ts +3 -0
  10. package/packages/client/types/components/accordion/runtime-docs.d.ts +1 -0
  11. package/packages/client/types/components/checkbox/runtime-docs.d.ts +1 -0
  12. package/packages/client/types/components/data-grid/runtime-docs.d.ts +1 -0
  13. package/packages/client/types/components/date-picker/runtime-docs.d.ts +1 -0
  14. package/packages/client/types/components/direct-upload/runtime-docs.d.ts +1 -0
  15. package/packages/client/types/components/dropdown/runtime-docs.d.ts +1 -0
  16. package/packages/client/types/components/entry.generated.d.ts +1 -0
  17. package/packages/client/types/components/field/runtime-docs.d.ts +1 -0
  18. package/packages/client/types/components/file-upload/index.d.ts +3 -2
  19. package/packages/client/types/components/file-upload/runtime-docs.d.ts +1 -0
  20. package/packages/client/types/components/formset/runtime-docs.d.ts +1 -0
  21. package/packages/client/types/components/image/contract.d.ts +1 -1
  22. package/packages/client/types/components/modal/runtime-docs.d.ts +1 -0
  23. package/packages/client/types/components/panels/runtime-docs.d.ts +1 -0
  24. package/packages/client/types/components/radio/runtime-docs.d.ts +1 -0
  25. package/packages/client/types/components/scroll-area/runtime-docs.d.ts +1 -0
  26. package/packages/client/types/components/select/index.d.ts +3 -2
  27. package/packages/client/types/components/select/runtime-docs.d.ts +1 -0
  28. package/packages/client/types/components/sidebar/runtime-docs.d.ts +1 -0
  29. package/packages/client/types/components/slider/runtime-docs.d.ts +1 -0
  30. package/packages/client/types/components/switch/runtime-docs.d.ts +1 -0
  31. package/packages/client/types/components/tabs/runtime-docs.d.ts +1 -0
  32. package/packages/client/types/components/toast/runtime-docs.d.ts +1 -0
  33. package/packages/client/types/components/tooltip/runtime-docs.d.ts +1 -0
  34. package/packages/client/types/components/virtualizer/runtime-docs.d.ts +1 -0
  35. package/packages/client/types/directives/anchor.d.ts +26 -0
  36. package/packages/client/types/directives/index.d.ts +1 -0
  37. package/packages/client/types/runtime/anchored-popover.d.ts +4 -2
  38. package/packages/client/types/runtime/item-template.d.ts +13 -0
  39. package/packages/server/trellis_ui/static/trellis_ui/assets/css/trellis-103fb43eb5e1.css +14030 -0
  40. package/packages/server/trellis_ui/static/trellis_ui/assets/css/trellis.css +23 -23
  41. package/packages/server/trellis_ui/static/trellis_ui/assets/css/trellis.min-584dec82495c.css +2 -0
  42. package/packages/server/trellis_ui/static/trellis_ui/assets/css/trellis.min.css +1 -1
  43. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/bridge-COxhbtRZ.js +1 -0
  44. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/bridge.js +1 -1
  45. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/build-metadata.json +386 -346
  46. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/anchor-B-CbpFFU.js +2 -0
  47. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/anchor-B-CbpFFU.js.map +1 -0
  48. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/anchor.js +2 -0
  49. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/motion-CKiK3BQA.js +2 -0
  50. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/motion-CKiK3BQA.js.map +1 -0
  51. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/motion.js +2 -2
  52. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/resizable-Ctqx_OoS.js +2 -0
  53. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/resizable-Ctqx_OoS.js.map +1 -0
  54. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/resizable.js +2 -2
  55. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/shortcut-D2NgvMgw.js +2 -0
  56. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/shortcut-D2NgvMgw.js.map +1 -0
  57. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/shortcut.js +2 -2
  58. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/sortable-CbIOS4Lm.js +2 -0
  59. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/sortable-CbIOS4Lm.js.map +1 -0
  60. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/sortable.js +2 -2
  61. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-anchor-lhqk7hfo.js +2 -0
  62. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-anchor-lhqk7hfo.js.map +1 -0
  63. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-motion-B32HePGn.js +2 -0
  64. 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
  65. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-sortable-Bl6ng6Hd.js +5 -0
  66. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{capability-sortable-BDbURlVO.js.map → capability-sortable-Bl6ng6Hd.js.map} +1 -1
  67. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/controller-C8xqwkr0.js.map +1 -1
  68. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/core-BxNepYBE.js +2 -0
  69. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{core-Ybm_WmKr.js.map → core-BxNepYBE.js.map} +1 -1
  70. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-7hdXmBLE.js +2 -0
  71. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-7hdXmBLE.js.map +1 -0
  72. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-DDrayI_M.js → entry.generated-BRaKxvab.js} +2 -2
  73. 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
  74. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-BnqcHAaF.js.map +1 -1
  75. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-OT_bt7F2.js → entry.generated-BzLNUDzF.js} +2 -2
  76. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-BzLNUDzF.js.map +1 -0
  77. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-CEfr2bmw.js +2 -0
  78. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-CEfr2bmw.js.map +1 -0
  79. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-CL4bjCqf.js +2 -0
  80. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-CL4bjCqf.js.map +1 -0
  81. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-BgGSoQFS.js → entry.generated-Cbyseoex.js} +2 -2
  82. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-Cbyseoex.js.map +1 -0
  83. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-Cf2hKkwA.js +2 -0
  84. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-Cf2hKkwA.js.map +1 -0
  85. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-CfYgsDun.js.map +1 -1
  86. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-Cl8rInnJ.js +2 -0
  87. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-Cl8rInnJ.js.map +1 -0
  88. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-dcqwycC7.js → entry.generated-Ct9H8Hlf.js} +2 -2
  89. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-Ct9H8Hlf.js.map +1 -0
  90. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-D2es_Wi2.js.map +1 -1
  91. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-DQtFqG0K.js +2 -0
  92. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-DQtFqG0K.js.map +1 -0
  93. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-FCDgmA0s.js +2 -0
  94. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-FCDgmA0s.js.map +1 -0
  95. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-J0oGNBzS.js +2 -0
  96. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-J0oGNBzS.js.map +1 -0
  97. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{flip-crNQSZEa.js → flip-BKThFI4L.js} +2 -2
  98. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{flip-crNQSZEa.js.map → flip-BKThFI4L.js.map} +1 -1
  99. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/item-template-DSfME41Q.js +2 -0
  100. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/item-template-DSfME41Q.js.map +1 -0
  101. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{motion-B90yNOaV.js → motion-RwlK04Cy.js} +2 -2
  102. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{motion-B90yNOaV.js.map → motion-RwlK04Cy.js.map} +1 -1
  103. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/styles-CQDZhwd_.js.map +1 -1
  104. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{ui-CTQoglp3.js → ui-Bg44ZmC3.js} +4 -4
  105. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/ui-Bg44ZmC3.js.map +1 -0
  106. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/warn-BbGtqbh1.js +2 -0
  107. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/warn-BbGtqbh1.js.map +1 -0
  108. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/accordion-DpoqsP_I.js +1 -0
  109. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/accordion.js +2 -1
  110. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/button-Dnf0aKac.js +1 -0
  111. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/button.js +2 -1
  112. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/checkbox-BpFFtrfY.js +1 -0
  113. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/checkbox.js +2 -1
  114. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/data-grid-CCPYnOuT.js +1 -0
  115. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/data-grid.js +2 -1
  116. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/date-picker-BCkP5gtC.js +1 -0
  117. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/date-picker.js +2 -1
  118. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/direct-upload-DaT6-YFL.js +1 -0
  119. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/direct-upload.js +2 -1
  120. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/dropdown-Cc84envj.js +1 -0
  121. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/dropdown.js +2 -1
  122. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/field-CtQbyblj.js +1 -0
  123. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/field.js +2 -1
  124. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/file-upload-DARtpJDT.js +1 -0
  125. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/file-upload.js +2 -1
  126. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/formset-CPO4XZkB.js +1 -0
  127. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/formset.js +2 -1
  128. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/import-mapper-C-3lKsKm.js +1 -0
  129. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/import-mapper.js +2 -1
  130. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/index-DRH3gncZ.js +2 -0
  131. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/index-DRH3gncZ.js.map +1 -0
  132. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/index.js +2 -2
  133. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/input-BKEbDkKa.js +1 -0
  134. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/input.js +2 -1
  135. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/keybinding-RIi2q1IT.js +1 -0
  136. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/keybinding.js +2 -1
  137. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/modal-MUHGUsup.js +1 -0
  138. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/modal.js +2 -1
  139. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/panels-DNAroAhk.js +1 -0
  140. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/panels.js +2 -1
  141. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/radio-DrGFMWGq.js +1 -0
  142. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/radio.js +2 -1
  143. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/scroll-area-CyUCAbgG.js +1 -0
  144. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/scroll-area.js +2 -1
  145. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/select-BjLF548F.js +1 -0
  146. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/select.js +2 -1
  147. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/sidebar-GpvEBW3K.js +1 -0
  148. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/sidebar.js +2 -1
  149. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/slider-OztnTlqr.js +1 -0
  150. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/slider.js +2 -1
  151. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/switch-CZ7aiASg.js +1 -0
  152. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/switch.js +2 -1
  153. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/table-G3G5d2Eo.js +1 -0
  154. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/table.js +2 -1
  155. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/tabs-bq7j1uwx.js +1 -0
  156. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/tabs.js +2 -1
  157. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/toast-DkP0-rBO.js +1 -0
  158. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/toast.js +2 -1
  159. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/tooltip-OITEWczP.js +1 -0
  160. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/tooltip.js +2 -1
  161. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/virtualizer-CkRX2qVO.js +1 -0
  162. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/virtualizer.js +2 -1
  163. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/core-Z4zMCScs.js +1 -0
  164. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/core.js +2 -1
  165. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/index-DAz_hKiB.js +2 -0
  166. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/index-DAz_hKiB.js.map +1 -0
  167. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/index.js +2 -2
  168. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/logical-entry-manifest.json +160 -132
  169. package/packages/server/trellis_ui/static/trellis_ui/assets/js/trellis-ecb43dfd3b7b.js +11 -0
  170. package/packages/server/trellis_ui/static/trellis_ui/assets/js/trellis.js +7 -7
  171. package/packages/server/trellis_ui/static/trellis_ui/assets/js/trellis.min-ecb43dfd3b7b.js +11 -0
  172. package/packages/server/trellis_ui/static/trellis_ui/assets/js/trellis.min.js +7 -7
  173. package/packages/theme-engine/README.md +221 -0
  174. package/packages/theme-engine/THEME_AUTHORING.md +44 -0
  175. package/packages/theme-engine/dist/trellis.js +16935 -0
  176. package/packages/theme-engine/generated/knobs/v1/color-alpha.json +2426 -0
  177. package/packages/theme-engine/generated/knobs/v1/color-foundations.json +1582 -0
  178. package/packages/theme-engine/generated/knobs/v1/color-ink.json +6541 -0
  179. package/packages/theme-engine/generated/knobs/v1/color-lighting.json +3056 -0
  180. package/packages/theme-engine/generated/knobs/v1/color-normalization.json +1685 -0
  181. package/packages/theme-engine/generated/knobs/v1/color-ramps.json +14304 -0
  182. package/packages/theme-engine/generated/knobs/v1/composition.json +881 -0
  183. package/packages/theme-engine/generated/knobs/v1/depth.json +1705 -0
  184. package/packages/theme-engine/generated/knobs/v1/edges.json +326 -0
  185. package/packages/theme-engine/generated/knobs/v1/index.json +20096 -0
  186. package/packages/theme-engine/generated/knobs/v1/manifest.json +719 -0
  187. package/packages/theme-engine/generated/knobs/v1/motion.json +128 -0
  188. package/packages/theme-engine/generated/knobs/v1/radii.json +331 -0
  189. package/packages/theme-engine/generated/knobs/v1/semantic-actions.json +1814 -0
  190. package/packages/theme-engine/generated/knobs/v1/semantic-disabled.json +759 -0
  191. package/packages/theme-engine/generated/knobs/v1/semantic-disclosure.json +59 -0
  192. package/packages/theme-engine/generated/knobs/v1/semantic-intents.json +4841 -0
  193. package/packages/theme-engine/generated/knobs/v1/semantic-scrim.json +308 -0
  194. package/packages/theme-engine/generated/knobs/v1/semantic-selection.json +940 -0
  195. package/packages/theme-engine/generated/knobs/v1/semantic-structure.json +365 -0
  196. package/packages/theme-engine/generated/knobs/v1/sizing-anatomy.json +3112 -0
  197. package/packages/theme-engine/generated/knobs/v1/sizing-controls.json +599 -0
  198. package/packages/theme-engine/generated/knobs/v1/sizing-measures.json +1089 -0
  199. package/packages/theme-engine/generated/knobs/v1/spacing.json +1246 -0
  200. package/packages/theme-engine/generated/knobs/v1/substrates.json +315 -0
  201. package/packages/theme-engine/generated/knobs/v1/surfaces.json +870 -0
  202. package/packages/theme-engine/generated/knobs/v1/typography-anatomy.json +1754 -0
  203. package/packages/theme-engine/generated/knobs/v1/typography-fonts.json +711 -0
  204. package/packages/theme-engine/generated/knobs/v1/typography-scale.json +329 -0
  205. package/packages/theme-engine/generated/schemas/theme-config-v1.json +3987 -0
  206. package/packages/theme-engine/generated/schemas/theme-manifest-v1.json +79 -0
  207. package/packages/theme-engine/skills/create-trellis-theme/SKILL.md +108 -0
  208. package/packages/client/types/components/runtime-docs.d.ts +0 -2
  209. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/motion.js.map +0 -1
  210. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/resizable.js.map +0 -1
  211. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/shortcut.js.map +0 -1
  212. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/sortable.js.map +0 -1
  213. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/anchored-popover-BwQbt4V2.js +0 -2
  214. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/anchored-popover-BwQbt4V2.js.map +0 -1
  215. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-motion-D_BJBnwB.js +0 -2
  216. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-sortable-BDbURlVO.js +0 -5
  217. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/core-Ybm_WmKr.js +0 -2
  218. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-18lXAVBg.js +0 -2
  219. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-18lXAVBg.js.map +0 -1
  220. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-2YvnuzOD.js +0 -2
  221. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-2YvnuzOD.js.map +0 -1
  222. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-BITa8xFV.js +0 -2
  223. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-BITa8xFV.js.map +0 -1
  224. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-BSVJpGWu.js +0 -2
  225. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-BSVJpGWu.js.map +0 -1
  226. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-BgGSoQFS.js.map +0 -1
  227. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-Bp3Npe3t.js +0 -2
  228. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-Bp3Npe3t.js.map +0 -1
  229. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-Ce_fpT15.js +0 -2
  230. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-Ce_fpT15.js.map +0 -1
  231. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-DDJEGHq-.js +0 -2
  232. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-DDJEGHq-.js.map +0 -1
  233. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-OT_bt7F2.js.map +0 -1
  234. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-WRveW7p9.js +0 -2
  235. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-WRveW7p9.js.map +0 -1
  236. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-dcqwycC7.js.map +0 -1
  237. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/ui-CTQoglp3.js.map +0 -1
  238. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/index.js.map +0 -1
  239. 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
@@ -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.59",
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/styles/**/*.css",
22
- "packages/client/src/components/**/*.css",
23
- "packages/client/src/directives/**/*.css",
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/generate_component_entries.mjs",
108
- "analyze:runtime": "node scripts/analyze_runtime_build.mjs",
109
- "check:runtime-boundary": "node scripts/generate_asset_registry.mjs --check && node scripts/check_runtime_boundary.mjs",
110
- "verify:packed-consumer": "node scripts/verify_packed_consumer.mjs",
111
- "typecheck": "pnpm run generate:component-entries && tsc --noEmit",
112
- "test:unit": "pnpm run generate:component-entries && vitest run --configLoader runner --no-file-parallelism",
113
- "test:python": "uv run pytest tests/server",
114
- "test:browser": "playwright test",
115
- "test": "pnpm run test:unit && pnpm run test:python && pnpm run test:browser",
116
- "test:watch": "pnpm run generate:component-entries && vitest --configLoader runner",
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 -e \"require('node:fs').rmSync('packages/client/types', { recursive: true, force: true })\"",
120
- "build:theme": "pnpm --filter @vireo-ai/trellis-theme-engine run build && node packages/theme-engine/scripts/generate-default-css.mjs && node packages/theme-engine/scripts/generate-theme-knobs.mjs",
121
- "build:docs-theme": "pnpm trellis theme build docs/trellis/themes/default/theme.json",
122
- "build:sources": "pnpm run build:theme && pnpm run build:manifests",
123
- "build:manifests": "vite build --config vite.manifests.config.ts --configLoader runner && python3 scripts/generate_ui_events.py",
124
- "build:runtime-docs": "pnpm run build:manifests && pnpm run build:types && pnpm run generate:runtime-docs",
125
- "generate:runtime-docs": "vite build --config vite.runtime-docs.config.ts --configLoader runner && api-extractor run --local && node scripts/generate_component_runtime_docs.mjs",
126
- "build:types": "pnpm run generate:component-entries && pnpm run clean:types && tsc -p tsconfig.build.json && node scripts/rewrite_declaration_aliases.mjs",
127
- "build:js": "pnpm run generate:component-entries && vite build --configLoader runner && node scripts/copy_minified_js_alias.mjs && vite build --config vite.esm.config.ts --configLoader runner && node scripts/generate_asset_registry.mjs && pnpm run analyze:runtime && pnpm run build:types",
128
- "build:css": "pnpm run build:sources && tailwindcss -i ./packages/client/src/styles/static.css -o ./packages/server/trellis_ui/static/trellis_ui/assets/css/trellis.css && tailwindcss -i ./packages/client/src/styles/static.css -o ./packages/server/trellis_ui/static/trellis_ui/assets/css/trellis.min.css --minify",
129
- "build:package": "pnpm run build:css && pnpm run build:js",
130
- "build:docs": "pnpm --dir docs run build",
131
- "build": "pnpm run build:package && pnpm run build:docs",
132
- "check": "pnpm run build:package && pnpm run generate:runtime-docs && pnpm run typecheck && pnpm test",
133
- "check:packages": "pnpm --filter @vireo-ai/trellis-theme-engine run verify:package && pnpm run check:runtime-boundary && pnpm run verify:packed-consumer && uv build --sdist --wheel",
134
- "check:release": "pnpm run check && pnpm run check:packages",
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": "pnpm run build:package && uv build --sdist --wheel && uv publish dist/django_trellis-${npm_package_version}.tar.gz dist/django_trellis-${npm_package_version}-py3-none-any.whl",
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 && tailwindcss -i ./packages/client/src/styles/static.css -o ./packages/server/trellis_ui/static/trellis_ui/assets/css/trellis.min.css --minify --watch"
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
- [data-ui-control][data-ui-control-recipe="field"] :is(input, select, textarea, button):disabled {
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;
@@ -6,6 +6,7 @@
6
6
  ::part(...), :has(...), native quirks, or child-order selectors.
7
7
  */
8
8
 
9
+ @import "./motion.css";
9
10
  @import "../runtime/drag-and-drop/resize-handle.css";
10
11
  @import "../components/brand/styles.css";
11
12
  @import "../components/app/styles.css";
@@ -1,4 +1,3 @@
1
1
  @import "./generated/theme-fonts.css";
2
2
  @import "tailwindcss" source(none);
3
3
  @import "./theme.css";
4
- @import "./motion.css";
@@ -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';
@@ -0,0 +1,3 @@
1
+ import { registerAnchorCapability } from './anchor';
2
+ export default registerAnchorCapability;
3
+ export * from './anchor';
@@ -1,2 +1,3 @@
1
1
  declare const accordionRuntimeDocs: import("../../docs/transition-docs").ComponentTransitionDocs;
2
2
  export { accordionRuntimeDocs };
3
+ export declare const runtimeDocs: readonly [import("../../docs/transition-docs").ComponentTransitionDocs];
@@ -1,2 +1,3 @@
1
1
  declare const checkboxRuntimeDocs: import("../../docs/transition-docs").ComponentTransitionDocs;
2
2
  export { checkboxRuntimeDocs };
3
+ export declare const runtimeDocs: readonly [import("../../docs/transition-docs").ComponentTransitionDocs];
@@ -1,2 +1,3 @@
1
1
  declare const dataGridRuntimeDocs: import("../../docs/transition-docs").ComponentTransitionDocs;
2
2
  export { dataGridRuntimeDocs };
3
+ export declare const runtimeDocs: readonly [import("../../docs/transition-docs").ComponentTransitionDocs];
@@ -1,2 +1,3 @@
1
1
  declare const datePickerRuntimeDocs: import("../../docs/transition-docs").ComponentTransitionDocs;
2
2
  export { datePickerRuntimeDocs };
3
+ export declare const runtimeDocs: readonly [import("../../docs/transition-docs").ComponentTransitionDocs];
@@ -1,2 +1,3 @@
1
1
  declare const directUploadRuntimeDocs: import("../../docs/transition-docs").ComponentTransitionDocs;
2
2
  export { directUploadRuntimeDocs };
3
+ export declare const runtimeDocs: readonly [import("../../docs/transition-docs").ComponentTransitionDocs];
@@ -1,2 +1,3 @@
1
1
  declare const dropdownRuntimeDocs: import("../../docs/transition-docs").ComponentTransitionDocs;
2
2
  export { dropdownRuntimeDocs };
3
+ export declare const runtimeDocs: readonly [import("../../docs/transition-docs").ComponentTransitionDocs];
@@ -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,2 +1,3 @@
1
1
  declare const fieldRuntimeDocs: import("../../docs/transition-docs").ComponentTransitionDocs;
2
2
  export { fieldRuntimeDocs };
3
+ export declare const runtimeDocs: readonly [import("../../docs/transition-docs").ComponentTransitionDocs];
@@ -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: import("../../runtime").AlpineDataRegistrar;
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, };
@@ -1,2 +1,3 @@
1
1
  declare const fileUploadRuntimeDocs: import("../../docs/transition-docs").ComponentTransitionDocs;
2
2
  export { fileUploadRuntimeDocs };
3
+ export declare const runtimeDocs: readonly [import("../../docs/transition-docs").ComponentTransitionDocs];
@@ -1,2 +1,3 @@
1
1
  declare const formsetRuntimeDocs: import("../../docs/transition-docs").ComponentTransitionDocs;
2
2
  export { formsetRuntimeDocs };
3
+ export declare const runtimeDocs: readonly [import("../../docs/transition-docs").ComponentTransitionDocs];
@@ -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<"eager" | "lazy">;
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,2 +1,3 @@
1
1
  declare const modalRuntimeDocs: import("../../docs/transition-docs").ComponentTransitionDocs;
2
2
  export { modalRuntimeDocs };
3
+ export declare const runtimeDocs: readonly [import("../../docs/transition-docs").ComponentTransitionDocs];
@@ -1,2 +1,3 @@
1
1
  declare const panelsRuntimeDocs: import("../../docs/transition-docs").ComponentTransitionDocs;
2
2
  export { panelsRuntimeDocs };
3
+ export declare const runtimeDocs: readonly [import("../../docs/transition-docs").ComponentTransitionDocs];
@@ -1,2 +1,3 @@
1
1
  declare const radioRuntimeDocs: import("../../docs/transition-docs").ComponentTransitionDocs;
2
2
  export { radioRuntimeDocs };
3
+ export declare const runtimeDocs: readonly [import("../../docs/transition-docs").ComponentTransitionDocs];
@@ -1,2 +1,3 @@
1
1
  declare const scrollAreaRuntimeDocs: import("../../docs/transition-docs").ComponentTransitionDocs;
2
2
  export { scrollAreaRuntimeDocs };
3
+ export declare const runtimeDocs: readonly [import("../../docs/transition-docs").ComponentTransitionDocs];
@@ -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: import("../../runtime").AlpineDataRegistrar;
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 };
@@ -1,2 +1,3 @@
1
1
  declare const selectRuntimeDocs: import("../../docs/transition-docs").ComponentTransitionDocs;
2
2
  export { selectRuntimeDocs };
3
+ export declare const runtimeDocs: readonly [import("../../docs/transition-docs").ComponentTransitionDocs];
@@ -1,2 +1,3 @@
1
1
  declare const sidebarRuntimeDocs: import("../../docs/transition-docs").ComponentTransitionDocs;
2
2
  export { sidebarRuntimeDocs };
3
+ export declare const runtimeDocs: readonly [import("../../docs/transition-docs").ComponentTransitionDocs];
@@ -1,2 +1,3 @@
1
1
  declare const sliderRuntimeDocs: import("../../docs/transition-docs").ComponentTransitionDocs;
2
2
  export { sliderRuntimeDocs };
3
+ export declare const runtimeDocs: readonly [import("../../docs/transition-docs").ComponentTransitionDocs];
@@ -1,2 +1,3 @@
1
1
  declare const switchRuntimeDocs: import("../../docs/transition-docs").ComponentTransitionDocs;
2
2
  export { switchRuntimeDocs };
3
+ export declare const runtimeDocs: readonly [import("../../docs/transition-docs").ComponentTransitionDocs];
@@ -1,2 +1,3 @@
1
1
  declare const tabsRuntimeDocs: import("../../docs/transition-docs").ComponentTransitionDocs;
2
2
  export { tabsRuntimeDocs };
3
+ export declare const runtimeDocs: readonly [import("../../docs/transition-docs").ComponentTransitionDocs];
@@ -1,2 +1,3 @@
1
1
  declare const toastRuntimeDocs: import("../../docs/transition-docs").ComponentTransitionDocs;
2
2
  export { toastRuntimeDocs };
3
+ export declare const runtimeDocs: readonly [import("../../docs/transition-docs").ComponentTransitionDocs];
@@ -1,2 +1,3 @@
1
1
  declare const tooltipRuntimeDocs: import("../../docs/transition-docs").ComponentTransitionDocs;
2
2
  export { tooltipRuntimeDocs };
3
+ export declare const runtimeDocs: readonly [import("../../docs/transition-docs").ComponentTransitionDocs];
@@ -1,2 +1,3 @@
1
1
  declare const virtualizerRuntimeDocs: import("../../docs/transition-docs").ComponentTransitionDocs;
2
2
  export { virtualizerRuntimeDocs };
3
+ export declare const runtimeDocs: readonly [import("../../docs/transition-docs").ComponentTransitionDocs];
@@ -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,3 +1,4 @@
1
+ export { registerAnchorDirective, type AnchorRectangle, type AnchorTarget } from './anchor';
1
2
  export { registerBoundsDirective } from './bounds';
2
3
  export { registerLayoutDirective } from './layout';
3
4
  export { registerRequestDirective } from './request';
@@ -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: () => HTMLElement;
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 };