@threadlabs/looma 0.5.1 → 0.6.0-rc.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 (341) hide show
  1. package/README.md +1 -1
  2. package/components/shared/overlay.js +3 -0
  3. package/components/ui-button/ui-button.html +27 -14
  4. package/components/ui-callout/ui-callout.html +1 -1
  5. package/components/ui-checkbox/ui-checkbox.html +1 -1
  6. package/components/ui-cluster/ui-cluster.html +6 -6
  7. package/components/ui-combobox/ui-combobox.html +35 -27
  8. package/components/ui-container/ui-container.html +4 -4
  9. package/components/ui-context-menu/ui-context-menu.html +2 -2
  10. package/components/ui-dialog/ui-dialog.html +21 -8
  11. package/components/ui-disclosure/ui-disclosure.html +19 -4
  12. package/components/ui-editable/ui-editable.html +6 -6
  13. package/components/ui-editor-insert-table-grid/ui-editor-insert-table-grid.html +21 -21
  14. package/components/ui-editor-mention-menu/ui-editor-mention-menu.html +26 -26
  15. package/components/ui-editor-slash-menu/ui-editor-slash-menu.html +39 -39
  16. package/components/ui-editor-table-context-menu/ui-editor-table-context-menu.html +26 -22
  17. package/components/ui-editor-table-overlay/ui-editor-table-overlay.html +68 -52
  18. package/components/ui-editor-table-toolbar/ui-editor-table-toolbar.html +42 -38
  19. package/components/ui-editor-toolbar/ui-editor-toolbar.html +9 -9
  20. package/components/ui-floating-action-button/ui-floating-action-button.html +16 -22
  21. package/components/ui-form-field/ui-form-field.html +18 -7
  22. package/components/ui-grid/ui-grid.html +6 -6
  23. package/components/ui-icon/ui-icon.html +5 -1
  24. package/components/ui-icon-button/ui-icon-button.html +68 -34
  25. package/components/ui-input/ui-input.html +2 -2
  26. package/components/ui-menu/ui-menu.html +15 -4
  27. package/components/ui-menu-item/ui-menu-item.html +5 -5
  28. package/components/ui-popover/ui-popover.html +3 -3
  29. package/components/ui-popover/ui-popover.js +10 -2
  30. package/components/ui-reel/ui-reel.html +6 -6
  31. package/components/ui-search-result-row/ui-search-result-row.html +9 -9
  32. package/components/ui-search-shell/ui-search-shell.html +10 -3
  33. package/components/ui-search-shell/ui-search-shell.js +9 -0
  34. package/components/ui-select/ui-select.html +2 -2
  35. package/components/ui-sidebar/ui-sidebar.html +11 -11
  36. package/components/ui-stack/ui-stack.html +6 -6
  37. package/components/ui-switcher/ui-switcher.html +6 -6
  38. package/components/ui-tabs/ui-tabs.html +19 -5
  39. package/components/ui-textarea/ui-textarea.html +2 -2
  40. package/components/ui-toast-region/ui-toast-region.html +3 -3
  41. package/components/ui-tooltip/ui-tooltip.html +1 -1
  42. package/components/ui-top-bar/ui-top-bar.html +5 -5
  43. package/components/ui-tree/ui-tree.html +7 -0
  44. package/components/ui-tree-item/ui-tree-item.html +20 -7
  45. package/dist/index.d.ts +1 -1
  46. package/dist/index.js +2 -2
  47. package/package.json +2 -2
  48. package/styles/ui-affordance-scope.css +1 -1
  49. package/styles/ui-avatar-group.css +1 -1
  50. package/styles/ui-avatar.css +1 -1
  51. package/styles/ui-badge.css +1 -1
  52. package/styles/ui-button.css +25 -15
  53. package/styles/ui-callout.css +2 -2
  54. package/styles/ui-checkbox.css +2 -2
  55. package/styles/ui-cluster.css +7 -7
  56. package/styles/ui-combobox.css +24 -24
  57. package/styles/ui-container.css +5 -5
  58. package/styles/ui-context-menu.css +3 -3
  59. package/styles/ui-dialog.css +26 -9
  60. package/styles/ui-disclosure.css +23 -7
  61. package/styles/ui-editable.css +7 -7
  62. package/styles/ui-editor-insert-table-grid.css +21 -21
  63. package/styles/ui-editor-mention-menu.css +26 -26
  64. package/styles/ui-editor-slash-menu.css +40 -40
  65. package/styles/ui-editor-table-context-menu.css +21 -21
  66. package/styles/ui-editor-table-overlay.css +49 -49
  67. package/styles/ui-editor-table-toolbar.css +35 -35
  68. package/styles/ui-editor-toolbar.css +10 -10
  69. package/styles/ui-floating-action-button.css +17 -23
  70. package/styles/ui-form-field.css +24 -10
  71. package/styles/ui-grid.css +7 -7
  72. package/styles/ui-icon-button.css +74 -35
  73. package/styles/ui-icon.css +1 -1
  74. package/styles/ui-input.css +3 -3
  75. package/styles/ui-menu-item.css +6 -6
  76. package/styles/ui-menu.css +19 -7
  77. package/styles/ui-popover.css +4 -4
  78. package/styles/ui-radio-group.css +1 -1
  79. package/styles/ui-radio.css +1 -1
  80. package/styles/ui-reel.css +7 -7
  81. package/styles/ui-search-result-row.css +10 -10
  82. package/styles/ui-search-shell.css +14 -5
  83. package/styles/ui-select.css +3 -3
  84. package/styles/ui-separator.css +1 -1
  85. package/styles/ui-sidebar.css +12 -12
  86. package/styles/ui-stack.css +7 -7
  87. package/styles/ui-switch.css +1 -1
  88. package/styles/ui-switcher.css +7 -7
  89. package/styles/ui-tabs.css +21 -7
  90. package/styles/ui-textarea.css +3 -3
  91. package/styles/ui-toast-region.css +3 -3
  92. package/styles/ui-tooltip.css +2 -2
  93. package/styles/ui-top-bar.css +6 -6
  94. package/styles/ui-tree-item.css +30 -9
  95. package/styles/ui-tree.css +8 -2
  96. package/theme-dark.css +42 -103
  97. package/theme-high-contrast.css +18 -22
  98. package/theme-light.css +15 -41
  99. package/tokens.css +149 -201
  100. package/vanilla/UiAffordanceScope.d.ts +1 -1
  101. package/vanilla/UiAffordanceScope.js +2 -2
  102. package/vanilla/UiAvatar.d.ts +1 -1
  103. package/vanilla/UiAvatar.js +2 -2
  104. package/vanilla/UiAvatarGroup.d.ts +1 -1
  105. package/vanilla/UiAvatarGroup.js +2 -2
  106. package/vanilla/UiBadge.d.ts +1 -1
  107. package/vanilla/UiBadge.js +2 -2
  108. package/vanilla/UiButton.d.ts +3 -1
  109. package/vanilla/UiButton.js +3 -3
  110. package/vanilla/UiCallout.d.ts +1 -1
  111. package/vanilla/UiCallout.js +2 -2
  112. package/vanilla/UiCheckbox.d.ts +1 -1
  113. package/vanilla/UiCheckbox.js +2 -2
  114. package/vanilla/UiCluster.d.ts +1 -1
  115. package/vanilla/UiCluster.js +2 -2
  116. package/vanilla/UiCombobox.d.ts +1 -1
  117. package/vanilla/UiCombobox.js +3 -3
  118. package/vanilla/UiContainer.d.ts +1 -1
  119. package/vanilla/UiContainer.js +2 -2
  120. package/vanilla/UiContextMenu.d.ts +1 -1
  121. package/vanilla/UiContextMenu.js +2 -2
  122. package/vanilla/UiDialog.d.ts +1 -1
  123. package/vanilla/UiDialog.js +2 -2
  124. package/vanilla/UiDisclosure.d.ts +2 -1
  125. package/vanilla/UiDisclosure.js +3 -3
  126. package/vanilla/UiEditable.d.ts +1 -1
  127. package/vanilla/UiEditable.js +2 -2
  128. package/vanilla/UiEditorInsertTableGrid.d.ts +1 -1
  129. package/vanilla/UiEditorInsertTableGrid.js +3 -3
  130. package/vanilla/UiEditorMentionMenu.d.ts +1 -1
  131. package/vanilla/UiEditorMentionMenu.js +3 -3
  132. package/vanilla/UiEditorSlashMenu.d.ts +1 -1
  133. package/vanilla/UiEditorSlashMenu.js +2 -2
  134. package/vanilla/UiEditorTableContextMenu.d.ts +1 -1
  135. package/vanilla/UiEditorTableContextMenu.js +3 -3
  136. package/vanilla/UiEditorTableOverlay.d.ts +1 -1
  137. package/vanilla/UiEditorTableOverlay.js +3 -3
  138. package/vanilla/UiEditorTableToolbar.d.ts +1 -1
  139. package/vanilla/UiEditorTableToolbar.js +3 -3
  140. package/vanilla/UiEditorToolbar.d.ts +1 -1
  141. package/vanilla/UiEditorToolbar.js +2 -2
  142. package/vanilla/UiFloatingActionButton.d.ts +1 -1
  143. package/vanilla/UiFloatingActionButton.js +2 -2
  144. package/vanilla/UiFormField.d.ts +1 -1
  145. package/vanilla/UiFormField.js +15 -6
  146. package/vanilla/UiGrid.d.ts +1 -1
  147. package/vanilla/UiGrid.js +2 -2
  148. package/vanilla/UiIcon.d.ts +1 -1
  149. package/vanilla/UiIcon.js +3 -3
  150. package/vanilla/UiIconButton.d.ts +1 -1
  151. package/vanilla/UiIconButton.js +2 -2
  152. package/vanilla/UiInput.d.ts +1 -1
  153. package/vanilla/UiInput.js +2 -2
  154. package/vanilla/UiMenu.d.ts +2 -1
  155. package/vanilla/UiMenu.js +3 -3
  156. package/vanilla/UiMenuItem.d.ts +1 -1
  157. package/vanilla/UiMenuItem.js +2 -2
  158. package/vanilla/UiPopover.d.ts +1 -1
  159. package/vanilla/UiPopover.js +2 -2
  160. package/vanilla/UiRadio.d.ts +1 -1
  161. package/vanilla/UiRadio.js +2 -2
  162. package/vanilla/UiRadioGroup.d.ts +1 -1
  163. package/vanilla/UiRadioGroup.js +2 -2
  164. package/vanilla/UiReel.d.ts +1 -1
  165. package/vanilla/UiReel.js +2 -2
  166. package/vanilla/UiSearchResultRow.d.ts +1 -1
  167. package/vanilla/UiSearchResultRow.js +2 -2
  168. package/vanilla/UiSearchShell.d.ts +1 -1
  169. package/vanilla/UiSearchShell.js +2 -2
  170. package/vanilla/UiSelect.d.ts +1 -1
  171. package/vanilla/UiSelect.js +2 -2
  172. package/vanilla/UiSeparator.d.ts +1 -1
  173. package/vanilla/UiSeparator.js +2 -2
  174. package/vanilla/UiSidebar.d.ts +1 -1
  175. package/vanilla/UiSidebar.js +2 -2
  176. package/vanilla/UiStack.d.ts +1 -1
  177. package/vanilla/UiStack.js +2 -2
  178. package/vanilla/UiSwitch.d.ts +1 -1
  179. package/vanilla/UiSwitch.js +2 -2
  180. package/vanilla/UiSwitcher.d.ts +1 -1
  181. package/vanilla/UiSwitcher.js +2 -2
  182. package/vanilla/UiTabs.d.ts +2 -1
  183. package/vanilla/UiTabs.js +3 -3
  184. package/vanilla/UiTextarea.d.ts +1 -1
  185. package/vanilla/UiTextarea.js +2 -2
  186. package/vanilla/UiToastRegion.d.ts +1 -1
  187. package/vanilla/UiToastRegion.js +3 -3
  188. package/vanilla/UiTooltip.d.ts +1 -1
  189. package/vanilla/UiTooltip.js +2 -2
  190. package/vanilla/UiTopBar.d.ts +1 -1
  191. package/vanilla/UiTopBar.js +1 -1
  192. package/vanilla/UiTree.d.ts +2 -1
  193. package/vanilla/UiTree.js +3 -3
  194. package/vanilla/UiTreeItem.d.ts +1 -1
  195. package/vanilla/UiTreeItem.js +2 -2
  196. package/vue/UiAffordanceScope.d.ts +2 -2
  197. package/vue/UiAffordanceScope.vue +92 -73
  198. package/vue/UiAvatar.d.ts +7 -7
  199. package/vue/UiAvatar.vue +145 -105
  200. package/vue/UiAvatarGroup.d.ts +4 -4
  201. package/vue/UiAvatarGroup.vue +134 -118
  202. package/vue/UiBadge.d.ts +4 -4
  203. package/vue/UiBadge.vue +113 -114
  204. package/vue/UiButton.d.ts +10 -6
  205. package/vue/UiButton.vue +295 -248
  206. package/vue/UiCallout.d.ts +2 -2
  207. package/vue/UiCallout.vue +154 -87
  208. package/vue/UiCheckbox.d.ts +14 -10
  209. package/vue/UiCheckbox.vue +228 -162
  210. package/vue/UiCluster.d.ts +2 -2
  211. package/vue/UiCluster.vue +53 -60
  212. package/vue/UiCombobox.d.ts +36 -32
  213. package/vue/UiCombobox.vue +1005 -416
  214. package/vue/UiContainer.d.ts +2 -2
  215. package/vue/UiContainer.vue +48 -51
  216. package/vue/UiContextMenu.d.ts +6 -4
  217. package/vue/UiContextMenu.vue +205 -116
  218. package/vue/UiDialog.d.ts +11 -9
  219. package/vue/UiDialog.vue +287 -212
  220. package/vue/UiDisclosure.d.ts +10 -6
  221. package/vue/UiDisclosure.vue +265 -159
  222. package/vue/UiEditable.d.ts +16 -12
  223. package/vue/UiEditable.vue +325 -205
  224. package/vue/UiEditorInsertTableGrid.d.ts +8 -8
  225. package/vue/UiEditorInsertTableGrid.vue +216 -157
  226. package/vue/UiEditorMentionMenu.d.ts +9 -9
  227. package/vue/UiEditorMentionMenu.vue +265 -222
  228. package/vue/UiEditorSlashMenu.d.ts +7 -7
  229. package/vue/UiEditorSlashMenu.vue +286 -240
  230. package/vue/UiEditorTableContextMenu.d.ts +5 -5
  231. package/vue/UiEditorTableContextMenu.vue +306 -193
  232. package/vue/UiEditorTableOverlay.d.ts +2 -2
  233. package/vue/UiEditorTableOverlay.vue +600 -369
  234. package/vue/UiEditorTableToolbar.d.ts +7 -7
  235. package/vue/UiEditorTableToolbar.vue +443 -268
  236. package/vue/UiEditorToolbar.d.ts +2 -2
  237. package/vue/UiEditorToolbar.vue +134 -121
  238. package/vue/UiFloatingActionButton.d.ts +6 -6
  239. package/vue/UiFloatingActionButton.vue +95 -99
  240. package/vue/UiFormField.d.ts +6 -6
  241. package/vue/UiFormField.vue +112 -80
  242. package/vue/UiGrid.d.ts +2 -2
  243. package/vue/UiGrid.vue +51 -57
  244. package/vue/UiIcon.d.ts +2 -2
  245. package/vue/UiIcon.vue +118 -89
  246. package/vue/UiIconButton.d.ts +11 -11
  247. package/vue/UiIconButton.vue +287 -217
  248. package/vue/UiInput.d.ts +9 -9
  249. package/vue/UiInput.vue +153 -127
  250. package/vue/UiMenu.d.ts +10 -6
  251. package/vue/UiMenu.vue +227 -143
  252. package/vue/UiMenuItem.d.ts +4 -4
  253. package/vue/UiMenuItem.vue +53 -46
  254. package/vue/UiPopover.d.ts +8 -6
  255. package/vue/UiPopover.vue +197 -137
  256. package/vue/UiRadio.d.ts +14 -10
  257. package/vue/UiRadio.vue +183 -117
  258. package/vue/UiRadioGroup.d.ts +14 -12
  259. package/vue/UiRadioGroup.vue +172 -111
  260. package/vue/UiReel.d.ts +3 -3
  261. package/vue/UiReel.vue +77 -77
  262. package/vue/UiSearchResultRow.d.ts +4 -4
  263. package/vue/UiSearchResultRow.vue +121 -115
  264. package/vue/UiSearchShell.d.ts +10 -8
  265. package/vue/UiSearchShell.vue +245 -176
  266. package/vue/UiSelect.d.ts +9 -9
  267. package/vue/UiSelect.vue +162 -134
  268. package/vue/UiSeparator.d.ts +2 -2
  269. package/vue/UiSeparator.vue +22 -27
  270. package/vue/UiSidebar.d.ts +20 -18
  271. package/vue/UiSidebar.vue +307 -224
  272. package/vue/UiStack.d.ts +3 -3
  273. package/vue/UiStack.vue +64 -70
  274. package/vue/UiSwitch.d.ts +12 -8
  275. package/vue/UiSwitch.vue +218 -150
  276. package/vue/UiSwitcher.d.ts +3 -3
  277. package/vue/UiSwitcher.vue +73 -75
  278. package/vue/UiTabs.d.ts +12 -8
  279. package/vue/UiTabs.vue +268 -210
  280. package/vue/UiTextarea.d.ts +11 -11
  281. package/vue/UiTextarea.vue +155 -128
  282. package/vue/UiToastRegion.d.ts +10 -8
  283. package/vue/UiToastRegion.vue +261 -198
  284. package/vue/UiTooltip.d.ts +14 -12
  285. package/vue/UiTooltip.vue +241 -177
  286. package/vue/UiTopBar.vue +51 -42
  287. package/vue/UiTree.d.ts +10 -6
  288. package/vue/UiTree.vue +180 -70
  289. package/vue/UiTreeItem.d.ts +24 -22
  290. package/vue/UiTreeItem.vue +464 -339
  291. package/vue/chunks/UiAffordanceScope.js +9 -16
  292. package/vue/chunks/UiAvatar.js +23 -29
  293. package/vue/chunks/UiAvatarGroup.js +16 -39
  294. package/vue/chunks/UiBadge.js +3 -12
  295. package/vue/chunks/UiButton.js +15 -18
  296. package/vue/chunks/UiCallout.js +8 -17
  297. package/vue/chunks/UiCheckbox.js +37 -40
  298. package/vue/chunks/UiCluster.js +3 -12
  299. package/vue/chunks/UiCombobox.js +224 -266
  300. package/vue/chunks/UiContainer.js +3 -12
  301. package/vue/chunks/UiContextMenu.js +39 -34
  302. package/vue/chunks/UiDialog.js +36 -39
  303. package/vue/chunks/UiDisclosure.js +44 -48
  304. package/vue/chunks/UiEditable.js +55 -57
  305. package/vue/chunks/UiEditorInsertTableGrid.js +55 -73
  306. package/vue/chunks/UiEditorMentionMenu.js +40 -81
  307. package/vue/chunks/UiEditorSlashMenu.js +28 -52
  308. package/vue/chunks/UiEditorTableContextMenu.js +32 -56
  309. package/vue/chunks/UiEditorTableOverlay.js +58 -82
  310. package/vue/chunks/UiEditorTableToolbar.js +61 -85
  311. package/vue/chunks/UiEditorToolbar.js +4 -13
  312. package/vue/chunks/UiFloatingActionButton.js +7 -21
  313. package/vue/chunks/UiFormField.js +15 -12
  314. package/vue/chunks/UiGrid.js +3 -12
  315. package/vue/chunks/UiIcon.js +20 -43
  316. package/vue/chunks/UiIconButton.js +16 -28
  317. package/vue/chunks/UiInput.js +20 -25
  318. package/vue/chunks/UiMenu.js +30 -33
  319. package/vue/chunks/UiMenuItem.js +4 -10
  320. package/vue/chunks/UiPopover.js +28 -29
  321. package/vue/chunks/UiRadio.js +36 -39
  322. package/vue/chunks/UiRadioGroup.js +30 -34
  323. package/vue/chunks/UiReel.js +6 -15
  324. package/vue/chunks/UiSearchResultRow.js +6 -19
  325. package/vue/chunks/UiSearchShell.js +25 -28
  326. package/vue/chunks/UiSelect.js +20 -23
  327. package/vue/chunks/UiSeparator.js +2 -8
  328. package/vue/chunks/UiSidebar.js +39 -44
  329. package/vue/chunks/UiStack.js +6 -15
  330. package/vue/chunks/UiSwitch.js +35 -38
  331. package/vue/chunks/UiSwitcher.js +6 -15
  332. package/vue/chunks/UiTabs.js +52 -85
  333. package/vue/chunks/UiTextarea.js +21 -26
  334. package/vue/chunks/UiToastRegion.js +38 -72
  335. package/vue/chunks/UiTooltip.js +34 -35
  336. package/vue/chunks/UiTopBar.js +1 -1
  337. package/vue/chunks/UiTree.js +27 -16
  338. package/vue/chunks/UiTreeItem.js +85 -102
  339. package/vue/components.css +4027 -3800
  340. package/vue/editor/LoomaEditor.d.ts +11 -0
  341. package/vue/editor/index.js +9 -0
