@swisspost/design-system-styles 9.0.0-next.2 → 9.0.0-next.21

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 (321) hide show
  1. package/_svg-icon-map.scss +85 -23
  2. package/basics.css +1 -1
  3. package/basics.scss +2 -6
  4. package/cargo-external.css +7 -0
  5. package/cargo-external.scss +10 -0
  6. package/cargo-internal.css +7 -0
  7. package/cargo-internal.scss +10 -0
  8. package/cargo-tokens-external.css +1 -0
  9. package/cargo-tokens-external.scss +8 -0
  10. package/cargo-tokens-internal.css +1 -0
  11. package/cargo-tokens-internal.scss +8 -0
  12. package/components/_form-check.scss +166 -0
  13. package/components/_index.scss +21 -13
  14. package/components/appstore-badge.css +1 -0
  15. package/components/appstore-badge.scss +18 -0
  16. package/components/avatar.css +1 -0
  17. package/components/avatar.scss +41 -0
  18. package/components/badge.css +1 -1
  19. package/components/badge.scss +8 -2
  20. package/components/banner.css +1 -0
  21. package/components/banner.scss +105 -0
  22. package/components/blockquote.css +1 -0
  23. package/components/blockquote.scss +46 -0
  24. package/components/breadcrumb.css +1 -1
  25. package/components/breadcrumb.scss +4 -24
  26. package/components/breakpoints.css +1 -0
  27. package/components/breakpoints.scss +17 -0
  28. package/components/button-group.css +1 -1
  29. package/components/button-group.scss +7 -6
  30. package/components/button.css +1 -1
  31. package/components/button.scss +41 -228
  32. package/components/card-control.css +1 -1
  33. package/components/card-control.scss +33 -24
  34. package/components/card.css +1 -1
  35. package/components/card.scss +72 -68
  36. package/components/checkbox.css +1 -0
  37. package/components/checkbox.scss +127 -0
  38. package/components/chip.css +1 -1
  39. package/components/chip.scss +9 -8
  40. package/components/close.css +1 -1
  41. package/components/close.scss +0 -2
  42. package/components/datatable.css +1 -3
  43. package/components/datatable.scss +22 -17
  44. package/components/datepicker.css +1 -1
  45. package/components/datepicker.scss +6 -22
  46. package/components/dialog.css +1 -1
  47. package/components/dialog.scss +26 -38
  48. package/components/dropdown.css +1 -1
  49. package/components/dropdown.scss +9 -6
  50. package/components/fonts.css +1 -1
  51. package/components/fonts.scss +7 -45
  52. package/components/form-footer.css +1 -0
  53. package/components/form-footer.scss +18 -0
  54. package/components/form-hint.css +1 -0
  55. package/components/form-hint.scss +15 -0
  56. package/components/form-input.css +1 -0
  57. package/components/form-input.scss +301 -0
  58. package/components/form-range.css +1 -1
  59. package/components/form-range.scss +9 -9
  60. package/components/form-search-input.css +1 -0
  61. package/components/form-search-input.scss +97 -0
  62. package/components/form-select.css +1 -1
  63. package/components/form-select.scss +266 -55
  64. package/components/form-textarea.css +1 -1
  65. package/components/form-textarea.scss +172 -9
  66. package/components/globals/_index.scss +1 -0
  67. package/components/globals/post-footer.css +1 -0
  68. package/components/globals/post-footer.scss +113 -0
  69. package/components/header/_mixins.scss +48 -0
  70. package/components/header/index.css +1 -0
  71. package/components/header/index.scss +131 -0
  72. package/components/icon-button.css +1 -0
  73. package/components/icon-button.scss +19 -0
  74. package/components/icon-close-button.css +1 -0
  75. package/components/icon-close-button.scss +29 -0
  76. package/components/intranet-header/_icon.scss +1 -1
  77. package/components/intranet-header/_index.scss +0 -2
  78. package/components/intranet-header/_language-chooser.scss +3 -2
  79. package/components/intranet-header/_nav-overflow.scss +2 -2
  80. package/components/intranet-header/_scaffolding.scss +1 -1
  81. package/components/intranet-header/_searchbox.scss +1 -1
  82. package/components/intranet-header/_sidebar.scss +11 -11
  83. package/components/intranet-header/_top-navigation.scss +1 -1
  84. package/components/list-check.css +1 -0
  85. package/components/list-check.scss +79 -0
  86. package/components/list-group.css +1 -1
  87. package/components/list-group.scss +72 -127
  88. package/components/modal.css +2 -2
  89. package/components/modal.scss +2 -4
  90. package/components/offcanvas.css +1 -1
  91. package/components/offcanvas.scss +0 -2
  92. package/components/pagination.css +1 -1
  93. package/components/pagination.scss +10 -9
  94. package/components/popover.css +1 -1
  95. package/components/popover.scss +0 -2
  96. package/components/product-card.css +1 -1
  97. package/components/product-card.scss +11 -5
  98. package/components/progress.scss +0 -2
  99. package/components/radio-button.css +1 -0
  100. package/components/radio-button.scss +125 -0
  101. package/components/segmented-button.css +3 -0
  102. package/components/segmented-button.scss +207 -0
  103. package/components/skiplinks.css +1 -0
  104. package/components/skiplinks.scss +20 -0
  105. package/components/spinner.scss +0 -1
  106. package/components/stepper.css +1 -1
  107. package/components/stepper.scss +40 -33
  108. package/components/subnavigation.css +1 -1
  109. package/components/subnavigation.scss +17 -14
  110. package/components/switch.css +1 -0
  111. package/components/switch.scss +212 -0
  112. package/components/tables.css +1 -1
  113. package/components/tables.scss +0 -1
  114. package/components/tabs/_tab-title.scss +16 -55
  115. package/components/tabs/_tabs-wrapper.scss +3 -13
  116. package/components/tabs/index.css +1 -1
  117. package/components/tabs/index.scss +0 -2
  118. package/components/tag.css +1 -1
  119. package/components/tag.scss +1 -2
  120. package/components/teaser.css +1 -0
  121. package/components/teaser.scss +83 -0
  122. package/components/text-highlight.css +1 -1
  123. package/components/timepicker.css +1 -1
  124. package/components/timepicker.scss +13 -16
  125. package/components/toast.css +1 -1
  126. package/components/toast.scss +19 -16
  127. package/components/tooltip.css +1 -1
  128. package/components/tooltip.scss +0 -2
  129. package/components/transitions.scss +0 -2
  130. package/components/validation.css +1 -0
  131. package/components/validation.scss +120 -0
  132. package/elements/_index.scss +7 -1
  133. package/elements/anchor.css +1 -0
  134. package/elements/anchor.scss +33 -0
  135. package/elements/body.css +1 -1
  136. package/elements/body.scss +5 -1
  137. package/elements/fieldset-legend.css +1 -1
  138. package/elements/fieldset-legend.scss +7 -3
  139. package/elements/heading.css +1 -1
  140. package/elements/heading.scss +10 -12
  141. package/elements/list-bullet.css +1 -0
  142. package/elements/list-bullet.scss +43 -0
  143. package/elements/list-description.css +1 -0
  144. package/elements/list-description.scss +5 -0
  145. package/elements/list-number.css +1 -0
  146. package/elements/list-number.scss +33 -0
  147. package/elements/paragraph.css +1 -0
  148. package/elements/paragraph.scss +17 -0
  149. package/elements/reset.css +1 -1
  150. package/elements/reset.scss +16 -7
  151. package/elements.css +1 -0
  152. package/elements.scss +1 -0
  153. package/fonts.css +1 -1
  154. package/functions/_breakpoint.scss +26 -0
  155. package/functions/_forms.scss +46 -3
  156. package/functions/_icons.scss +2 -14
  157. package/helpers/_index.scss +4 -0
  158. package/helpers/clearfix.css +1 -0
  159. package/helpers/clearfix.scss +5 -0
  160. package/helpers/focus-ring.css +1 -0
  161. package/helpers/focus-ring.scss +5 -0
  162. package/helpers/text-truncation.css +1 -0
  163. package/helpers/text-truncation.scss +5 -0
  164. package/helpers/visually-hidden.css +1 -0
  165. package/helpers/visually-hidden.scss +5 -0
  166. package/index.css +3 -3
  167. package/index.scss +2 -5
  168. package/intranet.css +3 -3
  169. package/intranet.scss +2 -2
  170. package/layout/_containers.scss +32 -0
  171. package/layout/_section.scss +133 -0
  172. package/layout/grid/_index.scss +11 -0
  173. package/layout/grid/_mixins.scss +104 -0
  174. package/layout/grid/_variables.scss +2 -0
  175. package/layout/index.css +1 -0
  176. package/layout/index.scss +3 -0
  177. package/mixins/_button.scss +19 -15
  178. package/mixins/_form-checks.scss +1 -1
  179. package/mixins/_forms.scss +42 -33
  180. package/mixins/_icon-button.scss +27 -0
  181. package/mixins/_icons.scss +22 -32
  182. package/mixins/_index.scss +3 -2
  183. package/mixins/_layout.scss +26 -0
  184. package/mixins/_list.scss +112 -0
  185. package/mixins/_media.scss +58 -2
  186. package/mixins/_notification.scss +59 -53
  187. package/mixins/_utilities.scss +46 -25
  188. package/package.json +16 -16
  189. package/palettes/_mixins.scss +74 -0
  190. package/palettes/_utilities.scss +3 -0
  191. package/palettes/_variables.scss +2 -0
  192. package/palettes/cargo-palettes.css +1 -0
  193. package/palettes/cargo-palettes.scss +3 -0
  194. package/palettes/post-palettes.css +1 -0
  195. package/palettes/post-palettes.scss +3 -0
  196. package/placeholders/_button.scss +3 -6
  197. package/placeholders/_close.scss +2 -5
  198. package/placeholders/_schemes.scss +10 -0
  199. package/post-external.css +3 -3
  200. package/post-external.scss +7 -1
  201. package/post-internal.css +3 -3
  202. package/post-internal.scss +7 -1
  203. package/post-tokens-external.css +1 -1
  204. package/post-tokens-external.scss +1 -1
  205. package/post-tokens-internal.css +1 -1
  206. package/post-tokens-internal.scss +1 -1
  207. package/themes/bootstrap/_core.scss +0 -2
  208. package/themes/bootstrap/_forms.scss +0 -4
  209. package/themes/bootstrap/_overrides-variables.scss +0 -6
  210. package/themes/bootstrap/_utilities.scss +45 -1
  211. package/tokens/_cargo-theme.scss +8 -0
  212. package/tokens/_helpers.scss +1 -0
  213. package/tokens/_palettes.scss +9 -0
  214. package/tokens/_schemes.scss +11 -0
  215. package/tokens/_utilities_formatted.scss +1 -0
  216. package/tokens/temp/_channel.scss +4 -3
  217. package/tokens/temp/_components.scss +594 -503
  218. package/tokens/temp/_core.scss +49 -37
  219. package/tokens/temp/_device.scss +210 -239
  220. package/tokens/temp/_elements.scss +11 -11
  221. package/tokens/temp/_helpers.scss +13 -0
  222. package/tokens/temp/_index.scss +6 -4
  223. package/tokens/temp/_palettes.scss +19 -0
  224. package/tokens/temp/_scheme.scss +334 -0
  225. package/tokens/temp/_theme.scss +28 -9
  226. package/tokens/temp/_utilities-formatted.scss +128 -0
  227. package/tokens/temp/_utilities.scss +34 -58
  228. package/tokens/temp/palettes/_cargo-dark.scss +19 -0
  229. package/tokens/temp/palettes/_cargo-light.scss +19 -0
  230. package/tokens/temp/palettes/_post-dark.scss +19 -0
  231. package/tokens/temp/palettes/_post-light.scss +19 -0
  232. package/utilities/_not-defined.scss +44 -0
  233. package/utilities/_variables.scss +304 -22
  234. package/utilities/index.css +1 -0
  235. package/utilities/{_index.scss → index.scss} +1 -2
  236. package/variables/_animation.scss +10 -6
  237. package/variables/_breakpoints.scss +9 -5
  238. package/variables/_color.scss +0 -61
  239. package/variables/_commons.scss +1 -0
  240. package/variables/_elevation.scss +16 -22
  241. package/variables/_grid.scss +2 -12
  242. package/variables/_icons.scss +19 -696
  243. package/variables/_index.scss +1 -1
  244. package/variables/_sizing.scss +17 -0
  245. package/variables/_spacing.scss +0 -152
  246. package/variables/_type.scss +17 -27
  247. package/variables/components/_accordion.scss +0 -47
  248. package/variables/components/_badge.scss +9 -5
  249. package/variables/components/_button.scss +61 -113
  250. package/variables/components/_card.scss +7 -4
  251. package/variables/components/_chip.scss +13 -7
  252. package/variables/components/_close.scss +14 -8
  253. package/variables/components/_code.scss +1 -1
  254. package/variables/components/_datatable.scss +12 -8
  255. package/variables/components/_dropdowns.scss +1 -1
  256. package/variables/components/_form-check.scss +9 -46
  257. package/variables/components/_forms.scss +8 -101
  258. package/variables/components/_index.scss +0 -5
  259. package/variables/components/_modal.scss +17 -12
  260. package/variables/components/_nav.scss +3 -3
  261. package/variables/components/_navbar.scss +7 -4
  262. package/variables/components/_notification.scss +48 -37
  263. package/variables/components/_pagination.scss +14 -6
  264. package/variables/components/_spinners.scss +7 -2
  265. package/variables/components/_stepper.scss +15 -10
  266. package/variables/components/_subnavigation.scss +11 -9
  267. package/variables/components/_tables.scss +11 -6
  268. package/variables/components/_tag.scss +10 -7
  269. package/components/accordion.css +0 -1
  270. package/components/accordion.scss +0 -100
  271. package/components/alert.css +0 -1
  272. package/components/alert.scss +0 -137
  273. package/components/carousel.css +0 -1
  274. package/components/carousel.scss +0 -178
  275. package/components/elevation.css +0 -1
  276. package/components/elevation.scss +0 -8
  277. package/components/floating-label.css +0 -1
  278. package/components/floating-label.scss +0 -353
  279. package/components/form-check.css +0 -1
  280. package/components/form-check.scss +0 -297
  281. package/components/form-validation.css +0 -1
  282. package/components/form-validation.scss +0 -148
  283. package/components/forms.css +0 -1
  284. package/components/forms.scss +0 -215
  285. package/components/grid.css +0 -1
  286. package/components/grid.scss +0 -170
  287. package/components/icons.css +0 -1
  288. package/components/icons.scss +0 -60
  289. package/components/sizing.css +0 -1
  290. package/components/sizing.scss +0 -85
  291. package/components/topic-teaser.css +0 -1
  292. package/components/topic-teaser.scss +0 -196
  293. package/layouts/portal/_grid.scss +0 -85
  294. package/layouts/portal/_index.scss +0 -2
  295. package/layouts/portal/_subnavigation.scss +0 -5
  296. package/layouts/portal/_variables.scss +0 -8
  297. package/mixins/_accordion.scss +0 -16
  298. package/mixins/_elevation.scss +0 -6
  299. package/mixins/_focus.scss +0 -9
  300. package/mixins/_form-validation.scss +0 -5
  301. package/mixins/_size.scss +0 -65
  302. package/placeholders/_modes.scss +0 -10
  303. package/themes/bootstrap/_carousel.scss +0 -2
  304. package/themes/bootstrap/_containers.scss +0 -2
  305. package/themes/bootstrap/_grid.scss +0 -2
  306. package/themes/bootstrap/_overrides-mixins.scss +0 -33
  307. package/themes/bootstrap/forms/_floating-labels.scss +0 -2
  308. package/themes/bootstrap/forms/_form-control.scss +0 -2
  309. package/themes/bootstrap/forms/_form-select.scss +0 -2
  310. package/themes/bootstrap/forms/_form-text.scss +0 -2
  311. package/tokens/_modes.scss +0 -11
  312. package/tokens/temp/_mode.scss +0 -299
  313. package/utilities/_functions.scss +0 -35
  314. package/utilities/temp/_legacy.scss +0 -95
  315. package/variables/_options.scss +0 -5
  316. package/variables/components/_carousel.scss +0 -27
  317. package/variables/components/_figures.scss +0 -6
  318. package/variables/components/_form-select.scss +0 -13
  319. package/variables/components/_form-validation.scss +0 -38
  320. package/variables/components/_list-group.scss +0 -29
  321. package/variables/components/_topic-teaser.scss +0 -32
