@threadlabs/looma 0.5.0 → 0.5.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 (313) hide show
  1. package/README.md +1 -1
  2. package/components/shared/input-modality.d.ts +8 -0
  3. package/components/shared/input-modality.js +2 -0
  4. package/components/ui-button/ui-button.html +42 -1
  5. package/components/ui-combobox/ui-combobox.html +12 -4
  6. package/components/ui-dialog/ui-dialog.html +13 -0
  7. package/components/ui-editor-insert-table-grid/ui-editor-insert-table-grid.html +1 -1
  8. package/components/ui-editor-mention-menu/ui-editor-mention-menu.html +1 -1
  9. package/components/ui-editor-table-context-menu/ui-editor-table-context-menu.html +6 -2
  10. package/components/ui-editor-table-overlay/ui-editor-table-overlay.html +20 -4
  11. package/components/ui-editor-table-toolbar/ui-editor-table-toolbar.html +8 -4
  12. package/components/ui-form-field/ui-form-field.html +18 -7
  13. package/components/ui-icon/ui-icon.html +5 -1
  14. package/components/ui-icon-button/ui-icon-button.html +44 -1
  15. package/components/ui-popover/ui-popover.js +10 -2
  16. package/components/ui-search-shell/ui-search-shell.html +7 -0
  17. package/components/ui-search-shell/ui-search-shell.js +9 -0
  18. package/components/ui-tabs/ui-tabs.html +1 -1
  19. package/components/ui-toast-region/ui-toast-region.html +1 -1
  20. package/components/ui-tree-item/ui-tree-item.html +6 -1
  21. package/dist/index.d.ts +1 -1
  22. package/dist/index.js +2 -2
  23. package/package.json +2 -2
  24. package/styles/ui-affordance-scope.css +1 -1
  25. package/styles/ui-avatar-group.css +1 -1
  26. package/styles/ui-avatar.css +1 -1
  27. package/styles/ui-badge.css +1 -1
  28. package/styles/ui-button.css +42 -2
  29. package/styles/ui-callout.css +1 -1
  30. package/styles/ui-checkbox.css +1 -1
  31. package/styles/ui-cluster.css +1 -1
  32. package/styles/ui-combobox.css +1 -1
  33. package/styles/ui-container.css +1 -1
  34. package/styles/ui-context-menu.css +1 -1
  35. package/styles/ui-dialog.css +18 -1
  36. package/styles/ui-disclosure.css +1 -1
  37. package/styles/ui-editable.css +1 -1
  38. package/styles/ui-editor-insert-table-grid.css +1 -1
  39. package/styles/ui-editor-mention-menu.css +1 -1
  40. package/styles/ui-editor-slash-menu.css +1 -1
  41. package/styles/ui-editor-table-context-menu.css +1 -1
  42. package/styles/ui-editor-table-overlay.css +1 -1
  43. package/styles/ui-editor-table-toolbar.css +1 -1
  44. package/styles/ui-editor-toolbar.css +1 -1
  45. package/styles/ui-floating-action-button.css +1 -1
  46. package/styles/ui-form-field.css +24 -10
  47. package/styles/ui-grid.css +1 -1
  48. package/styles/ui-icon-button.css +52 -2
  49. package/styles/ui-icon.css +1 -1
  50. package/styles/ui-input.css +1 -1
  51. package/styles/ui-menu-item.css +1 -1
  52. package/styles/ui-menu.css +1 -1
  53. package/styles/ui-popover.css +1 -1
  54. package/styles/ui-radio-group.css +1 -1
  55. package/styles/ui-radio.css +1 -1
  56. package/styles/ui-reel.css +1 -1
  57. package/styles/ui-search-result-row.css +1 -1
  58. package/styles/ui-search-shell.css +11 -2
  59. package/styles/ui-select.css +1 -1
  60. package/styles/ui-separator.css +1 -1
  61. package/styles/ui-sidebar.css +1 -1
  62. package/styles/ui-stack.css +1 -1
  63. package/styles/ui-switch.css +1 -1
  64. package/styles/ui-switcher.css +1 -1
  65. package/styles/ui-tabs.css +1 -1
  66. package/styles/ui-textarea.css +1 -1
  67. package/styles/ui-toast-region.css +1 -1
  68. package/styles/ui-tooltip.css +1 -1
  69. package/styles/ui-top-bar.css +1 -1
  70. package/styles/ui-tree-item.css +10 -2
  71. package/styles/ui-tree.css +1 -1
  72. package/vanilla/UiAffordanceScope.d.ts +1 -1
  73. package/vanilla/UiAffordanceScope.js +2 -2
  74. package/vanilla/UiAvatar.d.ts +1 -1
  75. package/vanilla/UiAvatar.js +2 -2
  76. package/vanilla/UiAvatarGroup.d.ts +1 -1
  77. package/vanilla/UiAvatarGroup.js +2 -2
  78. package/vanilla/UiBadge.d.ts +1 -1
  79. package/vanilla/UiBadge.js +2 -2
  80. package/vanilla/UiButton.d.ts +3 -1
  81. package/vanilla/UiButton.js +3 -3
  82. package/vanilla/UiCallout.d.ts +1 -1
  83. package/vanilla/UiCallout.js +2 -2
  84. package/vanilla/UiCheckbox.d.ts +1 -1
  85. package/vanilla/UiCheckbox.js +2 -2
  86. package/vanilla/UiCluster.d.ts +1 -1
  87. package/vanilla/UiCluster.js +2 -2
  88. package/vanilla/UiCombobox.d.ts +1 -1
  89. package/vanilla/UiCombobox.js +3 -3
  90. package/vanilla/UiContainer.d.ts +1 -1
  91. package/vanilla/UiContainer.js +2 -2
  92. package/vanilla/UiContextMenu.d.ts +1 -1
  93. package/vanilla/UiContextMenu.js +2 -2
  94. package/vanilla/UiDialog.d.ts +1 -1
  95. package/vanilla/UiDialog.js +2 -2
  96. package/vanilla/UiDisclosure.d.ts +1 -1
  97. package/vanilla/UiDisclosure.js +2 -2
  98. package/vanilla/UiEditable.d.ts +1 -1
  99. package/vanilla/UiEditable.js +2 -2
  100. package/vanilla/UiEditorInsertTableGrid.d.ts +1 -1
  101. package/vanilla/UiEditorInsertTableGrid.js +3 -3
  102. package/vanilla/UiEditorMentionMenu.d.ts +1 -1
  103. package/vanilla/UiEditorMentionMenu.js +3 -3
  104. package/vanilla/UiEditorSlashMenu.d.ts +1 -1
  105. package/vanilla/UiEditorSlashMenu.js +2 -2
  106. package/vanilla/UiEditorTableContextMenu.d.ts +1 -1
  107. package/vanilla/UiEditorTableContextMenu.js +3 -3
  108. package/vanilla/UiEditorTableOverlay.d.ts +1 -1
  109. package/vanilla/UiEditorTableOverlay.js +3 -3
  110. package/vanilla/UiEditorTableToolbar.d.ts +1 -1
  111. package/vanilla/UiEditorTableToolbar.js +3 -3
  112. package/vanilla/UiEditorToolbar.d.ts +1 -1
  113. package/vanilla/UiEditorToolbar.js +2 -2
  114. package/vanilla/UiFloatingActionButton.d.ts +1 -1
  115. package/vanilla/UiFloatingActionButton.js +2 -2
  116. package/vanilla/UiFormField.d.ts +1 -1
  117. package/vanilla/UiFormField.js +15 -6
  118. package/vanilla/UiGrid.d.ts +1 -1
  119. package/vanilla/UiGrid.js +2 -2
  120. package/vanilla/UiIcon.d.ts +1 -1
  121. package/vanilla/UiIcon.js +3 -3
  122. package/vanilla/UiIconButton.d.ts +1 -1
  123. package/vanilla/UiIconButton.js +2 -2
  124. package/vanilla/UiInput.d.ts +1 -1
  125. package/vanilla/UiInput.js +2 -2
  126. package/vanilla/UiMenu.d.ts +1 -1
  127. package/vanilla/UiMenu.js +2 -2
  128. package/vanilla/UiMenuItem.d.ts +1 -1
  129. package/vanilla/UiMenuItem.js +2 -2
  130. package/vanilla/UiPopover.d.ts +1 -1
  131. package/vanilla/UiPopover.js +2 -2
  132. package/vanilla/UiRadio.d.ts +1 -1
  133. package/vanilla/UiRadio.js +2 -2
  134. package/vanilla/UiRadioGroup.d.ts +1 -1
  135. package/vanilla/UiRadioGroup.js +2 -2
  136. package/vanilla/UiReel.d.ts +1 -1
  137. package/vanilla/UiReel.js +2 -2
  138. package/vanilla/UiSearchResultRow.d.ts +1 -1
  139. package/vanilla/UiSearchResultRow.js +2 -2
  140. package/vanilla/UiSearchShell.d.ts +1 -1
  141. package/vanilla/UiSearchShell.js +2 -2
  142. package/vanilla/UiSelect.d.ts +1 -1
  143. package/vanilla/UiSelect.js +2 -2
  144. package/vanilla/UiSeparator.d.ts +1 -1
  145. package/vanilla/UiSeparator.js +2 -2
  146. package/vanilla/UiSidebar.d.ts +1 -1
  147. package/vanilla/UiSidebar.js +2 -2
  148. package/vanilla/UiStack.d.ts +1 -1
  149. package/vanilla/UiStack.js +2 -2
  150. package/vanilla/UiSwitch.d.ts +1 -1
  151. package/vanilla/UiSwitch.js +2 -2
  152. package/vanilla/UiSwitcher.d.ts +1 -1
  153. package/vanilla/UiSwitcher.js +2 -2
  154. package/vanilla/UiTabs.d.ts +1 -1
  155. package/vanilla/UiTabs.js +3 -3
  156. package/vanilla/UiTextarea.d.ts +1 -1
  157. package/vanilla/UiTextarea.js +2 -2
  158. package/vanilla/UiToastRegion.d.ts +1 -1
  159. package/vanilla/UiToastRegion.js +3 -3
  160. package/vanilla/UiTooltip.d.ts +1 -1
  161. package/vanilla/UiTooltip.js +2 -2
  162. package/vanilla/UiTopBar.d.ts +1 -1
  163. package/vanilla/UiTopBar.js +1 -1
  164. package/vanilla/UiTree.d.ts +1 -1
  165. package/vanilla/UiTree.js +2 -2
  166. package/vanilla/UiTreeItem.d.ts +1 -1
  167. package/vanilla/UiTreeItem.js +2 -2
  168. package/vue/UiAffordanceScope.d.ts +2 -2
  169. package/vue/UiAffordanceScope.vue +92 -73
  170. package/vue/UiAvatar.d.ts +7 -7
  171. package/vue/UiAvatar.vue +145 -105
  172. package/vue/UiAvatarGroup.d.ts +4 -4
  173. package/vue/UiAvatarGroup.vue +134 -118
  174. package/vue/UiBadge.d.ts +4 -4
  175. package/vue/UiBadge.vue +113 -114
  176. package/vue/UiButton.d.ts +10 -6
  177. package/vue/UiButton.vue +289 -220
  178. package/vue/UiCallout.d.ts +2 -2
  179. package/vue/UiCallout.vue +154 -87
  180. package/vue/UiCheckbox.d.ts +14 -10
  181. package/vue/UiCheckbox.vue +228 -162
  182. package/vue/UiCluster.d.ts +2 -2
  183. package/vue/UiCluster.vue +53 -60
  184. package/vue/UiCombobox.d.ts +36 -32
  185. package/vue/UiCombobox.vue +1005 -416
  186. package/vue/UiContainer.d.ts +2 -2
  187. package/vue/UiContainer.vue +48 -51
  188. package/vue/UiContextMenu.d.ts +6 -4
  189. package/vue/UiContextMenu.vue +205 -116
  190. package/vue/UiDialog.d.ts +11 -9
  191. package/vue/UiDialog.vue +287 -212
  192. package/vue/UiDisclosure.d.ts +8 -6
  193. package/vue/UiDisclosure.vue +248 -159
  194. package/vue/UiEditable.d.ts +16 -12
  195. package/vue/UiEditable.vue +325 -205
  196. package/vue/UiEditorInsertTableGrid.d.ts +8 -8
  197. package/vue/UiEditorInsertTableGrid.vue +216 -157
  198. package/vue/UiEditorMentionMenu.d.ts +9 -9
  199. package/vue/UiEditorMentionMenu.vue +265 -222
  200. package/vue/UiEditorSlashMenu.d.ts +7 -7
  201. package/vue/UiEditorSlashMenu.vue +286 -240
  202. package/vue/UiEditorTableContextMenu.d.ts +5 -5
  203. package/vue/UiEditorTableContextMenu.vue +306 -193
  204. package/vue/UiEditorTableOverlay.d.ts +2 -2
  205. package/vue/UiEditorTableOverlay.vue +609 -369
  206. package/vue/UiEditorTableToolbar.d.ts +7 -7
  207. package/vue/UiEditorTableToolbar.vue +443 -268
  208. package/vue/UiEditorToolbar.d.ts +2 -2
  209. package/vue/UiEditorToolbar.vue +134 -121
  210. package/vue/UiFloatingActionButton.d.ts +6 -6
  211. package/vue/UiFloatingActionButton.vue +100 -99
  212. package/vue/UiFormField.d.ts +6 -6
  213. package/vue/UiFormField.vue +112 -80
  214. package/vue/UiGrid.d.ts +2 -2
  215. package/vue/UiGrid.vue +51 -57
  216. package/vue/UiIcon.d.ts +2 -2
  217. package/vue/UiIcon.vue +118 -89
  218. package/vue/UiIconButton.d.ts +11 -11
  219. package/vue/UiIconButton.vue +285 -206
  220. package/vue/UiInput.d.ts +9 -9
  221. package/vue/UiInput.vue +153 -127
  222. package/vue/UiMenu.d.ts +8 -6
  223. package/vue/UiMenu.vue +217 -143
  224. package/vue/UiMenuItem.d.ts +4 -4
  225. package/vue/UiMenuItem.vue +52 -46
  226. package/vue/UiPopover.d.ts +8 -6
  227. package/vue/UiPopover.vue +197 -137
  228. package/vue/UiRadio.d.ts +14 -10
  229. package/vue/UiRadio.vue +183 -117
  230. package/vue/UiRadioGroup.d.ts +14 -12
  231. package/vue/UiRadioGroup.vue +172 -111
  232. package/vue/UiReel.d.ts +3 -3
  233. package/vue/UiReel.vue +77 -77
  234. package/vue/UiSearchResultRow.d.ts +4 -4
  235. package/vue/UiSearchResultRow.vue +124 -115
  236. package/vue/UiSearchShell.d.ts +10 -8
  237. package/vue/UiSearchShell.vue +245 -176
  238. package/vue/UiSelect.d.ts +9 -9
  239. package/vue/UiSelect.vue +162 -134
  240. package/vue/UiSeparator.d.ts +2 -2
  241. package/vue/UiSeparator.vue +22 -27
  242. package/vue/UiSidebar.d.ts +20 -18
  243. package/vue/UiSidebar.vue +312 -224
  244. package/vue/UiStack.d.ts +3 -3
  245. package/vue/UiStack.vue +64 -70
  246. package/vue/UiSwitch.d.ts +12 -8
  247. package/vue/UiSwitch.vue +218 -150
  248. package/vue/UiSwitcher.d.ts +3 -3
  249. package/vue/UiSwitcher.vue +73 -75
  250. package/vue/UiTabs.d.ts +10 -8
  251. package/vue/UiTabs.vue +251 -210
  252. package/vue/UiTextarea.d.ts +11 -11
  253. package/vue/UiTextarea.vue +155 -128
  254. package/vue/UiToastRegion.d.ts +10 -8
  255. package/vue/UiToastRegion.vue +261 -198
  256. package/vue/UiTooltip.d.ts +14 -12
  257. package/vue/UiTooltip.vue +241 -177
  258. package/vue/UiTopBar.vue +51 -42
  259. package/vue/UiTree.d.ts +8 -6
  260. package/vue/UiTree.vue +157 -70
  261. package/vue/UiTreeItem.d.ts +24 -22
  262. package/vue/UiTreeItem.vue +456 -339
  263. package/vue/chunks/UiAffordanceScope.js +9 -16
  264. package/vue/chunks/UiAvatar.js +23 -29
  265. package/vue/chunks/UiAvatarGroup.js +16 -39
  266. package/vue/chunks/UiBadge.js +3 -12
  267. package/vue/chunks/UiButton.js +15 -18
  268. package/vue/chunks/UiCallout.js +8 -17
  269. package/vue/chunks/UiCheckbox.js +37 -40
  270. package/vue/chunks/UiCluster.js +3 -12
  271. package/vue/chunks/UiCombobox.js +224 -266
  272. package/vue/chunks/UiContainer.js +3 -12
  273. package/vue/chunks/UiContextMenu.js +39 -34
  274. package/vue/chunks/UiDialog.js +36 -39
  275. package/vue/chunks/UiDisclosure.js +43 -48
  276. package/vue/chunks/UiEditable.js +55 -57
  277. package/vue/chunks/UiEditorInsertTableGrid.js +55 -73
  278. package/vue/chunks/UiEditorMentionMenu.js +40 -81
  279. package/vue/chunks/UiEditorSlashMenu.js +28 -52
  280. package/vue/chunks/UiEditorTableContextMenu.js +32 -56
  281. package/vue/chunks/UiEditorTableOverlay.js +58 -82
  282. package/vue/chunks/UiEditorTableToolbar.js +61 -85
  283. package/vue/chunks/UiEditorToolbar.js +4 -13
  284. package/vue/chunks/UiFloatingActionButton.js +7 -21
  285. package/vue/chunks/UiFormField.js +15 -12
  286. package/vue/chunks/UiGrid.js +3 -12
  287. package/vue/chunks/UiIcon.js +20 -43
  288. package/vue/chunks/UiIconButton.js +16 -28
  289. package/vue/chunks/UiInput.js +20 -25
  290. package/vue/chunks/UiMenu.js +29 -33
  291. package/vue/chunks/UiMenuItem.js +4 -10
  292. package/vue/chunks/UiPopover.js +28 -29
  293. package/vue/chunks/UiRadio.js +36 -39
  294. package/vue/chunks/UiRadioGroup.js +30 -34
  295. package/vue/chunks/UiReel.js +6 -15
  296. package/vue/chunks/UiSearchResultRow.js +6 -19
  297. package/vue/chunks/UiSearchShell.js +25 -28
  298. package/vue/chunks/UiSelect.js +20 -23
  299. package/vue/chunks/UiSeparator.js +2 -8
  300. package/vue/chunks/UiSidebar.js +39 -44
  301. package/vue/chunks/UiStack.js +6 -15
  302. package/vue/chunks/UiSwitch.js +35 -38
  303. package/vue/chunks/UiSwitcher.js +6 -15
  304. package/vue/chunks/UiTabs.js +47 -85
  305. package/vue/chunks/UiTextarea.js +21 -26
  306. package/vue/chunks/UiToastRegion.js +38 -72
  307. package/vue/chunks/UiTooltip.js +34 -35
  308. package/vue/chunks/UiTopBar.js +1 -1
  309. package/vue/chunks/UiTree.js +20 -15
  310. package/vue/chunks/UiTreeItem.js +85 -102
  311. package/vue/components.css +3994 -3764
  312. package/vue/index.d.ts +1 -0
  313. package/vue/index.js +2 -1