@@ -13,26 +13,17 @@ var UiSwitcher_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
13
13
  threshold: {}
14
14
  },
15
15
  setup(__props) {
16
- const hn = { t: (v) => v === true || (typeof v === "string" ? v.length > 0 : typeof v === "number" ? v !== 0 && v === v : Array.isArray(v) ? v.length > 0 : v !== null && typeof v === "object" ? Object.keys(v).length > 0 : false) };
17
16
  const props = __props;
18
- /** The resolved values the styles' :host-state() rules test. */
17
+ /** The values the styles' :host-state() rules test. */
19
18
  const hostState = computed(() => [
20
- "gap",
21
- "threshold",
22
- "align"
23
- ].flatMap((name) => {
24
- const value = read(name);
25
- const tokens = hn.t(value) ? [name] : [];
26
- if (typeof value === "string" || typeof value === "number") tokens.push(`${name}=${encodeURIComponent(String(value))}`);
27
- return tokens;
28
- }).join(" "));
29
- function read(name) {
30
- return props[name];
31
- }
19
+ props.gap && `gap gap=${props.gap}`,
20
+ props.threshold && `threshold threshold=${props.threshold}`,
21
+ props.align && `align align=${props.align}`
22
+ ].filter(Boolean).join(" "));
32
23
  return (_ctx, _cache) => {
33
24
  return openBlock(), createElementBlock("div", mergeProps({ "data-component": "ui-switcher" }, _ctx.$attrs, { "data-ui-switcher-state": hostState.value || void 0 }), [renderSlot(_ctx.$slots, "default")], 16, _hoisted_1);
34
25
  };
