@stackoverflow/stacks 1.5.0 → 1.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,130 +1,103 @@
1
- //
2
- // STACK OVERFLOW
3
- // CODE BLOCKS
4
- //
5
- // This CSS comes from Stacks, our CSS & Pattern library for rapidly building
6
- // Stack Overflow. For documentation of all these classes and how to contribute,
7
- // visit https://stackoverflow.design/
8
- //
1
+ .s-code-block {
2
+ --_cb-line-numbers-bg: var(--black-050);
9
3
 
10
- pre.s-code-block {
11
- font-size: var(--fs-body1);
12
- font-family: var(--ff-mono);
13
- line-height: var(--lh-md);
14
- color: var(--highlight-color);
15
- background-color: var(--highlight-bg);
16
- border-radius: var(--br-md);
17
- margin: 0;
18
- padding: var(--su12);
19
- overflow: auto;
20
-
21
- @scrollbar-styles();
22
- }
23
-
24
- code[class*="language-"],
25
- pre.s-code-block > code {
26
- font-family: inherit;
4
+ // CONTEXTUAL STYLES
5
+ .dark-mode({
6
+ --_cb-line-numbers-bg: var(--black-025);
7
+ });
27
8
 
28
- .hljs-subst {
9
+ // CHILD COMPONENTS
10
+ code[class*="language-"] &,
11
+ pre& > code {
12
+ .hljs-built_in,
13
+ .hljs-literal,
14
+ .hljs-title {
15
+ color: var(--highlight-literal);
16
+ }
17
+ .hljs-bullet,
18
+ .hljs-code {
19
+ color: var(--highlight-punctuation);
20
+ }
21
+ .hljs-doctag,
22
+ .hljs-keyword,
23
+ .hljs-meta-keyword,
24
+ .hljs-meta,
25
+ .hljs-section,
26
+ .hljs-selector-class,
27
+ .hljs-selector-pseudo,
28
+ .hljs-selector-tag {
29
+ color: var(--highlight-keyword);
30
+ }
31
+ .hljs-name,
32
+ .hljs-number,
33
+ .hljs-quote,
34
+ .hljs-selector-id,
35
+ .hljs-template-tag,
36
+ .hljs-type {
37
+ color: var(--highlight-namespace);
38
+ }
39
+ .hljs-link,
40
+ .hljs-meta-string,
41
+ .hljs-regexp,
42
+ .hljs-selector-attr,
43
+ .hljs-string,
44
+ .hljs-symbol,
45
+ .hljs-template-variable,
46
+ .hljs-variable {
47
+ color: var(--highlight-variable);
48
+ }
49
+ .hljs-addition {
50
+ color: var(--highlight-addition);
51
+ }
52
+ .hljs-attr {
53
+ color: var(--highlight-attribute);
54
+ }
55
+ .hljs-attribute {
56
+ color: var(--highlight-symbol);
57
+ }
58
+ .hljs-comment {
59
+ color: var(--highlight-comment);
60
+ }
61
+ .hljs-deletion {
62
+ color: var(--highlight-deletion);
63
+ }
64
+ .hljs-emphasis {
65
+ font-style: italic;
66
+ }
67
+ .hljs-strong {
68
+ font-weight: bold;
69
+ }
70
+ .hljs-subst {
71
+ color: var(--highlight-color);
72
+ }
73
+
74
+ font-family: inherit;
75
+ }
76
+ pre& {
77
+ .s-code-block--line-numbers {
78
+ background-color: var(--_cb-line-numbers-bg);
79
+
80
+ border-color: var(--bc-medium);
81
+ border-style: solid;
82
+ border-width: 0 var(--su-static1) 0 0;
83
+ color: var(--black-300);
84
+ float: left;
85
+ margin: calc(var(--su12) * -1);
86
+ margin-right: var(--su12);
87
+ padding: var(--su12);
88
+ padding-right: var(--su6);
89
+ text-align: right;
90
+ }
91
+
92
+ @scrollbar-styles();
93
+ background-color: var(--highlight-bg);
94
+ border-radius: var(--br-md);
29
95
  color: var(--highlight-color);
96
+ font-family: var(--ff-mono);
97
+ font-size: var(--fs-body1);
98
+ line-height: var(--lh-md);
99
+ margin: 0;
100
+ overflow: auto;
101
+ padding: var(--su12);
30
102
  }
31
-
32
- .hljs-comment {
33
- color: var(--highlight-comment);
34
- }
35
-
36
- .hljs-keyword,
37
- .hljs-selector-tag,
38
- .hljs-meta-keyword,
39
- .hljs-doctag,
40
- .hljs-section {
41
- color: var(--highlight-keyword);
42
- }
43
-
44
- .hljs-attr {
45
- color: var(--highlight-attribute);
46
- }
47
-
48
- .hljs-attribute {
49
- color: var(--highlight-symbol);
50
- }
51
-
52
- .hljs-name,
53
- .hljs-type,
54
- .hljs-number,
55
- .hljs-selector-id,
56
- .hljs-quote,
57
- .hljs-template-tag {
58
- color: var(--highlight-namespace);
59
- }
60
-
61
- .hljs-selector-class {
62
- color: var(--highlight-keyword);
63
- }
64
-
65
- .hljs-string,
66
- .hljs-regexp,
67
- .hljs-symbol,
68
- .hljs-variable,
69
- .hljs-template-variable,
70
- .hljs-link,
71
- .hljs-selector-attr {
72
- color: var(--highlight-variable);
73
- }
74
-
75
- .hljs-meta,
76
- .hljs-selector-pseudo {
77
- color: var(--highlight-keyword);
78
- }
79
-
80
- .hljs-built_in,
81
- .hljs-title,
82
- .hljs-literal {
83
- color: var(--highlight-literal);
84
- }
85
-
86
- .hljs-bullet,
87
- .hljs-code {
88
- color: var(--highlight-punctuation);
89
- }
90
-
91
- .hljs-meta-string {
92
- color: var(--highlight-variable);
93
- }
94
-
95
- .hljs-deletion {
96
- color: var(--highlight-deletion);
97
- }
98
-
99
- .hljs-addition {
100
- color: var(--highlight-addition);
101
- }
102
-
103
- .hljs-emphasis {
104
- font-style: italic;
105
- }
106
-
107
- .hljs-strong {
108
- font-weight: bold;
109
- }
110
- }
111
-
112
- pre.s-code-block .s-code-block--line-numbers {
113
- float: left;
114
- color: var(--black-300);
115
- text-align: right;
116
- border-width: 0;
117
- border-style: solid;
118
- border-color: var(--bc-medium);
119
- border-right-width: 1px;
120
- margin: calc(var(--su12) * -1);
121
- margin-right: var(--su12);
122
- padding: var(--su12);
123
- padding-right: var(--su6);
124
- background-color: var(--black-050);
125
-
126
- .dark-mode({
127
- background-color: var(--black-025);
128
- });
129
103
  }
130
-
@@ -1,27 +1,3 @@
1
- //
2
- // STACK OVERFLOW
3
- // INPUTS
4
- //
5
- // This CSS comes from Stacks, our CSS & Pattern library for rapidly building
6
- // Stack Overflow. For documentation of all these classes and how to contribute,
7
- // visit https://stackoverflow.design/
8
- //
9
- // TABLE OF CONTENTS
10
- // • Variables
11
- // • Inputs
12
- // - Base Style (Input / Textarea)
13
- // - Textarea Styles
14
- // - Fieldset Resets
15
- // • Text Styles
16
- // • Connected Input Fills
17
- // • Select Menus
18
- // • Checkbox & Radio
19
- // • Input States
20
- // • Validation States
21
- // • Input Sizes
22
- // ============================================================================
23
- // $ VARIABLES & MIXINS
24
- // ----------------------------------------------------------------------------
25
1
  @input-padding: 0.6em 0.7em;
26
2
 
27
3
  @autofill: {
@@ -268,6 +244,44 @@ fieldset {
268
244
  // ============================================================================
269
245
  // $ CHECKBOXES & RADIOS
270
246
  // ----------------------------------------------------------------------------
247
+ // TODO would _love_ to use .s-check instead, with no class on the input itself
248
+ .s-check-control {
249
+ display: flex;
250
+ gap: var(--su8);
251
+ align-items: center;
252
+
253
+ [disabled] + .s-label {
254
+ &:extend(.is-disabled .s-label);
255
+ }
256
+
257
+ .s-label {
258
+ font-weight: normal;
259
+ }
260
+ }
261
+
262
+ .s-check-group {
263
+ display: flex;
264
+ flex-direction: column;
265
+ gap: var(--su8);
266
+
267
+ &&__horizontal {
268
+ flex-direction: row;
269
+ }
270
+
271
+ // TODO HACK? <legend> isn't respecting gap...
272
+ legend.s-label {
273
+ margin-bottom: var(--su8);
274
+ }
275
+
276
+ // manually align the checkboxes and radios to the top of the group
277
+ .s-check-control {
278
+ align-items: flex-start;
279
+ }
280
+ .s-checkbox, .s-radio {
281
+ margin-top: calc(var(--su2) + var(--su1)); // 3px
282
+ }
283
+ }
284
+
271
285
  .s-checkbox,
272
286
  .s-radio {
273
287
  // [1] Check to see if we can use custom styles, if so reset the defaults
@@ -1,136 +1,124 @@
1
- //
2
- // STACK OVERFLOW
3
- // LINK UNFURLS
4
- //
5
- // This CSS comes from Stacks, our CSS & Pattern library for rapidly building
6
- // Stack Overflow. For documentation of all these classes and how to contribute,
7
- // visit https://stackoverflow.design/
8
- //
9
- // ============================================================================
10
- // $ BASE STYLE
11
- // ----------------------------------------------------------------------------
12
1
  .s-link-preview {
13
- border: 1px solid var(--bc-medium);
14
- border-radius: var(--br-sm);
15
- text-align: left;
16
- box-shadow: var(--bs-sm);
17
- }
18
-
19
- .s-link-preview--header {
20
- display: flex;
21
- background: var(--black-025);
22
- border-top-left-radius: var(--br-sm);
23
- border-top-right-radius: var(--br-sm);
24
- border-bottom: 1px solid var(--bc-medium);
25
- padding: var(--su12) var(--su8);
26
- }
27
-
28
- .s-link-preview--icon {
29
- margin-right: var(--su8);
30
- color: var(--black-800); // Set the default color of the integration's icon. Most likely this will be overridden by the integration icon's native colors.
31
- }
32
-
33
- .s-link-preview--title {
34
- font-size: var(--fs-body3);
35
- font-weight: bold;
36
- color: var(--black-900);
37
- }
38
-
39
- a.s-link-preview--title {
40
- text-decoration: none;
41
- color: var(--theme-link-color);
42
- cursor: pointer;
43
-
44
- &.s-link__visited:visited {
45
- color: var(--theme-link-color);
46
- text-decoration: none;
47
-
48
- .highcontrast-mode({ text-decoration: underline; });
49
- }
50
-
51
- &:hover,
52
- &.s-link__visited:hover,
53
- &:active,
54
- &.s-link__visited:active {
55
- color: var(--theme-link-color-hover);
56
- text-decoration: none;
57
-
58
- .highcontrast-mode({ text-decoration: underline; });
59
- }
60
- }
61
-
62
- .s-link-preview--details {
63
- font-size: var(--fs-caption);
64
- color: var(--black-500);
65
- margin-top: var(--su2);
2
+ --_lp-details-mt: var(--su2);
3
+ --_lp-footer-fd: unset;
4
+ --_lp-misc-pl: var(--su4);
5
+ --_lp-misc-pt: unset;
66
6
 
7
+ // CONTEXTUAL STYLES
67
8
  #stacks-internals #screen-sm({
68
- margin-top: var(--su4);
9
+ --_lp-details-mt: var(--su4);
10
+ --_lp-footer-fd: column;
11
+ --_lp-misc-pl: 0;
12
+ --_lp-misc-pt: var(--su2);
69
13
  });
70
- }
71
14
 
72
- .s-link-preview--body {
73
- padding: var(--su12);
74
- font-size: var(--fs-body2);
75
-
76
- *:last-child {
77
- margin-bottom: 0;
15
+ // CHILD ELEMENTS
16
+ & &--details,
17
+ & &--footer {
18
+ a {
19
+ &:visited {
20
+ color: var(--black-700);
21
+ }
22
+ &:hover,
23
+ &:active,
24
+ &:focus {
25
+ color: var(--black-600);
26
+ }
27
+
28
+ color: var(--black-500);
29
+ cursor: pointer;
30
+ text-decoration: none;
31
+ }
78
32
  }
79
- }
33
+ & &--body {
34
+ *:last-child {
35
+ margin-bottom: 0;
36
+ }
80
37
 
81
- .s-link-preview--code {
82
- pre {
83
- border-radius: 0 !important;
84
- margin: 0;
85
- max-height: 400px;
38
+ font-size: var(--fs-body2);
39
+ padding: var(--su12);
86
40
  }
87
- }
88
-
89
- .s-link-preview--footer {
90
- display: flex;
91
- justify-content: space-between;
92
- background: var(--black-025);
93
- border-bottom-left-radius: var(--br-sm);
94
- border-bottom-right-radius: var(--br-sm);
95
- border-top: 1px solid var(--bc-medium);
96
- padding: var(--su12);
97
- font-size: var(--fs-caption);
98
-
99
- #stacks-internals #screen-sm({
100
- flex-direction: column;
101
- });
102
- }
103
-
104
- .s-link-preview--url {
105
- overflow: hidden;
106
- max-width: 100%;
107
- text-overflow: ellipsis !important;
108
- white-space: nowrap;
109
- }
110
-
111
- .s-link-preview--misc {
112
- color: var(--black-500);
113
- padding-left: var(--su4);
114
-
115
- #stacks-internals #screen-sm({
116
- padding-left: 0;
117
- padding-top: var(--su2);
118
- });
119
- }
41
+ & &--code {
42
+ pre {
43
+ border-radius: 0 !important;
44
+ margin: 0;
45
+ max-height: 400px;
46
+ }
47
+ }
48
+ & &--details {
49
+ margin-top: var(--_lp-details-mt);
120
50
 
121
- .s-link-preview--details a,
122
- .s-link-preview--footer a {
123
- text-decoration: none;
124
- cursor: pointer;
125
- color: var(--black-500);
51
+ color: var(--black-500);
52
+ font-size: var(--fs-caption);
53
+ }
54
+ & &--footer {
55
+ flex-direction: var(--_lp-footer-fd);
56
+
57
+ background: var(--black-025);
58
+ border-bottom-left-radius: var(--br-sm);
59
+ border-bottom-right-radius: var(--br-sm);
60
+ border-top: 1px solid var(--bc-medium);
61
+ display: flex;
62
+ font-size: var(--fs-caption);
63
+ justify-content: space-between;
64
+ padding: var(--su12);
65
+ }
66
+ & &--header {
67
+ background: var(--black-025);
68
+ border-bottom: 1px solid var(--bc-medium);
69
+ border-top-left-radius: var(--br-sm);
70
+ border-top-right-radius: var(--br-sm);
71
+ display: flex;
72
+ padding: var(--su12) var(--su8);
73
+ }
74
+ & &--icon {
75
+ color: var(--black-800); // Set the default color of the integration's icon. Most likely this will be overridden by the integration icon's native colors.
76
+ margin-right: var(--su8);
77
+ }
78
+ & &--misc {
79
+ padding-left: var(--_lp-misc-pl);
80
+ padding-top: var(--_lp-misc-pt);
126
81
 
127
- &:visited {
128
- color: var(--black-700);
82
+ color: var(--black-500);
129
83
  }
84
+ & &--title {
85
+ color: var(--black-900);
86
+ font-size: var(--fs-body3);
87
+ font-weight: bold;
88
+ }
89
+ & a&--title {
90
+ &:active,
91
+ &:hover{
92
+ &,
93
+ &.s-link__visited {
94
+ color: var(--theme-link-color-hover);
95
+ }
96
+ }
97
+ &:active,
98
+ &:hover,
99
+ &.s-link__visited:active,
100
+ &.s-link__visited:hover,
101
+ &.s-link__visited:visited {
102
+ .highcontrast-mode({ text-decoration: underline; });
103
+ text-decoration: none;
104
+ }
105
+ &.s-link__visited:visited {
106
+ color: var(--theme-link-color);
107
+ }
130
108
 
131
- &:hover,
132
- &:active,
133
- &:focus {
134
- color: var(--black-600);
109
+ color: var(--theme-link-color);
110
+ cursor: pointer;
111
+ text-decoration: none;
135
112
  }
113
+ & &--url {
114
+ max-width: 100%;
115
+ overflow: hidden;
116
+ text-overflow: ellipsis !important;
117
+ white-space: nowrap;
118
+ }
119
+
120
+ border: 1px solid var(--bc-medium);
121
+ border-radius: var(--br-sm);
122
+ box-shadow: var(--bs-sm);
123
+ text-align: left;
136
124
  }
@@ -1,19 +1,3 @@
1
- //
2
- // STACK OVERFLOW
3
- // TYPOGRAPHY
4
- //
5
- // This CSS comes from Stacks, our CSS & Pattern library for rapidly building
6
- // Stack Overflow. For documentation of all these classes and how to contribute,
7
- // visit https://stackoverflow.design/
8
- //
9
- // TABLE OF CONTENTS
10
- // • LINKS
11
- //
12
-
13
- // ============================================================================
14
- // $ LINKS
15
- // ----------------------------------------------------------------------------
16
-
17
1
  a,
18
2
  .s-link {
19
3
  text-decoration: none;