@threadlabs/looma 0.14.7 → 0.15.0

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 (336) hide show
  1. package/components/shared/icons.js +5 -0
  2. package/components/shared/menu-navigation.js +49 -0
  3. package/components/shared/overlay.js +33 -60
  4. package/components/ui-avatar/ui-avatar.html +19 -2
  5. package/components/ui-avatar/ui-avatar.js +7 -1
  6. package/components/ui-avatar-group/ui-avatar-group.html +8 -3
  7. package/components/ui-avatar-group/ui-avatar-group.js +6 -2
  8. package/components/ui-badge/ui-badge.html +70 -4
  9. package/components/ui-button/ui-button.html +21 -5
  10. package/components/ui-button/ui-button.js +10 -0
  11. package/components/ui-callout/ui-callout.html +13 -5
  12. package/components/ui-checkbox/ui-checkbox.html +11 -0
  13. package/components/ui-combobox/ui-combobox.html +50 -10
  14. package/components/ui-combobox/ui-combobox.js +11 -8
  15. package/components/ui-context-menu/ui-context-menu.html +33 -5
  16. package/components/ui-context-menu/ui-context-menu.js +26 -17
  17. package/components/ui-dialog/ui-dialog.html +51 -8
  18. package/components/ui-dialog/ui-dialog.js +28 -7
  19. package/components/ui-disclosure/ui-disclosure.html +14 -5
  20. package/components/ui-disclosure/ui-disclosure.js +51 -4
  21. package/components/ui-editable/ui-editable.html +17 -3
  22. package/components/ui-editable/ui-editable.js +7 -0
  23. package/components/ui-editor-insert-table-grid/ui-editor-insert-table-grid.html +48 -14
  24. package/components/ui-editor-insert-table-grid/ui-editor-insert-table-grid.js +40 -6
  25. package/components/ui-editor-mention-menu/ui-editor-mention-menu.html +22 -9
  26. package/components/ui-editor-mention-menu/ui-editor-mention-menu.js +33 -11
  27. package/components/ui-editor-mention-menu-item/ui-editor-mention-menu-item.html +67 -0
  28. package/components/ui-editor-slash-menu/ui-editor-slash-menu.html +33 -30
  29. package/components/ui-editor-slash-menu/ui-editor-slash-menu.js +42 -8
  30. package/components/ui-editor-slash-menu-group/ui-editor-slash-menu-group.html +31 -0
  31. package/components/ui-editor-slash-menu-item/ui-editor-slash-menu-item.html +75 -0
  32. package/components/ui-editor-table-context-menu/ui-editor-table-context-menu.html +16 -5
  33. package/components/ui-editor-table-context-menu/ui-editor-table-context-menu.js +10 -2
  34. package/components/ui-editor-table-overlay/ui-editor-table-overlay.html +5 -5
  35. package/components/ui-editor-table-overlay/ui-editor-table-overlay.js +5 -2
  36. package/components/ui-editor-table-toolbar/ui-editor-table-toolbar.html +14 -4
  37. package/components/ui-editor-table-toolbar/ui-editor-table-toolbar.js +2 -2
  38. package/components/ui-editor-toolbar/ui-editor-toolbar.html +1 -1
  39. package/components/ui-editor-toolbar/ui-editor-toolbar.js +46 -0
  40. package/components/ui-floating-action-button/ui-floating-action-button.html +1 -1
  41. package/components/ui-form-field/ui-form-field.html +16 -3
  42. package/components/ui-form-field/ui-form-field.js +1 -1
  43. package/components/ui-grid/ui-grid.html +17 -2
  44. package/components/ui-icon/ui-icon.html +5 -0
  45. package/components/ui-icon-button/ui-icon-button.html +25 -6
  46. package/components/ui-icon-button/ui-icon-button.js +11 -1
  47. package/components/ui-input/ui-input.html +3 -3
  48. package/components/ui-input-group/ui-input-group.html +18 -4
  49. package/components/ui-listbox/ui-listbox.html +81 -0
  50. package/components/ui-listbox/ui-listbox.js +27 -0
  51. package/components/ui-menu/ui-menu.html +33 -5
  52. package/components/ui-menu/ui-menu.js +18 -12
  53. package/components/ui-menu-group/ui-menu-group.html +27 -0
  54. package/components/ui-menu-item/ui-menu-item.html +80 -8
  55. package/components/ui-menu-item/ui-menu-item.js +47 -0
  56. package/components/ui-popover/ui-popover.html +33 -5
  57. package/components/ui-popover/ui-popover.js +9 -1
  58. package/components/ui-radio-group/ui-radio-group.html +13 -1
  59. package/components/ui-search-shell/ui-search-shell.html +6 -6
  60. package/components/ui-search-shell/ui-search-shell.js +21 -5
  61. package/components/ui-select/ui-select.html +14 -4
  62. package/components/ui-switch/ui-switch.html +2 -2
  63. package/components/ui-switcher/ui-switcher.html +8 -1
  64. package/components/ui-switcher/ui-switcher.js +15 -0
  65. package/components/ui-tabs/ui-tabs.html +17 -12
  66. package/components/ui-tabs/ui-tabs.js +43 -7
  67. package/components/ui-textarea/ui-textarea.html +28 -5
  68. package/components/ui-toast/ui-toast.html +88 -0
  69. package/components/ui-toast/ui-toast.js +68 -0
  70. package/components/ui-toast-region/ui-toast-region.html +102 -19
  71. package/components/ui-toast-region/ui-toast-region.js +10 -18
  72. package/components/ui-tooltip/ui-tooltip.html +51 -7
  73. package/components/ui-tooltip/ui-tooltip.js +29 -3
  74. package/components/ui-tree/ui-tree.html +12 -0
  75. package/components/ui-tree/ui-tree.js +191 -12
  76. package/components/ui-tree-item/ui-tree-item.html +87 -8
  77. package/components/ui-tree-item/ui-tree-item.js +3 -1
  78. package/dist/index.js +38 -32
  79. package/editor/chunks/extensions.js +82 -2
  80. package/editor/extensions/table-commands.d.ts +8 -0
  81. package/editor/icons.d.ts +5 -0
  82. package/editor/index.js +7 -2
  83. package/editor/insert-table-grid.d.ts +1 -1
  84. package/editor/mention-menu.d.ts +2 -0
  85. package/editor/slash-menu.d.ts +3 -0
  86. package/editor/table-context-menu.d.ts +1 -1
  87. package/editor/table-overlay.d.ts +2 -2
  88. package/package.json +1 -1
  89. package/styles/ui-avatar-group.css +1 -2
  90. package/styles/ui-avatar.css +11 -1
  91. package/styles/ui-badge.css +73 -1
  92. package/styles/ui-button.css +9 -1
  93. package/styles/ui-callout.css +1 -1
  94. package/styles/ui-checkbox.css +9 -0
  95. package/styles/ui-combobox.css +38 -7
  96. package/styles/ui-context-menu.css +32 -4
  97. package/styles/ui-dialog.css +42 -5
  98. package/styles/ui-editor-insert-table-grid.css +48 -11
  99. package/styles/ui-editor-mention-menu-item.css +57 -0
  100. package/styles/ui-editor-mention-menu.css +11 -1
  101. package/styles/ui-editor-slash-menu-group.css +21 -0
  102. package/styles/ui-editor-slash-menu-item.css +62 -0
  103. package/styles/ui-editor-slash-menu.css +10 -21
  104. package/styles/ui-editor-table-context-menu.css +1 -1
  105. package/styles/ui-floating-action-button.css +1 -1
  106. package/styles/ui-form-field.css +14 -1
  107. package/styles/ui-grid.css +14 -1
  108. package/styles/ui-icon-button.css +17 -5
  109. package/styles/ui-input-group.css +18 -4
  110. package/styles/ui-input.css +3 -3
  111. package/styles/ui-listbox.css +69 -0
  112. package/styles/ui-menu-group.css +19 -0
  113. package/styles/ui-menu-item.css +48 -9
  114. package/styles/ui-menu.css +32 -4
  115. package/styles/ui-popover.css +28 -4
  116. package/styles/ui-radio-group.css +9 -0
  117. package/styles/ui-search-shell.css +5 -5
  118. package/styles/ui-select.css +14 -4
  119. package/styles/ui-switch.css +2 -2
  120. package/styles/ui-switcher.css +4 -0
  121. package/styles/ui-textarea.css +27 -4
  122. package/styles/ui-toast-region.css +88 -4
  123. package/styles/ui-toast.css +74 -0
  124. package/styles/ui-tooltip.css +46 -6
  125. package/styles/ui-tree-item.css +72 -4
  126. package/styles/ui-tree.css +8 -0
  127. package/tokens.css +3 -0
  128. package/vanilla/UiAvatar.d.ts +2 -0
  129. package/vanilla/UiAvatar.js +8 -1
  130. package/vanilla/UiAvatarGroup.d.ts +2 -0
  131. package/vanilla/UiAvatarGroup.js +1 -1
  132. package/vanilla/UiBadge.d.ts +1 -1
  133. package/vanilla/UiBadge.js +1 -1
  134. package/vanilla/UiButton.d.ts +1 -0
  135. package/vanilla/UiButton.js +22 -6
  136. package/vanilla/UiCallout.d.ts +1 -1
  137. package/vanilla/UiCallout.js +1 -1
  138. package/vanilla/UiCheckbox.d.ts +1 -0
  139. package/vanilla/UiCheckbox.js +12 -9
  140. package/vanilla/UiCombobox.d.ts +4 -0
  141. package/vanilla/UiCombobox.js +30 -15
  142. package/vanilla/UiContextMenu.d.ts +1 -1
  143. package/vanilla/UiContextMenu.js +1 -1
  144. package/vanilla/UiDialog.d.ts +5 -2
  145. package/vanilla/UiDialog.js +1 -1
  146. package/vanilla/UiDisclosure.d.ts +2 -0
  147. package/vanilla/UiDisclosure.js +32 -18
  148. package/vanilla/UiEditable.d.ts +5 -0
  149. package/vanilla/UiEditable.js +7 -3
  150. package/vanilla/UiEditorInsertTableGrid.js +1 -6
  151. package/vanilla/UiEditorMentionMenu.d.ts +4 -2
  152. package/vanilla/UiEditorMentionMenu.js +49 -31
  153. package/vanilla/UiEditorMentionMenuItem.d.ts +16 -0
  154. package/vanilla/UiEditorMentionMenuItem.js +56 -0
  155. package/vanilla/UiEditorSlashMenu.d.ts +4 -3
  156. package/vanilla/UiEditorSlashMenu.js +59 -46
  157. package/vanilla/UiEditorSlashMenuGroup.d.ts +14 -0
  158. package/vanilla/UiEditorSlashMenuGroup.js +48 -0
  159. package/vanilla/UiEditorSlashMenuItem.d.ts +18 -0
  160. package/vanilla/UiEditorSlashMenuItem.js +57 -0
  161. package/vanilla/UiEditorTableContextMenu.d.ts +5 -2
  162. package/vanilla/UiEditorTableContextMenu.js +1 -2
  163. package/vanilla/UiEditorTableOverlay.d.ts +1 -1
  164. package/vanilla/UiEditorTableOverlay.js +5 -5
  165. package/vanilla/UiEditorTableToolbar.d.ts +4 -2
  166. package/vanilla/UiEditorTableToolbar.js +1 -2
  167. package/vanilla/UiEditorToolbar.js +2 -0
  168. package/vanilla/UiGrid.d.ts +1 -0
  169. package/vanilla/UiGrid.js +8 -7
  170. package/vanilla/UiIcon.js +1 -1
  171. package/vanilla/UiIconButton.d.ts +1 -0
  172. package/vanilla/UiIconButton.js +11 -2
  173. package/vanilla/UiListbox.d.ts +20 -0
  174. package/vanilla/UiListbox.js +45 -0
  175. package/vanilla/UiMenu.d.ts +1 -1
  176. package/vanilla/UiMenu.js +1 -1
  177. package/vanilla/UiMenuGroup.d.ts +14 -0
  178. package/vanilla/UiMenuGroup.js +35 -0
  179. package/vanilla/UiMenuItem.d.ts +5 -1
  180. package/vanilla/UiMenuItem.js +91 -30
  181. package/vanilla/UiPopover.d.ts +1 -1
  182. package/vanilla/UiPopover.js +1 -1
  183. package/vanilla/UiRadioGroup.d.ts +1 -0
  184. package/vanilla/UiRadioGroup.js +6 -3
  185. package/vanilla/UiSwitcher.d.ts +1 -0
  186. package/vanilla/UiSwitcher.js +7 -9
  187. package/vanilla/UiTabs.d.ts +1 -0
  188. package/vanilla/UiTabs.js +9 -1
  189. package/vanilla/UiTextarea.d.ts +1 -0
  190. package/vanilla/UiTextarea.js +4 -1
  191. package/vanilla/UiToast.d.ts +16 -0
  192. package/vanilla/UiToast.js +53 -0
  193. package/vanilla/UiToastRegion.d.ts +1 -4
  194. package/vanilla/UiToastRegion.js +3 -11
  195. package/vanilla/UiTooltip.d.ts +1 -1
  196. package/vanilla/UiTooltip.js +1 -1
  197. package/vanilla/UiTree.d.ts +2 -0
  198. package/vanilla/UiTree.js +1 -1
  199. package/vanilla/UiTreeItem.d.ts +1 -0
  200. package/vanilla/UiTreeItem.js +45 -31
  201. package/vanilla/index.js +6 -0
  202. package/vue/UiAvatar.d.ts +4 -0
  203. package/vue/UiAvatar.vue +23 -3
  204. package/vue/UiAvatarGroup.d.ts +3 -0
  205. package/vue/UiAvatarGroup.vue +7 -4
  206. package/vue/UiBadge.d.ts +2 -2
  207. package/vue/UiBadge.vue +74 -2
  208. package/vue/UiButton.d.ts +5 -3
  209. package/vue/UiButton.vue +41 -7
  210. package/vue/UiCallout.d.ts +2 -2
  211. package/vue/UiCallout.vue +3 -2
  212. package/vue/UiCheckbox.d.ts +2 -0
  213. package/vue/UiCheckbox.vue +16 -0
  214. package/vue/UiCombobox.d.ts +13 -3
  215. package/vue/UiCombobox.vue +62 -11
  216. package/vue/UiContextMenu.d.ts +2 -0
  217. package/vue/UiContextMenu.vue +47 -6
  218. package/vue/UiDialog.d.ts +18 -4
  219. package/vue/UiDialog.vue +86 -11
  220. package/vue/UiDisclosure.d.ts +8 -2
  221. package/vue/UiDisclosure.vue +38 -14
  222. package/vue/UiEditable.d.ts +10 -0
  223. package/vue/UiEditable.vue +14 -2
  224. package/vue/UiEditorInsertTableGrid.vue +52 -15
  225. package/vue/UiEditorMentionMenu.d.ts +24 -2
  226. package/vue/UiEditorMentionMenu.vue +27 -11
  227. package/vue/UiEditorMentionMenuItem.d.ts +24 -0
  228. package/vue/UiEditorMentionMenuItem.js +2 -0
  229. package/vue/UiEditorMentionMenuItem.vue +88 -0
  230. package/vue/UiEditorSlashMenu.d.ts +24 -1
  231. package/vue/UiEditorSlashMenu.vue +33 -33
  232. package/vue/UiEditorSlashMenuGroup.d.ts +18 -0
  233. package/vue/UiEditorSlashMenuGroup.js +2 -0
  234. package/vue/UiEditorSlashMenuGroup.vue +43 -0
  235. package/vue/UiEditorSlashMenuItem.d.ts +26 -0
  236. package/vue/UiEditorSlashMenuItem.js +2 -0
  237. package/vue/UiEditorSlashMenuItem.vue +101 -0
  238. package/vue/UiEditorTableContextMenu.d.ts +9 -3
  239. package/vue/UiEditorTableContextMenu.vue +53 -3
  240. package/vue/UiEditorTableOverlay.d.ts +2 -2
  241. package/vue/UiEditorTableOverlay.vue +8 -6
  242. package/vue/UiEditorTableToolbar.d.ts +7 -3
  243. package/vue/UiEditorTableToolbar.vue +50 -2
  244. package/vue/UiEditorToolbar.vue +14 -1
  245. package/vue/UiFloatingActionButton.vue +1 -1
  246. package/vue/UiFormField.vue +28 -3
  247. package/vue/UiGrid.d.ts +1 -0
  248. package/vue/UiGrid.vue +26 -2
  249. package/vue/UiIcon.vue +16 -0
  250. package/vue/UiIconButton.d.ts +5 -3
  251. package/vue/UiIconButton.vue +40 -6
  252. package/vue/UiInput.vue +10 -3
  253. package/vue/UiInputGroup.vue +32 -11
  254. package/vue/UiListbox.d.ts +33 -0
  255. package/vue/UiListbox.js +2 -0
  256. package/vue/UiListbox.vue +131 -0
  257. package/vue/UiMenu.d.ts +2 -0
  258. package/vue/UiMenu.vue +43 -6
  259. package/vue/UiMenuGroup.d.ts +18 -0
  260. package/vue/UiMenuGroup.js +2 -0
  261. package/vue/UiMenuGroup.vue +39 -0
  262. package/vue/UiMenuItem.d.ts +34 -2
  263. package/vue/UiMenuItem.vue +145 -9
  264. package/vue/UiPopover.d.ts +2 -2
  265. package/vue/UiPopover.vue +44 -5
  266. package/vue/UiRadioGroup.d.ts +2 -0
  267. package/vue/UiRadioGroup.vue +17 -0
  268. package/vue/UiSearchShell.vue +12 -5
  269. package/vue/UiSelect.vue +18 -4
  270. package/vue/UiSwitch.vue +2 -2
  271. package/vue/UiSwitcher.d.ts +1 -0
  272. package/vue/UiSwitcher.vue +22 -1
  273. package/vue/UiTabs.d.ts +6 -2
  274. package/vue/UiTabs.vue +14 -12
  275. package/vue/UiTextarea.d.ts +2 -0
  276. package/vue/UiTextarea.vue +32 -4
  277. package/vue/UiToast.d.ts +34 -0
  278. package/vue/UiToast.js +2 -0
  279. package/vue/UiToast.vue +173 -0
  280. package/vue/UiToastRegion.d.ts +2 -18
  281. package/vue/UiToastRegion.vue +123 -48
  282. package/vue/UiTooltip.d.ts +2 -2
  283. package/vue/UiTooltip.vue +67 -12
  284. package/vue/UiTree.d.ts +10 -0
  285. package/vue/UiTree.vue +27 -0
  286. package/vue/UiTreeItem.d.ts +2 -0
  287. package/vue/UiTreeItem.vue +96 -4
  288. package/vue/chunks/UiAvatar.js +19 -5
  289. package/vue/chunks/UiAvatarGroup.js +10 -4
  290. package/vue/chunks/UiBadge.js +1 -1
  291. package/vue/chunks/UiButton.js +58 -11
  292. package/vue/chunks/UiCallout.js +2 -2
  293. package/vue/chunks/UiCheckbox.js +12 -2
  294. package/vue/chunks/UiCombobox.js +30 -13
  295. package/vue/chunks/UiContextMenu.js +6 -2
  296. package/vue/chunks/UiDialog.js +25 -8
  297. package/vue/chunks/UiDisclosure.js +36 -12
  298. package/vue/chunks/UiEditable.js +22 -8
  299. package/vue/chunks/UiEditorInsertTableGrid.js +11 -14
  300. package/vue/chunks/UiEditorMentionMenu.js +30 -19
  301. package/vue/chunks/UiEditorMentionMenuItem.js +36 -0
  302. package/vue/chunks/UiEditorSlashMenu.js +33 -35
  303. package/vue/chunks/UiEditorSlashMenuGroup.js +26 -0
  304. package/vue/chunks/UiEditorSlashMenuItem.js +51 -0
  305. package/vue/chunks/UiEditorTableContextMenu.js +39 -5
  306. package/vue/chunks/UiEditorTableOverlay.js +6 -6
  307. package/vue/chunks/UiEditorTableToolbar.js +37 -4
  308. package/vue/chunks/UiEditorToolbar.js +18 -4
  309. package/vue/chunks/UiFloatingActionButton.js +1 -1
  310. package/vue/chunks/UiFormField.js +13 -9
  311. package/vue/chunks/UiGrid.js +6 -2
  312. package/vue/chunks/UiIcon.js +40 -2
  313. package/vue/chunks/UiIconButton.js +35 -4
  314. package/vue/chunks/UiInput.js +1 -1
  315. package/vue/chunks/UiInputGroup.js +1 -1
  316. package/vue/chunks/UiListbox.js +70 -0
  317. package/vue/chunks/UiMenu.js +6 -2
  318. package/vue/chunks/UiMenuGroup.js +25 -0
  319. package/vue/chunks/UiMenuItem.js +128 -7
  320. package/vue/chunks/UiPopover.js +1 -1
  321. package/vue/chunks/UiRadioGroup.js +8 -2
  322. package/vue/chunks/UiSearchShell.js +1 -1
  323. package/vue/chunks/UiSelect.js +1 -1
  324. package/vue/chunks/UiSwitch.js +1 -1
  325. package/vue/chunks/UiSwitcher.js +20 -3
  326. package/vue/chunks/UiTabs.js +4 -3
  327. package/vue/chunks/UiTextarea.js +7 -2
  328. package/vue/chunks/UiToast.js +81 -0
  329. package/vue/chunks/UiToastRegion.js +25 -49
  330. package/vue/chunks/UiTooltip.js +3 -7
  331. package/vue/chunks/UiTree.js +8 -4
  332. package/vue/chunks/UiTreeItem.js +28 -10
  333. package/vue/components.css +1840 -851
  334. package/vue/editor/index.js +263 -2
  335. package/vue/index.d.ts +6 -0
  336. package/vue/index.js +9 -3