35
26
  }
36
- }), [["__scopeId", "data-v-e2eb3fd3"]]);
27
+ }), [["__scopeId", "data-v-4ba623e1"]]);
37
28
  //#endregion
38
29
  export { UiSwitcher_default as t };
@@ -1,5 +1,5 @@
1
1
  import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper.js";
2
- import { Fragment, computed, createElementBlock, createElementVNode, defineComponent, mergeProps, onBeforeUnmount, onMounted, openBlock, ref, renderList, renderSlot, shallowRef, toDisplayString, watchEffect } from "vue";
2
+ import { Fragment, computed, createElementBlock, createElementVNode, defineComponent, mergeProps, onBeforeUnmount, onMounted, openBlock, ref, renderList, renderSlot, shallowRef, toDisplayString, useTemplateRef, watchEffect } from "vue";
3
3
  import * as controllerModule from "@threadlabs/looma/components/ui-tabs/ui-tabs.js";
4
4
  //#region .build/vue/UiTabs.vue?vue&type=script&setup=true&lang.ts
5
5
  var _hoisted_1 = ["data-ui-tabs-state"];
@@ -10,108 +10,75 @@ var _hoisted_3 = [
10
10
  "aria-controls",
11
11
  "aria-selected"
12
12
  ];
13
+ var _hoisted_4 = {
14
+ class: "panels",
15
+ ref: "panels"
16
+ };
13
17
  //#endregion