@@ -10,33 +10,26 @@ var UiAffordanceScope_default = /*#__PURE__*/ _plugin_vue_export_helper_default(
10
10
  __name: "UiAffordanceScope",
11
11
  props: { nearRadius: { default: 16 } },
12
12
  setup(__props) {
13
- 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) };
14
13
  const props = __props;
15
14
  const root = ref(null);
16
- const refs = {};
17
- const state_engaged = ref(false);
15
+ const engaged = ref(false);
16
+ /** The values the styles' :host-state() rules test. */
17
+ const hostState = computed(() => [engaged.value && "engaged"].filter(Boolean).join(" "));
18
18
  /** Dispatches a component event to Vue listeners and, for controllers and page code, on the root. */
19
- const dispatch = (name, detail) => {
19
+ function dispatch(name, detail) {
20
20
  return root.value?.dispatchEvent(new CustomEvent(name, {
21
21
  bubbles: true,
22
22
  composed: true,
23
23
  detail
24
24
  })) ?? true;
25
- };
26
- /** The resolved values the styles' :host-state() rules test. */
27
- const hostState = computed(() => ["engaged"].flatMap((name) => {
28
- const value = read(name);
29
- const tokens = hn.t(value) ? [name] : [];
30
- if (typeof value === "string" || typeof value === "number") tokens.push(`${name}=${encodeURIComponent(String(value))}`);
31
- return tokens;
32
- }).join(" "));
25
+ }
33
26
  function read(name) {
34
- if (name === "engaged") return state_engaged.value;
27
+ if (name === "engaged") return engaged.value;
35
28
  return props[name];
36
29
  }
