@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,8 +1,7 @@
1
- import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper.js";
2
- import { r as useComponentHost, t as createDispatch } from "./host.js";
1
+ import { _ as uniqueKeys, i as checkHydratedRoot, n as KeyedBoundary, o as createDispatch, p as nativeAttrs, t as _plugin_vue_export_helper_default, v as useComponentHost, y as useReflectedProp } from "./_plugin-vue_export-helper.js";
3
2
  import { a as vPropValidity, n as checkedProp, r as propValidityState, t as acceptsControllerWrite } from "./props.js";
4
3
  import { r as vBindControl } from "./control.js";
5
- import { Fragment, computed, createElementBlock, createElementVNode, createTextVNode, createVNode, defineComponent, getCurrentInstance, h, mergeProps, normalizeClass, normalizeStyle, openBlock, provide, ref, renderList, toDisplayString, unref, useTemplateRef, watchSyncEffect, withCtx, withDirectives } from "vue";
4
+ import { Fragment, computed, createElementBlock, createElementVNode, createTextVNode, createVNode, defineComponent, getCurrentInstance, mergeProps, normalizeClass, normalizeStyle, openBlock, provide, ref, renderList, toDisplayString, unref, useTemplateRef, watchSyncEffect, withCtx, withDirectives } from "vue";
6
5
  //#region .build/vue/UiEditorInsertTableGrid.vue?vue&type=script&setup=true&lang.ts
7
6
  var _hoisted_1 = [
8
7
  "hidden",
@@ -20,14 +19,6 @@ var _hoisted_3 = [
20
19
  "tabindex"
21
20
  ];
22
21
  var _hoisted_4 = { class: "header" };
23
- var htmlNextAuthoredCheck2Reported = /* @__PURE__ */ new Set();
24
- function htmlNextAuthoredCheck2(accepted, location, message) {
25
- if (!accepted && !htmlNextAuthoredCheck2Reported.has(location)) {
26
- htmlNextAuthoredCheck2Reported.add(location);
27
- console.warn(message);
28
- }
29
- return accepted;
30
- }
31
22
  //#endregion
32
23
  //#region .build/vue/UiEditorInsertTableGrid.vue
33
24
  var UiEditorInsertTableGrid_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
@@ -124,42 +115,7 @@ var UiEditorInsertTableGrid_default = /*#__PURE__*/ _plugin_vue_export_helper_de
124
115
  watchSyncEffect(() => {
125
116
  checkedProps.value;
126
117
  });
127
- function nativeAttrs(attrs) {
128
- const names = Object.keys(attrs);
129
- if (!names.some((name) => Object.hasOwn(Object.prototype, name))) return attrs;
130
- return Object.fromEntries(names.map((name) => [Object.hasOwn(Object.prototype, name) ? name === "__proto__" ? "__Proto__" : name[0].toUpperCase() + name.slice(1) : name, attrs[name]]));
131
- }
132
- const KeyedFailure = defineComponent({
133
- props: { error: {
134
- type: null,
135
- required: true
136
- } },
137
- setup(props) {
138
- return () => {
139
- throw props.error;
140
- };
141
- }
142
- });
143
- const KeyedBoundary = defineComponent({ setup(_props, { slots }) {
144
- let last = [];
145
- return () => {
146
- try {
147
- last = slots.default?.() ?? [];
148
- return last;
149
- } catch (error) {
150
- if (!(error instanceof Error) || error.diagnostic?.code !== "HR004") throw error;
151
- if (typeof window === "undefined") throw error;
152
- return [...last, h(KeyedFailure, { error })];
153
- }
154
- };
155
- } });
156
- const componentInstance = getCurrentInstance();
157
- function reflectedProp(name, kebab, value, fallback, bound, separator) {
158
- const incoming = componentInstance?.vnode.props;
159
- if (!bound && (incoming === null || incoming === void 0 || !Object.hasOwn(incoming, name) && !Object.hasOwn(incoming, kebab))) return fallback;
160
- if (value === null || value === void 0) return void 0;
161
- return Array.isArray(value) && separator !== void 0 ? value.join(separator) : typeof value === "object" ? JSON.stringify(value) : String(value);
162
- }
118
+ const reflectedProp = useReflectedProp();
163
119
  const hydrationInstance = getCurrentInstance();
164
120
  const emit = __emit;
165
121
  const root = ref(null);
@@ -170,39 +126,12 @@ var UiEditorInsertTableGrid_default = /*#__PURE__*/ _plugin_vue_export_helper_de
170
126
  const cols = ref(8);
171
127
  const hint = ref("");
172
128
  const withHeaderRow = ref(false);
173
- let guardedPrevious;
174
- const guarded = computed(() => {
175
- if (!htmlNextAuthoredCheck2(hint.value == null || typeof hint.value === "string", "$hint:hint", "./components/ui-editor-insert-table-grid/ui-editor-insert-table-grid.html: HR007: Reference hint does not satisfy its declared type.")) return guardedPrevious;
176
- return guardedPrevious = hint.value;
177
- });
178
- let guardedBindingPrevious;
179
- const guardedBinding = computed(() => {
180
- if (!htmlNextAuthoredCheck2(rows.value == null || Number.isInteger(rows.value), "$rows:rows", "./components/ui-editor-insert-table-grid/ui-editor-insert-table-grid.html: HR007: Reference rows does not satisfy its declared type.")) return guardedBindingPrevious;
181
- return guardedBindingPrevious = rows.value;
182
- });
183
- let guardedBinding2Previous;
184
- const guardedBinding2 = computed(() => {
185
- if (!htmlNextAuthoredCheck2(cols.value == null || Number.isInteger(cols.value), "$cols:cols", "./components/ui-editor-insert-table-grid/ui-editor-insert-table-grid.html: HR007: Reference cols does not satisfy its declared type.")) return guardedBinding2Previous;
186
- return guardedBinding2Previous = cols.value;
187
- });
188
- let guardedBinding3Previous;
189
- computed(() => {
190
- if (!htmlNextAuthoredCheck2(withHeaderRow.value == null || typeof withHeaderRow.value === "boolean", "$withHeaderRow:withHeaderRow", "./components/ui-editor-insert-table-grid/ui-editor-insert-table-grid.html: HR007: Reference withHeaderRow does not satisfy its declared type.")) return guardedBinding3Previous;
191
- return guardedBinding3Previous = withHeaderRow.value;
192
- });
193
129
  provide("html-next:ui-editor-insert-table-grid:cells", cells);
194
130
  provide("html-next:ui-editor-insert-table-grid:rows", rows);
195
131
  provide("html-next:ui-editor-insert-table-grid:cols", cols);
196
132
  provide("html-next:ui-editor-insert-table-grid:hint", hint);
197
133
  provide("html-next:ui-editor-insert-table-grid:withHeaderRow", withHeaderRow);
198
- const hydrationNode = hydrationInstance?.vnode.el;
199
- if (typeof window !== "undefined" && hydrationNode != null && (!(hydrationNode instanceof Element) || hydrationNode.localName !== "div")) throw Object.assign(/* @__PURE__ */ new Error("HR005: Server markup for <ui-editor-insert-table-grid> has an incompatible root."), {
200
- name: "HtmlDiagnosticError",
201
- diagnostic: Object.freeze({
202
- code: "HR005",
203
- message: "Server markup for <ui-editor-insert-table-grid> has an incompatible root."
204
- })
205
- });
134
+ checkHydratedRoot("div", "ui-editor-insert-table-grid");
206
135
  const isInsertDetail = (detail) => detail !== null && typeof detail === "object" && !Array.isArray(detail) && Number.isInteger(detail["rows"]) && Number.isInteger(detail["cols"]) && typeof detail["withHeaderRow"] === "boolean" && Object.keys(detail).every((key) => [
207
136
  "rows",
208
137
  "cols",
@@ -319,56 +248,29 @@ var UiEditorInsertTableGrid_default = /*#__PURE__*/ _plugin_vue_export_helper_de
319
248
  withHeaderRow
320
249
  }
321
250
  });
