@echelon-foundry/design-system 0.13.0-main.265.1 → 0.13.1
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 +9 -2
- package/contracts/color-contract.json +1 -1
- package/dist/all.css +4 -1
- package/dist/build-metrics.json +2 -2
- package/dist/components.css +4 -1
- package/dist/icons/registry.json +1 -1
- package/dist/marketing/forma-all.css +5 -2
- package/dist/marketing/forma-echelon-marketing.css +1 -1
- package/dist/marketing/forma-marketing-theme-echelon.css +1 -1
- package/dist/marketing/forma-marketing.css +1 -1
- package/dist/marketing/forma-marketing.manifest.json +7 -7
- package/dist/marketing/forma-marketing.sha256 +4 -4
- package/dist/runtime.js +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -7,12 +7,18 @@ 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
|
-
##
|
|
10
|
+
## 0.13.1
|
|
11
11
|
|
|
12
|
-
Patch
|
|
12
|
+
Patch release with two fixes:
|
|
13
|
+
|
|
14
|
+
- marketing containment (MKT-CONTAIN, WI-0043), found by the Echelon Diagnostic Framework site migration to 0.13.0;
|
|
15
|
+
- the record header's type label below 24em (GH-179, WI-0044), found by Signal's upgrade to 0.13.0.
|
|
16
|
+
|
|
17
|
+
No class, token, element or attribute was removed or renamed.
|
|
13
18
|
|
|
14
19
|
### Fixed
|
|
15
20
|
- **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.
|
|
21
|
+
- **Record header type label below 24em (GH-179).** In 0.13.0 the header's `@container (max-width: 24em)` rule dropped the title grid's rows, but the identity block stayed `grid-template-rows: subgrid`, so the type label collapsed onto the title. It overlapped by 120–145px at 320–375px and by up to 790px at 200% text in the LRP-001 fixture, and in Signal it overlapped the page title on phones. The identity block now uses its own implicit rows below 24em, so the label sits above the title as it did in 0.6.1. Nothing changes above 24em.
|
|
16
22
|
- **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
23
|
|
|
18
24
|
### Added
|
|
@@ -20,6 +26,7 @@ Patch candidate (proposed 0.13.1): marketing containment (MKT-CONTAIN, WI-0043).
|
|
|
20
26
|
|
|
21
27
|
### Tests
|
|
22
28
|
- `tests/workflow/Forma.Workflow.Tests/RequirementIdentityTests.fs` (11 cases) and `tests/browser/requirement-identity.spec.mjs` with the generated `tests/browser/fixture/requirement-identity.html`: placement on the control, untouched attributes, label association and role, stability across re-render, refusal of unrelated or ambiguous elements, instance keys, duplicate detection, hidden and disabled states.
|
|
29
|
+
- `tests/browser/layout-reliability.spec.mjs`: the record header's type label ends at or above its title at 320, 375, 768 and 1280px with default and 200% text (GH-179). It fails on 0.13.0 at five of those eight points; containment could not see the defect because both boxes stay inside the header.
|
|
23
30
|
- `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.
|
|
24
31
|
|
|
25
32
|
## 0.13.0
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"format": "forma.color-contract/1.0.0",
|
|
3
|
-
"formaVersion": "0.13.
|
|
3
|
+
"formaVersion": "0.13.1",
|
|
4
4
|
"validationScope": "CSS var() references to --ef-color-* plus reserved internal color-related prefixes; other Forma APIs are governed by their own contracts.",
|
|
5
5
|
"compatibility": {
|
|
6
6
|
"policy": "Validate with the contract shipped by the pinned Forma package version.",
|
package/dist/all.css
CHANGED
|
@@ -3241,7 +3241,10 @@
|
|
|
3241
3241
|
.ef-record-header__title > :not(:first-child) { grid-row: 2; }
|
|
3242
3242
|
@container (max-width: 24em) {
|
|
3243
3243
|
.ef-record-header__title { grid-template-columns: minmax(0, 1fr); grid-template-rows: none; }
|
|
3244
|
-
|
|
3244
|
+
/* The title grid has no rows here, so the identity block cannot stay a
|
|
3245
|
+
subgrid: it would collapse the type label onto the title (GH-179).
|
|
3246
|
+
Its own implicit rows keep the label above the title. */
|
|
3247
|
+
.ef-record-header__title > :first-child { grid-row: auto; grid-template-rows: none; }
|
|
3245
3248
|
.ef-record-header__title > :not(:first-child) { grid-row: auto; justify-self: start; }
|
|
3246
3249
|
}
|
|
3247
3250
|
.ef-record-header__title h2 { margin: 0.15rem 0 0; }
|
package/dist/build-metrics.json
CHANGED
|
@@ -342,12 +342,12 @@
|
|
|
342
342
|
"tokens.css"
|
|
343
343
|
],
|
|
344
344
|
"bytes": {
|
|
345
|
-
"all.css":
|
|
345
|
+
"all.css": 346279,
|
|
346
346
|
"assessment.css": 36343,
|
|
347
347
|
"brands/echelon.css": 4213,
|
|
348
348
|
"brands/example-harbor.css": 4229,
|
|
349
349
|
"brands/index.json": 335,
|
|
350
|
-
"components.css":
|
|
350
|
+
"components.css": 214359,
|
|
351
351
|
"foundations.css": 22874,
|
|
352
352
|
"icons/add.svg": 216,
|
|
353
353
|
"icons/agent.svg": 354,
|
package/dist/components.css
CHANGED
|
@@ -2182,7 +2182,10 @@
|
|
|
2182
2182
|
.ef-record-header__title > :not(:first-child) { grid-row: 2; }
|
|
2183
2183
|
@container (max-width: 24em) {
|
|
2184
2184
|
.ef-record-header__title { grid-template-columns: minmax(0, 1fr); grid-template-rows: none; }
|
|
2185
|
-
|
|
2185
|
+
/* The title grid has no rows here, so the identity block cannot stay a
|
|
2186
|
+
subgrid: it would collapse the type label onto the title (GH-179).
|
|
2187
|
+
Its own implicit rows keep the label above the title. */
|
|
2188
|
+
.ef-record-header__title > :first-child { grid-row: auto; grid-template-rows: none; }
|
|
2186
2189
|
.ef-record-header__title > :not(:first-child) { grid-row: auto; justify-self: start; }
|
|
2187
2190
|
}
|
|
2188
2191
|
.ef-record-header__title h2 { margin: 0.15rem 0 0; }
|
package/dist/icons/registry.json
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! Forma 0.13.
|
|
1
|
+
/*! Forma 0.13.1 | forma-all.css | bundle echelon-marketing
|
|
2
2
|
Complete Forma surface (application components, assessment, and marketing layers) for sites that also present Forma application patterns such as data grids or status lozenges.
|
|
3
3
|
Generated by tools/PresentationBundler. Do not edit; pin by version and sha256. */
|
|
4
4
|
|
|
@@ -3246,7 +3246,10 @@
|
|
|
3246
3246
|
.ef-record-header__title > :not(:first-child) { grid-row: 2; }
|
|
3247
3247
|
@container (max-width: 24em) {
|
|
3248
3248
|
.ef-record-header__title { grid-template-columns: minmax(0, 1fr); grid-template-rows: none; }
|
|
3249
|
-
|
|
3249
|
+
/* The title grid has no rows here, so the identity block cannot stay a
|
|
3250
|
+
subgrid: it would collapse the type label onto the title (GH-179).
|
|
3251
|
+
Its own implicit rows keep the label above the title. */
|
|
3252
|
+
.ef-record-header__title > :first-child { grid-row: auto; grid-template-rows: none; }
|
|
3250
3253
|
.ef-record-header__title > :not(:first-child) { grid-row: auto; justify-self: start; }
|
|
3251
3254
|
}
|
|
3252
3255
|
.ef-record-header__title h2 { margin: 0.15rem 0 0; }
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! Forma 0.13.
|
|
1
|
+
/*! Forma 0.13.1 | forma-echelon-marketing.css | bundle echelon-marketing
|
|
2
2
|
Single-file Echelon marketing presentation: forma-marketing.css followed by the Echelon theme. Most sites load only this file.
|
|
3
3
|
Generated by tools/PresentationBundler. Do not edit; pin by version and sha256. */
|
|
4
4
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! Forma 0.13.
|
|
1
|
+
/*! Forma 0.13.1 | forma-marketing-theme-echelon.css | bundle echelon-marketing
|
|
2
2
|
Echelon Marketing Theme: compiled theme tokens and theme hooks. Load after forma-marketing.css.
|
|
3
3
|
Generated by tools/PresentationBundler. Do not edit; pin by version and sha256. */
|
|
4
4
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! Forma 0.13.
|
|
1
|
+
/*! Forma 0.13.1 | forma-marketing.css | bundle echelon-marketing
|
|
2
2
|
Brand-neutral marketing layer: core tokens, role defaults, Forma foundations, marketing foundations, components, and layouts.
|
|
3
3
|
Generated by tools/PresentationBundler. Do not edit; pin by version and sha256. */
|
|
4
4
|
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": 1,
|
|
3
|
-
"forma": "0.13.
|
|
3
|
+
"forma": "0.13.1",
|
|
4
4
|
"bundle": "echelon-marketing",
|
|
5
5
|
"description": "Forma presentation artifacts for Echelon marketing sites. Every artifact is a single self-contained CSS file with no imports or relative URLs.",
|
|
6
|
-
"releaseTag": "v0.13.
|
|
6
|
+
"releaseTag": "v0.13.1",
|
|
7
7
|
"artifacts": [
|
|
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
11
|
"bytes": 96137,
|
|
12
|
-
"sha256": "
|
|
12
|
+
"sha256": "77ed356b74ee190e0ae1181fd83c4308d159f60e16bc93e3fc89b893c1f06ebc",
|
|
13
13
|
"sources": [
|
|
14
14
|
"dist/tokens.css",
|
|
15
15
|
"src/marketing/roles.css",
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
"file": "forma-marketing-theme-echelon.css",
|
|
24
24
|
"description": "Echelon Marketing Theme: compiled theme tokens and theme hooks. Load after forma-marketing.css.",
|
|
25
25
|
"bytes": 6296,
|
|
26
|
-
"sha256": "
|
|
26
|
+
"sha256": "6801950c7438a1274dc4a8cb24d642f67d0d8e67be3e8a9e1e037a0734078fc4",
|
|
27
27
|
"sources": [
|
|
28
28
|
"build/marketing/echelon-marketing.tokens.css",
|
|
29
29
|
"themes/echelon/marketing.css"
|
|
@@ -33,7 +33,7 @@
|
|
|
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
35
|
"bytes": 102277,
|
|
36
|
-
"sha256": "
|
|
36
|
+
"sha256": "92803ba115f644b36800a6a26b0162dad927aa051792e88f9713d0bafac01e73",
|
|
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": 346642,
|
|
46
|
+
"sha256": "0a0919db3accd32e2663266c69604cc7e3c47f3c1e96a3067ce3a58e67126734",
|
|
47
47
|
"sources": [
|
|
48
48
|
"dist/all.css"
|
|
49
49
|
]
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
77ed356b74ee190e0ae1181fd83c4308d159f60e16bc93e3fc89b893c1f06ebc forma-marketing.css
|
|
2
|
+
6801950c7438a1274dc4a8cb24d642f67d0d8e67be3e8a9e1e037a0734078fc4 forma-marketing-theme-echelon.css
|
|
3
|
+
92803ba115f644b36800a6a26b0162dad927aa051792e88f9713d0bafac01e73 forma-echelon-marketing.css
|
|
4
|
+
0a0919db3accd32e2663266c69604cc7e3c47f3c1e96a3067ce3a58e67126734 forma-all.css
|
package/dist/runtime.js
CHANGED
|
@@ -52,6 +52,6 @@ export function registerEchelonRuntime(name, metadata, target = globalThis) {
|
|
|
52
52
|
return installEchelonRuntimeRegistrar(target)?.(name, metadata);
|
|
53
53
|
}
|
|
54
54
|
|
|
55
|
-
export const FORMA_VERSION = "0.13.
|
|
55
|
+
export const FORMA_VERSION = "0.13.1";
|
|
56
56
|
|
|
57
57
|
if (typeof window !== "undefined") registerEchelonRuntime("forma", { version: FORMA_VERSION }, window);
|
package/package.json
CHANGED