@stackoverflow/stacks 3.0.0-beta.1 → 3.0.0-beta.3

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.
@@ -297,7 +297,7 @@
297
297
  // $ OUTLINE
298
298
  // ----------------------------------------------------------------------------
299
299
  .outline-none { outline: 0 !important; }
300
- .outline-ring { outline: solid var(--su-static4) var(--translucent-secondary); }
300
+ .outline-ring { outline: solid var(--su-static4) var(--translucent-secondary); } // TODO SHINE revisit this value once theme colors are finalized
301
301
 
302
302
  .f\:outline-ring {
303
303
  &:focus,
@@ -37,36 +37,22 @@ p {
37
37
  .fs-body3 { font-size: var(--fs-body3) !important; }
38
38
  .fs-body2 { font-size: var(--fs-body2) !important; }
39
39
  .fs-body1 { font-size: var(--fs-body1) !important; }
40
-
41
- .fs-caption,
42
- .fs-category { font-size: var(--fs-caption) !important; }
40
+ .fs-caption { font-size: var(--fs-caption) !important; }
43
41
  .fs-fine { font-size: var(--fs-fine) !important; }
44
42
 
45
43
  #stacks-internals #screen-sm({
46
- .fs-display4 { font-size: 3.8rem !important; }
47
- .fs-display3 { font-size: 3.3rem !important; }
48
- .fs-display2 { font-size: 3rem !important; }
49
- .fs-display1 { font-size: 2.6rem !important; }
50
- .fs-headline2 { font-size: 2.3rem !important; }
51
- .fs-headline1 { font-size: 2rem !important; }
52
- .fs-title { font-size: 1.8rem !important; }
53
- .fs-subheading { font-size: 1.6rem !important; }
54
- .fs-body3 { font-size: 1.4rem !important; }
55
- .fs-body2 { font-size: 1.3rem !important; }
44
+ .fs-display4 { font-size: calc(var(--fs-display4) * .43) !important; } // 43px
45
+ .fs-display3 { font-size: calc(var(--fs-display3) * .5139) !important; } // ~37px
46
+ .fs-display2 { font-size: calc(var(--fs-display2) * .5862) !important; } // ~34px
47
+ .fs-display1 { font-size: calc(var(--fs-display1) * .6304) !important; } // ~29px
48
+ .fs-headline2 { font-size: calc(var(--fs-headline2) * .7224) !important; } // ~26px
49
+ .fs-headline1 { font-size: calc(var(--fs-headline1) * .8215) !important; } // ~23px
50
+ .fs-title { font-size: calc(var(--fs-title) * .9094) !important; } // ~20px
51
+ .fs-subheading { font-size: calc(var(--fs-subheading) * .8998) !important; } // ~18px
52
+ .fs-body3 { font-size: calc(var(--fs-body3) * .8888) !important; } // ~16px
53
+ .fs-body2 { font-size: calc(var(--fs-body2) * .9374) !important; } // ~15px
56
54
  }, @force-selector: true);
57
55
 
58
- .fs-category {
59
- font-weight: 700;
60
- text-transform: uppercase;
61
-
62
- // If a top border is desired
63
- &.has-border {
64
- width: 100%;
65
- padding: var(--su4) 0;
66
- border-top: var(--su-static1) solid var(--bc-medium);
67
- }
68
- }
69
-
70
56
  // ============================================================================
71
57
  // $ LINE HEIGHTS
72
58
  // ----------------------------------------------------------------------------
