contain-css-svelte 1.3.0 → 1.4.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 (46) hide show
  1. package/dist/Card.svelte +204 -288
  2. package/dist/controls/Button.svelte +27 -1
  3. package/dist/controls/ButtonLink.svelte +27 -1
  4. package/dist/controls/Checkbox.svelte +26 -0
  5. package/dist/controls/CircleButton.svelte +27 -1
  6. package/dist/controls/Input.svelte +27 -1
  7. package/dist/controls/RadioButton.svelte +26 -0
  8. package/dist/controls/Select.svelte +26 -0
  9. package/dist/controls/Slider.svelte +27 -1
  10. package/dist/controls/TabItem.svelte +27 -1
  11. package/dist/controls/Toggle.svelte +27 -1
  12. package/dist/dropdowns/DropdownMenu.svelte +27 -1
  13. package/dist/layout/Accordion.svelte +27 -1
  14. package/dist/layout/Bar.svelte +37 -1
  15. package/dist/layout/ColumnContainer.svelte +27 -1
  16. package/dist/layout/Columns.svelte +27 -1
  17. package/dist/layout/Container.svelte +205 -292
  18. package/dist/layout/DataList.svelte +27 -1
  19. package/dist/layout/DataListItem.svelte +205 -292
  20. package/dist/layout/Fieldset.svelte +27 -1
  21. package/dist/layout/Form.svelte +205 -292
  22. package/dist/layout/FormItem.svelte +27 -1
  23. package/dist/layout/GridLayout.svelte +26 -0
  24. package/dist/layout/Hero.svelte +205 -292
  25. package/dist/layout/Inline.svelte +33 -1
  26. package/dist/layout/MenuList.svelte +27 -1
  27. package/dist/layout/Page.svelte +27 -1
  28. package/dist/layout/RowContainer.svelte +27 -1
  29. package/dist/layout/Sidebar.svelte +266 -33
  30. package/dist/layout/Sidebar.svelte.d.ts +34 -0
  31. package/dist/layout/SidebarContainer.svelte +27 -1
  32. package/dist/layout/SplitPane.svelte +27 -1
  33. package/dist/layout/Stack.svelte +33 -1
  34. package/dist/layout/TabBar.svelte +27 -1
  35. package/dist/layout/Table.svelte +238 -294
  36. package/dist/layout/Tile.svelte +204 -291
  37. package/dist/misc/CodeInner.svelte +27 -1
  38. package/dist/misc/Progress.svelte +205 -292
  39. package/dist/misc/Tag.svelte +27 -1
  40. package/dist/overlays/Dialog.svelte +205 -292
  41. package/dist/overlays/Tooltip.svelte +255 -349
  42. package/dist/sass/_typography.scss +203 -191
  43. package/dist/typography/TextLayout.svelte +482 -292
  44. package/dist/vars/defaults.css +258 -0
  45. package/dist/vars/typography-context.css +271 -0
  46. package/package.json +1 -1
@@ -34,6 +34,264 @@
34
34
  --data-list-heading-font-size: var(--font-size);
35
35
  --data-list-paragraph-font-size: var(--font-size-small);
36
36
  }