322
- function text(value) {
323
- if (Array.isArray(value)) return value.map(text).join(" ");
324
- return value === null || value === void 0 || typeof value === "object" ? "" : String(value);
325
- }
326
- function uniqueKeys(items, keyOf) {
327
- const seen = /* @__PURE__ */ new Set();
328
- for (let index = 0; index < items.length; index += 1) {
329
- const key = keyOf(items[index], index, {
330
- index,
331
- first: index === 0,
332
- last: index === items.length - 1,
333
- count: items.length
334
- });
335
- if (seen.has(key)) {
336
- const message = `A keyed list produced duplicate key \`${text(key)}\`.`;
337
- throw Object.assign(/* @__PURE__ */ new Error(`HR004: ${message}`), {
338
- name: "HtmlDiagnosticError",
339
- diagnostic: Object.freeze({
340
- code: "HR004",
341
- message
342
- })
343
- });
344
- }
345
- seen.add(key);
346
- }
347
- return items;
348
- }
349
251
  return (_ctx, _cache) => {
350
- return withDirectives((openBlock(), createElementBlock("div", mergeProps({ "data-component": "ui-editor-insert-table-grid" }, nativeAttrs(_ctx.$attrs), {
252
+ return withDirectives((openBlock(), createElementBlock("div", mergeProps({ class: "ui-editor-insert-table-grid" }, unref(nativeAttrs)(_ctx.$attrs), {
351
253
  hidden: !checkedProps.value.open,
352
- "data-header-row": reflectedProp("headerRow", "header-row", checkedProps.value.headerRow, void 0, false),
353
- "data-max-cols": reflectedProp("maxCols", "max-cols", checkedProps.value.maxCols, void 0, false),
354
- "data-max-rows": reflectedProp("maxRows", "max-rows", checkedProps.value.maxRows, void 0, false),
355
- "data-open": reflectedProp("open", "open", checkedProps.value.open, void 0, false),
254
+ "data-header-row": unref(reflectedProp)("headerRow", "header-row", checkedProps.value.headerRow, void 0, false),
255
+ "data-max-cols": unref(reflectedProp)("maxCols", "max-cols", checkedProps.value.maxCols, void 0, false),
256
+ "data-max-rows": unref(reflectedProp)("maxRows", "max-rows", checkedProps.value.maxRows, void 0, false),
257
+ "data-open": unref(reflectedProp)("open", "open", checkedProps.value.open, void 0, false),
356
258
  ref_key: "root",
357
259
  ref: root
358
260
  }), [
359
- createElementVNode("p", _hoisted_2, toDisplayString(guarded.value), 1),
261
+ createElementVNode("p", _hoisted_2, toDisplayString(hint.value), 1),
360
262
  createElementVNode("div", {
361
263
  class: "grid",
362
264
  role: "group",
363
265
  "aria-label": "Table dimensions",
364
266
  style: normalizeStyle({
365
- "--_rows": guardedBinding.value,
366
- "--_cols": guardedBinding2.value
267
+ "--_rows": rows.value,
268
+ "--_cols": cols.value
367
269
  }),
368
270
  ref_key: "gridElement",
369
271
  ref: gridElement
370
272
  }, [createVNode(unref(KeyedBoundary), null, {
371
- default: withCtx(() => [(openBlock(true), createElementBlock(Fragment, null, renderList(uniqueKeys(cells.value, (cell, index, loop) => cell.key), (cell) => {
273
+ default: withCtx(() => [(openBlock(true), createElementBlock(Fragment, null, renderList(unref(uniqueKeys)(cells.value, (cell, index, loop) => cell.key), (cell) => {
372
274
  return openBlock(), createElementBlock("button", {
373
275
  key: cell.key,
374
276
  type: "button",
@@ -399,6 +301,6 @@ var UiEditorInsertTableGrid_default = /*#__PURE__*/ _plugin_vue_export_helper_de
399
301
  }]]);
400
302
  };
401
303
  }
402
- }), [["__scopeId", "data-v-a8e7e3a2"]]);
304
+ }), [["__scopeId", "data-v-e3749271"]]);
403
305
  //#endregion
404
306
  export { UiEditorInsertTableGrid_default as t };
@@ -0,0 +1,356 @@
1
+ import { a as concat, g as text, i as checkHydratedRoot, o as createDispatch, p as nativeAttrs, s as cycleCheckedComputed, v as useComponentHost, y as useReflectedProp } from "./_plugin-vue_export-helper.js";
2
+ import { a as vPropValidity, n as checkedProp, r as propValidityState, t as acceptsControllerWrite } from "./props.js";
3
+ import { t as UiIcon_default } from "./UiIcon.js";
4
+ import { t as UiButton_default } from "./UiButton.js";
5
+ import { t as UiCard_default } from "./UiCard.js";
6
+ import { t as UiCluster_default } from "./UiCluster.js";
7
+ import { t as UiTooltip_default } from "./UiTooltip.js";
8
+ import { t as UiIconButton_default } from "./UiIconButton.js";
9
+ import { t as UiStack_default } from "./UiStack.js";
10
+ import { t as UiText_default } from "./UiText.js";
11
+ import { Fragment, computed, createBlock, createCommentVNode, createElementBlock, createTextVNode, createVNode, defineComponent, getCurrentInstance, mergeProps, openBlock, provide, ref, toDisplayString, unref, watchSyncEffect, withCtx, withDirectives } from "vue";
12
+ //#region .build/vue/UiEditorLinkCard.vue?vue&type=script&setup=true&lang.ts
13
+ var _hoisted_1 = [
14
+ "data-detail",
15
+ "data-href",
16
+ "data-label",
17
+ "data-open-href",
18
+ "data-target-label"
19
+ ];
20
+ //#endregion
21
+ //#region .build/vue/UiEditorLinkCard.vue
22
+ var UiEditorLinkCard_default = /* @__PURE__ */ defineComponent({
23
+ inheritAttrs: false,
24
+ __name: "UiEditorLinkCard",
25
+ props: {
26
+ detail: {
27
+ type: null,
28
+ default: ""
29
+ },
30
+ href: {
31
+ type: null,
32
+ default: ""
33
+ },
34
+ label: {
35
+ type: null,
36
+ default: ""
37
+ },
38
+ openHref: {
39
+ type: null,
40
+ default: ""
41
+ },
42
+ targetLabel: {
43
+ type: null,
44
+ default: "Item"
45
+ }
46
+ },
47
+ emits: ["edit", "remove"],
48
+ setup(__props, { emit: __emit }) {
49
+ const propValidityContract = { props: {
50
+ detail: {
51
+ type: {
52
+ kind: "terminal",
53
+ name: "string"
54
+ },
55
+ required: false,
56
+ target: { attribute: "detail" },
57
+ description: "A second line under the label, such as where the destination lives.",
58
+ default: ""
59
+ },
60
+ href: {
61
+ type: {
62
+ kind: "terminal",
63
+ name: "string"
64
+ },
65
+ required: false,
66
+ target: { attribute: "title" },
67
+ description: "The link's destination, shown when there is no label.",
68
+ default: ""
69
+ },
70
+ label: {
71
+ type: {
72
+ kind: "terminal",
73
+ name: "string"
74
+ },
75
+ required: false,
76
+ target: { attribute: "label" },
77
+ description: "The resolved destination's name, such as a page title, shown in place of the address.",
78
+ default: ""
79
+ },
80
+ openHref: {
81
+ type: {
82
+ kind: "terminal",
83
+ name: "string"
84
+ },
85
+ required: false,
86
+ target: { attribute: "href" },
87
+ description: "The address Open link opens in a new tab; without it the card offers no Open link. The editor passes the destination only when it is an http, https,\n mailto, tel, or relative address.",
88
+ default: ""
89
+ },
90
+ targetLabel: {
91
+ type: {
92
+ kind: "terminal",
93
+ name: "string"
94
+ },
95
+ required: false,
96
+ target: { attribute: "targetlabel" },
97
+ description: "What a resolved destination is called, as in \"Page: Guide\" for a screen reader.",
98
+ default: "Item"
99
+ }
100
+ } };
101
+ const props = __props;
102
+ const acceptedProps = {
103
+ detail: "",
104
+ href: "",
105
+ label: "",
106
+ openHref: "",
107
+ targetLabel: "Item"
108
+ };
109
+ const checkedProps = computed(() => ({
110
+ detail: checkedProp(props["detail"], {
111
+ kind: "terminal",
112
+ name: "string"
113
+ }, false, "detail", acceptedProps),
114
+ href: checkedProp(props["href"], {
115
+ kind: "terminal",
116
+ name: "string"
117
+ }, false, "href", acceptedProps),
118
+ label: checkedProp(props["label"], {
119
+ kind: "terminal",
120
+ name: "string"
121
+ }, false, "label", acceptedProps),
122
+ openHref: checkedProp(props["openHref"], {
123
+ kind: "terminal",
124
+ name: "string"
125
+ }, false, "openHref", acceptedProps),
126
+ targetLabel: checkedProp(props["targetLabel"], {
127
+ kind: "terminal",
128
+ name: "string"
129
+ }, false, "targetLabel", acceptedProps)
130
+ }));
131
+ checkedProps.value;
132
+ watchSyncEffect(() => {
133
+ checkedProps.value;
134
+ });
135
+ const reflectedProp = useReflectedProp();
136
+ const hydrationInstance = getCurrentInstance();
137
+ const emit = __emit;
138
+ const root = ref(null);
139
+ const base = ref("ui-editor-link-card");
140
+ const resolved = cycleCheckedComputed(() => checkedProps.value.label !== "");
141
+ let shownPrevious = null;
142
+ const shown = cycleCheckedComputed(() => {
143
+ const next = ((objectValue, indexValue) => objectValue === Symbol.for("html-next.invalid-result") || indexValue === Symbol.for("html-next.invalid-result") ? Symbol.for("html-next.invalid-result") : objectValue[indexValue])({
144
+ true: checkedProps.value.label,
145
+ false: checkedProps.value.href
146
+ }, concat(resolved.value));
147
+ if (next === Symbol.for("html-next.invalid-result")) return shownPrevious;
148
+ return shownPrevious = next;
149
+ });
150
+ let guardedPrevious = null;
151
+ const guarded = computed(() => {
152
+ const candidate = ((objectValue, indexValue) => objectValue === Symbol.for("html-next.invalid-result") || indexValue === Symbol.for("html-next.invalid-result") ? Symbol.for("html-next.invalid-result") : objectValue[indexValue])({
153
+ true: "file-text",
154
+ false: "link"
155
+ }, concat(resolved.value));
156
+ if (candidate === Symbol.for("html-next.invalid-result")) return guardedPrevious;
157
+ return guardedPrevious = candidate;
158
+ });
159
+ let guardedBindingPrevious = null;
160
+ const guardedBinding = computed(() => {
161
+ const candidate = concat(((objectValue, indexValue) => objectValue === Symbol.for("html-next.invalid-result") || indexValue === Symbol.for("html-next.invalid-result") ? Symbol.for("html-next.invalid-result") : objectValue[indexValue])({
162
+ true: checkedProps.value.targetLabel,
163
+ false: "URL"
164
+ }, concat(resolved.value)), ": ", shown.value);
165
+ if (candidate === Symbol.for("html-next.invalid-result")) return guardedBindingPrevious;
166
+ return guardedBindingPrevious = candidate;
167
+ });
168
+ let guardedBinding2Previous = null;
169
+ const guardedBinding2 = computed(() => {
170
+ const candidate = concat(base.value, "-open");
171
+ if (candidate === Symbol.for("html-next.invalid-result")) return guardedBinding2Previous;
172
+ return guardedBinding2Previous = candidate;
173
+ });
174
+ let guardedBinding3Previous = null;
175
+ const guardedBinding3 = computed(() => {
176
+ const candidate = concat(base.value, "-open");
177
+ if (candidate === Symbol.for("html-next.invalid-result")) return guardedBinding3Previous;
178
+ return guardedBinding3Previous = candidate;
179
+ });
180
+ let guardedBinding4Previous = null;
181
+ const guardedBinding4 = computed(() => {
182
+ const candidate = concat(base.value, "-edit");
183
+ if (candidate === Symbol.for("html-next.invalid-result")) return guardedBinding4Previous;
184
+ return guardedBinding4Previous = candidate;
185
+ });
186
+ let guardedBinding5Previous = null;
187
+ const guardedBinding5 = computed(() => {
188
+ const candidate = concat(base.value, "-edit");
189
+ if (candidate === Symbol.for("html-next.invalid-result")) return guardedBinding5Previous;
190
+ return guardedBinding5Previous = candidate;
191
+ });
192
+ let guardedBinding6Previous = null;
193
+ const guardedBinding6 = computed(() => {
194
+ const candidate = concat(base.value, "-remove");
195
+ if (candidate === Symbol.for("html-next.invalid-result")) return guardedBinding6Previous;
196
+ return guardedBinding6Previous = candidate;
197
+ });
198
+ let guardedBinding7Previous = null;
199
+ const guardedBinding7 = computed(() => {
200
+ const candidate = concat(base.value, "-remove");
201
+ if (candidate === Symbol.for("html-next.invalid-result")) return guardedBinding7Previous;
202
+ return guardedBinding7Previous = candidate;
203
+ });
204
+ provide("html-next:ui-editor-link-card:base", base);
205
+ checkHydratedRoot("div", "ui-editor-link-card");
206
+ const isEditDetail = (detail) => detail !== null && typeof detail === "object" && !Array.isArray(detail) && Object.values(detail).every((item) => true);
207
+ const dispatch = createDispatch(root, emit, { checks: {
208
+ edit: isEditDetail,
209
+ remove: isEditDetail
210
+ } });
211
+ useComponentHost(() => import("@threadlabs/looma/components/ui-editor-link-card/ui-editor-link-card.js"), {
212
+ root,
213
+ dispatch,
214
+ acceptsState: (name, keys, value) => acceptsControllerWrite(value, { base: {
215
+ kind: "terminal",
216
+ name: "string"
217
+ } }[name], keys),
218
+ controllerSource: {
219
+ specifier: "../components/ui-editor-link-card/ui-editor-link-card.js",
220
+ definition: "./components/ui-editor-link-card/ui-editor-link-card.html"
221
+ },
222
+ props: checkedProps,
223
+ propInputs: (name) => {
224
+ const incoming = hydrationInstance?.vnode.props;
225
+ const kebab = name.replace(/[A-Z]/g, (letter) => "-" + letter.toLowerCase());
226
+ return incoming !== null && incoming !== void 0 ? incoming[name] ?? incoming[kebab] ?? null : null;
227
+ },
228
+ propNames: [
229
+ "detail",
230
+ "href",
231
+ "label",
232
+ "openHref",
233
+ "targetLabel"
234
+ ],
235
+ propValidity: (name) => propValidityState({
236
+ contract: propValidityContract,
237
+ values: { ...props }
238
+ }, name),
239
+ state: { base },
240
+ computed: {
241
+ resolved,
242
+ shown
243
+ }
244
+ });
245
+ return (_ctx, _cache) => {
246
+ return withDirectives((openBlock(), createElementBlock("div", mergeProps(unref(nativeAttrs)(_ctx.$attrs), {
247
+ "data-detail": unref(reflectedProp)("detail", "detail", checkedProps.value.detail, void 0, false),
248
+ "data-href": unref(reflectedProp)("href", "href", checkedProps.value.href, void 0, false),
249
+ "data-label": unref(reflectedProp)("label", "label", checkedProps.value.label, void 0, false),
250
+ "data-open-href": unref(reflectedProp)("openHref", "open-href", checkedProps.value.openHref, void 0, false),
251
+ "data-target-label": unref(reflectedProp)("targetLabel", "target-label", checkedProps.value.targetLabel, void 0, false),
252
+ ref_key: "root",
253
+ ref: root
254
+ }), [createVNode(UiCard_default, {
255
+ variant: "elevated",
256
+ padding: "xs",
257
+ size: "content"
258
+ }, {
259
+ default: withCtx(() => [createVNode(UiCluster_default, {
260
+ gap: "xs",
261
+ wrap: "nowrap",
262
+ role: "group",
263
+ "aria-label": "Link actions"
264
+ }, {
265
+ default: withCtx(() => [
266
+ createVNode(UiIcon_default, { name: guarded.value }, null, 8, ["name"]),
267
+ createVNode(UiStack_default, {
268
+ gap: "none",
269
+ title: checkedProps.value.href,
270
+ "aria-label": guardedBinding.value
271
+ }, {
272
+ default: withCtx(() => [createVNode(UiText_default, {
273
+ as: "strong",
274
+ size: "sm",
275
+ weight: "medium",
276
+ font: "sans",
277
+ wrap: "anywhere"
278
+ }, {
279
+ default: withCtx(() => [createTextVNode(toDisplayString(unref(text)(unref(shown))), 1)]),
280
+ _: 1
281
+ }), checkedProps.value.detail !== "" ? (openBlock(), createBlock(UiText_default, {
282
+ key: 0,
283
+ as: "small",
284
+ size: "xs",
285
+ tone: "secondary",
286
+ font: "sans"
287
+ }, {
288
+ default: withCtx(() => [createTextVNode(toDisplayString(checkedProps.value.detail), 1)]),
289
+ _: 1
290
+ })) : createCommentVNode("v-if", true)]),
291
+ _: 1
292
+ }, 8, ["title", "aria-label"]),
293
+ checkedProps.value.openHref !== "" ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [createVNode(UiButton_default, {
294
+ as: "a",
295
+ variant: "ghost",
296
+ tone: "neutral",
297
+ size: "sm",
298
+ target: "_blank",
299
+ rel: "noopener noreferrer",
300
+ "aria-label": "Open link",
301
+ id: guardedBinding2.value,
302
+ href: checkedProps.value.openHref
303
+ }, {
304
+ default: withCtx(() => [createVNode(UiCluster_default, {
305
+ gap: "xs",
306
+ wrap: "nowrap"
307
+ }, {
308
+ default: withCtx(() => [createVNode(UiIcon_default, { name: "external-link" }), _cache[0] || (_cache[0] = createTextVNode("Open link", -1))]),
309
+ _: 1
310
+ })]),
311
+ _: 1
312
+ }, 8, ["id", "href"]), createVNode(UiTooltip_default, { for: guardedBinding3.value }, {
313
+ default: withCtx(() => [..._cache[1] || (_cache[1] = [createTextVNode("Open link", -1)])]),
314
+ _: 1
315
+ }, 8, ["for"])], 64)) : createCommentVNode("v-if", true),
316
+ createVNode(UiIconButton_default, {
317
+ label: "Edit link",
318
+ variant: "ghost",
319
+ size: "sm",
320
+ "data-link-action": "edit",
321
+ id: guardedBinding4.value
322
+ }, {
323
+ default: withCtx(() => [createVNode(UiIcon_default, { name: "pencil" })]),
324
+ _: 1
325
+ }, 8, ["id"]),
326
+ createVNode(UiTooltip_default, { for: guardedBinding5.value }, {
327
+ default: withCtx(() => [..._cache[2] || (_cache[2] = [createTextVNode("Edit link", -1)])]),
328
+ _: 1
329
+ }, 8, ["for"]),
330
+ createVNode(UiIconButton_default, {
331
+ label: "Remove link",
332
+ variant: "ghost",
333
+ size: "sm",
334
+ "data-link-action": "remove",
335
+ id: guardedBinding6.value
336
+ }, {
337
+ default: withCtx(() => [createVNode(UiIcon_default, { name: "unlink" })]),
338
+ _: 1
339
+ }, 8, ["id"]),
340
+ createVNode(UiTooltip_default, { for: guardedBinding7.value }, {
341
+ default: withCtx(() => [..._cache[3] || (_cache[3] = [createTextVNode("Remove link", -1)])]),
342
+ _: 1
343
+ }, 8, ["for"])
344
+ ]),
345
+ _: 1
346
+ })]),
347
+ _: 1
348
+ })], 16, _hoisted_1)), [[unref(vPropValidity), {
349
+ contract: propValidityContract,
350
+ values: { ...props }
351
+ }]]);
352
+ };
353
+ }
354
+ });
355
+ //#endregion
356
+ export { UiEditorLinkCard_default as t };
@@ -1,5 +1,4 @@
1
- import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper.js";
2
- import { r as useComponentHost, t as createDispatch } from "./host.js";
1
+ import { a as concat, i as checkHydratedRoot, o as createDispatch, p as nativeAttrs, t as _plugin_vue_export_helper_default, v as useComponentHost, y as useReflectedProp } from "./_plugin-vue_export-helper.js";
3
2
  import { a as vPropValidity, n as checkedProp, r as propValidityState, t as acceptsControllerWrite } from "./props.js";
4
3
  import { Fragment, computed, createCommentVNode, createElementBlock, createElementVNode, defineComponent, getCurrentInstance, mergeProps, normalizeClass, openBlock, provide, ref, renderList, renderSlot, toDisplayString, unref, useTemplateRef, watchSyncEffect, withDirectives } from "vue";
5
4
  //#region .build/vue/UiEditorMentionMenu.vue?vue&type=script&setup=true&lang.ts
@@ -42,14 +41,6 @@ var _hoisted_9 = {
42
41
  key: 0,
43
42
  class: "detail"
44
43
  };
45
- var htmlNextAuthoredCheck2Reported = /* @__PURE__ */ new Set();
46
- function htmlNextAuthoredCheck2(accepted, location, message) {
47
- if (!accepted && !htmlNextAuthoredCheck2Reported.has(location)) {
48
- htmlNextAuthoredCheck2Reported.add(location);
49
- console.warn(message);
50
- }
51
- return accepted;
52
- }
53
44
  //#endregion
54
45
  //#region .build/vue/UiEditorMentionMenu.vue
55
46
  var UiEditorMentionMenu_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
@@ -426,18 +417,7 @@ var UiEditorMentionMenu_default = /*#__PURE__*/ _plugin_vue_export_helper_defaul
426
417
  watchSyncEffect(() => {
427
418
  checkedProps.value;
428
419
  });
429
- function nativeAttrs(attrs) {
430
- const names = Object.keys(attrs);
431
- if (!names.some((name) => Object.hasOwn(Object.prototype, name))) return attrs;
432
- return Object.fromEntries(names.map((name) => [Object.hasOwn(Object.prototype, name) ? name === "__proto__" ? "__Proto__" : name[0].toUpperCase() + name.slice(1) : name, attrs[name]]));
433
- }
434
- const componentInstance = getCurrentInstance();
435
- function reflectedProp(name, kebab, value, fallback, bound, separator) {
436
- const incoming = componentInstance?.vnode.props;
437
- if (!bound && (incoming === null || incoming === void 0 || !Object.hasOwn(incoming, name) && !Object.hasOwn(incoming, kebab))) return fallback;
438
- if (value === null || value === void 0) return void 0;
439
- return Array.isArray(value) && separator !== void 0 ? value.join(separator) : typeof value === "object" ? JSON.stringify(value) : String(value);
440
- }
420
+ const reflectedProp = useReflectedProp();
441
421
  const hydrationInstance = getCurrentInstance();
442
422
  const emit = __emit;
443
423
  const root = ref(null);
@@ -447,24 +427,12 @@ var UiEditorMentionMenu_default = /*#__PURE__*/ _plugin_vue_export_helper_defaul
447
427
  const searching = ref(false);
448
428
  const active = ref(0);
449
429
  const prefix = ref("ui-editor-mention-menu");
450
- let guardedPrevious;
451
- const guarded = computed(() => {
452
- if (!htmlNextAuthoredCheck2(visible.value == null || typeof visible.value === "boolean", "not $visible:visible", "./components/ui-editor-mention-menu/ui-editor-mention-menu.html: HR007: Reference visible does not satisfy its declared type.")) return guardedPrevious;
453
- return guardedPrevious = !visible.value;
454
- });
455
430
  provide("html-next:ui-editor-mention-menu:visible", visible);
456
431
  provide("html-next:ui-editor-mention-menu:rows", rows);
457
432
  provide("html-next:ui-editor-mention-menu:searching", searching);
458
433
  provide("html-next:ui-editor-mention-menu:active", active);
459
434
  provide("html-next:ui-editor-mention-menu:prefix", prefix);
460
- const hydrationNode = hydrationInstance?.vnode.el;
461
- if (typeof window !== "undefined" && hydrationNode != null && (!(hydrationNode instanceof Element) || hydrationNode.localName !== "div")) throw Object.assign(/* @__PURE__ */ new Error("HR005: Server markup for <ui-editor-mention-menu> has an incompatible root."), {
462
- name: "HtmlDiagnosticError",
463
- diagnostic: Object.freeze({
464
- code: "HR005",
465
- message: "Server markup for <ui-editor-mention-menu> has an incompatible root."
466
- })
467
- });
435
+ checkHydratedRoot("div", "ui-editor-mention-menu");
468
436
  const isHighlightDetail = (detail) => detail !== null && typeof detail === "object" && !Array.isArray(detail) && Number.isInteger(detail["index"]) && typeof detail["value"] === "string" && Object.keys(detail).every((key) => ["index", "value"].includes(key));
469
437
  const dispatch = createDispatch(root, emit, { checks: {
470
438
  highlight: isHighlightDetail,
@@ -565,27 +533,21 @@ var UiEditorMentionMenu_default = /*#__PURE__*/ _plugin_vue_export_helper_defaul
565
533
  prefix
566
534
  }
567
535
  });
568
- function concat(...values) {
569
- if (values.some((value) => value === Symbol.for("html-next.invalid-result"))) return Symbol.for("html-next.invalid-result");
570
- if (values.some((value) => value === void 0)) return void 0;
571
- if (values.length === 0 || values.some((value) => typeof value === "object" && value !== null)) return Symbol.for("html-next.invalid-result");
572
- return values.map((value) => value === null ? "" : String(value)).join("");
573
- }
574
536
  return (_ctx, _cache) => {
575
537
  return withDirectives((openBlock(), createElementBlock("div", mergeProps({
576
- "data-component": "ui-editor-mention-menu",
538
+ class: "ui-editor-mention-menu",
577
539
  role: "listbox"
578
- }, nativeAttrs(_ctx.$attrs), {
540
+ }, unref(nativeAttrs)(_ctx.$attrs), {
579
541
  "aria-busy": checkedProps.value.loading ?? void 0,
580
- hidden: guarded.value,
581
- "data-anchor-rect": reflectedProp("anchorRect", "anchor-rect", checkedProps.value.anchorRect, void 0, false),
582
- "data-items": reflectedProp("items", "items", checkedProps.value.items, void 0, false),
583
- "data-label": reflectedProp("label", "label", checkedProps.value.label, void 0, false),
584
- "data-loading": reflectedProp("loading", "loading", checkedProps.value.loading, void 0, false),
585
- "data-loading-label": reflectedProp("loadingLabel", "loading-label", checkedProps.value.loadingLabel, void 0, false),
586
- "data-open": reflectedProp("open", "open", checkedProps.value.open, void 0, false),
587
- "data-query": reflectedProp("query", "query", checkedProps.value.query, void 0, false),
588
- "data-selected-index": reflectedProp("selectedIndex", "selected-index", checkedProps.value.selectedIndex, void 0, false),
542
+ hidden: !visible.value,
543
+ "data-anchor-rect": unref(reflectedProp)("anchorRect", "anchor-rect", checkedProps.value.anchorRect, void 0, false),
544
+ "data-items": unref(reflectedProp)("items", "items", checkedProps.value.items, void 0, false),
545
+ "data-label": unref(reflectedProp)("label", "label", checkedProps.value.label, void 0, false),
546
+ "data-loading": unref(reflectedProp)("loading", "loading", checkedProps.value.loading, void 0, false),
547
+ "data-loading-label": unref(reflectedProp)("loadingLabel", "loading-label", checkedProps.value.loadingLabel, void 0, false),
548
+ "data-open": unref(reflectedProp)("open", "open", checkedProps.value.open, void 0, false),
549
+ "data-query": unref(reflectedProp)("query", "query", checkedProps.value.query, void 0, false),
550
+ "data-selected-index": unref(reflectedProp)("selectedIndex", "selected-index", checkedProps.value.selectedIndex, void 0, false),
589
551
  ref_key: "root",
590
552
  ref: root
591
553
  }), [
@@ -596,7 +558,7 @@ var UiEditorMentionMenu_default = /*#__PURE__*/ _plugin_vue_export_helper_defaul
596
558
  key: index,
597
559
  class: normalizeClass(["item", { active: index === active.value }]),
598
560
  role: "option",
599
- id: concat(prefix.value, "-option-", index),
561
+ id: unref(concat)(prefix.value, "-option-", index),
600
562
  "aria-selected": index === active.value,
601
563
  "data-index": index,
602
564
  "data-value": row.id
@@ -613,6 +575,6 @@ var UiEditorMentionMenu_default = /*#__PURE__*/ _plugin_vue_export_helper_defaul
613
575
  }]]);
614
576
  };
615
577
  }
616
- }), [["__scopeId", "data-v-f27cd779"]]);
578
+ }), [["__scopeId", "data-v-005c0312"]]);
617
579
  //#endregion
618
580
  export { UiEditorMentionMenu_default as t };