@chassis-ui/docs 0.1.0

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 (63) hide show
  1. package/README.md +98 -0
  2. package/index.ts +7 -0
  3. package/package.json +66 -0
  4. package/src/components/DocsSidebar.astro +89 -0
  5. package/src/components/NavDocsMenu.astro +26 -0
  6. package/src/components/NavLink.astro +24 -0
  7. package/src/components/ResponsiveImage.astro +31 -0
  8. package/src/components/TableOfContents.astro +31 -0
  9. package/src/components/ThemeToggler.astro +70 -0
  10. package/src/components/shortcodes/AddedIn.astro +13 -0
  11. package/src/components/shortcodes/Callout.astro +37 -0
  12. package/src/components/shortcodes/CxTable.astro +16 -0
  13. package/src/js/color-modes.js +82 -0
  14. package/src/js/icon-loader.js +220 -0
  15. package/src/js/search.js +58 -0
  16. package/src/js/sidebar.js +30 -0
  17. package/src/js/theme-color.js +126 -0
  18. package/src/layouts/BaseLayout.astro +94 -0
  19. package/src/layouts/DocsLayout.astro +147 -0
  20. package/src/layouts/IconsLayout.astro +19 -0
  21. package/src/layouts/RedirectLayout.astro +23 -0
  22. package/src/layouts/SingleLayout.astro +33 -0
  23. package/src/layouts/footer/Footer.astro +56 -0
  24. package/src/layouts/footer/Scripts.astro +22 -0
  25. package/src/layouts/head/Analytics.astro +22 -0
  26. package/src/layouts/head/Favicons.astro +11 -0
  27. package/src/layouts/head/Head.astro +54 -0
  28. package/src/layouts/head/Scss.astro +9 -0
  29. package/src/layouts/head/Social.astro +38 -0
  30. package/src/layouts/head/Stylesheet.astro +15 -0
  31. package/src/layouts/header/Header.astro +19 -0
  32. package/src/layouts/header/Navigation.astro +121 -0
  33. package/src/layouts/header/Skippy.astro +22 -0
  34. package/src/libs/image.ts +13 -0
  35. package/src/libs/layout.ts +7 -0
  36. package/src/libs/rehype.ts +38 -0
  37. package/src/libs/remark.ts +205 -0
  38. package/src/libs/toc.ts +44 -0
  39. package/src/libs/utils.ts +122 -0
  40. package/src/scss/_anchor.scss +21 -0
  41. package/src/scss/_brand.scss +59 -0
  42. package/src/scss/_buttons.scss +36 -0
  43. package/src/scss/_callouts.scss +40 -0
  44. package/src/scss/_clipboard-js.scss +63 -0
  45. package/src/scss/_code.scss +116 -0
  46. package/src/scss/_colors.scss +140 -0
  47. package/src/scss/_content.scss +141 -0
  48. package/src/scss/_docsearch.scss +174 -0
  49. package/src/scss/_footer.scss +29 -0
  50. package/src/scss/_layout.scss +72 -0
  51. package/src/scss/_masthead.scss +124 -0
  52. package/src/scss/_navbar.scss +138 -0
  53. package/src/scss/_placeholder-img.scss +15 -0
  54. package/src/scss/_scrolling.scss +16 -0
  55. package/src/scss/_settings.scss +37 -0
  56. package/src/scss/_sidebar.scss +161 -0
  57. package/src/scss/_skippy.scss +7 -0
  58. package/src/scss/_syntax.scss +158 -0
  59. package/src/scss/_toc.scss +117 -0
  60. package/src/scss/_variables.scss +78 -0
  61. package/src/scss/fonts.scss +1 -0
  62. package/src/scss/main.scss +90 -0
  63. package/src/scss/search.scss +26 -0