37
30
  function write(name, value) {
38
31
  if (name === "engaged") {
39
- state_engaged.value = value;
32
+ engaged.value = value;
40
33
  return true;
41
34
  }
42
35
  throw new TypeError(`Only declared state is writable; \`${name}\` is not.`);
@@ -50,7 +43,7 @@ var UiAffordanceScope_default = /*#__PURE__*/ _plugin_vue_export_helper_default(
50
43
  get: (_target, name) => typeof name === "string" ? read(name) : void 0,
51
44
  set: (_target, name, value) => typeof name === "string" && write(name, value)
52
45
  }),
53
- refs,
46
+ refs: {},
54
47
  elements: new Proxy({}, { get: (_target, name) => {
55
48
  if (typeof name !== "string" || root.value === null) return void 0;
56
49
  return (root.value instanceof HTMLFormElement ? root.value : root.value.querySelector("form"))?.elements.namedItem(name) ?? root.value.querySelector(`[name="${CSS.escape(name)}"]`) ?? void 0;
@@ -107,6 +100,6 @@ var UiAffordanceScope_default = /*#__PURE__*/ _plugin_vue_export_helper_default(
107
100
  }), [renderSlot(_ctx.$slots, "default", {}, void 0, true)], 16, _hoisted_1);
108
101
  };
