@stackoverflow/stacks 2.7.3 → 2.7.4
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.
- package/LICENSE.MD +9 -9
- package/README.md +158 -180
- package/dist/css/stacks.css +6 -0
- package/dist/js/stacks.min.js +1 -1
- package/lib/atomic/border.less +139 -139
- package/lib/atomic/color.less +36 -36
- package/lib/atomic/flex.less +426 -426
- package/lib/atomic/gap.less +44 -44
- package/lib/atomic/grid.less +139 -139
- package/lib/atomic/misc.less +374 -374
- package/lib/atomic/spacing.less +98 -98
- package/lib/atomic/typography.less +266 -264
- package/lib/atomic/width-height.less +194 -194
- package/lib/base/body.less +44 -44
- package/lib/base/configuration-static.less +61 -61
- package/lib/base/fieldset.less +5 -5
- package/lib/base/icon.less +11 -11
- package/lib/base/internal.less +220 -220
- package/lib/base/reset-meyer.less +64 -64
- package/lib/base/reset-normalize.less +449 -449
- package/lib/base/reset.less +20 -20
- package/lib/components/activity-indicator/activity-indicator.less +53 -53
- package/lib/components/avatar/avatar.less +108 -108
- package/lib/components/award-bling/award-bling.less +31 -31
- package/lib/components/banner/banner.less +44 -44
- package/lib/components/banner/banner.ts +149 -149
- package/lib/components/block-link/block-link.less +82 -82
- package/lib/components/breadcrumbs/breadcrumbs.less +41 -41
- package/lib/components/button-group/button-group.less +82 -82
- package/lib/components/card/card.less +37 -37
- package/lib/components/check-control/check-control.less +17 -17
- package/lib/components/check-group/check-group.less +19 -19
- package/lib/components/checkbox_radio/checkbox_radio.less +159 -159
- package/lib/components/code-block/code-block.fixtures.ts +88 -88
- package/lib/components/code-block/code-block.less +116 -116
- package/lib/components/description/description.less +9 -9
- package/lib/components/empty-state/empty-state.less +16 -16
- package/lib/components/expandable/expandable.less +118 -118
- package/lib/components/input-fill/input-fill.less +35 -35
- package/lib/components/input-icon/input-icon.less +45 -45
- package/lib/components/input-message/input-message.less +49 -49
- package/lib/components/label/label.less +110 -110
- package/lib/components/link-preview/link-preview.less +148 -148
- package/lib/components/menu/menu.less +41 -41
- package/lib/components/modal/modal.less +118 -118
- package/lib/components/modal/modal.ts +383 -383
- package/lib/components/navigation/navigation.less +136 -136
- package/lib/components/navigation/navigation.ts +128 -128
- package/lib/components/page-title/page-title.less +51 -51
- package/lib/components/popover/popover.less +159 -159
- package/lib/components/popover/popover.ts +651 -651
- package/lib/components/post-summary/post-summary.less +457 -457
- package/lib/components/progress-bar/progress-bar.less +291 -291
- package/lib/components/prose/prose.less +452 -452
- package/lib/components/select/select.less +138 -138
- package/lib/components/spinner/spinner.less +103 -103
- package/lib/components/table/table.ts +296 -296
- package/lib/components/table-container/table-container.less +4 -4
- package/lib/components/tag/tag.less +186 -186
- package/lib/components/toast/toast.less +35 -35
- package/lib/components/toast/toast.ts +357 -357
- package/lib/components/toggle-switch/toggle-switch.less +104 -104
- package/lib/components/topbar/topbar.less +553 -553
- package/lib/components/uploader/uploader.less +205 -205
- package/lib/components/user-card/user-card.less +129 -129
- package/lib/controllers.ts +33 -33
- package/lib/exports/color-mixins.less +283 -283
- package/lib/exports/constants-helpers.less +108 -108
- package/lib/exports/constants-type.less +155 -155
- package/lib/exports/exports.less +15 -15
- package/lib/exports/mixins.less +334 -333
- package/lib/exports/spacing-mixins.less +67 -67
- package/lib/index.ts +32 -32
- package/lib/input-utils.less +41 -41
- package/lib/stacks-dynamic.less +24 -24
- package/lib/stacks-static.less +93 -93
- package/lib/stacks.less +13 -13
- package/lib/test/assertions.ts +36 -36
- package/lib/test/less-test-utils.ts +28 -28
- package/lib/test/open-wc-testing-patch.d.ts +26 -26
- package/lib/tsconfig.build.json +4 -4
- package/lib/tsconfig.json +17 -17
- package/package.json +26 -22
|
@@ -1,108 +1,108 @@
|
|
|
1
|
-
//
|
|
2
|
-
// STACK OVERFLOW
|
|
3
|
-
// CONSTANTS -- HELPERS
|
|
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
|
-
// These are helper variables to quickly set values.
|
|
10
|
-
// These SHOULD NOT be reset.
|
|
11
|
-
//
|
|
12
|
-
// Table of Contents
|
|
13
|
-
// • z-index (zi-)
|
|
14
|
-
// • border-radius (br-)
|
|
15
|
-
// • box-shadow (bs-)
|
|
16
|
-
// • transition easings (te-)
|
|
17
|
-
//
|
|
18
|
-
body {
|
|
19
|
-
// Z-Index
|
|
20
|
-
--zi-hide: -1; // Hide something all the elements
|
|
21
|
-
--zi-base: 0; // Reset to 0
|
|
22
|
-
--zi-selected: 25; // Pop above siblings
|
|
23
|
-
--zi-active: 30; // Pop above selected siblings
|
|
24
|
-
--zi-dropdown: 1000; // Dropdowns
|
|
25
|
-
--zi-popovers: 2000; // Popovers, Popups, Autocompletes
|
|
26
|
-
--zi-tooltips: 3000; // Tooltips
|
|
27
|
-
--zi-banners: 4000; // Banners
|
|
28
|
-
--zi-navigation: 5000; // Navigation Bars
|
|
29
|
-
--zi-navigation-fixed: 5050; // Fixed navigation bars
|
|
30
|
-
--zi-modals-background: 8050; // Modals background
|
|
31
|
-
--zi-modals: 9000; // Modals
|
|
32
|
-
|
|
33
|
-
// Border Radius
|
|
34
|
-
--br-sm: calc(var(--su-static4));
|
|
35
|
-
--br-md: calc(var(--su-static6));
|
|
36
|
-
--br-lg: calc(var(--su-static8));
|
|
37
|
-
--br-circle: 50%;
|
|
38
|
-
|
|
39
|
-
// Transition easings
|
|
40
|
-
--te-smooth-slow: cubic-bezier(0.25, 0.46, 0.45, 0.94); // easeOutQuad
|
|
41
|
-
--te-smooth: cubic-bezier(0.165, 0.84, 0.44, 1); // easeOutQuart
|
|
42
|
-
--te-smooth-quick: cubic-bezier(0.19, 1, 0.22, 1); // easeOutExpo
|
|
43
|
-
--te-back-out: cubic-bezier(0.175, 0.885, 0.32, 1.275); // easeOutBack
|
|
44
|
-
--te-back-in-out: cubic-bezier(0.68, -0.55, 0.265, 1.55); // easeInOutBack
|
|
45
|
-
--te-ease-in: cubic-bezier(0.47, 0, 0.745, 0.715); // easeIn
|
|
46
|
-
--te-ease-in-out: cubic-bezier(0.445, 0.05, 0.55, 0.95); // easeInOut
|
|
47
|
-
--te-ease-out: cubic-bezier(0.39, 0.575, 0.565, 1); // easeOut
|
|
48
|
-
|
|
49
|
-
--default-transition-duration: 0.1s;
|
|
50
|
-
--transition-time: var(--default-transition-duration);
|
|
51
|
-
|
|
52
|
-
// Sizing
|
|
53
|
-
--s-full: 97.2307692rem; // Based on a pixel size of 1264px;
|
|
54
|
-
--s-step: calc(var(--s-full) / 12);
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
// ============================================================================
|
|
58
|
-
// $ RESPONSIVE BREAKPOINTS
|
|
59
|
-
// ----------------------------------------------------------------------------
|
|
60
|
-
@breakpoint-lg: 1264px;
|
|
61
|
-
@breakpoint-md: 980px;
|
|
62
|
-
@breakpoint-sm: 640px;
|
|
63
|
-
|
|
64
|
-
// ============================================================================
|
|
65
|
-
// $ SCROLLBAR STYLING
|
|
66
|
-
// ----------------------------------------------------------------------------
|
|
67
|
-
@scrollbar-styles: {
|
|
68
|
-
&::-webkit-scrollbar {
|
|
69
|
-
width: calc(var(--su-static12) - var(--su-static2));
|
|
70
|
-
height: calc(var(--su-static12) - var(--su-static2));
|
|
71
|
-
background-color: transparent;
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
&::-webkit-scrollbar-track {
|
|
75
|
-
border-radius: calc(var(--su-static12) - var(--su-static2));
|
|
76
|
-
background-color: transparent;
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
&::-webkit-scrollbar-thumb {
|
|
80
|
-
border-radius: calc(var(--su-static12) - var(--su-static2));
|
|
81
|
-
background-color: var(--scrollbar);
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
&::-webkit-scrollbar-corner {
|
|
85
|
-
background-color: transparent;
|
|
86
|
-
border-color: transparent;
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
scrollbar-color: var(--scrollbar) transparent;
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
// ============================================================================
|
|
93
|
-
// $ FOCUS STYLING
|
|
94
|
-
// ----------------------------------------------------------------------------
|
|
95
|
-
@focus-styles: {
|
|
96
|
-
// Hide focus styles if they're not needed, for example,
|
|
97
|
-
// when an element receives focus via the mouse.
|
|
98
|
-
&:focus:not(:focus-visible) {
|
|
99
|
-
outline: none;
|
|
100
|
-
box-shadow: none;
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
// Show focus styles on keyboard focus.
|
|
104
|
-
&:focus-visible {
|
|
105
|
-
outline: none;
|
|
106
|
-
box-shadow: 0 0 0 var(--su-static4) var(--focus-ring-muted);
|
|
107
|
-
}
|
|
108
|
-
}
|
|
1
|
+
//
|
|
2
|
+
// STACK OVERFLOW
|
|
3
|
+
// CONSTANTS -- HELPERS
|
|
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
|
+
// These are helper variables to quickly set values.
|
|
10
|
+
// These SHOULD NOT be reset.
|
|
11
|
+
//
|
|
12
|
+
// Table of Contents
|
|
13
|
+
// • z-index (zi-)
|
|
14
|
+
// • border-radius (br-)
|
|
15
|
+
// • box-shadow (bs-)
|
|
16
|
+
// • transition easings (te-)
|
|
17
|
+
//
|
|
18
|
+
body {
|
|
19
|
+
// Z-Index
|
|
20
|
+
--zi-hide: -1; // Hide something all the elements
|
|
21
|
+
--zi-base: 0; // Reset to 0
|
|
22
|
+
--zi-selected: 25; // Pop above siblings
|
|
23
|
+
--zi-active: 30; // Pop above selected siblings
|
|
24
|
+
--zi-dropdown: 1000; // Dropdowns
|
|
25
|
+
--zi-popovers: 2000; // Popovers, Popups, Autocompletes
|
|
26
|
+
--zi-tooltips: 3000; // Tooltips
|
|
27
|
+
--zi-banners: 4000; // Banners
|
|
28
|
+
--zi-navigation: 5000; // Navigation Bars
|
|
29
|
+
--zi-navigation-fixed: 5050; // Fixed navigation bars
|
|
30
|
+
--zi-modals-background: 8050; // Modals background
|
|
31
|
+
--zi-modals: 9000; // Modals
|
|
32
|
+
|
|
33
|
+
// Border Radius
|
|
34
|
+
--br-sm: calc(var(--su-static4));
|
|
35
|
+
--br-md: calc(var(--su-static6));
|
|
36
|
+
--br-lg: calc(var(--su-static8));
|
|
37
|
+
--br-circle: 50%;
|
|
38
|
+
|
|
39
|
+
// Transition easings
|
|
40
|
+
--te-smooth-slow: cubic-bezier(0.25, 0.46, 0.45, 0.94); // easeOutQuad
|
|
41
|
+
--te-smooth: cubic-bezier(0.165, 0.84, 0.44, 1); // easeOutQuart
|
|
42
|
+
--te-smooth-quick: cubic-bezier(0.19, 1, 0.22, 1); // easeOutExpo
|
|
43
|
+
--te-back-out: cubic-bezier(0.175, 0.885, 0.32, 1.275); // easeOutBack
|
|
44
|
+
--te-back-in-out: cubic-bezier(0.68, -0.55, 0.265, 1.55); // easeInOutBack
|
|
45
|
+
--te-ease-in: cubic-bezier(0.47, 0, 0.745, 0.715); // easeIn
|
|
46
|
+
--te-ease-in-out: cubic-bezier(0.445, 0.05, 0.55, 0.95); // easeInOut
|
|
47
|
+
--te-ease-out: cubic-bezier(0.39, 0.575, 0.565, 1); // easeOut
|
|
48
|
+
|
|
49
|
+
--default-transition-duration: 0.1s;
|
|
50
|
+
--transition-time: var(--default-transition-duration);
|
|
51
|
+
|
|
52
|
+
// Sizing
|
|
53
|
+
--s-full: 97.2307692rem; // Based on a pixel size of 1264px;
|
|
54
|
+
--s-step: calc(var(--s-full) / 12);
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
// ============================================================================
|
|
58
|
+
// $ RESPONSIVE BREAKPOINTS
|
|
59
|
+
// ----------------------------------------------------------------------------
|
|
60
|
+
@breakpoint-lg: 1264px;
|
|
61
|
+
@breakpoint-md: 980px;
|
|
62
|
+
@breakpoint-sm: 640px;
|
|
63
|
+
|
|
64
|
+
// ============================================================================
|
|
65
|
+
// $ SCROLLBAR STYLING
|
|
66
|
+
// ----------------------------------------------------------------------------
|
|
67
|
+
@scrollbar-styles: {
|
|
68
|
+
&::-webkit-scrollbar {
|
|
69
|
+
width: calc(var(--su-static12) - var(--su-static2));
|
|
70
|
+
height: calc(var(--su-static12) - var(--su-static2));
|
|
71
|
+
background-color: transparent;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
&::-webkit-scrollbar-track {
|
|
75
|
+
border-radius: calc(var(--su-static12) - var(--su-static2));
|
|
76
|
+
background-color: transparent;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
&::-webkit-scrollbar-thumb {
|
|
80
|
+
border-radius: calc(var(--su-static12) - var(--su-static2));
|
|
81
|
+
background-color: var(--scrollbar);
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
&::-webkit-scrollbar-corner {
|
|
85
|
+
background-color: transparent;
|
|
86
|
+
border-color: transparent;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
scrollbar-color: var(--scrollbar) transparent;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
// ============================================================================
|
|
93
|
+
// $ FOCUS STYLING
|
|
94
|
+
// ----------------------------------------------------------------------------
|
|
95
|
+
@focus-styles: {
|
|
96
|
+
// Hide focus styles if they're not needed, for example,
|
|
97
|
+
// when an element receives focus via the mouse.
|
|
98
|
+
&:focus:not(:focus-visible) {
|
|
99
|
+
outline: none;
|
|
100
|
+
box-shadow: none;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
// Show focus styles on keyboard focus.
|
|
104
|
+
&:focus-visible {
|
|
105
|
+
outline: none;
|
|
106
|
+
box-shadow: 0 0 0 var(--su-static4) var(--focus-ring-muted);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
@@ -1,155 +1,155 @@
|
|
|
1
|
-
//
|
|
2
|
-
// STACK OVERFLOW
|
|
3
|
-
// CONSTANTS -- 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
|
-
// These are the Stacks type variables. These should be used in place of
|
|
10
|
-
// hard-coded values within CSS declarations.
|
|
11
|
-
//
|
|
12
|
-
//
|
|
13
|
-
// ============================================================================
|
|
14
|
-
// $ FONT FAMILY (ff-)
|
|
15
|
-
// ----------------------------------------------------------------------------
|
|
16
|
-
|
|
17
|
-
// Add Segoe UI Adjusted as a font family, and adjust its baseline
|
|
18
|
-
@font-face {
|
|
19
|
-
font-family: "Segoe UI Adjusted";
|
|
20
|
-
src: local(Segoe UI);
|
|
21
|
-
ascent-override: 95%;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
// Segoe UI is variable, but only in Windows 11, so add all the variants
|
|
25
|
-
@font-face {
|
|
26
|
-
font-family: "Segoe UI Adjusted";
|
|
27
|
-
src: local(Segoe UI Italic);
|
|
28
|
-
ascent-override: 95%;
|
|
29
|
-
font-style: italic;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
@font-face {
|
|
33
|
-
font-family: "Segoe UI Adjusted";
|
|
34
|
-
src: local(Segoe UI Semibold);
|
|
35
|
-
ascent-override: 95%;
|
|
36
|
-
font-weight: 600;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
@font-face {
|
|
40
|
-
font-family: "Segoe UI Adjusted";
|
|
41
|
-
src: local(Segoe UI Semibold Italic);
|
|
42
|
-
ascent-override: 95%;
|
|
43
|
-
font-style: italic;
|
|
44
|
-
font-weight: 600;
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
@font-face {
|
|
48
|
-
font-family: "Segoe UI Adjusted";
|
|
49
|
-
src: local(Segoe UI Bold);
|
|
50
|
-
ascent-override: 90%;
|
|
51
|
-
font-weight: 700;
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
@font-face {
|
|
55
|
-
font-family: "Segoe UI Adjusted";
|
|
56
|
-
src: local(Segoe UI Bold Italic);
|
|
57
|
-
ascent-override: 95%;
|
|
58
|
-
font-style: italic;
|
|
59
|
-
font-weight: 700;
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
@font-face {
|
|
63
|
-
font-family: "Segoe UI Adjusted";
|
|
64
|
-
src: local(Segoe UI Black);
|
|
65
|
-
ascent-override: 95%;
|
|
66
|
-
font-weight: 800;
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
@font-face {
|
|
70
|
-
font-family: "Segoe UI Adjusted";
|
|
71
|
-
src: local(Segoe UI Black Italic);
|
|
72
|
-
ascent-override: 95%;
|
|
73
|
-
font-style: italic;
|
|
74
|
-
font-weight: 800;
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
// TODO remove font-family Less variables. Keeping them here for now for comments.
|
|
78
|
-
@ff-sans:
|
|
79
|
-
-apple-system, BlinkMacSystemFont, // San Francisco on macOS and iOS
|
|
80
|
-
"Segoe UI Adjusted", "Segoe UI", // Windows
|
|
81
|
-
"Liberation Sans", // Linux
|
|
82
|
-
sans-serif; // The final fallback for rendering in sans-serif.
|
|
83
|
-
@ff-serif: Georgia, Cambria, "Times New Roman", Times, serif;
|
|
84
|
-
@ff-mono:
|
|
85
|
-
ui-monospace, // San Francisco Mono on macOS and iOS
|
|
86
|
-
"Cascadia Mono", "Segoe UI Mono", // Newer Windows monospace fonts that are optionally installed. Most likely to be rendered in Consolas
|
|
87
|
-
"Liberation Mono", // Linux
|
|
88
|
-
Menlo, Monaco, Consolas, // A few sensible system font choices
|
|
89
|
-
monospace; // The final fallback for rendering in monospace.
|
|
90
|
-
|
|
91
|
-
html,
|
|
92
|
-
body {
|
|
93
|
-
--ff-sans: @ff-sans;
|
|
94
|
-
--ff-serif: @ff-serif;
|
|
95
|
-
--ff-mono: @ff-mono;
|
|
96
|
-
--theme-body-font-family: var(--ff-sans);
|
|
97
|
-
|
|
98
|
-
// ============================================================================
|
|
99
|
-
// $ FONT SIZES (fs-)
|
|
100
|
-
// Base font-size is 13px.
|
|
101
|
-
// ----------------------------------------------------------------------------
|
|
102
|
-
--fs-fine: 11px;
|
|
103
|
-
--fs-caption: 12px;
|
|
104
|
-
--fs-body1: 13px;
|
|
105
|
-
|
|
106
|
-
// Relative to the root element
|
|
107
|
-
--fs-body2: 1.153846154rem;
|
|
108
|
-
--fs-body3: 1.307692308rem;
|
|
109
|
-
--fs-subheading: 1.461538462rem;
|
|
110
|
-
--fs-title: 1.615384615rem;
|
|
111
|
-
--fs-headline1: 2.076923077rem;
|
|
112
|
-
--fs-headline2: 2.615384615rem;
|
|
113
|
-
--fs-display1: 3.307692308rem;
|
|
114
|
-
--fs-display2: 4.230769231rem;
|
|
115
|
-
--fs-display3: 5.307692308rem;
|
|
116
|
-
--fs-display4: 7.615384615rem;
|
|
117
|
-
|
|
118
|
-
// Relative to the parent
|
|
119
|
-
--fs-body2-relative: 1.153846154em;
|
|
120
|
-
--fs-body3-relative: 1.307692308em;
|
|
121
|
-
--fs-subheading-relative: 1.461538462em;
|
|
122
|
-
--fs-title-relative: 1.615384615em;
|
|
123
|
-
--fs-headline1-relative: 2.076923077em;
|
|
124
|
-
--fs-headline2-relative: 2.615384615em;
|
|
125
|
-
--fs-display1-relative: 3.307692308em;
|
|
126
|
-
--fs-display2-relative: 4.230769231em;
|
|
127
|
-
--fs-display3-relative: 5.307692308em;
|
|
128
|
-
--fs-display4-relative: 7.615384615em;
|
|
129
|
-
|
|
130
|
-
// this value is not using spacing units because the calc involved results
|
|
131
|
-
// in unexpected sizing. I'm not sure why, honestly.
|
|
132
|
-
--fs-base: 13px;
|
|
133
|
-
|
|
134
|
-
// ============================================================================
|
|
135
|
-
// $ LINE HEIGHT (lh-)
|
|
136
|
-
// ----------------------------------------------------------------------------
|
|
137
|
-
// Need to remove the unit off the font-size to make line-height unitless
|
|
138
|
-
// FIXME this shouldn't be public. Find a way to use unitless `--fs-base`.
|
|
139
|
-
--stacks-internals-lh-unit: 13;
|
|
140
|
-
|
|
141
|
-
// Now the various line-height variables
|
|
142
|
-
--lh-xs: 1;
|
|
143
|
-
--lh-sm: calc((var(--stacks-internals-lh-unit) + 2) / var(--stacks-internals-lh-unit));
|
|
144
|
-
--lh-md: calc((var(--stacks-internals-lh-unit) + 4) / var(--stacks-internals-lh-unit));
|
|
145
|
-
--lh-lg: calc((var(--stacks-internals-lh-unit) + 8) / var(--stacks-internals-lh-unit));
|
|
146
|
-
--lh-xl: calc((var(--stacks-internals-lh-unit) + 12) / var(--stacks-internals-lh-unit));
|
|
147
|
-
--lh-xxl: 2;
|
|
148
|
-
|
|
149
|
-
--lh-base: var(--lh-md);
|
|
150
|
-
|
|
151
|
-
// Holdover line-heights from production. These are NOT to be used and
|
|
152
|
-
// need to be deprecated.
|
|
153
|
-
// ----------------------------------------------------------------------------
|
|
154
|
-
--lh-6: ((var(--stacks-internals-lh-unit) + 6) / var(--stacks-internals-lh-unit));
|
|
155
|
-
}
|
|
1
|
+
//
|
|
2
|
+
// STACK OVERFLOW
|
|
3
|
+
// CONSTANTS -- 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
|
+
// These are the Stacks type variables. These should be used in place of
|
|
10
|
+
// hard-coded values within CSS declarations.
|
|
11
|
+
//
|
|
12
|
+
//
|
|
13
|
+
// ============================================================================
|
|
14
|
+
// $ FONT FAMILY (ff-)
|
|
15
|
+
// ----------------------------------------------------------------------------
|
|
16
|
+
|
|
17
|
+
// Add Segoe UI Adjusted as a font family, and adjust its baseline
|
|
18
|
+
@font-face {
|
|
19
|
+
font-family: "Segoe UI Adjusted";
|
|
20
|
+
src: local(Segoe UI);
|
|
21
|
+
ascent-override: 95%;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
// Segoe UI is variable, but only in Windows 11, so add all the variants
|
|
25
|
+
@font-face {
|
|
26
|
+
font-family: "Segoe UI Adjusted";
|
|
27
|
+
src: local(Segoe UI Italic);
|
|
28
|
+
ascent-override: 95%;
|
|
29
|
+
font-style: italic;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
@font-face {
|
|
33
|
+
font-family: "Segoe UI Adjusted";
|
|
34
|
+
src: local(Segoe UI Semibold);
|
|
35
|
+
ascent-override: 95%;
|
|
36
|
+
font-weight: 600;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
@font-face {
|
|
40
|
+
font-family: "Segoe UI Adjusted";
|
|
41
|
+
src: local(Segoe UI Semibold Italic);
|
|
42
|
+
ascent-override: 95%;
|
|
43
|
+
font-style: italic;
|
|
44
|
+
font-weight: 600;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
@font-face {
|
|
48
|
+
font-family: "Segoe UI Adjusted";
|
|
49
|
+
src: local(Segoe UI Bold);
|
|
50
|
+
ascent-override: 90%;
|
|
51
|
+
font-weight: 700;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
@font-face {
|
|
55
|
+
font-family: "Segoe UI Adjusted";
|
|
56
|
+
src: local(Segoe UI Bold Italic);
|
|
57
|
+
ascent-override: 95%;
|
|
58
|
+
font-style: italic;
|
|
59
|
+
font-weight: 700;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
@font-face {
|
|
63
|
+
font-family: "Segoe UI Adjusted";
|
|
64
|
+
src: local(Segoe UI Black);
|
|
65
|
+
ascent-override: 95%;
|
|
66
|
+
font-weight: 800;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
@font-face {
|
|
70
|
+
font-family: "Segoe UI Adjusted";
|
|
71
|
+
src: local(Segoe UI Black Italic);
|
|
72
|
+
ascent-override: 95%;
|
|
73
|
+
font-style: italic;
|
|
74
|
+
font-weight: 800;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
// TODO remove font-family Less variables. Keeping them here for now for comments.
|
|
78
|
+
@ff-sans:
|
|
79
|
+
-apple-system, BlinkMacSystemFont, // San Francisco on macOS and iOS
|
|
80
|
+
"Segoe UI Adjusted", "Segoe UI", // Windows
|
|
81
|
+
"Liberation Sans", // Linux
|
|
82
|
+
sans-serif; // The final fallback for rendering in sans-serif.
|
|
83
|
+
@ff-serif: Georgia, Cambria, "Times New Roman", Times, serif;
|
|
84
|
+
@ff-mono:
|
|
85
|
+
ui-monospace, // San Francisco Mono on macOS and iOS
|
|
86
|
+
"Cascadia Mono", "Segoe UI Mono", // Newer Windows monospace fonts that are optionally installed. Most likely to be rendered in Consolas
|
|
87
|
+
"Liberation Mono", // Linux
|
|
88
|
+
Menlo, Monaco, Consolas, // A few sensible system font choices
|
|
89
|
+
monospace; // The final fallback for rendering in monospace.
|
|
90
|
+
|
|
91
|
+
html,
|
|
92
|
+
body {
|
|
93
|
+
--ff-sans: @ff-sans;
|
|
94
|
+
--ff-serif: @ff-serif;
|
|
95
|
+
--ff-mono: @ff-mono;
|
|
96
|
+
--theme-body-font-family: var(--ff-sans);
|
|
97
|
+
|
|
98
|
+
// ============================================================================
|
|
99
|
+
// $ FONT SIZES (fs-)
|
|
100
|
+
// Base font-size is 13px.
|
|
101
|
+
// ----------------------------------------------------------------------------
|
|
102
|
+
--fs-fine: 11px;
|
|
103
|
+
--fs-caption: 12px;
|
|
104
|
+
--fs-body1: 13px;
|
|
105
|
+
|
|
106
|
+
// Relative to the root element
|
|
107
|
+
--fs-body2: 1.153846154rem;
|
|
108
|
+
--fs-body3: 1.307692308rem;
|
|
109
|
+
--fs-subheading: 1.461538462rem;
|
|
110
|
+
--fs-title: 1.615384615rem;
|
|
111
|
+
--fs-headline1: 2.076923077rem;
|
|
112
|
+
--fs-headline2: 2.615384615rem;
|
|
113
|
+
--fs-display1: 3.307692308rem;
|
|
114
|
+
--fs-display2: 4.230769231rem;
|
|
115
|
+
--fs-display3: 5.307692308rem;
|
|
116
|
+
--fs-display4: 7.615384615rem;
|
|
117
|
+
|
|
118
|
+
// Relative to the parent
|
|
119
|
+
--fs-body2-relative: 1.153846154em;
|
|
120
|
+
--fs-body3-relative: 1.307692308em;
|
|
121
|
+
--fs-subheading-relative: 1.461538462em;
|
|
122
|
+
--fs-title-relative: 1.615384615em;
|
|
123
|
+
--fs-headline1-relative: 2.076923077em;
|
|
124
|
+
--fs-headline2-relative: 2.615384615em;
|
|
125
|
+
--fs-display1-relative: 3.307692308em;
|
|
126
|
+
--fs-display2-relative: 4.230769231em;
|
|
127
|
+
--fs-display3-relative: 5.307692308em;
|
|
128
|
+
--fs-display4-relative: 7.615384615em;
|
|
129
|
+
|
|
130
|
+
// this value is not using spacing units because the calc involved results
|
|
131
|
+
// in unexpected sizing. I'm not sure why, honestly.
|
|
132
|
+
--fs-base: 13px;
|
|
133
|
+
|
|
134
|
+
// ============================================================================
|
|
135
|
+
// $ LINE HEIGHT (lh-)
|
|
136
|
+
// ----------------------------------------------------------------------------
|
|
137
|
+
// Need to remove the unit off the font-size to make line-height unitless
|
|
138
|
+
// FIXME this shouldn't be public. Find a way to use unitless `--fs-base`.
|
|
139
|
+
--stacks-internals-lh-unit: 13;
|
|
140
|
+
|
|
141
|
+
// Now the various line-height variables
|
|
142
|
+
--lh-xs: 1;
|
|
143
|
+
--lh-sm: calc((var(--stacks-internals-lh-unit) + 2) / var(--stacks-internals-lh-unit));
|
|
144
|
+
--lh-md: calc((var(--stacks-internals-lh-unit) + 4) / var(--stacks-internals-lh-unit));
|
|
145
|
+
--lh-lg: calc((var(--stacks-internals-lh-unit) + 8) / var(--stacks-internals-lh-unit));
|
|
146
|
+
--lh-xl: calc((var(--stacks-internals-lh-unit) + 12) / var(--stacks-internals-lh-unit));
|
|
147
|
+
--lh-xxl: 2;
|
|
148
|
+
|
|
149
|
+
--lh-base: var(--lh-md);
|
|
150
|
+
|
|
151
|
+
// Holdover line-heights from production. These are NOT to be used and
|
|
152
|
+
// need to be deprecated.
|
|
153
|
+
// ----------------------------------------------------------------------------
|
|
154
|
+
--lh-6: ((var(--stacks-internals-lh-unit) + 6) / var(--stacks-internals-lh-unit));
|
|
155
|
+
}
|
package/lib/exports/exports.less
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
//
|
|
2
|
-
// STACK OVERFLOW
|
|
3
|
-
// VARIABLES
|
|
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
|
-
// Wherein we establish a bunch of values to make our lives a lot easier.
|
|
10
|
-
//
|
|
11
|
-
// ============================================================================
|
|
12
|
-
@import "constants-type.less"; // Type styles, sizes, and line-heights
|
|
13
|
-
@import "constants-helpers.less"; // Border radius, z-index, spacing, transitions, etc
|
|
14
|
-
@import "color.less"; // Colors v2
|
|
15
|
-
@import "mixins.less";
|
|
1
|
+
//
|
|
2
|
+
// STACK OVERFLOW
|
|
3
|
+
// VARIABLES
|
|
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
|
+
// Wherein we establish a bunch of values to make our lives a lot easier.
|
|
10
|
+
//
|
|
11
|
+
// ============================================================================
|
|
12
|
+
@import "constants-type.less"; // Type styles, sizes, and line-heights
|
|
13
|
+
@import "constants-helpers.less"; // Border radius, z-index, spacing, transitions, etc
|
|
14
|
+
@import "color.less"; // Colors v2
|
|
15
|
+
@import "mixins.less";
|