@threadlabs/looma 0.28.5 → 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 (429) hide show
  1. package/components/ui-editor-mention-menu-item/ui-editor-mention-menu-item.html +3 -2
  2. package/dist/index.js +1 -1
  3. package/package.json +3 -2
  4. package/styles/ui-action-bar.css +13 -6
  5. package/styles/ui-affordance-scope.css +12 -5
  6. package/styles/ui-avatar-group.css +17 -10
  7. package/styles/ui-avatar.css +23 -16
  8. package/styles/ui-badge.css +78 -71
  9. package/styles/ui-breadcrumb-item.css +12 -5
  10. package/styles/ui-breadcrumbs.css +10 -3
  11. package/styles/ui-button.css +79 -72
  12. package/styles/ui-callout.css +29 -22
  13. package/styles/ui-card.css +25 -18
  14. package/styles/ui-checkbox.css +45 -37
  15. package/styles/ui-cluster.css +34 -27
  16. package/styles/ui-combobox.css +46 -39
  17. package/styles/ui-container.css +20 -13
  18. package/styles/ui-context-menu.css +17 -10
  19. package/styles/ui-cover.css +12 -5
  20. package/styles/ui-description-item.css +10 -3
  21. package/styles/ui-description-list.css +20 -13
  22. package/styles/ui-dialog.css +44 -35
  23. package/styles/ui-disclosure.css +32 -25
  24. package/styles/ui-editable.css +15 -8
  25. package/styles/ui-editor-image-toolbar.css +1 -1
  26. package/styles/ui-editor-insert-table-grid.css +11 -4
  27. package/styles/ui-editor-mention-menu-item.css +17 -8
  28. package/styles/ui-editor-mention-menu.css +14 -7
  29. package/styles/ui-editor-slash-menu-group.css +10 -3
  30. package/styles/ui-editor-slash-menu-item.css +15 -8
  31. package/styles/ui-editor-slash-menu.css +15 -8
  32. package/styles/ui-editor-surface.css +10 -3
  33. package/styles/ui-editor-table-context-menu.css +17 -10
  34. package/styles/ui-editor-table-overlay.css +17 -10
  35. package/styles/ui-editor-table-toolbar.css +22 -15
  36. package/styles/ui-editor-toolbar.css +18 -11
  37. package/styles/ui-floating-action-button.css +21 -14
  38. package/styles/ui-form-field.css +20 -13
  39. package/styles/ui-grid.css +21 -14
  40. package/styles/ui-icon-button.css +80 -73
  41. package/styles/ui-icon.css +14 -7
  42. package/styles/ui-image.css +25 -18
  43. package/styles/ui-input-group.css +34 -27
  44. package/styles/ui-input.css +42 -35
  45. package/styles/ui-list-item.css +33 -26
  46. package/styles/ui-list.css +22 -15
  47. package/styles/ui-listbox.css +22 -14
  48. package/styles/ui-menu-group.css +10 -3
  49. package/styles/ui-menu-item.css +29 -22
  50. package/styles/ui-menu.css +25 -18
  51. package/styles/ui-meter.css +36 -29
  52. package/styles/ui-nav-item.css +26 -19
  53. package/styles/ui-page-header.css +12 -5
  54. package/styles/ui-popover.css +27 -20
  55. package/styles/ui-radio-group.css +14 -6
  56. package/styles/ui-radio.css +24 -17
  57. package/styles/ui-reel.css +28 -21
  58. package/styles/ui-scroll-area.css +22 -15
  59. package/styles/ui-search-result-row.css +28 -21
  60. package/styles/ui-search-shell.css +24 -17
  61. package/styles/ui-section.css +14 -7
  62. package/styles/ui-select.css +33 -26
  63. package/styles/ui-separator.css +17 -10
  64. package/styles/ui-sidebar.css +35 -28
  65. package/styles/ui-spinner.css +32 -23
  66. package/styles/ui-stack.css +29 -21
  67. package/styles/ui-status-message.css +14 -7
  68. package/styles/ui-switch.css +29 -22
  69. package/styles/ui-switcher.css +27 -20
  70. package/styles/ui-table.css +14 -7
  71. package/styles/ui-tabs.css +24 -17
  72. package/styles/ui-text.css +35 -28
  73. package/styles/ui-textarea.css +37 -30
  74. package/styles/ui-toast-region.css +74 -63
  75. package/styles/ui-toast.css +21 -14
  76. package/styles/ui-tooltip.css +38 -31
  77. package/styles/ui-top-bar.css +19 -12
  78. package/styles/ui-tree-item.css +79 -71
  79. package/styles/ui-tree.css +18 -11
  80. package/vanilla/UiActionBar.d.ts +1 -1
  81. package/vanilla/UiActionBar.js +1 -1
  82. package/vanilla/UiAffordanceScope.d.ts +1 -1
  83. package/vanilla/UiAffordanceScope.js +1 -1
  84. package/vanilla/UiAvatar.d.ts +1 -1
  85. package/vanilla/UiAvatar.js +1 -1
  86. package/vanilla/UiAvatarGroup.d.ts +1 -1
  87. package/vanilla/UiAvatarGroup.js +1 -1
  88. package/vanilla/UiBadge.d.ts +1 -1
  89. package/vanilla/UiBadge.js +1 -1
  90. package/vanilla/UiBreadcrumbItem.d.ts +1 -1
  91. package/vanilla/UiBreadcrumbItem.js +1 -1
  92. package/vanilla/UiBreadcrumbs.d.ts +1 -1
  93. package/vanilla/UiBreadcrumbs.js +1 -1
  94. package/vanilla/UiButton.d.ts +1 -1
  95. package/vanilla/UiButton.js +19 -57
  96. package/vanilla/UiCallout.d.ts +1 -1
  97. package/vanilla/UiCallout.js +25 -73
  98. package/vanilla/UiCard.d.ts +1 -1
  99. package/vanilla/UiCard.js +1 -1
  100. package/vanilla/UiCheckbox.d.ts +1 -1
  101. package/vanilla/UiCheckbox.js +1 -1
  102. package/vanilla/UiCluster.d.ts +1 -1
  103. package/vanilla/UiCluster.js +1 -1
  104. package/vanilla/UiCombobox.d.ts +1 -1
  105. package/vanilla/UiCombobox.js +60 -166
  106. package/vanilla/UiContainer.d.ts +1 -1
  107. package/vanilla/UiContainer.js +1 -1
  108. package/vanilla/UiContextMenu.d.ts +1 -1
  109. package/vanilla/UiContextMenu.js +1 -1
  110. package/vanilla/UiCover.d.ts +1 -1
  111. package/vanilla/UiCover.js +1 -1
  112. package/vanilla/UiDescriptionItem.d.ts +1 -1
  113. package/vanilla/UiDescriptionItem.js +1 -1
  114. package/vanilla/UiDescriptionList.d.ts +1 -1
  115. package/vanilla/UiDescriptionList.js +1 -1
  116. package/vanilla/UiDialog.d.ts +1 -1
  117. package/vanilla/UiDialog.js +4 -10
  118. package/vanilla/UiDisclosure.d.ts +1 -1
  119. package/vanilla/UiDisclosure.js +1 -1
  120. package/vanilla/UiEditable.d.ts +1 -1
  121. package/vanilla/UiEditable.js +7 -19
  122. package/vanilla/UiEditorImageToolbar.d.ts +1 -1
  123. package/vanilla/UiEditorImageToolbar.js +1 -1
  124. package/vanilla/UiEditorInsertTableGrid.d.ts +1 -1
  125. package/vanilla/UiEditorInsertTableGrid.js +1 -1
  126. package/vanilla/UiEditorMentionMenu.d.ts +1 -1
  127. package/vanilla/UiEditorMentionMenu.js +17 -37
  128. package/vanilla/UiEditorMentionMenuItem.d.ts +1 -1
  129. package/vanilla/UiEditorMentionMenuItem.js +4 -10
  130. package/vanilla/UiEditorSlashMenu.d.ts +1 -1
  131. package/vanilla/UiEditorSlashMenu.js +5 -4
  132. package/vanilla/UiEditorSlashMenuGroup.d.ts +1 -1
  133. package/vanilla/UiEditorSlashMenuGroup.js +1 -1
  134. package/vanilla/UiEditorSlashMenuItem.d.ts +1 -1
  135. package/vanilla/UiEditorSlashMenuItem.js +7 -19
  136. package/vanilla/UiEditorSurface.d.ts +1 -1
  137. package/vanilla/UiEditorSurface.js +1 -1
  138. package/vanilla/UiEditorTableContextMenu.d.ts +1 -1
  139. package/vanilla/UiEditorTableContextMenu.js +6 -14
  140. package/vanilla/UiEditorTableOverlay.d.ts +1 -1
  141. package/vanilla/UiEditorTableOverlay.js +9 -25
  142. package/vanilla/UiEditorTableToolbar.d.ts +1 -1
  143. package/vanilla/UiEditorTableToolbar.js +25 -77
  144. package/vanilla/UiEditorToolbar.d.ts +1 -1
  145. package/vanilla/UiEditorToolbar.js +1 -1
  146. package/vanilla/UiFloatingActionButton.d.ts +1 -1
  147. package/vanilla/UiFloatingActionButton.js +1 -1
  148. package/vanilla/UiFormField.d.ts +1 -1
  149. package/vanilla/UiFormField.js +1 -1
  150. package/vanilla/UiGrid.d.ts +1 -1
  151. package/vanilla/UiGrid.js +1 -1
  152. package/vanilla/UiIcon.d.ts +1 -1
  153. package/vanilla/UiIcon.js +15 -47
  154. package/vanilla/UiIconButton.d.ts +1 -1
  155. package/vanilla/UiIconButton.js +4 -10
  156. package/vanilla/UiImage.d.ts +1 -1
  157. package/vanilla/UiImage.js +1 -1
  158. package/vanilla/UiInput.d.ts +1 -1
  159. package/vanilla/UiInput.js +1 -1
  160. package/vanilla/UiInputGroup.d.ts +1 -1
  161. package/vanilla/UiInputGroup.js +1 -1
  162. package/vanilla/UiList.d.ts +1 -1
  163. package/vanilla/UiList.js +1 -1
  164. package/vanilla/UiListItem.d.ts +1 -1
  165. package/vanilla/UiListItem.js +1 -1
  166. package/vanilla/UiListbox.d.ts +1 -1
  167. package/vanilla/UiListbox.js +4 -10
  168. package/vanilla/UiMenu.d.ts +1 -1
  169. package/vanilla/UiMenu.js +1 -1
  170. package/vanilla/UiMenuGroup.d.ts +1 -1
  171. package/vanilla/UiMenuGroup.js +4 -10
  172. package/vanilla/UiMenuItem.d.ts +1 -1
  173. package/vanilla/UiMenuItem.js +4 -10
  174. package/vanilla/UiMeter.d.ts +1 -1
  175. package/vanilla/UiMeter.js +13 -33
  176. package/vanilla/UiNavItem.d.ts +1 -1
  177. package/vanilla/UiNavItem.js +1 -1
  178. package/vanilla/UiPageHeader.d.ts +1 -1
  179. package/vanilla/UiPageHeader.js +1 -1
  180. package/vanilla/UiPopover.d.ts +1 -1
  181. package/vanilla/UiPopover.js +1 -1
  182. package/vanilla/UiRadio.d.ts +1 -1
  183. package/vanilla/UiRadio.js +1 -1
  184. package/vanilla/UiRadioGroup.d.ts +1 -1
  185. package/vanilla/UiRadioGroup.js +1 -1
  186. package/vanilla/UiReel.d.ts +1 -1
  187. package/vanilla/UiReel.js +1 -1
  188. package/vanilla/UiScrollArea.d.ts +1 -1
  189. package/vanilla/UiScrollArea.js +1 -1
  190. package/vanilla/UiSearchResultRow.d.ts +1 -1
  191. package/vanilla/UiSearchResultRow.js +1 -1
  192. package/vanilla/UiSearchShell.d.ts +1 -1
  193. package/vanilla/UiSearchShell.js +1 -1
  194. package/vanilla/UiSection.d.ts +1 -1
  195. package/vanilla/UiSection.js +1 -1
  196. package/vanilla/UiSelect.d.ts +1 -1
  197. package/vanilla/UiSelect.js +1 -1
  198. package/vanilla/UiSeparator.d.ts +1 -1
  199. package/vanilla/UiSeparator.js +1 -1
  200. package/vanilla/UiSidebar.d.ts +1 -1
  201. package/vanilla/UiSidebar.js +1 -1
  202. package/vanilla/UiSpinner.d.ts +1 -1
  203. package/vanilla/UiSpinner.js +1 -1
  204. package/vanilla/UiStack.d.ts +1 -1
  205. package/vanilla/UiStack.js +1 -1
  206. package/vanilla/UiStatusMessage.d.ts +1 -1
  207. package/vanilla/UiStatusMessage.js +1 -1
  208. package/vanilla/UiSwitch.d.ts +1 -1
  209. package/vanilla/UiSwitch.js +1 -1
  210. package/vanilla/UiSwitcher.d.ts +1 -1
  211. package/vanilla/UiSwitcher.js +1 -1
  212. package/vanilla/UiTable.d.ts +1 -1
  213. package/vanilla/UiTable.js +1 -1
  214. package/vanilla/UiTabs.d.ts +1 -1
  215. package/vanilla/UiTabs.js +1 -1
  216. package/vanilla/UiText.d.ts +1 -1
  217. package/vanilla/UiText.js +1 -1
  218. package/vanilla/UiTextarea.d.ts +1 -1
  219. package/vanilla/UiTextarea.js +1 -1
  220. package/vanilla/UiToast.d.ts +1 -1
  221. package/vanilla/UiToast.js +1 -1
  222. package/vanilla/UiToastRegion.d.ts +1 -1
  223. package/vanilla/UiToastRegion.js +1 -1
  224. package/vanilla/UiTooltip.d.ts +1 -1
  225. package/vanilla/UiTooltip.js +1 -1
  226. package/vanilla/UiTopBar.d.ts +1 -1
  227. package/vanilla/UiTopBar.js +1 -1
  228. package/vanilla/UiTree.d.ts +1 -1
  229. package/vanilla/UiTree.js +1 -1
  230. package/vanilla/UiTreeItem.d.ts +1 -1
  231. package/vanilla/UiTreeItem.js +7 -19
  232. package/vue/UiActionBar.vue +46 -78
  233. package/vue/UiAffordanceScope.vue +27 -66
  234. package/vue/UiAvatar.d.ts +10 -7
  235. package/vue/UiAvatar.vue +100 -218
  236. package/vue/UiAvatarGroup.d.ts +10 -7
  237. package/vue/UiAvatarGroup.vue +78 -160
  238. package/vue/UiBadge.d.ts +1 -1
  239. package/vue/UiBadge.vue +483 -520
  240. package/vue/UiBreadcrumbItem.vue +52 -123
  241. package/vue/UiBreadcrumbs.vue +27 -70
  242. package/vue/UiButton.d.ts +2 -2
  243. package/vue/UiButton.vue +420 -471
  244. package/vue/UiCallout.vue +131 -175
  245. package/vue/UiCard.d.ts +1 -1
  246. package/vue/UiCard.vue +112 -151
  247. package/vue/UiCheckbox.d.ts +13 -10
  248. package/vue/UiCheckbox.vue +160 -221
  249. package/vue/UiCluster.d.ts +1 -1
  250. package/vue/UiCluster.vue +84 -128
  251. package/vue/UiCombobox.d.ts +71 -68
  252. package/vue/UiCombobox.vue +417 -743
  253. package/vue/UiContainer.vue +43 -87
  254. package/vue/UiContextMenu.d.ts +6 -6
  255. package/vue/UiContextMenu.vue +78 -117
  256. package/vue/UiCover.vue +29 -69
  257. package/vue/UiDescriptionItem.vue +39 -82
  258. package/vue/UiDescriptionList.vue +64 -107
  259. package/vue/UiDialog.d.ts +22 -19
  260. package/vue/UiDialog.vue +193 -246
  261. package/vue/UiDisclosure.d.ts +22 -19
  262. package/vue/UiDisclosure.vue +192 -283
  263. package/vue/UiEditable.d.ts +5 -5
  264. package/vue/UiEditable.vue +124 -207
  265. package/vue/UiEditorImageToolbar.d.ts +2 -2
  266. package/vue/UiEditorImageToolbar.vue +41 -251
  267. package/vue/UiEditorInsertTableGrid.d.ts +2 -2
  268. package/vue/UiEditorInsertTableGrid.vue +98 -266
  269. package/vue/UiEditorMentionMenu.d.ts +15 -12
  270. package/vue/UiEditorMentionMenu.vue +150 -239
  271. package/vue/UiEditorMentionMenuItem.vue +66 -110
  272. package/vue/UiEditorSlashMenu.d.ts +16 -13
  273. package/vue/UiEditorSlashMenu.vue +172 -253
  274. package/vue/UiEditorSlashMenuGroup.vue +25 -69
  275. package/vue/UiEditorSlashMenuItem.vue +67 -115
  276. package/vue/UiEditorSurface.vue +19 -63
  277. package/vue/UiEditorTableContextMenu.vue +135 -269
  278. package/vue/UiEditorTableOverlay.d.ts +2 -2
  279. package/vue/UiEditorTableOverlay.vue +310 -479
  280. package/vue/UiEditorTableToolbar.d.ts +2 -2
  281. package/vue/UiEditorTableToolbar.vue +182 -357
  282. package/vue/UiEditorToolbar.vue +143 -183
  283. package/vue/UiFloatingActionButton.vue +70 -114
  284. package/vue/UiFormField.d.ts +1 -1
  285. package/vue/UiFormField.vue +76 -117
  286. package/vue/UiGrid.d.ts +1 -1
  287. package/vue/UiGrid.vue +65 -103
  288. package/vue/UiIcon.vue +32 -106
  289. package/vue/UiIconButton.d.ts +2 -2
  290. package/vue/UiIconButton.vue +359 -411
  291. package/vue/UiImage.vue +145 -180
  292. package/vue/UiInput.vue +158 -190
  293. package/vue/UiInputGroup.vue +199 -239
  294. package/vue/UiList.vue +67 -109
  295. package/vue/UiListItem.vue +154 -201
  296. package/vue/UiListbox.d.ts +10 -7
  297. package/vue/UiListbox.vue +86 -260
  298. package/vue/UiMenu.d.ts +11 -11
  299. package/vue/UiMenu.vue +118 -152
  300. package/vue/UiMenuGroup.vue +21 -67
  301. package/vue/UiMenuItem.d.ts +19 -16
  302. package/vue/UiMenuItem.vue +169 -262
  303. package/vue/UiMeter.d.ts +4 -4
  304. package/vue/UiMeter.vue +166 -680
  305. package/vue/UiNavItem.vue +140 -213
  306. package/vue/UiPageHeader.vue +81 -127
  307. package/vue/UiPopover.d.ts +7 -7
  308. package/vue/UiPopover.vue +90 -129
  309. package/vue/UiRadio.d.ts +12 -9
  310. package/vue/UiRadio.vue +91 -149
  311. package/vue/UiRadioGroup.d.ts +2 -2
  312. package/vue/UiRadioGroup.vue +47 -85
  313. package/vue/UiReel.vue +89 -130
  314. package/vue/UiScrollArea.d.ts +1 -1
  315. package/vue/UiScrollArea.vue +78 -119
  316. package/vue/UiSearchResultRow.vue +96 -149
  317. package/vue/UiSearchShell.d.ts +2 -2
  318. package/vue/UiSearchShell.vue +159 -196
  319. package/vue/UiSection.vue +105 -149
  320. package/vue/UiSelect.d.ts +1 -1
  321. package/vue/UiSelect.vue +114 -146
  322. package/vue/UiSeparator.vue +42 -85
  323. package/vue/UiSidebar.d.ts +10 -7
  324. package/vue/UiSidebar.vue +193 -260
  325. package/vue/UiSpinner.vue +54 -130
  326. package/vue/UiStack.vue +66 -107
  327. package/vue/UiStatusMessage.d.ts +1 -1
  328. package/vue/UiStatusMessage.vue +61 -135
  329. package/vue/UiSwitch.d.ts +12 -9
  330. package/vue/UiSwitch.vue +136 -194
  331. package/vue/UiSwitcher.vue +69 -107
  332. package/vue/UiTable.vue +121 -156
  333. package/vue/UiTabs.d.ts +1 -1
  334. package/vue/UiTabs.vue +139 -267
  335. package/vue/UiText.d.ts +4 -4
  336. package/vue/UiText.vue +145 -184
  337. package/vue/UiTextarea.d.ts +2 -2
  338. package/vue/UiTextarea.vue +162 -194
  339. package/vue/UiToast.vue +70 -118
  340. package/vue/UiToastRegion.vue +157 -276
  341. package/vue/UiTooltip.d.ts +21 -18
  342. package/vue/UiTooltip.vue +174 -234
  343. package/vue/UiTopBar.vue +48 -76
  344. package/vue/UiTree.vue +46 -79
  345. package/vue/UiTreeItem.d.ts +18 -15
  346. package/vue/UiTreeItem.vue +526 -668
  347. package/vue/chunks/UiActionBar.js +5 -17
  348. package/vue/chunks/UiAffordanceScope.js +7 -26
  349. package/vue/chunks/UiAvatar.js +20 -74
  350. package/vue/chunks/UiAvatarGroup.js +14 -56
  351. package/vue/chunks/UiBadge.js +10 -28
  352. package/vue/chunks/UiBreadcrumbItem.js +11 -41
  353. package/vue/chunks/UiBreadcrumbs.js +7 -25
  354. package/vue/chunks/UiButton.js +80 -103
  355. package/vue/chunks/UiCallout.js +9 -27
  356. package/vue/chunks/UiCard.js +33 -53
  357. package/vue/chunks/UiCheckbox.js +14 -46
  358. package/vue/chunks/UiCluster.js +13 -31
  359. package/vue/chunks/UiCombobox.js +99 -237
  360. package/vue/chunks/UiContainer.js +9 -27
  361. package/vue/chunks/UiContextMenu.js +7 -26
  362. package/vue/chunks/UiCover.js +7 -25
  363. package/vue/chunks/UiDescriptionItem.js +6 -24
  364. package/vue/chunks/UiDescriptionList.js +9 -27
  365. package/vue/chunks/UiDialog.js +18 -47
  366. package/vue/chunks/UiDisclosure.js +19 -66
  367. package/vue/chunks/UiEditable.js +18 -60
  368. package/vue/chunks/UiEditorImageToolbar.js +34 -103
  369. package/vue/chunks/UiEditorInsertTableGrid.js +14 -112
  370. package/vue/chunks/UiEditorMentionMenu.js +16 -54
  371. package/vue/chunks/UiEditorMentionMenuItem.js +10 -28
  372. package/vue/chunks/UiEditorSlashMenu.js +17 -46
  373. package/vue/chunks/UiEditorSlashMenuGroup.js +7 -25
  374. package/vue/chunks/UiEditorSlashMenuItem.js +16 -31
  375. package/vue/chunks/UiEditorSurface.js +7 -25
  376. package/vue/chunks/UiEditorTableContextMenu.js +25 -102
  377. package/vue/chunks/UiEditorTableOverlay.js +41 -104
  378. package/vue/chunks/UiEditorTableToolbar.js +44 -122
  379. package/vue/chunks/UiEditorToolbar.js +7 -26
  380. package/vue/chunks/UiFloatingActionButton.js +10 -28
  381. package/vue/chunks/UiFormField.js +8 -27
  382. package/vue/chunks/UiGrid.js +10 -28
  383. package/vue/chunks/UiIcon.js +21 -74
  384. package/vue/chunks/UiIconButton.js +18 -50
  385. package/vue/chunks/UiImage.js +14 -33
  386. package/vue/chunks/UiInput.js +12 -31
  387. package/vue/chunks/UiInputGroup.js +10 -29
  388. package/vue/chunks/UiList.js +17 -37
  389. package/vue/chunks/UiListItem.js +12 -30
  390. package/vue/chunks/UiListbox.js +22 -124
  391. package/vue/chunks/UiMenu.js +13 -32
  392. package/vue/chunks/UiMenuGroup.js +8 -26
  393. package/vue/chunks/UiMenuItem.js +35 -80
  394. package/vue/chunks/UiMeter.js +17 -351
  395. package/vue/chunks/UiNavItem.js +23 -57
  396. package/vue/chunks/UiPageHeader.js +7 -25
  397. package/vue/chunks/UiPopover.js +9 -28
  398. package/vue/chunks/UiRadio.js +11 -43
  399. package/vue/chunks/UiRadioGroup.js +13 -32
  400. package/vue/chunks/UiReel.js +10 -28
  401. package/vue/chunks/UiScrollArea.js +10 -29
  402. package/vue/chunks/UiSearchResultRow.js +10 -28
  403. package/vue/chunks/UiSearchShell.js +9 -28
  404. package/vue/chunks/UiSection.js +9 -27
  405. package/vue/chunks/UiSelect.js +10 -29
  406. package/vue/chunks/UiSeparator.js +10 -28
  407. package/vue/chunks/UiSidebar.js +15 -47
  408. package/vue/chunks/UiSpinner.js +8 -44
  409. package/vue/chunks/UiStack.js +12 -30
  410. package/vue/chunks/UiStatusMessage.js +10 -42
  411. package/vue/chunks/UiSwitch.js +11 -43
  412. package/vue/chunks/UiSwitcher.js +9 -28
  413. package/vue/chunks/UiTable.js +7 -26
  414. package/vue/chunks/UiTabs.js +15 -91
  415. package/vue/chunks/UiText.js +148 -168
  416. package/vue/chunks/UiTextarea.js +16 -35
  417. package/vue/chunks/UiToast.js +13 -37
  418. package/vue/chunks/UiToastRegion.js +16 -88
  419. package/vue/chunks/UiTooltip.js +14 -46
  420. package/vue/chunks/UiTopBar.js +5 -17
  421. package/vue/chunks/UiTree.js +13 -32
  422. package/vue/chunks/UiTreeItem.js +34 -90
  423. package/vue/chunks/_plugin-vue_export-helper.js +904 -1
  424. package/vue/chunks/control.js +3 -0
  425. package/vue/chunks/props.js +1 -1
  426. package/vue/components.css +7606 -7534
  427. package/vue/editor/index.js +1 -1
  428. package/vue/host.ts +999 -14
  429. package/vue/chunks/host.js +0 -443
