@threadlabs/looma 0.22.13 → 0.23.0

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 (257) hide show
  1. package/components/shared/icons.js +6 -0
  2. package/components/ui-avatar/ui-avatar.html +3 -3
  3. package/components/ui-avatar-group/ui-avatar-group.html +1 -1
  4. package/components/ui-badge/ui-badge.html +1 -1
  5. package/components/ui-button/ui-button.html +3 -3
  6. package/components/ui-callout/ui-callout.html +3 -2
  7. package/components/ui-card/ui-card.html +23 -4
  8. package/components/ui-checkbox/ui-checkbox.html +3 -3
  9. package/components/ui-combobox/ui-combobox.html +8 -8
  10. package/components/ui-context-menu/ui-context-menu.html +2 -2
  11. package/components/ui-description-list/ui-description-list.html +1 -1
  12. package/components/ui-dialog/ui-dialog.html +3 -3
  13. package/components/ui-disclosure/ui-disclosure.html +43 -3
  14. package/components/ui-editable/ui-editable.html +2 -2
  15. package/components/ui-editor-insert-table-grid/ui-editor-insert-table-grid.html +5 -5
  16. package/components/ui-editor-mention-menu/ui-editor-mention-menu.html +2 -2
  17. package/components/ui-editor-slash-menu/ui-editor-slash-menu.html +6 -6
  18. package/components/ui-editor-slash-menu-item/ui-editor-slash-menu-item.html +1 -1
  19. package/components/ui-editor-table-context-menu/ui-editor-table-context-menu.html +2 -2
  20. package/components/ui-editor-table-overlay/ui-editor-table-overlay.html +11 -11
  21. package/components/ui-editor-table-toolbar/ui-editor-table-toolbar.html +5 -5
  22. package/components/ui-editor-toolbar/ui-editor-toolbar.html +4 -4
  23. package/components/ui-floating-action-button/ui-floating-action-button.html +2 -2
  24. package/components/ui-icon/ui-icon.html +6 -0
  25. package/components/ui-icon-button/ui-icon-button.html +1 -1
  26. package/components/ui-input/ui-input.html +9 -4
  27. package/components/ui-input-group/ui-input-group.html +21 -6
  28. package/components/ui-list/ui-list.html +1 -1
  29. package/components/ui-list-item/ui-list-item.html +20 -4
  30. package/components/ui-listbox/ui-listbox.html +3 -3
  31. package/components/ui-menu/ui-menu.html +2 -2
  32. package/components/ui-menu-item/ui-menu-item.html +4 -4
  33. package/components/ui-meter/ui-meter.html +1 -1
  34. package/components/ui-nav-item/ui-nav-item.html +46 -14
  35. package/components/ui-popover/ui-popover.html +16 -1
  36. package/components/ui-radio/ui-radio.html +2 -2
  37. package/components/ui-scroll-area/ui-scroll-area.html +12 -0
  38. package/components/ui-search-result-row/ui-search-result-row.html +24 -5
  39. package/components/ui-search-shell/ui-search-shell.html +4 -4
  40. package/components/ui-section/ui-section.html +3 -3
  41. package/components/ui-select/ui-select.html +6 -2
  42. package/components/ui-separator/ui-separator.html +2 -2
  43. package/components/ui-sidebar/ui-sidebar.html +3 -3
  44. package/components/ui-stack/ui-stack.html +6 -3
  45. package/components/ui-status-message/ui-status-message.html +1 -1
  46. package/components/ui-switch/ui-switch.html +3 -3
  47. package/components/ui-table/ui-table.html +3 -3
  48. package/components/ui-tabs/ui-tabs.html +7 -7
  49. package/components/ui-text/ui-text.html +12 -0
  50. package/components/ui-textarea/ui-textarea.html +6 -2
  51. package/components/ui-toast/ui-toast.html +2 -2
  52. package/components/ui-toast-region/ui-toast-region.html +5 -5
  53. package/components/ui-tooltip/ui-tooltip.html +15 -15
  54. package/components/ui-top-bar/ui-top-bar.html +1 -1
  55. package/components/ui-tree-item/ui-tree-item.html +27 -8
  56. package/dist/index.js +1 -1
  57. package/editor/chunks/extensions.js +55 -2
  58. package/editor/extensions/index.d.ts +1 -0
  59. package/editor/extensions/index.js +2 -2
  60. package/editor/extensions/preset.d.ts +2 -0
  61. package/editor/extensions/relative-links.d.ts +8 -0
  62. package/editor/icons.d.ts +6 -0
  63. package/editor/index.js +9 -3
  64. package/package.json +1 -1
  65. package/styles/ui-avatar-group.css +1 -1
  66. package/styles/ui-avatar.css +3 -3
  67. package/styles/ui-badge.css +1 -1
  68. package/styles/ui-button.css +3 -3
  69. package/styles/ui-callout.css +3 -2
  70. package/styles/ui-card.css +19 -2
  71. package/styles/ui-checkbox.css +3 -3
  72. package/styles/ui-combobox.css +8 -8
  73. package/styles/ui-context-menu.css +2 -2
  74. package/styles/ui-description-list.css +1 -1
  75. package/styles/ui-dialog.css +3 -3
  76. package/styles/ui-disclosure.css +42 -2
  77. package/styles/ui-editable.css +2 -2
  78. package/styles/ui-editor-insert-table-grid.css +5 -5
  79. package/styles/ui-editor-mention-menu.css +2 -2
  80. package/styles/ui-editor-slash-menu-item.css +1 -1
  81. package/styles/ui-editor-slash-menu.css +6 -6
  82. package/styles/ui-editor-table-context-menu.css +2 -2
  83. package/styles/ui-editor-table-overlay.css +11 -11
  84. package/styles/ui-editor-table-toolbar.css +5 -5
  85. package/styles/ui-editor-toolbar.css +4 -4
  86. package/styles/ui-floating-action-button.css +2 -2
  87. package/styles/ui-icon-button.css +1 -1
  88. package/styles/ui-input-group.css +19 -6
  89. package/styles/ui-input.css +9 -4
  90. package/styles/ui-list-item.css +23 -4
  91. package/styles/ui-list.css +1 -1
  92. package/styles/ui-listbox.css +3 -3
  93. package/styles/ui-menu-item.css +4 -4
  94. package/styles/ui-menu.css +2 -2
  95. package/styles/ui-meter.css +1 -1
  96. package/styles/ui-nav-item.css +46 -12
  97. package/styles/ui-popover.css +14 -1
  98. package/styles/ui-radio.css +2 -2
  99. package/styles/ui-scroll-area.css +10 -0
  100. package/styles/ui-search-result-row.css +25 -5
  101. package/styles/ui-search-shell.css +4 -4
  102. package/styles/ui-section.css +3 -3
  103. package/styles/ui-select.css +6 -2
  104. package/styles/ui-separator.css +2 -2
  105. package/styles/ui-sidebar.css +3 -3
  106. package/styles/ui-stack.css +3 -0
  107. package/styles/ui-status-message.css +1 -1
  108. package/styles/ui-switch.css +3 -3
  109. package/styles/ui-table.css +3 -3
  110. package/styles/ui-tabs.css +7 -7
  111. package/styles/ui-text.css +8 -0
  112. package/styles/ui-textarea.css +6 -2
  113. package/styles/ui-toast-region.css +5 -5
  114. package/styles/ui-toast.css +2 -2
  115. package/styles/ui-tooltip.css +15 -15
  116. package/styles/ui-top-bar.css +1 -1
  117. package/styles/ui-tree-item.css +32 -8
  118. package/tokens.css +30 -9
  119. package/vanilla/UiCard.d.ts +2 -1
  120. package/vanilla/UiCard.js +1 -1
  121. package/vanilla/UiDisclosure.d.ts +1 -0
  122. package/vanilla/UiDisclosure.js +10 -1
  123. package/vanilla/UiIcon.js +1 -1
  124. package/vanilla/UiInputGroup.d.ts +1 -0
  125. package/vanilla/UiInputGroup.js +1 -1
  126. package/vanilla/UiNavItem.d.ts +2 -0
  127. package/vanilla/UiNavItem.js +1 -1
  128. package/vanilla/UiPopover.d.ts +1 -0
  129. package/vanilla/UiPopover.js +1 -1
  130. package/vanilla/UiScrollArea.d.ts +1 -0
  131. package/vanilla/UiScrollArea.js +1 -1
  132. package/vanilla/UiSearchResultRow.d.ts +1 -0
  133. package/vanilla/UiSearchResultRow.js +1 -1
  134. package/vanilla/UiStack.d.ts +1 -1
  135. package/vanilla/UiStack.js +1 -1
  136. package/vanilla/UiText.d.ts +2 -0
  137. package/vanilla/UiText.js +1 -1
  138. package/vue/UiAvatar.vue +3 -3
  139. package/vue/UiAvatarGroup.vue +1 -1
  140. package/vue/UiBadge.vue +2 -1
  141. package/vue/UiButton.vue +3 -3
  142. package/vue/UiCallout.vue +2 -2
  143. package/vue/UiCard.d.ts +12 -3
  144. package/vue/UiCard.vue +51 -7
  145. package/vue/UiCheckbox.vue +3 -3
  146. package/vue/UiCombobox.vue +11 -8
  147. package/vue/UiContextMenu.vue +2 -2
  148. package/vue/UiDescriptionList.vue +1 -1
  149. package/vue/UiDialog.vue +4 -3
  150. package/vue/UiDisclosure.d.ts +13 -2
  151. package/vue/UiDisclosure.vue +61 -4
  152. package/vue/UiEditable.vue +2 -2
  153. package/vue/UiEditorInsertTableGrid.vue +5 -5
  154. package/vue/UiEditorMentionMenu.vue +2 -2
  155. package/vue/UiEditorSlashMenu.vue +6 -6
  156. package/vue/UiEditorSlashMenuItem.vue +1 -1
  157. package/vue/UiEditorTableContextMenu.vue +2 -2
  158. package/vue/UiEditorTableOverlay.vue +11 -11
  159. package/vue/UiEditorTableToolbar.vue +5 -5
  160. package/vue/UiEditorToolbar.vue +6 -4
  161. package/vue/UiFloatingActionButton.vue +2 -2
  162. package/vue/UiIcon.vue +31 -0
  163. package/vue/UiIconButton.vue +1 -1
  164. package/vue/UiInput.vue +8 -4
  165. package/vue/UiInputGroup.d.ts +9 -0
  166. package/vue/UiInputGroup.vue +39 -8
  167. package/vue/UiList.vue +1 -1
  168. package/vue/UiListItem.vue +20 -4
  169. package/vue/UiListbox.vue +3 -3
  170. package/vue/UiMenu.vue +3 -2
  171. package/vue/UiMenuItem.vue +4 -4
  172. package/vue/UiMeter.vue +1 -1
  173. package/vue/UiNavItem.d.ts +18 -0
  174. package/vue/UiNavItem.vue +96 -12
  175. package/vue/UiPopover.d.ts +9 -0
  176. package/vue/UiPopover.vue +45 -3
  177. package/vue/UiRadio.vue +2 -2
  178. package/vue/UiScrollArea.d.ts +9 -0
  179. package/vue/UiScrollArea.vue +35 -2
  180. package/vue/UiSearchResultRow.d.ts +9 -0
  181. package/vue/UiSearchResultRow.vue +51 -6
  182. package/vue/UiSearchShell.vue +4 -4
  183. package/vue/UiSection.vue +3 -3
  184. package/vue/UiSelect.vue +3 -2
  185. package/vue/UiSeparator.vue +4 -2
  186. package/vue/UiSidebar.vue +5 -3
  187. package/vue/UiStack.d.ts +3 -3
  188. package/vue/UiStack.vue +10 -4
  189. package/vue/UiStatusMessage.vue +1 -1
  190. package/vue/UiSwitch.vue +3 -3
  191. package/vue/UiTable.vue +3 -3
  192. package/vue/UiTabs.vue +8 -7
  193. package/vue/UiText.d.ts +18 -0
  194. package/vue/UiText.vue +70 -0
  195. package/vue/UiTextarea.vue +2 -2
  196. package/vue/UiToast.vue +4 -2
  197. package/vue/UiToastRegion.vue +5 -5
  198. package/vue/UiTooltip.vue +19 -15
  199. package/vue/UiTopBar.vue +1 -1
  200. package/vue/UiTreeItem.vue +31 -8
  201. package/vue/chunks/UiAvatar.js +1 -1
  202. package/vue/chunks/UiAvatarGroup.js +1 -1
  203. package/vue/chunks/UiBadge.js +1 -1
  204. package/vue/chunks/UiButton.js +1 -1
  205. package/vue/chunks/UiCallout.js +1 -1
  206. package/vue/chunks/UiCard.js +39 -3
  207. package/vue/chunks/UiCheckbox.js +1 -1
  208. package/vue/chunks/UiCombobox.js +1 -1
  209. package/vue/chunks/UiContextMenu.js +1 -1
  210. package/vue/chunks/UiDescriptionList.js +1 -1
  211. package/vue/chunks/UiDialog.js +1 -1
  212. package/vue/chunks/UiDisclosure.js +27 -4
  213. package/vue/chunks/UiEditable.js +1 -1
  214. package/vue/chunks/UiEditorInsertTableGrid.js +1 -1
  215. package/vue/chunks/UiEditorMentionMenu.js +1 -1
  216. package/vue/chunks/UiEditorSlashMenu.js +1 -1
  217. package/vue/chunks/UiEditorSlashMenuItem.js +1 -1
  218. package/vue/chunks/UiEditorTableContextMenu.js +1 -1
  219. package/vue/chunks/UiEditorTableOverlay.js +1 -1
  220. package/vue/chunks/UiEditorTableToolbar.js +1 -1
  221. package/vue/chunks/UiEditorToolbar.js +1 -1
  222. package/vue/chunks/UiFloatingActionButton.js +1 -1
  223. package/vue/chunks/UiIcon.js +92 -1
  224. package/vue/chunks/UiIconButton.js +1 -1
  225. package/vue/chunks/UiInput.js +1 -1
  226. package/vue/chunks/UiInputGroup.js +59 -22
  227. package/vue/chunks/UiList.js +1 -1
  228. package/vue/chunks/UiListItem.js +1 -1
  229. package/vue/chunks/UiListbox.js +1 -1
  230. package/vue/chunks/UiMenu.js +1 -1
  231. package/vue/chunks/UiMenuItem.js +1 -1
  232. package/vue/chunks/UiMeter.js +1 -1
  233. package/vue/chunks/UiNavItem.js +65 -6
  234. package/vue/chunks/UiPopover.js +37 -5
  235. package/vue/chunks/UiRadio.js +1 -1
  236. package/vue/chunks/UiScrollArea.js +66 -23
  237. package/vue/chunks/UiSearchResultRow.js +28 -2
  238. package/vue/chunks/UiSearchShell.js +1 -1
  239. package/vue/chunks/UiSection.js +1 -1
  240. package/vue/chunks/UiSelect.js +1 -1
  241. package/vue/chunks/UiSeparator.js +1 -1
  242. package/vue/chunks/UiSidebar.js +1 -1
  243. package/vue/chunks/UiStack.js +3 -2
  244. package/vue/chunks/UiStatusMessage.js +1 -1
  245. package/vue/chunks/UiSwitch.js +1 -1
  246. package/vue/chunks/UiTable.js +1 -1
  247. package/vue/chunks/UiTabs.js +1 -1
  248. package/vue/chunks/UiText.js +92 -4
  249. package/vue/chunks/UiTextarea.js +1 -1
  250. package/vue/chunks/UiToast.js +1 -1
  251. package/vue/chunks/UiToastRegion.js +1 -1
  252. package/vue/chunks/UiTooltip.js +1 -1
  253. package/vue/chunks/UiTopBar.js +1 -1
  254. package/vue/chunks/UiTreeItem.js +1 -1
  255. package/vue/components.css +1431 -1429
  256. package/vue/editor/LoomaEditor.d.ts +11 -0
  257. package/vue/editor/index.js +261 -145
