@threadlabs/looma 0.17.0 → 0.17.2

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 (229) hide show
  1. package/components/ui-avatar-group/ui-avatar-group.html +8 -5
  2. package/components/ui-avatar-group/ui-avatar-group.js +3 -3
  3. package/components/ui-badge/ui-badge.html +10 -5
  4. package/components/ui-breadcrumb-item/ui-breadcrumb-item.html +2 -1
  5. package/components/ui-button/ui-button.html +33 -26
  6. package/components/ui-button/ui-button.js +2 -2
  7. package/components/ui-callout/ui-callout.html +3 -1
  8. package/components/ui-card/ui-card.html +5 -3
  9. package/components/ui-checkbox/ui-checkbox.html +36 -8
  10. package/components/ui-combobox/ui-combobox.html +72 -45
  11. package/components/ui-combobox/ui-combobox.js +7 -2
  12. package/components/ui-context-menu/ui-context-menu.html +2 -2
  13. package/components/ui-description-item/ui-description-item.html +1 -1
  14. package/components/ui-description-list/ui-description-list.html +2 -0
  15. package/components/ui-dialog/ui-dialog.html +3 -23
  16. package/components/ui-disclosure/ui-disclosure.html +2 -2
  17. package/components/ui-editor-insert-table-grid/ui-editor-insert-table-grid.html +2 -2
  18. package/components/ui-editor-mention-menu/ui-editor-mention-menu.html +3 -3
  19. package/components/ui-editor-slash-menu/ui-editor-slash-menu.html +4 -4
  20. package/components/ui-editor-slash-menu-item/ui-editor-slash-menu-item.html +6 -1
  21. package/components/ui-editor-table-context-menu/ui-editor-table-context-menu.html +2 -2
  22. package/components/ui-editor-table-toolbar/ui-editor-table-toolbar.html +4 -4
  23. package/components/ui-editor-toolbar/ui-editor-toolbar.html +5 -5
  24. package/components/ui-floating-action-button/ui-floating-action-button.html +4 -2
  25. package/components/ui-icon-button/ui-icon-button.html +57 -17
  26. package/components/ui-icon-button/ui-icon-button.js +1 -1
  27. package/components/ui-list/ui-list.html +46 -6
  28. package/components/ui-list-item/ui-list-item.html +1 -1
  29. package/components/ui-menu/ui-menu.html +4 -3
  30. package/components/ui-menu/ui-menu.js +9 -3
  31. package/components/ui-menu-item/ui-menu-item.html +43 -6
  32. package/components/ui-meter/ui-meter.html +4 -1
  33. package/components/ui-nav-item/ui-nav-item.html +0 -1
  34. package/components/ui-page-header/ui-page-header.html +1 -0
  35. package/components/ui-popover/ui-popover.html +1 -1
  36. package/components/ui-radio/ui-radio.html +5 -2
  37. package/components/ui-scroll-area/ui-scroll-area.html +9 -14
  38. package/components/ui-scroll-area/ui-scroll-area.js +32 -0
  39. package/components/ui-search-result-row/ui-search-result-row.html +5 -3
  40. package/components/ui-search-shell/ui-search-shell.html +8 -8
  41. package/components/ui-section/ui-section.html +5 -3
  42. package/components/ui-separator/ui-separator.html +2 -2
  43. package/components/ui-sidebar/ui-sidebar.html +2 -2
  44. package/components/ui-spinner/ui-spinner.html +28 -8
  45. package/components/ui-status-message/ui-status-message.html +1 -1
  46. package/components/ui-switch/ui-switch.html +17 -8
  47. package/components/ui-table/ui-table.html +1 -1
  48. package/components/ui-tabs/ui-tabs.html +21 -12
  49. package/components/ui-toast/ui-toast.html +1 -1
  50. package/components/ui-toast-region/ui-toast-region.html +1 -1
  51. package/components/ui-tooltip/ui-tooltip.html +12 -12
  52. package/components/ui-tooltip/ui-tooltip.js +1 -1
  53. package/components/ui-top-bar/ui-top-bar.html +1 -1
  54. package/components/ui-tree/ui-tree.js +4 -1
  55. package/components/ui-tree-item/ui-tree-item.html +2 -1
  56. package/dist/index.js +15 -14
  57. package/editor/chunks/extensions.js +12 -2
  58. package/editor/extensions/preset.d.ts +6 -1
  59. package/package.json +1 -1
  60. package/styles/ui-avatar-group.css +8 -5
  61. package/styles/ui-badge.css +10 -5
  62. package/styles/ui-breadcrumb-item.css +2 -1
  63. package/styles/ui-button.css +19 -25
  64. package/styles/ui-callout.css +3 -1
  65. package/styles/ui-card.css +4 -2
  66. package/styles/ui-checkbox.css +38 -8
  67. package/styles/ui-combobox.css +27 -8
  68. package/styles/ui-context-menu.css +2 -2
  69. package/styles/ui-description-item.css +1 -1
  70. package/styles/ui-description-list.css +2 -0
  71. package/styles/ui-dialog.css +1 -22
  72. package/styles/ui-disclosure.css +2 -2
  73. package/styles/ui-editor-insert-table-grid.css +2 -2
  74. package/styles/ui-editor-mention-menu.css +3 -3
  75. package/styles/ui-editor-slash-menu-item.css +6 -1
  76. package/styles/ui-editor-slash-menu.css +4 -4
  77. package/styles/ui-editor-table-context-menu.css +2 -2
  78. package/styles/ui-editor-table-toolbar.css +4 -4
  79. package/styles/ui-editor-toolbar.css +5 -5
  80. package/styles/ui-floating-action-button.css +3 -1
  81. package/styles/ui-icon-button.css +53 -18
  82. package/styles/ui-list-item.css +1 -1
  83. package/styles/ui-list.css +41 -6
  84. package/styles/ui-menu-item.css +43 -5
  85. package/styles/ui-menu.css +3 -3
  86. package/styles/ui-meter.css +4 -1
  87. package/styles/ui-nav-item.css +0 -1
  88. package/styles/ui-page-header.css +1 -0
  89. package/styles/ui-popover.css +1 -1
  90. package/styles/ui-radio.css +5 -2
  91. package/styles/ui-scroll-area.css +10 -16
  92. package/styles/ui-search-result-row.css +3 -2
  93. package/styles/ui-search-shell.css +7 -7
  94. package/styles/ui-section.css +5 -3
  95. package/styles/ui-separator.css +2 -2
  96. package/styles/ui-sidebar.css +2 -2
  97. package/styles/ui-spinner.css +27 -6
  98. package/styles/ui-status-message.css +1 -1
  99. package/styles/ui-switch.css +17 -8
  100. package/styles/ui-table.css +1 -1
  101. package/styles/ui-tabs.css +60 -51
  102. package/styles/ui-toast-region.css +1 -1
  103. package/styles/ui-toast.css +1 -1
  104. package/styles/ui-tooltip.css +12 -12
  105. package/styles/ui-top-bar.css +1 -1
  106. package/styles/ui-tree-item.css +2 -1
  107. package/theme-dark.css +4 -4
  108. package/theme-light.css +3 -3
  109. package/tokens.css +9 -6
  110. package/vanilla/UiButton.d.ts +1 -0
  111. package/vanilla/UiButton.js +17 -19
  112. package/vanilla/UiCombobox.js +162 -159
  113. package/vanilla/UiDialog.js +2 -2
  114. package/vanilla/UiIconButton.d.ts +1 -0
  115. package/vanilla/UiIconButton.js +1 -4
  116. package/vanilla/UiList.d.ts +3 -1
  117. package/vanilla/UiList.js +36 -19
  118. package/vanilla/UiMenu.d.ts +1 -0
  119. package/vanilla/UiMenu.js +1 -1
  120. package/vanilla/UiMenuItem.js +10 -13
  121. package/vanilla/UiScrollArea.js +11 -6
  122. package/vanilla/UiSearchShell.js +2 -2
  123. package/vanilla/UiSpinner.js +2 -4
  124. package/vue/UiAvatarGroup.vue +8 -5
  125. package/vue/UiBadge.vue +10 -5
  126. package/vue/UiBreadcrumbItem.vue +2 -1
  127. package/vue/UiButton.d.ts +2 -0
  128. package/vue/UiButton.vue +31 -28
  129. package/vue/UiCallout.vue +3 -2
  130. package/vue/UiCard.vue +4 -2
  131. package/vue/UiCheckbox.vue +36 -8
  132. package/vue/UiCombobox.d.ts +1 -1
  133. package/vue/UiCombobox.vue +55 -35
  134. package/vue/UiContextMenu.vue +2 -2
  135. package/vue/UiDescriptionItem.vue +1 -1
  136. package/vue/UiDescriptionList.vue +2 -0
  137. package/vue/UiDialog.d.ts +3 -3
  138. package/vue/UiDialog.vue +3 -27
  139. package/vue/UiDisclosure.vue +2 -2
  140. package/vue/UiEditorInsertTableGrid.vue +2 -2
  141. package/vue/UiEditorMentionMenu.d.ts +1 -1
  142. package/vue/UiEditorMentionMenu.vue +4 -3
  143. package/vue/UiEditorSlashMenu.vue +6 -4
  144. package/vue/UiEditorSlashMenuItem.vue +6 -1
  145. package/vue/UiEditorTableContextMenu.vue +2 -2
  146. package/vue/UiEditorTableToolbar.vue +4 -4
  147. package/vue/UiEditorToolbar.vue +5 -5
  148. package/vue/UiFloatingActionButton.vue +3 -1
  149. package/vue/UiIconButton.d.ts +2 -0
  150. package/vue/UiIconButton.vue +61 -19
  151. package/vue/UiList.d.ts +7 -1
  152. package/vue/UiList.vue +57 -6
  153. package/vue/UiListItem.vue +1 -1
  154. package/vue/UiMenu.d.ts +2 -0
  155. package/vue/UiMenu.vue +6 -3
  156. package/vue/UiMenuItem.d.ts +3 -3
  157. package/vue/UiMenuItem.vue +47 -7
  158. package/vue/UiMeter.vue +4 -1
  159. package/vue/UiNavItem.vue +0 -1
  160. package/vue/UiPageHeader.vue +1 -0
  161. package/vue/UiPopover.vue +1 -1
  162. package/vue/UiRadio.vue +5 -2
  163. package/vue/UiScrollArea.vue +24 -18
  164. package/vue/UiSearchResultRow.vue +3 -2
  165. package/vue/UiSearchShell.vue +8 -8
  166. package/vue/UiSection.vue +5 -3
  167. package/vue/UiSeparator.vue +2 -2
  168. package/vue/UiSidebar.vue +2 -2
  169. package/vue/UiSpinner.vue +28 -7
  170. package/vue/UiStatusMessage.vue +1 -1
  171. package/vue/UiSwitch.vue +20 -9
  172. package/vue/UiTable.vue +1 -1
  173. package/vue/UiTabs.vue +25 -12
  174. package/vue/UiToast.vue +1 -1
  175. package/vue/UiToastRegion.vue +1 -1
  176. package/vue/UiTooltip.vue +12 -12
  177. package/vue/UiTopBar.vue +1 -1
  178. package/vue/UiTreeItem.vue +2 -1
  179. package/vue/chunks/UiAvatarGroup.js +1 -1
  180. package/vue/chunks/UiBadge.js +1 -1
  181. package/vue/chunks/UiBreadcrumbItem.js +1 -1
  182. package/vue/chunks/UiButton.js +28 -23
  183. package/vue/chunks/UiCallout.js +1 -1
  184. package/vue/chunks/UiCard.js +1 -1
  185. package/vue/chunks/UiCheckbox.js +1 -1
  186. package/vue/chunks/UiCombobox.js +80 -77
  187. package/vue/chunks/UiContextMenu.js +1 -1
  188. package/vue/chunks/UiDescriptionItem.js +1 -1
  189. package/vue/chunks/UiDescriptionList.js +1 -1
  190. package/vue/chunks/UiDialog.js +7 -4
  191. package/vue/chunks/UiDisclosure.js +1 -1
  192. package/vue/chunks/UiEditorInsertTableGrid.js +1 -1
  193. package/vue/chunks/UiEditorMentionMenu.js +1 -1
  194. package/vue/chunks/UiEditorSlashMenu.js +1 -1
  195. package/vue/chunks/UiEditorSlashMenuItem.js +1 -1
  196. package/vue/chunks/UiEditorTableContextMenu.js +1 -1
  197. package/vue/chunks/UiEditorTableToolbar.js +1 -1
  198. package/vue/chunks/UiEditorToolbar.js +1 -1
  199. package/vue/chunks/UiFloatingActionButton.js +1 -1
  200. package/vue/chunks/UiIconButton.js +13 -8
  201. package/vue/chunks/UiList.js +17 -5
  202. package/vue/chunks/UiListItem.js +1 -1
  203. package/vue/chunks/UiMenu.js +10 -2
  204. package/vue/chunks/UiMenuItem.js +1 -4
  205. package/vue/chunks/UiMeter.js +1 -1
  206. package/vue/chunks/UiNavItem.js +1 -1
  207. package/vue/chunks/UiPageHeader.js +1 -1
  208. package/vue/chunks/UiPopover.js +1 -1
  209. package/vue/chunks/UiRadio.js +1 -1
  210. package/vue/chunks/UiScrollArea.js +22 -3
  211. package/vue/chunks/UiSearchResultRow.js +1 -1
  212. package/vue/chunks/UiSearchShell.js +2 -2
  213. package/vue/chunks/UiSection.js +1 -1
  214. package/vue/chunks/UiSeparator.js +1 -1
  215. package/vue/chunks/UiSidebar.js +1 -1
  216. package/vue/chunks/UiSpinner.js +7 -5
  217. package/vue/chunks/UiStatusMessage.js +1 -1
  218. package/vue/chunks/UiSwitch.js +1 -1
  219. package/vue/chunks/UiTable.js +1 -1
  220. package/vue/chunks/UiTabs.js +1 -1
  221. package/vue/chunks/UiToast.js +1 -1
  222. package/vue/chunks/UiToastRegion.js +1 -1
  223. package/vue/chunks/UiTooltip.js +1 -1
  224. package/vue/chunks/UiTopBar.js +1 -1
  225. package/vue/chunks/UiTreeItem.js +1 -1
  226. package/vue/components.css +1231 -1032
  227. package/vue/editor/code-block-view.d.ts +29 -0
  228. package/vue/editor/index.js +70 -4
  229. package/vue/index.js +1 -1