@@ -1,4 +1,20 @@
1
1
  /* Generated by HTML Next 1.0.0-alpha.7. Do not edit. */
2
+ @property --ui-context-menu-surface {
3
+ syntax: "*";
4
+ inherits: false;
5
+ }
6
+ @property --ui-context-menu-border {
7
+ syntax: "*";
8
+ inherits: false;
9
+ }
10
+ @property --ui-context-menu-radius {
11
+ syntax: "*";
12
+ inherits: false;
13
+ }
14
+ @property --ui-context-menu-shadow {
15
+ syntax: "*";
16
+ inherits: false;
17
+ }
2
18
  @property --ui-context-menu-z-index {
3
19
  syntax: "*";
4
20
  inherits: false;
@@ -8,6 +24,10 @@
8
24
 
9
25
  :scope {
10
26
  /* Hooks do not inherit, so the parts below read them from the root. */
27
+ --_ui-context-menu-surface: var(--ui-context-menu-surface);
28
+ --_ui-context-menu-border: var(--ui-context-menu-border);
29
+ --_ui-context-menu-radius: var(--ui-context-menu-radius);
30
+ --_ui-context-menu-shadow: var(--ui-context-menu-shadow);
11
31
  --_ui-context-menu-z-index: var(--ui-context-menu-z-index);
12
32
 
13
33
  display: contents;
@@ -21,10 +41,10 @@
21
41
  flex-direction: column;
22
42
  box-sizing: border-box;
23
43
  padding: var(--ui-space-1);
24
- background: var(--ui-surface-elevated);
25
- border: 1px solid var(--ui-border-default);
26
- border-radius: var(--ui-radius-lg);
27
- box-shadow: var(--ui-elevation-overlay, var(--ui-shadow-lg));
44
+ background: var(--_ui-context-menu-surface, var(--ui-overlay-surface, var(--ui-surface-elevated)));
45
+ border: 1px solid var(--_ui-context-menu-border, var(--ui-overlay-border, var(--ui-border-default)));
46
+ border-radius: var(--_ui-context-menu-radius, var(--ui-overlay-radius, var(--ui-radius-lg)));
47
+ box-shadow: var(--_ui-context-menu-shadow, var(--ui-overlay-shadow, var(--ui-elevation-overlay, var(--ui-shadow-lg))));
28
48
  outline: 0;
29
49
  overflow: auto;
30
50
  z-index: var(--_ui-context-menu-z-index, 1000);
@@ -38,6 +58,14 @@
38
58
  overlay var(--ui-motion-fast) allow-discrete;
39
59
  }
40
60
 
61
+ .menu hr {
62
+ align-self: stretch;
63
+ block-size: 0;
64
+ margin: var(--ui-space-1) 0;
65
+ border: 0;
66
+ border-block-start: 1px solid var(--ui-border-default);
67
+ }
68
+
41
69
  .menu:popover-open {
42
70
  opacity: 1;
43
71
  transform: translateY(0) scale(1);
@@ -3,6 +3,22 @@
3
3
  syntax: "*";
4
4
  inherits: false;
5
5
  }
6
+ @property --ui-dialog-surface {
7
+ syntax: "*";
8
+ inherits: false;
9
+ }
10
+ @property --ui-dialog-border {
11
+ syntax: "*";
12
+ inherits: false;
13
+ }
14
+ @property --ui-dialog-radius {
15
+ syntax: "*";
16
+ inherits: false;
17
+ }
18
+ @property --ui-dialog-shadow {
19
+ syntax: "*";
20
+ inherits: false;
21
+ }
6
22
  @property --ui-dialog-max-width {
7
23
  syntax: "*";
8
24
  inherits: false;
@@ -34,7 +50,7 @@
34
50
  box-sizing: border-box;
35
51
  inline-size: min(
36
52
  calc(100% - var(--ui-dialog-viewport-gap, var(--ui-space-4)) * 2),
37
- var(--ui-dialog-max-width, 440px)
53
+ var(--ui-dialog-max-width, var(--_ui-dialog-size, 440px))
38
54
  );
39
55
  max-inline-size: none;
40
56
  max-block-size: calc(100dvh - var(--ui-dialog-viewport-gap, var(--ui-space-4)) * 2);
@@ -42,10 +58,10 @@
42
58
  padding: 0;
43
59
  overflow: hidden;
44
60
  flex-direction: column;
45
- background: var(--ui-surface-elevated);
46
- border: 1px solid var(--ui-border-default);
47
- border-radius: var(--ui-radius-dialog);
48
- box-shadow: var(--ui-elevation-dialog, var(--ui-shadow-xl));
61
+ background: var(--ui-dialog-surface, var(--ui-overlay-surface, var(--ui-surface-elevated)));
62
+ border: 1px solid var(--ui-dialog-border, var(--ui-overlay-border, var(--ui-border-default)));
63
+ border-radius: var(--ui-dialog-radius, var(--ui-overlay-radius, var(--ui-radius-dialog)));
64
+ box-shadow: var(--ui-dialog-shadow, var(--ui-overlay-shadow, var(--ui-elevation-dialog, var(--ui-shadow-xl))));
49
65
  visibility: hidden;
50
66
  pointer-events: none;
51
67
  opacity: 0;
@@ -67,6 +83,27 @@
67
83
  animation: ui-dialog-enter var(--ui-dialog-duration, var(--ui-motion-base)) var(--ui-motion-ease);
68
84
  }
69
85
 
86
+ :scope[data-ui-dialog-state~="size=sm"] {
87
+ --_ui-dialog-size: 360px;
88
+ }
89
+
90
+ :scope[data-ui-dialog-state~="size=lg"] {
91
+ --_ui-dialog-size: 640px;
92
+ }
93
+
94
+ :scope[data-ui-dialog-state~="size=fullscreen"] {
95
+ inset: 0;
96
+ inline-size: 100%;
97
+ block-size: 100dvh;
98
+ max-block-size: none;
99
+ margin: 0;
100
+ border-radius: var(--ui-dialog-radius, 0);
101
+ }
102
+
103
+ :scope[data-ui-dialog-state~="alert"] .close {
104
+ display: none;
105
+ }
106
+
70
107
  /* Header and actions stay pinned; only the body scrolls when content is long. */
71
108
  header {
72
109
  display: flex;
@@ -20,6 +20,28 @@
20
20
  grid-template-rows: repeat(var(--_rows, 8), 1.25rem);
21
21
  gap: 2px;
22
22
  margin-bottom: var(--ui-space-2);
23
+ max-inline-size: 100%;
24
+ overflow: auto;
25
+ --_ui-scroll-fade-direction: to right;
26
+ --_ui-scroll-fade-size: var(--ui-scroll-fade-size, 24px);
27
+ mask-image: linear-gradient(
28
+ var(--_ui-scroll-fade-direction),
29
+ transparent,
30
+ #000 var(--_ui-scroll-fade-start),
31
+ #000 calc(100% - var(--_ui-scroll-fade-end)),
32
+ transparent
33
+ );
34
+ animation: ui-scroll-fade-start linear, ui-scroll-fade-start-hold linear, ui-scroll-fade-end-hold linear, ui-scroll-fade-end linear;
35
+ animation-timeline: scroll(self inline);
36
+ animation-range:
37
+ 0 var(--_ui-scroll-fade-size),
38
+ var(--_ui-scroll-fade-size) calc(100% + 1px),
39
+ -1px calc(100% - var(--_ui-scroll-fade-size)),
40
+ calc(100% - var(--_ui-scroll-fade-size)) 100%;
41
+ }
42
+
43
+ :scope:dir(rtl) .grid {
44
+ --_ui-scroll-fade-direction: to left;
23
45
  }
24
46
 
25
47
  .cell {
@@ -37,6 +59,11 @@
37
59
  border-color: var(--ui-accent-solid, var(--ui-accent));
38
60
  }
39
61
 
62
+ .cell:focus-visible {
63
+ outline: 2px solid var(--ui-focus-ring);
64
+ outline-offset: -2px;
65
+ }
66
+
40
67
  .header {
41
68
  display: block;
42
69
  margin-bottom: var(--ui-space-2);
@@ -44,22 +71,32 @@
44
71
  cursor: pointer;
45
72
  }
46
73
 
47
- :scope .insert {
48
- width: 100%;
49
- padding: var(--ui-space-2) var(--ui-space-3);
50
- border: 1px solid var(--ui-border);
51
- border-radius: var(--ui-radius-sm);
52
- background: var(--ui-accent-solid, var(--ui-accent));
53
- color: var(--ui-accent-contrast);
54
- font-size: var(--ui-font-size-sm);
55
- cursor: pointer;
74
+ @media (pointer: coarse) {
75
+ .grid {
76
+ grid-template-columns: repeat(var(--_cols, 8), 44px);
77
+ grid-template-rows: repeat(var(--_rows, 8), 44px);
78
+ }
79
+
80
+ .cell {
81
+ width: 44px;
82
+ height: 44px;
83
+ }
56
84
  }
57
85
 
58
- :scope .insert:hover {
59
- filter: brightness(1.05);
86
+ @media (forced-colors: active) {
87
+ .cell:focus-visible {
88
+ outline-color: Highlight;
89
+ }
60
90
  }
61
91
 
62
92
  :scope[hidden] {
63
93
  display: none;
64
94
  }
65
95
  }
96
+ @scope ([data-component~="ui-editor-insert-table-grid"]) to ([data-component]) {
97
+ @media (pointer: coarse) {
98
+ }
99
+
100
+ @media (forced-colors: active) {
101
+ }
102
+ }
@@ -0,0 +1,57 @@
1
+ /* Generated by HTML Next 1.0.0-alpha.7. Do not edit. */
2
+ @scope ([data-component~="ui-editor-mention-menu-item"]) to ([data-component], [data-slotted]) {
3
+ :scope {
4
+ display: flex;
5
+ align-items: center;
6
+ min-block-size: 44px;
7
+ padding: var(--ui-space-2) var(--ui-space-3);
8
+ gap: var(--ui-space-3);
9
+ cursor: pointer;
10
+ list-style: none;
11
+ }
12
+
13
+ :scope[aria-selected="true"] {
14
+ background: var(--ui-accent-subtle);
15
+ }
16
+
17
+ .avatar {
18
+ display: inline-flex;
19
+ align-items: center;
20
+ justify-content: center;
21
+ inline-size: 32px;
22
+ block-size: 32px;
23
+ flex: 0 0 auto;
24
+ color: var(--ui-accent-active);
25
+ background: var(--ui-accent-soft);
26
+ border-radius: var(--ui-radius-round);
27
+ font-size: var(--ui-font-size-xs);
28
+ font-weight: var(--ui-font-semibold);
29
+ }
30
+
31
+ .body {
32
+ display: flex;
33
+ min-inline-size: 0;
34
+ flex-direction: column;
35
+ }
36
+
37
+ .label, .detail {
38
+ overflow: hidden;
39
+ text-overflow: ellipsis;
40
+ white-space: nowrap;
41
+ }
42
+
43
+ .label {
44
+ color: var(--ui-text-primary);
45
+ font-size: var(--ui-font-size-sm);
46
+ font-weight: var(--ui-font-medium);
47
+ }
48
+
49
+ .detail {
50
+ color: var(--ui-text-muted);
51
+ font-size: var(--ui-font-size-xs);
52
+ }
53
+
54
+ :scope[hidden] {
55
+ display: none;
56
+ }
57
+ }
@@ -26,6 +26,16 @@
26
26
  font-weight: var(--ui-font-semibold);
27
27
  }
28
28
 
29
+ .header:not(:has(> *)), .empty:not(:has(> *)) {
30
+ display: none;
31
+ }
32
+
33
+ .empty {
34
+ padding: var(--ui-space-3);
35
+ color: var(--ui-text-muted);
36
+ font-size: var(--ui-font-size-sm);
37
+ }
38
+
29
39
  .hint {
30
40
  overflow: hidden;
31
41
  color: var(--ui-text-muted);
@@ -82,7 +92,7 @@
82
92
  flex: 0 0 auto;
83
93
  color: var(--ui-accent-active, var(--ui-accent-solid));
84
94
  background: var(--ui-accent-soft, var(--ui-accent-subtle));
85
- border-radius: 999px;
95
+ border-radius: var(--ui-radius-round);
86
96
  font-size: var(--ui-font-size-xs);
87
97
  font-weight: var(--ui-font-semibold);
88
98
  }
@@ -0,0 +1,21 @@
1
+ /* Generated by HTML Next 1.0.0-alpha.7. Do not edit. */
2
+ @scope ([data-component~="ui-editor-slash-menu-group"]) to ([data-component], [data-slotted]) {
3
+ :scope {
4
+ display: block;
5
+ list-style: none;
6
+ }
7
+ .heading {
8
+ padding: var(--ui-space-2) var(--ui-space-3) var(--ui-space-1);
9
+ color: var(--ui-text-muted);
10
+ font-size: var(--ui-font-size-xs);
11
+ font-weight: var(--ui-font-semibold);
12
+ }
13
+ ul {
14
+ margin: 0;
15
+ padding: 0;
16
+ list-style: none;
17
+ }
18
+ :scope[hidden] {
19
+ display: none;
20
+ }
21
+ }
@@ -0,0 +1,62 @@
1
+ /* Generated by HTML Next 1.0.0-alpha.7. Do not edit. */
2
+ @scope ([data-component~="ui-editor-slash-menu-item"]) to ([data-component], [data-slotted]) {
3
+ :scope {
4
+ display: flex;
5
+ align-items: center;
6
+ gap: var(--ui-space-3);
7
+ min-block-size: 44px;
8
+ padding: var(--ui-space-2) var(--ui-space-3);
9
+ cursor: pointer;
10
+ list-style: none;
11
+ }
12
+
13
+ :scope[aria-selected="true"] {
14
+ background: var(--ui-accent-subtle);
15
+ }
16
+ :scope[aria-disabled="true"] {
17
+ opacity: 0.6;
18
+ cursor: not-allowed;
19
+ }
20
+
21
+ .icon {
22
+ display: flex;
23
+ align-items: center;
24
+ justify-content: center;
25
+ inline-size: 32px;
26
+ block-size: 32px;
27
+ flex: 0 0 auto;
28
+ color: var(--ui-text-secondary);
29
+ background: var(--ui-surface-hover);
30
+ border: 1px solid var(--ui-border);
31
+ border-radius: var(--ui-radius-md);
32
+ }
33
+
34
+ .icon {
35
+ --_ui-default-icon-size: 1rem;
36
+ }
37
+
38
+ .body {
39
+ display: flex;
40
+ min-inline-size: 0;
41
+ flex-direction: column;
42
+ gap: 1px;
43
+ }
44
+ .title, .description {
45
+ overflow: hidden;
46
+ text-overflow: ellipsis;
47
+ white-space: nowrap;
48
+ }
49
+ .title {
50
+ color: var(--ui-text-primary);
51
+ font-size: var(--ui-font-size-sm);
52
+ font-weight: var(--ui-font-medium);
53
+ }
54
+ .description {
55
+ color: var(--ui-text-muted);
56
+ font-size: var(--ui-font-size-xs);
57
+ }
58
+
59
+ :scope[hidden] {
60
+ display: none;
61
+ }
62
+ }
@@ -34,23 +34,22 @@
34
34
  letter-spacing: 0.05em;
35
35
  }
