@stackoverflow/stacks 3.0.0-beta.0 → 3.0.0-beta.11

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 (47) hide show
  1. package/dist/css/stacks.css +1579 -1510
  2. package/dist/css/stacks.min.css +1 -1
  3. package/dist/js/stacks.js +0 -14
  4. package/dist/js/stacks.min.js +1 -1
  5. package/lib/atomic/border.less +2 -20
  6. package/lib/atomic/misc.less +1 -1
  7. package/lib/atomic/typography.less +13 -26
  8. package/lib/base/body.less +2 -7
  9. package/lib/components/activity-indicator/activity-indicator.less +17 -29
  10. package/lib/components/anchor/anchor.less +1 -1
  11. package/lib/components/avatar/avatar.less +9 -11
  12. package/lib/components/badge/badge.less +156 -177
  13. package/lib/components/bling/bling.less +130 -0
  14. package/lib/components/block-link/block-link.less +1 -1
  15. package/lib/components/button/button.less +222 -374
  16. package/lib/components/button-group/button-group.less +1 -1
  17. package/lib/components/card/card.less +1 -1
  18. package/lib/components/checkbox_radio/checkbox_radio.less +13 -11
  19. package/lib/components/input-icon/input-icon.less +3 -3
  20. package/lib/components/input_textarea/input_textarea.less +70 -58
  21. package/lib/components/link/link.less +1 -1
  22. package/lib/components/link-preview/link-preview.less +6 -6
  23. package/lib/components/menu/menu.less +100 -21
  24. package/lib/components/modal/modal.less +11 -11
  25. package/lib/components/navigation/navigation.less +61 -37
  26. package/lib/components/notice/notice.less +1 -1
  27. package/lib/components/pagination/pagination.less +44 -43
  28. package/lib/components/popover/popover.less +3 -103
  29. package/lib/components/popover/popover.ts +0 -6
  30. package/lib/components/popover/tooltip.ts +0 -12
  31. package/lib/components/post-summary/post-summary.less +4 -3
  32. package/lib/components/progress-bar/progress-bar.less +13 -12
  33. package/lib/components/prose/prose.less +2 -2
  34. package/lib/components/select/select.less +26 -37
  35. package/lib/components/skeleton/skeleton.less +1 -1
  36. package/lib/components/tag/tag.less +59 -70
  37. package/lib/components/toggle-switch/toggle-switch.less +4 -2
  38. package/lib/components/topbar/topbar.less +3 -3
  39. package/lib/components/uploader/uploader.less +3 -3
  40. package/lib/exports/color-mixins.less +13 -3
  41. package/lib/exports/color-sets.less +256 -216
  42. package/lib/exports/constants-helpers.less +5 -3
  43. package/lib/exports/constants-type.less +25 -25
  44. package/lib/exports/mixins.less +2 -2
  45. package/lib/stacks-static.less +1 -1
  46. package/package.json +1 -1
  47. package/lib/components/award-bling/award-bling.less +0 -31
@@ -23,7 +23,7 @@
23
23
  // --_bu-py values set below to ensure btn-group height matches same-sized button height
24
24
  // See https://github.com/StackEng/StackOverflow/pull/18992#pullrequestreview-1947490680
25
25
  .s-btn {
26
- --_bu-br: var(--br-sm);
26
+ --_bu-br: var(--br-md);
27
27
  --_bu-bc-hover: transparent;
28
28
  --_bu-px: calc(var(--su12) - var(--su1)); // 11px
29
29
  --_bu-py: calc(var(--su6) + 0.65px); // 6.65px
@@ -32,6 +32,6 @@
32
32
  border: var(--su-static1) solid var(--_ca-bc);
33
33
 
34
34
  background-color: var(--white);
35
- border-radius: var(--br-sm);
35
+ border-radius: var(--br-md);
36
36
  padding: var(--su12);
37
37
  }
@@ -48,21 +48,23 @@
48
48
  // Less variables for check svg fill color