@@ -3,7 +3,7 @@ import { componentRootIndex, manageComponentLifecycle } from "@nextwebwg/html-ne
3
3
  import * as controller from "../components/ui-button/ui-button.js";
4
4
  import "../styles/ui-button.css";
5
5
 
6
- const definition = {...{"contract":{"tag":"ui-button","props":{"align":{"type":{"enum":["center","start"]},"required":false,"target":{"attribute":"align"},"default":"center"},"as":{"type":{"enum":["button","a"]},"required":false,"target":{"attribute":"as"},"default":"button"},"disabled":{"type":"boolean","required":false,"target":{"attribute":"disabled"},"default":false},"href":{"type":"string","required":false,"target":{"attribute":"href"}},"pending":{"type":"boolean","required":false,"target":{"attribute":"aria-busy"},"default":false},"rel":{"type":"string","required":false,"target":{"attribute":"rel"}},"size":{"type":{"enum":["sm","md","lg"]},"required":false,"target":{"attribute":"size"},"default":"md"},"stretch":{"type":"boolean","required":false,"target":{"attribute":"stretch"},"default":false},"target":{"type":"string","required":false,"target":{"attribute":"target"}},"tone":{"type":{"enum":["accent","neutral","danger","success","warning","info"]},"required":false,"target":{"attribute":"tone"},"default":"accent"},"type":{"type":{"enum":["button","submit","reset"]},"required":false,"target":{"attribute":"type"},"default":"button"},"variant":{"type":{"enum":["outline","solid","danger","ghost","link"]},"required":false,"target":{"attribute":"variant"},"default":"outline"}}},"template":{"kind":"element","name":"template","attributes":[],"children":[{"kind":"element","name":"a","attributes":[{"kind":"attribute","name":"href","expression":"{ true: null, false: href }[format('%s', disabled or pending)]","expressionPlan":{"source":"{ true: null, false: href }[format('%s', disabled or pending)]","ast":{"kind":"index","object":{"kind":"object","pairs":[{"key":"true","value":{"kind":"literal","value":null}},{"key":"false","value":{"kind":"id","name":"href"}}]},"index":{"kind":"call","fn":"format","args":[{"kind":"literal","value":"%s"},{"kind":"binary","op":"or","left":{"kind":"id","name":"disabled"},"right":{"kind":"id","name":"pending"}}]}},"dependencies":["disabled","href","pending"]}},{"kind":"attribute","name":"target","expression":"target","expressionPlan":{"source":"target","ast":{"kind":"id","name":"target"},"dependencies":["target"]}},{"kind":"attribute","name":"rel","expression":"rel","expressionPlan":{"source":"rel","ast":{"kind":"id","name":"rel"},"dependencies":["rel"]}},{"kind":"attribute","name":"aria-disabled","expression":"{ true: 'true', false: null }[format('%s', disabled or pending)]","expressionPlan":{"source":"{ true: 'true', false: null }[format('%s', disabled or pending)]","ast":{"kind":"index","object":{"kind":"object","pairs":[{"key":"true","value":{"kind":"literal","value":"true"}},{"key":"false","value":{"kind":"literal","value":null}}]},"index":{"kind":"call","fn":"format","args":[{"kind":"literal","value":"%s"},{"kind":"binary","op":"or","left":{"kind":"id","name":"disabled"},"right":{"kind":"id","name":"pending"}}]}},"dependencies":["disabled","pending"]}},{"kind":"attribute","name":"aria-busy","expression":"pending","expressionPlan":{"source":"pending","ast":{"kind":"id","name":"pending"},"dependencies":["pending"]}},{"kind":"attribute","name":"tabindex","expression":"{ true: '0', false: null }[format('%s', pending and not disabled)]","expressionPlan":{"source":"{ true: '0', false: null }[format('%s', pending and not disabled)]","ast":{"kind":"index","object":{"kind":"object","pairs":[{"key":"true","value":{"kind":"literal","value":"0"}},{"key":"false","value":{"kind":"literal","value":null}}]},"index":{"kind":"call","fn":"format","args":[{"kind":"literal","value":"%s"},{"kind":"binary","op":"and","left":{"kind":"id","name":"pending"},"right":{"kind":"unary","op":"not","operand":{"kind":"id","name":"disabled"}}}]}},"dependencies":["disabled","pending"]}}],"children":[{"kind":"element","name":"ui-spinner","attributes":[{"kind":"literal","name":"size","value":"sm"},{"kind":"literal","name":"class","value":"pending-spinner"}],"children":[],"flow":{"kind":"if","test":"pending","testPlan":{"source":"pending","ast":{"kind":"id","name":"pending"},"dependencies":["pending"]}}},{"kind":"slot"}],"flow":{"kind":"when","test":"as = 'a'","testPlan":{"source":"as = 'a'","ast":{"kind":"binary","op":"=","left":{"kind":"id","name":"as"},"right":{"kind":"literal","value":"a"}},"dependencies":["as"]}}},{"kind":"element","name":"button","attributes":[{"kind":"attribute","name":"type","expression":"type","expressionPlan":{"source":"type","ast":{"kind":"id","name":"type"},"dependencies":["type"]}},{"kind":"attribute","name":"disabled","expression":"disabled","expressionPlan":{"source":"disabled","ast":{"kind":"id","name":"disabled"},"dependencies":["disabled"]}},{"kind":"attribute","name":"aria-disabled","expression":"{ true: 'true', false: null }[format('%s', pending)]","expressionPlan":{"source":"{ true: 'true', false: null }[format('%s', pending)]","ast":{"kind":"index","object":{"kind":"object","pairs":[{"key":"true","value":{"kind":"literal","value":"true"}},{"key":"false","value":{"kind":"literal","value":null}}]},"index":{"kind":"call","fn":"format","args":[{"kind":"literal","value":"%s"},{"kind":"id","name":"pending"}]}},"dependencies":["pending"]}},{"kind":"attribute","name":"aria-busy","expression":"pending","expressionPlan":{"source":"pending","ast":{"kind":"id","name":"pending"},"dependencies":["pending"]}}],"children":[{"kind":"element","name":"ui-spinner","attributes":[{"kind":"literal","name":"size","value":"sm"},{"kind":"literal","name":"class","value":"pending-spinner"}],"children":[],"flow":{"kind":"if","test":"pending","testPlan":{"source":"pending","ast":{"kind":"id","name":"pending"},"dependencies":["pending"]}}},{"kind":"slot"}],"flow":{"kind":"else"}}],"flow":{"kind":"match"}},"declarations":[],"root":{"kind":"native","element":"button","choices":["a","button"]}},source:{file:import.meta.url},css:""};
6
+ const definition = {...{"contract":{"tag":"ui-button","props":{"align":{"type":{"enum":["center","start"]},"required":false,"target":{"attribute":"align"},"default":"center"},"as":{"type":{"enum":["button","a"]},"required":false,"target":{"attribute":"as"},"default":"button"},"disabled":{"type":"boolean","required":false,"target":{"attribute":"disabled"},"default":false},"href":{"type":"string","required":false,"target":{"attribute":"href"}},"loading":{"type":"boolean","required":false,"target":{"attribute":"loading"},"default":false},"pending":{"type":"boolean","required":false,"target":{"attribute":"pending"},"default":false},"rel":{"type":"string","required":false,"target":{"attribute":"rel"}},"size":{"type":{"enum":["sm","md","lg"]},"required":false,"target":{"attribute":"size"},"default":"md"},"stretch":{"type":"boolean","required":false,"target":{"attribute":"stretch"},"default":false},"target":{"type":"string","required":false,"target":{"attribute":"target"}},"tone":{"type":{"enum":["accent","neutral","danger","success","warning","info"]},"required":false,"target":{"attribute":"tone"},"default":"accent"},"type":{"type":{"enum":["button","submit","reset"]},"required":false,"target":{"attribute":"type"},"default":"button"},"variant":{"type":{"enum":["outline","solid","danger","ghost","link"]},"required":false,"target":{"attribute":"variant"},"default":"outline"}}},"template":{"kind":"element","name":"template","attributes":[],"children":[{"kind":"element","name":"a","attributes":[{"kind":"attribute","name":"href","expression":"{ true: null, false: href }[format('%s', disabled or loading or pending)]","expressionPlan":{"source":"{ true: null, false: href }[format('%s', disabled or loading or pending)]","ast":{"kind":"index","object":{"kind":"object","pairs":[{"key":"true","value":{"kind":"literal","value":null}},{"key":"false","value":{"kind":"id","name":"href"}}]},"index":{"kind":"call","fn":"format","args":[{"kind":"literal","value":"%s"},{"kind":"binary","op":"or","left":{"kind":"binary","op":"or","left":{"kind":"id","name":"disabled"},"right":{"kind":"id","name":"loading"}},"right":{"kind":"id","name":"pending"}}]}},"dependencies":["disabled","href","loading","pending"]}},{"kind":"attribute","name":"target","expression":"target","expressionPlan":{"source":"target","ast":{"kind":"id","name":"target"},"dependencies":["target"]}},{"kind":"attribute","name":"rel","expression":"rel","expressionPlan":{"source":"rel","ast":{"kind":"id","name":"rel"},"dependencies":["rel"]}},{"kind":"attribute","name":"aria-disabled","expression":"{ true: 'true', false: null }[format('%s', disabled or loading or pending)]","expressionPlan":{"source":"{ true: 'true', false: null }[format('%s', disabled or loading or pending)]","ast":{"kind":"index","object":{"kind":"object","pairs":[{"key":"true","value":{"kind":"literal","value":"true"}},{"key":"false","value":{"kind":"literal","value":null}}]},"index":{"kind":"call","fn":"format","args":[{"kind":"literal","value":"%s"},{"kind":"binary","op":"or","left":{"kind":"binary","op":"or","left":{"kind":"id","name":"disabled"},"right":{"kind":"id","name":"loading"}},"right":{"kind":"id","name":"pending"}}]}},"dependencies":["disabled","loading","pending"]}},{"kind":"attribute","name":"aria-busy","expression":"loading or pending","expressionPlan":{"source":"loading or pending","ast":{"kind":"binary","op":"or","left":{"kind":"id","name":"loading"},"right":{"kind":"id","name":"pending"}},"dependencies":["loading","pending"]}},{"kind":"attribute","name":"tabindex","expression":"{ true: '0', false: null }[format('%s', (loading or pending) and not disabled)]","expressionPlan":{"source":"{ true: '0', false: null }[format('%s', (loading or pending) and not disabled)]","ast":{"kind":"index","object":{"kind":"object","pairs":[{"key":"true","value":{"kind":"literal","value":"0"}},{"key":"false","value":{"kind":"literal","value":null}}]},"index":{"kind":"call","fn":"format","args":[{"kind":"literal","value":"%s"},{"kind":"binary","op":"and","left":{"kind":"binary","op":"or","left":{"kind":"id","name":"loading"},"right":{"kind":"id","name":"pending"}},"right":{"kind":"unary","op":"not","operand":{"kind":"id","name":"disabled"}}}]}},"dependencies":["disabled","loading","pending"]}}],"children":[{"kind":"element","name":"span","attributes":[{"kind":"literal","name":"class","value":"spinner-wrap"}],"children":[{"kind":"element","name":"ui-spinner","attributes":[{"kind":"literal","name":"size","value":"sm"}],"children":[]}],"flow":{"kind":"if","test":"loading or pending","testPlan":{"source":"loading or pending","ast":{"kind":"binary","op":"or","left":{"kind":"id","name":"loading"},"right":{"kind":"id","name":"pending"}},"dependencies":["loading","pending"]}}},{"kind":"slot"}],"flow":{"kind":"when","test":"as = 'a'","testPlan":{"source":"as = 'a'","ast":{"kind":"binary","op":"=","left":{"kind":"id","name":"as"},"right":{"kind":"literal","value":"a"}},"dependencies":["as"]}}},{"kind":"element","name":"button","attributes":[{"kind":"attribute","name":"type","expression":"type","expressionPlan":{"source":"type","ast":{"kind":"id","name":"type"},"dependencies":["type"]}},{"kind":"attribute","name":"disabled","expression":"disabled","expressionPlan":{"source":"disabled","ast":{"kind":"id","name":"disabled"},"dependencies":["disabled"]}},{"kind":"attribute","name":"aria-disabled","expression":"{ true: 'true', false: null }[format('%s', loading or pending)]","expressionPlan":{"source":"{ true: 'true', false: null }[format('%s', loading or pending)]","ast":{"kind":"index","object":{"kind":"object","pairs":[{"key":"true","value":{"kind":"literal","value":"true"}},{"key":"false","value":{"kind":"literal","value":null}}]},"index":{"kind":"call","fn":"format","args":[{"kind":"literal","value":"%s"},{"kind":"binary","op":"or","left":{"kind":"id","name":"loading"},"right":{"kind":"id","name":"pending"}}]}},"dependencies":["loading","pending"]}},{"kind":"attribute","name":"aria-busy","expression":"loading or pending","expressionPlan":{"source":"loading or pending","ast":{"kind":"binary","op":"or","left":{"kind":"id","name":"loading"},"right":{"kind":"id","name":"pending"}},"dependencies":["loading","pending"]}}],"children":[{"kind":"element","name":"span","attributes":[{"kind":"literal","name":"class","value":"spinner-wrap"}],"children":[{"kind":"element","name":"ui-spinner","attributes":[{"kind":"literal","name":"size","value":"sm"}],"children":[]}],"flow":{"kind":"if","test":"loading or pending","testPlan":{"source":"loading or pending","ast":{"kind":"binary","op":"or","left":{"kind":"id","name":"loading"},"right":{"kind":"id","name":"pending"}},"dependencies":["loading","pending"]}}},{"kind":"slot"}],"flow":{"kind":"else"}}],"flow":{"kind":"match"}},"declarations":[],"root":{"kind":"native","element":"button","choices":["a","button"]}},source:{file:import.meta.url},css:""};
7
7
 