109
102
  }
110
- }), [["__scopeId", "data-v-650ceaf5"]]);
103
+ }), [["__scopeId", "data-v-3d8ef4c3"]]);
111
104
  //#endregion
112
105
  export { UiAffordanceScope_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 { computed, createElementBlock, createElementVNode, defineComponent, mergeProps, onBeforeUnmount, onMounted, openBlock, ref, renderSlot, shallowRef, toDisplayString, watchEffect } from "vue";
2
+ import { computed, createElementBlock, createElementVNode, defineComponent, mergeProps, onBeforeUnmount, onMounted, openBlock, ref, renderSlot, shallowRef, toDisplayString, useTemplateRef, watchEffect } from "vue";
3
3
  import * as controllerModule from "@threadlabs/looma/components/ui-avatar/ui-avatar.js";
4
4
  //#region .build/vue/UiAvatar.vue?vue&type=script&setup=true&lang.ts
5
5
  var _hoisted_1 = ["src", "hidden"];
@@ -16,43 +16,37 @@ var UiAvatar_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PUR
16
16
  src: {}
17
17
  },
18
18
  setup(__props) {
19
- const hn = {
20
- 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),
21
- text: (v) => v === void 0 || v === null ? "" : Array.isArray(v) ? v.map(hn.text).join(" ") : typeof v === "object" ? "" : String(v),
22
- 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),
23
- enumerated: (v) => typeof v === "boolean" ? String(v) : hn.attr(v)
24
- };
25
19
  const props = __props;
26
20
  const root = ref(null);
27
- const refs = {};
28
- const state_hasImage = ref(false);
29
- const state_hasAuthoredImage = ref(false);
30
- const state_initials = ref("?");
21
+ const imageElement = useTemplateRef("image");
22
+ const hasImage = ref(false);
23
+ const hasAuthoredImage = ref(false);
24
+ const initials = ref("?");
31
25
  /** Dispatches a component event to Vue listeners and, for controllers and page code, on the root. */
32
- const dispatch = (name, detail) => {
26
+ function dispatch(name, detail) {
33
27
  return root.value?.dispatchEvent(new CustomEvent(name, {
34
28
  bubbles: true,
35
29
  composed: true,
36
30
  detail
37
31
  })) ?? true;
38
- };
32
+ }
39
33
  function read(name) {
40
- if (name === "hasImage") return state_hasImage.value;
41
- if (name === "hasAuthoredImage") return state_hasAuthoredImage.value;
42
- if (name === "initials") return state_initials.value;
34
+ if (name === "hasImage") return hasImage.value;
35
+ if (name === "hasAuthoredImage") return hasAuthoredImage.value;
36
+ if (name === "initials") return initials.value;
43
37
  return props[name];
44
38
  }
