@spinjs/components 0.1.0-preview.2 → 0.2.0-alpha.1

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 (834) hide show
  1. package/README.md +15 -5
  2. package/dist/angle-slider/angle-slider.events.d.ts +2 -3
  3. package/dist/angle-slider/angle-slider.machine.d.ts +4 -5
  4. package/dist/angle-slider/angle-slider.machine.js +2 -2
  5. package/dist/angle-slider/angle-slider.presentation.d.ts +10 -11
  6. package/dist/angle-slider/angle-slider.presentation.js +2 -2
  7. package/dist/angle-slider/angle-slider.state.d.ts +1 -2
  8. package/dist/angle-slider/angle-slider.state.js +1 -1
  9. package/dist/angle-slider/angle-slider.transitions.d.ts +2 -3
  10. package/dist/angle-slider/examples/basic.html +2 -2
  11. package/dist/angle-slider/examples/basic.html.js +5 -0
  12. package/dist/angle-slider/examples/knob.html +1 -1
  13. package/dist/angle-slider/examples/knob.html.js +5 -0
  14. package/dist/angle-slider/examples/labeled.html +11 -11
  15. package/dist/angle-slider/examples/labeled.html.js +5 -0
  16. package/dist/angle-slider/examples/marks.html +2 -2
  17. package/dist/angle-slider/examples/marks.html.js +5 -0
  18. package/dist/async-list/async-list.events.d.ts +2 -3
  19. package/dist/async-list/async-list.machine.d.ts +2 -3
  20. package/dist/async-list/async-list.machine.js +1 -1
  21. package/dist/async-list/async-list.presentation.d.ts +13 -14
  22. package/dist/async-list/async-list.presentation.js +2 -2
  23. package/dist/async-list/async-list.state.d.ts +1 -2
  24. package/dist/async-list/async-list.state.js +1 -1
  25. package/dist/async-list/async-list.transitions.d.ts +3 -4
  26. package/dist/async-list/examples/basic.html +7 -7
  27. package/dist/async-list/examples/basic.html.js +5 -0
  28. package/dist/avatar/avatar.events.d.ts +2 -3
  29. package/dist/avatar/avatar.machine.d.ts +12 -4
  30. package/dist/avatar/avatar.machine.js +1 -1
  31. package/dist/avatar/avatar.presentation.d.ts +5 -6
  32. package/dist/avatar/avatar.presentation.js +1 -1
  33. package/dist/avatar/avatar.state.d.ts +1 -2
  34. package/dist/avatar/avatar.state.js +1 -1
  35. package/dist/avatar/avatar.transitions.d.ts +2 -3
  36. package/dist/avatar/examples/badge.html +2 -2
  37. package/dist/avatar/examples/badge.html.js +5 -0
  38. package/dist/avatar/examples/badgeminimal.html +1 -1
  39. package/dist/avatar/examples/badgeminimal.html.js +5 -0
  40. package/dist/avatar/examples/basic.html +1 -1
  41. package/dist/avatar/examples/basic.html.js +5 -0
  42. package/dist/avatar/examples/count.html +5 -5
  43. package/dist/avatar/examples/count.html.js +5 -0
  44. package/dist/avatar/examples/fallback.html +1 -1
  45. package/dist/avatar/examples/fallback.html.js +5 -0
  46. package/dist/avatar/examples/group.html +4 -4
  47. package/dist/avatar/examples/group.html.js +5 -0
  48. package/dist/avatar/examples/icon.html +2 -2
  49. package/dist/avatar/examples/icon.html.js +5 -0
  50. package/dist/avatar/examples/multiples.html +4 -4
  51. package/dist/avatar/examples/multiples.html.js +5 -0
  52. package/dist/avatar/examples/pills.html +12 -12
  53. package/dist/avatar/examples/pills.html.js +5 -0
  54. package/dist/avatar/examples/pillsolid.html +4 -4
  55. package/dist/avatar/examples/pillsolid.html.js +5 -0
  56. package/dist/avatar/examples/rounded.html +1 -1
  57. package/dist/avatar/examples/rounded.html.js +5 -0
  58. package/dist/avatar/examples/status.html +2 -2
  59. package/dist/avatar/examples/status.html.js +5 -0
  60. package/dist/avatar/examples/statusminimal.html +1 -1
  61. package/dist/avatar/examples/statusminimal.html.js +5 -0
  62. package/dist/avatar/examples/trusted.html +6 -6
  63. package/dist/avatar/examples/trusted.html.js +5 -0
  64. package/dist/avatar/examples/verification.html +3 -3
  65. package/dist/avatar/examples/verification.html.js +5 -0
  66. package/dist/carousel/carousel.events.d.ts +2 -3
  67. package/dist/carousel/carousel.machine.d.ts +3 -4
  68. package/dist/carousel/carousel.machine.js +1 -1
  69. package/dist/carousel/carousel.presentation.d.ts +14 -15
  70. package/dist/carousel/carousel.presentation.js +2 -2
  71. package/dist/carousel/carousel.state.d.ts +1 -2
  72. package/dist/carousel/carousel.state.js +1 -1
  73. package/dist/carousel/carousel.transitions.d.ts +2 -3
  74. package/dist/carousel/examples/autoplay.html +8 -8
  75. package/dist/carousel/examples/autoplay.html.js +5 -0
  76. package/dist/carousel/examples/basic.html +7 -7
  77. package/dist/carousel/examples/basic.html.js +5 -0
  78. package/dist/carousel/examples/cards.html +8 -8
  79. package/dist/carousel/examples/cards.html.js +5 -0
  80. package/dist/carousel/examples/hero.html +6 -6
  81. package/dist/carousel/examples/hero.html.js +5 -0
  82. package/dist/carousel/examples/infinite.html +7 -7
  83. package/dist/carousel/examples/infinite.html.js +5 -0
  84. package/dist/carousel/examples/minimal.html +5 -5
  85. package/dist/carousel/examples/minimal.html.js +5 -0
  86. package/dist/carousel/examples/testimonials.html +10 -10
  87. package/dist/carousel/examples/testimonials.html.js +5 -0
  88. package/dist/carousel/examples/thumbnails.html +8 -8
  89. package/dist/carousel/examples/thumbnails.html.js +5 -0
  90. package/dist/carousel/examples/vertical.html +8 -8
  91. package/dist/carousel/examples/vertical.html.js +5 -0
  92. package/dist/cascade-select/cascade.events.d.ts +2 -3
  93. package/dist/cascade-select/cascade.machine.d.ts +3 -4
  94. package/dist/cascade-select/cascade.machine.js +1 -1
  95. package/dist/cascade-select/cascade.presentation.d.ts +8 -9
  96. package/dist/cascade-select/cascade.presentation.js +12 -12
  97. package/dist/cascade-select/cascade.state.d.ts +1 -2
  98. package/dist/cascade-select/cascade.state.js +1 -1
  99. package/dist/cascade-select/cascade.transitions.d.ts +2 -3
  100. package/dist/cascade-select/examples/basic.html +13 -11
  101. package/dist/cascade-select/examples/basic.html.js +5 -0
  102. package/dist/color-picker/color-picker.events.d.ts +3 -4
  103. package/dist/color-picker/color-picker.machine.d.ts +3 -3
  104. package/dist/color-picker/color-picker.machine.js +1 -1
  105. package/dist/color-picker/color-picker.presentation.d.ts +18 -19
  106. package/dist/color-picker/color-picker.presentation.js +4 -5
  107. package/dist/color-picker/color-picker.state.d.ts +2 -3
  108. package/dist/color-picker/color-picker.state.js +2 -2
  109. package/dist/color-picker/color-picker.transitions.d.ts +3 -4
  110. package/dist/color-picker/color.d.ts +39 -0
  111. package/dist/color-picker/color.js +401 -0
  112. package/dist/color-picker/examples/basic.html +14 -14
  113. package/dist/color-picker/examples/basic.html.js +5 -0
  114. package/dist/color-picker/examples/hue-wheel.html +9 -9
  115. package/dist/color-picker/examples/hue-wheel.html.js +5 -0
  116. package/dist/color-picker/examples/inline.html +8 -8
  117. package/dist/color-picker/examples/inline.html.js +5 -0
  118. package/dist/color-picker/examples/with-presets.html +10 -10
  119. package/dist/color-picker/examples/with-presets.html.js +5 -0
  120. package/dist/combobox/combobox.events.d.ts +2 -3
  121. package/dist/combobox/combobox.machine.d.ts +3 -4
  122. package/dist/combobox/combobox.machine.js +1 -1
  123. package/dist/combobox/combobox.presentation.d.ts +8 -9
  124. package/dist/combobox/combobox.presentation.js +3 -3
  125. package/dist/combobox/combobox.state.d.ts +1 -2
  126. package/dist/combobox/combobox.state.js +1 -1
  127. package/dist/combobox/combobox.transitions.d.ts +3 -4
  128. package/dist/combobox/examples/basic.html +7 -7
  129. package/dist/combobox/examples/basic.html.js +5 -0
  130. package/dist/combobox/examples/directory.html +7 -7
  131. package/dist/combobox/examples/directory.html.js +5 -0
  132. package/dist/combobox/examples/grouping.html +7 -7
  133. package/dist/combobox/examples/grouping.html.js +5 -0
  134. package/dist/combobox/examples/multiple.html +8 -8
  135. package/dist/combobox/examples/multiple.html.js +5 -0
  136. package/dist/compiler/emit.d.ts +6 -0
  137. package/dist/compiler/emit.js +217 -0
  138. package/dist/compiler/transform.d.ts +52 -0
  139. package/dist/compiler/transform.js +169 -0
  140. package/dist/controller.d.ts +2 -3
  141. package/dist/controller.js +1 -1
  142. package/dist/date-input/date-input.events.d.ts +2 -3
  143. package/dist/date-input/date-input.machine.d.ts +3 -3
  144. package/dist/date-input/date-input.machine.js +1 -1
  145. package/dist/date-input/date-input.presentation.d.ts +6 -7
  146. package/dist/date-input/date-input.presentation.js +1 -1
  147. package/dist/date-input/date-input.state.d.ts +1 -2
  148. package/dist/date-input/date-input.state.js +1 -1
  149. package/dist/date-input/date-input.transitions.d.ts +3 -4
  150. package/dist/date-input/examples/basic.html +3 -3
  151. package/dist/date-input/examples/basic.html.js +5 -0
  152. package/dist/date-picker/date-picker.events.d.ts +2 -3
  153. package/dist/date-picker/date-picker.machine.d.ts +2 -3
  154. package/dist/date-picker/date-picker.machine.js +1 -1
  155. package/dist/date-picker/date-picker.presentation.d.ts +14 -15
  156. package/dist/date-picker/date-picker.presentation.js +2 -2
  157. package/dist/date-picker/date-picker.state.d.ts +1 -2
  158. package/dist/date-picker/date-picker.state.js +1 -1
  159. package/dist/date-picker/date-picker.transitions.d.ts +3 -4
  160. package/dist/date-picker/examples/appointment.html +7 -7
  161. package/dist/date-picker/examples/appointment.html.js +5 -0
  162. package/dist/date-picker/examples/basic.html.js +5 -0
  163. package/dist/date-picker/examples/multiple.html.js +5 -0
  164. package/dist/date-picker/examples/pricing.html.js +5 -0
  165. package/dist/date-picker/examples/range.html.js +5 -0
  166. package/dist/date-picker/examples/unavailable.html.js +5 -0
  167. package/dist/editable/editable.events.d.ts +2 -3
  168. package/dist/editable/editable.machine.d.ts +3 -4
  169. package/dist/editable/editable.machine.js +1 -1
  170. package/dist/editable/editable.presentation.d.ts +6 -7
  171. package/dist/editable/editable.presentation.js +1 -1
  172. package/dist/editable/editable.state.d.ts +1 -2
  173. package/dist/editable/editable.state.js +1 -1
  174. package/dist/editable/editable.transitions.d.ts +3 -4
  175. package/dist/editable/examples/basic.html +7 -7
  176. package/dist/editable/examples/basic.html.js +5 -0
  177. package/dist/editable/examples/doubleclick.html +6 -6
  178. package/dist/editable/examples/doubleclick.html.js +5 -0
  179. package/dist/editable/examples/inline-edit.html +4 -4
  180. package/dist/editable/examples/inline-edit.html.js +5 -0
  181. package/dist/editable/examples/profile-field.html +7 -7
  182. package/dist/editable/examples/profile-field.html.js +5 -0
  183. package/dist/editable/examples/resize.html +6 -6
  184. package/dist/editable/examples/resize.html.js +5 -0
  185. package/dist/editable/examples/task-item.html +7 -7
  186. package/dist/editable/examples/task-item.html.js +5 -0
  187. package/dist/editable/examples/title-editor.html +3 -3
  188. package/dist/editable/examples/title-editor.html.js +5 -0
  189. package/dist/editable/examples/with-controls.html +4 -4
  190. package/dist/editable/examples/with-controls.html.js +5 -0
  191. package/dist/examples.d.ts +22 -0
  192. package/dist/examples.js +501 -0
  193. package/dist/file-upload/examples/avatar.html +8 -8
  194. package/dist/file-upload/examples/avatar.html.js +5 -0
  195. package/dist/file-upload/examples/basic.html +8 -8
  196. package/dist/file-upload/examples/basic.html.js +5 -0
  197. package/dist/file-upload/examples/directory.html +8 -8
  198. package/dist/file-upload/examples/directory.html.js +5 -0
  199. package/dist/file-upload/examples/dragdrop.html +8 -8
  200. package/dist/file-upload/examples/dragdrop.html.js +5 -0
  201. package/dist/file-upload/examples/files.html +9 -9
  202. package/dist/file-upload/examples/files.html.js +5 -0
  203. package/dist/file-upload/examples/images.html +8 -8
  204. package/dist/file-upload/examples/images.html.js +5 -0
  205. package/dist/file-upload/examples/paste.html +8 -8
  206. package/dist/file-upload/examples/paste.html.js +5 -0
  207. package/dist/file-upload/examples/table.html +7 -7
  208. package/dist/file-upload/examples/table.html.js +5 -0
  209. package/dist/file-upload/file-upload.events.d.ts +2 -3
  210. package/dist/file-upload/file-upload.machine.d.ts +5 -3
  211. package/dist/file-upload/file-upload.machine.js +1 -1
  212. package/dist/file-upload/file-upload.presentation.d.ts +10 -11
  213. package/dist/file-upload/file-upload.presentation.js +1 -1
  214. package/dist/file-upload/file-upload.state.d.ts +1 -2
  215. package/dist/file-upload/file-upload.state.js +1 -1
  216. package/dist/file-upload/file-upload.transitions.d.ts +3 -4
  217. package/dist/floating-panel/examples/basic.html +22 -23
  218. package/dist/floating-panel/examples/basic.html.js +5 -0
  219. package/dist/floating-panel/examples/calculator.html +41 -41
  220. package/dist/floating-panel/examples/calculator.html.js +5 -0
  221. package/dist/floating-panel/examples/chat.html +29 -29
  222. package/dist/floating-panel/examples/chat.html.js +5 -0
  223. package/dist/floating-panel/examples/media-player.html +27 -27
  224. package/dist/floating-panel/examples/media-player.html.js +5 -0
  225. package/dist/floating-panel/examples/notes.html +36 -36
  226. package/dist/floating-panel/examples/notes.html.js +5 -0
  227. package/dist/floating-panel/examples/settings.html +34 -34
  228. package/dist/floating-panel/examples/settings.html.js +5 -0
  229. package/dist/floating-panel/examples/task.html +40 -40
  230. package/dist/floating-panel/examples/task.html.js +5 -0
  231. package/dist/floating-panel/examples/video-call.html +25 -25
  232. package/dist/floating-panel/examples/video-call.html.js +5 -0
  233. package/dist/floating-panel/floating-panel.events.d.ts +2 -3
  234. package/dist/floating-panel/floating-panel.machine.d.ts +2 -3
  235. package/dist/floating-panel/floating-panel.machine.js +1 -1
  236. package/dist/floating-panel/floating-panel.presentation.d.ts +11 -13
  237. package/dist/floating-panel/floating-panel.presentation.js +3 -6
  238. package/dist/floating-panel/floating-panel.state.d.ts +1 -2
  239. package/dist/floating-panel/floating-panel.state.js +1 -1
  240. package/dist/floating-panel/floating-panel.transitions.d.ts +3 -4
  241. package/dist/hover-card/examples/basic.html +5 -5
  242. package/dist/hover-card/examples/basic.html.js +5 -0
  243. package/dist/hover-card/examples/controlled.html +9 -10
  244. package/dist/hover-card/examples/controlled.html.js +5 -0
  245. package/dist/hover-card/examples/custom-positioning.html +8 -8
  246. package/dist/hover-card/examples/custom-positioning.html.js +5 -0
  247. package/dist/hover-card/examples/link.html +2 -2
  248. package/dist/hover-card/examples/link.html.js +5 -0
  249. package/dist/hover-card/examples/product.html +9 -9
  250. package/dist/hover-card/examples/product.html.js +5 -0
  251. package/dist/hover-card/examples/user.html +11 -11
  252. package/dist/hover-card/examples/user.html.js +5 -0
  253. package/dist/hover-card/examples/with-arrow.html +9 -9
  254. package/dist/hover-card/examples/with-arrow.html.js +5 -0
  255. package/dist/hover-card/hover-card.controller-def.d.ts +2 -4
  256. package/dist/hover-card/hover-card.controller-def.js +1 -1
  257. package/dist/image-cropper/crop-geometry.d.ts +1 -2
  258. package/dist/image-cropper/crop-geometry.js +1 -1
  259. package/dist/image-cropper/examples/basic.html +3 -3
  260. package/dist/image-cropper/examples/basic.html.js +5 -0
  261. package/dist/image-cropper/examples/circle.html +3 -3
  262. package/dist/image-cropper/examples/circle.html.js +5 -0
  263. package/dist/image-cropper/image-cropper.events.d.ts +2 -3
  264. package/dist/image-cropper/image-cropper.machine.d.ts +3 -4
  265. package/dist/image-cropper/image-cropper.machine.js +2 -2
  266. package/dist/image-cropper/image-cropper.presentation.d.ts +7 -8
  267. package/dist/image-cropper/image-cropper.presentation.js +2 -2
  268. package/dist/image-cropper/image-cropper.state.d.ts +1 -2
  269. package/dist/image-cropper/image-cropper.state.js +1 -1
  270. package/dist/image-cropper/image-cropper.transitions.d.ts +3 -4
  271. package/dist/index.d.ts +28 -13
  272. package/dist/index.js +21 -14
  273. package/dist/listbox/examples/basic.html +9 -9
  274. package/dist/listbox/examples/basic.html.js +5 -0
  275. package/dist/listbox/examples/controlled.html +9 -9
  276. package/dist/listbox/examples/controlled.html.js +5 -0
  277. package/dist/listbox/examples/countries.html +9 -9
  278. package/dist/listbox/examples/countries.html.js +5 -0
  279. package/dist/listbox/examples/grouped.html +9 -9
  280. package/dist/listbox/examples/grouped.html.js +5 -0
  281. package/dist/listbox/examples/icons.html +10 -10
  282. package/dist/listbox/examples/icons.html.js +5 -0
  283. package/dist/listbox/examples/multiple.html +9 -9
  284. package/dist/listbox/examples/multiple.html.js +5 -0
  285. package/dist/listbox/examples/priority.html +9 -9
  286. package/dist/listbox/examples/priority.html.js +5 -0
  287. package/dist/listbox/examples/settings.html +9 -9
  288. package/dist/listbox/examples/settings.html.js +5 -0
  289. package/dist/listbox/listbox.events.d.ts +2 -3
  290. package/dist/listbox/listbox.machine.d.ts +2 -3
  291. package/dist/listbox/listbox.machine.js +1 -1
  292. package/dist/listbox/listbox.presentation.d.ts +6 -5
  293. package/dist/listbox/listbox.presentation.js +1 -1
  294. package/dist/listbox/listbox.state.d.ts +1 -2
  295. package/dist/listbox/listbox.state.js +1 -1
  296. package/dist/listbox/listbox.transitions.d.ts +3 -4
  297. package/dist/menu/examples/basic.html +15 -13
  298. package/dist/menu/examples/basic.html.js +5 -0
  299. package/dist/menu/examples/context.html +14 -12
  300. package/dist/menu/examples/context.html.js +5 -0
  301. package/dist/menu/examples/groups.html +15 -13
  302. package/dist/menu/examples/groups.html.js +5 -0
  303. package/dist/menu/examples/icons.html +17 -15
  304. package/dist/menu/examples/icons.html.js +5 -0
  305. package/dist/menu/examples/nested.html +15 -13
  306. package/dist/menu/examples/nested.html.js +5 -0
  307. package/dist/menu/examples/user.html +21 -19
  308. package/dist/menu/examples/user.html.js +5 -0
  309. package/dist/menu/menu.events.d.ts +2 -3
  310. package/dist/menu/menu.machine.d.ts +2 -3
  311. package/dist/menu/menu.machine.js +1 -1
  312. package/dist/menu/menu.presentation.d.ts +6 -8
  313. package/dist/menu/menu.presentation.js +4 -5
  314. package/dist/menu/menu.state.d.ts +1 -2
  315. package/dist/menu/menu.state.js +1 -1
  316. package/dist/mode-picker/examples/basic.html +1 -1
  317. package/dist/mode-picker/examples/basic.html.js +5 -0
  318. package/dist/mode-picker/examples/minimal.html +1 -1
  319. package/dist/mode-picker/examples/minimal.html.js +5 -0
  320. package/dist/mode-picker/examples/pill.html +1 -1
  321. package/dist/mode-picker/examples/pill.html.js +5 -0
  322. package/dist/mode-picker/mode-picker.events.d.ts +2 -3
  323. package/dist/mode-picker/mode-picker.machine.d.ts +3 -3
  324. package/dist/mode-picker/mode-picker.machine.js +1 -1
  325. package/dist/mode-picker/mode-picker.presentation.d.ts +7 -8
  326. package/dist/mode-picker/mode-picker.presentation.js +2 -2
  327. package/dist/mode-picker/mode-picker.state.d.ts +1 -2
  328. package/dist/mode-picker/mode-picker.transitions.d.ts +3 -4
  329. package/dist/navigation-menu/examples/basic.html +6 -6
  330. package/dist/navigation-menu/examples/basic.html.js +5 -0
  331. package/dist/navigation-menu/examples/grouped.html +14 -12
  332. package/dist/navigation-menu/examples/grouped.html.js +5 -0
  333. package/dist/navigation-menu/examples/minimal.html +7 -5
  334. package/dist/navigation-menu/examples/minimal.html.js +5 -0
  335. package/dist/navigation-menu/navigation-menu.events.d.ts +2 -3
  336. package/dist/navigation-menu/navigation-menu.machine.d.ts +3 -3
  337. package/dist/navigation-menu/navigation-menu.machine.js +1 -1
  338. package/dist/navigation-menu/navigation-menu.presentation.d.ts +6 -7
  339. package/dist/navigation-menu/navigation-menu.presentation.js +2 -2
  340. package/dist/navigation-menu/navigation-menu.state.d.ts +1 -2
  341. package/dist/navigation-menu/navigation-menu.state.js +1 -1
  342. package/dist/navigation-menu/navigation-menu.transitions.d.ts +3 -4
  343. package/dist/number-input/examples/basic.html +10 -10
  344. package/dist/number-input/examples/basic.html.js +5 -0
  345. package/dist/number-input/examples/currency.html +6 -6
  346. package/dist/number-input/examples/currency.html.js +5 -0
  347. package/dist/number-input/examples/decimal.html +4 -4
  348. package/dist/number-input/examples/decimal.html.js +5 -0
  349. package/dist/number-input/examples/limits.html +6 -6
  350. package/dist/number-input/examples/limits.html.js +5 -0
  351. package/dist/number-input/examples/percentage.html +6 -6
  352. package/dist/number-input/examples/percentage.html.js +5 -0
  353. package/dist/number-input/examples/quantity.html +6 -6
  354. package/dist/number-input/examples/quantity.html.js +5 -0
  355. package/dist/number-input/examples/scrubber.html +11 -11
  356. package/dist/number-input/examples/scrubber.html.js +5 -0
  357. package/dist/number-input/examples/wheel.html +7 -7
  358. package/dist/number-input/examples/wheel.html.js +5 -0
  359. package/dist/number-input/number-input.events.d.ts +2 -3
  360. package/dist/number-input/number-input.machine.d.ts +4 -4
  361. package/dist/number-input/number-input.machine.js +1 -1
  362. package/dist/number-input/number-input.presentation.d.ts +7 -8
  363. package/dist/number-input/number-input.presentation.js +4 -4
  364. package/dist/number-input/number-input.state.d.ts +1 -2
  365. package/dist/number-input/number-input.state.js +1 -1
  366. package/dist/number-input/number-input.transitions.d.ts +3 -4
  367. package/dist/pagination/examples/basic.html +2 -2
  368. package/dist/pagination/examples/basic.html.js +5 -0
  369. package/dist/pagination/examples/dropdown.html +2 -2
  370. package/dist/pagination/examples/dropdown.html.js +5 -0
  371. package/dist/pagination/examples/info.html +3 -3
  372. package/dist/pagination/examples/info.html.js +5 -0
  373. package/dist/pagination/examples/jump.html +2 -2
  374. package/dist/pagination/examples/jump.html.js +5 -0
  375. package/dist/pagination/examples/numbered.html +2 -2
  376. package/dist/pagination/examples/numbered.html.js +5 -0
  377. package/dist/pagination/examples/pagesize.html +4 -4
  378. package/dist/pagination/examples/pagesize.html.js +5 -0
  379. package/dist/pagination/pagination.events.d.ts +2 -3
  380. package/dist/pagination/pagination.machine.d.ts +4 -4
  381. package/dist/pagination/pagination.machine.js +1 -1
  382. package/dist/pagination/pagination.presentation.d.ts +4 -5
  383. package/dist/pagination/pagination.presentation.js +1 -1
  384. package/dist/pagination/pagination.state.d.ts +1 -2
  385. package/dist/pagination/pagination.state.js +1 -1
  386. package/dist/pagination/pagination.transitions.d.ts +2 -3
  387. package/dist/pin-input/examples/basic.html +2 -2
  388. package/dist/pin-input/examples/basic.html.js +5 -0
  389. package/dist/pin-input/examples/field.html +4 -4
  390. package/dist/pin-input/examples/field.html.js +5 -0
  391. package/dist/pin-input/examples/masked.html +3 -3
  392. package/dist/pin-input/examples/masked.html.js +5 -0
  393. package/dist/pin-input/examples/placeholder.html +3 -3
  394. package/dist/pin-input/examples/placeholder.html.js +5 -0
  395. package/dist/pin-input/examples/twofactor.html +4 -4
  396. package/dist/pin-input/examples/twofactor.html.js +5 -0
  397. package/dist/pin-input/examples/verification.html +6 -6
  398. package/dist/pin-input/examples/verification.html.js +5 -0
  399. package/dist/pin-input/pin-input.events.d.ts +2 -3
  400. package/dist/pin-input/pin-input.machine.d.ts +3 -3
  401. package/dist/pin-input/pin-input.machine.js +1 -1
  402. package/dist/pin-input/pin-input.presentation.d.ts +4 -5
  403. package/dist/pin-input/pin-input.presentation.js +2 -2
  404. package/dist/pin-input/pin-input.state.d.ts +1 -2
  405. package/dist/pin-input/pin-input.state.js +1 -1
  406. package/dist/pin-input/pin-input.transitions.d.ts +1 -2
  407. package/dist/popover/examples/basic.html +4 -4
  408. package/dist/popover/examples/basic.html.js +5 -0
  409. package/dist/popover/examples/feedback.html +5 -5
  410. package/dist/popover/examples/feedback.html.js +5 -0
  411. package/dist/popover/examples/notifications.html +5 -5
  412. package/dist/popover/examples/notifications.html.js +5 -0
  413. package/dist/popover/examples/settings.html +8 -8
  414. package/dist/popover/examples/settings.html.js +5 -0
  415. package/dist/popover/examples/share.html +5 -5
  416. package/dist/popover/examples/share.html.js +5 -0
  417. package/dist/popover/examples/user.html +10 -10
  418. package/dist/popover/examples/user.html.js +5 -0
  419. package/dist/popover/popover.controller-def.d.ts +2 -4
  420. package/dist/popover/popover.controller-def.js +1 -1
  421. package/dist/rating-group/examples/basic.html +9 -9
  422. package/dist/rating-group/examples/basic.html.js +5 -0
  423. package/dist/rating-group/examples/movie.html +11 -11
  424. package/dist/rating-group/examples/movie.html.js +5 -0
  425. package/dist/rating-group/examples/product-review.html +13 -13
  426. package/dist/rating-group/examples/product-review.html.js +5 -0
  427. package/dist/rating-group/examples/service-evaluation.html +5 -5
  428. package/dist/rating-group/examples/service-evaluation.html.js +5 -0
  429. package/dist/rating-group/rating-group.events.d.ts +2 -3
  430. package/dist/rating-group/rating-group.machine.d.ts +2 -3
  431. package/dist/rating-group/rating-group.machine.js +1 -1
  432. package/dist/rating-group/rating-group.presentation.d.ts +6 -7
  433. package/dist/rating-group/rating-group.presentation.js +2 -2
  434. package/dist/rating-group/rating-group.state.d.ts +1 -2
  435. package/dist/rating-group/rating-group.state.js +1 -1
  436. package/dist/rating-group/rating-group.transitions.d.ts +3 -4
  437. package/dist/react/react.d.ts +2 -3
  438. package/dist/runtime/actions/action.d.ts +64 -0
  439. package/dist/runtime/actions/action.js +45 -0
  440. package/dist/runtime/actions/anchor.d.ts +43 -0
  441. package/dist/runtime/actions/anchor.js +127 -0
  442. package/dist/runtime/actions/date-picker-focus.d.ts +19 -0
  443. package/dist/runtime/actions/date-picker-focus.js +16 -0
  444. package/dist/runtime/actions/drag.d.ts +66 -0
  445. package/dist/runtime/actions/drag.js +118 -0
  446. package/dist/runtime/actions/form-control.d.ts +18 -0
  447. package/dist/runtime/actions/form-control.js +41 -0
  448. package/dist/runtime/actions/hover-delay.d.ts +26 -0
  449. package/dist/runtime/actions/hover-delay.js +61 -0
  450. package/dist/runtime/actions/index.d.ts +113 -0
  451. package/dist/runtime/actions/index.js +240 -0
  452. package/dist/runtime/actions/infinite-scroll.d.ts +22 -0
  453. package/dist/runtime/actions/infinite-scroll.js +33 -0
  454. package/dist/runtime/actions/interact-outside.d.ts +43 -0
  455. package/dist/runtime/actions/interact-outside.js +72 -0
  456. package/dist/runtime/actions/observe.d.ts +27 -0
  457. package/dist/runtime/actions/observe.js +25 -0
  458. package/dist/runtime/actions/scroll-into-view.d.ts +32 -0
  459. package/dist/runtime/actions/scroll-into-view.js +36 -0
  460. package/dist/runtime/actions/select-focus.d.ts +17 -0
  461. package/dist/runtime/actions/select-focus.js +16 -0
  462. package/dist/runtime/actions/select-options.d.ts +25 -0
  463. package/dist/runtime/actions/select-options.js +27 -0
  464. package/dist/runtime/actions/toast-actions.d.ts +65 -0
  465. package/dist/runtime/actions/toast-actions.js +143 -0
  466. package/dist/runtime/aria.d.ts +231 -0
  467. package/dist/runtime/aria.js +193 -0
  468. package/dist/runtime/component/define.d.ts +242 -0
  469. package/dist/runtime/component/define.js +12 -0
  470. package/dist/runtime/component/ids.d.ts +14 -0
  471. package/dist/runtime/component/ids.js +35 -0
  472. package/dist/runtime/component/synthesize.d.ts +32 -0
  473. package/dist/runtime/component/synthesize.js +385 -0
  474. package/dist/runtime/core/signal.d.ts +57 -0
  475. package/dist/runtime/core/signal.js +100 -0
  476. package/dist/runtime/core/style.d.ts +14 -0
  477. package/dist/runtime/core/style.js +31 -0
  478. package/dist/runtime/directives/bind.d.ts +38 -0
  479. package/dist/runtime/directives/bind.js +244 -0
  480. package/dist/runtime/directives/for.d.ts +12 -0
  481. package/dist/runtime/directives/for.js +104 -0
  482. package/dist/runtime/directives/if.d.ts +10 -0
  483. package/dist/runtime/directives/if.js +45 -0
  484. package/dist/runtime/directives/load.d.ts +13 -0
  485. package/dist/runtime/directives/load.js +119 -0
  486. package/dist/runtime/directives/spread.d.ts +17 -0
  487. package/dist/runtime/directives/spread.js +121 -0
  488. package/dist/runtime/directives/tpl.d.ts +11 -0
  489. package/dist/runtime/directives/tpl.js +39 -0
  490. package/dist/runtime/directives/use.d.ts +13 -0
  491. package/dist/runtime/directives/use.js +34 -0
  492. package/dist/runtime/index.d.ts +101 -0
  493. package/dist/runtime/index.js +40 -0
  494. package/dist/runtime/machine/fsm/machine.d.ts +192 -0
  495. package/dist/runtime/machine/fsm/machine.js +248 -0
  496. package/dist/runtime/math/index.d.ts +2 -0
  497. package/dist/runtime/math/index.js +1 -0
  498. package/dist/runtime/math/numbers.d.ts +58 -0
  499. package/dist/runtime/math/numbers.js +115 -0
  500. package/dist/runtime/props.d.ts +61 -0
  501. package/dist/runtime/props.js +113 -0
  502. package/dist/runtime/scope/element.d.ts +86 -0
  503. package/dist/runtime/scope/element.js +226 -0
  504. package/dist/runtime/scope/table.d.ts +55 -0
  505. package/dist/runtime/scope/table.js +174 -0
  506. package/dist/runtime/syntax/braces.d.ts +2 -0
  507. package/dist/runtime/syntax/braces.js +35 -0
  508. package/dist/runtime/syntax/classes.d.ts +22 -0
  509. package/dist/runtime/syntax/classes.js +119 -0
  510. package/dist/runtime/syntax/display.d.ts +25 -0
  511. package/dist/runtime/syntax/display.js +344 -0
  512. package/dist/runtime/syntax/expand-groups.d.ts +12 -0
  513. package/dist/runtime/syntax/expand-groups.js +31 -0
  514. package/dist/runtime/syntax/ir.d.ts +76 -0
  515. package/dist/runtime/syntax/ir.js +11 -0
  516. package/dist/runtime/syntax/parse.d.ts +2 -0
  517. package/dist/runtime/syntax/parse.js +407 -0
  518. package/dist/runtime/syntax/script-block.d.ts +43 -0
  519. package/dist/runtime/syntax/script-block.js +190 -0
  520. package/dist/runtime/testing.d.ts +11 -0
  521. package/dist/runtime/testing.js +1 -0
  522. package/dist/select/examples/basic.html +9 -9
  523. package/dist/select/examples/basic.html.js +5 -0
  524. package/dist/select/examples/category.html +10 -10
  525. package/dist/select/examples/category.html.js +5 -0
  526. package/dist/select/examples/country.html +10 -10
  527. package/dist/select/examples/country.html.js +5 -0
  528. package/dist/select/examples/language.html.js +5 -0
  529. package/dist/select/examples/multiple.html.js +5 -0
  530. package/dist/select/examples/profile.html +10 -10
  531. package/dist/select/examples/profile.html.js +5 -0
  532. package/dist/select/examples/theme.html.js +5 -0
  533. package/dist/select/examples/with-overlapping-label.html +8 -8
  534. package/dist/select/examples/with-overlapping-label.html.js +5 -0
  535. package/dist/select/select.events.d.ts +2 -3
  536. package/dist/select/select.machine.d.ts +2 -3
  537. package/dist/select/select.machine.js +1 -1
  538. package/dist/select/select.presentation.d.ts +16 -20
  539. package/dist/select/select.presentation.js +6 -6
  540. package/dist/select/select.shared.d.ts +1 -2
  541. package/dist/select/select.state.d.ts +1 -2
  542. package/dist/select/select.state.js +1 -1
  543. package/dist/select/select.transitions.d.ts +2 -3
  544. package/dist/shared/keyboard.d.ts +1 -2
  545. package/dist/signature-pad/examples/basic.html +3 -3
  546. package/dist/signature-pad/examples/basic.html.js +5 -0
  547. package/dist/signature-pad/examples/contract.html +7 -7
  548. package/dist/signature-pad/examples/contract.html.js +5 -0
  549. package/dist/signature-pad/examples/receipt.html +8 -8
  550. package/dist/signature-pad/examples/receipt.html.js +5 -0
  551. package/dist/signature-pad/examples/with-preview.html +6 -6
  552. package/dist/signature-pad/examples/with-preview.html.js +5 -0
  553. package/dist/signature-pad/signature-pad.events.d.ts +2 -3
  554. package/dist/signature-pad/signature-pad.machine.d.ts +4 -4
  555. package/dist/signature-pad/signature-pad.machine.js +2 -2
  556. package/dist/signature-pad/signature-pad.presentation.d.ts +10 -11
  557. package/dist/signature-pad/signature-pad.presentation.js +2 -2
  558. package/dist/signature-pad/signature-pad.state.d.ts +1 -2
  559. package/dist/signature-pad/signature-pad.state.js +1 -1
  560. package/dist/signature-pad/signature-pad.transitions.d.ts +3 -4
  561. package/dist/slider/examples/basic.html +1 -1
  562. package/dist/slider/examples/basic.html.js +5 -0
  563. package/dist/slider/examples/equalizer.html +13 -13
  564. package/dist/slider/examples/equalizer.html.js +5 -0
  565. package/dist/slider/examples/fractional.html.js +5 -0
  566. package/dist/slider/examples/marks.html +2 -2
  567. package/dist/slider/examples/marks.html.js +5 -0
  568. package/dist/slider/examples/range.html +1 -1
  569. package/dist/slider/examples/range.html.js +5 -0
  570. package/dist/slider/examples/stepped.html.js +5 -0
  571. package/dist/slider/examples/ticks.html +2 -2
  572. package/dist/slider/examples/ticks.html.js +5 -0
  573. package/dist/slider/examples/vertical.html.js +5 -0
  574. package/dist/slider/slider.events.d.ts +2 -3
  575. package/dist/slider/slider.machine.d.ts +3 -3
  576. package/dist/slider/slider.machine.js +2 -2
  577. package/dist/slider/slider.presentation.d.ts +8 -9
  578. package/dist/slider/slider.presentation.js +2 -2
  579. package/dist/slider/slider.state.d.ts +1 -2
  580. package/dist/slider/slider.state.js +1 -1
  581. package/dist/slider/slider.transitions.d.ts +3 -4
  582. package/dist/slider/slider.transitions.js +1 -1
  583. package/dist/solid/solid.d.ts +2 -3
  584. package/dist/spin-element.d.ts +1 -2
  585. package/dist/spin-element.js +1 -1
  586. package/dist/splitter/examples/basic.html +2 -2
  587. package/dist/splitter/examples/basic.html.js +5 -0
  588. package/dist/splitter/examples/nested.html +4 -4
  589. package/dist/splitter/examples/nested.html.js +5 -0
  590. package/dist/splitter/examples/threepanels.html +2 -2
  591. package/dist/splitter/examples/threepanels.html.js +5 -0
  592. package/dist/splitter/examples/vertical.html +2 -2
  593. package/dist/splitter/examples/vertical.html.js +5 -0
  594. package/dist/splitter/splitter.events.d.ts +2 -3
  595. package/dist/splitter/splitter.machine.d.ts +2 -3
  596. package/dist/splitter/splitter.machine.js +1 -1
  597. package/dist/splitter/splitter.presentation.d.ts +5 -6
  598. package/dist/splitter/splitter.presentation.js +1 -1
  599. package/dist/splitter/splitter.state.d.ts +1 -2
  600. package/dist/splitter/splitter.state.js +1 -1
  601. package/dist/splitter/splitter.transitions.d.ts +2 -3
  602. package/dist/steps/examples/basic.html +5 -5
  603. package/dist/steps/examples/basic.html.js +5 -0
  604. package/dist/steps/examples/checkmarks.html +4 -4
  605. package/dist/steps/examples/checkmarks.html.js +5 -0
  606. package/dist/steps/examples/content.html +5 -5
  607. package/dist/steps/examples/content.html.js +5 -0
  608. package/dist/steps/examples/descriptions.html +2 -2
  609. package/dist/steps/examples/descriptions.html.js +5 -0
  610. package/dist/steps/examples/icons.html +2 -2
  611. package/dist/steps/examples/icons.html.js +5 -0
  612. package/dist/steps/examples/lines.html +2 -2
  613. package/dist/steps/examples/lines.html.js +5 -0
  614. package/dist/steps/examples/navigation.html +4 -4
  615. package/dist/steps/examples/navigation.html.js +5 -0
  616. package/dist/steps/examples/onboarding.html +4 -4
  617. package/dist/steps/examples/onboarding.html.js +5 -0
  618. package/dist/steps/examples/progress.html +3 -3
  619. package/dist/steps/examples/progress.html.js +5 -0
  620. package/dist/steps/examples/segmented.html +6 -6
  621. package/dist/steps/examples/segmented.html.js +5 -0
  622. package/dist/steps/examples/vertical.html +5 -5
  623. package/dist/steps/examples/vertical.html.js +5 -0
  624. package/dist/steps/examples/verticallabels.html +2 -2
  625. package/dist/steps/examples/verticallabels.html.js +5 -0
  626. package/dist/steps/examples/verticalnavigation.html +2 -2
  627. package/dist/steps/examples/verticalnavigation.html.js +5 -0
  628. package/dist/steps/steps.events.d.ts +2 -3
  629. package/dist/steps/steps.machine.d.ts +3 -3
  630. package/dist/steps/steps.machine.js +1 -1
  631. package/dist/steps/steps.presentation.d.ts +4 -5
  632. package/dist/steps/steps.presentation.js +1 -1
  633. package/dist/steps/steps.state.d.ts +1 -2
  634. package/dist/steps/steps.state.js +1 -1
  635. package/dist/steps/steps.transitions.d.ts +3 -4
  636. package/dist/tabs/examples/basic.html +2 -2
  637. package/dist/tabs/examples/basic.html.js +5 -0
  638. package/dist/tabs/examples/dashboard.html +42 -42
  639. package/dist/tabs/examples/dashboard.html.js +5 -0
  640. package/dist/tabs/examples/ghost.html +2 -2
  641. package/dist/tabs/examples/ghost.html.js +5 -0
  642. package/dist/tabs/examples/icon-above.html +6 -6
  643. package/dist/tabs/examples/icon-above.html.js +5 -0
  644. package/dist/tabs/examples/icon-only.html +3 -3
  645. package/dist/tabs/examples/icon-only.html.js +5 -0
  646. package/dist/tabs/examples/outline-with-icons.html +6 -6
  647. package/dist/tabs/examples/outline-with-icons.html.js +5 -0
  648. package/dist/tabs/examples/outline.html +3 -3
  649. package/dist/tabs/examples/outline.html.js +5 -0
  650. package/dist/tabs/examples/pills.html +2 -2
  651. package/dist/tabs/examples/pills.html.js +5 -0
  652. package/dist/tabs/examples/project.html +33 -33
  653. package/dist/tabs/examples/project.html.js +5 -0
  654. package/dist/tabs/examples/settings.html +35 -35
  655. package/dist/tabs/examples/settings.html.js +5 -0
  656. package/dist/tabs/examples/stack-with-icons.html +7 -7
  657. package/dist/tabs/examples/stack-with-icons.html.js +5 -0
  658. package/dist/tabs/examples/stack.html +3 -3
  659. package/dist/tabs/examples/stack.html.js +5 -0
  660. package/dist/tabs/examples/underline.html +3 -3
  661. package/dist/tabs/examples/underline.html.js +5 -0
  662. package/dist/tabs/examples/vertical-ghost.html +3 -3
  663. package/dist/tabs/examples/vertical-ghost.html.js +5 -0
  664. package/dist/tabs/examples/vertical-icons.html +5 -5
  665. package/dist/tabs/examples/vertical-icons.html.js +5 -0
  666. package/dist/tabs/examples/vertical-underline.html +4 -4
  667. package/dist/tabs/examples/vertical-underline.html.js +5 -0
  668. package/dist/tabs/examples/vertical-with-icons.html +6 -6
  669. package/dist/tabs/examples/vertical-with-icons.html.js +5 -0
  670. package/dist/tabs/examples/vertical.html +2 -2
  671. package/dist/tabs/examples/vertical.html.js +5 -0
  672. package/dist/tabs/examples/with-badges.html +3 -3
  673. package/dist/tabs/examples/with-badges.html.js +5 -0
  674. package/dist/tabs/examples/with-icons.html +4 -4
  675. package/dist/tabs/examples/with-icons.html.js +5 -0
  676. package/dist/tabs/tabs.events.d.ts +2 -3
  677. package/dist/tabs/tabs.machine.d.ts +3 -3
  678. package/dist/tabs/tabs.machine.js +1 -1
  679. package/dist/tabs/tabs.presentation.d.ts +6 -7
  680. package/dist/tabs/tabs.presentation.js +1 -1
  681. package/dist/tabs/tabs.state.d.ts +1 -2
  682. package/dist/tabs/tabs.state.js +1 -1
  683. package/dist/tabs/tabs.transitions.d.ts +3 -4
  684. package/dist/tags-input/examples/basic.html +9 -9
  685. package/dist/tags-input/examples/basic.html.js +5 -0
  686. package/dist/tags-input/examples/with-combobox.html +14 -14
  687. package/dist/tags-input/examples/with-combobox.html.js +5 -0
  688. package/dist/tags-input/tags.events.d.ts +2 -3
  689. package/dist/tags-input/tags.machine.d.ts +6 -4
  690. package/dist/tags-input/tags.machine.js +2 -2
  691. package/dist/tags-input/tags.presentation.d.ts +6 -7
  692. package/dist/tags-input/tags.presentation.js +1 -1
  693. package/dist/tags-input/tags.state.d.ts +1 -2
  694. package/dist/tags-input/tags.state.js +2 -2
  695. package/dist/tags-input/tags.transitions.d.ts +2 -3
  696. package/dist/theme-picker/examples/basic.html +6 -6
  697. package/dist/theme-picker/examples/basic.html.js +5 -0
  698. package/dist/theme-picker/examples/cards.html +4 -4
  699. package/dist/theme-picker/examples/cards.html.js +5 -0
  700. package/dist/theme-picker/examples/compact.html +3 -3
  701. package/dist/theme-picker/examples/compact.html.js +5 -0
  702. package/dist/theme-picker/examples/swatches.html +2 -2
  703. package/dist/theme-picker/examples/swatches.html.js +5 -0
  704. package/dist/theme-picker/theme-picker.events.d.ts +2 -3
  705. package/dist/theme-picker/theme-picker.machine.d.ts +3 -3
  706. package/dist/theme-picker/theme-picker.machine.js +1 -1
  707. package/dist/theme-picker/theme-picker.presentation.d.ts +9 -10
  708. package/dist/theme-picker/theme-picker.presentation.js +2 -2
  709. package/dist/theme-picker/theme-picker.state.d.ts +1 -2
  710. package/dist/theme-picker/theme-picker.transitions.d.ts +3 -4
  711. package/dist/timer/examples/basic.html +1 -1
  712. package/dist/timer/examples/basic.html.js +5 -0
  713. package/dist/timer/examples/card.html +4 -4
  714. package/dist/timer/examples/card.html.js +5 -0
  715. package/dist/timer/examples/compact.html +5 -5
  716. package/dist/timer/examples/compact.html.js +5 -0
  717. package/dist/timer/examples/countdown.html +3 -3
  718. package/dist/timer/examples/countdown.html.js +5 -0
  719. package/dist/timer/examples/labels.html +3 -3
  720. package/dist/timer/examples/labels.html.js +5 -0
  721. package/dist/timer/examples/large.html +2 -2
  722. package/dist/timer/examples/large.html.js +5 -0
  723. package/dist/timer/examples/minimal.html +1 -1
  724. package/dist/timer/examples/minimal.html.js +5 -0
  725. package/dist/timer/examples/pomodoro.html +3 -3
  726. package/dist/timer/examples/pomodoro.html.js +5 -0
  727. package/dist/timer/examples/workout.html +4 -4
  728. package/dist/timer/examples/workout.html.js +5 -0
  729. package/dist/timer/timer.events.d.ts +2 -3
  730. package/dist/timer/timer.machine.d.ts +2 -3
  731. package/dist/timer/timer.machine.js +1 -1
  732. package/dist/timer/timer.presentation.d.ts +7 -8
  733. package/dist/timer/timer.presentation.js +1 -1
  734. package/dist/timer/timer.state.d.ts +1 -2
  735. package/dist/timer/timer.state.js +1 -1
  736. package/dist/timer/timer.transitions.d.ts +2 -3
  737. package/dist/toast/examples/action.html +3 -3
  738. package/dist/toast/examples/action.html.js +5 -0
  739. package/dist/toast/examples/basic.html +3 -3
  740. package/dist/toast/examples/basic.html.js +5 -0
  741. package/dist/toast/examples/bottomcenter.html +3 -3
  742. package/dist/toast/examples/bottomcenter.html.js +5 -0
  743. package/dist/toast/examples/bottomleft.html +3 -3
  744. package/dist/toast/examples/bottomleft.html.js +5 -0
  745. package/dist/toast/examples/bottomright.html +3 -3
  746. package/dist/toast/examples/bottomright.html.js +5 -0
  747. package/dist/toast/examples/duration.html +3 -3
  748. package/dist/toast/examples/duration.html.js +5 -0
  749. package/dist/toast/examples/promise.html +6 -6
  750. package/dist/toast/examples/promise.html.js +5 -0
  751. package/dist/toast/examples/topcenter.html +3 -3
  752. package/dist/toast/examples/topcenter.html.js +5 -0
  753. package/dist/toast/examples/topleft.html +3 -3
  754. package/dist/toast/examples/topleft.html.js +5 -0
  755. package/dist/toast/examples/topright.html +3 -3
  756. package/dist/toast/examples/topright.html.js +5 -0
  757. package/dist/toast/examples/types.html +3 -3
  758. package/dist/toast/examples/types.html.js +5 -0
  759. package/dist/toast/examples/updatable.html.js +5 -0
  760. package/dist/toast/toast.events.d.ts +2 -3
  761. package/dist/toast/toast.machine.d.ts +4 -4
  762. package/dist/toast/toast.machine.js +1 -1
  763. package/dist/toast/toast.presentation.d.ts +5 -6
  764. package/dist/toast/toast.presentation.js +1 -1
  765. package/dist/toast/toast.state.d.ts +1 -2
  766. package/dist/toast/toast.state.js +3 -3
  767. package/dist/toast/toast.transitions.d.ts +3 -4
  768. package/dist/toc/examples/basic.html +31 -0
  769. package/dist/toc/examples/basic.html.js +5 -0
  770. package/dist/toc/toc.events.d.ts +19 -0
  771. package/dist/toc/toc.events.js +1 -0
  772. package/dist/toc/toc.machine.d.ts +5 -0
  773. package/dist/toc/toc.machine.js +59 -0
  774. package/dist/toc/toc.presentation.d.ts +127 -0
  775. package/dist/toc/toc.presentation.js +117 -0
  776. package/dist/toc/toc.state.d.ts +41 -0
  777. package/dist/toc/toc.state.js +64 -0
  778. package/dist/toc/toc.transitions.d.ts +8 -0
  779. package/dist/toc/toc.transitions.js +27 -0
  780. package/dist/toggle-group/examples/basic.html +2 -2
  781. package/dist/toggle-group/examples/basic.html.js +5 -0
  782. package/dist/toggle-group/examples/ghost.html +1 -1
  783. package/dist/toggle-group/examples/ghost.html.js +5 -0
  784. package/dist/toggle-group/examples/icons.html +3 -3
  785. package/dist/toggle-group/examples/icons.html.js +5 -0
  786. package/dist/toggle-group/examples/multiple.html.js +5 -0
  787. package/dist/toggle-group/examples/outline.html +2 -2
  788. package/dist/toggle-group/examples/outline.html.js +5 -0
  789. package/dist/toggle-group/examples/toolbar.html +3 -3
  790. package/dist/toggle-group/examples/toolbar.html.js +5 -0
  791. package/dist/toggle-group/toggle-group.events.d.ts +2 -3
  792. package/dist/toggle-group/toggle-group.machine.d.ts +3 -3
  793. package/dist/toggle-group/toggle-group.machine.js +1 -1
  794. package/dist/toggle-group/toggle-group.presentation.d.ts +6 -7
  795. package/dist/toggle-group/toggle-group.presentation.js +2 -2
  796. package/dist/toggle-group/toggle-group.state.d.ts +1 -2
  797. package/dist/toggle-group/toggle-group.state.js +1 -1
  798. package/dist/toggle-group/toggle-group.transitions.d.ts +3 -4
  799. package/dist/tooltip/examples/basic.html.js +5 -0
  800. package/dist/tooltip/examples/metrics.html +9 -9
  801. package/dist/tooltip/examples/metrics.html.js +5 -0
  802. package/dist/tooltip/examples/positioning.html +4 -4
  803. package/dist/tooltip/examples/positioning.html.js +5 -0
  804. package/dist/tooltip/examples/status.html +10 -10
  805. package/dist/tooltip/examples/status.html.js +5 -0
  806. package/dist/tooltip/examples/video.html +6 -6
  807. package/dist/tooltip/examples/video.html.js +5 -0
  808. package/dist/tooltip/examples/with-arrow.html +1 -1
  809. package/dist/tooltip/examples/with-arrow.html.js +5 -0
  810. package/dist/tooltip/tooltip.controller-def.d.ts +3 -5
  811. package/dist/tooltip/tooltip.controller-def.js +1 -1
  812. package/dist/tour/examples/basic.html +5 -5
  813. package/dist/tour/examples/basic.html.js +5 -0
  814. package/dist/tour/tour.events.d.ts +2 -3
  815. package/dist/tour/tour.machine.d.ts +7 -3
  816. package/dist/tour/tour.machine.js +1 -1
  817. package/dist/tour/tour.presentation.d.ts +6 -7
  818. package/dist/tour/tour.presentation.js +1 -1
  819. package/dist/tour/tour.state.d.ts +1 -2
  820. package/dist/tour/tour.state.js +1 -1
  821. package/dist/tour/tour.transitions.d.ts +3 -4
  822. package/dist/tree-view/examples/basic.html +10 -10
  823. package/dist/tree-view/examples/basic.html.js +5 -0
  824. package/dist/tree-view/examples/loading.html +11 -11
  825. package/dist/tree-view/examples/loading.html.js +5 -0
  826. package/dist/tree-view/tree-view.events.d.ts +2 -3
  827. package/dist/tree-view/tree-view.machine.d.ts +2 -3
  828. package/dist/tree-view/tree-view.machine.js +1 -1
  829. package/dist/tree-view/tree-view.presentation.d.ts +7 -8
  830. package/dist/tree-view/tree-view.presentation.js +2 -2
  831. package/dist/tree-view/tree-view.state.d.ts +1 -2
  832. package/dist/tree-view/tree-view.state.js +1 -1
  833. package/dist/tree-view/tree-view.transitions.d.ts +3 -4
  834. package/package.json +43 -8