49
49
  @ch-bg-image-fill: .set-white()[default];
50
50
  @ch-bg-image-fill-dark: .set-white-dark()[default];
51
+ @ch-bg-image-fill-esc: escape("@{ch-bg-image-fill}"); // color escaped for URL usage
52
+ @ch-bg-image-fill-dark-esc: escape("@{ch-bg-image-fill-dark}"); // color escaped for URL usage
51
53
 
52
54
  // CONTEXTUAL STYLES
53
55
  .dark-mode({
54
56
  &:checked {
55
- --_ch-bg-image: url("data:image/svg+xml;,%3Csvg width='11' height='11' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10 3.41L8.59 2 4 6.59 2.41 5 1 6.41l3 3z' fill='@{ch-bg-image-fill-dark}'/%3E%3C/svg%3E");
57
+ --_ch-bg-image: url("data:image/svg+xml;,%3Csvg width='11' height='11' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10 3.41L8.59 2 4 6.59 2.41 5 1 6.41l3 3z' fill='@{ch-bg-image-fill-dark-esc}'/%3E%3C/svg%3E");
56
58
  }
57
59
  &:indeterminate {
58
- --_ch-bg-image: url("data:image/svg+xml;,%3Csvg width='11' height='11' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2 4.5 h7 v2 h-7 z' fill='@{ch-bg-image-fill-dark}'/%3E%3C/svg%3E");
60
+ --_ch-bg-image: url("data:image/svg+xml;,%3Csvg width='11' height='11' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2 4.5 h7 v2 h-7 z' fill='@{ch-bg-image-fill-dark-esc}'/%3E%3C/svg%3E");
59
61
  }
60
62
  });
61
63
 
62
64
  .highcontrast-dark-mode({
63
65
  &:checked, &:indeterminate {
64
- --_ch-bc: var(--blue-500) !important;
65
- --_ch-bg: var(--blue-400);
66
+ --_ch-bc: var(--black) !important;
67
+ --_ch-bg: var(--black);
66
68
  }
67
69
  });
68
70
 
@@ -75,16 +77,16 @@
75
77
 
76
78
  // STATES
77
79
  &:checked, &:indeterminate {
78
- --_ch-bc: var(--theme-secondary-400) !important;
79
- --_ch-bg: var(--theme-secondary-400);
80
+ --_ch-bc: var(--theme-secondary) !important;
81
+ --_ch-bg: var(--theme-secondary);
80
82
  }
81
83
 
82
84
  &:checked {
83
- --_ch-bg-image: url("data:image/svg+xml;,%3Csvg width='11' height='11' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10 3.41L8.59 2 4 6.59 2.41 5 1 6.41l3 3z' fill='@{ch-bg-image-fill}'/%3E%3C/svg%3E");
85
+ --_ch-bg-image: url("data:image/svg+xml;,%3Csvg width='11' height='11' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10 3.41L8.59 2 4 6.59 2.41 5 1 6.41l3 3z' fill='@{ch-bg-image-fill-esc}'/%3E%3C/svg%3E");
84
86
  }
85
87
 
86
88
  &:indeterminate {
87
- --_ch-bg-image: url("data:image/svg+xml;,%3Csvg width='11' height='11' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2 4.5 h7 v2 h-7 z' fill='@{ch-bg-image-fill}'/%3E%3C/svg%3E");
89
+ --_ch-bg-image: url("data:image/svg+xml;,%3Csvg width='11' height='11' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2 4.5 h7 v2 h-7 z' fill='@{ch-bg-image-fill-esc}'/%3E%3C/svg%3E");
88
90
  }
89
91
 
90
92
  background-image: var(--_ch-bg-image);
@@ -92,7 +94,7 @@
92
94
  background-position: center center;
93
95
  background-repeat: no-repeat;
94
96
  background-size: contain;
95
- border-radius: var(--br-sm);
97
+ border-radius: var(--br-md);
96
98
  }