36
36
 
37
+ .header:not(:has(> *)), .footer:not(:has(> *)), .empty:not(:has(> *)) {
38
+ display: none;
39
+ }
40
+
41
+ .empty {
42
+ padding: var(--ui-space-3);
43
+ color: var(--ui-text-muted);
44
+ font-size: var(--ui-font-size-sm);
45
+ }
46
+
37
47
  @media (max-width: 767px) {
38
48
  .header {
39
49
  display: flex;
40
50
  }
41
51
  }
42
52
 
43
- .header-query {
44
- background: var(--ui-surface-hover);
45
- border-radius: var(--ui-radius-sm);
46
- padding: 0.1em 0.4em;
47
- font-family: var(--ui-font-family-mono, ui-monospace, monospace);
48
- font-size: var(--ui-font-size-xs);
49
- color: var(--ui-accent);
50
- text-transform: none;
51
- letter-spacing: 0;
52
- }
53
-
54
53
  .list {
55
54
  list-style: none;
56
55
  margin: 0;
@@ -151,19 +150,12 @@
151
150
  }
152
151
 
153
152
  .footer {
154
- display: none;
155
153
  padding: var(--ui-space-2) var(--ui-space-3);
156
154
  border-top: 1px solid var(--ui-border);
157
155
  font-size: var(--ui-font-size-xs);
158
156
  color: var(--ui-text-muted);
159
157
  }