14
18
  //#region .build/vue/UiTabs.vue
15
19
  var UiTabs_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
16
20
  inheritAttrs: false,
17
21
  __name: "UiTabs",
18
22
  props: {
23
+ density: { default: "comfortable" },
19
24
  label: { default: "Tabs" },
20
25
  orientation: { default: "horizontal" },
21
26
  stretch: {
22
- type: [Boolean, null],
27
+ type: Boolean,
23
28
  default: false
24
29
  },
25
30
  value: { default: "" }
26
31
  },
27
- emits: ["select"],
32
+ emits: ["update:value", "select"],
28
33
  setup(__props, { emit: __emit }) {
29
- const hn = {
30
- t: (v) => v === true || (typeof v === "string" ? v.length > 0 : typeof v === "number" ? v !== 0 && v === v : Array.isArray(v) ? v.length > 0 : v !== null && typeof v === "object" ? Object.keys(v).length > 0 : false),
31
- n: (v) => typeof v === "number" && v === v ? v : void 0,
32
- text: (v) => v === void 0 || v === null ? "" : Array.isArray(v) ? v.map(hn.text).join(" ") : typeof v === "object" ? "" : String(v),
33
- attr: (v) => v === void 0 || v === null || v === false ? void 0 : v === true ? "" : Array.isArray(v) ? v.map(hn.text).join(" ") : typeof v === "object" ? void 0 : String(v),
34
- enumerated: (v) => typeof v === "boolean" ? String(v) : hn.attr(v),
35
- call: (fn, ...args) => {
36
- if (fn === "format") {
37
- let index = 1;
38
- return typeof args[0] === "string" ? args[0].replace(/%s/g, () => index < args.length ? hn.text(args[index++]) : "%s") : void 0;
39
- }
40
- const n = args.map(hn.n);
41
- if (n.some((value) => value === void 0)) return void 0;
42
- const v = n;
43
- switch (fn) {
44
- case "abs": return v.length === 1 ? Math.abs(v[0]) : void 0;
45
- case "round": return v.length === 1 ? Math.round(v[0]) : void 0;
46
- case "min": return v.length > 0 ? Math.min(...v) : void 0;
47
- case "max": return v.length > 0 ? Math.max(...v) : void 0;
48
- case "clamp": return v.length === 3 ? Math.min(Math.max(v[0], v[1]), v[2]) : void 0;
49
- }
50
- },
51
- shape: (items, where, sort, limit) => {
52
- let list = Array.isArray(items) ? items.slice() : [];
53
- if (where !== void 0) list = list.filter((item) => hn.t(where(item)));
54
- if (sort.length > 0) {
55
- const field = (item, path) => item !== null && typeof item === "object" && !Array.isArray(item) ? path.split(".").reduce((value, key) => value?.[key], item) : item;
56
- const compare = (a, b) => typeof a === "number" && typeof b === "number" ? a - b : hn.text(a).localeCompare(hn.text(b));
57
- list.sort((a, b) => {
58
- for (const key of sort) {
59
- const descending = key.startsWith("-");
60
- const order = compare(field(a, descending ? key.slice(1) : key), field(b, descending ? key.slice(1) : key));
61
- if (order !== 0) return descending ? -order : order;
62
- }
63
- return 0;
64
- });
65
- }
66
- return typeof limit === "number" ? list.slice(0, Math.max(0, Math.trunc(limit))) : list;
67
- }
68
- };
69
34
  const props = __props;
70
35
  const emit = __emit;
71
36
  const root = ref(null);
72
- const refs = {};
73
- const state_internalValue = ref("");
74
- const state_tabs = ref([]);
37
+ const listElement = useTemplateRef("list");
38
+ const panelsElement = useTemplateRef("panels");
39
+ const internalValue = ref("");
40
+ const tabs = ref([]);
41
+ /** The values the styles' :host-state() rules test. */
42
+ const hostState = computed(() => [
43
+ props.density && `density density=${props.density}`,
44
+ props.stretch && "stretch",
45
+ props.orientation && `orientation orientation=${props.orientation}`
46
+ ].filter(Boolean).join(" "));
75
47
  /** Dispatches a component event to Vue listeners and, for controllers and page code, on the root. */
76
- const dispatch = (name, detail) => {
77
- const declared = { "select": {
78
- "bubbles": true,
79
- "composed": true,
80
- "cancelable": false
48
+ function dispatch(name, detail) {
49
+ const declared = { select: {
50
+ bubbles: true,
51
+ composed: true,
52
+ cancelable: false
81
53
  } };
82
- const checks = { "select": (detail) => detail !== null && typeof detail === "object" && !Array.isArray(detail) && typeof detail["value"] === "string" && typeof detail["previousValue"] === "string" && (detail["trigger"] === "keyboard" || detail["trigger"] === "pointer" || detail["trigger"] === "programmatic") && Object.keys(detail).every((key) => [
54
+ const checks = { select: (detail) => detail !== null && typeof detail === "object" && !Array.isArray(detail) && typeof detail["value"] === "string" && typeof detail["previousValue"] === "string" && (detail["trigger"] === "keyboard" || detail["trigger"] === "pointer" || detail["trigger"] === "programmatic") && Object.keys(detail).every((key) => [
83
55
  "value",
84
56
  "previousValue",
85
57
  "trigger"
86
58
  ].includes(key)) };
87
59
  if (detail !== void 0 && checks[name] !== void 0 && !checks[name](detail)) throw new TypeError(`HR002: Event \`${name}\` detail does not satisfy its declared type.`);
88
- emit(name, detail);
60
+ const emitEvent = emit;
61
+ emitEvent(name, detail);
62
+ if (detail !== null && typeof detail === "object" && "value" in detail) emitEvent("update:value", detail["value"]);
89
63
  return root.value?.dispatchEvent(new CustomEvent(name, {
90
64
  bubbles: true,
91
65
  composed: true,
92
66
  ...declared[name],
93
67
  detail
94
68
  })) ?? true;
95
- };
96
- /** The resolved values the styles' :host-state() rules test. */
97
- const hostState = computed(() => ["stretch", "orientation"].flatMap((name) => {
98
- const value = read(name);
99
- const tokens = hn.t(value) ? [name] : [];
100
- if (typeof value === "string" || typeof value === "number") tokens.push(`${name}=${encodeURIComponent(String(value))}`);
101
- return tokens;
102
- }).join(" "));
69
+ }
103
70
  function read(name) {
104
- if (name === "internalValue") return state_internalValue.value;
105
- if (name === "tabs") return state_tabs.value;
71
+ if (name === "internalValue") return internalValue.value;
72
+ if (name === "tabs") return tabs.value;
106
73
  return props[name];
107
74
  }
108
75
  function write(name, value) {
109
76
  if (name === "internalValue") {
110
- state_internalValue.value = value;
77
+ internalValue.value = value;
111
78
  return true;
112
79
  }
113
80
  if (name === "tabs") {
114
- state_tabs.value = value;
81
+ tabs.value = value;
115
82
  return true;
116
83
  }
117
84
  throw new TypeError(`Only declared state is writable; \`${name}\` is not.`);
@@ -125,7 +92,14 @@ var UiTabs_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE_
125
92
  get: (_target, name) => typeof name === "string" ? read(name) : void 0,
126
93
  set: (_target, name, value) => typeof name === "string" && write(name, value)
127
94
  }),
128
- refs,
95
+ refs: {
96
+ get list() {
97
+ return listElement.value;
98
+ },
99
+ get panels() {
100
+ return panelsElement.value;
101
+ }
102
+ },
129
103
  elements: new Proxy({}, { get: (_target, name) => {
130
104
  if (typeof name !== "string" || root.value === null) return void 0;
131
105
  return (root.value instanceof HTMLFormElement ? root.value : root.value.querySelector("form"))?.elements.namedItem(name) ?? root.value.querySelector(`[name="${CSS.escape(name)}"]`) ?? void 0;
@@ -182,29 +156,22 @@ var UiTabs_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE_
182
156
  }), [createElementVNode("div", {
183
157
  class: "list",
184
158
  role: "tablist",
185
- "aria-label": hn.enumerated(props.label),
186
- "aria-orientation": hn.enumerated(props.orientation),
187
- ref: (element) => {
188
- refs["list"] = element;
189
- }
190
- }, [(openBlock(true), createElementBlock(Fragment, null, renderList(hn.shape(state_tabs.value, void 0, [], void 0), (tab, index) => {
159
+ "aria-label": __props.label,
160
+ "aria-orientation": __props.orientation,
161
+ ref: "list"
162
+ }, [(openBlock(true), createElementBlock(Fragment, null, renderList(tabs.value, (tab) => {
191
163
  return openBlock(), createElementBlock("button", {
192
- key: tab?.id,
164
+ key: tab.id,
193
165
  type: "button",
194
166
  role: "tab",
195
- id: hn.attr(hn.call("format", "%s-tab", tab?.id)),
196
- value: hn.attr(tab?.id),
197
- "aria-controls": hn.enumerated(tab?.id),
198
- "aria-selected": hn.enumerated(tab?.id === state_internalValue.value)
199
- }, toDisplayString(hn.text(tab?.label)), 9, _hoisted_3);
200
- }), 128))], 8, _hoisted_2), createElementVNode("div", {
201
- class: "panels",
202
- ref: (element) => {
203
- refs["panels"] = element;
204
- }
205
- }, [renderSlot(_ctx.$slots, "default")], 512)], 16, _hoisted_1);
167
+ id: `${tab.id}-tab`,
168
+ value: tab.id,
169
+ "aria-controls": tab.id,
170
+ "aria-selected": tab.id === internalValue.value
171
+ }, toDisplayString(tab.label), 9, _hoisted_3);
172
+ }), 128))], 8, _hoisted_2), createElementVNode("div", _hoisted_4, [renderSlot(_ctx.$slots, "default")], 512)], 16, _hoisted_1);
206
173
  };