@@ -181,6 +181,6 @@ var UiList_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE_
181
181
  }]]);
182
182
  };
183
183
  }
184
- }), [["__scopeId", "data-v-f1f2d6a5"]]);
184
+ }), [["__scopeId", "data-v-3113e20d"]]);
185
185
  //#endregion
186
186
  export { UiList_default as t };
@@ -113,6 +113,6 @@ var UiListItem_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
113
113
  }]]);
114
114
  };
115
115
  }
116
- }), [["__scopeId", "data-v-ccc07fff"]]);
116
+ }), [["__scopeId", "data-v-7f3a2b0f"]]);
117
117
  //#endregion
118
118
  export { UiListItem_default as t };
@@ -459,6 +459,6 @@ var UiListbox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PU
459
459
  }]]);
460
460
  };
461
461
  }
462
- }), [["__scopeId", "data-v-822ca432"]]);
462
+ }), [["__scopeId", "data-v-bb5885bd"]]);
463
463
  //#endregion
464
464
  export { UiListbox_default as t };
@@ -259,6 +259,6 @@ var UiMenu_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE_
259
259
  }]]);
260
260
  };
261
261
  }
262
- }), [["__scopeId", "data-v-b4eb8fd7"]]);
262
+ }), [["__scopeId", "data-v-9e577869"]]);
263
263
  //#endregion
