@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
@@ -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-d0355403"]]);
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-31ee6589"]]);
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-acf71232"]]);
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-06d4310a"]]);
32
23
  //#endregion
33
24
  export { UiCluster_default as t };