@cyberskill/design 2.7.0 → 2.9.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 +8 -8
- package/README.md +15 -9
- package/SECURITY.md +4 -4
- package/SKILL.md +1 -1
- package/THIRD-PARTY-NOTICES.md +1 -1
- package/VERSION +1 -1
- package/_ds_bundle.js +2 -2
- package/_ds_bundle.js.map +1 -1
- package/_ds_manifest.json +210 -200
- package/_esm/cs.mjs +2 -2
- package/base/a11y.css +18 -2
- package/base/ai.css +2 -2
- package/base/collections.css +6 -2
- package/base/components.css +107 -20
- package/base/controls.css +59 -31
- package/base/data.css +17 -5
- package/base/feedback.css +8 -0
- package/base/forms.css +7 -4
- package/base/glass.css +95 -0
- package/base/navigation.css +9 -1
- package/base/responsive.css +9 -4
- package/components/contracts.json +202 -62
- package/components/css-index.json +145 -41
- package/components/data/data.card.html +1 -1
- package/components/prompt-api.json +2 -2
- package/components/release-compatibility.json +1 -1
- package/components/specifications.json +204 -64
- package/components/static-html-reference.json +20 -20
- package/dist/esm/build.json +1 -1
- package/dist/styles.css +389 -89
- package/dist/styles.min.css +1 -1
- package/docs/UPSTREAM.md +3 -6
- package/docs/benchmark-rubric.md +1 -1
- package/docs/browser-support.md +1 -1
- package/docs/component-api.md +1 -1
- package/docs/consuming.md +1 -1
- package/docs/contrast-report.md +8 -8
- package/docs/conventions.md +5 -5
- package/docs/decisions.md +3 -3
- package/docs/deploy.md +2 -2
- package/docs/design-styles.md +9 -8
- package/docs/doctrine.md +1 -1
- package/docs/four-axes.md +3 -3
- package/docs/quality-gates.md +3 -1
- package/docs/reference-catalog.json +59 -59
- package/docs/release-notes.md +30 -2
- package/docs/static-html-reference.md +18 -18
- package/docs/storybook.md +1 -1
- package/docs/template-inventory.json +35 -35
- package/docs/vi/UPSTREAM.md +3 -6
- package/docs/vi/benchmark-rubric.md +1 -1
- package/docs/vi/browser-support.md +1 -1
- package/docs/vi/component-api.md +1 -1
- package/docs/vi/consuming.md +1 -1
- package/docs/vi/contrast-report.md +8 -8
- package/docs/vi/conventions.md +5 -5
- package/docs/vi/decisions.md +3 -3
- package/docs/vi/deploy.md +2 -2
- package/docs/vi/design-styles.md +9 -8
- package/docs/vi/doctrine.md +1 -1
- package/docs/vi/entrypoints/CONTRIBUTING.md +9 -2
- package/docs/vi/entrypoints/DESIGN.md +8 -8
- package/docs/vi/entrypoints/README.md +15 -9
- package/docs/vi/entrypoints/SKILL.md +1 -1
- package/docs/vi/entrypoints/llms.txt +1 -1
- package/docs/vi/four-axes.md +3 -3
- package/docs/vi/quality-gates.md +3 -1
- package/docs/vi/release-notes.md +30 -2
- package/docs/vi/static-html-reference.md +18 -18
- package/docs/vi/storybook.md +1 -1
- package/guidance/agent-contract.json +3 -3
- package/guidelines/atomic-view.html +7 -7
- package/guidelines/brand-imagery.html +1 -1
- package/guidelines/colors-surfaces.html +4 -4
- package/guidelines/colors-text.html +4 -4
- package/guidelines/elements-components.html +3 -3
- package/guidelines/elements-concept.html +1 -1
- package/guidelines/guideline-language.js +1 -1
- package/guidelines/motion.html +4 -4
- package/guidelines/responsive-bilingual.html +4 -4
- package/llms.txt +1 -1
- package/package.json +11 -10
- package/styles/components/manifest.json +184 -140
- package/styles.layered.css +245 -59
- package/styles.layered.provenance.json +16 -16
- package/templates/_vendor/doc-export.js +8 -1
- package/templates/ai-cluster-demo.html +2 -2
- package/templates/app-shell/AppShell.dc.html +2 -2
- package/templates/bod-deck/BodDeck.dc.html +3 -3
- package/templates/bod-investor-update/BodInvestorUpdate.dc.html +1 -1
- package/templates/dashboard/Dashboard.dc.html +2 -2
- package/templates/delivery-qbr-deck/DeliveryQbrDeck.dc.html +2 -2
- package/templates/delivery-status-email/DeliveryStatusEmail.dc.html +1 -1
- package/templates/email/Email-VN-standalone.html +2 -2
- package/templates/email-safe/email-announcement.html +5 -5
- package/templates/email-safe/email-dunning.html +5 -5
- package/templates/email-safe/email-investor.html +5 -5
- package/templates/email-safe/email-launch.html +5 -5
- package/templates/email-safe/email-newsletter.html +6 -6
- package/templates/email-safe/email-status.html +5 -5
- package/templates/email-safe/email-transactional.html +5 -5
- package/templates/kitchen-sink.html +10 -6
- package/templates/marketing-newsletter/MarketingNewsletter.dc.html +4 -4
- package/templates/marketing-page/MarketingPage.dc.html +4 -2
- package/templates/playground.html +5 -4
- package/templates/sales-proposal-deck/SalesProposalDeck.dc.html +5 -5
- package/tokens/colors.css +1 -1
- package/tokens/declarations.json +1851 -1355
- package/tokens/element-seeds.json +1 -1
- package/tokens/elements.css +40 -10
- package/tokens/elevation.css +2 -2
- 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 +275 -275
- 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 +129 -125
- package/tokens/native/CSModes.swift +129 -125
- package/tokens/native/CSTokens.kt +8 -8
- package/tokens/native/CSTokens.swift +8 -8
- package/tokens/native/cs_modes.dart +129 -125
- package/tokens/native/cs_tokens.dart +8 -8
- package/tokens/native/mode-provenance.json +11 -11
- package/tokens/provenance.json +6 -6
- package/tokens/styles.css +8 -4
- package/tokens/tokens.dtcg.json +26 -26
- package/tokens/tokens.js +12 -12
- package/tokens/tokens.json +11 -11
- package/tokens/variables.css +48 -15
- package/tokens/viewer.html +1 -0
- package/ui_kits/status-hub/login.html +3 -3
- package/ui_kits/status-hub/project.html +4 -6
- package/ui_kits/status-hub/settings.html +2 -3
- package/ui_kits/status-hub/status.css +24 -15
- package/ui_kits/website/careers.html +10 -17
- package/ui_kits/website/chat.html +14 -3
- package/ui_kits/website/site.css +21 -21
- package/ui_kits/website/work.html +4 -10
package/docs/storybook.md
CHANGED
|
@@ -19,7 +19,7 @@ Storybook **10** is the **product site** for operators on `design.cyberskill.wor
|
|
|
19
19
|
- `States` (or a Matrix subsection) covering `disabled` / `loading` / `error` / `busy` when those argTypes exist
|
|
20
20
|
- Every discrete `size` / `variant` enum option mounted in a matrix-family story
|
|
21
21
|
- `FullMatrix` when ≥1 of {size enums, variant enums, state keys} exist — the size × variant × key-state product via shared helpers in `stories/lib/matrix.jsx`
|
|
22
|
-
- Toolbar globals: Theme (light · dark · **system**) × Element × Language × Style (same axes as templates / Atomic View). Element lists **all 15** Ngũ Hành packs (`tokens.elements` / template EL maps / Storybook toolbar) — not a subset.
|
|
22
|
+
- Toolbar globals: Theme (light · dark · **system**) × Element × Language (`vi` · `en`) × Style (`liquid-glass` · `matte-paper`; same axes as templates / Atomic View). Element lists **all 15** Ngũ Hành packs (`tokens.elements` / template EL maps / Storybook toolbar) — not a subset.
|
|
23
23
|
- **Docs/** published operator documentation — nested **Start / Guides / Maintainers**, curated MDX for high-traffic pages, one sidebar story per public catalog markdown page, and a Documentation Library iframe of `/docs/viewer.html` (EN·VI). Canonical prose remains `docs/*.md`; Storybook is the live reading surface. **Release Notes/** curated product prose (**no CHANGELOG.md**); **Status/** embeds `_audit/run.html` full-bleed
|
|
24
24
|
- **Templates/** public starting points — Gallery (Atomic View Templates tier + kitchen-sink/playground) and every manifest template under Atomic View categories (including **HR** / `vn-*`). Regen CSF with `node scripts/generate-template-stories.mjs` after template renames
|
|
25
25
|
- **Pages/** public UI kits (Status Hub, Marketing site, Slide deck)
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
{
|
|
6
6
|
"name": "App shell",
|
|
7
7
|
"path": "templates/app-shell/AppShell.dc.html",
|
|
8
|
-
"sha256": "
|
|
8
|
+
"sha256": "db367cea935919c4ad90d7fdb3513309d04bebb575269ee756b2be6f074e82b7",
|
|
9
9
|
"declaredProps": [
|
|
10
10
|
{
|
|
11
11
|
"language": {
|
|
@@ -946,7 +946,7 @@
|
|
|
946
946
|
{
|
|
947
947
|
"name": "Board · Meeting deck",
|
|
948
948
|
"path": "templates/bod-deck/BodDeck.dc.html",
|
|
949
|
-
"sha256": "
|
|
949
|
+
"sha256": "ce30fa21a80ab6eb6f198e16f13c928d1a9c8ab73883b83fcd53d087b9423fb4",
|
|
950
950
|
"declaredProps": [
|
|
951
951
|
{
|
|
952
952
|
"language": {
|
|
@@ -1248,7 +1248,7 @@
|
|
|
1248
1248
|
{
|
|
1249
1249
|
"name": "Board · Investor update email",
|
|
1250
1250
|
"path": "templates/bod-investor-update/BodInvestorUpdate.dc.html",
|
|
1251
|
-
"sha256": "
|
|
1251
|
+
"sha256": "88c598968753b234520386d60124fdda2b28692b4c27fd6b096b9c36c0fe2817",
|
|
1252
1252
|
"declaredProps": [
|
|
1253
1253
|
{
|
|
1254
1254
|
"language": {
|
|
@@ -2529,7 +2529,7 @@
|
|
|
2529
2529
|
{
|
|
2530
2530
|
"name": "Dashboard",
|
|
2531
2531
|
"path": "templates/dashboard/Dashboard.dc.html",
|
|
2532
|
-
"sha256": "
|
|
2532
|
+
"sha256": "abf3996bfbaaf7deb62e5ce0a6958c16b73db630237be8135f9838436bec76aa",
|
|
2533
2533
|
"declaredProps": [
|
|
2534
2534
|
{
|
|
2535
2535
|
"language": {
|
|
@@ -3535,7 +3535,7 @@
|
|
|
3535
3535
|
{
|
|
3536
3536
|
"name": "Delivery · QBR deck",
|
|
3537
3537
|
"path": "templates/delivery-qbr-deck/DeliveryQbrDeck.dc.html",
|
|
3538
|
-
"sha256": "
|
|
3538
|
+
"sha256": "05de5ad0d238f840edb63c6b014bd2b03ebe7f8598f8bdf83560949178434047",
|
|
3539
3539
|
"declaredProps": [
|
|
3540
3540
|
{
|
|
3541
3541
|
"language": {
|
|
@@ -4180,7 +4180,7 @@
|
|
|
4180
4180
|
{
|
|
4181
4181
|
"name": "Delivery · Weekly status email",
|
|
4182
4182
|
"path": "templates/delivery-status-email/DeliveryStatusEmail.dc.html",
|
|
4183
|
-
"sha256": "
|
|
4183
|
+
"sha256": "6734c66af11496ee1d4bd2d3d65e44aaf807e795c3d947cff3db536ef6cfbd3b",
|
|
4184
4184
|
"declaredProps": [
|
|
4185
4185
|
{
|
|
4186
4186
|
"language": {
|
|
@@ -4831,7 +4831,7 @@
|
|
|
4831
4831
|
},
|
|
4832
4832
|
{
|
|
4833
4833
|
"path": "templates/email/Email-VN-standalone.html",
|
|
4834
|
-
"sha256": "
|
|
4834
|
+
"sha256": "90ec1856210e2de7ead5e6664bb8b31754bd0978e69c71bf2ec58a7d18c72acc"
|
|
4835
4835
|
},
|
|
4836
4836
|
{
|
|
4837
4837
|
"path": "templates/email/content-schema.json",
|
|
@@ -8073,7 +8073,7 @@
|
|
|
8073
8073
|
{
|
|
8074
8074
|
"name": "Marketing · Newsletter",
|
|
8075
8075
|
"path": "templates/marketing-newsletter/MarketingNewsletter.dc.html",
|
|
8076
|
-
"sha256": "
|
|
8076
|
+
"sha256": "e4d585ae9e5a59619e19497b5bab1d738a218a91dbb8e4c3cca250c681dfdcb4",
|
|
8077
8077
|
"declaredProps": [
|
|
8078
8078
|
{
|
|
8079
8079
|
"element": {
|
|
@@ -8246,7 +8246,7 @@
|
|
|
8246
8246
|
{
|
|
8247
8247
|
"name": "Marketing page",
|
|
8248
8248
|
"path": "templates/marketing-page/MarketingPage.dc.html",
|
|
8249
|
-
"sha256": "
|
|
8249
|
+
"sha256": "7fecead46d1c300013885f0e8b0e247379858c70c52e514560185854d487660c",
|
|
8250
8250
|
"declaredProps": [
|
|
8251
8251
|
{
|
|
8252
8252
|
"language": {
|
|
@@ -9243,7 +9243,7 @@
|
|
|
9243
9243
|
{
|
|
9244
9244
|
"name": "Sales · Proposal deck",
|
|
9245
9245
|
"path": "templates/sales-proposal-deck/SalesProposalDeck.dc.html",
|
|
9246
|
-
"sha256": "
|
|
9246
|
+
"sha256": "5669ae23ec2e63eff285ff9fe83fd2df0defaca8124f3eb78b2925b0cae345bf",
|
|
9247
9247
|
"declaredProps": [
|
|
9248
9248
|
{
|
|
9249
9249
|
"language": {
|
|
@@ -15883,7 +15883,7 @@
|
|
|
15883
15883
|
"staticTemplates": [
|
|
15884
15884
|
{
|
|
15885
15885
|
"path": "templates/ai-cluster-demo.html",
|
|
15886
|
-
"sha256": "
|
|
15886
|
+
"sha256": "9cf7e96ec61eba60798ac07c26365449374137d09053ca2a328567320d893c74",
|
|
15887
15887
|
"declaredProps": [],
|
|
15888
15888
|
"componentImports": [],
|
|
15889
15889
|
"references": [
|
|
@@ -15924,7 +15924,7 @@
|
|
|
15924
15924
|
},
|
|
15925
15925
|
{
|
|
15926
15926
|
"path": "templates/email-safe/email-announcement.html",
|
|
15927
|
-
"sha256": "
|
|
15927
|
+
"sha256": "4a3d54e89f42114daf58f5ea369209a3daf335b54f9103db65a12c7c26608a18",
|
|
15928
15928
|
"declaredProps": [],
|
|
15929
15929
|
"componentImports": [],
|
|
15930
15930
|
"references": [
|
|
@@ -15953,7 +15953,7 @@
|
|
|
15953
15953
|
},
|
|
15954
15954
|
{
|
|
15955
15955
|
"path": "templates/email-safe/email-dunning.html",
|
|
15956
|
-
"sha256": "
|
|
15956
|
+
"sha256": "07bb3e41aab075f49b89aa0c6fd5f301462402d92722c6b23db33101d25b8950",
|
|
15957
15957
|
"declaredProps": [],
|
|
15958
15958
|
"componentImports": [],
|
|
15959
15959
|
"references": [
|
|
@@ -15978,7 +15978,7 @@
|
|
|
15978
15978
|
},
|
|
15979
15979
|
{
|
|
15980
15980
|
"path": "templates/email-safe/email-investor.html",
|
|
15981
|
-
"sha256": "
|
|
15981
|
+
"sha256": "5f60931d1c202d1959a5043d98f458ca1acf2d38c18d7c9e2f738d727e88aa3c",
|
|
15982
15982
|
"declaredProps": [],
|
|
15983
15983
|
"componentImports": [],
|
|
15984
15984
|
"references": [
|
|
@@ -16007,7 +16007,7 @@
|
|
|
16007
16007
|
},
|
|
16008
16008
|
{
|
|
16009
16009
|
"path": "templates/email-safe/email-launch.html",
|
|
16010
|
-
"sha256": "
|
|
16010
|
+
"sha256": "2760d0fdfcb783b9c0d774b5e4f65979d85247e9b752d89830ba2e820cdbff72",
|
|
16011
16011
|
"declaredProps": [],
|
|
16012
16012
|
"componentImports": [],
|
|
16013
16013
|
"references": [
|
|
@@ -16036,7 +16036,7 @@
|
|
|
16036
16036
|
},
|
|
16037
16037
|
{
|
|
16038
16038
|
"path": "templates/email-safe/email-newsletter.html",
|
|
16039
|
-
"sha256": "
|
|
16039
|
+
"sha256": "c9f2d5cc58ca5d06e93f0efdd781d2010afa8d2ab09bb12d6c20330672b22afe",
|
|
16040
16040
|
"declaredProps": [],
|
|
16041
16041
|
"componentImports": [],
|
|
16042
16042
|
"references": [
|
|
@@ -16061,7 +16061,7 @@
|
|
|
16061
16061
|
},
|
|
16062
16062
|
{
|
|
16063
16063
|
"path": "templates/email-safe/email-status.html",
|
|
16064
|
-
"sha256": "
|
|
16064
|
+
"sha256": "8da3bdfbe87b239e4dcca944cc4c5f741f54e87279818197c324a5b079a50a30",
|
|
16065
16065
|
"declaredProps": [],
|
|
16066
16066
|
"componentImports": [],
|
|
16067
16067
|
"references": [
|
|
@@ -16090,7 +16090,7 @@
|
|
|
16090
16090
|
},
|
|
16091
16091
|
{
|
|
16092
16092
|
"path": "templates/email-safe/email-transactional.html",
|
|
16093
|
-
"sha256": "
|
|
16093
|
+
"sha256": "c53f93020d4e00ca29f77179cf07bf04dd7fe24018d4fe725e0263ba9fa30f85",
|
|
16094
16094
|
"declaredProps": [],
|
|
16095
16095
|
"componentImports": [],
|
|
16096
16096
|
"references": [
|
|
@@ -16119,7 +16119,7 @@
|
|
|
16119
16119
|
},
|
|
16120
16120
|
{
|
|
16121
16121
|
"path": "templates/email/Email-VN-standalone.html",
|
|
16122
|
-
"sha256": "
|
|
16122
|
+
"sha256": "90ec1856210e2de7ead5e6664bb8b31754bd0978e69c71bf2ec58a7d18c72acc",
|
|
16123
16123
|
"declaredProps": [
|
|
16124
16124
|
{
|
|
16125
16125
|
"element": {
|
|
@@ -16213,7 +16213,7 @@
|
|
|
16213
16213
|
},
|
|
16214
16214
|
{
|
|
16215
16215
|
"path": "templates/kitchen-sink.html",
|
|
16216
|
-
"sha256": "
|
|
16216
|
+
"sha256": "99d628a06f5c9cf7add246f2224eca7000dd9c7f57c60918ea5e008e95614fd0",
|
|
16217
16217
|
"declaredProps": [],
|
|
16218
16218
|
"componentImports": [],
|
|
16219
16219
|
"references": [
|
|
@@ -16264,7 +16264,7 @@
|
|
|
16264
16264
|
},
|
|
16265
16265
|
{
|
|
16266
16266
|
"path": "templates/playground.html",
|
|
16267
|
-
"sha256": "
|
|
16267
|
+
"sha256": "5b1c198164f7568f5b43ad49baacab0a578e8217b28967244c7037121e2189a3",
|
|
16268
16268
|
"declaredProps": [],
|
|
16269
16269
|
"componentImports": [],
|
|
16270
16270
|
"references": [
|
|
@@ -16370,15 +16370,15 @@
|
|
|
16370
16370
|
},
|
|
16371
16371
|
{
|
|
16372
16372
|
"path": "ui_kits/status-hub/login.html",
|
|
16373
|
-
"sha256": "
|
|
16373
|
+
"sha256": "f46e9006291737031236c813628650508781491455976fffc2f03dcbb2acadf9"
|
|
16374
16374
|
},
|
|
16375
16375
|
{
|
|
16376
16376
|
"path": "ui_kits/status-hub/project.html",
|
|
16377
|
-
"sha256": "
|
|
16377
|
+
"sha256": "e6611104e329d66ccf0f64f3d9fe9cdc307b6f95aa440945fc449053884cef3a"
|
|
16378
16378
|
},
|
|
16379
16379
|
{
|
|
16380
16380
|
"path": "ui_kits/status-hub/settings.html",
|
|
16381
|
-
"sha256": "
|
|
16381
|
+
"sha256": "786a5eec1bf5cdf96279e5c1bc6abcb8dff5e3d7add00ad488acd601aee83b73"
|
|
16382
16382
|
},
|
|
16383
16383
|
{
|
|
16384
16384
|
"path": "ui_kits/status-hub/static-locale.js",
|
|
@@ -16386,7 +16386,7 @@
|
|
|
16386
16386
|
},
|
|
16387
16387
|
{
|
|
16388
16388
|
"path": "ui_kits/status-hub/status.css",
|
|
16389
|
-
"sha256": "
|
|
16389
|
+
"sha256": "af221fa3f0aa6bf88bb6f37bc4b10ff537e88ed10f7e27118ca4ccbfd502d3db"
|
|
16390
16390
|
}
|
|
16391
16391
|
],
|
|
16392
16392
|
"pages": [
|
|
@@ -16457,7 +16457,7 @@
|
|
|
16457
16457
|
},
|
|
16458
16458
|
{
|
|
16459
16459
|
"path": "ui_kits/status-hub/login.html",
|
|
16460
|
-
"sha256": "
|
|
16460
|
+
"sha256": "f46e9006291737031236c813628650508781491455976fffc2f03dcbb2acadf9",
|
|
16461
16461
|
"declaredProps": [],
|
|
16462
16462
|
"componentImports": [],
|
|
16463
16463
|
"references": [
|
|
@@ -16502,7 +16502,7 @@
|
|
|
16502
16502
|
},
|
|
16503
16503
|
{
|
|
16504
16504
|
"path": "ui_kits/status-hub/project.html",
|
|
16505
|
-
"sha256": "
|
|
16505
|
+
"sha256": "e6611104e329d66ccf0f64f3d9fe9cdc307b6f95aa440945fc449053884cef3a",
|
|
16506
16506
|
"declaredProps": [],
|
|
16507
16507
|
"componentImports": [],
|
|
16508
16508
|
"references": [
|
|
@@ -16559,7 +16559,7 @@
|
|
|
16559
16559
|
},
|
|
16560
16560
|
{
|
|
16561
16561
|
"path": "ui_kits/status-hub/settings.html",
|
|
16562
|
-
"sha256": "
|
|
16562
|
+
"sha256": "786a5eec1bf5cdf96279e5c1bc6abcb8dff5e3d7add00ad488acd601aee83b73",
|
|
16563
16563
|
"declaredProps": [],
|
|
16564
16564
|
"componentImports": [],
|
|
16565
16565
|
"references": [
|
|
@@ -16625,11 +16625,11 @@
|
|
|
16625
16625
|
},
|
|
16626
16626
|
{
|
|
16627
16627
|
"path": "ui_kits/website/careers.html",
|
|
16628
|
-
"sha256": "
|
|
16628
|
+
"sha256": "8cd1fdc601fd2a811dc4dccffd283874514fad4ce0e6b06bf41a9b918fb7cd75"
|
|
16629
16629
|
},
|
|
16630
16630
|
{
|
|
16631
16631
|
"path": "ui_kits/website/chat.html",
|
|
16632
|
-
"sha256": "
|
|
16632
|
+
"sha256": "99e55034cc8df4d7e36e368bb23b49fc9f428d0694d6bca2b5470a82a4a5bc26"
|
|
16633
16633
|
},
|
|
16634
16634
|
{
|
|
16635
16635
|
"path": "ui_kits/website/copy.js",
|
|
@@ -16641,17 +16641,17 @@
|
|
|
16641
16641
|
},
|
|
16642
16642
|
{
|
|
16643
16643
|
"path": "ui_kits/website/site.css",
|
|
16644
|
-
"sha256": "
|
|
16644
|
+
"sha256": "7d7bf4f1df1b83c9e0506a7a23a8e31f046ad0af3cff1e70234ef01a2aaadb19"
|
|
16645
16645
|
},
|
|
16646
16646
|
{
|
|
16647
16647
|
"path": "ui_kits/website/work.html",
|
|
16648
|
-
"sha256": "
|
|
16648
|
+
"sha256": "d67ff33970d1b737f9c8c61c186abe58deb0d359f6ec7b3e478ee3de7151aad7"
|
|
16649
16649
|
}
|
|
16650
16650
|
],
|
|
16651
16651
|
"pages": [
|
|
16652
16652
|
{
|
|
16653
16653
|
"path": "ui_kits/website/careers.html",
|
|
16654
|
-
"sha256": "
|
|
16654
|
+
"sha256": "8cd1fdc601fd2a811dc4dccffd283874514fad4ce0e6b06bf41a9b918fb7cd75",
|
|
16655
16655
|
"declaredProps": [],
|
|
16656
16656
|
"componentImports": [],
|
|
16657
16657
|
"references": [
|
|
@@ -16736,7 +16736,7 @@
|
|
|
16736
16736
|
},
|
|
16737
16737
|
{
|
|
16738
16738
|
"path": "ui_kits/website/chat.html",
|
|
16739
|
-
"sha256": "
|
|
16739
|
+
"sha256": "99e55034cc8df4d7e36e368bb23b49fc9f428d0694d6bca2b5470a82a4a5bc26",
|
|
16740
16740
|
"declaredProps": [],
|
|
16741
16741
|
"componentImports": [],
|
|
16742
16742
|
"references": [
|
|
@@ -16864,7 +16864,7 @@
|
|
|
16864
16864
|
},
|
|
16865
16865
|
{
|
|
16866
16866
|
"path": "ui_kits/website/work.html",
|
|
16867
|
-
"sha256": "
|
|
16867
|
+
"sha256": "d67ff33970d1b737f9c8c61c186abe58deb0d359f6ec7b3e478ee3de7151aad7",
|
|
16868
16868
|
"declaredProps": [],
|
|
16869
16869
|
"componentImports": [],
|
|
16870
16870
|
"references": [
|
package/docs/vi/UPSTREAM.md
CHANGED
|
@@ -16,15 +16,12 @@ Trạng thái: **Đã hợp nhất vào `main` (`v2.5.0`–`v2.6.0`)**.
|
|
|
16
16
|
| `components/feedback/feedback.card.html` | `.frame { flex: 1 1 100%; min-width: 0 }` | Ngăn khung minh họa toast bị co về chiều rộng bằng 0 trong hàng flex. |
|
|
17
17
|
| `components/logo/logo.card.html` | Chữ thương hiệu trong cụm logo dùng `color: var(--cs-color-text-primary)`. | Đảm bảo chữ thương hiệu luôn nhìn thấy rõ ở chế độ tối. |
|
|
18
18
|
|
|
19
|
-
## 2 · Bộ công cụ kiểm chứng
|
|
19
|
+
## 2 · Bộ công cụ kiểm chứng tự động (`_audit/ci/`)
|
|
20
20
|
|
|
21
21
|
| Tệp | Mục đích |
|
|
22
22
|
|---|---|
|
|
23
|
-
| `
|
|
24
|
-
| `
|
|
25
|
-
| `audit/render-health.html` | Nạp toàn bộ 146 mẫu tài liệu, thẻ thành phần và trang UI-kit/hướng dẫn trong các khung ẩn (theo nguyên bản / ép tối / tương phản cao / bất kỳ phạm vi Ngũ Hành nào) và xác nhận không có trang mất kiểu, chưa phân giải, lỗi runtime, trống hoặc thiếu tương phản. |
|
|
26
|
-
| `audit/fixture.html`, `audit/verify.js`, `audit/v2.4.0-verification.html` | Bộ nạp ba phiên bản (`?v=current|v240|baseline`) chạy lại 64 phép kiểm tra cơ sở trên `v2.5.0`, `v2.4.0` và `v2.3.1`. |
|
|
27
|
-
| `audit/baseline-2.4.0/styles.flat.css`, `audit/baseline-2.3.1/styles.flat.css` | Các bản đóng gói phẳng `styles.css` từ tag `v2.4.0` và `v2.3.1` phục vụ đối chiếu trực tiếp ba phiên bản. |
|
|
23
|
+
| `_audit/ci/verify-audit-benchmarks-browser.mjs`, `_audit/ci/lib/benchmark-checks.mjs` | Cổng benchmark trình duyệt trực tiếp tự động cho CI/prepublish (`npm run test:audit-regression`): đạt **10.0 / 10** (`129/129` trên 20 chiều `D1`–`D20`), bộ kiểm tra cơ sở cốt lõi đạt **64/64** (`10.0 / 10`), 192/192 ô trong ma trận tương phản phi văn bản 32×6 (`≥ 3.0:1`), 3/3 màn hình phức hợp Generation-2 và **0 watch**. |
|
|
24
|
+
| `_audit/ci/fixtures/benchmark-20d.html`, `_audit/ci/fixtures/benchmark-baseline.html`, `_audit/ci/fixtures/benchmark-gen2.html` | Các mẫu thử DOM hiện hành kiểm chứng 32 phạm vi Theme × Element × Variant, 14 điều khiển biểu mẫu, khoảng thoáng dấu tiếng Việt, container query, quy tắc in ấn/kính và các màn hình doanh nghiệp/AI/di động đa phạm vi trực tiếp trên `/dist/styles.css` và `/styles.css`. |
|
|
28
25
|
|
|
29
26
|
## 3 · Các mục đặc thù môi trường chủ không đưa vào upstream
|
|
30
27
|
|
|
@@ -28,7 +28,7 @@ Checklist tự kiểm khi tiến hóa CyberSkill Design System — chuẩn bên
|
|
|
28
28
|
|
|
29
29
|
## Checklist mở rộng style (`data-cs-style`)
|
|
30
30
|
|
|
31
|
-
|
|
31
|
+
Các pack hiện hành: **liquid-glass** (mặc định; vắng ≡ mặc định) và **matte-paper** (`tokens/styles.css` + `base/glass.css`, gate `_audit/style-contract.html`). Khi thêm style pack mới:
|
|
32
32
|
|
|
33
33
|
1. Overlay token **tiêu thụ** 10 role `--cs-accent-*` sẵn có, gồm `--cs-accent-on-strong` (không invent pack Element song song).
|
|
34
34
|
2. Specimen card + Storybook / Atomic View nếu style chọn được ở sản phẩm.
|
|
@@ -4,7 +4,7 @@ Mục tiêu web được hỗ trợ là hai bản ổn định mới nhất củ
|
|
|
4
4
|
|
|
5
5
|
## Khả năng cần có
|
|
6
6
|
|
|
7
|
-
Hệ thống dùng `color-mix(in oklab, ...)`, container query inline-size, `:has()`, `text-wrap: balance` và `inert` gốc. Các tính năng này có trước mốc hỗ trợ đã chọn trong [dữ liệu tương thích MDN được ghim](https://github.com/mdn/browser-compat-data/tree/12bc0268c7fe89a4b23fab5c54702c1fb9c34f7a). Bản ghi nguồn ở `_audit/
|
|
7
|
+
Hệ thống dùng `color-mix(in oklab, ...)`, container query inline-size, `:has()`, `text-wrap: balance` và `inert` gốc. Các tính năng này có trước mốc hỗ trợ đã chọn trong [dữ liệu tương thích MDN được ghim](https://github.com/mdn/browser-compat-data/tree/12bc0268c7fe89a4b23fab5c54702c1fb9c34f7a). Bản ghi nguồn ở `_audit/ci/fixtures/browser-compatibility-source.json`. Không cam kết fallback trình duyệt cũ hay polyfill `inert`.
|
|
8
8
|
|
|
9
9
|
Với mốc hai bản ổn định mới nhất đã chọn, `inert` gốc có sẵn và không cần polyfill `inert`. Tính năng được bổ sung từ Chrome 102 ([ghi chú phát hành Chrome](https://developer.chrome.com/blog/new-in-chrome-102)), Firefox 112 ([ghi chú phát hành dành cho nhà phát triển Mozilla](https://developer.mozilla.org/en-US/docs/Mozilla/Firefox/Releases/112)) và Safari 15.5 trên macOS, iOS và iPadOS ([ghi chú phát hành WebKit](https://webkit.org/blog/12669/new-webkit-features-in-safari-15-5/)); [Tiêu chuẩn HTML](https://html.spec.whatwg.org/multipage/interaction.html#the-inert-attribute) quy định hành vi gốc. Đây là kết luận về khả năng có sẵn của tính năng trong mốc đã công bố, không phải chứng nhận từng bản trình duyệt thuộc mốc đó, hành vi focus trên thiết bị thật hay hành vi với công nghệ hỗ trợ. Mục tiêu cũ hơn nằm ngoài cam kết này và cần fallback được kiểm chứng riêng.
|
|
10
10
|
|
package/docs/vi/component-api.md
CHANGED
|
@@ -8,7 +8,7 @@ Việc loại bỏ hợp đồng công khai yêu cầu bản major **và đồng
|
|
|
8
8
|
|
|
9
9
|
Tệp nguồn `components/release-compatibility.json` ghi phiên bản cơ sở trước ứng viên, phân loại thay đổi đang chờ đã được rà soát, thông báo có ngày và bằng chứng phát hành. Các bước lập kế hoạch, xác minh ứng viên và xác minh tag thực thi quy tắc này cùng cổng duyệt hỗ trợ và định danh nguồn chính xác hiện có. Các thay đổi đã được chấp thuận về điểm vào mặc định đã biên dịch, bàn phím Menu theo APG và vị trí mặc định của floating panel được phân loại là breaking cho bản sửa đổi chưa phát hành; chuẩn bị bản vá/minor bị chặn. Điều này không gán định danh phát hành mới, duyệt bằng chứng hỗ trợ, tạo tag hay cho phép công bố. Trước chu kỳ sau, đối chiếu phiên bản cơ sở và các mục đang chờ với lần công bố thực tế đã được chấp nhận; không tự xóa lịch sử thông báo.
|
|
10
10
|
|
|
11
|
-
SegmentedControl giữ các alias ngữ nghĩa đã deprecated `role="tablist"` và `role="radiogroup"`. Khi bỏ qua `mode`, alias chọn phần tử con tab hoặc radio tương ứng; `mode` tường minh được ưu tiên và mặc định vẫn là radio. Giá trị role khác bị từ chối thay vì tạo ngữ nghĩa ARIA mâu thuẫn. Ưu tiên `mode="tabs"` hoặc `mode="radio"`. Đề xuất loại bỏ trước đây được lưu trong `_audit/
|
|
11
|
+
SegmentedControl giữ các alias ngữ nghĩa đã deprecated `role="tablist"` và `role="radiogroup"`. Khi bỏ qua `mode`, alias chọn phần tử con tab hoặc radio tương ứng; `mode` tường minh được ưu tiên và mặc định vẫn là radio. Giá trị role khác bị từ chối thay vì tạo ngữ nghĩa ARIA mâu thuẫn. Ưu tiên `mode="tabs"` hoặc `mode="radio"`. Đề xuất loại bỏ trước đây được lưu trong `_audit/ci/fixtures/segmented-role-removal-proposal-history.json`; đây không còn là thay đổi loại bỏ hiện tại. Việc từ chối role tùy ý vẫn được phân loại là breaking. Các trường thông báo tiếp tục bằng null: hướng dẫn cục bộ này không xác lập rằng đã công bố thông báo, ngày hay phiên bản. Mọi lần loại bỏ trong tương lai vẫn cần bản major sau hai bản minor riêng biệt đã được phát hành và 90 ngày thông báo được ghi nhận, cùng tất cả cổng phát hành khác.
|
|
12
12
|
|
|
13
13
|
Các dòng React được khai báo hỗ trợ hiện tại là 18.x và 19.x; fixture tiêu thụ gói và hydration kiểm tra các phiên bản đã ghim. Đây là phạm vi hỗ trợ theo major, không chứng minh mọi bản vá lịch sử hoặc cam kết cho major React chưa phát hành. Loại bỏ một dòng đã khai báo tuân theo cùng chính sách major và thời gian ngừng hỗ trợ. Major React mới phải được kiểm tra tương thích trước khi mở rộng peer range. Trình duyệt tiếp tục theo chính sách hai bản ổn định mới nhất trong hướng dẫn hỗ trợ trình duyệt; bằng chứng engine và thiết bị thực được báo cáo riêng.
|
|
14
14
|
|
package/docs/vi/consuming.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Tiêu thụ & nâng cấp CyberSkill Design System
|
|
2
2
|
|
|
3
|
-
**Checkout nguồn:** VERSION **<!-- cs-source-version:checkout -->2.
|
|
3
|
+
**Checkout nguồn:** VERSION **<!-- cs-source-version:checkout -->2.9.0<!-- /cs-source-version -->** là định danh nguồn cục bộ, không xác nhận phiên bản có trên registry. Với bản ứng viên chưa công bố, kiểm chứng tarball gói cục bộ hoặc checkout nguồn đã rà soát. Lệnh registry bên dưới chỉ bản ổn định 2.8.0 đã công bố (và inventory sibling ADOPT-001 ghi ngày tại 1.7.2), không tự đổi khi chuẩn bị bản phát hành. Chuẩn bị không cấp quyền công bố.
|
|
4
4
|
|
|
5
5
|
Cách mọi project — do người hoặc agent điều khiển — áp dụng design system HTML-first này, và cách nhận update an toàn. Xuất bản trên Storybook **Docs** tại `design.cyberskill.world`.
|
|
6
6
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Báo cáo contrast — cặp elemental (APCA)
|
|
2
2
|
|
|
3
|
-
Tạo · quét tại VERSION 2.
|
|
3
|
+
Tạo · quét tại VERSION 2.9.0.
|
|
4
4
|
|
|
5
5
|
Xuất bản trên Storybook **Docs** tại `design.cyberskill.world`.
|
|
6
6
|
|
|
@@ -104,10 +104,10 @@ Các dòng dùng màu `--cs-color-link` đã khai báo cho light hoặc dark. N
|
|
|
104
104
|
| tho · sand | liên kết trên tint (chữ thân) | #695300 / #FEF8E7 | 6.98:1 | ✓ |
|
|
105
105
|
| tho · sand | liên kết trên nền kem nâng tham chiếu (chữ thân) | #695300 / #FBF4E9 | 6.77:1 | ✓ |
|
|
106
106
|
| tho · sand | liên kết trên panel tối tham chiếu (chữ thân) | #F9E5AE / #221710 | 14.06:1 | ✓ |
|
|
107
|
-
| tho | liên kết trên trắng (chữ thân) | #
|
|
108
|
-
| tho | liên kết trên trang tham chiếu (chữ thân) | #
|
|
109
|
-
| tho | liên kết trên tint (chữ thân) | #
|
|
110
|
-
| tho | liên kết trên nền kem nâng tham chiếu (chữ thân) | #
|
|
107
|
+
| tho | liên kết trên trắng (chữ thân) | #744000 / #FFFFFF | 8.48:1 | ✓ |
|
|
108
|
+
| tho | liên kết trên trang tham chiếu (chữ thân) | #744000 / #FFFDF8 | 8.34:1 | ✓ |
|
|
109
|
+
| tho | liên kết trên tint (chữ thân) | #744000 / #FBF4E9 | 7.76:1 | ✓ |
|
|
110
|
+
| tho | liên kết trên nền kem nâng tham chiếu (chữ thân) | #744000 / #FBF4E9 | 7.76:1 | ✓ |
|
|
111
111
|
| tho | liên kết trên panel tối tham chiếu (chữ thân) | #FFD57A / #221710 | 12.56:1 | ✓ |
|
|
112
112
|
| tho · clay | liên kết trên trắng (chữ thân) | #462402 / #FFFFFF | 13.87:1 | ✓ |
|
|
113
113
|
| tho · clay | liên kết trên trang tham chiếu (chữ thân) | #462402 / #FFFDF8 | 13.65:1 | ✓ |
|
|
@@ -184,8 +184,8 @@ Ghép `--cs-accent-strong` với `--cs-accent-on-strong`: cả pack light và da
|
|
|
184
184
|
|---|---|---|---|---|
|
|
185
185
|
| tho · sand | sáng | #FFFFFF / #856A03 | 80.8 | ✓ |
|
|
186
186
|
| tho · sand | tối | #FFFFFF / #80671A | 82.2 | ✓ |
|
|
187
|
-
| tho | sáng | #FFFFFF / #
|
|
188
|
-
| tho | tối | #FFFFFF / #
|
|
187
|
+
| tho | sáng | #FFFFFF / #A4631E | 78.4 | ✓ |
|
|
188
|
+
| tho | tối | #FFFFFF / #7D480C | 90.5 | ✓ |
|
|
189
189
|
| tho · clay | sáng | #FFFFFF / #5A3004 | 99.5 | ✓ |
|
|
190
190
|
| tho · clay | tối | #FFFFFF / #5C3001 | 99.3 | ✓ |
|
|
191
191
|
| hoa · plasma | sáng | #FFFFFF / #896163 | 81.7 | ✓ |
|
|
@@ -221,7 +221,7 @@ Các ngưỡng đề xuất trong `_audit/apca-dark-preview.html`: bright ≥ 75
|
|
|
221
221
|
| Pack | bright | accent | on | ink |
|
|
222
222
|
|---|---|---|---|---|
|
|
223
223
|
| tho · sand | 90.5 | 76.1 | 82.2 | 87.4 |
|
|
224
|
-
| tho | 81.9 | 64.7 | 90.
|
|
224
|
+
| tho | 81.9 | 64.7 | 90.5 | 81 |
|
|
225
225
|
| tho · clay | 77.1 | 60.6 | 99.3 | 79.4 |
|
|
226
226
|
| hoa · plasma | 89.4 | 75.1 | 82.8 | 86.4 |
|
|
227
227
|
| hoa | 81.2 | 63.2 | 90.9 | 80.3 |
|
package/docs/vi/conventions.md
CHANGED
|
@@ -13,10 +13,10 @@ Mọi bề mặt render resolve bốn scope trực giao — không bao giờ mã
|
|
|
13
13
|
|---|---|---|---|
|
|
14
14
|
| **Theme** | `data-theme="dark\|system"` | light / dark / system (OS) | `tokens/colors.css` |
|
|
15
15
|
| **Element** (Ngũ Hành) | `data-cs-element` + `data-cs-variant` | bản sắc hue theo sản phẩm | `tokens/elements.css` |
|
|
16
|
-
| **Language** | `lang` / Language tweak | EN · VI
|
|
17
|
-
| **Style** | `data-cs-style` (tuỳ chọn; vắng ≡ `liquid-glass`) | pack vật liệu bề mặt | `tokens/styles.css` |
|
|
16
|
+
| **Language** | `lang` / Language tweak | EN · VI (`vi` mặc định trên bề mặt UI; spike `ja` nội bộ) | registry component + props template — xem `docs/decisions/locale-architecture.md` |
|
|
17
|
+
| **Style** | `data-cs-style` (tuỳ chọn; vắng ≡ `liquid-glass`) | pack vật liệu bề mặt (`liquid-glass` · `matte-paper`) | `tokens/styles.css` + `base/glass.css` |
|
|
18
18
|
|
|
19
|
-
|
|
19
|
+
Trục Style có hai pack: **liquid-glass** (mặc định) và **matte-paper** (bề mặt giấy mờ đặc sắc nét). Bất biến dưới mọi trục: anchors Umber/Ochre, voice, họ chữ, màu semantic status, chỉ báo focus ghép (contour text-primary + halo ochre), sàn APCA, target ≥44px.
|
|
20
20
|
|
|
21
21
|
## Ngữ pháp đặt tên
|
|
22
22
|
|
|
@@ -79,13 +79,13 @@ phần tử HTML, không dùng trong URL, thuộc tính, CSS hay script.
|
|
|
79
79
|
|
|
80
80
|
**Element variant mới** — ở trong envelope oklch của element; đặt 10 token hợp đồng `--cs-accent-*` (gồm `--cs-accent-on-strong` ≥4.5:1 và APCA75 cho nội dung thường trên `-strong`) cộng `--cs-color-text-accent`/`--cs-color-link` (APCA-check cả hai); aurora wash kế thừa từ element qua `.cs-aurora-wash` (chỉ override class rule nếu variant thật sự cần ảnh riêng); đối tác gradient (`grad-b`) phải theo Tương sinh.
|
|
81
81
|
|
|
82
|
-
**Ship check** — theo gate kiểm chứng portable trong `docs/doctrine.md`, rồi chạy `_audit/docs-consistency.html` **và** `_audit/namespace-portability.html` (cả hai phải xanh). VERSION của checkout nguồn **<!-- cs-source-version:checkout -->2.
|
|
82
|
+
**Ship check** — theo gate kiểm chứng portable trong `docs/doctrine.md`, rồi chạy `_audit/docs-consistency.html` **và** `_audit/namespace-portability.html` (cả hai phải xanh). VERSION của checkout nguồn **<!-- cs-source-version:checkout -->2.9.0<!-- /cs-source-version -->**.
|
|
83
83
|
|
|
84
84
|
## Decision log (owner duyệt)
|
|
85
85
|
|
|
86
86
|
- Element thay thế hoàn toàn Ochre trong scope sản phẩm; cạnh hot-pink của plasma được duyệt (Th7 2026).
|
|
87
87
|
|
|
88
|
-
- Trục: Theme × Element × Language × Style. Pack Style liquid-glass (
|
|
88
|
+
- Trục: Theme × Element × Language × Style. Pack Style gồm `liquid-glass` (mặc định; vắng ≡ mặc định) và `matte-paper`.
|
|
89
89
|
|
|
90
90
|
- Product registry **đã khóa** (Th7 2026) — tám ánh xạ portfolio trong `docs/products.md`; không invent ánh xạ product → element mới.
|
|
91
91
|
|
package/docs/vi/decisions.md
CHANGED
|
@@ -15,7 +15,7 @@ Các mục có số bên dưới giữ quyết định có ngày và ID trích d
|
|
|
15
15
|
| Phạm vi phiên bản bảo mật và mục tiêu xác nhận | `SECURITY.md` |
|
|
16
16
|
| Chấp nhận hỗ trợ và phê duyệt được lưu | `components/lifecycle.json`, `docs/vi/conventions.md` |
|
|
17
17
|
| Chuẩn bị phát hành và ủy quyền riêng | `docs/vi/release-notes.md`, `.github/workflows/release.yml` |
|
|
18
|
-
| Kiểm tra và disposition hiện tại | `_audit/
|
|
18
|
+
| Kiểm tra và disposition hiện tại | `_audit/ci/unit-suites.json`, `test-results/final-validation.json` |
|
|
19
19
|
|
|
20
20
|
Release notes đã phát hành vẫn là hồ sơ lịch sử. Build cục bộ, candidate đã chuẩn bị, hồ sơ hỗ trợ đã duyệt và bản phát hành công khai là các trạng thái riêng biệt.
|
|
21
21
|
|
|
@@ -104,7 +104,7 @@ Theo dõi vận hành — không phải marketing sản phẩm, không phải ba
|
|
|
104
104
|
|
|
105
105
|
7. **Hình học màu Element** (Th7 2026; thanh palette owner Th7 2026) — **30** bộ mặc định (5 × soft/middle/deep × light/dark) từ `tokens/element-seeds.json` (`npm run tokens:elements`): soft = pastel wash, middle = mặc định đồng bộ cường độ (Thổ middle ghim ochre logo), deep = anh em tối hơn rõ trong cùng họ hue; role hài hòa; khóa hue light↔dark; sàn APCA dark. Gate geometry yêu cầu cả minΔE và minΔL cộng L đơn điệu. Tên variant công khai không đổi. Hard gate: `_audit/element-geometry.html`. Rubric: `docs/benchmark-rubric.md`.
|
|
106
106
|
|
|
107
|
-
8. **Trục Style (`data-cs-style`)** (Th7 2026) — Trục sản phẩm thứ tư;
|
|
107
|
+
8. **Trục Style (`data-cs-style`)** (Th7 2026; mở rộng Th11 2026) — Trục sản phẩm thứ tư; hai pack hiện hành **liquid-glass** (mặc định; vắng ≡ liquid-glass) và **matte-paper** (bề mặt giấy mờ đặc sắc nét, không làm mờ nền, dành cho không gian biên tập/dày dữ liệu). Hợp đồng: `tokens/styles.css` + `base/glass.css` + hard gate `_audit/style-contract.html`. Pack Style tương lai chỉ mở rộng qua owner + checklist Expansion Rule trong `docs/benchmark-rubric.md` (không invent pack tùy tiện).
|
|
108
108
|
|
|
109
109
|
9. **Identity Lab đã gỡ** (Th7 2026) — Lựa chọn owner: xóa `ui_kits/status-hub/identity-lab.html` và mọi tham chiếu product/docs/Storybook. Demo trục nằm ở Storybook toolbar Theme × Element × Language × Style, Atomic View, và specimen Elements Geometry. Các trục Theme × Element × Language × Style **vẫn là** hạ tầng sản phẩm (template, token, kit trung thành Thổ). Không hồi sinh Lab dưới tên khác nếu chưa có quyết định mới.
|
|
110
110
|
|
|
@@ -130,7 +130,7 @@ Quy tắc:
|
|
|
130
130
|
|
|
131
131
|
Bản ghi chuẩn: [`docs/decisions/locale-architecture.md`](../decisions/locale-architecture.md) (EN).
|
|
132
132
|
|
|
133
|
-
- Language vẫn là trục sản phẩm (Theme × Element × Language × Style).
|
|
133
|
+
- Language vẫn là trục sản phẩm (Theme × Element × Language × Style). Trên bề mặt UI chỉ hiển thị `vi` · `en` (`vi` mặc định); `ja` giữ làm spike fallback BCP-47 nội bộ cho Pagination, không đưa lên thanh công cụ UI.
|
|
134
134
|
- Registry giữ cặp EN·VI bắt buộc; bảng spike tùy chọn phải khớp key `en` khi có.
|
|
135
135
|
- Mặc định tiếng Việt trước không đổi (`lang` trống → `vi`). Plural/ICU và biến thể vùng là follow-on.
|
|
136
136
|
|
package/docs/vi/deploy.md
CHANGED
|
@@ -5,7 +5,7 @@ Xuất bản trên Storybook **Docs** tại `design.cyberskill.world`.
|
|
|
5
5
|
Hai track:
|
|
6
6
|
|
|
7
7
|
1. **Design system portable (consumers)** — consumer HTML có thể link `styles.css` đã review và `_ds_bundle.js` tùy chọn, hoặc dùng entry legacy cho trình duyệt `_esm/cs.mjs`, mà không cần bundler. Import npm mặc định (`dist/esm/_esm/react.mjs`) là ESM đã biên dịch với React peer; app React cần bộ phân giải module tương thích. JSX nguồn vẫn có qua export nguồn tường minh. Storybook là công cụ của host. Payload npm portable theo `package.json` → `files`; hosting public dùng allowlist đã review trong `scripts/public-site-policy.json`.
|
|
8
|
-
2. **Host site (`design.cyberskill.world`)** — output tĩnh đóng gói cho
|
|
8
|
+
2. **Host site (`design.cyberskill.world`)** — output tĩnh đóng gói cho GitHub Pages (`.github/workflows/pages.yml` xuất bản `.vercel-static/` kèm `.nojekyll` và `CNAME`) hoặc mọi static host. Packaging **có** chạy Node một lần lúc deploy để Storybook ship làm bề mặt sản phẩm tại `/`. Vẫn không có app server chạy dài.
|
|
9
9
|
|
|
10
10
|
Production **`/`** là build tĩnh Storybook. Legacy `/dashboard`, `/dashboard/`, `/dashboard.html`, `/dashboard/:path*`, `/playground`, `/playground/`, và `/playground/:path*` redirect về `/`.
|
|
11
11
|
|
|
@@ -48,7 +48,7 @@ Nếu host dưới **domain khác**, đổi absolute URL trong các meta tag cho
|
|
|
48
48
|
|
|
49
49
|
**Không Storybook:** sau review nguồn gốc và phê duyệt triển khai rõ ràng, serve danh sách portable đã duyệt làm webroot.
|
|
50
50
|
|
|
51
|
-
**Có Storybook tại `/`:** `npm run build:site` ghi mirror portable vào `.vercel-static/` và artifact triển khai Vercel vào `.vercel/output/`. Vercel dùng `config.json` của artifact sau; không giữ override Output Directory cũ và không sửa `vercel.json` trong lúc build để dự đoán hash chưa tồn tại.
|
|
51
|
+
**Có Storybook tại `/`:** `npm run build:site` ghi mirror portable vào `.vercel-static/` (kèm `.nojekyll` và `CNAME` để triển khai lên GitHub Pages qua `.github/workflows/pages.yml`) và artifact triển khai Vercel vào `.vercel/output/`. Vercel dùng `config.json` của artifact sau; không giữ override Output Directory cũ và không sửa `vercel.json` trong lúc build để dự đoán hash chưa tồn tại.
|
|
52
52
|
|
|
53
53
|
Host tĩnh khác cần adapter ánh xạ từng path HTML cuối cùng và alias tới CSP trong `public-site-csp.json`, giữ security header/redirect tại `scripts/site-deployment-policy.json`, và cấm inline script trên path không biết. Hash phải lấy từ byte cuối cùng, gồm wrapper logic template xác định. Một chuỗi CSP chép tay không thể đại diện quyền riêng của từng trang.
|
|
54
54
|
|
package/docs/vi/design-styles.md
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
# Phong cách thiết kế
|
|
2
2
|
|
|
3
|
-
Các trục styling sống là **Theme × Element × Language × Style**.
|
|
3
|
+
Các trục styling sống là **Theme × Element × Language × Style**. Trục Style có hai pack vật liệu bề mặt: **liquid-glass** (mặc định; khi không có attribute style, pack này được dùng) và **matte-paper** (bề mặt giấy mờ đặc sắc nét, không làm mờ nền). Phần tử con không có attribute kế thừa phạm vi theme và element gần nhất; root trung tính mặc định sáng với các màu neo thương hiệu studio. Xuất bản trên Storybook **Docs** tại `design.cyberskill.world`.
|
|
4
4
|
|
|
5
5
|
| Trục | Cách đặt | Thay đổi gì |
|
|
6
6
|
|---|---|---|
|
|
7
7
|
| **Theme** | `data-theme="light"`, `"dark"` hoặc `"system"`; khi không có attribute, kế thừa phạm vi gần nhất (root trung tính mặc định sáng) | màu semantic sáng/tối (trục UI sản phẩm). Light tường minh đặt lại phạm vi dưới tổ tiên dark. System theo tuỳ chọn sáng/tối của OS qua `prefers-color-scheme`; Storybook toolbar và Atomic View có cả ba giá trị |
|
|
8
8
|
| **Element** | `data-cs-element` + tùy chọn `data-cs-variant` | bản sắc sản phẩm Ngũ Hành (**15 pack** = 5 element × soft/middle/deep) |
|
|
9
|
-
| **Language** | `lang` / Language tweak | nội dung dựng sẵn EN · VI
|
|
10
|
-
| **Style** | `data-cs-style` (tuỳ chọn; vắng ≡ `liquid-glass`) | Pack vật liệu bề mặt
|
|
9
|
+
| **Language** | `lang` / Language tweak | nội dung dựng sẵn EN · VI (`vi` mặc định trên các bề mặt UI); `ja` chỉ là thử nghiệm i18n nội bộ cho Pagination, không phải tùy chọn trên thanh công cụ UI |
|
|
10
|
+
| **Style** | `data-cs-style` (tuỳ chọn; vắng ≡ `liquid-glass`) | Pack vật liệu bề mặt: **liquid-glass** (kính mờ quang học mặc định) · **matte-paper** (bề mặt giấy mờ đặc sắc nét, `tokens/styles.css` + `base/glass.css`) |
|
|
11
11
|
|
|
12
12
|
## Hợp đồng màu Element
|
|
13
13
|
|
|
@@ -24,11 +24,12 @@ Nguồn sự thật: [`tokens/element-seeds.json`](../../tokens/element-seeds.js
|
|
|
24
24
|
| **Không bao giờ remap** | Chỉ báo focus tổ hợp (viền text-primary + hào quang ochre) · màu semantic status |
|
|
25
25
|
| **Gate hình học** | [`_audit/element-geometry.html`](../../_audit/element-geometry.html) — sync cường độ · tách variant · khóa hue |
|
|
26
26
|
|
|
27
|
-
##
|
|
27
|
+
## Các pack Style — liquid-glass & matte-paper
|
|
28
28
|
|
|
29
|
-
-
|
|
29
|
+
- **liquid-glass** (`cs-surface-*`, mặc định khi vắng `data-cs-style`) là ngôn ngữ bề mặt kính mờ quang học.
|
|
30
|
+
- **matte-paper** (`data-cs-style="matte-paper"`) tắt làm mờ nền, chuyển `.cs-surface-*` và `.cs-card` / `.cs-dialog` / `.cs-drawer` / `.cs-popover__panel` / `.cs-menu__list` sang nền đặc `--cs-color-surface-panel` / `--cs-color-surface-raised` với viền liền `1px` `--cs-color-border-default` và độ nổi phẳng (`--cs-shadow-xs`), phù hợp cho trình soạn thảo pháp lý/biên tập, bảng ERP dày dữ liệu và War-Room; phạm vi con `[data-cs-style="liquid-glass"]` khôi phục hiệu ứng kính mờ.
|
|
30
31
|
- Radius, shadow và token kính đến từ `tokens/elevation.css` + `base/glass.css`; hợp đồng trục Style nằm ở [`tokens/styles.css`](../../tokens/styles.css).
|
|
31
|
-
- Gate: [`_audit/style-contract.html`](../../_audit/style-contract.html) — allowlist
|
|
32
|
+
- Gate: [`_audit/style-contract.html`](../../_audit/style-contract.html) — allowlist `liquid-glass` và `matte-paper`.
|
|
32
33
|
- Từ chối theo doctrine: hue neon/cyberpunk lạnh, memphis vui nhộn, skeuomorphism đầy đủ, emoji trong chrome UI.
|
|
33
34
|
- Họ chữ cố định và có tên token: Be Vietnam Pro (UI) · Space Grotesk (`--cs-font-family-display`, mặt chữ tiêu đề opt-in) · JetBrains Mono (code). Mặt chữ display là **role một scope có thể chọn dùng** qua `.cs-display-face`, không phải trục sản phẩm.
|
|
34
35
|
|
|
@@ -40,7 +41,7 @@ Nguồn sự thật: [`tokens/element-seeds.json`](../../tokens/element-seeds.js
|
|
|
40
41
|
3. Pattern đã ghi trong `docs/conventions.md` + specimen card khi pattern cần tái sử dụng.
|
|
41
42
|
4. Pack **`data-cs-style`** mới chỉ sau Expansion Rule — xem checklist trong [`docs/vi/benchmark-rubric.md`](benchmark-rubric.md). Style tiêu thụ cùng 10 role accent (gồm `on-strong`); không invent pack Element song song.
|
|
42
43
|
|
|
43
|
-
Không invent trục sản phẩm thứ năm, và không thêm Style pack
|
|
44
|
+
Không invent trục sản phẩm thứ năm, và không thêm Style pack chưa rà soát khi chưa đủ checklist Expansion Rule.
|
|
44
45
|
|
|
45
46
|
## Công tắc theme nội bộ
|
|
46
47
|
|
|
@@ -53,7 +54,7 @@ Bảo trì generator nguồn rồi chạy `npm run tokens:generate` và `npm run
|
|
|
53
54
|
|
|
54
55
|
## Mật độ và vai trò khoảng cách công khai
|
|
55
56
|
|
|
56
|
-
`data-cs-density="compact"`
|
|
57
|
+
`data-cs-density="compact"` thu gọn Button, chỉ số `.cs-field__control` dùng chung (TextField, Textarea, Select, NativeSelect, Mentions), và nhịp điệu khung chứa của `.cs-card`, `.cs-table`, `.cs-dialog`, `.cs-field`, `.cs-review-gate`, `.cs-alert`, `.cs-toast`, `.cs-tag`, `.cs-tab`, `.cs-menu`, `.cs-stat` và `.cs-divider` (có đặt lại cho `[data-cs-density="comfortable"]` lồng bên trong). Mức tối thiểu `>= 44px` của vùng bấm cho con trỏ thô vẫn được giữ nghiêm ngặt. `data-cs-contrast="high"` (và `prefers-contrast: more`) tăng cường tương phản cho token chữ/viền cùng các ô nhập biểu mẫu, viền tấm kính và đường kẻ ô bảng/datagrid.
|
|
57
58
|
|
|
58
59
|
Chỉ thay giá trị trực tiếp bằng token khoảng cách khi chúng biểu đạt cùng một vai trò bố cục. Các sửa đổi hiện tại xác minh hình học không đổi và tác động thực tế khi thay token cho control và bố cục collection. Độ dày viền, cỡ chữ, hình học cố định và vùng bấm không tự động là ứng viên cho token khoảng cách. Vì vậy, thống kê `px` đo số giá trị, không đo số lỗi.
|
|
59
60
|
|
package/docs/vi/doctrine.md
CHANGED
|
@@ -42,7 +42,7 @@ Kiểm sâu, không điểm danh bề mặt. Phủ **cả tập và mọi trạn
|
|
|
42
42
|
| Ngôn ngữ | Việt Nam trước; mọi chuỗi UI gửi cặp EN + VN |
|
|
43
43
|
| Sàn a11y | APCA Lc ≥ 75 chữ thân; không bao giờ gỡ focus ring; mục tiêu chạm ≥ 44px |
|
|
44
44
|
| Trục | Theme × Element × Language × Style (độc lập) |
|
|
45
|
-
| Gói Style | liquid-glass (
|
|
45
|
+
| Gói Style | liquid-glass (mặc định; vắng ≡ mặc định) · matte-paper |
|
|
46
46
|
|
|
47
47
|
Một accent mỗi bề mặt. Trạng thái ngữ nghĩa và chỉ báo focus tổ hợp (viền text-primary + hào quang ochre) không bao giờ elemental. Lumi luôn vàng trong mọi element.
|
|
48
48
|
|