264
264
  export { UiMenu_default as t };
@@ -311,6 +311,6 @@ var UiMenuItem_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
311
311
  }]]);
312
312
  };
313
313
  }
314
- }), [["__scopeId", "data-v-7696256e"]]);
314
+ }), [["__scopeId", "data-v-ff2c3a96"]]);
315
315
  //#endregion
316
316
  export { UiMenuItem_default as t };
@@ -299,6 +299,6 @@ var UiMeter_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE
299
299
  }]]);
300
300
  };
301
301
  }
302
- }), [["__scopeId", "data-v-5474a8b7"]]);
302
+ }), [["__scopeId", "data-v-e42c9bdb"]]);
303
303
  //#endregion
304
304
  export { UiMeter_default as t };
@@ -10,9 +10,12 @@ var _hoisted_1 = [
10
10
  "aria-current",
11
11
  "data-as",
12
12
  "data-current",
13
+ "data-density",
13
14
  "data-href",
14
15
  "data-rel",
15
- "data-target"
16
+ "data-target",
17
+ "data-variant",
18
+ "data-ui-nav-item-state"
16
19
  ];
17
20
  var _hoisted_2 = { class: "leading" };
18
21
  var _hoisted_3 = { class: "content" };
@@ -22,9 +25,12 @@ var _hoisted_6 = [
22
25
  "aria-current",
23
26
  "data-as",
24
27
  "data-current",
28
+ "data-density",
25
29
  "data-href",
26
30
  "data-rel",
27
- "data-target"
31
+ "data-target",
32
+ "data-variant",
33
+ "data-ui-nav-item-state"
28
34
  ];