207
174
  }
208
- }), [["__scopeId", "data-v-33cbeff4"]]);
175
+ }), [["__scopeId", "data-v-b9e876c6"]]);
209
176
  //#endregion
210
177
  export { UiTabs_default as t };
@@ -1,9 +1,8 @@
1
1
  import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper.js";
2
- import { computed, createElementBlock, defineComponent, mergeProps, onBeforeUnmount, onMounted, openBlock, ref, shallowRef, watchEffect } from "vue";
2
+ import { computed, createElementBlock, defineComponent, mergeProps, onBeforeUnmount, onMounted, openBlock, ref, shallowRef, vModelText, watchEffect, withDirectives } from "vue";
3
3
  import * as controllerModule from "@threadlabs/looma/components/ui-textarea/ui-textarea.js";
4
4
  //#region .build/vue/UiTextarea.vue?vue&type=script&setup=true&lang.ts
5
5
  var _hoisted_1 = [
6
- "value",
7
6
  "disabled",
8
7
  "readonly",
9
8
  "required",
@@ -17,19 +16,19 @@ var UiTextarea_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
17
16
  __name: "UiTextarea",
18
17
  props: {
19
18
  disabled: {
20
- type: [Boolean, null],
19
+ type: Boolean,
21
20
  default: false
22
21
  },
23
22
  invalid: {
24
- type: [Boolean, null],
23
+ type: Boolean,
25
24
  default: false
26
25
  },
27
26
  readonly: {
28
- type: [Boolean, null],
27
+ type: Boolean,
29
28
  default: false
30
29
  },
31
30
  required: {
32
- type: [Boolean, null],
31
+ type: Boolean,
33
32
  default: false
34
33
  },
35
34
  rows: { default: 4 },
@@ -38,24 +37,21 @@ var UiTextarea_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
38
37
  },
39
38
  emits: ["update:modelValue"],
40
39
  setup(__props, { emit: __emit }) {
41
- const hn = {
42
- text: (v) => v === void 0 || v === null ? "" : Array.isArray(v) ? v.map(hn.text).join(" ") : typeof v === "object" ? "" : String(v),
43
- attr: (v) => v === void 0 || v === null || v === false ? void 0 : v === true ? "" : Array.isArray(v) ? v.map(hn.text).join(" ") : typeof v === "object" ? void 0 : String(v),
44
- enumerated: (v) => typeof v === "boolean" ? String(v) : hn.attr(v)
45
- };
46
40
  const props = __props;
47
41
  const emit = __emit;
48
- const updateModel = (event) => emit("update:modelValue", event.target.value);
42
+ const model = computed({
43
+ get: () => props.modelValue ?? props.value ?? void 0,
44
+ set: (value) => emit("update:modelValue", value)
45
+ });
49
46
  const root = ref(null);
50
- const refs = {};
51
47
  /** Dispatches a component event to Vue listeners and, for controllers and page code, on the root. */
52
- const dispatch = (name, detail) => {
48
+ function dispatch(name, detail) {
53
49
  return root.value?.dispatchEvent(new CustomEvent(name, {
54
50
  bubbles: true,
55
51
  composed: true,
56
52
  detail
57
53
  })) ?? true;
58
- };
54
+ }
59
55
  function read(name) {
60
56
  return props[name];
61
57
  }
@@ -71,7 +67,7 @@ var UiTextarea_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
71
67
  get: (_target, name) => typeof name === "string" ? read(name) : void 0,
72
68
  set: (_target, name, value) => typeof name === "string" && write(name, value)
73
69
  }),