45
39
  function write(name, value) {
46
40
  if (name === "hasImage") {
47
- state_hasImage.value = value;
41
+ hasImage.value = value;
48
42
  return true;
49
43
  }
50
44
  if (name === "hasAuthoredImage") {
51
- state_hasAuthoredImage.value = value;
45
+ hasAuthoredImage.value = value;
52
46
  return true;
53
47
  }
54
48
  if (name === "initials") {
55
- state_initials.value = value;
49
+ initials.value = value;
56
50
  return true;
57
51
  }
58
52
  throw new TypeError(`Only declared state is writable; \`${name}\` is not.`);
@@ -66,7 +60,9 @@ var UiAvatar_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PUR
66
60
  get: (_target, name) => typeof name === "string" ? read(name) : void 0,
67
61
  set: (_target, name, value) => typeof name === "string" && write(name, value)
68
62
  }),
69
- refs,
63
+ refs: { get image() {
64
+ return imageElement.value;
65
+ } },
70
66
  elements: new Proxy({}, { get: (_target, name) => {
71
67
  if (typeof name !== "string" || root.value === null) return void 0;
72
68
  return (root.value instanceof HTMLFormElement ? root.value : root.value.querySelector("form"))?.elements.namedItem(name) ?? root.value.querySelector(`[name="${CSS.escape(name)}"]`) ?? void 0;
@@ -125,20 +121,18 @@ var UiAvatar_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PUR
125
121
  class: "image",
126
122
  alt: "",
127
123
  "aria-hidden": "true",
128
- src: hn.attr(props.src),
129
- hidden: hn.attr(hn.t(state_hasAuthoredImage.value) || hn.t(!hn.t(state_hasImage.value))),
130
- ref: (element) => {
131
- refs["image"] = element;
132
- }
124
+ src: __props.src,
125
+ hidden: hasAuthoredImage.value || !hasImage.value,
126
+ ref: "image"
133
127
  }, null, 8, _hoisted_1),
134
128
  createElementVNode("span", {
135
129
  class: "fallback",
136
- "aria-hidden": hn.enumerated(state_hasImage.value),
137
- hidden: hn.attr(state_hasImage.value)
138
- }, toDisplayString(hn.text(state_initials.value)), 9, _hoisted_2)
130
+ "aria-hidden": hasImage.value,
131
+ hidden: hasImage.value
132
+ }, toDisplayString(initials.value), 9, _hoisted_2)
139
133
  ], 16);
140
134
  };
141
135
  }
142
- }), [["__scopeId", "data-v-110795c3"]]);
136
+ }), [["__scopeId", "data-v-038b6eb1"]]);
143
137
  //#endregion
144
138
  export { UiAvatar_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 { computed, createElementBlock, createElementVNode, defineComponent, mergeProps, onBeforeUnmount, onMounted, openBlock, ref, renderSlot, shallowRef, toDisplayString, watchEffect } from "vue";
2
+ import { computed, createElementBlock, createElementVNode, defineComponent, mergeProps, onBeforeUnmount, onMounted, openBlock, ref, renderSlot, shallowRef, toDisplayString, useTemplateRef, watchEffect } from "vue";
3
3
  import * as controllerModule from "@threadlabs/looma/components/ui-avatar-group/ui-avatar-group.js";
4
4
  //#region .build/vue/UiAvatarGroup.vue?vue&type=script&setup=true&lang.ts
5
5
  var _hoisted_1 = ["aria-label"];
@@ -14,48 +14,25 @@ var UiAvatarGroup_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @
14
14
  max: { default: 5 }
15
15
  },
16
16
  setup(__props) {
17
- const hn = {
18
- 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),
19
- n: (v) => typeof v === "number" && v === v ? v : void 0,
20
- text: (v) => v === void 0 || v === null ? "" : Array.isArray(v) ? v.map(hn.text).join(" ") : typeof v === "object" ? "" : String(v),
21
- 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),
22
- enumerated: (v) => typeof v === "boolean" ? String(v) : hn.attr(v),
23
- call: (fn, ...args) => {
24
- if (fn === "format") {
25
- let index = 1;
26
- return typeof args[0] === "string" ? args[0].replace(/%s/g, () => index < args.length ? hn.text(args[index++]) : "%s") : void 0;
27
- }
28
- const n = args.map(hn.n);
29
- if (n.some((value) => value === void 0)) return void 0;
30
- const v = n;
31
- switch (fn) {
32
- case "abs": return v.length === 1 ? Math.abs(v[0]) : void 0;
33
- case "round": return v.length === 1 ? Math.round(v[0]) : void 0;
34
- case "min": return v.length > 0 ? Math.min(...v) : void 0;
35
- case "max": return v.length > 0 ? Math.max(...v) : void 0;
36
- case "clamp": return v.length === 3 ? Math.min(Math.max(v[0], v[1]), v[2]) : void 0;
37
- }
38
- }
39
- };
40
17
  const props = __props;
41
18
  const root = ref(null);
42
- const refs = {};
43
- const state_overflowCount = ref(0);
19
+ const overflowElement = useTemplateRef("overflow");
20
+ const overflowCount = ref(0);
44
21
  /** Dispatches a component event to Vue listeners and, for controllers and page code, on the root. */
45
- const dispatch = (name, detail) => {
22
+ function dispatch(name, detail) {
46
23
  return root.value?.dispatchEvent(new CustomEvent(name, {
47
24
  bubbles: true,
48
25
  composed: true,
49
26
  detail
50
27
  })) ?? true;
51
- };
28
+ }
52
29
  function read(name) {
53
- if (name === "overflowCount") return state_overflowCount.value;
30
+ if (name === "overflowCount") return overflowCount.value;
54
31
  return props[name];
55
32
  }
56
33
  function write(name, value) {
57
34
  if (name === "overflowCount") {
58
- state_overflowCount.value = value;
35
+ overflowCount.value = value;
59
36
  return true;
60
37
  }
61
38
  throw new TypeError(`Only declared state is writable; \`${name}\` is not.`);
@@ -69,7 +46,9 @@ var UiAvatarGroup_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @
69
46
  get: (_target, name) => typeof name === "string" ? read(name) : void 0,
70
47
  set: (_target, name, value) => typeof name === "string" && write(name, value)
71
48
  }),