8
8
  export function createUiButton(options = {}) {
9
9
  const { attributes = {}, children = [], slots = {}, ...componentProps } = options;
@@ -22,13 +22,12 @@ export function createUiButton(options = {}) {
22
22
  const value1 = componentProps["rel"] === undefined ? undefined : componentProps["rel"];
23
23
  if (value1 === null || value1 === undefined) element.removeAttribute("rel");
24
24
  else element.setAttribute("rel", String(value1));
25
- const value2 = componentProps["pending"] === undefined ? false : componentProps["pending"];
26
- if (typeof value2 === "boolean") element.setAttribute("aria-busy", String(value2));
27
- else element.removeAttribute("aria-busy");
28
25
  element.setAttribute("data-component", "ui-button");
29
- const element0 = document.createElement("ui-spinner");
30
- element0.setAttribute("size", "sm");
31
- element0.setAttribute("class", "pending-spinner");
26
+ const element0 = document.createElement("span");
27
+ element0.setAttribute("class", "spinner-wrap");
28
+ const element1 = document.createElement("ui-spinner");
29
+ element1.setAttribute("size", "sm");
30
+ element0.append(element1);
32
31
  element.append(element0);
33
32
  if (children.length > 0) {
34
33
  for (const child of children) {
@@ -44,20 +43,19 @@ export function createUiButton(options = {}) {
44
43
  if (value === null || value === undefined || value === false) continue;
45
44
  element.setAttribute(name, value === true ? "" : String(value));
46
45
  }
47
- const value3 = componentProps["type"] === undefined ? "button" : componentProps["type"];
48
- if (value3 === null || value3 === undefined) element.removeAttribute("type");
49
- else element.setAttribute("type", String(value3));
50
- const value4 = componentProps["disabled"] === undefined ? false : componentProps["disabled"];
51
- if (value4 === true) element.setAttribute("disabled", "");
46
+ const value2 = componentProps["type"] === undefined ? "button" : componentProps["type"];
47
+ if (value2 === null || value2 === undefined) element.removeAttribute("type");
48
+ else element.setAttribute("type", String(value2));
49
+ const value3 = componentProps["disabled"] === undefined ? false : componentProps["disabled"];
50
+ if (value3 === true) element.setAttribute("disabled", "");
52
51
  else element.removeAttribute("disabled");
53
- const value5 = componentProps["pending"] === undefined ? false : componentProps["pending"];
54
- if (typeof value5 === "boolean") element.setAttribute("aria-busy", String(value5));
55
- else element.removeAttribute("aria-busy");
56
52
  element.setAttribute("data-component", "ui-button");
57
- const element1 = document.createElement("ui-spinner");
58
- element1.setAttribute("size", "sm");
59
- element1.setAttribute("class", "pending-spinner");
60
- element.append(element1);
53
+ const element2 = document.createElement("span");
54
+ element2.setAttribute("class", "spinner-wrap");
55
+ const element3 = document.createElement("ui-spinner");
56
+ element3.setAttribute("size", "sm");
57
+ element2.append(element3);
58
+ element.append(element2);
61
59
  if (children.length > 0) {
62
60
  for (const child of children) {
63
61
  const node = typeof child === "string" ? document.createTextNode(child) : child;