160
158
 
161
- @media (min-width: 768px) {
162
- .footer {
163
- display: block;
164
- }
165
- }
166
-
167
159
  :scope kbd {
168
160
  display: inline-flex;
169
161
  align-items: center;
@@ -190,7 +182,4 @@
190
182
 
191
183
  @media (max-width: 767px) {
192
184
  }
193
-
194
- @media (min-width: 768px) {
195
- }
196
185
  }
@@ -74,7 +74,7 @@
74
74
  display: inline-flex;
75
75
  width: 1rem;
76
76
  height: 1rem;
77
- border-radius: 999px;
77
+ border-radius: var(--ui-radius-round);
78
78
  border: 1px solid var(--ui-border);
79
79
  background: var(--_swatch, #fff);
80
80
  box-shadow: inset 0 0 0 1px rgb(255 255 255 / 0.35);
@@ -30,7 +30,7 @@
30
30
  :scope {
31
31
  appearance: none;
32
32
  border: none;
33
- border-radius: 999px;
33
+ border-radius: var(--ui-radius-round);
34
34
  margin: 0;
35
35
  padding: 0;
36
36
  display: inline-flex;
@@ -1,4 +1,8 @@
1
1
  /* Generated by HTML Next 1.0.0-alpha.7. Do not edit. */
2
+ @property --ui-form-field-danger {
3
+ syntax: "*";
4
+ inherits: false;
5
+ }
2
6
  @property --ui-form-field-help-min-block-size {
3
7
  syntax: "*";
4
8
  inherits: false;
@@ -8,6 +12,7 @@
8
12
 
9
13
  :scope {
10
14
  /* Hooks do not inherit, so the parts below read them from the root. */
15
+ --_ui-form-field-danger: var(--ui-form-field-danger);
11
16
  --_ui-form-field-help-min-block-size: var(--ui-form-field-help-min-block-size);
12
17
 
13
18
  display: grid;
@@ -36,6 +41,14 @@
36
41
  line-height: var(--ui-line-height-md);
37
42
  }
38
43
 
44
+ .error {
45
+ display: none;
46
+ }
47
+
48
+ :scope[data-ui-form-field-state~="invalid"] .error {
49
+ display: contents;
50
+ }
51
+
39
52
  /* An error reads in the danger colour, the one the invalid control's border takes. */
40
53
 
41
54
  /* A component that sets its display still honours the hidden attribute on its root. */
@@ -56,7 +69,7 @@
56
69
  /* An error reads in the danger colour, the one the invalid control's border takes. */
57
70
  .error,
58
71
  :where([data-slotted], [data-slotted] *):is([role="alert"]) {
59
- color: var(--ui-danger);
72
+ color: var(--_ui-form-field-danger, var(--ui-field-danger, var(--ui-danger)));
60
73
  font-size: var(--ui-font-size-sm);
61
74
  }
62
75
 
@@ -15,7 +15,20 @@
15
15
  --_grid-min: 12rem;
16
16
  display: grid;
17
17
  gap: var(--ui-grid-gap, var(--_grid-gap));
18
- grid-template-columns: repeat(auto-fit, minmax(min(var(--ui-grid-min, var(--_grid-min)), 100%), 1fr));
18
+ grid-template-columns:
19
+ repeat(
20
+ auto-fit,
21
+ minmax(
22
+ min(
23
+ max(
24
+ var(--ui-grid-min, var(--_grid-min)),
25
+ calc((100% - (max(1, var(--_grid-column-cap, 9999)) - 1) * var(--ui-grid-gap, var(--_grid-gap))) / max(1, var(--_grid-column-cap, 9999)))
26
+ ),
27
+ 100%
28
+ ),
29
+ 1fr
30
+ )
31
+ );
19
32
  min-inline-size: 0;
20
33
  max-inline-size: 100%;
21
34
  margin: 0;
@@ -129,7 +129,7 @@
129
129
  padding: 0;
130
130
  margin: 0;
131
131
  border: 1px solid transparent;
132
- border-radius: var(--ui-icon-button-radius, var(--ui-radius-md));
132
+ border-radius: var(--ui-icon-button-radius, var(--ui-action-radius, var(--ui-radius-md)));
133
133
  background: var(--ui-icon-button-surface, transparent);
134
134
  color: inherit;
135
135
  display: inline-flex;
@@ -215,24 +215,36 @@
215
215
  );
216
216
  }
217
217
 
218
- :scope:hover:enabled {
218
+ :scope:hover:enabled:not([aria-disabled="true"]) {
219
219
  /* Derived from the text colour so the ghost hover shows on any background. */
220
220
  background: var(--ui-icon-button-hover-surface, color-mix(in srgb, currentColor 8%, transparent));
221
221
  color: var(--ui-icon-button-hover-text, var(--ui-text-primary));
222
222
  }
223
223
 
224
- :scope[data-ui-icon-button-state~="variant=outline"]:hover:enabled {
224
+ :scope[data-ui-icon-button-state~="variant=outline"]:hover:enabled:not([aria-disabled="true"]) {
225
225
  border-color: var(--ui-icon-button-hover-border, var(--ui-border-strong));
226
226
  }
227
227
 
228
- :scope[data-ui-icon-button-state~="variant=solid"]:hover:enabled {
228
+ :scope[data-ui-icon-button-state~="variant=solid"]:hover:enabled:not([aria-disabled="true"]) {
229
229
  background: var(--ui-icon-button-solid-hover-surface, var(--ui-accent-hover));
230
230
  }
231
231
 
232
- :scope:active:enabled {
232
+ :scope:active:enabled:not([aria-disabled="true"]) {
233
233
  transform: scale(var(--ui-icon-button-active-scale, 0.96));
234
234
  }
235
235
 
236
+ :scope[data-ui-icon-button-state~="pending"] {
237
+ cursor: progress;
238
+ }
239
+
240
+ .content {
241
+ display: contents;
242
+ }
243
+
244
+ :scope[data-ui-icon-button-state~="pending"] .content {
245
+ display: none;
246
+ }
247
+
236
248
  :scope:focus-visible {
237
249
  outline: none;
238
250
  box-shadow: var(--ui-focus-halo);
@@ -1,4 +1,16 @@
1
1
  /* Generated by HTML Next 1.0.0-alpha.7. Do not edit. */
2
+ @property --ui-input-group-radius {
3
+ syntax: "*";
4
+ inherits: false;
5
+ }
6
+ @property --ui-input-group-invalid-border {
7
+ syntax: "*";
8
+ inherits: false;
9
+ }
10
+ @property --ui-input-group-invalid-focus-shadow {
11
+ syntax: "*";
12
+ inherits: false;
13
+ }
2
14
  @scope ([data-component~="ui-input-group"]) to ([data-component], [data-slotted]) {
3
15
  /* An input with fixed text before or after it, such as a domain after a site's name
4
16
  ("acme" + ".example.com") or slashes around a path. The group draws the field's border and
@@ -32,7 +44,7 @@
32
44
  min-block-size: var(--ui-control-size-md);
33
45
  /* The frame reads the shared control tokens with a lone Input's fallbacks, so the two match. */
34
46
  border: 1px solid var(--ui-control-border, var(--ui-border-strong));
35
- border-radius: var(--ui-radius-md);
47
+ border-radius: var(--ui-input-group-radius, var(--ui-field-radius, var(--ui-radius-md)));
36
48
  background: var(--ui-control-surface, var(--ui-surface-elevated));
37
49
  box-shadow: var(--ui-control-inset);
38
50
  overflow: hidden;
@@ -70,13 +82,15 @@
70
82
  }
71
83
 
72
84
  :scope:has([aria-invalid="true"], :is(:user-invalid, [data-user-invalid])) {
73
- border-color: var(--ui-danger-solid);
85
+ border-color: var(--ui-input-group-invalid-border, var(--ui-field-danger, var(--ui-danger-solid)));
74
86
  }
75
87
 
76
88
  :scope:has(input:is([aria-invalid="true"], :is(:user-invalid, [data-user-invalid])):focus-visible) {
77
- box-shadow:
89
+ box-shadow: var(
90
+ --ui-input-group-invalid-focus-shadow,
78
91
  var(--ui-control-inset),
79
- 0 0 0 3px color-mix(in srgb, var(--ui-danger-solid) 22%, transparent);
92
+ 0 0 0 3px color-mix(in srgb, var(--ui-input-group-invalid-border, var(--ui-field-danger, var(--ui-danger-solid))) 22%, transparent)
93
+ );
80
94
  }
81
95
 
82
96
  /* Forced colors drop box shadows, so the focus ring becomes an outline. */
@@ -62,7 +62,7 @@
62
62
  appearance: none;
63
63
  border: var(--ui-input-border-width, var(--_ui-default-input-border-width, 1px)) solid
64
64
  var(--ui-input-border, var(--_ui-default-input-border, var(--ui-control-border, var(--ui-border-strong))));
65
- border-radius: var(--ui-input-radius, var(--_ui-default-input-radius, var(--ui-radius-md)));
65
+ border-radius: var(--ui-input-radius, var(--_ui-default-input-radius, var(--ui-field-radius, var(--ui-radius-md))));
66
66
  background: var(--ui-input-surface, var(--_ui-default-input-surface, var(--ui-control-surface, var(--ui-surface-elevated))));
67
67
  color: var(--ui-text-primary);
68
68
  font: inherit;
@@ -120,7 +120,7 @@
120
120
  /* The app's invalid flag, or the browser's own verdict once the user has left an invalid field. */
121
121
  :scope[aria-invalid="true"],
122
122
  :scope:is(:user-invalid, [data-user-invalid]) {
123
- border-color: var(--ui-input-invalid-border, var(--_ui-default-input-invalid-border, var(--ui-danger-solid)));
123
+ border-color: var(--ui-input-invalid-border, var(--_ui-default-input-invalid-border, var(--ui-field-danger, var(--ui-danger-solid))));
124
124
  }
125
125
 
126
126
  :scope:is([aria-invalid="true"], :is(:user-invalid, [data-user-invalid])):focus-visible {
@@ -129,7 +129,7 @@
129
129
  var(
130
130
  --_ui-default-input-invalid-focus-shadow,
131
131
  var(--ui-control-inset),
132
- 0 0 0 3px color-mix(in srgb, var(--ui-danger-solid) 22%, transparent)
132
+ 0 0 0 3px color-mix(in srgb, var(--ui-input-invalid-border, var(--ui-field-danger, var(--ui-danger-solid))) 22%, transparent)
133
133
  )
134
134
  );
135
135
  }