@@ -1,27 +1,18 @@
1
- <!-- Generated by HTML Next 1.0.0-alpha.35 for Vue 3.5. Do not edit. -->
2
- <script lang="ts">
3
- const htmlNextAuthoredCheck2Reported = new Set<string>()
4
- function htmlNextAuthoredCheck2(accepted: boolean, location: string, message: string): boolean {
5
- if (!accepted && !htmlNextAuthoredCheck2Reported.has(location)) {
6
- htmlNextAuthoredCheck2Reported.add(location)
7
- console.warn(message)
8
- }
9
- return accepted
10
- }
11
- </script>
12
-
1
+ <!-- Generated by HTML Next 1.0.0-alpha.51 for Vue 3.5. Do not edit. -->
13
2
  <script setup lang="ts">
3
+ import { computed, getCurrentInstance, provide, ref, watchSyncEffect } from 'vue'
4
+ import type { PropType } from 'vue'
14
5
  import {
15
- computed,
16
- defineComponent,
17
- getCurrentInstance,
18
- h,
19
- provide,
20
- ref,
21
- watchSyncEffect,
22
- } from 'vue'
23
- import type { PropType, VNode } from 'vue'
24
- import { createDispatch, useComponentHost } from './host'
6
+ checkHydratedRoot,
7
+ createDispatch,
8
+ isInteger,
9
+ KeyedBoundary,
10
+ nativeAttrs,
11
+ uniqueKeys,
12
+ useComponentHost,
13
+ useReflectedProp,
14
+ warnUnless,
15
+ } from './host'
25
16
  import { acceptsControllerWrite } from './props'