@@ -0,0 +1,140 @@
1
+ // Colors used in Chassis Docs for custom components and syntax highlighting.
2
+
3
+ $aqua: #0cc !default;
4
+ $black: #000 !default;
5
+ $blue: #00f !default;
6
+ $cyan: #0cf !default;
7
+ $green: #090 !default;
8
+ $gray: #999 !default;
9
+ $graydark: #666 !default;
10
+ $fuchsia: #c0c !default;
11
+ $indigo: #639 !default;
12
+ $olive: #990 !default;
13
+ $orange: #f90 !default;
14
+ $red: #f00 !default;
15
+ $pink: #f39 !default;
16
+ $purple: #90f !default;
17
+ $teal: #099 !default;
18
+ $violet: #c3c !default;
19
+ $white: #fff !default;
20
+ $yellow: #fc0 !default;
21
+
22
+ // $gray-100: #f8f9fa !default;
23
+ // $gray-200: #e9ecef !default;
24
+ // $gray-300: #dee2e6 !default;
25
+ // $gray-400: #ced4da !default;
26
+ // $gray-500: #adb5bd !default;
27
+ // $gray-600: #6c757d !default;
28
+ // $gray-700: #495057 !default;
29
+ // $gray-800: #343a40 !default;
30
+ // $gray-900: #212529 !default;
31
+
32
+ $gray-100: tint-color($gray, 80%) !default;
33
+ $gray-200: tint-color($gray, 60%) !default;
34
+ $gray-300: tint-color($gray, 40%) !default;
35
+ $gray-400: tint-color($gray, 20%) !default;
36
+ $gray-500: $gray !default;
37
+ $gray-600: shade-color($gray, 20%) !default;
38
+ $gray-700: shade-color($gray, 40%) !default;
39
+ $gray-800: shade-color($gray, 60%) !default;
40
+ $gray-900: shade-color($gray, 80%) !default;
41
+
42
+ $blue-100: tint-color($blue, 80%) !default;
43
+ $blue-200: tint-color($blue, 60%) !default;
44
+ $blue-300: tint-color($blue, 40%) !default;
45
+ $blue-400: tint-color($blue, 20%) !default;
46
+ $blue-500: $blue !default;
47
+ $blue-600: shade-color($blue, 20%) !default;
48
+ $blue-700: shade-color($blue, 40%) !default;
49
+ $blue-800: shade-color($blue, 60%) !default;
50
+ $blue-900: shade-color($blue, 80%) !default;
51
+
52
+ $indigo-100: tint-color($indigo, 80%) !default;
53
+ $indigo-200: tint-color($indigo, 60%) !default;
54
+ $indigo-300: tint-color($indigo, 40%) !default;
55
+ $indigo-400: tint-color($indigo, 20%) !default;
56
+ $indigo-500: $indigo !default;
57
+ $indigo-600: shade-color($indigo, 20%) !default;
58
+ $indigo-700: shade-color($indigo, 40%) !default;
59
+ $indigo-800: shade-color($indigo, 60%) !default;
60
+ $indigo-900: shade-color($indigo, 80%) !default;
61
+
62
+ $purple-100: tint-color($purple, 80%) !default;
63
+ $purple-200: tint-color($purple, 60%) !default;
64
+ $purple-300: tint-color($purple, 40%) !default;
65
+ $purple-400: tint-color($purple, 20%) !default;
66
+ $purple-500: $purple !default;
67
+ $purple-600: shade-color($purple, 20%) !default;
68
+ $purple-700: shade-color($purple, 40%) !default;
69
+ $purple-800: shade-color($purple, 60%) !default;
70
+ $purple-900: shade-color($purple, 80%) !default;
71
+
72
+ $pink-100: tint-color($pink, 80%) !default;
73
+ $pink-200: tint-color($pink, 60%) !default;
74
+ $pink-300: tint-color($pink, 40%) !default;
75
+ $pink-400: tint-color($pink, 20%) !default;
76
+ $pink-500: $pink !default;
77
+ $pink-600: shade-color($pink, 20%) !default;
78
+ $pink-700: shade-color($pink, 40%) !default;
79
+ $pink-800: shade-color($pink, 60%) !default;
80
+ $pink-900: shade-color($pink, 80%) !default;
81
+
82
+ $red-100: tint-color($red, 80%) !default;
83
+ $red-200: tint-color($red, 60%) !default;
84
+ $red-300: tint-color($red, 40%) !default;
85
+ $red-400: tint-color($red, 20%) !default;
86
+ $red-500: $red !default;
87
+ $red-600: shade-color($red, 20%) !default;
88
+ $red-700: shade-color($red, 40%) !default;
89
+ $red-800: shade-color($red, 60%) !default;
90
+ $red-900: shade-color($red, 80%) !default;
91
+
92
+ $orange-100: tint-color($orange, 80%) !default;
93
+ $orange-200: tint-color($orange, 60%) !default;
94
+ $orange-300: tint-color($orange, 40%) !default;
95
+ $orange-400: tint-color($orange, 20%) !default;
96
+ $orange-500: $orange !default;
97
+ $orange-600: shade-color($orange, 20%) !default;
98
+ $orange-700: shade-color($orange, 40%) !default;
99
+ $orange-800: shade-color($orange, 60%) !default;
100
+ $orange-900: shade-color($orange, 80%) !default;
101
+
102
+ $yellow-100: tint-color($yellow, 80%) !default;
103
+ $yellow-200: tint-color($yellow, 60%) !default;
104
+ $yellow-300: tint-color($yellow, 40%) !default;
105
+ $yellow-400: tint-color($yellow, 20%) !default;
106
+ $yellow-500: $yellow !default;
107
+ $yellow-600: shade-color($yellow, 20%) !default;
108
+ $yellow-700: shade-color($yellow, 40%) !default;
109
+ $yellow-800: shade-color($yellow, 60%) !default;
110
+ $yellow-900: shade-color($yellow, 80%) !default;
111
+
112
+ $green-100: tint-color($green, 80%) !default;
113
+ $green-200: tint-color($green, 60%) !default;
114
+ $green-300: tint-color($green, 40%) !default;
115
+ $green-400: tint-color($green, 20%) !default;
116
+ $green-500: $green !default;
117
+ $green-600: shade-color($green, 20%) !default;
118
+ $green-700: shade-color($green, 40%) !default;
119
+ $green-800: shade-color($green, 60%) !default;
120
+ $green-900: shade-color($green, 80%) !default;
121
+
122
+ $teal-100: tint-color($teal, 80%) !default;
123
+ $teal-200: tint-color($teal, 60%) !default;
124
+ $teal-300: tint-color($teal, 40%) !default;
125
+ $teal-400: tint-color($teal, 20%) !default;
126
+ $teal-500: $teal !default;
127
+ $teal-600: shade-color($teal, 20%) !default;
128
+ $teal-700: shade-color($teal, 40%) !default;
129
+ $teal-800: shade-color($teal, 60%) !default;
130
+ $teal-900: shade-color($teal, 80%) !default;
131
+
132
+ $cyan-100: tint-color($cyan, 80%) !default;
133
+ $cyan-200: tint-color($cyan, 60%) !default;
134
+ $cyan-300: tint-color($cyan, 40%) !default;
135
+ $cyan-400: tint-color($cyan, 20%) !default;
136
+ $cyan-500: $cyan !default;
137
+ $cyan-600: shade-color($cyan, 20%) !default;
138
+ $cyan-700: shade-color($cyan, 40%) !default;
139
+ $cyan-800: shade-color($cyan, 60%) !default;
140
+ $cyan-900: shade-color($cyan, 80%) !default;
@@ -0,0 +1,141 @@
1
+ //
2
+ // Chassis - CSS docs content theming
3
+ //
4
+
5
+ .cxd-content {
6
+ padding-bottom: 2rem;
7
+ > h2,
8
+ > h3,
9
+ > h4 {
10
+ --cx-heading-color: var(--cx-fg-main);
11
+ }
12
+
13
+ // Offset content from fixed navbar when jumping to headings
14
+ > h2:not(:first-child) {
15
+ margin-top: 3rem;
16
+ }
17
+
18
+ > h3 {
19
+ margin-top: 2rem;
20
+ }
21
+
22
+ > ul li,
23
+ > ol li {
24
+ margin-bottom: .25rem;
25
+
26
+ // stylelint-disable selector-max-type, selector-max-compound-selectors
27
+ > p ~ ul {
28
+ margin-top: -.5rem;
29
+ margin-bottom: 1rem;
30
+ }
31
+ // stylelint-enable selector-max-type, selector-max-compound-selectors
32
+ }
33
+
34
+ // Override Chassis - CSS defaults
35
+ > .table,
36
+ > .table-responsive .table {
37
+ // --cx-table-border-color: var(--cx-border-color);
38
+
39
+ max-width: 100%;
40
+ margin-bottom: 1.5rem;
41
+ @include font-size(.875rem);
42
+
43
+ @include media-breakpoint-down(large) {
44
+ &.table-bordered {
45
+ border: 0;
46
+ }
47
+ }
48
+
49
+ thead {
50
+ border-bottom: 2px solid currentcolor;
51
+ }
52
+
53
+ tbody:not(:first-child) {
54
+ border-top: 2px solid currentcolor;
55
+ }
56
+
57
+ th,
58
+ td {
59
+ &:first-child {
60
+ padding-left: 0;
61
+ }
62
+
63
+ &:not(:last-child) {
64
+ padding-right: 1.5rem;
65
+ }
66
+ }
67
+
68
+ th {
69
+ color: var(--cx-fg-main);
70
+ }
71
+
72
+ strong {
73
+ color: var(--cx-fg-main);
74
+ }
75
+
76
+ // Prevent breaking of code
77
+ th,
78
+ td:first-child > code { // stylelint-disable-line selector-max-compound-selectors
79
+ white-space: nowrap;
80
+ }
81
+ }
82
+ }
83
+
84
+ .table-options {
85
+ td:nth-child(2) {
86
+ min-width: 160px;
87
+ }
88
+ }
89
+
90
+ .table-options td:last-child,
91
+ .table-utilities td:last-child {
92
+ min-width: 280px;
93
+ }
94
+
95
+ .table-swatches {
96
+ th {
97
+ color: var(--cx-fg-main);
98
+ }
99
+
100
+ td code {
101
+ white-space: nowrap;
102
+ }
103
+ }
104
+
105
+ .cxd-title {
106
+ --cx-heading-color: var(--cx-fg-main);
107
+ --cx-font-size: 3rem;
108
+ }
109
+
110
+ .cxd-subtitle {
111
+ @include map-font($font-context-lead, "blockquote");
112
+ @include font();
113
+ // font-size: 1.2rem;
114
+ // line-height: 1.5em;
115
+ // font-family: var(--cx-font-family-display) !important;
116
+ }
117
+
118
+ .bi {
119
+ width: 1em;
120
+ height: 1em;
121
+ vertical-align: -.125em;
122
+ fill: currentcolor;
123
+ }
124
+
125
+ .border-large-start {
126
+ @include media-breakpoint-up(large) {
127
+ border-left: var(--cx-border-width) solid var(--cx-border-color);
128
+ }
129
+ }
130
+
131
+ // stylelint-disable selector-no-qualifying-type
132
+ .cxd-summary-link {
133
+ color: var(--cx-link-color);
134
+
135
+ &:hover,
136
+ details[open] > & {
137
+ color: var(--cx-hover-color);
138
+ }
139
+ }
140
+ // stylelint-enable selector-no-qualifying-type
141
+
@@ -0,0 +1,174 @@
1
+ // stylelint-disable selector-class-pattern
2
+
3
+ :root {
4
+ --docsearch-primary-color: var(--cxd-subtle);
5
+ --docsearch-logo-color: var(--cxd-subtle);
6
+ }
7
+
8
+ @include color-mode(dark, true) {
9
+ // From here, the values are copied from https://cdn.jsdelivr.net/npm/@docsearch/css@3
10
+ // in html[data-theme="dark"] selector
11
+ // and are slightly modified for formatting purpose
12
+ --docsearch-text-color: var(--cx-fg-main);
13
+ --docsearch-container-background: rgba(9, 10, 17, .8);
14
+ --docsearch-modal-background: #15172a;
15
+ --docsearch-modal-shadow: inset 1px 1px 0 0 #2c2e40, 0 3px 8px 0 #000309;
16
+ --docsearch-searchbox-background: var(--cx-bg-main, #fc0);
17
+ --docsearch-searchbox-focus-background:
18
+ var(--cx-bg-hover, #fc0)
19
+ --docsearch-hit-color: #bec3c9;
20
+ --docsearch-hit-shadow: none;
21
+ --docsearch-hit-background: #090a11;
22
+ --docsearch-key-gradient: linear-gradient(-26.5deg, #565872, #31355b);
23
+ --docsearch-key-shadow: inset 0 -2px 0 0 #282d55, inset 0 0 1px 1px #51577d, 0 2px 2px 0 rgba(3, 4, 9, .3);
24
+ --docsearch-footer-background: #1e2136;
25
+ --docsearch-footer-shadow: inset 0 1px 0 0 rgba(73, 76, 106, .5), 0 -4px 8px 0 rgba(0, 0, 0, .2);
26
+ --docsearch-muted-color: #7f8497;
27
+ }
28
+
29
+ .cxd-search {
30
+ position: relative;
31
+
32
+ @include media-breakpoint-up(large) {
33
+ position: absolute;
34
+ top: 20%;
35
+ right: 12rem;
36
+ width: 200px;
37
+ }
38
+ @include media-breakpoint-up(xlarge) {
39
+ // left: 50%;
40
+ width: 280px;
41
+ // margin-left: 12rem;
42
+ }
43
+
44
+
45
+ }
46
+
47
+ .DocSearch-Container {
48
+ // --docsearch-muted-color: var(--cx-fg-subtle);
49
+ // --docsearch-hit-shadow: none;
50
+
51
+ position: fixed;
52
+ z-index: 2000; // Make sure to be over all components showcased in the documentation
53
+ cursor: auto; // Needed because of [role="button"] in Algolia search modal. Remove once https://github.com/algolia/docsearch/issues/1370 is tackled.
54
+
55
+ @include media-breakpoint-up(large) {
56
+ padding-top: 4rem;
57
+ }
58
+ }
59
+
60
+ .DocSearch-Button {
61
+ --docsearch-searchbox-background: var(--cx-bg-main);
62
+ --docsearch-searchbox-color: var(--cx-fg-subtle);
63
+ --docsearch-searchbox-focus-background: var(--cx-bg-hover);
64
+ --docsearch-searchbox-shadow: none;
65
+ --docsearch-text-color: var(--cx-fg-subtle);
66
+ --docsearch-muted-color: var(--cx-fg-subtle);
67
+
68
+ width: 100%;
69
+ height: 38px; // Match Chassis - CSS inputs
70
+ margin: 0;
71
+ border: var(--cx-border-width-medium) solid var(--cx-border-subtle);
72
+ @include border-radius(var(--cx-border-radius-medium));
73
+
74
+ .DocSearch-Search-Icon {
75
+ opacity: .65;
76
+ }
77
+
78
+ &:active,
79
+ &:focus,
80
+ &:hover {
81
+ // border-color: rgba($cxd-accent, 1);
82
+
83
+ .DocSearch-Search-Icon {
84
+ opacity: 1;
85
+ }
86
+ }
87
+
88
+ @include media-breakpoint-down(large) {
89
+ &,
90
+ &:hover,
91
+ &:focus {
92
+ background: transparent;
93
+ border: 0;
94
+ box-shadow: none;
95
+ }
96
+ &:focus {
97
+ box-shadow: var(--docsearch-searchbox-shadow);
98
+ }
99
+ }
100
+ }
101
+
102
+ .DocSearch-Button-Keys,
103
+ .DocSearch-Button-Placeholder {
104
+ @include media-breakpoint-down(large) {
105
+ display: none;
106
+ }
107
+ }
108
+
109
+ .DocSearch-Button-Keys {
110
+ min-width: 0;
111
+ padding: .25rem;
112
+ background: var(--cx-bg-evident);
113
+ @include border-radius(var(--cx-border-radius-small));
114
+ }
115
+
116
+ .DocSearch-Button-Key {
117
+ top: 0;
118
+ width: auto;
119
+ // height: 1.25rem;
120
+ padding-right: .125rem;
121
+ padding-left: .125rem;
122
+ margin-right: 0;
123
+ // font-size: .875rem;
124
+ background: none;
125
+ box-shadow: none;
126
+ }
127
+
128
+ .DocSearch-Commands-Key {
129
+ // padding-left: 1px;
130
+ // font-size: .875rem;
131
+ // background-color: rgba($black, .1);
132
+ background-image: none;
133
+ box-shadow: none;
134
+ }
135
+
136
+ .DocSearch-Form {
137
+ @include border-radius(var(--cx-border-radius));
138
+ }
139
+
140
+ .DocSearch-Hits {
141
+ mark {
142
+ padding: 0;
143
+ }
144
+ }
145
+
146
+ .DocSearch-Hit {
147
+ padding-bottom: 0;
148
+ @include border-radius(0);
149
+
150
+ a {
151
+ @include border-radius(0);
152
+ border: solid var(--cx-border-color);
153
+ border-width: 0 1px 1px;
154
+ }
155
+
156
+ &:first-child a {
157
+ @include border-top-radius(var(--cx-border-radius));
158
+ border-top-width: 1px;
159
+ }
160
+ &:last-child a {
161
+ @include border-bottom-radius(var(--cx-border-radius));
162
+ }
163
+ }
164
+
165
+ .DocSearch-Hit-icon {
166
+ display: flex;
167
+ align-items: center;
168
+ }
169
+
170
+ // Fix --docsearch-logo-color that doesn't do anything
171
+ .DocSearch-Logo svg .cls-1,
172
+ .DocSearch-Logo svg .cls-2 {
173
+ fill: var(--docsearch-logo-color);
174
+ }
@@ -0,0 +1,29 @@
1
+ //
2
+ // Footer
3
+ //
4
+
5
+ .cxd-footer {
6
+ // margin-top: 0 !important;
7
+ // margin-top: 4rem;
8
+ --cx-fg-color: var(--cx-fg-subtle);
9
+ background-color: var(--cx-bg-evident);
10
+ // border-top: var(--cx-border-width) var(--cx-border-style) var(--cx-border-subtle);
11
+ .nav {
12
+ display: block;
13
+ > li {
14
+ display: list-item;
15
+ margin-bottom: var(--cx-space-xsmall);
16
+ }
17
+ }
18
+
19
+ a {
20
+ color: var(--cx-fg-color);
21
+ text-decoration: none;
22
+
23
+ &:hover,
24
+ &:focus {
25
+ color: var(--cx-hover-color);
26
+ text-decoration: underline;
27
+ }
28
+ }
29
+ }
@@ -0,0 +1,72 @@
1
+ .cxd-gutter {
2
+ --cx-gutter-x: #{$cxd-gutter-x};
3
+ }
4
+
5
+ .cxd-layout {
6
+ // padding: 1rem !important;
7
+
8
+ @include media-breakpoint-up(large) {
9
+ display: grid;
10
+ grid-template-areas: "sidebar main";
11
+ // grid-template-columns: 1.5fr 6.5fr;
12
+ grid-template-columns: 14rem auto;
13
+ // gap: $grid-gutter-width;
14
+ gap: $cxd-gutter-x;
15
+ padding: 0 1rem !important; // stylelint-disable-line declaration-no-important
16
+ margin: 0 auto;
17
+ }
18
+ }
19
+
20
+ .cxd-sidebar {
21
+ grid-area: sidebar;
22
+ }
23
+
24
+ .cxd-intro {
25
+ grid-area: intro;
26
+ margin-top: 2rem;
27
+ }
28
+
29
+ .cxd-main {
30
+ grid-area: main;
31
+ order: 1;
32
+
33
+ @include media-breakpoint-down(large) {
34
+ // max-width: 760px;
35
+ margin-inline: auto;
36
+ }
37
+
38
+ @include media-breakpoint-up(medium) {
39
+ display: grid;
40
+ grid-template-areas:
41
+ "intro"
42
+ "toc"
43
+ "content";
44
+ grid-template-rows: auto auto 1fr;
45
+ gap: inherit;
46
+ }
47
+
48
+ @include media-breakpoint-up(large) {
49
+ grid-template-areas:
50
+ "intro toc"
51
+ "content toc";
52
+ grid-template-rows: auto 1fr;
53
+ grid-template-columns: auto 14rem;
54
+ }
55
+ }
56
+
57
+ .cxd-toc {
58
+ grid-area: toc;
59
+ }
60
+
61
+ .cxd-content {
62
+ grid-area: content;
63
+ min-width: 1px; // Fix width when cxd-content contains a `<pre>` https://github.com/chassis-ui/css/issues/25410
64
+ }
65
+
66
+ .cxd-content,
67
+ .cxd-intro {
68
+ width: 100%;
69
+ max-width: 960px;
70
+ margin-right: auto;
71
+ margin-left: auto;
72
+ }
@@ -0,0 +1,124 @@
1
+ .cxd-masthead {
2
+ --cxd-pink-rgb: #{to-rgb($pink)};
3
+ padding: 3rem 0;
4
+ // stylelint-disable
5
+ background-image: linear-gradient(180deg, rgba(var(--cx-bg-main-rgb), .01), rgba(var(--cx-bg-main-rgb), 1) 85%),
6
+ radial-gradient(ellipse at top left, rgba(var(--cx-primary-rgb), .25), transparent 50%),
7
+ radial-gradient(ellipse at top right, rgba(var(--cx-secondary-rgb), .25), transparent 50%),
8
+ radial-gradient(ellipse at center right, rgba(var(--cx-secondary-rgb), .25), transparent 50%),
9
+ radial-gradient(ellipse at center left, rgba(var(--cx-secondary-rgb), .25), transparent 50%);
10
+ // stylelint-enable
11
+
12
+ h1 {
13
+ --cx-heading-color: var(--cx-fg-color);
14
+ @include font-size(4rem);
15
+ line-height: 1.25em;
16
+ }
17
+
18
+ .lead {
19
+ @include font-size(1rem);
20
+ font-family: var(--cx-font-family-display);
21
+ font-weight: 400;
22
+ line-height: 1.5em;
23
+ color: var(--cx-fg-subtle);
24
+ }
25
+
26
+ .cxd-code-snippet {
27
+ width: 24rem;
28
+ margin: 0;
29
+ text-align: left;
30
+ border-color: var(--cx-border-subtle);
31
+ border-width: 1px;
32
+ @include border-radius(.5rem);
33
+ }
34
+
35
+ // .highlight {
36
+ // width: 100%;
37
+ // padding: .5rem 1rem;
38
+ // overflow: hidden;
39
+ // text-overflow: ellipsis;
40
+ // white-space: nowrap;
41
+ // background-color: rgba(var(--cx-fg-color-rgb), .075);
42
+ // @include border-radius(calc(.5rem - 1px));
43
+
44
+ // @include media-breakpoint-up(large) {
45
+ // padding-right: 4rem;
46
+ // }
47
+
48
+ // pre {
49
+ // padding: 0;
50
+ // margin: .625rem 0;
51
+ // overflow: hidden;
52
+ // }
53
+ // }
54
+ // .button-clipboard {
55
+ // position: absolute;
56
+ // top: -.625rem;
57
+ // right: 0;
58
+ // background-color: transparent;
59
+ // }
60
+
61
+ #carbonads { // stylelint-disable-line selector-max-id
62
+ margin-inline: auto;
63
+ }
64
+
65
+ @include media-breakpoint-up(medium) {
66
+ .lead {
67
+ @include font-size(1.5rem);
68
+ }
69
+ }
70
+ }
71
+
72
+ .masthead-followup {
73
+ h2,
74
+ h3,
75
+ h4 {
76
+ --cx-heading-color: var(--cx-fg-color);
77
+ }
78
+
79
+ .lead {
80
+ @include font-size(1rem);
81
+ }
82
+
83
+ @include media-breakpoint-up(medium) {
84
+ .lead {
85
+ @include font-size(1.25rem);
86
+ }
87
+ }
88
+ }
89
+
90
+ .masthead-followup-icon {
91
+ padding: 1rem;
92
+ color: rgba(var(--bg-rgb), 1);
93
+ background-color: rgba(var(--bg-rgb), .1);
94
+ background-blend-mode: multiple;
95
+ @include border-radius(1rem);
96
+ mix-blend-mode: darken;
97
+
98
+ svg {
99
+ filter: drop-shadow(0 1px 1px var(--cx-bg-color));
100
+ }
101
+ }
102
+
103
+ .masthead-notice {
104
+ background-color: var(--cxd-accent);
105
+ box-shadow: inset 0 -1px 1px rgba(var(--cx-fg-color-rgb), .15), 0 .25rem 1.5rem rgba(var(--cx-bg-color-rgb), .75);
106
+ }
107
+
108
+ .animate-image {
109
+ > img {
110
+ @include transition(transform .2s ease-in-out);
111
+ }
112
+
113
+ &:hover > img {
114
+ transform: scale(1.1);
115
+ }
116
+ }
117
+
118
+ @if $enable-dark-mode {
119
+ [data-cx-theme="dark"] {
120
+ .masthead-followup-icon {
121
+ mix-blend-mode: lighten;
122
+ }
123
+ }
124
+ }