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,92 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: Layout Pattern
|
|
3
|
+
name: twelve-span-grid
|
|
4
|
+
title: twelve-span-grid
|
|
5
|
+
category: Grid / Repetition
|
|
6
|
+
description: Provide a twelve-column placement scaffold.
|
|
7
|
+
primary_spatial_problem: Provide a twelve-column placement scaffold.
|
|
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
|
+
# twelve-span-grid
|
|
22
|
+
|
|
23
|
+
## When To Use
|
|
24
|
+
|
|
25
|
+
Use this pattern when you need to provide a twelve-column placement scaffold.
|
|
26
|
+
|
|
27
|
+
## HTML
|
|
28
|
+
|
|
29
|
+
```html
|
|
30
|
+
<section class="twelve_span_grid" aria-label="Dashboard modules">
|
|
31
|
+
<article class="twelve_span_grid_item">Revenue module</article>
|
|
32
|
+
<article class="twelve_span_grid_item">Retention module</article>
|
|
33
|
+
<article class="twelve_span_grid_item">Pipeline module</article>
|
|
34
|
+
</section>
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## CSS
|
|
38
|
+
|
|
39
|
+
```css
|
|
40
|
+
.twelve_span_grid {
|
|
41
|
+
display: grid;
|
|
42
|
+
gap: 1rem;
|
|
43
|
+
grid-template-columns: repeat(12, minmax(0, 1fr));
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
.twelve_span_grid_item {
|
|
47
|
+
grid-column: span 4;
|
|
48
|
+
}
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
## Core Properties
|
|
52
|
+
|
|
53
|
+
- `display`, `gap`, `grid-template-columns`, `grid-column` define the spatial behavior for this pattern.
|
|
54
|
+
|
|
55
|
+
## Properties That Break The Layout If Removed
|
|
56
|
+
|
|
57
|
+
- Removing `display`, `gap`, `grid-template-columns`, `grid-column` changes the pattern from its documented layout responsibility back toward ordinary flow or an unsafe fixed arrangement.
|
|
58
|
+
|
|
59
|
+
## Constraints And Change Points
|
|
60
|
+
|
|
61
|
+
- fluid responsiveness is part of the contract; change sizing values only when the new minimum, maximum, or wrap point is documented with the pattern.
|
|
62
|
+
- Keep the HTML class hooks and CSS selectors in one-to-one agreement.
|
|
63
|
+
|
|
64
|
+
## Scroll Ownership
|
|
65
|
+
|
|
66
|
+
No internal scroll container.
|
|
67
|
+
|
|
68
|
+
## Accessibility And Source Order Notes
|
|
69
|
+
|
|
70
|
+
- Semantic role expectation: Preserve the HTML sample's landmark, list, navigation, form, figure, or article roles; layout classes must not replace semantic elements.
|
|
71
|
+
- DOM order expectation: Keep semantic elements, DOM order, reading order, and focus order independent from the visual placement created by the layout classes.
|
|
72
|
+
- Focus risk: Any interactive descendants follow DOM order; do not use this pattern to create a visual order that keyboard focus cannot follow.
|
|
73
|
+
- Scroll expectation: No internal scroll container.
|
|
74
|
+
- Cognitive risk: Low: the pattern should preserve ordinary reading flow when semantic order is already correct.
|
|
75
|
+
|
|
76
|
+
## Browser And Fallback Notes
|
|
77
|
+
|
|
78
|
+
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.
|
|
79
|
+
|
|
80
|
+
## Composition Notes
|
|
81
|
+
|
|
82
|
+
Use `twelve_span_grid` as the stable pattern root and compose additional layout behavior outside that root unless the child class is part of the documented relationship.
|
|
83
|
+
|
|
84
|
+
## Anti-patterns
|
|
85
|
+
|
|
86
|
+
- Do not add color, border, shadow, typography, or animation rules to reusable pattern CSS.
|
|
87
|
+
- Do not use this pattern to repair unclear HTML structure; make the DOM roles legible first.
|
|
88
|
+
|
|
89
|
+
## IA Navigation
|
|
90
|
+
|
|
91
|
+
Parent: [Grid / Repetition patterns](index.md) in [Pattern Categories](../index.md).
|
|
92
|
+
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,94 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: Layout Pattern
|
|
3
|
+
name: badge-list
|
|
4
|
+
title: badge-list
|
|
5
|
+
category: In-line grouping
|
|
6
|
+
description: Align item labels with trailing counts.
|
|
7
|
+
primary_spatial_problem: Align item labels with trailing counts.
|
|
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://developer.mozilla.org/en-US/docs/Web/CSS/How_to/Layout_cookbook
|
|
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
|
+
# badge-list
|
|
22
|
+
|
|
23
|
+
## When To Use
|
|
24
|
+
|
|
25
|
+
Use this pattern when you need to align item labels with trailing counts.
|
|
26
|
+
|
|
27
|
+
## HTML
|
|
28
|
+
|
|
29
|
+
```html
|
|
30
|
+
<section class="badge_list" aria-label="Repository counts">
|
|
31
|
+
<div class="badge_list_item"><span>Open issues</span><span>12</span></div>
|
|
32
|
+
<div class="badge_list_item"><span>Pull requests</span><span>4</span></div>
|
|
33
|
+
<div class="badge_list_item"><span>Reviews waiting</span><span>7</span></div>
|
|
34
|
+
</section>
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## CSS
|
|
38
|
+
|
|
39
|
+
```css
|
|
40
|
+
.badge_list {
|
|
41
|
+
display: grid;
|
|
42
|
+
gap: 0.5rem;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
.badge_list_item {
|
|
46
|
+
align-items: center;
|
|
47
|
+
display: flex;
|
|
48
|
+
gap: 0.75rem;
|
|
49
|
+
justify-content: space-between;
|
|
50
|
+
}
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
## Core Properties
|
|
54
|
+
|
|
55
|
+
- `display`, `gap`, `align-items`, `justify-content` define the spatial behavior for this pattern.
|
|
56
|
+
|
|
57
|
+
## Properties That Break The Layout If Removed
|
|
58
|
+
|
|
59
|
+
- Removing `display`, `gap`, `align-items`, `justify-content` changes the pattern from its documented layout responsibility back toward ordinary flow or an unsafe fixed arrangement.
|
|
60
|
+
|
|
61
|
+
## Constraints And Change Points
|
|
62
|
+
|
|
63
|
+
- fluid responsiveness is part of the contract; change sizing values only when the new minimum, maximum, or wrap point is documented with the pattern.
|
|
64
|
+
- Keep the HTML class hooks and CSS selectors in one-to-one agreement.
|
|
65
|
+
|
|
66
|
+
## Scroll Ownership
|
|
67
|
+
|
|
68
|
+
No internal scroll container.
|
|
69
|
+
|
|
70
|
+
## Accessibility And Source Order Notes
|
|
71
|
+
|
|
72
|
+
- Semantic role expectation: Preserve the HTML sample's landmark, list, navigation, form, figure, or article roles; layout classes must not replace semantic elements.
|
|
73
|
+
- DOM order expectation: Keep semantic elements, DOM order, reading order, and focus order independent from the visual placement created by the layout classes.
|
|
74
|
+
- Focus risk: Any interactive descendants follow DOM order; do not use this pattern to create a visual order that keyboard focus cannot follow.
|
|
75
|
+
- Scroll expectation: No internal scroll container.
|
|
76
|
+
- Cognitive risk: Low: the pattern should preserve ordinary reading flow when semantic order is already correct.
|
|
77
|
+
|
|
78
|
+
## Browser And Fallback Notes
|
|
79
|
+
|
|
80
|
+
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.
|
|
81
|
+
|
|
82
|
+
## Composition Notes
|
|
83
|
+
|
|
84
|
+
Use `badge_list` as the stable pattern root and compose additional layout behavior outside that root unless the child class is part of the documented relationship.
|
|
85
|
+
|
|
86
|
+
## Anti-patterns
|
|
87
|
+
|
|
88
|
+
- Do not add color, border, shadow, typography, or animation rules to reusable pattern CSS.
|
|
89
|
+
- Do not use this pattern to repair unclear HTML structure; make the DOM roles legible first.
|
|
90
|
+
|
|
91
|
+
## IA Navigation
|
|
92
|
+
|
|
93
|
+
Parent: [In-line grouping patterns](index.md) in [Pattern Categories](../index.md).
|
|
94
|
+
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,89 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: Layout Pattern
|
|
3
|
+
name: breadcrumb
|
|
4
|
+
title: breadcrumb
|
|
5
|
+
category: In-line grouping
|
|
6
|
+
description: Lay out hierarchy links compactly with wrapping.
|
|
7
|
+
primary_spatial_problem: Lay out hierarchy links compactly with wrapping.
|
|
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://developer.mozilla.org/en-US/docs/Web/CSS/How_to/Layout_cookbook
|
|
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
|
+
# breadcrumb
|
|
22
|
+
|
|
23
|
+
## When To Use
|
|
24
|
+
|
|
25
|
+
Use this pattern when you need to lay out hierarchy links compactly with wrapping.
|
|
26
|
+
|
|
27
|
+
## HTML
|
|
28
|
+
|
|
29
|
+
```html
|
|
30
|
+
<nav class="breadcrumb" aria-label="Breadcrumb">
|
|
31
|
+
<a href="#">Workspace</a>
|
|
32
|
+
<a href="#">Projects</a>
|
|
33
|
+
<span>Layout gallery</span>
|
|
34
|
+
</nav>
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## CSS
|
|
38
|
+
|
|
39
|
+
```css
|
|
40
|
+
.breadcrumb {
|
|
41
|
+
align-items: center;
|
|
42
|
+
display: flex;
|
|
43
|
+
flex-wrap: wrap;
|
|
44
|
+
gap: 0.5rem;
|
|
45
|
+
}
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
## Core Properties
|
|
49
|
+
|
|
50
|
+
- `align-items`, `display`, `flex-wrap`, `gap` define the spatial behavior for this pattern.
|
|
51
|
+
|
|
52
|
+
## Properties That Break The Layout If Removed
|
|
53
|
+
|
|
54
|
+
- Removing `align-items`, `display`, `flex-wrap`, `gap` 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
|
+
- wrap 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 `breadcrumb` 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: [In-line grouping 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,89 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: Layout Pattern
|
|
3
|
+
name: cluster
|
|
4
|
+
title: cluster
|
|
5
|
+
category: In-line grouping
|
|
6
|
+
description: Keep related items together while allowing wrapping.
|
|
7
|
+
primary_spatial_problem: Keep related items together while allowing wrapping.
|
|
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
|
+
# cluster
|
|
22
|
+
|
|
23
|
+
## When To Use
|
|
24
|
+
|
|
25
|
+
Use this pattern when you need to keep related items together while allowing wrapping.
|
|
26
|
+
|
|
27
|
+
## HTML
|
|
28
|
+
|
|
29
|
+
```html
|
|
30
|
+
<nav class="cluster" aria-label="Project actions">
|
|
31
|
+
<a href="#">Backlog</a>
|
|
32
|
+
<a href="#">Milestones</a>
|
|
33
|
+
<a href="#">Roadmap</a>
|
|
34
|
+
</nav>
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## CSS
|
|
38
|
+
|
|
39
|
+
```css
|
|
40
|
+
.cluster {
|
|
41
|
+
display: flex;
|
|
42
|
+
flex-wrap: wrap;
|
|
43
|
+
gap: 0.75rem;
|
|
44
|
+
justify-content: flex-start;
|
|
45
|
+
}
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
## Core Properties
|
|
49
|
+
|
|
50
|
+
- `display`, `flex-wrap`, `gap`, `justify-content` define the spatial behavior for this pattern.
|
|
51
|
+
|
|
52
|
+
## Properties That Break The Layout If Removed
|
|
53
|
+
|
|
54
|
+
- Removing `display`, `flex-wrap`, `gap`, `justify-content` 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
|
+
- wrap 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 `cluster` 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: [In-line grouping 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,92 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: Layout Pattern
|
|
3
|
+
name: deconstructed-pancake
|
|
4
|
+
title: deconstructed-pancake
|
|
5
|
+
category: In-line grouping
|
|
6
|
+
description: Let equal cards stretch in a row and stack naturally when narrow.
|
|
7
|
+
primary_spatial_problem: Let equal cards stretch in a row and stack naturally when narrow.
|
|
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://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
|
+
# deconstructed-pancake
|
|
22
|
+
|
|
23
|
+
## When To Use
|
|
24
|
+
|
|
25
|
+
Use this pattern when you need to let equal cards stretch in a row and stack naturally when narrow.
|
|
26
|
+
|
|
27
|
+
## HTML
|
|
28
|
+
|
|
29
|
+
```html
|
|
30
|
+
<section class="deconstructed_pancake" aria-label="Plan comparison">
|
|
31
|
+
<article class="deconstructed_pancake_item">Solo plan</article>
|
|
32
|
+
<article class="deconstructed_pancake_item">Studio plan</article>
|
|
33
|
+
<article class="deconstructed_pancake_item">Agency plan</article>
|
|
34
|
+
</section>
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## CSS
|
|
38
|
+
|
|
39
|
+
```css
|
|
40
|
+
.deconstructed_pancake {
|
|
41
|
+
display: flex;
|
|
42
|
+
flex-wrap: wrap;
|
|
43
|
+
gap: 1rem;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
.deconstructed_pancake_item {
|
|
47
|
+
flex: 1 1 16rem;
|
|
48
|
+
}
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
## Core Properties
|
|
52
|
+
|
|
53
|
+
- `display`, `flex-wrap`, `gap`, `flex` define the spatial behavior for this pattern.
|
|
54
|
+
|
|
55
|
+
## Properties That Break The Layout If Removed
|
|
56
|
+
|
|
57
|
+
- Removing `display`, `flex-wrap`, `gap`, `flex` changes the pattern from its documented layout responsibility back toward ordinary flow or an unsafe fixed arrangement.
|
|
58
|
+
|
|
59
|
+
## Constraints And Change Points
|
|
60
|
+
|
|
61
|
+
- wrap responsiveness is part of the contract; change sizing values only when the new minimum, maximum, or wrap point is documented with the pattern.
|
|
62
|
+
- Keep the HTML class hooks and CSS selectors in one-to-one agreement.
|
|
63
|
+
|
|
64
|
+
## Scroll Ownership
|
|
65
|
+
|
|
66
|
+
No internal scroll container.
|
|
67
|
+
|
|
68
|
+
## Accessibility And Source Order Notes
|
|
69
|
+
|
|
70
|
+
- Semantic role expectation: Preserve the HTML sample's landmark, list, navigation, form, figure, or article roles; layout classes must not replace semantic elements.
|
|
71
|
+
- DOM order expectation: Keep semantic elements, DOM order, reading order, and focus order independent from the visual placement created by the layout classes.
|
|
72
|
+
- Focus risk: Any interactive descendants follow DOM order; do not use this pattern to create a visual order that keyboard focus cannot follow.
|
|
73
|
+
- Scroll expectation: No internal scroll container.
|
|
74
|
+
- Cognitive risk: Low: the pattern should preserve ordinary reading flow when semantic order is already correct.
|
|
75
|
+
|
|
76
|
+
## Browser And Fallback Notes
|
|
77
|
+
|
|
78
|
+
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.
|
|
79
|
+
|
|
80
|
+
## Composition Notes
|
|
81
|
+
|
|
82
|
+
Use `deconstructed_pancake` as the stable pattern root and compose additional layout behavior outside that root unless the child class is part of the documented relationship.
|
|
83
|
+
|
|
84
|
+
## Anti-patterns
|
|
85
|
+
|
|
86
|
+
- Do not add color, border, shadow, typography, or animation rules to reusable pattern CSS.
|
|
87
|
+
- Do not use this pattern to repair unclear HTML structure; make the DOM roles legible first.
|
|
88
|
+
|
|
89
|
+
## IA Navigation
|
|
90
|
+
|
|
91
|
+
Parent: [In-line grouping patterns](index.md) in [Pattern Categories](../index.md).
|
|
92
|
+
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,13 @@
|
|
|
1
|
+
# In-line grouping
|
|
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
|
+
- [cluster](cluster.md) - Keep related items together while allowing wrapping.
|
|
6
|
+
- [split-nav](split-nav.md) - Separate primary and secondary nav actions in one row.
|
|
7
|
+
- [deconstructed-pancake](deconstructed-pancake.md) - Let equal cards stretch in a row and stack naturally when narrow.
|
|
8
|
+
- [breadcrumb](breadcrumb.md) - Lay out hierarchy links compactly with wrapping.
|
|
9
|
+
- [pagination](pagination.md) - Lay out page controls as a bounded wrapping row.
|
|
10
|
+
- [badge-list](badge-list.md) - Align item labels with trailing counts.
|
|
11
|
+
- [tab-strip](tab-strip.md) - Keep peer tabs in one stable row that can wrap.
|
|
12
|
+
- [reel](reel.md) - Let a row scroll horizontally instead of wrapping.
|
|
13
|
+
- [wrap-row](wrap-row.md) - Wrap controls into rows with stable gaps.
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: Layout Pattern
|
|
3
|
+
name: pagination
|
|
4
|
+
title: pagination
|
|
5
|
+
category: In-line grouping
|
|
6
|
+
description: Lay out page controls as a bounded wrapping row.
|
|
7
|
+
primary_spatial_problem: Lay out page controls as a bounded wrapping row.
|
|
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://developer.mozilla.org/en-US/docs/Web/CSS/How_to/Layout_cookbook
|
|
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
|
+
# pagination
|
|
22
|
+
|
|
23
|
+
## When To Use
|
|
24
|
+
|
|
25
|
+
Use this pattern when you need to lay out page controls as a bounded wrapping row.
|
|
26
|
+
|
|
27
|
+
## HTML
|
|
28
|
+
|
|
29
|
+
```html
|
|
30
|
+
<nav class="pagination" aria-label="Search results pages">
|
|
31
|
+
<a href="#">Previous</a>
|
|
32
|
+
<a href="#">Page 4</a>
|
|
33
|
+
<a href="#">Next</a>
|
|
34
|
+
</nav>
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## CSS
|
|
38
|
+
|
|
39
|
+
```css
|
|
40
|
+
.pagination {
|
|
41
|
+
display: flex;
|
|
42
|
+
flex-wrap: wrap;
|
|
43
|
+
gap: 0.5rem;
|
|
44
|
+
justify-content: center;
|
|
45
|
+
}
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
## Core Properties
|
|
49
|
+
|
|
50
|
+
- `display`, `flex-wrap`, `gap`, `justify-content` define the spatial behavior for this pattern.
|
|
51
|
+
|
|
52
|
+
## Properties That Break The Layout If Removed
|
|
53
|
+
|
|
54
|
+
- Removing `display`, `flex-wrap`, `gap`, `justify-content` 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
|
+
- wrap 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 `pagination` 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: [In-line grouping 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,90 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: Layout Pattern
|
|
3
|
+
name: reel
|
|
4
|
+
title: reel
|
|
5
|
+
category: In-line grouping
|
|
6
|
+
description: Let a row scroll horizontally instead of wrapping.
|
|
7
|
+
primary_spatial_problem: Let a row scroll horizontally instead of wrapping.
|
|
8
|
+
secondary_spatial_problems: none
|
|
9
|
+
layout_axis: inline
|
|
10
|
+
content_shape: mixed
|
|
11
|
+
responsiveness: scroll
|
|
12
|
+
constraints: Uses only local class hooks and explicit layout constraints.
|
|
13
|
+
scroll_ownership: Pattern owns the named 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
|
+
# reel
|
|
22
|
+
|
|
23
|
+
## When To Use
|
|
24
|
+
|
|
25
|
+
Use this pattern when you need to let a row scroll horizontally instead of wrapping.
|
|
26
|
+
|
|
27
|
+
## HTML
|
|
28
|
+
|
|
29
|
+
```html
|
|
30
|
+
<section class="reel" aria-label="Upcoming events">
|
|
31
|
+
<article>Design critique</article>
|
|
32
|
+
<article>Planning workshop</article>
|
|
33
|
+
<article>Launch review</article>
|
|
34
|
+
</section>
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## CSS
|
|
38
|
+
|
|
39
|
+
```css
|
|
40
|
+
.reel {
|
|
41
|
+
display: grid;
|
|
42
|
+
gap: 1rem;
|
|
43
|
+
grid-auto-columns: minmax(14rem, 35%);
|
|
44
|
+
grid-auto-flow: column;
|
|
45
|
+
overflow-x: auto;
|
|
46
|
+
}
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
## Core Properties
|
|
50
|
+
|
|
51
|
+
- `display`, `gap`, `grid-auto-columns`, `grid-auto-flow`, `overflow-x` define the spatial behavior for this pattern.
|
|
52
|
+
|
|
53
|
+
## Properties That Break The Layout If Removed
|
|
54
|
+
|
|
55
|
+
- Removing `display`, `gap`, `grid-auto-columns`, `grid-auto-flow`, `overflow-x` 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
|
+
- scroll 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
|
+
Pattern owns the named 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: Pattern owns the named scroll container.
|
|
72
|
+
- Cognitive risk: Medium: scroll ownership can hide context, controls, or return points if it is not named in the consuming layout.
|
|
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 `reel` 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: [In-line grouping 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.
|