26
17
  import { checkedProp, propValidityState, vPropValidity } from './props'
27
18
  import UiIcon from './UiIcon.vue'
@@ -220,64 +211,7 @@ void checkedProps.value
220
211
  watchSyncEffect(() => {
221
212
  void checkedProps.value
222
213
  })
223
- function nativeAttrs(attrs: Record<string, unknown>): Record<string, unknown> {
224
- const names = Object.keys(attrs)
225
- if (!names.some((name) => Object.hasOwn(Object.prototype, name))) return attrs
226
- return Object.fromEntries(names.map((name) => [
227
- Object.hasOwn(Object.prototype, name)
228
- ? name === '__proto__' ? '__Proto__' : name[0]!.toUpperCase() + name.slice(1)
229
- : name,
230
- attrs[name],
231
- ]))
232
- }
233
- const KeyedFailure = defineComponent({
234
- props: { error: { type: null, required: true } },
235
- setup(props) {
236
- return () => {
237
- throw props.error
238
- }
239
- },
240
- })
241
- const KeyedBoundary = defineComponent({
242
- setup(_props, { slots }) {
243
- let last: VNode[] = []
244
- return () => {
245
- try {
246
- last = slots.default?.() ?? []
247
- return last
248
- } catch (error) {
249
- if (
250
- !(error instanceof Error)
251
- || (error as Error & { diagnostic?: { code?: string } }).diagnostic?.code !== 'HR004'
252
- ) throw error
253
- if (typeof window === 'undefined') throw error
254
- return [...last, h(KeyedFailure, { error })]
255
- }
256
- }
257
- },
258
- })
259
- const componentInstance = getCurrentInstance()
260
- function reflectedProp(
261
- name: string,
262
- kebab: string,
263
- value: unknown,
264
- fallback: string | undefined,
265
- bound: boolean,
266
- separator?: string,
267
- ): string | undefined {
268
- const incoming = componentInstance?.vnode.props
269
- if (
270
- !bound
271
- && (incoming === null || incoming === undefined
272
- || (!Object.hasOwn(incoming, name) && !Object.hasOwn(incoming, kebab)))
273
- ) return fallback
274
- if (value === null || value === undefined) return undefined
275
- return Array.isArray(value) && separator !== undefined
276
- ? value.join(separator)
277
- : typeof value === 'object'
278
- ? JSON.stringify(value)
279
- : String(value)
280
- }
214
+ const reflectedProp = useReflectedProp()
281
215
  const hydrationInstance = getCurrentInstance()
