@threadlabs/looma 0.28.5 → 0.28.7

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 (453) hide show
  1. package/components/ui-editor-block-actions/ui-editor-block-actions.html +20 -0
  2. package/components/ui-editor-block-actions/ui-editor-block-actions.js +14 -0
  3. package/components/ui-editor-image-toolbar/ui-editor-image-toolbar.html +7 -6
  4. package/components/ui-editor-image-toolbar/ui-editor-image-toolbar.js +2 -1
  5. package/components/ui-editor-link-card/ui-editor-link-card.html +57 -0
  6. package/components/ui-editor-link-card/ui-editor-link-card.js +27 -0
  7. package/components/ui-editor-mention-menu-item/ui-editor-mention-menu-item.html +3 -2
  8. package/dist/index.js +36 -34
  9. package/package.json +3 -2
  10. package/styles/ui-action-bar.css +13 -6
  11. package/styles/ui-affordance-scope.css +12 -5
  12. package/styles/ui-avatar-group.css +17 -10
  13. package/styles/ui-avatar.css +23 -16
  14. package/styles/ui-badge.css +78 -71
  15. package/styles/ui-breadcrumb-item.css +12 -5
  16. package/styles/ui-breadcrumbs.css +10 -3
  17. package/styles/ui-button.css +79 -72
  18. package/styles/ui-callout.css +29 -22
  19. package/styles/ui-card.css +25 -18
  20. package/styles/ui-checkbox.css +45 -37
  21. package/styles/ui-cluster.css +34 -27
  22. package/styles/ui-combobox.css +46 -39
  23. package/styles/ui-container.css +20 -13
  24. package/styles/ui-context-menu.css +17 -10
  25. package/styles/ui-cover.css +12 -5
  26. package/styles/ui-description-item.css +10 -3
  27. package/styles/ui-description-list.css +20 -13
  28. package/styles/ui-dialog.css +44 -35
  29. package/styles/ui-disclosure.css +32 -25
  30. package/styles/ui-editable.css +15 -8
  31. package/styles/ui-editor-block-actions.css +1 -0
  32. package/styles/ui-editor-image-toolbar.css +1 -1
  33. package/styles/ui-editor-insert-table-grid.css +11 -4
  34. package/styles/ui-editor-link-card.css +1 -0
  35. package/styles/ui-editor-mention-menu-item.css +17 -8
  36. package/styles/ui-editor-mention-menu.css +14 -7
  37. package/styles/ui-editor-slash-menu-group.css +10 -3
  38. package/styles/ui-editor-slash-menu-item.css +15 -8
  39. package/styles/ui-editor-slash-menu.css +15 -8
  40. package/styles/ui-editor-surface.css +10 -3
  41. package/styles/ui-editor-table-context-menu.css +17 -10
  42. package/styles/ui-editor-table-overlay.css +17 -10
  43. package/styles/ui-editor-table-toolbar.css +22 -15
  44. package/styles/ui-editor-toolbar.css +18 -11
  45. package/styles/ui-floating-action-button.css +21 -14
  46. package/styles/ui-form-field.css +20 -13
  47. package/styles/ui-grid.css +21 -14
  48. package/styles/ui-icon-button.css +80 -73
  49. package/styles/ui-icon.css +14 -7
  50. package/styles/ui-image.css +25 -18
  51. package/styles/ui-input-group.css +34 -27
  52. package/styles/ui-input.css +42 -35
  53. package/styles/ui-list-item.css +33 -26
  54. package/styles/ui-list.css +22 -15
  55. package/styles/ui-listbox.css +22 -14
  56. package/styles/ui-menu-group.css +10 -3
  57. package/styles/ui-menu-item.css +29 -22
  58. package/styles/ui-menu.css +25 -18
  59. package/styles/ui-meter.css +36 -29
  60. package/styles/ui-nav-item.css +26 -19
  61. package/styles/ui-page-header.css +12 -5
  62. package/styles/ui-popover.css +27 -20
  63. package/styles/ui-radio-group.css +14 -6
  64. package/styles/ui-radio.css +24 -17
  65. package/styles/ui-reel.css +28 -21
  66. package/styles/ui-scroll-area.css +22 -15
  67. package/styles/ui-search-result-row.css +28 -21
  68. package/styles/ui-search-shell.css +24 -17
  69. package/styles/ui-section.css +14 -7
  70. package/styles/ui-select.css +33 -26
  71. package/styles/ui-separator.css +17 -10
  72. package/styles/ui-sidebar.css +35 -28
  73. package/styles/ui-spinner.css +32 -23
  74. package/styles/ui-stack.css +29 -21
  75. package/styles/ui-status-message.css +14 -7
  76. package/styles/ui-switch.css +29 -22
  77. package/styles/ui-switcher.css +27 -20
  78. package/styles/ui-table.css +14 -7
  79. package/styles/ui-tabs.css +24 -17
  80. package/styles/ui-text.css +35 -28
  81. package/styles/ui-textarea.css +37 -30
  82. package/styles/ui-toast-region.css +74 -63
  83. package/styles/ui-toast.css +21 -14
  84. package/styles/ui-tooltip.css +38 -31
  85. package/styles/ui-top-bar.css +19 -12
  86. package/styles/ui-tree-item.css +79 -71
  87. package/styles/ui-tree.css +18 -11
  88. package/vanilla/UiActionBar.d.ts +1 -1
  89. package/vanilla/UiActionBar.js +1 -1
  90. package/vanilla/UiAffordanceScope.d.ts +1 -1
  91. package/vanilla/UiAffordanceScope.js +1 -1
  92. package/vanilla/UiAvatar.d.ts +1 -1
  93. package/vanilla/UiAvatar.js +1 -1
  94. package/vanilla/UiAvatarGroup.d.ts +1 -1
  95. package/vanilla/UiAvatarGroup.js +1 -1
  96. package/vanilla/UiBadge.d.ts +1 -1
  97. package/vanilla/UiBadge.js +1 -1
  98. package/vanilla/UiBreadcrumbItem.d.ts +1 -1
  99. package/vanilla/UiBreadcrumbItem.js +1 -1
  100. package/vanilla/UiBreadcrumbs.d.ts +1 -1
  101. package/vanilla/UiBreadcrumbs.js +1 -1
  102. package/vanilla/UiButton.d.ts +1 -1
  103. package/vanilla/UiButton.js +19 -57
  104. package/vanilla/UiCallout.d.ts +1 -1
  105. package/vanilla/UiCallout.js +25 -73
  106. package/vanilla/UiCard.d.ts +1 -1
  107. package/vanilla/UiCard.js +1 -1
  108. package/vanilla/UiCheckbox.d.ts +1 -1
  109. package/vanilla/UiCheckbox.js +1 -1
  110. package/vanilla/UiCluster.d.ts +1 -1
  111. package/vanilla/UiCluster.js +1 -1
  112. package/vanilla/UiCombobox.d.ts +1 -1
  113. package/vanilla/UiCombobox.js +60 -166
  114. package/vanilla/UiContainer.d.ts +1 -1
  115. package/vanilla/UiContainer.js +1 -1
  116. package/vanilla/UiContextMenu.d.ts +1 -1
  117. package/vanilla/UiContextMenu.js +1 -1
  118. package/vanilla/UiCover.d.ts +1 -1
  119. package/vanilla/UiCover.js +1 -1
  120. package/vanilla/UiDescriptionItem.d.ts +1 -1
  121. package/vanilla/UiDescriptionItem.js +1 -1
  122. package/vanilla/UiDescriptionList.d.ts +1 -1
  123. package/vanilla/UiDescriptionList.js +1 -1
  124. package/vanilla/UiDialog.d.ts +1 -1
  125. package/vanilla/UiDialog.js +4 -10
  126. package/vanilla/UiDisclosure.d.ts +1 -1
  127. package/vanilla/UiDisclosure.js +1 -1
  128. package/vanilla/UiEditable.d.ts +1 -1
  129. package/vanilla/UiEditable.js +7 -19
  130. package/vanilla/UiEditorBlockActions.d.ts +16 -0
  131. package/vanilla/UiEditorBlockActions.js +41 -0
  132. package/vanilla/UiEditorImageToolbar.d.ts +1 -1
  133. package/vanilla/UiEditorImageToolbar.js +2 -2
  134. package/vanilla/UiEditorInsertTableGrid.d.ts +1 -1
  135. package/vanilla/UiEditorInsertTableGrid.js +1 -1
  136. package/vanilla/UiEditorLinkCard.d.ts +20 -0
  137. package/vanilla/UiEditorLinkCard.js +153 -0
  138. package/vanilla/UiEditorMentionMenu.d.ts +1 -1
  139. package/vanilla/UiEditorMentionMenu.js +17 -37
  140. package/vanilla/UiEditorMentionMenuItem.d.ts +1 -1
  141. package/vanilla/UiEditorMentionMenuItem.js +4 -10
  142. package/vanilla/UiEditorSlashMenu.d.ts +1 -1
  143. package/vanilla/UiEditorSlashMenu.js +5 -4
  144. package/vanilla/UiEditorSlashMenuGroup.d.ts +1 -1
  145. package/vanilla/UiEditorSlashMenuGroup.js +1 -1
  146. package/vanilla/UiEditorSlashMenuItem.d.ts +1 -1
  147. package/vanilla/UiEditorSlashMenuItem.js +7 -19
  148. package/vanilla/UiEditorSurface.d.ts +1 -1
  149. package/vanilla/UiEditorSurface.js +1 -1
  150. package/vanilla/UiEditorTableContextMenu.d.ts +1 -1
  151. package/vanilla/UiEditorTableContextMenu.js +6 -14
  152. package/vanilla/UiEditorTableOverlay.d.ts +1 -1
  153. package/vanilla/UiEditorTableOverlay.js +9 -25
  154. package/vanilla/UiEditorTableToolbar.d.ts +1 -1
  155. package/vanilla/UiEditorTableToolbar.js +25 -77
  156. package/vanilla/UiEditorToolbar.d.ts +1 -1
  157. package/vanilla/UiEditorToolbar.js +1 -1
  158. package/vanilla/UiFloatingActionButton.d.ts +1 -1
  159. package/vanilla/UiFloatingActionButton.js +1 -1
  160. package/vanilla/UiFormField.d.ts +1 -1
  161. package/vanilla/UiFormField.js +1 -1
  162. package/vanilla/UiGrid.d.ts +1 -1
  163. package/vanilla/UiGrid.js +1 -1
  164. package/vanilla/UiIcon.d.ts +1 -1
  165. package/vanilla/UiIcon.js +15 -47
  166. package/vanilla/UiIconButton.d.ts +1 -1
  167. package/vanilla/UiIconButton.js +4 -10
  168. package/vanilla/UiImage.d.ts +1 -1
  169. package/vanilla/UiImage.js +1 -1
  170. package/vanilla/UiInput.d.ts +1 -1
  171. package/vanilla/UiInput.js +1 -1
  172. package/vanilla/UiInputGroup.d.ts +1 -1
  173. package/vanilla/UiInputGroup.js +1 -1
  174. package/vanilla/UiList.d.ts +1 -1
  175. package/vanilla/UiList.js +1 -1
  176. package/vanilla/UiListItem.d.ts +1 -1
  177. package/vanilla/UiListItem.js +1 -1
  178. package/vanilla/UiListbox.d.ts +1 -1
  179. package/vanilla/UiListbox.js +4 -10
  180. package/vanilla/UiMenu.d.ts +1 -1
  181. package/vanilla/UiMenu.js +1 -1
  182. package/vanilla/UiMenuGroup.d.ts +1 -1
  183. package/vanilla/UiMenuGroup.js +4 -10
  184. package/vanilla/UiMenuItem.d.ts +1 -1
  185. package/vanilla/UiMenuItem.js +4 -10
  186. package/vanilla/UiMeter.d.ts +1 -1
  187. package/vanilla/UiMeter.js +13 -33
  188. package/vanilla/UiNavItem.d.ts +1 -1
  189. package/vanilla/UiNavItem.js +1 -1
  190. package/vanilla/UiPageHeader.d.ts +1 -1
  191. package/vanilla/UiPageHeader.js +1 -1
  192. package/vanilla/UiPopover.d.ts +1 -1
  193. package/vanilla/UiPopover.js +1 -1
  194. package/vanilla/UiRadio.d.ts +1 -1
  195. package/vanilla/UiRadio.js +1 -1
  196. package/vanilla/UiRadioGroup.d.ts +1 -1
  197. package/vanilla/UiRadioGroup.js +1 -1
  198. package/vanilla/UiReel.d.ts +1 -1
  199. package/vanilla/UiReel.js +1 -1
  200. package/vanilla/UiScrollArea.d.ts +1 -1
  201. package/vanilla/UiScrollArea.js +1 -1
  202. package/vanilla/UiSearchResultRow.d.ts +1 -1
  203. package/vanilla/UiSearchResultRow.js +1 -1
  204. package/vanilla/UiSearchShell.d.ts +1 -1
  205. package/vanilla/UiSearchShell.js +1 -1
  206. package/vanilla/UiSection.d.ts +1 -1
  207. package/vanilla/UiSection.js +1 -1
  208. package/vanilla/UiSelect.d.ts +1 -1
  209. package/vanilla/UiSelect.js +1 -1
  210. package/vanilla/UiSeparator.d.ts +1 -1
  211. package/vanilla/UiSeparator.js +1 -1
  212. package/vanilla/UiSidebar.d.ts +1 -1
  213. package/vanilla/UiSidebar.js +1 -1
  214. package/vanilla/UiSpinner.d.ts +1 -1
  215. package/vanilla/UiSpinner.js +1 -1
  216. package/vanilla/UiStack.d.ts +1 -1
  217. package/vanilla/UiStack.js +1 -1
  218. package/vanilla/UiStatusMessage.d.ts +1 -1
  219. package/vanilla/UiStatusMessage.js +1 -1
  220. package/vanilla/UiSwitch.d.ts +1 -1
  221. package/vanilla/UiSwitch.js +1 -1
  222. package/vanilla/UiSwitcher.d.ts +1 -1
  223. package/vanilla/UiSwitcher.js +1 -1
  224. package/vanilla/UiTable.d.ts +1 -1
  225. package/vanilla/UiTable.js +1 -1
  226. package/vanilla/UiTabs.d.ts +1 -1
  227. package/vanilla/UiTabs.js +1 -1
  228. package/vanilla/UiText.d.ts +1 -1
  229. package/vanilla/UiText.js +1 -1
  230. package/vanilla/UiTextarea.d.ts +1 -1
  231. package/vanilla/UiTextarea.js +1 -1
  232. package/vanilla/UiToast.d.ts +1 -1
  233. package/vanilla/UiToast.js +1 -1
  234. package/vanilla/UiToastRegion.d.ts +1 -1
  235. package/vanilla/UiToastRegion.js +1 -1
  236. package/vanilla/UiTooltip.d.ts +1 -1
  237. package/vanilla/UiTooltip.js +1 -1
  238. package/vanilla/UiTopBar.d.ts +1 -1
  239. package/vanilla/UiTopBar.js +1 -1
  240. package/vanilla/UiTree.d.ts +1 -1
  241. package/vanilla/UiTree.js +1 -1
  242. package/vanilla/UiTreeItem.d.ts +1 -1
  243. package/vanilla/UiTreeItem.js +7 -19
  244. package/vanilla/index.js +2 -0
  245. package/vue/UiActionBar.vue +46 -78
  246. package/vue/UiAffordanceScope.vue +27 -66
  247. package/vue/UiAvatar.d.ts +10 -7
  248. package/vue/UiAvatar.vue +100 -218
  249. package/vue/UiAvatarGroup.d.ts +10 -7
  250. package/vue/UiAvatarGroup.vue +78 -160
  251. package/vue/UiBadge.d.ts +1 -1
  252. package/vue/UiBadge.vue +483 -520
  253. package/vue/UiBreadcrumbItem.vue +52 -123
  254. package/vue/UiBreadcrumbs.vue +27 -70
  255. package/vue/UiButton.d.ts +2 -2
  256. package/vue/UiButton.vue +420 -471
  257. package/vue/UiCallout.vue +131 -175
  258. package/vue/UiCard.d.ts +1 -1
  259. package/vue/UiCard.vue +112 -151
  260. package/vue/UiCheckbox.d.ts +13 -10
  261. package/vue/UiCheckbox.vue +160 -221
  262. package/vue/UiCluster.d.ts +1 -1
  263. package/vue/UiCluster.vue +84 -128
  264. package/vue/UiCombobox.d.ts +71 -68
  265. package/vue/UiCombobox.vue +417 -743
  266. package/vue/UiContainer.vue +43 -87
  267. package/vue/UiContextMenu.d.ts +6 -6
  268. package/vue/UiContextMenu.vue +78 -117
  269. package/vue/UiCover.vue +29 -69
  270. package/vue/UiDescriptionItem.vue +39 -82
  271. package/vue/UiDescriptionList.vue +64 -107
  272. package/vue/UiDialog.d.ts +22 -19
  273. package/vue/UiDialog.vue +193 -246
  274. package/vue/UiDisclosure.d.ts +22 -19
  275. package/vue/UiDisclosure.vue +192 -283
  276. package/vue/UiEditable.d.ts +5 -5
  277. package/vue/UiEditable.vue +124 -207
  278. package/vue/UiEditorBlockActions.d.ts +33 -0
  279. package/vue/UiEditorBlockActions.js +2 -0
  280. package/vue/UiEditorBlockActions.vue +125 -0
  281. package/vue/UiEditorImageToolbar.d.ts +2 -2
  282. package/vue/UiEditorImageToolbar.vue +45 -256
  283. package/vue/UiEditorInsertTableGrid.d.ts +2 -2
  284. package/vue/UiEditorInsertTableGrid.vue +98 -266
  285. package/vue/UiEditorLinkCard.d.ts +58 -0
  286. package/vue/UiEditorLinkCard.js +2 -0
  287. package/vue/UiEditorLinkCard.vue +319 -0
  288. package/vue/UiEditorMentionMenu.d.ts +15 -12
  289. package/vue/UiEditorMentionMenu.vue +150 -239
  290. package/vue/UiEditorMentionMenuItem.vue +66 -110
  291. package/vue/UiEditorSlashMenu.d.ts +16 -13
  292. package/vue/UiEditorSlashMenu.vue +172 -253
  293. package/vue/UiEditorSlashMenuGroup.vue +25 -69
  294. package/vue/UiEditorSlashMenuItem.vue +67 -115
  295. package/vue/UiEditorSurface.vue +19 -63
  296. package/vue/UiEditorTableContextMenu.vue +135 -269
  297. package/vue/UiEditorTableOverlay.d.ts +2 -2
  298. package/vue/UiEditorTableOverlay.vue +310 -479
  299. package/vue/UiEditorTableToolbar.d.ts +2 -2
  300. package/vue/UiEditorTableToolbar.vue +182 -357
  301. package/vue/UiEditorToolbar.vue +143 -183
  302. package/vue/UiFloatingActionButton.vue +70 -114
  303. package/vue/UiFormField.d.ts +1 -1
  304. package/vue/UiFormField.vue +76 -117
  305. package/vue/UiGrid.d.ts +1 -1
  306. package/vue/UiGrid.vue +65 -103
  307. package/vue/UiIcon.vue +32 -106
  308. package/vue/UiIconButton.d.ts +2 -2
  309. package/vue/UiIconButton.vue +359 -411
  310. package/vue/UiImage.vue +145 -180
  311. package/vue/UiInput.vue +158 -190
  312. package/vue/UiInputGroup.vue +199 -239
  313. package/vue/UiList.vue +67 -109
  314. package/vue/UiListItem.vue +154 -201
  315. package/vue/UiListbox.d.ts +10 -7
  316. package/vue/UiListbox.vue +86 -260
  317. package/vue/UiMenu.d.ts +11 -11
  318. package/vue/UiMenu.vue +118 -152
  319. package/vue/UiMenuGroup.vue +21 -67
  320. package/vue/UiMenuItem.d.ts +19 -16
  321. package/vue/UiMenuItem.vue +169 -262
  322. package/vue/UiMeter.d.ts +4 -4
  323. package/vue/UiMeter.vue +166 -680
  324. package/vue/UiNavItem.vue +140 -213
  325. package/vue/UiPageHeader.vue +81 -127
  326. package/vue/UiPopover.d.ts +7 -7
  327. package/vue/UiPopover.vue +90 -129
  328. package/vue/UiRadio.d.ts +12 -9
  329. package/vue/UiRadio.vue +91 -149
  330. package/vue/UiRadioGroup.d.ts +2 -2
  331. package/vue/UiRadioGroup.vue +47 -85
  332. package/vue/UiReel.vue +89 -130
  333. package/vue/UiScrollArea.d.ts +1 -1
  334. package/vue/UiScrollArea.vue +78 -119
  335. package/vue/UiSearchResultRow.vue +96 -149
  336. package/vue/UiSearchShell.d.ts +2 -2
  337. package/vue/UiSearchShell.vue +159 -196
  338. package/vue/UiSection.vue +105 -149
  339. package/vue/UiSelect.d.ts +1 -1
  340. package/vue/UiSelect.vue +114 -146
  341. package/vue/UiSeparator.vue +42 -85
  342. package/vue/UiSidebar.d.ts +10 -7
  343. package/vue/UiSidebar.vue +193 -260
  344. package/vue/UiSpinner.vue +54 -130
  345. package/vue/UiStack.vue +66 -107
  346. package/vue/UiStatusMessage.d.ts +1 -1
  347. package/vue/UiStatusMessage.vue +61 -135
  348. package/vue/UiSwitch.d.ts +12 -9
  349. package/vue/UiSwitch.vue +136 -194
  350. package/vue/UiSwitcher.vue +69 -107
  351. package/vue/UiTable.vue +121 -156
  352. package/vue/UiTabs.d.ts +1 -1
  353. package/vue/UiTabs.vue +139 -267
  354. package/vue/UiText.d.ts +4 -4
  355. package/vue/UiText.vue +145 -184
  356. package/vue/UiTextarea.d.ts +2 -2
  357. package/vue/UiTextarea.vue +162 -194
  358. package/vue/UiToast.vue +70 -118
  359. package/vue/UiToastRegion.vue +157 -276
  360. package/vue/UiTooltip.d.ts +21 -18
  361. package/vue/UiTooltip.vue +174 -234
  362. package/vue/UiTopBar.vue +48 -76
  363. package/vue/UiTree.vue +46 -79
  364. package/vue/UiTreeItem.d.ts +18 -15
  365. package/vue/UiTreeItem.vue +526 -668
  366. package/vue/chunks/UiActionBar.js +5 -17
  367. package/vue/chunks/UiAffordanceScope.js +7 -26
  368. package/vue/chunks/UiAvatar.js +20 -74
  369. package/vue/chunks/UiAvatarGroup.js +14 -56
  370. package/vue/chunks/UiBadge.js +10 -28
  371. package/vue/chunks/UiBreadcrumbItem.js +11 -41
  372. package/vue/chunks/UiBreadcrumbs.js +7 -25
  373. package/vue/chunks/UiButton.js +80 -103
  374. package/vue/chunks/UiCallout.js +9 -27
  375. package/vue/chunks/UiCard.js +33 -53
  376. package/vue/chunks/UiCheckbox.js +14 -46
  377. package/vue/chunks/UiCluster.js +13 -31
  378. package/vue/chunks/UiCombobox.js +99 -237
  379. package/vue/chunks/UiContainer.js +9 -27
  380. package/vue/chunks/UiContextMenu.js +7 -26
  381. package/vue/chunks/UiCover.js +7 -25
  382. package/vue/chunks/UiDescriptionItem.js +6 -24
  383. package/vue/chunks/UiDescriptionList.js +9 -27
  384. package/vue/chunks/UiDialog.js +18 -47
  385. package/vue/chunks/UiDisclosure.js +19 -66
  386. package/vue/chunks/UiEditable.js +18 -60
  387. package/vue/chunks/UiEditorBlockActions.js +127 -0
  388. package/vue/chunks/UiEditorImageToolbar.js +40 -127
  389. package/vue/chunks/UiEditorInsertTableGrid.js +14 -112
  390. package/vue/chunks/UiEditorLinkCard.js +356 -0
  391. package/vue/chunks/UiEditorMentionMenu.js +16 -54
  392. package/vue/chunks/UiEditorMentionMenuItem.js +10 -28
  393. package/vue/chunks/UiEditorSlashMenu.js +17 -46
  394. package/vue/chunks/UiEditorSlashMenuGroup.js +7 -25
  395. package/vue/chunks/UiEditorSlashMenuItem.js +16 -31
  396. package/vue/chunks/UiEditorSurface.js +7 -25
  397. package/vue/chunks/UiEditorTableContextMenu.js +25 -102
  398. package/vue/chunks/UiEditorTableOverlay.js +41 -104
  399. package/vue/chunks/UiEditorTableToolbar.js +44 -122
  400. package/vue/chunks/UiEditorToolbar.js +7 -26
  401. package/vue/chunks/UiFloatingActionButton.js +10 -28
  402. package/vue/chunks/UiFormField.js +8 -27
  403. package/vue/chunks/UiGrid.js +10 -28
  404. package/vue/chunks/UiIcon.js +21 -74
  405. package/vue/chunks/UiIconButton.js +18 -50
  406. package/vue/chunks/UiImage.js +14 -33
  407. package/vue/chunks/UiInput.js +12 -31
  408. package/vue/chunks/UiInputGroup.js +10 -29
  409. package/vue/chunks/UiList.js +17 -37
  410. package/vue/chunks/UiListItem.js +12 -30
  411. package/vue/chunks/UiListbox.js +22 -124
  412. package/vue/chunks/UiMenu.js +13 -32
  413. package/vue/chunks/UiMenuGroup.js +8 -26
  414. package/vue/chunks/UiMenuItem.js +35 -80
  415. package/vue/chunks/UiMeter.js +17 -351
  416. package/vue/chunks/UiNavItem.js +23 -57
  417. package/vue/chunks/UiPageHeader.js +7 -25
  418. package/vue/chunks/UiPopover.js +9 -28
  419. package/vue/chunks/UiRadio.js +11 -43
  420. package/vue/chunks/UiRadioGroup.js +13 -32
  421. package/vue/chunks/UiReel.js +10 -28
  422. package/vue/chunks/UiScrollArea.js +10 -29
  423. package/vue/chunks/UiSearchResultRow.js +10 -28
  424. package/vue/chunks/UiSearchShell.js +9 -28
  425. package/vue/chunks/UiSection.js +9 -27
  426. package/vue/chunks/UiSelect.js +10 -29
  427. package/vue/chunks/UiSeparator.js +10 -28
  428. package/vue/chunks/UiSidebar.js +15 -47
  429. package/vue/chunks/UiSpinner.js +8 -44
  430. package/vue/chunks/UiStack.js +12 -30
  431. package/vue/chunks/UiStatusMessage.js +10 -42
  432. package/vue/chunks/UiSwitch.js +11 -43
  433. package/vue/chunks/UiSwitcher.js +9 -28
  434. package/vue/chunks/UiTable.js +7 -26
  435. package/vue/chunks/UiTabs.js +15 -91
  436. package/vue/chunks/UiText.js +148 -168
  437. package/vue/chunks/UiTextarea.js +16 -35
  438. package/vue/chunks/UiToast.js +13 -37
  439. package/vue/chunks/UiToastRegion.js +16 -88
  440. package/vue/chunks/UiTooltip.js +14 -46
  441. package/vue/chunks/UiTopBar.js +5 -17
  442. package/vue/chunks/UiTree.js +13 -32
  443. package/vue/chunks/UiTreeItem.js +34 -90
  444. package/vue/chunks/_plugin-vue_export-helper.js +904 -1
  445. package/vue/chunks/control.js +3 -0
  446. package/vue/chunks/props.js +1 -1
  447. package/vue/components.css +7689 -7617
  448. package/vue/editor/index.js +30 -95
  449. package/vue/editor/primitives.d.ts +8 -2
  450. package/vue/host.ts +999 -14
  451. package/vue/index.d.ts +2 -0
  452. package/vue/index.js +5 -3
  453. package/vue/chunks/host.js +0 -443
