@astryxdesign/cli 0.6.4-canary.f0355e3 → 0.6.4
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/README.md +96 -99
- package/api/build/build.doc.mjs +1 -6
- package/api/build/build.test.mjs +0 -22
- package/api/build/kit/kit.mjs +5 -44
- package/api/component/_adapter.d.mts +0 -25
- package/api/component/_adapter.mjs +5 -59
- package/api/component/component.d.mts +3 -6
- package/api/component/component.doc.mjs +17 -37
- package/api/component/component.mjs +9 -249
- package/api/component/component.type.d.mts +0 -25
- package/api/component/component.type.mjs +0 -44
- package/api/discover/_adapter.d.mts +6 -114
- package/api/discover/_adapter.mjs +17 -372
- package/api/discover/detail/detail.d.mts +6 -18
- package/api/discover/detail/detail.mjs +13 -67
- package/api/discover/detail/detail.test.mjs +0 -85
- package/api/discover/discover.d.mts +9 -3
- package/api/discover/discover.doc.mjs +18 -61
- package/api/discover/discover.mjs +36 -220
- package/api/discover/discover.test.mjs +2 -11
- package/api/discover/discover.type.d.mts +8 -147
- package/api/discover/discover.type.mjs +12 -102
- package/api/discover/list/list.d.mts +6 -20
- package/api/discover/list/list.mjs +12 -45
- package/api/discover/list/list.test.mjs +0 -46
- package/api/discover/search/search.d.mts +16 -18
- package/api/discover/search/search.mjs +56 -102
- package/api/discover/search/search.test.mjs +10 -144
- package/api/docs/_adapter.d.mts +3 -8
- package/api/docs/_adapter.mjs +6 -14
- package/api/docs/docOverlays.test.mjs +1 -27
- package/api/docs/docs.doc.mjs +2 -2
- package/api/docs/docs.test.mjs +243 -0
- package/api/docs/integration-tree.test.mjs +555 -0
- package/api/docs/integrationDocs.test.mjs +314 -0
- package/api/doctor/doctor.d.mts +3 -8
- package/api/doctor/doctor.doc.mjs +8 -17
- package/api/doctor/doctor.mjs +9 -90
- package/api/doctor/doctor.test.mjs +10 -122
- package/api/doctor/doctor.type.d.mts +1 -1
- package/api/doctor/doctor.type.mjs +1 -1
- package/api/gap-report/gap-report.doc.mjs +10 -19
- package/api/hook/hook.doc.mjs +3 -6
- package/api/index.d.mts +2 -1
- package/api/index.mjs +5 -5
- package/api/init/init.doc.mjs +12 -17
- package/api/integration/add-helpers.d.mts +2 -5
- package/api/integration/add-helpers.mjs +9 -36
- package/api/integration/add-theme.mjs +1 -22
- package/api/integration/add-theme.test.mjs +0 -34
- package/api/integration/authoring-checks.mjs +2 -2
- package/api/integration/integrationPackCheck.doc.mjs +3 -3
- package/api/integration/pack-check.mjs +9 -82
- package/api/integration/pack-check.test.mjs +0 -90
- package/api/integration/pack-check.type.mjs +1 -1
- package/api/json/assertResponse.doc.mjs +1 -1
- package/api/json/index.ts +1 -0
- package/api/json/isError.doc.mjs +1 -1
- package/api/layout/_adapter.d.mts +34 -0
- package/api/layout/_adapter.mjs +148 -0
- package/api/layout/check/check.d.mts +16 -0
- package/api/layout/check/check.mjs +40 -0
- package/api/layout/expand/expand.d.mts +22 -0
- package/api/layout/expand/expand.mjs +155 -0
- package/api/layout/expand/expand.path-safety.test.mjs +53 -0
- package/api/layout/grammar/grammar.d.mts +13 -0
- package/api/layout/grammar/grammar.mjs +87 -0
- package/api/layout/layout.d.mts +6 -0
- package/api/layout/layout.mjs +17 -0
- package/api/layout/layout.test.mjs +297 -0
- package/api/layout/layout.type.d.mts +89 -0
- package/api/layout/layout.type.mjs +103 -0
- package/api/layout/layoutCheck.doc.d.mts +11 -0
- package/api/layout/layoutCheck.doc.mjs +85 -0
- package/api/layout/layoutExpand.doc.d.mts +11 -0
- package/api/layout/layoutExpand.doc.mjs +107 -0
- package/api/layout/layoutGrammar.doc.d.mts +11 -0
- package/api/layout/layoutGrammar.doc.mjs +57 -0
- package/api/search/search.d.mts +1 -27
- package/api/search/search.doc.mjs +2 -2
- package/api/search/search.mjs +16 -228
- package/api/search/search.test.mjs +512 -0
- package/api/swizzle/swizzle.doc.mjs +5 -7
- package/api/template/copy/copy.mjs +1 -1
- package/api/template/copy/copy.test.mjs +0 -9
- package/api/template/template-integration.test.mjs +65 -1
- package/api/template/template.doc.mjs +1 -2
- package/api/template/template.mjs +1 -1
- package/api/theme/add/add.mjs +25 -17
- package/api/theme/add/add.staging.test.mjs +23 -40
- package/api/theme/build/build.family.test.mjs +12 -7
- package/api/theme/build/build.mjs +18 -8
- package/api/theme/generateTonalPalette.doc.mjs +2 -1
- package/api/theme/listThemes.doc.mjs +1 -1
- package/api/theme/themeAdd.doc.mjs +10 -9
- package/api/theme/themeBuild.doc.mjs +13 -13
- package/api/theme/themeList.doc.mjs +1 -1
- package/api/theme/themeListAvailable.doc.mjs +1 -2
- package/api/theme/themePaletteGenerate.doc.mjs +8 -15
- package/api/theme/themeTargets.doc.mjs +2 -3
- package/api/theme/themeTemplate.doc.mjs +1 -2
- package/api/upgrade/run/run.mjs +4 -6
- package/api/upgrade/upgrade.doc.mjs +22 -24
- package/api/upgrade/upgrade.type.mjs +2 -2
- package/assets/codemods/__tests__/runner.test.mjs +1 -3
- package/assets/codemods/integration-runner.mjs +3 -3
- package/assets/codemods/runner.mjs +4 -5
- package/assets/docs/README.md +2 -4
- package/assets/docs/browser-support.doc.mjs +11 -11
- package/assets/docs/color.doc.mjs +2 -8
- package/assets/docs/elevation.doc.mjs +4 -6
- package/assets/docs/getting-started.doc.mjs +16 -5
- package/assets/docs/icons.doc.mjs +21 -2
- package/assets/docs/illustrations.doc.mjs +15 -7
- package/assets/docs/internationalization.doc.mjs +5 -7
- package/assets/docs/layout.doc.dense.mjs +82 -130
- package/assets/docs/layout.doc.mjs +77 -133
- package/assets/docs/migration.doc.mjs +21 -19
- package/assets/docs/motion.doc.mjs +3 -16
- package/assets/docs/principles.doc.dense.mjs +5 -5
- package/assets/docs/principles.doc.mjs +0 -8
- package/assets/docs/principles.doc.zh.mjs +6 -6
- package/assets/docs/shape.doc.mjs +3 -8
- package/assets/docs/spacing.doc.mjs +2 -7
- package/assets/docs/styling-libraries.doc.mjs +2 -6
- package/assets/docs/styling.doc.mjs +23 -19
- package/assets/docs/theme.doc.dense.mjs +18 -58
- package/assets/docs/theme.doc.mjs +46 -56
- package/assets/docs/theme.doc.zh.mjs +8 -9
- package/assets/docs/tokens.doc.dense.mjs +2 -2
- package/assets/docs/tokens.doc.mjs +8 -389
- package/assets/docs/tokens.doc.zh.mjs +2 -2
- package/assets/docs/tree/integrations.doc.mjs +451 -25
- package/assets/docs/tree/integrations.test.mjs +62 -0
- package/assets/docs/tree/writing-docs.doc.mjs +286 -0
- package/assets/docs/typography.doc.mjs +4 -24
- package/assets/docs/working-with-ai.doc.mjs +22 -30
- package/assets/templates/blocks/components/InternationalizationProvider/InternationalizationProvider01ShippedLocale.tsx +1 -1
- package/authoring/config/config.doc.mjs +2 -10
- package/authoring/config/parse.d.mts +0 -2
- package/authoring/config/parse.mjs +0 -19
- package/authoring/config/parse.test.mjs +0 -8
- package/authoring/config/type.ts +2 -13
- package/authoring/doctypes/_schema.d.mts +2 -3
- package/authoring/doctypes/_schema.mjs +0 -6
- package/authoring/doctypes/base/graph-fields.doc.mjs +3 -3
- package/authoring/doctypes/base/type.ts +2 -4
- package/authoring/doctypes/command/command.doc.mjs +1 -1
- package/authoring/doctypes/command/type.ts +1 -1
- package/authoring/doctypes/component/component.doc.mjs +0 -6
- package/authoring/doctypes/component/type.ts +0 -8
- package/authoring/doctypes/reference/reference.doc.mjs +0 -7
- package/authoring/doctypes/reference/type.ts +0 -5
- package/authoring/doctypes/schema/schema.doc.mjs +2 -2
- package/authoring/doctypes/template/template.doc.mjs +1 -1
- package/authoring/doctypes/template/type.ts +2 -2
- package/authoring/index.d.mts +0 -1
- package/authoring/index.d.ts +0 -10
- package/authoring/index.mjs +0 -1
- package/authoring/integration/integration.doc.mjs +10 -12
- package/clients/cli/command-result-coverage.test.mjs +7 -7
- package/clients/cli/commands/component/index.mjs +55 -152
- package/clients/cli/commands/component-ownership.test.mjs +0 -89
- package/clients/cli/commands/component.doc.mjs +9 -27
- package/clients/cli/commands/debug-result-summary.test.mjs +2 -2
- package/clients/cli/commands/discover.doc.mjs +9 -53
- package/clients/cli/commands/discover.mjs +118 -393
- package/clients/cli/commands/docs.doc.mjs +1 -1
- package/clients/cli/commands/docs.mjs +17 -60
- package/clients/cli/commands/docs.test.mjs +294 -0
- package/clients/cli/commands/doctor-integration-docs.doc.mjs +2 -3
- package/clients/cli/commands/doctor-integration.test.mjs +0 -53
- package/clients/cli/commands/doctor.doc.mjs +1 -3
- package/clients/cli/commands/doctor.mjs +5 -49
- package/clients/cli/commands/gap-report.doc.mjs +9 -10
- package/clients/cli/commands/init.doc.mjs +6 -9
- package/clients/cli/commands/integration-add.doc.mjs +9 -9
- package/clients/cli/commands/integration-authoring.test.mjs +10 -61
- package/clients/cli/commands/integration-pack.doc.mjs +9 -5
- package/clients/cli/commands/integration-real-world.test.mjs +1 -1
- package/clients/cli/commands/integration.doc.mjs +4 -4
- package/clients/cli/commands/integration.mjs +43 -74
- package/clients/cli/commands/layout-check.doc.mjs +65 -0
- package/clients/cli/commands/layout-expand.doc.mjs +83 -0
- package/clients/cli/commands/layout-grammar.doc.mjs +30 -0
- package/clients/cli/commands/layout.doc.mjs +34 -0
- package/clients/cli/commands/layout.error-codes.test.mjs +66 -0
- package/clients/cli/commands/layout.exit-parity.test.mjs +41 -0
- package/clients/cli/commands/layout.mjs +275 -0
- package/clients/cli/commands/layout.path-help.test.mjs +33 -0
- package/clients/cli/commands/layout.stdin-cap.test.mjs +47 -0
- package/clients/cli/commands/layout.text-fields.test.mjs +39 -0
- package/clients/cli/commands/manifest.doc.mjs +1 -1
- package/clients/cli/commands/search.doc.mjs +3 -10
- package/clients/cli/commands/search.mjs +2 -21
- package/clients/cli/commands/search.test.mjs +4 -21
- package/clients/cli/commands/swizzle.doc.mjs +1 -1
- package/clients/cli/commands/template.doc.mjs +1 -1
- package/clients/cli/commands/text-json-parity.test.mjs +16 -5
- package/clients/cli/commands/theme-add.doc.mjs +1 -1
- package/clients/cli/commands/theme-palette-generate.doc.mjs +2 -3
- package/clients/cli/commands/theme-palette.doc.mjs +2 -1
- package/clients/cli/commands/theme-targets.doc.mjs +2 -2
- package/clients/cli/commands/theme.doc.mjs +1 -2
- package/clients/cli/commands/upgrade.doc.mjs +3 -62
- package/clients/cli/index.mjs +10 -28
- package/clients/cli/lib/define-command.mjs +4 -28
- package/clients/cli/lib/define-command.test.mjs +0 -54
- package/clients/cli/lib/exit-codes.test.mjs +9 -18
- package/clients/cli/lib/json-shim.mjs +14 -24
- package/clients/cli/lib/json-shim.test.mjs +20 -6
- package/clients/cli/lib/manifest.mjs +13 -18
- package/clients/cli/lib/manifest.test.mjs +2 -5
- package/foundation/agent-docs/agent-docs.mjs +1 -1
- package/foundation/agent-docs/agent-docs.test.mjs +1159 -0
- package/foundation/discovery/authoring-self-docs.mjs +0 -1
- package/foundation/discovery/authoring-self-docs.test.mjs +2 -6
- package/foundation/discovery/cli-self-docs.mjs +2 -16
- package/foundation/discovery/cli-self-docs.test.mjs +0 -20
- package/foundation/discovery/docs-discovery.mjs +1 -5
- package/foundation/discovery/docs-discovery.test.mjs +0 -21
- package/foundation/discovery/docs-section-key.d.mts +1 -1
- package/foundation/discovery/docs-section-key.mjs +1 -1
- package/foundation/discovery/template-adapter.mjs +1 -1
- package/foundation/doc-compiler/doc-loads.test.mjs +14 -3
- package/foundation/doc-compiler/tree.d.mts +0 -4
- package/foundation/doc-compiler/tree.mjs +1 -6
- package/foundation/doc-compiler/tree.test.mjs +598 -0
- package/foundation/integrations/cli-requirement.d.mts +6 -26
- package/foundation/integrations/cli-requirement.mjs +11 -46
- package/foundation/integrations/cli-requirement.test.mjs +2 -7
- package/foundation/integrations/contribution-inventory.mjs +1 -1
- package/foundation/integrations/integrations.d.mts +1 -14
- package/foundation/integrations/integrations.mjs +1 -41
- package/foundation/integrations/integrations.test.mjs +0 -31
- package/foundation/response/error-codes.doc.mjs +8 -6
- package/foundation/response/error-codes.test.mjs +5 -30
- package/foundation/response/response-types.doc.d.mts +3 -4
- package/foundation/response/response-types.doc.mjs +27 -40
- package/foundation/response/response-types.doc.test.mjs +0 -23
- package/foundation/response/response.doc.mjs +10 -11
- package/foundation/xle/browser.d.mts +3 -3
- package/foundation/xle/browser.mjs +3 -3
- package/foundation/xle/expand.mjs +2 -2
- package/foundation/xle/parse.mjs +1 -1
- package/foundation/xle/print.mjs +2 -2
- package/foundation/xle/splice.mjs +1 -1
- package/package.json +9 -9
- package/api/discover/_adapter.test.mjs +0 -215
- package/api/discover/_catalog-view.d.mts +0 -115
- package/api/discover/_catalog-view.mjs +0 -203
- package/api/discover/_catalog-view.test.mjs +0 -128
- package/api/discover/detail/item/item.d.mts +0 -26
- package/api/discover/detail/item/item.mjs +0 -78
- package/api/discover/detail/item/item.test.mjs +0 -73
- package/api/integration/pack-check.lifecycle-output.test.mjs +0 -107
- package/api/theme/add/add.rollback.test.mjs +0 -158
- package/api/theme/build/build.rollback.test.mjs +0 -148
- package/api/upgrade/run/files-changed.test.mjs +0 -111
- package/assets/codemods/file-count.test.mjs +0 -163
- package/assets/docs/tree/add-a-component.doc.mjs +0 -75
- package/assets/docs/tree/add-a-theme.doc.mjs +0 -85
- package/assets/docs/tree/add-a-topic.doc.mjs +0 -144
- package/assets/docs/tree/agent-guidance.doc.mjs +0 -138
- package/assets/docs/tree/block-template.doc.mjs +0 -130
- package/assets/docs/tree/build-the-template.doc.mjs +0 -28
- package/assets/docs/tree/building-blocks.doc.mjs +0 -46
- package/assets/docs/tree/check-your-docs.doc.mjs +0 -137
- package/assets/docs/tree/checks.doc.mjs +0 -119
- package/assets/docs/tree/codemods.doc.mjs +0 -147
- package/assets/docs/tree/component-family.doc.mjs +0 -113
- package/assets/docs/tree/component-imports.doc.mjs +0 -69
- package/assets/docs/tree/component-lookups.doc.mjs +0 -149
- package/assets/docs/tree/components.doc.mjs +0 -23
- package/assets/docs/tree/configuration.doc.mjs +0 -23
- package/assets/docs/tree/debug-and-gap-reports.doc.mjs +0 -182
- package/assets/docs/tree/define-the-theme.doc.mjs +0 -118
- package/assets/docs/tree/describe-the-component.doc.mjs +0 -57
- package/assets/docs/tree/docs.doc.mjs +0 -21
- package/assets/docs/tree/document-the-template.doc.mjs +0 -28
- package/assets/docs/tree/document-the-theme.doc.mjs +0 -68
- package/assets/docs/tree/export-template-assets.doc.mjs +0 -147
- package/assets/docs/tree/extend-or-replace.doc.mjs +0 -103
- package/assets/docs/tree/fonts-and-assets.doc.mjs +0 -106
- package/assets/docs/tree/generate-a-palette.doc.mjs +0 -66
- package/assets/docs/tree/grade-template-with-agent.doc.mjs +0 -105
- package/assets/docs/tree/help.doc.mjs +0 -16
- package/assets/docs/tree/links.doc.mjs +0 -98
- package/assets/docs/tree/package-and-test.doc.mjs +0 -32
- package/assets/docs/tree/page-template.doc.mjs +0 -71
- package/assets/docs/tree/publishing.doc.mjs +0 -111
- package/assets/docs/tree/quick-start.doc.mjs +0 -272
- package/assets/docs/tree/replace-a-core-component.doc.mjs +0 -104
- package/assets/docs/tree/replace-a-core-template.doc.mjs +0 -172
- package/assets/docs/tree/sections-and-placement.doc.mjs +0 -108
- package/assets/docs/tree/see-it-in-an-app.doc.mjs +0 -59
- package/assets/docs/tree/ship.doc.mjs +0 -16
- package/assets/docs/tree/short-and-findable.doc.mjs +0 -108
- package/assets/docs/tree/single-component.doc.mjs +0 -165
- package/assets/docs/tree/start-a-template.doc.mjs +0 -143
- package/assets/docs/tree/subcomponent.doc.mjs +0 -115
- package/assets/docs/tree/template-assets.doc.mjs +0 -64
- package/assets/docs/tree/template-doc-overview.doc.mjs +0 -109
- package/assets/docs/tree/template-fonts.doc.mjs +0 -102
- package/assets/docs/tree/template-grading-rubric.doc.mjs +0 -452
- package/assets/docs/tree/template-icons.doc.mjs +0 -97
- package/assets/docs/tree/template-images-media.doc.mjs +0 -127
- package/assets/docs/tree/template-styles.doc.mjs +0 -93
- package/assets/docs/tree/templates.doc.mjs +0 -34
- package/assets/docs/tree/test-in-an-app.doc.mjs +0 -115
- package/assets/docs/tree/test-template-in-app.doc.mjs +0 -128
- package/assets/docs/tree/themes.doc.mjs +0 -39
- package/assets/docs/tree/troubleshooting.doc.mjs +0 -149
- package/assets/docs/tree/upgrading.doc.mjs +0 -103
- package/assets/docs/tree/use-a-theme-in-an-app.doc.mjs +0 -51
- package/assets/docs/tree/verify-packed-template.doc.mjs +0 -77
- package/assets/docs/tree/versioning.doc.mjs +0 -161
- package/assets/docs/tree/write-good-templates.doc.mjs +0 -64
- package/assets/docs/tree/write-the-template-file.doc.mjs +0 -154
- package/authoring/discover/discover.doc.d.mts +0 -13
- package/authoring/discover/discover.doc.mjs +0 -138
- package/authoring/discover/parse.d.mts +0 -24
- package/authoring/discover/parse.mjs +0 -128
- package/authoring/discover/parse.test.mjs +0 -124
- package/authoring/discover/type.ts +0 -87
- package/clients/cli/commands/component-batch.test.mjs +0 -341
- package/clients/cli/commands/discover.sources.test.mjs +0 -267
- package/clients/cli/commands/integration-verify.doc.mjs +0 -22
- package/clients/cli/lib/parse-error-format.test.mjs +0 -81
- package/foundation/response/batch.type.d.mts +0 -33
- package/foundation/response/batch.type.mjs +0 -34
|
@@ -33,35 +33,8 @@ export const docsDense = {
|
|
|
33
33
|
section: 'Scaffold',
|
|
34
34
|
title: 'Scaffold',
|
|
35
35
|
content: [
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
text: 'pick shell, budget regions, choose nav, before content. steps: Shell, Navigation. rules for both:',
|
|
39
|
-
},
|
|
40
|
-
{
|
|
41
|
-
type: 'list',
|
|
42
|
-
items: [
|
|
43
|
-
'decide frame + region width budgets + fill-or-capped before content',
|
|
44
|
-
'state the reason for the nav choice, or inherit template pairing',
|
|
45
|
-
'raw px for structural widths; interior = tokens',
|
|
46
|
-
],
|
|
47
|
-
},
|
|
48
|
-
{
|
|
49
|
-
type: 'list',
|
|
50
|
-
items: [
|
|
51
|
-
'build content-first, Card-wrapping each section',
|
|
52
|
-
'stretch prose/forms/lists across a wide region instead of capping with contentWidth',
|
|
53
|
-
'SideNav when the nav is really filters/controls, or must hold wide elements like breadcrumbs',
|
|
54
|
-
'TopNav when top-slot ownership is unclear, or hierarchy is deep or still growing',
|
|
55
|
-
'both bars when the ecosystem layer is thin',
|
|
56
|
-
'break template nav pairing without a reason',
|
|
57
|
-
],
|
|
58
|
-
},
|
|
59
|
-
],
|
|
60
|
-
},
|
|
61
|
-
{
|
|
62
|
-
section: 'Shell',
|
|
63
|
-
title: 'Shell',
|
|
64
|
-
content: [
|
|
36
|
+
// Shell
|
|
37
|
+
null,
|
|
65
38
|
{
|
|
66
39
|
type: 'prose',
|
|
67
40
|
text: 'pick the shell + budget its regions before any content exists. structural widths are the one place raw px belongs; everything inside uses the scale.',
|
|
@@ -80,12 +53,8 @@ export const docsDense = {
|
|
|
80
53
|
type: 'prose',
|
|
81
54
|
text: 'verify: every region has a width budget + fill-or-capped + a container policy written down before any content.',
|
|
82
55
|
},
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
{
|
|
86
|
-
section: 'Navigation',
|
|
87
|
-
title: 'Navigation',
|
|
88
|
-
content: [
|
|
56
|
+
// Navigation
|
|
57
|
+
null,
|
|
89
58
|
{
|
|
90
59
|
type: 'prose',
|
|
91
60
|
text: 'nav left open? default SideNav: it absorbs destinations you have not planned yet. app type + destination count are guiding indicators, not determining rules.',
|
|
@@ -104,45 +73,35 @@ export const docsDense = {
|
|
|
104
73
|
type: 'prose',
|
|
105
74
|
text: 'verify: you can state the reason in one sentence, and it still holds if the nav doubles. npx astryx build "<idea>" names the template to start from; scaffold it and the pairing is wired up.',
|
|
106
75
|
},
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
{
|
|
110
|
-
section: 'Structure',
|
|
111
|
-
title: 'Structure',
|
|
112
|
-
content: [
|
|
113
|
-
{
|
|
114
|
-
type: 'prose',
|
|
115
|
-
text: 'rank content per region, pick the weakest container that groups it. steps: Type hierarchy, Card or rows, Headers and footers, Side panels. rules for all:',
|
|
116
|
-
},
|
|
76
|
+
// Best practices
|
|
77
|
+
null,
|
|
117
78
|
{
|
|
118
79
|
type: 'list',
|
|
119
80
|
items: [
|
|
120
|
-
'
|
|
121
|
-
'
|
|
122
|
-
'
|
|
123
|
-
'collections = rows (Table/List), edge-to-edge with dividers',
|
|
124
|
-
'side panel on select; it yields width at narrow sizes',
|
|
81
|
+
'decide frame + region width budgets + fill-or-capped before content',
|
|
82
|
+
'state the reason for the nav choice, or inherit template pairing',
|
|
83
|
+
'raw px for structural widths; interior = tokens',
|
|
125
84
|
],
|
|
126
85
|
},
|
|
127
86
|
{
|
|
128
87
|
type: 'list',
|
|
129
88
|
items: [
|
|
130
|
-
'
|
|
131
|
-
'
|
|
132
|
-
'
|
|
133
|
-
'
|
|
134
|
-
'
|
|
135
|
-
'
|
|
136
|
-
'two competing primary actions in one region',
|
|
137
|
-
'Badge as decoration; use StatusDot/Token for status',
|
|
89
|
+
'build content-first, Card-wrapping each section',
|
|
90
|
+
'stretch prose/forms/lists across a wide region instead of capping with contentWidth',
|
|
91
|
+
'SideNav when the nav is really filters/controls, or must hold wide elements like breadcrumbs',
|
|
92
|
+
'TopNav when top-slot ownership is unclear, or hierarchy is deep or still growing',
|
|
93
|
+
'both bars when the ecosystem layer is thin',
|
|
94
|
+
'break template nav pairing without a reason',
|
|
138
95
|
],
|
|
139
96
|
},
|
|
140
97
|
],
|
|
141
98
|
},
|
|
142
99
|
{
|
|
143
|
-
section: '
|
|
144
|
-
title: '
|
|
100
|
+
section: 'Structure',
|
|
101
|
+
title: 'Structure',
|
|
145
102
|
content: [
|
|
103
|
+
// Type hierarchy
|
|
104
|
+
null,
|
|
146
105
|
{
|
|
147
106
|
type: 'prose',
|
|
148
107
|
text: 'one lead per region, then rank with weight+color, not size. two text colors only: primary + secondary, nothing dimmer. body copy needs no props.',
|
|
@@ -161,12 +120,8 @@ export const docsDense = {
|
|
|
161
120
|
type: 'prose',
|
|
162
121
|
text: 'squint test: read lead, then support, then groups, in order. everything at once = raise contrast (weight/color), not borders and not smaller text.',
|
|
163
122
|
},
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
{
|
|
167
|
-
section: 'Card or rows',
|
|
168
|
-
title: 'Card or rows',
|
|
169
|
-
content: [
|
|
123
|
+
// Containers
|
|
124
|
+
null,
|
|
170
125
|
{
|
|
171
126
|
type: 'prose',
|
|
172
127
|
text: 'weakest container that reads as a group, escalate only when it fails. weakest to strongest:',
|
|
@@ -185,12 +140,8 @@ export const docsDense = {
|
|
|
185
140
|
type: 'prose',
|
|
186
141
|
text: 'test: records -> rows (Table columnar, List single-line); self-contained widget or hard boundary -> Card; everything else -> Section.',
|
|
187
142
|
},
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
{
|
|
191
|
-
section: 'Headers and footers',
|
|
192
|
-
title: 'Headers and footers',
|
|
193
|
-
content: [
|
|
143
|
+
// Headers and footers
|
|
144
|
+
null,
|
|
194
145
|
{
|
|
195
146
|
type: 'prose',
|
|
196
147
|
text: 'a region can pin a header/footer while its body scrolls. both are Layout slots, and padding set once on Layout reaches all three, so header/body/footer share one content line.',
|
|
@@ -209,12 +160,8 @@ export const docsDense = {
|
|
|
209
160
|
type: 'prose',
|
|
210
161
|
text: 'verify: scroll the body. header + footer stay put, dividers run full-bleed, all three still share one left content line.',
|
|
211
162
|
},
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
{
|
|
215
|
-
section: 'Side panels',
|
|
216
|
-
title: 'Side panels',
|
|
217
|
-
content: [
|
|
163
|
+
// Side panels
|
|
164
|
+
null,
|
|
218
165
|
{
|
|
219
166
|
type: 'prose',
|
|
220
167
|
text: 'master-detail: select a row -> fixed-width side panel, no navigation away.',
|
|
@@ -232,43 +179,41 @@ export const docsDense = {
|
|
|
232
179
|
null,
|
|
233
180
|
{
|
|
234
181
|
type: 'prose',
|
|
235
|
-
text: 'verify: at narrow widths the panel yields width instead of squeezing content (see
|
|
236
|
-
},
|
|
237
|
-
],
|
|
238
|
-
},
|
|
239
|
-
{
|
|
240
|
-
section: 'Spacing',
|
|
241
|
-
title: 'Spacing',
|
|
242
|
-
content: [
|
|
243
|
-
{
|
|
244
|
-
type: 'prose',
|
|
245
|
-
text: 'one content line per region, then tune gaps + density. steps: Alignment, Rhythm, Density and size. rules for all:',
|
|
182
|
+
text: 'verify: at narrow widths the panel yields width instead of squeezing content (see Breakpoints), and only one element between the regions draws a border.',
|
|
246
183
|
},
|
|
184
|
+
// Best practices
|
|
185
|
+
null,
|
|
247
186
|
{
|
|
248
187
|
type: 'list',
|
|
249
188
|
items: [
|
|
250
|
-
'
|
|
251
|
-
'
|
|
252
|
-
'
|
|
253
|
-
'
|
|
254
|
-
'
|
|
189
|
+
'one lead per region; rank via weight+color; one primary action',
|
|
190
|
+
'leave body copy at its defaults; demote via weight+color, not size',
|
|
191
|
+
'default Section; weakest container that reads as a group',
|
|
192
|
+
'collections = rows (Table/List), edge-to-edge with dividers',
|
|
193
|
+
'side panel on select; it yields width at narrow sizes',
|
|
255
194
|
],
|
|
256
195
|
},
|
|
257
196
|
{
|
|
258
197
|
type: 'list',
|
|
259
198
|
items: [
|
|
260
|
-
'
|
|
261
|
-
'
|
|
262
|
-
'
|
|
263
|
-
'
|
|
199
|
+
'grey + shrink body copy, so a whole region reads as metadata',
|
|
200
|
+
'the disabled color for content; it fails contrast, it is for disabled controls',
|
|
201
|
+
'card soup: each record in its own Card',
|
|
202
|
+
'cards-in-cards, or full-width Cards as page structure',
|
|
203
|
+
'a header/footer rebuilt inside the body, where it scrolls away with the rows',
|
|
204
|
+
'flexbox soup instead of Grid/Layout/Section/FormLayout',
|
|
205
|
+
'two competing primary actions in one region',
|
|
206
|
+
'Badge as decoration; use StatusDot/Token for status',
|
|
264
207
|
],
|
|
265
208
|
},
|
|
266
209
|
],
|
|
267
210
|
},
|
|
268
211
|
{
|
|
269
|
-
section: '
|
|
270
|
-
title: '
|
|
212
|
+
section: 'Spacing',
|
|
213
|
+
title: 'Spacing',
|
|
271
214
|
content: [
|
|
215
|
+
// Alignment
|
|
216
|
+
null,
|
|
272
217
|
{
|
|
273
218
|
type: 'prose',
|
|
274
219
|
text: 'container owns padding + child gaps; children zero margins; interior spacing = token. one content line per region, hold the line not the padding: container_inset = content_line - component_intrinsic_inset.',
|
|
@@ -286,12 +231,8 @@ export const docsDense = {
|
|
|
286
231
|
type: 'prose',
|
|
287
232
|
text: 'verify: draw one vertical line down the left. every label touches it; only hover/selected backgrounds cross it.',
|
|
288
233
|
},
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
{
|
|
292
|
-
section: 'Rhythm',
|
|
293
|
-
title: 'Rhythm',
|
|
294
|
-
content: [
|
|
234
|
+
// Rhythm
|
|
235
|
+
null,
|
|
295
236
|
{
|
|
296
237
|
type: 'prose',
|
|
297
238
|
text: 'grouping = contrast between tight and generous gaps, not one repeated value. same step everywhere = proximity does no work.',
|
|
@@ -309,12 +250,8 @@ export const docsDense = {
|
|
|
309
250
|
type: 'prose',
|
|
310
251
|
text: 'verify: borders removed, you can still name the groups from spacing alone. cannot = intervals too uniform. form fields excepted: FormLayout owns their spacing.',
|
|
311
252
|
},
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
{
|
|
315
|
-
section: 'Density and size',
|
|
316
|
-
title: 'Density and size',
|
|
317
|
-
content: [
|
|
253
|
+
// Density and size
|
|
254
|
+
null,
|
|
318
255
|
{
|
|
319
256
|
type: 'prose',
|
|
320
257
|
text: 'density by use frequency; every control in a row shares one size so heights share a baseline.',
|
|
@@ -332,38 +269,35 @@ export const docsDense = {
|
|
|
332
269
|
type: 'prose',
|
|
333
270
|
text: 'verify: one size per row, paired with the density of the region it sits in.',
|
|
334
271
|
},
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
{
|
|
338
|
-
section: 'Breakpoints',
|
|
339
|
-
title: 'Breakpoints',
|
|
340
|
-
content: [
|
|
341
|
-
{
|
|
342
|
-
type: 'prose',
|
|
343
|
-
text: 'decide what each region does as width changes. step: Responsive contract. rules:',
|
|
344
|
-
},
|
|
272
|
+
// Best practices
|
|
273
|
+
null,
|
|
345
274
|
{
|
|
346
275
|
type: 'list',
|
|
347
276
|
items: [
|
|
348
|
-
'
|
|
349
|
-
'
|
|
350
|
-
'
|
|
277
|
+
'container owns padding; children zero margins',
|
|
278
|
+
'one content line: text on line, hover bleeds to edge',
|
|
279
|
+
'one padding token across region header/body/footer',
|
|
280
|
+
'contrast tight vs generous gaps',
|
|
281
|
+
'one control size per row; density by use frequency',
|
|
351
282
|
],
|
|
352
283
|
},
|
|
353
284
|
{
|
|
354
285
|
type: 'list',
|
|
355
286
|
items: [
|
|
356
|
-
'
|
|
357
|
-
'
|
|
358
|
-
'
|
|
287
|
+
'double padding (component past its heading); keep one inset owner',
|
|
288
|
+
'raw px for interior spacing; tokens only',
|
|
289
|
+
'one repeated gap everywhere',
|
|
290
|
+
'mixed control sizes in one row',
|
|
359
291
|
],
|
|
360
292
|
},
|
|
361
293
|
],
|
|
362
294
|
},
|
|
363
295
|
{
|
|
364
|
-
section: '
|
|
365
|
-
title: '
|
|
296
|
+
section: 'Breakpoints',
|
|
297
|
+
title: 'Breakpoints',
|
|
366
298
|
content: [
|
|
299
|
+
// Responsive contract
|
|
300
|
+
null,
|
|
367
301
|
{
|
|
368
302
|
type: 'prose',
|
|
369
303
|
text: 'lock what each region does as width changes; pair each contract line with the prop/hook that enforces it.',
|
|
@@ -382,6 +316,24 @@ export const docsDense = {
|
|
|
382
316
|
type: 'prose',
|
|
383
317
|
text: 'verify: every contract line names a mechanism, so the comment cannot drift from the behavior.',
|
|
384
318
|
},
|
|
319
|
+
// Best practices
|
|
320
|
+
null,
|
|
321
|
+
{
|
|
322
|
+
type: 'list',
|
|
323
|
+
items: [
|
|
324
|
+
'write the contract down for every region before calling the layout done',
|
|
325
|
+
'decide per region: revealed, resized, or swapped at each width',
|
|
326
|
+
'drop a region rather than let it fight for width it lacks',
|
|
327
|
+
],
|
|
328
|
+
},
|
|
329
|
+
{
|
|
330
|
+
type: 'list',
|
|
331
|
+
items: [
|
|
332
|
+
'3 regions at a width where none has usable space',
|
|
333
|
+
'shrink every region uniformly instead of swapping/dropping one',
|
|
334
|
+
'a CSS breakpoint the contract comment never mentions',
|
|
335
|
+
],
|
|
336
|
+
},
|
|
385
337
|
],
|
|
386
338
|
},
|
|
387
339
|
],
|