72
- refs,
49
+ refs: { get overflow() {
50
+ return overflowElement.value;
51
+ } },
73
52
  elements: new Proxy({}, { get: (_target, name) => {
74
53
  if (typeof name !== "string" || root.value === null) return void 0;
75
54
  return (root.value instanceof HTMLFormElement ? root.value : root.value.querySelector("form"))?.elements.namedItem(name) ?? root.value.querySelector(`[name="${CSS.escape(name)}"]`) ?? void 0;
@@ -123,20 +102,18 @@ var UiAvatarGroup_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @
123
102
  "data-component": "ui-avatar-group",
124
103
  role: "group"
125
104
  }, _ctx.$attrs, {
126
- "aria-label": hn.enumerated(props.label),
105
+ "aria-label": __props.label,
127
106
  ref_key: "root",
128
107
  ref: root
129
108
  }), [renderSlot(_ctx.$slots, "default"), createElementVNode("span", {
130
109
  class: "overflow",
131
110
  role: "img",
132
- hidden: hn.attr(!hn.t(state_overflowCount.value)),
133
- "aria-label": hn.enumerated(hn.call("format", "%s more", state_overflowCount.value)),
134
- ref: (element) => {
135
- refs["overflow"] = element;
136
- }
137
- }, toDisplayString(hn.text(hn.call("format", "+%s", state_overflowCount.value))), 9, _hoisted_2)], 16, _hoisted_1);
111
+ hidden: !overflowCount.value,
112
+ "aria-label": `${overflowCount.value} more`,
113
+ ref: "overflow"
114
+ }, toDisplayString(`+${overflowCount.value}`), 9, _hoisted_2)], 16, _hoisted_1);
138
115
  };
139
116
  }
140
- }), [["__scopeId", "data-v-e211803c"]]);
117
+ }), [["__scopeId", "data-v-6029679e"]]);
141
118
  //#endregion
142
119
  export { UiAvatarGroup_default as t };
@@ -12,22 +12,13 @@ var UiBadge_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE
12
12
  variant: { default: "subtle" }
13
13
  },
14
14
  setup(__props) {
15
- 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) };
16
15
  const props = __props;
17
- /** The resolved values the styles' :host-state() rules test. */
18
- const hostState = computed(() => ["tone", "variant"].flatMap((name) => {
19
- const value = read(name);
20
- const tokens = hn.t(value) ? [name] : [];
21
- if (typeof value === "string" || typeof value === "number") tokens.push(`${name}=${encodeURIComponent(String(value))}`);
22
- return tokens;
23
- }).join(" "));
24
- function read(name) {
25
- return props[name];
26
- }
16
+ /** The values the styles' :host-state() rules test. */
17
+ const hostState = computed(() => [props.tone && `tone tone=${props.tone}`, props.variant && `variant variant=${props.variant}`].filter(Boolean).join(" "));
27
18
  return (_ctx, _cache) => {
28
19
  return openBlock(), createElementBlock("span", mergeProps({ "data-component": "ui-badge" }, _ctx.$attrs, { "data-ui-badge-state": hostState.value || void 0 }), [renderSlot(_ctx.$slots, "default", {}, void 0, true)], 16, _hoisted_1);
29
20
  };
30
21
  }
31
- }), [["__scopeId", "data-v-35c8472c"]]);
22
+ }), [["__scopeId", "data-v-43aa138f"]]);
32
23
  //#endregion
33
24
  export { UiBadge_default as t };
@@ -8,40 +8,37 @@ var UiButton_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PUR
8
8
  inheritAttrs: false,
9
9
  __name: "UiButton",
10
10
  props: {
11
+ align: { default: "center" },
11
12
  disabled: {
12
- type: [Boolean, null],
13
+ type: Boolean,
13
14
  default: false
14
15
  },
15
16
  size: { default: "md" },
17
+ stretch: {
18
+ type: Boolean,
19
+ default: false
20
+ },
16
21
  variant: { default: "outline" }
17
22
  },
18
23
  setup(__props) {
19
- const hn = {
20
- 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),
21
- text: (v) => v === void 0 || v === null ? "" : Array.isArray(v) ? v.map(hn.text).join(" ") : typeof v === "object" ? "" : String(v),
22
- 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)
23
- };
24
24
  const props = __props;
25
- /** The resolved values the styles' :host-state() rules test. */
26
- const hostState = computed(() => ["variant", "size"].flatMap((name) => {
27
- const value = read(name);
28
- const tokens = hn.t(value) ? [name] : [];
29
- if (typeof value === "string" || typeof value === "number") tokens.push(`${name}=${encodeURIComponent(String(value))}`);
30
- return tokens;
31
- }).join(" "));
32
- function read(name) {
33
- return props[name];
34
- }
25
+ /** The values the styles' :host-state() rules test. */
26
+ const hostState = computed(() => [
27
+ props.variant && `variant variant=${props.variant}`,
28
+ props.align && `align align=${props.align}`,
29
+ props.stretch && "stretch",
30
+ props.size && `size size=${props.size}`
31
+ ].filter(Boolean).join(" "));
35
32
  return (_ctx, _cache) => {
36
33
  return openBlock(), createElementBlock("button", mergeProps({
37
34
  "data-component": "ui-button",
38
35
  type: "button"
39
36
  }, _ctx.$attrs, {
40
- disabled: hn.attr(props.disabled),
37
+ disabled: __props.disabled,
41
38
  "data-ui-button-state": hostState.value || void 0
42
39
  }), [renderSlot(_ctx.$slots, "default", {}, void 0, true)], 16, _hoisted_1);
43
40
  };
44
41
  }
45
- }), [["__scopeId", "data-v-c8f3a3fb"]]);
42
+ }), [["__scopeId", "data-v-44d2f337"]]);
46
43
  //#endregion
47
44
  export { UiButton_default as t };
@@ -59,24 +59,15 @@ var UiCallout_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PU
59
59
  __name: "UiCallout",
60
60
  props: { tone: { default: "info" } },
61
61
  setup(__props) {
62
- 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) };
63
62
  const props = __props;
