@spinjs/components 0.1.0-preview.1 → 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 +11 -12
  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 +20 -21
  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 +7 -8
  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 +9 -10
  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
@@ -0,0 +1,407 @@
1
+ import { ParseError } from "./ir.js";
2
+ import { matchBrace } from "./braces.js";
3
+ // src/runtime/syntax/parse.ts
4
+ const VOID = /* @__PURE__ */ new Set([
5
+ "area",
6
+ "base",
7
+ "br",
8
+ "col",
9
+ "embed",
10
+ "hr",
11
+ "img",
12
+ "input",
13
+ "link",
14
+ "meta",
15
+ "source",
16
+ "track",
17
+ "wbr"
18
+ ]);
19
+ const span = (start, end) => ({
20
+ start,
21
+ end
22
+ });
23
+ function fail(p, code, message, start, end) {
24
+ p.errors.push({
25
+ code,
26
+ message,
27
+ span: span(start, end)
28
+ });
29
+ }
30
+ function skipWs(p) {
31
+ while (p.pos < p.src.length && /\s/.test(p.src[p.pos])) p.pos++;
32
+ }
33
+ function readTagName(p) {
34
+ const start = p.pos;
35
+ while (p.pos < p.src.length && /[A-Za-z0-9\-\._:]/.test(p.src[p.pos])) p.pos++;
36
+ return p.src.slice(start, p.pos);
37
+ }
38
+ function readAttrValue(p) {
39
+ const quote = p.src[p.pos];
40
+ if (quote === "\"" || quote === "'") {
41
+ p.pos;
42
+ p.pos++;
43
+ const start = p.pos;
44
+ let value = "";
45
+ for (;;) {
46
+ if (p.pos >= p.src.length) break;
47
+ const ch = p.src[p.pos];
48
+ if (ch === quote) {
49
+ p.pos++;
50
+ break;
51
+ }
52
+ if (ch === "{") {
53
+ const close = matchBrace(p.src, p.pos, p.src.length);
54
+ value += p.src.slice(p.pos, close + 1);
55
+ p.pos = close + 1;
56
+ continue;
57
+ }
58
+ value += ch;
59
+ p.pos++;
60
+ }
61
+ return {
62
+ value,
63
+ start,
64
+ end: p.pos
65
+ };
66
+ }
67
+ const start = p.pos;
68
+ if (p.src[p.pos] === "{") {
69
+ const close = matchBrace(p.src, p.pos, p.src.length);
70
+ const value = p.src.slice(p.pos, close + 1);
71
+ p.pos = close + 1;
72
+ return {
73
+ value,
74
+ start,
75
+ end: p.pos
76
+ };
77
+ }
78
+ while (p.pos < p.src.length && !/[\s/>]/.test(p.src[p.pos])) p.pos++;
79
+ return {
80
+ value: p.src.slice(start, p.pos),
81
+ start,
82
+ end: p.pos
83
+ };
84
+ }
85
+ function attrValue(raw, start, end) {
86
+ const t = raw.trim();
87
+ if (t.startsWith("{") && t.endsWith("}")) return {
88
+ kind: "expr",
89
+ expr: t.slice(1, -1).trim(),
90
+ span: span(start, end)
91
+ };
92
+ return {
93
+ kind: "static",
94
+ value: raw
95
+ };
96
+ }
97
+ function parseText(p) {
98
+ const start = p.pos;
99
+ while (p.pos < p.src.length && p.src[p.pos] !== "<") p.pos++;
100
+ const raw = p.src.slice(start, p.pos);
101
+ const mixed = [];
102
+ let last = 0;
103
+ let i = 0;
104
+ while (i < raw.length) {
105
+ const open = raw.indexOf("{", i);
106
+ if (open === -1) break;
107
+ const close = matchBrace(raw, open, raw.length);
108
+ if (close >= raw.length) break;
109
+ if (open > last) {
110
+ const seg = raw.slice(last, open);
111
+ mixed.push({
112
+ kind: "static",
113
+ value: seg.includes("&") ? seg.replace(/&(#[xX]?[0-9a-fA-F]+|[a-zA-Z][a-zA-Z0-9]*);/g, (m, body) => {
114
+ if (body[0] === "#") {
115
+ const isHex = body[1] === "x" || body[1] === "X";
116
+ const code = parseInt(body.slice(isHex ? 2 : 1), isHex ? 16 : 10);
117
+ if (Number.isNaN(code) || code < 0 || code > 1114111) return m;
118
+ try {
119
+ return String.fromCodePoint(code);
120
+ } catch {
121
+ return m;
122
+ }
123
+ }
124
+ return {
125
+ amp: "&",
126
+ lt: "<",
127
+ gt: ">",
128
+ quot: "\"",
129
+ apos: "'",
130
+ times: "×",
131
+ mdash: "—",
132
+ ndash: "–",
133
+ hellip: "…",
134
+ copy: "©"
135
+ }[body] ?? m;
136
+ }) : seg
137
+ });
138
+ }
139
+ mixed.push({
140
+ kind: "expr",
141
+ expr: raw.slice(open + 1, close).trim(),
142
+ span: span(start + open, start + close + 1)
143
+ });
144
+ last = close + 1;
145
+ i = close + 1;
146
+ }
147
+ if (last < raw.length) {
148
+ const seg = raw.slice(last);
149
+ mixed.push({
150
+ kind: "static",
151
+ value: seg.includes("&") ? seg.replace(/&(#[xX]?[0-9a-fA-F]+|[a-zA-Z][a-zA-Z0-9]*);/g, (m, body) => {
152
+ if (body[0] === "#") {
153
+ const isHex = body[1] === "x" || body[1] === "X";
154
+ const code = parseInt(body.slice(isHex ? 2 : 1), isHex ? 16 : 10);
155
+ if (Number.isNaN(code) || code < 0 || code > 1114111) return m;
156
+ try {
157
+ return String.fromCodePoint(code);
158
+ } catch {
159
+ return m;
160
+ }
161
+ }
162
+ return {
163
+ amp: "&",
164
+ lt: "<",
165
+ gt: ">",
166
+ quot: "\"",
167
+ apos: "'",
168
+ times: "×",
169
+ mdash: "—",
170
+ ndash: "–",
171
+ hellip: "…",
172
+ copy: "©"
173
+ }[body] ?? m;
174
+ }) : seg
175
+ });
176
+ }
177
+ return {
178
+ kind: "text",
179
+ parts: mixed,
180
+ span: span(start, p.pos)
181
+ };
182
+ }
183
+ function parseElement(p) {
184
+ const start = p.pos;
185
+ p.pos++;
186
+ if (p.src[p.pos] === "/") {
187
+ fail(p, "stray-close", "closing tag without an opener", start, p.pos + 1);
188
+ while (p.pos < p.src.length && p.src[p.pos] !== ">") p.pos++;
189
+ p.pos++;
190
+ return {
191
+ kind: "text",
192
+ parts: [],
193
+ span: span(start, p.pos)
194
+ };
195
+ }
196
+ const tag = readTagName(p);
197
+ const attrs = [];
198
+ const events = [];
199
+ const actions = [];
200
+ const spreads = [];
201
+ for (;;) {
202
+ skipWs(p);
203
+ if (p.pos >= p.src.length) break;
204
+ const aStart = p.pos;
205
+ const ch = p.src[p.pos];
206
+ if (ch === ">") {
207
+ p.pos++;
208
+ break;
209
+ }
210
+ if (ch === "/" && p.src[p.pos + 1] === ">") {
211
+ p.pos += 2;
212
+ return finishElement(p, tag, attrs, events, actions, spreads, [], start, p.pos);
213
+ }
214
+ if (ch === "/") {
215
+ fail(p, "stray-slash", "a `/` that closes nothing is dropped", p.pos, p.pos + 1);
216
+ p.pos++;
217
+ continue;
218
+ }
219
+ let name = "";
220
+ if (p.src[p.pos] === "{" && p.src.slice(p.pos, p.pos + 4) === "{...") {
221
+ let depth = 0;
222
+ let quote;
223
+ while (p.pos < p.src.length) {
224
+ const c = p.src[p.pos];
225
+ if (quote !== void 0) {
226
+ name += c;
227
+ if (c === quote) quote = void 0;
228
+ } else if (c === "\"" || c === "'") {
229
+ quote = c;
230
+ name += c;
231
+ } else if (c === "{") {
232
+ depth++;
233
+ name += c;
234
+ } else if (c === "}") {
235
+ depth--;
236
+ name += c;
237
+ if (depth === 0) {
238
+ p.pos++;
239
+ break;
240
+ }
241
+ } else name += c;
242
+ p.pos++;
243
+ }
244
+ } else while (p.pos < p.src.length && !/[\s=/>]/.test(p.src[p.pos])) {
245
+ name += p.src[p.pos];
246
+ p.pos++;
247
+ }
248
+ skipWs(p);
249
+ let raw = "";
250
+ let vStart = p.pos;
251
+ let vEnd = p.pos;
252
+ if (p.src[p.pos] === "=") {
253
+ p.pos++;
254
+ skipWs(p);
255
+ const v = readAttrValue(p);
256
+ raw = v.value;
257
+ vStart = v.start;
258
+ vEnd = v.end;
259
+ }
260
+ const aSpan = span(aStart, p.pos);
261
+ if (name.startsWith("{...") && name.endsWith("}")) spreads.push({
262
+ expr: name.slice(4, -1).trim(),
263
+ span: aSpan
264
+ });
265
+ else if (name.startsWith("on:")) {
266
+ const body = raw.trim();
267
+ const handler = body.startsWith("{") && body.endsWith("}") ? body.slice(1, -1).trim() : body;
268
+ events.push({
269
+ event: name.slice(3),
270
+ handler,
271
+ span: aSpan
272
+ });
273
+ } else if (name.startsWith("use:")) {
274
+ const body = raw.trim();
275
+ const param = body.startsWith("{") && body.endsWith("}") ? body.slice(1, -1).trim() : body.length > 0 ? JSON.stringify(body) : void 0;
276
+ actions.push({
277
+ name: name.slice(4),
278
+ param,
279
+ span: aSpan
280
+ });
281
+ } else if (name === "for" || name === "as" || name === "key") attrs.push({
282
+ name,
283
+ value: attrValue(raw, vStart, vEnd),
284
+ span: aSpan
285
+ });
286
+ else attrs.push({
287
+ name,
288
+ value: attrValue(raw, vStart, vEnd),
289
+ span: aSpan
290
+ });
291
+ }
292
+ if (VOID.has(tag)) return finishElement(p, tag, attrs, events, actions, spreads, [], start, p.pos);
293
+ if (tag === "template") return parseTemplate(p, attrs, events, actions, start);
294
+ const children = [];
295
+ for (;;) {
296
+ skipWs(p);
297
+ if (p.pos >= p.src.length) {
298
+ fail(p, "unclosed", `element <${tag}> is never closed`, start, p.pos);
299
+ break;
300
+ }
301
+ if (p.src[p.pos] === "<" && p.src[p.pos + 1] === "/") {
302
+ p.pos += 2;
303
+ const close = readTagName(p);
304
+ skipWs(p);
305
+ if (p.src[p.pos] === ">") p.pos++;
306
+ if (close !== tag) fail(p, "mismatch", `expected </${tag}> but found </${close}>`, start, p.pos);
307
+ break;
308
+ }
309
+ if (p.src[p.pos] === "<") children.push(parseElement(p));
310
+ else {
311
+ const t = parseText(p);
312
+ if (t.kind === "text" && t.parts.length > 0) children.push(t);
313
+ }
314
+ }
315
+ return finishElement(p, tag, attrs, events, actions, spreads, children, start, p.pos);
316
+ }
317
+ function finishElement(p, tag, attrs, events, actions, spreads, children, start, end) {
318
+ const at = attrs.findIndex((a) => a.name === "show");
319
+ let show;
320
+ if (at !== -1) {
321
+ const found = attrs[at];
322
+ if (found.value.kind !== "expr") fail(p, "show-static", "`show` needs an expression: show={cond}", found.span.start, found.span.end);
323
+ else show = found.value.expr;
324
+ attrs.splice(at, 1);
325
+ }
326
+ return {
327
+ kind: "element",
328
+ tag,
329
+ attrs,
330
+ events,
331
+ actions,
332
+ spreads,
333
+ children,
334
+ ...show !== void 0 ? { show } : {},
335
+ span: span(start, end)
336
+ };
337
+ }
338
+ function templateAttr(attrs, name) {
339
+ const found = attrs.find((a) => a.name === name);
340
+ if (!found) return void 0;
341
+ const v = found.value;
342
+ if (v.kind === "static") return v.value;
343
+ return `{${v.expr}}`;
344
+ }
345
+ function parseTemplate(p, attrs, events, actions, start) {
346
+ const rawFor = templateAttr(attrs, "for");
347
+ const rawAs = templateAttr(attrs, "as");
348
+ const rawKey = templateAttr(attrs, "key");
349
+ if (rawFor === void 0) fail(p, "template-for", "<template> needs a for={items} attribute", start, p.pos);
350
+ const source = rawFor !== void 0 && rawFor.startsWith("{") && rawFor.endsWith("}") ? rawFor.slice(1, -1).trim() : rawFor ?? "";
351
+ const binding = rawAs !== void 0 && rawAs.startsWith("{") && rawAs.endsWith("}") ? rawAs.slice(1, -1).trim() : rawAs ?? "item";
352
+ const key = rawKey !== void 0 && rawKey.startsWith("{") && rawKey.endsWith("}") ? rawKey.slice(1, -1).trim() : rawKey;
353
+ const body = [];
354
+ for (;;) {
355
+ skipWs(p);
356
+ if (p.pos >= p.src.length) {
357
+ fail(p, "unclosed", "<template> is never closed", start, p.pos);
358
+ break;
359
+ }
360
+ if (p.src[p.pos] === "<" && p.src[p.pos + 1] === "/") {
361
+ p.pos += 2;
362
+ const close = readTagName(p);
363
+ skipWs(p);
364
+ if (p.src[p.pos] === ">") p.pos++;
365
+ if (close !== "template") fail(p, "mismatch", `expected </template> but found </${close}>`, start, p.pos);
366
+ break;
367
+ }
368
+ if (p.src[p.pos] === "<") body.push(parseElement(p));
369
+ else {
370
+ const t = parseText(p);
371
+ if (t.kind === "text" && t.parts.length > 0) body.push(t);
372
+ }
373
+ }
374
+ return {
375
+ kind: "for",
376
+ source,
377
+ binding,
378
+ key,
379
+ body,
380
+ span: span(start, p.pos)
381
+ };
382
+ }
383
+ function parse(source) {
384
+ const p = {
385
+ src: source,
386
+ pos: 0,
387
+ errors: []
388
+ };
389
+ const nodes = [];
390
+ for (;;) {
391
+ skipWs(p);
392
+ if (p.pos >= p.src.length) break;
393
+ if (p.src[p.pos] === "<") {
394
+ const n = parseElement(p);
395
+ if (n.kind === "text" && n.parts.length === 0) continue;
396
+ nodes.push(n);
397
+ } else {
398
+ const t = parseText(p);
399
+ if (t.kind === "text" && t.parts.length > 0) nodes.push(t);
400
+ }
401
+ }
402
+ if (p.errors.length > 0) throw new ParseError(p.errors);
403
+ return { nodes };
404
+ }
405
+ export { parse };
406
+
407
+ //# sourceMappingURL=parse.js.map
@@ -0,0 +1,43 @@
1
+ /** The script block: real TypeScript the checker sees.
2
+ *
3
+ * The script is a module the checker checks — not text the compiler
4
+ * parses for types. The compiler's job is the allowlist: only type and
5
+ * interface declarations, imports, and machine-factory calls survive.
6
+ * Everything else is stripped before the check, and a stripped script
7
+ * that leaves nothing meaningful behind is an empty component, not an
8
+ * error somewhere else.
9
+ *
10
+ * <script lang="ts">
11
+ * import { slider } from "../slider.machine.ts";
12
+ * const ctl = slider({ value: [50] });
13
+ * </script>
14
+ *
15
+ * The call's semantics are the factory's semantics: called here, fresh
16
+ * instance, caller owns lifecycle. The template references the binding
17
+ * (`ctl.getRootProps()`); the compiler wires it.
18
+ */
19
+ export interface ScriptCall {
20
+ readonly name: string;
21
+ readonly factory: string;
22
+ readonly args: string;
23
+ }
24
+ export interface ScriptConsume {
25
+ readonly name: string;
26
+ readonly handle: string;
27
+ }
28
+ export interface StrippedScript {
29
+ /** The module text the checker sees. */
30
+ readonly module: string;
31
+ /** The binding names the template may reference. */
32
+ readonly bindings: readonly string[];
33
+ /** The parsed machine-factory calls, including multi-line args. */
34
+ readonly calls: readonly ScriptCall[];
35
+ /** `consume(handle)` ancestor lookups the template may reference. */
36
+ readonly consumes: readonly ScriptConsume[];
37
+ /** What was stripped, for diagnostics. */
38
+ readonly stripped: readonly string[];
39
+ }
40
+ /** Strip a script body to what the checker sees. */
41
+ export declare function stripScript(body: string): StrippedScript;
42
+ /** Extract the script block from markup source, if it has one. */
43
+ export declare function extractScript(source: string): string | undefined;
@@ -0,0 +1,190 @@
1
+ import { skipQuoted } from "./braces.js";
2
+ // src/runtime/syntax/script-block.ts
3
+ /** The script block: real TypeScript the checker sees.
4
+ *
5
+ * The script is a module the checker checks — not text the compiler
6
+ * parses for types. The compiler's job is the allowlist: only type and
7
+ * interface declarations, imports, and machine-factory calls survive.
8
+ * Everything else is stripped before the check, and a stripped script
9
+ * that leaves nothing meaningful behind is an empty component, not an
10
+ * error somewhere else.
11
+ *
12
+ * <script lang="ts">
13
+ * import { slider } from "../slider.machine.ts";
14
+ * const ctl = slider({ value: [50] });
15
+ * <\/script>
16
+ *
17
+ * The call's semantics are the factory's semantics: called here, fresh
18
+ * instance, caller owns lifecycle. The template references the binding
19
+ * (`ctl.getRootProps()`); the compiler wires it.
20
+ */
21
+ const IMPORT_START = /^import(?:\s|\{|\*)/;
22
+ const TYPE_START = /^(?:export\s+)?(?:type|interface)\b/;
23
+ const MACHINE_CALL_START = /^(?:export\s+)?const\s+([A-Za-z_$][\w$]*)\s*=\s*([A-Za-z_$][\w$]*)\s*\(/;
24
+ /** Find the matching `)` for the `(` at `openParen`, skipping strings and comments. */
25
+ function matchParen(source, openParen) {
26
+ const end = source.length;
27
+ let depth = 0;
28
+ let i = openParen;
29
+ while (i < end) {
30
+ const c = source[i];
31
+ if (c === "\"" || c === "'" || c === "`") {
32
+ i = skipQuoted(source, i, end);
33
+ continue;
34
+ }
35
+ if (c === "/" && source[i + 1] === "/") {
36
+ const nl = source.indexOf("\n", i + 2);
37
+ i = nl < 0 ? end : nl + 1;
38
+ continue;
39
+ }
40
+ if (c === "/" && source[i + 1] === "*") {
41
+ const close = source.indexOf("*/", i + 2);
42
+ i = close < 0 ? end : close + 2;
43
+ continue;
44
+ }
45
+ if (c === "(") depth += 1;
46
+ else if (c === ")") {
47
+ depth -= 1;
48
+ if (depth === 0) return i;
49
+ }
50
+ i += 1;
51
+ }
52
+ return -1;
53
+ }
54
+ /** Scan a balanced top-level statement (`import`, `type`, `interface`) to its line end. */
55
+ function scanStatementEnd(source, start) {
56
+ const end = source.length;
57
+ let depth = 0;
58
+ let i = start;
59
+ while (i < end) {
60
+ const c = source[i];
61
+ if (c === "\"" || c === "'" || c === "`") {
62
+ i = skipQuoted(source, i, end);
63
+ continue;
64
+ }
65
+ if (c === "/" && source[i + 1] === "/") {
66
+ const nl = source.indexOf("\n", i + 2);
67
+ if (depth === 0) return nl < 0 ? end : nl;
68
+ i = nl < 0 ? end : nl + 1;
69
+ continue;
70
+ }
71
+ if (c === "/" && source[i + 1] === "*") {
72
+ const close = source.indexOf("*/", i + 2);
73
+ i = close < 0 ? end : close + 2;
74
+ continue;
75
+ }
76
+ if (c === "{" || c === "(" || c === "[") depth += 1;
77
+ else if (c === "}" || c === ")" || c === "]") depth = Math.max(0, depth - 1);
78
+ else if (c === "\n" && depth === 0) {
79
+ const rest = source.slice(i + 1).trimStart();
80
+ if (rest.startsWith("|") || rest.startsWith("&")) {
81
+ i += 1;
82
+ continue;
83
+ }
84
+ return i;
85
+ }
86
+ i += 1;
87
+ }
88
+ return end;
89
+ }
90
+ /** Strip a script body to what the checker sees. */
91
+ function stripScript(body) {
92
+ const kept = [];
93
+ const bindings = [];
94
+ const calls = [];
95
+ const consumes = [];
96
+ const stripped = [];
97
+ const len = body.length;
98
+ let pos = 0;
99
+ while (pos < len) {
100
+ const lineStart = pos;
101
+ while (pos < len && (body[pos] === " " || body[pos] === " " || body[pos] === "\r")) pos += 1;
102
+ if (pos >= len) {
103
+ kept.push(body.slice(lineStart));
104
+ break;
105
+ }
106
+ if (body[pos] === "\n") {
107
+ kept.push(body.slice(lineStart, pos));
108
+ pos += 1;
109
+ continue;
110
+ }
111
+ const rest = body.slice(pos);
112
+ if (rest.startsWith("//")) {
113
+ const nl = body.indexOf("\n", pos);
114
+ const end = nl < 0 ? len : nl;
115
+ kept.push(body.slice(lineStart, end));
116
+ pos = nl < 0 ? len : nl + 1;
117
+ continue;
118
+ }
119
+ if (rest.startsWith("/*")) {
120
+ const close = body.indexOf("*/", pos + 2);
121
+ const after = close < 0 ? len : close + 2;
122
+ const nl = body.indexOf("\n", after);
123
+ const end = nl < 0 ? len : nl;
124
+ kept.push(body.slice(lineStart, end));
125
+ pos = nl < 0 ? len : nl + 1;
126
+ continue;
127
+ }
128
+ if (IMPORT_START.test(rest) || TYPE_START.test(rest)) {
129
+ const stmtEnd = scanStatementEnd(body, pos);
130
+ kept.push(body.slice(lineStart, stmtEnd));
131
+ pos = stmtEnd < len && body[stmtEnd] === "\n" ? stmtEnd + 1 : stmtEnd;
132
+ continue;
133
+ }
134
+ const callMatch = MACHINE_CALL_START.exec(rest);
135
+ if (callMatch !== null) {
136
+ const name = callMatch[1] ?? "";
137
+ const factory = callMatch[2] ?? "";
138
+ const openParen = pos + callMatch[0].length - 1;
139
+ const closeParen = matchParen(body, openParen);
140
+ if (closeParen >= 0) {
141
+ const nl = body.indexOf("\n", closeParen);
142
+ const lineEnd = nl < 0 ? len : nl;
143
+ const tail = body.slice(closeParen + 1, lineEnd).trim();
144
+ if (tail === "" || tail === ";" || tail.startsWith("//")) {
145
+ if (factory === "consume") {
146
+ kept.push(body.slice(lineStart, lineEnd));
147
+ bindings.push(name);
148
+ consumes.push({
149
+ name,
150
+ handle: body.slice(openParen + 1, closeParen).trim()
151
+ });
152
+ } else {
153
+ kept.push(body.slice(lineStart, lineEnd));
154
+ bindings.push(name);
155
+ calls.push({
156
+ name,
157
+ factory,
158
+ args: body.slice(openParen + 1, closeParen).trim()
159
+ });
160
+ }
161
+ pos = nl < 0 ? len : nl + 1;
162
+ continue;
163
+ }
164
+ }
165
+ }
166
+ const nl = body.indexOf("\n", pos);
167
+ const lineEnd = nl < 0 ? len : nl;
168
+ stripped.push(body.slice(lineStart, lineEnd));
169
+ pos = nl < 0 ? len : nl + 1;
170
+ }
171
+ return {
172
+ module: kept.join("\n"),
173
+ bindings,
174
+ calls,
175
+ consumes,
176
+ stripped
177
+ };
178
+ }
179
+ /** Extract the script block from markup source, if it has one. */
180
+ function extractScript(source) {
181
+ const open = /<script(\s[^>]*)?>/.exec(source);
182
+ if (open === null || open.index === void 0) return void 0;
183
+ const bodyStart = open.index + open[0].length;
184
+ const close = source.indexOf("<\/script>", bodyStart);
185
+ if (close < 0) return void 0;
186
+ return source.slice(bodyStart, close);
187
+ }
188
+ export { extractScript, stripScript };
189
+
190
+ //# sourceMappingURL=script-block.js.map
@@ -0,0 +1,11 @@
1
+ /**
2
+ * The test-only DOM.
3
+ *
4
+ * A second `Window` type, which is the point of keeping it behind a
5
+ * subpath: a browser consumer importing `@spinjs/components/runtime` never loads this
6
+ * module, so the two `Window` types never coexist in one program. Exposing
7
+ * it from the package root instead put it in every consumer's program and
8
+ * broke the whole workspace check.
9
+ */
10
+ import { parseHTML } from "linkedom";
11
+ export { parseHTML };
@@ -0,0 +1 @@
1
+ export { parseHTML } from "linkedom";