@@ -1,7 +1,15 @@
1
1
  import type { PropType } from 'vue';
2
- declare const _default: typeof __VLS_export;
3
- export default _default;
4
- declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<import("vue").ExtractPropTypes<{
2
+ declare var __VLS_1: {}, __VLS_8: {}, __VLS_10: {}, __VLS_12: {};
3
+ type __VLS_Slots = {} & {
4
+ header?: (props: typeof __VLS_1) => any;
5
+ } & {
6
+ default?: (props: typeof __VLS_8) => any;
7
+ } & {
8
+ empty?: (props: typeof __VLS_10) => any;
9
+ } & {
10
+ footer?: (props: typeof __VLS_12) => any;
11
+ };
12
+ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
5
13
  anchorRect: {
6
14
  type: PropType<{
7
15
  readonly left?: number;
@@ -99,13 +107,13 @@ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<import
99
107
  }>) => any) | undefined;
100
108
  }>, {
101
109
  label: string | null;
102
- open: boolean | null;
103
110
  items: readonly {
104
111
  readonly value?: string;
105
112
  readonly title: string;
106
113
  readonly description: string;
107
114
  readonly icon: string;
108
115
  }[] | null;
116
+ open: boolean | null;
109
117
  query: string | null;
110
118
  anchorRect: {
111
119
  readonly left?: number;
@@ -118,15 +126,10 @@ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<import
118
126
  readonly height?: number;
119
127
  } | null;
120
128
  selectedIndex: number | null;
121
- }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>, {
122
- header?: (props: {}) => any;
123
- } & {
124
- default?: (props: {}) => any;
125
- } & {
126
- empty?: (props: {}) => any;
127
- } & {
128
- footer?: (props: {}) => any;
129
- }>;
129
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
130
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
131
+ declare const _default: typeof __VLS_export;
132
+ export default _default;
130
133
  type __VLS_WithSlots<T, S> = T & {
131
134
  new (): {
132
135
  $slots: S;
@@ -1,19 +1,15 @@
1
- <!-- Generated by HTML Next 1.0.0-alpha.35 for Vue 3.5. Do not edit. -->
2
- <script lang="ts">
3
- const htmlNextAuthoredCheck2Reported = new Set<string>()
4
- function htmlNextAuthoredCheck2(accepted: boolean, location: string, message: string): boolean {
5
- if (!accepted && !htmlNextAuthoredCheck2Reported.has(location)) {
6
- htmlNextAuthoredCheck2Reported.add(location)
7
- console.warn(message)
8
- }
9
- return accepted
10
- }
11
- </script>
12
-
1
+ <!-- Generated by HTML Next 1.0.0-alpha.51 for Vue 3.5. Do not edit. -->
13
2
  <script setup lang="ts">
14
3
  import { computed, getCurrentInstance, provide, ref, useTemplateRef, watchSyncEffect } from 'vue'
15
4
  import type { PropType } from 'vue'
16
- import { createDispatch, useComponentHost } from './host'
5
+ import {
6
+ checkHydratedRoot,
7
+ createDispatch,
8
+ isInteger,
9
+ nativeAttrs,
10
+ useComponentHost,
11
+ useReflectedProp,
12
+ } from './host'
17
13
  import { acceptsControllerWrite } from './props'
18
14
  import { checkedProp, propValidityState, vPropValidity } from './props'
19
15
  import UiIcon from './UiIcon.vue'
@@ -223,38 +219,7 @@ void checkedProps.value
223
219
  watchSyncEffect(() => {
224
220
  void checkedProps.value
225
221
  })
226
- function nativeAttrs(attrs: Record<string, unknown>): Record<string, unknown> {
227
- const names = Object.keys(attrs)
228
- if (!names.some((name) => Object.hasOwn(Object.prototype, name))) return attrs
229
- return Object.fromEntries(names.map((name) => [
230
- Object.hasOwn(Object.prototype, name)
231
- ? name === '__proto__' ? '__Proto__' : name[0]!.toUpperCase() + name.slice(1)
232
- : name,
233
- attrs[name],
234
- ]))
235
- }
236
- const componentInstance = getCurrentInstance()
237
- function reflectedProp(
238
- name: string,
239
- kebab: string,
240
- value: unknown,
241
- fallback: string | undefined,
242
- bound: boolean,
243
- separator?: string,
244
- ): string | undefined {
245
- const incoming = componentInstance?.vnode.props
246
- if (
247
- !bound
248
- && (incoming === null || incoming === undefined
249
- || (!Object.hasOwn(incoming, name) && !Object.hasOwn(incoming, kebab)))
250
- ) return fallback
251
- if (value === null || value === undefined) return undefined
252
- return Array.isArray(value) && separator !== undefined
253
- ? value.join(separator)
254
- : typeof value === 'object'
255
- ? JSON.stringify(value)
256
- : String(value)
257
- }
222
+ const reflectedProp = useReflectedProp()
258
223
  const hydrationInstance = getCurrentInstance()
259
224
  const emit = defineEmits<{
260
225
  highlight: [event: CustomEvent<{ readonly index: number; readonly value: string }>]
@@ -266,36 +231,10 @@ const emptyElement = useTemplateRef<HTMLElement>('emptyElement')
266
231
  const visible = ref(false)
267
232
  const active = ref(0)
268
233
  const rows = ref<{ value: string; title: string; description: string; icon: string }[]>([])
269
- let guardedPrevious: any
270
- const guarded = computed(() => {
271
- if (
272
- !(htmlNextAuthoredCheck2(
273
- visible.value == null || typeof visible.value === 'boolean',
274
- 'not $visible:visible',
275
- './components/ui-editor-slash-menu/ui-editor-slash-menu.html: HR007: Reference visible does not satisfy its declared type.',
276
- ))
277
- ) return guardedPrevious
278
- return guardedPrevious = !visible.value
279
- })
280
234
  provide('html-next:ui-editor-slash-menu:visible', visible)
281
235
  provide('html-next:ui-editor-slash-menu:active', active)
282
236
  provide('html-next:ui-editor-slash-menu:rows', rows)
283
- const hydrationNode = hydrationInstance?.vnode.el
284
- if (
285
- typeof window !== 'undefined' && hydrationNode != null
286
- && (!(hydrationNode instanceof Element) || hydrationNode.localName !== ('div'))
287
- ) {
288
- throw Object.assign(
289
- new Error('HR005: Server markup for <ui-editor-slash-menu> has an incompatible root.'),
290
- {
291
- name: 'HtmlDiagnosticError',
292
- diagnostic: Object.freeze({
293
- code: 'HR005',
294
- message: 'Server markup for <ui-editor-slash-menu> has an incompatible root.',
295
- }),
296
- },
297
- )
298
- }
237
+ checkHydratedRoot('div', 'ui-editor-slash-menu')
299
238
 
300
239
  const isHighlightDetail = (
301
240
  detail: unknown,
@@ -357,10 +296,10 @@ useComponentHost(() => import('../components/ui-editor-slash-menu/ui-editor-slas
357
296
 
358
297
  <template>
359
298
  <div
360
- data-component="ui-editor-slash-menu"
299
+ class="ui-editor-slash-menu"
361
300
  role="listbox"
362
301
  v-bind="nativeAttrs($attrs)"
363
- :hidden="guarded"
302
+ :hidden="!visible"
364
303
  v-prop-validity="{ contract: propValidityContract, values: { ...props } }"
365
304
  :data-anchor-rect="reflectedProp('anchorRect', 'anchor-rect', checkedProps.anchorRect, undefined, false)"
366
305
  :data-items="reflectedProp('items', 'items', checkedProps.items, undefined, false)"
@@ -382,7 +321,7 @@ useComponentHost(() => import('../components/ui-editor-slash-menu/ui-editor-slas
382
321
  :data-value="item.value"
383
322
  :class="{ active: index === active }"
384
323
  >
385
- <span class="icon" aria-hidden="true"><UiIcon :name="item.icon" /></span>
324
+ <span class="icon" aria-hidden="true"><UiIcon class="ui-icon" :name="item.icon" /></span>
386
325
  <span class="body"><span class="title">{{ item.title }}</span>
387
326
  <span class="description">{{ item.description }}</span></span>
388
327
  </li>
@@ -394,188 +333,168 @@ useComponentHost(() => import('../components/ui-editor-slash-menu/ui-editor-slas
394
333
  </template>
395
334
 
396
335
  <style scoped>
397
- [data-component~="ui-editor-slash-menu"][popover] {
398
- position: fixed;
399
- inset: auto;
400
- margin: 0;
401
- }
402
-
403
- [data-component~="ui-editor-slash-menu"] {
404
- user-select: none;
405
- }
406
-
407
- [data-component~="ui-editor-slash-menu"] {
408
- background: var(--ui-surface);
409
- border: var(--ui-border-width) solid var(--ui-border-strong);
410
- border-radius: var(--ui-radius-dialog);
411
- box-shadow: var(--ui-shadow-lg, 0 8px 24px rgb(0 0 0 / 0.12));
412
- overflow: hidden;
413
- display: flex;
414
- flex-direction: column;
415
- }
416
-
417
- @media (max-width: 767px) {
418
- [data-component~="ui-editor-slash-menu"] {
419
- border-radius: var(--ui-radius-dialog) var(--ui-radius-dialog) 0 0;
420
- border-bottom: none;
336
+ @scope (.ui-editor-slash-menu) to (.ui-icon) {
337
+ :scope:where(:scope):is([popover]) {
338
+ position: fixed;
339
+ inset: auto;
340
+ margin: 0;
421
341
  }
422
- }
423
-
424
- .header {
425
- display: none;
426
- align-items: center;
427
- gap: var(--ui-space-2);
428
- padding: var(--ui-space-3) var(--ui-space-4);
429
- border-bottom: var(--ui-border-width) solid var(--ui-border-divider);
430
- font-size: var(--ui-font-size-xs);
431
- color: var(--ui-text-muted);
432
- font-weight: var(--ui-font-semibold);
433
- text-transform: uppercase;
434
- letter-spacing: 0.05em;
435
- }
436
-
437
- [data-component~="ui-editor-slash-menu"] > .header:empty,
438
- [data-component~="ui-editor-slash-menu"] > .footer:empty,
439
- [data-component~="ui-editor-slash-menu"] > .empty:empty {
440
- display: none;
441
- }
442
-
443
- .empty {
444
- padding: var(--ui-space-3);
445
- color: var(--ui-text-muted);
446
- font-size: var(--ui-font-size-sm);
447
- }
448
-
449
- @media (max-width: 767px) {
450
- .header {
342
+ :scope:where(:scope) {
343
+ user-select: none;
344
+ }
345
+ :scope:where(:scope) {
346
+ background: var(--ui-surface);
347
+ border: var(--ui-border-width) solid var(--ui-border-strong);
348
+ border-radius: var(--ui-radius-dialog);
349
+ box-shadow: var(--ui-shadow-lg, 0 8px 24px rgb(0 0 0 / 0.12));
350
+ overflow: hidden;
451
351
  display: flex;
352
+ flex-direction: column;
353
+ }
354
+ @media (max-width: 767px) {
355
+ :scope:where(:scope) {
356
+ border-radius: var(--ui-radius-dialog) var(--ui-radius-dialog) 0 0;
357
+ border-bottom: none;
358
+ }
359
+ }
360
+ .header {
361
+ display: none;
362
+ align-items: center;
363
+ gap: var(--ui-space-2);
364
+ padding: var(--ui-space-3) var(--ui-space-4);
365
+ border-bottom: var(--ui-border-width) solid var(--ui-border-divider);
366
+ font-size: var(--ui-font-size-xs);
367
+ color: var(--ui-text-muted);
368
+ font-weight: var(--ui-font-semibold);
369
+ text-transform: uppercase;
370
+ letter-spacing: 0.05em;
371
+ }
372
+ :scope > .header:empty, :scope > .footer:empty, :scope > .empty:empty {
373
+ display: none;
374
+ }
375
+ .empty {
376
+ padding: var(--ui-space-3);
377
+ color: var(--ui-text-muted);
378
+ font-size: var(--ui-font-size-sm);
379
+ }
380
+ @media (max-width: 767px) {
381
+ .header {
382
+ display: flex;
383
+ }
452
384
  }
453
- }
454
-
455
- .list {
456
- list-style: none;
457
- margin: 0;
458
- padding: var(--ui-space-1) 0;
459
- overflow-y: auto;
460
- max-height: 280px;
461
- overscroll-behavior: contain;
462
- /* Each edge that hides content fades: the scroll fade every Looma scroller uses (see ui-scroll-area). */
463
- --_ui-scroll-fade-direction: to bottom;
464
- --_ui-scroll-fade-size: var(--ui-scroll-fade-size, 24px);
465
- mask-image: linear-gradient(
466
- var(--_ui-scroll-fade-direction),
467
- transparent,
468
- #000 var(--_ui-scroll-fade-start),
469
- #000 calc(100% - var(--_ui-scroll-fade-end)),
470
- transparent
471
- );
472
- animation:
473
- ui-scroll-fade-start linear,
474
- ui-scroll-fade-start-hold linear,
475
- ui-scroll-fade-end-hold linear,
476
- ui-scroll-fade-end linear;
477
- animation-timeline: scroll(self block);
478
- animation-range:
479
- 0 var(--_ui-scroll-fade-size),
480
- var(--_ui-scroll-fade-size) calc(100% + 1px),
481
- -1px calc(100% - var(--_ui-scroll-fade-size)),
482
- calc(100% - var(--_ui-scroll-fade-size)) 100%;
483
- }
484
-
485
- @media (max-width: 767px) {
486
385
  .list {
487
- max-height: calc(60dvh - 80px);
488
- padding: var(--ui-space-1) 0 var(--ui-space-2);
386
+ list-style: none;
387
+ margin: 0;
388
+ padding: var(--ui-space-1) 0;
389
+ overflow-y: auto;
390
+ max-height: 280px;
391
+ overscroll-behavior: contain;
392
+ /* Each edge that hides content fades: the scroll fade every Looma scroller uses (see ui-scroll-area). */
393
+ --_ui-scroll-fade-direction: to bottom;
394
+ --_ui-scroll-fade-size: var(--ui-scroll-fade-size, 24px);
395
+ mask-image: linear-gradient(
396
+ var(--_ui-scroll-fade-direction),
397
+ transparent,
398
+ #000 var(--_ui-scroll-fade-start),
399
+ #000 calc(100% - var(--_ui-scroll-fade-end)),
400
+ transparent
401
+ );
402
+ animation:
403
+ ui-scroll-fade-start linear,
404
+ ui-scroll-fade-start-hold linear,
405
+ ui-scroll-fade-end-hold linear,
406
+ ui-scroll-fade-end linear;
407
+ animation-timeline: scroll(self block);
408
+ animation-range:
409
+ 0 var(--_ui-scroll-fade-size),
410
+ var(--_ui-scroll-fade-size) calc(100% + 1px),
411
+ -1px calc(100% - var(--_ui-scroll-fade-size)),
412
+ calc(100% - var(--_ui-scroll-fade-size)) 100%;
413
+ }
414
+ @media (max-width: 767px) {
415
+ .list {
416
+ max-height: calc(60dvh - 80px);
417
+ padding: var(--ui-space-1) 0 var(--ui-space-2);
418
+ }
419
+ }
420
+ .item {
421
+ display: flex;
422
+ align-items: center;
423
+ gap: var(--ui-space-3);
424
+ padding: var(--ui-space-2) var(--ui-space-3);
425
+ min-height: 44px;
426
+ cursor: pointer;
427
+ transition: background-color 120ms ease;
428
+ }
429
+ .item.active {
430
+ background: var(--ui-accent-subtle, rgb(59 130 246 / 0.1));
431
+ }
432
+ .icon {
433
+ display: flex;
434
+ align-items: center;
435
+ justify-content: center;
436
+ width: 32px;
437
+ height: 32px;
438
+ background: var(--ui-surface-hover);
439
+ border: var(--ui-border-width) solid var(--ui-border);
440
+ border-radius: var(--ui-radius-md);
441
+ font-size: var(--ui-font-size-sm);
442
+ font-weight: var(--ui-font-bold);
443
+ color: var(--ui-text-secondary);
444
+ font-family: var(--ui-font-family-mono, ui-monospace, monospace);
445
+ flex-shrink: 0;
446
+ line-height: 1;
447
+ }
448
+ .item.active .icon {
449
+ background: var(--ui-accent);
450
+ border-color: var(--ui-accent);
451
+ color: var(--ui-accent-contrast);
452
+ }
453
+ .icon {
454
+ --_ui-default-icon-size: 1rem;
455
+ --_ui-default-icon-stroke-width: var(--ui-editor-toolbar-icon-stroke-width, 1.75);
456
+ }
457
+ .body {
458
+ display: flex;
459
+ min-width: 0;
460
+ flex-direction: column;
461
+ gap: 1px;
462
+ }
463
+ .title {
464
+ font-size: var(--ui-font-size-sm);
465
+ font-weight: var(--ui-font-medium);
466
+ color: var(--ui-text);
467
+ white-space: nowrap;
468
+ overflow: hidden;
469
+ text-overflow: ellipsis;
470
+ }
471
+ .description {
472
+ font-size: var(--ui-font-size-xs);
473
+ color: var(--ui-text-muted);
474
+ white-space: nowrap;
475
+ overflow: hidden;
476
+ text-overflow: ellipsis;
477
+ }
478
+ .footer {
479
+ padding: var(--ui-space-2) var(--ui-space-3);
480
+ border-top: var(--ui-border-width) solid var(--ui-border-divider);
481
+ font-size: var(--ui-font-size-xs);
482
+ color: var(--ui-text-muted);
483
+ }
484
+ :scope kbd {
485
+ display: inline-flex;
486
+ align-items: center;
487
+ justify-content: center;
488
+ font-family: var(--ui-font-family-mono, ui-monospace, monospace);
489
+ font-size: var(--ui-font-size-2xs);
490
+ background: var(--ui-surface-hover);
491
+ border: var(--ui-border-width) solid var(--ui-border);
492
+ border-radius: var(--ui-radius-sm);
493
+ padding: 0 3px;
494
+ color: var(--ui-text-secondary);
495
+ }
496
+ :scope:where(:scope):is([hidden]) {
497
+ display: none;
489
498
  }
490
- }
491
-
492
- .item {
493
- display: flex;
494
- align-items: center;
495
- gap: var(--ui-space-3);
496
- padding: var(--ui-space-2) var(--ui-space-3);
497
- min-height: 44px;
498
- cursor: pointer;
499
- transition: background-color 120ms ease;
500
- }
501
-
502
- .item.active {
503
- background: var(--ui-accent-subtle, rgb(59 130 246 / 0.1));
504
- }
505
-
506
- .icon {
507
- display: flex;
508
- align-items: center;
509
- justify-content: center;
510
- width: 32px;
511
- height: 32px;
512
- background: var(--ui-surface-hover);
513
- border: var(--ui-border-width) solid var(--ui-border);
514
- border-radius: var(--ui-radius-md);
515
- font-size: var(--ui-font-size-sm);
516
- font-weight: var(--ui-font-bold);
517
- color: var(--ui-text-secondary);
518
- font-family: var(--ui-font-family-mono, ui-monospace, monospace);
519
- flex-shrink: 0;
520
- line-height: 1;
521
- }
522
-
523
- .item.active .icon {
524
- background: var(--ui-accent);
525
- border-color: var(--ui-accent);
526
- color: var(--ui-accent-contrast);
527
- }
528
-
529
- .icon {
530
- --_ui-default-icon-size: 1rem;
531
- --_ui-default-icon-stroke-width: var(--ui-editor-toolbar-icon-stroke-width, 1.75);
532
- }
533
-
534
- .body {
535
- display: flex;
536
- min-width: 0;
537
- flex-direction: column;
538
- gap: 1px;
539
- }
540
-
541
- .title {
542
- font-size: var(--ui-font-size-sm);
543
- font-weight: var(--ui-font-medium);
544
- color: var(--ui-text);
545
- white-space: nowrap;
546
- overflow: hidden;
547
- text-overflow: ellipsis;
548
- }
549
-
550
- .description {
551
- font-size: var(--ui-font-size-xs);
552
- color: var(--ui-text-muted);
553
- white-space: nowrap;
554
- overflow: hidden;
555
- text-overflow: ellipsis;
556
- }
557
-
558
- .footer {
559
- padding: var(--ui-space-2) var(--ui-space-3);
560
- border-top: var(--ui-border-width) solid var(--ui-border-divider);
561
- font-size: var(--ui-font-size-xs);
562
- color: var(--ui-text-muted);
563
- }
564
-
565
- [data-component~="ui-editor-slash-menu"] kbd {
566
- display: inline-flex;
567
- align-items: center;
568
- justify-content: center;
569
- font-family: var(--ui-font-family-mono, ui-monospace, monospace);
570
- font-size: var(--ui-font-size-2xs);
571
- background: var(--ui-surface-hover);
572
- border: var(--ui-border-width) solid var(--ui-border);
573
- border-radius: var(--ui-radius-sm);
574
- padding: 0 3px;
575
- color: var(--ui-text-secondary);
576
- }
577
-
578
- [data-component~="ui-editor-slash-menu"][hidden] {
579
- display: none;
580
499
  }
581
500
  </style>
@@ -1,7 +1,8 @@
1
- <!-- Generated by HTML Next 1.0.0-alpha.35 for Vue 3.5. Do not edit. -->
1
+ <!-- Generated by HTML Next 1.0.0-alpha.51 for Vue 3.5. Do not edit. -->
2
2
  <script setup lang="ts">
3
- import { computed, getCurrentInstance, watchSyncEffect } from 'vue'
3
+ import { computed, watchSyncEffect } from 'vue'
4
4
  import type { PropType } from 'vue'
5
+ import { checkHydratedRoot, nativeAttrs, useReflectedProp } from './host'
5
6
  import { checkedProp, vPropValidity } from './props'
6
7
 
7
8
  defineOptions({ inheritAttrs: false })
@@ -34,61 +35,14 @@ void checkedProps.value
34
35
  watchSyncEffect(() => {
35
36
  void checkedProps.value
36
37
  })
37
- function nativeAttrs(attrs: Record<string, unknown>): Record<string, unknown> {
38
- const names = Object.keys(attrs)
39
- if (!names.some((name) => Object.hasOwn(Object.prototype, name))) return attrs
40
- return Object.fromEntries(names.map((name) => [
41
- Object.hasOwn(Object.prototype, name)
42
- ? name === '__proto__' ? '__Proto__' : name[0]!.toUpperCase() + name.slice(1)
43
- : name,
44
- attrs[name],
45
- ]))
46
- }
47
- const componentInstance = getCurrentInstance()
48
- function reflectedProp(
49
- name: string,
50
- kebab: string,
51
- value: unknown,
52
- fallback: string | undefined,
53
- bound: boolean,
54
- separator?: string,
55
- ): string | undefined {
56
- const incoming = componentInstance?.vnode.props
57
- if (
58
- !bound
59
- && (incoming === null || incoming === undefined
60
- || (!Object.hasOwn(incoming, name) && !Object.hasOwn(incoming, kebab)))
61
- ) return fallback
62
- if (value === null || value === undefined) return undefined
63
- return Array.isArray(value) && separator !== undefined
64
- ? value.join(separator)
65
- : typeof value === 'object'
66
- ? JSON.stringify(value)
67
- : String(value)
68
- }
69
- const hydrationInstance = getCurrentInstance()
38
+ const reflectedProp = useReflectedProp()
70
39
 
71
- const hydrationNode = hydrationInstance?.vnode.el
72
- if (
73
- typeof window !== 'undefined' && hydrationNode != null
74
- && (!(hydrationNode instanceof Element) || hydrationNode.localName !== ('li'))
75
- ) {
76
- throw Object.assign(
77
- new Error('HR005: Server markup for <ui-editor-slash-menu-group> has an incompatible root.'),
78
- {
79
- name: 'HtmlDiagnosticError',
80
- diagnostic: Object.freeze({
81
- code: 'HR005',
82
- message: 'Server markup for <ui-editor-slash-menu-group> has an incompatible root.',
83
- }),
84
- },
85
- )
86
- }
40
+ checkHydratedRoot('li', 'ui-editor-slash-menu-group')
87
41
  </script>
88
42
 
89
43
  <template>
90
44
  <li
91
- data-component="ui-editor-slash-menu-group"
45
+ class="ui-editor-slash-menu-group"
92
46
  role="presentation"
93
47
  v-bind="nativeAttrs($attrs)"
94
48
  v-prop-validity="{ contract: propValidityContract, values: { ...props } }"
@@ -102,22 +56,24 @@ if (
102
56
  </template>
103
57
 
104
58
  <style scoped>
105
- [data-component~="ui-editor-slash-menu-group"] {
106
- display: block;
107
- list-style: none;
108
- }
109
- .heading {
110
- padding: var(--ui-space-2) var(--ui-space-3) var(--ui-space-1);
111
- color: var(--ui-text-muted);
112
- font-size: var(--ui-font-size-xs);
113
- font-weight: var(--ui-font-semibold);
114
- }
115
- ul {
116
- margin: 0;
117
- padding: 0;
118
- list-style: none;
119
- }
120
- [data-component~="ui-editor-slash-menu-group"][hidden] {
121
- display: none;
59
+ @scope (.ui-editor-slash-menu-group) {
60
+ :scope:where(:scope) {
61
+ display: block;
62
+ list-style: none;
63
+ }
64
+ .heading {
65
+ padding: var(--ui-space-2) var(--ui-space-3) var(--ui-space-1);
66
+ color: var(--ui-text-muted);
67
+ font-size: var(--ui-font-size-xs);
68
+ font-weight: var(--ui-font-semibold);
69
+ }
70
+ ul {
71
+ margin: 0;
72
+ padding: 0;
73
+ list-style: none;
74
+ }
75
+ :scope:where(:scope):is([hidden]) {
76
+ display: none;
77
+ }
122
78
  }
123
79
  </style>