@cyberskill/design 2.0.0 → 2.2.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 +87 -87
- package/README.md +3 -3
- package/SECURITY.md +4 -4
- package/VERSION +1 -1
- package/_ds_bundle.js +2 -2
- package/_ds_bundle.js.map +1 -1
- package/_ds_manifest.json +143 -143
- package/_esm/cs.mjs +2 -2
- package/base/collections.css +5 -4
- package/base/components.css +8 -7
- package/base/controls.css +16 -16
- package/base/data.css +5 -5
- package/base/feedback.css +5 -3
- package/base/forms.css +3 -2
- package/base/glass.css +4 -4
- package/base/interaction.css +6 -1
- package/base/navigation.css +3 -3
- package/base/reset.css +2 -0
- package/base/shell.css +8 -8
- package/base/typography.css +4 -4
- package/components/_i18n/strings.js +3 -3
- package/components/_utils/open-change.js +18 -0
- package/components/ai/ai-conversation.card.html +2 -0
- package/components/ai/ai-lumi.card.html +2 -0
- package/components/ai/ai.card.html +2 -0
- package/components/api-discovery.json +94 -24
- package/components/api-index.json +528 -80
- package/components/brand/brand.card.html +2 -0
- package/components/button/buttons.card.html +2 -0
- package/components/contracts.json +23 -9
- package/components/data/collections.card.html +2 -0
- package/components/data/data.card.html +2 -0
- package/components/datatable/DataGrid.jsx +1 -1
- package/components/datatable/datatable.card.html +2 -0
- package/components/dialog/Dialog.d.ts +3 -0
- package/components/dialog/Dialog.jsx +7 -5
- package/components/dialog/Dialog.prompt.md +1 -0
- package/components/dialog/dialog.card.html +2 -0
- package/components/feedback/Alert.d.ts +5 -1
- package/components/feedback/Alert.jsx +4 -3
- package/components/feedback/Alert.prompt.md +2 -0
- package/components/feedback/Toast.d.ts +3 -0
- package/components/feedback/Toast.jsx +4 -3
- package/components/feedback/Toast.prompt.md +1 -0
- package/components/feedback/feedback-2.card.html +2 -0
- package/components/feedback/feedback.card.html +2 -0
- package/components/forms/forms-2.card.html +2 -0
- package/components/forms/forms.card.html +2 -0
- package/components/i18n/i18n.card.html +2 -1
- package/components/icon/icon.card.html +2 -0
- package/components/lifecycle.json +433 -55
- package/components/logo/logo.card.html +2 -0
- package/components/navigation/CommandPalette.d.ts +4 -1
- package/components/navigation/CommandPalette.jsx +6 -5
- package/components/navigation/CommandPalette.prompt.md +1 -0
- package/components/navigation/Menubar.jsx +2 -2
- package/components/navigation/navigation.card.html +2 -0
- package/components/navigation/shell.card.html +2 -0
- package/components/overlays/Drawer.d.ts +3 -0
- package/components/overlays/Drawer.jsx +6 -5
- package/components/overlays/Drawer.prompt.md +1 -0
- package/components/overlays/Tour.d.ts +3 -0
- package/components/overlays/Tour.jsx +8 -5
- package/components/overlays/Tour.prompt.md +1 -0
- package/components/overlays/alertdialog.card.html +2 -0
- package/components/overlays/overlays.card.html +2 -0
- package/components/prompt-api.json +17 -10
- package/components/scenarios.json +37 -37
- package/components/specifications.json +3403 -1401
- package/components/static-html-reference.json +36 -36
- package/components/textfield/textfield.card.html +2 -0
- package/dist/esm/_esm/react.mjs +69 -68
- package/dist/esm/build.json +526 -518
- package/dist/esm/chunks/{chunk-FEUTSZBN.mjs → chunk-2CCVFTPL.mjs} +2 -2
- package/dist/esm/chunks/{chunk-W5VR7GTL.mjs → chunk-2VVGZEOQ.mjs} +2 -2
- package/dist/esm/chunks/{chunk-3RC4CDAE.mjs → chunk-3R5WJQCB.mjs} +2 -2
- package/dist/esm/chunks/{chunk-W6N22NMF.mjs → chunk-4FGB6VHN.mjs} +2 -2
- package/dist/esm/chunks/{chunk-JN57OITY.mjs → chunk-4RSFD6QC.mjs} +10 -7
- package/dist/esm/chunks/chunk-4RSFD6QC.mjs.map +7 -0
- package/dist/esm/chunks/{chunk-YZR3C7V2.mjs → chunk-4TO35YGK.mjs} +2 -2
- package/dist/esm/chunks/{chunk-JSAPFO73.mjs → chunk-4YWKKULF.mjs} +2 -2
- package/dist/esm/chunks/{chunk-W2RF4NWB.mjs → chunk-5FQGNCKS.mjs} +2 -2
- package/dist/esm/chunks/chunk-65SIJBJX.mjs +22 -0
- package/dist/esm/chunks/chunk-65SIJBJX.mjs.map +7 -0
- package/dist/esm/chunks/{chunk-SYCXNMYP.mjs → chunk-6ECKJ6RS.mjs} +2 -2
- package/dist/esm/chunks/{chunk-CH4W6RCG.mjs → chunk-6H7JYBPI.mjs} +10 -5
- package/dist/esm/chunks/chunk-6H7JYBPI.mjs.map +7 -0
- package/dist/esm/chunks/{chunk-72AUOI37.mjs → chunk-6TZDNLHE.mjs} +2 -2
- package/dist/esm/chunks/{chunk-QGCPHFSI.mjs → chunk-72STPBL4.mjs} +2 -2
- package/dist/esm/chunks/{chunk-37AN57S5.mjs → chunk-7GSR2NGL.mjs} +3 -3
- package/dist/esm/chunks/{chunk-A3PGQW3X.mjs → chunk-AA5BSO3T.mjs} +2 -2
- package/dist/esm/chunks/{chunk-NH6M42ZI.mjs → chunk-ASGO2FW5.mjs} +2 -2
- package/dist/esm/chunks/{chunk-GP5ITSCH.mjs → chunk-C3NAMBA7.mjs} +2 -2
- package/dist/esm/chunks/{chunk-YA7Y7PEC.mjs → chunk-CKBL3UEA.mjs} +2 -2
- package/dist/esm/chunks/{chunk-H7EJ7TNP.mjs → chunk-CYZ22MB7.mjs} +2 -2
- package/dist/esm/chunks/{chunk-JRIWHAWW.mjs → chunk-D7A4ZCMJ.mjs} +2 -2
- package/dist/esm/chunks/{chunk-A7RWM4XH.mjs → chunk-DANUZS4S.mjs} +2 -2
- package/dist/esm/chunks/{chunk-FAVSLU7E.mjs → chunk-DFBKBVSE.mjs} +2 -2
- package/dist/esm/chunks/{chunk-TNHQB6CI.mjs → chunk-DW4AWLA5.mjs} +2 -2
- package/dist/esm/chunks/{chunk-5R5KMLUR.mjs → chunk-DWJIX65T.mjs} +2 -2
- package/dist/esm/chunks/{chunk-YJNSQ5PJ.mjs → chunk-EITZT2U5.mjs} +2 -2
- package/dist/esm/chunks/{chunk-CSJHR2W2.mjs → chunk-EOCMQT4L.mjs} +2 -2
- package/dist/esm/chunks/{chunk-4QBKN42N.mjs → chunk-EXOOST5G.mjs} +2 -2
- package/dist/esm/chunks/{chunk-7HTAAMIY.mjs → chunk-FF5D53IP.mjs} +2 -2
- package/dist/esm/chunks/{chunk-JNK7QN24.mjs → chunk-FOEJO2YQ.mjs} +2 -2
- package/dist/esm/chunks/{chunk-F3M5TQ76.mjs → chunk-GB6VWFOE.mjs} +11 -6
- package/dist/esm/chunks/chunk-GB6VWFOE.mjs.map +7 -0
- package/dist/esm/chunks/{chunk-UFE32JPH.mjs → chunk-GHWOEHEX.mjs} +8 -4
- package/dist/esm/chunks/chunk-GHWOEHEX.mjs.map +7 -0
- package/dist/esm/chunks/{chunk-HYQG5XND.mjs → chunk-GLPQBE2J.mjs} +2 -2
- package/dist/esm/chunks/{chunk-HUW6OY7C.mjs → chunk-GNEVR5Q4.mjs} +2 -2
- package/dist/esm/chunks/{chunk-SEYKDGXE.mjs → chunk-H4TKHAB3.mjs} +2 -2
- package/dist/esm/chunks/{chunk-ANWF2NX3.mjs → chunk-H6HQZ5RI.mjs} +3 -3
- package/dist/esm/chunks/{chunk-ANWF2NX3.mjs.map → chunk-H6HQZ5RI.mjs.map} +2 -2
- package/dist/esm/chunks/{chunk-OR5UTKW7.mjs → chunk-I3H7EAH5.mjs} +2 -2
- package/dist/esm/chunks/{chunk-P64YS5W2.mjs → chunk-I3PQVFX5.mjs} +2 -2
- package/dist/esm/chunks/{chunk-5MR3C2QG.mjs → chunk-IOEWPBAL.mjs} +2 -2
- package/dist/esm/chunks/{chunk-TN2MZXGS.mjs → chunk-JIHWIDMP.mjs} +2 -2
- package/dist/esm/chunks/{chunk-FXELBWXK.mjs → chunk-JTAYZ36C.mjs} +4 -3
- package/dist/esm/chunks/{chunk-FXELBWXK.mjs.map → chunk-JTAYZ36C.mjs.map} +2 -2
- package/dist/esm/chunks/{chunk-25AOTZAM.mjs → chunk-JZYRXWPD.mjs} +4 -4
- package/dist/esm/chunks/{chunk-25AOTZAM.mjs.map → chunk-JZYRXWPD.mjs.map} +2 -2
- package/dist/esm/chunks/{chunk-YX62AV33.mjs → chunk-KAOUK33L.mjs} +2 -2
- package/dist/esm/chunks/{chunk-UVJ5BBQG.mjs → chunk-KWPNHP73.mjs} +2 -2
- package/dist/esm/chunks/{chunk-BABSYWVB.mjs → chunk-LCC4ZVVO.mjs} +2 -2
- package/dist/esm/chunks/{chunk-GWBINWTF.mjs → chunk-LWRFPVX7.mjs} +8 -4
- package/dist/esm/chunks/chunk-LWRFPVX7.mjs.map +7 -0
- package/dist/esm/chunks/{chunk-HVF4NT6P.mjs → chunk-MRXEJSQQ.mjs} +2 -2
- package/dist/esm/chunks/{chunk-DIIXA7WD.mjs → chunk-NZKMM4FK.mjs} +2 -2
- package/dist/esm/chunks/{chunk-CLWTVJM3.mjs → chunk-OEWAQZYE.mjs} +2 -2
- package/dist/esm/chunks/{chunk-IH4I7JSB.mjs → chunk-OILXJXVX.mjs} +10 -7
- package/dist/esm/chunks/chunk-OILXJXVX.mjs.map +7 -0
- package/dist/esm/chunks/{chunk-OOZKMXYB.mjs → chunk-PBP2MKZH.mjs} +2 -2
- package/dist/esm/chunks/{chunk-JKKJHQVQ.mjs → chunk-PE6KC2U7.mjs} +2 -2
- package/dist/esm/chunks/{chunk-N5TM7UIY.mjs → chunk-PFTKXY5Q.mjs} +2 -2
- package/dist/esm/chunks/{chunk-R7QVE2JP.mjs → chunk-PLN3ITUB.mjs} +2 -2
- package/dist/esm/chunks/{chunk-NEMFYL4X.mjs → chunk-QBPDNM7S.mjs} +2 -2
- package/dist/esm/chunks/{chunk-JDI3UMJW.mjs → chunk-SIMVM4RV.mjs} +2 -2
- package/dist/esm/chunks/{chunk-WJF2Q2Y3.mjs → chunk-TMXLSCAG.mjs} +2 -2
- package/dist/esm/chunks/{chunk-TGYG7JP4.mjs → chunk-TNQXCIBM.mjs} +2 -2
- package/dist/esm/chunks/{chunk-DHTD5KM5.mjs → chunk-TWCJMLGG.mjs} +2 -2
- package/dist/esm/chunks/{chunk-EPFDMHPK.mjs → chunk-U7RKPGRO.mjs} +2 -2
- package/dist/esm/chunks/{chunk-NMIGE2IM.mjs → chunk-UWNMGKAN.mjs} +2 -2
- package/dist/esm/chunks/{chunk-KXFGO7N4.mjs → chunk-VAPKJRQI.mjs} +2 -2
- package/dist/esm/chunks/{chunk-XTBN55D3.mjs → chunk-VUCJT2QJ.mjs} +2 -2
- package/dist/esm/chunks/{chunk-TVTBVHT2.mjs → chunk-WLANQTOU.mjs} +2 -2
- package/dist/esm/chunks/{chunk-3MCNCG2L.mjs → chunk-XZ5NWMO7.mjs} +2 -2
- package/dist/esm/chunks/{chunk-QPXQZBQC.mjs → chunk-YKU2KVAQ.mjs} +2 -2
- package/dist/esm/chunks/{chunk-ZKFOGW4D.mjs → chunk-YLSFKG64.mjs} +2 -2
- package/dist/esm/chunks/{chunk-TO2T6EEB.mjs → chunk-YVSAUCWW.mjs} +3 -3
- package/dist/esm/chunks/{chunk-XN74VX5H.mjs → chunk-ZKBAIIAQ.mjs} +2 -2
- package/dist/esm/chunks/{chunk-7IJTTRPK.mjs → chunk-ZPLENPV2.mjs} +2 -2
- package/dist/esm/components/ai/AIDisclosureBadge.mjs +2 -2
- package/dist/esm/components/ai/ChatMessage.mjs +2 -2
- package/dist/esm/components/ai/CitationList.mjs +2 -2
- package/dist/esm/components/ai/ConfidenceMeter.mjs +2 -2
- package/dist/esm/components/ai/HumanReviewGate.mjs +2 -2
- package/dist/esm/components/ai/PromptInput.mjs +2 -2
- package/dist/esm/components/ai/TypingIndicator.mjs +2 -2
- package/dist/esm/components/data/Carousel.mjs +2 -2
- package/dist/esm/components/data/Chart.mjs +2 -2
- package/dist/esm/components/data/CodeBlock.mjs +2 -2
- package/dist/esm/components/data/Comment.mjs +2 -2
- package/dist/esm/components/data/Image.mjs +2 -2
- package/dist/esm/components/data/Sortable.mjs +2 -2
- package/dist/esm/components/data/Splitter.mjs +2 -2
- package/dist/esm/components/data/Terminal.mjs +2 -2
- package/dist/esm/components/data/Tooltip.mjs +2 -2
- package/dist/esm/components/datatable/DataGrid.mjs +2 -2
- package/dist/esm/components/datatable/DataTable.mjs +3 -3
- package/dist/esm/components/datatable/TreeTable.mjs +2 -2
- package/dist/esm/components/dialog/Dialog.mjs +3 -2
- package/dist/esm/components/feedback/Alert.mjs +3 -2
- package/dist/esm/components/feedback/EmptyState.mjs +2 -2
- package/dist/esm/components/feedback/ProgressBar.mjs +2 -2
- package/dist/esm/components/feedback/Result.mjs +2 -2
- package/dist/esm/components/feedback/Spinner.mjs +2 -2
- package/dist/esm/components/feedback/Tag.mjs +2 -2
- package/dist/esm/components/feedback/Toast.mjs +3 -2
- package/dist/esm/components/forms/Calendar.mjs +2 -2
- package/dist/esm/components/forms/Cascader.mjs +2 -2
- package/dist/esm/components/forms/ColorPicker.mjs +2 -2
- package/dist/esm/components/forms/Combobox.mjs +2 -2
- package/dist/esm/components/forms/DatePicker.mjs +3 -3
- package/dist/esm/components/forms/Editor.mjs +2 -2
- package/dist/esm/components/forms/FileUpload.mjs +2 -2
- package/dist/esm/components/forms/Form.mjs +2 -2
- package/dist/esm/components/forms/InlineEdit.mjs +2 -2
- package/dist/esm/components/forms/InputGroup.mjs +2 -2
- package/dist/esm/components/forms/InputOTP.mjs +2 -2
- package/dist/esm/components/forms/Mentions.mjs +2 -2
- package/dist/esm/components/forms/NumberField.mjs +2 -2
- package/dist/esm/components/forms/Rating.mjs +2 -2
- package/dist/esm/components/forms/SearchField.mjs +2 -2
- package/dist/esm/components/forms/Select.mjs +2 -2
- package/dist/esm/components/forms/Slider.mjs +2 -2
- package/dist/esm/components/forms/Switch.mjs +2 -2
- package/dist/esm/components/forms/TagInput.mjs +2 -2
- package/dist/esm/components/forms/TimePicker.mjs +2 -2
- package/dist/esm/components/forms/Toggle.mjs +2 -2
- package/dist/esm/components/forms/Transfer.mjs +2 -2
- package/dist/esm/components/forms/TreeSelect.mjs +2 -2
- package/dist/esm/components/i18n/LocaleProvider.mjs +2 -2
- package/dist/esm/components/navigation/BackTop.mjs +2 -2
- package/dist/esm/components/navigation/Breadcrumb.mjs +2 -2
- package/dist/esm/components/navigation/CommandPalette.mjs +3 -2
- package/dist/esm/components/navigation/HotKeys.mjs +2 -2
- package/dist/esm/components/navigation/Menu.mjs +2 -2
- package/dist/esm/components/navigation/Menubar.mjs +2 -2
- package/dist/esm/components/navigation/Pagination.mjs +2 -2
- package/dist/esm/components/navigation/Steps.mjs +2 -2
- package/dist/esm/components/navigation/Tabs.mjs +2 -2
- package/dist/esm/components/navigation/Toolbar.mjs +2 -2
- package/dist/esm/components/overlays/AlertDialog.mjs +2 -2
- package/dist/esm/components/overlays/ContextMenu.mjs +2 -2
- package/dist/esm/components/overlays/Drawer.mjs +3 -2
- package/dist/esm/components/overlays/Popconfirm.mjs +2 -2
- package/dist/esm/components/overlays/Popover.mjs +2 -2
- package/dist/esm/components/overlays/Tour.mjs +3 -2
- package/dist/styles.min.css +1 -1
- package/docs/ci-cd.md +1 -1
- package/docs/component-api.md +1 -1
- package/docs/consuming.md +1 -1
- package/docs/contrast-report.md +196 -1
- package/docs/conventions.md +1 -1
- package/docs/design-styles.md +1 -1
- package/docs/manual-at-matrix.md +2 -0
- package/docs/quality-gates.md +2 -1
- package/docs/reference-catalog.json +81 -81
- package/docs/release-notes.md +1 -1
- package/docs/static-html-reference.md +27 -27
- package/docs/template-inventory.json +162 -162
- package/docs/vi/ci-cd.md +1 -1
- package/docs/vi/component-api.md +1 -1
- package/docs/vi/consuming.md +1 -1
- package/docs/vi/contrast-report.md +196 -1
- package/docs/vi/conventions.md +1 -1
- package/docs/vi/decisions/component-specification-evidence.md +1 -1
- package/docs/vi/decisions/token-alias-compatibility.md +1 -1
- package/docs/vi/design-styles.md +1 -1
- package/docs/vi/entrypoints/DESIGN.md +87 -87
- package/docs/vi/entrypoints/README.md +3 -3
- package/docs/vi/manual-at-matrix.md +2 -0
- package/docs/vi/quality-gates.md +2 -1
- package/docs/vi/release-notes.md +1 -1
- package/docs/vi/static-html-reference.md +27 -27
- package/docs/viewer.html +9 -12
- package/guidelines/atomic-view.html +39 -34
- package/guidelines/brand-iconography.html +33 -32
- package/guidelines/brand-imagery.html +2 -1
- package/guidelines/brand-interaction.html +3 -2
- package/guidelines/brand-voice.html +2 -1
- package/guidelines/colors-anchors.html +2 -1
- package/guidelines/colors-semantic.html +2 -1
- package/guidelines/colors-surfaces.html +2 -1
- package/guidelines/colors-text.html +2 -1
- package/guidelines/documents.html +3 -2
- package/guidelines/elements-components.html +4 -3
- package/guidelines/elements-concept.html +3 -2
- package/guidelines/elements-geometry.html +4 -3
- package/guidelines/elements-variants.html +18 -17
- package/guidelines/guideline-language.js +1 -1
- package/guidelines/motion-interaction.html +2 -1
- package/guidelines/motion.html +12 -13
- package/guidelines/responsive-bilingual.html +7 -6
- package/guidelines/rtl-preview.html +2 -2
- package/guidelines/spacing-breakpoints.html +2 -1
- package/guidelines/spacing-radius.html +4 -3
- package/guidelines/spacing-scale.html +2 -1
- package/guidelines/surfaces-aurora.html +2 -1
- package/guidelines/surfaces-depth.html +3 -2
- package/guidelines/surfaces-glass.html +2 -1
- package/guidelines/surfaces-shadow.html +2 -1
- package/guidelines/type-families.html +2 -1
- package/guidelines/type-lineheight.html +2 -1
- package/guidelines/type-scale.html +2 -1
- package/guidelines/type-weights.html +2 -1
- package/package.json +4 -2
- package/styles/components/manifest.json +156 -148
- package/styles.layered.css +492 -485
- package/styles.layered.provenance.json +17 -17
- package/templates/_vendor/deck-stage.js +3 -3
- package/templates/_vendor/doc-export.js +1 -1
- package/templates/_vendor/support.js +1 -1
- package/templates/ai-cluster-demo.html +2 -1
- package/templates/app-shell/AppShell.dc.html +2 -1
- package/templates/app-shell/support.js +1 -1
- package/templates/article/Article.dc.html +2 -1
- package/templates/article/support.js +1 -1
- package/templates/auth/Auth.dc.html +2 -1
- package/templates/auth/support.js +1 -1
- package/templates/bod-deck/BodDeck.dc.html +1 -0
- package/templates/bod-deck/support.js +1 -1
- package/templates/bod-investor-update/BodInvestorUpdate.dc.html +1 -0
- package/templates/bod-investor-update/support.js +1 -1
- package/templates/bod-memo/support.js +1 -1
- package/templates/bod-minutes/BodMinutes.dc.html +1 -0
- package/templates/bod-minutes/support.js +1 -1
- package/templates/bod-report/BodReport.dc.html +1 -0
- package/templates/bod-report/support.js +1 -1
- package/templates/bod-resolution/BodResolution.dc.html +1 -0
- package/templates/bod-resolution/support.js +1 -1
- package/templates/culture-event-invite/CultureEventInvite.dc.html +1 -0
- package/templates/culture-event-invite/support.js +1 -1
- package/templates/dashboard/Dashboard.dc.html +2 -1
- package/templates/dashboard/support.js +1 -1
- package/templates/delivery-change-note/DeliveryChangeNote.dc.html +1 -0
- package/templates/delivery-change-note/support.js +1 -1
- package/templates/delivery-kickoff/DeliveryKickoff.dc.html +1 -0
- package/templates/delivery-kickoff/support.js +1 -1
- package/templates/delivery-qbr-deck/DeliveryQbrDeck.dc.html +3 -2
- package/templates/delivery-qbr-deck/support.js +1 -1
- package/templates/delivery-runbook/DeliveryRunbook.dc.html +1 -0
- package/templates/delivery-runbook/support.js +1 -1
- package/templates/delivery-status-email/support.js +1 -1
- package/templates/doc-style-guide/DocStyleGuide.dc.html +1 -0
- package/templates/doc-style-guide/support.js +1 -1
- package/templates/doc-suite-index/DocSuiteIndex.dc.html +1 -0
- package/templates/doc-suite-index/support.js +1 -1
- package/templates/doc-templates/support.js +1 -1
- package/templates/email/Email-VN-standalone.html +2 -1
- package/templates/email/support.js +1 -1
- package/templates/email-safe/email-announcement.html +2 -1
- package/templates/email-safe/email-dunning.html +2 -1
- package/templates/email-safe/email-investor.html +2 -1
- package/templates/email-safe/email-launch.html +2 -1
- package/templates/email-safe/email-newsletter.html +2 -1
- package/templates/email-safe/email-status.html +2 -1
- package/templates/email-safe/email-transactional.html +2 -1
- package/templates/finance-dunning-email/support.js +1 -1
- package/templates/finance-expense-report/support.js +1 -1
- package/templates/finance-invoice/support.js +1 -1
- package/templates/finance-quote/support.js +1 -1
- package/templates/hr-announcement/support.js +1 -1
- package/templates/hr-interview-kit/HrInterviewKit.dc.html +1 -0
- package/templates/hr-interview-kit/support.js +1 -1
- package/templates/hr-offboarding/HrOffboarding.dc.html +1 -0
- package/templates/hr-offboarding/support.js +1 -1
- package/templates/hr-performance-review/HrPerformanceReview.dc.html +1 -0
- package/templates/hr-performance-review/support.js +1 -1
- package/templates/hr-pip/HrPip.dc.html +1 -0
- package/templates/hr-pip/support.js +1 -1
- package/templates/image-slots-demo.html +11 -9
- package/templates/kitchen-sink.html +8 -4
- package/templates/legal-msa/LegalMsa.dc.html +1 -0
- package/templates/legal-msa/support.js +1 -1
- package/templates/legal-sow/support.js +1 -1
- package/templates/marketing-campaign-brief/MarketingCampaignBrief.dc.html +1 -0
- package/templates/marketing-campaign-brief/support.js +1 -1
- package/templates/marketing-case-study/MarketingCaseStudy.dc.html +1 -0
- package/templates/marketing-case-study/support.js +1 -1
- package/templates/marketing-launch/support.js +1 -1
- package/templates/marketing-newsletter/support.js +1 -1
- package/templates/marketing-page/MarketingPage.dc.html +6 -3
- package/templates/marketing-page/support.js +1 -1
- package/templates/marketing-press-release/MarketingPressRelease.dc.html +2 -1
- package/templates/marketing-press-release/support.js +1 -1
- package/templates/marketing-social-kit/MarketingSocialKit.dc.html +1 -0
- package/templates/marketing-social-kit/support.js +1 -1
- package/templates/playground.html +9 -7
- package/templates/sales-one-pager/SalesOnePager.dc.html +1 -0
- package/templates/sales-one-pager/support.js +1 -1
- package/templates/sales-proposal-deck/SalesProposalDeck.dc.html +1 -0
- package/templates/sales-proposal-deck/support.js +1 -1
- package/templates/settings/Settings.dc.html +2 -1
- package/templates/settings/support.js +1 -1
- package/templates/slide-deck/SlideDeck.dc.html +1 -0
- package/templates/slide-deck/support.js +1 -1
- package/templates/team-meeting-agenda/TeamMeetingAgenda.dc.html +1 -0
- package/templates/team-meeting-agenda/support.js +1 -1
- package/templates/tech-incident-report/TechIncidentReport.dc.html +1 -0
- package/templates/tech-incident-report/support.js +1 -1
- package/templates/tech-release-notes/support.js +1 -1
- package/templates/tech-retro/TechRetro.dc.html +1 -0
- package/templates/tech-retro/support.js +1 -1
- package/templates/tech-rfc/TechRfc.dc.html +2 -1
- package/templates/tech-rfc/support.js +1 -1
- package/templates/vn-appointment-transfer/support.js +1 -1
- package/templates/vn-certificate-of-employment/support.js +1 -1
- package/templates/vn-code-of-conduct/support.js +1 -1
- package/templates/vn-compensation-regulation/support.js +1 -1
- package/templates/vn-contract-amendment/support.js +1 -1
- package/templates/vn-contractor-agreement/support.js +1 -1
- package/templates/vn-data-protection-policy/support.js +1 -1
- package/templates/vn-disciplinary-case-file/support.js +1 -1
- package/templates/vn-disciplinary-schedule/VnDisciplinarySchedule.dc.html +1 -0
- package/templates/vn-disciplinary-schedule/support.js +1 -1
- package/templates/vn-employee-request/support.js +1 -1
- package/templates/vn-exit-handover/support.js +1 -1
- package/templates/vn-foreign-employee-pack/VnForeignEmployeePack.dc.html +1 -0
- package/templates/vn-foreign-employee-pack/support.js +1 -1
- package/templates/vn-framework-agreement/support.js +1 -1
- package/templates/vn-grassroots-democracy/support.js +1 -1
- package/templates/vn-infosec-policy/support.js +1 -1
- package/templates/vn-internal-labor-regulations/support.js +1 -1
- package/templates/vn-internship-agreement/support.js +1 -1
- package/templates/vn-job-description/support.js +1 -1
- package/templates/vn-labor-contract/support.js +1 -1
- package/templates/vn-labour-management-book/VnLabourManagementBook.dc.html +1 -0
- package/templates/vn-labour-management-book/support.js +1 -1
- package/templates/vn-mutual-nda/support.js +1 -1
- package/templates/vn-ndnca-ip/support.js +1 -1
- package/templates/vn-offer-letter/support.js +1 -1
- package/templates/vn-onboarding-checklist/VnOnboardingChecklist.dc.html +1 -0
- package/templates/vn-onboarding-checklist/support.js +1 -1
- package/templates/vn-pdpl-consent/support.js +1 -1
- package/templates/vn-performance-evaluation-regulation/support.js +1 -1
- package/templates/vn-performance-review-form/support.js +1 -1
- package/templates/vn-phantom-stock/VnPhantomStock.dc.html +1 -0
- package/templates/vn-phantom-stock/support.js +1 -1
- package/templates/vn-probation-contract/support.js +1 -1
- package/templates/vn-receipt-acknowledgement/VnReceiptAcknowledgement.dc.html +1 -0
- package/templates/vn-receipt-acknowledgement/support.js +1 -1
- package/templates/vn-remote-work-policy/support.js +1 -1
- package/templates/vn-resignation-letter/support.js +1 -1
- package/templates/vn-salary-scale/VnSalaryScale.dc.html +1 -0
- package/templates/vn-salary-scale/support.js +1 -1
- package/templates/vn-sow-appendix/support.js +1 -1
- package/templates/vn-termination-decision/support.js +1 -1
- package/templates/vn-total-rewards-appendix/support.js +1 -1
- package/templates/vn-training-commitment/support.js +1 -1
- package/templates/vn-travel-expense-policy/support.js +1 -1
- package/tokens/base-inventory.json +22 -22
- package/tokens/component-tokens.css +38 -38
- package/tokens/declarations.json +490 -490
- package/tokens/element-seeds.json +41 -39
- package/tokens/elements.css +381 -381
- 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 +2068 -2068
- 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 +658 -615
- package/tokens/native/CSModes.swift +658 -615
- package/tokens/native/CSTokens.kt +311 -311
- package/tokens/native/CSTokens.swift +311 -311
- package/tokens/native/cs_modes.dart +658 -615
- package/tokens/native/cs_tokens.dart +311 -311
- package/tokens/native/mode-provenance.json +12 -12
- package/tokens/provenance.json +6 -6
- package/tokens/theme-attributes.css +40 -40
- package/tokens/tokens.dtcg.json +451 -394
- package/tokens/tokens.js +242 -242
- package/tokens/tokens.json +241 -241
- package/tokens/typography.css +6 -6
- package/tokens/variables.css +464 -464
- package/tokens/viewer.html +15 -11
- package/ui_kits/deck/index.html +4 -2
- package/ui_kits/status-hub/StatusHub.jsx +7 -7
- package/ui_kits/status-hub/data.js +3 -3
- package/ui_kits/status-hub/index.html +1 -0
- package/ui_kits/status-hub/login.html +8 -6
- package/ui_kits/status-hub/project.html +7 -6
- package/ui_kits/status-hub/settings.html +9 -8
- package/ui_kits/status-hub/status.css +10 -8
- package/ui_kits/website/Website.jsx +3 -3
- package/ui_kits/website/careers.html +24 -7
- package/ui_kits/website/chat.html +5 -2
- package/ui_kits/website/index.html +1 -0
- package/ui_kits/website/site.css +30 -6
- package/ui_kits/website/work.html +12 -7
- package/components/_utils/use-viewport-panel.js +0 -30
- package/dist/esm/chunks/chunk-CH4W6RCG.mjs.map +0 -7
- package/dist/esm/chunks/chunk-F3M5TQ76.mjs.map +0 -7
- package/dist/esm/chunks/chunk-GWBINWTF.mjs.map +0 -7
- package/dist/esm/chunks/chunk-IH4I7JSB.mjs.map +0 -7
- package/dist/esm/chunks/chunk-JN57OITY.mjs.map +0 -7
- package/dist/esm/chunks/chunk-UFE32JPH.mjs.map +0 -7
- /package/dist/esm/chunks/{chunk-FEUTSZBN.mjs.map → chunk-2CCVFTPL.mjs.map} +0 -0
- /package/dist/esm/chunks/{chunk-W5VR7GTL.mjs.map → chunk-2VVGZEOQ.mjs.map} +0 -0
- /package/dist/esm/chunks/{chunk-3RC4CDAE.mjs.map → chunk-3R5WJQCB.mjs.map} +0 -0
- /package/dist/esm/chunks/{chunk-W6N22NMF.mjs.map → chunk-4FGB6VHN.mjs.map} +0 -0
- /package/dist/esm/chunks/{chunk-YZR3C7V2.mjs.map → chunk-4TO35YGK.mjs.map} +0 -0
- /package/dist/esm/chunks/{chunk-JSAPFO73.mjs.map → chunk-4YWKKULF.mjs.map} +0 -0
- /package/dist/esm/chunks/{chunk-W2RF4NWB.mjs.map → chunk-5FQGNCKS.mjs.map} +0 -0
- /package/dist/esm/chunks/{chunk-SYCXNMYP.mjs.map → chunk-6ECKJ6RS.mjs.map} +0 -0
- /package/dist/esm/chunks/{chunk-72AUOI37.mjs.map → chunk-6TZDNLHE.mjs.map} +0 -0
- /package/dist/esm/chunks/{chunk-QGCPHFSI.mjs.map → chunk-72STPBL4.mjs.map} +0 -0
- /package/dist/esm/chunks/{chunk-37AN57S5.mjs.map → chunk-7GSR2NGL.mjs.map} +0 -0
- /package/dist/esm/chunks/{chunk-A3PGQW3X.mjs.map → chunk-AA5BSO3T.mjs.map} +0 -0
- /package/dist/esm/chunks/{chunk-NH6M42ZI.mjs.map → chunk-ASGO2FW5.mjs.map} +0 -0
- /package/dist/esm/chunks/{chunk-GP5ITSCH.mjs.map → chunk-C3NAMBA7.mjs.map} +0 -0
- /package/dist/esm/chunks/{chunk-YA7Y7PEC.mjs.map → chunk-CKBL3UEA.mjs.map} +0 -0
- /package/dist/esm/chunks/{chunk-H7EJ7TNP.mjs.map → chunk-CYZ22MB7.mjs.map} +0 -0
- /package/dist/esm/chunks/{chunk-JRIWHAWW.mjs.map → chunk-D7A4ZCMJ.mjs.map} +0 -0
- /package/dist/esm/chunks/{chunk-A7RWM4XH.mjs.map → chunk-DANUZS4S.mjs.map} +0 -0
- /package/dist/esm/chunks/{chunk-FAVSLU7E.mjs.map → chunk-DFBKBVSE.mjs.map} +0 -0
- /package/dist/esm/chunks/{chunk-TNHQB6CI.mjs.map → chunk-DW4AWLA5.mjs.map} +0 -0
- /package/dist/esm/chunks/{chunk-5R5KMLUR.mjs.map → chunk-DWJIX65T.mjs.map} +0 -0
- /package/dist/esm/chunks/{chunk-YJNSQ5PJ.mjs.map → chunk-EITZT2U5.mjs.map} +0 -0
- /package/dist/esm/chunks/{chunk-CSJHR2W2.mjs.map → chunk-EOCMQT4L.mjs.map} +0 -0
- /package/dist/esm/chunks/{chunk-4QBKN42N.mjs.map → chunk-EXOOST5G.mjs.map} +0 -0
- /package/dist/esm/chunks/{chunk-7HTAAMIY.mjs.map → chunk-FF5D53IP.mjs.map} +0 -0
- /package/dist/esm/chunks/{chunk-JNK7QN24.mjs.map → chunk-FOEJO2YQ.mjs.map} +0 -0
- /package/dist/esm/chunks/{chunk-HYQG5XND.mjs.map → chunk-GLPQBE2J.mjs.map} +0 -0
- /package/dist/esm/chunks/{chunk-HUW6OY7C.mjs.map → chunk-GNEVR5Q4.mjs.map} +0 -0
- /package/dist/esm/chunks/{chunk-SEYKDGXE.mjs.map → chunk-H4TKHAB3.mjs.map} +0 -0
- /package/dist/esm/chunks/{chunk-OR5UTKW7.mjs.map → chunk-I3H7EAH5.mjs.map} +0 -0
- /package/dist/esm/chunks/{chunk-P64YS5W2.mjs.map → chunk-I3PQVFX5.mjs.map} +0 -0
- /package/dist/esm/chunks/{chunk-5MR3C2QG.mjs.map → chunk-IOEWPBAL.mjs.map} +0 -0
- /package/dist/esm/chunks/{chunk-TN2MZXGS.mjs.map → chunk-JIHWIDMP.mjs.map} +0 -0
- /package/dist/esm/chunks/{chunk-YX62AV33.mjs.map → chunk-KAOUK33L.mjs.map} +0 -0
- /package/dist/esm/chunks/{chunk-UVJ5BBQG.mjs.map → chunk-KWPNHP73.mjs.map} +0 -0
- /package/dist/esm/chunks/{chunk-BABSYWVB.mjs.map → chunk-LCC4ZVVO.mjs.map} +0 -0
- /package/dist/esm/chunks/{chunk-HVF4NT6P.mjs.map → chunk-MRXEJSQQ.mjs.map} +0 -0
- /package/dist/esm/chunks/{chunk-DIIXA7WD.mjs.map → chunk-NZKMM4FK.mjs.map} +0 -0
- /package/dist/esm/chunks/{chunk-CLWTVJM3.mjs.map → chunk-OEWAQZYE.mjs.map} +0 -0
- /package/dist/esm/chunks/{chunk-OOZKMXYB.mjs.map → chunk-PBP2MKZH.mjs.map} +0 -0
- /package/dist/esm/chunks/{chunk-JKKJHQVQ.mjs.map → chunk-PE6KC2U7.mjs.map} +0 -0
- /package/dist/esm/chunks/{chunk-N5TM7UIY.mjs.map → chunk-PFTKXY5Q.mjs.map} +0 -0
- /package/dist/esm/chunks/{chunk-R7QVE2JP.mjs.map → chunk-PLN3ITUB.mjs.map} +0 -0
- /package/dist/esm/chunks/{chunk-NEMFYL4X.mjs.map → chunk-QBPDNM7S.mjs.map} +0 -0
- /package/dist/esm/chunks/{chunk-JDI3UMJW.mjs.map → chunk-SIMVM4RV.mjs.map} +0 -0
- /package/dist/esm/chunks/{chunk-WJF2Q2Y3.mjs.map → chunk-TMXLSCAG.mjs.map} +0 -0
- /package/dist/esm/chunks/{chunk-TGYG7JP4.mjs.map → chunk-TNQXCIBM.mjs.map} +0 -0
- /package/dist/esm/chunks/{chunk-DHTD5KM5.mjs.map → chunk-TWCJMLGG.mjs.map} +0 -0
- /package/dist/esm/chunks/{chunk-EPFDMHPK.mjs.map → chunk-U7RKPGRO.mjs.map} +0 -0
- /package/dist/esm/chunks/{chunk-NMIGE2IM.mjs.map → chunk-UWNMGKAN.mjs.map} +0 -0
- /package/dist/esm/chunks/{chunk-KXFGO7N4.mjs.map → chunk-VAPKJRQI.mjs.map} +0 -0
- /package/dist/esm/chunks/{chunk-XTBN55D3.mjs.map → chunk-VUCJT2QJ.mjs.map} +0 -0
- /package/dist/esm/chunks/{chunk-TVTBVHT2.mjs.map → chunk-WLANQTOU.mjs.map} +0 -0
- /package/dist/esm/chunks/{chunk-3MCNCG2L.mjs.map → chunk-XZ5NWMO7.mjs.map} +0 -0
- /package/dist/esm/chunks/{chunk-QPXQZBQC.mjs.map → chunk-YKU2KVAQ.mjs.map} +0 -0
- /package/dist/esm/chunks/{chunk-ZKFOGW4D.mjs.map → chunk-YLSFKG64.mjs.map} +0 -0
- /package/dist/esm/chunks/{chunk-TO2T6EEB.mjs.map → chunk-YVSAUCWW.mjs.map} +0 -0
- /package/dist/esm/chunks/{chunk-XN74VX5H.mjs.map → chunk-ZKBAIIAQ.mjs.map} +0 -0
- /package/dist/esm/chunks/{chunk-7IJTTRPK.mjs.map → chunk-ZPLENPV2.mjs.map} +0 -0
package/docs/vi/ci-cd.md
CHANGED
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
5. **`docs-consistency-blocker`** — merge blocker `docs-consistency` + `bilingual-parity`.
|
|
19
19
|
6. **`whole-set-audits`** — quyết định B của owner: mọi push/PR, cộng nightly `0 3 * * *` và `workflow_dispatch` (responsive + language + theme overflow, ~15–20 phút).
|
|
20
20
|
7. **`figma-variables-push`** — trên push `main` + thủ công. **`FIGMA_TOKEN` / `FIGMA_FILE_KEY` trống → soft-skip** (exit 0 + report). Quyết định A giữ tích hợp này ở trạng thái tùy chọn. Khi có thông tin xác thực, chỉ phản hồi giới hạn truy cập Variables và API không khả dụng đã mô tả trong `docs/figma.md` mới được soft-skip. Lỗi scope khi kiểm tra file, lỗi quyền ghi thông thường và dữ liệu token local không hợp lệ vẫn là lỗi cứng. Soft-skip không chứng minh đã đồng bộ Variables live.
|
|
21
|
-
8. **`pixel-diff`** — so sánh ảnh chụp màn hình Playwright Chromium (`_audit/ci/pixel-diff.mjs`) với
|
|
21
|
+
8. **`pixel-diff`** — so sánh ảnh chụp màn hình Playwright Chromium (`_audit/ci/pixel-diff.mjs`) với 16 baseline chọn lọc trong `_audit/baselines/*.png`; upload `pixel-baselines-linux` và `_audit/ci/pixel-diff-report.json`.
|
|
22
22
|
9. **`regenerate-tokens`** (pull request) + **`regenerate-tokens-push`** (push `main` / schedule / thủ công) — path filter phủ element seeds/packs (`element-seeds.json`, `elements.css`, mirror JSON/JS/DTCG, `generate-element-packs.mjs`) cộng natives / `VERSION`. Regenerate chạy `npm run tokens:generate`, gồm toàn bộ export token, bản sao native và output/catalog phụ thuộc. Trên **pull request** job chạy với `contents: read`, không bao giờ push, và **exit 1** khi có drift: chạy pipeline này ở local rồi chuẩn bị diff đã review (freshness bắt buộc trên PR). Chỉ job song sinh push/schedule/thủ công giữ `contents: write` và có thể auto-commit với `PUSH_TOKEN` (hoặc `github.token`). Auto-commit **không** dùng `[skip ci]` — tip được push phải chạy lại bảng gate (FIND-021 / TASK-IMP-008); lần chạy thứ hai deterministic là no-op.
|
|
23
23
|
10. **`npm-hello-smoke`** — chứng minh consumer registry cho `@cyberskill/design@$VERSION` (**fail-closed**, FIND-087): `examples/npm-hello` → `npm install` từ registry + `npm run smoke`. Nếu VERSION **không** có trên registry, job **fail** (không soft-skip pack proof trên `cyberskill-official/design`). Fork chỉ được opt-in pack local khi đặt biến repo **`NPM_HELLO_ALLOW_LOCAL_PACK=true`**. Path-filtered trên push/PR khi `examples/npm-hello/**`, bề mặt publish package, hoặc workflow này đổi; luôn chạy trên schedule / `workflow_dispatch`.
|
|
24
24
|
11. **`notify-schedule-failure`** — phát error annotation và exit 1 khi lượt chạy lịch trình hàng đêm bị lỗi; job không tạo hoặc cập nhật issue.
|
package/docs/vi/component-api.md
CHANGED
|
@@ -18,7 +18,7 @@ Hợp đồng công khai cho export được chọn là bộ ba `.d.ts`, `.jsx`,
|
|
|
18
18
|
|
|
19
19
|
Với component khai báo `value`, `defaultValue`, `onChange`, `value` là state controlled, `defaultValue` khởi tạo state local, `onChange` báo thay đổi. Đối số callback theo khai báo từng component: có thể là scalar, collection hoặc event. Không thay DOM event native cho callback khai báo trả giá trị. Không chuyển quyền quản lý controlled/local trong một lần mount. [Consuming](consuming.md) mô tả ngoại lệ hiện tại và tích hợp form.
|
|
20
20
|
|
|
21
|
-
|
|
21
|
+
Callback open-state dùng chung `onOpenChange(open)`. Dialog, Drawer, Tour, CommandPalette, Toast và Alert nhận callback này. `onClose` vẫn là alias không tham số được hỗ trợ và vẫn chạy sau `onOpenChange(false)`. `onDismiss` của Alert vẫn là handler click được hỗ trợ và vẫn chạy sau hai callback kia. Callback form được await chấp nhận kiểu trả về bất đồng bộ đã khai báo. Dùng khai báo của export được chọn thay vì giả định mọi component hỗ trợ bộ ba ownership.
|
|
22
22
|
|
|
23
23
|
## Composition, ref và attribute native
|
|
24
24
|
|
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.2.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 và inventory sibling bên dưới chỉ bản ổn định 1.7.2 đã công bố, 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.2.0.
|
|
4
4
|
|
|
5
5
|
Xuất bản trên Storybook **Docs** tại `design.cyberskill.world`.
|
|
6
6
|
|
|
@@ -14,6 +14,81 @@ Pack được generate từ `tokens/element-seeds.json` (thang soft / middle / d
|
|
|
14
14
|
| root (Thổ mặc định) | accent-bright trên ink (tiêu đề) | #F4BA17 / #45210E | 66.3 | ✓ |
|
|
15
15
|
| root (Thổ mặc định) | accent-on trên accent-bright (chữ CTA) | #45210E / #F4BA17 | 66.3 | ✓ |
|
|
16
16
|
| root (Thổ mặc định) | accent-bright trên panel tối (nhãn dark) | #F4BA17 / #221710 | 69.2 | ✓ |
|
|
17
|
+
| tho · sand | text-accent trên trắng (nhãn đậm) | #695300 / #FFFFFF | 85.5 | ✓ |
|
|
18
|
+
| tho · sand | text-accent trên tint (nhãn đậm) | #695300 / #FEF8E7 | 81.4 | ✓ |
|
|
19
|
+
| tho · sand | accent-bright trên ink (tiêu đề) | #FDEAB7 / #292108 | 92.5 | ✓ |
|
|
20
|
+
| tho · sand | accent-on trên accent-bright (chữ CTA) | #271E06 / #FDEAB7 | 91.6 | ✓ |
|
|
21
|
+
| tho · sand | accent-bright trên panel tối (nhãn dark) | #F9E5AE / #221710 | 90.5 | ✓ |
|
|
22
|
+
| tho | text-accent trên trắng (nhãn đậm) | #6E3B0E / #FFFFFF | 90.7 | ✓ |
|
|
23
|
+
| tho | text-accent trên tint (nhãn đậm) | #6E3B0E / #FBF4E9 | 84.6 | ✓ |
|
|
24
|
+
| tho | accent-bright trên ink (tiêu đề) | #F4BA17 / #45210E | 66.3 | ✓ |
|
|
25
|
+
| tho | accent-on trên accent-bright (chữ CTA) | #45210E / #F4BA17 | 66.3 | ✓ |
|
|
26
|
+
| tho | accent-bright trên panel tối (nhãn dark) | #FDD378 / #221710 | 81.9 | ✓ |
|
|
27
|
+
| tho · clay | text-accent trên trắng (nhãn đậm) | #462402 / #FFFFFF | 100.2 | ✓ |
|
|
28
|
+
| tho · clay | text-accent trên tint (nhãn đậm) | #462402 / #FCEEE3 | 91.5 | ✓ |
|
|
29
|
+
| tho · clay | accent-bright trên ink (tiêu đề) | #F2C5A3 / #321B07 | 74.4 | ✓ |
|
|
30
|
+
| tho · clay | accent-on trên accent-bright (chữ CTA) | #080200 / #F2C5A3 | 77.4 | ✓ |
|
|
31
|
+
| tho · clay | accent-bright trên panel tối (nhãn dark) | #F8C7A1 / #221710 | 77.1 | ✓ |
|
|
32
|
+
| hoa · plasma | text-accent trên trắng (nhãn đậm) | #714B4D / #FFFFFF | 85.8 | ✓ |
|
|
33
|
+
| hoa · plasma | text-accent trên tint (nhãn đậm) | #714B4D / #FFF5F5 | 81.1 | ✓ |
|
|
34
|
+
| hoa · plasma | accent-bright trên ink (tiêu đề) | #FFE3E4 / #2B1E1E | 91.5 | ✓ |
|
|
35
|
+
| hoa · plasma | accent-on trên accent-bright (chữ CTA) | #281B1C / #FFE3E4 | 90.8 | ✓ |
|
|
36
|
+
| hoa · plasma | accent-bright trên panel tối (nhãn dark) | #FDDDDE / #221710 | 89.4 | ✓ |
|
|
37
|
+
| hoa | text-accent trên trắng (nhãn đậm) | #793609 / #FFFFFF | 90 | ✓ |
|
|
38
|
+
| hoa | text-accent trên tint (nhãn đậm) | #793609 / #FFF1EA | 83.2 | ✓ |
|
|
39
|
+
| hoa | accent-bright trên ink (tiêu đề) | #FFD3BD / #3A1501 | 83 | ✓ |
|
|
40
|
+
| hoa | accent-on trên accent-bright (chữ CTA) | #361402 / #FFD3BD | 82.8 | ✓ |
|
|
41
|
+
| hoa | accent-bright trên panel tối (nhãn dark) | #FECDB4 / #221710 | 81.2 | ✓ |
|
|
42
|
+
| hoa · lava | text-accent trên trắng (nhãn đậm) | #550306 / #FFFFFF | 100.5 | ✓ |
|
|
43
|
+
| hoa · lava | text-accent trên tint (nhãn đậm) | #550306 / #FFEBE9 | 91.1 | ✓ |
|
|
44
|
+
| hoa · lava | accent-bright trên ink (tiêu đề) | #FFBCB4 / #400C0B | 73.4 | ✓ |
|
|
45
|
+
| hoa · lava | accent-on trên accent-bright (chữ CTA) | #0D0000 / #FFBCB4 | 76.6 | ✓ |
|
|
46
|
+
| hoa · lava | accent-bright trên panel tối (nhãn dark) | #FFC1B9 / #221710 | 76.7 | ✓ |
|
|
47
|
+
| thuy · mist | text-accent trên trắng (nhãn đậm) | #116060 / #FFFFFF | 85.1 | ✓ |
|
|
48
|
+
| thuy · mist | text-accent trên tint (nhãn đậm) | #116060 / #E6FDFC | 81.1 | ✓ |
|
|
49
|
+
| thuy · mist | accent-bright trên ink (tiêu đề) | #B1FBF9 / #032727 | 94 | ✓ |
|
|
50
|
+
| thuy · mist | accent-on trên accent-bright (chữ CTA) | #012525 / #B1FBF9 | 92.7 | ✓ |
|
|
51
|
+
| thuy · mist | accent-bright trên panel tối (nhãn dark) | #A6F8F6 / #221710 | 92.7 | ✓ |
|
|
52
|
+
| thuy | text-accent trên trắng (nhãn đậm) | #0D535C / #FFFFFF | 89.5 | ✓ |
|
|
53
|
+
| thuy | text-accent trên tint (nhãn đậm) | #0D535C / #DFFBFF | 84 | ✓ |
|
|
54
|
+
| thuy | accent-bright trên ink (tiêu đề) | #94EFFD / #03272C | 85.8 | ✓ |
|
|
55
|
+
| thuy | accent-on trên accent-bright (chữ CTA) | #012429 / #94EFFD | 85.4 | ✓ |
|
|
56
|
+
| thuy | accent-bright trên panel tối (nhãn dark) | #79EDFF / #221710 | 84.6 | ✓ |
|
|
57
|
+
| thuy · ocean | text-accent trên trắng (nhãn đậm) | #003142 / #FFFFFF | 100.1 | ✓ |
|
|
58
|
+
| thuy · ocean | text-accent trên tint (nhãn đậm) | #003142 / #E5F3FA | 91.5 | ✓ |
|
|
59
|
+
| thuy · ocean | accent-bright trên ink (tiêu đề) | #A9D8ED / #092531 | 76.1 | ✓ |
|
|
60
|
+
| thuy · ocean | accent-on trên accent-bright (chữ CTA) | #001721 / #A9D8ED | 78.1 | ✓ |
|
|
61
|
+
| thuy · ocean | accent-bright trên panel tối (nhãn dark) | #A5D8F0 / #221710 | 77.1 | ✓ |
|
|
62
|
+
| moc · bamboo | text-accent trên trắng (nhãn đậm) | #4A5B02 / #FFFFFF | 86 | ✓ |
|
|
63
|
+
| moc · bamboo | text-accent trên tint (nhãn đậm) | #4A5B02 / #F5FBE8 | 82.1 | ✓ |
|
|
64
|
+
| moc · bamboo | accent-bright trên ink (tiêu đề) | #E2F4BA / #1E250A | 93.4 | ✓ |
|
|
65
|
+
| moc · bamboo | accent-on trên accent-bright (chữ CTA) | #1C2307 / #E2F4BA | 92.3 | ✓ |
|
|
66
|
+
| moc · bamboo | accent-bright trên panel tối (nhãn dark) | #DCF0B1 / #221710 | 91.7 | ✓ |
|
|
67
|
+
| moc | text-accent trên trắng (nhãn đậm) | #24570B / #FFFFFF | 89.2 | ✓ |
|
|
68
|
+
| moc | text-accent trên tint (nhãn đậm) | #24570B / #EAFAE5 | 83.4 | ✓ |
|
|
69
|
+
| moc | accent-bright trên ink (tiêu đề) | #B9F0A6 / #0D2902 | 85.9 | ✓ |
|
|
70
|
+
| moc | accent-on trên accent-bright (chữ CTA) | #0A2700 / #B9F0A6 | 85.4 | ✓ |
|
|
71
|
+
| moc | accent-bright trên panel tối (nhãn dark) | #B2EC9E / #221710 | 84.5 | ✓ |
|
|
72
|
+
| moc · forest | text-accent trên trắng (nhãn đậm) | #04361D / #FFFFFF | 99.7 | ✓ |
|
|
73
|
+
| moc · forest | text-accent trên tint (nhãn đậm) | #04361D / #E6F5EB | 91.5 | ✓ |
|
|
74
|
+
| moc · forest | accent-bright trên ink (tiêu đề) | #ACDDBD / #0B2818 | 76.4 | ✓ |
|
|
75
|
+
| moc · forest | accent-on trên accent-bright (chữ CTA) | #011C0D / #ACDDBD | 78.1 | ✓ |
|
|
76
|
+
| moc · forest | accent-bright trên panel tối (nhãn dark) | #A8DFBB / #221710 | 78.3 | ✓ |
|
|
77
|
+
| kim · titanium | text-accent trên trắng (nhãn đậm) | #3D5670 / #FFFFFF | 86.4 | ✓ |
|
|
78
|
+
| kim · titanium | text-accent trên tint (nhãn đậm) | #3D5670 / #F3F8FE | 81.8 | ✓ |
|
|
79
|
+
| kim · titanium | accent-bright trên ink (tiêu đề) | #DDEDFF / #1A232B | 92.5 | ✓ |
|
|
80
|
+
| kim · titanium | accent-on trên accent-bright (chữ CTA) | #182029 / #DDEDFF | 91.6 | ✓ |
|
|
81
|
+
| kim · titanium | accent-bright trên panel tối (nhãn dark) | #D6E9FD / #221710 | 90.8 | ✓ |
|
|
82
|
+
| kim | text-accent trên trắng (nhãn đậm) | #564B27 / #FFFFFF | 89.6 | ✓ |
|
|
83
|
+
| kim | text-accent trên tint (nhãn đậm) | #564B27 / #F8F4EA | 83.2 | ✓ |
|
|
84
|
+
| kim | accent-bright trên ink (tiêu đề) | #E8DEBD / #262112 | 84.3 | ✓ |
|
|
85
|
+
| kim | accent-on trên accent-bright (chữ CTA) | #241F0F / #E8DEBD | 84 | ✓ |
|
|
86
|
+
| kim | accent-bright trên panel tối (nhãn dark) | #E3D9B8 / #221710 | 82.3 | ✓ |
|
|
87
|
+
| kim · steel | text-accent trên trắng (nhãn đậm) | #1B2E4C / #FFFFFF | 100 | ✓ |
|
|
88
|
+
| kim · steel | text-accent trên tint (nhãn đậm) | #1B2E4C / #EBF1FB | 91.4 | ✓ |
|
|
89
|
+
| kim · steel | accent-bright trên ink (tiêu đề) | #BED0F0 / #182232 | 75 | ✓ |
|
|
90
|
+
| kim · steel | accent-on trên accent-bright (chữ CTA) | #020818 / #BED0F0 | 78 | ✓ |
|
|
91
|
+
| kim · steel | accent-bright trên panel tối (nhãn dark) | #BBD0F4 / #221710 | 76 | ✓ |
|
|
17
92
|
|
|
18
93
|
**Số cặp không đạt: 0.** Mọi cặp chữ đều đạt Lc ≥ 60.
|
|
19
94
|
|
|
@@ -24,6 +99,81 @@ Pack được generate từ `tokens/element-seeds.json` (thang soft / middle / d
|
|
|
24
99
|
Các dòng dùng màu `--cs-color-link` đã khai báo cho light hoặc dark. Nền trắng, trang tham chiếu, nền nâng tham chiếu và panel tối tham chiếu là các màu cố định; vai trò nền của element dùng `color-mix()` và không được đo trong những dòng này. Kiểm tra nền đã render, tùy chọn và tương tác có phạm vi riêng.
|
|
25
100
|
| Phạm vi | Cặp màu | chữ / nền | Tỷ lệ | Kết quả |
|
|
26
101
|
|---|---|---|---|---|
|
|
102
|
+
| tho · sand | liên kết trên trắng (chữ thân) | #695300 / #FFFFFF | 7.40:1 | ✓ |
|
|
103
|
+
| tho · sand | liên kết trên trang tham chiếu (chữ thân) | #695300 / #FFFDF8 | 7.28:1 | ✓ |
|
|
104
|
+
| tho · sand | liên kết trên tint (chữ thân) | #695300 / #FEF8E7 | 6.98:1 | ✓ |
|
|
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
|
+
| 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) | #644A05 / #FFFFFF | 8.32:1 | ✓ |
|
|
108
|
+
| tho | liên kết trên trang tham chiếu (chữ thân) | #644A05 / #FFFDF8 | 8.19:1 | ✓ |
|
|
109
|
+
| tho | liên kết trên tint (chữ thân) | #644A05 / #FBF4E9 | 7.62:1 | ✓ |
|
|
110
|
+
| tho | liên kết trên nền kem nâng tham chiếu (chữ thân) | #644A05 / #FBF4E9 | 7.62:1 | ✓ |
|
|
111
|
+
| tho | liên kết trên panel tối tham chiếu (chữ thân) | #FFD57A / #221710 | 12.56:1 | ✓ |
|
|
112
|
+
| tho · clay | liên kết trên trắng (chữ thân) | #462402 / #FFFFFF | 13.87:1 | ✓ |
|
|
113
|
+
| tho · clay | liên kết trên trang tham chiếu (chữ thân) | #462402 / #FFFDF8 | 13.65:1 | ✓ |
|
|
114
|
+
| tho · clay | liên kết trên tint (chữ thân) | #462402 / #FCEEE3 | 12.21:1 | ✓ |
|
|
115
|
+
| tho · clay | liên kết trên nền kem nâng tham chiếu (chữ thân) | #462402 / #FBF4E9 | 12.70:1 | ✓ |
|
|
116
|
+
| tho · clay | liên kết trên panel tối tham chiếu (chữ thân) | #FFD2AF / #221710 | 12.60:1 | ✓ |
|
|
117
|
+
| hoa · plasma | liên kết trên trắng (chữ thân) | #714B4D / #FFFFFF | 7.46:1 | ✓ |
|
|
118
|
+
| hoa · plasma | liên kết trên trang tham chiếu (chữ thân) | #714B4D / #FFFDF8 | 7.34:1 | ✓ |
|
|
119
|
+
| hoa · plasma | liên kết trên tint (chữ thân) | #714B4D / #FFF5F5 | 6.97:1 | ✓ |
|
|
120
|
+
| hoa · plasma | liên kết trên nền kem nâng tham chiếu (chữ thân) | #714B4D / #FBF4E9 | 6.83:1 | ✓ |
|
|
121
|
+
| hoa · plasma | liên kết trên panel tối tham chiếu (chữ thân) | #FDDDDE / #221710 | 13.83:1 | ✓ |
|
|
122
|
+
| hoa | liên kết trên trắng (chữ thân) | #793609 / #FFFFFF | 8.96:1 | ✓ |
|
|
123
|
+
| hoa | liên kết trên trang tham chiếu (chữ thân) | #793609 / #FFFDF8 | 8.81:1 | ✓ |
|
|
124
|
+
| hoa | liên kết trên tint (chữ thân) | #793609 / #FFF1EA | 8.11:1 | ✓ |
|
|
125
|
+
| hoa | liên kết trên nền kem nâng tham chiếu (chữ thân) | #793609 / #FBF4E9 | 8.20:1 | ✓ |
|
|
126
|
+
| hoa | liên kết trên panel tối tham chiếu (chữ thân) | #FFD1BA / #221710 | 12.59:1 | ✓ |
|
|
127
|
+
| hoa · lava | liên kết trên trắng (chữ thân) | #550306 / #FFFFFF | 14.98:1 | ✓ |
|
|
128
|
+
| hoa · lava | liên kết trên trang tham chiếu (chữ thân) | #550306 / #FFFDF8 | 14.74:1 | ✓ |
|
|
129
|
+
| hoa · lava | liên kết trên tint (chữ thân) | #550306 / #FFEBE9 | 13.06:1 | ✓ |
|
|
130
|
+
| hoa · lava | liên kết trên nền kem nâng tham chiếu (chữ thân) | #550306 / #FBF4E9 | 13.71:1 | ✓ |
|
|
131
|
+
| hoa · lava | liên kết trên panel tối tham chiếu (chữ thân) | #FDD0CA / #221710 | 12.56:1 | ✓ |
|
|
132
|
+
| thuy · mist | liên kết trên trắng (chữ thân) | #116060 / #FFFFFF | 7.33:1 | ✓ |
|
|
133
|
+
| thuy · mist | liên kết trên trang tham chiếu (chữ thân) | #116060 / #FFFDF8 | 7.21:1 | ✓ |
|
|
134
|
+
| thuy · mist | liên kết trên tint (chữ thân) | #116060 / #E6FDFC | 6.92:1 | ✓ |
|
|
135
|
+
| thuy · mist | liên kết trên nền kem nâng tham chiếu (chữ thân) | #116060 / #FBF4E9 | 6.71:1 | ✓ |
|
|
136
|
+
| thuy · mist | liên kết trên panel tối tham chiếu (chữ thân) | #A6F8F6 / #221710 | 14.51:1 | ✓ |
|
|
137
|
+
| thuy | liên kết trên trắng (chữ thân) | #0D535C / #FFFFFF | 8.72:1 | ✓ |
|
|
138
|
+
| thuy | liên kết trên trang tham chiếu (chữ thân) | #0D535C / #FFFDF8 | 8.58:1 | ✓ |
|
|
139
|
+
| thuy | liên kết trên tint (chữ thân) | #0D535C / #DFFBFF | 8.05:1 | ✓ |
|
|
140
|
+
| thuy | liên kết trên nền kem nâng tham chiếu (chữ thân) | #0D535C / #FBF4E9 | 7.98:1 | ✓ |
|
|
141
|
+
| thuy | liên kết trên panel tối tham chiếu (chữ thân) | #79EDFF / #221710 | 12.83:1 | ✓ |
|
|
142
|
+
| thuy · ocean | liên kết trên trắng (chữ thân) | #003142 / #FFFFFF | 13.83:1 | ✓ |
|
|
143
|
+
| thuy · ocean | liên kết trên trang tham chiếu (chữ thân) | #003142 / #FFFDF8 | 13.61:1 | ✓ |
|
|
144
|
+
| thuy · ocean | liên kết trên tint (chữ thân) | #003142 / #E5F3FA | 12.21:1 | ✓ |
|
|
145
|
+
| thuy · ocean | liên kết trên nền kem nâng tham chiếu (chữ thân) | #003142 / #FBF4E9 | 12.66:1 | ✓ |
|
|
146
|
+
| thuy · ocean | liên kết trên panel tối tham chiếu (chữ thân) | #AFE2FA / #221710 | 12.59:1 | ✓ |
|
|
147
|
+
| moc · bamboo | liên kết trên trắng (chữ thân) | #4A5B02 / #FFFFFF | 7.53:1 | ✓ |
|
|
148
|
+
| moc · bamboo | liên kết trên trang tham chiếu (chữ thân) | #4A5B02 / #FFFDF8 | 7.41:1 | ✓ |
|
|
149
|
+
| moc · bamboo | liên kết trên tint (chữ thân) | #4A5B02 / #F5FBE8 | 7.12:1 | ✓ |
|
|
150
|
+
| moc · bamboo | liên kết trên nền kem nâng tham chiếu (chữ thân) | #4A5B02 / #FBF4E9 | 6.89:1 | ✓ |
|
|
151
|
+
| moc · bamboo | liên kết trên panel tối tham chiếu (chữ thân) | #DCF0B1 / #221710 | 14.31:1 | ✓ |
|
|
152
|
+
| moc | liên kết trên trắng (chữ thân) | #24570B / #FFFFFF | 8.60:1 | ✓ |
|
|
153
|
+
| moc | liên kết trên trang tham chiếu (chữ thân) | #24570B / #FFFDF8 | 8.46:1 | ✓ |
|
|
154
|
+
| moc | liên kết trên tint (chữ thân) | #24570B / #EAFAE5 | 7.90:1 | ✓ |
|
|
155
|
+
| moc | liên kết trên nền kem nâng tham chiếu (chữ thân) | #24570B / #FBF4E9 | 7.87:1 | ✓ |
|
|
156
|
+
| moc | liên kết trên panel tối tham chiếu (chữ thân) | #B2EC9E / #221710 | 12.84:1 | ✓ |
|
|
157
|
+
| moc · forest | liên kết trên trắng (chữ thân) | #04361D / #FFFFFF | 13.54:1 | ✓ |
|
|
158
|
+
| moc · forest | liên kết trên trang tham chiếu (chữ thân) | #04361D / #FFFDF8 | 13.32:1 | ✓ |
|
|
159
|
+
| moc · forest | liên kết trên tint (chữ thân) | #04361D / #E6F5EB | 12.01:1 | ✓ |
|
|
160
|
+
| moc · forest | liên kết trên nền kem nâng tham chiếu (chữ thân) | #04361D / #FBF4E9 | 12.39:1 | ✓ |
|
|
161
|
+
| moc · forest | liên kết trên panel tối tham chiếu (chữ thân) | #B0E7C3 / #221710 | 12.57:1 | ✓ |
|
|
162
|
+
| kim · titanium | liên kết trên trắng (chữ thân) | #3D5670 / #FFFFFF | 7.60:1 | ✓ |
|
|
163
|
+
| kim · titanium | liên kết trên trang tham chiếu (chữ thân) | #3D5670 / #FFFDF8 | 7.48:1 | ✓ |
|
|
164
|
+
| kim · titanium | liên kết trên tint (chữ thân) | #3D5670 / #F3F8FE | 7.12:1 | ✓ |
|
|
165
|
+
| kim · titanium | liên kết trên nền kem nâng tham chiếu (chữ thân) | #3D5670 / #FBF4E9 | 6.95:1 | ✓ |
|
|
166
|
+
| kim · titanium | liên kết trên panel tối tham chiếu (chữ thân) | #D6E9FD / #221710 | 14.13:1 | ✓ |
|
|
167
|
+
| kim | liên kết trên trắng (chữ thân) | #564B27 / #FFFFFF | 8.64:1 | ✓ |
|
|
168
|
+
| kim | liên kết trên trang tham chiếu (chữ thân) | #564B27 / #FFFDF8 | 8.50:1 | ✓ |
|
|
169
|
+
| kim | liên kết trên tint (chữ thân) | #564B27 / #F8F4EA | 7.86:1 | ✓ |
|
|
170
|
+
| kim | liên kết trên nền kem nâng tham chiếu (chữ thân) | #564B27 / #FBF4E9 | 7.90:1 | ✓ |
|
|
171
|
+
| kim | liên kết trên panel tối tham chiếu (chữ thân) | #E5DBBA / #221710 | 12.66:1 | ✓ |
|
|
172
|
+
| kim · steel | liên kết trên trắng (chữ thân) | #1B2E4C / #FFFFFF | 13.62:1 | ✓ |
|
|
173
|
+
| kim · steel | liên kết trên trang tham chiếu (chữ thân) | #1B2E4C / #FFFDF8 | 13.40:1 | ✓ |
|
|
174
|
+
| kim · steel | liên kết trên tint (chữ thân) | #1B2E4C / #EBF1FB | 12.00:1 | ✓ |
|
|
175
|
+
| kim · steel | liên kết trên nền kem nâng tham chiếu (chữ thân) | #1B2E4C / #FBF4E9 | 12.47:1 | ✓ |
|
|
176
|
+
| kim · steel | liên kết trên panel tối tham chiếu (chữ thân) | #C8DBFD / #221710 | 12.53:1 | ✓ |
|
|
27
177
|
|
|
28
178
|
**Số cặp liên kết không đạt: 0.**
|
|
29
179
|
|
|
@@ -32,6 +182,36 @@ Các dòng dùng màu `--cs-color-link` đã khai báo cho light hoặc dark. N
|
|
|
32
182
|
Ghép `--cs-accent-strong` với `--cs-accent-on-strong`: cả pack light và dark phải đạt ngưỡng chữ thân Lc ≥ 75 (mục tiêu của generator là 78) và WCAG ≥ 4.5:1. Nút primary ở chế độ dark dùng màu chữ đi cặp này. Các màu neo thương hiệu và tám vai trò accent còn lại giữ nguyên giá trị.
|
|
33
183
|
| Phạm vi | Chế độ | chữ / nền | Lc | Kết quả |
|
|
34
184
|
|---|---|---|---|---|
|
|
185
|
+
| tho · sand | sáng | #FFFFFF / #856A03 | 80.8 | ✓ |
|
|
186
|
+
| tho · sand | tối | #FFFFFF / #80671A | 82.2 | ✓ |
|
|
187
|
+
| tho | sáng | #FFFFFF / #916D11 | 78.4 | ✓ |
|
|
188
|
+
| tho | tối | #FFFFFF / #6E5205 | 90.1 | ✓ |
|
|
189
|
+
| tho · clay | sáng | #FFFFFF / #5A3004 | 99.5 | ✓ |
|
|
190
|
+
| tho · clay | tối | #FFFFFF / #5C3001 | 99.3 | ✓ |
|
|
191
|
+
| hoa · plasma | sáng | #FFFFFF / #896163 | 81.7 | ✓ |
|
|
192
|
+
| hoa · plasma | tối | #FFFFFF / #836061 | 82.8 | ✓ |
|
|
193
|
+
| hoa | sáng | #FFFFFF / #96440B | 87.5 | ✓ |
|
|
194
|
+
| hoa | tối | #FFFFFF / #883E0D | 90.9 | ✓ |
|
|
195
|
+
| hoa · lava | sáng | #FFFFFF / #760008 | 98.8 | ✓ |
|
|
196
|
+
| hoa · lava | tối | #FFFFFF / #6D1D19 | 99.2 | ✓ |
|
|
197
|
+
| thuy · mist | sáng | #FFFFFF / #037D7D | 79.2 | ✓ |
|
|
198
|
+
| thuy · mist | tối | #FFFFFF / #077A79 | 80.4 | ✓ |
|
|
199
|
+
| thuy | sáng | #FFFFFF / #166B76 | 85.6 | ✓ |
|
|
200
|
+
| thuy | tối | #FFFFFF / #04626D | 89.0 | ✓ |
|
|
201
|
+
| thuy · ocean | sáng | #FFFFFF / #034257 | 98.8 | ✓ |
|
|
202
|
+
| thuy · ocean | tối | #FFFFFF / #00445A | 98.2 | ✓ |
|
|
203
|
+
| moc · bamboo | sáng | #FFFFFF / #62780E | 79.7 | ✓ |
|
|
204
|
+
| moc · bamboo | tối | #FFFFFF / #607420 | 81.2 | ✓ |
|
|
205
|
+
| moc | sáng | #FFFFFF / #2B7100 | 85.1 | ✓ |
|
|
206
|
+
| moc | tối | #FFFFFF / #286704 | 88.6 | ✓ |
|
|
207
|
+
| moc · forest | sáng | #FFFFFF / #0A4829 | 98.3 | ✓ |
|
|
208
|
+
| moc · forest | tối | #FFFFFF / #074A29 | 97.8 | ✓ |
|
|
209
|
+
| kim · titanium | sáng | #FFFFFF / #56708B | 80.8 | ✓ |
|
|
210
|
+
| kim · titanium | tối | #FFFFFF / #576D83 | 82.0 | ✓ |
|
|
211
|
+
| kim | sáng | #FFFFFF / #6A5E3A | 86.9 | ✓ |
|
|
212
|
+
| kim | tối | #FFFFFF / #615633 | 90.1 | ✓ |
|
|
213
|
+
| kim · steel | sáng | #FFFFFF / #293C5C | 99.4 | ✓ |
|
|
214
|
+
| kim · steel | tối | #FFFFFF / #2B3D5D | 99.0 | ✓ |
|
|
35
215
|
|
|
36
216
|
**Số cặp chữ thân trên nền strong không đạt: 0.** Đây là phép tính tĩnh cho cặp màu đã khai báo; kiểm tra hồi quy browser và kiểm tra template/raster thực tế có phạm vi riêng. Bảng này không chứng minh tương phản khi có độ trong suốt, gradient, chuyển tiếp hay lớp phủ tùy ý.
|
|
37
217
|
|
|
@@ -40,4 +220,19 @@ Ghép `--cs-accent-strong` với `--cs-accent-on-strong`: cả pack light và da
|
|
|
40
220
|
Các ngưỡng đề xuất trong `_audit/apca-dark-preview.html`: bright ≥ 75 · accent ≥ 60 · on-strong/strong ≥ 75 · ink-on-tint ≥ 75. Accent và bright không phải vai trò chữ thân thông thường dùng được trên mọi nền.
|
|
41
221
|
| Pack | bright | accent | on | ink |
|
|
42
222
|
|---|---|---|---|---|
|
|
223
|
+
| tho · sand | 90.5 | 76.1 | 82.2 | 87.4 |
|
|
224
|
+
| tho | 81.9 | 64.7 | 90.1 | 81 |
|
|
225
|
+
| tho · clay | 77.1 | 60.6 | 99.3 | 79.4 |
|
|
226
|
+
| hoa · plasma | 89.4 | 75.1 | 82.8 | 86.4 |
|
|
227
|
+
| hoa | 81.2 | 63.2 | 90.9 | 80.3 |
|
|
228
|
+
| hoa · lava | 76.7 | 60.9 | 99.2 | 79.2 |
|
|
229
|
+
| thuy · mist | 92.7 | 78.7 | 80.4 | 89.3 |
|
|
230
|
+
| thuy | 84.6 | 67.7 | 89 | 83.5 |
|
|
231
|
+
| thuy · ocean | 77.1 | 60.9 | 98.2 | 79.2 |
|
|
232
|
+
| moc · bamboo | 91.7 | 77.9 | 81.2 | 88.4 |
|
|
233
|
+
| moc | 84.5 | 67.9 | 88.6 | 83.4 |
|
|
234
|
+
| moc · forest | 78.3 | 61.7 | 97.8 | 78.6 |
|
|
235
|
+
| kim · titanium | 90.8 | 76.5 | 82 | 87.8 |
|
|
236
|
+
| kim | 82.3 | 65.2 | 90.1 | 81.4 |
|
|
237
|
+
| kim · steel | 76 | 61.5 | 99 | 78.3 |
|
|
43
238
|
|
package/docs/vi/conventions.md
CHANGED
|
@@ -79,7 +79,7 @@ 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.2.0<!-- /cs-source-version -->**.
|
|
83
83
|
|
|
84
84
|
## Decision log (owner duyệt)
|
|
85
85
|
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
Thẻ JSX, thuộc tính, phép trải, phím literal và biểu thức tham chiếu tham số giữ vị trí chính xác trong nguồn. Phép trải ghi đích/thứ tự ghi đè chưa xác minh; biểu thức là ứng viên slot, không phải slot được chấp nhận. Class hook giữ scope tệp hiện có. Định nghĩa prop chuẩn được tham chiếu thay vì sao chép thành hệ kiểu thứ hai. Khai báo native tồn tại vẫn không chứng minh có forwarding.
|
|
6
6
|
|
|
7
|
-
`scripts/component-semantics-source.json` quản lý
|
|
7
|
+
`scripts/component-semantics-source.json` quản lý một dữ kiện đã rà soát có giới hạn trong từng nhóm trong sáu nhóm ngữ nghĩa cho đủ 120 component, cùng 161 yêu cầu hành vi trên đủ 120 component. 39 export trước đây không có yêu cầu, mỗi export nay ánh xạ một ca cổng trợ năng có tên. Yêu cầu ánh xạ tới khẳng định có tên chính xác. Mọi prop do tác giả khai báo vẫn được liệt kê vì một dữ kiện nhóm không phải hợp đồng theo từng prop. Việc có constructor trong ca có tên chỉ là tham chiếu fixture, không bao giờ đủ chứng minh bao phủ. `completeBehaviorSpecifications` đếm export đã rà soát cấu trúc, slot và ví dụ và có khẳng định trên board hành vi. `completeAccessibilitySpecifications` đếm export đã rà soát vai trò, trạng thái và bàn phím và có khẳng định trên cổng trợ năng. Hai số này không phải ma trận prop đầy đủ hay nghiệm thu trợ năng thủ công.
|
|
8
8
|
|
|
9
9
|
Ghi thực thi thật bằng `node scripts/capture-component-behavior-evidence.mjs .`, rồi `node scripts/verify-component-behavior-evidence.mjs .`. Capture chạy mọi ca hành vi và board trợ năng có tên trong Chromium, Firefox, WebKit, cộng hồi quy field-association ba engine hiện có. Verifier yêu cầu khớp chính xác nguồn, bundle, CSS, kiểm thử, vị trí assertion, tập ca và tập engine. Nó từ chối producer cũ, ca lỗi/thiếu và engine trùng. Đầu ra đạt chỉ xác minh các yêu cầu được ánh xạ trên đúng producer đã ghi. Không thay thế gate board đầy đủ, trợ năng thủ công hay nghiệm thu release.
|
|
10
10
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Tương thích tên token theo cách bổ sung
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
22 tên kebab-case sở hữu giá trị cụ thể, ví dụ `--cs-component-button-md-padding-x: 20px`. Tên camelCase đã công bố đọc tên đó, ví dụ `--cs-component-button-md-paddingX: var(--cs-component-button-md-padding-x)`. Ghi đè tên kebab cập nhật cả hai cách viết. Ghi đè riêng tên camelCase chỉ che cách viết đó và không đổi giá trị kebab. Phạm vi mật độ đặt literal kebab và trỏ tên camelCase vào đó, nên compact, comfortable và phạm vi lồng nhau vẫn nhất quán. Định danh native không đổi: hằng camelCase giữ tên cũ, hằng kebab giữ hậu tố `Alias` với cùng số.
|
|
4
4
|
|
|
5
5
|
`tokens/base-inventory.json` khai báo từng bí danh và kiểu. Extension `com.cyberskill.nativeAliasOf` cùng `nativeName` phân biệt hằng native mới như `componentButtonMdPaddingXAlias` với tên hiện có. Hai tên có cùng giá trị số đã phân giải; mọi dòng hằng Swift, Kotlin và Dart hiện có giữ nguyên. Tên chưa được duyệt hoặc trùng nhau làm bộ sinh thất bại trước khi ghi đầu ra. DTCG dùng tham chiếu nội bộ tài liệu theo chuẩn và giữ ánh xạ tương thích trong metadata có namespace.
|
|
6
6
|
|
package/docs/vi/design-styles.md
CHANGED
|
@@ -44,7 +44,7 @@ Không invent trục sản phẩm thứ năm, và không thêm Style pack thứ
|
|
|
44
44
|
|
|
45
45
|
## Công tắc theme nội bộ
|
|
46
46
|
|
|
47
|
-
Bộ phân giải theme chuẩn được `scripts/generate-element-packs.mjs` sinh vào `tokens/elements.css`. Hai custom property riêng tư `--_cs-light` và `--_cs-dark` chọn một nhánh trong khai báo như `color: var(--_cs-light, var(--cs-color-brand-umber))
|
|
47
|
+
Bộ phân giải theme chuẩn được `scripts/generate-element-packs.mjs` sinh vào `tokens/elements.css`. Hai custom property riêng tư `--_cs-light` và `--_cs-dark` chọn một nhánh trong khai báo như `color: var(--_cs-light, var(--cs-color-brand-umber))var(--_cs-dark, var(--cs-color-brand-ochre));`. Hai phép thế được nối liền, không có khoảng trắng trong stylesheet: khoảng trắng còn lại khi kênh không dùng là rỗng và khiến `background` cùng `border-color` giữ màu đã dùng trước đó. Công tắc có giá trị `initial` làm `var()` dùng fallback; công tắc rỗng không đóng góp giá trị. Theme sáng đặt công tắc sáng thành `initial` và công tắc tối rỗng; theme tối đảo ngược. `data-theme="system"` khai báo tường minh theo `prefers-color-scheme`.
|
|
48
48
|
|
|
49
49
|
Consumer chọn `data-theme="light|dark|system"` và dùng token công khai `--cs-*`. Không đặt trực tiếp công tắc riêng tư, sao chép khối phân giải được sinh, hoặc đăng ký các công tắc này bằng `@property`: hành vi giá trị rỗng/không hợp lệ là một phần của bộ phân giải nội bộ. Binding được lặp tại ranh giới scope để thay đổi element và theme lồng nhau tính lại giá trị, thay vì kế thừa giá trị đã chọn của cha. Hậu duệ không đánh dấu kế thừa scope bao quanh.
|
|
50
50
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: "CyberSkill Design System"
|
|
3
|
-
version: "2.
|
|
3
|
+
version: "2.2.0"
|
|
4
4
|
generated: "2026-07-23"
|
|
5
5
|
generator: "scripts/generate-design-md.mjs (npm run build:design-md)"
|
|
6
6
|
sources:
|
|
@@ -66,14 +66,14 @@ Gói màu nhấn mặc định = Thổ (nguyên tố của studio). Toàn bộ 1
|
|
|
66
66
|
| Token | Giá trị |
|
|
67
67
|
|---|---|
|
|
68
68
|
| `--cs-accent` | `#F4BA17` |
|
|
69
|
-
| `--cs-accent-strong` | `#
|
|
69
|
+
| `--cs-accent-strong` | `#916D11` |
|
|
70
70
|
| `--cs-accent-bright` | `#F4BA17` |
|
|
71
71
|
| `--cs-accent-on` | `#45210E` |
|
|
72
72
|
| `--cs-accent-tint` | `#FBF4E9` |
|
|
73
73
|
| `--cs-accent-ink` | `#45210E` |
|
|
74
74
|
| `--cs-accent-glow` | `rgba(244, 186, 23, 0.48)` |
|
|
75
75
|
| `--cs-accent-grad-a` | `#F4BA17` |
|
|
76
|
-
| `--cs-accent-grad-b` | `#
|
|
76
|
+
| `--cs-accent-grad-b` | `#C4B78F` |
|
|
77
77
|
| `--cs-accent-on-strong` | `#FFFFFF` |
|
|
78
78
|
|
|
79
79
|
### Bảng màu tài liệu
|
|
@@ -101,9 +101,9 @@ Các họ chữ được tự lưu trữ (Be Vietnam Pro · Space Grotesk · Jet
|
|
|
101
101
|
| `--cs-font-weight-semibold` | `600` |
|
|
102
102
|
| `--cs-font-weight-bold` | `700` |
|
|
103
103
|
| `--cs-font-weight-extrabold` | `800` |
|
|
104
|
-
| `--cs-font-lineHeight-body` | `
|
|
105
|
-
| `--cs-font-lineHeight-heading` | `
|
|
106
|
-
| `--cs-font-lineHeight-tight` | `
|
|
104
|
+
| `--cs-font-lineHeight-body` | `var(--cs-font-line-height-body)` |
|
|
105
|
+
| `--cs-font-lineHeight-heading` | `var(--cs-font-line-height-heading)` |
|
|
106
|
+
| `--cs-font-lineHeight-tight` | `var(--cs-font-line-height-tight)` |
|
|
107
107
|
| `--cs-font-size-2xs` | `0.6875rem` |
|
|
108
108
|
| `--cs-font-size-xs` | `0.75rem` |
|
|
109
109
|
| `--cs-font-size-sm` | `0.875rem` |
|
|
@@ -115,9 +115,9 @@ Các họ chữ được tự lưu trữ (Be Vietnam Pro · Space Grotesk · Jet
|
|
|
115
115
|
| `--cs-font-size-3xl` | `2.25rem` |
|
|
116
116
|
| `--cs-font-size-4xl` | `3rem` |
|
|
117
117
|
| `--cs-font-size-5xl` | `3.75rem` |
|
|
118
|
-
| `--cs-font-line-height-body` | `
|
|
119
|
-
| `--cs-font-line-height-heading` | `
|
|
120
|
-
| `--cs-font-line-height-tight` | `
|
|
118
|
+
| `--cs-font-line-height-body` | `1.5` |
|
|
119
|
+
| `--cs-font-line-height-heading` | `1.35` |
|
|
120
|
+
| `--cs-font-line-height-tight` | `1.15` |
|
|
121
121
|
|
|
122
122
|
### Vai trò chữ và khoảng cách ký tự
|
|
123
123
|
|
|
@@ -201,26 +201,26 @@ Các giá trị ghi đè theo phạm vi (tách biệt với các hàng token cơ
|
|
|
201
201
|
| `data-cs-density="compact"` | `--cs-density-space-6` | `18px` |
|
|
202
202
|
| `data-cs-density="compact"` | `--cs-density-control-gap` | `6px` |
|
|
203
203
|
| `data-cs-density="compact"` | `--cs-component-button-gap` | `6px` |
|
|
204
|
-
| `data-cs-density="compact"` | `--cs-component-button-xs-paddingY` | `
|
|
205
|
-
| `data-cs-density="compact"` | `--cs-component-button-xs-padding-y` | `
|
|
206
|
-
| `data-cs-density="compact"` | `--cs-component-button-xs-paddingX` | `
|
|
207
|
-
| `data-cs-density="compact"` | `--cs-component-button-xs-padding-x` | `
|
|
208
|
-
| `data-cs-density="compact"` | `--cs-component-button-sm-paddingY` | `
|
|
209
|
-
| `data-cs-density="compact"` | `--cs-component-button-sm-padding-y` | `
|
|
210
|
-
| `data-cs-density="compact"` | `--cs-component-button-sm-paddingX` | `
|
|
211
|
-
| `data-cs-density="compact"` | `--cs-component-button-sm-padding-x` | `
|
|
212
|
-
| `data-cs-density="compact"` | `--cs-component-button-md-paddingY` | `
|
|
213
|
-
| `data-cs-density="compact"` | `--cs-component-button-md-padding-y` | `
|
|
214
|
-
| `data-cs-density="compact"` | `--cs-component-button-md-paddingX` | `
|
|
215
|
-
| `data-cs-density="compact"` | `--cs-component-button-md-padding-x` | `
|
|
216
|
-
| `data-cs-density="compact"` | `--cs-component-button-lg-paddingY` | `
|
|
217
|
-
| `data-cs-density="compact"` | `--cs-component-button-lg-padding-y` | `
|
|
218
|
-
| `data-cs-density="compact"` | `--cs-component-button-lg-paddingX` | `
|
|
219
|
-
| `data-cs-density="compact"` | `--cs-component-button-lg-padding-x` | `
|
|
220
|
-
| `data-cs-density="compact"` | `--cs-component-textfield-paddingY` | `
|
|
221
|
-
| `data-cs-density="compact"` | `--cs-component-textfield-padding-y` | `
|
|
222
|
-
| `data-cs-density="compact"` | `--cs-component-textfield-paddingX` | `
|
|
223
|
-
| `data-cs-density="compact"` | `--cs-component-textfield-padding-x` | `
|
|
204
|
+
| `data-cs-density="compact"` | `--cs-component-button-xs-paddingY` | `var(--cs-component-button-xs-padding-y)` |
|
|
205
|
+
| `data-cs-density="compact"` | `--cs-component-button-xs-padding-y` | `3px` |
|
|
206
|
+
| `data-cs-density="compact"` | `--cs-component-button-xs-paddingX` | `var(--cs-component-button-xs-padding-x)` |
|
|
207
|
+
| `data-cs-density="compact"` | `--cs-component-button-xs-padding-x` | `8px` |
|
|
208
|
+
| `data-cs-density="compact"` | `--cs-component-button-sm-paddingY` | `var(--cs-component-button-sm-padding-y)` |
|
|
209
|
+
| `data-cs-density="compact"` | `--cs-component-button-sm-padding-y` | `6px` |
|
|
210
|
+
| `data-cs-density="compact"` | `--cs-component-button-sm-paddingX` | `var(--cs-component-button-sm-padding-x)` |
|
|
211
|
+
| `data-cs-density="compact"` | `--cs-component-button-sm-padding-x` | `12px` |
|
|
212
|
+
| `data-cs-density="compact"` | `--cs-component-button-md-paddingY` | `var(--cs-component-button-md-padding-y)` |
|
|
213
|
+
| `data-cs-density="compact"` | `--cs-component-button-md-padding-y` | `10px` |
|
|
214
|
+
| `data-cs-density="compact"` | `--cs-component-button-md-paddingX` | `var(--cs-component-button-md-padding-x)` |
|
|
215
|
+
| `data-cs-density="compact"` | `--cs-component-button-md-padding-x` | `16px` |
|
|
216
|
+
| `data-cs-density="compact"` | `--cs-component-button-lg-paddingY` | `var(--cs-component-button-lg-padding-y)` |
|
|
217
|
+
| `data-cs-density="compact"` | `--cs-component-button-lg-padding-y` | `12px` |
|
|
218
|
+
| `data-cs-density="compact"` | `--cs-component-button-lg-paddingX` | `var(--cs-component-button-lg-padding-x)` |
|
|
219
|
+
| `data-cs-density="compact"` | `--cs-component-button-lg-padding-x` | `22px` |
|
|
220
|
+
| `data-cs-density="compact"` | `--cs-component-textfield-paddingY` | `var(--cs-component-textfield-padding-y)` |
|
|
221
|
+
| `data-cs-density="compact"` | `--cs-component-textfield-padding-y` | `8px` |
|
|
222
|
+
| `data-cs-density="compact"` | `--cs-component-textfield-paddingX` | `var(--cs-component-textfield-padding-x)` |
|
|
223
|
+
| `data-cs-density="compact"` | `--cs-component-textfield-padding-x` | `10px` |
|
|
224
224
|
| `data-cs-density="comfortable"` | `--cs-density-space-1` | `var(--cs-space-1)` |
|
|
225
225
|
| `data-cs-density="comfortable"` | `--cs-density-space-2` | `var(--cs-space-2)` |
|
|
226
226
|
| `data-cs-density="comfortable"` | `--cs-density-space-3` | `var(--cs-space-3)` |
|
|
@@ -229,26 +229,26 @@ Các giá trị ghi đè theo phạm vi (tách biệt với các hàng token cơ
|
|
|
229
229
|
| `data-cs-density="comfortable"` | `--cs-density-space-6` | `var(--cs-space-6)` |
|
|
230
230
|
| `data-cs-density="comfortable"` | `--cs-density-control-gap` | `var(--cs-component-button-gap)` |
|
|
231
231
|
| `data-cs-density="comfortable"` | `--cs-component-button-gap` | `8px` |
|
|
232
|
-
| `data-cs-density="comfortable"` | `--cs-component-button-xs-
|
|
233
|
-
| `data-cs-density="comfortable"` | `--cs-component-button-xs-
|
|
234
|
-
| `data-cs-density="comfortable"` | `--cs-component-button-xs-
|
|
235
|
-
| `data-cs-density="comfortable"` | `--cs-component-button-xs-
|
|
236
|
-
| `data-cs-density="comfortable"` | `--cs-component-button-sm-
|
|
237
|
-
| `data-cs-density="comfortable"` | `--cs-component-button-sm-
|
|
238
|
-
| `data-cs-density="comfortable"` | `--cs-component-button-sm-
|
|
239
|
-
| `data-cs-density="comfortable"` | `--cs-component-button-sm-
|
|
240
|
-
| `data-cs-density="comfortable"` | `--cs-component-button-md-
|
|
241
|
-
| `data-cs-density="comfortable"` | `--cs-component-button-md-
|
|
242
|
-
| `data-cs-density="comfortable"` | `--cs-component-button-md-
|
|
243
|
-
| `data-cs-density="comfortable"` | `--cs-component-button-md-
|
|
244
|
-
| `data-cs-density="comfortable"` | `--cs-component-button-lg-
|
|
245
|
-
| `data-cs-density="comfortable"` | `--cs-component-button-lg-
|
|
246
|
-
| `data-cs-density="comfortable"` | `--cs-component-button-lg-
|
|
247
|
-
| `data-cs-density="comfortable"` | `--cs-component-button-lg-
|
|
248
|
-
| `data-cs-density="comfortable"` | `--cs-component-textfield-
|
|
249
|
-
| `data-cs-density="comfortable"` | `--cs-component-textfield-
|
|
250
|
-
| `data-cs-density="comfortable"` | `--cs-component-textfield-
|
|
251
|
-
| `data-cs-density="comfortable"` | `--cs-component-textfield-
|
|
232
|
+
| `data-cs-density="comfortable"` | `--cs-component-button-xs-padding-y` | `4px` |
|
|
233
|
+
| `data-cs-density="comfortable"` | `--cs-component-button-xs-paddingY` | `var(--cs-component-button-xs-padding-y)` |
|
|
234
|
+
| `data-cs-density="comfortable"` | `--cs-component-button-xs-padding-x` | `10px` |
|
|
235
|
+
| `data-cs-density="comfortable"` | `--cs-component-button-xs-paddingX` | `var(--cs-component-button-xs-padding-x)` |
|
|
236
|
+
| `data-cs-density="comfortable"` | `--cs-component-button-sm-padding-y` | `8px` |
|
|
237
|
+
| `data-cs-density="comfortable"` | `--cs-component-button-sm-paddingY` | `var(--cs-component-button-sm-padding-y)` |
|
|
238
|
+
| `data-cs-density="comfortable"` | `--cs-component-button-sm-padding-x` | `14px` |
|
|
239
|
+
| `data-cs-density="comfortable"` | `--cs-component-button-sm-paddingX` | `var(--cs-component-button-sm-padding-x)` |
|
|
240
|
+
| `data-cs-density="comfortable"` | `--cs-component-button-md-padding-y` | `12px` |
|
|
241
|
+
| `data-cs-density="comfortable"` | `--cs-component-button-md-paddingY` | `var(--cs-component-button-md-padding-y)` |
|
|
242
|
+
| `data-cs-density="comfortable"` | `--cs-component-button-md-padding-x` | `20px` |
|
|
243
|
+
| `data-cs-density="comfortable"` | `--cs-component-button-md-paddingX` | `var(--cs-component-button-md-padding-x)` |
|
|
244
|
+
| `data-cs-density="comfortable"` | `--cs-component-button-lg-padding-y` | `16px` |
|
|
245
|
+
| `data-cs-density="comfortable"` | `--cs-component-button-lg-paddingY` | `var(--cs-component-button-lg-padding-y)` |
|
|
246
|
+
| `data-cs-density="comfortable"` | `--cs-component-button-lg-padding-x` | `28px` |
|
|
247
|
+
| `data-cs-density="comfortable"` | `--cs-component-button-lg-paddingX` | `var(--cs-component-button-lg-padding-x)` |
|
|
248
|
+
| `data-cs-density="comfortable"` | `--cs-component-textfield-padding-y` | `10px` |
|
|
249
|
+
| `data-cs-density="comfortable"` | `--cs-component-textfield-paddingY` | `var(--cs-component-textfield-padding-y)` |
|
|
250
|
+
| `data-cs-density="comfortable"` | `--cs-component-textfield-padding-x` | `12px` |
|
|
251
|
+
| `data-cs-density="comfortable"` | `--cs-component-textfield-paddingX` | `var(--cs-component-textfield-padding-x)` |
|
|
252
252
|
|
|
253
253
|
### Bố cục và biểu tượng
|
|
254
254
|
|
|
@@ -331,46 +331,46 @@ Quyết định thiết kế ở cấp thành phần (button · textfield). Giá
|
|
|
331
331
|
| `--cs-component-button-primary-fg` | `#FFFFFF` | `#1a1108` |
|
|
332
332
|
| `--cs-component-button-gap` | `8px` | — |
|
|
333
333
|
| `--cs-component-button-radius` | `8px` | — |
|
|
334
|
-
| `--cs-component-button-xs-paddingY` | `
|
|
335
|
-
| `--cs-component-button-xs-paddingX` | `
|
|
336
|
-
| `--cs-component-button-xs-minHeight` | `
|
|
337
|
-
| `--cs-component-button-xs-minWidth` | `
|
|
338
|
-
| `--cs-component-button-xs-minHeight-coarse` | `
|
|
339
|
-
| `--cs-component-button-sm-paddingY` | `
|
|
340
|
-
| `--cs-component-button-sm-paddingX` | `
|
|
341
|
-
| `--cs-component-button-sm-minHeight` | `
|
|
342
|
-
| `--cs-component-button-sm-minHeight-coarse` | `
|
|
343
|
-
| `--cs-component-button-md-paddingY` | `
|
|
344
|
-
| `--cs-component-button-md-paddingX` | `
|
|
345
|
-
| `--cs-component-button-md-minHeight` | `
|
|
346
|
-
| `--cs-component-button-md-minHeight-coarse` | `
|
|
347
|
-
| `--cs-component-button-lg-paddingY` | `
|
|
348
|
-
| `--cs-component-button-lg-paddingX` | `
|
|
349
|
-
| `--cs-component-button-lg-minHeight` | `
|
|
334
|
+
| `--cs-component-button-xs-paddingY` | `var(--cs-component-button-xs-padding-y)` | — |
|
|
335
|
+
| `--cs-component-button-xs-paddingX` | `var(--cs-component-button-xs-padding-x)` | — |
|
|
336
|
+
| `--cs-component-button-xs-minHeight` | `var(--cs-component-button-xs-min-height)` | — |
|
|
337
|
+
| `--cs-component-button-xs-minWidth` | `var(--cs-component-button-xs-min-width)` | — |
|
|
338
|
+
| `--cs-component-button-xs-minHeight-coarse` | `var(--cs-component-button-xs-min-height-coarse)` | — |
|
|
339
|
+
| `--cs-component-button-sm-paddingY` | `var(--cs-component-button-sm-padding-y)` | — |
|
|
340
|
+
| `--cs-component-button-sm-paddingX` | `var(--cs-component-button-sm-padding-x)` | — |
|
|
341
|
+
| `--cs-component-button-sm-minHeight` | `var(--cs-component-button-sm-min-height)` | — |
|
|
342
|
+
| `--cs-component-button-sm-minHeight-coarse` | `var(--cs-component-button-sm-min-height-coarse)` | — |
|
|
343
|
+
| `--cs-component-button-md-paddingY` | `var(--cs-component-button-md-padding-y)` | — |
|
|
344
|
+
| `--cs-component-button-md-paddingX` | `var(--cs-component-button-md-padding-x)` | — |
|
|
345
|
+
| `--cs-component-button-md-minHeight` | `var(--cs-component-button-md-min-height)` | — |
|
|
346
|
+
| `--cs-component-button-md-minHeight-coarse` | `var(--cs-component-button-md-min-height-coarse)` | — |
|
|
347
|
+
| `--cs-component-button-lg-paddingY` | `var(--cs-component-button-lg-padding-y)` | — |
|
|
348
|
+
| `--cs-component-button-lg-paddingX` | `var(--cs-component-button-lg-padding-x)` | — |
|
|
349
|
+
| `--cs-component-button-lg-minHeight` | `var(--cs-component-button-lg-min-height)` | — |
|
|
350
350
|
| `--cs-component-textfield-border-default` | `#BFA58F` | `#5a4636` |
|
|
351
|
-
| `--cs-component-textfield-paddingY` | `
|
|
352
|
-
| `--cs-component-textfield-paddingX` | `
|
|
353
|
-
| `--cs-component-textfield-minHeight` | `
|
|
351
|
+
| `--cs-component-textfield-paddingY` | `var(--cs-component-textfield-padding-y)` | — |
|
|
352
|
+
| `--cs-component-textfield-paddingX` | `var(--cs-component-textfield-padding-x)` | — |
|
|
353
|
+
| `--cs-component-textfield-minHeight` | `var(--cs-component-textfield-min-height)` | — |
|
|
354
354
|
| `--cs-focus-ring` | `3px` | — |
|
|
355
|
-
| `--cs-component-button-xs-padding-y` | `
|
|
356
|
-
| `--cs-component-button-xs-padding-x` | `
|
|
357
|
-
| `--cs-component-button-xs-min-height` | `
|
|
358
|
-
| `--cs-component-button-xs-min-width` | `
|
|
359
|
-
| `--cs-component-button-xs-min-height-coarse` | `
|
|
360
|
-
| `--cs-component-button-sm-padding-y` | `
|
|
361
|
-
| `--cs-component-button-sm-padding-x` | `
|
|
362
|
-
| `--cs-component-button-sm-min-height` | `
|
|
363
|
-
| `--cs-component-button-sm-min-height-coarse` | `
|
|
364
|
-
| `--cs-component-button-md-padding-y` | `
|
|
365
|
-
| `--cs-component-button-md-padding-x` | `
|
|
366
|
-
| `--cs-component-button-md-min-height` | `
|
|
367
|
-
| `--cs-component-button-md-min-height-coarse` | `
|
|
368
|
-
| `--cs-component-button-lg-padding-y` | `
|
|
369
|
-
| `--cs-component-button-lg-padding-x` | `
|
|
370
|
-
| `--cs-component-button-lg-min-height` | `
|
|
371
|
-
| `--cs-component-textfield-padding-y` | `
|
|
372
|
-
| `--cs-component-textfield-padding-x` | `
|
|
373
|
-
| `--cs-component-textfield-min-height` | `
|
|
355
|
+
| `--cs-component-button-xs-padding-y` | `4px` | — |
|
|
356
|
+
| `--cs-component-button-xs-padding-x` | `10px` | — |
|
|
357
|
+
| `--cs-component-button-xs-min-height` | `28px` | — |
|
|
358
|
+
| `--cs-component-button-xs-min-width` | `28px` | — |
|
|
359
|
+
| `--cs-component-button-xs-min-height-coarse` | `44px` | — |
|
|
360
|
+
| `--cs-component-button-sm-padding-y` | `8px` | — |
|
|
361
|
+
| `--cs-component-button-sm-padding-x` | `14px` | — |
|
|
362
|
+
| `--cs-component-button-sm-min-height` | `36px` | — |
|
|
363
|
+
| `--cs-component-button-sm-min-height-coarse` | `44px` | — |
|
|
364
|
+
| `--cs-component-button-md-padding-y` | `12px` | — |
|
|
365
|
+
| `--cs-component-button-md-padding-x` | `20px` | — |
|
|
366
|
+
| `--cs-component-button-md-min-height` | `44px` | — |
|
|
367
|
+
| `--cs-component-button-md-min-height-coarse` | `44px` | — |
|
|
368
|
+
| `--cs-component-button-lg-padding-y` | `16px` | — |
|
|
369
|
+
| `--cs-component-button-lg-padding-x` | `28px` | — |
|
|
370
|
+
| `--cs-component-button-lg-min-height` | `52px` | — |
|
|
371
|
+
| `--cs-component-textfield-padding-y` | `10px` | — |
|
|
372
|
+
| `--cs-component-textfield-padding-x` | `12px` | — |
|
|
373
|
+
| `--cs-component-textfield-min-height` | `44px` | — |
|
|
374
374
|
|
|
375
375
|
## Danh mục thành phần
|
|
376
376
|
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
## Bắt đầu tại đây
|
|
8
8
|
|
|
9
|
-
Đây là **tài liệu điểm vào** của CyberSkill Design System — VERSION của bản nguồn **<!-- cs-source-version:checkout -->2.
|
|
9
|
+
Đây là **tài liệu điểm vào** của CyberSkill Design System — VERSION của bản nguồn **<!-- cs-source-version:checkout -->2.2.0<!-- /cs-source-version -->** (xem `VERSION`; không xác nhận phiên bản có trên registry). **Trang sản phẩm** là Storybook tại **`/`** trên `design.cyberskill.world` (chỉ trên host; cục bộ: `npm run storybook`). Tài liệu vận hành được công bố ở thanh bên **Docs** của Storybook (và Thư viện tài liệu tại `/docs/viewer.html`). Đường dẫn cũ `/dashboard`, `/dashboard.html` và `/playground/*` chuyển hướng đến `/`. Hệ thống ấm áp, ưu tiên tiếng Việt, đáp ứng môi trường doanh nghiệp; mọi bề mặt giải quyết bốn trục độc lập — **Theme** (light · dark · system) × **Element** (bản sắc sản phẩm Ngũ Hành: Kim · Mộc · Thủy · Hỏa · Thổ, 15 biến thể) × **Language** (EN · VI) × **Style** (`data-cs-style` — gói duy nhất **liquid-glass**; không khai báo ≡ mặc định).
|
|
10
10
|
|
|
11
11
|
**Bắt đầu nhanh theo đối tượng**
|
|
12
12
|
- **Nhà thiết kế** — mở Storybook (**Foundations / Components / Templates / Pages / Docs**). **Templates** liệt kê toàn bộ <!-- cs-count:templates -->85<!-- /cs-count --> điểm khởi đầu (Gallery → Atomic View, cùng story theo nhóm, gồm bộ 38 tài liệu VN A4 (Employment Suite + khung thương mại) tại **Templates → HR**). Đổi trực tiếp Theme × Element × Language × Style qua thanh công cụ Storybook, Atomic View và mẫu Elements Geometry.
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
|
|
16
16
|
- **Tĩnh / open-spec** (ví dụ Google Stitch) — bắt đầu từ **`DESIGN.md`** (open-spec được sinh) → `llms.txt` → `tokens/tokens.dtcg.json`. Dựng giao diện **tĩnh** bằng `styles.css` + `.cs-*` / kitchen-sink / `examples/static-hello/`. Dùng `.dc.html` qua trình thông dịch được cung cấp hoặc công cụ hiểu ngữ pháp; công cụ HTML thuần dùng `.cs-*` hoặc ảnh chụp kết quả hiển thị đã kiểm chứng.
|
|
17
17
|
|
|
18
|
-
- **Người triển khai** — gói npm ổn định đã công bố **`@cyberskill/design@1.7.2`** (xem `docs/consuming.md`; quyền dùng trong `docs/consumer-grant.md` — vẫn UNLICENSED). **Next/SSR:** `import { Button } from "@cyberskill/design"` (peer React). **Demo trình duyệt:** **`examples/npm-hello/`** (Lumi · Hỏa · plasma, `_esm/cs.mjs` cũ). Hoặc liên kết **`styles.css`** từ clone/subtree (một tệp cho toàn bộ), hoặc chép thư mục `templates/<slug>/` và sửa một dòng trong `ds-base.js` (đổi liên kết một dòng, được kiểm định đầu cuối tháng 7/2026). Xác định scope bằng `data-theme` · `data-cs-element` (+`data-cs-variant`) · `lang`. Dấu hiệu bản phát hành: SHA đầu nhánh + `docs/release-notes.md` (VERSION nguồn là **<!-- cs-source-version:release-signal -->2.
|
|
18
|
+
- **Người triển khai** — gói npm ổn định đã công bố **`@cyberskill/design@1.7.2`** (xem `docs/consuming.md`; quyền dùng trong `docs/consumer-grant.md` — vẫn UNLICENSED). **Next/SSR:** `import { Button } from "@cyberskill/design"` (peer React). **Demo trình duyệt:** **`examples/npm-hello/`** (Lumi · Hỏa · plasma, `_esm/cs.mjs` cũ). Hoặc liên kết **`styles.css`** từ clone/subtree (một tệp cho toàn bộ), hoặc chép thư mục `templates/<slug>/` và sửa một dòng trong `ds-base.js` (đổi liên kết một dòng, được kiểm định đầu cuối tháng 7/2026). Xác định scope bằng `data-theme` · `data-cs-element` (+`data-cs-variant`) · `lang`. Dấu hiệu bản phát hành: SHA đầu nhánh + `docs/release-notes.md` (VERSION nguồn là **<!-- cs-source-version:release-signal -->2.2.0<!-- /cs-source-version -->**; không có CHANGELOG).
|
|
19
19
|
|
|
20
20
|
- **Người bảo trì** — `docs/doctrine.md` (mở rộng + kiểm chứng), rồi `CONTRIBUTING.md` và `docs/quality-gates.md`.
|
|
21
21
|
|
|
@@ -174,7 +174,7 @@ Tài sản sao chép nằm trong `assets/`: `logo-mark.svg` / `logo-mark.png` (b
|
|
|
174
174
|
|
|
175
175
|
Điểm nổi bật: **Button** — primary Umber; biến thể primary/secondary/tertiary/ghost/danger/danger-ghost; cỡ xs–lg; loading, icon, fullWidth. **TextField / Textarea / Select / NativeSelect** dùng chung khung `.cs-field` (nhãn + mô tả/lỗi; an toàn dấu/IME). **DataTable** — caption, header có scope, render theo cột, nhóm trạng thái idle/loading/error/empty. **Card** — panel ấm + header/body/footer. **Logo** hiển thị đúng biểu trưng chính thức; **Icon** điều khiển bộ icon nét nội bộ. Họ **AI-native** mang doctrine giải trình của thương hiệu — công bố, review của con người, thu nhận điều ước và độ tin cậy, đều diễn đạt bằng lời (không chỉ màu).
|
|
176
176
|
|
|
177
|
-
**Cài đặt / tên gói.** Tên gói là **`@cyberskill/design`** (VERSION bản nguồn **<!-- cs-source-version:package-source -->2.
|
|
177
|
+
**Cài đặt / tên gói.** Tên gói là **`@cyberskill/design`** (VERSION bản nguồn **<!-- cs-source-version:package-source -->2.2.0<!-- /cs-source-version -->**; quyền trong `docs/consumer-grant.md` chi phối *sử dụng* — gói vẫn UNLICENSED). **Không** cài `@cyberskill/react` cho cây này — tên đó thuộc danh mục trang marketing lịch sử, không phải gói này.
|
|
178
178
|
|
|
179
179
|
**Danh mục nguồn và phần mở rộng.** Bề mặt CyberSkill trước đây có sáu primitive — `Button`, `TextField`, `Dialog`, `DataTable`, `AIDisclosureBadge`, `HumanReviewGate` — cùng `Logo` thương hiệu. Mọi phần khác trong gói **này** là **mở rộng có chủ ý**, dựng bằng vốn token riêng của thương hiệu để phía dùng có bộ công cụ hoàn chỉnh: `Icon` (bộ icon nét nội bộ thực của trang marketing), các primitive Forms / Feedback / Data / Navigation / Overlays chuẩn (tìm kiếm, bước, slider, tải tệp, danh sách, danh sách mô tả, dòng thời gian, accordion, kbd, khối mã, sidebar, steps, command palette, popover, drawer và hơn nữa), phần AI-native thêm vào (`PromptInput`, `ChatMessage`, `ConfidenceMeter`, `PromptSuggestions`, `TypingIndicator`, `CitationList`) chính thức hóa luồng điều ước Lumi, và linh vật `LumiAvatar`. Không phần nào tạo ngôn ngữ thị giác mới — tất cả dùng lại màu neo, bề mặt, chữ và chuyển động đã định nghĩa.
|
|
180
180
|
|
|
@@ -15,3 +15,5 @@ Kiểm tra tính toàn vẹn từ chối hàng thiếu/trùng, bản dịch tr
|
|
|
15
15
|
Reviewer ghi commit source chính xác, người kiểm tra, ngày, phiên bản OS, browser và công nghệ hỗ trợ, ngôn ngữ/theme/state, chuỗi thao tác, hành vi speech/focus quan sát được và tham chiếu bằng chứng. Chỉ dùng `passed` sau lượt chạy thủ công đó, `failed` khi quan sát lỗi, `blocked` khi thiếu môi trường hoặc scope chưa rõ. Giữ quan sát và bằng chứng lỗi; lượt kiểm lại là attestation mới. Trường trống vẫn pending.
|
|
16
16
|
|
|
17
17
|
Chạy `node _audit/ci/test-manual-at-matrix.mjs` để kiểm tra hình dạng record và từ chối hàng hoàn tất thiếu bằng chứng. Đây là kiểm tra tính toàn vẹn, không phải test screen reader hay chấp nhận AT. `_audit/a11y-gate.html` và `_audit/at-kit-probe.html` vẫn là proxy lập trình có verdict riêng.
|
|
18
|
+
|
|
19
|
+
Xuất bản chạy `node scripts/require-manual-at-publication.mjs`. Bản phát hành bị từ chối khi còn hàng AT-01–AT-16 chưa `passed` kèm bằng chứng. Hàng pending, failed và blocked không được xuất bản. Kiểm tra này không tạo ra quan sát thủ công.
|