@@ -89,7 +75,8 @@ p {
89
75
 
90
76
  // -- Font Weight
91
77
  .fw-normal { font-weight: 400 !important; }
92
- .fw-bold { font-weight: 700 !important; }
78
+ .fw-medium { font-weight: 500 !important; }
79
+ .fw-bold { font-weight: 600 !important; }
93
80
 
94
81
  // -- Font Styles
95
82
  .fs-normal { font-style: normal !important; }
@@ -24,13 +24,6 @@ body {
24
24
  line-height: var(--lh-base);
25
25
  }
26
26
 
27
- #stacks-internals #screen-sm({
28
- &,
29
- body {
30
- font-size: 11px;
31
- }
32
- }, @force-selector: true);
33
-
34
27
  body {
35
28
  box-sizing: border-box;
36
29
  min-height: 100%;
@@ -41,4 +34,6 @@ body {
41
34
  *:after {
42
35
  box-sizing: inherit;
43
36
  }
37
+
38
+ // TODO SHINE set max width here
44
39
  }
@@ -1,5 +1,5 @@
1
1
  .s-activity-indicator {
2
- --_ai-bg: var(--theme-secondary-400);
2
+ --_ai-bg: var(--pink-400);
3
3
  --_ai-fc: var(--white);
4
4
  --_ai-min-size: var(--su-static16);
5
5
  --_ai-p: 0 calc(var(--su-static4) - var(--su-static1));
@@ -27,7 +27,6 @@
27
27
 
28
28
  &&__warning {
29
29
  --_ai-bg: var(--yellow-400);
30
- --_ai-fc: var(--_black-static);
31
30
 
32
31
  .highcontrast-mode({
33
32
  --_ai-bg: var(--yellow-500); // needs to be here to override default high contrast
@@ -28,7 +28,7 @@
28
28
  }
29
29
 
30
30
  &&__default {
31
- --_an-a-fc: var(--theme-link-color, var(--theme-secondary-400));
31
+ --_an-a-fc: var(--theme-link-color, var(--theme-secondary));
32
32
  --_an-a-fc-hover: var(--theme-link-color-hover, var(--theme-secondary-500));
33
33
  --_an-a-fc-visited: var(--theme-link-color-visited, var(--purple-500));
34
34
  --_an-a-fc-hover-visited: var(--theme-link-color-hover, var(--purple-600));
@@ -62,18 +62,18 @@
62
62
  }
63
63
 
64
64
  &&__gold {
65
- --_ba-bc: var(--gold-300);
66
- --_ba-bg: var(--gold-100);
65
+ --_ba-bc: var(--yellow-300);
66
+ --_ba-bg: var(--yellow-100);
67
67
  }
68
68
 
69
69
  &&__silver {
70
- --_ba-bc: var(--silver-300);
71
- --_ba-bg: var(--silver-100);
70
+ --_ba-bc: var(--blue-300);
71
+ --_ba-bg: var(--blue-100);
72
72
  }
73
73
 
74
74
  &&__bronze {
75
- --_ba-bc: var(--bronze-300);
76
- --_ba-bg: var(--bronze-100);
75
+ --_ba-bc: var(--orange-300);
76
+ --_ba-bg: var(--orange-100);
77
77
  }
78
78
 
79
79
  // Number counts
@@ -0,0 +1,93 @@
1
+ .s-bling {
2
+ --_bl-bg: unset;
3
+ --_bl-size: calc(var(--su8) + var(--su2));
4
+ // Icon
5
+ --_bl-icon: url("data:image/svg+xml;utf8,<svg viewBox='0 0 8 8' xmlns='http://www.w3.org/2000/svg'><circle cx='4' cy='4' r='4'/></svg>");
6
+ --_bl-icon-bg: var(--black-500);
7
+ --_bl-icon-size: var(--su8);
8
+
9
+ // VARIANTS
10
+ &&__gold,
11
+ &&__silver {
12
+ --_bl-icon-size: calc(var(--su8) + var(--su2));
13
+ }
14
+
15
+ &&__activity {
16
+ --_bl-icon-bg: var(--pink-400);
17
+ }
18
+ // Metals
19
+ &&__gold {
20
+ --_bl-icon-bg: var(--yellow-400);
21
+ --_bl-icon: url("data:image/svg+xml;,<svg viewBox='0 0 8 9' xmlns='http://www.w3.org/2000/svg'><path d='M3.89709 0L7.79421 2.25V6.75L3.89709 9L-1.95503e-05 6.75V2.25L3.89709 0Z'/></svg>");
22
+ }
23
+
24
+ &&__silver {
25
+ --_bl-icon-bg: var(--blue-400);
26
+ --_bl-icon: url("data:image/svg+xml;,<svg viewBox='0 0 9 9' xmlns='http://www.w3.org/2000/svg'><path d='M4.27979 0L8.55954 3.10942L6.92482 8.14058H1.63475L3.09944e-05 3.10942L4.27979 0Z'/></svg>");
27
+ }
28
+
29
+ &&__bronze {
30
+ --_bl-icon-bg: var(--orange-400);
31
+ --_bl-icon: url("data:image/svg+xml;,<svg viewBox='0 0 8 8' xmlns='http://www.w3.org/2000/svg'><rect width='8' height='8'/></svg>");
32
+ }
33
+
34
+ // MODIFIERS
35
+ // Filled
36
+ &&__filled {
37
+ --_bl-bg: var(--black-225);
38
+ --_bl-icon-bg: var(--black-600);
39
+ --_bl-size: var(--su24);
40
+
41
+ &.s-bling {
42
+ &__rep {
43
+ --_bl-bg: var(--black-300);
44
+ }
45
+ &__activity {
46
+ --_bl-bg: var(--pink-300);
47
+ --_bl-icon-bg: var(--pink-600);
48
+ }
49
+ &__gold {
50
+ --_bl-bg: var(--yellow-300);
51
+ --_bl-icon-bg: var(--yellow-600);
52
+ }
53
+ &__silver {
54
+ --_bl-bg: var(--blue-300);
55
+ --_bl-icon-bg: var(--blue-600);
56
+ }
57
+ &__bronze {
58
+ --_bl-bg: var(--orange-300);
59
+ --_bl-icon-bg: var(--orange-600);
60
+ }
61
+ }
62
+ }
63
+
64
+ // Sizes
65
+ &&__sm {
66
+ --_bl-icon-size: var(--su6);
67
+ --_bl-size: var(--su16);
68
+ }
69
+
70
+ &&__lg {
71
+ --_bl-size: calc(var(--su24) + var(--su4)); // 28px
72
+ }
73
+
74
+ // CHILD ELEMENTS
75
+ &:before {
76
+ -webkit-mask: var(--_bl-icon) no-repeat center;
77
+ mask: var(--_bl-icon) no-repeat center;
78
+
79
+ background-color: var(--_bl-icon-bg);
80
+ content: "";
81
+ height: var(--_bl-icon-size);
82
+ width: var(--_bl-icon-size);
83
+ }
84
+
85
+ background-color: var(--_bl-bg);
86
+ height: var(--_bl-size);
87
+ width: var(--_bl-size);
88
+
89
+ align-items: center;
90
+ color: inherit;
91
+ display: inline-flex;
92
+ justify-content: center;
93
+ }
@@ -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);
@@ -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
 
@@ -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));
@@ -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
  }