37
+ /* The single, global consumer of the private context variables emitted by
38
+ the `typography-container-props` Sass mixin
39
+ (see src/lib/sass/_typography.scss). Every "typography container"
40
+ component (Container, Card, Tile, TextLayout, ...) sets these variables
41
+ on itself; nothing reads them into a real CSS property except this one
42
+ rule, so a heading nested arbitrarily deep -- through <article>, <Tile>,
43
+ a plain <div>, whatever -- always picks up its NEAREST ancestor's values,
44
+ by ordinary custom-property inheritance. No selector ever has to "reach
45
+ into" a component it doesn't own, and no two components' rules ever
46
+ compete for the same element.
47
+
48
+ Kept at (0,0,0) specificity via :where() on purpose: any real selector,
49
+ even a single class, can override this outright (e.g. Bar overriding
50
+ --_heading-margin-inline for its own flush layout). A heading with NO
51
+ opted-in ancestor at all sees these vars fully unset and falls back to
52
+ `revert`/`unset` here, i.e. plain, unstyled HTML -- this rule is inert
53
+ until something opts a subtree in. TextLayout is the one exception: since
54
+ using it IS the explicit request for prose styling, it also restates
55
+ these properties with real specificity on its own selector so it reliably
56
+ wins over incidental external CSS. See AGENTS-INTERNAL.md. */
57
+ :where(h1, h2, h3, h4, h5, h6) {
58
+ box-sizing: border-box;
59
+ max-width: var(--_heading-max-width, revert);
60
+ margin-inline: var(--_heading-margin-inline, revert);
61
+ margin-bottom: var(--_heading-margin-bottom, revert);
62
+ margin-top: var(--_heading-margin-top, revert);
63
+ }
64
+ :where(
65
+ h1:first-child,
66
+ h2:first-child,
67
+ h3:first-child,
68
+ h4:first-child,
69
+ h5:first-child,
70
+ h6:first-child
71
+ ) {
72
+ margin-top: var(--_heading-first-margin-top, revert);
73
+ }
74
+ :where(h1) {
75
+ color: var(--_h1-color, revert);
76
+ background: var(--_h1-background, revert);
77
+ padding: var(--_h1-padding, revert);
78
+ border: var(--_h1-border, revert);
79
+ border-width: var(--_h1-border-width, revert);
80
+ border-style: var(--_h1-border-style, revert);
81
+ border-color: var(--_h1-border-color, revert);
82
+ border-radius: var(--_h1-border-radius, revert);
83
+ box-shadow: var(--_h1-box-shadow, revert);
84
+ font-family: var(--_h1-font-family, revert);
85
+ text-transform: var(--_h1-text-transform, revert);
86
+ text-decoration: var(--_h1-text-decoration, revert);
87
+ font-size: var(--_h1-font-size, revert);
88
+ font-weight: var(--_h1-font-weight, revert);
89
+ line-height: var(--_h1-line-height, revert);
90
+ letter-spacing: var(--_h1-letter-spacing, revert);
91
+ text-indent: var(--_h1-text-indent, revert);
92
+ font-variant: var(--_h1-font-variant, revert);
93
+ text-align: var(--_h1-text-align, revert);
94
+ }
95
+ :where(h2) {
96
+ color: var(--_h2-color, revert);
97
+ background: var(--_h2-background, revert);
98
+ padding: var(--_h2-padding, revert);
99
+ border: var(--_h2-border, revert);
100
+ border-width: var(--_h2-border-width, revert);
101
+ border-style: var(--_h2-border-style, revert);
102
+ border-color: var(--_h2-border-color, revert);
103
+ border-radius: var(--_h2-border-radius, revert);
104
+ box-shadow: var(--_h2-box-shadow, revert);
105
+ font-family: var(--_h2-font-family, revert);
106
+ text-transform: var(--_h2-text-transform, revert);
107
+ text-decoration: var(--_h2-text-decoration, revert);
108
+ font-size: var(--_h2-font-size, revert);
109
+ font-weight: var(--_h2-font-weight, revert);
110
+ line-height: var(--_h2-line-height, revert);
111
+ letter-spacing: var(--_h2-letter-spacing, revert);
112
+ text-indent: var(--_h2-text-indent, revert);
113
+ font-variant: var(--_h2-font-variant, revert);
114
+ text-align: var(--_h2-text-align, revert);
115
+ }
116
+ :where(h3) {
117
+ color: var(--_h3-color, revert);
118
+ background: var(--_h3-background, revert);
119
+ padding: var(--_h3-padding, revert);
120
+ border: var(--_h3-border, revert);
121
+ border-width: var(--_h3-border-width, revert);
122
+ border-style: var(--_h3-border-style, revert);
123
+ border-color: var(--_h3-border-color, revert);
124
+ border-radius: var(--_h3-border-radius, revert);
125
+ box-shadow: var(--_h3-box-shadow, revert);
126
+ font-family: var(--_h3-font-family, revert);
127
+ text-transform: var(--_h3-text-transform, revert);
128
+ text-decoration: var(--_h3-text-decoration, revert);
129
+ font-size: var(--_h3-font-size, revert);
130
+ font-weight: var(--_h3-font-weight, revert);
131
+ line-height: var(--_h3-line-height, revert);
132
+ letter-spacing: var(--_h3-letter-spacing, revert);
133
+ text-indent: var(--_h3-text-indent, revert);
134
+ font-variant: var(--_h3-font-variant, revert);
135
+ text-align: var(--_h3-text-align, revert);
136
+ }
137
+ :where(h4) {
138
+ color: var(--_h4-color, revert);
139
+ background: var(--_h4-background, revert);
140
+ padding: var(--_h4-padding, revert);
141
+ border: var(--_h4-border, revert);
142
+ border-width: var(--_h4-border-width, revert);
143
+ border-style: var(--_h4-border-style, revert);
144
+ border-color: var(--_h4-border-color, revert);
145
+ border-radius: var(--_h4-border-radius, revert);
146
+ box-shadow: var(--_h4-box-shadow, revert);
147
+ font-family: var(--_h4-font-family, revert);
148
+ text-transform: var(--_h4-text-transform, revert);
149
+ text-decoration: var(--_h4-text-decoration, revert);
150
+ font-size: var(--_h4-font-size, revert);
151
+ font-weight: var(--_h4-font-weight, revert);
152
+ line-height: var(--_h4-line-height, revert);
153
+ letter-spacing: var(--_h4-letter-spacing, revert);
154
+ text-indent: var(--_h4-text-indent, revert);
155
+ font-variant: var(--_h4-font-variant, revert);
156
+ text-align: var(--_h4-text-align, revert);
157
+ }
158
+ :where(h5) {
159
+ color: var(--_h5-color, revert);
160
+ background: var(--_h5-background, revert);
161
+ padding: var(--_h5-padding, revert);
162
+ border: var(--_h5-border, revert);
163
+ border-width: var(--_h5-border-width, revert);
164
+ border-style: var(--_h5-border-style, revert);
165
+ border-color: var(--_h5-border-color, revert);
166
+ border-radius: var(--_h5-border-radius, revert);
167
+ box-shadow: var(--_h5-box-shadow, revert);
168
+ font-family: var(--_h5-font-family, revert);
169
+ text-transform: var(--_h5-text-transform, revert);
170
+ text-decoration: var(--_h5-text-decoration, revert);
171
+ font-size: var(--_h5-font-size, revert);
172
+ font-weight: var(--_h5-font-weight, revert);
173
+ line-height: var(--_h5-line-height, revert);
174
+ letter-spacing: var(--_h5-letter-spacing, revert);
175
+ text-indent: var(--_h5-text-indent, revert);
176
+ font-variant: var(--_h5-font-variant, revert);
177
+ text-align: var(--_h5-text-align, revert);
178
+ }
179
+ :where(h6) {
180
+ color: var(--_h6-color, revert);
181
+ background: var(--_h6-background, revert);
182
+ padding: var(--_h6-padding, revert);
183
+ border: var(--_h6-border, revert);
184
+ border-width: var(--_h6-border-width, revert);
185
+ border-style: var(--_h6-border-style, revert);
186
+ border-color: var(--_h6-border-color, revert);
187
+ border-radius: var(--_h6-border-radius, revert);
188
+ box-shadow: var(--_h6-box-shadow, revert);
189
+ font-family: var(--_h6-font-family, revert);
190
+ text-transform: var(--_h6-text-transform, revert);
191
+ text-decoration: var(--_h6-text-decoration, revert);
192
+ font-size: var(--_h6-font-size, revert);
193
+ font-weight: var(--_h6-font-weight, revert);
194
+ line-height: var(--_h6-line-height, revert);
195
+ letter-spacing: var(--_h6-letter-spacing, revert);
196
+ text-indent: var(--_h6-text-indent, revert);
197
+ font-variant: var(--_h6-font-variant, revert);
198
+ text-align: var(--_h6-text-align, revert);
199
+ }
200
+ /* Prose-measure group: p, blockquote, dl, ul, ol. li/dt/dd deliberately have
201
+ no rule of their own -- they're already bounded by their ul/ol/dl parent's
202
+ own max-width box via ordinary block layout, so a wide list inside a
203
+ narrow measure never needs its own separate constraint. */
204
+ :where(p, blockquote, dl, ul, ol) {
205
+ max-width: var(--_prose-max-width, revert);
206
+ margin-inline: var(--_prose-margin-inline, revert);
207
+ font-family: var(--_prose-font-family, revert);
208
+ line-height: var(--_prose-line-height, revert);
209
+ font-weight: var(--_prose-font-weight, revert);
210
+ }
211
+ /* Declared AFTER the shared prose rule on purpose, same as the original
212
+ selector-based version: p gets a second, more specific set of typography
213
+ values (paragraph-context-vars), which wins for whichever properties both
214
+ rules set, because it's later in source at the same (zero) specificity. */
215
+ :where(p) {
216
+ font-family: var(--_paragraph-font-family, revert);
217
+ text-transform: var(--_paragraph-text-transform, revert);
218
+ text-decoration: var(--_paragraph-text-decoration, revert);
219
+ font-size: var(--_paragraph-font-size, revert);
220
+ font-weight: var(--_paragraph-font-weight, revert);
221
+ line-height: var(--_paragraph-line-height, revert);
222
+ letter-spacing: var(--_paragraph-letter-spacing, revert);
223
+ text-indent: var(--_paragraph-text-indent, revert);
224
+ font-variant: var(--_paragraph-font-variant, revert);
225
+ text-align: var(--_paragraph-text-align, revert);
226
+ }
227
+ :where(
228
+ p:first-of-type,
229
+ h1 + p,
230
+ h2 + p,
231
+ h3 + p,
232
+ h4 + p,
233
+ h5 + p,
234
+ h6 + p
235
+ ) {
236
+ font-family: var(--_first-paragraph-font-family, revert);
237
+ text-transform: var(--_first-paragraph-text-transform, revert);
238
+ text-decoration: var(--_first-paragraph-text-decoration, revert);
239
+ font-weight: var(--_first-paragraph-font-weight, revert);
240
+ letter-spacing: var(--_first-paragraph-letter-spacing, revert);
241
+ text-indent: var(--_first-paragraph-text-indent, revert);
242
+ font-variant: var(--_first-paragraph-font-variant, revert);
243
+ text-align: var(--_first-paragraph-text-align, revert);
244
+ font-size: var(--_first-paragraph-font-size, revert);
245
+ line-height: var(--_first-paragraph-line-height, revert);
246
+ margin-block-start: var(--_first-paragraph-margin-top, revert);
247
+ }
248
+ :where(
249
+ p:first-of-type::first-line,
250
+ h1 + p::first-line,
251
+ h2 + p::first-line,
252
+ h3 + p::first-line,
253
+ h4 + p::first-line,
254
+ h5 + p::first-line,
255
+ h6 + p::first-line
256
+ ) {
257
+ font-family: var(--_first-line-font-family, revert);
258
+ text-transform: var(--_first-line-text-transform, revert);
259
+ text-decoration: var(--_first-line-text-decoration, revert);
260
+ font-size: var(--_first-line-font-size, revert);
261
+ font-weight: var(--_first-line-font-weight, revert);
262
+ line-height: var(--_first-line-line-height, revert);
263
+ letter-spacing: var(--_first-line-letter-spacing, revert);
264
+ text-indent: var(--_first-line-text-indent, revert);
265
+ font-variant: var(--_first-line-font-variant, revert);
266
+ text-align: var(--_first-line-text-align, revert);
267
+ }
268
+ :where(
269
+ p:first-of-type::first-letter,
270
+ h1 + p::first-letter,
271
+ h2 + p::first-letter,
272
+ h3 + p::first-letter,
273
+ h4 + p::first-letter,
274
+ h5 + p::first-letter,
275
+ h6 + p::first-letter
276
+ ) {
277
+ font-family: var(--_first-letter-font-family, revert);
278
+ text-transform: var(--_first-letter-text-transform, revert);
279
+ text-decoration: var(--_first-letter-text-decoration, revert);
280
+ font-size: var(--_first-letter-font-size, revert);
281
+ font-weight: var(--_first-letter-font-weight, revert);
282
+ line-height: var(--_first-letter-line-height, revert);
283
+ letter-spacing: var(--_first-letter-letter-spacing, revert);
284
+ text-indent: var(--_first-letter-text-indent, revert);
285
+ font-variant: var(--_first-letter-font-variant, revert);
286
+ text-align: var(--_first-letter-text-align, revert);
287
+ --link-bg: var(--_first-letter-link-bg);
288
+ --link-fg: var(--_first-letter-link-fg);
289
+ background: var(--_first-letter-background, revert);
290
+ color: var(--_first-letter-color, revert);
291
+ float: var(--first-letter-float, none);
292
+ margin-right: var(--first-letter-margin-right, 0);
293
+ padding-top: var(--first-letter-padding-top, 0);
294
+ }
37
295
  :root {
38
296
  --muted-color: var(--bg);
39
297
  --muted-text-amount: 20%;
@@ -0,0 +1,271 @@
1
+ /* The single, global consumer of the private context variables emitted by
2
+ the `typography-container-props` Sass mixin
3
+ (see src/lib/sass/_typography.scss). Every "typography container"
4
+ component (Container, Card, Tile, TextLayout, ...) sets these variables
5
+ on itself; nothing reads them into a real CSS property except this one
6
+ rule, so a heading nested arbitrarily deep -- through <article>, <Tile>,
7
+ a plain <div>, whatever -- always picks up its NEAREST ancestor's values,
8
+ by ordinary custom-property inheritance. No selector ever has to "reach
9
+ into" a component it doesn't own, and no two components' rules ever
10
+ compete for the same element.
11
+
12
+ Kept at (0,0,0) specificity via :where() on purpose: any real selector,
13
+ even a single class, can override this outright (e.g. Bar overriding
14
+ --_heading-margin-inline for its own flush layout). A heading with NO
15
+ opted-in ancestor at all sees these vars fully unset and falls back to
16
+ `revert`/`unset` here, i.e. plain, unstyled HTML -- this rule is inert
17
+ until something opts a subtree in. TextLayout is the one exception: since
18
+ using it IS the explicit request for prose styling, it also restates
19
+ these properties with real specificity on its own selector so it reliably
20
+ wins over incidental external CSS. See AGENTS-INTERNAL.md. */
21
+
22
+ :where(h1, h2, h3, h4, h5, h6) {
23
+ box-sizing: border-box;
24
+ max-width: var(--_heading-max-width, revert);
25
+ margin-inline: var(--_heading-margin-inline, revert);
26
+ margin-bottom: var(--_heading-margin-bottom, revert);
27
+ margin-top: var(--_heading-margin-top, revert);
28
+ }
29
+
30
+ :where(
31
+ h1:first-child,
32
+ h2:first-child,
33
+ h3:first-child,
34
+ h4:first-child,
35
+ h5:first-child,
36
+ h6:first-child
37
+ ) {
38
+ margin-top: var(--_heading-first-margin-top, revert);
39
+ }
40
+
41
+ :where(h1) {
42
+ color: var(--_h1-color, revert);
43
+ background: var(--_h1-background, revert);
44
+ padding: var(--_h1-padding, revert);
45
+ border: var(--_h1-border, revert);
46
+ border-width: var(--_h1-border-width, revert);
47
+ border-style: var(--_h1-border-style, revert);
48
+ border-color: var(--_h1-border-color, revert);
49
+ border-radius: var(--_h1-border-radius, revert);
50
+ box-shadow: var(--_h1-box-shadow, revert);
51
+ font-family: var(--_h1-font-family, revert);
52
+ text-transform: var(--_h1-text-transform, revert);
53
+ text-decoration: var(--_h1-text-decoration, revert);
54
+ font-size: var(--_h1-font-size, revert);
55
+ font-weight: var(--_h1-font-weight, revert);
56
+ line-height: var(--_h1-line-height, revert);
57
+ letter-spacing: var(--_h1-letter-spacing, revert);
58
+ text-indent: var(--_h1-text-indent, revert);
59
+ font-variant: var(--_h1-font-variant, revert);
60
+ text-align: var(--_h1-text-align, revert);
61
+ }
62
+
63
+ :where(h2) {
64
+ color: var(--_h2-color, revert);
65
+ background: var(--_h2-background, revert);
66
+ padding: var(--_h2-padding, revert);
67
+ border: var(--_h2-border, revert);
68
+ border-width: var(--_h2-border-width, revert);
69
+ border-style: var(--_h2-border-style, revert);
70
+ border-color: var(--_h2-border-color, revert);
71
+ border-radius: var(--_h2-border-radius, revert);
72
+ box-shadow: var(--_h2-box-shadow, revert);
73
+ font-family: var(--_h2-font-family, revert);
74
+ text-transform: var(--_h2-text-transform, revert);
75
+ text-decoration: var(--_h2-text-decoration, revert);
76
+ font-size: var(--_h2-font-size, revert);
77
+ font-weight: var(--_h2-font-weight, revert);
78
+ line-height: var(--_h2-line-height, revert);
79
+ letter-spacing: var(--_h2-letter-spacing, revert);
80
+ text-indent: var(--_h2-text-indent, revert);
81
+ font-variant: var(--_h2-font-variant, revert);
82
+ text-align: var(--_h2-text-align, revert);
83
+ }
84
+
85
+ :where(h3) {
86
+ color: var(--_h3-color, revert);
87
+ background: var(--_h3-background, revert);
88
+ padding: var(--_h3-padding, revert);
89
+ border: var(--_h3-border, revert);
90
+ border-width: var(--_h3-border-width, revert);
91
+ border-style: var(--_h3-border-style, revert);
92
+ border-color: var(--_h3-border-color, revert);
93
+ border-radius: var(--_h3-border-radius, revert);
94
+ box-shadow: var(--_h3-box-shadow, revert);
95
+ font-family: var(--_h3-font-family, revert);
96
+ text-transform: var(--_h3-text-transform, revert);
97
+ text-decoration: var(--_h3-text-decoration, revert);
98
+ font-size: var(--_h3-font-size, revert);
99
+ font-weight: var(--_h3-font-weight, revert);
100
+ line-height: var(--_h3-line-height, revert);
101
+ letter-spacing: var(--_h3-letter-spacing, revert);
102
+ text-indent: var(--_h3-text-indent, revert);
103
+ font-variant: var(--_h3-font-variant, revert);
104
+ text-align: var(--_h3-text-align, revert);
105
+ }
106
+
107
+ :where(h4) {
108
+ color: var(--_h4-color, revert);
109
+ background: var(--_h4-background, revert);
110
+ padding: var(--_h4-padding, revert);
111
+ border: var(--_h4-border, revert);
112
+ border-width: var(--_h4-border-width, revert);
113
+ border-style: var(--_h4-border-style, revert);
114
+ border-color: var(--_h4-border-color, revert);
115
+ border-radius: var(--_h4-border-radius, revert);
116
+ box-shadow: var(--_h4-box-shadow, revert);
117
+ font-family: var(--_h4-font-family, revert);
118
+ text-transform: var(--_h4-text-transform, revert);
119
+ text-decoration: var(--_h4-text-decoration, revert);
120
+ font-size: var(--_h4-font-size, revert);
121
+ font-weight: var(--_h4-font-weight, revert);
122
+ line-height: var(--_h4-line-height, revert);
123
+ letter-spacing: var(--_h4-letter-spacing, revert);
124
+ text-indent: var(--_h4-text-indent, revert);
125
+ font-variant: var(--_h4-font-variant, revert);
126
+ text-align: var(--_h4-text-align, revert);
127
+ }
128
+
129
+ :where(h5) {
130
+ color: var(--_h5-color, revert);
131
+ background: var(--_h5-background, revert);
132
+ padding: var(--_h5-padding, revert);
133
+ border: var(--_h5-border, revert);
134
+ border-width: var(--_h5-border-width, revert);
135
+ border-style: var(--_h5-border-style, revert);
136
+ border-color: var(--_h5-border-color, revert);
137
+ border-radius: var(--_h5-border-radius, revert);
138
+ box-shadow: var(--_h5-box-shadow, revert);
139
+ font-family: var(--_h5-font-family, revert);
140
+ text-transform: var(--_h5-text-transform, revert);
141
+ text-decoration: var(--_h5-text-decoration, revert);
142
+ font-size: var(--_h5-font-size, revert);
143
+ font-weight: var(--_h5-font-weight, revert);
144
+ line-height: var(--_h5-line-height, revert);
145
+ letter-spacing: var(--_h5-letter-spacing, revert);
146
+ text-indent: var(--_h5-text-indent, revert);
147
+ font-variant: var(--_h5-font-variant, revert);
148
+ text-align: var(--_h5-text-align, revert);
149
+ }
150
+
151
+ :where(h6) {
152
+ color: var(--_h6-color, revert);
153
+ background: var(--_h6-background, revert);
154
+ padding: var(--_h6-padding, revert);
155
+ border: var(--_h6-border, revert);
156
+ border-width: var(--_h6-border-width, revert);
157
+ border-style: var(--_h6-border-style, revert);
158
+ border-color: var(--_h6-border-color, revert);
159
+ border-radius: var(--_h6-border-radius, revert);
160
+ box-shadow: var(--_h6-box-shadow, revert);
161
+ font-family: var(--_h6-font-family, revert);
162
+ text-transform: var(--_h6-text-transform, revert);
163
+ text-decoration: var(--_h6-text-decoration, revert);
164
+ font-size: var(--_h6-font-size, revert);
165
+ font-weight: var(--_h6-font-weight, revert);
166
+ line-height: var(--_h6-line-height, revert);
167
+ letter-spacing: var(--_h6-letter-spacing, revert);
168
+ text-indent: var(--_h6-text-indent, revert);
169
+ font-variant: var(--_h6-font-variant, revert);
170
+ text-align: var(--_h6-text-align, revert);
171
+ }
172
+
173
+ /* Prose-measure group: p, blockquote, dl, ul, ol. li/dt/dd deliberately have
174
+ no rule of their own -- they're already bounded by their ul/ol/dl parent's
175
+ own max-width box via ordinary block layout, so a wide list inside a
176
+ narrow measure never needs its own separate constraint. */
177
+ :where(p, blockquote, dl, ul, ol) {
178
+ max-width: var(--_prose-max-width, revert);
179
+ margin-inline: var(--_prose-margin-inline, revert);
180
+ font-family: var(--_prose-font-family, revert);
181
+ line-height: var(--_prose-line-height, revert);
182
+ font-weight: var(--_prose-font-weight, revert);
183
+ }
184
+
185
+ /* Declared AFTER the shared prose rule on purpose, same as the original
186
+ selector-based version: p gets a second, more specific set of typography
187
+ values (paragraph-context-vars), which wins for whichever properties both
188
+ rules set, because it's later in source at the same (zero) specificity. */
189
+ :where(p) {
190
+ font-family: var(--_paragraph-font-family, revert);
191
+ text-transform: var(--_paragraph-text-transform, revert);
192
+ text-decoration: var(--_paragraph-text-decoration, revert);
193
+ font-size: var(--_paragraph-font-size, revert);
194
+ font-weight: var(--_paragraph-font-weight, revert);
195
+ line-height: var(--_paragraph-line-height, revert);
196
+ letter-spacing: var(--_paragraph-letter-spacing, revert);
197
+ text-indent: var(--_paragraph-text-indent, revert);
198
+ font-variant: var(--_paragraph-font-variant, revert);
199
+ text-align: var(--_paragraph-text-align, revert);
200
+ }
201
+
202
+ :where(
203
+ p:first-of-type,
204
+ h1 + p,
205
+ h2 + p,
206
+ h3 + p,
207
+ h4 + p,
208
+ h5 + p,
209
+ h6 + p
210
+ ) {
211
+ font-family: var(--_first-paragraph-font-family, revert);
212
+ text-transform: var(--_first-paragraph-text-transform, revert);
213
+ text-decoration: var(--_first-paragraph-text-decoration, revert);
214
+ font-weight: var(--_first-paragraph-font-weight, revert);
215
+ letter-spacing: var(--_first-paragraph-letter-spacing, revert);
216
+ text-indent: var(--_first-paragraph-text-indent, revert);
217
+ font-variant: var(--_first-paragraph-font-variant, revert);
218
+ text-align: var(--_first-paragraph-text-align, revert);
219
+ font-size: var(--_first-paragraph-font-size, revert);
220
+ line-height: var(--_first-paragraph-line-height, revert);
221
+ margin-block-start: var(--_first-paragraph-margin-top, revert);
222
+ }
223
+
224
+ :where(
225
+ p:first-of-type::first-line,
226
+ h1 + p::first-line,
227
+ h2 + p::first-line,
228
+ h3 + p::first-line,
229
+ h4 + p::first-line,
230
+ h5 + p::first-line,
231
+ h6 + p::first-line
232
+ ) {
233
+ font-family: var(--_first-line-font-family, revert);
234
+ text-transform: var(--_first-line-text-transform, revert);
235
+ text-decoration: var(--_first-line-text-decoration, revert);
236
+ font-size: var(--_first-line-font-size, revert);
237
+ font-weight: var(--_first-line-font-weight, revert);
238
+ line-height: var(--_first-line-line-height, revert);
239
+ letter-spacing: var(--_first-line-letter-spacing, revert);
240
+ text-indent: var(--_first-line-text-indent, revert);
241
+ font-variant: var(--_first-line-font-variant, revert);
242
+ text-align: var(--_first-line-text-align, revert);
243
+ }
244
+
245
+ :where(
246
+ p:first-of-type::first-letter,
247
+ h1 + p::first-letter,
248
+ h2 + p::first-letter,
249
+ h3 + p::first-letter,
250
+ h4 + p::first-letter,
251
+ h5 + p::first-letter,
252
+ h6 + p::first-letter
253
+ ) {
254
+ font-family: var(--_first-letter-font-family, revert);
255
+ text-transform: var(--_first-letter-text-transform, revert);
256
+ text-decoration: var(--_first-letter-text-decoration, revert);
257
+ font-size: var(--_first-letter-font-size, revert);
258
+ font-weight: var(--_first-letter-font-weight, revert);
259
+ line-height: var(--_first-letter-line-height, revert);
260
+ letter-spacing: var(--_first-letter-letter-spacing, revert);
261
+ text-indent: var(--_first-letter-text-indent, revert);
262
+ font-variant: var(--_first-letter-font-variant, revert);
263
+ text-align: var(--_first-letter-text-align, revert);
264
+ --link-bg: var(--_first-letter-link-bg);
265
+ --link-fg: var(--_first-letter-link-fg);
266
+ background: var(--_first-letter-background, revert);
267
+ color: var(--_first-letter-color, revert);
268
+ float: var(--first-letter-float, none);
269
+ margin-right: var(--first-letter-margin-right, 0);
270
+ padding-top: var(--first-letter-padding-top, 0);
271
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "contain-css-svelte",
3
- "version": "1.3.0",
3
+ "version": "1.4.0",
4
4
  "license": "MIT",
5
5
  "scripts": {
6
6
  "capture:review": "node scripts/capture-review.mjs",