@kubex/zinc 1.1.185 → 2.0.1

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 (358) hide show
  1. package/.browserslistrc +2 -0
  2. package/.github/workflows/js_build_and_deploy.yaml +54 -1
  3. package/.github/workflows/test.yaml +27 -0
  4. package/dist/chunks/zn.UWJLIXDT.js +1 -0
  5. package/dist/custom-elements.json +10319 -2666
  6. package/dist/vscode.html-custom-data.json +1012 -57
  7. package/dist/web-types.json +2097 -145
  8. package/dist/zn.d.ts +2294 -416
  9. package/dist/zn.min.css +1 -1
  10. package/dist/zn.min.js +2310 -1637
  11. package/docs/_includes/default.njk +4 -1
  12. package/docs/assets/scripts/docs.js +22 -6
  13. package/docs/assets/styles/docs.css +9 -2
  14. package/docs/data/report-table-day-compare.json +380 -0
  15. package/docs/data/report-table.json +314 -0
  16. package/docs/pages/components/avatar-group.md +57 -0
  17. package/docs/pages/components/badge.md +67 -0
  18. package/docs/pages/components/button.md +41 -1
  19. package/docs/pages/components/chat-message.md +16 -0
  20. package/docs/pages/components/checkbox.md +1 -1
  21. package/docs/pages/components/chip.md +25 -13
  22. package/docs/pages/components/color-picker.md +37 -0
  23. package/docs/pages/components/copy-button.md +2 -2
  24. package/docs/pages/components/data-table-filter.md +33 -50
  25. package/docs/pages/components/data-table-search.md +4 -4
  26. package/docs/pages/components/data-table.md +27 -3
  27. package/docs/pages/components/date-range.md +116 -0
  28. package/docs/pages/components/dialog.md +29 -37
  29. package/docs/pages/components/diff-row.md +28 -0
  30. package/docs/pages/components/diff.md +46 -0
  31. package/docs/pages/components/editor.md +55 -0
  32. package/docs/pages/components/icon.md +46 -1
  33. package/docs/pages/components/input.md +30 -11
  34. package/docs/pages/components/item.md +35 -0
  35. package/docs/pages/components/key-value.md +25 -0
  36. package/docs/pages/components/menu.md +74 -7
  37. package/docs/pages/components/nav-item.md +15 -0
  38. package/docs/pages/components/nav-list.md +132 -0
  39. package/docs/pages/components/navbar.md +100 -1
  40. package/docs/pages/components/page.md +242 -74
  41. package/docs/pages/components/priority-list.md +43 -5
  42. package/docs/pages/components/query-builder.md +23 -0
  43. package/docs/pages/components/radio-group.md +33 -1
  44. package/docs/pages/components/radio.md +1 -1
  45. package/docs/pages/components/report-table.md +202 -0
  46. package/docs/pages/components/stat.md +30 -0
  47. package/docs/pages/components/tile.md +11 -0
  48. package/docs/pages/components/tooltip.md +1 -1
  49. package/docs/pages/components/translation-grid.md +86 -0
  50. package/docs/pages/components/vertical-stepper.md +108 -64
  51. package/package.json +2 -1
  52. package/scss/_global-spacing.scss +2 -2
  53. package/scss/_root.scss +11 -171
  54. package/scss/boot.scss +14 -0
  55. package/scss/mixins/_helper-mixins.scss +24 -2
  56. package/scss/mixins/_motion-mixins.scss +126 -0
  57. package/scss/mixins/_spacing-mixins.scss +4 -3
  58. package/scss/mixins/_tab-indicator-mixins.scss +12 -0
  59. package/scss/mixins/_typography-mixins.scss +1 -1
  60. package/scss/mixins/index.scss +14 -0
  61. package/scss/shared/_base.scss +32 -1
  62. package/scss/shared/_button-mixin.scss +7 -5
  63. package/scss/shared/_table.scss +35 -4
  64. package/scss/shared/nav.scss +4 -0
  65. package/scss/shared/shimmer.scss +1 -1
  66. package/scss/table-controls.scss +206 -0
  67. package/scss/themes/_dark.scss +1 -3
  68. package/scss/themes/_index.scss +1 -1
  69. package/scss/themes/_light.scss +46 -6
  70. package/scss/themes/_modes.scss +11 -11
  71. package/scss/themes/_openbyte.scss +944 -0
  72. package/scss/themes/_typography.scss +4 -2
  73. package/scss/variables/index.scss +0 -9
  74. package/src/components/alert/alert.component.ts +14 -4
  75. package/src/components/alert/alert.scss +55 -69
  76. package/src/components/alert/alert.test.ts +8 -0
  77. package/src/components/animated-button/animated-button.component.ts +3 -2
  78. package/src/components/animated-button/animated-button.scss +6 -23
  79. package/src/components/animated-button/animated-button.test.ts +4 -3
  80. package/src/components/avatar-group/avatar-group.component.ts +84 -0
  81. package/src/components/avatar-group/avatar-group.scss +54 -0
  82. package/src/components/avatar-group/avatar-group.test.ts +59 -0
  83. package/src/components/avatar-group/index.ts +12 -0
  84. package/src/components/badge/badge.component.ts +49 -0
  85. package/src/components/badge/badge.scss +80 -0
  86. package/src/components/badge/badge.test.ts +34 -0
  87. package/src/components/badge/index.ts +12 -0
  88. package/src/components/bulk-actions/bulk-actions.component.ts +14 -2
  89. package/src/components/button/button.component.ts +228 -8
  90. package/src/components/button/button.scss +115 -32
  91. package/src/components/button/button.test.ts +122 -0
  92. package/src/components/button-menu/button-menu.component.ts +32 -11
  93. package/src/components/button-menu/button-menu.scss +5 -1
  94. package/src/components/channel-tile/channel-tile.component.ts +34 -27
  95. package/src/components/channel-tile/channel-tile.scss +76 -43
  96. package/src/components/chart/builders.test.ts +46 -0
  97. package/src/components/chart/builders.ts +27 -3
  98. package/src/components/chart/chart-live.test.ts +4 -6
  99. package/src/components/chart/chart.component.ts +125 -5
  100. package/src/components/chart/chart.scss +121 -0
  101. package/src/components/chart/chart.test.ts +81 -0
  102. package/src/components/chat-message/chat-message.component.ts +21 -1
  103. package/src/components/chat-message/chat-message.scss +13 -2
  104. package/src/components/chat-message/chat-message.test.ts +9 -0
  105. package/src/components/checkbox/checkbox.component.ts +61 -27
  106. package/src/components/checkbox/checkbox.scss +58 -25
  107. package/src/components/checkbox-group/checkbox-group.component.ts +7 -1
  108. package/src/components/chip/chip.component.ts +11 -1
  109. package/src/components/chip/chip.scss +91 -26
  110. package/src/components/chip/chip.test.ts +17 -0
  111. package/src/components/collapsible/collapsible.component.ts +17 -3
  112. package/src/components/collapsible/collapsible.scss +19 -10
  113. package/src/components/color-picker/color-picker.component.ts +277 -0
  114. package/src/components/color-picker/color-picker.scss +141 -0
  115. package/src/components/color-picker/color-picker.test.ts +57 -0
  116. package/src/components/color-picker/index.ts +12 -0
  117. package/src/components/cols/cols.component.ts +10 -0
  118. package/src/components/cols/cols.test.ts +17 -0
  119. package/src/components/confirm/confirm.component.ts +20 -6
  120. package/src/components/confirm/confirm.test.ts +52 -0
  121. package/src/components/content-block/content-block.component.ts +38 -9
  122. package/src/components/content-block/content-block.scss +11 -5
  123. package/src/components/content-block/content-block.test.ts +26 -0
  124. package/src/components/copy-button/copy-button.component.ts +2 -2
  125. package/src/components/copy-button/copy-button.scss +17 -4
  126. package/src/components/data-select/data-select.component.ts +3 -1
  127. package/src/components/data-table/data-table.component.ts +362 -140
  128. package/src/components/data-table/data-table.scss +136 -60
  129. package/src/components/data-table/data-table.test.ts +356 -4
  130. package/src/components/data-table-filter/data-table-filter.component.ts +426 -406
  131. package/src/components/data-table-filter/data-table-filter.scss +176 -148
  132. package/src/components/data-table-filter/data-table-filter.test.ts +271 -273
  133. package/src/components/data-table-search/data-table-search.component.ts +4 -2
  134. package/src/components/data-table-search/data-table-search.scss +8 -1
  135. package/src/components/data-table-search/data-table-search.test.ts +29 -0
  136. package/src/components/date-range/date-range-math.test.ts +78 -0
  137. package/src/components/date-range/date-range-math.ts +105 -0
  138. package/src/components/date-range/date-range.component.ts +375 -0
  139. package/src/components/date-range/date-range.scss +272 -0
  140. package/src/components/date-range/date-range.test.ts +247 -0
  141. package/src/components/date-range/index.ts +12 -0
  142. package/src/components/datepicker/datepicker.component.ts +44 -7
  143. package/src/components/datepicker/datepicker.scss +9 -0
  144. package/src/components/datepicker/datepicker.test.ts +2 -2
  145. package/src/components/dialog/dialog.component.ts +38 -19
  146. package/src/components/dialog/dialog.scss +65 -36
  147. package/src/components/dialog/dialog.test.ts +14 -0
  148. package/src/components/diff/diff.component.ts +55 -0
  149. package/src/components/diff/diff.scss +46 -0
  150. package/src/components/diff/diff.test.ts +15 -0
  151. package/src/components/diff/index.ts +12 -0
  152. package/src/components/diff-row/diff-row.component.ts +75 -0
  153. package/src/components/diff-row/diff-row.scss +70 -0
  154. package/src/components/diff-row/diff-row.test.ts +37 -0
  155. package/src/components/diff-row/index.ts +12 -0
  156. package/src/components/dropdown/dropdown.component.ts +12 -10
  157. package/src/components/dropdown/dropdown.scss +2 -0
  158. package/src/components/editor/editor.component.ts +159 -11
  159. package/src/components/editor/editor.scss +250 -1
  160. package/src/components/editor/editor.test.ts +31 -3
  161. package/src/components/editor/modules/ai/panel/ai-panel.scss +0 -1
  162. package/src/components/editor/modules/attachment/attachment.ts +53 -31
  163. package/src/components/editor/modules/context-menu/context-menu.ts +17 -0
  164. package/src/components/editor/modules/dialog/dialog.component.ts +23 -1
  165. package/src/components/editor/modules/dialog/dialog.test.ts +28 -0
  166. package/src/components/editor/modules/emoji/emoji.ts +4 -5
  167. package/src/components/editor/modules/merge-field/merge-field.ts +83 -0
  168. package/src/components/editor/modules/toolbar/toolbar.component.ts +121 -68
  169. package/src/components/editor/modules/toolbar/toolbar.scss +38 -0
  170. package/src/components/editor/modules/toolbar/toolbar.ts +25 -1
  171. package/src/components/empty-state/empty-state.component.ts +6 -1
  172. package/src/components/empty-state/empty-state.scss +21 -4
  173. package/src/components/expanding-action/expanding-action.component.ts +22 -34
  174. package/src/components/expanding-action/expanding-action.scss +3 -45
  175. package/src/components/expanding-action/expanding-action.test.ts +2 -1
  176. package/src/components/file/file.component.ts +30 -2
  177. package/src/components/file/file.scss +6 -0
  178. package/src/components/flow-builder/flow-builder.component.ts +36 -3
  179. package/src/components/flow-builder/flow-builder.scss +0 -6
  180. package/src/components/flow-builder/modules/flow-canvas/flow-canvas.component.ts +8 -0
  181. package/src/components/flow-builder/modules/flow-canvas/flow-canvas.scss +10 -5
  182. package/src/components/flow-builder/modules/flow-node/flow-node.component.ts +17 -0
  183. package/src/components/flow-builder/modules/flow-node/flow-node.scss +10 -0
  184. package/src/components/form-actions/form-actions.component.ts +48 -2
  185. package/src/components/form-actions/form-actions.scss +1 -1
  186. package/src/components/form-group/form-group.component.ts +10 -3
  187. package/src/components/form-group/form-group.scss +37 -4
  188. package/src/components/form-group/form-group.test.ts +10 -0
  189. package/src/components/header/header.component.ts +11 -4
  190. package/src/components/header/header.scss +47 -5
  191. package/src/components/hover-container/hover-container.component.ts +4 -5
  192. package/src/components/icon/icon.component.ts +95 -9
  193. package/src/components/icon/icon.scss +70 -6
  194. package/src/components/icon/icon.test.ts +55 -0
  195. package/src/components/icon-picker/icon-picker.component.ts +35 -1
  196. package/src/components/inline-edit/inline-edit.component.ts +38 -8
  197. package/src/components/inline-edit/inline-edit.scss +128 -19
  198. package/src/components/input/input.component.ts +173 -297
  199. package/src/components/input/input.scss +65 -43
  200. package/src/components/input/input.test.ts +86 -4
  201. package/src/components/item/item.component.ts +12 -0
  202. package/src/components/item/item.scss +102 -3
  203. package/src/components/item/item.test.ts +23 -0
  204. package/src/components/key/key.component.ts +2 -2
  205. package/src/components/key/key.scss +11 -0
  206. package/src/components/key-value/index.ts +12 -0
  207. package/src/components/key-value/key-value.component.ts +160 -0
  208. package/src/components/key-value/key-value.scss +20 -0
  209. package/src/components/key-value/key-value.test.ts +22 -0
  210. package/src/components/markdown-editor/markdown-editor.component.ts +8 -1
  211. package/src/components/menu/menu.component.ts +21 -2
  212. package/src/components/menu/menu.scss +43 -23
  213. package/src/components/menu/menu.test.ts +33 -0
  214. package/src/components/menu-item/menu-item.component.ts +13 -2
  215. package/src/components/menu-item/menu-item.scss +56 -23
  216. package/src/components/menu-item/menu-item.test.ts +31 -0
  217. package/src/components/menu-item/submenu-controller.ts +25 -15
  218. package/src/components/menu-label/index.ts +12 -0
  219. package/src/components/menu-label/menu-label.component.ts +30 -0
  220. package/src/components/menu-label/menu-label.scss +18 -0
  221. package/src/components/nav-item/index.ts +12 -0
  222. package/src/components/nav-item/nav-item.component.ts +83 -0
  223. package/src/components/nav-item/nav-item.scss +128 -0
  224. package/src/components/nav-list/index.ts +12 -0
  225. package/src/components/nav-list/nav-list.component.ts +313 -0
  226. package/src/components/nav-list/nav-list.scss +87 -0
  227. package/src/components/nav-list/nav-list.test.ts +250 -0
  228. package/src/components/navbar/navbar.component.ts +235 -171
  229. package/src/components/navbar/navbar.scss +333 -169
  230. package/src/components/navbar/navbar.test.ts +63 -143
  231. package/src/components/page/page.component.ts +114 -29
  232. package/src/components/page/page.scss +223 -95
  233. package/src/components/page/page.test.ts +214 -3
  234. package/src/components/page-builder/page-builder.component.ts +51 -5
  235. package/src/components/page-builder/page-builder.scss +6 -1
  236. package/src/components/page-nav/page-nav.component.ts +25 -3
  237. package/src/components/page-nav/page-nav.scss +10 -2
  238. package/src/components/pagination/pagination.scss +1 -1
  239. package/src/components/panel/panel.component.ts +14 -13
  240. package/src/components/panel/panel.scss +14 -10
  241. package/src/components/panel/panel.test.ts +42 -0
  242. package/src/components/popup/popup.component.ts +20 -13
  243. package/src/components/popup/popup.test.ts +21 -1
  244. package/src/components/priority-list/priority-list.component.ts +157 -172
  245. package/src/components/priority-list/priority-list.scss +113 -17
  246. package/src/components/priority-list/priority-list.test.ts +301 -3
  247. package/src/components/progress-bar/progress-bar.component.ts +1 -1
  248. package/src/components/progress-bar/progress-bar.scss +16 -4
  249. package/src/components/progress-tile/progress-tile.scss +1 -1
  250. package/src/components/query-builder/query-builder.component.ts +85 -10
  251. package/src/components/query-builder/query-builder.scss +7 -1
  252. package/src/components/query-builder/query-builder.test.ts +40 -0
  253. package/src/components/radio/radio.component.ts +57 -18
  254. package/src/components/radio/radio.scss +101 -26
  255. package/src/components/radio-group/radio-group.component.ts +45 -7
  256. package/src/components/radio-group/radio-group.scss +17 -0
  257. package/src/components/radio-group/radio-group.test.ts +63 -2
  258. package/src/components/rating/rating.component.ts +23 -0
  259. package/src/components/rating/rating.scss +1 -1
  260. package/src/components/remarkd-editor/remarkd-editor.component.ts +60 -5
  261. package/src/components/remarkd-editor/remarkd-editor.scss +12 -4
  262. package/src/components/report-table/index.ts +12 -0
  263. package/src/components/report-table/report-format.test.ts +86 -0
  264. package/src/components/report-table/report-format.ts +72 -0
  265. package/src/components/report-table/report-math.test.ts +74 -0
  266. package/src/components/report-table/report-math.ts +252 -0
  267. package/src/components/report-table/report-table.component.ts +681 -0
  268. package/src/components/report-table/report-table.scss +328 -0
  269. package/src/components/report-table/report-table.test.ts +702 -0
  270. package/src/components/reveal/reveal.component.ts +15 -1
  271. package/src/components/reveal/reveal.scss +5 -0
  272. package/src/components/schedule-builder/schedule-builder.component.ts +23 -8
  273. package/src/components/scroll-container/scroll-container.component.ts +19 -1
  274. package/src/components/scroll-container/scroll-container.scss +6 -1
  275. package/src/components/select/select.component.ts +52 -36
  276. package/src/components/select/select.scss +42 -25
  277. package/src/components/select/select.test.ts +14 -2
  278. package/src/components/settings-container/settings-container.scss +18 -5
  279. package/src/components/sidebar/sidebar.component.ts +8 -1
  280. package/src/components/sidebar/sidebar.scss +6 -1
  281. package/src/components/skeleton/skeleton.component.ts +3 -3
  282. package/src/components/skeleton/skeleton.scss +6 -6
  283. package/src/components/skeleton/skeleton.test.ts +9 -0
  284. package/src/components/slash-menu/slash-menu.scss +1 -1
  285. package/src/components/slideout/slideout.component.ts +20 -3
  286. package/src/components/slideout/slideout.scss +13 -6
  287. package/src/components/slideout/slideout.test.ts +19 -0
  288. package/src/components/split-button/split-button.component.ts +1 -1
  289. package/src/components/split-pane/split-pane.component.ts +71 -8
  290. package/src/components/split-pane/split-pane.scss +145 -41
  291. package/src/components/split-pane/split-pane.test.ts +23 -3
  292. package/src/components/stat/stat.component.ts +209 -14
  293. package/src/components/stat/stat.scss +305 -5
  294. package/src/components/stat/stat.test.ts +143 -2
  295. package/src/components/status-indicator/status-indicator.scss +22 -21
  296. package/src/components/stepper/stepper.scss +3 -3
  297. package/src/components/tab/tab.component.ts +1 -0
  298. package/src/components/table/table.component.ts +12 -1
  299. package/src/components/table/table.scss +21 -13
  300. package/src/components/table/table.test.ts +17 -0
  301. package/src/components/tabs/tabs.component.ts +150 -37
  302. package/src/components/tabs/tabs.scss +48 -7
  303. package/src/components/tabs/tabs.test.ts +169 -0
  304. package/src/components/textarea/textarea.component.ts +25 -3
  305. package/src/components/textarea/textarea.scss +10 -0
  306. package/src/components/textarea/textarea.test.ts +8 -4
  307. package/src/components/theme-editor/theme-editor.scss +0 -6
  308. package/src/components/tile/tile.component.ts +32 -2
  309. package/src/components/tile/tile.scss +40 -7
  310. package/src/components/tile/tile.test.ts +10 -0
  311. package/src/components/toggle/toggle.component.ts +23 -7
  312. package/src/components/toggle/toggle.scss +36 -29
  313. package/src/components/toggle/toggle.test.ts +17 -0
  314. package/src/components/tooltip/tooltip.component.ts +3 -0
  315. package/src/components/tooltip/tooltip.scss +11 -6
  316. package/src/components/tooltip/tooltip.test.ts +12 -0
  317. package/src/components/translation-field/index.ts +12 -0
  318. package/src/components/translation-field/translation-field.component.ts +55 -0
  319. package/src/components/translation-field/translation-field.scss +101 -0
  320. package/src/components/translation-fields/index.ts +12 -0
  321. package/src/components/translation-fields/translation-fields.component.ts +80 -0
  322. package/src/components/translation-fields/translation-fields.scss +60 -0
  323. package/src/components/translation-grid/index.ts +12 -0
  324. package/src/components/translation-grid/translation-grid.component.ts +157 -0
  325. package/src/components/translation-grid/translation-grid.scss +138 -0
  326. package/src/components/translation-grid/translation-grid.test.ts +28 -0
  327. package/src/components/vertical-stepper/vertical-stepper.component.ts +35 -9
  328. package/src/components/vertical-stepper/vertical-stepper.scss +110 -39
  329. package/src/components/vertical-stepper/vertical-stepper.test.ts +35 -0
  330. package/src/components/well/well.scss +2 -2
  331. package/src/events/events.ts +2 -0
  332. package/src/events/zn-chart-click.ts +13 -0
  333. package/src/events/zn-report-change.ts +7 -0
  334. package/src/form-control.scss +36 -3
  335. package/src/internal/anchored-popover.ts +175 -0
  336. package/src/internal/animate.ts +19 -5
  337. package/src/internal/cosmic-border.ts +15 -0
  338. package/src/internal/form.ts +1 -1
  339. package/src/internal/hover-intent.ts +15 -0
  340. package/src/internal/input-modality.ts +15 -0
  341. package/src/internal/pointer-intent.ts +37 -0
  342. package/src/internal/reorder.ts +632 -0
  343. package/src/internal/scroll.ts +51 -3
  344. package/src/internal/selection-card.ts +1 -1
  345. package/src/internal/tab-indicator.ts +92 -0
  346. package/src/internal/table-sort.ts +25 -0
  347. package/src/internal/table-tabs.ts +108 -0
  348. package/src/internal/test-drag.ts +35 -0
  349. package/src/internal/theme-openbyte.test.ts +126 -0
  350. package/src/internal/theme.ts +4 -4
  351. package/src/internal/zinc-element.ts +2 -2
  352. package/src/selection-card.scss +25 -0
  353. package/src/types/web-test-runner-commands.d.ts +1 -0
  354. package/src/utilities/color.test.ts +43 -0
  355. package/src/utilities/color.ts +189 -0
  356. package/src/zinc.ts +14 -0
  357. package/.github/workflows/eleventy_build.yml +0 -42
  358. package/scss/themes/_aura.scss +0 -114
