@stackoverflow/stacks 1.9.0 → 1.9.2

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 (132) hide show
  1. package/README.md +161 -153
  2. package/dist/components/table/table.d.ts +26 -4
  3. package/dist/css/stacks.css +21 -6
  4. package/dist/css/stacks.min.css +1 -1
  5. package/dist/js/stacks.js +93 -64
  6. package/dist/js/stacks.min.js +1 -1
  7. package/lib/atomic/border.less +397 -397
  8. package/lib/atomic/color.less +210 -210
  9. package/lib/atomic/flex.less +426 -426
  10. package/lib/atomic/gap.less +44 -44
  11. package/lib/atomic/grid.less +139 -139
  12. package/lib/atomic/misc.less +343 -343
  13. package/lib/atomic/spacing.less +342 -342
  14. package/lib/atomic/typography.less +267 -267
  15. package/lib/atomic/width-height.less +194 -194
  16. package/lib/base/body.less +44 -44
  17. package/lib/base/configuration-static.less +61 -61
  18. package/lib/base/fieldset.less +5 -5
  19. package/lib/base/icon.less +11 -11
  20. package/lib/base/internal.less +220 -220
  21. package/lib/base/reset-meyer.less +64 -64
  22. package/lib/base/reset-normalize.less +449 -449
  23. package/lib/base/reset.less +20 -20
  24. package/lib/components/activity-indicator/activity-indicator.a11y.test.ts +21 -21
  25. package/lib/components/activity-indicator/activity-indicator.less +40 -40
  26. package/lib/components/activity-indicator/activity-indicator.visual.test.ts +23 -23
  27. package/lib/components/anchor/anchor.less +61 -61
  28. package/lib/components/avatar/avatar.a11y.test.ts +36 -36
  29. package/lib/components/avatar/avatar.less +108 -108
  30. package/lib/components/avatar/avatar.visual.test.ts +54 -54
  31. package/lib/components/award-bling/award-bling.a11y.test.ts +17 -0
  32. package/lib/components/award-bling/award-bling.less +31 -31
  33. package/lib/components/award-bling/award-bling.visual.test.ts +26 -0
  34. package/lib/components/badge/badge.less +251 -251
  35. package/lib/components/banner/banner.a11y.test.ts +37 -0
  36. package/lib/components/banner/banner.less +51 -51
  37. package/lib/components/banner/banner.test.ts +73 -77
  38. package/lib/components/banner/banner.ts +149 -149
  39. package/lib/components/banner/banner.visual.test.ts +37 -36
  40. package/lib/components/block-link/block-link.a11y.test.ts +68 -0
  41. package/lib/components/block-link/block-link.less +80 -80
  42. package/lib/components/block-link/block-link.visual.test.ts +61 -0
  43. package/lib/components/breadcrumbs/breadcrumbs.a11y.test.ts +37 -0
  44. package/lib/components/breadcrumbs/breadcrumbs.less +41 -41
  45. package/lib/components/breadcrumbs/breadcrumbs.visual.test.ts +37 -0
  46. package/lib/components/button/button.a11y.test.ts +32 -32
  47. package/lib/components/button/button.less +502 -502
  48. package/lib/components/button/button.visual.test.ts +52 -52
  49. package/lib/components/button-group/button-group.less +83 -83
  50. package/lib/components/card/card.a11y.test.ts +13 -0
  51. package/lib/components/card/card.less +29 -29
  52. package/lib/components/card/card.visual.test.ts +54 -0
  53. package/lib/components/check-control/check-control.less +17 -17
  54. package/lib/components/check-group/check-group.less +19 -19
  55. package/lib/components/checkbox_radio/checkbox_radio.less +158 -158
  56. package/lib/components/code-block/code-block.less +116 -116
  57. package/lib/components/description/description.less +9 -9
  58. package/lib/components/empty-state/empty-state.less +16 -16
  59. package/lib/components/expandable/expandable.less +118 -118
  60. package/lib/components/expandable/expandable.test.ts +51 -53
  61. package/lib/components/expandable/expandable.ts +238 -238
  62. package/lib/components/input-fill/input-fill.less +35 -35
  63. package/lib/components/input-icon/input-icon.less +45 -45
  64. package/lib/components/input-message/input-message.less +48 -48
  65. package/lib/components/input_textarea/input_textarea.less +166 -166
  66. package/lib/components/label/label.less +111 -111
  67. package/lib/components/link/link.less +119 -119
  68. package/lib/components/link-preview/link-preview.less +139 -139
  69. package/lib/components/menu/menu.less +41 -41
  70. package/lib/components/modal/modal.less +113 -113
  71. package/lib/components/modal/modal.ts +379 -379
  72. package/lib/components/navigation/navigation.less +134 -134
  73. package/lib/components/navigation/navigation.ts +128 -128
  74. package/lib/components/notice/notice.less +203 -203
  75. package/lib/components/page-title/page-title.less +51 -51
  76. package/lib/components/pagination/pagination.less +52 -52
  77. package/lib/components/popover/popover.less +148 -148
  78. package/lib/components/popover/popover.ts +651 -651
  79. package/lib/components/popover/tooltip.test.ts +62 -66
  80. package/lib/components/popover/tooltip.ts +343 -343
  81. package/lib/components/popover/tooltip.visual.test.ts +31 -31
  82. package/lib/components/post-summary/post-summary.less +415 -415
  83. package/lib/components/progress-bar/progress-bar.less +291 -291
  84. package/lib/components/prose/prose.less +452 -452
  85. package/lib/components/select/select.less +148 -148
  86. package/lib/components/sidebar-widget/sidebar-widget.less +257 -258
  87. package/lib/components/spinner/spinner.less +103 -103
  88. package/lib/components/table/table.less +307 -292
  89. package/lib/components/table/table.test.ts +366 -0
  90. package/lib/components/table/table.ts +296 -263
  91. package/lib/components/table-container/table-container.less +4 -4
  92. package/lib/components/tag/tag.less +213 -213
  93. package/lib/components/toast/toast.less +35 -35
  94. package/lib/components/toast/toast.test.ts +63 -67
  95. package/lib/components/toast/toast.ts +357 -357
  96. package/lib/components/toast/toast.visual.test.ts +27 -27
  97. package/lib/components/toggle-switch/toggle-switch.less +110 -110
  98. package/lib/components/topbar/topbar.less +436 -435
  99. package/lib/components/uploader/uploader.less +195 -195
  100. package/lib/components/uploader/uploader.ts +205 -205
  101. package/lib/components/user-card/user-card.less +129 -129
  102. package/lib/controllers.ts +33 -33
  103. package/lib/exports/constants-colors.less +1112 -1111
  104. package/lib/exports/constants-helpers.less +108 -108
  105. package/lib/exports/constants-type.less +153 -153
  106. package/lib/exports/exports.less +15 -15
  107. package/lib/exports/mixins.less +299 -299
  108. package/lib/index.ts +32 -32
  109. package/lib/input-utils.less +44 -44
  110. package/lib/stacks-dynamic.less +24 -24
  111. package/lib/stacks-static.less +93 -93
  112. package/lib/stacks.less +13 -13
  113. package/lib/stacks.ts +113 -113
  114. package/lib/test/open-wc-testing-patch.d.ts +26 -0
  115. package/lib/test/test-utils.ts +466 -444
  116. package/lib/tsconfig.build.json +4 -0
  117. package/lib/tsconfig.json +16 -13
  118. package/package.json +106 -105
  119. package/dist/components/activity-indicator/activity-indicator.a11y.test.d.ts +0 -1
  120. package/dist/components/activity-indicator/activity-indicator.visual.test.d.ts +0 -1
  121. package/dist/components/avatar/avatar.a11y.test.d.ts +0 -1
  122. package/dist/components/avatar/avatar.visual.test.d.ts +0 -1
  123. package/dist/components/banner/banner.test.d.ts +0 -1
  124. package/dist/components/banner/banner.visual.test.d.ts +0 -1
  125. package/dist/components/button/button.a11y.test.d.ts +0 -1
  126. package/dist/components/button/button.visual.test.d.ts +0 -1
  127. package/dist/components/expandable/expandable.test.d.ts +0 -1
  128. package/dist/components/popover/tooltip.test.d.ts +0 -1
  129. package/dist/components/popover/tooltip.visual.test.d.ts +0 -1
  130. package/dist/components/toast/toast.test.d.ts +0 -1
  131. package/dist/components/toast/toast.visual.test.d.ts +0 -1
  132. package/dist/test/test-utils.d.ts +0 -136
