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
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: Layout Pattern
|
|
3
|
+
name: supporting-pane
|
|
4
|
+
title: supporting-pane
|
|
5
|
+
category: Split / Sidebar
|
|
6
|
+
description: Keep supplemental information beside a primary task.
|
|
7
|
+
primary_spatial_problem: Keep supplemental information beside a primary task.
|
|
8
|
+
secondary_spatial_problems: none
|
|
9
|
+
layout_axis: inline
|
|
10
|
+
content_shape: mixed
|
|
11
|
+
responsiveness: reflow
|
|
12
|
+
constraints: Uses only local class hooks and explicit layout constraints.
|
|
13
|
+
scroll_ownership: No internal scroll container.
|
|
14
|
+
source_lineage: https://m3.material.io/foundations/adaptive-design/canonical-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
|
+
# supporting-pane
|
|
22
|
+
|
|
23
|
+
## When To Use
|
|
24
|
+
|
|
25
|
+
Use this pattern when you need to keep supplemental information beside a primary task.
|
|
26
|
+
|
|
27
|
+
## HTML
|
|
28
|
+
|
|
29
|
+
```html
|
|
30
|
+
<section class="supporting_pane" aria-label="Invoice editor">
|
|
31
|
+
<main class="supporting_pane_main">Invoice line-item editor</main>
|
|
32
|
+
<aside class="supporting_pane_summary">Payment summary</aside>
|
|
33
|
+
</section>
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## CSS
|
|
37
|
+
|
|
38
|
+
```css
|
|
39
|
+
.supporting_pane {
|
|
40
|
+
display: grid;
|
|
41
|
+
gap: 1rem;
|
|
42
|
+
grid-template-columns: repeat(auto-fit, minmax(min(20rem, 100%), 1fr));
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
.supporting_pane_main {
|
|
46
|
+
min-inline-size: 0;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
.supporting_pane_summary {
|
|
50
|
+
min-inline-size: 0;
|
|
51
|
+
}
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
## Core Properties
|
|
55
|
+
|
|
56
|
+
- `display`, `gap`, `grid-template-columns`, `min-inline-size` define the spatial behavior for this pattern.
|
|
57
|
+
|
|
58
|
+
## Properties That Break The Layout If Removed
|
|
59
|
+
|
|
60
|
+
- Removing `display`, `gap`, `grid-template-columns`, `min-inline-size` changes the pattern from its documented layout responsibility back toward ordinary flow or an unsafe fixed arrangement.
|
|
61
|
+
|
|
62
|
+
## Constraints And Change Points
|
|
63
|
+
|
|
64
|
+
- reflow responsiveness is part of the contract; change sizing values only when the new minimum, maximum, or wrap point is documented with the pattern.
|
|
65
|
+
- Keep the HTML class hooks and CSS selectors in one-to-one agreement.
|
|
66
|
+
|
|
67
|
+
## Scroll Ownership
|
|
68
|
+
|
|
69
|
+
No internal scroll container.
|
|
70
|
+
|
|
71
|
+
## Accessibility And Source Order Notes
|
|
72
|
+
|
|
73
|
+
- Semantic role expectation: Preserve the HTML sample's landmark, list, navigation, form, figure, or article roles; layout classes must not replace semantic elements.
|
|
74
|
+
- DOM order expectation: Keep semantic elements, DOM order, reading order, and focus order independent from the visual placement created by the layout classes.
|
|
75
|
+
- Focus risk: Any interactive descendants follow DOM order; do not use this pattern to create a visual order that keyboard focus cannot follow.
|
|
76
|
+
- Scroll expectation: No internal scroll container.
|
|
77
|
+
- Cognitive risk: Medium: reflow can change spatial adjacency, so labels, controls, and related content must remain adjacent in DOM order.
|
|
78
|
+
|
|
79
|
+
## Browser And Fallback Notes
|
|
80
|
+
|
|
81
|
+
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.
|
|
82
|
+
|
|
83
|
+
## Composition Notes
|
|
84
|
+
|
|
85
|
+
Use `supporting_pane` as the stable pattern root and compose additional layout behavior outside that root unless the child class is part of the documented relationship.
|
|
86
|
+
|
|
87
|
+
## Anti-patterns
|
|
88
|
+
|
|
89
|
+
- Do not add color, border, shadow, typography, or animation rules to reusable pattern CSS.
|
|
90
|
+
- Do not use this pattern to repair unclear HTML structure; make the DOM roles legible first.
|
|
91
|
+
|
|
92
|
+
## IA Navigation
|
|
93
|
+
|
|
94
|
+
Parent: [Split / Sidebar patterns](index.md) in [Pattern Categories](../index.md).
|
|
95
|
+
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,93 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: Layout Pattern
|
|
3
|
+
name: switcher
|
|
4
|
+
title: switcher
|
|
5
|
+
category: Split / Sidebar
|
|
6
|
+
description: Switch equal regions from row to stack without a viewport breakpoint.
|
|
7
|
+
primary_spatial_problem: Switch equal regions from row to stack without a viewport breakpoint.
|
|
8
|
+
secondary_spatial_problems: none
|
|
9
|
+
layout_axis: inline
|
|
10
|
+
content_shape: mixed
|
|
11
|
+
responsiveness: wrap
|
|
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
|
+
# switcher
|
|
22
|
+
|
|
23
|
+
## When To Use
|
|
24
|
+
|
|
25
|
+
Use this pattern when you need to switch equal regions from row to stack without a viewport breakpoint.
|
|
26
|
+
|
|
27
|
+
## HTML
|
|
28
|
+
|
|
29
|
+
```html
|
|
30
|
+
<section class="switcher" aria-label="Pricing tiers">
|
|
31
|
+
<article class="switcher_item">Starter plan</article>
|
|
32
|
+
<article class="switcher_item">Team plan</article>
|
|
33
|
+
<article class="switcher_item">Enterprise plan</article>
|
|
34
|
+
</section>
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## CSS
|
|
38
|
+
|
|
39
|
+
```css
|
|
40
|
+
.switcher {
|
|
41
|
+
display: flex;
|
|
42
|
+
flex-wrap: wrap;
|
|
43
|
+
gap: 1rem;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
.switcher_item {
|
|
47
|
+
flex-basis: calc((40rem - 100%) * 999);
|
|
48
|
+
flex-grow: 1;
|
|
49
|
+
}
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
## Core Properties
|
|
53
|
+
|
|
54
|
+
- `display`, `flex-wrap`, `gap`, `flex-basis`, `flex-grow` define the spatial behavior for this pattern.
|
|
55
|
+
|
|
56
|
+
## Properties That Break The Layout If Removed
|
|
57
|
+
|
|
58
|
+
- Removing `display`, `flex-wrap`, `gap`, `flex-basis`, `flex-grow` changes the pattern from its documented layout responsibility back toward ordinary flow or an unsafe fixed arrangement.
|
|
59
|
+
|
|
60
|
+
## Constraints And Change Points
|
|
61
|
+
|
|
62
|
+
- wrap responsiveness is part of the contract; change sizing values only when the new minimum, maximum, or wrap point is documented with the pattern.
|
|
63
|
+
- Keep the HTML class hooks and CSS selectors in one-to-one agreement.
|
|
64
|
+
|
|
65
|
+
## Scroll Ownership
|
|
66
|
+
|
|
67
|
+
No internal scroll container.
|
|
68
|
+
|
|
69
|
+
## Accessibility And Source Order Notes
|
|
70
|
+
|
|
71
|
+
- Semantic role expectation: Preserve the HTML sample's landmark, list, navigation, form, figure, or article roles; layout classes must not replace semantic elements.
|
|
72
|
+
- DOM order expectation: Keep semantic elements, DOM order, reading order, and focus order independent from the visual placement created by the layout classes.
|
|
73
|
+
- Focus risk: Any interactive descendants follow DOM order; do not use this pattern to create a visual order that keyboard focus cannot follow.
|
|
74
|
+
- Scroll expectation: No internal scroll container.
|
|
75
|
+
- Cognitive risk: Low: the pattern should preserve ordinary reading flow when semantic order is already correct.
|
|
76
|
+
|
|
77
|
+
## Browser And Fallback Notes
|
|
78
|
+
|
|
79
|
+
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.
|
|
80
|
+
|
|
81
|
+
## Composition Notes
|
|
82
|
+
|
|
83
|
+
Use `switcher` as the stable pattern root and compose additional layout behavior outside that root unless the child class is part of the documented relationship.
|
|
84
|
+
|
|
85
|
+
## Anti-patterns
|
|
86
|
+
|
|
87
|
+
- Do not add color, border, shadow, typography, or animation rules to reusable pattern CSS.
|
|
88
|
+
- Do not use this pattern to repair unclear HTML structure; make the DOM roles legible first.
|
|
89
|
+
|
|
90
|
+
## IA Navigation
|
|
91
|
+
|
|
92
|
+
Parent: [Split / Sidebar patterns](index.md) in [Pattern Categories](../index.md).
|
|
93
|
+
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,88 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: Layout Pattern
|
|
3
|
+
name: feed
|
|
4
|
+
title: feed
|
|
5
|
+
category: Stacking
|
|
6
|
+
description: Stack repeated content items with stable rhythm.
|
|
7
|
+
primary_spatial_problem: Stack repeated content items with stable rhythm.
|
|
8
|
+
secondary_spatial_problems: none
|
|
9
|
+
layout_axis: block
|
|
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://m3.material.io/foundations/adaptive-design/canonical-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
|
+
# feed
|
|
22
|
+
|
|
23
|
+
## When To Use
|
|
24
|
+
|
|
25
|
+
Use this pattern when you need to stack repeated content items with stable rhythm.
|
|
26
|
+
|
|
27
|
+
## HTML
|
|
28
|
+
|
|
29
|
+
```html
|
|
30
|
+
<section class="feed" aria-label="Activity feed">
|
|
31
|
+
<article>Build completed</article>
|
|
32
|
+
<article>Review requested</article>
|
|
33
|
+
<article>Deployment approved</article>
|
|
34
|
+
</section>
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## CSS
|
|
38
|
+
|
|
39
|
+
```css
|
|
40
|
+
.feed {
|
|
41
|
+
display: grid;
|
|
42
|
+
gap: 1rem;
|
|
43
|
+
grid-auto-rows: minmax(min-content, auto);
|
|
44
|
+
}
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
## Core Properties
|
|
48
|
+
|
|
49
|
+
- `display`, `gap`, `grid-auto-rows` define the spatial behavior for this pattern.
|
|
50
|
+
|
|
51
|
+
## Properties That Break The Layout If Removed
|
|
52
|
+
|
|
53
|
+
- Removing `display`, `gap`, `grid-auto-rows` changes the pattern from its documented layout responsibility back toward ordinary flow or an unsafe fixed arrangement.
|
|
54
|
+
|
|
55
|
+
## Constraints And Change Points
|
|
56
|
+
|
|
57
|
+
- fluid responsiveness is part of the contract; change sizing values only when the new minimum, maximum, or wrap point is documented with the pattern.
|
|
58
|
+
- Keep the HTML class hooks and CSS selectors in one-to-one agreement.
|
|
59
|
+
|
|
60
|
+
## Scroll Ownership
|
|
61
|
+
|
|
62
|
+
No internal scroll container.
|
|
63
|
+
|
|
64
|
+
## Accessibility And Source Order Notes
|
|
65
|
+
|
|
66
|
+
- Semantic role expectation: Preserve the HTML sample's landmark, list, navigation, form, figure, or article roles; layout classes must not replace semantic elements.
|
|
67
|
+
- DOM order expectation: Keep semantic elements, DOM order, reading order, and focus order independent from the visual placement created by the layout classes.
|
|
68
|
+
- Focus risk: Any interactive descendants follow DOM order; do not use this pattern to create a visual order that keyboard focus cannot follow.
|
|
69
|
+
- Scroll expectation: No internal scroll container.
|
|
70
|
+
- Cognitive risk: Low: the pattern should preserve ordinary reading flow when semantic order is already correct.
|
|
71
|
+
|
|
72
|
+
## Browser And Fallback Notes
|
|
73
|
+
|
|
74
|
+
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.
|
|
75
|
+
|
|
76
|
+
## Composition Notes
|
|
77
|
+
|
|
78
|
+
Use `feed` as the stable pattern root and compose additional layout behavior outside that root unless the child class is part of the documented relationship.
|
|
79
|
+
|
|
80
|
+
## Anti-patterns
|
|
81
|
+
|
|
82
|
+
- Do not add color, border, shadow, typography, or animation rules to reusable pattern CSS.
|
|
83
|
+
- Do not use this pattern to repair unclear HTML structure; make the DOM roles legible first.
|
|
84
|
+
|
|
85
|
+
## IA Navigation
|
|
86
|
+
|
|
87
|
+
Parent: [Stacking patterns](index.md) in [Pattern Categories](../index.md).
|
|
88
|
+
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
|
+
# Stacking
|
|
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
|
+
- [stack](stack.md) - Create consistent vertical rhythm between direct children.
|
|
6
|
+
- [line-up](line-up.md) - Keep card footer actions aligned at the bottom.
|
|
7
|
+
- [feed](feed.md) - Stack repeated content items with stable rhythm.
|
|
8
|
+
- [step-nav](step-nav.md) - Present sequential steps with consistent vertical rhythm.
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: Layout Pattern
|
|
3
|
+
name: line-up
|
|
4
|
+
title: line-up
|
|
5
|
+
category: Stacking
|
|
6
|
+
description: Keep card footer actions aligned at the bottom.
|
|
7
|
+
primary_spatial_problem: Keep card footer actions aligned at the bottom.
|
|
8
|
+
secondary_spatial_problems: none
|
|
9
|
+
layout_axis: block
|
|
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
|
+
# line-up
|
|
22
|
+
|
|
23
|
+
## When To Use
|
|
24
|
+
|
|
25
|
+
Use this pattern when you need to keep card footer actions aligned at the bottom.
|
|
26
|
+
|
|
27
|
+
## HTML
|
|
28
|
+
|
|
29
|
+
```html
|
|
30
|
+
<article class="line_up" aria-labelledby="line-up-title">
|
|
31
|
+
<section class="line_up_body"><h2 id="line-up-title">Implementation proposal</h2><p>Variable-length summary copy sits above the aligned action row.</p></section>
|
|
32
|
+
<footer class="line_up_footer"><button>Review proposal</button></footer>
|
|
33
|
+
</article>
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## CSS
|
|
37
|
+
|
|
38
|
+
```css
|
|
39
|
+
.line_up {
|
|
40
|
+
display: flex;
|
|
41
|
+
flex-direction: column;
|
|
42
|
+
gap: 1rem;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
.line_up_body {
|
|
46
|
+
min-block-size: 0;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
.line_up_footer {
|
|
50
|
+
margin-block-start: auto;
|
|
51
|
+
}
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
## Core Properties
|
|
55
|
+
|
|
56
|
+
- `display`, `flex-direction`, `gap`, `min-block-size`, `margin-block-start` define the spatial behavior for this pattern.
|
|
57
|
+
|
|
58
|
+
## Properties That Break The Layout If Removed
|
|
59
|
+
|
|
60
|
+
- Removing `display`, `flex-direction`, `gap`, `min-block-size`, `margin-block-start` changes the pattern from its documented layout responsibility back toward ordinary flow or an unsafe fixed arrangement.
|
|
61
|
+
|
|
62
|
+
## Constraints And Change Points
|
|
63
|
+
|
|
64
|
+
- fluid responsiveness is part of the contract; change sizing values only when the new minimum, maximum, or wrap point is documented with the pattern.
|
|
65
|
+
- Keep the HTML class hooks and CSS selectors in one-to-one agreement.
|
|
66
|
+
|
|
67
|
+
## Scroll Ownership
|
|
68
|
+
|
|
69
|
+
No internal scroll container.
|
|
70
|
+
|
|
71
|
+
## Accessibility And Source Order Notes
|
|
72
|
+
|
|
73
|
+
- Semantic role expectation: Preserve the HTML sample's landmark, list, navigation, form, figure, or article roles; layout classes must not replace semantic elements.
|
|
74
|
+
- DOM order expectation: Keep semantic elements, DOM order, reading order, and focus order independent from the visual placement created by the layout classes.
|
|
75
|
+
- Focus risk: Any interactive descendants follow DOM order; do not use this pattern to create a visual order that keyboard focus cannot follow.
|
|
76
|
+
- Scroll expectation: No internal scroll container.
|
|
77
|
+
- Cognitive risk: Low: the pattern should preserve ordinary reading flow when semantic order is already correct.
|
|
78
|
+
|
|
79
|
+
## Browser And Fallback Notes
|
|
80
|
+
|
|
81
|
+
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.
|
|
82
|
+
|
|
83
|
+
## Composition Notes
|
|
84
|
+
|
|
85
|
+
Use `line_up` as the stable pattern root and compose additional layout behavior outside that root unless the child class is part of the documented relationship.
|
|
86
|
+
|
|
87
|
+
## Anti-patterns
|
|
88
|
+
|
|
89
|
+
- Do not add color, border, shadow, typography, or animation rules to reusable pattern CSS.
|
|
90
|
+
- Do not use this pattern to repair unclear HTML structure; make the DOM roles legible first.
|
|
91
|
+
|
|
92
|
+
## IA Navigation
|
|
93
|
+
|
|
94
|
+
Parent: [Stacking patterns](index.md) in [Pattern Categories](../index.md).
|
|
95
|
+
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: stack
|
|
4
|
+
title: stack
|
|
5
|
+
category: Stacking
|
|
6
|
+
description: Create consistent vertical rhythm between direct children.
|
|
7
|
+
primary_spatial_problem: Create consistent vertical rhythm between direct children.
|
|
8
|
+
secondary_spatial_problems: none
|
|
9
|
+
layout_axis: block
|
|
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/stack/
|
|
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
|
+
# stack
|
|
22
|
+
|
|
23
|
+
## When To Use
|
|
24
|
+
|
|
25
|
+
Use this pattern when you need to create consistent vertical rhythm between direct children.
|
|
26
|
+
|
|
27
|
+
## HTML
|
|
28
|
+
|
|
29
|
+
```html
|
|
30
|
+
<section class="stack" aria-labelledby="stack-heading">
|
|
31
|
+
<h2 id="stack-heading">Release checklist</h2>
|
|
32
|
+
<p>Review copy, verify forms, and publish the notes in order.</p>
|
|
33
|
+
<button>Start review</button>
|
|
34
|
+
</section>
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## CSS
|
|
38
|
+
|
|
39
|
+
```css
|
|
40
|
+
.stack {
|
|
41
|
+
display: grid;
|
|
42
|
+
gap: 1rem;
|
|
43
|
+
}
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
## Core Properties
|
|
47
|
+
|
|
48
|
+
- `display`, `gap` define the spatial behavior for this pattern.
|
|
49
|
+
|
|
50
|
+
## Properties That Break The Layout If Removed
|
|
51
|
+
|
|
52
|
+
- Removing `display`, `gap` 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 `stack` 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: [Stacking 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,88 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: Layout Pattern
|
|
3
|
+
name: step-nav
|
|
4
|
+
title: step-nav
|
|
5
|
+
category: Stacking
|
|
6
|
+
description: Present sequential steps with consistent vertical rhythm.
|
|
7
|
+
primary_spatial_problem: Present sequential steps with consistent vertical rhythm.
|
|
8
|
+
secondary_spatial_problems: none
|
|
9
|
+
layout_axis: block
|
|
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
|
+
# step-nav
|
|
22
|
+
|
|
23
|
+
## When To Use
|
|
24
|
+
|
|
25
|
+
Use this pattern when you need to present sequential steps with consistent vertical rhythm.
|
|
26
|
+
|
|
27
|
+
## HTML
|
|
28
|
+
|
|
29
|
+
```html
|
|
30
|
+
<nav class="step_nav" aria-label="Checkout steps">
|
|
31
|
+
<a href="#">Shipping address</a>
|
|
32
|
+
<a href="#">Payment method</a>
|
|
33
|
+
<a href="#">Order review</a>
|
|
34
|
+
</nav>
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## CSS
|
|
38
|
+
|
|
39
|
+
```css
|
|
40
|
+
.step_nav {
|
|
41
|
+
display: grid;
|
|
42
|
+
gap: 0.75rem;
|
|
43
|
+
margin-block: 1rem;
|
|
44
|
+
}
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
## Core Properties
|
|
48
|
+
|
|
49
|
+
- `display`, `gap`, `margin-block` define the spatial behavior for this pattern.
|
|
50
|
+
|
|
51
|
+
## Properties That Break The Layout If Removed
|
|
52
|
+
|
|
53
|
+
- Removing `display`, `gap`, `margin-block` changes the pattern from its documented layout responsibility back toward ordinary flow or an unsafe fixed arrangement.
|
|
54
|
+
|
|
55
|
+
## Constraints And Change Points
|
|
56
|
+
|
|
57
|
+
- fluid responsiveness is part of the contract; change sizing values only when the new minimum, maximum, or wrap point is documented with the pattern.
|
|
58
|
+
- Keep the HTML class hooks and CSS selectors in one-to-one agreement.
|
|
59
|
+
|
|
60
|
+
## Scroll Ownership
|
|
61
|
+
|
|
62
|
+
No internal scroll container.
|
|
63
|
+
|
|
64
|
+
## Accessibility And Source Order Notes
|
|
65
|
+
|
|
66
|
+
- Semantic role expectation: Preserve the HTML sample's landmark, list, navigation, form, figure, or article roles; layout classes must not replace semantic elements.
|
|
67
|
+
- DOM order expectation: Keep semantic elements, DOM order, reading order, and focus order independent from the visual placement created by the layout classes.
|
|
68
|
+
- Focus risk: Any interactive descendants follow DOM order; do not use this pattern to create a visual order that keyboard focus cannot follow.
|
|
69
|
+
- Scroll expectation: No internal scroll container.
|
|
70
|
+
- Cognitive risk: Low: the pattern should preserve ordinary reading flow when semantic order is already correct.
|
|
71
|
+
|
|
72
|
+
## Browser And Fallback Notes
|
|
73
|
+
|
|
74
|
+
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.
|
|
75
|
+
|
|
76
|
+
## Composition Notes
|
|
77
|
+
|
|
78
|
+
Use `step_nav` as the stable pattern root and compose additional layout behavior outside that root unless the child class is part of the documented relationship.
|
|
79
|
+
|
|
80
|
+
## Anti-patterns
|
|
81
|
+
|
|
82
|
+
- Do not add color, border, shadow, typography, or animation rules to reusable pattern CSS.
|
|
83
|
+
- Do not use this pattern to repair unclear HTML structure; make the DOM roles legible first.
|
|
84
|
+
|
|
85
|
+
## IA Navigation
|
|
86
|
+
|
|
87
|
+
Parent: [Stacking patterns](index.md) in [Pattern Categories](../index.md).
|
|
88
|
+
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,90 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: Layout Pattern
|
|
3
|
+
name: cover
|
|
4
|
+
title: cover
|
|
5
|
+
category: Viewport / Shell
|
|
6
|
+
description: Keep a central region balanced between optional header and footer.
|
|
7
|
+
primary_spatial_problem: Keep a central region balanced between optional header and footer.
|
|
8
|
+
secondary_spatial_problems: none
|
|
9
|
+
layout_axis: block
|
|
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
|
+
# cover
|
|
22
|
+
|
|
23
|
+
## When To Use
|
|
24
|
+
|
|
25
|
+
Use this pattern when you need to keep a central region balanced between optional header and footer.
|
|
26
|
+
|
|
27
|
+
## HTML
|
|
28
|
+
|
|
29
|
+
```html
|
|
30
|
+
<section class="cover" aria-labelledby="cover-title">
|
|
31
|
+
<header><p>Step 2 of 4</p></header>
|
|
32
|
+
<main><h1 id="cover-title">Choose a billing profile</h1></main>
|
|
33
|
+
<footer><button>Continue</button></footer>
|
|
34
|
+
</section>
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## CSS
|
|
38
|
+
|
|
39
|
+
```css
|
|
40
|
+
.cover {
|
|
41
|
+
display: grid;
|
|
42
|
+
gap: 1rem;
|
|
43
|
+
grid-template-rows: auto 1fr auto;
|
|
44
|
+
min-block-size: 100dvh;
|
|
45
|
+
padding: 1rem;
|
|
46
|
+
}
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
## Core Properties
|
|
50
|
+
|
|
51
|
+
- `display`, `gap`, `grid-template-rows`, `min-block-size`, `padding` define the spatial behavior for this pattern.
|
|
52
|
+
|
|
53
|
+
## Properties That Break The Layout If Removed
|
|
54
|
+
|
|
55
|
+
- Removing `display`, `gap`, `grid-template-rows`, `min-block-size`, `padding` changes the pattern from its documented layout responsibility back toward ordinary flow or an unsafe fixed arrangement.
|
|
56
|
+
|
|
57
|
+
## Constraints And Change Points
|
|
58
|
+
|
|
59
|
+
- fluid responsiveness is part of the contract; change sizing values only when the new minimum, maximum, or wrap point is documented with the pattern.
|
|
60
|
+
- Keep the HTML class hooks and CSS selectors in one-to-one agreement.
|
|
61
|
+
|
|
62
|
+
## Scroll Ownership
|
|
63
|
+
|
|
64
|
+
No internal scroll container.
|
|
65
|
+
|
|
66
|
+
## Accessibility And Source Order Notes
|
|
67
|
+
|
|
68
|
+
- Semantic role expectation: Preserve the HTML sample's landmark, list, navigation, form, figure, or article roles; layout classes must not replace semantic elements.
|
|
69
|
+
- DOM order expectation: Keep semantic elements, DOM order, reading order, and focus order independent from the visual placement created by the layout classes.
|
|
70
|
+
- Focus risk: Any interactive descendants follow DOM order; do not use this pattern to create a visual order that keyboard focus cannot follow.
|
|
71
|
+
- Scroll expectation: No internal scroll container.
|
|
72
|
+
- Cognitive risk: Low: the pattern should preserve ordinary reading flow when semantic order is already correct.
|
|
73
|
+
|
|
74
|
+
## Browser And Fallback Notes
|
|
75
|
+
|
|
76
|
+
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.
|
|
77
|
+
|
|
78
|
+
## Composition Notes
|
|
79
|
+
|
|
80
|
+
Use `cover` as the stable pattern root and compose additional layout behavior outside that root unless the child class is part of the documented relationship.
|
|
81
|
+
|
|
82
|
+
## Anti-patterns
|
|
83
|
+
|
|
84
|
+
- Do not add color, border, shadow, typography, or animation rules to reusable pattern CSS.
|
|
85
|
+
- Do not use this pattern to repair unclear HTML structure; make the DOM roles legible first.
|
|
86
|
+
|
|
87
|
+
## IA Navigation
|
|
88
|
+
|
|
89
|
+
Parent: [Viewport / Shell patterns](index.md) in [Pattern Categories](../index.md).
|
|
90
|
+
Next: [Layout Recipes](../../recipes/index.md) for screen-level composition, or return to the [Layout Pattern Catalog](../../CATALOG.md) when choosing another primitive.
|