@@ -8,7 +8,7 @@
8
8
 
9
9
  ul.navbar {
10
10
  padding: 0;
11
- margin-inline: var(--zn-spacing-small);
11
+ margin-inline: var(--zn-navbar-inset, var(--zn-spacing-small));
12
12
 
13
13
  &--color-body {
14
14
  background-color: rgb(var(--zn-color-body));
@@ -39,17 +39,49 @@
39
39
  border-radius: 6px 6px 0 0;
40
40
  background-color: rgb(var(--zn-body));
41
41
  }
42
+ }
43
+ }
42
44
 
43
- &::before {
44
- z-index: 1;
45
- content: "";
46
- position: absolute;
47
- top: -2px;
48
- right: -2px;
49
- left: -2px;
50
- bottom: 0;
51
- border-radius: 10px;
52
- backdrop-filter: blur(2px) opacity(0.8);
45
+ // Pull tabs are folder tabs on the panel's top edge, so they keep that shape whatever a theme does to the tab strip
46
+ :host([hover]:not([stacked])) {
47
+ --zn-navbar-tab-border-width: 1px;
48
+ --zn-navbar-tab-radius: 8px;
49
+ --zn-navbar-tab-background: rgb(var(--zn-color-tab));
50
+ --zn-navbar-tab-hover-background: rgba(var(--zn-color-tab), 0.6);
51
+ --zn-navbar-tab-hover-backdrop: transparent;
52
+ --zn-navbar-tab-hover-indicator-color: transparent;
53
+ --zn-navbar-tab-active-background: rgb(var(--zn-panel));
54
+ // Panel-coloured, so the active tab covers the strip's bottom border and joins the panel below
55
+ --zn-navbar-tab-indicator-color: rgb(var(--zn-panel));
56
+ --zn-navbar-tab-indicator-height: 1px;
57
+ --zn-navbar-tab-indicator-slide: 0;
58
+ --zn-text-tab-link-color: rgb(var(--zn-color-muted-text));
59
+ --zn-text-tab-link-active-color: rgb(var(--zn-text));
60
+ --zn-navbar-tab-hover-color: rgb(var(--zn-text));
61
+
62
+ ul.navbar {
63
+ gap: 0;
64
+
65
+ > li {
66
+ border-left-width: var(--zn-navbar-tab-border-width);
67
+ border-color: transparent;
68
+ border-radius: var(--zn-navbar-tab-radius) var(--zn-navbar-tab-radius) 0 0;
69
+
70
+ &.active, &.zn-tb-active {
71
+ border-color: rgb(var(--zn-border-color));
72
+ }
73
+ }
74
+
75
+ // Centred because the icon's box keeps the size its `size` attribute gives it
76
+ zn-icon::part(icon) {
77
+ position: relative;
78
+ top: 50%;
79
+ left: 50%;
80
+ translate: -50% -50%;
81
+ width: 16px;
82
+ height: 16px;
83
+ font-size: 16px;
84
+ stroke-width: 1.75;
53
85
  }
54
86
  }
55
87
  }
@@ -64,13 +96,20 @@
64
96
 
65
97
  // Hover is the plain tab tint — without the body-coloured ::after
66
98
  // backdrop the generic hover paints, which reads as white
67
- &:hover:not(.active):not(.zn-tb-active):not(.more)::after {
99
+ &:hover:not(.active):not(.zn-tb-active)::after {
68
100
  display: none;
69
101
  }
70
102
  }
71
103
  }