282
216
  const emit = defineEmits<{
283
217
  'add-row-before': [event: CustomEvent<{ readonly boundaryIndex: number }>]
@@ -381,7 +315,7 @@ const activeKey = ref('')
381
315
  let guardedPrevious: any
382
316
  const guarded = computed(() => {
383
317
  if (
384
- !(htmlNextAuthoredCheck2(
318
+ !(warnUnless(
385
319
  hovered.value?.['rowOffset'] == null || typeof hovered.value?.['rowOffset'] === 'string',
386
320
  '$hovered.rowOffset:hovered.rowOffset',
387
321
  './components/ui-editor-table-overlay/ui-editor-table-overlay.html: HR007: Reference hovered.rowOffset does not satisfy its declared type.',
@@ -392,7 +326,7 @@ const guarded = computed(() => {
392
326
  let guardedBindingPrevious: any
393
327
  const guardedBinding = computed(() => {
394
328
  if (
395
- !(htmlNextAuthoredCheck2(
329
+ !(warnUnless(
396
330
  hovered.value?.['rowIndex'] == null || Number.isInteger(hovered.value?.['rowIndex']),
397
331
  '$hovered.rowIndex:hovered.rowIndex',
398
332
  './components/ui-editor-table-overlay/ui-editor-table-overlay.html: HR007: Reference hovered.rowIndex does not satisfy its declared type.',
@@ -403,7 +337,7 @@ const guardedBinding = computed(() => {
403
337
  let guardedBinding2Previous: any
404
338
  const guardedBinding2 = computed(() => {
405
339
  if (
406
- !(htmlNextAuthoredCheck2(
340
+ !(warnUnless(
407
341
  hovered.value?.['columnIndex'] == null || Number.isInteger(hovered.value?.['columnIndex']),
408
342
  '$hovered.columnIndex:hovered.columnIndex',
409
343
  './components/ui-editor-table-overlay/ui-editor-table-overlay.html: HR007: Reference hovered.columnIndex does not satisfy its declared type.',
@@ -414,7 +348,7 @@ const guardedBinding2 = computed(() => {
414
348
  let guardedBinding3Previous: any
415
349
  const guardedBinding3 = computed(() => {
416
350
  if (
417
- !(htmlNextAuthoredCheck2(
351
+ !(warnUnless(
418
352
  hovered.value?.['columnOffset'] == null
419
353
  || typeof hovered.value?.['columnOffset'] === 'string',
420
354
  '$hovered.columnOffset:hovered.columnOffset',
@@ -426,7 +360,7 @@ const guardedBinding3 = computed(() => {
426
360
  let guardedBinding4Previous: any
427
361
  const guardedBinding4 = computed(() => {
428
362
  if (
429
- !(htmlNextAuthoredCheck2(
363
+ !(warnUnless(
430
364
  hovered.value?.['rowIndex'] == null || Number.isInteger(hovered.value?.['rowIndex']),
431
365
  '$hovered.rowIndex:hovered.rowIndex',
432
366
  './components/ui-editor-table-overlay/ui-editor-table-overlay.html: HR007: Reference hovered.rowIndex does not satisfy its declared type.',
@@ -437,7 +371,7 @@ const guardedBinding4 = computed(() => {
437
371
  let guardedBinding5Previous: any
438
372
  const guardedBinding5 = computed(() => {
439
373
  if (
440
- !(htmlNextAuthoredCheck2(
374
+ !(warnUnless(
441
375
  hovered.value?.['columnIndex'] == null || Number.isInteger(hovered.value?.['columnIndex']),
442
376
  '$hovered.columnIndex:hovered.columnIndex',
443
377
  './components/ui-editor-table-overlay/ui-editor-table-overlay.html: HR007: Reference hovered.columnIndex does not satisfy its declared type.',
@@ -448,7 +382,7 @@ const guardedBinding5 = computed(() => {
448
382
  let guardedBinding6Previous: any
449
383
  const guardedBinding6 = computed(() => {
450
384
  if (
451
- !(htmlNextAuthoredCheck2(
385
+ !(warnUnless(
452
386
  active.value?.['menuLeft'] == null || typeof active.value?.['menuLeft'] === 'string',
453
387
  '$active.menuLeft:active.menuLeft',
454
388
  './components/ui-editor-table-overlay/ui-editor-table-overlay.html: HR007: Reference active.menuLeft does not satisfy its declared type.',
@@ -459,7 +393,7 @@ const guardedBinding6 = computed(() => {
459
393
  let guardedBinding7Previous: any
460
394
  const guardedBinding7 = computed(() => {
461
395
  if (
462
- !(htmlNextAuthoredCheck2(
396
+ !(warnUnless(
463
397
  active.value?.['menuTop'] == null || typeof active.value?.['menuTop'] === 'string',
464
398
  '$active.menuTop:active.menuTop',
465
399
  './components/ui-editor-table-overlay/ui-editor-table-overlay.html: HR007: Reference active.menuTop does not satisfy its declared type.',
@@ -470,7 +404,7 @@ const guardedBinding7 = computed(() => {
470
404
  let guardedBinding8Previous: any
471
405
  const guardedBinding8 = computed(() => {
472
406
  if (
473
- !(htmlNextAuthoredCheck2(
407
+ !(warnUnless(
474
408
  active.value?.['rowIndex'] == null || Number.isInteger(active.value?.['rowIndex']),
475
409
  '$active.rowIndex:active.rowIndex',
476
410
  './components/ui-editor-table-overlay/ui-editor-table-overlay.html: HR007: Reference active.rowIndex does not satisfy its declared type.',
@@ -481,7 +415,7 @@ const guardedBinding8 = computed(() => {
481
415
  let guardedBinding9Previous: any
482
416
  const guardedBinding9 = computed(() => {
483
417
  if (
484
- !(htmlNextAuthoredCheck2(
418
+ !(warnUnless(
485
419
  active.value?.['columnIndex'] == null || Number.isInteger(active.value?.['columnIndex']),
486
420
  '$active.columnIndex:active.columnIndex',
487
421
  './components/ui-editor-table-overlay/ui-editor-table-overlay.html: HR007: Reference active.columnIndex does not satisfy its declared type.',
@@ -494,22 +428,7 @@ provide('html-next:ui-editor-table-overlay:cols', cols)
494
428
  provide('html-next:ui-editor-table-overlay:hovered', hovered)
495
429
  provide('html-next:ui-editor-table-overlay:active', active)
496
430
  provide('html-next:ui-editor-table-overlay:activeKey', activeKey)
497
- const hydrationNode = hydrationInstance?.vnode.el
498
- if (
499
- typeof window !== 'undefined' && hydrationNode != null
500
- && (!(hydrationNode instanceof Element) || hydrationNode.localName !== ('div'))
501
- ) {
502
- throw Object.assign(
503
- new Error('HR005: Server markup for <ui-editor-table-overlay> has an incompatible root.'),
504
- {
505
- name: 'HtmlDiagnosticError',
506
- diagnostic: Object.freeze({
507
- code: 'HR005',
508
- message: 'Server markup for <ui-editor-table-overlay> has an incompatible root.',
509
- }),
510
- },
511
- )
512
- }
431
+ checkHydratedRoot('div', 'ui-editor-table-overlay')
513
432
 
514
433
  const isAddRowBeforeDetail = (
515
434
  detail: unknown,
@@ -712,44 +631,11 @@ useComponentHost(() => import('../components/ui-editor-table-overlay/ui-editor-t
712
631
  propValidityState({ contract: propValidityContract, values: { ...props } }, name),
713
632
  state: { rows, cols, hovered, active, activeKey },
714
633
  })
715
-
716
- function text(value: unknown): string {
717
- if (Array.isArray(value)) return value.map(text).join(' ')
718
- return value === null || value === undefined || typeof value === 'object' ? '' : String(value)
719
- }
720
-
721
- function uniqueKeys<T>(
722
- items: readonly T[],
723
- keyOf: (
724
- item: T,
725
- index: number,
726
- loop: { index: number; first: boolean; last: boolean; count: number },
727
- ) => unknown,
728
- ): readonly T[] {
729
- const seen = new Set<unknown>()
730
- for (let index = 0; index < items.length; index += 1) {
731
- const key = keyOf(items[index]!, index, {
732
- index,
733
- first: index === 0,
734
- last: index === items.length - 1,
735
- count: items.length,
736
- })
737
- if (seen.has(key)) {
738
- const message = `A keyed list produced duplicate key \`${text(key)}\`.`
739
- throw Object.assign(new Error(`HR004: ${message}`), {
740
- name: 'HtmlDiagnosticError',
741
- diagnostic: Object.freeze({ code: 'HR004', message }),
742
- })
743
- }
744
- seen.add(key)
745
- }
746
- return items
747
- }
748
634
  </script>
749
635
 
750
636
  <template>
751
637
  <div
752
- data-component="ui-editor-table-overlay"
638
+ class="ui-editor-table-overlay"
753
639
  aria-label="Table controls"
754
640
  v-bind="nativeAttrs($attrs)"
755
641
  :hidden="!checkedProps.open"
@@ -777,7 +663,7 @@ function uniqueKeys<T>(
777
663
  :data-boundary-index="control.index"
778
664
  :aria-label="control.label"
779
665
  >
780
- <UiIcon name="plus" />
666
+ <UiIcon class="ui-icon" name="plus" />
781
667
  <span class="tooltip" role="tooltip">{{ control.label }}</span>
782
668
  </button>
783
669
  </div></KeyedBoundary>
@@ -801,7 +687,7 @@ function uniqueKeys<T>(
801
687
  :data-boundary-index="control.index"
802
688
  :aria-label="control.label"
803
689
  >
804
- <UiIcon name="plus" />
690
+ <UiIcon class="ui-icon" name="plus" />
805
691
  <span class="tooltip" role="tooltip">{{ control.label }}</span>
806
692
  </button>
807
693
  </div></KeyedBoundary>
@@ -816,7 +702,7 @@ function uniqueKeys<T>(
816
702
  :data-column-index="guardedBinding2"
817
703
  :style="{ top: guarded }"
818
704
  >
819
- <span class="glyph"><UiIcon name="grip-vertical" /></span>
705
+ <span class="glyph"><UiIcon class="ui-icon" name="grip-vertical" /></span>
820
706
  </button>
821
707
  <button
822
708
  type="button"
@@ -828,7 +714,7 @@ function uniqueKeys<T>(
828
714
  :data-column-index="guardedBinding5"
829
715
  :style="{ left: guardedBinding3 }"
830
716
  >
831
- <span class="glyph"><UiIcon name="grip-horizontal" /></span>
717
+ <span class="glyph"><UiIcon class="ui-icon" name="grip-horizontal" /></span>
832
718
  </button></template>
833
719
  <button
834
720
  v-if="active"
@@ -841,352 +727,297 @@ function uniqueKeys<T>(
841
727
  :data-column-index="guardedBinding9"
842
728
  :style="{ left: guardedBinding6, top: guardedBinding7 }"
843
729
  >
844
- <UiIcon name="chevron-down" />
730
+ <UiIcon class="ui-icon" name="chevron-down" />
845
731
  </button>
846
732
  <span class="drop-indicator" data-drop-indicator="" hidden="" aria-hidden="true"></span>
847
733
  </div>
848
734
  </template>
849
735
 
850
736
  <style scoped>
851
- [data-component~="ui-editor-table-overlay"] {
852
- display: block;
853
- width: 100%;
854
- height: 100%;
855
- overflow: visible;
856
- pointer-events: none;
857
- }
858
-
859
- [data-component~="ui-editor-table-overlay"] {
860
- position: relative;
861
- width: 100%;
862
- height: 100%;
863
- overflow: visible;
864
- pointer-events: none;
865
- }
866
-
867
- .rows,
868
- .cols {
869
- pointer-events: none;
870
- position: absolute;
871
- }
872
-
873
- .rows {
874
- inset: 0;
875
- width: 100%;
876
- }
877
-
878
- .cols {
879
- inset: 0;
880
- height: 100%;
881
- }
882
-
883
- .control {
884
- position: absolute;
885
- z-index: 1;
886
- pointer-events: none;
887
- }
888
-
889
- .handle {
890
- position: absolute;
891
- display: inline-flex;
892
- align-items: center;
893
- justify-content: center;
894
- width: 24px;
895
- height: 24px;
896
- padding: 0;
897
- border: var(--ui-border-width) solid var(--ui-affordance-near-color, var(--ui-border-strong));
898
- border-radius: var(--ui-radius-round);
899
- background: color-mix(in srgb, var(--ui-surface-elevated) 96%, transparent);
900
- color: var(--ui-affordance-near-color, var(--ui-text-secondary));
901
- font: inherit;
902
- font-size: 16px;
903
- line-height: 1;
904
- box-shadow: var(--ui-shadow-xs, 0 1px 2px rgb(0 0 0 / 0.05));
905
- opacity: 0;
906
- scale: 0.72;
907
- transition:
908
- opacity var(--ui-affordance-motion, var(--ui-motion-fast)) var(--ui-motion-ease),
909
- scale var(--ui-affordance-motion, var(--ui-motion-fast)) var(--ui-motion-ease),
910
- color var(--ui-affordance-motion, var(--ui-motion-fast)) var(--ui-motion-ease),
911
- background-color var(--ui-affordance-motion, var(--ui-motion-fast)) var(--ui-motion-ease),
912
- border-color var(--ui-affordance-motion, var(--ui-motion-fast)) var(--ui-motion-ease);
913
- pointer-events: auto;
914
- cursor: pointer;
915
- }
916
-
917
- .handle {
918
- --_ui-default-icon-size: 14px;
919
- --_ui-default-icon-stroke-width: 2;
920
- }
921
-
922
- .handle[data-ui-proximity="near"],
923
- .control.active .handle,
924
- .handle:focus-visible {
925
- opacity: 1;
926
- scale: 1;
927
- }
928
-
929
- .control.active .handle,
930
- .handle:focus-visible {
931
- border-color: var(--ui-affordance-direct-color, var(--ui-accent-solid));
932
- background: var(--ui-affordance-direct-color, var(--ui-accent-solid));
933
- color: var(--ui-text-on-accent);
934
- box-shadow: var(--ui-shadow-sm, 0 1px 3px rgb(0 0 0 / 0.1));
935
- }
936
-
937
- .handle:focus-visible,
938
- .selector:focus-visible,
939
- .cell-menu:focus-visible {
940
- outline: var(--ui-focus-width) solid var(--ui-focus-ring);
941
- outline-offset: var(--ui-focus-width);
942
- }
943
-
944
- .control.row {
945
- left: 0;
946
- width: 100%;
947
- height: 0;
948
- }
949
-
950
- .control.row .handle {
951
- top: -12px;
952
- left: -30px;
953
- }
954
-
955
- .control.col {
956
- top: 0;
957
- width: 0;
958
- height: 100%;
959
- }
960
-
961
- .control.col .handle {
962
- top: -30px;
963
- left: -12px;
964
- }
965
-
966
- .line {
967
- position: absolute;
968
- background: var(--ui-affordance-direct-color, var(--ui-accent-solid));
969
- opacity: 0;
970
- transition: opacity var(--ui-affordance-motion, var(--ui-motion-fast)) var(--ui-motion-ease);
971
- }
972
-
973
- .control.row .line {
974
- inset: calc(-0.5 * var(--ui-accent-line-width)) 0 auto;
975
- height: var(--ui-accent-line-width);
976
- }
977
-
978
- .control.col .line {
979
- inset: 0 auto 0 calc(-0.5 * var(--ui-accent-line-width));
980
- width: var(--ui-accent-line-width);
981
- }
982
-
983
- .control.active .line {
984
- opacity: 0.8;
985
- }
986
-
987
- .guide {
988
- position: absolute;
989
- width: var(--ui-affordance-guide-size);
990
- height: var(--ui-affordance-guide-size);
991
- border-radius: var(--ui-radius-round);
992
- background: var(--ui-affordance-guide-color, var(--ui-border-strong));
993
- opacity: calc(var(--ui-affordance-guide-opacity) * var(--ui-affordance-scope-guide, 1));
994
- transition: opacity var(--ui-affordance-motion, var(--ui-motion-fast)) var(--ui-motion-ease);
995
- }
996
-
997
- .control.row .guide {
998
- left: -10px;
999
- top: -2px;
1000
- }
1001
-
1002
- .control.col .guide {
1003
- left: -2px;
1004
- top: -10px;
1005
- }
1006
-
1007
- .control:has(.handle[data-ui-proximity="near"]) .guide,
1008
- .control.active .guide {
1009
- opacity: 0;
1010
- }
1011
-
1012
- .tooltip {
1013
- position: absolute;
1014
- z-index: 2;
1015
- top: calc(100% + 6px);
1016
- left: 50%;
1017
- width: max-content;
1018
- max-width: 14rem;
1019
- padding: var(--ui-space-1) var(--ui-space-2);
1020
- border-radius: var(--ui-radius-sm);
1021
- background: var(--ui-text-primary);
1022
- color: var(--ui-surface-elevated);
1023
- font-size: var(--ui-font-size-xs);
1024
- font-weight: var(--ui-font-medium);
1025
- line-height: var(--ui-line-height-md);
1026
- opacity: 0;
1027
- transform: translateX(-50%);
1028
- transition: opacity var(--ui-affordance-motion, var(--ui-motion-fast)) var(--ui-motion-ease);
1029
- pointer-events: none;
1030
- }
1031
-
1032
- .control.row .tooltip {
1033
- top: 50%;
1034
- left: auto;
1035
- right: calc(100% + 8px);
1036
- transform: translateY(-50%);
1037
- }
1038
-
1039
- .control.active .tooltip,
1040
- .handle:focus-visible .tooltip {
1041
- opacity: 1;
1042
- }
1043
-
1044
- .selector,
1045
- .cell-menu {
1046
- position: absolute;
1047
- z-index: 2;
1048
- display: inline-flex;
1049
- align-items: center;
1050
- justify-content: center;
1051
- padding: 0;
1052
- border: var(--ui-border-width) solid transparent;
1053
- background: transparent;
1054
- color: var(--ui-text-secondary);
1055
- box-shadow: none;
1056
- pointer-events: auto;
1057
- cursor: pointer;
1058
- transition:
1059
- color var(--ui-affordance-motion, var(--ui-motion-fast)) var(--ui-motion-ease),
1060
- background-color var(--ui-affordance-motion, var(--ui-motion-fast)) var(--ui-motion-ease),
1061
- border-color var(--ui-affordance-motion, var(--ui-motion-fast)) var(--ui-motion-ease),
1062
- box-shadow var(--ui-affordance-motion, var(--ui-motion-fast)) var(--ui-motion-ease);
1063
- }
1064
-
1065
- .selector:hover,
1066
- .cell-menu:hover {
1067
- background: var(--ui-surface-muted);
1068
- color: var(--ui-text-primary);
1069
- box-shadow: var(--ui-shadow-xs, 0 1px 2px rgb(0 0 0 / 0.05));
1070
- }
1071
-
1072
- .selector {
1073
- border-radius: var(--ui-radius-round);
1074
- touch-action: none;
1075
- cursor: grab;
1076
- }
1077
-
1078
- .selector:active {
1079
- cursor: grabbing;
1080
- }
1081
-
1082
- .selector::before {
1083
- content: "";
1084
- position: absolute;
1085
- inset: 50% auto auto 50%;
1086
- border-radius: var(--ui-radius-round);
1087
- background: var(--ui-affordance-guide-color, var(--ui-border-strong));
1088
- opacity: calc(var(--ui-affordance-guide-opacity) * var(--ui-affordance-scope-guide, 1));
1089
- transform: translate(-50%, -50%);
1090
- transition: opacity var(--ui-affordance-motion, var(--ui-motion-fast)) var(--ui-motion-ease);
1091
- pointer-events: none;
1092
- }
1093
-
1094
- .selector .glyph {
1095
- display: block;
1096
- width: 14px;
1097
- height: 14px;
1098
- --_ui-default-icon-size: 14px;
1099
- --_ui-default-icon-stroke-width: 2;
1100
- opacity: 0;
1101
- transform: scale(0.72);
1102
- transition:
1103
- opacity var(--ui-affordance-motion, var(--ui-motion-fast)) var(--ui-motion-ease),
1104
- transform var(--ui-affordance-motion, var(--ui-motion-fast)) var(--ui-motion-ease);
1105
- }
1106
-
1107
- .selector:hover::before,
1108
- .selector:focus-visible::before {
1109
- opacity: 0;
1110
- }
1111
-
1112
- .selector:hover .glyph,
1113
- .selector:focus-visible .glyph {
1114
- opacity: 1;
1115
- transform: scale(1);
1116
- }
1117
-
1118
- .selector.row {
1119
- left: -9px;
1120
- width: 18px;
1121
- height: 32px;
1122
- transform: translateY(-50%);
1123
- }
1124
-
1125
- .selector.row::before {
1126
- width: 2px;
1127
- height: 16px;
1128
- }
1129
-
1130
- .selector.column {
1131
- top: -9px;
1132
- width: 32px;
1133
- height: 18px;
1134
- transform: translateX(-50%);
1135
- }
1136
-
1137
- .selector.column::before {
1138
- width: 16px;
1139
- height: 2px;
1140
- }
1141
-
1142
- @media (hover: none), (pointer: coarse) {
1143
- .selector::before {
737
+ @scope (.ui-editor-table-overlay) to (.ui-icon) {
738
+ :scope:where(:scope) {
739
+ display: block;
740
+ width: 100%;
741
+ height: 100%;
742
+ overflow: visible;
743
+ pointer-events: none;
744
+ }
745
+ :scope:where(:scope) {
746
+ position: relative;
747
+ width: 100%;
748
+ height: 100%;
749
+ overflow: visible;
750
+ pointer-events: none;
751
+ }
752
+ .rows, .cols {
753
+ pointer-events: none;
754
+ position: absolute;
755
+ }
756
+ .rows {
757
+ inset: 0;
758
+ width: 100%;
759
+ }
760
+ .cols {
761
+ inset: 0;
762
+ height: 100%;
763
+ }
764
+ .control {
765
+ position: absolute;
766
+ z-index: 1;
767
+ pointer-events: none;
768
+ }
769
+ .handle {
770
+ position: absolute;
771
+ display: inline-flex;
772
+ align-items: center;
773
+ justify-content: center;
774
+ width: 24px;
775
+ height: 24px;
776
+ padding: 0;
777
+ border: var(--ui-border-width) solid var(--ui-affordance-near-color, var(--ui-border-strong));
778
+ border-radius: var(--ui-radius-round);
779
+ background: color-mix(in srgb, var(--ui-surface-elevated) 96%, transparent);
780
+ color: var(--ui-affordance-near-color, var(--ui-text-secondary));
781
+ font: inherit;
782
+ font-size: 16px;
783
+ line-height: 1;
784
+ box-shadow: var(--ui-shadow-xs, 0 1px 2px rgb(0 0 0 / 0.05));
1144
785
  opacity: 0;
786
+ scale: 0.72;
787
+ transition:
788
+ opacity var(--ui-affordance-motion, var(--ui-motion-fast)) var(--ui-motion-ease),
789
+ scale var(--ui-affordance-motion, var(--ui-motion-fast)) var(--ui-motion-ease),
790
+ color var(--ui-affordance-motion, var(--ui-motion-fast)) var(--ui-motion-ease),
791
+ background-color var(--ui-affordance-motion, var(--ui-motion-fast)) var(--ui-motion-ease),
792
+ border-color var(--ui-affordance-motion, var(--ui-motion-fast)) var(--ui-motion-ease);
793
+ pointer-events: auto;
794
+ cursor: pointer;
795
+ }
796
+ .handle {
797
+ --_ui-default-icon-size: 14px;
798
+ --_ui-default-icon-stroke-width: 2;
799
+ }
800
+ .handle[data-ui-proximity="near"], .control.active .handle, .handle:focus-visible {
801
+ opacity: 1;
802
+ scale: 1;
803
+ }
804
+ .control.active .handle, .handle:focus-visible {
805
+ border-color: var(--ui-affordance-direct-color, var(--ui-accent-solid));
806
+ background: var(--ui-affordance-direct-color, var(--ui-accent-solid));
807
+ color: var(--ui-text-on-accent);
808
+ box-shadow: var(--ui-shadow-sm, 0 1px 3px rgb(0 0 0 / 0.1));
809
+ }
810
+ .handle:focus-visible, .selector:focus-visible, .cell-menu:focus-visible {
811
+ outline: var(--ui-focus-width) solid var(--ui-focus-ring);
812
+ outline-offset: var(--ui-focus-width);
813
+ }
814
+ .control.row {
815
+ left: 0;
816
+ width: 100%;
817
+ height: 0;
818
+ }
819
+ .control.row .handle {
820
+ top: -12px;
821
+ left: -30px;
822
+ }
823
+ .control.col {
824
+ top: 0;
825
+ width: 0;
826
+ height: 100%;
827
+ }
828
+ .control.col .handle {
829
+ top: -30px;
830
+ left: -12px;
831
+ }
832
+ .line {
833
+ position: absolute;
834
+ background: var(--ui-affordance-direct-color, var(--ui-accent-solid));
835
+ opacity: 0;
836
+ transition: opacity var(--ui-affordance-motion, var(--ui-motion-fast)) var(--ui-motion-ease);
837
+ }
838
+ .control.row .line {
839
+ inset: calc(-0.5 * var(--ui-accent-line-width)) 0 auto;
840
+ height: var(--ui-accent-line-width);
841
+ }
842
+ .control.col .line {
843
+ inset: 0 auto 0 calc(-0.5 * var(--ui-accent-line-width));
844
+ width: var(--ui-accent-line-width);
845
+ }
846
+ .control.active .line {
847
+ opacity: 0.8;
848
+ }
849
+ .guide {
850
+ position: absolute;
851
+ width: var(--ui-affordance-guide-size);
852
+ height: var(--ui-affordance-guide-size);
853
+ border-radius: var(--ui-radius-round);
854
+ background: var(--ui-affordance-guide-color, var(--ui-border-strong));
855
+ opacity: calc(var(--ui-affordance-guide-opacity) * var(--ui-affordance-scope-guide, 1));
856
+ transition: opacity var(--ui-affordance-motion, var(--ui-motion-fast)) var(--ui-motion-ease);
857
+ }
858
+ .control.row .guide {
859
+ left: -10px;
860
+ top: -2px;
861
+ }
862
+ .control.col .guide {
863
+ left: -2px;
864
+ top: -10px;
865
+ }
866
+ .control:has(.handle[data-ui-proximity="near"]) .guide, .control.active .guide {
867
+ opacity: 0;
868
+ }
869
+ .tooltip {
870
+ position: absolute;
871
+ z-index: 2;
872
+ top: calc(100% + 6px);
873
+ left: 50%;
874
+ width: max-content;
875
+ max-width: 14rem;
876
+ padding: var(--ui-space-1) var(--ui-space-2);
877
+ border-radius: var(--ui-radius-sm);
878
+ background: var(--ui-text-primary);
879
+ color: var(--ui-surface-elevated);
880
+ font-size: var(--ui-font-size-xs);
881
+ font-weight: var(--ui-font-medium);
882
+ line-height: var(--ui-line-height-md);
883
+ opacity: 0;
884
+ transform: translateX(-50%);
885
+ transition: opacity var(--ui-affordance-motion, var(--ui-motion-fast)) var(--ui-motion-ease);
886
+ pointer-events: none;
887
+ }
888
+ .control.row .tooltip {
889
+ top: 50%;
890
+ left: auto;
891
+ right: calc(100% + 8px);
892
+ transform: translateY(-50%);
893
+ }
894
+ .control.active .tooltip, .handle:focus-visible .tooltip {
895
+ opacity: 1;
896
+ }
897
+ .selector, .cell-menu {
898
+ position: absolute;
899
+ z-index: 2;
900
+ display: inline-flex;
901
+ align-items: center;
902
+ justify-content: center;
903
+ padding: 0;
904
+ border: var(--ui-border-width) solid transparent;
905
+ background: transparent;
906
+ color: var(--ui-text-secondary);
907
+ box-shadow: none;
908
+ pointer-events: auto;
909
+ cursor: pointer;
910
+ transition:
911
+ color var(--ui-affordance-motion, var(--ui-motion-fast)) var(--ui-motion-ease),
912
+ background-color var(--ui-affordance-motion, var(--ui-motion-fast)) var(--ui-motion-ease),
913
+ border-color var(--ui-affordance-motion, var(--ui-motion-fast)) var(--ui-motion-ease),
914
+ box-shadow var(--ui-affordance-motion, var(--ui-motion-fast)) var(--ui-motion-ease);
915
+ }
916
+ .selector:hover, .cell-menu:hover {
917
+ background: var(--ui-surface-muted);
918
+ color: var(--ui-text-primary);
919
+ box-shadow: var(--ui-shadow-xs, 0 1px 2px rgb(0 0 0 / 0.05));
920
+ }
921
+ .selector {
922
+ border-radius: var(--ui-radius-round);
923
+ touch-action: none;
924
+ cursor: grab;
925
+ }
926
+ .selector:active {
927
+ cursor: grabbing;
928
+ }
929
+ .selector::before {
930
+ content: "";
931
+ position: absolute;
932
+ inset: 50% auto auto 50%;
933
+ border-radius: var(--ui-radius-round);
934
+ background: var(--ui-affordance-guide-color, var(--ui-border-strong));
935
+ opacity: calc(var(--ui-affordance-guide-opacity) * var(--ui-affordance-scope-guide, 1));
936
+ transform: translate(-50%, -50%);
937
+ transition: opacity var(--ui-affordance-motion, var(--ui-motion-fast)) var(--ui-motion-ease);
938
+ pointer-events: none;
1145
939
  }
1146
-
1147
940
  .selector .glyph {
941
+ display: block;
942
+ width: 14px;
943
+ height: 14px;
944
+ --_ui-default-icon-size: 14px;
945
+ --_ui-default-icon-stroke-width: 2;
946
+ opacity: 0;
947
+ transform: scale(0.72);
948
+ transition:
949
+ opacity var(--ui-affordance-motion, var(--ui-motion-fast)) var(--ui-motion-ease),
950
+ transform var(--ui-affordance-motion, var(--ui-motion-fast)) var(--ui-motion-ease);
951
+ }
952
+ .selector:hover::before, .selector:focus-visible::before {
953
+ opacity: 0;
954
+ }
955
+ .selector:hover .glyph, .selector:focus-visible .glyph {
1148
956
  opacity: 1;
1149
- transform: none;
957
+ transform: scale(1);
1150
958
  }
1151
- }
1152
-
1153
- .cell-menu {
1154
- width: 24px;
1155
- height: 24px;
1156
- border-radius: var(--ui-radius-sm);
1157
- background: color-mix(in srgb, var(--ui-surface-muted) 78%, transparent);
1158
- }
1159
-
1160
- .cell-menu {
1161
- --_ui-default-icon-size: 15px;
1162
- --_ui-default-icon-stroke-width: 2;
1163
- }
1164
-
1165
- .drop-indicator {
1166
- position: absolute;
1167
- z-index: 3;
1168
- background: var(--ui-accent-solid);
1169
- box-shadow: 0 0 0 var(--ui-border-width) var(--ui-surface);
1170
- pointer-events: none;
1171
- }
1172
-
1173
- .drop-indicator.row {
1174
- left: 0;
1175
- width: 100%;
1176
- height: var(--ui-accent-line-width);
1177
- }
1178
-
1179
- .drop-indicator.column {
1180
- top: 0;
1181
- width: var(--ui-accent-line-width);
1182
- height: 100%;
1183
- }
1184
-
1185
- .drop-indicator[hidden] {
1186
- display: none;
1187
- }
959
+ .selector.row {
960
+ left: -9px;
961
+ width: 18px;
962
+ height: 32px;
963
+ transform: translateY(-50%);
964
+ }
965
+ .selector.row::before {
966
+ width: 2px;
967
+ height: 16px;
968
+ }
969
+ .selector.column {
970
+ top: -9px;
971
+ width: 32px;
972
+ height: 18px;
973
+ transform: translateX(-50%);
974
+ }
975
+ .selector.column::before {
976
+ width: 16px;
977
+ height: 2px;
978
+ }
979
+ @media (hover: none), (pointer: coarse) {
980
+ .selector::before {
981
+ opacity: 0;
982
+ }
1188
983
 
1189
- [data-component~="ui-editor-table-overlay"][hidden] {
1190
- display: none;
984
+ .selector .glyph {
985
+ opacity: 1;
986
+ transform: none;
987
+ }
988
+ }
989
+ .cell-menu {
990
+ width: 24px;
991
+ height: 24px;
992
+ border-radius: var(--ui-radius-sm);
993
+ background: color-mix(in srgb, var(--ui-surface-muted) 78%, transparent);
994
+ }
995
+ .cell-menu {
996
+ --_ui-default-icon-size: 15px;
997
+ --_ui-default-icon-stroke-width: 2;
998
+ }
999
+ .drop-indicator {
1000
+ position: absolute;
1001
+ z-index: 3;
1002
+ background: var(--ui-accent-solid);
1003
+ box-shadow: 0 0 0 var(--ui-border-width) var(--ui-surface);
1004
+ pointer-events: none;
1005
+ }
1006
+ .drop-indicator.row {
1007
+ left: 0;
1008
+ width: 100%;
1009
+ height: var(--ui-accent-line-width);
1010
+ }
1011
+ .drop-indicator.column {
1012
+ top: 0;
1013
+ width: var(--ui-accent-line-width);
1014
+ height: 100%;
1015
+ }
1016
+ .drop-indicator[hidden] {
1017
+ display: none;
1018
+ }
1019
+ :scope:where(:scope):is([hidden]) {
1020
+ display: none;
1021
+ }
1191
1022
  }
1192
1023
  </style>