29
35
  var _hoisted_7 = { class: "leading" };
30
36
  var _hoisted_8 = { class: "content" };
@@ -44,6 +50,10 @@ var UiNavItem_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PU
44
50
  type: null,
45
51
  default: "false"
46
52
  },
53
+ density: {
54
+ type: null,
55
+ default: "comfortable"
56
+ },
47
57
  href: {
48
58
  type: null,
49
59
  default: null
@@ -55,6 +65,10 @@ var UiNavItem_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PU
55
65
  target: {
56
66
  type: null,
57
67
  default: null
68
+ },
69
+ variant: {
70
+ type: null,
71
+ default: "surface"
58
72
  }
59
73
  },
60
74
  setup(__props) {
@@ -77,7 +91,7 @@ var UiNavItem_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PU
77
91
  },
78
92
  required: false,
79
93
  target: { attribute: "current" },
80
- description: "Marks the item as where you are: it takes the selected surface, a stronger label, and a bar on its start edge, and states aria-current, which assistive\n technology announces. \"true\" means the current page (aria-current=\"page\"); \"step\" marks the current step of a process, and \"location\" the current place in\n a set, such as a section of a record. Set it on one item at a time.",
94
+ description: "Marks the item as where you are: it takes the selected surface, the selected text, and the chosen surface or line treatment, and states aria-current, which\n assistive technology announces. \"true\" means the current page (aria-current=\"page\"); \"step\" marks the current step of a process, and \"location\" the\n current place in a set, such as a section of a record. Set it on one item at a time.",
81
95
  values: [
82
96
  "true",
83
97
  "false",
@@ -87,6 +101,17 @@ var UiNavItem_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PU
87
101
  ],
88
102
  default: "false"
89
103
  },
104
+ density: {
105
+ type: {
106
+ kind: "terminal",
107
+ name: "keyword"
108
+ },
109
+ required: false,
110
+ target: { attribute: "density" },
111
+ description: "Compact uses smaller type and row spacing to sit alongside a compact tree; comfortable keeps the regular navigation row.",
112
+ values: ["comfortable", "compact"],
113
+ default: "comfortable"
114
+ },
90
115
  href: {
91
116
  type: {
92
117
  kind: "terminal",
@@ -113,15 +138,28 @@ var UiNavItem_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PU
113
138
  required: false,
114
139
  target: { attribute: "target" },
115
140
  description: "Where a link opens, as on a native link. Only meaningful with as=\"a\"."
141
+ },
142
+ variant: {
143
+ type: {
144
+ kind: "terminal",
145
+ name: "keyword"
146
+ },
147
+ required: false,
148
+ target: { attribute: "variant" },
149
+ description: "surface marks the current row with a quiet filled surface and shared corners. line uses square corners and a continuous logical start edge. Both retain the\n resting label weight and expose aria-current.",
150
+ values: ["surface", "line"],
151
+ default: "surface"
116
152
  }
117
153
  } };
118
154
  const props = __props;
119
155
  const acceptedProps = {
120
156
  as: "button",
121
157
  current: "false",
158
+ density: "comfortable",
122
159
  href: null,
123
160
  rel: null,
124
- target: null
161
+ target: null,
162
+ variant: "surface"
125
163
  };
126
164
  const checkedProps = computed(() => ({
127
165
  as: checkedProp(props["as"], {
@@ -132,6 +170,10 @@ var UiNavItem_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PU
132
170
  kind: "terminal",
133
171
  name: "keyword"
134
172
  }, false, "current", acceptedProps),
173
+ density: checkedProp(props["density"], {
174
+ kind: "terminal",
175
+ name: "keyword"
176
+ }, false, "density", acceptedProps),
135
177
  href: checkedProp(props["href"], {
136
178
  kind: "terminal",
137
179
  name: "string"
@@ -143,7 +185,11 @@ var UiNavItem_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PU
143
185
  target: checkedProp(props["target"], {
144
186
  kind: "terminal",
145
187
  name: "string"
146
- }, false, "target", acceptedProps)
188
+ }, false, "target", acceptedProps),
189
+ variant: checkedProp(props["variant"], {
190
+ kind: "terminal",
191
+ name: "keyword"
192
+ }, false, "variant", acceptedProps)
147
193
  }));
