@threadlabs/looma 0.28.4 → 0.28.6

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 (437) hide show
  1. package/components/ui-editor-image-toolbar/ui-editor-image-toolbar.html +96 -0
  2. package/components/ui-editor-image-toolbar/ui-editor-image-toolbar.js +56 -0
  3. package/components/ui-editor-mention-menu-item/ui-editor-mention-menu-item.html +3 -2
  4. package/dist/index.js +34 -33
  5. package/package.json +3 -2
  6. package/styles/ui-action-bar.css +13 -6
  7. package/styles/ui-affordance-scope.css +12 -5
  8. package/styles/ui-avatar-group.css +17 -10
  9. package/styles/ui-avatar.css +23 -16
  10. package/styles/ui-badge.css +78 -71
  11. package/styles/ui-breadcrumb-item.css +12 -5
  12. package/styles/ui-breadcrumbs.css +10 -3
  13. package/styles/ui-button.css +79 -72
  14. package/styles/ui-callout.css +29 -22
  15. package/styles/ui-card.css +25 -18
  16. package/styles/ui-checkbox.css +45 -37
  17. package/styles/ui-cluster.css +34 -27
  18. package/styles/ui-combobox.css +46 -39
  19. package/styles/ui-container.css +20 -13
  20. package/styles/ui-context-menu.css +17 -10
  21. package/styles/ui-cover.css +12 -5
  22. package/styles/ui-description-item.css +10 -3
  23. package/styles/ui-description-list.css +20 -13
  24. package/styles/ui-dialog.css +44 -35
  25. package/styles/ui-disclosure.css +32 -25
  26. package/styles/ui-editable.css +15 -8
  27. package/styles/ui-editor-image-toolbar.css +1 -0
  28. package/styles/ui-editor-insert-table-grid.css +11 -4
  29. package/styles/ui-editor-mention-menu-item.css +17 -8
  30. package/styles/ui-editor-mention-menu.css +14 -7
  31. package/styles/ui-editor-slash-menu-group.css +10 -3
  32. package/styles/ui-editor-slash-menu-item.css +15 -8
  33. package/styles/ui-editor-slash-menu.css +15 -8
  34. package/styles/ui-editor-surface.css +10 -3
  35. package/styles/ui-editor-table-context-menu.css +17 -10
  36. package/styles/ui-editor-table-overlay.css +17 -10
  37. package/styles/ui-editor-table-toolbar.css +22 -15
  38. package/styles/ui-editor-toolbar.css +18 -11
  39. package/styles/ui-floating-action-button.css +21 -14
  40. package/styles/ui-form-field.css +20 -13
  41. package/styles/ui-grid.css +21 -14
  42. package/styles/ui-icon-button.css +80 -73
  43. package/styles/ui-icon.css +14 -7
  44. package/styles/ui-image.css +25 -18
  45. package/styles/ui-input-group.css +34 -27
  46. package/styles/ui-input.css +42 -35
  47. package/styles/ui-list-item.css +33 -26
  48. package/styles/ui-list.css +22 -15
  49. package/styles/ui-listbox.css +22 -14
  50. package/styles/ui-menu-group.css +10 -3
  51. package/styles/ui-menu-item.css +29 -22
  52. package/styles/ui-menu.css +25 -18
  53. package/styles/ui-meter.css +36 -29
  54. package/styles/ui-nav-item.css +26 -19
  55. package/styles/ui-page-header.css +12 -5
  56. package/styles/ui-popover.css +27 -20
  57. package/styles/ui-radio-group.css +14 -6
  58. package/styles/ui-radio.css +24 -17
  59. package/styles/ui-reel.css +28 -21
  60. package/styles/ui-scroll-area.css +22 -15
  61. package/styles/ui-search-result-row.css +28 -21
  62. package/styles/ui-search-shell.css +24 -17
  63. package/styles/ui-section.css +14 -7
  64. package/styles/ui-select.css +33 -26
  65. package/styles/ui-separator.css +17 -10
  66. package/styles/ui-sidebar.css +35 -28
  67. package/styles/ui-spinner.css +32 -23
  68. package/styles/ui-stack.css +29 -21
  69. package/styles/ui-status-message.css +14 -7
  70. package/styles/ui-switch.css +29 -22
  71. package/styles/ui-switcher.css +27 -20
  72. package/styles/ui-table.css +14 -7
  73. package/styles/ui-tabs.css +24 -17
  74. package/styles/ui-text.css +35 -28
  75. package/styles/ui-textarea.css +37 -30
  76. package/styles/ui-toast-region.css +74 -63
  77. package/styles/ui-toast.css +21 -14
  78. package/styles/ui-tooltip.css +38 -31
  79. package/styles/ui-top-bar.css +19 -12
  80. package/styles/ui-tree-item.css +79 -71
  81. package/styles/ui-tree.css +18 -11
  82. package/vanilla/UiActionBar.d.ts +1 -1
  83. package/vanilla/UiActionBar.js +1 -1
  84. package/vanilla/UiAffordanceScope.d.ts +1 -1
  85. package/vanilla/UiAffordanceScope.js +1 -1
  86. package/vanilla/UiAvatar.d.ts +1 -1
  87. package/vanilla/UiAvatar.js +1 -1
  88. package/vanilla/UiAvatarGroup.d.ts +1 -1
  89. package/vanilla/UiAvatarGroup.js +1 -1
  90. package/vanilla/UiBadge.d.ts +1 -1
  91. package/vanilla/UiBadge.js +1 -1
  92. package/vanilla/UiBreadcrumbItem.d.ts +1 -1
  93. package/vanilla/UiBreadcrumbItem.js +1 -1
  94. package/vanilla/UiBreadcrumbs.d.ts +1 -1
  95. package/vanilla/UiBreadcrumbs.js +1 -1
  96. package/vanilla/UiButton.d.ts +1 -1
  97. package/vanilla/UiButton.js +19 -57
  98. package/vanilla/UiCallout.d.ts +1 -1
  99. package/vanilla/UiCallout.js +25 -73
  100. package/vanilla/UiCard.d.ts +1 -1
  101. package/vanilla/UiCard.js +1 -1
  102. package/vanilla/UiCheckbox.d.ts +1 -1
  103. package/vanilla/UiCheckbox.js +1 -1
  104. package/vanilla/UiCluster.d.ts +1 -1
  105. package/vanilla/UiCluster.js +1 -1
  106. package/vanilla/UiCombobox.d.ts +1 -1
  107. package/vanilla/UiCombobox.js +60 -166
  108. package/vanilla/UiContainer.d.ts +1 -1
  109. package/vanilla/UiContainer.js +1 -1
  110. package/vanilla/UiContextMenu.d.ts +1 -1
  111. package/vanilla/UiContextMenu.js +1 -1
  112. package/vanilla/UiCover.d.ts +1 -1
  113. package/vanilla/UiCover.js +1 -1
  114. package/vanilla/UiDescriptionItem.d.ts +1 -1
  115. package/vanilla/UiDescriptionItem.js +1 -1
  116. package/vanilla/UiDescriptionList.d.ts +1 -1
  117. package/vanilla/UiDescriptionList.js +1 -1
  118. package/vanilla/UiDialog.d.ts +1 -1
  119. package/vanilla/UiDialog.js +4 -10
  120. package/vanilla/UiDisclosure.d.ts +1 -1
  121. package/vanilla/UiDisclosure.js +1 -1
  122. package/vanilla/UiEditable.d.ts +1 -1
  123. package/vanilla/UiEditable.js +7 -19
  124. package/vanilla/UiEditorImageToolbar.d.ts +19 -0
  125. package/vanilla/UiEditorImageToolbar.js +171 -0
  126. package/vanilla/UiEditorInsertTableGrid.d.ts +1 -1
  127. package/vanilla/UiEditorInsertTableGrid.js +1 -1
  128. package/vanilla/UiEditorMentionMenu.d.ts +1 -1
  129. package/vanilla/UiEditorMentionMenu.js +17 -37
  130. package/vanilla/UiEditorMentionMenuItem.d.ts +1 -1
  131. package/vanilla/UiEditorMentionMenuItem.js +4 -10
  132. package/vanilla/UiEditorSlashMenu.d.ts +1 -1
  133. package/vanilla/UiEditorSlashMenu.js +5 -4
  134. package/vanilla/UiEditorSlashMenuGroup.d.ts +1 -1
  135. package/vanilla/UiEditorSlashMenuGroup.js +1 -1
  136. package/vanilla/UiEditorSlashMenuItem.d.ts +1 -1
  137. package/vanilla/UiEditorSlashMenuItem.js +7 -19
  138. package/vanilla/UiEditorSurface.d.ts +1 -1
  139. package/vanilla/UiEditorSurface.js +1 -1
  140. package/vanilla/UiEditorTableContextMenu.d.ts +1 -1
  141. package/vanilla/UiEditorTableContextMenu.js +6 -14
  142. package/vanilla/UiEditorTableOverlay.d.ts +1 -1
  143. package/vanilla/UiEditorTableOverlay.js +9 -25
  144. package/vanilla/UiEditorTableToolbar.d.ts +1 -1
  145. package/vanilla/UiEditorTableToolbar.js +25 -77
  146. package/vanilla/UiEditorToolbar.d.ts +1 -1
  147. package/vanilla/UiEditorToolbar.js +1 -1
  148. package/vanilla/UiFloatingActionButton.d.ts +1 -1
  149. package/vanilla/UiFloatingActionButton.js +1 -1
  150. package/vanilla/UiFormField.d.ts +1 -1
  151. package/vanilla/UiFormField.js +1 -1
  152. package/vanilla/UiGrid.d.ts +1 -1
  153. package/vanilla/UiGrid.js +1 -1
  154. package/vanilla/UiIcon.d.ts +1 -1
  155. package/vanilla/UiIcon.js +15 -47
  156. package/vanilla/UiIconButton.d.ts +1 -1
  157. package/vanilla/UiIconButton.js +4 -10
  158. package/vanilla/UiImage.d.ts +1 -1
  159. package/vanilla/UiImage.js +1 -1
  160. package/vanilla/UiInput.d.ts +1 -1
  161. package/vanilla/UiInput.js +1 -1
  162. package/vanilla/UiInputGroup.d.ts +1 -1
  163. package/vanilla/UiInputGroup.js +1 -1
  164. package/vanilla/UiList.d.ts +1 -1
  165. package/vanilla/UiList.js +1 -1
  166. package/vanilla/UiListItem.d.ts +1 -1
  167. package/vanilla/UiListItem.js +1 -1
  168. package/vanilla/UiListbox.d.ts +1 -1
  169. package/vanilla/UiListbox.js +4 -10
  170. package/vanilla/UiMenu.d.ts +1 -1
  171. package/vanilla/UiMenu.js +1 -1
  172. package/vanilla/UiMenuGroup.d.ts +1 -1
  173. package/vanilla/UiMenuGroup.js +4 -10
  174. package/vanilla/UiMenuItem.d.ts +1 -1
  175. package/vanilla/UiMenuItem.js +4 -10
  176. package/vanilla/UiMeter.d.ts +1 -1
  177. package/vanilla/UiMeter.js +13 -33
  178. package/vanilla/UiNavItem.d.ts +1 -1
  179. package/vanilla/UiNavItem.js +1 -1
  180. package/vanilla/UiPageHeader.d.ts +1 -1
  181. package/vanilla/UiPageHeader.js +1 -1
  182. package/vanilla/UiPopover.d.ts +1 -1
  183. package/vanilla/UiPopover.js +1 -1
  184. package/vanilla/UiRadio.d.ts +1 -1
  185. package/vanilla/UiRadio.js +1 -1
  186. package/vanilla/UiRadioGroup.d.ts +1 -1
  187. package/vanilla/UiRadioGroup.js +1 -1
  188. package/vanilla/UiReel.d.ts +1 -1
  189. package/vanilla/UiReel.js +1 -1
  190. package/vanilla/UiScrollArea.d.ts +1 -1
  191. package/vanilla/UiScrollArea.js +1 -1
  192. package/vanilla/UiSearchResultRow.d.ts +1 -1
  193. package/vanilla/UiSearchResultRow.js +1 -1
  194. package/vanilla/UiSearchShell.d.ts +1 -1
  195. package/vanilla/UiSearchShell.js +1 -1
  196. package/vanilla/UiSection.d.ts +1 -1
  197. package/vanilla/UiSection.js +1 -1
  198. package/vanilla/UiSelect.d.ts +1 -1
  199. package/vanilla/UiSelect.js +1 -1
  200. package/vanilla/UiSeparator.d.ts +1 -1
  201. package/vanilla/UiSeparator.js +1 -1
  202. package/vanilla/UiSidebar.d.ts +1 -1
  203. package/vanilla/UiSidebar.js +1 -1
  204. package/vanilla/UiSpinner.d.ts +1 -1
  205. package/vanilla/UiSpinner.js +1 -1
  206. package/vanilla/UiStack.d.ts +1 -1
  207. package/vanilla/UiStack.js +1 -1
  208. package/vanilla/UiStatusMessage.d.ts +1 -1
  209. package/vanilla/UiStatusMessage.js +1 -1
  210. package/vanilla/UiSwitch.d.ts +1 -1
  211. package/vanilla/UiSwitch.js +1 -1
  212. package/vanilla/UiSwitcher.d.ts +1 -1
  213. package/vanilla/UiSwitcher.js +1 -1
  214. package/vanilla/UiTable.d.ts +1 -1
  215. package/vanilla/UiTable.js +1 -1
  216. package/vanilla/UiTabs.d.ts +1 -1
  217. package/vanilla/UiTabs.js +1 -1
  218. package/vanilla/UiText.d.ts +1 -1
  219. package/vanilla/UiText.js +1 -1
  220. package/vanilla/UiTextarea.d.ts +1 -1
  221. package/vanilla/UiTextarea.js +1 -1
  222. package/vanilla/UiToast.d.ts +1 -1
  223. package/vanilla/UiToast.js +1 -1
  224. package/vanilla/UiToastRegion.d.ts +1 -1
  225. package/vanilla/UiToastRegion.js +1 -1
  226. package/vanilla/UiTooltip.d.ts +1 -1
  227. package/vanilla/UiTooltip.js +1 -1
  228. package/vanilla/UiTopBar.d.ts +1 -1
  229. package/vanilla/UiTopBar.js +1 -1
  230. package/vanilla/UiTree.d.ts +1 -1
  231. package/vanilla/UiTree.js +1 -1
  232. package/vanilla/UiTreeItem.d.ts +1 -1
  233. package/vanilla/UiTreeItem.js +7 -19
  234. package/vanilla/index.js +1 -0
  235. package/vue/UiActionBar.vue +46 -78
  236. package/vue/UiAffordanceScope.vue +27 -66
  237. package/vue/UiAvatar.d.ts +10 -7
  238. package/vue/UiAvatar.vue +100 -218
  239. package/vue/UiAvatarGroup.d.ts +10 -7
  240. package/vue/UiAvatarGroup.vue +78 -160
  241. package/vue/UiBadge.d.ts +1 -1
  242. package/vue/UiBadge.vue +483 -520
  243. package/vue/UiBreadcrumbItem.vue +52 -123
  244. package/vue/UiBreadcrumbs.vue +27 -70
  245. package/vue/UiButton.d.ts +2 -2
  246. package/vue/UiButton.vue +420 -471
  247. package/vue/UiCallout.vue +131 -175
  248. package/vue/UiCard.d.ts +1 -1
  249. package/vue/UiCard.vue +112 -151
  250. package/vue/UiCheckbox.d.ts +13 -10
  251. package/vue/UiCheckbox.vue +160 -221
  252. package/vue/UiCluster.d.ts +1 -1
  253. package/vue/UiCluster.vue +84 -128
  254. package/vue/UiCombobox.d.ts +71 -68
  255. package/vue/UiCombobox.vue +417 -743
  256. package/vue/UiContainer.vue +43 -87
  257. package/vue/UiContextMenu.d.ts +6 -6
  258. package/vue/UiContextMenu.vue +78 -117
  259. package/vue/UiCover.vue +29 -69
  260. package/vue/UiDescriptionItem.vue +39 -82
  261. package/vue/UiDescriptionList.vue +64 -107
  262. package/vue/UiDialog.d.ts +22 -19
  263. package/vue/UiDialog.vue +193 -246
  264. package/vue/UiDisclosure.d.ts +22 -19
  265. package/vue/UiDisclosure.vue +192 -283
  266. package/vue/UiEditable.d.ts +5 -5
  267. package/vue/UiEditable.vue +124 -207
  268. package/vue/UiEditorImageToolbar.d.ts +54 -0
  269. package/vue/UiEditorImageToolbar.js +2 -0
  270. package/vue/UiEditorImageToolbar.vue +415 -0
  271. package/vue/UiEditorInsertTableGrid.d.ts +2 -2
  272. package/vue/UiEditorInsertTableGrid.vue +98 -266
  273. package/vue/UiEditorMentionMenu.d.ts +15 -12
  274. package/vue/UiEditorMentionMenu.vue +150 -239
  275. package/vue/UiEditorMentionMenuItem.vue +66 -110
  276. package/vue/UiEditorSlashMenu.d.ts +16 -13
  277. package/vue/UiEditorSlashMenu.vue +172 -253
  278. package/vue/UiEditorSlashMenuGroup.vue +25 -69
  279. package/vue/UiEditorSlashMenuItem.vue +67 -115
  280. package/vue/UiEditorSurface.vue +19 -63
  281. package/vue/UiEditorTableContextMenu.vue +135 -269
  282. package/vue/UiEditorTableOverlay.d.ts +2 -2
  283. package/vue/UiEditorTableOverlay.vue +310 -479
  284. package/vue/UiEditorTableToolbar.d.ts +2 -2
  285. package/vue/UiEditorTableToolbar.vue +182 -357
  286. package/vue/UiEditorToolbar.vue +143 -183
  287. package/vue/UiFloatingActionButton.vue +70 -114
  288. package/vue/UiFormField.d.ts +1 -1
  289. package/vue/UiFormField.vue +76 -117
  290. package/vue/UiGrid.d.ts +1 -1
  291. package/vue/UiGrid.vue +65 -103
  292. package/vue/UiIcon.vue +32 -106
  293. package/vue/UiIconButton.d.ts +2 -2
  294. package/vue/UiIconButton.vue +359 -411
  295. package/vue/UiImage.vue +145 -180
  296. package/vue/UiInput.vue +158 -190
  297. package/vue/UiInputGroup.vue +199 -239
  298. package/vue/UiList.vue +67 -109
  299. package/vue/UiListItem.vue +154 -201
  300. package/vue/UiListbox.d.ts +10 -7
  301. package/vue/UiListbox.vue +86 -260
  302. package/vue/UiMenu.d.ts +11 -11
  303. package/vue/UiMenu.vue +118 -152
  304. package/vue/UiMenuGroup.vue +21 -67
  305. package/vue/UiMenuItem.d.ts +19 -16
  306. package/vue/UiMenuItem.vue +169 -262
  307. package/vue/UiMeter.d.ts +4 -4
  308. package/vue/UiMeter.vue +166 -680
  309. package/vue/UiNavItem.vue +140 -213
  310. package/vue/UiPageHeader.vue +81 -127
  311. package/vue/UiPopover.d.ts +7 -7
  312. package/vue/UiPopover.vue +90 -129
  313. package/vue/UiRadio.d.ts +12 -9
  314. package/vue/UiRadio.vue +91 -149
  315. package/vue/UiRadioGroup.d.ts +2 -2
  316. package/vue/UiRadioGroup.vue +47 -85
  317. package/vue/UiReel.vue +89 -130
  318. package/vue/UiScrollArea.d.ts +1 -1
  319. package/vue/UiScrollArea.vue +78 -119
  320. package/vue/UiSearchResultRow.vue +96 -149
  321. package/vue/UiSearchShell.d.ts +2 -2
  322. package/vue/UiSearchShell.vue +159 -196
  323. package/vue/UiSection.vue +105 -149
  324. package/vue/UiSelect.d.ts +1 -1
  325. package/vue/UiSelect.vue +114 -146
  326. package/vue/UiSeparator.vue +42 -85
  327. package/vue/UiSidebar.d.ts +10 -7
  328. package/vue/UiSidebar.vue +193 -260
  329. package/vue/UiSpinner.vue +54 -130
  330. package/vue/UiStack.vue +66 -107
  331. package/vue/UiStatusMessage.d.ts +1 -1
  332. package/vue/UiStatusMessage.vue +61 -135
  333. package/vue/UiSwitch.d.ts +12 -9
  334. package/vue/UiSwitch.vue +136 -194
  335. package/vue/UiSwitcher.vue +69 -107
  336. package/vue/UiTable.vue +121 -156
  337. package/vue/UiTabs.d.ts +1 -1
  338. package/vue/UiTabs.vue +139 -267
  339. package/vue/UiText.d.ts +4 -4
  340. package/vue/UiText.vue +145 -184
  341. package/vue/UiTextarea.d.ts +2 -2
  342. package/vue/UiTextarea.vue +162 -194
  343. package/vue/UiToast.vue +70 -118
  344. package/vue/UiToastRegion.vue +157 -276
  345. package/vue/UiTooltip.d.ts +21 -18
  346. package/vue/UiTooltip.vue +174 -234
  347. package/vue/UiTopBar.vue +48 -76
  348. package/vue/UiTree.vue +46 -79
  349. package/vue/UiTreeItem.d.ts +18 -15
  350. package/vue/UiTreeItem.vue +526 -668
  351. package/vue/chunks/UiActionBar.js +5 -17
  352. package/vue/chunks/UiAffordanceScope.js +7 -26
  353. package/vue/chunks/UiAvatar.js +20 -74
  354. package/vue/chunks/UiAvatarGroup.js +14 -56
  355. package/vue/chunks/UiBadge.js +10 -28
  356. package/vue/chunks/UiBreadcrumbItem.js +11 -41
  357. package/vue/chunks/UiBreadcrumbs.js +7 -25
  358. package/vue/chunks/UiButton.js +80 -103
  359. package/vue/chunks/UiCallout.js +9 -27
  360. package/vue/chunks/UiCard.js +33 -53
  361. package/vue/chunks/UiCheckbox.js +14 -46
  362. package/vue/chunks/UiCluster.js +13 -31
  363. package/vue/chunks/UiCombobox.js +99 -237
  364. package/vue/chunks/UiContainer.js +9 -27
  365. package/vue/chunks/UiContextMenu.js +7 -26
  366. package/vue/chunks/UiCover.js +7 -25
  367. package/vue/chunks/UiDescriptionItem.js +6 -24
  368. package/vue/chunks/UiDescriptionList.js +9 -27
  369. package/vue/chunks/UiDialog.js +18 -47
  370. package/vue/chunks/UiDisclosure.js +19 -66
  371. package/vue/chunks/UiEditable.js +18 -60
  372. package/vue/chunks/UiEditorImageToolbar.js +515 -0
  373. package/vue/chunks/UiEditorInsertTableGrid.js +14 -112
  374. package/vue/chunks/UiEditorMentionMenu.js +16 -54
  375. package/vue/chunks/UiEditorMentionMenuItem.js +10 -28
  376. package/vue/chunks/UiEditorSlashMenu.js +17 -46
  377. package/vue/chunks/UiEditorSlashMenuGroup.js +7 -25
  378. package/vue/chunks/UiEditorSlashMenuItem.js +16 -31
  379. package/vue/chunks/UiEditorSurface.js +7 -25
  380. package/vue/chunks/UiEditorTableContextMenu.js +25 -102
  381. package/vue/chunks/UiEditorTableOverlay.js +41 -104
  382. package/vue/chunks/UiEditorTableToolbar.js +44 -122
  383. package/vue/chunks/UiEditorToolbar.js +7 -26
  384. package/vue/chunks/UiFloatingActionButton.js +10 -28
  385. package/vue/chunks/UiFormField.js +8 -27
  386. package/vue/chunks/UiGrid.js +10 -28
  387. package/vue/chunks/UiIcon.js +21 -74
  388. package/vue/chunks/UiIconButton.js +18 -50
  389. package/vue/chunks/UiImage.js +14 -33
  390. package/vue/chunks/UiInput.js +12 -31
  391. package/vue/chunks/UiInputGroup.js +10 -29
  392. package/vue/chunks/UiList.js +17 -37
  393. package/vue/chunks/UiListItem.js +12 -30
  394. package/vue/chunks/UiListbox.js +22 -124
  395. package/vue/chunks/UiMenu.js +13 -32
  396. package/vue/chunks/UiMenuGroup.js +8 -26
  397. package/vue/chunks/UiMenuItem.js +35 -80
  398. package/vue/chunks/UiMeter.js +17 -351
  399. package/vue/chunks/UiNavItem.js +23 -57
  400. package/vue/chunks/UiPageHeader.js +7 -25
  401. package/vue/chunks/UiPopover.js +9 -28
  402. package/vue/chunks/UiRadio.js +11 -43
  403. package/vue/chunks/UiRadioGroup.js +13 -32
  404. package/vue/chunks/UiReel.js +10 -28
  405. package/vue/chunks/UiScrollArea.js +10 -29
  406. package/vue/chunks/UiSearchResultRow.js +10 -28
  407. package/vue/chunks/UiSearchShell.js +9 -28
  408. package/vue/chunks/UiSection.js +9 -27
  409. package/vue/chunks/UiSelect.js +10 -29
  410. package/vue/chunks/UiSeparator.js +10 -28
  411. package/vue/chunks/UiSidebar.js +15 -47
  412. package/vue/chunks/UiSpinner.js +8 -44
  413. package/vue/chunks/UiStack.js +12 -30
  414. package/vue/chunks/UiStatusMessage.js +10 -42
  415. package/vue/chunks/UiSwitch.js +11 -43
  416. package/vue/chunks/UiSwitcher.js +9 -28
  417. package/vue/chunks/UiTable.js +7 -26
  418. package/vue/chunks/UiTabs.js +15 -91
  419. package/vue/chunks/UiText.js +148 -168
  420. package/vue/chunks/UiTextarea.js +16 -35
  421. package/vue/chunks/UiToast.js +13 -37
  422. package/vue/chunks/UiToastRegion.js +16 -88
  423. package/vue/chunks/UiTooltip.js +14 -46
  424. package/vue/chunks/UiTopBar.js +5 -17
  425. package/vue/chunks/UiTree.js +13 -32
  426. package/vue/chunks/UiTreeItem.js +34 -90
  427. package/vue/chunks/_plugin-vue_export-helper.js +904 -1
  428. package/vue/chunks/control.js +3 -0
  429. package/vue/chunks/props.js +1 -1
  430. package/vue/components.css +7902 -7830
  431. package/vue/editor/index.js +42 -171
  432. package/vue/editor/primitives.d.ts +9 -1
  433. package/vue/host.ts +999 -14
  434. package/vue/index.d.ts +1 -0
  435. package/vue/index.js +9 -8
  436. package/vue/chunks/host.js +0 -443
  437. package/vue/editor/image-controls.d.ts +0 -19