74
- refs,
70
+ refs: {},
75
71
  elements: new Proxy({}, { get: (_target, name) => {
76
72
  if (typeof name !== "string" || root.value === null) return void 0;
77
73
  return (root.value instanceof HTMLFormElement ? root.value : root.value.querySelector("form"))?.elements.namedItem(name) ?? root.value.querySelector(`[name="${CSS.escape(name)}"]`) ?? void 0;
@@ -121,19 +117,18 @@ var UiTextarea_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
121
117
  if (typeof cleanup === "function") cleanup();
122
118
  });
123
119
  return (_ctx, _cache) => {
124
- return openBlock(), createElementBlock("textarea", mergeProps({ "data-component": "ui-textarea" }, _ctx.$attrs, {
125
- value: hn.attr(props.modelValue ?? props.value),
126
- disabled: hn.attr(props.disabled),
127
- readonly: hn.attr(props.readonly),
128
- required: hn.attr(props.required),
129
- "aria-invalid": hn.enumerated(props.invalid),
130
- rows: hn.attr(props.rows),
131
- onInput: updateModel,
120
+ return withDirectives((openBlock(), createElementBlock("textarea", mergeProps({ "data-component": "ui-textarea" }, _ctx.$attrs, {
121
+ disabled: __props.disabled,
122
+ readonly: __props.readonly,
123
+ required: __props.required,
124
+ "aria-invalid": __props.invalid,
125
+ rows: __props.rows,
126
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => model.value = $event),
132
127
  ref_key: "root",
133
128
  ref: root
134
- }), null, 16, _hoisted_1);
129
+ }), null, 16, _hoisted_1)), [[vModelText, model.value]]);
135
130
  };
