@threadlabs/looma 0.32.0 → 0.33.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 (337) hide show
  1. package/components/shared/icons.js +1 -0
  2. package/components/shared/overlay.js +1 -1
  3. package/components/ui-action-bar/ui-action-bar.html +11 -11
  4. package/components/ui-affordance-scope/ui-affordance-scope.html +2 -2
  5. package/components/ui-avatar/ui-avatar.html +8 -8
  6. package/components/ui-avatar-group/ui-avatar-group.html +14 -14
  7. package/components/ui-avatar-group/ui-avatar-group.js +3 -2
  8. package/components/ui-badge/ui-badge.html +43 -43
  9. package/components/ui-breadcrumb-item/ui-breadcrumb-item.html +13 -13
  10. package/components/ui-breadcrumbs/ui-breadcrumbs.html +8 -8
  11. package/components/ui-button/ui-button.html +32 -29
  12. package/components/ui-callout/ui-callout.html +9 -9
  13. package/components/ui-card/ui-card.html +11 -11
  14. package/components/ui-checkbox/ui-checkbox.html +52 -33
  15. package/components/ui-cluster/ui-cluster.html +21 -21
  16. package/components/ui-color-picker/ui-color-picker.html +135 -0
  17. package/components/ui-color-picker/ui-color-picker.js +76 -0
  18. package/components/ui-combobox/ui-combobox.html +43 -43
  19. package/components/ui-container/ui-container.html +7 -7
  20. package/components/ui-context-menu/ui-context-menu.html +9 -9
  21. package/components/ui-cover/ui-cover.html +8 -8
  22. package/components/ui-description-item/ui-description-item.html +7 -7
  23. package/components/ui-description-list/ui-description-list.html +4 -4
  24. package/components/ui-dialog/ui-dialog.html +26 -26
  25. package/components/ui-disclosure/ui-disclosure.html +23 -23
  26. package/components/ui-editable/ui-editable.html +16 -16
  27. package/components/ui-editor-insert-table-grid/ui-editor-insert-table-grid.html +9 -9
  28. package/components/ui-editor-link-form/ui-editor-link-form.html +1 -2
  29. package/components/ui-editor-mention-menu/ui-editor-mention-menu.html +23 -23
  30. package/components/ui-editor-mention-menu-item/ui-editor-mention-menu-item.html +10 -10
  31. package/components/ui-editor-slash-menu/ui-editor-slash-menu.html +29 -29
  32. package/components/ui-editor-slash-menu-group/ui-editor-slash-menu-group.html +5 -5
  33. package/components/ui-editor-slash-menu-item/ui-editor-slash-menu-item.html +11 -11
  34. package/components/ui-editor-surface/ui-editor-surface.html +2 -2
  35. package/components/ui-editor-table-context-menu/ui-editor-table-context-menu.html +25 -25
  36. package/components/ui-editor-table-overlay/ui-editor-table-overlay.html +13 -13
  37. package/components/ui-editor-table-toolbar/ui-editor-table-toolbar.html +31 -31
  38. package/components/ui-editor-toolbar/ui-editor-toolbar.html +13 -13
  39. package/components/ui-floating-action-button/ui-floating-action-button.html +8 -8
  40. package/components/ui-form-field/ui-form-field.html +15 -15
  41. package/components/ui-form-field/ui-form-field.js +12 -4
  42. package/components/ui-grid/ui-grid.html +4 -4
  43. package/components/ui-icon/ui-icon.html +3 -2
  44. package/components/ui-icon-button/ui-icon-button.html +15 -14
  45. package/components/ui-image/ui-image.html +14 -14
  46. package/components/ui-input/ui-input.html +8 -8
  47. package/components/ui-input-group/ui-input-group.html +18 -18
  48. package/components/ui-list/ui-list.html +11 -11
  49. package/components/ui-list-item/ui-list-item.html +18 -18
  50. package/components/ui-listbox/ui-listbox.html +10 -10
  51. package/components/ui-menu/ui-menu.html +18 -17
  52. package/components/ui-menu-group/ui-menu-group.html +4 -4
  53. package/components/ui-menu-item/ui-menu-item.html +20 -20
  54. package/components/ui-meter/ui-meter.html +5 -5
  55. package/components/ui-nav-item/ui-nav-item.html +20 -20
  56. package/components/ui-page-header/ui-page-header.html +18 -17
  57. package/components/ui-popover/ui-popover.html +8 -8
  58. package/components/ui-radio/ui-radio.html +25 -17
  59. package/components/ui-radio-group/ui-radio-group.html +10 -10
  60. package/components/ui-reel/ui-reel.html +5 -5
  61. package/components/ui-scroll-area/ui-scroll-area.html +10 -10
  62. package/components/ui-search-result-row/ui-search-result-row.html +19 -19
  63. package/components/ui-search-shell/ui-search-shell.html +22 -22
  64. package/components/ui-section/ui-section.html +24 -23
  65. package/components/ui-select/ui-select.html +10 -10
  66. package/components/ui-separator/ui-separator.html +2 -2
  67. package/components/ui-sidebar/ui-sidebar.html +8 -8
  68. package/components/ui-spinner/ui-spinner.html +6 -6
  69. package/components/ui-stack/ui-stack.html +12 -12
  70. package/components/ui-status-message/ui-status-message.html +17 -17
  71. package/components/ui-swatch/ui-swatch.html +2 -2
  72. package/components/ui-switch/ui-switch.html +36 -26
  73. package/components/ui-switcher/ui-switcher.html +7 -7
  74. package/components/ui-table/ui-table.html +6 -6
  75. package/components/ui-tabs/ui-tabs.html +16 -15
  76. package/components/ui-text/ui-text.html +3 -2
  77. package/components/ui-textarea/ui-textarea.html +10 -10
  78. package/components/ui-toast/ui-toast.html +9 -9
  79. package/components/ui-toast-region/ui-toast-region.html +12 -12
  80. package/components/ui-tooltip/ui-tooltip.html +15 -15
  81. package/components/ui-top-bar/ui-top-bar.html +11 -11
  82. package/components/ui-tree/ui-tree.html +5 -5
  83. package/components/ui-tree-item/ui-tree-item.html +36 -36
  84. package/dist/index.js +46 -45
  85. package/editor/chunks/extensions.js +17 -1
  86. package/editor/extensions/slash-command.d.ts +1 -1
  87. package/editor/file-uploads.d.ts +31 -0
  88. package/editor/icons.d.ts +1 -0
  89. package/editor/index.js +2 -1
  90. package/package.json +3 -2
  91. package/styles/ui-action-bar.css +11 -11
  92. package/styles/ui-affordance-scope.css +2 -2
  93. package/styles/ui-avatar-group.css +14 -14
  94. package/styles/ui-avatar.css +8 -8
  95. package/styles/ui-badge.css +41 -41
  96. package/styles/ui-breadcrumb-item.css +13 -13
  97. package/styles/ui-breadcrumbs.css +8 -8
  98. package/styles/ui-button.css +30 -28
  99. package/styles/ui-callout.css +9 -9
  100. package/styles/ui-card.css +11 -11
  101. package/styles/ui-checkbox.css +52 -33
  102. package/styles/ui-cluster.css +21 -21
  103. package/styles/ui-color-picker.css +120 -0
  104. package/styles/ui-combobox.css +86 -86
  105. package/styles/ui-container.css +7 -7
  106. package/styles/ui-context-menu.css +9 -9
  107. package/styles/ui-cover.css +8 -8
  108. package/styles/ui-description-item.css +7 -7
  109. package/styles/ui-description-list.css +4 -4
  110. package/styles/ui-dialog.css +52 -52
  111. package/styles/ui-disclosure.css +23 -23
  112. package/styles/ui-editable.css +16 -16
  113. package/styles/ui-editor-insert-table-grid.css +9 -9
  114. package/styles/ui-editor-mention-menu-item.css +10 -10
  115. package/styles/ui-editor-mention-menu.css +23 -23
  116. package/styles/ui-editor-slash-menu-group.css +5 -5
  117. package/styles/ui-editor-slash-menu-item.css +11 -11
  118. package/styles/ui-editor-slash-menu.css +29 -29
  119. package/styles/ui-editor-surface.css +2 -2
  120. package/styles/ui-editor-table-context-menu.css +25 -25
  121. package/styles/ui-editor-table-overlay.css +13 -13
  122. package/styles/ui-editor-table-toolbar.css +31 -31
  123. package/styles/ui-editor-toolbar.css +13 -13
  124. package/styles/ui-floating-action-button.css +8 -8
  125. package/styles/ui-form-field.css +13 -13
  126. package/styles/ui-grid.css +4 -4
  127. package/styles/ui-icon-button.css +13 -13
  128. package/styles/ui-icon.css +2 -2
  129. package/styles/ui-image.css +14 -14
  130. package/styles/ui-input-group.css +18 -18
  131. package/styles/ui-input.css +8 -8
  132. package/styles/ui-list-item.css +18 -18
  133. package/styles/ui-list.css +11 -11
  134. package/styles/ui-listbox.css +20 -20
  135. package/styles/ui-menu-group.css +4 -4
  136. package/styles/ui-menu-item.css +20 -20
  137. package/styles/ui-menu.css +16 -16
  138. package/styles/ui-meter.css +5 -5
  139. package/styles/ui-nav-item.css +20 -20
  140. package/styles/ui-page-header.css +18 -17
  141. package/styles/ui-popover.css +8 -8
  142. package/styles/ui-radio-group.css +10 -10
  143. package/styles/ui-radio.css +26 -18
  144. package/styles/ui-reel.css +5 -5
  145. package/styles/ui-scroll-area.css +10 -10
  146. package/styles/ui-search-result-row.css +19 -19
  147. package/styles/ui-search-shell.css +22 -22
  148. package/styles/ui-section.css +24 -23
  149. package/styles/ui-select.css +10 -10
  150. package/styles/ui-separator.css +2 -2
  151. package/styles/ui-sidebar.css +8 -8
  152. package/styles/ui-spinner.css +6 -6
  153. package/styles/ui-stack.css +12 -12
  154. package/styles/ui-status-message.css +17 -17
  155. package/styles/ui-swatch.css +2 -2
  156. package/styles/ui-switch.css +36 -28
  157. package/styles/ui-switcher.css +7 -7
  158. package/styles/ui-table.css +6 -6
  159. package/styles/ui-tabs.css +11 -11
  160. package/styles/ui-text.css +3 -2
  161. package/styles/ui-textarea.css +10 -10
  162. package/styles/ui-toast-region.css +24 -24
  163. package/styles/ui-toast.css +18 -18
  164. package/styles/ui-tooltip.css +15 -15
  165. package/styles/ui-top-bar.css +11 -11
  166. package/styles/ui-tree-item.css +71 -71
  167. package/styles/ui-tree.css +5 -5
  168. package/theme-system.css +80 -0
  169. package/tokens.css +14 -3
  170. package/vanilla/UiColorPicker.d.ts +30 -0
  171. package/vanilla/UiColorPicker.js +77 -0
  172. package/vanilla/UiIcon.js +1 -1
  173. package/vanilla/index.js +1 -0
  174. package/vue/UiActionBar.vue +11 -11
  175. package/vue/UiAffordanceScope.vue +2 -2
  176. package/vue/UiAvatar.vue +8 -8
  177. package/vue/UiAvatarGroup.vue +14 -14
  178. package/vue/UiBadge.vue +43 -42
  179. package/vue/UiBreadcrumbItem.vue +13 -13
  180. package/vue/UiBreadcrumbs.vue +8 -8
  181. package/vue/UiButton.vue +34 -29
  182. package/vue/UiCallout.vue +9 -9
  183. package/vue/UiCard.vue +11 -11
  184. package/vue/UiCheckbox.vue +57 -34
  185. package/vue/UiCluster.vue +21 -21
  186. package/vue/UiColorPicker.d.ts +65 -0
  187. package/vue/UiColorPicker.js +2 -0
  188. package/vue/UiColorPicker.vue +422 -0
  189. package/vue/UiCombobox.vue +86 -86
  190. package/vue/UiContainer.vue +7 -7
  191. package/vue/UiContextMenu.vue +9 -9
  192. package/vue/UiCover.vue +8 -8
  193. package/vue/UiDescriptionItem.vue +7 -7
  194. package/vue/UiDescriptionList.vue +4 -4
  195. package/vue/UiDialog.vue +52 -52
  196. package/vue/UiDisclosure.vue +23 -23
  197. package/vue/UiEditable.vue +16 -16
  198. package/vue/UiEditorInsertTableGrid.vue +9 -9
  199. package/vue/UiEditorMentionMenu.vue +23 -23
  200. package/vue/UiEditorMentionMenuItem.vue +10 -10
  201. package/vue/UiEditorSlashMenu.vue +29 -29
  202. package/vue/UiEditorSlashMenuGroup.vue +5 -5
  203. package/vue/UiEditorSlashMenuItem.vue +11 -11
  204. package/vue/UiEditorSurface.vue +2 -2
  205. package/vue/UiEditorTableContextMenu.vue +25 -25
  206. package/vue/UiEditorTableOverlay.vue +13 -13
  207. package/vue/UiEditorTableToolbar.vue +31 -31
  208. package/vue/UiEditorToolbar.vue +13 -13
  209. package/vue/UiFloatingActionButton.vue +8 -8
  210. package/vue/UiFormField.vue +14 -14
  211. package/vue/UiGrid.vue +4 -4
  212. package/vue/UiIcon.vue +6 -2
  213. package/vue/UiIconButton.vue +14 -14
  214. package/vue/UiImage.vue +14 -14
  215. package/vue/UiInput.vue +9 -8
  216. package/vue/UiInputGroup.vue +18 -18
  217. package/vue/UiList.vue +11 -11
  218. package/vue/UiListItem.vue +18 -18
  219. package/vue/UiListbox.vue +20 -20
  220. package/vue/UiMenu.vue +16 -16
  221. package/vue/UiMenuGroup.vue +4 -4
  222. package/vue/UiMenuItem.vue +20 -20
  223. package/vue/UiMeter.vue +5 -5
  224. package/vue/UiNavItem.vue +20 -20
  225. package/vue/UiPageHeader.vue +18 -17
  226. package/vue/UiPopover.vue +8 -8
  227. package/vue/UiRadio.vue +28 -17
  228. package/vue/UiRadioGroup.vue +10 -10
  229. package/vue/UiReel.vue +5 -5
  230. package/vue/UiScrollArea.vue +10 -10
  231. package/vue/UiSearchResultRow.vue +19 -19
  232. package/vue/UiSearchShell.vue +22 -22
  233. package/vue/UiSection.vue +24 -23
  234. package/vue/UiSelect.vue +11 -10
  235. package/vue/UiSeparator.vue +2 -2
  236. package/vue/UiSidebar.vue +8 -8
  237. package/vue/UiSpinner.vue +6 -6
  238. package/vue/UiStack.vue +12 -12
  239. package/vue/UiStatusMessage.vue +17 -17
  240. package/vue/UiSwatch.vue +2 -2
  241. package/vue/UiSwitch.vue +38 -25
  242. package/vue/UiSwitcher.vue +7 -7
  243. package/vue/UiTable.vue +6 -6
  244. package/vue/UiTabs.vue +13 -13
  245. package/vue/UiText.vue +3 -2
  246. package/vue/UiTextarea.vue +10 -10
  247. package/vue/UiToast.vue +18 -18
  248. package/vue/UiToastRegion.vue +24 -24
  249. package/vue/UiTooltip.vue +15 -15
  250. package/vue/UiTopBar.vue +11 -11
  251. package/vue/UiTree.vue +5 -5
  252. package/vue/UiTreeItem.vue +73 -71
  253. package/vue/chunks/UiActionBar.js +1 -1
  254. package/vue/chunks/UiAffordanceScope.js +1 -1
  255. package/vue/chunks/UiAvatar.js +1 -1
  256. package/vue/chunks/UiAvatarGroup.js +1 -1
  257. package/vue/chunks/UiBadge.js +2 -2
  258. package/vue/chunks/UiBreadcrumbItem.js +1 -1
  259. package/vue/chunks/UiBreadcrumbs.js +1 -1
  260. package/vue/chunks/UiButton.js +2 -2
  261. package/vue/chunks/UiCallout.js +1 -1
  262. package/vue/chunks/UiCard.js +1 -1
  263. package/vue/chunks/UiCheckbox.js +1 -1
  264. package/vue/chunks/UiCluster.js +1 -1
  265. package/vue/chunks/UiColorPicker.js +326 -0
  266. package/vue/chunks/UiCombobox.js +1 -1
  267. package/vue/chunks/UiContainer.js +1 -1
  268. package/vue/chunks/UiContextMenu.js +1 -1
  269. package/vue/chunks/UiCover.js +1 -1
  270. package/vue/chunks/UiDescriptionItem.js +1 -1
  271. package/vue/chunks/UiDescriptionList.js +1 -1
  272. package/vue/chunks/UiDialog.js +1 -1
  273. package/vue/chunks/UiDisclosure.js +1 -1
  274. package/vue/chunks/UiEditable.js +1 -1
  275. package/vue/chunks/UiEditorImageToolbar.js +1 -1
  276. package/vue/chunks/UiEditorInsertTableGrid.js +1 -1
  277. package/vue/chunks/UiEditorLinkForm.js +1 -1
  278. package/vue/chunks/UiEditorMentionMenu.js +1 -1
  279. package/vue/chunks/UiEditorMentionMenuItem.js +1 -1
  280. package/vue/chunks/UiEditorSlashMenu.js +1 -1
  281. package/vue/chunks/UiEditorSlashMenuGroup.js +1 -1
  282. package/vue/chunks/UiEditorSlashMenuItem.js +1 -1
  283. package/vue/chunks/UiEditorSurface.js +1 -1
  284. package/vue/chunks/UiEditorTableContextMenu.js +1 -1
  285. package/vue/chunks/UiEditorTableOverlay.js +1 -1
  286. package/vue/chunks/UiEditorTableToolbar.js +1 -1
  287. package/vue/chunks/UiEditorToolbar.js +1 -1
  288. package/vue/chunks/UiFloatingActionButton.js +1 -1
  289. package/vue/chunks/UiFormField.js +2 -2
  290. package/vue/chunks/UiGrid.js +1 -1
  291. package/vue/chunks/UiIcon.js +5 -1
  292. package/vue/chunks/UiIconButton.js +2 -2
  293. package/vue/chunks/UiImage.js +1 -1
  294. package/vue/chunks/UiInput.js +1 -1
  295. package/vue/chunks/UiInputGroup.js +1 -1
  296. package/vue/chunks/UiList.js +1 -1
  297. package/vue/chunks/UiListItem.js +1 -1
  298. package/vue/chunks/UiListbox.js +1 -1
  299. package/vue/chunks/UiMenu.js +1 -1
  300. package/vue/chunks/UiMenuGroup.js +1 -1
  301. package/vue/chunks/UiMenuItem.js +1 -1
  302. package/vue/chunks/UiMeter.js +1 -1
  303. package/vue/chunks/UiNavItem.js +1 -1
  304. package/vue/chunks/UiPageHeader.js +1 -1
  305. package/vue/chunks/UiPopover.js +1 -1
  306. package/vue/chunks/UiRadio.js +1 -1
  307. package/vue/chunks/UiRadioGroup.js +1 -1
  308. package/vue/chunks/UiReel.js +1 -1
  309. package/vue/chunks/UiScrollArea.js +1 -1
  310. package/vue/chunks/UiSearchResultRow.js +1 -1
  311. package/vue/chunks/UiSearchShell.js +1 -1
  312. package/vue/chunks/UiSection.js +1 -1
  313. package/vue/chunks/UiSelect.js +1 -1
  314. package/vue/chunks/UiSeparator.js +1 -1
  315. package/vue/chunks/UiSidebar.js +1 -1
  316. package/vue/chunks/UiSpinner.js +1 -1
  317. package/vue/chunks/UiStack.js +1 -1
  318. package/vue/chunks/UiStatusMessage.js +1 -1
  319. package/vue/chunks/UiSwatch.js +1 -1
  320. package/vue/chunks/UiSwitch.js +1 -1
  321. package/vue/chunks/UiSwitcher.js +1 -1
  322. package/vue/chunks/UiTable.js +1 -1
  323. package/vue/chunks/UiTabs.js +3 -3
  324. package/vue/chunks/UiText.js +1 -1
  325. package/vue/chunks/UiTextarea.js +1 -1
  326. package/vue/chunks/UiToast.js +1 -1
  327. package/vue/chunks/UiToastRegion.js +1 -1
  328. package/vue/chunks/UiTooltip.js +1 -1
  329. package/vue/chunks/UiTopBar.js +1 -1
  330. package/vue/chunks/UiTree.js +1 -1
  331. package/vue/chunks/UiTreeItem.js +1 -1
  332. package/vue/components.css +1857 -1654
  333. package/vue/editor/LoomaEditor.d.ts +18 -2
  334. package/vue/editor/index.d.ts +2 -1
  335. package/vue/editor/index.js +147 -16
  336. package/vue/index.d.ts +1 -0
  337. package/vue/index.js +3 -2
