@threadlabs/looma 0.5.1 → 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 (309) hide show
  1. package/README.md +1 -1
  2. package/components/ui-button/ui-button.html +13 -0
  3. package/components/ui-combobox/ui-combobox.html +12 -4
  4. package/components/ui-dialog/ui-dialog.html +13 -0
  5. package/components/ui-editor-insert-table-grid/ui-editor-insert-table-grid.html +1 -1
  6. package/components/ui-editor-mention-menu/ui-editor-mention-menu.html +1 -1
  7. package/components/ui-editor-table-context-menu/ui-editor-table-context-menu.html +6 -2
  8. package/components/ui-editor-table-overlay/ui-editor-table-overlay.html +20 -4
  9. package/components/ui-editor-table-toolbar/ui-editor-table-toolbar.html +8 -4
  10. package/components/ui-form-field/ui-form-field.html +18 -7
  11. package/components/ui-icon/ui-icon.html +5 -1
  12. package/components/ui-icon-button/ui-icon-button.html +30 -0
  13. package/components/ui-popover/ui-popover.js +10 -2
  14. package/components/ui-search-shell/ui-search-shell.html +7 -0
  15. package/components/ui-search-shell/ui-search-shell.js +9 -0
  16. package/components/ui-tabs/ui-tabs.html +1 -1
  17. package/components/ui-toast-region/ui-toast-region.html +1 -1
  18. package/components/ui-tree-item/ui-tree-item.html +6 -1
  19. package/dist/index.d.ts +1 -1
  20. package/dist/index.js +2 -2
  21. package/package.json +2 -2
  22. package/styles/ui-affordance-scope.css +1 -1
  23. package/styles/ui-avatar-group.css +1 -1
  24. package/styles/ui-avatar.css +1 -1
  25. package/styles/ui-badge.css +1 -1
  26. package/styles/ui-button.css +11 -1
  27. package/styles/ui-callout.css +1 -1
  28. package/styles/ui-checkbox.css +1 -1
  29. package/styles/ui-cluster.css +1 -1
  30. package/styles/ui-combobox.css +1 -1
  31. package/styles/ui-container.css +1 -1
  32. package/styles/ui-context-menu.css +1 -1
  33. package/styles/ui-dialog.css +18 -1
  34. package/styles/ui-disclosure.css +1 -1
  35. package/styles/ui-editable.css +1 -1
  36. package/styles/ui-editor-insert-table-grid.css +1 -1
  37. package/styles/ui-editor-mention-menu.css +1 -1
  38. package/styles/ui-editor-slash-menu.css +1 -1
  39. package/styles/ui-editor-table-context-menu.css +1 -1
  40. package/styles/ui-editor-table-overlay.css +1 -1
  41. package/styles/ui-editor-table-toolbar.css +1 -1
  42. package/styles/ui-editor-toolbar.css +1 -1
  43. package/styles/ui-floating-action-button.css +1 -1
  44. package/styles/ui-form-field.css +24 -10
  45. package/styles/ui-grid.css +1 -1
  46. package/styles/ui-icon-button.css +36 -1
  47. package/styles/ui-icon.css +1 -1
  48. package/styles/ui-input.css +1 -1
  49. package/styles/ui-menu-item.css +1 -1
  50. package/styles/ui-menu.css +1 -1
  51. package/styles/ui-popover.css +1 -1
  52. package/styles/ui-radio-group.css +1 -1
  53. package/styles/ui-radio.css +1 -1
  54. package/styles/ui-reel.css +1 -1
  55. package/styles/ui-search-result-row.css +1 -1
  56. package/styles/ui-search-shell.css +11 -2
  57. package/styles/ui-select.css +1 -1
  58. package/styles/ui-separator.css +1 -1
  59. package/styles/ui-sidebar.css +1 -1
  60. package/styles/ui-stack.css +1 -1
  61. package/styles/ui-switch.css +1 -1
  62. package/styles/ui-switcher.css +1 -1
  63. package/styles/ui-tabs.css +1 -1
  64. package/styles/ui-textarea.css +1 -1
  65. package/styles/ui-toast-region.css +1 -1
  66. package/styles/ui-tooltip.css +1 -1
  67. package/styles/ui-top-bar.css +1 -1
  68. package/styles/ui-tree-item.css +10 -2
  69. package/styles/ui-tree.css +1 -1
  70. package/vanilla/UiAffordanceScope.d.ts +1 -1
  71. package/vanilla/UiAffordanceScope.js +2 -2
  72. package/vanilla/UiAvatar.d.ts +1 -1
  73. package/vanilla/UiAvatar.js +2 -2
  74. package/vanilla/UiAvatarGroup.d.ts +1 -1
  75. package/vanilla/UiAvatarGroup.js +2 -2
  76. package/vanilla/UiBadge.d.ts +1 -1
  77. package/vanilla/UiBadge.js +2 -2
  78. package/vanilla/UiButton.d.ts +3 -1
  79. package/vanilla/UiButton.js +3 -3
  80. package/vanilla/UiCallout.d.ts +1 -1
  81. package/vanilla/UiCallout.js +2 -2
  82. package/vanilla/UiCheckbox.d.ts +1 -1
  83. package/vanilla/UiCheckbox.js +2 -2
  84. package/vanilla/UiCluster.d.ts +1 -1
  85. package/vanilla/UiCluster.js +2 -2
  86. package/vanilla/UiCombobox.d.ts +1 -1
  87. package/vanilla/UiCombobox.js +3 -3
  88. package/vanilla/UiContainer.d.ts +1 -1
  89. package/vanilla/UiContainer.js +2 -2
  90. package/vanilla/UiContextMenu.d.ts +1 -1
  91. package/vanilla/UiContextMenu.js +2 -2
  92. package/vanilla/UiDialog.d.ts +1 -1
  93. package/vanilla/UiDialog.js +2 -2
  94. package/vanilla/UiDisclosure.d.ts +1 -1
  95. package/vanilla/UiDisclosure.js +2 -2
  96. package/vanilla/UiEditable.d.ts +1 -1
  97. package/vanilla/UiEditable.js +2 -2
  98. package/vanilla/UiEditorInsertTableGrid.d.ts +1 -1
  99. package/vanilla/UiEditorInsertTableGrid.js +3 -3
  100. package/vanilla/UiEditorMentionMenu.d.ts +1 -1
  101. package/vanilla/UiEditorMentionMenu.js +3 -3
  102. package/vanilla/UiEditorSlashMenu.d.ts +1 -1
  103. package/vanilla/UiEditorSlashMenu.js +2 -2
  104. package/vanilla/UiEditorTableContextMenu.d.ts +1 -1
  105. package/vanilla/UiEditorTableContextMenu.js +3 -3
  106. package/vanilla/UiEditorTableOverlay.d.ts +1 -1
  107. package/vanilla/UiEditorTableOverlay.js +3 -3
  108. package/vanilla/UiEditorTableToolbar.d.ts +1 -1
  109. package/vanilla/UiEditorTableToolbar.js +3 -3
  110. package/vanilla/UiEditorToolbar.d.ts +1 -1
  111. package/vanilla/UiEditorToolbar.js +2 -2
  112. package/vanilla/UiFloatingActionButton.d.ts +1 -1
  113. package/vanilla/UiFloatingActionButton.js +2 -2
  114. package/vanilla/UiFormField.d.ts +1 -1
  115. package/vanilla/UiFormField.js +15 -6
  116. package/vanilla/UiGrid.d.ts +1 -1
  117. package/vanilla/UiGrid.js +2 -2
  118. package/vanilla/UiIcon.d.ts +1 -1
  119. package/vanilla/UiIcon.js +3 -3
  120. package/vanilla/UiIconButton.d.ts +1 -1
  121. package/vanilla/UiIconButton.js +2 -2
  122. package/vanilla/UiInput.d.ts +1 -1
  123. package/vanilla/UiInput.js +2 -2
  124. package/vanilla/UiMenu.d.ts +1 -1
  125. package/vanilla/UiMenu.js +2 -2
  126. package/vanilla/UiMenuItem.d.ts +1 -1
  127. package/vanilla/UiMenuItem.js +2 -2
  128. package/vanilla/UiPopover.d.ts +1 -1
  129. package/vanilla/UiPopover.js +2 -2
  130. package/vanilla/UiRadio.d.ts +1 -1
  131. package/vanilla/UiRadio.js +2 -2
  132. package/vanilla/UiRadioGroup.d.ts +1 -1
  133. package/vanilla/UiRadioGroup.js +2 -2
  134. package/vanilla/UiReel.d.ts +1 -1
  135. package/vanilla/UiReel.js +2 -2
  136. package/vanilla/UiSearchResultRow.d.ts +1 -1
  137. package/vanilla/UiSearchResultRow.js +2 -2
  138. package/vanilla/UiSearchShell.d.ts +1 -1
  139. package/vanilla/UiSearchShell.js +2 -2
  140. package/vanilla/UiSelect.d.ts +1 -1
  141. package/vanilla/UiSelect.js +2 -2
  142. package/vanilla/UiSeparator.d.ts +1 -1
  143. package/vanilla/UiSeparator.js +2 -2
  144. package/vanilla/UiSidebar.d.ts +1 -1
  145. package/vanilla/UiSidebar.js +2 -2
  146. package/vanilla/UiStack.d.ts +1 -1
  147. package/vanilla/UiStack.js +2 -2
  148. package/vanilla/UiSwitch.d.ts +1 -1
  149. package/vanilla/UiSwitch.js +2 -2
  150. package/vanilla/UiSwitcher.d.ts +1 -1
  151. package/vanilla/UiSwitcher.js +2 -2
  152. package/vanilla/UiTabs.d.ts +1 -1
  153. package/vanilla/UiTabs.js +3 -3
  154. package/vanilla/UiTextarea.d.ts +1 -1
  155. package/vanilla/UiTextarea.js +2 -2
  156. package/vanilla/UiToastRegion.d.ts +1 -1
  157. package/vanilla/UiToastRegion.js +3 -3
  158. package/vanilla/UiTooltip.d.ts +1 -1
  159. package/vanilla/UiTooltip.js +2 -2
  160. package/vanilla/UiTopBar.d.ts +1 -1
  161. package/vanilla/UiTopBar.js +1 -1
  162. package/vanilla/UiTree.d.ts +1 -1
  163. package/vanilla/UiTree.js +2 -2
  164. package/vanilla/UiTreeItem.d.ts +1 -1
  165. package/vanilla/UiTreeItem.js +2 -2
  166. package/vue/UiAffordanceScope.d.ts +2 -2
  167. package/vue/UiAffordanceScope.vue +92 -73
  168. package/vue/UiAvatar.d.ts +7 -7
  169. package/vue/UiAvatar.vue +145 -105
  170. package/vue/UiAvatarGroup.d.ts +4 -4
  171. package/vue/UiAvatarGroup.vue +134 -118
  172. package/vue/UiBadge.d.ts +4 -4
  173. package/vue/UiBadge.vue +113 -114
  174. package/vue/UiButton.d.ts +10 -6
  175. package/vue/UiButton.vue +289 -248
  176. package/vue/UiCallout.d.ts +2 -2
  177. package/vue/UiCallout.vue +154 -87
  178. package/vue/UiCheckbox.d.ts +14 -10
  179. package/vue/UiCheckbox.vue +228 -162
  180. package/vue/UiCluster.d.ts +2 -2
  181. package/vue/UiCluster.vue +53 -60
  182. package/vue/UiCombobox.d.ts +36 -32
  183. package/vue/UiCombobox.vue +1005 -416
  184. package/vue/UiContainer.d.ts +2 -2
  185. package/vue/UiContainer.vue +48 -51
  186. package/vue/UiContextMenu.d.ts +6 -4
  187. package/vue/UiContextMenu.vue +205 -116
  188. package/vue/UiDialog.d.ts +11 -9
  189. package/vue/UiDialog.vue +287 -212
  190. package/vue/UiDisclosure.d.ts +8 -6
  191. package/vue/UiDisclosure.vue +248 -159
  192. package/vue/UiEditable.d.ts +16 -12
  193. package/vue/UiEditable.vue +325 -205
  194. package/vue/UiEditorInsertTableGrid.d.ts +8 -8
  195. package/vue/UiEditorInsertTableGrid.vue +216 -157
  196. package/vue/UiEditorMentionMenu.d.ts +9 -9
  197. package/vue/UiEditorMentionMenu.vue +265 -222
  198. package/vue/UiEditorSlashMenu.d.ts +7 -7
  199. package/vue/UiEditorSlashMenu.vue +286 -240
  200. package/vue/UiEditorTableContextMenu.d.ts +5 -5
  201. package/vue/UiEditorTableContextMenu.vue +306 -193
  202. package/vue/UiEditorTableOverlay.d.ts +2 -2
  203. package/vue/UiEditorTableOverlay.vue +609 -369
  204. package/vue/UiEditorTableToolbar.d.ts +7 -7
  205. package/vue/UiEditorTableToolbar.vue +443 -268
  206. package/vue/UiEditorToolbar.d.ts +2 -2
  207. package/vue/UiEditorToolbar.vue +134 -121
  208. package/vue/UiFloatingActionButton.d.ts +6 -6
  209. package/vue/UiFloatingActionButton.vue +100 -99
  210. package/vue/UiFormField.d.ts +6 -6
  211. package/vue/UiFormField.vue +112 -80
  212. package/vue/UiGrid.d.ts +2 -2
  213. package/vue/UiGrid.vue +51 -57
  214. package/vue/UiIcon.d.ts +2 -2
  215. package/vue/UiIcon.vue +118 -89
  216. package/vue/UiIconButton.d.ts +11 -11
  217. package/vue/UiIconButton.vue +283 -217
  218. package/vue/UiInput.d.ts +9 -9
  219. package/vue/UiInput.vue +153 -127
  220. package/vue/UiMenu.d.ts +8 -6
  221. package/vue/UiMenu.vue +217 -143
  222. package/vue/UiMenuItem.d.ts +4 -4
  223. package/vue/UiMenuItem.vue +52 -46
  224. package/vue/UiPopover.d.ts +8 -6
  225. package/vue/UiPopover.vue +197 -137
  226. package/vue/UiRadio.d.ts +14 -10
  227. package/vue/UiRadio.vue +183 -117
  228. package/vue/UiRadioGroup.d.ts +14 -12
  229. package/vue/UiRadioGroup.vue +172 -111
  230. package/vue/UiReel.d.ts +3 -3
  231. package/vue/UiReel.vue +77 -77
  232. package/vue/UiSearchResultRow.d.ts +4 -4
  233. package/vue/UiSearchResultRow.vue +124 -115
  234. package/vue/UiSearchShell.d.ts +10 -8
  235. package/vue/UiSearchShell.vue +245 -176
  236. package/vue/UiSelect.d.ts +9 -9
  237. package/vue/UiSelect.vue +162 -134
  238. package/vue/UiSeparator.d.ts +2 -2
  239. package/vue/UiSeparator.vue +22 -27
  240. package/vue/UiSidebar.d.ts +20 -18
  241. package/vue/UiSidebar.vue +312 -224
  242. package/vue/UiStack.d.ts +3 -3
  243. package/vue/UiStack.vue +64 -70
  244. package/vue/UiSwitch.d.ts +12 -8
  245. package/vue/UiSwitch.vue +218 -150
  246. package/vue/UiSwitcher.d.ts +3 -3
  247. package/vue/UiSwitcher.vue +73 -75
  248. package/vue/UiTabs.d.ts +10 -8
  249. package/vue/UiTabs.vue +251 -210
  250. package/vue/UiTextarea.d.ts +11 -11
  251. package/vue/UiTextarea.vue +155 -128
  252. package/vue/UiToastRegion.d.ts +10 -8
  253. package/vue/UiToastRegion.vue +261 -198
  254. package/vue/UiTooltip.d.ts +14 -12
  255. package/vue/UiTooltip.vue +241 -177
  256. package/vue/UiTopBar.vue +51 -42
  257. package/vue/UiTree.d.ts +8 -6
  258. package/vue/UiTree.vue +157 -70
  259. package/vue/UiTreeItem.d.ts +24 -22
  260. package/vue/UiTreeItem.vue +456 -339
  261. package/vue/chunks/UiAffordanceScope.js +9 -16
  262. package/vue/chunks/UiAvatar.js +23 -29
  263. package/vue/chunks/UiAvatarGroup.js +16 -39
  264. package/vue/chunks/UiBadge.js +3 -12
  265. package/vue/chunks/UiButton.js +15 -18
  266. package/vue/chunks/UiCallout.js +8 -17
  267. package/vue/chunks/UiCheckbox.js +37 -40
  268. package/vue/chunks/UiCluster.js +3 -12
  269. package/vue/chunks/UiCombobox.js +224 -266
  270. package/vue/chunks/UiContainer.js +3 -12
  271. package/vue/chunks/UiContextMenu.js +39 -34
  272. package/vue/chunks/UiDialog.js +36 -39
  273. package/vue/chunks/UiDisclosure.js +43 -48
  274. package/vue/chunks/UiEditable.js +55 -57
  275. package/vue/chunks/UiEditorInsertTableGrid.js +55 -73
  276. package/vue/chunks/UiEditorMentionMenu.js +40 -81
  277. package/vue/chunks/UiEditorSlashMenu.js +28 -52
  278. package/vue/chunks/UiEditorTableContextMenu.js +32 -56
  279. package/vue/chunks/UiEditorTableOverlay.js +58 -82
  280. package/vue/chunks/UiEditorTableToolbar.js +61 -85
  281. package/vue/chunks/UiEditorToolbar.js +4 -13
  282. package/vue/chunks/UiFloatingActionButton.js +7 -21
  283. package/vue/chunks/UiFormField.js +15 -12
  284. package/vue/chunks/UiGrid.js +3 -12
  285. package/vue/chunks/UiIcon.js +20 -43
  286. package/vue/chunks/UiIconButton.js +16 -28
  287. package/vue/chunks/UiInput.js +20 -25
  288. package/vue/chunks/UiMenu.js +29 -33
  289. package/vue/chunks/UiMenuItem.js +4 -10
  290. package/vue/chunks/UiPopover.js +28 -29
  291. package/vue/chunks/UiRadio.js +36 -39
  292. package/vue/chunks/UiRadioGroup.js +30 -34
  293. package/vue/chunks/UiReel.js +6 -15
  294. package/vue/chunks/UiSearchResultRow.js +6 -19
  295. package/vue/chunks/UiSearchShell.js +25 -28
  296. package/vue/chunks/UiSelect.js +20 -23
  297. package/vue/chunks/UiSeparator.js +2 -8
  298. package/vue/chunks/UiSidebar.js +39 -44
  299. package/vue/chunks/UiStack.js +6 -15
  300. package/vue/chunks/UiSwitch.js +35 -38
  301. package/vue/chunks/UiSwitcher.js +6 -15
  302. package/vue/chunks/UiTabs.js +47 -85
  303. package/vue/chunks/UiTextarea.js +21 -26
  304. package/vue/chunks/UiToastRegion.js +38 -72
  305. package/vue/chunks/UiTooltip.js +34 -35
  306. package/vue/chunks/UiTopBar.js +1 -1
  307. package/vue/chunks/UiTree.js +20 -15
  308. package/vue/chunks/UiTreeItem.js +85 -102
  309. package/vue/components.css +3994 -3801
@@ -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-d75759c7"]]);
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 };