@@ -0,0 +1,125 @@
1
+ @use 'form-check';
2
+ @use '../variables/color';
3
+ @use '../variables/animation';
4
+ @use '../mixins/color' as color-mx;
5
+ @use '../mixins/icons' as icons-mx;
6
+ @use '../mixins/utilities' as utility-mx;
7
+ @use '../tokens/components';
8
+ @use '../functions/tokens';
9
+
10
+ tokens.$default-map: components.$post-radio-button;
11
+
12
+ :where(.form-check > input[type='radio']) {
13
+ @include utility-mx.focus-style();
14
+ }
15
+
16
+ .form-check > input[type='radio'] {
17
+ appearance: none;
18
+ flex: none;
19
+ display: inline-flex;
20
+ justify-content: center;
21
+ align-items: center;
22
+ margin-block: calc(
23
+ tokens.get('radio-button-icon-padding-block-inner') +
24
+ tokens.get('radio-button-icon-padding-block-container')
25
+ );
26
+ margin-inline: tokens.get('radio-button-icon-padding-inline-inner');
27
+ width: tokens.get('radio-button-icon-ring');
28
+ height: tokens.get('radio-button-icon-ring');
29
+ background-color: tokens.get('radio-button-enabled-bg');
30
+ border: tokens.get('radio-button-icon-border-width')
31
+ tokens.get('radio-button-icon-border-style-default') tokens.get('radio-button-enabled-stroke');
32
+ border-radius: tokens.get('radio-button-icon-border-radius-round');
33
+ color: tokens.get('radio-button-enabled-fg');
34
+ vertical-align: top;
35
+ transition:
36
+ background-color #{animation.$transition-base-timing},
37
+ border-color #{animation.$transition-base-timing},
38
+ color #{animation.$transition-base-timing},
39
+ box-shadow #{animation.$transition-base-timing};
40
+
41
+ @include utility-mx.high-contrast-mode() {
42
+ background-color: Field;
43
+ border-color: FieldText;
44
+ color: FieldText;
45
+ transition: none;
46
+ }
47
+
48
+ &:not([disabled]) {
49
+ cursor: pointer;
50
+ }
51
+
52
+ &::after {
53
+ display: block;
54
+ content: '';
55
+ width: tokens.get('radio-button-icon-dot');
56
+ height: tokens.get('radio-button-icon-dot');
57
+ border-radius: inherit;
58
+ }
59
+
60
+ &:checked {
61
+ @include utility-mx.high-contrast-mode() {
62
+ background-color: SelectedItem;
63
+
64
+ &::after {
65
+ background-color: SelectedItemText !important;
66
+ }
67
+ }
68
+
69
+ &::after {
70
+ background-color: tokens.get('radio-button-enabled-fg');
71
+
72
+ @include utility-mx.high-contrast-mode() {
73
+ background-color: FieldText;
74
+ }
75
+ }
76
+ }
77
+
78
+ &:not([disabled]):hover {
79
+ background-color: tokens.get('radio-button-hover-bg');
80
+ border-color: tokens.get('radio-button-hover-stroke');
81
+ color: tokens.get('radio-button-hover-fg');
82
+
83
+ &:checked {
84
+ &::after {
85
+ background-color: tokens.get('radio-button-hover-fg');
86
+ }
87
+ }
88
+
89
+ @include utility-mx.high-contrast-mode() {
90
+ background-color: Field;
91
+ border-color: Highlight;
92
+
93
+ &:checked {
94
+ &::after {
95
+ background-color: Highlight !important;
96
+ }
97
+ }
98
+ }
99
+ }
100
+
101
+ &[disabled] {
102
+ background-color: tokens.get('radio-button-disabled-bg');
103
+ border: tokens.get('radio-button-icon-border-width')
104
+ tokens.get('radio-button-icon-border-style-disabled')
105
+ tokens.get('radio-button-disabled-stroke');
106
+ color: tokens.get('radio-button-disabled-fg');
107
+
108
+ &:checked {
109
+ &::after {
110
+ background-color: tokens.get('radio-button-disabled-fg');
111
+ }
112
+ }
113
+
114
+ @include utility-mx.high-contrast-mode() {
115
+ background-color: Field;
116
+ border-color: GrayText;
117
+
118
+ &:checked {
119
+ &::after {
120
+ background-color: GrayText;
121
+ }
122
+ }
123
+ }
124
+ }
125
+ }
@@ -0,0 +1,3 @@
1
+ /*!
2
+ * Copyright 2021 by Swiss Post, Information Technology
3
+ */.segmented-button-container{container-name:post-segmented-container;container-type:inline-size}.segmented-button>legend{width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border:0 !important}.segmented-button>legend:not(caption){position:absolute !important}.segmented-button{display:flex;gap:var(--post-device-spacing-gap-inline-13);align-items:stretch;outline:var(--post-device-border-width-default) solid var(--post-scheme-color-interactive-primary-enabled-stroke);outline-offset:calc(var(--post-device-border-width-default)*-1);background-color:var(--post-scheme-color-interactive-primary-enabled-bg1);border-radius:var(--post-device-border-radius-round);box-shadow:var(--post-device-elevation-200)}.segmented-button label{flex:0 1 100%;display:flex;justify-content:center;align-items:center;position:relative;z-index:2;padding-inline:var(--post-device-spacing-padding-11);height:var(--post-device-sizing-interactive-button-height-2);border-radius:inherit;cursor:pointer;font-weight:var(--post-device-font-weight-bold);color:var(--post-scheme-color-interactive-primary-enabled-fg1);text-align:center;line-height:1.2;overflow-wrap:anywhere}.segmented-button label input{appearance:none !important;-webkit-user-select:none;user-select:none;pointer-events:none;position:absolute;inset:0;margin:0;padding:0;border:var(--post-device-border-width-default) solid rgba(0,0,0,0);border-radius:inherit}.segmented-button label input{outline-offset:var(--post-device-spacing-padding-2) !important;outline:var(--post-scheme-color-interactive-focus-stroke) none var(--post-device-border-width-focus) !important}.segmented-button label input:is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-style:var(--post-core-border-style-solid) !important}@media(forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.segmented-button label input:is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-color:Highlight !important}}@supports not selector(:has(:focus-visible)){.segmented-button label input:is(:focus-visible,:focus-within,.pretend-focus){outline-style:var(--post-core-border-style-solid) !important}@media(forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.segmented-button label input:is(:focus-visible,:focus-within,.pretend-focus){outline-color:Highlight !important}}}.segmented-button label:last-of-type{z-index:1}.segmented-button label:not(:last-of-type):hover{z-index:3}.segmented-button label:hover{color:var(--post-scheme-color-interactive-primary-hover-fg1)}.segmented-button label:hover input{border-color:var(--post-scheme-color-interactive-primary-hover-stroke)}@media(forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.segmented-button label:hover input{border-color:SelectedItem}}.segmented-button label:has(input:checked){color:var(--post-scheme-color-interactive-primary-selected-fg3)}.segmented-button label:has(input:checked)~:last-of-type::after,.segmented-button label:has(input:checked):last-of-type::after{display:block;content:"";position:absolute;inset:0;z-index:-1;background-color:var(--post-scheme-color-interactive-primary-selected-bg4);border:var(--post-device-border-width-default) solid var(--post-scheme-color-interactive-primary-selected-stroke1);border-radius:inherit;transition:transform .4s cubic-bezier(0.25, 1.4, 0.5, 0.9)}@media(forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.segmented-button label:has(input:checked)~:last-of-type::after,.segmented-button label:has(input:checked):last-of-type::after{background-color:SelectedItem}}.segmented-button label:has(input:checked):hover input{border-color:var(--post-scheme-color-interactive-primary-selected-stroke1)}@media(forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.segmented-button label:has(input:checked):hover input{border-color:SelectedItem}}.segmented-button label:nth-last-of-type(2):has(input:checked)~label:last-of-type::after{transform:translateX(calc(-100% - 1 * var(--post-device-spacing-gap-inline-13)))}.segmented-button label:nth-last-of-type(3):has(input:checked)~label:last-of-type::after{transform:translateX(calc(-200% - 2 * var(--post-device-spacing-gap-inline-13)))}.segmented-button label:nth-last-of-type(4):has(input:checked)~label:last-of-type::after{transform:translateX(calc(-300% - 3 * var(--post-device-spacing-gap-inline-13)))}.segmented-button label:nth-last-of-type(5):has(input:checked)~label:last-of-type::after{transform:translateX(calc(-400% - 4 * var(--post-device-spacing-gap-inline-13)))}.segmented-button label:nth-last-of-type(6):has(input:checked)~label:last-of-type::after{transform:translateX(calc(-500% - 5 * var(--post-device-spacing-gap-inline-13)))}.segmented-button label:nth-last-of-type(7):has(input:checked)~label:last-of-type::after{transform:translateX(calc(-600% - 6 * var(--post-device-spacing-gap-inline-13)))}.segmented-button label:nth-last-of-type(8):has(input:checked)~label:last-of-type::after{transform:translateX(calc(-700% - 7 * var(--post-device-spacing-gap-inline-13)))}.segmented-button label:nth-last-of-type(9):has(input:checked)~label:last-of-type::after{transform:translateX(calc(-800% - 8 * var(--post-device-spacing-gap-inline-13)))}.segmented-button label:last-child():has(input:checked)~label:hover{z-index:3}@container post-segmented-container (max-width: 600px){.segmented-button{flex-direction:column;border-radius:var(--post-device-border-radius-2)}.segmented-button label{flex:1 0 auto;border-radius:0}.segmented-button label:first-of-type{border-top-left-radius:inherit;border-top-right-radius:inherit}.segmented-button label:first-of-type:has(input:checked)~:last-of-type::after{border-top-left-radius:var(--post-device-border-radius-2);border-top-right-radius:var(--post-device-border-radius-2);border-bottom-left-radius:0;border-bottom-right-radius:0}.segmented-button label:last-of-type{border-bottom-left-radius:inherit;border-bottom-right-radius:inherit}.segmented-button label:last-of-type::after{border-radius:0}.segmented-button label:last-of-type:has(input:checked)::after{border-top-left-radius:0;border-top-right-radius:0;border-bottom-left-radius:var(--post-device-border-radius-2);border-bottom-right-radius:var(--post-device-border-radius-2)}.segmented-button label:not(:first-of-type,:last-of-type):has(input:checked)~:last-of-type::after{border-radius:0}.segmented-button label input{border-top-color:var(--post-scheme-color-interactive-primary-enabled-stroke)}.segmented-button label:not(:first-of-type) input{top:calc(var(--post-device-border-width-default)*-1)}.segmented-button label:not(:first-of-type):has(input:checked) input{top:calc(var(--post-device-border-width-default)*-0.5)}.segmented-button label:not(:last-of-type) input{bottom:calc(var(--post-device-spacing-gap-inline-13)*-1)}.segmented-button label:hover input{border-color:var(--post-scheme-color-interactive-primary-hover-stroke)}@media(forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.segmented-button label:hover input{border-color:SelectedItem}}.segmented-button label:nth-last-of-type(2):has(input:checked)~label:last-of-type::after{transform:translateY(calc(-100% - 1 * var(--post-device-spacing-gap-inline-13)))}.segmented-button label:nth-last-of-type(3):has(input:checked)~label:last-of-type::after{transform:translateY(calc(-200% - 2 * var(--post-device-spacing-gap-inline-13)))}.segmented-button label:nth-last-of-type(4):has(input:checked)~label:last-of-type::after{transform:translateY(calc(-300% - 3 * var(--post-device-spacing-gap-inline-13)))}.segmented-button label:nth-last-of-type(5):has(input:checked)~label:last-of-type::after{transform:translateY(calc(-400% - 4 * var(--post-device-spacing-gap-inline-13)))}.segmented-button label:nth-last-of-type(6):has(input:checked)~label:last-of-type::after{transform:translateY(calc(-500% - 5 * var(--post-device-spacing-gap-inline-13)))}.segmented-button label:nth-last-of-type(7):has(input:checked)~label:last-of-type::after{transform:translateY(calc(-600% - 6 * var(--post-device-spacing-gap-inline-13)))}.segmented-button label:nth-last-of-type(8):has(input:checked)~label:last-of-type::after{transform:translateY(calc(-700% - 7 * var(--post-device-spacing-gap-inline-13)))}.segmented-button label:nth-last-of-type(9):has(input:checked)~label:last-of-type::after{transform:translateY(calc(-800% - 8 * var(--post-device-spacing-gap-inline-13)))}}
@@ -0,0 +1,207 @@
1
+ @use '../functions/tokens';
2
+ @use '../tokens/components';
3
+ @use '../mixins/utilities';
4
+ @use '../core' as post;
5
+
6
+ tokens.$default-map: components.$post-segmented-button;
7
+
8
+ $post-segmented-button-max-count: 8;
9
+
10
+ .segmented-button-container {
11
+ container-name: post-segmented-container;
12
+ container-type: inline-size;
13
+ }
14
+
15
+ .segmented-button > legend {
16
+ @include post.visually-hidden();
17
+ }
18
+
19
+ .segmented-button {
20
+ display: flex;
21
+ gap: tokens.get('button-segmented-gap-inline');
22
+ align-items: stretch;
23
+ outline: tokens.get('button-segmented-border-width') solid
24
+ tokens.get('button-segmented-enabled-border');
25
+ outline-offset: calc(tokens.get('button-segmented-border-width') * -1);
26
+ background-color: tokens.get('button-segmented-enabled-bg');
27
+ border-radius: tokens.get('button-segmented-horizontal-border-radius');
28
+ box-shadow: tokens.get('button-segmented-elevation');
29
+
30
+ label {
31
+ flex: 0 1 100%;
32
+ display: flex;
33
+ justify-content: center;
34
+ align-items: center;
35
+ position: relative;
36
+ z-index: 2;
37
+ padding-inline: tokens.get('button-segmented-padding-inline');
38
+ height: tokens.get('button-segmented-elements-height');
39
+ border-radius: inherit;
40
+ cursor: pointer;
41
+ font-weight: tokens.get('button-segmented-font-weight');
42
+ color: tokens.get('button-segmented-enabled-fg');
43
+ text-align: center;
44
+ line-height: 1.2;
45
+ overflow-wrap: anywhere;
46
+
47
+ input {
48
+ appearance: none !important;
49
+ -webkit-user-select: none;
50
+ user-select: none;
51
+ pointer-events: none;
52
+ position: absolute;
53
+ inset: 0;
54
+ margin: 0;
55
+ padding: 0;
56
+ border: tokens.get('button-segmented-border-width') solid transparent;
57
+ border-radius: inherit;
58
+ @include utilities.focus-style();
59
+ }
60
+
61
+ &:last-of-type {
62
+ z-index: 1;
63
+ }
64
+
65
+ &:not(:last-of-type) {
66
+ &:hover {
67
+ z-index: 3;
68
+ }
69
+ }
70
+
71
+ &:hover {
72
+ color: tokens.get('button-segmented-hover-fg');
73
+
74
+ input {
75
+ border-color: tokens.get('button-segmented-hover-border');
76
+
77
+ @include utilities.high-contrast-mode() {
78
+ border-color: SelectedItem;
79
+ }
80
+ }
81
+ }
82
+
83
+ &:has(input:checked) {
84
+ color: tokens.get('button-segmented-selected-fg');
85
+
86
+ ~ :last-of-type,
87
+ &:last-of-type {
88
+ &::after {
89
+ display: block;
90
+ content: '';
91
+ position: absolute;
92
+ inset: 0;
93
+ z-index: -1;
94
+ background-color: tokens.get('button-segmented-selected-bg');
95
+ border: tokens.get('button-segmented-border-width') solid
96
+ tokens.get('button-segmented-selected-border');
97
+ border-radius: inherit;
98
+ transition: transform 0.4s cubic-bezier(0.25, 1.4, 0.5, 0.9);
99
+
100
+ @include utilities.high-contrast-mode() {
101
+ background-color: SelectedItem;
102
+ }
103
+ }
104
+ }
105
+
106
+ &:hover {
107
+ input {
108
+ border-color: tokens.get('button-segmented-selected-border');
109
+
110
+ @include utilities.high-contrast-mode() {
111
+ border-color: SelectedItem;
112
+ }
113
+ }
114
+ }
115
+ }
116
+
117
+ @for $i from 1 through $post-segmented-button-max-count {
118
+ &:nth-last-of-type(#{$i + 1}):has(input:checked) ~ label:last-of-type::after {
119
+ transform: translateX(calc($i * -100% - $i * tokens.get('button-segmented-gap-inline')));
120
+ }
121
+ }
122
+
123
+ &:last-child():has(input:checked) ~ label:hover {
124
+ z-index: 3;
125
+ }
126
+ }
127
+ }
128
+
129
+ @container post-segmented-container (max-width: 600px) {
130
+ .segmented-button {
131
+ flex-direction: column;
132
+ border-radius: tokens.get('button-segmented-vertical-border-radius');
133
+
134
+ label {
135
+ flex: 1 0 auto;
136
+ border-radius: 0;
137
+
138
+ &:first-of-type {
139
+ border-top-left-radius: inherit;
140
+ border-top-right-radius: inherit;
141
+
142
+ &:has(input:checked) ~ :last-of-type::after {
143
+ border-top-left-radius: tokens.get('button-segmented-vertical-border-radius');
144
+ border-top-right-radius: tokens.get('button-segmented-vertical-border-radius');
145
+ border-bottom-left-radius: 0;
146
+ border-bottom-right-radius: 0;
147
+ }
148
+ }
149
+
150
+ &:last-of-type {
151
+ border-bottom-left-radius: inherit;
152
+ border-bottom-right-radius: inherit;
153
+
154
+ &::after {
155
+ border-radius: 0;
156
+ }
157
+
158
+ &:has(input:checked)::after {
159
+ border-top-left-radius: 0;
160
+ border-top-right-radius: 0;
161
+ border-bottom-left-radius: tokens.get('button-segmented-vertical-border-radius');
162
+ border-bottom-right-radius: tokens.get('button-segmented-vertical-border-radius');
163
+ }
164
+ }
165
+
166
+ &:not(:first-of-type, :last-of-type):has(input:checked) ~ :last-of-type::after {
167
+ border-radius: 0;
168
+ }
169
+
170
+ input {
171
+ border-top-color: tokens.get('button-segmented-enabled-border');
172
+ }
173
+
174
+ &:not(:first-of-type) {
175
+ input {
176
+ top: calc(tokens.get('button-segmented-border-width') * -1);
177
+ }
178
+
179
+ &:has(input:checked) input {
180
+ top: calc(tokens.get('button-segmented-border-width') * -0.5);
181
+ }
182
+ }
183
+
184
+ &:not(:last-of-type) {
185
+ input {
186
+ bottom: calc(tokens.get('button-segmented-gap-inline') * -1);
187
+ }
188
+ }
189
+
190
+ &:hover {
191
+ input {
192
+ border-color: tokens.get('button-segmented-hover-border');
193
+
194
+ @include utilities.high-contrast-mode() {
195
+ border-color: SelectedItem;
196
+ }
197
+ }
198
+ }
199
+
200
+ @for $i from 1 through $post-segmented-button-max-count {
201
+ &:nth-last-of-type(#{$i + 1}):has(input:checked) ~ label:last-of-type::after {
202
+ transform: translateY(calc($i * -100% - $i * tokens.get('button-segmented-gap-inline')));
203
+ }
204
+ }
205
+ }
206
+ }
207
+ }
@@ -0,0 +1 @@
1
+ .skiplinks a{position:absolute;top:.5rem;left:.5rem;clip:rect(0 0 0 0);width:1px;overflow:hidden;display:flex;align-items:center;padding:.25rem;background:#fff}.skiplinks a:focus-visible{position:absolute;clip:unset;width:auto}
@@ -0,0 +1,20 @@
1
+ .skiplinks {
2
+ a {
3
+ position: absolute;
4
+ top: 0.5rem;
5
+ left: 0.5rem;
6
+ clip: rect(0 0 0 0);
7
+ width: 1px;
8
+ overflow: hidden;
9
+ display: flex;
10
+ align-items: center;
11
+ padding: 0.25rem;
12
+ background: #fff;
13
+
14
+ &:focus-visible {
15
+ position: absolute;
16
+ clip: unset;
17
+ width: auto;
18
+ }
19
+ }
20
+ }
@@ -1,5 +1,4 @@
1
1
  @use 'sass:math';
2
- @forward './../variables/options';
3
2
  @use './../variables/type';
4
3
 
5
4
  @use './../themes/bootstrap/core' as *;
@@ -1 +1 @@
1
- .stepper-container{margin-bottom:1.25rem}@media(min-width: 780px){.stepper-container{margin-bottom:2rem}}@media(min-width: 1280px){.stepper-container{margin-bottom:2.5rem}}.stepper-container>.stepper-bar{display:none}.stepper{counter-reset:step-index;margin:0;padding:0;list-style:none;display:grid;position:relative;overflow:hidden;grid-template-columns:1.25rem;grid-auto-columns:minmax(0, 1fr);padding-inline-end:1.25rem}.stepper-item{grid-row:1;position:relative}.stepper-item:not(:first-child){padding-inline-start:.5rem}.stepper-item:not(:last-child){padding-inline-end:.5rem;grid-column:span 2}.stepper-item::before,.stepper-item::after{content:"";display:block;position:absolute;inset-block-start:1.125rem;height:.25rem;background-color:#999;inset-inline:0}.stepper-item:not(:first-child,:last-child)::before{inset-inline-end:50%}.stepper-item:not(:first-child,:last-child)::after{inset-inline-start:50%}.stepper-item:not(.stepper-item[aria-current=step]~*,:first-child)::before,.stepper-item:not([aria-current=step]:not(:last-child),.stepper-item[aria-current=step]~*)::after{background-color:#fc0;z-index:1}.stepper-link{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;position:relative;z-index:2;overflow:hidden;text-decoration:none;color:var(--post-gray-60);width:-moz-fit-content;width:fit-content;line-height:1.2}.stepper-link:not([title]){-webkit-line-clamp:initial}.stepper-item:not(:first-child,:last-child)>.stepper-link{margin-inline:auto;text-align:center}.stepper-item:last-child>.stepper-link{margin-inline-start:auto;margin-inline-end:-1.25rem;text-align:end}.stepper-item[aria-current=step]>.stepper-link{color:var(--post-gray-80);font-weight:700}.stepper-link::before{counter-increment:step-index;content:counter(step-index);display:flex;align-items:center;justify-content:center;z-index:1;height:2.5rem;width:2.5rem;box-sizing:border-box;margin-block-end:.5rem;color:#000;background-color:#fc0;border:.25rem solid rgb(var(--post-bg-rgb, 255 255 255));border-radius:50%;font-weight:700;text-indent:initial;transition:color 250ms cubic-bezier(0.4, 0, 0.2, 1),background-color 250ms cubic-bezier(0.4, 0, 0.2, 1)}.stepper-item:not(:first-child,:last-child)>.stepper-link::before{margin-inline:auto}.stepper-item:last-child>.stepper-link::before{margin-inline-start:auto}.stepper-item:not([aria-current=step],.stepper-item[aria-current=step]~*)>.stepper-link::before{color:rgba(0,0,0,0)}.stepper-item[aria-current=step]~.stepper-item>.stepper-link::before{color:#fff;background-color:#666}.stepper-link::after{-webkit-mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m12.667 24.533-7.6-7.6 1.867-1.867 5.733 5.733 12.4-12.4 1.867 1.867z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m12.667 24.533-7.6-7.6 1.867-1.867 5.733 5.733 12.4-12.4 1.867 1.867z'/%3E%3C/svg%3E");background-color:currentColor;color:currentColor;forced-color-adjust:preserve-parent-color;display:block;position:absolute;top:.5rem;z-index:1;height:1.5rem;width:1.5rem;transition:color 250ms cubic-bezier(0.4, 0, 0.2, 1),background-color 250ms cubic-bezier(0.4, 0, 0.2, 1);color:#000}.stepper-item:first-child>.stepper-link::after{left:.5rem}.stepper-item:not(:first-child,:last-child)>.stepper-link::after{left:calc(50% - 0.75rem)}.stepper-item:last-child>.stepper-link::after{right:.5rem}.stepper-item:not([aria-current=step],.stepper-item[aria-current=step]~*)>.stepper-link::after{content:""}.stepper-link:is(a[href]){outline-style:none !important;outline-offset:2px !important;outline-width:2px !important;outline-color:var(--post-focus-color) !important}.stepper-link:is(a[href]):is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-style:solid !important;border-radius:4px}@media(forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.stepper-link:is(a[href]):is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-color:Highlight !important}}@supports not selector(:has(:focus-visible)){.stepper-link:is(a[href]):is(:focus-visible,:focus-within,.pretend-focus){outline-style:solid !important;border-radius:4px}@media(forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.stepper-link:is(a[href]):is(:focus-visible,:focus-within,.pretend-focus){outline-color:Highlight !important}}}.stepper-link:is(a[href]):is(:focus-visible,:has(:focus-visible),.pretend-focus){color:var(--post-gray-60)}.stepper-item[aria-current=step]>.stepper-link:is(a[href]):is(:focus-visible,:has(:focus-visible),.pretend-focus){color:var(--post-gray-80)}.stepper-link:is(a[href]):is(:focus-visible,:has(:focus-visible),.pretend-focus)::before,.stepper-item[aria-current=step]~.stepper-item>.stepper-link:is(a[href]):is(:focus-visible,:has(:focus-visible),.pretend-focus)::before{color:var(--post-contrast-color-inverted);background-color:var(--post-contrast-color)}.stepper-link:is(a[href]):is(:focus-visible,:has(:focus-visible),.pretend-focus)::after{color:var(--post-contrast-color-inverted)}@supports not selector(:has(:focus-visible)){.stepper-link:is(a[href]):is(:focus-visible,:focus-within,.pretend-focus){color:var(--post-gray-60)}.stepper-item[aria-current=step]>.stepper-link:is(a[href]):is(:focus-visible,:focus-within,.pretend-focus){color:var(--post-gray-80)}.stepper-link:is(a[href]):is(:focus-visible,:focus-within,.pretend-focus)::before,.stepper-item[aria-current=step]~.stepper-item>.stepper-link:is(a[href]):is(:focus-visible,:focus-within,.pretend-focus)::before{color:var(--post-contrast-color-inverted);background-color:var(--post-contrast-color)}.stepper-link:is(a[href]):is(:focus-visible,:focus-within,.pretend-focus)::after{color:var(--post-contrast-color-inverted)}}.stepper-link:is(a[href]):hover{color:var(--post-gray-60)}.stepper-item[aria-current=step]>.stepper-link:is(a[href]):hover{color:var(--post-gray-80)}.stepper-link:is(a[href]):hover::before,.stepper-item[aria-current=step]~.stepper-item>.stepper-link:is(a[href]):hover::before{color:var(--post-contrast-color-inverted);background-color:var(--post-contrast-color)}.stepper-link:is(a[href]):hover::after{color:var(--post-contrast-color-inverted)}@media(max-width: 599.98px){.stepper-item:first-child,.stepper-item:last-child{padding-inline:0}.stepper-item[aria-current=step]{display:contents}.stepper-item[aria-current=step]>.stepper-link{display:contents}.stepper-item[aria-current=step]::before{grid-row:-1;margin-block-start:1.125rem;position:static}.stepper-item[aria-current=step]:not(:last-child)>.stepper-link::before{grid-row:-1}.stepper-item[aria-current=step]:not(:first-child,:last-child)::after{inset-inline-start:0}.stepper-item:not([aria-current=step]){grid-row:-1;justify-self:stretch}.stepper-item:not([aria-current=step])>.stepper-link{-webkit-line-clamp:initial;line-height:0;text-indent:100%}.stepper-link{white-space:nowrap;width:100%}.stepper-item[aria-current=step]:first-child>.stepper-link::before{order:-1}.stepper-item[aria-current=step]:not(:first-child,:last-child)>.stepper-link::before{margin-inline-start:0;transform:translateX(-50%)}.stepper-item[aria-current=step]:last-child>.stepper-link::before{position:absolute;z-index:2;inset-block-start:0;inset-inline-end:0}}@media(forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.stepper-item::before,.stepper-item::after{background-color:CanvasText}.stepper-item:not(.stepper-item[aria-current=step]~.stepper-item,:first-child)::before,.stepper-item:not([aria-current=step]:not(:last-child),.stepper-item[aria-current=step]~*)::after{background-color:Highlight}.stepper-link::before{forced-color-adjust:none}.stepper-item[aria-current=step]>.stepper-link::before{background-color:Canvas;color:CanvasText}.stepper-item[aria-current=step]~.stepper-item>.stepper-link::before,.stepper-item:not([aria-current=step])>.stepper-link::before{color:Canvas;border-color:Canvas;background-color:CanvasText}.stepper-link::after{color:Canvas}.stepper-item[aria-current=step]>.stepper-link:is(a[href]):is(:focus-visible,:has(:focus-visible),.pretend-focus)::before{border-color:Highlight}@supports not selector(:has(:focus-visible)){.stepper-item[aria-current=step]>.stepper-link:is(a[href]):is(:focus-visible,:focus-within,.pretend-focus)::before{border-color:Highlight}}.stepper-item[aria-current=step]>.stepper-link:is(a[href]):hover::before{border-color:Highlight}.stepper-item[aria-current=step]~.stepper-item>.stepper-link:is(a[href])::before{color:Canvas}.stepper-item[aria-current=step]~.stepper-item>.stepper-link:is(a[href]):is(:focus-visible,:has(:focus-visible),.pretend-focus)::before{background-color:Highlight;color:HighlightText}@supports not selector(:has(:focus-visible)){.stepper-item[aria-current=step]~.stepper-item>.stepper-link:is(a[href]):is(:focus-visible,:focus-within,.pretend-focus)::before{background-color:Highlight;color:HighlightText}}.stepper-item[aria-current=step]~.stepper-item>.stepper-link:is(a[href]):hover::before{background-color:Highlight;color:HighlightText}.stepper-item:not([aria-current=step])>.stepper-link:is(a[href])::before{background-color:LinkText}.stepper-item:not([aria-current=step])>.stepper-link:is(a[href]):is(:focus-visible,:has(:focus-visible),.pretend-focus)::before{background-color:Highlight}.stepper-item:not([aria-current=step])>.stepper-link:is(a[href]):is(:focus-visible,:has(:focus-visible),.pretend-focus)::after{color:HighlightText}@supports not selector(:has(:focus-visible)){.stepper-item:not([aria-current=step])>.stepper-link:is(a[href]):is(:focus-visible,:focus-within,.pretend-focus)::before{background-color:Highlight}.stepper-item:not([aria-current=step])>.stepper-link:is(a[href]):is(:focus-visible,:focus-within,.pretend-focus)::after{color:HighlightText}}.stepper-item:not([aria-current=step])>.stepper-link:is(a[href]):hover::before{background-color:Highlight}.stepper-item:not([aria-current=step])>.stepper-link:is(a[href]):hover::after{color:HighlightText}}
1
+ .stepper-container{margin-bottom:20px}@media screen and (min-width: 780px){.stepper-container{margin-bottom:var(--post-core-dimension-32)}}@media screen and (min-width: 1280px){.stepper-container{margin-bottom:var(--post-core-dimension-40)}}.stepper-container>.stepper-bar{display:none}.stepper{margin-block:0;padding-inline-start:0;list-style:none;counter-reset:step-index;display:grid;position:relative;overflow:hidden;grid-template-columns:calc(var(--post-core-dimension-40)/2);grid-auto-columns:minmax(0, 1fr);padding-inline-end:calc(var(--post-core-dimension-40)/2)}.stepper-item{grid-row:1;position:relative;padding-inline-start:0}.stepper-item:not(:first-child){padding-inline-start:calc(var(--post-core-dimension-16)/2)}.stepper-item:not(:last-child){padding-inline-end:calc(var(--post-core-dimension-16)/2);grid-column:span 2}.stepper-item::before,.stepper-item::after{content:"";display:block;position:absolute;inset-block-start:calc((var(--post-core-dimension-40) - var(--post-core-dimension-4))/2);height:var(--post-core-dimension-4);background-color:#999;inset-inline:0}.stepper-item:not(:first-child,:last-child)::before{inset-inline-end:50%}.stepper-item:not(:first-child,:last-child)::after{inset-inline-start:50%}.stepper-item:not(.stepper-item[aria-current=step]~*,:first-child)::before,.stepper-item:not([aria-current=step]:not(:last-child),.stepper-item[aria-current=step]~*)::after{background-color:#fc0;z-index:1}.stepper-link{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;position:relative;z-index:2;overflow:hidden;text-decoration:none;color:#666;width:fit-content;line-height:var(--post-core-line-height-120);word-break:break-word}.stepper-link:not([title]){-webkit-line-clamp:initial}.stepper-item:not(:first-child,:last-child)>.stepper-link{margin-inline:auto;text-align:center}.stepper-item:last-child>.stepper-link{margin-inline-start:auto;margin-inline-end:calc(var(--post-core-dimension-40)/-2);text-align:end}.stepper-item[aria-current=step]>.stepper-link{color:#333;font-weight:var(--post-core-font-weight-700)}.stepper-link::before{counter-increment:step-index;content:counter(step-index);display:flex;align-items:center;justify-content:center;z-index:1;height:var(--post-core-dimension-40);width:var(--post-core-dimension-40);box-sizing:border-box;margin-block-end:var(--post-core-dimension-8);color:#000;background-color:#fc0;border:var(--post-core-dimension-4) solid rgb(var(--post-bg-rgb, 255 255 255));border-radius:50%;font-weight:var(--post-core-font-weight-700);text-indent:initial;transition:color 250ms cubic-bezier(0.4, 0, 0.2, 1),background-color 250ms cubic-bezier(0.4, 0, 0.2, 1)}.stepper-item:not(:first-child,:last-child)>.stepper-link::before{margin-inline:auto}.stepper-item:last-child>.stepper-link::before{margin-inline-start:auto}.stepper-item:not([aria-current=step],.stepper-item[aria-current=step]~*)>.stepper-link::before{color:rgba(0,0,0,0)}.stepper-item[aria-current=step]~.stepper-item>.stepper-link::before{color:#fff;background-color:#666}.stepper-link::after{mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m12.667 24.533-7.6-7.6 1.867-1.867 5.733 5.733 12.4-12.4 1.867 1.867z'/%3E%3C/svg%3E");background-color:currentColor;color:currentColor;forced-color-adjust:preserve-parent-color;display:block;position:absolute;top:calc((var(--post-core-dimension-40) - var(--post-core-dimension-24))/2);z-index:1;height:var(--post-core-dimension-24);width:var(--post-core-dimension-24);transition:color 250ms cubic-bezier(0.4, 0, 0.2, 1),background-color 250ms cubic-bezier(0.4, 0, 0.2, 1);color:#000}.stepper-item:first-child>.stepper-link::after{left:calc((var(--post-core-dimension-40) - var(--post-core-dimension-24))/2)}.stepper-item:not(:first-child,:last-child)>.stepper-link::after{left:calc(50% - var(--post-core-dimension-24)/2)}.stepper-item:last-child>.stepper-link::after{right:calc((var(--post-core-dimension-40) - var(--post-core-dimension-24))/2)}.stepper-item:not([aria-current=step],.stepper-item[aria-current=step]~*)>.stepper-link::after{content:""}.stepper-link:is(a[href]){outline-offset:var(--post-device-spacing-padding-2) !important;outline:var(--post-scheme-color-interactive-focus-stroke) none var(--post-device-border-width-focus) !important}.stepper-link:is(a[href]):is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-style:var(--post-core-border-style-solid) !important;border-radius:4px}@media(forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.stepper-link:is(a[href]):is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-color:Highlight !important}}@supports not selector(:has(:focus-visible)){.stepper-link:is(a[href]):is(:focus-visible,:focus-within,.pretend-focus){outline-style:var(--post-core-border-style-solid) !important;border-radius:4px}@media(forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.stepper-link:is(a[href]):is(:focus-visible,:focus-within,.pretend-focus){outline-color:Highlight !important}}}.stepper-link:is(a[href]):is(:focus-visible,:has(:focus-visible),.pretend-focus){color:#666}.stepper-item[aria-current=step]>.stepper-link:is(a[href]):is(:focus-visible,:has(:focus-visible),.pretend-focus){color:#333}.stepper-link:is(a[href]):is(:focus-visible,:has(:focus-visible),.pretend-focus)::before,.stepper-item[aria-current=step]~.stepper-item>.stepper-link:is(a[href]):is(:focus-visible,:has(:focus-visible),.pretend-focus)::before{color:#fff;background-color:#000}.stepper-link:is(a[href]):is(:focus-visible,:has(:focus-visible),.pretend-focus)::after{color:#fff}@supports not selector(:has(:focus-visible)){.stepper-link:is(a[href]):is(:focus-visible,:focus-within,.pretend-focus){color:#666}.stepper-item[aria-current=step]>.stepper-link:is(a[href]):is(:focus-visible,:focus-within,.pretend-focus){color:#333}.stepper-link:is(a[href]):is(:focus-visible,:focus-within,.pretend-focus)::before,.stepper-item[aria-current=step]~.stepper-item>.stepper-link:is(a[href]):is(:focus-visible,:focus-within,.pretend-focus)::before{color:#fff;background-color:#000}.stepper-link:is(a[href]):is(:focus-visible,:focus-within,.pretend-focus)::after{color:#fff}}.stepper-link:is(a[href]):hover{color:#666}.stepper-item[aria-current=step]>.stepper-link:is(a[href]):hover{color:#333}.stepper-link:is(a[href]):hover::before,.stepper-item[aria-current=step]~.stepper-item>.stepper-link:is(a[href]):hover::before{color:#fff;background-color:#000}.stepper-link:is(a[href]):hover::after{color:#fff}@media(max-width: 599.98px){.stepper-item:first-child,.stepper-item:last-child{padding-inline:0}.stepper-item[aria-current=step]{display:contents}.stepper-item[aria-current=step]>.stepper-link{display:contents}.stepper-item[aria-current=step]::before{grid-row:-1;margin-block-start:calc((var(--post-core-dimension-40) - var(--post-core-dimension-4))/2);position:static}.stepper-item[aria-current=step]:not(:last-child)>.stepper-link::before{grid-row:-1}.stepper-item[aria-current=step]:not(:first-child,:last-child)::after{inset-inline-start:0}.stepper-item:not([aria-current=step]){grid-row:-1;justify-self:stretch}.stepper-item:not([aria-current=step])>.stepper-link{-webkit-line-clamp:initial;line-height:0;text-indent:100%}.stepper-link{white-space:nowrap;width:100%}.stepper-item[aria-current=step]:first-child>.stepper-link::before{order:-1}.stepper-item[aria-current=step]:not(:first-child,:last-child)>.stepper-link::before{margin-inline-start:0;transform:translateX(-50%)}.stepper-item[aria-current=step]:last-child>.stepper-link::before{position:absolute;z-index:2;inset-block-start:0;inset-inline-end:0}}@media(forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.stepper-item::before,.stepper-item::after{background-color:CanvasText}.stepper-item:not(.stepper-item[aria-current=step]~.stepper-item,:first-child)::before,.stepper-item:not([aria-current=step]:not(:last-child),.stepper-item[aria-current=step]~*)::after{background-color:Highlight}.stepper-link::before{forced-color-adjust:none}.stepper-item[aria-current=step]>.stepper-link::before{background-color:Canvas;color:CanvasText}.stepper-item[aria-current=step]~.stepper-item>.stepper-link::before,.stepper-item:not([aria-current=step])>.stepper-link::before{color:Canvas;border-color:Canvas;background-color:CanvasText}.stepper-link::after{color:Canvas}.stepper-item[aria-current=step]>.stepper-link:is(a[href]):is(:focus-visible,:has(:focus-visible),.pretend-focus)::before{border-color:Highlight}@supports not selector(:has(:focus-visible)){.stepper-item[aria-current=step]>.stepper-link:is(a[href]):is(:focus-visible,:focus-within,.pretend-focus)::before{border-color:Highlight}}.stepper-item[aria-current=step]>.stepper-link:is(a[href]):hover::before{border-color:Highlight}.stepper-item[aria-current=step]~.stepper-item>.stepper-link:is(a[href])::before{color:Canvas}.stepper-item[aria-current=step]~.stepper-item>.stepper-link:is(a[href]):is(:focus-visible,:has(:focus-visible),.pretend-focus)::before{background-color:Highlight;color:HighlightText}@supports not selector(:has(:focus-visible)){.stepper-item[aria-current=step]~.stepper-item>.stepper-link:is(a[href]):is(:focus-visible,:focus-within,.pretend-focus)::before{background-color:Highlight;color:HighlightText}}.stepper-item[aria-current=step]~.stepper-item>.stepper-link:is(a[href]):hover::before{background-color:Highlight;color:HighlightText}.stepper-item:not([aria-current=step])>.stepper-link:is(a[href])::before{background-color:LinkText}.stepper-item:not([aria-current=step])>.stepper-link:is(a[href]):is(:focus-visible,:has(:focus-visible),.pretend-focus)::before{background-color:Highlight}.stepper-item:not([aria-current=step])>.stepper-link:is(a[href]):is(:focus-visible,:has(:focus-visible),.pretend-focus)::after{color:HighlightText}@supports not selector(:has(:focus-visible)){.stepper-item:not([aria-current=step])>.stepper-link:is(a[href]):is(:focus-visible,:focus-within,.pretend-focus)::before{background-color:Highlight}.stepper-item:not([aria-current=step])>.stepper-link:is(a[href]):is(:focus-visible,:focus-within,.pretend-focus)::after{color:HighlightText}}.stepper-item:not([aria-current=step])>.stepper-link:is(a[href]):hover::before{background-color:Highlight}.stepper-item:not([aria-current=step])>.stepper-link:is(a[href]):hover::after{color:HighlightText}}
@@ -1,18 +1,29 @@
1
- @use 'sass:math';
2
-
3
1
  @use './../mixins/icons' as icons-mx;
4
- @use './../mixins/size' as size-mx;
5
- @use './../mixins/utilities';
2
+ @use './../mixins/utilities' as utilities-mx;
6
3
 
7
4
  @use './../variables/color';
8
5
  @use './../variables/commons';
9
6
  @use './../variables/components/stepper';
10
7
 
11
8
  @use './../themes/bootstrap/core' as *;
9
+ @use './../mixins/media';
10
+
11
+ @use './../functions/tokens';
12
+ @use './../tokens/utilities';
13
+
14
+ tokens.$default-map: utilities.$post-spacing;
12
15
 
13
16
  // for backward compatibility
14
17
  .stepper-container {
15
- @include size-mx.responsive-size('big', 'margin-bottom');
18
+ margin-bottom: 20px;
19
+
20
+ @include media.min(md) {
21
+ margin-bottom: tokens.get('utility-margin-32');
22
+ }
23
+
24
+ @include media.min(xl) {
25
+ margin-bottom: tokens.get('utility-margin-40');
26
+ }
16
27
 
17
28
  > .stepper-bar {
18
29
  display: none;
@@ -20,34 +31,35 @@
20
31
  }
21
32
 
22
33
  .stepper {
34
+ @include utilities-mx.reset-list;
23
35
  // start a counter for the step numbers
24
36
  counter-reset: step-index;
25
37
 
26
- @include utilities.reset-list;
27
38
  display: grid;
28
39
  position: relative;
29
40
  overflow: hidden;
30
41
 
31
42
  // the first column is half a step wide to make sure the separators are the same size even on small screens
32
- grid-template-columns: math.div(stepper.$stepper-indicator-size, 2);
43
+ grid-template-columns: calc(stepper.$stepper-indicator-size / 2);
33
44
 
34
45
  // all other columns are 1 fraction of the available space ase we don't know the number of steps
35
46
  grid-auto-columns: minmax(0, 1fr);
36
47
 
37
48
  // we use a padding and negative margin on the last step for the same reason we need the first column
38
- padding-inline-end: math.div(stepper.$stepper-indicator-size, 2);
49
+ padding-inline-end: calc(stepper.$stepper-indicator-size / 2);
39
50
  }
40
51
 
41
52
  .stepper-item {
42
53
  grid-row: 1;
43
54
  position: relative;
55
+ padding-inline-start: 0;
44
56
 
45
57
  &:not(:first-child) {
46
- padding-inline-start: math.div(stepper.$stepper-link-spacing, 2);
58
+ padding-inline-start: calc(stepper.$stepper-link-spacing / 2);
47
59
  }
48
60
 
49
61
  &:not(:last-child) {
50
- padding-inline-end: math.div(stepper.$stepper-link-spacing, 2);
62
+ padding-inline-end: calc(stepper.$stepper-link-spacing / 2);
51
63
  grid-column: span 2;
52
64
  }
53
65
 
@@ -57,7 +69,7 @@
57
69
  content: '';
58
70
  display: block;
59
71
  position: absolute;
60
- inset-block-start: math.div((stepper.$stepper-indicator-size - stepper.$stepper-bar-height), 2);
72
+ inset-block-start: calc((stepper.$stepper-indicator-size - stepper.$stepper-bar-height) / 2);
61
73
  height: stepper.$stepper-bar-height;
62
74
  background-color: stepper.$stepper-bar-color;
63
75
  inset-inline: 0;
@@ -93,9 +105,9 @@
93
105
  overflow: hidden;
94
106
  text-decoration: none;
95
107
  color: stepper.$stepper-link-color;
96
- width: -moz-fit-content;
97
108
  width: fit-content;
98
109
  line-height: stepper.$stepper-link-line-height;
110
+ word-break: break-word;
99
111
 
100
112
  // not adding ellipsis if the like doesn't have a title for accessibility reasons
101
113
  &:not([title]) {
@@ -109,7 +121,9 @@
109
121
 
110
122
  .stepper-item:last-child > & {
111
123
  margin-inline-start: auto;
112
- margin-inline-end: -1 * math.div(stepper.$stepper-indicator-size, 2); // negative margin matching the container padding
124
+ margin-inline-end: calc(
125
+ stepper.$stepper-indicator-size / -2
126
+ ); // negative margin matching the container padding
113
127
  text-align: end;
114
128
  }
115
129
 
@@ -162,7 +176,7 @@
162
176
  @include icons-mx.icon(2105);
163
177
  display: block;
164
178
  position: absolute;
165
- top: math.div((stepper.$stepper-indicator-size - stepper.$stepper-indicator-check-icon-size), 2);
179
+ top: calc((stepper.$stepper-indicator-size - stepper.$stepper-indicator-check-icon-size) / 2);
166
180
  z-index: 1;
167
181
  height: stepper.$stepper-indicator-check-icon-size;
168
182
  width: stepper.$stepper-indicator-check-icon-size;
@@ -170,21 +184,17 @@
170
184
  color: stepper.$stepper-indicator-color;
171
185
 
172
186
  .stepper-item:first-child > & {
173
- left: math.div(
174
- (stepper.$stepper-indicator-size - stepper.$stepper-indicator-check-icon-size),
175
- 2
187
+ left: calc(
188
+ (#{stepper.$stepper-indicator-size} - stepper.$stepper-indicator-check-icon-size) / 2
176
189
  );
177
190
  }
178
191
 
179
192
  .stepper-item:not(:first-child, :last-child) > & {
180
- left: calc(50% - #{math.div(stepper.$stepper-indicator-check-icon-size, 2)});
193
+ left: calc(50% - (stepper.$stepper-indicator-check-icon-size / 2));
181
194
  }
182
195
 
183
196
  .stepper-item:last-child > & {
184
- right: math.div(
185
- (stepper.$stepper-indicator-size - stepper.$stepper-indicator-check-icon-size),
186
- 2
187
- );
197
+ right: calc((stepper.$stepper-indicator-size - stepper.$stepper-indicator-check-icon-size) / 2);
188
198
  }
189
199
 
190
200
  // show only for completed steps
@@ -195,11 +205,11 @@
195
205
 
196
206
  // hover/focus state
197
207
  .stepper-link:is(a[href]) {
198
- @include utilities.focus-style {
208
+ @include utilities-mx.focus-style {
199
209
  border-radius: commons.$border-radius;
200
210
  }
201
211
 
202
- @include utilities.focus-hover-style-custom() {
212
+ @include utilities-mx.focus-hover-style-custom() {
203
213
  color: stepper.$stepper-link-color;
204
214
 
205
215
  .stepper-item[aria-current='step'] > & {
@@ -221,7 +231,7 @@
221
231
  }
222
232
 
223
233
  // smaller screens
224
- @include media-breakpoint-down(rg) {
234
+ @include media-breakpoint-down(sm) {
225
235
  .stepper-item:first-child,
226
236
  .stepper-item:last-child {
227
237
  padding-inline: 0;
@@ -238,10 +248,7 @@
238
248
  // progress bar
239
249
  &::before {
240
250
  grid-row: -1;
241
- margin-block-start: math.div(
242
- (stepper.$stepper-indicator-size - stepper.$stepper-bar-height),
243
- 2
244
- );
251
+ margin-block-start: calc((stepper.$stepper-indicator-size - stepper.$stepper-bar-height) / 2);
245
252
  position: static;
246
253
  }
247
254
 
@@ -291,7 +298,7 @@
291
298
  }
292
299
  }
293
300
 
294
- @include utilities.high-contrast-mode {
301
+ @include utilities-mx.high-contrast-mode {
295
302
  .stepper-item {
296
303
  &::before,
297
304
  &::after {
@@ -332,7 +339,7 @@
332
339
 
333
340
  .stepper-link:is(a[href]) {
334
341
  .stepper-item[aria-current='step'] > & {
335
- @include utilities.focus-hover-style-custom() {
342
+ @include utilities-mx.focus-hover-style-custom() {
336
343
  &::before {
337
344
  border-color: Highlight;
338
345
  }
@@ -344,7 +351,7 @@
344
351
  color: Canvas;
345
352
  }
346
353
 
347
- @include utilities.focus-hover-style-custom() {
354
+ @include utilities-mx.focus-hover-style-custom() {
348
355
  &::before {
349
356
  background-color: Highlight;
350
357
  color: HighlightText;
@@ -357,7 +364,7 @@
357
364
  background-color: LinkText;
358
365
  }
359
366
 
360
- @include utilities.focus-hover-style-custom() {
367
+ @include utilities-mx.focus-hover-style-custom() {
361
368
  &::before {
362
369
  background-color: Highlight;
363
370
  }
@@ -1 +1 @@
1
- .subnavigation-link{font-size:.9375rem}@media(min-width: 600px){.subnavigation-link{font-size:1rem}}@media(min-width: 1024px){.subnavigation-link{font-size:1.0625rem}}.subnavigation{position:relative;background-color:#fff}.subnavigation::after{content:"";display:block;position:absolute;right:0;bottom:0;left:0;height:1px;background-color:#e6e6e6;pointer-events:none;z-index:1}.subnavigation-alternate{background-color:#faf9f8}.subnavigation-list{display:flex;width:calc(100% + 2rem);margin:0 -1rem;padding:0 1rem;overflow-x:auto;list-style:none}.subnavigation-item{min-height:3.5rem}@media(min-width: 1024px){.subnavigation-item{min-height:4rem}}@media(min-width: 1280px){.subnavigation-item{min-height:4.5rem}}.subnavigation-link{display:flex;position:relative;align-items:center;justify-content:space-between;width:100%;height:100%;gap:.5rem;padding:1rem .75rem;color:rgba(var(--post-contrast-color-rgb), 0.6);text-decoration:none;white-space:nowrap;transition:color 250ms cubic-bezier(0.4, 0, 0.2, 1)}@media(prefers-reduced-motion: reduce){.subnavigation-link{transition:none}}@media(min-width: 1024px){.subnavigation-link{padding:1.25rem 1rem}}@media(forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.subnavigation-link:hover,.subnavigation-link:focus-visible{outline:2px solid Highlight;outline-offset:-0.25rem}}.subnavigation-link:hover,.subnavigation-link:focus{color:var(--post-contrast-color);text-decoration:none}.subnavigation-link:hover:not(.active)::after,.subnavigation-link:focus:not(.active)::after{right:0;left:0;opacity:1}.subnavigation-link:not(.active)::after{content:"";display:block;position:absolute;right:0;bottom:0;left:0;height:0.25rem;background-color:rgba(var(--post-contrast-color-rgb), 0.4);pointer-events:none;z-index:2;right:1rem;left:1rem;opacity:0;transition:opacity 250ms cubic-bezier(0.4, 0, 0.2, 1),left 250ms cubic-bezier(0, 0, 0.2, 1),right 250ms cubic-bezier(0, 0, 0.2, 1)}@media(prefers-reduced-motion: reduce){.subnavigation-link:not(.active)::after{transition:none}}@media(min-width: 1024px){.subnavigation-link:not(.active)::after{right:2rem;left:2rem}}.subnavigation-link.active{color:var(--post-contrast-color);font-weight:700}.subnavigation-link.active::after{content:"";display:block;position:absolute;right:0;bottom:0;left:0;height:0.25rem;background-color:#fc0;pointer-events:none;z-index:2}@media(forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.subnavigation::after{background-color:CanvasText}.subnavigation-link:not(.active)::after{display:none}.subnavigation-link.active{color:highlight !important;text-decoration:underline}.subnavigation-link.active::after{display:block;background-color:Highlight}}
1
+ .subnavigation-link{font-size:.9375rem;font-size:1rem}@media(min-width: 1024px){.subnavigation-link{font-size:1.0625rem}}.subnavigation{position:relative;background-color:#fff}.subnavigation::after{content:"";display:block;position:absolute;right:0;bottom:0;left:0;height:1px;background-color:#e6e6e6;pointer-events:none;z-index:1}.subnavigation-alternate{background-color:#faf9f8}.subnavigation-list{display:flex;width:calc(100% + 2rem);margin:0 -1rem;padding:0 1rem;overflow-x:auto;list-style:none}.subnavigation-item{min-height:3.5rem}@media(min-width: 1024px){.subnavigation-item{min-height:4rem}}@media(min-width: 1280px){.subnavigation-item{min-height:4.5rem}}.subnavigation-link{display:flex;position:relative;align-items:center;justify-content:space-between;width:100%;height:100%;gap:var(--post-core-dimension-8);padding:var(--post-core-dimension-16) var(--post-core-dimension-12);color:rgba(0,0,0,.6);text-decoration:none;white-space:nowrap;transition:color 250ms cubic-bezier(0.4, 0, 0.2, 1)}@media(prefers-reduced-motion: reduce){.subnavigation-link{transition:none}}@media(min-width: 1024px){.subnavigation-link{padding:1.25rem var(--post-core-dimension-16)}}@media(forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.subnavigation-link:hover,.subnavigation-link:focus-visible{outline:var(--post-core-dimension-2) solid Highlight;outline-offset:calc(var(--post-core-dimension-4)*-1)}}.subnavigation-link:hover,.subnavigation-link:focus{color:#000;text-decoration:none}.subnavigation-link:hover:not(.active)::after,.subnavigation-link:focus:not(.active)::after{right:0;left:0;opacity:1}.subnavigation-link:not(.active)::after{content:"";display:block;position:absolute;right:0;bottom:0;left:0;height:var(--post-core-dimension-4);background-color:rgba(0, 0, 0, 0.4);pointer-events:none;z-index:2;right:var(--post-core-dimension-16);left:var(--post-core-dimension-16);opacity:0;transition:opacity 250ms cubic-bezier(0.4, 0, 0.2, 1),left 250ms cubic-bezier(0, 0, 0.2, 1),right 250ms cubic-bezier(0, 0, 0.2, 1)}@media(prefers-reduced-motion: reduce){.subnavigation-link:not(.active)::after{transition:none}}@media(min-width: 1024px){.subnavigation-link:not(.active)::after{right:var(--post-core-dimension-32);left:var(--post-core-dimension-32)}}.subnavigation-link.active{color:#000;font-weight:var(--post-core-font-weight-700)}.subnavigation-link.active::after{content:"";display:block;position:absolute;right:0;bottom:0;left:0;height:var(--post-core-dimension-4);background-color:#fc0;pointer-events:none;z-index:2}@media(forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.subnavigation::after{background-color:CanvasText}.subnavigation-link:not(.active)::after{display:none}.subnavigation-link.active{color:highlight !important;text-decoration:underline}.subnavigation-link.active::after{display:block;background-color:Highlight}}