@@ -5,7 +5,7 @@
5
5
  --_ps-o: unset;
6
6
  // Child components
7
7
  --_ps-content-excerpt-fc: var(--_ps-state-fc, var(--fc-medium));
8
- --_ps-content-title-a-fc: var(--_ps-state-fc, var(--theme-post-title-color, var(--theme-link-color, var(--theme-secondary-400))));
8
+ --_ps-content-title-a-fc: var(--_ps-state-fc, var(--theme-post-title-color, var(--theme-link-color, var(--theme-secondary))));
9
9
  --_ps-content-title-a-fc-hover: var(--_ps-state-fc, var(--theme-post-title-color-hover, var(--theme-link-color-hover, var(--theme-secondary-500))));
10
10
  --_ps-content-title-a-fc-visited: var(--_ps-state-fc, var(--theme-post-title-color-visited, var(--theme-link-color-visited, var(--purple-500))));
11
11
  --_ps-content-title-a-fc-hover-visited: var(--_ps-state-fc, var(--theme-post-title-color-hover, var(--theme-link-color-hover, var(--purple-600))));
@@ -76,6 +76,7 @@
76
76
 
77
77
  background-color: var(--_ps-meta-tags-tag-bg);
78
78
  color: var(--black-500);
79
+ border-color: var(--black-300);
79
80
  }
80
81
  }
81
82
  }