148
194
  checkedProps.value;
149
195
  watchSyncEffect(() => {
@@ -172,6 +218,13 @@ var UiNavItem_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PU
172
218
  message: "Server markup for <ui-nav-item> has an incompatible root."
173
219
  })
174
220
  });
221
+ /** The values the styles' :host-state() rules test. */
222
+ const hostState = computed(() => [
223
+ checkedProps.value.variant && "variant",
224
+ checkedProps.value.variant != null && `variant=${encodeURIComponent(checkedProps.value.variant)}`,
225
+ checkedProps.value.density && "density",
226
+ checkedProps.value.density != null && `density=${encodeURIComponent(checkedProps.value.density)}`
227
+ ].filter(Boolean).join(" "));
175
228
  function text(value) {
176
229
  if (Array.isArray(value)) return value.map(text).join(" ");
177
230
  return value === null || value === void 0 || typeof value === "object" ? "" : String(value);
@@ -209,9 +262,12 @@ var UiNavItem_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PU
209
262
  }[`${checkedProps.value.current ?? ""}`]),
210
263
  "data-as": reflectedProp("as", "as", checkedProps.value.as, void 0, false),
211
264
  "data-current": reflectedProp("current", "current", checkedProps.value.current, void 0, false),
265
+ "data-density": reflectedProp("density", "density", checkedProps.value.density, void 0, false),
212
266
  "data-href": reflectedProp("href", "href", checkedProps.value.href, void 0, false),
213
267
  "data-rel": reflectedProp("rel", "rel", checkedProps.value.rel, void 0, false),
214
268
  "data-target": reflectedProp("target", "target", checkedProps.value.target, void 0, false),
269
+ "data-variant": reflectedProp("variant", "variant", checkedProps.value.variant, void 0, false),
270
+ "data-ui-nav-item-state": hostState.value || void 0,
215
271
  ref: "@html-next/root"
216
272
  }), [
217
273
  _cache[0] || (_cache[0] = createElementVNode("span", {
@@ -249,9 +305,12 @@ var UiNavItem_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PU
249
305
  }[`${checkedProps.value.current ?? ""}`]),
250
306
  "data-as": reflectedProp("as", "as", checkedProps.value.as, void 0, false),
251
307
  "data-current": reflectedProp("current", "current", checkedProps.value.current, void 0, false),
308
+ "data-density": reflectedProp("density", "density", checkedProps.value.density, void 0, false),
252
309
  "data-href": reflectedProp("href", "href", checkedProps.value.href, void 0, false),
253
310
  "data-rel": reflectedProp("rel", "rel", checkedProps.value.rel, void 0, false),
254
311
  "data-target": reflectedProp("target", "target", checkedProps.value.target, void 0, false),
312
+ "data-variant": reflectedProp("variant", "variant", checkedProps.value.variant, void 0, false),
313
+ "data-ui-nav-item-state": hostState.value || void 0,
255
314
  ref: "@html-next/root"
256
315
  }), [
257
316
  _cache[1] || (_cache[1] = createElementVNode("span", {
@@ -266,6 +325,6 @@ var UiNavItem_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PU
266
325
  }]]);
267
326
  };
268
327
  }
269
- }), [["__scopeId", "data-v-be6a08a1"]]);
328
+ }), [["__scopeId", "data-v-d666b895"]]);
270
329
  //#endregion
271
330
  export { UiNavItem_default as t };
@@ -7,6 +7,7 @@ var _hoisted_1 = [
7
7
  "data-for",
8
8
  "data-open",
9
9
  "data-placement",
10
+ "data-size",
10
11
  "data-ui-popover-state"
11
12
  ];
12
13
  var _hoisted_2 = { class: "surface" };
@@ -27,6 +28,10 @@ var UiPopover_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PU
27
28
  placement: {
28
29
  type: null,
29
30
  default: "bottom-start"
31
+ },
32
+ size: {
33
+ type: null,
34
+ default: "content"
30
35
  }
31
36
  },
32
37
  emits: [
@@ -79,13 +84,30 @@ var UiPopover_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PU
79
84
  "right-end"
80
85
  ],
81
86
  default: "bottom-start"
87
+ },
88
+ size: {
89
+ type: {
90
+ kind: "terminal",
91
+ name: "keyword"
92
+ },
93
+ required: false,
94
+ target: { attribute: "size" },
95
+ description: "Optional size preset. content keeps the existing intrinsic sizing; the other sizes constrain the surface for compact, medium, or large content.",
96
+ values: [
97
+ "content",
98
+ "sm",
99
+ "md",
100
+ "lg"
101
+ ],
102
+ default: "content"
82
103
  }
83
104
  } };
84
105
  const props = __props;
85
106
  const acceptedProps = {
86
107
  for: "",
87
108
  open: false,
88
- placement: "bottom-start"
109
+ placement: "bottom-start",
110
+ size: "content"
89
111
  };
90
112
  const checkedProps = computed(() => ({
91
113
  for: checkedProp(props["for"], {
@@ -99,7 +121,11 @@ var UiPopover_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PU
99
121
  placement: checkedProp(props["placement"], {
100
122
  kind: "terminal",
101
123
  name: "keyword"
102
- }, false, "placement", acceptedProps)
124
+ }, false, "placement", acceptedProps),
125
+ size: checkedProp(props["size"], {
126
+ kind: "terminal",
127
+ name: "keyword"
128
+ }, false, "size", acceptedProps)
103
129
  }));
104
130
  checkedProps.value;
