@cyberskill/design 2.1.0 → 2.3.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/DESIGN.md +70 -3
- package/README.md +3 -3
- package/VERSION +1 -1
- package/_ds_bundle.js +2 -2
- package/_ds_bundle.js.map +1 -1
- package/_ds_manifest.json +32 -32
- package/_esm/cs.mjs +2 -2
- package/base/collections.css +3 -3
- package/base/components.css +10 -5
- package/base/controls.css +8 -8
- package/base/data.css +4 -2
- package/base/feedback.css +5 -3
- package/base/forms.css +2 -2
- package/base/glass.css +5 -2
- package/base/interaction.css +1 -1
- package/base/navigation.css +4 -4
- package/base/responsive.css +4 -0
- package/base/shell.css +9 -9
- package/base/typography.css +4 -0
- package/components/api-discovery.json +1 -1
- package/components/api-index.json +14 -14
- package/components/lifecycle.json +13 -13
- package/components/prompt-api.json +2 -2
- package/components/release-compatibility.json +2 -28
- package/components/scenarios.json +321 -28
- package/components/specifications.json +7546 -3515
- package/components/static-html-reference.json +19 -19
- package/dist/esm/build.json +1 -1
- package/dist/styles.min.css +1 -1
- package/docs/component-scenarios.md +1 -1
- package/docs/consuming.md +1 -1
- package/docs/contrast-report.md +196 -1
- package/docs/conventions.md +1 -1
- package/docs/manual-at-matrix.md +3 -3
- package/docs/reference-catalog.json +23 -23
- package/docs/release-notes.md +14 -1
- package/docs/releasing.md +4 -2
- package/docs/static-html-reference.md +18 -18
- package/docs/template-inventory.json +1 -1
- package/docs/vi/component-scenarios.md +1 -1
- package/docs/vi/consuming.md +1 -1
- package/docs/vi/contrast-report.md +196 -1
- package/docs/vi/conventions.md +1 -1
- package/docs/vi/decisions/component-specification-evidence.md +1 -1
- package/docs/vi/entrypoints/DESIGN.md +70 -3
- package/docs/vi/entrypoints/README.md +3 -3
- package/docs/vi/manual-at-matrix.md +3 -3
- package/docs/vi/release-notes.md +14 -1
- package/docs/vi/releasing.md +4 -2
- package/docs/vi/static-html-reference.md +18 -18
- package/docs/viewer.html +76 -25
- package/guidance/agent-contract.json +2 -2
- package/guidelines/atomic-view.html +4 -3
- package/guidelines/elements-variants.html +14 -14
- package/guidelines/guideline-language.js +1 -1
- package/package.json +2 -1
- package/styles/components/manifest.json +148 -137
- package/styles.layered.css +365 -353
- package/styles.layered.provenance.json +15 -15
- package/tokens/declarations.json +423 -375
- package/tokens/element-seeds.json +41 -39
- package/tokens/elements.css +333 -333
- package/tokens/modes/dark__default__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/dark__default__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/dark__default__compact__high.dtcg.json +1 -1
- package/tokens/modes/dark__default__compact__standard.dtcg.json +1 -1
- package/tokens/modes/dark__hoa-lava__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/dark__hoa-lava__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/dark__hoa-lava__compact__high.dtcg.json +1 -1
- package/tokens/modes/dark__hoa-lava__compact__standard.dtcg.json +1 -1
- package/tokens/modes/dark__hoa-plasma__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/dark__hoa-plasma__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/dark__hoa-plasma__compact__high.dtcg.json +1 -1
- package/tokens/modes/dark__hoa-plasma__compact__standard.dtcg.json +1 -1
- package/tokens/modes/dark__hoa__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/dark__hoa__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/dark__hoa__compact__high.dtcg.json +1 -1
- package/tokens/modes/dark__hoa__compact__standard.dtcg.json +1 -1
- package/tokens/modes/dark__kim-steel__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/dark__kim-steel__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/dark__kim-steel__compact__high.dtcg.json +1 -1
- package/tokens/modes/dark__kim-steel__compact__standard.dtcg.json +1 -1
- package/tokens/modes/dark__kim-titanium__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/dark__kim-titanium__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/dark__kim-titanium__compact__high.dtcg.json +1 -1
- package/tokens/modes/dark__kim-titanium__compact__standard.dtcg.json +1 -1
- package/tokens/modes/dark__kim__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/dark__kim__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/dark__kim__compact__high.dtcg.json +1 -1
- package/tokens/modes/dark__kim__compact__standard.dtcg.json +1 -1
- package/tokens/modes/dark__moc-bamboo__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/dark__moc-bamboo__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/dark__moc-bamboo__compact__high.dtcg.json +1 -1
- package/tokens/modes/dark__moc-bamboo__compact__standard.dtcg.json +1 -1
- package/tokens/modes/dark__moc-forest__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/dark__moc-forest__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/dark__moc-forest__compact__high.dtcg.json +1 -1
- package/tokens/modes/dark__moc-forest__compact__standard.dtcg.json +1 -1
- package/tokens/modes/dark__moc__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/dark__moc__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/dark__moc__compact__high.dtcg.json +1 -1
- package/tokens/modes/dark__moc__compact__standard.dtcg.json +1 -1
- package/tokens/modes/dark__tho-clay__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/dark__tho-clay__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/dark__tho-clay__compact__high.dtcg.json +1 -1
- package/tokens/modes/dark__tho-clay__compact__standard.dtcg.json +1 -1
- package/tokens/modes/dark__tho-sand__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/dark__tho-sand__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/dark__tho-sand__compact__high.dtcg.json +1 -1
- package/tokens/modes/dark__tho-sand__compact__standard.dtcg.json +1 -1
- package/tokens/modes/dark__tho__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/dark__tho__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/dark__tho__compact__high.dtcg.json +1 -1
- package/tokens/modes/dark__tho__compact__standard.dtcg.json +1 -1
- package/tokens/modes/dark__thuy-mist__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/dark__thuy-mist__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/dark__thuy-mist__compact__high.dtcg.json +1 -1
- package/tokens/modes/dark__thuy-mist__compact__standard.dtcg.json +1 -1
- package/tokens/modes/dark__thuy-ocean__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/dark__thuy-ocean__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/dark__thuy-ocean__compact__high.dtcg.json +1 -1
- package/tokens/modes/dark__thuy-ocean__compact__standard.dtcg.json +1 -1
- package/tokens/modes/dark__thuy__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/dark__thuy__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/dark__thuy__compact__high.dtcg.json +1 -1
- package/tokens/modes/dark__thuy__compact__standard.dtcg.json +1 -1
- package/tokens/modes/index.json +1548 -1548
- package/tokens/modes/light__default__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/light__default__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/light__default__compact__high.dtcg.json +1 -1
- package/tokens/modes/light__default__compact__standard.dtcg.json +1 -1
- package/tokens/modes/light__hoa-lava__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/light__hoa-lava__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/light__hoa-lava__compact__high.dtcg.json +1 -1
- package/tokens/modes/light__hoa-lava__compact__standard.dtcg.json +1 -1
- package/tokens/modes/light__hoa-plasma__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/light__hoa-plasma__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/light__hoa-plasma__compact__high.dtcg.json +1 -1
- package/tokens/modes/light__hoa-plasma__compact__standard.dtcg.json +1 -1
- package/tokens/modes/light__hoa__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/light__hoa__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/light__hoa__compact__high.dtcg.json +1 -1
- package/tokens/modes/light__hoa__compact__standard.dtcg.json +1 -1
- package/tokens/modes/light__kim-steel__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/light__kim-steel__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/light__kim-steel__compact__high.dtcg.json +1 -1
- package/tokens/modes/light__kim-steel__compact__standard.dtcg.json +1 -1
- package/tokens/modes/light__kim-titanium__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/light__kim-titanium__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/light__kim-titanium__compact__high.dtcg.json +1 -1
- package/tokens/modes/light__kim-titanium__compact__standard.dtcg.json +1 -1
- package/tokens/modes/light__kim__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/light__kim__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/light__kim__compact__high.dtcg.json +1 -1
- package/tokens/modes/light__kim__compact__standard.dtcg.json +1 -1
- package/tokens/modes/light__moc-bamboo__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/light__moc-bamboo__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/light__moc-bamboo__compact__high.dtcg.json +1 -1
- package/tokens/modes/light__moc-bamboo__compact__standard.dtcg.json +1 -1
- package/tokens/modes/light__moc-forest__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/light__moc-forest__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/light__moc-forest__compact__high.dtcg.json +1 -1
- package/tokens/modes/light__moc-forest__compact__standard.dtcg.json +1 -1
- package/tokens/modes/light__moc__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/light__moc__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/light__moc__compact__high.dtcg.json +1 -1
- package/tokens/modes/light__moc__compact__standard.dtcg.json +1 -1
- package/tokens/modes/light__tho-clay__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/light__tho-clay__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/light__tho-clay__compact__high.dtcg.json +1 -1
- package/tokens/modes/light__tho-clay__compact__standard.dtcg.json +1 -1
- package/tokens/modes/light__tho-sand__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/light__tho-sand__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/light__tho-sand__compact__high.dtcg.json +1 -1
- package/tokens/modes/light__tho-sand__compact__standard.dtcg.json +1 -1
- package/tokens/modes/light__tho__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/light__tho__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/light__tho__compact__high.dtcg.json +1 -1
- package/tokens/modes/light__tho__compact__standard.dtcg.json +1 -1
- package/tokens/modes/light__thuy-mist__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/light__thuy-mist__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/light__thuy-mist__compact__high.dtcg.json +1 -1
- package/tokens/modes/light__thuy-mist__compact__standard.dtcg.json +1 -1
- package/tokens/modes/light__thuy-ocean__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/light__thuy-ocean__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/light__thuy-ocean__compact__high.dtcg.json +1 -1
- package/tokens/modes/light__thuy-ocean__compact__standard.dtcg.json +1 -1
- package/tokens/modes/light__thuy__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/light__thuy__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/light__thuy__compact__high.dtcg.json +1 -1
- package/tokens/modes/light__thuy__compact__standard.dtcg.json +1 -1
- package/tokens/modes/system-dark__default__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/system-dark__default__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/system-dark__default__compact__high.dtcg.json +1 -1
- package/tokens/modes/system-dark__default__compact__standard.dtcg.json +1 -1
- package/tokens/modes/system-dark__hoa-lava__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/system-dark__hoa-lava__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/system-dark__hoa-lava__compact__high.dtcg.json +1 -1
- package/tokens/modes/system-dark__hoa-lava__compact__standard.dtcg.json +1 -1
- package/tokens/modes/system-dark__hoa-plasma__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/system-dark__hoa-plasma__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/system-dark__hoa-plasma__compact__high.dtcg.json +1 -1
- package/tokens/modes/system-dark__hoa-plasma__compact__standard.dtcg.json +1 -1
- package/tokens/modes/system-dark__hoa__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/system-dark__hoa__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/system-dark__hoa__compact__high.dtcg.json +1 -1
- package/tokens/modes/system-dark__hoa__compact__standard.dtcg.json +1 -1
- package/tokens/modes/system-dark__kim-steel__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/system-dark__kim-steel__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/system-dark__kim-steel__compact__high.dtcg.json +1 -1
- package/tokens/modes/system-dark__kim-steel__compact__standard.dtcg.json +1 -1
- package/tokens/modes/system-dark__kim-titanium__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/system-dark__kim-titanium__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/system-dark__kim-titanium__compact__high.dtcg.json +1 -1
- package/tokens/modes/system-dark__kim-titanium__compact__standard.dtcg.json +1 -1
- package/tokens/modes/system-dark__kim__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/system-dark__kim__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/system-dark__kim__compact__high.dtcg.json +1 -1
- package/tokens/modes/system-dark__kim__compact__standard.dtcg.json +1 -1
- package/tokens/modes/system-dark__moc-bamboo__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/system-dark__moc-bamboo__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/system-dark__moc-bamboo__compact__high.dtcg.json +1 -1
- package/tokens/modes/system-dark__moc-bamboo__compact__standard.dtcg.json +1 -1
- package/tokens/modes/system-dark__moc-forest__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/system-dark__moc-forest__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/system-dark__moc-forest__compact__high.dtcg.json +1 -1
- package/tokens/modes/system-dark__moc-forest__compact__standard.dtcg.json +1 -1
- package/tokens/modes/system-dark__moc__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/system-dark__moc__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/system-dark__moc__compact__high.dtcg.json +1 -1
- package/tokens/modes/system-dark__moc__compact__standard.dtcg.json +1 -1
- package/tokens/modes/system-dark__tho-clay__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/system-dark__tho-clay__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/system-dark__tho-clay__compact__high.dtcg.json +1 -1
- package/tokens/modes/system-dark__tho-clay__compact__standard.dtcg.json +1 -1
- package/tokens/modes/system-dark__tho-sand__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/system-dark__tho-sand__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/system-dark__tho-sand__compact__high.dtcg.json +1 -1
- package/tokens/modes/system-dark__tho-sand__compact__standard.dtcg.json +1 -1
- package/tokens/modes/system-dark__tho__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/system-dark__tho__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/system-dark__tho__compact__high.dtcg.json +1 -1
- package/tokens/modes/system-dark__tho__compact__standard.dtcg.json +1 -1
- package/tokens/modes/system-dark__thuy-mist__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/system-dark__thuy-mist__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/system-dark__thuy-mist__compact__high.dtcg.json +1 -1
- package/tokens/modes/system-dark__thuy-mist__compact__standard.dtcg.json +1 -1
- package/tokens/modes/system-dark__thuy-ocean__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/system-dark__thuy-ocean__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/system-dark__thuy-ocean__compact__high.dtcg.json +1 -1
- package/tokens/modes/system-dark__thuy-ocean__compact__standard.dtcg.json +1 -1
- package/tokens/modes/system-dark__thuy__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/system-dark__thuy__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/system-dark__thuy__compact__high.dtcg.json +1 -1
- package/tokens/modes/system-dark__thuy__compact__standard.dtcg.json +1 -1
- package/tokens/modes/system-light__default__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/system-light__default__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/system-light__default__compact__high.dtcg.json +1 -1
- package/tokens/modes/system-light__default__compact__standard.dtcg.json +1 -1
- package/tokens/modes/system-light__hoa-lava__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/system-light__hoa-lava__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/system-light__hoa-lava__compact__high.dtcg.json +1 -1
- package/tokens/modes/system-light__hoa-lava__compact__standard.dtcg.json +1 -1
- package/tokens/modes/system-light__hoa-plasma__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/system-light__hoa-plasma__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/system-light__hoa-plasma__compact__high.dtcg.json +1 -1
- package/tokens/modes/system-light__hoa-plasma__compact__standard.dtcg.json +1 -1
- package/tokens/modes/system-light__hoa__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/system-light__hoa__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/system-light__hoa__compact__high.dtcg.json +1 -1
- package/tokens/modes/system-light__hoa__compact__standard.dtcg.json +1 -1
- package/tokens/modes/system-light__kim-steel__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/system-light__kim-steel__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/system-light__kim-steel__compact__high.dtcg.json +1 -1
- package/tokens/modes/system-light__kim-steel__compact__standard.dtcg.json +1 -1
- package/tokens/modes/system-light__kim-titanium__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/system-light__kim-titanium__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/system-light__kim-titanium__compact__high.dtcg.json +1 -1
- package/tokens/modes/system-light__kim-titanium__compact__standard.dtcg.json +1 -1
- package/tokens/modes/system-light__kim__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/system-light__kim__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/system-light__kim__compact__high.dtcg.json +1 -1
- package/tokens/modes/system-light__kim__compact__standard.dtcg.json +1 -1
- package/tokens/modes/system-light__moc-bamboo__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/system-light__moc-bamboo__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/system-light__moc-bamboo__compact__high.dtcg.json +1 -1
- package/tokens/modes/system-light__moc-bamboo__compact__standard.dtcg.json +1 -1
- package/tokens/modes/system-light__moc-forest__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/system-light__moc-forest__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/system-light__moc-forest__compact__high.dtcg.json +1 -1
- package/tokens/modes/system-light__moc-forest__compact__standard.dtcg.json +1 -1
- package/tokens/modes/system-light__moc__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/system-light__moc__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/system-light__moc__compact__high.dtcg.json +1 -1
- package/tokens/modes/system-light__moc__compact__standard.dtcg.json +1 -1
- package/tokens/modes/system-light__tho-clay__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/system-light__tho-clay__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/system-light__tho-clay__compact__high.dtcg.json +1 -1
- package/tokens/modes/system-light__tho-clay__compact__standard.dtcg.json +1 -1
- package/tokens/modes/system-light__tho-sand__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/system-light__tho-sand__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/system-light__tho-sand__compact__high.dtcg.json +1 -1
- package/tokens/modes/system-light__tho-sand__compact__standard.dtcg.json +1 -1
- package/tokens/modes/system-light__tho__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/system-light__tho__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/system-light__tho__compact__high.dtcg.json +1 -1
- package/tokens/modes/system-light__tho__compact__standard.dtcg.json +1 -1
- package/tokens/modes/system-light__thuy-mist__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/system-light__thuy-mist__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/system-light__thuy-mist__compact__high.dtcg.json +1 -1
- package/tokens/modes/system-light__thuy-mist__compact__standard.dtcg.json +1 -1
- package/tokens/modes/system-light__thuy-ocean__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/system-light__thuy-ocean__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/system-light__thuy-ocean__compact__high.dtcg.json +1 -1
- package/tokens/modes/system-light__thuy-ocean__compact__standard.dtcg.json +1 -1
- package/tokens/modes/system-light__thuy__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/system-light__thuy__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/system-light__thuy__compact__high.dtcg.json +1 -1
- package/tokens/modes/system-light__thuy__compact__standard.dtcg.json +1 -1
- package/tokens/native/CSModes.kt +631 -588
- package/tokens/native/CSModes.swift +631 -588
- package/tokens/native/CSTokens.kt +301 -301
- package/tokens/native/CSTokens.swift +301 -301
- package/tokens/native/cs_modes.dart +631 -588
- package/tokens/native/cs_tokens.dart +301 -301
- package/tokens/native/mode-provenance.json +11 -11
- package/tokens/provenance.json +6 -6
- package/tokens/tokens.dtcg.json +268 -268
- package/tokens/tokens.js +160 -160
- package/tokens/tokens.json +159 -159
- package/tokens/typography.css +2 -3
- package/tokens/variables.css +336 -333
- package/ui_kits/website/site.css +2 -2
package/docs/viewer.html
CHANGED
|
@@ -21,32 +21,43 @@
|
|
|
21
21
|
.searchhit b{color:var(--_cs-light,var(--cs-color-brand-umber)) var(--_cs-dark,var(--cs-color-brand-ochre))}
|
|
22
22
|
.searchhit .snip{display:block;font-size:12px;color:var(--cs-color-text-muted);font-weight:400;margin-top:2px}
|
|
23
23
|
mark{background:var(--cs-color-brand-ochre);color:var(--cs-color-brand-umber);border-radius:2px;padding:0 1px}
|
|
24
|
-
main{overflow:auto;padding:
|
|
25
|
-
article{max-width:
|
|
26
|
-
article h1{font-size:
|
|
27
|
-
article h2{font-size:
|
|
28
|
-
article h3{font-size:
|
|
29
|
-
article
|
|
30
|
-
article
|
|
31
|
-
article pre
|
|
32
|
-
article
|
|
33
|
-
|
|
34
|
-
article
|
|
35
|
-
article
|
|
24
|
+
main{overflow:auto;padding:clamp(24px,3vw,40px) clamp(20px,4vw,52px) 72px;min-width:0}
|
|
25
|
+
article{max-width:min(1160px,100%);width:100%;margin:0 auto;line-height:1.65;font-size:14.5px;min-width:0}
|
|
26
|
+
article h1{font-size:28px;letter-spacing:-.02em;line-height:1.25;margin:0 0 14px;padding-bottom:10px;border-bottom:2px solid color-mix(in oklab,var(--cs-accent) 45%,var(--cs-color-border-default))}
|
|
27
|
+
article h2{font-size:19px;letter-spacing:-.01em;line-height:1.35;margin:30px 0 10px;padding-top:12px;border-top:1px solid var(--cs-color-border-default);color:var(--cs-color-text-accent)}
|
|
28
|
+
article h3{font-size:15.5px;line-height:1.4;margin:22px 0 6px}
|
|
29
|
+
article h4{font-size:14px;line-height:1.4;margin:18px 0 4px;color:var(--cs-color-text-muted)}
|
|
30
|
+
article code{font-family:var(--cs-font-family-mono);font-size:.86em;background:var(--cs-color-surface-raised);color:var(--cs-color-text-primary);border:1px solid color-mix(in oklab,var(--cs-accent) 28%,var(--cs-color-border-default));border-radius:4px;padding:1px 5px}
|
|
31
|
+
article pre{background:var(--cs-color-surface-raised);border:1px solid var(--cs-color-border-default);border-radius:10px;padding:12px 14px;overflow:auto;max-width:100%}
|
|
32
|
+
article pre code{background:none;border:0;padding:0;font-size:12px;line-height:1.55;white-space:pre}
|
|
33
|
+
.tbl-wrap{width:100%;max-width:100%;overflow-x:auto;margin:14px 0;border:1px solid var(--cs-color-border-default);border-radius:var(--cs-radius-md);background:var(--cs-color-surface-panel)}
|
|
34
|
+
article table{border-collapse:collapse;margin:0;width:100%}
|
|
35
|
+
article th,article td{border-bottom:1px solid var(--cs-color-border-default);border-inline-end:1px solid var(--cs-color-border-default);padding:9px 12px;text-align:start;font-size:13px;vertical-align:top;line-height:1.5}
|
|
36
|
+
article th:last-child,article td:last-child{border-inline-end:0}
|
|
37
|
+
article tr:last-child td{border-bottom:0}
|
|
38
|
+
article th{background:var(--cs-color-surface-raised);color:var(--cs-color-text-primary);font-weight:700;border-bottom:2px solid color-mix(in oklab,var(--cs-accent) 50%,var(--cs-color-border-default))}
|
|
39
|
+
article blockquote{margin:12px 0;padding:10px 16px;border-inline-start:3px solid var(--cs-accent);color:var(--cs-color-text-primary);background:var(--cs-color-surface-raised);border-radius:0 8px 8px 0}
|
|
40
|
+
.md-badge{display:inline;font:700 11.5px/1.2 var(--cs-font-family-mono);padding:3px 10px;border-radius:999px;background:var(--cs-accent-tint);color:var(--cs-accent-ink);border:1px solid color-mix(in oklab,var(--cs-accent) 45%,var(--cs-color-border-default));text-decoration:none}
|
|
41
|
+
html.embed article pre[data-source-metadata]{display:none}
|
|
42
|
+
html.embed[data-cs-density="compact"] main{padding:18px 24px 48px}
|
|
43
|
+
html.embed[data-cs-density="compact"] article{font-size:13.5px;line-height:1.52}
|
|
44
|
+
html.embed[data-cs-density="compact"] article h1{font-size:22px;margin-bottom:8px;padding-bottom:6px}
|
|
45
|
+
html.embed[data-cs-density="compact"] article h2{font-size:16.5px;margin:20px 0 6px;padding-top:8px}
|
|
46
|
+
html.embed[data-cs-density="compact"] article th,html.embed[data-cs-density="compact"] article td{padding:5px 8px;font-size:12px}
|
|
36
47
|
article ul,article ol{padding-inline-start:22px}
|
|
37
|
-
article li{margin:
|
|
48
|
+
article li{margin:4px 0;overflow-wrap:anywhere}
|
|
38
49
|
article p,article blockquote{overflow-wrap:anywhere}
|
|
39
50
|
article code{white-space:break-spaces;overflow-wrap:anywhere}
|
|
40
|
-
article hr{border:0;border-top:1px dashed var(--cs-color-border-default);margin:
|
|
51
|
+
article hr{border:0;border-top:1px dashed var(--cs-color-border-default);margin:22px 0}
|
|
41
52
|
article a{color:var(--cs-color-link)}article a:hover{color:var(--cs-color-link-hover)}
|
|
42
53
|
#err{color:#B42318;font-family:var(--cs-font-family-mono);font-size:13px}
|
|
43
54
|
html.embed body{grid-template-columns:1fr}
|
|
44
55
|
html.embed aside{display:none}
|
|
45
|
-
html.embed main{padding:24px
|
|
56
|
+
html.embed main{padding:clamp(24px,3vw,40px) clamp(24px,4vw,56px) 72px}
|
|
46
57
|
@media (pointer:coarse){
|
|
47
58
|
.langtog button,#docsearch,aside a{min-inline-size:44px;min-block-size:44px}
|
|
48
59
|
#navlinks a[data-p]{display:flex;align-items:center}
|
|
49
|
-
article a{display:inline-flex;align-items:center;min-inline-size:44px;min-block-size:44px;max-inline-size:100%;overflow-wrap:anywhere}
|
|
60
|
+
article a,article a.md-badge{display:inline-flex;align-items:center;min-inline-size:44px;min-block-size:44px;max-inline-size:100%;overflow-wrap:anywhere}
|
|
50
61
|
}
|
|
51
62
|
@media (max-width:640px){
|
|
52
63
|
body{grid-template-columns:1fr}
|
|
@@ -80,7 +91,18 @@ const UI={
|
|
|
80
91
|
// Language persistence is optional; privacy settings can expose null storage.
|
|
81
92
|
function savedLanguage(){ try{ return localStorage.getItem('cs-docs-lang'); }catch{ return null; } }
|
|
82
93
|
function saveLanguage(value){ try{ localStorage.setItem('cs-docs-lang',value); }catch{} }
|
|
83
|
-
|
|
94
|
+
function initialLanguage(){
|
|
95
|
+
const q=new URLSearchParams(location.search).get('lang');
|
|
96
|
+
if(q==='en'||q==='vi') return q;
|
|
97
|
+
if(document.documentElement.classList.contains('embed') && window.parent && window.parent!==window){
|
|
98
|
+
try{
|
|
99
|
+
const pLang=window.parent.document.documentElement.getAttribute('lang');
|
|
100
|
+
if(pLang==='en'||pLang==='vi') return pLang;
|
|
101
|
+
}catch{}
|
|
102
|
+
}
|
|
103
|
+
return savedLanguage()==='en'?'en':'vi';
|
|
104
|
+
}
|
|
105
|
+
let lang=initialLanguage();
|
|
84
106
|
function contentLanguage(path,language=lang){ return path.startsWith('docs/') || Object.hasOwn(ENTRANCE_VI,path) ? language : 'en'; }
|
|
85
107
|
function DOCS(){ return lang==='vi'?DOCS_VI:DOCS_EN; }
|
|
86
108
|
const ALL=DOCS_EN.flatMap(g=>g[1].map(d=>d[0]));
|
|
@@ -98,20 +120,32 @@ function syncLangUi(){
|
|
|
98
120
|
: 'Guides and entrance documents have paired VI/EN views';
|
|
99
121
|
document.getElementById('docsearch').placeholder=UI[lang].search+'…';
|
|
100
122
|
document.getElementById('docsearch').setAttribute('aria-label',UI[lang].search);
|
|
101
|
-
|
|
123
|
+
const nextDocLang=lang==='vi'?'vi':'en';
|
|
124
|
+
if(document.documentElement.lang!==nextDocLang) document.documentElement.lang=nextDocLang;
|
|
102
125
|
}
|
|
103
126
|
function renderNav(){ nav.innerHTML=''; for(const [g,items] of DOCS()){ const h=document.createElement('div'); h.className='grp'; h.textContent=g; nav.appendChild(h);
|
|
104
127
|
for(const [p,label] of items){ const a=document.createElement('a'); a.href='#'+p; a.dataset.p=p; a.textContent=label; nav.appendChild(a); } } }
|
|
105
128
|
syncLangUi(); renderNav();
|
|
106
|
-
|
|
107
|
-
const
|
|
108
|
-
|
|
129
|
+
function setViewerLanguage(next,persist=true){
|
|
130
|
+
const norm=next==='en'?'en':next==='vi'?'vi':null;
|
|
131
|
+
if(!norm || norm===lang) return;
|
|
132
|
+
lang=norm;
|
|
133
|
+
if(persist) saveLanguage(lang);
|
|
109
134
|
syncLangUi(); renderNav(); markActive();
|
|
110
135
|
docCache=null; // refetch under new language
|
|
111
136
|
cancelSearch();
|
|
112
137
|
load(cur||'README.md');
|
|
113
138
|
const q=searchBox.value.trim();
|
|
114
139
|
if(q.length>=2) runSearch(q);
|
|
140
|
+
}
|
|
141
|
+
window.__csSetDocLang=(next)=>setViewerLanguage(next,false);
|
|
142
|
+
new MutationObserver(()=>{
|
|
143
|
+
const attr=document.documentElement.getAttribute('lang');
|
|
144
|
+
if((attr==='en'||attr==='vi') && attr!==lang) setViewerLanguage(attr,false);
|
|
145
|
+
}).observe(document.documentElement,{attributes:true,attributeFilter:['lang']});
|
|
146
|
+
document.querySelector('.langtog').addEventListener('click',(e)=>{
|
|
147
|
+
const b=e.target.closest('button[data-lang]'); if(!b) return;
|
|
148
|
+
setViewerLanguage(b.dataset.lang,true);
|
|
115
149
|
});
|
|
116
150
|
function esc(s){ return s.replace(/&/g,'&').replace(/</g,'<').replace(/>/g,'>'); }
|
|
117
151
|
function labelsNow(){ const L={}; for(const [,items] of DOCS()) for(const [p,l] of items) L[p]=l; return L; }
|
|
@@ -153,6 +187,8 @@ function inline(s){ return esc(s)
|
|
|
153
187
|
.replace(/`([^`]+)`/g,(m,c)=>'<code>'+c+'</code>')
|
|
154
188
|
.replace(/\*\*([^*]+)\*\*/g,'<b>$1</b>')
|
|
155
189
|
.replace(/(^|[\s(])\*([^*\n]+)\*/g,'$1<i>$2</i>')
|
|
190
|
+
.replace(/\[!\[([^\]]*)\]\(([^)\s]+)\)\]\(([^)\s]+)\)/g,'<a class="md-badge" href="$3">$1 ↗</a>')
|
|
191
|
+
.replace(/!\[([^\]]*)\]\(([^)\s]+)\)/g,'<a class="md-badge" href="$2">$1</a>')
|
|
156
192
|
.replace(/\[([^\]]+)\]\(([^)\s]+)\)/g,'<a href="$2">$1</a>'); }
|
|
157
193
|
function md(src){
|
|
158
194
|
src=src.replace(/\r/g,''); const fences=[];
|
|
@@ -168,7 +204,7 @@ function md(src){
|
|
|
168
204
|
if(/^\s*(-{3,}|\*{3,})\s*$/.test(L)){ out.push('<hr>'); i++; continue; }
|
|
169
205
|
if(/^\|/.test(L)){ const rows=grab(/^\|/); const cells=r=>r.replace(/^\||\|$/g,'').split('|').map(c=>inline(c.trim()));
|
|
170
206
|
let hd=null,body=rows; if(rows.length>1&&/^[\s|:\-]+$/.test(rows[1])){ hd=cells(rows[0]); body=rows.slice(2); }
|
|
171
|
-
out.push('<table>'+(hd?'<thead><tr>'+hd.map(c=>'<th>'+c+'</th>').join('')+'</tr></thead>':'')+'<tbody>'+body.map(r=>'<tr>'+cells(r).map(c=>'<td>'+c+'</td>').join('')+'</tr>').join('')+'</tbody></table>'); continue; }
|
|
207
|
+
out.push('<div class="tbl-wrap"><table>'+(hd?'<thead><tr>'+hd.map(c=>'<th>'+c+'</th>').join('')+'</tr></thead>':'')+'<tbody>'+body.map(r=>'<tr>'+cells(r).map(c=>'<td>'+c+'</td>').join('')+'</tr>').join('')+'</tbody></table></div>'); continue; }
|
|
172
208
|
if(/^\s*[-*+]\s+/.test(L)){
|
|
173
209
|
const li=[];
|
|
174
210
|
while(i<lines.length){
|
|
@@ -240,9 +276,24 @@ async function fetchDoc(p){
|
|
|
240
276
|
lastErr = new Error('hosting intercepted '+u+' (got HTML, not markdown)');
|
|
241
277
|
continue;
|
|
242
278
|
}
|
|
243
|
-
// Count metadata
|
|
244
|
-
// complete
|
|
245
|
-
return text
|
|
279
|
+
// Count and source-version metadata are generated source syntax, not visible prose.
|
|
280
|
+
// Strip complete markers and bilingual entrypoint banners before rendering and indexing.
|
|
281
|
+
return text
|
|
282
|
+
.replace(/<!-- cs-count:[A-Za-z]+ -->(\d+)<!-- \/cs-count -->/g, '$1')
|
|
283
|
+
.replace(/<!-- cs-source-version:[a-z0-9-]+ -->([^<>\r\n]*)<!-- \/cs-source-version -->/g, '$1')
|
|
284
|
+
.replace(
|
|
285
|
+
/<!-- BEGIN PINNED TOOLCHAIN BOOTSTRAP -->\s*([\s\S]*?)\s*<!-- END PINNED TOOLCHAIN BOOTSTRAP -->/g,
|
|
286
|
+
(_, body) => body.trim().split(/\n\s*\n/)[0] || ''
|
|
287
|
+
)
|
|
288
|
+
.replace(
|
|
289
|
+
/<!-- BEGIN GENERATED ENTRY LANGUAGE ROUTE v1 -->\s*([\s\S]*?)\s*<!-- END GENERATED ENTRY LANGUAGE ROUTE v1 -->\s*/g,
|
|
290
|
+
(_, body) => (document.documentElement.classList.contains('embed') ? '' : body.trim() + '\n\n')
|
|
291
|
+
)
|
|
292
|
+
.replace(/^[ \t]*<!--\s*(?:BEGIN|END|Generated by)\b[\s\S]*?-->[ \t]*\r?\n?/gm, '')
|
|
293
|
+
.replace(
|
|
294
|
+
/^\*\*(?:English|Tiếng Việt)\*\*\s*·\s*\[(?:English|Tiếng Việt)\]\([^)]+\)[ \t]*\r?\n+/m,
|
|
295
|
+
(m) => (document.documentElement.classList.contains('embed') ? '' : m)
|
|
296
|
+
);
|
|
246
297
|
}catch(e){ lastErr = e; }
|
|
247
298
|
}
|
|
248
299
|
throw lastErr || new Error('all fetch paths failed');
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"schemaVersion": 1,
|
|
3
3
|
"interpretation": "Generated policy/routing projection, not runtime, host-loading, human acceptance or release certification.",
|
|
4
4
|
"sourceHashes": {
|
|
5
|
-
"scripts/guidance-source.json": "
|
|
5
|
+
"scripts/guidance-source.json": "1e8d71a99895dac5a42b41424a42e3b6b8b82cd421e04c553c52581d33d44b9e",
|
|
6
6
|
"docs/doctrine.md": "25b5c51ba0bb38b8486b625124dcf6b90af8ac97e7518ab2cd92ff10b84eef54"
|
|
7
7
|
},
|
|
8
8
|
"authorities": {
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
},
|
|
22
22
|
"acceptance": {
|
|
23
23
|
"productVisualReview": "separate-required",
|
|
24
|
-
"manualAccessibility": "
|
|
24
|
+
"manualAccessibility": "automated-and-manual-supported",
|
|
25
25
|
"pushDeployMerge": "explicit-operator-instruction"
|
|
26
26
|
},
|
|
27
27
|
"portableValidation": {
|
|
@@ -456,11 +456,12 @@ function applyAxis(ifr, ax){
|
|
|
456
456
|
h.setAttribute("data-cs-density",ax.density||"comfortable");
|
|
457
457
|
h.setAttribute("data-cs-contrast",ax.contrast||"standard");
|
|
458
458
|
const w=ifr.contentWindow;
|
|
459
|
-
if(
|
|
459
|
+
if(w && w.__dcSetProps && w.__dcRootName){
|
|
460
460
|
const r=w.__dcRootName&&w.__dcRootName();
|
|
461
461
|
if(r){
|
|
462
|
-
const
|
|
463
|
-
|
|
462
|
+
const nextProps={theme:ax.theme||"light",element:ax.elm||"tho"};
|
|
463
|
+
if(ax.lang) nextProps.language=ax.lang==="vi"?"Tiếng Việt":ax.lang==="ja"?"日本語":"English";
|
|
464
|
+
w.__dcSetProps(r,nextProps);
|
|
464
465
|
}
|
|
465
466
|
}
|
|
466
467
|
}catch(e){}
|
|
@@ -23,25 +23,25 @@ a{color:var(--cs-color-link)}a:hover{color:var(--cs-color-link-hover)}
|
|
|
23
23
|
<body>
|
|
24
24
|
<div style="display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-bottom:16px">
|
|
25
25
|
<div class="col"><div class="el">Mộc · Wood</div>
|
|
26
|
-
<div class="v"><span class="sw" style="background:#
|
|
27
|
-
<div class="v"><span class="sw" style="background:#
|
|
28
|
-
<div class="v"><span class="sw" style="background:#
|
|
26
|
+
<div class="v"><span class="sw" style="background:#82CF66"></span><div><div class="vn">leaf ·middle</div><div class="vx">#82CF66</div></div></div>
|
|
27
|
+
<div class="v"><span class="sw" style="background:#DAEFAA"></span><div><div class="vn">bamboo</div><div class="vx">#DAEFAA</div></div></div>
|
|
28
|
+
<div class="v"><span class="sw" style="background:#105C36"></span><div><div class="vn">forest</div><div class="vx">#105C36</div></div></div></div>
|
|
29
29
|
<div class="col"><div class="el">Hỏa · Fire</div>
|
|
30
|
-
<div class="v"><span class="sw" style="background:#
|
|
31
|
-
<div class="v"><span class="sw" style="background:#
|
|
32
|
-
<div class="v"><span class="sw" style="background:#
|
|
30
|
+
<div class="v"><span class="sw" style="background:#FC9C69"></span><div><div class="vn">ember ·middle</div><div class="vx">#FC9C69</div></div></div>
|
|
31
|
+
<div class="v"><span class="sw" style="background:#93050F"></span><div><div class="vn">lava</div><div class="vx">#93050F</div></div></div>
|
|
32
|
+
<div class="v"><span class="sw" style="background:#FEDBDC"></span><div><div class="vn">plasma</div><div class="vx">#FEDBDC</div></div></div></div>
|
|
33
33
|
<div class="col" style="outline:2px solid var(--cs-color-brand-ochre);outline-offset:2px"><div class="el">Thổ · Earth</div>
|
|
34
34
|
<div class="v"><span class="sw" style="background:#F4BA17"></span><div><div class="vn">ochre ·middle</div><div class="vx">#F4BA17</div></div></div>
|
|
35
|
-
<div class="v"><span class="sw" style="background:#
|
|
36
|
-
<div class="v"><span class="sw" style="background:#
|
|
35
|
+
<div class="v"><span class="sw" style="background:#723E06"></span><div><div class="vn">clay</div><div class="vx">#723E06</div></div></div>
|
|
36
|
+
<div class="v"><span class="sw" style="background:#F9E3A7"></span><div><div class="vn">sand</div><div class="vx">#F9E3A7</div></div></div></div>
|
|
37
37
|
<div class="col"><div class="el">Kim · Metal</div>
|
|
38
|
-
<div class="v"><span class="sw" style="background:#
|
|
39
|
-
<div class="v"><span class="sw" style="background:#
|
|
40
|
-
<div class="v"><span class="sw" style="background:#
|
|
38
|
+
<div class="v"><span class="sw" style="background:#C4B78F"></span><div><div class="vn">champagne ·middle</div><div class="vx">#C4B78F</div></div></div>
|
|
39
|
+
<div class="v"><span class="sw" style="background:#384D72"></span><div><div class="vn">steel</div><div class="vx">#384D72</div></div></div>
|
|
40
|
+
<div class="v"><span class="sw" style="background:#D3E7FC"></span><div><div class="vn">titanium</div><div class="vx">#D3E7FC</div></div></div></div>
|
|
41
41
|
<div class="col"><div class="el">Thủy · Water</div>
|
|
42
|
-
<div class="v"><span class="sw" style="background:#
|
|
43
|
-
<div class="v"><span class="sw" style="background:#
|
|
44
|
-
<div class="v"><span class="sw" style="background:#
|
|
42
|
+
<div class="v"><span class="sw" style="background:#00CEE4"></span><div><div class="vn">river ·middle</div><div class="vx">#00CEE4</div></div></div>
|
|
43
|
+
<div class="v"><span class="sw" style="background:#06556F"></span><div><div class="vn">ocean</div><div class="vx">#06556F</div></div></div>
|
|
44
|
+
<div class="v"><span class="sw" style="background:#9DF7F5"></span><div><div class="vn">mist</div><div class="vx">#9DF7F5</div></div></div></div>
|
|
45
45
|
</div>
|
|
46
46
|
<div style="display:grid;grid-template-columns:repeat(5,1fr);gap:14px">
|
|
47
47
|
<div class="wash"><img src="../assets/aurora-moc.webp" alt="Mộc aurora wash"><span class="wl">Mộc</span></div>
|