64
- /** The resolved values the styles' :host-state() rules test. */
65
- const hostState = computed(() => ["tone"].flatMap((name) => {
66
- const value = read(name);
67
- const tokens = hn.t(value) ? [name] : [];
68
- if (typeof value === "string" || typeof value === "number") tokens.push(`${name}=${encodeURIComponent(String(value))}`);
69
- return tokens;
70
- }).join(" "));
71
- function read(name) {
72
- return props[name];
73
- }
63
+ /** The values the styles' :host-state() rules test. */
64
+ const hostState = computed(() => [props.tone && `tone tone=${props.tone}`].filter(Boolean).join(" "));
74
65
  return (_ctx, _cache) => {
75
66
  return openBlock(), createElementBlock("div", mergeProps({
76
67
  "data-component": "ui-callout",
77
68
  role: "note"
78
69
  }, _ctx.$attrs, { "data-ui-callout-state": hostState.value || void 0 }), [createElementVNode("span", _hoisted_2, [
79
- hn.t(props.tone === "info") ? (openBlock(), createElementBlock("svg", _hoisted_3, [..._cache[0] || (_cache[0] = [
70
+ __props.tone === "info" ? (openBlock(), createElementBlock("svg", _hoisted_3, [..._cache[0] || (_cache[0] = [
80
71
  createElementVNode("circle", {
81
72
  cx: "12",
82
73
  cy: "12",
@@ -85,22 +76,22 @@ var UiCallout_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PU
85
76
  createElementVNode("path", { d: "M12 16v-4" }, null, -1),
86
77
  createElementVNode("path", { d: "M12 8h.01" }, null, -1)
87
78
  ])])) : createCommentVNode("v-if", true),
88
- hn.t(props.tone === "note") ? (openBlock(), createElementBlock("svg", _hoisted_4, [..._cache[1] || (_cache[1] = [
79
+ __props.tone === "note" ? (openBlock(), createElementBlock("svg", _hoisted_4, [..._cache[1] || (_cache[1] = [
89
80
  createElementVNode("path", { d: "M13.5 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8.5L13.5 2Z" }, null, -1),
90
81
  createElementVNode("path", { d: "M13 2v7h7" }, null, -1),
91
82
  createElementVNode("path", { d: "m9.5 17.5 4-4 2 2-4 4H9.5v-2Z" }, null, -1)
92
83
  ])])) : createCommentVNode("v-if", true),
93
- hn.t(props.tone === "warning") ? (openBlock(), createElementBlock("svg", _hoisted_5, [..._cache[2] || (_cache[2] = [
84
+ __props.tone === "warning" ? (openBlock(), createElementBlock("svg", _hoisted_5, [..._cache[2] || (_cache[2] = [
94
85
  createElementVNode("path", { d: "m21.73 18-8-14a2 2 0 0 0-3.46 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3Z" }, null, -1),
95
86
  createElementVNode("path", { d: "M12 9v4" }, null, -1),
96
87
  createElementVNode("path", { d: "M12 17h.01" }, null, -1)
97
88
  ])])) : createCommentVNode("v-if", true),
98
- hn.t(props.tone === "success") ? (openBlock(), createElementBlock("svg", _hoisted_6, [..._cache[3] || (_cache[3] = [createElementVNode("circle", {
89
+ __props.tone === "success" ? (openBlock(), createElementBlock("svg", _hoisted_6, [..._cache[3] || (_cache[3] = [createElementVNode("circle", {
99
90
  cx: "12",
100
91
  cy: "12",
101
92
  r: "10"
102
93
  }, null, -1), createElementVNode("path", { d: "m9 12 2 2 4-4" }, null, -1)])])) : createCommentVNode("v-if", true),
103
- hn.t(props.tone === "danger") ? (openBlock(), createElementBlock("svg", _hoisted_7, [..._cache[4] || (_cache[4] = [
94
+ __props.tone === "danger" ? (openBlock(), createElementBlock("svg", _hoisted_7, [..._cache[4] || (_cache[4] = [
104
95
  createElementVNode("circle", {
105
96
  cx: "12",
106
97
  cy: "12",
@@ -112,6 +103,6 @@ var UiCallout_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PU
112
103
  ]), createElementVNode("div", _hoisted_8, [renderSlot(_ctx.$slots, "default", {}, void 0, true)])], 16, _hoisted_1);
113
104
  };
114
105
  }
115
- }), [["__scopeId", "data-v-347d550e"]]);
106
+ }), [["__scopeId", "data-v-c6ed30ab"]]);
116
107
  //#endregion
117
108
  export { UiCallout_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 { computed, createElementBlock, createElementVNode, defineComponent, mergeProps, onBeforeUnmount, onMounted, openBlock, ref, renderSlot, shallowRef, watchEffect } from "vue";
2
+ import { computed, createElementBlock, createElementVNode, defineComponent, mergeProps, onBeforeUnmount, onMounted, openBlock, ref, renderSlot, shallowRef, useTemplateRef, watchEffect } from "vue";
3
3
  import * as controllerModule from "@threadlabs/looma/components/ui-checkbox/ui-checkbox.js";
4
4
  //#region .build/vue/UiCheckbox.vue?vue&type=script&setup=true&lang.ts
5
5
  var _hoisted_1 = ["data-ui-checkbox-state"];
@@ -18,70 +18,67 @@ var UiCheckbox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
18
18
  __name: "UiCheckbox",
19
19
  props: {
20
20
  checked: {
21
- type: [Boolean, null],
21
+ type: Boolean,
22
22
  default: false
23
23
  },
24
24
  disabled: {
25
- type: [Boolean, null],
25
+ type: Boolean,
26
26
  default: false
27
27
  },
28
28
  indeterminate: {
29
- type: [Boolean, null],
29
+ type: Boolean,
30
30
  default: false
31
31
  },
32
32
  required: {
33
- type: [Boolean, null],
33
+ type: Boolean,
34
34
  default: false
35
35
  },
36
36
  value: { default: "on" }
37
37
  },
38
- emits: ["change"],
38
+ emits: [
39
+ "update:checked",
40
+ "update:value",
41
+ "change"
42
+ ],
39
43
  setup(__props, { emit: __emit }) {
40
- const hn = {
41
- 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),
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
- };
45
44
  const props = __props;
46
45
  const emit = __emit;
47
46
  const root = ref(null);
48
- const refs = {};
49
- const state_internalChecked = ref(false);
47
+ const inputElement = useTemplateRef("input");
48
+ const internalChecked = ref(false);
49
+ /** The values the styles' :host-state() rules test. */
50
+ const hostState = computed(() => [props.disabled && "disabled"].filter(Boolean).join(" "));
50
51
  /** Dispatches a component event to Vue listeners and, for controllers and page code, on the root. */
51
- const dispatch = (name, detail) => {
52
- const declared = { "change": {
53
- "bubbles": true,
54
- "composed": true,
55
- "cancelable": false
52
+ function dispatch(name, detail) {
53
+ const declared = { change: {
54
+ bubbles: true,
55
+ composed: true,
56
+ cancelable: false
56
57
  } };
57
- const checks = { "change": (detail) => detail !== null && typeof detail === "object" && !Array.isArray(detail) && typeof detail["checked"] === "boolean" && typeof detail["value"] === "string" && (detail["trigger"] === "keyboard" || detail["trigger"] === "pointer" || detail["trigger"] === "programmatic") && Object.keys(detail).every((key) => [
58
+ const checks = { change: (detail) => detail !== null && typeof detail === "object" && !Array.isArray(detail) && typeof detail["checked"] === "boolean" && typeof detail["value"] === "string" && (detail["trigger"] === "keyboard" || detail["trigger"] === "pointer" || detail["trigger"] === "programmatic") && Object.keys(detail).every((key) => [
58
59
  "checked",
59
60
  "value",
60
61
  "trigger"
61
62
  ].includes(key)) };
62
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.`);
63
- emit(name, detail);
64
+ const emitEvent = emit;
65
+ emitEvent(name, detail);
66
+ if (detail !== null && typeof detail === "object" && "checked" in detail) emitEvent("update:checked", detail["checked"]);
67
+ if (detail !== null && typeof detail === "object" && "value" in detail) emitEvent("update:value", detail["value"]);
64
68
  return root.value?.dispatchEvent(new CustomEvent(name, {
65
69
  bubbles: true,
66
70
  composed: true,
67
71
  ...declared[name],
68
72
  detail
69
73
  })) ?? true;
70
- };
71
- /** The resolved values the styles' :host-state() rules test. */
72
- const hostState = computed(() => ["disabled"].flatMap((name) => {
73
- const value = read(name);
74
- const tokens = hn.t(value) ? [name] : [];
75
- if (typeof value === "string" || typeof value === "number") tokens.push(`${name}=${encodeURIComponent(String(value))}`);
76
- return tokens;
77
- }).join(" "));
74
+ }
78
75
  function read(name) {
79
- if (name === "internalChecked") return state_internalChecked.value;
76
+ if (name === "internalChecked") return internalChecked.value;
80
77
  return props[name];
81
78
  }
82
79
  function write(name, value) {
83
80
  if (name === "internalChecked") {
84
- state_internalChecked.value = value;
81
+ internalChecked.value = value;
85
82
  return true;
86
83
  }
87
84
  throw new TypeError(`Only declared state is writable; \`${name}\` is not.`);
@@ -95,7 +92,9 @@ var UiCheckbox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
95
92
  get: (_target, name) => typeof name === "string" ? read(name) : void 0,
96
93
  set: (_target, name, value) => typeof name === "string" && write(name, value)
97
94
  }),
98
- refs,
95
+ refs: { get input() {
96
+ return inputElement.value;
97
+ } },
99
98
  elements: new Proxy({}, { get: (_target, name) => {
100
99
  if (typeof name !== "string" || root.value === null) return void 0;
101
100
  return (root.value instanceof HTMLFormElement ? root.value : root.value.querySelector("form"))?.elements.namedItem(name) ?? root.value.querySelector(`[name="${CSS.escape(name)}"]`) ?? void 0;
@@ -151,17 +150,15 @@ var UiCheckbox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
151
150
  ref: root
152
151
  }), [createElementVNode("input", {
153
152
  type: "checkbox",
154
- ".checked": state_internalChecked.value,
155
- ".indeterminate": props.indeterminate,
156
- disabled: hn.attr(props.disabled),
157
- required: hn.attr(props.required),
158
- value: hn.attr(props.value),
159
- ref: (element) => {
160
- refs["input"] = element;
161
- }
153
+ ".checked": internalChecked.value,
154
+ ".indeterminate": __props.indeterminate,
155
+ disabled: __props.disabled,
156
+ required: __props.required,
157
+ value: __props.value,
158
+ ref: "input"
162
159
  }, null, 40, _hoisted_2), createElementVNode("span", _hoisted_3, [renderSlot(_ctx.$slots, "default", {}, void 0, true)])], 16, _hoisted_1);
163
160
  };
164
161
  }
165
- }), [["__scopeId", "data-v-d4d97fc0"]]);
162
+ }), [["__scopeId", "data-v-1e598fdb"]]);
166
163
  //#endregion
167
164
  export { UiCheckbox_default as t };
@@ -12,22 +12,13 @@ var UiCluster_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PU
12
12
  gap: {}
13
13
  },
14
14
  setup(__props) {
15
- 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) };
16
15
  const props = __props;
17
- /** The resolved values the styles' :host-state() rules test. */
18
- const hostState = computed(() => ["gap", "align"].flatMap((name) => {
19
- const value = read(name);
20
- const tokens = hn.t(value) ? [name] : [];
21
- if (typeof value === "string" || typeof value === "number") tokens.push(`${name}=${encodeURIComponent(String(value))}`);
22
- return tokens;
23
- }).join(" "));
24
- function read(name) {
25
- return props[name];
26
- }
16
+ /** The values the styles' :host-state() rules test. */
17
+ const hostState = computed(() => [props.gap && `gap gap=${props.gap}`, props.align && `align align=${props.align}`].filter(Boolean).join(" "));
27
18
  return (_ctx, _cache) => {
28
19
  return openBlock(), createElementBlock("div", mergeProps({ "data-component": "ui-cluster" }, _ctx.$attrs, { "data-ui-cluster-state": hostState.value || void 0 }), [renderSlot(_ctx.$slots, "default", {}, void 0, true)], 16, _hoisted_1);
29
20
  };
30
21
  }
31
- }), [["__scopeId", "data-v-f41ac461"]]);
22
+ }), [["__scopeId", "data-v-2a9e690c"]]);
32
23
  //#endregion
33
24
  export { UiCluster_default as t };