105
131
  watchSyncEffect(() => {
@@ -131,7 +157,11 @@ var UiPopover_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PU
131
157
  })
132
158
  });
133
159
  /** The values the styles' :host-state() rules test. */
134
- const hostState = computed(() => [internalOpen.value && "internalOpen"].filter(Boolean).join(" "));
160
+ const hostState = computed(() => [
161
+ internalOpen.value && "internalOpen",
162
+ checkedProps.value.size && "size",
163
+ checkedProps.value.size != null && `size=${encodeURIComponent(checkedProps.value.size)}`
164
+ ].filter(Boolean).join(" "));
135
165
  const isOpenDetail = (detail) => detail !== null && typeof detail === "object" && !Array.isArray(detail) && typeof detail["open"] === "boolean" && (detail["reason"] === "action" || detail["reason"] === "programmatic" || detail["reason"] === "light-dismiss" || detail["reason"] === "escape") && (detail["trigger"] === "keyboard" || detail["trigger"] === "pointer" || detail["trigger"] === "programmatic") && Object.keys(detail).every((key) => [
136
166
  "open",
137
167
  "reason",
@@ -160,7 +190,8 @@ var UiPopover_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PU
160
190
  propNames: [
161
191
  "for",
162
192
  "open",
163
- "placement"
193
+ "placement",
194
+ "size"
164
195
  ],
165
196
  propValidity: (name) => propValidityState({
166
197
  contract: propValidityContract,
@@ -173,6 +204,7 @@ var UiPopover_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PU
173
204
  "data-for": reflectedProp("for", "for", checkedProps.value.for, void 0, false),
174
205
  "data-open": reflectedProp("open", "open", checkedProps.value.open, void 0, false),
175
206
  "data-placement": reflectedProp("placement", "placement", checkedProps.value.placement, void 0, false),
207
+ "data-size": reflectedProp("size", "size", checkedProps.value.size, void 0, false),
176
208
  "data-ui-popover-state": hostState.value || void 0,
177
209
  ref_key: "root",
178
210
  ref: root
@@ -182,6 +214,6 @@ var UiPopover_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PU
182
214
  }]]);
183
215
  };
184
216
  }
185
- }), [["__scopeId", "data-v-876af604"]]);
217
+ }), [["__scopeId", "data-v-af0419ac"]]);
186
218
  //#endregion
187
219
  export { UiPopover_default as t };
@@ -272,6 +272,6 @@ var UiRadio_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE
272
272
  }]]);
273
273
  };
274
274
  }
275
- }), [["__scopeId", "data-v-24dcb5e7"]]);
275
+ }), [["__scopeId", "data-v-12f949e0"]]);
276
276
  //#endregion
277
277
  export { UiRadio_default as t };
@@ -3,7 +3,11 @@ import { r as useComponentHost, t as createDispatch } from "./host.js";
3
3
  import { i as vPropValidity, n as propValidityState, t as checkedProp } from "./props.js";
4
4
  import { computed, createElementBlock, createElementVNode, defineComponent, getCurrentInstance, mergeProps, openBlock, ref, renderSlot, unref, useTemplateRef, watchSyncEffect, withDirectives } from "vue";
5
5
  //#region .build/vue/UiScrollArea.vue?vue&type=script&setup=true&lang.ts
