@echelon-foundry/design-system 0.13.0-main.264.1 → 0.13.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.
- package/CHANGELOG.md +0 -11
- package/dist/all.css +0 -21
- package/dist/build-metrics.json +2 -2
- package/dist/marketing/forma-all.css +0 -21
- package/dist/marketing/forma-echelon-marketing.css +0 -21
- package/dist/marketing/forma-marketing.css +0 -21
- package/dist/marketing/forma-marketing.manifest.json +6 -6
- package/dist/marketing/forma-marketing.sha256 +3 -3
- package/dist/marketing.css +0 -21
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -7,17 +7,6 @@ published as GitHub release tarballs
|
|
|
7
7
|
and to npm. Earlier releases are described in `docs/CONSUMING-FORMA.md` and
|
|
8
8
|
`HANDOFF.md`.
|
|
9
9
|
|
|
10
|
-
## Unreleased
|
|
11
|
-
|
|
12
|
-
Patch candidate (proposed 0.13.1): marketing containment (MKT-CONTAIN, WI-0043). Found by the Echelon Diagnostic Framework site migration to 0.13.0. No class, token, element or attribute was removed or renamed.
|
|
13
|
-
|
|
14
|
-
### Fixed
|
|
15
|
-
- **Text containment in marketing components.** LRP-001 (0.13.0) passed `overflow-wrap: break-word` only to the application containers. Marketing components hold the same kind of content, so list items, spans and divs inside them could still escape: on 0.13.0 a release URL in a `span` escaped `.ef-card` by 160px at 320px, and at 200% text ordinary list words ("explanations", "propagation") escaped a card by up to 18px. `.ef-site` now passes `break-word` from `.ef-hero`, `.ef-section-heading`, `.ef-card`, `.ef-facts`, `.ef-index`, `.ef-callout`, `.ef-cta`, `.ef-split`, `.ef-doc`, `.ef-prose`, `.ef-statement` and `.ef-site-footer`. Words that fit are never split; declared values (badges, steps, code) are unchanged.
|
|
16
|
-
- **Toned CTA at narrow widths.** `.ef-cta[data-ef-tone]` caps its inline padding at `12.5vw`, as a toned `.ef-section` already does (ULI-L05). At 320px and 200% text the uncapped padding left a 96px content box. Nothing changes at the default text size.
|
|
17
|
-
|
|
18
|
-
### Tests
|
|
19
|
-
- `tests/browser/marketing-containment.spec.mjs` with `tests/browser/fixture/marketing-containment.html`: containment of every marketing container at 320, 375, 768 and 1280px with default and 200% text, the toned-CTA line length, and that fitting words in cards are not split. Nine of its ten tests fail on 0.13.0.
|
|
20
|
-
|
|
21
10
|
## 0.13.0
|
|
22
11
|
|
|
23
12
|
Minor release: layout reliability (LRP-001). The source document is `.praxis/inbox/documents/2026-10-30-LRP-001-layout-reliability.md`; the baseline and the Indy Init report are in `docs/reliability/`. `@echelon-foundry/forma-conformance` 0.3.0 ships the new geometry checks.
|
package/dist/all.css
CHANGED
|
@@ -8056,23 +8056,6 @@
|
|
|
8056
8056
|
overflow-wrap: anywhere;
|
|
8057
8057
|
}
|
|
8058
8058
|
|
|
8059
|
-
/*
|
|
8060
|
-
* Marketing containment (MKT-CONTAIN, WI-0043). LRP-001 passes
|
|
8061
|
-
* overflow-wrap: break-word to arbitrary content inside the application
|
|
8062
|
-
* containers; marketing components hold the same kind of content (list
|
|
8063
|
-
* items, spans and divs that the element rule above does not reach), so
|
|
8064
|
-
* they pass it on too. break-word never splits a word that fits and leaves
|
|
8065
|
-
* min-content sizes alone; declared values (badges, steps, code) win over
|
|
8066
|
-
* inheritance. Found by the EDF site at 320px: list words escaped a card at
|
|
8067
|
-
* 200% text and a release URL in a span escaped it at every width.
|
|
8068
|
-
*/
|
|
8069
|
-
.ef-site :where(
|
|
8070
|
-
.ef-hero, .ef-section-heading, .ef-card, .ef-facts, .ef-index, .ef-callout,
|
|
8071
|
-
.ef-cta, .ef-split, .ef-doc, .ef-prose, .ef-statement, .ef-site-footer
|
|
8072
|
-
) {
|
|
8073
|
-
overflow-wrap: break-word;
|
|
8074
|
-
}
|
|
8075
|
-
|
|
8076
8059
|
.ef-site :where(hr) {
|
|
8077
8060
|
margin-block: var(--ef-layout-section-space);
|
|
8078
8061
|
border: 0;
|
|
@@ -8654,10 +8637,6 @@
|
|
|
8654
8637
|
|
|
8655
8638
|
.ef-cta[data-ef-tone]:not([data-ef-tone="page"]) {
|
|
8656
8639
|
padding: calc(var(--ef-layout-block-space) * 2);
|
|
8657
|
-
/* Same cap as a toned .ef-section (ULI-L05): at 320px and 200% text the
|
|
8658
|
-
uncapped inline padding left a 96px content box (MKT-CONTAIN). It
|
|
8659
|
-
changes nothing at the default text size. */
|
|
8660
|
-
padding-inline: min(calc(var(--ef-layout-block-space) * 2), 12.5vw);
|
|
8661
8640
|
border-block-start: 0;
|
|
8662
8641
|
}
|
|
8663
8642
|
|
package/dist/build-metrics.json
CHANGED
|
@@ -342,7 +342,7 @@
|
|
|
342
342
|
"tokens.css"
|
|
343
343
|
],
|
|
344
344
|
"bytes": {
|
|
345
|
-
"all.css":
|
|
345
|
+
"all.css": 344943,
|
|
346
346
|
"assessment.css": 36343,
|
|
347
347
|
"brands/echelon.css": 4213,
|
|
348
348
|
"brands/example-harbor.css": 4229,
|
|
@@ -510,7 +510,7 @@
|
|
|
510
510
|
"icons/warning.svg": 324,
|
|
511
511
|
"icons/wifi-off.svg": 269,
|
|
512
512
|
"icons/workflow.svg": 345,
|
|
513
|
-
"marketing.css":
|
|
513
|
+
"marketing.css": 47868,
|
|
514
514
|
"patterns/active-filter-summary.html": 532,
|
|
515
515
|
"patterns/alert.html": 384,
|
|
516
516
|
"patterns/allocation.html": 1033,
|
|
@@ -8061,23 +8061,6 @@
|
|
|
8061
8061
|
overflow-wrap: anywhere;
|
|
8062
8062
|
}
|
|
8063
8063
|
|
|
8064
|
-
/*
|
|
8065
|
-
* Marketing containment (MKT-CONTAIN, WI-0043). LRP-001 passes
|
|
8066
|
-
* overflow-wrap: break-word to arbitrary content inside the application
|
|
8067
|
-
* containers; marketing components hold the same kind of content (list
|
|
8068
|
-
* items, spans and divs that the element rule above does not reach), so
|
|
8069
|
-
* they pass it on too. break-word never splits a word that fits and leaves
|
|
8070
|
-
* min-content sizes alone; declared values (badges, steps, code) win over
|
|
8071
|
-
* inheritance. Found by the EDF site at 320px: list words escaped a card at
|
|
8072
|
-
* 200% text and a release URL in a span escaped it at every width.
|
|
8073
|
-
*/
|
|
8074
|
-
.ef-site :where(
|
|
8075
|
-
.ef-hero, .ef-section-heading, .ef-card, .ef-facts, .ef-index, .ef-callout,
|
|
8076
|
-
.ef-cta, .ef-split, .ef-doc, .ef-prose, .ef-statement, .ef-site-footer
|
|
8077
|
-
) {
|
|
8078
|
-
overflow-wrap: break-word;
|
|
8079
|
-
}
|
|
8080
|
-
|
|
8081
8064
|
.ef-site :where(hr) {
|
|
8082
8065
|
margin-block: var(--ef-layout-section-space);
|
|
8083
8066
|
border: 0;
|
|
@@ -8659,10 +8642,6 @@
|
|
|
8659
8642
|
|
|
8660
8643
|
.ef-cta[data-ef-tone]:not([data-ef-tone="page"]) {
|
|
8661
8644
|
padding: calc(var(--ef-layout-block-space) * 2);
|
|
8662
|
-
/* Same cap as a toned .ef-section (ULI-L05): at 320px and 200% text the
|
|
8663
|
-
uncapped inline padding left a 96px content box (MKT-CONTAIN). It
|
|
8664
|
-
changes nothing at the default text size. */
|
|
8665
|
-
padding-inline: min(calc(var(--ef-layout-block-space) * 2), 12.5vw);
|
|
8666
8645
|
border-block-start: 0;
|
|
8667
8646
|
}
|
|
8668
8647
|
|
|
@@ -1353,23 +1353,6 @@
|
|
|
1353
1353
|
overflow-wrap: anywhere;
|
|
1354
1354
|
}
|
|
1355
1355
|
|
|
1356
|
-
/*
|
|
1357
|
-
* Marketing containment (MKT-CONTAIN, WI-0043). LRP-001 passes
|
|
1358
|
-
* overflow-wrap: break-word to arbitrary content inside the application
|
|
1359
|
-
* containers; marketing components hold the same kind of content (list
|
|
1360
|
-
* items, spans and divs that the element rule above does not reach), so
|
|
1361
|
-
* they pass it on too. break-word never splits a word that fits and leaves
|
|
1362
|
-
* min-content sizes alone; declared values (badges, steps, code) win over
|
|
1363
|
-
* inheritance. Found by the EDF site at 320px: list words escaped a card at
|
|
1364
|
-
* 200% text and a release URL in a span escaped it at every width.
|
|
1365
|
-
*/
|
|
1366
|
-
.ef-site :where(
|
|
1367
|
-
.ef-hero, .ef-section-heading, .ef-card, .ef-facts, .ef-index, .ef-callout,
|
|
1368
|
-
.ef-cta, .ef-split, .ef-doc, .ef-prose, .ef-statement, .ef-site-footer
|
|
1369
|
-
) {
|
|
1370
|
-
overflow-wrap: break-word;
|
|
1371
|
-
}
|
|
1372
|
-
|
|
1373
1356
|
.ef-site :where(hr) {
|
|
1374
1357
|
margin-block: var(--ef-layout-section-space);
|
|
1375
1358
|
border: 0;
|
|
@@ -1952,10 +1935,6 @@
|
|
|
1952
1935
|
|
|
1953
1936
|
.ef-cta[data-ef-tone]:not([data-ef-tone="page"]) {
|
|
1954
1937
|
padding: calc(var(--ef-layout-block-space) * 2);
|
|
1955
|
-
/* Same cap as a toned .ef-section (ULI-L05): at 320px and 200% text the
|
|
1956
|
-
uncapped inline padding left a 96px content box (MKT-CONTAIN). It
|
|
1957
|
-
changes nothing at the default text size. */
|
|
1958
|
-
padding-inline: min(calc(var(--ef-layout-block-space) * 2), 12.5vw);
|
|
1959
1938
|
border-block-start: 0;
|
|
1960
1939
|
}
|
|
1961
1940
|
|
|
@@ -1352,23 +1352,6 @@
|
|
|
1352
1352
|
overflow-wrap: anywhere;
|
|
1353
1353
|
}
|
|
1354
1354
|
|
|
1355
|
-
/*
|
|
1356
|
-
* Marketing containment (MKT-CONTAIN, WI-0043). LRP-001 passes
|
|
1357
|
-
* overflow-wrap: break-word to arbitrary content inside the application
|
|
1358
|
-
* containers; marketing components hold the same kind of content (list
|
|
1359
|
-
* items, spans and divs that the element rule above does not reach), so
|
|
1360
|
-
* they pass it on too. break-word never splits a word that fits and leaves
|
|
1361
|
-
* min-content sizes alone; declared values (badges, steps, code) win over
|
|
1362
|
-
* inheritance. Found by the EDF site at 320px: list words escaped a card at
|
|
1363
|
-
* 200% text and a release URL in a span escaped it at every width.
|
|
1364
|
-
*/
|
|
1365
|
-
.ef-site :where(
|
|
1366
|
-
.ef-hero, .ef-section-heading, .ef-card, .ef-facts, .ef-index, .ef-callout,
|
|
1367
|
-
.ef-cta, .ef-split, .ef-doc, .ef-prose, .ef-statement, .ef-site-footer
|
|
1368
|
-
) {
|
|
1369
|
-
overflow-wrap: break-word;
|
|
1370
|
-
}
|
|
1371
|
-
|
|
1372
1355
|
.ef-site :where(hr) {
|
|
1373
1356
|
margin-block: var(--ef-layout-section-space);
|
|
1374
1357
|
border: 0;
|
|
@@ -1951,10 +1934,6 @@
|
|
|
1951
1934
|
|
|
1952
1935
|
.ef-cta[data-ef-tone]:not([data-ef-tone="page"]) {
|
|
1953
1936
|
padding: calc(var(--ef-layout-block-space) * 2);
|
|
1954
|
-
/* Same cap as a toned .ef-section (ULI-L05): at 320px and 200% text the
|
|
1955
|
-
uncapped inline padding left a 96px content box (MKT-CONTAIN). It
|
|
1956
|
-
changes nothing at the default text size. */
|
|
1957
|
-
padding-inline: min(calc(var(--ef-layout-block-space) * 2), 12.5vw);
|
|
1958
1937
|
border-block-start: 0;
|
|
1959
1938
|
}
|
|
1960
1939
|
|
|
@@ -8,8 +8,8 @@
|
|
|
8
8
|
{
|
|
9
9
|
"file": "forma-marketing.css",
|
|
10
10
|
"description": "Brand-neutral marketing layer: core tokens, role defaults, Forma foundations, marketing foundations, components, and layouts.",
|
|
11
|
-
"bytes":
|
|
12
|
-
"sha256": "
|
|
11
|
+
"bytes": 95041,
|
|
12
|
+
"sha256": "a2248c09b9c7731178f3046a245541fb240715c12b21638300d56a4fdd61819d",
|
|
13
13
|
"sources": [
|
|
14
14
|
"dist/tokens.css",
|
|
15
15
|
"src/marketing/roles.css",
|
|
@@ -32,8 +32,8 @@
|
|
|
32
32
|
{
|
|
33
33
|
"file": "forma-echelon-marketing.css",
|
|
34
34
|
"description": "Single-file Echelon marketing presentation: forma-marketing.css followed by the Echelon theme. Most sites load only this file.",
|
|
35
|
-
"bytes":
|
|
36
|
-
"sha256": "
|
|
35
|
+
"bytes": 101181,
|
|
36
|
+
"sha256": "cdf0ebfa0b60219e72d1c32dc0ac068d73255654748b55283bbb1c7a9db78a7f",
|
|
37
37
|
"sources": [
|
|
38
38
|
"artifact:forma-marketing.css",
|
|
39
39
|
"artifact:forma-marketing-theme-echelon.css"
|
|
@@ -42,8 +42,8 @@
|
|
|
42
42
|
{
|
|
43
43
|
"file": "forma-all.css",
|
|
44
44
|
"description": "Complete Forma surface (application components, assessment, and marketing layers) for sites that also present Forma application patterns such as data grids or status lozenges.",
|
|
45
|
-
"bytes":
|
|
46
|
-
"sha256": "
|
|
45
|
+
"bytes": 345306,
|
|
46
|
+
"sha256": "403d708505fc3fe2ac7bd2c78220e98ad9236a5c82f76d1b88d7a9c4b01ee213",
|
|
47
47
|
"sources": [
|
|
48
48
|
"dist/all.css"
|
|
49
49
|
]
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
a2248c09b9c7731178f3046a245541fb240715c12b21638300d56a4fdd61819d forma-marketing.css
|
|
2
2
|
0b803cade4de294a2e15ac8a8482cb2448617a2558d70fc6542a4b3b9a357bf2 forma-marketing-theme-echelon.css
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
cdf0ebfa0b60219e72d1c32dc0ac068d73255654748b55283bbb1c7a9db78a7f forma-echelon-marketing.css
|
|
4
|
+
403d708505fc3fe2ac7bd2c78220e98ad9236a5c82f76d1b88d7a9c4b01ee213 forma-all.css
|
package/dist/marketing.css
CHANGED
|
@@ -285,23 +285,6 @@
|
|
|
285
285
|
overflow-wrap: anywhere;
|
|
286
286
|
}
|
|
287
287
|
|
|
288
|
-
/*
|
|
289
|
-
* Marketing containment (MKT-CONTAIN, WI-0043). LRP-001 passes
|
|
290
|
-
* overflow-wrap: break-word to arbitrary content inside the application
|
|
291
|
-
* containers; marketing components hold the same kind of content (list
|
|
292
|
-
* items, spans and divs that the element rule above does not reach), so
|
|
293
|
-
* they pass it on too. break-word never splits a word that fits and leaves
|
|
294
|
-
* min-content sizes alone; declared values (badges, steps, code) win over
|
|
295
|
-
* inheritance. Found by the EDF site at 320px: list words escaped a card at
|
|
296
|
-
* 200% text and a release URL in a span escaped it at every width.
|
|
297
|
-
*/
|
|
298
|
-
.ef-site :where(
|
|
299
|
-
.ef-hero, .ef-section-heading, .ef-card, .ef-facts, .ef-index, .ef-callout,
|
|
300
|
-
.ef-cta, .ef-split, .ef-doc, .ef-prose, .ef-statement, .ef-site-footer
|
|
301
|
-
) {
|
|
302
|
-
overflow-wrap: break-word;
|
|
303
|
-
}
|
|
304
|
-
|
|
305
288
|
.ef-site :where(hr) {
|
|
306
289
|
margin-block: var(--ef-layout-section-space);
|
|
307
290
|
border: 0;
|
|
@@ -883,10 +866,6 @@
|
|
|
883
866
|
|
|
884
867
|
.ef-cta[data-ef-tone]:not([data-ef-tone="page"]) {
|
|
885
868
|
padding: calc(var(--ef-layout-block-space) * 2);
|
|
886
|
-
/* Same cap as a toned .ef-section (ULI-L05): at 320px and 200% text the
|
|
887
|
-
uncapped inline padding left a 96px content box (MKT-CONTAIN). It
|
|
888
|
-
changes nothing at the default text size. */
|
|
889
|
-
padding-inline: min(calc(var(--ef-layout-block-space) * 2), 12.5vw);
|
|
890
869
|
border-block-start: 0;
|
|
891
870
|
}
|
|
892
871
|
|
package/package.json
CHANGED