stylegallery 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.
- package/AGENTS.md +156 -0
- package/CATALOG.md +69 -0
- package/DOMAINS.md +65 -0
- package/GOVERNANCE.md +222 -0
- package/GUIDE.md +59 -0
- package/README.md +313 -0
- package/consumer-reference/adapters/style-dictionary.config.mjs +36 -0
- package/consumer-reference/agent-native/README.md +157 -0
- package/consumer-reference/agent-native/registry.json +640 -0
- package/consumer-reference/agent-native/schema/agent-native.schema.json +848 -0
- package/consumer-reference/agent-native/schema/epistemic.schema.json +14 -0
- package/consumer-reference/agent-native/schema/execution.schema.json +12 -0
- package/consumer-reference/agent-native/schema/identity.schema.json +10 -0
- package/consumer-reference/agent-native/schema/learning.schema.json +12 -0
- package/consumer-reference/agent-native/schema/manifest.schema.json +6 -0
- package/consumer-reference/agent-native/schema/operation.schema.json +12 -0
- package/consumer-reference/agent-native/schema/protocol-binding.schema.json +9 -0
- package/consumer-reference/agent-native/schema/retrieval.schema.json +10 -0
- package/consumer-reference/baselines/calibration.json +260 -0
- package/consumer-reference/baselines/manifest.json +21 -0
- package/consumer-reference/contract.md +83 -0
- package/consumer-reference/fixtures/consumer-conformance/e2e-fixture.mjs +282 -0
- package/consumer-reference/fixtures/consumer-conformance/manifest.json +102 -0
- package/consumer-reference/fixtures/consumer-conformance/runtime-proof.mjs +32 -0
- package/consumer-reference/fixtures/consumer-conformance/valid-migration-result.json +18 -0
- package/consumer-reference/fixtures/consumer-conformance/valid-migration.json +142 -0
- package/consumer-reference/fixtures/invalid-stable-ended-support.json +19 -0
- package/consumer-reference/fixtures/promotion/invalid-blocking-evidence.json +26 -0
- package/consumer-reference/fixtures/promotion/invalid-count-only.json +29 -0
- package/consumer-reference/fixtures/promotion/invalid-missing-owner-migration.json +25 -0
- package/consumer-reference/fixtures/promotion/invalid-normative-bypass-no-regression.json +25 -0
- package/consumer-reference/fixtures/promotion/invalid-related-counted-independent.json +45 -0
- package/consumer-reference/fixtures/promotion/invalid-stable-ended-support.json +26 -0
- package/consumer-reference/fixtures/promotion/manifest.json +15 -0
- package/consumer-reference/fixtures/promotion/valid-deferred-example.json +67 -0
- package/consumer-reference/fixtures/promotion/valid-normative-bypass.json +67 -0
- package/consumer-reference/fixtures/token-portability/invalid-cycle.json +7 -0
- package/consumer-reference/fixtures/token-portability/invalid-dangling-alias.json +6 -0
- package/consumer-reference/fixtures/token-portability/invalid-extends.json +4 -0
- package/consumer-reference/fixtures/token-portability/invalid-json-pointer.json +7 -0
- package/consumer-reference/fixtures/token-portability/invalid-resolver.json +9 -0
- package/consumer-reference/fixtures/token-portability/invalid-type-mismatch.json +10 -0
- package/consumer-reference/fixtures/token-portability/invalid-unknown-reserved.json +6 -0
- package/consumer-reference/fixtures/token-portability/invalid-untested-type.json +6 -0
- package/consumer-reference/fixtures/token-portability/valid-border.json +14 -0
- package/consumer-reference/fixtures/token-portability/valid-reference.json +32 -0
- package/consumer-reference/fixtures/token-portability/valid-whole-alias.json +7 -0
- package/consumer-reference/fixtures/valid-deprecated.json +21 -0
- package/consumer-reference/fixtures/valid-experimental.json +19 -0
- package/consumer-reference/generated/manifest.json +40 -0
- package/consumer-reference/generated/tokens.css +12 -0
- package/consumer-reference/index.md +32 -0
- package/consumer-reference/policies/shared-experimental.json +37 -0
- package/consumer-reference/schema/ax-evidence.schema.json +30 -0
- package/consumer-reference/schema/baseline-manifest.schema.json +55 -0
- package/consumer-reference/schema/calibration-record.schema.json +190 -0
- package/consumer-reference/schema/capture-session.schema.json +161 -0
- package/consumer-reference/schema/component-state.schema.json +150 -0
- package/consumer-reference/schema/consumer-conformance-record.schema.json +365 -0
- package/consumer-reference/schema/dom-evidence.schema.json +38 -0
- package/consumer-reference/schema/evidence-record.schema.json +81 -0
- package/consumer-reference/schema/fixture-manifest.schema.json +32 -0
- package/consumer-reference/schema/item.schema.json +188 -0
- package/consumer-reference/schema/page-evidence-manifest.schema.json +216 -0
- package/consumer-reference/schema/page-evidence-session.schema.json +119 -0
- package/consumer-reference/schema/portable-tokens.schema.json +104 -0
- package/consumer-reference/schema/promotion-rfc.schema.json +219 -0
- package/consumer-reference/schema/runtime-evidence-manifest.schema.json +33 -0
- package/consumer-reference/schema/visual-evidence.schema.json +31 -0
- package/design-engineering/consumer-migration-readiness.md +124 -0
- package/design-engineering/index.md +28 -0
- package/design-engineering/interface-craft.md +107 -0
- package/design-engineering/reference-profiles/external-adaptation/index.md +12 -0
- package/design-engineering/reference-profiles/governed-local/editorial/components/button.component.json +125 -0
- package/design-engineering/reference-profiles/governed-local/editorial/evidence/button.evidence.json +3504 -0
- package/design-engineering/reference-profiles/governed-local/editorial/fixtures/button.fixture.json +65 -0
- package/design-engineering/reference-profiles/governed-local/editorial/generated/evidence-coverage.md +23 -0
- package/design-engineering/reference-profiles/governed-local/editorial/generated/keyboard-matrix.md +19 -0
- package/design-engineering/reference-profiles/governed-local/editorial/generated/state-matrix.md +21 -0
- package/design-engineering/reference-profiles/governed-local/editorial/local-foundations.json +12 -0
- package/design-engineering/reference-profiles/governed-local/editorial/profile.json +43 -0
- package/design-engineering/reference-profiles/governed-local/editorial/states/button.states.json +195 -0
- package/design-engineering/reference-profiles/governed-local/editorial/tokens.dtcg.json +17 -0
- package/design-engineering/reference-profiles/governed-local/index.md +26 -0
- package/design-engineering/reference-profiles/governed-local/terminal/components/button.component.json +125 -0
- package/design-engineering/reference-profiles/governed-local/terminal/evidence/button.evidence.json +3504 -0
- package/design-engineering/reference-profiles/governed-local/terminal/fixtures/button.fixture.json +65 -0
- package/design-engineering/reference-profiles/governed-local/terminal/generated/evidence-coverage.md +23 -0
- package/design-engineering/reference-profiles/governed-local/terminal/generated/keyboard-matrix.md +19 -0
- package/design-engineering/reference-profiles/governed-local/terminal/generated/state-matrix.md +21 -0
- package/design-engineering/reference-profiles/governed-local/terminal/local-foundations.json +12 -0
- package/design-engineering/reference-profiles/governed-local/terminal/profile.json +43 -0
- package/design-engineering/reference-profiles/governed-local/terminal/states/button.states.json +195 -0
- package/design-engineering/reference-profiles/governed-local/terminal/tokens.dtcg.json +17 -0
- package/design-engineering/reference-profiles/index.md +19 -0
- package/game-ui/classification.md +82 -0
- package/game-ui/index.md +35 -0
- package/game-ui/reference-record.md +62 -0
- package/game-ui/screen-hierarchy.md +107 -0
- package/game-ui/unity/architecture.md +166 -0
- package/game-ui/unity/cli-loop.md +84 -0
- package/game-ui/unity/data/unity-technologies-public-repositories.json +26654 -0
- package/game-ui/unity/org-wiki.md +146 -0
- package/game-ui/unity/repository-map.md +102 -0
- package/game-ui/unity/ui-systems.md +85 -0
- package/guides/decision-tree.md +149 -0
- package/guides/documentation-mode-taxonomy.md +157 -0
- package/guides/layout-brief.md +220 -0
- package/guides/vocabulary.md +148 -0
- package/guides/webpage-generation-workflow.md +185 -0
- package/index.md +36 -0
- package/layout/index.md +26 -0
- package/motion/index.md +24 -0
- package/motion/practice-reference.md +145 -0
- package/motion/review-workflow.md +86 -0
- package/motion/vocabulary.md +82 -0
- package/package.json +78 -0
- package/patterns/centering/center.md +87 -0
- package/patterns/centering/index.md +6 -0
- package/patterns/centering/super-center.md +89 -0
- package/patterns/containment/box.md +87 -0
- package/patterns/containment/clamped-card.md +86 -0
- package/patterns/containment/content-limiter.md +87 -0
- package/patterns/containment/fluid-styles.md +86 -0
- package/patterns/containment/index.md +8 -0
- package/patterns/grid-repetition/card-grid.md +88 -0
- package/patterns/grid-repetition/columns.md +87 -0
- package/patterns/grid-repetition/dense-grid.md +88 -0
- package/patterns/grid-repetition/grid-wrapper.md +89 -0
- package/patterns/grid-repetition/index.md +12 -0
- package/patterns/grid-repetition/masonry-approx.md +87 -0
- package/patterns/grid-repetition/page-grid.md +90 -0
- package/patterns/grid-repetition/ram-grid.md +88 -0
- package/patterns/grid-repetition/twelve-span-grid.md +92 -0
- package/patterns/in-line-grouping/badge-list.md +94 -0
- package/patterns/in-line-grouping/breadcrumb.md +89 -0
- package/patterns/in-line-grouping/cluster.md +89 -0
- package/patterns/in-line-grouping/deconstructed-pancake.md +92 -0
- package/patterns/in-line-grouping/index.md +13 -0
- package/patterns/in-line-grouping/pagination.md +89 -0
- package/patterns/in-line-grouping/reel.md +90 -0
- package/patterns/in-line-grouping/split-nav.md +97 -0
- package/patterns/in-line-grouping/tab-strip.md +88 -0
- package/patterns/in-line-grouping/wrap-row.md +89 -0
- package/patterns/index.md +13 -0
- package/patterns/media-fit/frame.md +95 -0
- package/patterns/media-fit/icon-frame.md +87 -0
- package/patterns/media-fit/index.md +6 -0
- package/patterns/overlay-exception/imposter.md +95 -0
- package/patterns/overlay-exception/index.md +6 -0
- package/patterns/overlay-exception/overlay-stack.md +89 -0
- package/patterns/split-sidebar/index.md +12 -0
- package/patterns/split-sidebar/list-detail.md +95 -0
- package/patterns/split-sidebar/main-with-rail.md +95 -0
- package/patterns/split-sidebar/media-object.md +102 -0
- package/patterns/split-sidebar/sidebar.md +101 -0
- package/patterns/split-sidebar/split-screen.md +92 -0
- package/patterns/split-sidebar/sticky-aside.md +97 -0
- package/patterns/split-sidebar/supporting-pane.md +95 -0
- package/patterns/split-sidebar/switcher.md +93 -0
- package/patterns/stacking/feed.md +88 -0
- package/patterns/stacking/index.md +8 -0
- package/patterns/stacking/line-up.md +95 -0
- package/patterns/stacking/stack.md +87 -0
- package/patterns/stacking/step-nav.md +88 -0
- package/patterns/viewport-shell/cover.md +90 -0
- package/patterns/viewport-shell/fixed-sidenav-shell.md +97 -0
- package/patterns/viewport-shell/holy-grail.md +112 -0
- package/patterns/viewport-shell/index.md +11 -0
- package/patterns/viewport-shell/panel-layout.md +95 -0
- package/patterns/viewport-shell/scroll-body-shell.md +93 -0
- package/patterns/viewport-shell/sticky-footer.md +92 -0
- package/patterns/viewport-shell/sticky-header.md +86 -0
- package/platform-guides/apple-interaction.md +89 -0
- package/platform-guides/index.md +26 -0
- package/quality/claim-records/index.md +3 -0
- package/quality/claim-records/samples.md +92 -0
- package/quality/claim-records/stylegallery-multidomain-scope.md +42 -0
- package/quality/claims.md +77 -0
- package/quality/evidence/accessibility.md +58 -0
- package/quality/evidence/consumer-migration.md +42 -0
- package/quality/evidence/design-rationale.md +34 -0
- package/quality/evidence/executable-evidence.md +79 -0
- package/quality/evidence/families.md +56 -0
- package/quality/evidence/hci-evaluation.md +36 -0
- package/quality/evidence/index.md +16 -0
- package/quality/evidence/pattern-contract-audit.md +96 -0
- package/quality/evidence/search-metadata-polyhierarchy.md +86 -0
- package/quality/evidence/sources.md +43 -0
- package/quality/evidence/tokens.md +33 -0
- package/quality/evidence/visual-qa.md +41 -0
- package/quality/gates/accessibility-evidence.md +60 -0
- package/quality/gates/consumer-migration-evidence.md +53 -0
- package/quality/gates/design-claim.md +56 -0
- package/quality/gates/harmony-evaluation.md +78 -0
- package/quality/gates/index.md +13 -0
- package/quality/gates/layout.md +52 -0
- package/quality/gates/rationale.md +53 -0
- package/quality/gates/visual-evidence.md +47 -0
- package/quality/index.md +55 -0
- package/quality/principles.md +58 -0
- package/recipes/article-page.md +52 -0
- package/recipes/command-surface.md +55 -0
- package/recipes/dashboard.md +56 -0
- package/recipes/form-flow.md +55 -0
- package/recipes/homepage.md +89 -0
- package/recipes/index.md +13 -0
- package/recipes/list-detail.md +55 -0
- package/recipes/primitive-to-recipe-matrix.md +83 -0
- package/recipes/saas-settings.md +52 -0
- package/scripts/agent-native/a2a-projection.mjs +248 -0
- package/scripts/agent-native/agui-projection.mjs +178 -0
- package/scripts/agent-native/canonical-json.mjs +109 -0
- package/scripts/agent-native/cli-adapter.mjs +68 -0
- package/scripts/agent-native/events.mjs +113 -0
- package/scripts/agent-native/execution.mjs +227 -0
- package/scripts/agent-native/fixture.mjs +159 -0
- package/scripts/agent-native/identity.mjs +184 -0
- package/scripts/agent-native/immutable-store.mjs +102 -0
- package/scripts/agent-native/knowledge.mjs +168 -0
- package/scripts/agent-native/learning-records.mjs +244 -0
- package/scripts/agent-native/learning.mjs +247 -0
- package/scripts/agent-native/mcp-adapter.mjs +173 -0
- package/scripts/agent-native/queries.mjs +173 -0
- package/scripts/agent-native/registry.mjs +154 -0
- package/scripts/agent-native/retrieval.mjs +171 -0
- package/scripts/agent-native/self-description.mjs +160 -0
- package/scripts/artifact-metadata.mjs +20 -0
- package/scripts/audit-evidence-freshness.mjs +308 -0
- package/scripts/baseline-contract.mjs +189 -0
- package/scripts/baseline-schema-parity.mjs +40 -0
- package/scripts/build-reference-artifacts.mjs +127 -0
- package/scripts/calibration-raw-contract.mjs +172 -0
- package/scripts/capture-session-contract.mjs +187 -0
- package/scripts/component-state-artifact-fixture.mjs +44 -0
- package/scripts/component-state-contract.mjs +99 -0
- package/scripts/component-state-semantics.mjs +128 -0
- package/scripts/component-state-workflow-contract.mjs +67 -0
- package/scripts/component-state-workflow-negative-cases.mjs +64 -0
- package/scripts/consumer-conformance-contract.mjs +198 -0
- package/scripts/consumer-evidence-governance-contract.mjs +210 -0
- package/scripts/consumer-reference-case-runner.mjs +93 -0
- package/scripts/consumer-reference-schema.mjs +155 -0
- package/scripts/create-component-state-session.mjs +100 -0
- package/scripts/create-page-evidence-session.mjs +139 -0
- package/scripts/domain-document-boundaries.mjs +40 -0
- package/scripts/domain-validation-checks.mjs +141 -0
- package/scripts/evidence-artifact-contract.mjs +191 -0
- package/scripts/finalize-component-state-evidence.mjs +165 -0
- package/scripts/finalize-page-evidence.mjs +197 -0
- package/scripts/generate-consumer-reference-evidence.mjs +154 -0
- package/scripts/generate-patterns.mjs +218 -0
- package/scripts/governance-matrix-contract.mjs +73 -0
- package/scripts/governance-matrix-negative-cases.mjs +114 -0
- package/scripts/governance-policy-contract.mjs +49 -0
- package/scripts/governance-test-fixture.mjs +321 -0
- package/scripts/governance-workflow-negative-cases.mjs +241 -0
- package/scripts/governed-profile-registry.mjs +125 -0
- package/scripts/json-schema-formats.mjs +31 -0
- package/scripts/markdown-structure.mjs +45 -0
- package/scripts/page-artifact-metadata.mjs +124 -0
- package/scripts/page-evidence-contract.mjs +297 -0
- package/scripts/page-evidence-fixture.mjs +271 -0
- package/scripts/pattern-data.mjs +325 -0
- package/scripts/profile-record-contract.mjs +140 -0
- package/scripts/promotion-attestation-contract.mjs +91 -0
- package/scripts/promotion-boundary-test-contract.mjs +92 -0
- package/scripts/promotion-fixture-inventory.mjs +109 -0
- package/scripts/promotion-governance-contract.mjs +28 -0
- package/scripts/reference-artifact-path-contract.mjs +28 -0
- package/scripts/reference-profile-contract.mjs +114 -0
- package/scripts/reference-token-contract.mjs +156 -0
- package/scripts/run-consumer-page-evidence-ci.mjs +170 -0
- package/scripts/sg-mcp.mjs +16 -0
- package/scripts/sg.mjs +27 -0
- package/scripts/strict-json.mjs +72 -0
- package/scripts/summarize-sentinel-calibration.mjs +98 -0
- package/scripts/test-agent-adapter-conformance.mjs +250 -0
- package/scripts/test-agent-conformance-receipt.mjs +106 -0
- package/scripts/test-agent-events.mjs +81 -0
- package/scripts/test-agent-execution-effects.mjs +114 -0
- package/scripts/test-agent-execution-fixtures.mjs +140 -0
- package/scripts/test-agent-execution-kernel.mjs +39 -0
- package/scripts/test-agent-execution-learning.mjs +130 -0
- package/scripts/test-agent-execution-lifecycle.mjs +143 -0
- package/scripts/test-agent-execution-safety.mjs +158 -0
- package/scripts/test-agent-execution-views.mjs +117 -0
- package/scripts/test-agent-identity-integrity-cases.mjs +160 -0
- package/scripts/test-agent-knowledge-kernel.mjs +183 -0
- package/scripts/test-agent-learning.mjs +246 -0
- package/scripts/test-agent-mcp.mjs +246 -0
- package/scripts/test-agent-native-schemas.mjs +215 -0
- package/scripts/test-agent-projections.mjs +249 -0
- package/scripts/test-agent-registry-mcp-integrity.mjs +215 -0
- package/scripts/test-agent-registry-mutations.mjs +110 -0
- package/scripts/test-audit-evidence-freshness.mjs +177 -0
- package/scripts/test-component-state-sentinel.mjs +35 -0
- package/scripts/test-component-state-source-contract.mjs +83 -0
- package/scripts/test-consumer-conformance-sentinel.mjs +165 -0
- package/scripts/test-consumer-reference-sentinel.mjs +31 -0
- package/scripts/test-generate-consumer-reference-evidence.mjs +124 -0
- package/scripts/test-json-cli-output.mjs +151 -0
- package/scripts/test-json-schema-formats.mjs +40 -0
- package/scripts/test-reference-adapters.mjs +199 -0
- package/scripts/test-renderer-purity.mjs +34 -0
- package/scripts/test-sg-cli.mjs +129 -0
- package/scripts/test-summarize-sentinel-calibration.mjs +226 -0
- package/scripts/test-validate-baseline-manifest.mjs +234 -0
- package/scripts/test-validate-component-state-artifacts.mjs +243 -0
- package/scripts/test-validate-component-state.mjs +106 -0
- package/scripts/test-validate-consumer-conformance.mjs +427 -0
- package/scripts/test-validate-consumer-reference-cli.mjs +69 -0
- package/scripts/test-validate-consumer-reference.mjs +263 -0
- package/scripts/test-validate-domains.mjs +357 -0
- package/scripts/test-validate-governance.mjs +292 -0
- package/scripts/test-validate-ia.mjs +262 -0
- package/scripts/test-validate-okf.mjs +73 -0
- package/scripts/test-validate-page-evidence.mjs +302 -0
- package/scripts/test-validate-patterns.mjs +157 -0
- package/scripts/test-validate-promotion-rfc.mjs +250 -0
- package/scripts/test-validate-reference-profiles.mjs +170 -0
- package/scripts/test-validate-unity-org-wiki.mjs +57 -0
- package/scripts/test-validate-unity-source-contracts.mjs +67 -0
- package/scripts/test-validate-vocabulary.mjs +174 -0
- package/scripts/test-validate-webpage-workflow.mjs +293 -0
- package/scripts/validate-baseline-manifest.mjs +44 -0
- package/scripts/validate-catalog.mjs +65 -0
- package/scripts/validate-component-state.mjs +141 -0
- package/scripts/validate-consumer-conformance.mjs +477 -0
- package/scripts/validate-consumer-reference.mjs +288 -0
- package/scripts/validate-domains.mjs +237 -0
- package/scripts/validate-governance.mjs +248 -0
- package/scripts/validate-ia.mjs +136 -0
- package/scripts/validate-links.mjs +66 -0
- package/scripts/validate-okf.mjs +104 -0
- package/scripts/validate-page-evidence.mjs +191 -0
- package/scripts/validate-patterns.mjs +246 -0
- package/scripts/validate-promotion-rfc.mjs +224 -0
- package/scripts/validate-reference-artifacts.mjs +125 -0
- package/scripts/validate-renderer-purity.mjs +56 -0
- package/scripts/validate-unity-org-wiki.mjs +146 -0
- package/scripts/validate-unity-source-contracts.mjs +107 -0
- package/scripts/validate-vocabulary.mjs +115 -0
- package/scripts/validate-webpage-workflow.mjs +254 -0
- package/scripts/visual-expectation-contract.mjs +20 -0
- package/scripts/workflow-action-contract.mjs +163 -0
package/package.json
ADDED
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "stylegallery",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "A governed gallery of portable interface knowledge with a deterministic CLI and read-only MCP server.",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"homepage": "https://github.com/changeroa/StyleGallery#readme",
|
|
7
|
+
"bugs": {
|
|
8
|
+
"url": "https://github.com/changeroa/StyleGallery/issues"
|
|
9
|
+
},
|
|
10
|
+
"repository": {
|
|
11
|
+
"type": "git",
|
|
12
|
+
"url": "git+https://github.com/changeroa/StyleGallery.git"
|
|
13
|
+
},
|
|
14
|
+
"keywords": [
|
|
15
|
+
"agents",
|
|
16
|
+
"css",
|
|
17
|
+
"design-engineering",
|
|
18
|
+
"layout",
|
|
19
|
+
"mcp",
|
|
20
|
+
"ui"
|
|
21
|
+
],
|
|
22
|
+
"engines": {
|
|
23
|
+
"node": ">=22"
|
|
24
|
+
},
|
|
25
|
+
"bin": {
|
|
26
|
+
"sg": "scripts/sg.mjs",
|
|
27
|
+
"stylegallery": "scripts/sg.mjs",
|
|
28
|
+
"stylegallery-mcp": "scripts/sg-mcp.mjs"
|
|
29
|
+
},
|
|
30
|
+
"files": [
|
|
31
|
+
"AGENTS.md",
|
|
32
|
+
"CATALOG.md",
|
|
33
|
+
"DOMAINS.md",
|
|
34
|
+
"GOVERNANCE.md",
|
|
35
|
+
"GUIDE.md",
|
|
36
|
+
"consumer-reference/",
|
|
37
|
+
"design-engineering/",
|
|
38
|
+
"game-ui/",
|
|
39
|
+
"guides/",
|
|
40
|
+
"index.md",
|
|
41
|
+
"layout/",
|
|
42
|
+
"motion/",
|
|
43
|
+
"patterns/",
|
|
44
|
+
"platform-guides/",
|
|
45
|
+
"quality/",
|
|
46
|
+
"recipes/",
|
|
47
|
+
"scripts/"
|
|
48
|
+
],
|
|
49
|
+
"publishConfig": {
|
|
50
|
+
"access": "public"
|
|
51
|
+
},
|
|
52
|
+
"scripts": {
|
|
53
|
+
"audit:evidence": "node scripts/audit-evidence-freshness.mjs",
|
|
54
|
+
"build": "node scripts/build-reference-artifacts.mjs --adapter style-dictionary --fail-on-warning --json",
|
|
55
|
+
"create:component-state-session": "node scripts/create-component-state-session.mjs",
|
|
56
|
+
"test": "node scripts/test-reference-adapters.mjs --json",
|
|
57
|
+
"test:consumer-conformance": "playwright test tests/consumer-conformance.spec.mjs",
|
|
58
|
+
"test:component-state": "node scripts/test-component-state-source-contract.mjs && node scripts/test-validate-component-state.mjs --json && node scripts/test-validate-component-state-artifacts.mjs && node scripts/test-generate-consumer-reference-evidence.mjs --json",
|
|
59
|
+
"test:component-state:runtime": "playwright test tests/component-state-evidence.spec.mjs --project=chromium",
|
|
60
|
+
"test:component-state:runtime-negative": "node scripts/test-component-state-sentinel.mjs",
|
|
61
|
+
"test:sentinel": "playwright test tests/consumer-reference-sentinels.spec.mjs --project=chromium",
|
|
62
|
+
"sg": "node scripts/sg.mjs",
|
|
63
|
+
"sg:mcp": "node scripts/sg-mcp.mjs",
|
|
64
|
+
"test:agent-native": "node scripts/test-agent-knowledge-kernel.mjs --json && node scripts/test-agent-execution-kernel.mjs --json && node scripts/test-agent-execution-safety.mjs --json && node scripts/test-agent-events.mjs --json && node scripts/test-agent-learning.mjs --json && node scripts/test-agent-native-schemas.mjs --json && node scripts/test-sg-cli.mjs --json && node scripts/test-agent-conformance-receipt.mjs --json && node scripts/test-agent-mcp.mjs --json && node scripts/test-agent-registry-mcp-integrity.mjs --json && node scripts/test-agent-registry-mutations.mjs --json && node scripts/test-agent-adapter-conformance.mjs --json && node scripts/test-agent-projections.mjs --json",
|
|
65
|
+
"validate": "node scripts/validate-reference-artifacts.mjs --manifest consumer-reference/generated/manifest.json --json",
|
|
66
|
+
"validate:component-state": "node scripts/validate-component-state.mjs --json && node scripts/generate-consumer-reference-evidence.mjs --check --json"
|
|
67
|
+
},
|
|
68
|
+
"devDependencies": {
|
|
69
|
+
"@axe-core/playwright": "4.12.1",
|
|
70
|
+
"@playwright/test": "1.61.0",
|
|
71
|
+
"ajv": "8.20.0",
|
|
72
|
+
"ajv-formats": "3.0.1",
|
|
73
|
+
"style-dictionary": "5.5.0"
|
|
74
|
+
},
|
|
75
|
+
"dependencies": {
|
|
76
|
+
"@modelcontextprotocol/sdk": "1.29.0"
|
|
77
|
+
}
|
|
78
|
+
}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: Layout Pattern
|
|
3
|
+
name: center
|
|
4
|
+
title: center
|
|
5
|
+
category: Centering
|
|
6
|
+
description: Center a block while respecting a maximum measure.
|
|
7
|
+
primary_spatial_problem: Center a block while respecting a maximum measure.
|
|
8
|
+
secondary_spatial_problems: none
|
|
9
|
+
layout_axis: inline
|
|
10
|
+
content_shape: mixed
|
|
11
|
+
responsiveness: fluid
|
|
12
|
+
constraints: Uses only local class hooks and explicit layout constraints.
|
|
13
|
+
scroll_ownership: No internal scroll container.
|
|
14
|
+
source_lineage: https://every-layout.dev/layouts/
|
|
15
|
+
lifecycle: generated
|
|
16
|
+
generated_from: scripts/generate-patterns.mjs, scripts/pattern-data.mjs
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
<!-- Generated from `scripts/generate-patterns.mjs` and `scripts/pattern-data.mjs`. Do not hand-edit generated catalog or pattern docs; edit the source files and regenerate. -->
|
|
20
|
+
|
|
21
|
+
# center
|
|
22
|
+
|
|
23
|
+
## When To Use
|
|
24
|
+
|
|
25
|
+
Use this pattern when you need to center a block while respecting a maximum measure.
|
|
26
|
+
|
|
27
|
+
## HTML
|
|
28
|
+
|
|
29
|
+
```html
|
|
30
|
+
<article class="center" aria-labelledby="center-heading">
|
|
31
|
+
<h2 id="center-heading">Editorial policy</h2>
|
|
32
|
+
<p>Long-form guidance stays readable while the page around it remains fluid.</p>
|
|
33
|
+
</article>
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## CSS
|
|
37
|
+
|
|
38
|
+
```css
|
|
39
|
+
.center {
|
|
40
|
+
margin-inline: auto;
|
|
41
|
+
max-inline-size: 64rem;
|
|
42
|
+
padding-inline: 1rem;
|
|
43
|
+
}
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
## Core Properties
|
|
47
|
+
|
|
48
|
+
- `margin-inline`, `max-inline-size`, `padding-inline` define the spatial behavior for this pattern.
|
|
49
|
+
|
|
50
|
+
## Properties That Break The Layout If Removed
|
|
51
|
+
|
|
52
|
+
- Removing `margin-inline`, `max-inline-size`, `padding-inline` changes the pattern from its documented layout responsibility back toward ordinary flow or an unsafe fixed arrangement.
|
|
53
|
+
|
|
54
|
+
## Constraints And Change Points
|
|
55
|
+
|
|
56
|
+
- fluid responsiveness is part of the contract; change sizing values only when the new minimum, maximum, or wrap point is documented with the pattern.
|
|
57
|
+
- Keep the HTML class hooks and CSS selectors in one-to-one agreement.
|
|
58
|
+
|
|
59
|
+
## Scroll Ownership
|
|
60
|
+
|
|
61
|
+
No internal scroll container.
|
|
62
|
+
|
|
63
|
+
## Accessibility And Source Order Notes
|
|
64
|
+
|
|
65
|
+
- Semantic role expectation: Preserve the HTML sample's landmark, list, navigation, form, figure, or article roles; layout classes must not replace semantic elements.
|
|
66
|
+
- DOM order expectation: Keep semantic elements, DOM order, reading order, and focus order independent from the visual placement created by the layout classes.
|
|
67
|
+
- Focus risk: Any interactive descendants follow DOM order; do not use this pattern to create a visual order that keyboard focus cannot follow.
|
|
68
|
+
- Scroll expectation: No internal scroll container.
|
|
69
|
+
- Cognitive risk: Low: the pattern should preserve ordinary reading flow when semantic order is already correct.
|
|
70
|
+
|
|
71
|
+
## Browser And Fallback Notes
|
|
72
|
+
|
|
73
|
+
The CSS uses modern grid, flex, intrinsic sizing, logical properties, or positioning. If a target browser cannot support a property, fall back to ordinary block flow before adding decorative or script-driven layout behavior.
|
|
74
|
+
|
|
75
|
+
## Composition Notes
|
|
76
|
+
|
|
77
|
+
Use `center` as the stable pattern root and compose additional layout behavior outside that root unless the child class is part of the documented relationship.
|
|
78
|
+
|
|
79
|
+
## Anti-patterns
|
|
80
|
+
|
|
81
|
+
- Do not add color, border, shadow, typography, or animation rules to reusable pattern CSS.
|
|
82
|
+
- Do not use this pattern to repair unclear HTML structure; make the DOM roles legible first.
|
|
83
|
+
|
|
84
|
+
## IA Navigation
|
|
85
|
+
|
|
86
|
+
Parent: [Centering patterns](index.md) in [Pattern Categories](../index.md).
|
|
87
|
+
Next: [Layout Recipes](../../recipes/index.md) for screen-level composition, or return to the [Layout Pattern Catalog](../../CATALOG.md) when choosing another primitive.
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
# Centering
|
|
2
|
+
|
|
3
|
+
<!-- Generated from `scripts/generate-patterns.mjs` and `scripts/pattern-data.mjs`. Do not hand-edit generated catalog or pattern docs; edit the source files and regenerate. -->
|
|
4
|
+
|
|
5
|
+
- [center](center.md) - Center a block while respecting a maximum measure.
|
|
6
|
+
- [super-center](super-center.md) - Center one region along both axes.
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: Layout Pattern
|
|
3
|
+
name: super-center
|
|
4
|
+
title: super-center
|
|
5
|
+
category: Centering
|
|
6
|
+
description: Center one region along both axes.
|
|
7
|
+
primary_spatial_problem: Center one region along both axes.
|
|
8
|
+
secondary_spatial_problems: none
|
|
9
|
+
layout_axis: both
|
|
10
|
+
content_shape: mixed
|
|
11
|
+
responsiveness: fluid
|
|
12
|
+
constraints: Uses only local class hooks and explicit layout constraints.
|
|
13
|
+
scroll_ownership: No internal scroll container.
|
|
14
|
+
source_lineage: https://web.dev/articles/one-line-layouts
|
|
15
|
+
lifecycle: generated
|
|
16
|
+
generated_from: scripts/generate-patterns.mjs, scripts/pattern-data.mjs
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
<!-- Generated from `scripts/generate-patterns.mjs` and `scripts/pattern-data.mjs`. Do not hand-edit generated catalog or pattern docs; edit the source files and regenerate. -->
|
|
20
|
+
|
|
21
|
+
# super-center
|
|
22
|
+
|
|
23
|
+
## When To Use
|
|
24
|
+
|
|
25
|
+
Use this pattern when you need to center one region along both axes.
|
|
26
|
+
|
|
27
|
+
## HTML
|
|
28
|
+
|
|
29
|
+
```html
|
|
30
|
+
<section class="super_center" aria-labelledby="centered-dialog-title">
|
|
31
|
+
<form aria-labelledby="centered-dialog-title">
|
|
32
|
+
<h2 id="centered-dialog-title">Confirm archive</h2>
|
|
33
|
+
<button>Archive project</button>
|
|
34
|
+
</form>
|
|
35
|
+
</section>
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
## CSS
|
|
39
|
+
|
|
40
|
+
```css
|
|
41
|
+
.super_center {
|
|
42
|
+
display: grid;
|
|
43
|
+
min-block-size: 100dvh;
|
|
44
|
+
place-items: center;
|
|
45
|
+
}
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
## Core Properties
|
|
49
|
+
|
|
50
|
+
- `display`, `min-block-size`, `place-items` define the spatial behavior for this pattern.
|
|
51
|
+
|
|
52
|
+
## Properties That Break The Layout If Removed
|
|
53
|
+
|
|
54
|
+
- Removing `display`, `min-block-size`, `place-items` changes the pattern from its documented layout responsibility back toward ordinary flow or an unsafe fixed arrangement.
|
|
55
|
+
|
|
56
|
+
## Constraints And Change Points
|
|
57
|
+
|
|
58
|
+
- fluid responsiveness is part of the contract; change sizing values only when the new minimum, maximum, or wrap point is documented with the pattern.
|
|
59
|
+
- Keep the HTML class hooks and CSS selectors in one-to-one agreement.
|
|
60
|
+
|
|
61
|
+
## Scroll Ownership
|
|
62
|
+
|
|
63
|
+
No internal scroll container.
|
|
64
|
+
|
|
65
|
+
## Accessibility And Source Order Notes
|
|
66
|
+
|
|
67
|
+
- Semantic role expectation: Preserve the HTML sample's landmark, list, navigation, form, figure, or article roles; layout classes must not replace semantic elements.
|
|
68
|
+
- DOM order expectation: Keep semantic elements, DOM order, reading order, and focus order independent from the visual placement created by the layout classes.
|
|
69
|
+
- Focus risk: Any interactive descendants follow DOM order; do not use this pattern to create a visual order that keyboard focus cannot follow.
|
|
70
|
+
- Scroll expectation: No internal scroll container.
|
|
71
|
+
- Cognitive risk: Low: the pattern should preserve ordinary reading flow when semantic order is already correct.
|
|
72
|
+
|
|
73
|
+
## Browser And Fallback Notes
|
|
74
|
+
|
|
75
|
+
The CSS uses modern grid, flex, intrinsic sizing, logical properties, or positioning. If a target browser cannot support a property, fall back to ordinary block flow before adding decorative or script-driven layout behavior.
|
|
76
|
+
|
|
77
|
+
## Composition Notes
|
|
78
|
+
|
|
79
|
+
Use `super_center` as the stable pattern root and compose additional layout behavior outside that root unless the child class is part of the documented relationship.
|
|
80
|
+
|
|
81
|
+
## Anti-patterns
|
|
82
|
+
|
|
83
|
+
- Do not add color, border, shadow, typography, or animation rules to reusable pattern CSS.
|
|
84
|
+
- Do not use this pattern to repair unclear HTML structure; make the DOM roles legible first.
|
|
85
|
+
|
|
86
|
+
## IA Navigation
|
|
87
|
+
|
|
88
|
+
Parent: [Centering patterns](index.md) in [Pattern Categories](../index.md).
|
|
89
|
+
Next: [Layout Recipes](../../recipes/index.md) for screen-level composition, or return to the [Layout Pattern Catalog](../../CATALOG.md) when choosing another primitive.
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: Layout Pattern
|
|
3
|
+
name: box
|
|
4
|
+
title: box
|
|
5
|
+
category: Containment
|
|
6
|
+
description: Wrap content with predictable internal spacing.
|
|
7
|
+
primary_spatial_problem: Wrap content with predictable internal spacing.
|
|
8
|
+
secondary_spatial_problems: none
|
|
9
|
+
layout_axis: block
|
|
10
|
+
content_shape: mixed
|
|
11
|
+
responsiveness: fixed
|
|
12
|
+
constraints: Uses only local class hooks and explicit layout constraints.
|
|
13
|
+
scroll_ownership: No internal scroll container.
|
|
14
|
+
source_lineage: https://every-layout.dev/layouts/
|
|
15
|
+
lifecycle: generated
|
|
16
|
+
generated_from: scripts/generate-patterns.mjs, scripts/pattern-data.mjs
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
<!-- Generated from `scripts/generate-patterns.mjs` and `scripts/pattern-data.mjs`. Do not hand-edit generated catalog or pattern docs; edit the source files and regenerate. -->
|
|
20
|
+
|
|
21
|
+
# box
|
|
22
|
+
|
|
23
|
+
## When To Use
|
|
24
|
+
|
|
25
|
+
Use this pattern when you need to wrap content with predictable internal spacing.
|
|
26
|
+
|
|
27
|
+
## HTML
|
|
28
|
+
|
|
29
|
+
```html
|
|
30
|
+
<aside class="box" aria-labelledby="box-heading">
|
|
31
|
+
<h2 id="box-heading">Support window</h2>
|
|
32
|
+
<p>Responses resume Monday at 09:00.</p>
|
|
33
|
+
</aside>
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## CSS
|
|
37
|
+
|
|
38
|
+
```css
|
|
39
|
+
.box {
|
|
40
|
+
box-sizing: border-box;
|
|
41
|
+
display: block;
|
|
42
|
+
padding: 1rem;
|
|
43
|
+
}
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
## Core Properties
|
|
47
|
+
|
|
48
|
+
- `box-sizing`, `display`, `padding` define the spatial behavior for this pattern.
|
|
49
|
+
|
|
50
|
+
## Properties That Break The Layout If Removed
|
|
51
|
+
|
|
52
|
+
- Removing `box-sizing`, `display`, `padding` changes the pattern from its documented layout responsibility back toward ordinary flow or an unsafe fixed arrangement.
|
|
53
|
+
|
|
54
|
+
## Constraints And Change Points
|
|
55
|
+
|
|
56
|
+
- fixed responsiveness is part of the contract; change sizing values only when the new minimum, maximum, or wrap point is documented with the pattern.
|
|
57
|
+
- Keep the HTML class hooks and CSS selectors in one-to-one agreement.
|
|
58
|
+
|
|
59
|
+
## Scroll Ownership
|
|
60
|
+
|
|
61
|
+
No internal scroll container.
|
|
62
|
+
|
|
63
|
+
## Accessibility And Source Order Notes
|
|
64
|
+
|
|
65
|
+
- Semantic role expectation: Preserve the HTML sample's landmark, list, navigation, form, figure, or article roles; layout classes must not replace semantic elements.
|
|
66
|
+
- DOM order expectation: Keep semantic elements, DOM order, reading order, and focus order independent from the visual placement created by the layout classes.
|
|
67
|
+
- Focus risk: Any interactive descendants follow DOM order; do not use this pattern to create a visual order that keyboard focus cannot follow.
|
|
68
|
+
- Scroll expectation: No internal scroll container.
|
|
69
|
+
- Cognitive risk: Low: the pattern should preserve ordinary reading flow when semantic order is already correct.
|
|
70
|
+
|
|
71
|
+
## Browser And Fallback Notes
|
|
72
|
+
|
|
73
|
+
The CSS uses modern grid, flex, intrinsic sizing, logical properties, or positioning. If a target browser cannot support a property, fall back to ordinary block flow before adding decorative or script-driven layout behavior.
|
|
74
|
+
|
|
75
|
+
## Composition Notes
|
|
76
|
+
|
|
77
|
+
Use `box` as the stable pattern root and compose additional layout behavior outside that root unless the child class is part of the documented relationship.
|
|
78
|
+
|
|
79
|
+
## Anti-patterns
|
|
80
|
+
|
|
81
|
+
- Do not add color, border, shadow, typography, or animation rules to reusable pattern CSS.
|
|
82
|
+
- Do not use this pattern to repair unclear HTML structure; make the DOM roles legible first.
|
|
83
|
+
|
|
84
|
+
## IA Navigation
|
|
85
|
+
|
|
86
|
+
Parent: [Containment patterns](index.md) in [Pattern Categories](../index.md).
|
|
87
|
+
Next: [Layout Recipes](../../recipes/index.md) for screen-level composition, or return to the [Layout Pattern Catalog](../../CATALOG.md) when choosing another primitive.
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: Layout Pattern
|
|
3
|
+
name: clamped-card
|
|
4
|
+
title: clamped-card
|
|
5
|
+
category: Containment
|
|
6
|
+
description: Constrain a card to a readable fluid width.
|
|
7
|
+
primary_spatial_problem: Constrain a card to a readable fluid width.
|
|
8
|
+
secondary_spatial_problems: none
|
|
9
|
+
layout_axis: inline
|
|
10
|
+
content_shape: mixed
|
|
11
|
+
responsiveness: fluid
|
|
12
|
+
constraints: Uses only local class hooks and explicit layout constraints.
|
|
13
|
+
scroll_ownership: No internal scroll container.
|
|
14
|
+
source_lineage: https://web.dev/articles/one-line-layouts
|
|
15
|
+
lifecycle: generated
|
|
16
|
+
generated_from: scripts/generate-patterns.mjs, scripts/pattern-data.mjs
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
<!-- Generated from `scripts/generate-patterns.mjs` and `scripts/pattern-data.mjs`. Do not hand-edit generated catalog or pattern docs; edit the source files and regenerate. -->
|
|
20
|
+
|
|
21
|
+
# clamped-card
|
|
22
|
+
|
|
23
|
+
## When To Use
|
|
24
|
+
|
|
25
|
+
Use this pattern when you need to constrain a card to a readable fluid width.
|
|
26
|
+
|
|
27
|
+
## HTML
|
|
28
|
+
|
|
29
|
+
```html
|
|
30
|
+
<article class="clamped_card" aria-labelledby="clamped-title">
|
|
31
|
+
<h2 id="clamped-title">Invite teammate</h2>
|
|
32
|
+
<p>The card grows with the viewport but stops at the intended reading width.</p>
|
|
33
|
+
</article>
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## CSS
|
|
37
|
+
|
|
38
|
+
```css
|
|
39
|
+
.clamped_card {
|
|
40
|
+
inline-size: clamp(16rem, 50vw, 28rem);
|
|
41
|
+
margin-inline: auto;
|
|
42
|
+
}
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
## Core Properties
|
|
46
|
+
|
|
47
|
+
- `inline-size`, `margin-inline` define the spatial behavior for this pattern.
|
|
48
|
+
|
|
49
|
+
## Properties That Break The Layout If Removed
|
|
50
|
+
|
|
51
|
+
- Removing `inline-size`, `margin-inline` changes the pattern from its documented layout responsibility back toward ordinary flow or an unsafe fixed arrangement.
|
|
52
|
+
|
|
53
|
+
## Constraints And Change Points
|
|
54
|
+
|
|
55
|
+
- fluid responsiveness is part of the contract; change sizing values only when the new minimum, maximum, or wrap point is documented with the pattern.
|
|
56
|
+
- Keep the HTML class hooks and CSS selectors in one-to-one agreement.
|
|
57
|
+
|
|
58
|
+
## Scroll Ownership
|
|
59
|
+
|
|
60
|
+
No internal scroll container.
|
|
61
|
+
|
|
62
|
+
## Accessibility And Source Order Notes
|
|
63
|
+
|
|
64
|
+
- Semantic role expectation: Preserve the HTML sample's landmark, list, navigation, form, figure, or article roles; layout classes must not replace semantic elements.
|
|
65
|
+
- DOM order expectation: Keep semantic elements, DOM order, reading order, and focus order independent from the visual placement created by the layout classes.
|
|
66
|
+
- Focus risk: Any interactive descendants follow DOM order; do not use this pattern to create a visual order that keyboard focus cannot follow.
|
|
67
|
+
- Scroll expectation: No internal scroll container.
|
|
68
|
+
- Cognitive risk: Low: the pattern should preserve ordinary reading flow when semantic order is already correct.
|
|
69
|
+
|
|
70
|
+
## Browser And Fallback Notes
|
|
71
|
+
|
|
72
|
+
The CSS uses modern grid, flex, intrinsic sizing, logical properties, or positioning. If a target browser cannot support a property, fall back to ordinary block flow before adding decorative or script-driven layout behavior.
|
|
73
|
+
|
|
74
|
+
## Composition Notes
|
|
75
|
+
|
|
76
|
+
Use `clamped_card` as the stable pattern root and compose additional layout behavior outside that root unless the child class is part of the documented relationship.
|
|
77
|
+
|
|
78
|
+
## Anti-patterns
|
|
79
|
+
|
|
80
|
+
- Do not add color, border, shadow, typography, or animation rules to reusable pattern CSS.
|
|
81
|
+
- Do not use this pattern to repair unclear HTML structure; make the DOM roles legible first.
|
|
82
|
+
|
|
83
|
+
## IA Navigation
|
|
84
|
+
|
|
85
|
+
Parent: [Containment patterns](index.md) in [Pattern Categories](../index.md).
|
|
86
|
+
Next: [Layout Recipes](../../recipes/index.md) for screen-level composition, or return to the [Layout Pattern Catalog](../../CATALOG.md) when choosing another primitive.
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: Layout Pattern
|
|
3
|
+
name: content-limiter
|
|
4
|
+
title: content-limiter
|
|
5
|
+
category: Containment
|
|
6
|
+
description: Keep prose width readable inside fluid containers.
|
|
7
|
+
primary_spatial_problem: Keep prose width readable inside fluid containers.
|
|
8
|
+
secondary_spatial_problems: none
|
|
9
|
+
layout_axis: inline
|
|
10
|
+
content_shape: mixed
|
|
11
|
+
responsiveness: fluid
|
|
12
|
+
constraints: Uses only local class hooks and explicit layout constraints.
|
|
13
|
+
scroll_ownership: No internal scroll container.
|
|
14
|
+
source_lineage: https://design-system.service.gov.uk/styles/layout/
|
|
15
|
+
lifecycle: generated
|
|
16
|
+
generated_from: scripts/generate-patterns.mjs, scripts/pattern-data.mjs
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
<!-- Generated from `scripts/generate-patterns.mjs` and `scripts/pattern-data.mjs`. Do not hand-edit generated catalog or pattern docs; edit the source files and regenerate. -->
|
|
20
|
+
|
|
21
|
+
# content-limiter
|
|
22
|
+
|
|
23
|
+
## When To Use
|
|
24
|
+
|
|
25
|
+
Use this pattern when you need to keep prose width readable inside fluid containers.
|
|
26
|
+
|
|
27
|
+
## HTML
|
|
28
|
+
|
|
29
|
+
```html
|
|
30
|
+
<article class="content_limiter" aria-labelledby="limiter-heading">
|
|
31
|
+
<h2 id="limiter-heading">Incident summary</h2>
|
|
32
|
+
<p>The report keeps a comfortable measure even inside a wide dashboard shell.</p>
|
|
33
|
+
</article>
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## CSS
|
|
37
|
+
|
|
38
|
+
```css
|
|
39
|
+
.content_limiter {
|
|
40
|
+
margin-inline: auto;
|
|
41
|
+
max-inline-size: 70ch;
|
|
42
|
+
padding-inline: 1rem;
|
|
43
|
+
}
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
## Core Properties
|
|
47
|
+
|
|
48
|
+
- `margin-inline`, `max-inline-size`, `padding-inline` define the spatial behavior for this pattern.
|
|
49
|
+
|
|
50
|
+
## Properties That Break The Layout If Removed
|
|
51
|
+
|
|
52
|
+
- Removing `margin-inline`, `max-inline-size`, `padding-inline` changes the pattern from its documented layout responsibility back toward ordinary flow or an unsafe fixed arrangement.
|
|
53
|
+
|
|
54
|
+
## Constraints And Change Points
|
|
55
|
+
|
|
56
|
+
- fluid responsiveness is part of the contract; change sizing values only when the new minimum, maximum, or wrap point is documented with the pattern.
|
|
57
|
+
- Keep the HTML class hooks and CSS selectors in one-to-one agreement.
|
|
58
|
+
|
|
59
|
+
## Scroll Ownership
|
|
60
|
+
|
|
61
|
+
No internal scroll container.
|
|
62
|
+
|
|
63
|
+
## Accessibility And Source Order Notes
|
|
64
|
+
|
|
65
|
+
- Semantic role expectation: Preserve the HTML sample's landmark, list, navigation, form, figure, or article roles; layout classes must not replace semantic elements.
|
|
66
|
+
- DOM order expectation: Keep semantic elements, DOM order, reading order, and focus order independent from the visual placement created by the layout classes.
|
|
67
|
+
- Focus risk: Any interactive descendants follow DOM order; do not use this pattern to create a visual order that keyboard focus cannot follow.
|
|
68
|
+
- Scroll expectation: No internal scroll container.
|
|
69
|
+
- Cognitive risk: Low: the pattern should preserve ordinary reading flow when semantic order is already correct.
|
|
70
|
+
|
|
71
|
+
## Browser And Fallback Notes
|
|
72
|
+
|
|
73
|
+
The CSS uses modern grid, flex, intrinsic sizing, logical properties, or positioning. If a target browser cannot support a property, fall back to ordinary block flow before adding decorative or script-driven layout behavior.
|
|
74
|
+
|
|
75
|
+
## Composition Notes
|
|
76
|
+
|
|
77
|
+
Use `content_limiter` as the stable pattern root and compose additional layout behavior outside that root unless the child class is part of the documented relationship.
|
|
78
|
+
|
|
79
|
+
## Anti-patterns
|
|
80
|
+
|
|
81
|
+
- Do not add color, border, shadow, typography, or animation rules to reusable pattern CSS.
|
|
82
|
+
- Do not use this pattern to repair unclear HTML structure; make the DOM roles legible first.
|
|
83
|
+
|
|
84
|
+
## IA Navigation
|
|
85
|
+
|
|
86
|
+
Parent: [Containment patterns](index.md) in [Pattern Categories](../index.md).
|
|
87
|
+
Next: [Layout Recipes](../../recipes/index.md) for screen-level composition, or return to the [Layout Pattern Catalog](../../CATALOG.md) when choosing another primitive.
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: Layout Pattern
|
|
3
|
+
name: fluid-styles
|
|
4
|
+
title: fluid-styles
|
|
5
|
+
category: Containment
|
|
6
|
+
description: Let a region fill available width without exceeding a readable max.
|
|
7
|
+
primary_spatial_problem: Let a region fill available width without exceeding a readable max.
|
|
8
|
+
secondary_spatial_problems: none
|
|
9
|
+
layout_axis: inline
|
|
10
|
+
content_shape: mixed
|
|
11
|
+
responsiveness: fluid
|
|
12
|
+
constraints: Uses only local class hooks and explicit layout constraints.
|
|
13
|
+
scroll_ownership: No internal scroll container.
|
|
14
|
+
source_lineage: https://carbondesignsystem.com/elements/2x-grid/overview/
|
|
15
|
+
lifecycle: generated
|
|
16
|
+
generated_from: scripts/generate-patterns.mjs, scripts/pattern-data.mjs
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
<!-- Generated from `scripts/generate-patterns.mjs` and `scripts/pattern-data.mjs`. Do not hand-edit generated catalog or pattern docs; edit the source files and regenerate. -->
|
|
20
|
+
|
|
21
|
+
# fluid-styles
|
|
22
|
+
|
|
23
|
+
## When To Use
|
|
24
|
+
|
|
25
|
+
Use this pattern when you need to let a region fill available width without exceeding a readable max.
|
|
26
|
+
|
|
27
|
+
## HTML
|
|
28
|
+
|
|
29
|
+
```html
|
|
30
|
+
<section class="fluid_styles" aria-labelledby="fluid-title">
|
|
31
|
+
<h2 id="fluid-title">Operations overview</h2>
|
|
32
|
+
<p>The region fills the parent without exceeding the shared page measure.</p>
|
|
33
|
+
</section>
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## CSS
|
|
37
|
+
|
|
38
|
+
```css
|
|
39
|
+
.fluid_styles {
|
|
40
|
+
inline-size: min(100%, 72rem);
|
|
41
|
+
margin-inline: auto;
|
|
42
|
+
}
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
## Core Properties
|
|
46
|
+
|
|
47
|
+
- `inline-size`, `margin-inline` define the spatial behavior for this pattern.
|
|
48
|
+
|
|
49
|
+
## Properties That Break The Layout If Removed
|
|
50
|
+
|
|
51
|
+
- Removing `inline-size`, `margin-inline` changes the pattern from its documented layout responsibility back toward ordinary flow or an unsafe fixed arrangement.
|
|
52
|
+
|
|
53
|
+
## Constraints And Change Points
|
|
54
|
+
|
|
55
|
+
- fluid responsiveness is part of the contract; change sizing values only when the new minimum, maximum, or wrap point is documented with the pattern.
|
|
56
|
+
- Keep the HTML class hooks and CSS selectors in one-to-one agreement.
|
|
57
|
+
|
|
58
|
+
## Scroll Ownership
|
|
59
|
+
|
|
60
|
+
No internal scroll container.
|
|
61
|
+
|
|
62
|
+
## Accessibility And Source Order Notes
|
|
63
|
+
|
|
64
|
+
- Semantic role expectation: Preserve the HTML sample's landmark, list, navigation, form, figure, or article roles; layout classes must not replace semantic elements.
|
|
65
|
+
- DOM order expectation: Keep semantic elements, DOM order, reading order, and focus order independent from the visual placement created by the layout classes.
|
|
66
|
+
- Focus risk: Any interactive descendants follow DOM order; do not use this pattern to create a visual order that keyboard focus cannot follow.
|
|
67
|
+
- Scroll expectation: No internal scroll container.
|
|
68
|
+
- Cognitive risk: Low: the pattern should preserve ordinary reading flow when semantic order is already correct.
|
|
69
|
+
|
|
70
|
+
## Browser And Fallback Notes
|
|
71
|
+
|
|
72
|
+
The CSS uses modern grid, flex, intrinsic sizing, logical properties, or positioning. If a target browser cannot support a property, fall back to ordinary block flow before adding decorative or script-driven layout behavior.
|
|
73
|
+
|
|
74
|
+
## Composition Notes
|
|
75
|
+
|
|
76
|
+
Use `fluid_styles` as the stable pattern root and compose additional layout behavior outside that root unless the child class is part of the documented relationship.
|
|
77
|
+
|
|
78
|
+
## Anti-patterns
|
|
79
|
+
|
|
80
|
+
- Do not add color, border, shadow, typography, or animation rules to reusable pattern CSS.
|
|
81
|
+
- Do not use this pattern to repair unclear HTML structure; make the DOM roles legible first.
|
|
82
|
+
|
|
83
|
+
## IA Navigation
|
|
84
|
+
|
|
85
|
+
Parent: [Containment patterns](index.md) in [Pattern Categories](../index.md).
|
|
86
|
+
Next: [Layout Recipes](../../recipes/index.md) for screen-level composition, or return to the [Layout Pattern Catalog](../../CATALOG.md) when choosing another primitive.
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
# Containment
|
|
2
|
+
|
|
3
|
+
<!-- Generated from `scripts/generate-patterns.mjs` and `scripts/pattern-data.mjs`. Do not hand-edit generated catalog or pattern docs; edit the source files and regenerate. -->
|
|
4
|
+
|
|
5
|
+
- [box](box.md) - Wrap content with predictable internal spacing.
|
|
6
|
+
- [content-limiter](content-limiter.md) - Keep prose width readable inside fluid containers.
|
|
7
|
+
- [clamped-card](clamped-card.md) - Constrain a card to a readable fluid width.
|
|
8
|
+
- [fluid-styles](fluid-styles.md) - Let a region fill available width without exceeding a readable max.
|