6
- var _hoisted_1 = ["data-orientation", "data-ui-scroll-area-state"];
6
+ var _hoisted_1 = [
7
+ "data-orientation",
8
+ "data-size",
9
+ "data-ui-scroll-area-state"
10
+ ];
7
11
  var _hoisted_2 = {
8
12
  class: "content",
9
13
  ref: "content"
@@ -13,28 +17,61 @@ var _hoisted_2 = {
13
17
  var UiScrollArea_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
14
18
  inheritAttrs: false,
15
19
  __name: "UiScrollArea",
16
- props: { orientation: {
17
- type: null,
18
- default: "vertical"
19
- } },
20
+ props: {
21
+ orientation: {
22
+ type: null,
23
+ default: "vertical"
24
+ },
25
+ size: {
26
+ type: null,
27
+ default: "content"
28
+ }
29
+ },
20
30
  setup(__props) {
21
- const propValidityContract = { props: { orientation: {
22
- type: {
23
- kind: "terminal",
24
- name: "keyword"
31
+ const propValidityContract = { props: {
32
+ orientation: {
33
+ type: {
34
+ kind: "terminal",
35
+ name: "keyword"
36
+ },
37
+ required: false,
38
+ target: { attribute: "orientation" },
39
+ description: "The direction the content scrolls. Vertical scrolls up and down and clips sideways overflow; horizontal scrolls sideways and clips vertical\n overflow.",
40
+ values: ["vertical", "horizontal"],
41
+ default: "vertical"
25
42
  },
26
- required: false,
27
- target: { attribute: "orientation" },
28
- description: "The direction the content scrolls. Vertical scrolls up and down and clips sideways overflow; horizontal scrolls sideways and clips vertical\n overflow.",
29
- values: ["vertical", "horizontal"],
30
- default: "vertical"
31
- } } };
43
+ size: {
44
+ type: {
45
+ kind: "terminal",
46
+ name: "keyword"
47
+ },
48
+ required: false,
49
+ target: { attribute: "size" },
50
+ description: "Optional height preset. content keeps intrinsic sizing; sm fits three compact 3.125rem result rows, md is 20rem, and lg is 30rem.",
51
+ values: [
52
+ "content",
53
+ "sm",
54
+ "md",
55
+ "lg"
56
+ ],
57
+ default: "content"
58
+ }
59
+ } };
32
60
  const props = __props;
33
- const acceptedProps = { orientation: "vertical" };
34
- const checkedProps = computed(() => ({ orientation: checkedProp(props["orientation"], {
35
- kind: "terminal",
36
- name: "keyword"
37
- }, false, "orientation", acceptedProps) }));
61
+ const acceptedProps = {
62
+ orientation: "vertical",
63
+ size: "content"
64
+ };
65
+ const checkedProps = computed(() => ({
66
+ orientation: checkedProp(props["orientation"], {
67
+ kind: "terminal",
68
+ name: "keyword"
69
+ }, false, "orientation", acceptedProps),
70
+ size: checkedProp(props["size"], {
71
+ kind: "terminal",
72
+ name: "keyword"
73
+ }, false, "size", acceptedProps)
74
+ }));
38
75
  checkedProps.value;
39
76
  watchSyncEffect(() => {
40
77
  checkedProps.value;
@@ -63,7 +100,12 @@ var UiScrollArea_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
63
100
  })
64
101
  });
65
102
  /** The values the styles' :host-state() rules test. */
66
- const hostState = computed(() => [checkedProps.value.orientation && "orientation", checkedProps.value.orientation != null && `orientation=${encodeURIComponent(checkedProps.value.orientation)}`].filter(Boolean).join(" "));
103
+ const hostState = computed(() => [
104
+ checkedProps.value.orientation && "orientation",
105
+ checkedProps.value.orientation != null && `orientation=${encodeURIComponent(checkedProps.value.orientation)}`,
106
+ checkedProps.value.size && "size",
107
+ checkedProps.value.size != null && `size=${encodeURIComponent(checkedProps.value.size)}`
108
+ ].filter(Boolean).join(" "));
67
109
  const dispatch = createDispatch(root);
68
110
  useComponentHost(() => import("@threadlabs/looma/components/ui-scroll-area/ui-scroll-area.js"), {
69
111
  root,
@@ -78,7 +120,7 @@ var UiScrollArea_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
78
120
  const kebab = name.replace(/[A-Z]/g, (letter) => "-" + letter.toLowerCase());
79
121
  return incoming !== null && incoming !== void 0 ? incoming[name] ?? incoming[kebab] ?? null : null;
80
122
  },
81
- propNames: ["orientation"],
123
+ propNames: ["orientation", "size"],
82
124
  propValidity: (name) => propValidityState({
83
125
  contract: propValidityContract,
84
126
  values: { ...props }
@@ -88,6 +130,7 @@ var UiScrollArea_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
88
130
  return (_ctx, _cache) => {
89
131
  return withDirectives((openBlock(), createElementBlock("div", mergeProps({ "data-component": "ui-scroll-area" }, nativeAttrs(_ctx.$attrs), {
90
132
  "data-orientation": reflectedProp("orientation", "orientation", checkedProps.value.orientation, void 0, false),
133
+ "data-size": reflectedProp("size", "size", checkedProps.value.size, void 0, false),
91
134
  "data-ui-scroll-area-state": hostState.value || void 0,
92
135
  ref_key: "root",
93
136
  ref: root
@@ -97,6 +140,6 @@ var UiScrollArea_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
97
140
  }]]);
98
141
  };
99
142
  }
100
- }), [["__scopeId", "data-v-1357c460"]]);
143
+ }), [["__scopeId", "data-v-97150230"]]);
101
144
  //#endregion
102
145
  export { UiScrollArea_default as t };
@@ -5,6 +5,7 @@ import { computed, createElementBlock, createElementVNode, defineComponent, getC
5
5
  var _hoisted_1 = [
6
6
  "disabled",
7
7
  "aria-current",
8
+ "data-density",
8
9
  "data-disabled",
9
10
  "data-selected",
10
11
  "data-ui-search-result-row-state"
@@ -21,6 +22,10 @@ var UiSearchResultRow_default = /*#__PURE__*/ _plugin_vue_export_helper_default(
21
22
  inheritAttrs: false,
22
23
  __name: "UiSearchResultRow",
23
24
  props: {
25
+ density: {
26
+ type: null,
27
+ default: "comfortable"
28
+ },
24
29
  disabled: {
25
30
  type: null,
26
31
  default: false
@@ -32,6 +37,17 @@ var UiSearchResultRow_default = /*#__PURE__*/ _plugin_vue_export_helper_default(
32
37
  },
33
38
  setup(__props) {
34
39
  const propValidityContract = { props: {
40
+ density: {
41
+ type: {
42
+ kind: "terminal",
43
+ name: "keyword"
44
+ },
45
+ required: false,
46
+ target: { attribute: "density" },
47
+ description: "Compact keeps a title and location together in a 3.125rem row for small destination pickers; comfortable preserves the existing rich result spacing.",
48
+ values: ["comfortable", "compact"],
49
+ default: "comfortable"
50
+ },
35
51
  disabled: {
36
52
  type: {
37
53
  kind: "terminal",
@@ -55,10 +71,15 @@ var UiSearchResultRow_default = /*#__PURE__*/ _plugin_vue_export_helper_default(
55
71
  } };
56
72
  const props = __props;
57
73
  const acceptedProps = {
74
+ density: "comfortable",
58
75
  disabled: false,
59
76
  selected: false
60
77
  };
61
78
  const checkedProps = computed(() => ({
79
+ density: checkedProp(props["density"], {
80
+ kind: "terminal",
81
+ name: "keyword"
82
+ }, false, "density", acceptedProps),
62
83
  disabled: checkedProp(props["disabled"], {
63
84
  kind: "terminal",
64
85
  name: "boolean"
@@ -93,7 +114,11 @@ var UiSearchResultRow_default = /*#__PURE__*/ _plugin_vue_export_helper_default(
93
114
  })
94
115
  });
95
116
  /** The values the styles' :host-state() rules test. */
96
- const hostState = computed(() => [checkedProps.value.selected && "selected"].filter(Boolean).join(" "));
117
+ const hostState = computed(() => [
118
+ checkedProps.value.density && "density",
119
+ checkedProps.value.density != null && `density=${encodeURIComponent(checkedProps.value.density)}`,
120
+ checkedProps.value.selected && "selected"
121
+ ].filter(Boolean).join(" "));
97
122
  return (_ctx, _cache) => {
98
123
  return withDirectives((openBlock(), createElementBlock("button", mergeProps({
99
124
  "data-component": "ui-search-result-row",
@@ -101,6 +126,7 @@ var UiSearchResultRow_default = /*#__PURE__*/ _plugin_vue_export_helper_default(
101
126
  }, nativeAttrs(_ctx.$attrs), {
102
127
  disabled: checkedProps.value.disabled ?? void 0,
103
128
  "aria-current": checkedProps.value.selected ?? void 0,
129
+ "data-density": reflectedProp("density", "density", checkedProps.value.density, void 0, false),
104
130
  "data-disabled": reflectedProp("disabled", "disabled", checkedProps.value.disabled, void 0, false),
105
131
  "data-selected": reflectedProp("selected", "selected", checkedProps.value.selected, void 0, false),
106
132
  "data-ui-search-result-row-state": hostState.value || void 0
@@ -118,6 +144,6 @@ var UiSearchResultRow_default = /*#__PURE__*/ _plugin_vue_export_helper_default(
118
144
  }]]);
119
145
  };
120
146
  }
121
- }), [["__scopeId", "data-v-a9010076"]]);
147
+ }), [["__scopeId", "data-v-694c84bd"]]);
122
148
  //#endregion
123
149
  export { UiSearchResultRow_default as t };
@@ -194,6 +194,6 @@ var UiSearchShell_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @
194
194
  }]]);
195
195
  };
196
196
  }
197
- }), [["__scopeId", "data-v-34344651"]]);
197
+ }), [["__scopeId", "data-v-a424b50e"]]);
198
198
  //#endregion