136
131
  }
137
- }), [["__scopeId", "data-v-f4e08b37"]]);
132
+ }), [["__scopeId", "data-v-2b01ccc0"]]);
138
133
  //#endregion
139
134
  export { UiTextarea_default as t };
@@ -13,110 +13,76 @@ var UiToastRegion_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @
13
13
  __name: "UiToastRegion",
14
14
  props: {
15
15
  auto: {
16
- type: [Boolean, null],
16
+ type: Boolean,
17
17
  default: false
18
18
  },
19
19
  duration: { default: 5e3 },
20
20
  message: { default: "Notification" },
21
21
  open: {
22
- type: [Boolean, null],
22
+ type: Boolean,
23
23
  default: false
24
24
  }
25
25
  },
26
- emits: ["close", "dismiss"],
26
+ emits: [
27
+ "update:open",
28
+ "close",
29
+ "dismiss"
30
+ ],
27
31
  setup(__props, { expose: __expose, emit: __emit }) {
28
- const hn = {
29
- t: (v) => v === true || (typeof v === "string" ? v.length > 0 : typeof v === "number" ? v !== 0 && v === v : Array.isArray(v) ? v.length > 0 : v !== null && typeof v === "object" ? Object.keys(v).length > 0 : false),
30
- n: (v) => typeof v === "number" && v === v ? v : void 0,
31
- text: (v) => v === void 0 || v === null ? "" : Array.isArray(v) ? v.map(hn.text).join(" ") : typeof v === "object" ? "" : String(v),
32
- attr: (v) => v === void 0 || v === null || v === false ? void 0 : v === true ? "" : Array.isArray(v) ? v.map(hn.text).join(" ") : typeof v === "object" ? void 0 : String(v),
33
- call: (fn, ...args) => {
34
- if (fn === "format") {
35
- let index = 1;
36
- return typeof args[0] === "string" ? args[0].replace(/%s/g, () => index < args.length ? hn.text(args[index++]) : "%s") : void 0;
37
- }
38
- const n = args.map(hn.n);
39
- if (n.some((value) => value === void 0)) return void 0;
40
- const v = n;
41
- switch (fn) {
42
- case "abs": return v.length === 1 ? Math.abs(v[0]) : void 0;
43
- case "round": return v.length === 1 ? Math.round(v[0]) : void 0;
44
- case "min": return v.length > 0 ? Math.min(...v) : void 0;
45
- case "max": return v.length > 0 ? Math.max(...v) : void 0;
46
- case "clamp": return v.length === 3 ? Math.min(Math.max(v[0], v[1]), v[2]) : void 0;
47
- }
48
- },
49
- shape: (items, where, sort, limit) => {
50
- let list = Array.isArray(items) ? items.slice() : [];
51
- if (where !== void 0) list = list.filter((item) => hn.t(where(item)));
52
- if (sort.length > 0) {
53
- const field = (item, path) => item !== null && typeof item === "object" && !Array.isArray(item) ? path.split(".").reduce((value, key) => value?.[key], item) : item;
54
- const compare = (a, b) => typeof a === "number" && typeof b === "number" ? a - b : hn.text(a).localeCompare(hn.text(b));
55
- list.sort((a, b) => {
56
- for (const key of sort) {
57
- const descending = key.startsWith("-");
58
- const order = compare(field(a, descending ? key.slice(1) : key), field(b, descending ? key.slice(1) : key));
59
- if (order !== 0) return descending ? -order : order;
60
- }
61
- return 0;
62
- });
63
- }
64
- return typeof limit === "number" ? list.slice(0, Math.max(0, Math.trunc(limit))) : list;
65
- }
66
- };
67
32
  const props = __props;
68
33
  const emit = __emit;
69
34
  const root = ref(null);
70
- const refs = {};
71
- const state_internalOpen = ref(false);
72
- const state_toasts = ref([]);
35
+ const internalOpen = ref(false);
36
+ const toasts = ref([]);
73
37
  /** Dispatches a component event to Vue listeners and, for controllers and page code, on the root. */
74
- const dispatch = (name, detail) => {
38
+ function dispatch(name, detail) {
75
39
  const declared = {
76
- "close": {
77
- "bubbles": true,
78
- "composed": true,
79
- "cancelable": false
40
+ close: {
41
+ bubbles: true,
42
+ composed: true,
43
+ cancelable: false
80
44
  },
81
- "dismiss": {
82
- "bubbles": true,
83
- "composed": true,
84
- "cancelable": false
45
+ dismiss: {
46
+ bubbles: true,
47
+ composed: true,
48
+ cancelable: false
85
49
  }
86
50
  };
87
51
  const checks = {
88
- "close": (detail) => detail !== null && typeof detail === "object" && !Array.isArray(detail) && typeof detail["open"] === "boolean" && (detail["reason"] === "action" || detail["reason"] === "timeout" || detail["reason"] === "programmatic" || detail["reason"] === "light-dismiss" || detail["reason"] === "escape") && (detail["trigger"] === "keyboard" || detail["trigger"] === "pointer" || detail["trigger"] === "programmatic") && Object.keys(detail).every((key) => [
52
+ close: (detail) => detail !== null && typeof detail === "object" && !Array.isArray(detail) && typeof detail["open"] === "boolean" && (detail["reason"] === "action" || detail["reason"] === "timeout" || detail["reason"] === "programmatic" || detail["reason"] === "light-dismiss" || detail["reason"] === "escape") && (detail["trigger"] === "keyboard" || detail["trigger"] === "pointer" || detail["trigger"] === "programmatic") && Object.keys(detail).every((key) => [
89
53
  "open",
90
54
  "reason",
91
55
  "trigger"
92
56
  ].includes(key)),
93
- "dismiss": (detail) => detail !== null && typeof detail === "object" && !Array.isArray(detail) && typeof detail["id"] === "string" && (detail["reason"] === "action" || detail["reason"] === "timeout") && (detail["trigger"] === "keyboard" || detail["trigger"] === "pointer" || detail["trigger"] === "programmatic") && Object.keys(detail).every((key) => [
57
+ dismiss: (detail) => detail !== null && typeof detail === "object" && !Array.isArray(detail) && typeof detail["id"] === "string" && (detail["reason"] === "action" || detail["reason"] === "timeout") && (detail["trigger"] === "keyboard" || detail["trigger"] === "pointer" || detail["trigger"] === "programmatic") && Object.keys(detail).every((key) => [
94
58
  "id",
95
59
  "reason",
96
60
  "trigger"
97
61
  ].includes(key))
98
62
  };
99
63
  if (detail !== void 0 && checks[name] !== void 0 && !checks[name](detail)) throw new TypeError(`HR002: Event \`${name}\` detail does not satisfy its declared type.`);
100
- emit(name, detail);
64
+ const emitEvent = emit;
65
+ emitEvent(name, detail);
66
+ if (detail !== null && typeof detail === "object" && "open" in detail) emitEvent("update:open", detail["open"]);
101
67
  return root.value?.dispatchEvent(new CustomEvent(name, {
102
68
  bubbles: true,
103
69
  composed: true,
104
70
  ...declared[name],
105
71
  detail
106
72
  })) ?? true;
107
- };
73
+ }
108
74
  function read(name) {
109
- if (name === "internalOpen") return state_internalOpen.value;
110
- if (name === "toasts") return state_toasts.value;
75
+ if (name === "internalOpen") return internalOpen.value;
76
+ if (name === "toasts") return toasts.value;
111
77
  return props[name];
112
78
  }
113
79
  function write(name, value) {
114
80
  if (name === "internalOpen") {
115
- state_internalOpen.value = value;
81
+ internalOpen.value = value;
116
82
  return true;
117
83
  }
118
84
  if (name === "toasts") {
119
- state_toasts.value = value;
85
+ toasts.value = value;
120
86
  return true;
121
87
  }
122
88
  throw new TypeError(`Only declared state is writable; \`${name}\` is not.`);
@@ -130,7 +96,7 @@ var UiToastRegion_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @
130
96
  get: (_target, name) => typeof name === "string" ? read(name) : void 0,
131
97
  set: (_target, name, value) => typeof name === "string" && write(name, value)
132
98
  }),
133
- refs,
99
+ refs: {},
134
100
  elements: new Proxy({}, { get: (_target, name) => {
135
101
  if (typeof name !== "string" || root.value === null) return void 0;
136
102
  return (root.value instanceof HTMLFormElement ? root.value : root.value.querySelector("form"))?.elements.namedItem(name) ?? root.value.querySelector(`[name="${CSS.escape(name)}"]`) ?? void 0;
@@ -194,20 +160,20 @@ var UiToastRegion_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @
194
160
  }, _ctx.$attrs, {
195
161
  ref_key: "root",
196
162
  ref: root
197
- }), [renderSlot(_ctx.$slots, "default"), (openBlock(true), createElementBlock(Fragment, null, renderList(hn.shape(state_toasts.value, void 0, [], void 0), (toast, index) => {
163
+ }), [renderSlot(_ctx.$slots, "default"), (openBlock(true), createElementBlock(Fragment, null, renderList(toasts.value, (toast) => {
198
164
  return openBlock(), createElementBlock("div", {
199
- key: toast?.id,
200
- class: normalizeClass(["toast", { "closing": hn.t(toast?.closing) }]),
201
- id: hn.attr(toast?.id),
202
- role: hn.attr(toast?.role)
203
- }, [createElementVNode("span", _hoisted_2, toDisplayString(hn.text(toast?.message)), 1), createElementVNode("span", {
165
+ key: toast.id,
166
+ class: normalizeClass(["toast", { closing: toast.closing }]),
167
+ id: toast.id,
168
+ role: toast.role
169
+ }, [createElementVNode("span", _hoisted_2, toDisplayString(toast.message), 1), createElementVNode("span", {
204
170
  class: "dismiss",
205
- "data-toast": hn.attr(toast?.id)
171
+ "data-toast": toast.id
206
172
  }, [createVNode(UiIconButton_default, {
207
173
  size: "sm",
208
174
  variant: "ghost",
209
175
  round: true,
210
- label: hn.call("format", "Dismiss %s", toast?.message)
176
+ label: `Dismiss ${toast.message}`
211
177
  }, {
212
178
  default: withCtx(() => [..._cache[0] || (_cache[0] = [createElementVNode("svg", {
213
179
  viewBox: "0 0 24 24",
@@ -222,6 +188,6 @@ var UiToastRegion_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @
222
188
  }), 128))], 16);
223
189
  };
224
190
  }
225
- }), [["__scopeId", "data-v-b607cf88"]]);
191
+ }), [["__scopeId", "data-v-7d8dab78"]]);
226
192
  //#endregion
227
193
  export { UiToastRegion_default as t };