72
104
  }
73
105
 
106
+ // Without block padding, a tooltip-wrapped icon fills the whole tab
107
+ :host([hover][icon-only]:not([stacked])) ul.navbar > li {
108
+ width: 44px;
109
+ min-width: 44px;
110
+ padding-block: 0;
111
+ }
112
+
74
113
  .navbar__container {
75
114
  display: flex;
76
115
  flex-direction: row;
@@ -78,6 +117,25 @@
78
117
  justify-content: space-between;
79
118
  }
80
119
 
120
+ // One indicator shared by every tab, so switching tabs slides it instead of
121
+ // swapping per-tab lines. Themes opt in with --zn-navbar-tab-indicator-slide: 1.
122
+ .navbar__indicator {
123
+ // Placed by left and width, and slid with transform alone so the move stays smooth while the page is busy.
124
+ position: absolute;
125
+ left: 0;
126
+ width: 0;
127
+ transform-origin: left center;
128
+ bottom: 0;
129
+ height: var(--zn-navbar-tab-indicator-height, 1px);
130
+ background-color: var(--zn-navbar-tab-indicator-color, rgb(var(--navbar-active-colour)));
131
+ opacity: 0;
132
+ pointer-events: none;
133
+
134
+ &--shown {
135
+ opacity: var(--zn-navbar-tab-indicator-slide, 0);
136
+ }
137
+ }
138
+
81
139
  .navbar {
82
140
  margin: 0;
83
141
  }
