@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,20 +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
5
  import { vBindControl } from './control'
17
- import { createDispatch, useComponentHost } from './host'
6
+ import {
7
+ checkHydratedRoot,
8
+ createDispatch,
9
+ nativeAttrs,
10
+ useComponentHost,
11
+ useReflectedProp,
12
+ } from './host'
18
13
  import { acceptsControllerWrite } from './props'
19
14
  import { checkedProp, propValidityState, vPropValidity } from './props'
20
15
 
@@ -213,38 +208,7 @@ void checkedProps.value
213
208
  watchSyncEffect(() => {
214
209
  void checkedProps.value
215
210
  })
216
- function nativeAttrs(attrs: Record<string, unknown>): Record<string, unknown> {
217
- const names = Object.keys(attrs)
218
- if (!names.some((name) => Object.hasOwn(Object.prototype, name))) return attrs
219
- return Object.fromEntries(names.map((name) => [
220
- Object.hasOwn(Object.prototype, name)
221
- ? name === '__proto__' ? '__Proto__' : name[0]!.toUpperCase() + name.slice(1)
222
- : name,
223
- attrs[name],
224
- ]))
225
- }
226
- const componentInstance = getCurrentInstance()
227
- function reflectedProp(
228
- name: string,
229
- kebab: string,
230
- value: unknown,
231
- fallback: string | undefined,
232
- bound: boolean,
233
- separator?: string,
234
- ): string | undefined {
235
- const incoming = componentInstance?.vnode.props
236
- if (
237
- !bound
238
- && (incoming === null || incoming === undefined
239
- || (!Object.hasOwn(incoming, name) && !Object.hasOwn(incoming, kebab)))
240
- ) return fallback
241
- if (value === null || value === undefined) return undefined
242
- return Array.isArray(value) && separator !== undefined
243
- ? value.join(separator)
244
- : typeof value === 'object'
245
- ? JSON.stringify(value)
246
- : String(value)
247
- }
211
+ const reflectedProp = useReflectedProp()
248
212
  const hydrationInstance = getCurrentInstance()