@@ -1,6 +1,5 @@
1
1
  import { ListboxArgs, ListboxContext, ListboxState, hasValue, stringifyValues } from "./listbox.state.js";
2
2
  import { ListboxEvents } from "./listbox.events.js";
3
- import { Machine } from "@spinjs/runtime/fsm";
3
+ import { Machine } from "@spinjs/components/fsm";
4
4
  export declare function listbox(args: ListboxArgs | undefined, authored: (name: string) => boolean): Machine<ListboxContext, ListboxEvents, ListboxState>;
5
- export { hasValue, stringifyValues };
6
- //# sourceMappingURL=listbox.machine.d.ts.map
5
+ export { hasValue, stringifyValues };
@@ -1,6 +1,6 @@
1
1
  import { hasValue, initial, parseItems, rowsOf, stringifyValues } from "./listbox.state.js";
2
2
  import { clearHighlightedValue, clearItem, clearValue, itemClickInner, navigateInner, pointerMove, selectItem, setFocused, setHighlightedItem, setHighlightedValue, setValue, syncSelectedItems, typeaheadInner } from "./listbox.transitions.js";
3
- import { createMachine } from "@spinjs/runtime/fsm";
3
+ import { createMachine } from "@spinjs/components/fsm";
4
4
  // src/listbox/listbox.machine.ts