@@ -53,12 +53,19 @@
53
53
 
54
54
  :host {
55
55
  /* Hooks do not inherit, so the parts below read them from the root. */
56
- --_ui-switch-track-width: var(--ui-switch-track-width);
57
- --_ui-switch-track-height: var(--ui-switch-track-height);
58
-
59
- display: inline-flex;
60
- align-items: flex-start;
61
- gap: var(--ui-switch-gap, var(--ui-space-2));
56
+ --_ui-switch-track-width: var(--ui-switch-track-width, var(--ui-choice-track-width));
57
+ --_ui-switch-track-height: var(--ui-switch-track-height, var(--ui-choice-track-height));
58
+
59
+ --_thumb: calc(var(--_ui-switch-track-height) * 2 / 3);
60
+ --_inset: calc((var(--_ui-switch-track-height) - var(--_thumb)) / 2 - var(--ui-border-width));
61
+
62
+ display: inline-flex !important;
63
+ align-items: flex-start !important;
64
+ flex-direction: row !important;
65
+ flex-wrap: nowrap !important;
66
+ padding: 0 !important;
67
+ line-height: var(--ui-line-height-md) !important;
68
+ gap: var(--ui-switch-gap, var(--ui-space-2)) !important;
62
69
  max-inline-size: 100%;
63
70
  color: var(--ui-text-primary);
64
71
  cursor: pointer;
@@ -66,15 +73,21 @@
66
73
 
67
74
  /* The label, and under it an optional line saying what the choice means. */
68
75
  .text {
69
- display: flex;
70
- flex-direction: column;
71
- gap: var(--ui-space-1);
76
+ font: inherit !important;
77
+ align-self: auto !important;
78
+ margin: 0 !important;
79
+ padding: 0 !important;
80
+ display: flex !important;
81
+ flex-direction: column !important;
82
+ gap: var(--ui-space-1) !important;
72
83
  min-inline-size: 0;
73
84
  }
74
85
 
75
86
  .label {
76
87
  min-inline-size: 0;
77
- line-height: var(--ui-line-height-md);
88
+ font: inherit !important;
89
+ line-height: var(--ui-line-height-md) !important;
90
+ padding-block: max(0px, calc((var(--_ui-switch-track-height, 1.5rem) - 1lh) / 2)) !important;
78
91
  }
79
92
 
80
93
  .description {
@@ -84,33 +97,36 @@
84
97
  }
85
98
 
86
99
  .description:empty {
87
- display: none;
100
+ display: none !important;
88
101
  }
89
102
 
90
103
  input {
104
+ font: inherit !important;
105
+ box-sizing: border-box !important;
106
+ align-self: auto !important;
91
107
  appearance: none;
92
108
  -webkit-appearance: none;
93
109
  position: relative;
94
110
  flex: 0 0 auto;
95
111
  width: var(--_ui-switch-track-width, 2.5rem);
96
112
  height: var(--_ui-switch-track-height, 1.5rem);
97
- padding: 0;
113
+ padding: 0 !important;
98
114
  border: var(--ui-border-width) solid var(--ui-control-border, var(--ui-border-strong));
99
115
  border-radius: var(--ui-radius-round);
100
116
  background-color: var(--ui-control-surface, var(--ui-surface-default));
101
117
  box-shadow: var(--ui-control-inset);
102
118
  cursor: pointer;
103
119
  transition: background-color var(--ui-motion-base) var(--ui-motion-ease), border-color var(--ui-motion-base) var(--ui-motion-ease);
104
- margin: 0;
120
+ margin: max(0px, calc((1lh - var(--_ui-switch-track-height, 1.5rem)) / 2)) 0 0 !important;
105
121
  }
106
122
 
107
123
  input::after {
108
124
  content: "";
109
125
  position: absolute;
110
- top: 3px;
111
- left: 3px;
112
- width: 1rem;
113
- height: 1rem;
126
+ top: var(--_inset);
127
+ left: var(--_inset);
128
+ width: var(--_thumb);
129
+ height: var(--_thumb);
114
130
  border-radius: var(--ui-radius-round);
115
131
  background: var(--ui-text-secondary);
116
132
  box-shadow: var(--ui-shadow-xs);
@@ -123,7 +139,7 @@
123
139
  }
124
140
 
125
141
  input:checked::after {
126
- transform: translateX(1rem);
142
+ transform: translateX(calc(var(--_ui-switch-track-width) - var(--_ui-switch-track-height)));
127
143
  background: var(--ui-text-on-accent);
128
144
  }
129
145
 
@@ -174,13 +190,7 @@
174
190
  :host([size="lg"]) {
175
191
  --_line: calc(var(--_font) * var(--ui-line-height-md));
176
192
  font-size: var(--_font);
177
- padding-block: calc((var(--_row) - var(--ui-switch-track-height, 1.5rem)) / 2);
178
- }
179
-
180
- /* The label centres on the track. */
181
- :host([size="sm"]) .text,
182
- :host([size="lg"]) .text {
183
- margin-top: calc((var(--_ui-switch-track-height, 1.5rem) - var(--_line)) / 2);
193
+ padding-block: max(0px, calc((var(--_row) - max(var(--_line), var(--_ui-switch-track-height, 1.5rem))) / 2)) !important;
184
194
  }
185
195
 
186
196
  @media (pointer: coarse) {
@@ -191,7 +201,7 @@
191
201
 
192
202
  /* A component that sets its display still honours the hidden attribute on its root. */
193
203
  :host[hidden] {
194
- display: none;
204
+ display: none !important;
195
205
  }
196
206
  </style>
197
207
  </template>
@@ -32,12 +32,12 @@
32
32
  /* Lays its children out from its own box: below the threshold each track takes the full width;
33
33
  at or above it, tracks shrink to 1px so every child fits one row and empty tracks collapse.
34
34
  The large multiplier makes the whole row flip at once. */
35
- display: grid;
35
+ display: grid !important;
36
36
  grid-template-columns: repeat(auto-fit, minmax(var(--_switcher-track), 1fr));
37
- gap: var(--ui-switcher-gap, var(--_switcher-gap));
37
+ gap: var(--ui-switcher-gap, var(--_switcher-gap)) !important;
38
38
  min-inline-size: 0;
39
39
  max-inline-size: 100%;
40
- margin: 0;
40
+ margin: 0 !important;
41
41
  }
42
42
 
43
43
  :host(:state(overLimit)) {
@@ -69,18 +69,18 @@
69
69
  --_switcher-threshold: 60rem;
70
70
  }
71
71
  :host([align="start"]) {
72
- align-items: start;
72
+ align-items: start !important;
73
73
  }
74
74
  :host([align="center"]) {
75
- align-items: center;
75
+ align-items: center !important;
76
76
  }
77
77
  :host([align="end"]) {
78
- align-items: end;
78
+ align-items: end !important;
79
79
  }
80
80
 
81
81
  /* A component that sets its display still honours the hidden attribute on its root. */
82
82
  :host[hidden] {
83
- display: none;
83
+ display: none !important;
84
84
  }
85
85
  </style>
86
86
  </template>
@@ -19,8 +19,8 @@
19
19
  --_pad-block: var(--ui-space-1);
20
20
  --_pad-inline: var(--ui-space-3);
21
21
  --_row-size: var(--ui-control-size);
22
- display: block;
23
- box-sizing: border-box;
22
+ display: block !important;
23
+ box-sizing: border-box !important;
24
24
  max-inline-size: 100%;
25
25
  min-inline-size: 0;
26
26
  min-block-size: 0;
@@ -73,7 +73,7 @@
73
73
  }