@@ -119,7 +120,7 @@
119
120
  &:not(.s-post-summary__deleted):not(.s-post-summary__ignored) {
120
121
  --_ps-bg: var(--yellow-100);
121
122
  --_ps-stats-fc: var(--black-400);
122
- --_ps-content-title-a-fc: var(--theme-post-title-color, var(--theme-link-color, var(--theme-secondary-400)));
123
+ --_ps-content-title-a-fc: var(--theme-post-title-color, var(--theme-link-color, var(--theme-secondary)));
123
124
  --_ps-content-title-a-fc-hover: var(--theme-post-title-color-hover, var(--theme-link-color-hover, var(--theme-secondary-500)));
124
125
  --_ps-content-title-a-fc-visited: var(--theme-post-title-color-visited, var(--theme-link-color-visited, var(--purple-500)));
125
126
  --_ps-content-title-a-fc-hover-visited: var(--theme-post-title-color-hover, var(--theme-link-color-hover, var(--purple-600)));
@@ -23,14 +23,15 @@
23
23
  --_pr-bar-bg: var(--orange-400);
24
24
  }
25
25
 
26
+ // TODO SPARK I've changed metallic colors here to use their new non-metallic equivalents
26
27
  &&__bronze {
27
- --_pr-bar-bg: var(--bronze-100);
28
- --_pr-label-bc: var(--bronze-400);
28
+ --_pr-bar-bg: var(--orange-100);
29
+ --_pr-label-bc: var(--orange-400);
29
30
  }
30
31
 
31
32
  &&__gold {
32
- --_pr-bar-bg: var(--gold-100);
33
- --_pr-label-bc: var(--gold-400);
33
+ --_pr-bar-bg: var(--yellow-100);
34
+ --_pr-label-bc: var(--yellow-400);
34
35
  }
35
36
 
36
37
  &&__info {
@@ -38,8 +39,8 @@
38
39
  }
39
40
 
40
41
  &&__silver {
41
- --_pr-bar-bg: var(--silver-100);
42
- --_pr-label-bc: var(--silver-400);
42
+ --_pr-bar-bg: var(--blue-100);
43
+ --_pr-label-bc: var(--blue-400);
43
44
  }
44
45
 
45
46
  // VARIANTS
@@ -161,7 +162,7 @@
161
162
  &.is-active {
162
163
  .s-progress {
163
164
  &--bar.s-progress--bar__left {
164
- background: var(--theme-secondary-400);
165
+ background: var(--theme-secondary);
165
166
  }
166
167
 
167
168
  &--label {
@@ -169,8 +170,8 @@
169
170
  }
170
171
 
171
172
  &--stop {
172
- background: var(--theme-secondary-400);
173
- box-shadow: 0 0 0 var(--su-static6) var(--translucent-secondary);
173
+ background: var(--theme-secondary);
174
+ box-shadow: 0 0 0 var(--su-static6) var(--translucent-secondary);// TODO SHINE revisit this value once theme colors are finalized
174
175
  }
175
176
  }
176
177
  }