249
213
  const emit = defineEmits<{
250
214
  'update:edit': [value: boolean]
@@ -286,58 +250,10 @@ const inputElement = useTemplateRef<HTMLElement>('inputElement')
286
250
  const internalEdit = ref(false)
287
251
  const internalValue = ref('')
288
252
  const draft = ref('')
289
- let guardedPrevious: any
290
- const guarded = computed(() => {
291
- if (
292
- !(htmlNextAuthoredCheck2(
293
- internalValue.value == null || typeof internalValue.value === 'string',
294
- '$internalValue:internalValue',
295
- './components/ui-editable/ui-editable.html: HR007: Reference internalValue does not satisfy its declared type.',
296
- ))
297
- ) return guardedPrevious
298
- return guardedPrevious = internalValue.value
299
- })
300
- let guardedBindingPrevious: any
301
- const guardedBinding = computed(() => {
302
- if (
303
- !(htmlNextAuthoredCheck2(
304
- draft.value == null || typeof draft.value === 'string',
305
- '$draft:draft',
306
- './components/ui-editable/ui-editable.html: HR007: Reference draft does not satisfy its declared type.',
307
- ))
308
- ) return guardedBindingPrevious
309
- return guardedBindingPrevious = draft.value
310
- })
311
- let guardedBinding2Previous: any
312
- const guardedBinding2 = computed(() => {
313
- if (
314
- !(htmlNextAuthoredCheck2(
315
- internalEdit.value == null || typeof internalEdit.value === 'boolean',
316
- '$disabled or not $internalEdit:internalEdit',
317
- './components/ui-editable/ui-editable.html: HR007: Reference internalEdit does not satisfy its declared type.',
318
- ))
319
- ) return guardedBinding2Previous
320
- return guardedBinding2Previous = checkedProps.value.disabled || !internalEdit.value
321
- })
322
253
  provide('html-next:ui-editable:internalEdit', internalEdit)
323
254
  provide('html-next:ui-editable:internalValue', internalValue)
324
255
  provide('html-next:ui-editable:draft', draft)
325
- const hydrationNode = hydrationInstance?.vnode.el
326
- if (
327
- typeof window !== 'undefined' && hydrationNode != null
328
- && (!(hydrationNode instanceof Element) || hydrationNode.localName !== ('div'))
329
- ) {
330
- throw Object.assign(
331
- new Error('HR005: Server markup for <ui-editable> has an incompatible root.'),
332
- {
333
- name: 'HtmlDiagnosticError',
334
- diagnostic: Object.freeze({
335
- code: 'HR005',
336
- message: 'Server markup for <ui-editable> has an incompatible root.',
337
- }),
338
- },
339
- )
340
- }
256
+ checkHydratedRoot('div', 'ui-editable')
341
257
 
342
258
  /** The values the styles' :host-state() rules test. */
343
259
  const hostState = computed(() =>
@@ -436,7 +352,7 @@ useComponentHost(() => import('../components/ui-editable/ui-editable.js'), {
436
352
 
437
353
  <template>
438
354
  <div
439
- data-component="ui-editable"
355
+ class="ui-editable"
440
356
  v-bind="nativeAttrs($attrs)"
441
357
  v-prop-validity="{ contract: propValidityContract, values: { ...props } }"
442
358
  :data-actions="reflectedProp('actions', 'actions', checkedProps.actions, undefined, false)"
@@ -460,7 +376,7 @@ useComponentHost(() => import('../components/ui-editable/ui-editable.js'), {
460
376
  :disabled="checkedProps.disabled ?? undefined"
461
377
  ref="previewElement"
462
378
  >
463
- <span class="text">{{ guarded }}</span>
379
+ <span class="text">{{ internalValue }}</span>
464
380
  <span v-if="checkedProps.hint" class="hint" aria-hidden="true">{{
465
381
  checkedProps.hint
466
382
  }}</span>
@@ -472,7 +388,7 @@ useComponentHost(() => import('../components/ui-editable/ui-editable.js'), {
472
388
  :aria-label="checkedProps.label ?? undefined"
473
389
  :placeholder="checkedProps.placeholder ?? undefined"
474
390
  :required="checkedProps.required ?? undefined"
475
- :disabled="guardedBinding2"
391
+ :disabled="checkedProps.disabled || !internalEdit"
476
392
  ref="inputElement"
477
393
  >
478
394
  </div>
@@ -484,132 +400,133 @@ useComponentHost(() => import('../components/ui-editable/ui-editable.js'), {
484
400
  </template>
485
401
 
486
402
  <style scoped>
487
- [data-component~="ui-editable"] {
488
- display: flex;
489
- flex-wrap: wrap;
490
- align-items: center;
491
- gap: var(--ui-space-2);
492
- min-inline-size: 0;
493
- color: var(--ui-text-primary);
494
- }
495
-
496
403
  /* The value and the input share one grid cell with identical box metrics, so switching between
497
404
  * display and edit never changes the control's size or moves the text. */
498
- .field {
499
- display: inline-grid;
500
- min-inline-size: 8rem;
501
- max-inline-size: 100%;
502
- }
503
405
 
504
- .preview,
505
- .input {
506
- grid-area: 1 / 1;
507
- box-sizing: border-box;
508
- min-block-size: var(--ui-control-size-sm);
509
- margin: 0;
510
- padding: var(--ui-space-1) var(--ui-space-2);
511
- border: var(--ui-border-width) solid transparent;
512
- border-radius: var(--ui-radius-md);
513
- font: inherit;
514
- line-height: var(--ui-line-height-md);
515
- color: inherit;
516
- transition:
517
- background-color var(--ui-motion-fast) var(--ui-motion-ease),
518
- border-color var(--ui-motion-fast) var(--ui-motion-ease),
519
- box-shadow var(--ui-motion-fast) var(--ui-motion-ease);
520
- }
406
+ /* Contained so it takes the value's width instead of its own default input width. */
521
407
 
522
- .preview {
523
- display: inline-flex;
524
- gap: var(--ui-space-2);
525
- align-items: center;
526
- background: transparent;
527
- text-align: start;
528
- cursor: pointer;
529
- }
408
+ /* A component that sets its display still honours the hidden attribute on its root. */
530
409
 
531
- .preview:hover:not(:disabled) {
532
- background: var(--ui-surface-muted);
533
- }
410
+ @scope (.ui-editable) {
411
+ :scope:where(:scope) {
412
+ display: flex;
413
+ flex-wrap: wrap;
414
+ align-items: center;
415
+ gap: var(--ui-space-2);
416
+ min-inline-size: 0;
417
+ color: var(--ui-text-primary);
418
+ }
419
+ .field {
420
+ display: inline-grid;
421
+ min-inline-size: 8rem;
422
+ max-inline-size: 100%;
423
+ }
534
424
 
535
- .preview:focus-visible {
536
- outline: none;
537
- box-shadow: var(--ui-focus-halo);
538
- }
425
+ .preview, .input {
426
+ grid-area: 1 / 1;
427
+ box-sizing: border-box;
428
+ min-block-size: var(--ui-control-size-sm);
429
+ margin: 0;
430
+ padding: var(--ui-space-1) var(--ui-space-2);
431
+ border: var(--ui-border-width) solid transparent;
432
+ border-radius: var(--ui-radius-md);
433
+ font: inherit;
434
+ line-height: var(--ui-line-height-md);
435
+ color: inherit;
436
+ transition:
437
+ background-color var(--ui-motion-fast) var(--ui-motion-ease),
438
+ border-color var(--ui-motion-fast) var(--ui-motion-ease),
439
+ box-shadow var(--ui-motion-fast) var(--ui-motion-ease);
440
+ }
539
441
 
540
- .hint {
541
- color: var(--ui-text-secondary);
542
- font-size: var(--ui-font-size-sm);
543
- }
442
+ .preview {
443
+ display: inline-flex;
444
+ gap: var(--ui-space-2);
445
+ align-items: center;
446
+ background: transparent;
447
+ text-align: start;
448
+ cursor: pointer;
449
+ }
544
450
 
545
- /* Contained so it takes the value's width instead of its own default input width. */
546
- .input {
547
- contain: inline-size;
548
- inline-size: 100%;
549
- min-inline-size: 0;
550
- visibility: hidden;
551
- background: var(--ui-control-surface, var(--ui-surface-elevated));
552
- }
451
+ .preview:hover:not(:disabled) {
452
+ background: var(--ui-surface-muted);
453
+ }
553
454
 
554
- .input:focus {
555
- outline: none;
556
- border-color: var(--ui-control-focus, var(--ui-accent-solid));
557
- box-shadow:
558
- var(--ui-control-inset),
559
- var(--ui-control-focus-halo-shadow);
560
- }
455
+ .preview:focus-visible {
456
+ outline: none;
457
+ box-shadow: var(--ui-focus-halo);
458
+ }
561
459
 
562
- .input::selection {
563
- background: color-mix(in srgb, var(--ui-accent-solid) 20%, transparent);
564
- }
460
+ .hint {
461
+ color: var(--ui-text-secondary);
462
+ font-size: var(--ui-font-size-sm);
463
+ }
464
+ .input {
465
+ contain: inline-size;
466
+ inline-size: 100%;
467
+ min-inline-size: 0;
468
+ visibility: hidden;
469
+ background: var(--ui-control-surface, var(--ui-surface-elevated));
470
+ }
565
471
 
566
- [data-component~="ui-editable"][data-ui-editable-state~="internalEdit"] .preview {
567
- visibility: hidden;
568
- }
569
- [data-component~="ui-editable"][data-ui-editable-state~="internalEdit"] .input {
570
- visibility: visible;
571
- }
472
+ .input:focus {
473
+ outline: none;
474
+ border-color: var(--ui-control-focus, var(--ui-accent-solid));
475
+ box-shadow:
476
+ var(--ui-control-inset),
477
+ var(--ui-control-focus-halo-shadow);
478
+ }
572
479
 
573
- .actions {
574
- display: none;
575
- gap: var(--ui-space-1);
576
- }
577
- [data-component~="ui-editable"][data-ui-editable-state~="internalEdit"] .actions {
578
- display: inline-flex;
579
- }
480
+ .input::selection {
481
+ background: color-mix(in srgb, var(--ui-accent-solid) 20%, transparent);
482
+ }
580
483
 
581
- .actions button {
582
- min-block-size: var(--ui-control-size-sm);
583
- padding: 0 var(--ui-space-3);
584
- border: var(--ui-border-width) solid var(--ui-border-strong);
585
- border-radius: var(--ui-radius-md);
586
- background: var(--ui-surface-elevated);
587
- background-image: var(--ui-raised-highlight);
588
- box-shadow: var(--ui-raised);
589
- color: inherit;
590
- font: inherit;
591
- font-size: var(--ui-font-size-sm);
592
- cursor: pointer;
593
- }
484
+ :scope[data-ui-editable-state~="internalEdit"] .preview {
485
+ visibility: hidden;
486
+ }
487
+ :scope[data-ui-editable-state~="internalEdit"] .input {
488
+ visibility: visible;
489
+ }
594
490
 
595
- .actions .save {
596
- border-color: var(--ui-accent-solid);
597
- background: var(--ui-accent-solid);
598
- color: var(--ui-text-on-accent);
599
- }
491
+ .actions {
492
+ display: none;
493
+ gap: var(--ui-space-1);
494
+ }
495
+ :scope[data-ui-editable-state~="internalEdit"] .actions {
496
+ display: inline-flex;
497
+ }
600
498
 
601
- .actions button:focus-visible {
602
- outline: none;
603
- box-shadow: var(--ui-focus-halo);
604
- }
499
+ .actions button {
500
+ min-block-size: var(--ui-control-size-sm);
501
+ padding: 0 var(--ui-space-3);
502
+ border: var(--ui-border-width) solid var(--ui-border-strong);
503
+ border-radius: var(--ui-radius-md);
504
+ background: var(--ui-surface-elevated);
505
+ background-image: var(--ui-raised-highlight);
506
+ box-shadow: var(--ui-raised);
507
+ color: inherit;
508
+ font: inherit;
509
+ font-size: var(--ui-font-size-sm);
510
+ cursor: pointer;
511
+ }
605
512
 
606
- [data-component~="ui-editable"][data-ui-editable-state~="disabled"] .preview {
607
- color: var(--ui-disabled-text);
608
- cursor: not-allowed;
609
- }
513
+ .actions .save {
514
+ border-color: var(--ui-accent-solid);
515
+ background: var(--ui-accent-solid);
516
+ color: var(--ui-text-on-accent);
517
+ }
610
518
 
611
- /* A component that sets its display still honours the hidden attribute on its root. */
612
- [data-component~="ui-editable"][hidden] {
613
- display: none;
519
+ .actions button:focus-visible {
520
+ outline: none;
521
+ box-shadow: var(--ui-focus-halo);
522
+ }
523
+
524
+ :scope[data-ui-editable-state~="disabled"] .preview {
525
+ color: var(--ui-disabled-text);
526
+ cursor: not-allowed;
527
+ }
528
+ :scope:where(:scope):is([hidden]) {
529
+ display: none;
530
+ }
614
531
  }
615
532
  </style>
@@ -0,0 +1,33 @@
1
+ import type { PropType } from 'vue';
2
+ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
3
+ for: {
4
+ type: PropType<string | null>;
5
+ default: string;
6
+ };
7
+ placement: {
8
+ type: PropType<"bottom-start" | "top-start" | null>;
9
+ default: string;
10
+ };
11
+ }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
12
+ action: (event: CustomEvent<{
13
+ readonly action: "insert-below" | "duplicate" | "delete";
14
+ }>) => any;
15
+ }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
16
+ for: {
17
+ type: PropType<string | null>;
18
+ default: string;
19
+ };
20
+ placement: {
21
+ type: PropType<"bottom-start" | "top-start" | null>;
22
+ default: string;
23
+ };
24
+ }>> & Readonly<{
25
+ onAction?: ((event: CustomEvent<{
26
+ readonly action: "insert-below" | "duplicate" | "delete";
27
+ }>) => any) | undefined;
28
+ }>, {
29
+ for: string | null;
30
+ placement: "top-start" | "bottom-start" | null;
31
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
32
+ declare const _default: typeof __VLS_export;
33
+ export default _default;
@@ -0,0 +1,2 @@
1
+ import { t as UiEditorBlockActions_default } from "./chunks/UiEditorBlockActions.js";
2
+ export { UiEditorBlockActions_default as default };
@@ -0,0 +1,125 @@
1
+ <!-- Generated by HTML Next 1.0.0-alpha.51 for Vue 3.5. Do not edit. -->
2
+ <script setup lang="ts">
3
+ import { computed, getCurrentInstance, ref, watchSyncEffect } from 'vue'
4
+ import type { PropType } from 'vue'
5
+ import {
6
+ checkHydratedRoot,
7
+ createDispatch,
8
+ nativeAttrs,
9
+ useComponentHost,
10
+ useReflectedProp,
11
+ } from './host'
12
+ import { checkedProp, propValidityState, vPropValidity } from './props'
13
+ import UiMenu from './UiMenu.vue'
14
+ import UiMenuItem from './UiMenuItem.vue'
15
+
16
+ defineOptions({ inheritAttrs: false })
17
+
18
+ const propValidityContract = {
19
+ props: {
20
+ for: {
21
+ type: { kind: 'terminal', name: 'string' },
22
+ required: false,
23
+ target: { attribute: 'for' },
24
+ description: 'The id of the button that opens the menu and anchors it.',
25
+ default: '',
26
+ },
27
+ placement: {
28
+ type: { kind: 'terminal', name: 'keyword' },
29
+ required: false,
30
+ target: { attribute: 'placement' },
31
+ description:
32
+ 'Where the menu opens beside its button; top-start suits a toolbar docked at the bottom of the screen.',
33
+ values: ['bottom-start', 'top-start'],
34
+ default: 'bottom-start',
35
+ },
36
+ },
37
+ } as const
38
+ const props = defineProps({
39
+ for: { type: null as unknown as PropType<string | null>, default: '' },
40
+ placement: {
41
+ type: null as unknown as PropType<'bottom-start' | 'top-start' | null>,
42
+ default: 'bottom-start',
43
+ },
44
+ })
45
+ const acceptedProps: Record<string, unknown> = { for: '', placement: 'bottom-start' }
46
+ const checkedProps = computed(() => ({
47
+ for: checkedProp<string>(
48
+ props['for'],
49
+ { kind: 'terminal', name: 'string' },
50
+ false,
51
+ 'for',
52
+ acceptedProps,
53
+ ) as string,
54
+ placement: checkedProp<'bottom-start' | 'top-start'>(
55
+ props['placement'],
56
+ { kind: 'terminal', name: 'keyword' },
57
+ false,
58
+ 'placement',
59
+ acceptedProps,
60
+ ) as 'bottom-start' | 'top-start',
61
+ }))
62
+ void checkedProps.value
63
+ watchSyncEffect(() => {
64
+ void checkedProps.value
65
+ })
66
+ const reflectedProp = useReflectedProp()
67
+ const hydrationInstance = getCurrentInstance()
68
+ const emit = defineEmits<{
69
+ action: [event: CustomEvent<{ readonly action: 'insert-below' | 'duplicate' | 'delete' }>]
70
+ }>()
71
+
72
+ const root = ref<HTMLElement | null>(null)
73
+ checkHydratedRoot('div', 'ui-editor-block-actions')
74
+
75
+ const isActionDetail = (
76
+ detail: unknown,
77
+ ): boolean => (detail !== null && typeof detail === 'object' && !Array.isArray(detail)
78
+ && ((detail as Record<string, unknown>)['action'] === 'insert-below'
79
+ || (detail as Record<string, unknown>)['action'] === 'duplicate'
80
+ || (detail as Record<string, unknown>)['action'] === 'delete')
81
+ && Object.keys(detail as object).every((key) => ['action'].includes(key)))
82
+ const dispatch = createDispatch(root, emit as (name: string, detail: unknown) => void, {
83
+ checks: {
84
+ action: isActionDetail,
85
+ },
86
+ })
87
+
88
+ useComponentHost(() => import('../components/ui-editor-block-actions/ui-editor-block-actions.js'), {
89
+ root,
90
+ dispatch,
91
+ controllerSource: {
92
+ specifier: '../components/ui-editor-block-actions/ui-editor-block-actions.js',
93
+ definition: './components/ui-editor-block-actions/ui-editor-block-actions.html',
94
+ },
95
+ props: checkedProps,
96
+ propInputs: (name: string) => {
97
+ const incoming = hydrationInstance?.vnode.props
98
+ const kebab = name.replace(/[A-Z]/g, (letter) => '-' + letter.toLowerCase())
99
+ return incoming !== null && incoming !== undefined
100
+ ? (incoming[name] ?? incoming[kebab] ?? null)
101
+ : null
102
+ },
103
+ propNames: ['for', 'placement'],
104
+ propValidity: (name: string) =>
105
+ propValidityState({ contract: propValidityContract, values: { ...props } }, name),
106
+ })
107
+ </script>
108
+
109
+ <template>
110
+ <div
111
+ v-bind="nativeAttrs($attrs)"
112
+ v-prop-validity="{ contract: propValidityContract, values: { ...props } }"
113
+ :data-for="reflectedProp('for', 'for', checkedProps.for, undefined, false)"
114
+ :data-placement="reflectedProp('placement', 'placement', checkedProps.placement, undefined, false)"
115
+ ref="root"
116
+ >
117
+ <UiMenu
118
+ aria-label="Block actions"
119
+ :for="checkedProps.for"
120
+ :placement="checkedProps.placement"
121
+ ><UiMenuItem value="insert-below">Insert paragraph below</UiMenuItem>
122
+ <UiMenuItem value="duplicate">Duplicate block</UiMenuItem>
123
+ <UiMenuItem value="delete">Delete block</UiMenuItem></UiMenu>
124
+ </div>
125
+ </template>
@@ -1,6 +1,4 @@
1
1
  import type { PropType } from 'vue';
2
- declare const _default: typeof __VLS_export;
3
- export default _default;
4
2
  declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
5
3
  alt: {
6
4
  type: PropType<string | null>;
@@ -52,3 +50,5 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
52
50
  target: string | null;
53
51
  placement: "center" | "block" | "wrap-left" | "wrap-right" | null;
54
52
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
53
+ declare const _default: typeof __VLS_export;
54
+ export default _default;