199
199
  export { UiSearchShell_default as t };
@@ -138,6 +138,6 @@ var UiSection_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PU
138
138
  }]]);
139
139
  };
140
140
  }
141
- }), [["__scopeId", "data-v-4d63405c"]]);
141
+ }), [["__scopeId", "data-v-b4bd9f21"]]);
142
142
  //#endregion
143
143
  export { UiSection_default as t };
@@ -226,6 +226,6 @@ var UiSelect_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PUR
226
226
  }]]);
227
227
  };
228
228
  }
229
- }), [["__scopeId", "data-v-6c41bae6"]]);
229
+ }), [["__scopeId", "data-v-c860e6d6"]]);
230
230
  //#endregion
231
231
  export { UiSelect_default as t };
@@ -64,6 +64,6 @@ var UiSeparator_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__
64
64
  }]]);
65
65
  };
66
66
  }
67
- }), [["__scopeId", "data-v-c7e9e599"]]);
67
+ }), [["__scopeId", "data-v-737072fb"]]);
68
68
  //#endregion
69
69
  export { UiSeparator_default as t };
@@ -336,6 +336,6 @@ var UiSidebar_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PU
336
336
  }]]);
337
337
  };
338
338
  }
339
- }), [["__scopeId", "data-v-0c38d4ad"]]);
339
+ }), [["__scopeId", "data-v-2d6c1f5b"]]);
340
340
  //#endregion
341
341
  export { UiSidebar_default as t };
@@ -51,8 +51,9 @@ var UiStack_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE
51
51
  },
52
52
  required: false,
53
53
  target: { attribute: "gap" },
54
- description: "Space between items, on the spacing scale: xs is 0.5rem, s 0.75rem, m 1rem (also the default), l 1.5rem, and xl 2rem. The --ui-stack-gap custom property,\n set on the stack itself, overrides it; set on an ancestor, it does nothing.",
54
+ description: "Space between items, on the spacing scale: none is zero, xs is 0.5rem, s 0.75rem, m 1rem (also the default), l 1.5rem, and xl 2rem. The --ui-stack-gap\n custom property, set on the stack itself, overrides it; set on an ancestor, it does nothing.",
55
55
  values: [
56
+ "none",
56
57
  "xs",
57
58
  "s",
58
59
  "m",
@@ -141,6 +142,6 @@ var UiStack_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE
141
142
  }]]);
142
143
  };
143
144
  }
144
- }), [["__scopeId", "data-v-c216d2df"]]);
145
+ }), [["__scopeId", "data-v-e67d7412"]]);
145
146
  //#endregion
146
147
  export { UiStack_default as t };
@@ -161,6 +161,6 @@ var UiStatusMessage_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/*
161
161
  }]]);
162
162
  };
163
163
  }
164
- }), [["__scopeId", "data-v-88f21c6f"]]);
164
+ }), [["__scopeId", "data-v-5fb7d380"]]);
165
165
  //#endregion
166
166
  export { UiStatusMessage_default as t };
@@ -273,6 +273,6 @@ var UiSwitch_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PUR
273
273
  }]]);
274
274
  };
275
275
  }
276
- }), [["__scopeId", "data-v-33b369b6"]]);
276
+ }), [["__scopeId", "data-v-29e0ae86"]]);
277
277
  //#endregion
278
278
  export { UiSwitch_default as t };
@@ -127,6 +127,6 @@ var UiTable_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE
127
127
  }]]);
128
128
  };
129
129
  }
130
- }), [["__scopeId", "data-v-dfbf191c"]]);
130
+ }), [["__scopeId", "data-v-72d151ba"]]);
131
131
  //#endregion
132
132
  export { UiTable_default as t };
@@ -327,6 +327,6 @@ var UiTabs_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE_
327
327
  }]]);
328
328
  };
329
329
  }
330
- }), [["__scopeId", "data-v-290ef814"]]);
330
+ }), [["__scopeId", "data-v-653b2813"]]);
331
331
  //#endregion
332
332
  export { UiTabs_default as t };