@cogenta/theme-magazine 1.1.2 → 1.3.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.
- package/dist/src/index.d.ts +3 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +3 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/render/article.d.ts +32 -0
- package/dist/src/render/article.d.ts.map +1 -0
- package/dist/src/render/article.js +137 -0
- package/dist/src/render/article.js.map +1 -0
- package/dist/src/render/blocks/accordion.d.ts.map +1 -1
- package/dist/src/render/blocks/accordion.js +9 -13
- package/dist/src/render/blocks/accordion.js.map +1 -1
- package/dist/src/render/blocks/collection-list.d.ts.map +1 -1
- package/dist/src/render/blocks/collection-list.js +91 -118
- package/dist/src/render/blocks/collection-list.js.map +1 -1
- package/dist/src/render/blocks/cta.d.ts +4 -4
- package/dist/src/render/blocks/cta.d.ts.map +1 -1
- package/dist/src/render/blocks/cta.js +7 -9
- package/dist/src/render/blocks/cta.js.map +1 -1
- package/dist/src/render/blocks/embed.d.ts.map +1 -1
- package/dist/src/render/blocks/embed.js +17 -20
- package/dist/src/render/blocks/embed.js.map +1 -1
- package/dist/src/render/blocks/faq.d.ts.map +1 -1
- package/dist/src/render/blocks/faq.js +12 -11
- package/dist/src/render/blocks/faq.js.map +1 -1
- package/dist/src/render/blocks/feature-grid.d.ts.map +1 -1
- package/dist/src/render/blocks/feature-grid.js +13 -20
- package/dist/src/render/blocks/feature-grid.js.map +1 -1
- package/dist/src/render/blocks/gallery.d.ts +6 -6
- package/dist/src/render/blocks/gallery.d.ts.map +1 -1
- package/dist/src/render/blocks/gallery.js +15 -13
- package/dist/src/render/blocks/gallery.js.map +1 -1
- package/dist/src/render/blocks/hero.d.ts +6 -5
- package/dist/src/render/blocks/hero.d.ts.map +1 -1
- package/dist/src/render/blocks/hero.js +15 -14
- package/dist/src/render/blocks/hero.js.map +1 -1
- package/dist/src/render/blocks/logo-strip.d.ts.map +1 -1
- package/dist/src/render/blocks/logo-strip.js +8 -11
- package/dist/src/render/blocks/logo-strip.js.map +1 -1
- package/dist/src/render/blocks/logos.d.ts.map +1 -1
- package/dist/src/render/blocks/logos.js +16 -16
- package/dist/src/render/blocks/logos.js.map +1 -1
- package/dist/src/render/blocks/media-figure.d.ts +8 -8
- package/dist/src/render/blocks/media-figure.d.ts.map +1 -1
- package/dist/src/render/blocks/media-figure.js +23 -19
- package/dist/src/render/blocks/media-figure.js.map +1 -1
- package/dist/src/render/blocks/pricing-table.d.ts.map +1 -1
- package/dist/src/render/blocks/pricing-table.js +19 -22
- package/dist/src/render/blocks/pricing-table.js.map +1 -1
- package/dist/src/render/blocks/prose.d.ts +6 -10
- package/dist/src/render/blocks/prose.d.ts.map +1 -1
- package/dist/src/render/blocks/prose.js +8 -11
- package/dist/src/render/blocks/prose.js.map +1 -1
- package/dist/src/render/blocks/quote.d.ts +6 -9
- package/dist/src/render/blocks/quote.d.ts.map +1 -1
- package/dist/src/render/blocks/quote.js +11 -13
- package/dist/src/render/blocks/quote.js.map +1 -1
- package/dist/src/render/blocks/stat-counter.d.ts.map +1 -1
- package/dist/src/render/blocks/stat-counter.js +9 -10
- package/dist/src/render/blocks/stat-counter.js.map +1 -1
- package/dist/src/render/blocks/stats.d.ts.map +1 -1
- package/dist/src/render/blocks/stats.js +9 -12
- package/dist/src/render/blocks/stats.js.map +1 -1
- package/dist/src/render/blocks/testimonial.d.ts +4 -13
- package/dist/src/render/blocks/testimonial.d.ts.map +1 -1
- package/dist/src/render/blocks/testimonial.js +7 -15
- package/dist/src/render/blocks/testimonial.js.map +1 -1
- package/dist/src/render/chrome.d.ts.map +1 -1
- package/dist/src/render/chrome.js +109 -97
- package/dist/src/render/chrome.js.map +1 -1
- package/dist/src/render/layout.d.ts +28 -0
- package/dist/src/render/layout.d.ts.map +1 -0
- package/dist/src/render/layout.js +72 -0
- package/dist/src/render/layout.js.map +1 -0
- package/dist/src/render/render-block.d.ts +15 -13
- package/dist/src/render/render-block.d.ts.map +1 -1
- package/dist/src/render/render-block.js +53 -29
- package/dist/src/render/render-block.js.map +1 -1
- package/dist/src/render/story.d.ts +41 -0
- package/dist/src/render/story.d.ts.map +1 -0
- package/dist/src/render/story.js +65 -0
- package/dist/src/render/story.js.map +1 -0
- package/dist/src/render/term-archive.d.ts +0 -10
- package/dist/src/render/term-archive.d.ts.map +1 -1
- package/dist/src/render/term-archive.js +42 -19
- package/dist/src/render/term-archive.js.map +1 -1
- package/dist/src/render/widget-areas.d.ts +12 -0
- package/dist/src/render/widget-areas.d.ts.map +1 -0
- package/dist/src/render/widget-areas.js +19 -0
- package/dist/src/render/widget-areas.js.map +1 -0
- package/dist/theme.config.js +2 -2
- package/dist/theme.config.js.map +1 -1
- package/package.json +5 -5
- package/src/index.ts +3 -0
- package/src/render/article.ts +239 -0
- package/src/render/blocks/accordion.ts +23 -30
- package/src/render/blocks/collection-list.ts +161 -225
- package/src/render/blocks/cta.ts +19 -13
- package/src/render/blocks/embed.ts +40 -36
- package/src/render/blocks/faq.ts +31 -36
- package/src/render/blocks/feature-grid.ts +26 -36
- package/src/render/blocks/gallery.ts +24 -18
- package/src/render/blocks/hero.ts +32 -32
- package/src/render/blocks/logo-strip.ts +17 -17
- package/src/render/blocks/logos.ts +23 -31
- package/src/render/blocks/media-figure.ts +36 -20
- package/src/render/blocks/pricing-table.ts +29 -34
- package/src/render/blocks/prose.ts +13 -13
- package/src/render/blocks/quote.ts +24 -24
- package/src/render/blocks/stat-counter.ts +16 -24
- package/src/render/blocks/stats.ts +14 -24
- package/src/render/blocks/testimonial.ts +12 -17
- package/src/render/chrome.ts +123 -104
- package/src/render/layout.ts +105 -0
- package/src/render/render-block.ts +61 -33
- package/src/render/story.ts +139 -0
- package/src/render/term-archive.ts +111 -58
- package/src/render/widget-areas.ts +22 -0
- package/src/styles/archive.css +114 -17
- package/src/styles/article.css +237 -0
- package/src/styles/base.css +848 -591
- package/src/styles/blocks.css +903 -921
- package/src/styles/stories.css +593 -0
- package/src/styles/theme.css +28 -9
- package/src/styles/tokens.css +200 -185
- package/src/styles/widgets.css +614 -0
- package/tokens.json +18 -18
|
@@ -0,0 +1,237 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* The article page: the header (kicker, headline, standfirst, byline and
|
|
3
|
+
* date between hairlines, lead photograph), the reading column, the pull
|
|
4
|
+
* quote hanging to its left, the drop cap, and the foot.
|
|
5
|
+
*
|
|
6
|
+
* On a wide screen the page sits on the twelve columns this way:
|
|
7
|
+
*
|
|
8
|
+
* columns 4 to 9 kicker, standfirst, byline, and the reading column
|
|
9
|
+
* columns 4 to 10 the headline, one column wider on the right
|
|
10
|
+
* columns 2 to 11 the lead photograph and any wide figure
|
|
11
|
+
* columns 3 to 8 a pull quote, hanging one column to the left
|
|
12
|
+
|
|
13
|
+
* The axis is centred, so the page balances on the screen however long the
|
|
14
|
+
* article runs.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
/* --------------------------------------------------------------------------
|
|
18
|
+
Header
|
|
19
|
+
-------------------------------------------------------------------------- */
|
|
20
|
+
|
|
21
|
+
.cg-article-head {
|
|
22
|
+
padding-block: calc(var(--cg-section) * 0.6) 0;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
.cg-article-head__inner {
|
|
26
|
+
row-gap: 0;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
.cg-article-head__kicker {
|
|
30
|
+
margin: 0 0 var(--cg-s4);
|
|
31
|
+
font-family: var(--cg-font-ui);
|
|
32
|
+
font-size: var(--cg-text-label);
|
|
33
|
+
font-weight: var(--cg-weight-bold);
|
|
34
|
+
line-height: 1.2;
|
|
35
|
+
letter-spacing: var(--cg-tracking-caps);
|
|
36
|
+
text-transform: uppercase;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
.cg-article-head__kicker-link {
|
|
40
|
+
display: inline-block;
|
|
41
|
+
padding-block-start: var(--cg-s2);
|
|
42
|
+
border-block-start: var(--cg-rule-heavy) solid var(--cg-accent);
|
|
43
|
+
color: var(--cg-accent);
|
|
44
|
+
text-decoration: none;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
a.cg-article-head__kicker-link:hover {
|
|
48
|
+
color: var(--cg-accent-hover);
|
|
49
|
+
border-color: var(--cg-accent-hover);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
.cg-article-head__title {
|
|
53
|
+
font-size: var(--cg-size-headline);
|
|
54
|
+
font-weight: var(--cg-weight-semibold);
|
|
55
|
+
line-height: var(--cg-leading-display);
|
|
56
|
+
letter-spacing: var(--cg-tracking-display);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
.cg-article-head__standfirst {
|
|
60
|
+
margin: var(--cg-s5) 0 0;
|
|
61
|
+
max-inline-size: 58ch;
|
|
62
|
+
color: var(--cg-ink);
|
|
63
|
+
font-family: var(--cg-font-text);
|
|
64
|
+
font-size: var(--cg-size-standfirst);
|
|
65
|
+
font-style: italic;
|
|
66
|
+
font-weight: var(--cg-weight-regular);
|
|
67
|
+
line-height: var(--cg-leading-snug);
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
.cg-article-head__meta {
|
|
71
|
+
display: flex;
|
|
72
|
+
flex-wrap: wrap;
|
|
73
|
+
align-items: baseline;
|
|
74
|
+
justify-content: space-between;
|
|
75
|
+
gap: var(--cg-s2) var(--cg-s6);
|
|
76
|
+
margin-block-start: var(--cg-s6);
|
|
77
|
+
padding-block: var(--cg-s3);
|
|
78
|
+
border-block: var(--cg-rule) solid var(--cg-line);
|
|
79
|
+
font-family: var(--cg-font-ui);
|
|
80
|
+
font-size: var(--cg-text-sm);
|
|
81
|
+
line-height: var(--cg-leading-ui);
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
/* A byline is a list of names; the separators are drawn here, so no word of
|
|
85
|
+
any language is written into the markup. */
|
|
86
|
+
.cg-byline {
|
|
87
|
+
display: flex;
|
|
88
|
+
flex-wrap: wrap;
|
|
89
|
+
margin: 0;
|
|
90
|
+
padding: 0;
|
|
91
|
+
list-style: none;
|
|
92
|
+
color: var(--cg-ink);
|
|
93
|
+
font-weight: var(--cg-weight-bold);
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
.cg-byline__name + .cg-byline__name::before {
|
|
97
|
+
content: ",\00a0";
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
.cg-byline__name:last-child:not(:first-child)::before {
|
|
101
|
+
content: "\00a0&\00a0";
|
|
102
|
+
font-weight: var(--cg-weight-regular);
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
.cg-byline__link {
|
|
106
|
+
color: var(--cg-ink);
|
|
107
|
+
text-decoration-color: transparent;
|
|
108
|
+
text-underline-offset: 0.22em;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
.cg-byline__link:hover {
|
|
112
|
+
color: var(--cg-accent);
|
|
113
|
+
text-decoration-color: currentColor;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
.cg-article-head__dateline {
|
|
117
|
+
display: flex;
|
|
118
|
+
flex-wrap: wrap;
|
|
119
|
+
gap: var(--cg-s1) var(--cg-s4);
|
|
120
|
+
margin: 0;
|
|
121
|
+
color: var(--cg-ink-muted);
|
|
122
|
+
font-variant-numeric: lining-nums tabular-nums;
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
.cg-article-head__cover {
|
|
126
|
+
margin: var(--cg-s8) 0 0;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
.cg-article-head__image {
|
|
130
|
+
inline-size: 100%;
|
|
131
|
+
aspect-ratio: 3 / 2;
|
|
132
|
+
object-fit: cover;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
@media (min-width: 64rem) {
|
|
136
|
+
.cg-article-head__kicker,
|
|
137
|
+
.cg-article-head__standfirst,
|
|
138
|
+
.cg-article-head__meta {
|
|
139
|
+
grid-column: var(--cg-col-reading);
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
.cg-article-head__title {
|
|
143
|
+
grid-column: var(--cg-col-headline);
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
.cg-article-head__cover {
|
|
147
|
+
grid-column: var(--cg-col-wide);
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
/* The lead photograph an article opens its body with (a `mediaFigure`)
|
|
152
|
+
follows the header with less space than two blocks usually keep. */
|
|
153
|
+
:is(.cg-article, .cg-article :where(.cg-sidebar-layout__content)) > .cg-article-head + .cg-figure {
|
|
154
|
+
padding-block-start: var(--cg-s8);
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
/* --------------------------------------------------------------------------
|
|
158
|
+
The reading column
|
|
159
|
+
-------------------------------------------------------------------------- */
|
|
160
|
+
|
|
161
|
+
:is(.cg-article, .cg-article :where(.cg-sidebar-layout__content)) > .cg-prose {
|
|
162
|
+
padding-block: var(--cg-s4);
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
:is(.cg-article, .cg-article :where(.cg-sidebar-layout__content)) > .cg-article-head + .cg-prose {
|
|
166
|
+
padding-block-start: var(--cg-s10);
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
/* The reading column itself (columns 3 to 9) is every page's, in
|
|
170
|
+
`blocks.css`; an article only hangs its pull quotes further left. */
|
|
171
|
+
@media (min-width: 64rem) {
|
|
172
|
+
.cg-article .cg-pullquote__quote,
|
|
173
|
+
.cg-article .cg-pullquote__attribution {
|
|
174
|
+
grid-column: var(--cg-col-hang);
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
/* A pull quote inside an article keeps close to the paragraphs around it. */
|
|
179
|
+
:is(.cg-article, .cg-article :where(.cg-sidebar-layout__content)) > .cg-pullquote {
|
|
180
|
+
padding-block: var(--cg-s8);
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
/* The drop cap: the first letter of the first paragraph, two lines deep,
|
|
184
|
+
set only where the browser can set a true initial letter. A float-based
|
|
185
|
+
imitation drifts off the baseline grid, so there is none. Two lines, not
|
|
186
|
+
three: an opening paragraph of two lines is common in news writing, and a
|
|
187
|
+
three-line cap would push into the paragraph after it. */
|
|
188
|
+
@supports (initial-letter: 2) or (-webkit-initial-letter: 2) {
|
|
189
|
+
.cg-article [data-opening] .cg-prose__body > p:first-child::first-letter {
|
|
190
|
+
-webkit-initial-letter: 2;
|
|
191
|
+
initial-letter: 2;
|
|
192
|
+
margin-inline-end: 0.12em;
|
|
193
|
+
color: var(--cg-ink);
|
|
194
|
+
font-family: var(--cg-font-display);
|
|
195
|
+
font-weight: var(--cg-weight-semibold);
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
/* --------------------------------------------------------------------------
|
|
200
|
+
The foot: terms that are neither the section nor a byline.
|
|
201
|
+
-------------------------------------------------------------------------- */
|
|
202
|
+
|
|
203
|
+
.cg-article-foot {
|
|
204
|
+
padding-block: var(--cg-s6) 0;
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
.cg-article-foot__terms {
|
|
208
|
+
display: flex;
|
|
209
|
+
flex-wrap: wrap;
|
|
210
|
+
gap: var(--cg-s2) var(--cg-s5);
|
|
211
|
+
margin: 0;
|
|
212
|
+
padding-block-start: var(--cg-s4);
|
|
213
|
+
padding-inline: 0;
|
|
214
|
+
border-block-start: var(--cg-rule) solid var(--cg-line-ink);
|
|
215
|
+
list-style: none;
|
|
216
|
+
font-family: var(--cg-font-ui);
|
|
217
|
+
font-size: var(--cg-text-label);
|
|
218
|
+
font-weight: var(--cg-weight-bold);
|
|
219
|
+
letter-spacing: var(--cg-tracking-caps);
|
|
220
|
+
text-transform: uppercase;
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
.cg-article-foot__link {
|
|
224
|
+
color: var(--cg-ink);
|
|
225
|
+
text-decoration-color: transparent;
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
a.cg-article-foot__link:hover {
|
|
229
|
+
color: var(--cg-accent);
|
|
230
|
+
text-decoration-color: currentColor;
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
@media (min-width: 64rem) {
|
|
234
|
+
.cg-article-foot__terms {
|
|
235
|
+
grid-column: var(--cg-col-reading);
|
|
236
|
+
}
|
|
237
|
+
}
|