@cyberskill/design 2.8.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 +7 -7
- package/README.md +14 -8
- package/SECURITY.md +4 -4
- package/SKILL.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 -3
- package/base/components.css +107 -20
- package/base/controls.css +55 -27
- 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 +385 -86
- package/dist/styles.min.css +1 -1
- package/docs/benchmark-rubric.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 +2 -2
- package/docs/deploy.md +1 -1
- 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 +52 -52
- package/docs/release-notes.md +18 -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/benchmark-rubric.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 +2 -2
- package/docs/vi/deploy.md +1 -1
- 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 +7 -7
- package/docs/vi/entrypoints/README.md +14 -8
- 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 +18 -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 +1 -1
- package/styles/components/manifest.json +179 -139
- 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/DESIGN.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: "CyberSkill Design System"
|
|
3
|
-
version: "2.
|
|
3
|
+
version: "2.9.0"
|
|
4
4
|
generated: "2026-07-23"
|
|
5
5
|
generator: "scripts/generate-design-md.mjs (npm run build:design-md)"
|
|
6
6
|
sources:
|
|
@@ -21,7 +21,7 @@ gate: "_audit/design-md-parity.html (window.__designmd)"
|
|
|
21
21
|
|
|
22
22
|
- **Slogan:** *Turn Your Will Into Real — Hiện Thực Hoá Ý Chí*.
|
|
23
23
|
- **Immutable anchors:** Umber `#45210E` (primary brand) · Ochre `#F4BA17` (accent). Never remap; the composite focus indicator (text-primary contour + ochre halo) is a studio-wide accessibility signature.
|
|
24
|
-
- **Four axes:** Theme (light · dark · system) × Element (Ngũ Hành — Kim · Mộc · Thủy · Hỏa · Thổ, 15 element×variant packs) × Language (EN · VI) × Style (`data-cs-style` —
|
|
24
|
+
- **Four axes:** Theme (light · dark · system) × Element (Ngũ Hành — Kim · Mộc · Thủy · Hỏa · Thổ, 15 element×variant packs) × Language (EN · VI) × Style (`data-cs-style` — **liquid-glass** default, absent ≡ default · **matte-paper** opaque crisp paper surfaces).
|
|
25
25
|
- **Language scope:** Vietnamese-first; registered component strings require EN + VI pairs. Template language capabilities are declared per template, and consumer-provided content needs its own translation and review. Preserve diacritics; declared pairs do not certify translation quality or screen-reader pronunciation.
|
|
26
26
|
- **Text never sits on the mid-tone `-accent`:** use `-bright` or `-tint`, or pair a `-strong` fill with `--cs-accent-on-strong` for body text. `-accent` is for bars, borders, progress fills, and large non-text fills.
|
|
27
27
|
- **Accessibility floor:** APCA Lc ≥ 75 body text · ≥ 44px touch targets · focus rings never removed · honour `prefers-reduced-motion` / `prefers-contrast`.
|
|
@@ -45,7 +45,7 @@ Core semantic colours. Dark values are the `[data-theme="dark"]` overrides (the
|
|
|
45
45
|
| `--cs-color-text-primary` | `#45210E` | `#f5ead9` |
|
|
46
46
|
| `--cs-color-text-inverse` | `#FFFFFF` | `#1a1108` |
|
|
47
47
|
| `--cs-color-text-accent` | `#6E3B0E` | `#FECD5D` |
|
|
48
|
-
| `--cs-color-text-muted` | `#
|
|
48
|
+
| `--cs-color-text-muted` | `#5E4436` | `#E9D6C2` |
|
|
49
49
|
| `--cs-color-semantic-success` | `#166534` | `#4ADE80` |
|
|
50
50
|
| `--cs-color-semantic-danger` | `#B42318` | `#FC9895` |
|
|
51
51
|
| `--cs-color-semantic-warning` | `#92400E` | `#FBBF24` |
|
|
@@ -76,7 +76,7 @@ Default accent pack = Thổ (the studio's own element). All 15 element×variant
|
|
|
76
76
|
| Token | Value |
|
|
77
77
|
|---|---|
|
|
78
78
|
| `--cs-accent` | `#F4BA17` |
|
|
79
|
-
| `--cs-accent-strong` | `#
|
|
79
|
+
| `--cs-accent-strong` | `#A4631E` |
|
|
80
80
|
| `--cs-accent-bright` | `#F4BA17` |
|
|
81
81
|
| `--cs-accent-on` | `#45210E` |
|
|
82
82
|
| `--cs-accent-tint` | `#FBF4E9` |
|
|
@@ -297,9 +297,9 @@ Shadow values are the raw CSS box-shadow strings from `$extensions["com.cyberski
|
|
|
297
297
|
|---|---|---|
|
|
298
298
|
| `--cs-shadow-xs` | `0 1px 2px rgba(69, 33, 14, 0.06)` | `0 1px 2px rgba(0, 0, 0, 0.40)` |
|
|
299
299
|
| `--cs-shadow-sm` | `0 1px 3px rgba(69, 33, 14, 0.04), 0 8px 24px rgba(69, 33, 14, 0.06)` | `0 1px 3px rgba(0, 0, 0, 0.34), 0 8px 24px rgba(0, 0, 0, 0.42)` |
|
|
300
|
-
| `--cs-shadow-md` | `0 12px 30px rgba(
|
|
300
|
+
| `--cs-shadow-md` | `0 12px 30px rgba(69, 33, 14, 0.14)` | `0 12px 30px rgba(0, 0, 0, 0.50)` |
|
|
301
301
|
| `--cs-shadow-lg` | `0 20px 60px rgba(69, 33, 14, 0.18)` | `0 20px 60px rgba(0, 0, 0, 0.55)` |
|
|
302
|
-
| `--cs-shadow-xl` | `0 24px 80px rgba(
|
|
302
|
+
| `--cs-shadow-xl` | `0 24px 80px rgba(69, 33, 14, 0.24)` | `0 24px 80px rgba(0, 0, 0, 0.62)` |
|
|
303
303
|
|
|
304
304
|
### Depth scale & Liquid Glass materials
|
|
305
305
|
|
|
@@ -432,7 +432,7 @@ Layouts compose on a `4px` spatial rhythm (`--cs-space-1` to `--cs-space-24`) wi
|
|
|
432
432
|
|
|
433
433
|
## Agent prompt guide & starter blueprint
|
|
434
434
|
|
|
435
|
-
- **Root attributes (`<html>`):** set `lang="vi"` (or `lang="en"`), `data-theme="light"` (`"dark"` | `"system"`), optional `data-cs-element="tho"` (`"
|
|
435
|
+
- **Root attributes (`<html>`):** set `lang="vi"` (or `lang="en"`), `data-theme="light"` (`"dark"` | `"system"`), optional `data-cs-element="tho"` with its exact `data-cs-variant` (`tho` `#45210E`/`#F4BA17`: default/absent, `"sand"`, `"clay"`, alias `"studio"`/`"ochre"`; `hoa` `#992515`/`#F26C4F`: default/absent, `"plasma"`, `"lava"`, alias `"ember"`; `thuy` `#0D5A8A`/`#58B4E8`: default/absent, `"mist"`, `"ocean"`, alias `"river"`; `moc` `#1F5C3A`/`#62C389`: default/absent, `"bamboo"`, `"forest"`, alias `"jade"`/`"leaf"`; `kim` `#374151`/`#D6DCE5`: default/absent, `"titanium"`, `"steel"`, alias `"gold"`/`"champagne"`/`"silver"`), optional `data-cs-style="liquid-glass"` (`"matte-paper"` for zero-blur opaque editorial/dense surfaces), optional `data-cs-density="comfortable"` (`"compact"`), and optional `data-cs-contrast="standard"` (`"high"`). Component-name CSS hook aliases (`.cs-review-gate` / `.cs-human-review-gate`, `.cs-otp` / `.cs-input-otp`, `.cs-select` / `.cs-select__trigger`, and `.cs-datagrid tr.is-selected` / `tr.cs-item.is-selected`) and legal document primitives (`.cs-doc-sheet`, `.cs-doc-motto`, `.cs-doc-section-bar`, `.cs-doc-blank`, `.cs-doc-field`) are styled natively.
|
|
436
436
|
- **Runtime selection:** load `styles.css` (or `styles.layered.css`) for static `.cs-*` HTML; import `@cyberskill/design` (`dist/esm/_esm/react.mjs`) for compiled React ESM or `@cyberskill/design/source` (`_esm/react.mjs`) for raw JSX; use `templates/_vendor/support.js` only when previewing `.dc.html` documents.
|
|
437
437
|
- **Prompting checklist for AI generators:** specify (1) target runtime (`static-html` vs `react`), (2) theme and Ngũ Hành element (`data-theme`, `data-cs-element`), (3) bilingual copy pair (`vi` + `en` with full Vietnamese diacritics), (4) responsive container (`max-width: var(--cs-container-xl)` or `.cs-cq`), and (5) tabular numeral alignment (`.cs-tabular` / `.cs-table__cell--numeric`) for metrics and tables.
|
|
438
438
|
- **Quick color & token reference:** Primary brand Umber `#45210E` (`--cs-color-brand-umber`) · Accent Ochre `#F4BA17` (`--cs-color-brand-ochre`) · Page canvas `#FFFDF8` / dark `#1a1108` (`--cs-color-surface-page`) · Panel `#FFFFFF` / dark `#221710` (`--cs-color-surface-panel`) · Raised `#FBF4E9` / dark `#2b1e14` (`--cs-color-surface-raised`) · Default border `#E7D9C6` / dark `#4a3a2c` (`--cs-color-border-default`).
|
package/README.md
CHANGED
|
@@ -8,20 +8,20 @@
|
|
|
8
8
|
|
|
9
9
|
[](https://github.com/cyberskill-official/design/actions/workflows/design-system-gates.yml)
|
|
10
10
|
|
|
11
|
-
A warm, enterprise-grade, **Vietnamese-first** design system for **CyberSkill** — a Saigon software studio (est. 2020) that turns a clear *wish* into working software. Anchored on **Umber** and **Ochre**, guided by **Lumi** the golden genie, every surface resolves four independent axes: **Theme** (light · dark · system) × **Element** (Ngũ Hành product identity: Kim · Mộc · Thủy · Hỏa · Thổ, 15 variants) × **Language** (
|
|
11
|
+
A warm, enterprise-grade, **Vietnamese-first** design system for **CyberSkill** — a Saigon software studio (est. 2020) that turns a clear *wish* into working software. Anchored on **Umber** and **Ochre**, guided by **Lumi** the golden genie, every surface resolves four independent axes: **Theme** (light · dark · system) × **Element** (Ngũ Hành product identity: Kim · Mộc · Thủy · Hỏa · Thổ, 15 variants) × **Language** (VI · EN) × **Style** (`data-cs-style` — **liquid-glass** default, absent ≡ default · **matte-paper** opaque crisp paper surfaces). Consumers link one file: **`styles.css`** (`dist/styles.css` is the same closure flattened into one file for environments that don't follow `@import` chains (card renderers, some sandboxes); regenerate with `npm run build:css` after editing `tokens/` or `base/`).
|
|
12
12
|
|
|
13
13
|
---
|
|
14
14
|
|
|
15
15
|
## Start here
|
|
16
16
|
|
|
17
|
-
This is the **entrance document** for the CyberSkill Design System — source checkout VERSION **<!-- cs-source-version:checkout -->2.
|
|
17
|
+
This is the **entrance document** for the CyberSkill Design System — source checkout VERSION **<!-- cs-source-version:checkout -->2.9.0<!-- /cs-source-version -->** (see `VERSION`; this does not establish registry availability). The **product site** is Storybook at **`/`** on `design.cyberskill.world` (host-only; local: `npm run storybook`). Operator documentation is published in the Storybook **Docs** sidebar and the Documentation Library at `/docs/viewer.html` (legacy `/dashboard`, `/dashboard.html`, and `/playground/*` redirect to `/`).
|
|
18
18
|
|
|
19
19
|
### Quick start by audience
|
|
20
20
|
|
|
21
21
|
- **Designers** — open Storybook (**Foundations / Components / Templates / Pages / Docs**). **Templates** lists all <!-- cs-count:templates -->85<!-- /cs-count --> starting points (Gallery → Atomic View, plus category stories including the 38-document VN A4 suite (Employment Suite + commercial framework) under **Templates → HR**). Flip Theme × Element × Language × Style live via the Storybook toolbar, Atomic View, and the Elements Geometry specimen.
|
|
22
22
|
- **Browser template authoring** (static HTTP server) — read `SKILL.md` (runtime routing + design constraints), then the guide below; compose with `styles.css` + compiled ESM `@cyberskill/design` (`dist/esm/_esm/react.mjs`; raw JSX via `@cyberskill/design/source`) / legacy `_esm/cs.mjs` / `_ds_bundle.js` (prefix resolve). The shipped `support.js` interprets `*.dc.html` in a browser; see `docs/template-grammar.md` for grammar and host-only boundaries. Component contracts live beside each component (`.d.ts` + `.prompt.md`).
|
|
23
23
|
- **Static / open-spec** (e.g. Google Stitch) — start at **`DESIGN.md`** (generated open-spec) → `llms.txt` → `tokens/tokens.dtcg.json`. Build **static** UI with `styles.css` + `.cs-*` / kitchen-sink / `examples/static-hello/`. Use `.dc.html` through the shipped interpreter or a grammar-aware tool; plain HTML tools consume `.cs-*` or a verified rendered snapshot.
|
|
24
|
-
- **Implementers** — published stable npm package **`@cyberskill/design@2.
|
|
24
|
+
- **Implementers** — published stable npm package **`@cyberskill/design@2.8.0`** (see `docs/consuming.md`; grant in `docs/consumer-grant.md` — still UNLICENSED). **Next/SSR:** `import { Button } from "@cyberskill/design"` (peer React). **Browser demo:** **`examples/npm-hello/`** (Lumi · Hỏa · plasma, legacy `_esm/cs.mjs`). Or link **`styles.css`** from a clone/subtree (one file = everything), or copy a `templates/<slug>/` folder and edit one line in its `ds-base.js` (one-line rebind, validated end-to-end Jul 2026). Scope identity with `data-theme` · `data-cs-element` (+`data-cs-variant`) · `lang`. Release signal: tip SHA + `docs/release-notes.md` (source VERSION is **<!-- cs-source-version:release-signal -->2.9.0<!-- /cs-source-version -->**; no CHANGELOG).
|
|
25
25
|
- **Maintainers** — `docs/doctrine.md` (expansion + verification), then `CONTRIBUTING.md` and `docs/quality-gates.md`.
|
|
26
26
|
|
|
27
27
|
### Document map — consumers
|
|
@@ -35,11 +35,11 @@ This is the **entrance document** for the CyberSkill Design System — source ch
|
|
|
35
35
|
| `docs/consumer-grant.md` | Written npm consumer grant (CyberSkill portfolio; UNLICENSED + named products) |
|
|
36
36
|
| `docs/conventions.md` | How to extend the system (naming grammar, checklists, the four axes) |
|
|
37
37
|
| `docs/release-notes.md` | Curated product highlights (not a changelog) |
|
|
38
|
-
| `docs/design-styles.md` | The live styling axes (Theme × Element × Language × Style) and
|
|
38
|
+
| `docs/design-styles.md` | The live styling axes (Theme × Element × Language × Style) and surface material packs (liquid-glass · matte-paper) |
|
|
39
39
|
| `docs/products.md` | Product → element registry (**locked** — do not invent assignments) |
|
|
40
40
|
| `docs/contrast-report.md` | Generated APCA elemental sweep — 0 failures at its Lc ≥ 60 UI-label floor. Body text authors to the stricter Lc ≥ 75 floor (see Anchor immutables); the sweep's Lc ≥ 60 rows are accent/label pairings, not body text. |
|
|
41
41
|
| `docs/template-schema-v2.md` | Typed content-slot spec for templates — opt-in, machine-checkable |
|
|
42
|
-
| `docs/deploy.md` | Deploying the live site —
|
|
42
|
+
| `docs/deploy.md` | Deploying the live site — GitHub Pages (`.github/workflows/pages.yml`) · Vercel · generic VPS/nginx · post-deploy checklist |
|
|
43
43
|
| `docs/live-hub.md` | Storybook at `/` is the product surface; surface map |
|
|
44
44
|
| `docs/storybook.md` | Host Storybook product surface at `/` — Docs sidebar is the published reading surface |
|
|
45
45
|
| `docs/figma.md` | Figma / Tokens Studio import recipe for consumers and maintainers |
|
|
@@ -75,7 +75,7 @@ This is the **entrance document** for the CyberSkill Design System — source ch
|
|
|
75
75
|
| Language | Vietnamese-first; every UI string ships an EN + VN pair |
|
|
76
76
|
| Accessibility floor | APCA Lc ≥ 75 body text; focus rings never removed; ≥ 44px touch targets |
|
|
77
77
|
| Axes | Theme × Element × Language × Style (independent) |
|
|
78
|
-
| Style pack | liquid-glass (
|
|
78
|
+
| Style pack | liquid-glass (default; absent ≡ default) · matte-paper |
|
|
79
79
|
<!-- END DOCTRINE IMMUTABLES -->
|
|
80
80
|
|
|
81
81
|
---
|
|
@@ -100,7 +100,7 @@ This is the **entrance document** for the CyberSkill Design System — source ch
|
|
|
100
100
|
|
|
101
101
|
## Visual foundations
|
|
102
102
|
|
|
103
|
-
- **Palette — warm earth, never cold.** Umber `#45210E` grounds everything (it *is* the primary text colour); Ochre `#F4BA17` is the single accent — CTAs on dark, focus rings, highlights, the genie. Surfaces are warm paper: page `#FFFDF8`, panel `#FFFFFF`, raised `#FBF4E9`. Every neutral is warmed toward umber — borders are `#E7D9C6`, muted text `#
|
|
103
|
+
- **Palette — warm earth, never cold.** Umber `#45210E` grounds everything (it *is* the primary text colour); Ochre `#F4BA17` is the single accent — CTAs on dark, focus rings, highlights, the genie. Surfaces are warm paper: page `#FFFDF8`, panel `#FFFFFF`, raised `#FBF4E9`. Every neutral is warmed toward umber — borders are `#E7D9C6`, muted text `#5E4436`. Semantic colours (success `#166534`, danger `#B42318`, warning `#92400E`, info `#1D4ED8`) are used sparingly and never as the only signal. **Max one accent per surface** — on core surfaces that accent is Ochre; a *product* may swap in its element accent, never add a second hue beside it. No bluish-purple gradients.
|
|
104
104
|
- **Typography.** UI: **Be Vietnam Pro** (300–800; a Vietnamese-first Google family) — the default for every surface, headings included. Display/headline: **Space Grotesk** (variable 300–700), the **opt-in** face behind `--cs-font-family-display`; nothing points at it until a scope opts in with `.cs-display-face`, which retargets `--cs-heading-family` and leaves body copy on the UI face. Code/data: **JetBrains Mono**. Display headings are heavy (800 on the UI face; under `.cs-display-face`, Space Grotesk tops out at 700 so 800 clamps within that family), tight tracking (−0.02em); body is 400/500 at 1.5. Uppercase eyebrows at 0.08–0.12em tracking. The size ramp runs xs 12 → 5xl 60 on a 16px base.
|
|
105
105
|
- **Spacing & layout.** 4px base grid; section padding lives between 64 and 96px; content max-width ~1200–1320px. Generous, calm whitespace.
|
|
106
106
|
- **Corners & cards.** Radii: sm 4, md 8 (default), **lg 14 (cards/panels)**, full 999 (pills, inputs, chips). A default card = white panel, 1px warm border `#E7D9C6`, 14px radius, soft warm shadow. No coloured-left-border cards.
|
|
@@ -155,7 +155,7 @@ Generated from the public source catalog and actual Atomic story AST. **125 expo
|
|
|
155
155
|
<!-- END CATALOG COMPONENT INVENTORY -->
|
|
156
156
|
|
|
157
157
|
- **Highlights:** **Button** — Umber primary; variants primary/secondary/tertiary/ghost/danger/danger-ghost; sizes xs–lg; loading, icon, fullWidth. **TextField / Textarea / Select / NativeSelect** share one `.cs-field` frame (label + description/error; diacritic/IME-safe). **DataTable** — caption, scoped headers, per-column render, idle/loading/error/empty triad. **Card** — warm panel + header/body/footer. **Logo** renders the exact official mark; **Icon** drives the in-repo line-icon set. The **AI-native** family carries the brand's explainability doctrine — disclosure, human review, wish capture, and confidence, all stated in words (never colour alone).
|
|
158
|
-
- **Install / package name:** The package name is **`@cyberskill/design`** (source checkout VERSION **<!-- cs-source-version:package-source -->2.
|
|
158
|
+
- **Install / package name:** The package name is **`@cyberskill/design`** (source checkout VERSION **<!-- cs-source-version:package-source -->2.9.0<!-- /cs-source-version -->**; grant in `docs/consumer-grant.md` governs *use* — package remains UNLICENSED). Do **not** install `@cyberskill/react` for this tree — that name is historical marketing-site inventory, not this package.
|
|
159
159
|
- **Source inventory vs. extensions:** An earlier CyberSkill surface shipped six primitives — `Button`, `TextField`, `Dialog`, `DataTable`, `AIDisclosureBadge`, `HumanReviewGate` — plus a brand `Logo`. Everything else in **this** package is an **intentional extension** built in the brand's own token vocabulary so consumers have a complete working kit: `Icon`, the standard Forms / Feedback / Data / Navigation / Overlays primitives, added AI-native pieces (`PromptInput`, `ChatMessage`, `ConfidenceMeter`, `PromptSuggestions`, `TypingIndicator`, `CitationList`) that formalise the Lumi wish-flow, and the `LumiAvatar` mascot.
|
|
160
160
|
|
|
161
161
|
---
|
|
@@ -276,6 +276,12 @@ SKILL.md Agent-Skills-compatible entry
|
|
|
276
276
|
- **Accessibility verification:** `_audit/a11y-harness.html` and `npm run test:a11y-harness` check accessible names with the pinned local axe engine across Chromium, Firefox, and WebKit.
|
|
277
277
|
- **Live browser benchmark & non-regression gate:** `npm run test:audit-regression` (`_audit/ci/verify-audit-benchmarks-browser.mjs`) scores **129/129** checks across 20 dimensions (`D1`–`D20`) at **10.0 / 10**, **64/64** core baseline checks at **10.0 / 10**, **192/192** cells (`≥ 3.0:1`) across the 32×6 non-text contrast matrix, and **3/3** Generation-2 complex stress-test screens with **0 watch** items. Dark default-scope tint ink measures **8.42:1–10.54:1** (`.cs-result__icon` **8.42:1**, `.cs-item.is-selected` **10.54:1** — both clearing WCAG AAA `7:1`).
|
|
278
278
|
|
|
279
|
+
### Setup, extension & benchmark playbook
|
|
280
|
+
|
|
281
|
+
- **Setup & local servers:** Run `node scripts/bootstrap-toolchain.mjs && node scripts/npm.mjs ci` once on Node >=22.12.0. Launch Storybook with `node scripts/npm.mjs run storybook` (`http://127.0.0.1:6006`) or serve the static audit board with `node scripts/npm.mjs run verify:serve` (`http://127.0.0.1:8765/_audit/run.html`). Production pushes to `main` deploy automatically via `.github/workflows/pages.yml` to `https://design.cyberskill.world/`.
|
|
282
|
+
- **Extending tokens, components, templates & open-spec:** Edit `tokens/*.css`, `tokens/base-inventory.json`, and `base/*.css`, then run `node scripts/npm.mjs run tokens:generate && node scripts/npm.mjs run build:css`. Add or update React primitives under `components/<group>/<Name>.{jsx,d.ts,prompt.md}`, `stories/<Name>/<Name>.stories.jsx`, and `components/lifecycle.json`, then run `node scripts/npm.mjs run build`. Register templates under `templates/<slug>/` and `_ds_manifest.json` (`node scripts/generate-template-inventory.mjs`), and rebuild the Stitch/LLM open-spec with `node scripts/npm.mjs run build:design-md`.
|
|
283
|
+
- **Auditing, reviewing & benchmarking in the future:** Run `node scripts/npm.mjs run test:audit-regression` to execute the 20-Dimension (`D1`–`D20`) live Chromium benchmark defined in `_audit/ci/lib/benchmark-checks.mjs` against `_audit/ci/fixtures/benchmark-20d.html`, `_audit/ci/fixtures/benchmark-baseline.html`, and `_audit/ci/fixtures/benchmark-gen2.html`. When running external AI design benchmarks (Google Stitch or Claude Design), codify any newly discovered visual or ergonomic rules into `_audit/ci/lib/benchmark-checks.mjs`, verify with `node scripts/npm.mjs run build:check`, and remove temporary external benchmark HTML/screenshots once the regression assertion is locked into CI.
|
|
284
|
+
|
|
279
285
|
<!-- BEGIN PINNED TOOLCHAIN BOOTSTRAP -->
|
|
280
286
|
Before running source-repository `npm ci` or `npm run` commands, use Node >=22.12.0 and run `node scripts/bootstrap-toolchain.mjs` directly. This installs the audited, lockfile-pinned npm 11.21.1 fixture with lifecycle scripts disabled. Add `_audit/ci/fixtures/npm-cli/node_modules/.bin` to PATH, or run `node scripts/npm.mjs ci` and use `node scripts/npm.mjs` in place of `npm` for subsequent commands (`devEngines` rejects other npm versions in the source repository; published-package consumers keep their own package manager). See [validation and toolchain guidance](docs/validation.md).
|
|
281
287
|
<!-- END PINNED TOOLCHAIN BOOTSTRAP -->
|
package/SECURITY.md
CHANGED
|
@@ -17,13 +17,13 @@ Please disclose privately via **GitHub Security Advisories** for [`cyberskill-of
|
|
|
17
17
|
|
|
18
18
|
| Release line | Security maintenance |
|
|
19
19
|
|---|---|
|
|
20
|
-
| Latest published stable minor, currently **2.
|
|
20
|
+
| Latest published stable minor, currently **2.8.x** | Security triage and fixes target this line. |
|
|
21
21
|
| Earlier stable minor/major lines | Upgrade guidance; no backport commitment. |
|
|
22
22
|
| Unreleased working tree and prereleases | Development evidence; not a supported published release. |
|
|
23
23
|
|
|
24
|
-
The latest-published snapshot is **2.
|
|
25
|
-
`2026-11-
|
|
26
|
-
`
|
|
24
|
+
The latest-published snapshot is **2.8.0**, observed at
|
|
25
|
+
`2026-11-10T13:04:18.764Z` from the official npm registry. Snapshot SHA-256:
|
|
26
|
+
`0636a6b880393bd0e78f35f193169948f693bbee849ce9e6d7162036444ea577`. This is a recorded publication identity, not a live registry query.
|
|
27
27
|
Refresh the snapshot and this generated block after a separately authorized
|
|
28
28
|
publication; a local VERSION change does not establish publication or support.
|
|
29
29
|
|
package/SKILL.md
CHANGED
|
@@ -89,7 +89,7 @@ Doctrine immutables (source-derived):
|
|
|
89
89
|
| Language | Vietnamese-first; every UI string ships an EN + VN pair |
|
|
90
90
|
| Accessibility floor | APCA Lc ≥ 75 body text; focus rings never removed; ≥ 44px touch targets |
|
|
91
91
|
| Axes | Theme × Element × Language × Style (independent) |
|
|
92
|
-
| Style pack | liquid-glass (
|
|
92
|
+
| Style pack | liquid-glass (default; absent ≡ default) · matte-paper |
|
|
93
93
|
|
|
94
94
|
- **static-html** — `styles.css`; [guide](DESIGN.md). Use .cs-* classes; .dc.html additionally requires the shipped interpreter or a verified grammar-aware runtime.
|
|
95
95
|
- **react** — `@cyberskill/design`; [guide](docs/consuming.md). Compiled ESM with peer React; explicit @cyberskill/design/source is raw JSX. CommonJS is not promised.
|
package/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
2.
|
|
1
|
+
2.9.0
|