@@ -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 { _ as useComponentHost, i as checkHydratedRoot, o as createDispatch, p as nativeAttrs, t as _plugin_vue_export_helper_default, v 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
4
  import { computed, createCommentVNode, createElementBlock, createElementVNode, defineComponent, getCurrentInstance, mergeProps, openBlock, provide, ref, toDisplayString, unref, useTemplateRef, watchSyncEffect, withDirectives } from "vue";
@@ -44,14 +43,6 @@ var _hoisted_9 = {
44
43
  class: "cancel",
45
44
  type: "button"
46
45
  };
47
- var htmlNextAuthoredCheck2Reported = /* @__PURE__ */ new Set();
48
- function htmlNextAuthoredCheck2(accepted, location, message) {
49
- if (!accepted && !htmlNextAuthoredCheck2Reported.has(location)) {
50
- htmlNextAuthoredCheck2Reported.add(location);
51
- console.warn(message);
52
- }
53
- return accepted;
54
- }
55
46
  //#endregion
56
47
  //#region .build/vue/UiEditable.vue
57
48
  var UiEditable_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
@@ -287,18 +278,7 @@ var UiEditable_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
287
278
  watchSyncEffect(() => {
288
279
  checkedProps.value;
289
280
  });
290
- function nativeAttrs(attrs) {
291
- const names = Object.keys(attrs);
292
- if (!names.some((name) => Object.hasOwn(Object.prototype, name))) return attrs;
293
- return Object.fromEntries(names.map((name) => [Object.hasOwn(Object.prototype, name) ? name === "__proto__" ? "__Proto__" : name[0].toUpperCase() + name.slice(1) : name, attrs[name]]));
294
- }
295
- const componentInstance = getCurrentInstance();
296
- function reflectedProp(name, kebab, value, fallback, bound, separator) {
297
- const incoming = componentInstance?.vnode.props;
298
- if (!bound && (incoming === null || incoming === void 0 || !Object.hasOwn(incoming, name) && !Object.hasOwn(incoming, kebab))) return fallback;
299
- if (value === null || value === void 0) return void 0;
300
- return Array.isArray(value) && separator !== void 0 ? value.join(separator) : typeof value === "object" ? JSON.stringify(value) : String(value);
301
- }
281
+ const reflectedProp = useReflectedProp();
302
282
  const hydrationInstance = getCurrentInstance();
303
283
  const emit = __emit;
304
284
  const root = ref(null);
@@ -307,32 +287,10 @@ var UiEditable_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
307
287
  const internalEdit = ref(false);
308
288
  const internalValue = ref("");
309
289
  const draft = ref("");
310
- let guardedPrevious;
311
- const guarded = computed(() => {
312
- if (!htmlNextAuthoredCheck2(internalValue.value == null || typeof internalValue.value === "string", "$internalValue:internalValue", "./components/ui-editable/ui-editable.html: HR007: Reference internalValue does not satisfy its declared type.")) return guardedPrevious;
313
- return guardedPrevious = internalValue.value;
314
- });
315
- let guardedBindingPrevious;
316
- computed(() => {
317
- if (!htmlNextAuthoredCheck2(draft.value == null || typeof draft.value === "string", "$draft:draft", "./components/ui-editable/ui-editable.html: HR007: Reference draft does not satisfy its declared type.")) return guardedBindingPrevious;
318
- return guardedBindingPrevious = draft.value;
319
- });
320
- let guardedBinding2Previous;
321
- const guardedBinding2 = computed(() => {
322
- if (!htmlNextAuthoredCheck2(internalEdit.value == null || typeof internalEdit.value === "boolean", "$disabled or not $internalEdit:internalEdit", "./components/ui-editable/ui-editable.html: HR007: Reference internalEdit does not satisfy its declared type.")) return guardedBinding2Previous;
323
- return guardedBinding2Previous = checkedProps.value.disabled || !internalEdit.value;
324
- });
325
290
  provide("html-next:ui-editable:internalEdit", internalEdit);
326
291
  provide("html-next:ui-editable:internalValue", internalValue);
327
292
  provide("html-next:ui-editable:draft", draft);
328
- const hydrationNode = hydrationInstance?.vnode.el;
329
- if (typeof window !== "undefined" && hydrationNode != null && (!(hydrationNode instanceof Element) || hydrationNode.localName !== "div")) throw Object.assign(/* @__PURE__ */ new Error("HR005: Server markup for <ui-editable> has an incompatible root."), {
330
- name: "HtmlDiagnosticError",
331
- diagnostic: Object.freeze({
332
- code: "HR005",
333
- message: "Server markup for <ui-editable> has an incompatible root."
334
- })
335
- });
293
+ checkHydratedRoot("div", "ui-editable");
336
294
  /** The values the styles' :host-state() rules test. */
337
295
  const hostState = computed(() => [internalEdit.value && "internalEdit", checkedProps.value.disabled && "disabled"].filter(Boolean).join(" "));
338
296
  const isInputDetail = (detail) => detail !== null && typeof detail === "object" && !Array.isArray(detail) && typeof detail["value"] === "string" && (detail["trigger"] === "keyboard" || detail["trigger"] === "pointer" || detail["trigger"] === "programmatic") && Object.keys(detail).every((key) => ["value", "trigger"].includes(key));
@@ -409,18 +367,18 @@ var UiEditable_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
409
367
  }