97
99
 
98
100
  .s-radio {
@@ -100,7 +102,7 @@
100
102
  // CONTEXTUAL STYLES
101
103
  .highcontrast-dark-mode({
102
104
  &:checked {
103
- --_ch-bc: var(--blue-400);
105
+ --_ch-bc: var(--black);
104
106
  outline: var(--su-static1) solid var(--black);
105
107
  }
106
108
  });
@@ -108,7 +110,7 @@
108
110
  // STATES
109
111
  &:checked {
110
112
  --_ch-baw: 0.30769231em;
111
- --_ch-bc: var(--theme-secondary-400);
113
+ --_ch-bc: var(--theme-secondary);
112
114
  --_ch-bg: var(--white);
113
115
  }
114
116
 
@@ -1,6 +1,6 @@
1
1
  .s-input-icon {
2
2
  --_ii-fc: unset;
3
- --_ii-r: 0.7em;
3
+ --_ii-r: calc((var(--su-static8) + var(--su-static2))); // 10px
4
4
 
5
5
  // MODIFIERS
6
6
  .has-error & {
@@ -32,13 +32,13 @@
32
32
  --_ii-r: auto;
33
33
 
34
34
  color: var(--black-400);
35
- left: 0.7em;
35
+ left: calc((var(--su-static8) + var(--su-static2))); // 10px
36
36
  }
37
37
 
38
38
  color: var(--_ii-fc);
39
39
  right: var(--_ii-r);
40
40
 
41
- margin-top: calc((var(--su-static8) + var(--su-static1)) * -1); // -9px - Half the icon's height at 18px for centering;
41
+ margin-top: calc((var(--su-static8) + var(--su-static2)) * -1); // -10px - Half the icon's height at 20px for centering
42
42
  pointer-events: none;
43
43
  position: absolute;
44
44
  top: 50%;
@@ -1,27 +1,23 @@
1
1
  .s-input,
2
- .s-textarea {
3
- --_in-bc: var(--bc-darker);
2
+ .s-textarea,
3
+ //The :has selector here allows us to use these vars for sibling icons in textarea components (See .s-textarea -> ~ .s-input-icon)
4
+ :has(> .s-textarea) {
5
+ --_in-bc: var(--black-300);
4
6
  --_in-bg: var(--white);
5
7
  --_in-br: var(--br-md);
8
+ --_in-bw: var(--su-static1);
6
9
  --_in-c: unset;
7
- --_in-fc: var(--fc-dark);
10
+ --_in-fc: var(--black-600);
8
11
  --_in-fs: var(--fs-body1);
9
- --_in-o: unset;
10
- --_in-px: 0.7em;
11
- --_in-py: 0.6em;
12
+ --_in-lh: var(--lh-base);
13
+ --_in-px: calc(var(--su12) - var(--su1)); // 11px
14
+ --_in-py: var(--su8);
12
15
  --_in-placeholder-fc: var(--black-300);
16
+ }
13
17
 
18
+ .s-input,
19
+ .s-textarea {
14
20
  // CONTEXTUAL STYLES
15
- @supports (-webkit-overflow-scrolling: touch) {
16
- --_in-fs: var(--su-static16); // 16px — Increase font size for mobile safari. This keeps our inputs from zooming the page while focused.
17
- --_in-px: 0.55em;
18
- --_in-py: 0.36em;
19
-
20
- &::-webkit-input-placeholder {
21
- line-height: normal !important;
22
- }
23
- }
24
-
25
21
  .highcontrast-mode({
26
22
  --_in-bc: var(--black);
27
23
  --_in-placeholder-fc: var(--black-400);
@@ -31,17 +27,16 @@
31
27
  fieldset[disabled] &,
32
28
  &[disabled] {
33
29
  --_in-c: not-allowed;
34
- --_in-o: var(--_o-disabled-static);
35
30
  }
36
31
 
37
32
  &[readonly],
38
33
  .is-readonly & {
39
34
  .highcontrast-mode({
40
- --_in-fc: var(--fc-medium);
35
+ --_in-fc: var(--black-500);
41
36
  });
42
37
 
43
38
  --_in-bg: var(--black-150);
44
- --_in-bc: var(--bc-light);
39
+ --_in-bc: var(--black-200);
45
40
  --_in-c: default;
46
41
  --_in-fc: var(--black-400);
47
42
  }
@@ -55,45 +50,27 @@
55
50
 
56
51
  // Sizes
57
52
  &&__sm {
58
- .size-styles(sm; in; @styles: fs);
59
- }
60
-
61
- &&__md {
62
- @supports (-webkit-overflow-scrolling: touch) {
63
- --_in-fs: calc(var(--su-static16) + var(--su-static1)); // 17px
64
- --_in-py: 0.4em;
65
- }
66
-
67
- .size-styles(md; in; @styles: br, fs);
53
+ --_in-fs: var(--fs-caption);
54
+ --_in-lh: var(--lh-sm);
55
+ --_in-px: calc(var(--su12) - var(--su2)); // 10px
56
+ --_in-py: calc(var(--su4) + var(--su1)); // 5px
68
57
  }
69
58
 
70
59
  &&__lg {
71
- .size-styles(lg; in; @styles: br, fs);
72
- --_in-px: 0.6em;
73
- --_in-py: 0.45em;
74
- }
75
-
76
- &&__xl {
77
- .size-styles(xl; in; @styles: br, fs);
78
- --_in-px: 0.5em;
79
- --_in-py: 0.4em;
60
+ --_in-fs: var(--fs-body3);
61
+ --_in-lh: var(--lh-lg);
62
+ --_in-px: calc(var(--su12) + var(--su1)); // 13px
80
63
  }
81
-
64
+
82
65
  // CHILD ELEMENTS
83
- .webkit-autofill();
84
-
85
- &::placeholder,
86
- &::-webkit-input-placeholder {
87
- color: var(--_in-placeholder-fc);
88
- }
89
-
90
66
  &::placeholder {
67
+ color: var(--_in-placeholder-fc);
91
68
  opacity: 1;
92
69
  }
93
70
 
94
71
  &&__creditcard,
95
72
  &&__search {
96
- --_in-pl: var(--su-static32);
73
+ --_in-pl: calc(var(--su-static32) + var(--su-static4)); // 36px
97
74
  }
98
75
 
99
76
  // INTERACTION
@@ -105,27 +82,48 @@
105
82
 
106
83
  @scrollbar-styles();
107
84
  background-color: var(--_in-bg);
108
- border: var(--su-static1) solid var(--_in-bc);
109
- border-radius: var(--_in-br);
85
+ border: var(--_in-bw) solid var(--_in-bc);
110
86
  color: var(--_in-fc);
111
87
  cursor: var(--_in-c);
112
88
  font-size: var(--_in-fs);
113
- opacity: var(--_in-o);
89
+ line-height: var(--_in-lh);
114
90
  padding: var(--_in-py) var(--_in-px) var(--_in-py) var(--_in-pl, var(--_in-px));
115
-
116
- -webkit-appearance: none; // Removes shadows we don't want in mobile Safari
91
+
92
+ border-radius: var(--br-md);
117
93
  font-family: inherit;
118
94
  margin: 0; // A guard against Core's default margins
119
95
  width: 100%;
120
96
  }
121
97
 
98
+ //Nested inputs (E.g. Tag selection control) need a flex layout.
99
+ .s-input:has(> input.s-input) {
100
+ display: flex;
101
+ align-items: center;
102
+ input.s-input {
103
+ flex: 1 1 0;
104
+ }
105
+ }
106
+
122
107
  .s-input {
123
108
  .input-states({
124
109
  padding-right: var(--su32);
125
110
  });
126
111
 
127
- &&__md {
128
- --_in-py: 0.5em;
112
+ // Nested Inputs
113
+ & & {
114
+ --_in-bg: transparent;
115
+ --_in-bw: 0;
116
+ --_in-px: 0;
117
+
118
+ box-shadow: none;
119
+ margin: calc(var(--_in-py) * -1) 0;
120
+ }
121
+
122
+ &:has(&) {
123
+ --_in-px: var(--_in-py);
124
+
125
+ flex-wrap: wrap;
126
+ gap: var(--su8);
129
127
  }
130
128
  }
131
129
 
@@ -134,12 +132,26 @@
134
132
  padding-right: var(--su48);
135
133
  });
136
134
 
137
- &&__md {
138
- --_in-py: 0.72em;
135
+ --_in-py: var(--su8);
136
+ --_te-hmn: calc(var(--su32) + var(--su4)); // 36px
137
+ --_te-h: calc(var(--su64) + var(--su6)); // 70px
138
+
139
+ &&__sm {
140
+ --_te-hmn: calc(var(--su32) - var(--su4)); // 28px
141
+ --_te-h: calc(var(--su48) + var(--su6)); // 54px
139
142
  }
140
143
 
144
+ &&__lg {
145
+ --_te-hmn: calc(var(--su48) - var(--su4)); // 44px
146
+ --_te-h: calc(var(--su64) + var(--su32)); // 96px
147
+ }
148
+
149
+ min-height: var(--_te-hmn);
150
+ height: var(--_te-h); //set initial height
151
+
141
152
  ~ .s-input-icon {
142
- right: 1.5em;
143
- top: 1.5em;
153
+ right: var(--_in-px);
154
+ top: var(--_in-py);
155
+ margin-top: 0;
144
156
  }
145
157
  }
@@ -26,7 +26,7 @@ a {
26
26
 
27
27
  a,
28
28
  .s-link {
29
- --_li-fc: var(--theme-link-color, var(--theme-secondary-400));
29
+ --_li-fc: var(--theme-link-color, var(--theme-secondary));
30
30
  --_li-fc-hover: var(--theme-link-color-hover, var(--theme-secondary-500));
31
31
  --_li-fc-visited: var(--theme-link-color-visited, var(--purple-500));
32
32
  --_li-fc-hover-visited: var(--theme-link-color-visited, var(--purple-600));
@@ -66,8 +66,8 @@
66
66
  background: var(--_lp-footer-bg);
67
67
  flex-direction: var(--_lp-footer-fd);
68
68
 
69
- border-bottom-left-radius: var(--br-sm);
70
- border-bottom-right-radius: var(--br-sm);
69
+ border-bottom-left-radius: var(--br-md);
70
+ border-bottom-right-radius: var(--br-md);
71
71
  border-top: var(--su-static1) solid var(--bc-medium);
72
72
  display: flex;
73
73
  font-size: var(--fs-caption);
@@ -78,8 +78,8 @@
78
78
  & &--header {
79
79
  background: var(--_lp-header-bg);
80
80
  border-bottom: var(--su-static1) solid var(--bc-medium);
81
- border-top-left-radius: var(--br-sm);
82
- border-top-right-radius: var(--br-sm);
81
+ border-top-left-radius: var(--br-md);
82
+ border-top-right-radius: var(--br-md);
83
83
  display: flex;
84
84
  padding: var(--su12) var(--su8);
85
85
  }
@@ -129,7 +129,7 @@
129
129
  color: var(--theme-link-color, var(--purple-500));
130
130
  }
131
131
 
132
- color: var(--theme-link-color, var(--theme-secondary-400));
132
+ color: var(--theme-link-color, var(--theme-secondary));
133
133
  cursor: pointer;
134
134
  text-decoration: none;
135
135
  }
@@ -142,7 +142,7 @@
142
142
  }
143
143
 
144
144
  border: var(--su-static1) solid var(--bc-medium);
145
- border-radius: var(--br-sm);
145
+ border-radius: var(--br-md);
146
146
  box-shadow: var(--bs-sm);
147
147
  text-align: left;
148
148
  }
@@ -1,39 +1,118 @@
1
1
  .s-menu {
2
- --_me-divider-bg: var(--bc-light);
3
- --_me-label-btc: var(--bc-light);
4
- --_me-label-cursor: pointer;
5
-
6
- // CONTEXTUAL STYLES
7
- .dark-mode({
8
- --_me-divider-bg: var(--bc-light);
9
- --_me-label-btc: var(--bc-light);
10
- });
2
+ --_me-action-bg: unset;
3
+ --_me-action-fc: var(--black-500);
4
+ --_me-item-p: var(--su8);
5
+ --_me-after-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m14 3.88-.44.44-7.34 7.35-.44.44-.44-.44-2.9-2.9L2 8.34l.89-.88.44.44 2.45 2.45 6.9-6.9.44-.44z'/%3E%3C/svg%3E"); // check16
11
6
 
12
7
  // CHILD ELEMENTS
13
8
  & &--divider {
14
- background-color: var(--_me-divider-bg);
9
+ background-color: var(--black-200);
15
10
  height: var(--su-static1);
16
11
  margin: var(--su8) 0;
17
12
  }
18
13
 
19
- & &--label {
20
- &.is-disabled {
21
- --_me-label-cursor: not-allowed;
14
+ & &--icon {
15
+ color: inherit;
16
+ margin-right: var(--su8);
17
+ }
18
+
19
+ & &--item {
20
+ &:has(> .s-menu--action){
21
+ --_me-item-p: 0;
22
+ }
23
+
24
+ &.s-check-control {
25
+ --_me-item-p: var(--su6) var(--su8);
26
+
27
+ .s-radio,
28
+ .s-checkbox {
29
+ margin-top: var(--su4);
30
+ }
31
+
32
+ align-items: flex-start;
33
+ }
34
+
35
+ &:not(.s-check-control) {
36
+ .s-radio,
37
+ .s-checkbox {
38
+ height: 0;
39
+ pointer-events: none;
40
+ position: absolute;
41
+ opacity: 0;
42
+ width: 0;
43
+ }
44
+ }
45
+
46
+ color: var(--_me-action-fc);
47
+ padding: var(--_me-item-p);
48
+
49
+ align-items: center;
50
+ display: flex;
51
+ width: 100%;
52
+ }
53
+
54
+ & &--action {
55
+ &:focus-visible,
56
+ &:has(> input:focus-visible) {
57
+ .focus-styles(true, false);
58
+ }
59
+
60
+ &:focus-visible,
61
+ &:has(> input:focus-visible),
62
+ &:hover {
63
+ --_me-action-bg: var(--black-150);
64
+ --_me-action-fc: var(--black-600);
65
+ }
66
+
67
+ &__danger {
68
+ --_me-action-fc: var(--red-400);
69
+
70
+ &:focus-visible,
71
+ &:hover {
72
+ --_me-action-fc: var(--red-500);
73
+ }
22
74
  }
23
75
 
24
- border-top: var(--su-static1) solid var(--_me-label-btc);
25
- cursor: var(--_me-label-cursor);
26
- padding: var(--su12);
76
+ &.is-selected,
77
+ &:has(input:checked) {
78
+ &:after {
79
+ background-color: var(--_me-action-fc);
80
+ content: "";
81
+ height: var(--su16);
82
+ margin-left: auto;
83
+ width: var(--su16);
84
+ mask-image: var(--_me-after-mask);
85
+ mask-size: contain;
86
+ mask-repeat: no-repeat;
87
+ }
88
+
89
+ }
90
+
91
+ background-color: var(--_me-action-bg);
92
+ color: var(--_me-action-fc);
93
+
94
+ align-items: center;
95
+ border-radius: var(--br-md);
96
+ cursor: pointer;
97
+ display: flex;
98
+ padding: var(--su8);
99
+ width: 100%;
100
+ }
101
+
102
+ & button&--action { // Normalize for when applying to a button
103
+ border: none;
104
+ font-family: inherit;
105
+ line-height: inherit;
106
+ text-align: left;
27
107
  }
28
108
 
29
109
  & &--title {
30
- color: var(--black-500);
31
- font-size: var(--fs-fine);
32
- padding: var(--su8) var(--su12);
33
- text-transform: uppercase;
110
+ color: var(--black-600);
111
+ font-weight: 700;
112
+ padding: var(--su6) var(--su8);
34
113
  }
35
114
 
36
- & li + &--title {
115
+ & &--item + &--title {
37
116
  margin-top: var(--su12);
38
117
  }
39
118
 
@@ -3,18 +3,17 @@
3
3
  --_mo-bg: fade(.set-black()[600], 50%); // Background remains fixed
4
4
  --_mo-hmx: unset;
5
5
  --_mo-wmx: unset;
6
- --_mo-close-t: var(--su8);
7
6
  --_mo-dialog-bg: var(--white);
8
7
  --_mo-dialog-pt: var(--su24);
9
- --_mo-header-fc: var(--fc-dark);
8
+ --_mo-dialog-ou: 0;
10
9
 
11
10
  // CONTEXTUAL STYLES
12
11
  .dark-mode({
13
- --_mo-dialog-bg: var(--black-225);
12
+ --_mo-dialog-bg: var(--black-100);
14
13
  });
15
14
 
16
- .highcontrast-dark-mode({
17
- --_mo-dialog-bg: var(--black-200);
15
+ .highcontrast-mode({
16
+ --_mo-dialog-ou: var(--su2) solid var(--black-500);
18
17
  });
19
18
 
20
19
  &[aria-hidden="false"] {
@@ -46,7 +45,6 @@
46
45
  &.has-danger,
47
46
  &&__danger {
48
47
  --_mo-bg: darken(fade(.set-red()[600], 50%), 18%);
49
- --_mo-header-fc: var(--red-500);
50
48
  }
51
49
 
52
50
  // CHILD ELEMENTS
@@ -61,19 +59,20 @@
61
59
  margin: 0 !important;
62
60
  }
63
61
 
64
- padding: var(--su12) !important; // [1]
62
+ padding: var(--su6) !important; // [1]
65
63
  position: absolute !important; // [1]
66
- right: var(--su8);
67
- top: var(--_mo-close-t);
64
+ right: var(--su16);
65
+ top: var(--su16);
68
66
  }
69
67
 
70
68
  & &--dialog {
71
69
  padding: var(--_mo-dialog-pt) var(--su24) var(--su24);
72
70
 
73
71
  @scrollbar-styles();
72
+ position: relative;
74
73
  backface-visibility: hidden;
75
74
  background-color: var(--_mo-dialog-bg);
76
- border-radius: var(--br-lg);
75
+ border-radius: var(--br-md);
77
76
  box-shadow: var(--bs-lg);
78
77
  max-height: 100%;
79
78
  max-width: 600px;
@@ -83,6 +82,7 @@
83
82
  transition: opacity 200ms var(--te-smooth) 0s, z-index 0s 100ms, visibility 0s 100ms, transform 100ms var(--te-smooth) 0s, transform 100ms var(--te-smooth) 0s; // Transition out
84
83
  visibility: hidden;
85
84
  z-index: var(--zi-hide); // Make sure it's also below everything so we can't interact with it.
85
+ outline: var(--_mo-dialog-ou);
86
86
  }
87
87
 
88
88
  & &--footer {
@@ -90,7 +90,7 @@
90
90
  }
91
91
 
92
92
  & &--header {
93
- color: var(--_mo-header-fc);
93
+ color: var(--fc-dark);
94
94
 
95
95
  font-size: var(--fs-headline1);
96
96
  font-weight: normal;