@@ -179,7 +180,7 @@
179
180
  .s-progress {
180
181
  &--bar,
181
182
  &--stop {
182
- background: var(--theme-secondary-400);
183
+ background: var(--theme-secondary);
183
184
  }
184
185
 
185
186
  &--label {
@@ -2,84 +2,87 @@
2
2
  // Base
3
3
  --_ta-bc: var(--theme-tag-border-color, var(--_ta-bg));
4
4
  --_ta-bg: var(--theme-tag-background-color, var(--black-150));
5
- --_ta-fc: var(--theme-tag-color, var(--black-500));
5
+ --_ta-fc: var(--theme-tag-color, var(--black-600));
6
6
  // Hover
7
7
  --_ta-bc-hover: var(--theme-tag-hover-border-color, var(--_ta-bg-hover));
8
8
  --_ta-bg-hover: var(--theme-tag-hover-background-color, var(--black-200));
9
9
  --_ta-fc-hover: var(--theme-tag-hover-color, var(--black-600));
10
10
  // Other
11
- --_ta-br: var(--br-md);
12
11
  --_ta-fs: var(--fs-caption);
13
- --_ta-lh: 1.846153846;
14
- --_ta-pl: var(--_ta-px);
15
- --_ta-pr: var(--_ta-px);
16
- --_ta-px: var(--su4);
17
- --_ta-dismiss-padding: calc(var(--_ta-px) - var(--su-static1));
12
+ --_ta-pb: calc(var(--_ta-pt) + var(--su1));
13
+ --_ta-pl: var(--su8);
14
+ --_ta-pr: var(--su8);
15
+ --_ta-pt: var(--su4);
18
16
 
19
17
  // CONTEXTUAL STYLES
20
18
  .highcontrast-mode({
21
19
  &:not(&__moderator):not(&__required) {
22
20
  --_ta-bc: var(--theme-tag-border-color, var(--black-300));
23
21
  --_ta-bc-hover: var(--theme-tag-hover-border-color, var(--black-300));
22
+
23
+ &.s-tag__ignored {
24
+ --_ta-fc: var(--black-500);
25
+ }
24
26
  }
25
27
  });
26
28
 
27
29
  // MODIFIERS
28
30
  // Sizes
29
- &&__xs {
30
- .size-styles(xs; ta; @styles: fs);
31
- --_ta-lh: 1.4;
32
- --_ta-px: var(--su2);
33
- }
34
31
  &&__sm {
35
- .size-styles(sm; ta; @styles: fs);
36
- --_ta-lh: 1.5;
37
- }
38
- &&__md {
39
- --_ta-px: var(--su6);
40
- --_ta-fs: var(--fs-body2);
41
- --_ta-lh: 1.733333333;
32
+ --_ta-pl: var(--su4);
33
+ --_ta-pr: var(--su4);
34
+ --_ta-pt: var(--su1);
42
35
  }
43
36
  &&__lg {
44
- --_ta-br: calc(var(--br-md) + var(--su-static1));
45
- --_ta-fs: var(--fs-subheading);
46
- --_ta-lh: 1.684210526;
47
- --_ta-px: var(--su6);
37
+ --_ta-fs: var(--fs-body1);
38
+ --_ta-pt: var(--su4);
48
39
  }
49
40
 
50
41
  // VARIANTS
51
- // NOTE: ignored and watched variants are used in core with the .post-tag class (in place of the base tag .s-tag)
52
- &__ignored, // TODO: remove all single `&` ignored styles once core no longer requires them
53
42
  &&__ignored,
54
- &__watched, // TODO: remove all single `&` watched styles once core no longer requires them
55
43
  &&__watched {
56
- --_ta-pl: calc(var(--su-static24) - var(--su-static2)); // 22px
57
- --_ta-before-size: calc(var(--su-static16) - var(--su-static2)); // 14px
58
- // --_ta-before-icon defined per variant
59
-
60
44
  &:before {
61
- height: var(--_ta-before-size);
62
- width: var(--_ta-before-size);
45
+ // --_ta-before-icon defined per variant
63
46
  -webkit-mask: var(--_ta-before-icon) no-repeat center;
64
47
  mask: var(--_ta-before-icon) no-repeat center;
65
48
 
66
49
  background-color: currentColor;
67
50
  content: "";
68
51
  display: block;
69
- left: var(--su-static4);
70
- margin-right: var(--su2);
71
- position: absolute;
72
- top: calc(50% - calc(var(--su-static8) - var(--su-static1)));
52
+ height: calc(var(--su-static16) - var(--su-static2));
73
53
  -webkit-mask-size: contain;
74
- mask-size: contain;
54
+ mask-size: contain;
55
+ width: calc(var(--su-static16) - var(--su-static2));
75
56
  }
57
+ }
76
58
 
77
- position: relative;
59
+ &&__deleted,
60
+ &&__ignored {
61
+ &,
62
+ &.s-tag__required:not(&__moderator),
63
+ &.s-tag__moderator {
64
+ --_ta-bc-hover: var(--_ta-bc);
65
+ --_ta-bg-hover: var(--_ta-bg);
66
+ --_ta-fc-hover: var(--_ta-fc);
67
+ }
68
+ }
69
+
70
+ // TODO SHINE this is considered inaccessible. Discuss w/ design.
71
+ &&__deleted {
72
+ --_ta-fc: var(--black-500);
73
+
74
+ &.s-tag__required:not(&__moderator) {
75
+ --_ta-bc: var(--black-300);
76
+ --_ta-fc: var(--black-400);
77
+ }
78
78
  }
79
79
 
80
- &__ignored, // TODO: remove all single `&` ignored styles once core no longer requires them
80
+ // TODO SHINE this is considered inaccessible. Discuss w/ design.
81
81
  &&__ignored {
82
+ --_ta-bg-hover: var(--_ta-bg);
82
83
  --_ta-before-icon: url("data:image/svg+xml;,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14'%3E%3Cpath d='M3.52 7.38 1.58 9.26A12.38 12.38 0 0 1 0 7s2.63-5.14 7.05-5.14c.66 0 1.28.12 1.86.32L7.44 3.6a3.48 3.48 0 0 0-3.92 3.78ZM5.3 9.99c.5.28 1.1.44 1.71.44 1.94 0 3.5-1.53 3.5-3.43 0-.62-.17-1.21-.47-1.72L8.7 6.6a1.73 1.73 0 0 1-2.08 2.07L5.29 10Zm6.23-6.19A12.7 12.7 0 0 1 14 7s-2.63 5.14-6.95 5.14A6.1 6.1 0 0 1 4 11.3L2.27 13l-1.4-1.36L11.9 1l1.23 1.2-1.6 1.6Z'/%3E%3C/svg%3E");
84
+ --_ta-fc: var(--black-400);
85
+ --_ta-fc-hover: var(--black-400);
83
86
  }
84
87
 
85
88
  // moderator overrides other required
@@ -93,51 +96,44 @@
93
96
  }
94
97
 
95
98
  &&__required:not(&__moderator) {
96
- --_ta-bc: var(--theme-tag-required-border-color, var(--theme-tag-border-color, var(--black-400)));
97
- --_ta-bg: var(--theme-tag-required-background-color, var(--theme-tag-background-color, var(--black-150)));
98
- --_ta-fc: var(--theme-tag-required-color, var(--theme-tag-color, var(--black-500)));
99
+ --_ta-bc: var(--theme-tag-required-border-color, var(--theme-tag-border-color, var(--black-500)));
99
100
  --_ta-bc-hover: var(--theme-tag-required-hover-border-color, var(--theme-tag-hover-border-color, var(--black-600)));
100
- --_ta-bg-hover: var(--theme-tag-required-hover-background-color, var(--theme-tag-hover-background-color, var(--black-200)));
101
- --_ta-fc-hover: var(--theme-tag-required-hover-color, var(--theme-tag-hover-color, var(--black-600)));
102
101
  }
103
102
 
104
- &__watched, // TODO: remove all single `&` watched styles once core no longer requires them
105
103
  &&__watched {
106
- --_ta-before-icon: url("data:image/svg+xml;,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14'%3E%3Cpath d='M7.05 1C2.63 1 0 6.5 0 6.5S2.63 12 7.05 12C11.38 12 14 6.5 14 6.5S11.37 1 7.05 1ZM7 10.17A3.59 3.59 0 0 1 3.5 6.5 3.6 3.6 0 0 1 7 2.83c1.94 0 3.5 1.65 3.5 3.67A3.57 3.57 0 0 1 7 10.17Zm0-1.84c.97 0 1.75-.81 1.75-1.83S7.97 4.67 7 4.67s-1.75.81-1.75 1.83S6.03 8.33 7 8.33Z'/%3E%3C/svg%3E");
104
+ --_ta-before-icon: url("data:image/svg+xml;,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='12' viewBox='0 0 14 12'%3E%3Cpath d='M7.05 1C2.63 1 0 6.5 0 6.5S2.63 12 7.05 12C11.38 12 14 6.5 14 6.5S11.37 1 7.05 1ZM7 10.17A3.59 3.59 0 0 1 3.5 6.5 3.6 3.6 0 0 1 7 2.83c1.94 0 3.5 1.65 3.5 3.67A3.57 3.57 0 0 1 7 10.17Zm0-1.84c.97 0 1.75-.81 1.75-1.83S7.97 4.67 7 4.67s-1.75.81-1.75 1.83S6.03 8.33 7 8.33Z'/%3E%3C/svg%3E");
107
105
  }
108
106
 
109
107
  // CHILD ELEMENTS
110
- & button&--dismiss:not(.s-btn) {
111
- all: unset;
108
+ // Dismiss
109
+ &:has(> &--dismiss) {
110
+ --_ta-pr: var(--su2);
112
111
  }
113
-
114
- & &--dismiss,
115
- & button&--dismiss:not(.s-btn) { // Style adjustment to @Svg.ClearSm
112
+ & &--dismiss {
116
113
  &:focus-visible {
117
114
  .focus-styles();
118
115
  }
119
116
 
120
117
  &:hover {
121
- .highcontrast-mode({
122
- color: var(--white);
123
- });
124
-
125
118
  background-color: var(--_ta-fc);
126
119
  color: var(--_ta-bg);
127
120
  }
128
121
 
122
+ all: unset;
129
123
  align-items: center;
130
- align-self: stretch;
131
124
  background-color: transparent;
132
- border-radius: var(--br-md);
133
125
  color: inherit;
134
126
  cursor: pointer;
135
127
  display: flex;
136
128
  justify-content: center;
137
- margin: var(--su-static1) calc(var(--_ta-dismiss-padding) * -1) var(--su-static1) var(--_ta-dismiss-padding);
138
- padding: var(--_ta-dismiss-padding);
129
+ margin: calc(var(--_ta-pt) * -1) 0 calc(var(--_ta-pb) * -1);
130
+ padding: var(--su2);
139
131
  }
140
132
 
133
+ // Sponsor
134
+ &:has(> &--sponsor) {
135
+ --_ta-pl: var(--su2);
136
+ }
141
137
  & &--sponsor { // The small sponsor favicon displayed within a tag
142
138
  img,
143
139
  .svg-icon {
@@ -145,11 +141,8 @@
145
141
  height: 100%;
146
142
  }
147
143
 
148
- align-self: center;
149
- border-radius: calc(var(--br-md) - var(--su-static1));
150
- display: inline-flex;
151
- margin: calc(var(--su1) * -1) var(--su4) calc(var(--su2) * -1) calc(var(--su2) * -1);
152
144
  max-width: calc(var(--su-static16) + var(--su-static2));
145
+ margin: calc(var(--_ta-pt) * -1) 0 calc(var(--_ta-pb) * -1) 0;
153
146
  }
154
147
 
155
148
  // INTERACTION
@@ -168,19 +161,15 @@
168
161
 
169
162
  background-color: var(--_ta-bg);
170
163
  border: var(--su-static1) solid var(--_ta-bc);
171
- border-radius: var(--_ta-br);
172
164
  color: var(--_ta-fc);
173
165
  font-size: var(--_ta-fs);
174
- line-height: var(--_ta-lh);
175
- padding-left: var(--_ta-pl);
176
- padding-right: var(--_ta-pr);
166
+ padding: var(--_ta-pt) var(--_ta-pr) var(--_ta-pb) var(--_ta-pl);
177
167
 
178
168
  align-items: center;
179
169
  display: inline-flex;
180
- font-weight: 700;
170
+ gap: var(--su4);
181
171
  justify-content: center;
182
- min-width: 0;
172
+ line-height: var(--lh-xs);
183
173
  text-decoration: none;
184
- vertical-align: middle;
185
174
  white-space: nowrap;
186
175
  }
@@ -1,14 +1,16 @@
1
1
  .s-toggle-switch {
2
2
  @ts-bg-image-fill: .set-white()[default];
3
3
  @ts-bg-image-fill-dark: .set-white-dark()[default];
4
+ @ts-bg-image-fill-esc: escape("@{ts-bg-image-fill}"); // color escaped for URL usage
5
+ @ts-bg-image-fill-dark-esc: escape("@{ts-bg-image-fill-dark}"); // color escaped for URL usage
4
6
  --_ts-bg: var(--black-350);
5
- --_ts-bg-image: url("data:image/svg+xml;,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='@{ts-bg-image-fill}'/%3e%3c/svg%3e");
7
+ --_ts-bg-image: url("data:image/svg+xml;,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='@{ts-bg-image-fill-esc}'/%3e%3c/svg%3e");
6
8
  --_ts-bg-ps: left center;
7
9
  --_ts-multiple-bg: unset;
8
10
  --_ts-multiple-fc: var(--black-400);
9
11
 
10
12
  .dark-mode({
11
- --_ts-bg-image: url("data:image/svg+xml;,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='@{ts-bg-image-fill-dark}'/%3e%3c/svg%3e");
13
+ --_ts-bg-image: url("data:image/svg+xml;,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='@{ts-bg-image-fill-dark-esc}'/%3e%3c/svg%3e");
12
14
  });
13
15
 
14
16
  fieldset[disabled] &,