410
368
  });
411
369
  return (_ctx, _cache) => {
412
- return withDirectives((openBlock(), createElementBlock("div", mergeProps({ "data-component": "ui-editable" }, nativeAttrs(_ctx.$attrs), {
413
- "data-actions": reflectedProp("actions", "actions", checkedProps.value.actions, void 0, false),
414
- "data-cancel-label": reflectedProp("cancelLabel", "cancel-label", checkedProps.value.cancelLabel, void 0, false),
415
- "data-disabled": reflectedProp("disabled", "disabled", checkedProps.value.disabled, void 0, false),
416
- "data-edit": reflectedProp("edit", "edit", checkedProps.value.edit, void 0, false),
417
- "data-hint": reflectedProp("hint", "hint", checkedProps.value.hint, void 0, false),
418
- "data-label": reflectedProp("label", "label", checkedProps.value.label, void 0, false),
419
- "data-max-length": reflectedProp("maxLength", "max-length", checkedProps.value.maxLength, void 0, false),
420
- "data-placeholder": reflectedProp("placeholder", "placeholder", checkedProps.value.placeholder, void 0, false),
421
- "data-required": reflectedProp("required", "required", checkedProps.value.required, void 0, false),
422
- "data-save-label": reflectedProp("saveLabel", "save-label", checkedProps.value.saveLabel, void 0, false),
423
- "data-value": reflectedProp("value", "value", checkedProps.value.value, void 0, false),
370
+ return withDirectives((openBlock(), createElementBlock("div", mergeProps({ class: "ui-editable" }, unref(nativeAttrs)(_ctx.$attrs), {
371
+ "data-actions": unref(reflectedProp)("actions", "actions", checkedProps.value.actions, void 0, false),
372
+ "data-cancel-label": unref(reflectedProp)("cancelLabel", "cancel-label", checkedProps.value.cancelLabel, void 0, false),
373
+ "data-disabled": unref(reflectedProp)("disabled", "disabled", checkedProps.value.disabled, void 0, false),
374
+ "data-edit": unref(reflectedProp)("edit", "edit", checkedProps.value.edit, void 0, false),
375
+ "data-hint": unref(reflectedProp)("hint", "hint", checkedProps.value.hint, void 0, false),
376
+ "data-label": unref(reflectedProp)("label", "label", checkedProps.value.label, void 0, false),
377
+ "data-max-length": unref(reflectedProp)("maxLength", "max-length", checkedProps.value.maxLength, void 0, false),
378
+ "data-placeholder": unref(reflectedProp)("placeholder", "placeholder", checkedProps.value.placeholder, void 0, false),
379
+ "data-required": unref(reflectedProp)("required", "required", checkedProps.value.required, void 0, false),
380
+ "data-save-label": unref(reflectedProp)("saveLabel", "save-label", checkedProps.value.saveLabel, void 0, false),
381
+ "data-value": unref(reflectedProp)("value", "value", checkedProps.value.value, void 0, false),
424
382
  "data-ui-editable-state": hostState.value || void 0,
425
383
  ref_key: "root",
426
384
  ref: root
@@ -430,13 +388,13 @@ var UiEditable_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
430
388
  disabled: checkedProps.value.disabled ?? void 0,
431
389
  ref_key: "previewElement",
432
390
  ref: previewElement
433
- }, [createElementVNode("span", _hoisted_4, toDisplayString(guarded.value), 1), checkedProps.value.hint ? (openBlock(), createElementBlock("span", _hoisted_5, toDisplayString(checkedProps.value.hint), 1)) : createCommentVNode("v-if", true)], 8, _hoisted_3), withDirectives(createElementVNode("input", {
391
+ }, [createElementVNode("span", _hoisted_4, toDisplayString(internalValue.value), 1), checkedProps.value.hint ? (openBlock(), createElementBlock("span", _hoisted_5, toDisplayString(checkedProps.value.hint), 1)) : createCommentVNode("v-if", true)], 8, _hoisted_3), withDirectives(createElementVNode("input", {
434
392
  class: "input",
435
393
  type: "text",
436
394
  "aria-label": checkedProps.value.label ?? void 0,
437
395
  placeholder: checkedProps.value.placeholder ?? void 0,
438
396
  required: checkedProps.value.required ?? void 0,
439
- disabled: guardedBinding2.value,
397
+ disabled: checkedProps.value.disabled || !internalEdit.value,
440
398
  ref_key: "inputElement",
441
399
  ref: inputElement
442
400
  }, null, 8, _hoisted_6), [[unref(vBindControl), {
@@ -451,6 +409,6 @@ var UiEditable_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
451
409
  }]]);
452
410
  };
453
411
  }
454
- }), [["__scopeId", "data-v-cdc1c49d"]]);
412
+ }), [["__scopeId", "data-v-00a0810b"]]);
455
413
  //#endregion
456
414
  export { UiEditable_default as t };
@@ -0,0 +1,515 @@
1
+ import { _ as useComponentHost, a as concat, i as checkHydratedRoot, o as createDispatch, p as nativeAttrs, v 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 UiCluster_default } from "./UiCluster.js";
6
+ import { t as UiTooltip_default } from "./UiTooltip.js";
7
+ import { t as UiEditorToolbar_default } from "./UiEditorToolbar.js";
8
+ import { t as UiFormField_default } from "./UiFormField.js";
9
+ import { t as UiIconButton_default } from "./UiIconButton.js";
10
+ import { t as UiInput_default } from "./UiInput.js";
11
+ import { t as UiPopover_default } from "./UiPopover.js";
12
+ import { t as UiStack_default } from "./UiStack.js";
13
+ import { t as UiText_default } from "./UiText.js";
14
+ import { computed, createElementBlock, createElementVNode, createTextVNode, createVNode, defineComponent, getCurrentInstance, mergeProps, openBlock, provide, ref, unref, watchSyncEffect, withCtx, withDirectives } from "vue";
15
+ //#region .build/vue/UiEditorImageToolbar.vue?vue&type=script&setup=true&lang.ts
16
+ var _hoisted_1 = [
17
+ "data-alt",
18
+ "data-placement",
19
+ "data-target"
20
+ ];
21
+ var _hoisted_2 = { "aria-label": "Image description" };
22
+ var _hoisted_3 = ["for"];
23
+ //#endregion
24
+ //#region .build/vue/UiEditorImageToolbar.vue
25
+ var UiEditorImageToolbar_default = /* @__PURE__ */ defineComponent({
26
+ inheritAttrs: false,
27
+ __name: "UiEditorImageToolbar",
28
+ props: {
29
+ alt: {
30
+ type: null,
31
+ default: ""
32
+ },
33
+ placement: {
34
+ type: null,
35
+ default: "block"
36
+ },
37
+ target: {
38
+ type: null,
39
+ default: ""
40
+ }
41
+ },
42
+ emits: [
43
+ "update:alt",
44
+ "update:placement",
45
+ "placement",
46
+ "describe",
47
+ "delete"
48
+ ],
49
+ setup(__props, { emit: __emit }) {
50
+ const propValidityContract = { props: {
51
+ alt: {
52
+ type: {
53
+ kind: "terminal",
54
+ name: "string"
55
+ },
56
+ required: false,
57
+ target: { attribute: "alt" },
58
+ description: "The selected image's description, which the description form starts from.",
59
+ default: ""
60
+ },
61
+ placement: {
62
+ type: {
63
+ kind: "terminal",
64
+ name: "keyword"
65
+ },
66
+ required: false,
67
+ target: { attribute: "placement" },
68
+ description: "How the selected image sits in the text; its command shows as pressed.",
69
+ values: [
70
+ "block",
71
+ "center",
72
+ "wrap-left",
73
+ "wrap-right"
74
+ ],
75
+ default: "block"
76
+ },
77
+ target: {
78
+ type: {
79
+ kind: "terminal",
80
+ name: "string"
81
+ },
82
+ required: false,
83
+ target: { attribute: "target" },
84
+ description: "Identifies the image the toolbar acts on. When it changes, an open description draft is cancelled rather than applied to another image.",
85
+ default: ""
86
+ }
87
+ } };
88
+ const props = __props;
89
+ const acceptedProps = {
90
+ alt: "",
91
+ placement: "block",
92
+ target: ""
93
+ };
94
+ const checkedProps = computed(() => ({
95
+ alt: checkedProp(props["alt"], {
96
+ kind: "terminal",
97
+ name: "string"
98
+ }, false, "alt", acceptedProps),
99
+ placement: checkedProp(props["placement"], {
100
+ kind: "terminal",
101
+ name: "keyword"
102
+ }, false, "placement", acceptedProps),
103
+ target: checkedProp(props["target"], {
104
+ kind: "terminal",
105
+ name: "string"
106
+ }, false, "target", acceptedProps)
107
+ }));
108
+ checkedProps.value;
109
+ watchSyncEffect(() => {
110
+ checkedProps.value;
111
+ });
112
+ const reflectedProp = useReflectedProp();
113
+ const hydrationInstance = getCurrentInstance();
114
+ const emit = __emit;
115
+ const root = ref(null);
116
+ const base = ref("ui-editor-image-toolbar");
117
+ const describing = ref(false);
118
+ const draft = ref("");
119
+ let guardedPrevious = null;
120
+ const guarded = computed(() => {
121
+ const candidate = concat(base.value, "-block");
122
+ if (candidate === Symbol.for("html-next.invalid-result")) return guardedPrevious;
123
+ return guardedPrevious = candidate;
124
+ });
125
+ let guardedBindingPrevious = null;
126
+ const guardedBinding = computed(() => {
127
+ 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])({
128
+ true: "outline",
129
+ false: "ghost"
130
+ }, concat(checkedProps.value.placement === "block"));
131
+ if (candidate === Symbol.for("html-next.invalid-result")) return guardedBindingPrevious;
132
+ return guardedBindingPrevious = candidate;
133
+ });
134
+ let guardedBinding2Previous = null;
135
+ const guardedBinding2 = computed(() => {
136
+ const candidate = concat(checkedProps.value.placement === "block");
137
+ if (candidate === Symbol.for("html-next.invalid-result")) return guardedBinding2Previous;
138
+ return guardedBinding2Previous = candidate;
139
+ });
140
+ let guardedBinding3Previous = null;
141
+ const guardedBinding3 = computed(() => {
142
+ const candidate = concat(base.value, "-center");
143
+ if (candidate === Symbol.for("html-next.invalid-result")) return guardedBinding3Previous;
144
+ return guardedBinding3Previous = candidate;
145
+ });
146
+ let guardedBinding4Previous = null;
147
+ const guardedBinding4 = computed(() => {
148
+ 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])({
149
+ true: "outline",
150
+ false: "ghost"
151
+ }, concat(checkedProps.value.placement === "center"));
152
+ if (candidate === Symbol.for("html-next.invalid-result")) return guardedBinding4Previous;
153
+ return guardedBinding4Previous = candidate;
154
+ });
155
+ let guardedBinding5Previous = null;
156
+ const guardedBinding5 = computed(() => {
157
+ const candidate = concat(checkedProps.value.placement === "center");
158
+ if (candidate === Symbol.for("html-next.invalid-result")) return guardedBinding5Previous;
159
+ return guardedBinding5Previous = candidate;
160
+ });
161
+ let guardedBinding6Previous = null;
162
+ const guardedBinding6 = computed(() => {
163
+ const candidate = concat(base.value, "-wrap-left");
164
+ if (candidate === Symbol.for("html-next.invalid-result")) return guardedBinding6Previous;
165
+ return guardedBinding6Previous = candidate;
166
+ });
167
+ let guardedBinding7Previous = null;
168
+ const guardedBinding7 = computed(() => {
169
+ 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])({
170
+ true: "outline",
171
+ false: "ghost"
172
+ }, concat(checkedProps.value.placement === "wrap-left"));
173
+ if (candidate === Symbol.for("html-next.invalid-result")) return guardedBinding7Previous;
174
+ return guardedBinding7Previous = candidate;
175
+ });
176
+ let guardedBinding8Previous = null;
177
+ const guardedBinding8 = computed(() => {
178
+ const candidate = concat(checkedProps.value.placement === "wrap-left");
179
+ if (candidate === Symbol.for("html-next.invalid-result")) return guardedBinding8Previous;
180
+ return guardedBinding8Previous = candidate;
181
+ });
182
+ let guardedBinding9Previous = null;
183
+ const guardedBinding9 = computed(() => {
184
+ const candidate = concat(base.value, "-wrap-right");
185
+ if (candidate === Symbol.for("html-next.invalid-result")) return guardedBinding9Previous;
186
+ return guardedBinding9Previous = candidate;
187
+ });
188
+ let guardedBinding10Previous = null;
189
+ const guardedBinding10 = computed(() => {
190
+ 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])({
191
+ true: "outline",
192
+ false: "ghost"
193
+ }, concat(checkedProps.value.placement === "wrap-right"));
194
+ if (candidate === Symbol.for("html-next.invalid-result")) return guardedBinding10Previous;
195
+ return guardedBinding10Previous = candidate;
196
+ });
197
+ let guardedBinding11Previous = null;
198
+ const guardedBinding11 = computed(() => {
199
+ const candidate = concat(checkedProps.value.placement === "wrap-right");
200
+ if (candidate === Symbol.for("html-next.invalid-result")) return guardedBinding11Previous;
201
+ return guardedBinding11Previous = candidate;
202
+ });
203
+ let guardedBinding12Previous = null;
204
+ const guardedBinding12 = computed(() => {
205
+ const candidate = concat(base.value, "-delete");
206
+ if (candidate === Symbol.for("html-next.invalid-result")) return guardedBinding12Previous;
207
+ return guardedBinding12Previous = candidate;
208
+ });
209
+ let guardedBinding13Previous = null;
210
+ const guardedBinding13 = computed(() => {
211
+ const candidate = concat(base.value, "-block");
212
+ if (candidate === Symbol.for("html-next.invalid-result")) return guardedBinding13Previous;
213
+ return guardedBinding13Previous = candidate;
214
+ });
215
+ let guardedBinding14Previous = null;
216
+ const guardedBinding14 = computed(() => {
217
+ const candidate = concat(base.value, "-center");
218
+ if (candidate === Symbol.for("html-next.invalid-result")) return guardedBinding14Previous;
219
+ return guardedBinding14Previous = candidate;
220
+ });
221
+ let guardedBinding15Previous = null;
222
+ const guardedBinding15 = computed(() => {
223
+ const candidate = concat(base.value, "-wrap-left");
224
+ if (candidate === Symbol.for("html-next.invalid-result")) return guardedBinding15Previous;
225
+ return guardedBinding15Previous = candidate;
226
+ });
227
+ let guardedBinding16Previous = null;
228
+ const guardedBinding16 = computed(() => {
229
+ const candidate = concat(base.value, "-wrap-right");
230
+ if (candidate === Symbol.for("html-next.invalid-result")) return guardedBinding16Previous;
231
+ return guardedBinding16Previous = candidate;
232
+ });
233
+ let guardedBinding17Previous = null;
234
+ const guardedBinding17 = computed(() => {
235
+ const candidate = concat(base.value, "-delete");
236
+ if (candidate === Symbol.for("html-next.invalid-result")) return guardedBinding17Previous;
237
+ return guardedBinding17Previous = candidate;
238
+ });
239
+ let guardedBinding18Previous = null;
240
+ const guardedBinding18 = computed(() => {
241
+ const candidate = concat(base.value, "-alt");
242
+ if (candidate === Symbol.for("html-next.invalid-result")) return guardedBinding18Previous;
243
+ return guardedBinding18Previous = candidate;
244
+ });
245
+ let guardedBinding19Previous = null;
246
+ const guardedBinding19 = computed(() => {
247
+ const candidate = concat(base.value, "-alt");
248
+ if (candidate === Symbol.for("html-next.invalid-result")) return guardedBinding19Previous;
249
+ return guardedBinding19Previous = candidate;
250
+ });
251
+ provide("html-next:ui-editor-image-toolbar:base", base);
252
+ provide("html-next:ui-editor-image-toolbar:describing", describing);
253
+ provide("html-next:ui-editor-image-toolbar:draft", draft);
254
+ checkHydratedRoot("div", "ui-editor-image-toolbar");
255
+ const isPlacementDetail = (detail) => detail !== null && typeof detail === "object" && !Array.isArray(detail) && (detail["placement"] === "block" || detail["placement"] === "center" || detail["placement"] === "wrap-left" || detail["placement"] === "wrap-right") && Object.keys(detail).every((key) => ["placement"].includes(key));
256
+ const isDescribeDetail = (detail) => detail !== null && typeof detail === "object" && !Array.isArray(detail) && typeof detail["alt"] === "string" && Object.keys(detail).every((key) => ["alt"].includes(key));
257
+ const isDeleteDetail = (detail) => detail !== null && typeof detail === "object" && !Array.isArray(detail) && Object.values(detail).every((item) => true);
258
+ const dispatch = createDispatch(root, emit, {
259
+ checks: {
260
+ placement: isPlacementDetail,
261
+ describe: isDescribeDetail,
262
+ delete: isDeleteDetail
263
+ },
264
+ modeled: ["alt", "placement"]
265
+ });
266
+ useComponentHost(() => import("@threadlabs/looma/components/ui-editor-image-toolbar/ui-editor-image-toolbar.js"), {
267
+ root,
268
+ dispatch,
269
+ acceptsState: (name, keys, value) => acceptsControllerWrite(value, {
270
+ base: {
271
+ kind: "terminal",
272
+ name: "string"
273
+ },
274
+ describing: {
275
+ kind: "terminal",
276
+ name: "boolean"
277
+ },
278
+ draft: {
279
+ kind: "terminal",
280
+ name: "string"
281
+ }
282
+ }[name], keys),
283
+ controllerSource: {
284
+ specifier: "../components/ui-editor-image-toolbar/ui-editor-image-toolbar.js",
285
+ definition: "./components/ui-editor-image-toolbar/ui-editor-image-toolbar.html"
286
+ },
287
+ props: checkedProps,
288
+ propInputs: (name) => {
289
+ const incoming = hydrationInstance?.vnode.props;
290
+ const kebab = name.replace(/[A-Z]/g, (letter) => "-" + letter.toLowerCase());
291
+ return incoming !== null && incoming !== void 0 ? incoming[name] ?? incoming[kebab] ?? null : null;
292
+ },
293
+ propNames: [
294
+ "alt",
295
+ "placement",
296
+ "target"
297
+ ],
298
+ propValidity: (name) => propValidityState({
299
+ contract: propValidityContract,
300
+ values: { ...props }
301
+ }, name),
302
+ state: {
303
+ base,
304
+ describing,
305
+ draft
306
+ }
307
+ });
308
+ return (_ctx, _cache) => {
309
+ return withDirectives((openBlock(), createElementBlock("div", mergeProps(unref(nativeAttrs)(_ctx.$attrs), {
310
+ "data-alt": unref(reflectedProp)("alt", "alt", checkedProps.value.alt, void 0, false),
311
+ "data-placement": unref(reflectedProp)("placement", "placement", checkedProps.value.placement, void 0, false),
312
+ "data-target": unref(reflectedProp)("target", "target", checkedProps.value.target, void 0, false),
313
+ ref_key: "root",
314
+ ref: root
315
+ }), [createVNode(UiText_default, {
316
+ as: "div",
317
+ font: "sans"
318
+ }, {
319
+ default: withCtx(() => [
320
+ createVNode(UiEditorToolbar_default, {
321
+ "aria-label": "Image actions",
322
+ floating: true
323
+ }, {
324
+ default: withCtx(() => [
325
+ createVNode(UiIconButton_default, {
326
+ label: "Image in line",
327
+ size: "sm",
328
+ "data-image-placement": "block",
329
+ id: guarded.value,
330
+ variant: guardedBinding.value,
331
+ "aria-pressed": guardedBinding2.value
332
+ }, {
333
+ default: withCtx(() => [createVNode(UiIcon_default, {
334
+ name: "panel-top",
335
+ size: "sm"
336
+ })]),
337
+ _: 1
338
+ }, 8, [
339
+ "id",
340
+ "variant",
341
+ "aria-pressed"
342
+ ]),
343
+ createVNode(UiIconButton_default, {
344
+ label: "Center image",
345
+ size: "sm",
346
+ "data-image-placement": "center",
347
+ id: guardedBinding3.value,
348
+ variant: guardedBinding4.value,
349
+ "aria-pressed": guardedBinding5.value
350
+ }, {
351
+ default: withCtx(() => [createVNode(UiIcon_default, {
352
+ name: "align-center",
353
+ size: "sm"
354
+ })]),
355
+ _: 1
356
+ }, 8, [
357
+ "id",
358
+ "variant",
359
+ "aria-pressed"
360
+ ]),
361
+ createVNode(UiIconButton_default, {
362
+ label: "Wrap text to the right",
363
+ size: "sm",
364
+ "data-image-placement": "wrap-left",
365
+ id: guardedBinding6.value,
366
+ variant: guardedBinding7.value,
367
+ "aria-pressed": guardedBinding8.value
368
+ }, {
369
+ default: withCtx(() => [createVNode(UiIcon_default, {
370
+ name: "panel-left",
371
+ size: "sm"
372
+ })]),
373
+ _: 1
374
+ }, 8, [
375
+ "id",
376
+ "variant",
377
+ "aria-pressed"
378
+ ]),
379
+ createVNode(UiIconButton_default, {
380
+ label: "Wrap text to the left",
381
+ size: "sm",
382
+ "data-image-placement": "wrap-right",
383
+ id: guardedBinding9.value,
384
+ variant: guardedBinding10.value,
385
+ "aria-pressed": guardedBinding11.value
386
+ }, {
387
+ default: withCtx(() => [createVNode(UiIcon_default, {
388
+ name: "panel-right",
389
+ size: "sm"
390
+ })]),
391
+ _: 1
392
+ }, 8, [
393
+ "id",
394
+ "variant",
395
+ "aria-pressed"
396
+ ]),
397
+ createVNode(UiIconButton_default, {
398
+ label: "Image description",
399
+ size: "sm",
400
+ variant: "ghost",
401
+ id: base.value
402
+ }, {
403
+ default: withCtx(() => [createVNode(UiIcon_default, {
404
+ name: "file-text",
405
+ size: "sm"
406
+ })]),
407
+ _: 1
408
+ }, 8, ["id"]),
409
+ createVNode(UiIconButton_default, {
410
+ label: "Delete image",
411
+ size: "sm",
412
+ variant: "ghost",
413
+ "data-image-action": "delete",
414
+ id: guardedBinding12.value
415
+ }, {
416
+ default: withCtx(() => [createVNode(UiIcon_default, {
417
+ name: "trash",
418
+ size: "sm"
419
+ })]),
420
+ _: 1
421
+ }, 8, ["id"])
422
+ ]),
423
+ _: 1
424
+ }),
425
+ createVNode(UiTooltip_default, { for: guardedBinding13.value }, {
426
+ default: withCtx(() => [..._cache[0] || (_cache[0] = [createTextVNode("Image in line", -1)])]),
427
+ _: 1
428
+ }, 8, ["for"]),
429
+ createVNode(UiTooltip_default, { for: guardedBinding14.value }, {
430
+ default: withCtx(() => [..._cache[1] || (_cache[1] = [createTextVNode("Center image", -1)])]),
431
+ _: 1
432
+ }, 8, ["for"]),
433
+ createVNode(UiTooltip_default, { for: guardedBinding15.value }, {
434
+ default: withCtx(() => [..._cache[2] || (_cache[2] = [createTextVNode("Wrap text to the right", -1)])]),
435
+ _: 1
436
+ }, 8, ["for"]),
437
+ createVNode(UiTooltip_default, { for: guardedBinding16.value }, {
438
+ default: withCtx(() => [..._cache[3] || (_cache[3] = [createTextVNode("Wrap text to the left", -1)])]),
439
+ _: 1
440
+ }, 8, ["for"]),
441
+ createVNode(UiTooltip_default, { for: base.value }, {
442
+ default: withCtx(() => [..._cache[4] || (_cache[4] = [createTextVNode("Image description", -1)])]),
443
+ _: 1
444
+ }, 8, ["for"]),
445
+ createVNode(UiTooltip_default, { for: guardedBinding17.value }, {
446
+ default: withCtx(() => [..._cache[5] || (_cache[5] = [createTextVNode("Delete image", -1)])]),
447
+ _: 1
448
+ }, 8, ["for"]),
449
+ createVNode(UiPopover_default, {
450
+ "data-image-description": "",
451
+ size: "sm",
452
+ "aria-label": "Image description",
453
+ for: base.value,
454
+ open: describing.value
455
+ }, {
456
+ default: withCtx(() => [createElementVNode("form", _hoisted_2, [createVNode(UiStack_default, { gap: "s" }, {
457
+ default: withCtx(() => [
458
+ createVNode(UiFormField_default, null, {
459
+ default: withCtx(() => [createElementVNode("label", {
460
+ slot: "label",
461
+ for: guardedBinding18.value
462
+ }, "Alt text", 8, _hoisted_3), createVNode(UiInput_default, {
463
+ "data-image-alt": "",
464
+ size: "sm",
465
+ id: guardedBinding19.value,
466
+ value: draft.value
467
+ }, null, 8, ["id", "value"])]),
468
+ _: 1
469
+ }),
470
+ createVNode(UiText_default, {
471
+ size: "xs",
472
+ tone: "secondary"
473
+ }, {
474
+ default: withCtx(() => [..._cache[6] || (_cache[6] = [createTextVNode("Describe the image for people using a screen reader.", -1)])]),
475
+ _: 1
476
+ }),
477
+ createVNode(UiCluster_default, {
478
+ justify: "end",
479
+ gap: "xs"
480
+ }, {
481
+ default: withCtx(() => [createVNode(UiButton_default, {
482
+ type: "button",
483
+ variant: "ghost",
484
+ tone: "neutral",
485
+ size: "sm",
486
+ "data-image-action": "cancel"
487
+ }, {
488
+ default: withCtx(() => [..._cache[7] || (_cache[7] = [createTextVNode("Cancel", -1)])]),
489
+ _: 1
490
+ }), createVNode(UiButton_default, {
491
+ type: "submit",
492
+ variant: "solid",
493
+ size: "sm"
494
+ }, {
495
+ default: withCtx(() => [..._cache[8] || (_cache[8] = [createTextVNode("Save", -1)])]),
496
+ _: 1
497
+ })]),
498
+ _: 1
499
+ })
500
+ ]),
501
+ _: 1
502
+ })])]),
503
+ _: 1
504
+ }, 8, ["for", "open"])
505
+ ]),
506
+ _: 1
507
+ })], 16, _hoisted_1)), [[unref(vPropValidity), {
508
+ contract: propValidityContract,
509
+ values: { ...props }
510
+ }]]);
511
+ };
512
+ }
513
+ });
514
+ //#endregion
515
+ export { UiEditorImageToolbar_default as t };