74
74
 
75
75
  :slotted(caption) {
76
- padding-block-end: var(--ui-space-2);
76
+ padding-block-end: var(--ui-space-2) !important;
77
77
  color: var(--ui-text-secondary);
78
78
  font-weight: var(--ui-font-medium);
79
79
  text-align: start;
@@ -84,7 +84,7 @@
84
84
  :slotted(th),
85
85
  :slotted(td) {
86
86
  block-size: var(--_row-size);
87
- padding: var(--_pad-block) var(--_pad-inline);
87
+ padding: var(--_pad-block) var(--_pad-inline) !important;
88
88
  border-block-end: var(--ui-border-width) solid var(--ui-border-subtle);
89
89
  text-align: start;
90
90
  vertical-align: middle;
@@ -92,7 +92,7 @@
92
92
 
93
93
  :slotted(thead th) {
94
94
  block-size: auto;
95
- padding-block: var(--ui-space-2);
95
+ padding-block: var(--ui-space-2) !important;
96
96
  border-block-end-color: var(--ui-border-divider);
97
97
  background: var(--ui-surface);
98
98
  color: var(--ui-text-muted);
@@ -125,7 +125,7 @@
125
125
 
126
126
  /* A component that sets its display still honours the hidden attribute on its root. */
127
127
  :host[hidden] {
128
- display: none;
128
+ display: none !important;
129
129
  }
130
130
  </style>
131
131
  </template>
@@ -5,8 +5,8 @@
5
5
  <prop name="label" type="string" default="Tabs"
6
6
  >The tab list's accessible name, announced when focus enters the list. Name what the tabs switch between.</prop>
7
7
  <prop name="value" type="string" default=""
8
- >The id or authored data-value of the selected panel, initially or when set externally; empty selects the first panel. Choosing a tab updates it from there and reports a select
9
- event. A panel without an id is given a generated one.</prop>
8
+ >The id or authored data-value of the selected panel, initially or when set externally; empty selects the first panel. Choosing a tab updates it from there
9
+ and reports a select event. A panel without an id is given a generated one.</prop>
10
10
  <prop name="orientation" type="keyword" values="horizontal, vertical" default="horizontal"
11
11
  >horizontal puts the tabs in a row above the panels, moved between with the Left and Right arrow keys; vertical puts them in a column beside the panels,
12
12
  moved between with Up and Down.</prop>
@@ -15,8 +15,9 @@
15
15
  displaying a panel takes time.</prop>
16
16
  <prop name="stretch" type="boolean" default="false">Share the full width of the tab list equally between tabs instead of sizing each to its label.</prop>
17
17
  <prop name="group" type="string" default=""
18
- >Tabs with the same nonempty group share one selection: choosing a tab selects the tab with the same data-value (or label when no value is authored) in every other Tabs of that group in the
19
- document, and the choice is remembered for the next visit. Use it for alternatives a reader picks once, such as a package manager or language.</prop>
18
+ >Tabs with the same nonempty group share one selection: choosing a tab selects the tab with the same data-value (or label when no value is authored) in
19
+ every other Tabs of that group in the document, and the choice is remembered for the next visit. Use it for alternatives a reader picks once, such as a
20
+ package manager or language.</prop>
20
21
  <state type="string" name="internalValue" value=""></state>
21
22
  <state name="tabs" type="list(object({ id: string, label: string }))" value="[]"></state>
22
23
  <event name="select" type="object">
@@ -78,16 +79,16 @@
78
79
  }
79
80
 
80
81
  :host {
81
- display: grid;
82
+ display: grid !important;
82
83
  inline-size: 100%;
83
84
  min-inline-size: 0;
84
85
  }
85
86
 
86
87
  .list {
87
- display: grid;
88
+ display: grid !important;
88
89
  grid-auto-flow: column;
89
90
  grid-auto-columns: max-content;
90
- justify-content: start;
91
+ justify-content: start !important;
91
92
  inline-size: 100%;
92
93
  max-inline-size: 100%;
93
94
  /* Tabs that do not fit scroll sideways rather than wrapping or squeezing. */
@@ -103,8 +104,8 @@
103
104
  .list button,
104
105
  .list > :slotted(button[slot="tab"]) {
105
106
  min-block-size: var(--_ui-tabs-tab-min-block-size, var(--_tab-min-block-size));
106
- margin: 0 0 calc(-1 * var(--ui-border-width));
107
- padding: var(--_ui-tabs-tab-padding-block, var(--_tab-padding-block)) var(--_ui-tabs-tab-padding-inline, var(--_tab-padding-inline));
107
+ margin: 0 0 calc(-1 * var(--ui-border-width)) !important;
108
+ padding: var(--_ui-tabs-tab-padding-block, var(--_tab-padding-block)) var(--_ui-tabs-tab-padding-inline, var(--_tab-padding-inline)) !important;
108
109
  border: 0;
109
110
  border-block-end: var(--ui-accent-line-width) solid transparent;
110
111
  background: transparent;
@@ -125,9 +126,9 @@
125
126
  @supports (text-box-trim: trim-both) {
126
127
  .list button,
127
128
  .list > :slotted(button[slot="tab"]) {
128
- display: block;
129
+ display: block !important;
129
130
  text-align: center;
130
- align-content: center;
131
+ align-content: center !important;
131
132
  text-box-trim: trim-both;
132
133
  text-box-edge: cap alphabetic;
133
134
  }
@@ -164,12 +165,12 @@
164
165
  min-inline-size: 0;
165
166
  }
166
167
  .panels > :slotted(*) {
167
- padding: var(--ui-space-4);
168
+ padding: var(--ui-space-4) !important;
168
169
  }
169
170
 
170
171
  :host([orientation="vertical"]) {
171
172
  grid-template-columns: max-content minmax(0, 1fr);
172
- align-items: start;
173
+ align-items: start !important;
173
174
  }
174
175
 
175
176
  :host([orientation="vertical"]) .list {
@@ -181,7 +182,7 @@
181
182
 
182
183
  :host([orientation="vertical"]) .list button,
183
184
  :host([orientation="vertical"]) .list > :slotted(button[slot="tab"]) {
184
- margin: 0 calc(-1 * var(--ui-border-width)) 0 0;
185
+ margin: 0 calc(-1 * var(--ui-border-width)) 0 0 !important;
185
186
  border-block-end: 0;
186
187
  border-inline-end: var(--ui-accent-line-width) solid transparent;
187
188
  text-align: start;
@@ -201,7 +202,7 @@
201
202
 
202
203
  /* A component that sets its display still honours the hidden attribute on its root. */
203
204
  :host[hidden] {
204
- display: none;
205
+ display: none !important;
205
206
  }
206
207
  </style>
207
208
  </template>
@@ -48,7 +48,7 @@
48
48
  }
49
49
 
50
50
  :host {
51
- margin: 0;
51
+ margin: 0 !important;
52
52
  min-inline-size: 0;
53
53
  color: var(--ui-text-primary);
54
54
  text-align: start;
@@ -57,6 +57,7 @@
57
57
  /* A heading drops the browser's heading size and weight, so size and weight set it as they set
58
58
  any text, and inherit keeps the text around it. */
59
59
  :host:is(h2, h3, h4, h5, h6) {
60
+ font-family: var(--ui-font-display, inherit);
60
61
  font-size: inherit;
61
62
  font-weight: inherit;
62
63
  }
@@ -163,7 +164,7 @@
163
164
 
164
165
  /* A component that sets its display still honours the hidden attribute on its root. */
165
166
  :host[hidden] {
166
- display: none;
167
+ display: none !important;
167
168
  }
168
169
  </style>
169
170
  </template>
@@ -79,15 +79,15 @@
79
79
  }
80
80
 
81
81
  :host {
82
- box-sizing: border-box;
83
- display: inline-block;
82
+ box-sizing: border-box !important;
83
+ display: inline-block !important;
84
84
  inline-size: 100%;
85
85
  min-inline-size: 0;
86
86
  min-block-size: calc(3rem * 2);
87
- margin: 0;
87
+ margin: 0 !important;
88
88
  --_padding-block: var(--ui-space-2);
89
- padding: var(--ui-space-2) var(--ui-space-3);
90
- padding-inline-end: var(--ui-textarea-padding-inline-end, var(--_ui-default-textarea-padding-inline-end, var(--ui-space-3)));
89
+ padding: var(--ui-space-2) var(--ui-space-3) !important;
90
+ padding-inline-end: var(--ui-textarea-padding-inline-end, var(--_ui-default-textarea-padding-inline-end, var(--ui-space-3))) !important;
91
91
  appearance: none;
92
92
  resize: vertical;
93
93
  border: var(--ui-textarea-border-width, var(--_ui-default-textarea-border-width, var(--ui-border-width))) solid
@@ -155,15 +155,15 @@
155
155
 
156
156
  :host([size="sm"]) {
157
157
  --_padding-block: var(--ui-space-1);
158
- padding: var(--ui-space-1) var(--ui-space-2);
159
- padding-inline-end: var(--ui-textarea-padding-inline-end, var(--_ui-default-textarea-padding-inline-end, var(--ui-space-2)));
158
+ padding: var(--ui-space-1) var(--ui-space-2) !important;
159
+ padding-inline-end: var(--ui-textarea-padding-inline-end, var(--_ui-default-textarea-padding-inline-end, var(--ui-space-2))) !important;
160
160
  font-size: var(--ui-font-size-sm);
161
161
  }
162
162
 
163
163
  :host([size="lg"]) {
164
164
  --_padding-block: var(--ui-space-3);
165
- padding: var(--ui-space-3) var(--ui-space-4);
166
- padding-inline-end: var(--ui-textarea-padding-inline-end, var(--_ui-default-textarea-padding-inline-end, var(--ui-space-4)));
165
+ padding: var(--ui-space-3) var(--ui-space-4) !important;
166
+ padding-inline-end: var(--ui-textarea-padding-inline-end, var(--_ui-default-textarea-padding-inline-end, var(--ui-space-4))) !important;
167
167
  font-size: var(--ui-font-size-md);
168
168
  }
169
169
 
@@ -187,7 +187,7 @@
187
187
 
188
188
  /* A component that sets its display still honours the hidden attribute on its root. */
189
189
  :host[hidden] {
190
- display: none;
190
+ display: none !important;
191
191
  }
192
192
  </style>
193
193
  </template>
@@ -47,15 +47,15 @@
47
47
  --_ui-toast-accent: var(--ui-border-strong);
48
48
  --_ui-toast-surface: var(--ui-surface-muted);
49
49
 
50
- display: flex;
51
- align-items: center;
52
- gap: var(--ui-space-2);
53
- box-sizing: border-box;
50
+ display: flex !important;
51
+ align-items: center !important;
52
+ gap: var(--ui-space-2) !important;
53
+ box-sizing: border-box !important;
54
54
  inline-size: 100%;
55
- margin: 0;
56
- padding: var(--ui-space-3) var(--ui-space-4);
55
+ margin: 0 !important;
56
+ padding: var(--ui-space-3) var(--ui-space-4) !important;
57
57
  /* The close button's internal space supplies the rest of the trailing inset. */
58
- padding-inline-end: var(--ui-space-2);
58
+ padding-inline-end: var(--ui-space-2) !important;
59
59
  border: var(--ui-border-width) solid var(--ui-toast-border, var(--ui-overlay-border, var(--ui-toast-accent, var(--_ui-toast-accent))));
60
60
  border-radius: var(--ui-toast-radius, var(--ui-overlay-radius, var(--ui-radius-lg)));
61
61
  background: var(--ui-toast-surface, var(--ui-overlay-surface, var(--_ui-toast-surface)));
@@ -90,10 +90,10 @@
90
90
  flex: 1;
91
91
  }
92
92
  .action:not(:has(> *)) {
93
- display: none;
93
+ display: none !important;
94
94
  }
95
95
  :host[hidden] {
96
- display: none;
96
+ display: none !important;
97
97
  }
98
98
  </style>
99
99
  </template>
@@ -93,13 +93,13 @@
93
93
  left: 50%;
94
94
  transform: translateX(-50%);
95
95
  z-index: 9999;
96
- display: grid;
97
- gap: var(--ui-space-2);
96
+ display: grid !important;
97
+ gap: var(--ui-space-2) !important;
98
98
  inline-size: min(24rem, calc(100vw - var(--ui-space-4) * 2));
99
99
  max-inline-size: 100%;
100
- box-sizing: border-box;
101
- margin: 0;
102
- padding: 0;
100
+ box-sizing: border-box !important;
101
+ margin: 0 !important;
102
+ padding: 0 !important;
103
103
  overflow: visible;
104
104
  border: 0;
105
105
  outline: 0;
@@ -109,7 +109,7 @@
109
109
  }
110
110
 
111
111
  :host:not(:popover-open) {
112
- display: none;
112
+ display: none !important;
113
113
  }
114
114
 
115
115
  :host([placement="top-start"]),
@@ -143,15 +143,15 @@
143
143
  .toast {
144
144
  --_ui-toast-region-accent: var(--ui-border-strong);
145
145
  --_ui-toast-region-tone-surface: var(--ui-surface-muted);
146
- display: grid;
146
+ display: grid !important;
147
147
  grid-template-columns: 1fr auto;
148
- gap: var(--ui-space-2);
149
- align-items: start;
148
+ gap: var(--ui-space-2) !important;
149
+ align-items: start !important;
150
150
  border: var(--ui-border-width) solid var(--_ui-toast-region-border, var(--ui-overlay-border, var(--_ui-toast-region-accent)));
151
151
  border-radius: var(--_ui-toast-region-radius, var(--ui-overlay-radius, var(--ui-radius-lg)));
152
- padding: var(--ui-space-3) var(--ui-space-4);
152
+ padding: var(--ui-space-3) var(--ui-space-4) !important;
153
153
  /* The close button's internal space supplies the rest of the trailing inset. */
154
- padding-inline-end: var(--ui-space-2);
154
+ padding-inline-end: var(--ui-space-2) !important;
155
155
  background: var(--_ui-toast-region-surface, var(--ui-overlay-surface, var(--_ui-toast-region-tone-surface)));
156
156
  color: var(--ui-text-primary);
157
157
  font-family: var(--ui-font-family-sans);
@@ -254,7 +254,7 @@
254
254
 
255
255
  /* A component that sets its display still honours the hidden attribute on its root. */
256
256
  :host[hidden] {
257
- display: none;
257
+ display: none !important;
258
258
  }
259
259
  </style>
260
260
  </template>
@@ -94,10 +94,10 @@
94
94
 
95
95
  position: fixed;
96
96
  inset: auto;
97
- margin: 0;
98
- display: inline-block;
99
- box-sizing: border-box;
100
- padding: 0;
97
+ margin: 0 !important;
98
+ display: inline-block !important;
99
+ box-sizing: border-box !important;
100
+ padding: 0 !important;
101
101
  border: 0;
102
102
  outline: 0;
103
103
  border-radius: 0;
@@ -117,16 +117,16 @@
117
117
  .surface {
118
118
  --_tooltip-line: var(--_ui-tooltip-border, var(--ui-overlay-border, var(--ui-border-strong)));
119
119
  position: relative;
120
- display: flex;
121
- align-items: baseline;
122
- gap: var(--ui-space-2);
123
- box-sizing: border-box;
120
+ display: flex !important;
121
+ align-items: baseline !important;
122
+ gap: var(--ui-space-2) !important;
123
+ box-sizing: border-box !important;
124
124
  max-inline-size: var(--_ui-tooltip-max-inline-size, 18rem);
125
125
  border: var(--ui-border-width) solid var(--_tooltip-line);
126
126
  border-radius: var(--_ui-tooltip-radius, var(--ui-overlay-radius, var(--ui-radius-md)));
127
127
  background: var(--_ui-tooltip-surface, var(--ui-overlay-surface, var(--ui-surface-elevated)));
128
128
  color: var(--_ui-tooltip-text, var(--ui-text-primary));
129
- padding: var(--ui-space-2) var(--ui-space-3);
129
+ padding: var(--ui-space-2) var(--ui-space-3) !important;
130
130
  font-family: var(--ui-font-family-sans);
131
131
  font-size: var(--ui-font-size-sm);
132
132
  line-height: var(--ui-line-height-tight);
@@ -136,9 +136,9 @@
136
136
  /* A keyboard shortcut follows the label after a thin divider, smaller and quieter, as menus show
137
137
  it. The label stays first in the description, so a screen reader hears the name, then the keys. */
138
138
  .shortcut {
139
- display: inline-flex;
140
- align-items: center;
141
- padding-inline-start: var(--ui-space-2);
139
+ display: inline-flex !important;
140
+ align-items: center !important;
141
+ padding-inline-start: var(--ui-space-2) !important;
142
142
  border-inline-start: 1px solid color-mix(in oklab, currentColor 28%, transparent);
143
143
  color: color-mix(in oklab, currentColor 72%, transparent);
144
144
  font-size: var(--ui-font-size-xs);
@@ -148,7 +148,7 @@
148
148
  }
149
149
 
150
150
  .shortcut:empty {
151
- display: none;
151
+ display: none !important;
152
152
  }
153
153
 
154
154
  /* A <kbd> takes the browser's monospace; the hint reads in the tooltip's own type. */
@@ -172,7 +172,7 @@
172
172
  inset-block-end: calc(var(--_ui-tooltip-arrow-size, 0.625rem) / -2 - var(--ui-border-width) / 2);
173
173
  inline-size: var(--_ui-tooltip-arrow-size, 0.625rem);
174
174
  block-size: var(--_ui-tooltip-arrow-size, 0.625rem);
175
- box-sizing: border-box;
175
+ box-sizing: border-box !important;
176
176
  background: inherit;
177
177
  border: 0 solid var(--_tooltip-line);
178
178
  border-inline-end-width: var(--ui-border-width);
@@ -246,7 +246,7 @@
246
246
  }
247
247
 
248
248
  :host[hidden] {
249
- display: none;
249
+ display: none !important;
250
250
  }
251
251
 
252
252
  @media (prefers-reduced-motion: reduce) {
@@ -44,12 +44,12 @@
44
44
  inset-block-start: 0;
45
45
  z-index: var(--ui-top-bar-z-index, 100);
46
46
  min-block-size: calc(var(--ui-top-bar-height, 56px) + env(safe-area-inset-top));
47
- display: flex;
48
- align-items: center;
49
- gap: var(--ui-top-bar-gap, var(--ui-space-3));
50
- padding-block-start: env(safe-area-inset-top);
51
- padding-inline-start: max(var(--ui-top-bar-padding-inline, var(--ui-space-4)), env(safe-area-inset-left));
52
- padding-inline-end: max(var(--ui-top-bar-padding-inline, var(--ui-space-4)), env(safe-area-inset-right));
47
+ display: flex !important;
48
+ align-items: center !important;
49
+ gap: var(--ui-top-bar-gap, var(--ui-space-3)) !important;
50
+ padding-block-start: env(safe-area-inset-top) !important;
51
+ padding-inline-start: max(var(--ui-top-bar-padding-inline, var(--ui-space-4)), env(safe-area-inset-left)) !important;
52
+ padding-inline-end: max(var(--ui-top-bar-padding-inline, var(--ui-space-4)), env(safe-area-inset-right)) !important;
53
53
  background: var(--ui-top-bar-surface, var(--ui-surface-elevated));
54
54
  border-block-end: var(--ui-border-width) solid var(--ui-top-bar-border, var(--ui-border-divider));
55
55
  }
@@ -57,13 +57,13 @@
57
57
  .leading,
58
58
  .search,
59
59
  .actions {
60
- display: flex;
61
- align-items: center;
60
+ display: flex !important;
61
+ align-items: center !important;
62
62
  flex-shrink: 0;
63
63
  }
64
64
 
65
65
  .actions {
66
- gap: var(--_ui-top-bar-actions-gap, var(--ui-space-1));
66
+ gap: var(--_ui-top-bar-actions-gap, var(--ui-space-1)) !important;
67
67
  }
68
68
 
69
69
  .title {
@@ -75,12 +75,12 @@
75
75
  .leading:empty,
76
76
  .search:empty,
77
77
  .actions:empty {
78
- display: none;
78
+ display: none !important;
79
79
  }
80
80
 
81
81
  /* A component that sets its display still honours the hidden attribute on its root. */
82
82
  :host[hidden] {
83
- display: none;
83
+ display: none !important;
84
84
  }
85
85
  </style>
86
86
  </template>
@@ -95,22 +95,22 @@
95
95
  --_ui-default-tree-item-min-block-size: initial;
96
96
  --_ui-default-tree-item-font-size: initial;
97
97
  --_ui-default-tree-item-label-padding-block: initial;
98
- display: block;
98
+ display: block !important;
99
99
  min-inline-size: 0;
100
- padding-inline-start: var(--ui-tree-gutter, 0px);
100
+ padding-inline-start: var(--ui-tree-gutter, 0px) !important;
101
101
  }
102
102
 
103
103
  :host[data-move-mode]::after {
104
104
  content: "Choose a destination row, or use Up and Down; Right nests inside a branch. Enter places it, Escape cancels.";
105
- display: block;
106
- padding: var(--ui-space-2);
105
+ display: block !important;
106
+ padding: var(--ui-space-2) !important;
107
107
  color: var(--ui-text-secondary);
108
108
  font-size: var(--ui-font-size-sm);
109
109
  }
110
110
 
111
111
  /* A component that sets its display still honours the hidden attribute on its root. */
112
112
  :host[hidden] {
113
- display: none;
113
+ display: none !important;
114
114
  }
115
115
  </style>
116
116
  </template>