5
5
  function listbox(args = {}, authored) {
6
6
  return createMachine({
@@ -1,6 +1,6 @@
1
1
  import { ListboxArgs, ListboxContext } from "./listbox.state.js";
2
2
  import { ListboxEvents } from "./listbox.events.js";
3
- import { ApiOf, SlotViewFor, ViewFor } from "@spinjs/runtime";
3
+ import { ApiOf, SlotViewFor, ViewFor } from "@spinjs/components/runtime";
4
4
  /** Listbox definition: the DOM contract as data. Navigation computes its
5
5
  * target against the rows the view holds and sends it in. */
6
6
  export interface ListboxItem {
@@ -15,6 +15,8 @@ export interface ListboxRow {
15
15
  readonly disabled: boolean;
16
16
  readonly group: string;
17
17
  readonly index: number;
18
+ readonly highlighted?: boolean | undefined;
19
+ readonly selected?: boolean | undefined;
18
20
  }
19
21
  export interface ListboxBlock {
20
22
  readonly id: string;
@@ -44,7 +46,7 @@ type ScopeLike = ViewFor<ListboxContext, ListboxEvents, "idle">;
44
46
  type SlotLike<R> = SlotViewFor<R, ListboxContext, ListboxEvents, "idle">;
45
47
  export declare const def: {
46
48
  name: string;
47
- machine: (args: ListboxArgs, authored: (name: string) => boolean) => import("@spinjs/runtime").Machine<ListboxContext, ListboxEvents, "idle">;
49
+ machine: (args: ListboxArgs, authored: (name: string) => boolean) => import("@spinjs/components/runtime").Machine<ListboxContext, ListboxEvents, "idle">;
48
50
  start: "idle";
49
51
  reconcile: ({ context, parsed, send }: {
50
52
  readonly context: ListboxContext;
@@ -289,6 +291,5 @@ export declare const def: {
289
291
  };
290
292
  };
291
293
  export type ListboxApi = ApiOf<typeof def>;
292
- export declare const listbox: import("@spinjs/runtime").DefinedComponent<ListboxApi, ListboxArgs>;
293
- export type { ListboxArgs };
294
- //# sourceMappingURL=listbox.presentation.d.ts.map
294
+ export declare const listbox: import("@spinjs/components/runtime").DefinedComponent<ListboxApi, ListboxArgs>;
295
+ export type { ListboxArgs };
@@ -1,5 +1,5 @@
1
1
  import { listbox as listbox$1 } from "./listbox.machine.js";
2
- import { ariaHidden, ariaLabelledBy, defineComponent, isComposing, listSurface, optionRow } from "@spinjs/runtime";
2
+ import { ariaHidden, ariaLabelledBy, defineComponent, isComposing, listSurface, optionRow } from "@spinjs/components/runtime";
3
3
  // src/listbox/listbox.presentation.ts
4
4
  const toRow = (item) => {
5
5
  if (typeof item.value !== "string" || item.value.length === 0) return void 0;
@@ -51,5 +51,4 @@ export declare const parseKeys: (value: unknown) => string[];
51
51
  export declare function initial(args: ListboxArgs | undefined, authored: (name: string) => boolean): ListboxContext;
52
52
  export declare const hasValue: (ctx: ListboxContext) => boolean;
53
53
  export declare const stringifyValues: (ctx: ListboxContext) => string;
54
- export { rowsOf };
55
- //# sourceMappingURL=listbox.state.d.ts.map
54
+ export { rowsOf };
@@ -1,4 +1,4 @@
1
- import { defaultTwin } from "@spinjs/runtime";
1
+ import { defaultTwin } from "@spinjs/components/runtime";
2
2
  // src/listbox/listbox.state.ts
3
3
  const rowsOf = (items) => {
4
4
  const rows = [];
@@ -1,6 +1,6 @@
1
- import { ListboxContext } from "./listbox.state.js";
2
1
  import { ListboxEvents } from "./listbox.events.js";
3
- import { AssignFor } from "@spinjs/runtime/fsm";
2
+ import { ListboxContext } from "./listbox.state.js";
3
+ import { AssignFor } from "@spinjs/components/fsm";
4
4
  type ListboxAssign<K extends keyof ListboxEvents = keyof ListboxEvents> = AssignFor<ListboxContext, ListboxEvents, K>;
5
5
  export declare const setFocused: () => Partial<ListboxContext>;
6
6
  export declare const clearHighlightedValue: () => Partial<ListboxContext>;
@@ -16,5 +16,4 @@ export declare const contentFocusAssigns: (ctx: ListboxContext) => Partial<Listb
16
16
  export declare const typeaheadInner: ListboxAssign<"CONTENT.TYPEAHEAD">;
17
17
  export declare const pointerMove: ListboxAssign<"ITEM.POINTER_MOVE">;
18
18
  export declare const navigateInner: ListboxAssign<"NAVIGATE">;
19
- export {};
20
- //# sourceMappingURL=listbox.transitions.d.ts.map
19
+ export {};
@@ -16,47 +16,49 @@ const machine = menu({
16
16
  {...machine.getTriggerProps()}>
17
17
  <span class="truncate">Release</span>
18
18
  <span aria-hidden="true"
19
- class={["text-xs text-text-muted transition-transform duration-fast ease-decelerate", { "rotate-180": machine.isOpen }]}
20
- {...machine.getTriggerIndicatorProps()}><span class="inline-block i-lucide-chevron-down text-xs" aria-hidden="true"></span></span>
19
+ class={["type-caption text-muted transition-transform duration-fast ease-decelerate", { "rotate-180": machine.isOpen }]}
20
+ {...machine.getTriggerIndicatorProps()}><span class="inline-block i-lucide-chevron-down type-caption" aria-hidden="true"></span></span>
21
21
  </button>
22
22
  </div>
23
23
  <div {...machine.getPositionerProps()}>
24
24
  <panel {...machine.getContentProps()}>
25
25
  <template for={machine.getBlocks()} as={block} key={block.id}>
26
26
  <div class="py-1" {...machine.getItemGroupProps(block)}>
27
- <span show={block.label !== null} class="block px-2 pb-1 text-xs font-medium text-text-muted"
27
+ <span show={block.label !== null} class="block px-2 pb-1 type-caption-emphasized text-muted"
28
28
  {...machine.getItemGroupLabelProps(block)}>{block.label}</span>
29
29
  <template for={machine.getRows(block)} as={row} key={row.value}>
30
30
  <div
31
- class={["bare relative flex items-center gap-2 rounded-md px-2 py-1 text-sm text-text transition-colors duration-fast cursor-default", { "opacity-50": row.disabled }]}
31
+ class={["bare relative flex items-center gap-2 rounded-md px-2 py-1 type-body transition-colors duration-fast cursor-default", { "opacity-50": row.disabled }]}
32
32
  {...machine.getItemProps(row)}>
33
33
  <span class="min-w-0 flex-1 truncate"
34
34
  {...machine.getItemTextProps(row)}>{row.label}</span>
35
- <span class="shrink-0 text-xs text-text-muted"
35
+ <span class="shrink-0 type-caption text-muted"
36
36
  {...machine.getItemShortcutProps(row)}>{row.shortcut}</span>
37
37
  <span aria-hidden="true"
38
38
  class={["shrink-0 text-primary transition-transform duration-fast ease-decelerate scale-50 opacity-0", { "scale-100 opacity-100": row.checked }]}
39
- {...machine.getItemIndicatorProps(row)}><span class="inline-block i-lucide-check text-xs" aria-hidden="true"></span></span>
39
+ {...machine.getItemIndicatorProps(row)}><span class="inline-block i-lucide-check type-caption" aria-hidden="true"></span></span>
40
40
  <span aria-hidden="true"
41
- class={["shrink-0 text-xs text-text-muted transition-transform duration-fast ease-decelerate", { "rotate-90": machine.openSubmenu === row.value }]}
42
- {...machine.getItemSubmenuIndicatorProps(row)}><span class="inline-block i-lucide-chevron-right text-xs" aria-hidden="true"></span></span>
43
- <panel show={machine.openSubmenu === row.value}
41
+ class={["shrink-0 type-caption text-muted transition-transform duration-fast ease-decelerate", { "rotate-90": machine.openSubmenu === row.value }]}
42
+ {...machine.getItemSubmenuIndicatorProps(row)}><span class="inline-block i-lucide-chevron-right type-caption" aria-hidden="true"></span></span>
43
+ <panel
44
+ class="absolute start-full top-0 ms-2 min-w-40"
45
+ show={machine.openSubmenu === row.value}
44
46
  {...machine.getSubmenuContentProps(row)}>
45
47
  <template for={machine.getSubmenuBlocks(row)} as={sub} key={sub.id}>
46
48
  <div class="py-1" {...machine.getItemGroupProps(sub)}>
47
- <span show={sub.label !== null} class="block px-2 pb-1 text-xs font-medium text-text-muted"
49
+ <span show={sub.label !== null} class="block px-2 pb-1 type-caption-emphasized text-muted"
48
50
  {...machine.getItemGroupLabelProps(sub)}>{sub.label}</span>
49
51
  <template for={machine.getRows(sub)} as={child} key={child.value}>
50
52
  <div
51
- class={["bare relative flex items-center gap-2 rounded-md px-2 py-1 text-sm text-text transition-colors duration-fast cursor-default", { "opacity-50": child.disabled }]}
53
+ class={["bare relative flex items-center gap-2 rounded-md px-2 py-1 type-body transition-colors duration-fast cursor-default", { "opacity-50": child.disabled }]}
52
54
  {...machine.getSubmenuItemProps(child)}>
53
55
  <span class="min-w-0 flex-1 truncate"
54
56
  {...machine.getItemTextProps(child)}>{child.label}</span>
55
- <span class="shrink-0 text-xs text-text-muted"
57
+ <span class="shrink-0 type-caption text-muted"
56
58
  {...machine.getItemShortcutProps(child)}>{child.shortcut}</span>
57
59
  <span aria-hidden="true"
58
60
  class={["shrink-0 text-primary transition-transform duration-fast ease-decelerate scale-50 opacity-0", { "scale-100 opacity-100": child.checked }]}
59
- {...machine.getItemIndicatorProps(child)}><span class="inline-block i-lucide-check text-xs" aria-hidden="true"></span></span>
61
+ {...machine.getItemIndicatorProps(child)}><span class="inline-block i-lucide-check type-caption" aria-hidden="true"></span></span>
60
62
  </div>
61
63
  </template>
62
64
  </div>
@@ -0,0 +1,5 @@
1
+ // src/menu/examples/basic.html
2
+ var basic_default = "<script lang=\"ts\">\nimport { menu } from \"../menu.presentation.ts\";\n\nconst machine = menu({\n items: [{ \"value\": \"new\", \"label\": \"New release\", \"shortcut\": \"Ctrl+N\" }, {\n \"value\": \"open\",\n \"label\": \"Open…\",\n \"shortcut\": \"Ctrl+O\",\n }, { \"value\": \"promote\", \"label\": \"Promote to production\", \"shortcut\": \"Ctrl+S\" }],\n});\n<\/script>\n<div class=\"relative inline-block\">\n <div class=\"relative\" {...machine.getContextTriggerProps()}>\n <button\n class=\"secondary s-sm inline-flex items-center gap-2\"\n {...machine.getTriggerProps()}>\n <span class=\"truncate\">Release</span>\n <span aria-hidden=\"true\"\n class={[\"type-caption text-muted transition-transform duration-fast ease-decelerate\", { \"rotate-180\": machine.isOpen }]}\n {...machine.getTriggerIndicatorProps()}><span class=\"inline-block i-lucide-chevron-down type-caption\" aria-hidden=\"true\"></span></span>\n </button>\n </div>\n <div {...machine.getPositionerProps()}>\n <panel {...machine.getContentProps()}>\n <template for={machine.getBlocks()} as={block} key={block.id}>\n <div class=\"py-1\" {...machine.getItemGroupProps(block)}>\n <span show={block.label !== null} class=\"block px-2 pb-1 type-caption-emphasized text-muted\"\n {...machine.getItemGroupLabelProps(block)}>{block.label}</span>\n <template for={machine.getRows(block)} as={row} key={row.value}>\n <div\n class={[\"bare relative flex items-center gap-2 rounded-md px-2 py-1 type-body transition-colors duration-fast cursor-default\", { \"opacity-50\": row.disabled }]}\n {...machine.getItemProps(row)}>\n <span class=\"min-w-0 flex-1 truncate\"\n {...machine.getItemTextProps(row)}>{row.label}</span>\n <span class=\"shrink-0 type-caption text-muted\"\n {...machine.getItemShortcutProps(row)}>{row.shortcut}</span>\n <span aria-hidden=\"true\"\n class={[\"shrink-0 text-primary transition-transform duration-fast ease-decelerate scale-50 opacity-0\", { \"scale-100 opacity-100\": row.checked }]}\n {...machine.getItemIndicatorProps(row)}><span class=\"inline-block i-lucide-check type-caption\" aria-hidden=\"true\"></span></span>\n <span aria-hidden=\"true\"\n class={[\"shrink-0 type-caption text-muted transition-transform duration-fast ease-decelerate\", { \"rotate-90\": machine.openSubmenu === row.value }]}\n {...machine.getItemSubmenuIndicatorProps(row)}><span class=\"inline-block i-lucide-chevron-right type-caption\" aria-hidden=\"true\"></span></span>\n <panel\n class=\"absolute start-full top-0 ms-2 min-w-40\"\n show={machine.openSubmenu === row.value}\n {...machine.getSubmenuContentProps(row)}>\n <template for={machine.getSubmenuBlocks(row)} as={sub} key={sub.id}>\n <div class=\"py-1\" {...machine.getItemGroupProps(sub)}>\n <span show={sub.label !== null} class=\"block px-2 pb-1 type-caption-emphasized text-muted\"\n {...machine.getItemGroupLabelProps(sub)}>{sub.label}</span>\n <template for={machine.getRows(sub)} as={child} key={child.value}>\n <div\n class={[\"bare relative flex items-center gap-2 rounded-md px-2 py-1 type-body transition-colors duration-fast cursor-default\", { \"opacity-50\": child.disabled }]}\n {...machine.getSubmenuItemProps(child)}>\n <span class=\"min-w-0 flex-1 truncate\"\n {...machine.getItemTextProps(child)}>{child.label}</span>\n <span class=\"shrink-0 type-caption text-muted\"\n {...machine.getItemShortcutProps(child)}>{child.shortcut}</span>\n <span aria-hidden=\"true\"\n class={[\"shrink-0 text-primary transition-transform duration-fast ease-decelerate scale-50 opacity-0\", { \"scale-100 opacity-100\": child.checked }]}\n {...machine.getItemIndicatorProps(child)}><span class=\"inline-block i-lucide-check type-caption\" aria-hidden=\"true\"></span></span>\n </div>\n </template>\n </div>\n <hr show={sub.separator}\n {...machine.getSeparatorProps(sub)} />\n </template>\n </panel>\n </div>\n </template>\n </div>\n <hr show={block.separator}\n {...machine.getSeparatorProps(block)} />\n </template>\n </panel>\n </div>\n</div>\n";
3
+ export { basic_default as default };
4
+
5
+ //# sourceMappingURL=basic.html.js.map
@@ -15,7 +15,7 @@ const machine = menu({
15
15
  </script>
16
16
  <div class="relative inline-block">
17
17
  <div
18
- class="flex items-center justify-center w-64 h-[8rem] rounded-lg border border-solid border-border bg-surface-raised p-4 text-center text-sm text-text-muted cursor-context-menu"
18
+ class="flex items-center justify-center w-64 h-[8rem] rounded-lg border bg-surface-raised p-4 text-center type-body text-muted cursor-context-menu"
19
19
  {...machine.getContextTriggerProps()}>
20
20
  Deploy #4821 · v4.12.0 — right-click for actions
21
21
  </div>
@@ -23,39 +23,41 @@ const machine = menu({
23
23
  <panel {...machine.getContentProps()}>
24
24
  <template for={machine.getBlocks()} as={block} key={block.id}>
25
25
  <div class="py-1" {...machine.getItemGroupProps(block)}>
26
- <span show={block.label !== null} class="block px-2 pb-1 text-xs font-medium text-text-muted"
26
+ <span show={block.label !== null} class="block px-2 pb-1 type-caption-emphasized text-muted"
27
27
  {...machine.getItemGroupLabelProps(block)}>{block.label}</span>
28
28
  <template for={machine.getRows(block)} as={row} key={row.value}>
29
29
  <div
30
- class={["bare relative flex items-center gap-2 rounded-md px-2 py-1 text-sm text-text transition-colors duration-fast cursor-default", { "opacity-50": row.disabled }]}
30
+ class={["bare relative flex items-center gap-2 rounded-md px-2 py-1 type-body transition-colors duration-fast cursor-default", { "opacity-50": row.disabled }]}
31
31
  {...machine.getItemProps(row)}>
32
32
  <span class="min-w-0 flex-1 truncate"
33
33
  {...machine.getItemTextProps(row)}>{row.label}</span>
34
- <span class="shrink-0 text-xs text-text-muted"
34
+ <span class="shrink-0 type-caption text-muted"
35
35
  {...machine.getItemShortcutProps(row)}>{row.shortcut}</span>
36
36
  <span aria-hidden="true"
37
37
  class={["shrink-0 text-primary transition-transform duration-fast ease-decelerate scale-50 opacity-0", { "scale-100 opacity-100": row.checked }]}
38
- {...machine.getItemIndicatorProps(row)}><span class="inline-block i-lucide-check text-xs" aria-hidden="true"></span></span>
38
+ {...machine.getItemIndicatorProps(row)}><span class="inline-block i-lucide-check type-caption" aria-hidden="true"></span></span>
39
39
  <span aria-hidden="true"
40
- class={["shrink-0 text-xs text-text-muted transition-transform duration-fast ease-decelerate", { "rotate-90": machine.openSubmenu === row.value }]}
41
- {...machine.getItemSubmenuIndicatorProps(row)}><span class="inline-block i-lucide-chevron-right text-xs" aria-hidden="true"></span></span>
42
- <panel show={machine.openSubmenu === row.value}
40
+ class={["shrink-0 type-caption text-muted transition-transform duration-fast ease-decelerate", { "rotate-90": machine.openSubmenu === row.value }]}
41
+ {...machine.getItemSubmenuIndicatorProps(row)}><span class="inline-block i-lucide-chevron-right type-caption" aria-hidden="true"></span></span>
42
+ <panel
43
+ class="absolute start-full top-0 ms-2 min-w-40"
44
+ show={machine.openSubmenu === row.value}
43
45
  {...machine.getSubmenuContentProps(row)}>
44
46
  <template for={machine.getSubmenuBlocks(row)} as={sub} key={sub.id}>
45
47
  <div class="py-1" {...machine.getItemGroupProps(sub)}>
46
- <span show={sub.label !== null} class="block px-2 pb-1 text-xs font-medium text-text-muted"
48
+ <span show={sub.label !== null} class="block px-2 pb-1 type-caption-emphasized text-muted"
47
49
  {...machine.getItemGroupLabelProps(sub)}>{sub.label}</span>
48
50
  <template for={machine.getRows(sub)} as={child} key={child.value}>
49
51
  <div
50
- class={["bare relative flex items-center gap-2 rounded-md px-2 py-1 text-sm text-text transition-colors duration-fast cursor-default", { "opacity-50": child.disabled }]}
52
+ class={["bare relative flex items-center gap-2 rounded-md px-2 py-1 type-body transition-colors duration-fast cursor-default", { "opacity-50": child.disabled }]}
51
53
  {...machine.getSubmenuItemProps(child)}>
52
54
  <span class="min-w-0 flex-1 truncate"
53
55
  {...machine.getItemTextProps(child)}>{child.label}</span>
54
- <span class="shrink-0 text-xs text-text-muted"
56
+ <span class="shrink-0 type-caption text-muted"
55
57
  {...machine.getItemShortcutProps(child)}>{child.shortcut}</span>
56
58
  <span aria-hidden="true"
57
59
  class={["shrink-0 text-primary transition-transform duration-fast ease-decelerate scale-50 opacity-0", { "scale-100 opacity-100": child.checked }]}
58
- {...machine.getItemIndicatorProps(child)}><span class="inline-block i-lucide-check text-xs" aria-hidden="true"></span></span>
60
+ {...machine.getItemIndicatorProps(child)}><span class="inline-block i-lucide-check type-caption" aria-hidden="true"></span></span>
59
61
  </div>
60
62
  </template>
61
63
  </div>
@@ -0,0 +1,5 @@
1
+ // src/menu/examples/context.html
2
+ var context_default = "<script lang=\"ts\">\nimport { menu } from \"../menu.presentation.ts\";\n\nconst machine = menu({\n items: [\n { value: \"url\", label: \"Copy deploy URL\" },\n { value: \"logs\", label: \"View logs\" },\n { value: \"rollback\", label: \"Roll back\" },\n { separator: true },\n { value: \"delete\", label: \"Delete deploy\", disabled: true },\n { separator: true },\n { value: \"settings\", label: \"Deploy settings\" },\n ],\n});\n<\/script>\n<div class=\"relative inline-block\">\n <div\n class=\"flex items-center justify-center w-64 h-[8rem] rounded-lg border bg-surface-raised p-4 text-center type-body text-muted cursor-context-menu\"\n {...machine.getContextTriggerProps()}>\n Deploy #4821 · v4.12.0 — right-click for actions\n </div>\n <div {...machine.getPositionerProps()}>\n <panel {...machine.getContentProps()}>\n <template for={machine.getBlocks()} as={block} key={block.id}>\n <div class=\"py-1\" {...machine.getItemGroupProps(block)}>\n <span show={block.label !== null} class=\"block px-2 pb-1 type-caption-emphasized text-muted\"\n {...machine.getItemGroupLabelProps(block)}>{block.label}</span>\n <template for={machine.getRows(block)} as={row} key={row.value}>\n <div\n class={[\"bare relative flex items-center gap-2 rounded-md px-2 py-1 type-body transition-colors duration-fast cursor-default\", { \"opacity-50\": row.disabled }]}\n {...machine.getItemProps(row)}>\n <span class=\"min-w-0 flex-1 truncate\"\n {...machine.getItemTextProps(row)}>{row.label}</span>\n <span class=\"shrink-0 type-caption text-muted\"\n {...machine.getItemShortcutProps(row)}>{row.shortcut}</span>\n <span aria-hidden=\"true\"\n class={[\"shrink-0 text-primary transition-transform duration-fast ease-decelerate scale-50 opacity-0\", { \"scale-100 opacity-100\": row.checked }]}\n {...machine.getItemIndicatorProps(row)}><span class=\"inline-block i-lucide-check type-caption\" aria-hidden=\"true\"></span></span>\n <span aria-hidden=\"true\"\n class={[\"shrink-0 type-caption text-muted transition-transform duration-fast ease-decelerate\", { \"rotate-90\": machine.openSubmenu === row.value }]}\n {...machine.getItemSubmenuIndicatorProps(row)}><span class=\"inline-block i-lucide-chevron-right type-caption\" aria-hidden=\"true\"></span></span>\n <panel\n class=\"absolute start-full top-0 ms-2 min-w-40\"\n show={machine.openSubmenu === row.value}\n {...machine.getSubmenuContentProps(row)}>\n <template for={machine.getSubmenuBlocks(row)} as={sub} key={sub.id}>\n <div class=\"py-1\" {...machine.getItemGroupProps(sub)}>\n <span show={sub.label !== null} class=\"block px-2 pb-1 type-caption-emphasized text-muted\"\n {...machine.getItemGroupLabelProps(sub)}>{sub.label}</span>\n <template for={machine.getRows(sub)} as={child} key={child.value}>\n <div\n class={[\"bare relative flex items-center gap-2 rounded-md px-2 py-1 type-body transition-colors duration-fast cursor-default\", { \"opacity-50\": child.disabled }]}\n {...machine.getSubmenuItemProps(child)}>\n <span class=\"min-w-0 flex-1 truncate\"\n {...machine.getItemTextProps(child)}>{child.label}</span>\n <span class=\"shrink-0 type-caption text-muted\"\n {...machine.getItemShortcutProps(child)}>{child.shortcut}</span>\n <span aria-hidden=\"true\"\n class={[\"shrink-0 text-primary transition-transform duration-fast ease-decelerate scale-50 opacity-0\", { \"scale-100 opacity-100\": child.checked }]}\n {...machine.getItemIndicatorProps(child)}><span class=\"inline-block i-lucide-check type-caption\" aria-hidden=\"true\"></span></span>\n </div>\n </template>\n </div>\n <hr show={sub.separator}\n {...machine.getSeparatorProps(sub)} />\n </template>\n </panel>\n </div>\n </template>\n </div>\n <hr show={block.separator}\n {...machine.getSeparatorProps(block)} />\n </template>\n </panel>\n </div>\n</div>\n";
3
+ export { context_default as default };
4
+
5
+ //# sourceMappingURL=context.html.js.map
@@ -29,47 +29,49 @@ const machine = menu({
29
29
  {...machine.getTriggerProps()}>
30
30
  <span class="truncate">Deploy</span>
31
31
  <span aria-hidden="true"
32
- class={["text-xs text-text-muted transition-transform duration-fast ease-decelerate", { "rotate-180": machine.isOpen }]}
33
- {...machine.getTriggerIndicatorProps()}><span class="inline-block i-lucide-chevron-down text-xs" aria-hidden="true"></span></span>
32
+ class={["type-caption text-muted transition-transform duration-fast ease-decelerate", { "rotate-180": machine.isOpen }]}
33
+ {...machine.getTriggerIndicatorProps()}><span class="inline-block i-lucide-chevron-down type-caption" aria-hidden="true"></span></span>
34
34
  </button>
35
35
  </div>
36
36
  <div {...machine.getPositionerProps()}>
37
37
  <panel {...machine.getContentProps()}>
38
38
  <template for={machine.getBlocks()} as={block} key={block.id}>
39
39
  <div class="py-1" {...machine.getItemGroupProps(block)}>
40
- <span show={block.label !== null} class="block px-2 pb-1 text-xs font-medium text-text-muted"
40
+ <span show={block.label !== null} class="block px-2 pb-1 type-caption-emphasized text-muted"
41
41
  {...machine.getItemGroupLabelProps(block)}>{block.label}</span>
42
42
  <template for={machine.getRows(block)} as={row} key={row.value}>
43
43
  <div
44
- class={["bare relative flex items-center gap-2 rounded-md px-2 py-1 text-sm text-text transition-colors duration-fast cursor-default", { "opacity-50": row.disabled }]}
44
+ class={["bare relative flex items-center gap-2 rounded-md px-2 py-1 type-body transition-colors duration-fast cursor-default", { "opacity-50": row.disabled }]}
45
45
  {...machine.getItemProps(row)}>
46
46
  <span class="min-w-0 flex-1 truncate"
47
47
  {...machine.getItemTextProps(row)}>{row.label}</span>
48
- <span class="shrink-0 text-xs text-text-muted"
48
+ <span class="shrink-0 type-caption text-muted"
49
49
  {...machine.getItemShortcutProps(row)}>{row.shortcut}</span>
50
50
  <span aria-hidden="true"
51
51
  class={["shrink-0 text-primary transition-transform duration-fast ease-decelerate scale-50 opacity-0", { "scale-100 opacity-100": row.checked }]}
52
- {...machine.getItemIndicatorProps(row)}><span class="inline-block i-lucide-check text-xs" aria-hidden="true"></span></span>
52
+ {...machine.getItemIndicatorProps(row)}><span class="inline-block i-lucide-check type-caption" aria-hidden="true"></span></span>
53
53
  <span aria-hidden="true"
54
- class={["shrink-0 text-xs text-text-muted transition-transform duration-fast ease-decelerate", { "rotate-90": machine.openSubmenu === row.value }]}
55
- {...machine.getItemSubmenuIndicatorProps(row)}><span class="inline-block i-lucide-chevron-right text-xs" aria-hidden="true"></span></span>
56
- <panel show={machine.openSubmenu === row.value}
54
+ class={["shrink-0 type-caption text-muted transition-transform duration-fast ease-decelerate", { "rotate-90": machine.openSubmenu === row.value }]}
55
+ {...machine.getItemSubmenuIndicatorProps(row)}><span class="inline-block i-lucide-chevron-right type-caption" aria-hidden="true"></span></span>
56
+ <panel
57
+ class="absolute start-full top-0 ms-2 min-w-40"
58
+ show={machine.openSubmenu === row.value}
57
59
  {...machine.getSubmenuContentProps(row)}>
58
60
  <template for={machine.getSubmenuBlocks(row)} as={sub} key={sub.id}>
59
61
  <div class="py-1" {...machine.getItemGroupProps(sub)}>
60
- <span show={sub.label !== null} class="block px-2 pb-1 text-xs font-medium text-text-muted"
62
+ <span show={sub.label !== null} class="block px-2 pb-1 type-caption-emphasized text-muted"
61
63
  {...machine.getItemGroupLabelProps(sub)}>{sub.label}</span>
62
64
  <template for={machine.getRows(sub)} as={child} key={child.value}>
63
65
  <div
64
- class={["bare relative flex items-center gap-2 rounded-md px-2 py-1 text-sm text-text transition-colors duration-fast cursor-default", { "opacity-50": child.disabled }]}
66
+ class={["bare relative flex items-center gap-2 rounded-md px-2 py-1 type-body transition-colors duration-fast cursor-default", { "opacity-50": child.disabled }]}
65
67
  {...machine.getSubmenuItemProps(child)}>
66
68
  <span class="min-w-0 flex-1 truncate"
67
69
  {...machine.getItemTextProps(child)}>{child.label}</span>
68
- <span class="shrink-0 text-xs text-text-muted"
70
+ <span class="shrink-0 type-caption text-muted"
69
71
  {...machine.getItemShortcutProps(child)}>{child.shortcut}</span>
70
72
  <span aria-hidden="true"
71
73
  class={["shrink-0 text-primary transition-transform duration-fast ease-decelerate scale-50 opacity-0", { "scale-100 opacity-100": child.checked }]}
72
- {...machine.getItemIndicatorProps(child)}><span class="inline-block i-lucide-check text-xs" aria-hidden="true"></span></span>
74
+ {...machine.getItemIndicatorProps(child)}><span class="inline-block i-lucide-check type-caption" aria-hidden="true"></span></span>
73
75
  </div>
74
76
  </template>
75
77
  </div>
@@ -0,0 +1,5 @@
1
+ // src/menu/examples/groups.html
2
+ var groups_default = "<script lang=\"ts\">\nimport { menu } from \"../menu.presentation.ts\";\n\nconst machine = menu({\n items: [\n {\n group: \"Release\",\n items: [\n { value: \"new\", label: \"New release\" },\n { value: \"promote\", label: \"Promote\" },\n { value: \"rollback\", label: \"Roll back\" },\n ],\n },\n {\n group: \"Instances\",\n items: [\n { value: \"restart\", label: \"Restart\" },\n { value: \"drain\", label: \"Drain\" },\n { value: \"logs\", label: \"View logs\" },\n ],\n },\n ],\n});\n<\/script>\n<div class=\"relative inline-block\">\n <div class=\"relative\" {...machine.getContextTriggerProps()}>\n <button\n class=\"secondary s-sm inline-flex items-center gap-2\"\n {...machine.getTriggerProps()}>\n <span class=\"truncate\">Deploy</span>\n <span aria-hidden=\"true\"\n class={[\"type-caption text-muted transition-transform duration-fast ease-decelerate\", { \"rotate-180\": machine.isOpen }]}\n {...machine.getTriggerIndicatorProps()}><span class=\"inline-block i-lucide-chevron-down type-caption\" aria-hidden=\"true\"></span></span>\n </button>\n </div>\n <div {...machine.getPositionerProps()}>\n <panel {...machine.getContentProps()}>\n <template for={machine.getBlocks()} as={block} key={block.id}>\n <div class=\"py-1\" {...machine.getItemGroupProps(block)}>\n <span show={block.label !== null} class=\"block px-2 pb-1 type-caption-emphasized text-muted\"\n {...machine.getItemGroupLabelProps(block)}>{block.label}</span>\n <template for={machine.getRows(block)} as={row} key={row.value}>\n <div\n class={[\"bare relative flex items-center gap-2 rounded-md px-2 py-1 type-body transition-colors duration-fast cursor-default\", { \"opacity-50\": row.disabled }]}\n {...machine.getItemProps(row)}>\n <span class=\"min-w-0 flex-1 truncate\"\n {...machine.getItemTextProps(row)}>{row.label}</span>\n <span class=\"shrink-0 type-caption text-muted\"\n {...machine.getItemShortcutProps(row)}>{row.shortcut}</span>\n <span aria-hidden=\"true\"\n class={[\"shrink-0 text-primary transition-transform duration-fast ease-decelerate scale-50 opacity-0\", { \"scale-100 opacity-100\": row.checked }]}\n {...machine.getItemIndicatorProps(row)}><span class=\"inline-block i-lucide-check type-caption\" aria-hidden=\"true\"></span></span>\n <span aria-hidden=\"true\"\n class={[\"shrink-0 type-caption text-muted transition-transform duration-fast ease-decelerate\", { \"rotate-90\": machine.openSubmenu === row.value }]}\n {...machine.getItemSubmenuIndicatorProps(row)}><span class=\"inline-block i-lucide-chevron-right type-caption\" aria-hidden=\"true\"></span></span>\n <panel\n class=\"absolute start-full top-0 ms-2 min-w-40\"\n show={machine.openSubmenu === row.value}\n {...machine.getSubmenuContentProps(row)}>\n <template for={machine.getSubmenuBlocks(row)} as={sub} key={sub.id}>\n <div class=\"py-1\" {...machine.getItemGroupProps(sub)}>\n <span show={sub.label !== null} class=\"block px-2 pb-1 type-caption-emphasized text-muted\"\n {...machine.getItemGroupLabelProps(sub)}>{sub.label}</span>\n <template for={machine.getRows(sub)} as={child} key={child.value}>\n <div\n class={[\"bare relative flex items-center gap-2 rounded-md px-2 py-1 type-body transition-colors duration-fast cursor-default\", { \"opacity-50\": child.disabled }]}\n {...machine.getSubmenuItemProps(child)}>\n <span class=\"min-w-0 flex-1 truncate\"\n {...machine.getItemTextProps(child)}>{child.label}</span>\n <span class=\"shrink-0 type-caption text-muted\"\n {...machine.getItemShortcutProps(child)}>{child.shortcut}</span>\n <span aria-hidden=\"true\"\n class={[\"shrink-0 text-primary transition-transform duration-fast ease-decelerate scale-50 opacity-0\", { \"scale-100 opacity-100\": child.checked }]}\n {...machine.getItemIndicatorProps(child)}><span class=\"inline-block i-lucide-check type-caption\" aria-hidden=\"true\"></span></span>\n </div>\n </template>\n </div>\n <hr show={sub.separator}\n {...machine.getSeparatorProps(sub)} />\n </template>\n </panel>\n </div>\n </template>\n </div>\n <hr show={block.separator}\n {...machine.getSeparatorProps(block)} />\n </template>\n </panel>\n </div>\n</div>\n";
3
+ export { groups_default as default };
4
+
5
+ //# sourceMappingURL=groups.html.js.map
@@ -19,49 +19,51 @@ const machine = menu({
19
19
  {...machine.getTriggerProps()}>
20
20
  <span class="truncate">Deploy</span>
21
21
  <span aria-hidden="true"
22
- class={["text-xs text-text-muted transition-transform duration-fast ease-decelerate", { "rotate-180": machine.isOpen }]}
23
- {...machine.getTriggerIndicatorProps()}><span class="inline-block i-lucide-chevron-down text-xs" aria-hidden="true"></span></span>
22
+ class={["type-caption text-muted transition-transform duration-fast ease-decelerate", { "rotate-180": machine.isOpen }]}
23
+ {...machine.getTriggerIndicatorProps()}><span class="inline-block i-lucide-chevron-down type-caption" aria-hidden="true"></span></span>
24
24
  </button>
25
25
  </div>
26
26
  <div {...machine.getPositionerProps()}>
27
27
  <panel {...machine.getContentProps()}>
28
28
  <template for={machine.getBlocks()} as={block} key={block.id}>
29
29
  <div class="py-1" {...machine.getItemGroupProps(block)}>
30
- <span show={block.label !== null} class="block px-2 pb-1 text-xs font-medium text-text-muted"
30
+ <span show={block.label !== null} class="block px-2 pb-1 type-caption-emphasized text-muted"
31
31
  {...machine.getItemGroupLabelProps(block)}>{block.label}</span>
32
32
  <template for={machine.getRows(block)} as={row} key={row.value}>
33
33
  <div
34
- class={["bare relative flex items-center gap-2 rounded-md px-2 py-1 text-sm text-text transition-colors duration-fast cursor-default", { "opacity-50": row.disabled }]}
34
+ class={["bare relative flex items-center gap-2 rounded-md px-2 py-1 type-body transition-colors duration-fast cursor-default", { "opacity-50": row.disabled }]}
35
35
  {...machine.getItemProps(row)}>
36
- <span class="shrink-0 text-xs text-text-muted"
37
- aria-hidden="true"><span class="inline-block i-lucide-rocket text-xs" aria-hidden="true" show={row.value === "deploy"}></span><span class="inline-block i-lucide-scroll-text text-xs" aria-hidden="true" show={row.value === "logs"}></span><span class="inline-block i-lucide-undo-2 text-xs" aria-hidden="true" show={row.value === "rollback"}></span><span class="inline-block i-lucide-copy text-xs" aria-hidden="true" show={row.value === "copy"}></span><span class="inline-block i-lucide-pause text-xs" aria-hidden="true" show={row.value === "pause"}></span><span class="inline-block i-lucide-trash-2 text-xs" aria-hidden="true" show={row.value === "delete"}></span></span>
36
+ <span class="shrink-0 type-caption text-muted"
37
+ aria-hidden="true"><span class="inline-block i-lucide-rocket type-caption" aria-hidden="true" show={row.value === "deploy"}></span><span class="inline-block i-lucide-scroll-text type-caption" aria-hidden="true" show={row.value === "logs"}></span><span class="inline-block i-lucide-undo-2 type-caption" aria-hidden="true" show={row.value === "rollback"}></span><span class="inline-block i-lucide-copy type-caption" aria-hidden="true" show={row.value === "copy"}></span><span class="inline-block i-lucide-pause type-caption" aria-hidden="true" show={row.value === "pause"}></span><span class="inline-block i-lucide-trash-2 type-caption" aria-hidden="true" show={row.value === "delete"}></span></span>
38
38
  <span class="min-w-0 flex-1 truncate"
39
39
  {...machine.getItemTextProps(row)}>{row.label}</span>
40
- <span class="shrink-0 text-xs text-text-muted"
40
+ <span class="shrink-0 type-caption text-muted"
41
41
  {...machine.getItemShortcutProps(row)}>{row.shortcut}</span>
42
42
  <span aria-hidden="true"
43
43
  class={["shrink-0 text-primary transition-transform duration-fast ease-decelerate scale-50 opacity-0", { "scale-100 opacity-100": row.checked }]}
44
- {...machine.getItemIndicatorProps(row)}><span class="inline-block i-lucide-check text-xs" aria-hidden="true"></span></span>
44
+ {...machine.getItemIndicatorProps(row)}><span class="inline-block i-lucide-check type-caption" aria-hidden="true"></span></span>
45
45
  <span aria-hidden="true"
46
- class={["shrink-0 text-xs text-text-muted transition-transform duration-fast ease-decelerate", { "rotate-90": machine.openSubmenu === row.value }]}
47
- {...machine.getItemSubmenuIndicatorProps(row)}><span class="inline-block i-lucide-chevron-right text-xs" aria-hidden="true"></span></span>
48
- <panel show={machine.openSubmenu === row.value}
46
+ class={["shrink-0 type-caption text-muted transition-transform duration-fast ease-decelerate", { "rotate-90": machine.openSubmenu === row.value }]}
47
+ {...machine.getItemSubmenuIndicatorProps(row)}><span class="inline-block i-lucide-chevron-right type-caption" aria-hidden="true"></span></span>
48
+ <panel
49
+ class="absolute start-full top-0 ms-2 min-w-40"
50
+ show={machine.openSubmenu === row.value}
49
51
  {...machine.getSubmenuContentProps(row)}>
50
52
  <template for={machine.getSubmenuBlocks(row)} as={sub} key={sub.id}>
51
53
  <div class="py-1" {...machine.getItemGroupProps(sub)}>
52
- <span show={sub.label !== null} class="block px-2 pb-1 text-xs font-medium text-text-muted"
54
+ <span show={sub.label !== null} class="block px-2 pb-1 type-caption-emphasized text-muted"
53
55
  {...machine.getItemGroupLabelProps(sub)}>{sub.label}</span>
54
56
  <template for={machine.getRows(sub)} as={child} key={child.value}>
55
57
  <div
56
- class={["bare relative flex items-center gap-2 rounded-md px-2 py-1 text-sm text-text transition-colors duration-fast cursor-default", { "opacity-50": child.disabled }]}
58
+ class={["bare relative flex items-center gap-2 rounded-md px-2 py-1 type-body transition-colors duration-fast cursor-default", { "opacity-50": child.disabled }]}
57
59
  {...machine.getSubmenuItemProps(child)}>
58
60
  <span class="min-w-0 flex-1 truncate"
59
61
  {...machine.getItemTextProps(child)}>{child.label}</span>
60
- <span class="shrink-0 text-xs text-text-muted"
62
+ <span class="shrink-0 type-caption text-muted"
61
63
  {...machine.getItemShortcutProps(child)}>{child.shortcut}</span>
62
64
  <span aria-hidden="true"
63
65
  class={["shrink-0 text-primary transition-transform duration-fast ease-decelerate scale-50 opacity-0", { "scale-100 opacity-100": child.checked }]}
64
- {...machine.getItemIndicatorProps(child)}><span class="inline-block i-lucide-check text-xs" aria-hidden="true"></span></span>
66
+ {...machine.getItemIndicatorProps(child)}><span class="inline-block i-lucide-check type-caption" aria-hidden="true"></span></span>
65
67
  </div>
66
68
  </template>
67
69
  </div>
@@ -0,0 +1,5 @@
1
+ // src/menu/examples/icons.html
2
+ var icons_default = "<script lang=\"ts\">\nimport { menu } from \"../menu.presentation.ts\";\n\nconst machine = menu({\n items: [\n { \"value\": \"deploy\", \"label\": \"Deploy now\" },\n { \"value\": \"logs\", \"label\": \"View logs\" },\n { \"value\": \"rollback\", \"label\": \"Roll back\" },\n { \"value\": \"copy\", \"label\": \"Copy deploy URL\" },\n { \"value\": \"pause\", \"label\": \"Pause rollout\" },\n { \"value\": \"delete\", \"label\": \"Delete deploy\" },\n ],\n});\n<\/script>\n<div class=\"relative inline-block\">\n <div class=\"relative\" {...machine.getContextTriggerProps()}>\n <button\n class=\"secondary s-sm inline-flex items-center gap-2\"\n {...machine.getTriggerProps()}>\n <span class=\"truncate\">Deploy</span>\n <span aria-hidden=\"true\"\n class={[\"type-caption text-muted transition-transform duration-fast ease-decelerate\", { \"rotate-180\": machine.isOpen }]}\n {...machine.getTriggerIndicatorProps()}><span class=\"inline-block i-lucide-chevron-down type-caption\" aria-hidden=\"true\"></span></span>\n </button>\n </div>\n <div {...machine.getPositionerProps()}>\n <panel {...machine.getContentProps()}>\n <template for={machine.getBlocks()} as={block} key={block.id}>\n <div class=\"py-1\" {...machine.getItemGroupProps(block)}>\n <span show={block.label !== null} class=\"block px-2 pb-1 type-caption-emphasized text-muted\"\n {...machine.getItemGroupLabelProps(block)}>{block.label}</span>\n <template for={machine.getRows(block)} as={row} key={row.value}>\n <div\n class={[\"bare relative flex items-center gap-2 rounded-md px-2 py-1 type-body transition-colors duration-fast cursor-default\", { \"opacity-50\": row.disabled }]}\n {...machine.getItemProps(row)}>\n <span class=\"shrink-0 type-caption text-muted\"\n aria-hidden=\"true\"><span class=\"inline-block i-lucide-rocket type-caption\" aria-hidden=\"true\" show={row.value === \"deploy\"}></span><span class=\"inline-block i-lucide-scroll-text type-caption\" aria-hidden=\"true\" show={row.value === \"logs\"}></span><span class=\"inline-block i-lucide-undo-2 type-caption\" aria-hidden=\"true\" show={row.value === \"rollback\"}></span><span class=\"inline-block i-lucide-copy type-caption\" aria-hidden=\"true\" show={row.value === \"copy\"}></span><span class=\"inline-block i-lucide-pause type-caption\" aria-hidden=\"true\" show={row.value === \"pause\"}></span><span class=\"inline-block i-lucide-trash-2 type-caption\" aria-hidden=\"true\" show={row.value === \"delete\"}></span></span>\n <span class=\"min-w-0 flex-1 truncate\"\n {...machine.getItemTextProps(row)}>{row.label}</span>\n <span class=\"shrink-0 type-caption text-muted\"\n {...machine.getItemShortcutProps(row)}>{row.shortcut}</span>\n <span aria-hidden=\"true\"\n class={[\"shrink-0 text-primary transition-transform duration-fast ease-decelerate scale-50 opacity-0\", { \"scale-100 opacity-100\": row.checked }]}\n {...machine.getItemIndicatorProps(row)}><span class=\"inline-block i-lucide-check type-caption\" aria-hidden=\"true\"></span></span>\n <span aria-hidden=\"true\"\n class={[\"shrink-0 type-caption text-muted transition-transform duration-fast ease-decelerate\", { \"rotate-90\": machine.openSubmenu === row.value }]}\n {...machine.getItemSubmenuIndicatorProps(row)}><span class=\"inline-block i-lucide-chevron-right type-caption\" aria-hidden=\"true\"></span></span>\n <panel\n class=\"absolute start-full top-0 ms-2 min-w-40\"\n show={machine.openSubmenu === row.value}\n {...machine.getSubmenuContentProps(row)}>\n <template for={machine.getSubmenuBlocks(row)} as={sub} key={sub.id}>\n <div class=\"py-1\" {...machine.getItemGroupProps(sub)}>\n <span show={sub.label !== null} class=\"block px-2 pb-1 type-caption-emphasized text-muted\"\n {...machine.getItemGroupLabelProps(sub)}>{sub.label}</span>\n <template for={machine.getRows(sub)} as={child} key={child.value}>\n <div\n class={[\"bare relative flex items-center gap-2 rounded-md px-2 py-1 type-body transition-colors duration-fast cursor-default\", { \"opacity-50\": child.disabled }]}\n {...machine.getSubmenuItemProps(child)}>\n <span class=\"min-w-0 flex-1 truncate\"\n {...machine.getItemTextProps(child)}>{child.label}</span>\n <span class=\"shrink-0 type-caption text-muted\"\n {...machine.getItemShortcutProps(child)}>{child.shortcut}</span>\n <span aria-hidden=\"true\"\n class={[\"shrink-0 text-primary transition-transform duration-fast ease-decelerate scale-50 opacity-0\", { \"scale-100 opacity-100\": child.checked }]}\n {...machine.getItemIndicatorProps(child)}><span class=\"inline-block i-lucide-check type-caption\" aria-hidden=\"true\"></span></span>\n </div>\n </template>\n </div>\n <hr show={sub.separator}\n {...machine.getSeparatorProps(sub)} />\n </template>\n </panel>\n </div>\n </template>\n </div>\n <hr show={block.separator}\n {...machine.getSeparatorProps(block)} />\n </template>\n </panel>\n </div>\n</div>\n";
3
+ export { icons_default as default };
4
+
5
+ //# sourceMappingURL=icons.html.js.map
@@ -24,47 +24,49 @@ const machine = menu({
24
24
  {...machine.getTriggerProps()}>
25
25
  <span class="truncate">Release</span>
26
26
  <span aria-hidden="true"
27
- class={["text-xs text-text-muted transition-transform duration-fast ease-decelerate", { "rotate-180": machine.isOpen }]}
28
- {...machine.getTriggerIndicatorProps()}><span class="inline-block i-lucide-chevron-down text-xs" aria-hidden="true"></span></span>
27
+ class={["type-caption text-muted transition-transform duration-fast ease-decelerate", { "rotate-180": machine.isOpen }]}
28
+ {...machine.getTriggerIndicatorProps()}><span class="inline-block i-lucide-chevron-down type-caption" aria-hidden="true"></span></span>
29
29
  </button>
30
30
  </div>
31
31
  <div {...machine.getPositionerProps()}>
32
32
  <panel {...machine.getContentProps()}>
33
33
  <template for={machine.getBlocks()} as={block} key={block.id}>
34
34
  <div class="py-1" {...machine.getItemGroupProps(block)}>
35
- <span show={block.label !== null} class="block px-2 pb-1 text-xs font-medium text-text-muted"
35
+ <span show={block.label !== null} class="block px-2 pb-1 type-caption-emphasized text-muted"
36
36
  {...machine.getItemGroupLabelProps(block)}>{block.label}</span>
37
37
  <template for={machine.getRows(block)} as={row} key={row.value}>
38
38
  <div
39
- class={["bare relative flex items-center gap-2 rounded-md px-2 py-1 text-sm text-text transition-colors duration-fast cursor-default", { "opacity-50": row.disabled }]}
39
+ class={["bare relative flex items-center gap-2 rounded-md px-2 py-1 type-body transition-colors duration-fast cursor-default", { "opacity-50": row.disabled }]}
40
40
  {...machine.getItemProps(row)}>
41
41
  <span class="min-w-0 flex-1 truncate"
42
42
  {...machine.getItemTextProps(row)}>{row.label}</span>
43
- <span class="shrink-0 text-xs text-text-muted"
43
+ <span class="shrink-0 type-caption text-muted"
44
44
  {...machine.getItemShortcutProps(row)}>{row.shortcut}</span>
45
45
  <span aria-hidden="true"
46
46
  class={["shrink-0 text-primary transition-transform duration-fast ease-decelerate scale-50 opacity-0", { "scale-100 opacity-100": row.checked }]}
47
- {...machine.getItemIndicatorProps(row)}><span class="inline-block i-lucide-check text-xs" aria-hidden="true"></span></span>
47
+ {...machine.getItemIndicatorProps(row)}><span class="inline-block i-lucide-check type-caption" aria-hidden="true"></span></span>
48
48
  <span aria-hidden="true"
49
- class={["shrink-0 text-xs text-text-muted transition-transform duration-fast ease-decelerate", { "rotate-90": machine.openSubmenu === row.value }]}
50
- {...machine.getItemSubmenuIndicatorProps(row)}><span class="inline-block i-lucide-chevron-right text-xs" aria-hidden="true"></span></span>
51
- <panel show={machine.openSubmenu === row.value}
49
+ class={["shrink-0 type-caption text-muted transition-transform duration-fast ease-decelerate", { "rotate-90": machine.openSubmenu === row.value }]}
50
+ {...machine.getItemSubmenuIndicatorProps(row)}><span class="inline-block i-lucide-chevron-right type-caption" aria-hidden="true"></span></span>
51
+ <panel
52
+ class="absolute start-full top-0 ms-2 min-w-40"
53
+ show={machine.openSubmenu === row.value}
52
54
  {...machine.getSubmenuContentProps(row)}>
53
55
  <template for={machine.getSubmenuBlocks(row)} as={sub} key={sub.id}>
54
56
  <div class="py-1" {...machine.getItemGroupProps(sub)}>
55
- <span show={sub.label !== null} class="block px-2 pb-1 text-xs font-medium text-text-muted"
57
+ <span show={sub.label !== null} class="block px-2 pb-1 type-caption-emphasized text-muted"
56
58
  {...machine.getItemGroupLabelProps(sub)}>{sub.label}</span>
57
59
  <template for={machine.getRows(sub)} as={child} key={child.value}>
58
60
  <div
59
- class={["bare relative flex items-center gap-2 rounded-md px-2 py-1 text-sm text-text transition-colors duration-fast cursor-default", { "opacity-50": child.disabled }]}
61
+ class={["bare relative flex items-center gap-2 rounded-md px-2 py-1 type-body transition-colors duration-fast cursor-default", { "opacity-50": child.disabled }]}
60
62
  {...machine.getSubmenuItemProps(child)}>
61
63
  <span class="min-w-0 flex-1 truncate"
62
64
  {...machine.getItemTextProps(child)}>{child.label}</span>
63
- <span class="shrink-0 text-xs text-text-muted"
65
+ <span class="shrink-0 type-caption text-muted"
64
66
  {...machine.getItemShortcutProps(child)}>{child.shortcut}</span>
65
67
  <span aria-hidden="true"
66
68
  class={["shrink-0 text-primary transition-transform duration-fast ease-decelerate scale-50 opacity-0", { "scale-100 opacity-100": child.checked }]}
67
- {...machine.getItemIndicatorProps(child)}><span class="inline-block i-lucide-check text-xs" aria-hidden="true"></span></span>
69
+ {...machine.getItemIndicatorProps(child)}><span class="inline-block i-lucide-check type-caption" aria-hidden="true"></span></span>
68
70
  </div>
69
71
  </template>
70
72
  </div>
@@ -0,0 +1,5 @@
1
+ // src/menu/examples/nested.html
2
+ var nested_default = "<script lang=\"ts\">\nimport { menu } from \"../menu.presentation.ts\";\n\nconst machine = menu({\n items: [\n { value: \"new\", label: \"New release\" },\n { value: \"promote\", label: \"Promote\" },\n {\n value: \"notify\",\n label: \"Notify\",\n children: [\n { value: \"oncall\", label: \"Page on-call\" },\n { value: \"team\", label: \"Team channel\" },\n { value: \"status\", label: \"Status page\" },\n ],\n },\n ],\n});\n<\/script>\n<div class=\"relative inline-block\">\n <div class=\"relative\" {...machine.getContextTriggerProps()}>\n <button\n class=\"secondary s-sm inline-flex items-center gap-2\"\n {...machine.getTriggerProps()}>\n <span class=\"truncate\">Release</span>\n <span aria-hidden=\"true\"\n class={[\"type-caption text-muted transition-transform duration-fast ease-decelerate\", { \"rotate-180\": machine.isOpen }]}\n {...machine.getTriggerIndicatorProps()}><span class=\"inline-block i-lucide-chevron-down type-caption\" aria-hidden=\"true\"></span></span>\n </button>\n </div>\n <div {...machine.getPositionerProps()}>\n <panel {...machine.getContentProps()}>\n <template for={machine.getBlocks()} as={block} key={block.id}>\n <div class=\"py-1\" {...machine.getItemGroupProps(block)}>\n <span show={block.label !== null} class=\"block px-2 pb-1 type-caption-emphasized text-muted\"\n {...machine.getItemGroupLabelProps(block)}>{block.label}</span>\n <template for={machine.getRows(block)} as={row} key={row.value}>\n <div\n class={[\"bare relative flex items-center gap-2 rounded-md px-2 py-1 type-body transition-colors duration-fast cursor-default\", { \"opacity-50\": row.disabled }]}\n {...machine.getItemProps(row)}>\n <span class=\"min-w-0 flex-1 truncate\"\n {...machine.getItemTextProps(row)}>{row.label}</span>\n <span class=\"shrink-0 type-caption text-muted\"\n {...machine.getItemShortcutProps(row)}>{row.shortcut}</span>\n <span aria-hidden=\"true\"\n class={[\"shrink-0 text-primary transition-transform duration-fast ease-decelerate scale-50 opacity-0\", { \"scale-100 opacity-100\": row.checked }]}\n {...machine.getItemIndicatorProps(row)}><span class=\"inline-block i-lucide-check type-caption\" aria-hidden=\"true\"></span></span>\n <span aria-hidden=\"true\"\n class={[\"shrink-0 type-caption text-muted transition-transform duration-fast ease-decelerate\", { \"rotate-90\": machine.openSubmenu === row.value }]}\n {...machine.getItemSubmenuIndicatorProps(row)}><span class=\"inline-block i-lucide-chevron-right type-caption\" aria-hidden=\"true\"></span></span>\n <panel\n class=\"absolute start-full top-0 ms-2 min-w-40\"\n show={machine.openSubmenu === row.value}\n {...machine.getSubmenuContentProps(row)}>\n <template for={machine.getSubmenuBlocks(row)} as={sub} key={sub.id}>\n <div class=\"py-1\" {...machine.getItemGroupProps(sub)}>\n <span show={sub.label !== null} class=\"block px-2 pb-1 type-caption-emphasized text-muted\"\n {...machine.getItemGroupLabelProps(sub)}>{sub.label}</span>\n <template for={machine.getRows(sub)} as={child} key={child.value}>\n <div\n class={[\"bare relative flex items-center gap-2 rounded-md px-2 py-1 type-body transition-colors duration-fast cursor-default\", { \"opacity-50\": child.disabled }]}\n {...machine.getSubmenuItemProps(child)}>\n <span class=\"min-w-0 flex-1 truncate\"\n {...machine.getItemTextProps(child)}>{child.label}</span>\n <span class=\"shrink-0 type-caption text-muted\"\n {...machine.getItemShortcutProps(child)}>{child.shortcut}</span>\n <span aria-hidden=\"true\"\n class={[\"shrink-0 text-primary transition-transform duration-fast ease-decelerate scale-50 opacity-0\", { \"scale-100 opacity-100\": child.checked }]}\n {...machine.getItemIndicatorProps(child)}><span class=\"inline-block i-lucide-check type-caption\" aria-hidden=\"true\"></span></span>\n </div>\n </template>\n </div>\n <hr show={sub.separator}\n {...machine.getSeparatorProps(sub)} />\n </template>\n </panel>\n </div>\n </template>\n </div>\n <hr show={block.separator}\n {...machine.getSeparatorProps(block)} />\n </template>\n </panel>\n </div>\n</div>\n";
3
+ export { nested_default as default };
4
+
5
+ //# sourceMappingURL=nested.html.js.map