package/README.md CHANGED
@@ -1,153 +1,161 @@
1
- # Stacks
2
-
3
- [![ci status][gh-action-badge]][gh-action-url] [![npm version][npm-badge]][npm-url]
4
-
5
- Stacks is Stack Overflow’s design system. It includes the resources needed to create consistent, predictable interfaces and workflows that conform to Stack Overflow’s principles, design language, and best practices.
6
-
7
- Our documentation is built with Stacks itself, using its [immutable, atomic classes](http://johnpolacek.com/rethinking/) and components.
8
-
9
- The Stacks website documents:
10
-
11
- ### Product
12
- - Semantic and accessible component markup
13
- - Cross-browser compatible Less / CSS
14
- - An [icon library](https://github.com/StackExchange/Stacks-Icons)
15
-
16
- ### Email
17
- - Email templates & components
18
-
19
- Stacks documentation can be found at https://stackoverflow.design/
20
-
21
- ## Table of contents
22
-
23
- - [Using Stacks](#using-stacks)
24
- - [Building Stacks](#building-stacks)
25
- - [Linting Stacks](#linting-stacks)
26
- - [Testing Stacks](#testing-stacks)
27
- - [Releasing Stacks](#releasing-a-new-version-of-stacks)
28
- - [Bugs and feature requests](#bugs-and-feature-requests)
29
- - [Contributing](#contributing)
30
- - [License](#license)
31
-
32
- ## Using Stacks
33
- Using Stacks is outlined in our [usage guidelines](https://stackoverflow.design/product/guidelines/using-stacks).
34
-
35
- ## Building Stacks
36
- To contribute to Stacks documentation or its CSS library, you’ll need to build Stacks locally. View our [building guidelines](https://stackoverflow.design/product/guidelines/building).
37
-
38
- Having trouble getting these steps to work? Open [an issue](https://github.com/StackExchange/Stacks/issues/new) with a `setup` label.
39
-
40
- ## Linting Stacks
41
-
42
- Run all lint suites by running:
43
- ```sh
44
- npm run lint
45
- ```
46
-
47
- Lint the styles (stylelint) by running:
48
- ```sh
49
- npm run lint:css
50
- ```
51
- Lint the typescript source code (eslint) via running:
52
- ```sh
53
- npm run lint:ts
54
- ```
55
- Lint the source code format (prettier) via running:
56
- ```sh
57
- npm run lint:format
58
- ```
59
-
60
- ## Testing Stacks
61
-
62
- Run all test suites by running:
63
- ```sh
64
- npm test
65
- ```
66
- ### Unit/Component Tests
67
-
68
- Unit/Component tests are written with [DOM Testing Library](https://testing-library.com/docs/dom-testing-library/intro).
69
- Please follow the library's principles and documentation to write tests.
70
-
71
- Stacks uses [Web Test Runner](https://modern-web.dev/docs/test-runner/overview/) and [Playwright](https://modern-web.dev/docs/test-runner/browser-launchers/playwright/) to run tests in a real browser context.
72
-
73
- Execute the unit/component tests suite by running:
74
- ```sh
75
- npm run test:unit
76
- ```
77
- or if you prefer watch mode run:
78
- ```sh
79
- npm run test:unit:watch
80
- ```
81
-
82
- ### Visual Regression Tests
83
-
84
- **Prerequisite:**
85
- In order to pull and upload baseline images you need to have `git lfs` installed in your local machine. Please follow [this guide](https://docs.github.com/en/repositories/working-with-files/managing-large-files/installing-git-large-file-storage) to install that.
86
-
87
-
88
- This [Web Test Runner plugin](https://www.npmjs.com/package/@web/test-runner-visual-regression) is used to run visual regression tests. [DOM Testing Library](https://testing-library.com/docs/dom-testing-library/intro).
89
- Visual regression tests end with this suffix `*.visual.test.ts`.
90
-
91
- Execute the visual regression tests suite by running:
92
- ```sh
93
- npm run test:visual
94
- ```
95
-
96
- Update the visual baseline via:
97
- ```sh
98
- npm run test:visual:update
99
- ```
100
-
101
- Failing tests (including diffs) can be found under `screenshots/[browser]/failed/` folders.
102
-
103
- ## Releasing a new version of Stacks
104
- Stacks uses [Semantic Versioning](https://semver.org/), is distributed via [npm](https://www.npmjs.com/package/@stackoverflow/stacks), and publishes [release notes on Github](https://github.com/StackExchange/Stacks/releases). Follow the steps below to release a new version of Stacks.
105
-
106
- ### Bump the version number
107
- ```sh
108
- npm version [major | minor | patch]
109
- ```
110
-
111
- ### Push the new tag
112
- ```sh
113
- git push && git push --tags
114
- ```
115
-
116
- ### Create release notes [on Github](https://github.com/StackExchange/Stacks/releases/new)
117
-
118
- 1. Visit https://github.com/StackExchange/Stacks/releases/new
119
- 1. Choose your new version from the "Choose a tag" dropdown
120
- 1. Click "Generate release notes"
121
- 1. Cleanup and complete the release notes
122
- - Prominently mention any breaking changes, if applicable
123
- - Include a "What's Changed" section in the release notes
124
- - Mention significant bug fixes
125
- - Mention new features
126
- - Mention significant under-the-hood changes that could impact consumers
127
-
128
- ### Ship your newly created version to [npm](https://www.npmjs.com/package/@stackoverflow/stacks)
129
- ```sh
130
- npm publish
131
- ```
132
-
133
- ### Merge `develop` into `production` and push
134
- ```sh
135
- git checkout production && git merge develop && git push
136
- ```
137
-
138
- ### Push the updated docs site
139
- Head to [Netlify](https://app.netlify.com), navigate to the Stacks overview, click on "Production deploys", and select "Deploy site" from the "Trigger deploy" dropdown.
140
-
141
- ## Bugs and feature requests
142
- Have a bug or feature request? First search existing or closed issues to make sure the issue hasn’t been noted yet. If not, review our [issue guidelines](/CONTRIBUTING.md#open-an-issue) for submitting [a bug report](/CONTRIBUTING.md#reporting-bugs) or [feature request](/CONTRIBUTING.md#feature-requests).
143
-
144
- ## Contributing
145
- If you’d like to contribute to Stacks, please read through our [contribution guidelines](/CONTRIBUTING.md). Included are directions for opening issues, coding standards, and notes on development.
146
-
147
- ## License
148
- Code and documentation copyright 2017-2022 Stack Exchange, Inc and released under the [MIT License](/LICENSE.MD).
149
-
150
- [gh-action-url]: https://github.com/StackExchange/Stacks/actions/workflows/main.yml
151
- [gh-action-badge]: https://github.com/StackExchange/Stacks/actions/workflows/main.yml/badge.svg?branch=develop
152
- [npm-url]: https://npmjs.org/package/@stackoverflow/stacks
153
- [npm-badge]: https://img.shields.io/npm/v/@stackoverflow/stacks.svg
1
+ # Stacks
2
+
3
+ [![ci status][gh-action-badge]][gh-action-url] [![npm version][npm-badge]][npm-url]
4
+
5
+ Stacks is Stack Overflow’s design system. It includes the resources needed to create consistent, predictable interfaces and workflows that conform to Stack Overflow’s principles, design language, and best practices.
6
+
7
+ Our documentation is built with Stacks itself, using its [immutable, atomic classes](http://johnpolacek.com/rethinking/) and components.
8
+
9
+ The Stacks website documents:
10
+
11
+ ### Product
12
+ - Semantic and accessible component markup
13
+ - Cross-browser compatible Less / CSS
14
+ - An [icon library](https://github.com/StackExchange/Stacks-Icons)
15
+
16
+ ### Email
17
+ - Email templates & components
18
+
19
+ Stacks documentation can be found at https://stackoverflow.design/
20
+
21
+ ## Table of contents
22
+
23
+ - [Using Stacks](#using-stacks)
24
+ - [Building Stacks](#building-stacks)
25
+ - [Format Stacks](#format-stacks)
26
+ - [Linting Stacks](#linting-stacks)
27
+ - [Testing Stacks](#testing-stacks)
28
+ - [Releasing Stacks](#releasing-a-new-version-of-stacks)
29
+ - [Bugs and feature requests](#bugs-and-feature-requests)
30
+ - [Contributing](#contributing)
31
+ - [License](#license)
32
+
33
+ ## Using Stacks
34
+ Using Stacks is outlined in our [usage guidelines](https://stackoverflow.design/product/guidelines/using-stacks).
35
+
36
+ ## Building Stacks
37
+ To contribute to Stacks documentation or its CSS library, you’ll need to build Stacks locally. View our [building guidelines](https://stackoverflow.design/product/guidelines/building).
38
+
39
+ Having trouble getting these steps to work? Open [an issue](https://github.com/StackExchange/Stacks/issues/new) with a `setup` label.
40
+
41
+ ## Format Stacks
42
+
43
+ Format the source code with prettier via running:
44
+ ```sh
45
+ npm run format
46
+ ```
47
+
48
+ ## Linting Stacks
49
+
50
+ Run all lint suites by running:
51
+ ```sh
52
+ npm run lint
53
+ ```
54
+
55
+ Lint the styles (stylelint) by running:
56
+ ```sh
57
+ npm run lint:css
58
+ ```
59
+ Lint the typescript source code (eslint) via running:
60
+ ```sh
61
+ npm run lint:ts
62
+ ```
63
+ Lint the source code format (prettier) via running:
64
+ ```sh
65
+ npm run lint:format
66
+ ```
67
+
68
+ ## Testing Stacks
69
+
70
+ Run all test suites by running:
71
+ ```sh
72
+ npm test
73
+ ```
74
+ ### Unit/Component Tests
75
+
76
+ Unit/Component tests are written with [DOM Testing Library](https://testing-library.com/docs/dom-testing-library/intro).
77
+ Please follow the library's principles and documentation to write tests.
78
+
79
+ Stacks uses [Web Test Runner](https://modern-web.dev/docs/test-runner/overview/) and [Playwright](https://modern-web.dev/docs/test-runner/browser-launchers/playwright/) to run tests in a real browser context.
80
+
81
+ Execute the unit/component tests suite by running:
82
+ ```sh
83
+ npm run test:unit
84
+ ```
85
+ or if you prefer watch mode run:
86
+ ```sh
87
+ npm run test:unit:watch
88
+ ```
89
+
90
+ ### Visual Regression Tests
91
+
92
+ **Prerequisite:**
93
+ In order to pull and upload baseline images you need to have `git lfs` installed in your local machine. Please follow [this guide](https://docs.github.com/en/repositories/working-with-files/managing-large-files/installing-git-large-file-storage) to install that.
94
+
95
+
96
+ This [Web Test Runner plugin](https://www.npmjs.com/package/@web/test-runner-visual-regression) is used to run visual regression tests. [DOM Testing Library](https://testing-library.com/docs/dom-testing-library/intro).
97
+ Visual regression tests end with this suffix `*.visual.test.ts`.
98
+
99
+ Execute the visual regression tests suite by running:
100
+ ```sh
101
+ npm run test:visual
102
+ ```
103
+
104
+ Update the visual baseline via:
105
+ ```sh
106
+ npm run test:visual:update
107
+ ```
108
+
109
+ Failing tests (including diffs) can be found under `screenshots/[browser]/failed/` folders.
110
+
111
+ ## Releasing a new version of Stacks
112
+ Stacks uses [Semantic Versioning](https://semver.org/), is distributed via [npm](https://www.npmjs.com/package/@stackoverflow/stacks), and publishes [release notes on Github](https://github.com/StackExchange/Stacks/releases). Follow the steps below to release a new version of Stacks.
113
+
114
+ ### Bump the version number
115
+ ```sh
116
+ npm version [major | minor | patch]
117
+ ```
118
+
119
+ ### Push the new tag
120
+ ```sh
121
+ git push && git push --tags
122
+ ```
123
+
124
+ ### Create release notes [on Github](https://github.com/StackExchange/Stacks/releases/new)
125
+
126
+ 1. Visit https://github.com/StackExchange/Stacks/releases/new
127
+ 1. Choose your new version from the "Choose a tag" dropdown
128
+ 1. Click "Generate release notes"
129
+ 1. Cleanup and complete the release notes
130
+ - Prominently mention any breaking changes, if applicable
131
+ - Include a "What's Changed" section in the release notes
132
+ - Mention significant bug fixes
133
+ - Mention new features
134
+ - Mention significant under-the-hood changes that could impact consumers
135
+
136
+ ### Ship your newly created version to [npm](https://www.npmjs.com/package/@stackoverflow/stacks)
137
+ ```sh
138
+ npm publish
139
+ ```
140
+
141
+ ### Merge `develop` into `production` and push
142
+ ```sh
143
+ git checkout production && git merge develop && git push
144
+ ```
145
+
146
+ ### Push the updated docs site
147
+ Head to [Netlify](https://app.netlify.com), navigate to the Stacks overview, click on "Production deploys", and select "Deploy site" from the "Trigger deploy" dropdown.
148
+
149
+ ## Bugs and feature requests
150
+ Have a bug or feature request? First search existing or closed issues to make sure the issue hasn’t been noted yet. If not, review our [issue guidelines](/CONTRIBUTING.md#open-an-issue) for submitting [a bug report](/CONTRIBUTING.md#reporting-bugs) or [feature request](/CONTRIBUTING.md#feature-requests).
151
+
152
+ ## Contributing
153
+ If you’d like to contribute to Stacks, please read through our [contribution guidelines](/CONTRIBUTING.md). Included are directions for opening issues, coding standards, and notes on development.
154
+
155
+ ## License
156
+ Code and documentation copyright 2017-2022 Stack Exchange, Inc and released under the [MIT License](/LICENSE.MD).
157
+
158
+ [gh-action-url]: https://github.com/StackExchange/Stacks/actions/workflows/main.yml
159
+ [gh-action-badge]: https://github.com/StackExchange/Stacks/actions/workflows/main.yml/badge.svg?branch=develop
160
+ [npm-url]: https://npmjs.org/package/@stackoverflow/stacks
161
+ [npm-badge]: https://img.shields.io/npm/v/@stackoverflow/stacks.svg
@@ -1,8 +1,30 @@
1
1
  import * as Stacks from "../../stacks";
2
+ /**
3
+ * The string values of these enumerations should correspond with `aria-sort` valid values.
4
+ *
5
+ * @see https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-sort#values
6
+ */
7
+ export declare enum SortOrder {
8
+ Ascending = "ascending",
9
+ Descending = "descending",
10
+ None = "none"
11
+ }
2
12
  export declare class TableController extends Stacks.StacksController {
13
+ columnTarget: HTMLTableCellElement;
14
+ columnTargets: HTMLTableCellElement[];
3
15
  static targets: string[];
4
- readonly columnTarget: Element;
5
- readonly columnTargets: Element[];
6
- setCurrentSort(headElem: Element, direction: "asc" | "desc" | "none"): void;
7
- sort(evt: Event): void;
16
+ sort(evt: PointerEvent): void;
17
+ private updateSortedColumnStyles;
8
18
  }
19
+ /**
20
+ * @internal This function is exported for testing purposes but is not a part of our public API
21
+ *
22
+ * @param section
23
+ */
24
+ export declare function buildIndex(section: HTMLTableSectionElement): HTMLTableCellElement[][];
25
+ /**
26
+ * @internal This function is exported for testing purposes but is not a part of our public API
27
+ *
28
+ * @param cell
29
+ */
30
+ export declare function getCellSlot(cell: HTMLTableCellElement): number;
@@ -4998,7 +4998,6 @@ body.theme-highcontrast .s-select > select:focus {
4998
4998
  background-color: var(--white);
4999
4999
  border: var(--su-static1) solid var(--_sw-bc);
5000
5000
  border-radius: var(--br-sm);
5001
- box-shadow: var(--bs-sm);
5002
5001
  font-size: var(--fs-body1);
5003
5002
  position: relative;
5004
5003
  }
@@ -5397,9 +5396,23 @@ body.theme-highcontrast .s-sidebarwidget.s-sidebarwidget__green {
5397
5396
  color: var(--fc-light);
5398
5397
  cursor: pointer;
5399
5398
  }
5400
- .s-table.s-table__sortable thead th a {
5399
+ .s-table.s-table__sortable thead th a,
5400
+ .s-table.s-table__sortable thead th button {
5401
5401
  color: inherit;
5402
5402
  }
5403
+ .s-table.s-table__sortable thead th button {
5404
+ appearance: none;
5405
+ background-color: transparent;
5406
+ border: 0;
5407
+ cursor: pointer;
5408
+ display: flex;
5409
+ gap: var(--su-static4);
5410
+ font-weight: inherit;
5411
+ margin: calc(var(--_ta-th-p) * -1);
5412
+ padding: var(--_ta-th-p);
5413
+ text-align: left;
5414
+ width: calc(100% + calc(var(--_ta-th-p) * 2));
5415
+ }
5403
5416
  .s-table.s-table__sortable thead th.is-sorted {
5404
5417
  color: var(--black-900);
5405
5418
  }
@@ -5893,13 +5906,13 @@ input[type="checkbox"].s-toggle-switch[disabled] {
5893
5906
  }
5894
5907
  .s-topbar {
5895
5908
  min-width: auto;
5896
- box-shadow: var(--bs-sm);
5897
5909
  width: 100%;
5898
5910
  z-index: var(--zi-navigation-fixed);
5899
5911
  background-color: var(--theme-topbar-background-color);
5900
5912
  height: var(--theme-topbar-height);
5901
5913
  display: flex;
5902
5914
  border-top: var(--theme-topbar-accent-border);
5915
+ border-bottom: var(--theme-topbar-bottom-border);
5903
5916
  position: relative;
5904
5917
  align-items: center;
5905
5918
  }
@@ -5999,7 +6012,8 @@ body.theme-highcontrast .s-topbar {
5999
6012
  background-color: var(--theme-topbar-item-background-hover);
6000
6013
  }
6001
6014
  .s-topbar__light {
6002
- --theme-topbar-background-color: hsl(210, 8%, 97.5%);
6015
+ --theme-topbar-background-color: hsl(0, 0%, 100%);
6016
+ --theme-topbar-bottom-border: 1px solid hsl(210, 8%, 85%);
6003
6017
  --theme-topbar-search-color: hsl(210, 8%, 25%);
6004
6018
  --theme-topbar-search-background: hsl(0, 0%, 100%);
6005
6019
  --theme-topbar-search-placeholder: hsl(210, 8%, 55%);
@@ -6684,8 +6698,8 @@ body:not(.theme-dark) .theme-dark__forced .themed {
6684
6698
  --theme-tag-hover-color: var(--theme-secondary-900);
6685
6699
  --theme-tag-hover-background-color: var(--theme-secondary-100);
6686
6700
  --theme-tag-hover-border-color: transparent;
6687
- --theme-topbar-height: var(--su-static48);
6688
- --theme-topbar-background-color: var(--black-025);
6701
+ --theme-topbar-height: calc(var(--su-static48) + var(--su-static8));
6702
+ --theme-topbar-background-color: var(--white);
6689
6703
  --theme-topbar-search-color: var(--black-700);
6690
6704
  --theme-topbar-search-background: var(--white);
6691
6705
  --theme-topbar-search-placeholder: var(--black-400);
@@ -6700,6 +6714,7 @@ body:not(.theme-dark) .theme-dark__forced .themed {
6700
6714
  --theme-topbar-item-color-current: var(--black);
6701
6715
  --theme-topbar-item-border-current: var(--theme-primary-color);
6702
6716
  --theme-topbar-accent-border: 3px solid var(--theme-primary-color);
6717
+ --theme-topbar-bottom-border: none;
6703
6718
  --theme-post-title-color: var(--theme-link-color);
6704
6719
  --theme-post-title-color-hover: var(--theme-link-color-hover);
6705
6720
  --theme-post-title-color-visited: var(--theme-link-color-visited);