@@ -107,13 +165,11 @@ ul.navbar {
107
165
  }
108
166
  }
109
167
 
110
- // Inactive tab surface for the tab navbar rendered inside zn-page. Driven by
111
- // custom properties (defaulting to no-op) so a theme can opt in to a translucent
112
- // "glass" treatment — Aura sets these to a frosted white; :host-context(zn-page)
113
- // keeps it scoped to the page tab bar and off every other navbar usage.
114
- :host-context(zn-page) ul.navbar li:not(.active):not(.zn-tb-active) {
115
- background: var(--navbar-page-inactive-tab-background, transparent);
116
- backdrop-filter: var(--navbar-page-inactive-tab-filter, none);
168
+ // Space between a tab's label and the indicator under it. Set on the navbar
169
+ // because zn-page passes its tabs as light-DOM <li>s, which carry no part.
170
+ :host(:not([stacked]):not([icon-bar])) ul.navbar > li {
171
+ padding-bottom: var(--zn-navbar-tab-padding-bottom, 0);
172
+ padding-top: var(--zn-navbar-tab-padding-top, var(--zn-spacing-x-small, 0));
117
173
  }
118
174
 
119
175
  :host([baseless]) {
@@ -202,6 +258,14 @@ ul.navbar {
202
258
  border-radius: 6px;
203
259
  flex-basis: 100%;
204
260
  padding: 5px 10px;
261
+ transition: background-color var(--zn-transition-fast, 150ms) ease,
262
+ border-color var(--zn-transition-fast, 150ms) ease,
263
+ color var(--zn-transition-fast, 150ms) ease,
264
+ transform 160ms var(--zn-ease-out, cubic-bezier(0.23, 1, 0.32, 1));
265
+
266
+ &:active {
267
+ transform: scale(0.97);
268
+ }
205
269
 
206
270
  &:before {
207
271
  display: none !important;
@@ -209,11 +273,13 @@ ul.navbar {
209
273
 
210
274
  &.active, &.zn-tb-active {
211
275
  background: rgba(0, 0, 0, 0.03);
212
- color: rgb(var(--zn-primary));
276
+ color: var(--zn-color-primary-fg, rgb(var(--zn-primary)));
213
277
  }
214
278
 
215
- &:hover {
216
- color: rgb(var(--zn-primary));
279
+ // Matches the generic tab hover's :not()s so it outranks it
280
+ &:hover:not(.active):not(.zn-tb-active) {
281
+ border-color: rgb(var(--zn-primary));
282
+ color: var(--zn-color-primary-fg, rgb(var(--zn-primary)));
217
283
  }
218
284
  }
219
285
  }
@@ -243,16 +309,122 @@ ul.navbar.navbar--stacked.navbar--icon-bar {
243
309
 
244
310
 
245
311
  :host(:not([stacked]):not([icon-bar])) {
246
- ul.navbar {
247
- height: 40px;
312
+ // Tabs that don't fit scroll sideways under a floating arrow at each edge that has more
313
+ .navbar__strip {
314
+ --navbar-scroll-size: 56px; // keep in sync with NAVBAR_SCROLL_EDGE in navbar.component.ts
315
+ --navbar-scroll-button-size: calc(var(--zn-density-control-height, 36px) - 6px);
316
+ --navbar-scroll-fade: rgb(var(--navbar-active-colour));
317
+ // Fully faded by the button's inner edge
318
+ --navbar-scroll-fade-size: calc(16px + var(--navbar-scroll-size) - var(--navbar-scroll-button-size));
319
+
320
+ position: relative;
321
+ display: flex;
322
+ overflow-x: auto;
323
+ overflow-y: hidden;
324
+ scrollbar-width: none;
325
+ // The tab lines and indicator overlap the border below by a pixel; this keeps that pixel inside the scrollport
326
+ padding-bottom: 1px;
327
+ margin-bottom: -1px;
248
328
  align-self: end;
329
+
330
+ &::-webkit-scrollbar {
331
+ display: none;
332
+ }
249
333
  }
250
- }
251
334
 
252
- :host(:not([stacked]):not([icon-bar]):not([icon-only])) {
253
335
  ul.navbar {
254
- min-width: 200px;
336
+ flex: none;
337
+ height: var(--zn-navbar-tab-strip-height, var(--zn-navbar-height, 40px));
255
338
  }
339
+
340
+ .navbar__scroll {
341
+ position: sticky;
342
+ z-index: 2;
343
+ flex: none;
344
+ display: flex;
345
+ align-items: center;
346
+ align-self: stretch;
347
+ width: var(--navbar-scroll-size);
348
+ opacity: 0;
349
+ pointer-events: none;
350
+ transition: opacity var(--zn-transition-fast, 150ms) ease;
351
+
352
+ // Tabs passing under the arrow fade into the surface behind it. No backdrop-filter: Safari re-blurs it every
353
+ // frame its pane is resized.
354
+ &::before {
355
+ content: '';
356
+ position: absolute;
357
+ inset: 0;
358
+ z-index: -1;
359
+ // Down over the border row too, redrawing the border so the active tab's line doesn't run under the arrow
360
+ bottom: -1px;
361
+ border-bottom: 1px solid rgb(var(--zn-border-color));
362
+ background: var(--navbar-scroll-fade);
363
+ }
364
+
365
+ &--start {
366
+ left: var(--navbar-scroll-inset-start, 0px);
367
+ margin-inline-end: calc(-1 * var(--navbar-scroll-size));
368
+ justify-content: flex-start;
369
+
370
+ // Also covers the inset behind the arrow, so tabs scrolled past it don't show at the strip's edge
371
+ &::before {
372
+ left: calc(-1 * var(--navbar-scroll-inset-start, 0px));
373
+ right: -16px;
374
+ mask-image: linear-gradient(to left, transparent, #000 var(--navbar-scroll-fade-size));
375
+ }
376
+ }
377
+
378
+ &--end {
379
+ right: var(--navbar-scroll-inset-end, 0px);
380
+ // Ends inset-end short of the tabs so the ::before reaching over the inset stays within them; past them it is scrollable overflow
381
+ margin-inline: calc(-1 * (var(--navbar-scroll-size) + var(--navbar-scroll-inset-end, 0px))) var(--navbar-scroll-inset-end, 0px);
382
+ justify-content: flex-end;
383
+
384
+ &::before {
385
+ left: -16px;
386
+ right: calc(-1 * var(--navbar-scroll-inset-end, 0px));
387
+ mask-image: linear-gradient(to right, transparent, #000 var(--navbar-scroll-fade-size));
388
+ }
389
+ }
390
+ }
391
+
392
+ .navbar__scroll-button {
393
+ position: relative;
394
+ display: flex;
395
+ align-items: center;
396
+ justify-content: center;
397
+ width: var(--navbar-scroll-button-size);
398
+ height: var(--navbar-scroll-button-size);
399
+ margin: 0;
400
+ padding: 0;
401
+ border: 1px solid rgb(var(--zn-border-color));
402
+ border-radius: var(--zn-border-radius, 8px);
403
+ background: rgb(var(--zn-panel));
404
+ box-shadow: var(--zn-shadow-small, 0 1px 3px rgba(13, 23, 56, 0.08), 0 1px 2px rgba(13, 23, 56, 0.04));
405
+ color: rgb(var(--zn-text));
406
+ cursor: pointer;
407
+ transition: background-color var(--zn-transition-fast, 150ms) ease;
408
+
409
+ &:hover {
410
+ background: linear-gradient(rgba(0, 0, 0, 0.03), rgba(0, 0, 0, 0.03)), rgb(var(--zn-panel));
411
+ }
412
+
413
+ &:focus-visible {
414
+ outline: 2px solid rgb(var(--zn-primary));
415
+ outline-offset: 1px;
416
+ }
417
+ }
418
+
419
+ .navbar__strip--scroll-start .navbar__scroll--start,
420
+ .navbar__strip--scroll-end .navbar__scroll--end {
421
+ opacity: 1;
422
+ pointer-events: auto;
423
+ }
424
+ }
425
+
426
+ :host(:not([stacked]):not([icon-bar]):not([icon-only])) .navbar__strip {
427
+ min-width: 200px;
256
428
  }
257
429
 
258
430
  :host([icon-only]:not([stacked]):not([icon-bar])) {
@@ -271,16 +443,16 @@ ul.navbar.navbar--stacked.navbar--icon-bar {
271
443
  :host(:not([stacked])) {
272
444
  ul.navbar {
273
445
  > li {
274
- border-right-width: 1px;
275
- border-top-width: 1px;
446
+ border-right-width: var(--zn-navbar-tab-border-width, 1px);
447
+ border-top-width: var(--zn-navbar-tab-border-width, 1px);
276
448
 
277
449
  &:first-of-type {
278
- border-left-width: 1px;
279
- border-top-left-radius: 6px;
450
+ border-left-width: var(--zn-navbar-tab-border-width, 1px);
451
+ border-top-left-radius: var(--zn-navbar-tab-radius, 6px);
280
452
  }
281
453
 
282
454
  &:last-of-type {
283
- border-top-right-radius: 6px;
455
+ border-top-right-radius: var(--zn-navbar-tab-radius, 6px);
284
456
  }
285
457
 
286
458
  &.active, &.zn-tb-active {
@@ -288,17 +460,8 @@ ul.navbar.navbar--stacked.navbar--icon-bar {
288
460
  }
289
461
  }
290
462
 
291
- &:not(.has-hidden) > li.last-visible {
292
- border-top-right-radius: 6px;
293
- }
294
-
295
- &.has-hidden > li.more {
296
- border-top-right-radius: 6px;
297
- }
298
-
299
- &.more-only > li.more {
300
- border-left-width: 1px;
301
- border-top-left-radius: 6px;
463
+ > li.last-visible {
464
+ border-top-right-radius: var(--zn-navbar-tab-radius, 6px);
302
465
  }
303
466
  }
304
467
  }
@@ -328,47 +491,35 @@ ul.navbar.navbar--stacked.navbar--icon-bar {
328
491
  gap: 0;
329
492
  list-style: none;
330
493
 
331
- li.more {
332
- display: none;
333
- }
334
-
335
- &.has-hidden {
336
- li.more {
337
- display: flex;
338
- }
339
- }
340
-
341
494
  li {
342
- &.hidden {
343
- visibility: hidden;
344
- position: absolute;
345
- pointer-events: none;
346
- }
347
-
348
495
  .closer {
349
496
  display: none;
350
497
  }
351
498
 
352
499
  user-select: none;
353
500
  font-weight: var(--zn-text-tab-link-font-weight);
354
- padding: 0 calc(var(--zn-base-px, 8px) * 2);
355
- background: rgb(var(--zn-color-tab));
356
- transition: background-color 100ms ease-in-out;
501
+ padding: 0 var(--zn-navbar-tab-padding-inline, calc(var(--zn-base-px, 8px) * 2));
502
+ background: var(--zn-navbar-tab-background, rgb(var(--zn-color-tab)));
503
+ transition: background-color 100ms ease-in-out, color 150ms ease;
357
504
  position: relative;
358
505
 
359
506
  &:hover {
360
- background: rgba(var(--zn-color-tab), 0.5);
507
+ background: var(--zn-navbar-tab-hover-background, rgba(var(--zn-color-tab), 0.5));
361
508
 
362
509
  &::after {
363
510
  content: "";
364
511
  position: absolute;
365
512
  inset: 0;
366
513
  border-radius: inherit;
367
- background: rgb(var(--navbar-active-colour));
514
+ background: var(--zn-navbar-tab-hover-backdrop, rgb(var(--navbar-active-colour)));
368
515
  z-index: -1;
369
516
  }
370
517
  }
371
518
 
519
+ &:hover:not(.active):not(.zn-tb-active) {
520
+ color: var(--zn-navbar-tab-hover-color, var(--zn-text-tab-link-color));
521
+ }
522
+
372
523
  display: flex;
373
524
  align-items: center;
374
525
  justify-content: center;
@@ -376,10 +527,20 @@ ul.navbar.navbar--stacked.navbar--icon-bar {
376
527
 
377
528
  cursor: pointer;
378
529
 
379
- zn-icon, zn-tooltip {
530
+ zn-icon {
380
531
  pointer-events: none;
381
532
  }
382
533
 
534
+ // A tooltip hears the pointer, and is placed, through what it wraps, so its icon fills the tab
535
+ zn-tooltip zn-icon {
536
+ pointer-events: auto;
537
+ flex: 1;
538
+ align-self: stretch;
539
+ display: flex;
540
+ align-items: center;
541
+ justify-content: center;
542
+ }
543
+
383
544
  &#dropdown-item {
384
545
  flex-grow: 1;
385
546
  justify-content: flex-start;
@@ -394,25 +555,24 @@ ul.navbar.navbar--stacked.navbar--icon-bar {
394
555
  }
395
556
  }
396
557
 
558
+ // Joins the tab to the content below it; a theme can turn it into an
559
+ // underline indicator via the indicator tokens.
397
560
  &::before {
398
561
  content: '';
399
- left: 50%;
400
- right: 50%;
562
+ left: 0;
563
+ right: 0;
401
564
  bottom: -1px;
402
565
  position: absolute;
403
- background-color: rgb(var(--navbar-active-colour));
404
- transition: all 300ms ease-in-out;
405
- height: 1px;
406
- }
407
-
408
- &:hover:before:not(#dropdown-item) {
409
- // TODO Hover Before colors
410
- left: -2px;
411
- right: -2px;
566
+ background-color: var(--zn-navbar-tab-hover-indicator-color, rgb(var(--navbar-active-colour)));
567
+ scale: 0 1;
568
+ transition: scale var(--zn-transition-medium) var(--zn-ease-out),
569
+ background-color var(--zn-transition-medium) ease;
570
+ height: var(--zn-navbar-tab-indicator-height, 1px);
571
+ opacity: calc(1 - var(--zn-navbar-tab-indicator-slide, 0));
412
572
  }
413
573
 
414
574
  &.active, &.zn-tb-active {
415
- background: rgb(var(--navbar-active-colour));
575
+ background: var(--zn-navbar-tab-active-background, rgb(var(--navbar-active-colour)));
416
576
  font-size: var(--zn-text-tab-link-active-font-size);
417
577
  line-height: var(--zn-text-tab-link-active-line-height);
418
578
  font-weight: var(--zn-text-tab-link-active-font-weight);
@@ -420,8 +580,8 @@ ul.navbar.navbar--stacked.navbar--icon-bar {
420
580
  }
421
581
 
422
582
  &.active::before, &.zn-tb-active::before {
423
- left: 0;
424
- right: 0;
583
+ scale: 1 1;
584
+ background-color: var(--zn-navbar-tab-indicator-color, rgb(var(--navbar-active-colour)));
425
585
  }
426
586
  }
427
587
 
@@ -555,109 +715,113 @@ button[popovertarget] {
555
715
  }
556
716
 
557
717
 
558
- :host {
559
- ul.navbar {
560
- li.more {
561
- // Let the trigger fill the whole cell so clicking anywhere in the
562
- // "more" item opens the dropdown, not just the icon itself.
563
- padding: 0;
564
- width: 40px;
565
- min-width: 40px;
718
+ // Segmented tabs: a grey track with a raised pill that slides, stretches and settles on the active tab.
719
+ // Matches the tab strip's own :not([stacked]):not([icon-bar]) specificity so its height and padding give way.
720
+ :host([pill]:not([stacked]):not([icon-bar])) {
721
+ --zn-navbar-tab-indicator-slide: 1;
722
+ --zn-navbar-tab-background: transparent;
723
+ --zn-navbar-tab-hover-background: transparent;
724
+ --zn-navbar-tab-hover-backdrop: transparent;
725
+ --zn-navbar-tab-active-background: transparent;
726
+ --zn-text-tab-link-active-color: rgb(var(--zn-text));
727
+ @include wc.pill-tab-indicator-motion;
566
728
 
567
- zn-dropdown,
568
- zn-button[slot="trigger"] {
569
- height: 100%;
570
- width: 100%;
571
- }
729
+ .navbar__container {
730
+ border-bottom: 0;
731
+ }
572
732
 
573
- zn-button[slot="trigger"] zn-icon {
574
- transition: transform 200ms ease-in-out;
575
- --icon-color: var(--zn-text-tab-link-color);
576
- }
733
+ .navbar__strip {
734
+ width: fit-content;
735
+ min-width: 0;
736
+ // In line with the panel's caption and contents rather than the tab strip's inset
737
+ margin-inline: var(--zn-panel-padding, var(--zn-spacing-medium));
738
+ margin-bottom: var(--zn-spacing-small);
739
+ padding: 2px;
740
+ border-radius: 8px;
741
+ background: var(--zn-color-neutral-100);
742
+ }
577
743
 
578
- zn-dropdown[open] zn-button[slot="trigger"] zn-icon {
579
- transform: rotate(90deg);
580
- --icon-color: var(--zn-text-tab-link-active-color);
581
- }
744
+ ul.navbar {
745
+ height: auto;
746
+ margin: 0;
747
+ gap: 2px;
582
748
 
583
- &:has(zn-dropdown[open]) {
584
- background: rgb(var(--zn-panel));
749
+ > li {
750
+ z-index: 1;
751
+ // Less the track's padding, so the track stands as tall as a button
752
+ height: calc(var(--zn-button-height, var(--zn-density-control-height, 36px)) - 4px);
753
+ min-height: 0;
754
+ padding: 0 12px;
755
+ border: 0;
756
+ border-radius: 6px;
757
+ background: transparent;
758
+ font-size: 12px;
759
+ font-weight: var(--zn-font-weight-semibold);
585
760
 
586
- &::after {
587
- content: '';
588
- position: absolute;
589
- inset: auto 0 -1px 0;
590
- height: 1px;
591
- border-radius: 0;
592
- background: rgb(var(--zn-panel));
593
- z-index: 1;
594
- }
761
+ // A link item is clickable across the whole segment, not just its label
762
+ > a {
763
+ display: flex;
764
+ align-items: center;
765
+ align-self: stretch;
766
+ margin-inline: -12px;
767
+ padding-inline: 12px;
595
768
  }
769
+ }
770
+ }
596
771
 
597
- zn-button::part(base) {
598
- height: 100%;
599
- padding-left: 0;
600
- padding-right: 0;
601
- outline: none;
772
+ // Sticky edges sit inside the track's padding, so the arrows reach over it to cover tabs scrolling past
773
+ .navbar__strip {
774
+ --navbar-scroll-button-size: calc(var(--zn-button-height, var(--zn-density-control-height, 36px)) - 4px);
775
+ --navbar-scroll-fade: var(--zn-color-neutral-100);
776
+ }
602
777
 
603
- &:hover {
604
- background-color: transparent;
605
- }
606
- }
778
+ .navbar__scroll--start {
779
+ left: -2px;
780
+ padding-left: 2px;
781
+ }
607
782
 
608
- ul#extended-menu {
609
- --navbar-more-trigger-width: 40px;
783
+ .navbar__scroll--end {
784
+ right: -2px;
785
+ padding-right: 2px;
786
+ }
610
787
 
611
- box-shadow: 0 4px 8px -4px rgba(33, 33, 33, 0.1);
612
- border: 1px solid rgb(var(--zn-border-color));
613
- border-top: 0;
614
- border-radius: 0 0 var(--zn-border-radius) var(--zn-border-radius);
615
- overflow: hidden;
616
- position: relative;
617
- inset-inline-end: -1px;
788
+ .navbar__scroll::before {
789
+ bottom: 0;
790
+ border-bottom: 0;
791
+ }
618
792
 
619
- &::before {
620
- content: '';
621
- position: absolute;
622
- inset: 0 calc(var(--navbar-more-trigger-width) - 2px) auto 0;
623
- height: 1px;
624
- background: rgb(var(--zn-border-color));
625
- z-index: 2;
626
- }
793
+ .navbar__scroll-button {
794
+ border-radius: 6px;
795
+ }
627
796
 
628
- background: rgb(var(--zn-panel));
629
- display: flex;
630
- flex-direction: column;
631
- height: auto;
632
- width: fit-content;
633
- min-width: var(--zn-size-spanel);
634
- margin: -1px 0 0;
635
- padding: 1px;
636
-
637
- li {
638
- justify-content: left;
639
- background: rgb(var(--zn-panel));
640
- font-size: var(--zn-text-menu-link-font-size);
641
- line-height: var(--zn-text-menu-link-line-height);
642
- font-weight: var(--zn-text-menu-link-font-weight);
643
- color: var(--zn-text-menu-link-color);
644
- padding: var(--zn-spacing-small) var(--zn-spacing-medium);
645
-
646
- &:hover {
647
- background: linear-gradient(rgba(0, 0, 0, 0.06), rgba(0, 0, 0, 0.06)), rgb(var(--zn-panel));
648
- }
797
+ .navbar__indicator {
798
+ z-index: 0;
799
+ top: var(--zn-navbar-indicator-top);
800
+ bottom: auto;
801
+ height: var(--zn-navbar-indicator-height);
802
+ border-radius: 6px;
803
+ background: rgb(var(--zn-panel));
804
+ box-shadow: var(--zn-shadow-small, 0 1px 3px rgba(13, 23, 56, 0.08), 0 1px 2px rgba(13, 23, 56, 0.04));
805
+ }
806
+ }
649
807
 
650
- &.active, &.zn-tb-active {
651
- font-weight: var(--zn-text-tab-link-font-weight);
652
- color: var(--zn-text-tab-link-color);
653
- }
808
+ // Track 26px, pill 22px
809
+ :host([pill][size="small"]) {
810
+ --zn-button-height: 26px;
811
+ }
654
812
 
655
- &.active::before, &.zn-tb-active::before {
656
- left: 0;
657
- right: 0;
658
- }
659
- }
660
- }
661
- }
813
+ // A flush pill sits where it is placed, such as above a form field, without the panel inset
814
+ :host([pill][flush]:not([stacked]):not([icon-bar])) .navbar__strip {
815
+ margin: 0 0 calc(var(--zn-spacing-unit, 8px) * 1.5);
816
+ }
817
+
818
+ // Beside page header actions, or ahead of a button menu's buttons, the pill keeps to its own width and drops the
819
+ // panel inset and the gap it keeps above content
820
+ :host([pill]:is([slot="actions"], [slot="prefix"]):not([stacked]):not([icon-bar])) {
821
+ flex: none;
822
+ width: max-content;
823
+
824
+ .navbar__strip {
825
+ margin: 0;
662
826
  }
663
827
  }