@cyberskill/design 1.1.1 → 1.3.8
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 +28 -5
- package/README.md +23 -22
- package/SKILL.md +7 -7
- package/THIRD-PARTY-NOTICES.md +35 -0
- package/VERSION +1 -1
- package/_ds_bundle.js +1495 -1733
- package/_ds_manifest.json +1 -1
- package/_esm/cs.mjs +18 -4
- package/_esm/react.d.ts +2 -0
- package/_esm/react.mjs +7 -1
- package/_vendor/NOTICE.md +16 -0
- package/_vendor/babel/README.md +7 -0
- package/_vendor/babel/babel.min.js +4 -0
- package/_vendor/react/README.md +3 -0
- package/_vendor/react/react-dom.production.min.js +1 -0
- package/_vendor/react/react.production.min.js +1 -0
- package/assets/aurora-hoa.webp +0 -0
- package/assets/aurora-kim.webp +0 -0
- package/assets/aurora-moc.webp +0 -0
- package/assets/aurora-tho.webp +0 -0
- package/assets/aurora-thuy.webp +0 -0
- package/base/a11y.css +18 -0
- package/base/ai.css +9 -4
- package/base/collections.css +18 -7
- package/base/components.css +16 -4
- package/base/controls.css +116 -66
- package/base/data.css +4 -4
- package/base/feedback.css +14 -2
- package/base/forms.css +10 -4
- package/base/glass.css +7 -1
- package/base/interaction.css +6 -2
- package/base/navigation.css +9 -3
- package/base/reset.css +7 -1
- package/base/responsive.css +38 -12
- package/base/shell.css +15 -3
- package/components/_i18n/i18n.js +41 -4
- package/components/_i18n/strings.js +89 -22
- package/components/ai/ChatMessage.d.ts +2 -0
- package/components/ai/ChatMessage.jsx +8 -4
- package/components/ai/ConfidenceMeter.d.ts +2 -0
- package/components/ai/ConfidenceMeter.jsx +8 -6
- package/components/ai/HumanReviewGate.d.ts +2 -0
- package/components/ai/PromptInput.d.ts +2 -0
- package/components/ai/TypingIndicator.d.ts +2 -0
- package/components/ai/ai-conversation.card.html +3 -3
- package/components/ai/ai-lumi.card.html +3 -3
- package/components/ai/ai.card.html +3 -3
- package/components/brand/brand.card.html +3 -3
- package/components/button/buttons.card.html +3 -3
- package/components/data/Image.jsx +18 -2
- package/components/data/Sortable.d.ts +5 -1
- package/components/data/Sortable.jsx +42 -9
- package/components/data/Sortable.prompt.md +4 -2
- package/components/data/Terminal.jsx +3 -2
- package/components/data/Tooltip.d.ts +2 -0
- package/components/data/Tooltip.jsx +6 -3
- package/components/data/Tree.d.ts +2 -1
- package/components/data/Tree.jsx +137 -16
- package/components/data/Tree.prompt.md +1 -1
- package/components/data/Watermark.jsx +11 -3
- package/components/data/collections.card.html +3 -3
- package/components/data/data.card.html +3 -3
- package/components/datatable/DataGrid.jsx +10 -1
- package/components/datatable/DataTable.d.ts +24 -1
- package/components/datatable/DataTable.jsx +78 -5
- package/components/datatable/DataTable.prompt.md +2 -1
- package/components/datatable/datatable.card.html +20 -16
- package/components/dialog/Dialog.jsx +13 -45
- package/components/dialog/dialog.card.html +3 -3
- package/components/feedback/Alert.d.ts +2 -0
- package/components/feedback/Alert.jsx +8 -2
- package/components/feedback/EmptyState.d.ts +2 -0
- package/components/feedback/EmptyState.jsx +6 -3
- package/components/feedback/ProgressBar.d.ts +2 -0
- package/components/feedback/ProgressBar.jsx +9 -4
- package/components/feedback/Toast.jsx +15 -1
- package/components/feedback/Toast.prompt.md +2 -1
- package/components/feedback/feedback-2.card.html +3 -3
- package/components/feedback/feedback.card.html +3 -3
- package/components/forms/Cascader.jsx +76 -8
- package/components/forms/Editor.jsx +37 -2
- package/components/forms/FileUpload.d.ts +2 -0
- package/components/forms/FileUpload.jsx +22 -8
- package/components/forms/Form.d.ts +3 -1
- package/components/forms/Form.jsx +9 -1
- package/components/forms/Form.prompt.md +1 -1
- package/components/forms/Mentions.d.ts +1 -1
- package/components/forms/Mentions.jsx +59 -7
- package/components/forms/Mentions.prompt.md +3 -1
- package/components/forms/Rating.d.ts +3 -2
- package/components/forms/Rating.jsx +34 -3
- package/components/forms/Rating.prompt.md +1 -1
- package/components/forms/Select.d.ts +2 -0
- package/components/forms/Select.jsx +6 -2
- package/components/forms/Slider.d.ts +2 -0
- package/components/forms/Slider.jsx +5 -2
- package/components/forms/Switch.d.ts +2 -0
- package/components/forms/Switch.jsx +15 -3
- package/components/forms/TimePicker.jsx +3 -1
- package/components/forms/Toggle.d.ts +2 -0
- package/components/forms/Toggle.jsx +14 -2
- package/components/forms/forms-2.card.html +3 -3
- package/components/forms/forms.card.html +3 -3
- package/components/icon/Icon.d.ts +1 -1
- package/components/icon/Icon.jsx +1 -0
- package/components/icon/Icon.prompt.md +1 -1
- package/components/icon/icon.card.html +3 -3
- package/components/logo/logo.card.html +3 -3
- package/components/navigation/CommandPalette.d.ts +2 -0
- package/components/navigation/CommandPalette.jsx +22 -7
- package/components/navigation/Menu.d.ts +2 -0
- package/components/navigation/Menu.jsx +60 -6
- package/components/navigation/Steps.d.ts +2 -0
- package/components/navigation/Steps.jsx +6 -3
- package/components/navigation/Tabs.d.ts +2 -0
- package/components/navigation/Tabs.jsx +6 -3
- package/components/navigation/Toolbar.d.ts +3 -2
- package/components/navigation/Toolbar.jsx +119 -12
- package/components/navigation/Toolbar.prompt.md +1 -1
- package/components/navigation/navigation.card.html +3 -3
- package/components/navigation/shell.card.html +3 -3
- package/components/overlays/AlertDialog.jsx +19 -49
- package/components/overlays/ContextMenu.d.ts +2 -0
- package/components/overlays/ContextMenu.jsx +6 -3
- package/components/overlays/Drawer.d.ts +2 -0
- package/components/overlays/Drawer.jsx +24 -20
- package/components/overlays/OverlayManager.d.ts +40 -0
- package/components/overlays/OverlayManager.jsx +214 -0
- package/components/overlays/OverlayManager.prompt.md +12 -0
- package/components/overlays/Tour.jsx +14 -7
- package/components/overlays/alertdialog.card.html +3 -3
- package/components/overlays/overlays.card.html +3 -3
- package/components/textfield/textfield.card.html +3 -3
- package/dist/styles.min.css +2252 -0
- package/docs/benchmark-rubric.md +1 -1
- package/docs/ci-cd.md +19 -12
- package/docs/consumer-grant.md +3 -0
- package/docs/consuming.md +13 -13
- package/docs/contrast-report.md +79 -1
- package/docs/conventions.md +21 -8
- package/docs/decisions.md +45 -7
- package/docs/deploy.md +17 -6
- package/docs/design-styles.md +2 -2
- package/docs/quality-gates.md +35 -15
- package/docs/release-notes.md +2 -2
- package/docs/release-runbook.md +78 -0
- package/docs/sync.md +2 -2
- package/docs/vi/benchmark-rubric.md +1 -1
- package/docs/vi/ci-cd.md +17 -12
- package/docs/vi/consumer-grant.md +3 -0
- package/docs/vi/consuming.md +13 -13
- package/docs/vi/contrast-report.md +79 -1
- package/docs/vi/conventions.md +20 -7
- package/docs/vi/decisions.md +43 -6
- package/docs/vi/deploy.md +17 -6
- package/docs/vi/quality-gates.md +34 -15
- package/docs/vi/release-notes.md +2 -2
- package/docs/vi/release-runbook.md +78 -0
- package/docs/vi/sync.md +2 -2
- package/docs/viewer.html +2 -2
- package/fonts/OFL.txt +98 -0
- package/guidelines/atomic-view.html +13 -9
- package/guidelines/brand-imagery.html +1 -1
- package/guidelines/elements-variants.html +5 -5
- package/guidelines/spacing-breakpoints.html +2 -1
- package/guidelines/surfaces-glass.html +1 -1
- package/llms.txt +5 -5
- package/package.json +38 -10
- package/templates/_ds-base.canonical.js +55 -0
- package/templates/ai-cluster-demo.html +2 -2
- package/templates/app-shell/AppShell.dc.html +7 -5
- package/templates/app-shell/content-schema.json +7 -0
- package/templates/app-shell/ds-base.js +33 -1
- package/templates/app-shell/support.js +13 -20
- package/templates/article/Article.dc.html +7 -3
- package/templates/article/content-schema.json +7 -0
- package/templates/article/ds-base.js +33 -1
- package/templates/article/support.js +13 -20
- package/templates/auth/Auth.dc.html +33 -12
- package/templates/auth/content-schema.json +37 -0
- package/templates/auth/ds-base.js +33 -1
- package/templates/auth/support.js +13 -20
- package/templates/bod-deck/BodDeck.dc.html +11 -10
- package/templates/bod-deck/ds-base.js +33 -1
- package/templates/bod-deck/support.js +13 -20
- package/templates/bod-investor-update/BodInvestorUpdate.dc.html +4 -3
- package/templates/bod-investor-update/ds-base.js +33 -1
- package/templates/bod-investor-update/support.js +13 -20
- package/templates/bod-memo/BodMemo.dc.html +6 -5
- package/templates/bod-memo/ds-base.js +33 -1
- package/templates/bod-memo/support.js +13 -20
- package/templates/bod-minutes/BodMinutes.dc.html +2 -1
- package/templates/bod-minutes/ds-base.js +33 -1
- package/templates/bod-minutes/support.js +13 -20
- package/templates/bod-report/BodReport.dc.html +3 -2
- package/templates/bod-report/ds-base.js +33 -1
- package/templates/bod-report/support.js +13 -20
- package/templates/bod-resolution/BodResolution.dc.html +5 -4
- package/templates/bod-resolution/ds-base.js +33 -1
- package/templates/bod-resolution/support.js +13 -20
- package/templates/culture-event-invite/CultureEventInvite.dc.html +3 -2
- package/templates/culture-event-invite/ds-base.js +33 -1
- package/templates/culture-event-invite/support.js +13 -20
- package/templates/dashboard/Dashboard.dc.html +10 -6
- package/templates/dashboard/content-schema.json +7 -0
- package/templates/dashboard/ds-base.js +33 -1
- package/templates/dashboard/support.js +13 -20
- package/templates/delivery-change-note/DeliveryChangeNote.dc.html +4 -3
- package/templates/delivery-change-note/ds-base.js +33 -1
- package/templates/delivery-change-note/support.js +13 -20
- package/templates/delivery-kickoff/DeliveryKickoff.dc.html +3 -2
- package/templates/delivery-kickoff/ds-base.js +33 -1
- package/templates/delivery-kickoff/support.js +13 -20
- package/templates/delivery-qbr-deck/DeliveryQbrDeck.dc.html +6 -5
- package/templates/delivery-qbr-deck/ds-base.js +33 -1
- package/templates/delivery-qbr-deck/support.js +13 -20
- package/templates/delivery-runbook/DeliveryRunbook.dc.html +5 -4
- package/templates/delivery-runbook/ds-base.js +33 -1
- package/templates/delivery-runbook/support.js +13 -20
- package/templates/delivery-status-email/DeliveryStatusEmail.dc.html +3 -2
- package/templates/delivery-status-email/ds-base.js +33 -1
- package/templates/delivery-status-email/support.js +13 -20
- package/templates/doc-style-guide/DocStyleGuide.dc.html +67 -64
- package/templates/doc-style-guide/ds-base.js +33 -1
- package/templates/doc-style-guide/support.js +13 -20
- package/templates/doc-suite-index/DocSuiteIndex.dc.html +46 -45
- package/templates/doc-suite-index/ds-base.js +33 -1
- package/templates/doc-suite-index/support.js +13 -20
- package/templates/doc-templates/DocTemplates.dc.html +42 -41
- package/templates/doc-templates/ds-base.js +33 -1
- package/templates/doc-templates/support.js +13 -20
- package/templates/email/Email.dc.html +3 -2
- package/templates/email/ds-base.js +33 -1
- package/templates/email/support.js +13 -20
- package/templates/email-safe/email-announcement.html +2 -2
- package/templates/email-safe/email-dunning.html +2 -2
- package/templates/email-safe/email-investor.html +2 -2
- package/templates/email-safe/email-launch.html +2 -2
- package/templates/email-safe/email-newsletter.html +2 -2
- package/templates/email-safe/email-status.html +2 -2
- package/templates/email-safe/email-transactional.html +2 -2
- package/templates/finance-dunning-email/FinanceDunningEmail.dc.html +6 -5
- package/templates/finance-dunning-email/ds-base.js +33 -1
- package/templates/finance-dunning-email/support.js +13 -20
- package/templates/finance-expense-report/FinanceExpenseReport.dc.html +4 -3
- package/templates/finance-expense-report/ds-base.js +33 -1
- package/templates/finance-expense-report/support.js +13 -20
- package/templates/finance-invoice/FinanceInvoice.dc.html +6 -5
- package/templates/finance-invoice/ds-base.js +33 -1
- package/templates/finance-invoice/support.js +13 -20
- package/templates/finance-quote/FinanceQuote.dc.html +6 -5
- package/templates/finance-quote/ds-base.js +33 -1
- package/templates/finance-quote/support.js +13 -20
- package/templates/hr-announcement/HrAnnouncement.dc.html +5 -4
- package/templates/hr-announcement/ds-base.js +33 -1
- package/templates/hr-announcement/support.js +13 -20
- package/templates/hr-interview-kit/HrInterviewKit.dc.html +5 -4
- package/templates/hr-interview-kit/ds-base.js +33 -1
- package/templates/hr-interview-kit/support.js +13 -20
- package/templates/hr-offboarding/HrOffboarding.dc.html +2 -1
- package/templates/hr-offboarding/ds-base.js +33 -1
- package/templates/hr-offboarding/support.js +13 -20
- package/templates/hr-performance-review/HrPerformanceReview.dc.html +2 -1
- package/templates/hr-performance-review/ds-base.js +33 -1
- package/templates/hr-performance-review/support.js +13 -20
- package/templates/hr-pip/HrPip.dc.html +2 -1
- package/templates/hr-pip/ds-base.js +33 -1
- package/templates/hr-pip/support.js +13 -20
- package/templates/kitchen-sink.html +9 -4
- package/templates/legal-msa/LegalMsa.dc.html +2 -1
- package/templates/legal-msa/ds-base.js +33 -1
- package/templates/legal-msa/support.js +13 -20
- package/templates/legal-sow/LegalSow.dc.html +2 -1
- package/templates/legal-sow/ds-base.js +33 -1
- package/templates/legal-sow/support.js +13 -20
- package/templates/marketing-campaign-brief/MarketingCampaignBrief.dc.html +3 -2
- package/templates/marketing-campaign-brief/ds-base.js +33 -1
- package/templates/marketing-campaign-brief/support.js +13 -20
- package/templates/marketing-case-study/MarketingCaseStudy.dc.html +6 -5
- package/templates/marketing-case-study/ds-base.js +33 -1
- package/templates/marketing-case-study/support.js +13 -20
- package/templates/marketing-launch/MarketingLaunch.dc.html +6 -5
- package/templates/marketing-launch/ds-base.js +33 -1
- package/templates/marketing-launch/support.js +13 -20
- package/templates/marketing-newsletter/MarketingNewsletter.dc.html +13 -12
- package/templates/marketing-newsletter/ds-base.js +33 -1
- package/templates/marketing-newsletter/support.js +13 -20
- package/templates/marketing-page/MarketingPage.dc.html +19 -14
- package/templates/marketing-page/content-schema.json +1 -0
- package/templates/marketing-page/ds-base.js +33 -1
- package/templates/marketing-page/support.js +13 -20
- package/templates/marketing-press-release/MarketingPressRelease.dc.html +2 -1
- package/templates/marketing-press-release/ds-base.js +33 -1
- package/templates/marketing-press-release/support.js +13 -20
- package/templates/marketing-social-kit/MarketingSocialKit.dc.html +5 -4
- package/templates/marketing-social-kit/ds-base.js +33 -1
- package/templates/marketing-social-kit/support.js +13 -20
- package/templates/sales-one-pager/SalesOnePager.dc.html +5 -4
- package/templates/sales-one-pager/ds-base.js +33 -1
- package/templates/sales-one-pager/support.js +13 -20
- package/templates/sales-proposal-deck/SalesProposalDeck.dc.html +7 -6
- package/templates/sales-proposal-deck/ds-base.js +33 -1
- package/templates/sales-proposal-deck/support.js +13 -20
- package/templates/settings/Settings.dc.html +7 -3
- package/templates/settings/content-schema.json +7 -0
- package/templates/settings/ds-base.js +33 -1
- package/templates/settings/support.js +13 -20
- package/templates/slide-deck/SlideDeck.dc.html +5 -4
- package/templates/slide-deck/ds-base.js +33 -1
- package/templates/slide-deck/support.js +13 -20
- package/templates/team-meeting-agenda/TeamMeetingAgenda.dc.html +2 -1
- package/templates/team-meeting-agenda/ds-base.js +33 -1
- package/templates/team-meeting-agenda/support.js +13 -20
- package/templates/tech-incident-report/TechIncidentReport.dc.html +3 -2
- package/templates/tech-incident-report/ds-base.js +33 -1
- package/templates/tech-incident-report/support.js +13 -20
- package/templates/tech-release-notes/TechReleaseNotes.dc.html +6 -5
- package/templates/tech-release-notes/ds-base.js +33 -1
- package/templates/tech-release-notes/support.js +13 -20
- package/templates/tech-retro/TechRetro.dc.html +4 -3
- package/templates/tech-retro/ds-base.js +33 -1
- package/templates/tech-retro/support.js +13 -20
- package/templates/tech-rfc/TechRfc.dc.html +3 -2
- package/templates/tech-rfc/ds-base.js +33 -1
- package/templates/tech-rfc/support.js +13 -20
- package/templates/vn-appointment-transfer/VnAppointmentTransfer.dc.html +36 -35
- package/templates/vn-appointment-transfer/ds-base.js +33 -1
- package/templates/vn-appointment-transfer/support.js +13 -20
- package/templates/vn-certificate-of-employment/VnCertificateOfEmployment.dc.html +27 -26
- package/templates/vn-certificate-of-employment/ds-base.js +33 -1
- package/templates/vn-certificate-of-employment/support.js +13 -20
- package/templates/vn-code-of-conduct/VnCodeOfConduct.dc.html +44 -43
- package/templates/vn-code-of-conduct/ds-base.js +33 -1
- package/templates/vn-code-of-conduct/support.js +13 -20
- package/templates/vn-compensation-regulation/VnCompensationRegulation.dc.html +53 -52
- package/templates/vn-compensation-regulation/ds-base.js +33 -1
- package/templates/vn-compensation-regulation/support.js +13 -20
- package/templates/vn-contract-amendment/VnContractAmendment.dc.html +41 -40
- package/templates/vn-contract-amendment/ds-base.js +33 -1
- package/templates/vn-contract-amendment/support.js +13 -20
- package/templates/vn-contractor-agreement/VnContractorAgreement.dc.html +50 -49
- package/templates/vn-contractor-agreement/ds-base.js +33 -1
- package/templates/vn-contractor-agreement/support.js +13 -20
- package/templates/vn-data-protection-policy/VnDataProtectionPolicy.dc.html +54 -53
- package/templates/vn-data-protection-policy/ds-base.js +33 -1
- package/templates/vn-data-protection-policy/support.js +13 -20
- package/templates/vn-disciplinary-case-file/VnDisciplinaryCaseFile.dc.html +72 -71
- package/templates/vn-disciplinary-case-file/ds-base.js +33 -1
- package/templates/vn-disciplinary-case-file/support.js +13 -20
- package/templates/vn-disciplinary-schedule/VnDisciplinarySchedule.dc.html +21 -20
- package/templates/vn-disciplinary-schedule/ds-base.js +33 -1
- package/templates/vn-disciplinary-schedule/support.js +13 -20
- package/templates/vn-employee-request/VnEmployeeRequest.dc.html +54 -53
- package/templates/vn-employee-request/ds-base.js +33 -1
- package/templates/vn-employee-request/support.js +13 -20
- package/templates/vn-exit-handover/VnExitHandover.dc.html +122 -121
- package/templates/vn-exit-handover/ds-base.js +33 -1
- package/templates/vn-exit-handover/support.js +13 -20
- package/templates/vn-foreign-employee-pack/VnForeignEmployeePack.dc.html +31 -30
- package/templates/vn-foreign-employee-pack/ds-base.js +33 -1
- package/templates/vn-foreign-employee-pack/support.js +13 -20
- package/templates/vn-grassroots-democracy/VnGrassrootsDemocracy.dc.html +54 -53
- package/templates/vn-grassroots-democracy/ds-base.js +33 -1
- package/templates/vn-grassroots-democracy/support.js +13 -20
- package/templates/vn-infosec-policy/VnInfosecPolicy.dc.html +50 -49
- package/templates/vn-infosec-policy/ds-base.js +33 -1
- package/templates/vn-infosec-policy/support.js +13 -20
- package/templates/vn-internal-labor-regulations/VnInternalLaborRegulations.dc.html +84 -83
- package/templates/vn-internal-labor-regulations/ds-base.js +33 -1
- package/templates/vn-internal-labor-regulations/support.js +13 -20
- package/templates/vn-internship-agreement/VnInternshipAgreement.dc.html +44 -43
- package/templates/vn-internship-agreement/ds-base.js +33 -1
- package/templates/vn-internship-agreement/support.js +13 -20
- package/templates/vn-job-description/VnJobDescription.dc.html +28 -27
- package/templates/vn-job-description/ds-base.js +33 -1
- package/templates/vn-job-description/support.js +13 -20
- package/templates/vn-labor-contract/VnLaborContract.dc.html +109 -108
- package/templates/vn-labor-contract/ds-base.js +33 -1
- package/templates/vn-labor-contract/support.js +13 -20
- package/templates/vn-labour-management-book/VnLabourManagementBook.dc.html +32 -31
- package/templates/vn-labour-management-book/ds-base.js +33 -1
- package/templates/vn-labour-management-book/support.js +13 -20
- package/templates/vn-mutual-nda/VnMutualNda.dc.html +45 -44
- package/templates/vn-mutual-nda/ds-base.js +33 -1
- package/templates/vn-mutual-nda/support.js +13 -20
- package/templates/vn-ndnca-ip/VnNdncaIp.dc.html +73 -72
- package/templates/vn-ndnca-ip/ds-base.js +33 -1
- package/templates/vn-ndnca-ip/support.js +13 -20
- package/templates/vn-offer-letter/VnOfferLetter.dc.html +32 -31
- package/templates/vn-offer-letter/ds-base.js +33 -1
- package/templates/vn-offer-letter/support.js +13 -20
- package/templates/vn-onboarding-checklist/VnOnboardingChecklist.dc.html +16 -15
- package/templates/vn-onboarding-checklist/ds-base.js +33 -1
- package/templates/vn-onboarding-checklist/support.js +13 -20
- package/templates/vn-pdpl-consent/VnPdplConsent.dc.html +43 -42
- package/templates/vn-pdpl-consent/ds-base.js +33 -1
- package/templates/vn-pdpl-consent/support.js +13 -20
- package/templates/vn-performance-evaluation-regulation/VnPerformanceEvaluationRegulation.dc.html +65 -64
- package/templates/vn-performance-evaluation-regulation/ds-base.js +33 -1
- package/templates/vn-performance-evaluation-regulation/support.js +13 -20
- package/templates/vn-performance-review-form/VnPerformanceReviewForm.dc.html +49 -48
- package/templates/vn-performance-review-form/ds-base.js +33 -1
- package/templates/vn-performance-review-form/support.js +13 -20
- package/templates/vn-phantom-stock/VnPhantomStock.dc.html +41 -40
- package/templates/vn-phantom-stock/ds-base.js +33 -1
- package/templates/vn-phantom-stock/support.js +13 -20
- package/templates/vn-probation-contract/VnProbationContract.dc.html +56 -55
- package/templates/vn-probation-contract/ds-base.js +33 -1
- package/templates/vn-probation-contract/support.js +13 -20
- package/templates/vn-receipt-acknowledgement/VnReceiptAcknowledgement.dc.html +28 -27
- package/templates/vn-receipt-acknowledgement/ds-base.js +33 -1
- package/templates/vn-receipt-acknowledgement/support.js +13 -20
- package/templates/vn-remote-work-policy/VnRemoteWorkPolicy.dc.html +44 -43
- package/templates/vn-remote-work-policy/ds-base.js +33 -1
- package/templates/vn-remote-work-policy/support.js +13 -20
- package/templates/vn-resignation-letter/VnResignationLetter.dc.html +20 -19
- package/templates/vn-resignation-letter/ds-base.js +33 -1
- package/templates/vn-resignation-letter/support.js +13 -20
- package/templates/vn-salary-scale/VnSalaryScale.dc.html +39 -38
- package/templates/vn-salary-scale/ds-base.js +33 -1
- package/templates/vn-salary-scale/support.js +13 -20
- package/templates/vn-sow-appendix/VnSowAppendix.dc.html +21 -20
- package/templates/vn-sow-appendix/ds-base.js +33 -1
- package/templates/vn-sow-appendix/support.js +13 -20
- package/templates/vn-termination-decision/VnTerminationDecision.dc.html +25 -24
- package/templates/vn-termination-decision/ds-base.js +33 -1
- package/templates/vn-termination-decision/support.js +13 -20
- package/templates/vn-total-rewards-appendix/VnTotalRewardsAppendix.dc.html +63 -62
- package/templates/vn-total-rewards-appendix/ds-base.js +33 -1
- package/templates/vn-total-rewards-appendix/support.js +13 -20
- package/templates/vn-training-commitment/VnTrainingCommitment.dc.html +39 -38
- package/templates/vn-training-commitment/ds-base.js +33 -1
- package/templates/vn-training-commitment/support.js +13 -20
- package/templates/vn-travel-expense-policy/VnTravelExpensePolicy.dc.html +50 -49
- package/templates/vn-travel-expense-policy/ds-base.js +33 -1
- package/templates/vn-travel-expense-policy/support.js +13 -20
- package/tokens/colors.css +19 -1
- package/tokens/component-tokens.css +1 -0
- package/tokens/element-seeds.json +2 -2
- package/tokens/elements.css +228 -21
- package/tokens/elevation.css +8 -2
- package/tokens/native/CSTokens.kt +37 -2
- package/tokens/native/CSTokens.swift +37 -2
- package/tokens/native/cs_tokens.dart +37 -2
- package/tokens/provenance.json +12 -12
- package/tokens/spacing.css +4 -1
- package/tokens/tokens.dtcg.json +129 -16
- package/tokens/tokens.js +59 -18
- package/tokens/tokens.json +58 -17
- package/tokens/typography.css +2 -0
- package/ui_kits/deck/index.html +4 -0
- package/ui_kits/status-hub/StatusHub.jsx +30 -4
- package/ui_kits/status-hub/index.html +3 -3
- package/ui_kits/status-hub/login.html +55 -9
- package/ui_kits/status-hub/project.html +4 -0
- package/ui_kits/status-hub/settings.html +35 -13
- package/ui_kits/status-hub/status.css +5 -1
- package/ui_kits/website/Website.jsx +25 -3
- package/ui_kits/website/careers.html +5 -1
- package/ui_kits/website/chat.html +5 -3
- package/ui_kits/website/index.html +3 -3
- package/ui_kits/website/site.css +3 -3
- package/ui_kits/website/work.html +5 -1
- package/assets/aurora-hoa.png +0 -0
- package/assets/aurora-kim.png +0 -0
- package/assets/aurora-moc.png +0 -0
- package/assets/aurora-thuy.png +0 -0
- package/docs/status/assets/favicon.svg +0 -5
- package/docs/status/assets/status-legacy.css +0 -399
- package/docs/status/assets/status-legacy.js +0 -505
- package/docs/status/assets/status.css +0 -644
- package/docs/status/assets/status.js +0 -1308
- package/docs/status/data/status-feed.json +0 -1
- package/docs/status/data/task/TASK-REL-001.js +0 -1
- package/docs/status/data/task/TASK-REL-002.js +0 -1
- package/docs/status/index.html +0 -42
- package/docs/status/roadmap.html +0 -4
- package/docs/status/status-legacy.html +0 -117
- package/docs/tasks/BACKLOG.md +0 -26
- package/docs/tasks/release/TASK-REL-001-launch-1-1-0/spec.md +0 -55
- package/docs/tasks/release/TASK-REL-002-republish-1-1-1/spec.md +0 -54
package/tokens/tokens.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
// CyberSkill design tokens — generated from tokens/*.css (v1.
|
|
1
|
+
// CyberSkill design tokens — generated from tokens/*.css (v1.3.8). Do not edit by hand.
|
|
2
2
|
export const tokens = {
|
|
3
3
|
"$meta": {
|
|
4
4
|
"system": "CyberSkill Design System",
|
|
5
|
-
"version": "1.
|
|
5
|
+
"version": "1.3.8",
|
|
6
6
|
"generated": "2026-07-23",
|
|
7
7
|
"note": "Generated from tokens/*.css. Root grouped by category; theme/element scopes carry overrides only. Regenerate after any token change (see docs/conventions.md)."
|
|
8
8
|
},
|
|
@@ -21,6 +21,10 @@ export const tokens = {
|
|
|
21
21
|
"--cs-color-semantic-danger": "#B42318",
|
|
22
22
|
"--cs-color-semantic-warning": "#92400E",
|
|
23
23
|
"--cs-color-semantic-info": "#1D4ED8",
|
|
24
|
+
"--cs-color-semantic-success-fg": "#FFFFFF",
|
|
25
|
+
"--cs-color-semantic-danger-fg": "#FFFFFF",
|
|
26
|
+
"--cs-color-semantic-warning-fg": "#FFFFFF",
|
|
27
|
+
"--cs-color-semantic-info-fg": "#FFFFFF",
|
|
24
28
|
"--cs-color-accent-ochre": "#F4BA17",
|
|
25
29
|
"--cs-color-border-default": "#E7D9C6",
|
|
26
30
|
"--cs-color-link": "#6E3B0E",
|
|
@@ -50,7 +54,8 @@ export const tokens = {
|
|
|
50
54
|
"--cs-component-textfield-border-default": "#BFA58F",
|
|
51
55
|
"--cs-component-textfield-paddingY": "10px",
|
|
52
56
|
"--cs-component-textfield-paddingX": "12px",
|
|
53
|
-
"--cs-component-textfield-minHeight": "44px"
|
|
57
|
+
"--cs-component-textfield-minHeight": "44px",
|
|
58
|
+
"--cs-focus-ring": "3px"
|
|
54
59
|
},
|
|
55
60
|
"accent": {
|
|
56
61
|
"--cs-accent": "#F4BA17",
|
|
@@ -61,7 +66,8 @@ export const tokens = {
|
|
|
61
66
|
"--cs-accent-ink": "#45210E",
|
|
62
67
|
"--cs-accent-glow": "rgba(244, 186, 23, 0.48)",
|
|
63
68
|
"--cs-accent-grad-a": "#F4BA17",
|
|
64
|
-
"--cs-accent-grad-b": "#
|
|
69
|
+
"--cs-accent-grad-b": "#F3B958",
|
|
70
|
+
"--cs-accent-on-strong": "#1A1108"
|
|
65
71
|
},
|
|
66
72
|
"depth": {
|
|
67
73
|
"--cs-depth-bg": "0",
|
|
@@ -69,7 +75,9 @@ export const tokens = {
|
|
|
69
75
|
"--cs-depth-card": "10",
|
|
70
76
|
"--cs-depth-nav": "50",
|
|
71
77
|
"--cs-depth-modal": "100",
|
|
72
|
-
"--cs-depth-toast": "200"
|
|
78
|
+
"--cs-depth-toast": "200",
|
|
79
|
+
"--cs-depth-dropdown": "60",
|
|
80
|
+
"--cs-depth-overlay": "80"
|
|
73
81
|
},
|
|
74
82
|
"glass": {
|
|
75
83
|
"--cs-glass-whisper-blur": "8px",
|
|
@@ -127,6 +135,7 @@ export const tokens = {
|
|
|
127
135
|
},
|
|
128
136
|
"breakpoint": {
|
|
129
137
|
"--cs-breakpoint-xs": "0px",
|
|
138
|
+
"--cs-breakpoint-phone": "360px",
|
|
130
139
|
"--cs-breakpoint-sm": "640px",
|
|
131
140
|
"--cs-breakpoint-md": "768px",
|
|
132
141
|
"--cs-breakpoint-lg": "1024px",
|
|
@@ -134,7 +143,8 @@ export const tokens = {
|
|
|
134
143
|
"--cs-breakpoint-2xl": "1536px"
|
|
135
144
|
},
|
|
136
145
|
"container": {
|
|
137
|
-
"--cs-container-max": "1320px"
|
|
146
|
+
"--cs-container-max": "1320px",
|
|
147
|
+
"--cs-prose-measure": "45rem"
|
|
138
148
|
},
|
|
139
149
|
"font": {
|
|
140
150
|
"--cs-font-family-ui": "'Be Vietnam Pro', ui-sans-serif, system-ui, sans-serif",
|
|
@@ -148,6 +158,7 @@ export const tokens = {
|
|
|
148
158
|
"--cs-font-lineHeight-body": "1.5",
|
|
149
159
|
"--cs-font-lineHeight-heading": "1.35",
|
|
150
160
|
"--cs-font-lineHeight-tight": "1.15",
|
|
161
|
+
"--cs-font-size-2xs": "0.6875rem",
|
|
151
162
|
"--cs-font-size-xs": "0.75rem",
|
|
152
163
|
"--cs-font-size-sm": "0.875rem",
|
|
153
164
|
"--cs-font-size-base": "1rem",
|
|
@@ -168,6 +179,7 @@ export const tokens = {
|
|
|
168
179
|
"--cs-text-body-lg": "var(--cs-font-size-md)",
|
|
169
180
|
"--cs-text-body": "var(--cs-font-size-base)",
|
|
170
181
|
"--cs-text-secondary": "var(--cs-font-size-sm)",
|
|
182
|
+
"--cs-text-micro": "var(--cs-font-size-2xs)",
|
|
171
183
|
"--cs-text-caption": "var(--cs-font-size-xs)",
|
|
172
184
|
"--cs-text-eyebrow": "var(--cs-font-size-xs)"
|
|
173
185
|
},
|
|
@@ -186,6 +198,12 @@ export const tokens = {
|
|
|
186
198
|
"--cs-icon-sm": "16px",
|
|
187
199
|
"--cs-icon-md": "20px",
|
|
188
200
|
"--cs-icon-lg": "24px"
|
|
201
|
+
},
|
|
202
|
+
"doc": {
|
|
203
|
+
"--cs-doc-ink": "#1A1614",
|
|
204
|
+
"--cs-doc-slate": "#3F4C55",
|
|
205
|
+
"--cs-doc-fill": "#FDE68A",
|
|
206
|
+
"--cs-doc-fill-ink": "#1A1614"
|
|
189
207
|
}
|
|
190
208
|
},
|
|
191
209
|
"themes": {
|
|
@@ -201,6 +219,10 @@ export const tokens = {
|
|
|
201
219
|
"--cs-color-semantic-danger": "#F87171",
|
|
202
220
|
"--cs-color-semantic-warning": "#FBBF24",
|
|
203
221
|
"--cs-color-semantic-info": "#7CB2FB",
|
|
222
|
+
"--cs-color-semantic-success-fg": "#1a1108",
|
|
223
|
+
"--cs-color-semantic-danger-fg": "#1a1108",
|
|
224
|
+
"--cs-color-semantic-warning-fg": "#1a1108",
|
|
225
|
+
"--cs-color-semantic-info-fg": "#1a1108",
|
|
204
226
|
"--cs-color-border-default": "#4a3a2c",
|
|
205
227
|
"--cs-color-link": "#f4ba17",
|
|
206
228
|
"--cs-color-link-hover": "#f5ead9",
|
|
@@ -225,6 +247,10 @@ export const tokens = {
|
|
|
225
247
|
"--cs-color-semantic-danger": "#F87171",
|
|
226
248
|
"--cs-color-semantic-warning": "#FBBF24",
|
|
227
249
|
"--cs-color-semantic-info": "#7CB2FB",
|
|
250
|
+
"--cs-color-semantic-success-fg": "#1a1108",
|
|
251
|
+
"--cs-color-semantic-danger-fg": "#1a1108",
|
|
252
|
+
"--cs-color-semantic-warning-fg": "#1a1108",
|
|
253
|
+
"--cs-color-semantic-info-fg": "#1a1108",
|
|
228
254
|
"--cs-color-border-default": "#4a3a2c",
|
|
229
255
|
"--cs-color-link": "#f4ba17",
|
|
230
256
|
"--cs-color-link-hover": "#f5ead9",
|
|
@@ -244,35 +270,38 @@ export const tokens = {
|
|
|
244
270
|
"--cs-accent-strong": "#90825E",
|
|
245
271
|
"--cs-accent-bright": "#F6EBCC",
|
|
246
272
|
"--cs-accent-on": "#292414",
|
|
273
|
+
"--cs-accent-on-strong": "#1A1108",
|
|
247
274
|
"--cs-accent-tint": "#FBF7EA",
|
|
248
275
|
"--cs-accent-ink": "#292414",
|
|
249
276
|
"--cs-accent-glow": "rgba(248, 233, 192, 0.48)",
|
|
250
277
|
"--cs-accent-grad-a": "#F8E9C0",
|
|
251
|
-
"--cs-accent-grad-b": "#
|
|
278
|
+
"--cs-accent-grad-b": "#F3B958",
|
|
252
279
|
"--cs-color-text-accent": "#90825E",
|
|
253
|
-
"--cs-color-link": "#
|
|
280
|
+
"--cs-color-link": "#7B6D4A"
|
|
254
281
|
},
|
|
255
282
|
"tho": {
|
|
256
283
|
"--cs-accent": "#F4BA17",
|
|
257
284
|
"--cs-accent-strong": "#A47D17",
|
|
258
285
|
"--cs-accent-bright": "#F4BA17",
|
|
259
286
|
"--cs-accent-on": "#45210E",
|
|
287
|
+
"--cs-accent-on-strong": "#1A1108",
|
|
260
288
|
"--cs-accent-tint": "#FBF4E9",
|
|
261
289
|
"--cs-accent-ink": "#45210E",
|
|
262
290
|
"--cs-accent-glow": "rgba(244, 186, 23, 0.48)",
|
|
263
291
|
"--cs-accent-grad-a": "#F4BA17",
|
|
264
|
-
"--cs-accent-grad-b": "#
|
|
292
|
+
"--cs-accent-grad-b": "#F3B958"
|
|
265
293
|
},
|
|
266
294
|
"tho.clay": {
|
|
267
295
|
"--cs-accent": "#513801",
|
|
268
296
|
"--cs-accent-strong": "#201300",
|
|
269
297
|
"--cs-accent-bright": "#DEC7A2",
|
|
270
298
|
"--cs-accent-on": "#2D220E",
|
|
299
|
+
"--cs-accent-on-strong": "#FFFFFF",
|
|
271
300
|
"--cs-accent-tint": "#FFF6E7",
|
|
272
301
|
"--cs-accent-ink": "#2D220E",
|
|
273
302
|
"--cs-accent-glow": "rgba(81, 56, 1, 0.48)",
|
|
274
303
|
"--cs-accent-grad-a": "#513801",
|
|
275
|
-
"--cs-accent-grad-b": "#
|
|
304
|
+
"--cs-accent-grad-b": "#F3B958",
|
|
276
305
|
"--cs-color-text-accent": "#201300",
|
|
277
306
|
"--cs-color-link": "#201300"
|
|
278
307
|
},
|
|
@@ -281,32 +310,35 @@ export const tokens = {
|
|
|
281
310
|
"--cs-accent-strong": "#967C75",
|
|
282
311
|
"--cs-accent-bright": "#FCE6DF",
|
|
283
312
|
"--cs-accent-on": "#2C211E",
|
|
313
|
+
"--cs-accent-on-strong": "#1A1108",
|
|
284
314
|
"--cs-accent-tint": "#FEF4F2",
|
|
285
315
|
"--cs-accent-ink": "#2C211E",
|
|
286
316
|
"--cs-accent-glow": "rgba(255, 225, 216, 0.48)",
|
|
287
317
|
"--cs-accent-grad-a": "#FFE1D8",
|
|
288
318
|
"--cs-accent-grad-b": "#F4BA17",
|
|
289
319
|
"--cs-color-text-accent": "#967C75",
|
|
290
|
-
"--cs-color-link": "#
|
|
320
|
+
"--cs-color-link": "#846B64"
|
|
291
321
|
},
|
|
292
322
|
"hoa": {
|
|
293
323
|
"--cs-accent": "#FCAF91",
|
|
294
324
|
"--cs-accent-strong": "#B47054",
|
|
295
325
|
"--cs-accent-bright": "#FED3C3",
|
|
296
326
|
"--cs-accent-on": "#381B10",
|
|
327
|
+
"--cs-accent-on-strong": "#1A1108",
|
|
297
328
|
"--cs-accent-tint": "#FFF4F0",
|
|
298
329
|
"--cs-accent-ink": "#381B10",
|
|
299
330
|
"--cs-accent-glow": "rgba(252, 175, 145, 0.48)",
|
|
300
331
|
"--cs-accent-grad-a": "#FCAF91",
|
|
301
332
|
"--cs-accent-grad-b": "#F4BA17",
|
|
302
333
|
"--cs-color-text-accent": "#B47054",
|
|
303
|
-
"--cs-color-link": "#
|
|
334
|
+
"--cs-color-link": "#A15E43"
|
|
304
335
|
},
|
|
305
336
|
"hoa.lava": {
|
|
306
337
|
"--cs-accent": "#622B06",
|
|
307
338
|
"--cs-accent-strong": "#280D00",
|
|
308
339
|
"--cs-accent-bright": "#F1BEA4",
|
|
309
340
|
"--cs-accent-on": "#361D0F",
|
|
341
|
+
"--cs-accent-on-strong": "#FFFFFF",
|
|
310
342
|
"--cs-accent-tint": "#FFF4EF",
|
|
311
343
|
"--cs-accent-ink": "#361D0F",
|
|
312
344
|
"--cs-accent-glow": "rgba(98, 43, 6, 0.48)",
|
|
@@ -320,32 +352,35 @@ export const tokens = {
|
|
|
320
352
|
"--cs-accent-strong": "#5A8A90",
|
|
321
353
|
"--cs-accent-bright": "#CDF4F9",
|
|
322
354
|
"--cs-accent-on": "#13282B",
|
|
355
|
+
"--cs-accent-on-strong": "#1A1108",
|
|
323
356
|
"--cs-accent-tint": "#EBFAFC",
|
|
324
357
|
"--cs-accent-ink": "#13282B",
|
|
325
358
|
"--cs-accent-glow": "rgba(192, 245, 252, 0.48)",
|
|
326
359
|
"--cs-accent-grad-a": "#C0F5FC",
|
|
327
360
|
"--cs-accent-grad-b": "#A3D768",
|
|
328
361
|
"--cs-color-text-accent": "#5A8A90",
|
|
329
|
-
"--cs-color-link": "#
|
|
362
|
+
"--cs-color-link": "#48787E"
|
|
330
363
|
},
|
|
331
364
|
"thuy": {
|
|
332
365
|
"--cs-accent": "#2EDBF7",
|
|
333
366
|
"--cs-accent-strong": "#108EA0",
|
|
334
367
|
"--cs-accent-bright": "#99EEFF",
|
|
335
368
|
"--cs-accent-on": "#012A30",
|
|
369
|
+
"--cs-accent-on-strong": "#1A1108",
|
|
336
370
|
"--cs-accent-tint": "#E7FBFF",
|
|
337
371
|
"--cs-accent-ink": "#012A30",
|
|
338
372
|
"--cs-accent-glow": "rgba(46, 219, 247, 0.48)",
|
|
339
373
|
"--cs-accent-grad-a": "#2EDBF7",
|
|
340
374
|
"--cs-accent-grad-b": "#A3D768",
|
|
341
375
|
"--cs-color-text-accent": "#108EA0",
|
|
342
|
-
"--cs-color-link": "#
|
|
376
|
+
"--cs-color-link": "#027B8B"
|
|
343
377
|
},
|
|
344
378
|
"thuy.ocean": {
|
|
345
379
|
"--cs-accent": "#004554",
|
|
346
380
|
"--cs-accent-strong": "#011A21",
|
|
347
381
|
"--cs-accent-bright": "#A8D3E0",
|
|
348
382
|
"--cs-accent-on": "#10282F",
|
|
383
|
+
"--cs-accent-on-strong": "#FFFFFF",
|
|
349
384
|
"--cs-accent-tint": "#EAFAFF",
|
|
350
385
|
"--cs-accent-ink": "#10282F",
|
|
351
386
|
"--cs-accent-glow": "rgba(0, 69, 84, 0.48)",
|
|
@@ -359,32 +394,35 @@ export const tokens = {
|
|
|
359
394
|
"--cs-accent-strong": "#7C8965",
|
|
360
395
|
"--cs-accent-bright": "#E5F1D2",
|
|
361
396
|
"--cs-accent-on": "#212617",
|
|
397
|
+
"--cs-accent-on-strong": "#1A1108",
|
|
362
398
|
"--cs-accent-tint": "#F4F9ED",
|
|
363
399
|
"--cs-accent-ink": "#212617",
|
|
364
400
|
"--cs-accent-glow": "rgba(225, 241, 200, 0.48)",
|
|
365
401
|
"--cs-accent-grad-a": "#E1F1C8",
|
|
366
402
|
"--cs-accent-grad-b": "#FCAF91",
|
|
367
403
|
"--cs-color-text-accent": "#7C8965",
|
|
368
|
-
"--cs-color-link": "#
|
|
404
|
+
"--cs-color-link": "#687451"
|
|
369
405
|
},
|
|
370
406
|
"moc": {
|
|
371
407
|
"--cs-accent": "#A3D768",
|
|
372
408
|
"--cs-accent-strong": "#629122",
|
|
373
409
|
"--cs-accent-bright": "#C5ED9C",
|
|
374
410
|
"--cs-accent-on": "#182A00",
|
|
411
|
+
"--cs-accent-on-strong": "#1A1108",
|
|
375
412
|
"--cs-accent-tint": "#EFFCE3",
|
|
376
413
|
"--cs-accent-ink": "#182A00",
|
|
377
414
|
"--cs-accent-glow": "rgba(163, 215, 104, 0.48)",
|
|
378
415
|
"--cs-accent-grad-a": "#A3D768",
|
|
379
416
|
"--cs-accent-grad-b": "#FCAF91",
|
|
380
417
|
"--cs-color-text-accent": "#629122",
|
|
381
|
-
"--cs-color-link": "#
|
|
418
|
+
"--cs-color-link": "#517B13"
|
|
382
419
|
},
|
|
383
420
|
"moc.forest": {
|
|
384
421
|
"--cs-accent": "#1A4A01",
|
|
385
422
|
"--cs-accent-strong": "#051D00",
|
|
386
423
|
"--cs-accent-bright": "#B0D8A3",
|
|
387
424
|
"--cs-accent-on": "#162A0E",
|
|
425
|
+
"--cs-accent-on-strong": "#FFFFFF",
|
|
388
426
|
"--cs-accent-tint": "#ECFDE7",
|
|
389
427
|
"--cs-accent-ink": "#162A0E",
|
|
390
428
|
"--cs-accent-glow": "rgba(26, 74, 1, 0.48)",
|
|
@@ -398,32 +436,35 @@ export const tokens = {
|
|
|
398
436
|
"--cs-accent-strong": "#947F65",
|
|
399
437
|
"--cs-accent-bright": "#FBE8D2",
|
|
400
438
|
"--cs-accent-on": "#2B2217",
|
|
439
|
+
"--cs-accent-on-strong": "#1A1108",
|
|
401
440
|
"--cs-accent-tint": "#FDF5ED",
|
|
402
441
|
"--cs-accent-ink": "#2B2217",
|
|
403
442
|
"--cs-accent-glow": "rgba(254, 229, 199, 0.48)",
|
|
404
443
|
"--cs-accent-grad-a": "#FEE5C7",
|
|
405
444
|
"--cs-accent-grad-b": "#2EDBF7",
|
|
406
445
|
"--cs-color-text-accent": "#947F65",
|
|
407
|
-
"--cs-color-link": "#
|
|
446
|
+
"--cs-color-link": "#826D54"
|
|
408
447
|
},
|
|
409
448
|
"kim": {
|
|
410
449
|
"--cs-accent": "#F3B958",
|
|
411
450
|
"--cs-accent-strong": "#AC780B",
|
|
412
451
|
"--cs-accent-bright": "#FDD89F",
|
|
413
452
|
"--cs-accent-on": "#312002",
|
|
453
|
+
"--cs-accent-on-strong": "#1A1108",
|
|
414
454
|
"--cs-accent-tint": "#FFF5E7",
|
|
415
455
|
"--cs-accent-ink": "#312002",
|
|
416
456
|
"--cs-accent-glow": "rgba(243, 185, 88, 0.48)",
|
|
417
457
|
"--cs-accent-grad-a": "#F3B958",
|
|
418
458
|
"--cs-accent-grad-b": "#2EDBF7",
|
|
419
459
|
"--cs-color-text-accent": "#AC780B",
|
|
420
|
-
"--cs-color-link": "#
|
|
460
|
+
"--cs-color-link": "#966700"
|
|
421
461
|
},
|
|
422
462
|
"kim.steel": {
|
|
423
463
|
"--cs-accent": "#503901",
|
|
424
464
|
"--cs-accent-strong": "#1F1400",
|
|
425
465
|
"--cs-accent-bright": "#DCC8A2",
|
|
426
466
|
"--cs-accent-on": "#2D220E",
|
|
467
|
+
"--cs-accent-on-strong": "#FFFFFF",
|
|
427
468
|
"--cs-accent-tint": "#FEF6E7",
|
|
428
469
|
"--cs-accent-ink": "#2D220E",
|
|
429
470
|
"--cs-accent-glow": "rgba(80, 57, 1, 0.48)",
|
package/tokens/tokens.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$meta": {
|
|
3
3
|
"system": "CyberSkill Design System",
|
|
4
|
-
"version": "1.
|
|
4
|
+
"version": "1.3.8",
|
|
5
5
|
"generated": "2026-07-23",
|
|
6
6
|
"note": "Generated from tokens/*.css. Root grouped by category; theme/element scopes carry overrides only. Regenerate after any token change (see docs/conventions.md)."
|
|
7
7
|
},
|
|
@@ -20,6 +20,10 @@
|
|
|
20
20
|
"--cs-color-semantic-danger": "#B42318",
|
|
21
21
|
"--cs-color-semantic-warning": "#92400E",
|
|
22
22
|
"--cs-color-semantic-info": "#1D4ED8",
|
|
23
|
+
"--cs-color-semantic-success-fg": "#FFFFFF",
|
|
24
|
+
"--cs-color-semantic-danger-fg": "#FFFFFF",
|
|
25
|
+
"--cs-color-semantic-warning-fg": "#FFFFFF",
|
|
26
|
+
"--cs-color-semantic-info-fg": "#FFFFFF",
|
|
23
27
|
"--cs-color-accent-ochre": "#F4BA17",
|
|
24
28
|
"--cs-color-border-default": "#E7D9C6",
|
|
25
29
|
"--cs-color-link": "#6E3B0E",
|
|
@@ -49,7 +53,8 @@
|
|
|
49
53
|
"--cs-component-textfield-border-default": "#BFA58F",
|
|
50
54
|
"--cs-component-textfield-paddingY": "10px",
|
|
51
55
|
"--cs-component-textfield-paddingX": "12px",
|
|
52
|
-
"--cs-component-textfield-minHeight": "44px"
|
|
56
|
+
"--cs-component-textfield-minHeight": "44px",
|
|
57
|
+
"--cs-focus-ring": "3px"
|
|
53
58
|
},
|
|
54
59
|
"accent": {
|
|
55
60
|
"--cs-accent": "#F4BA17",
|
|
@@ -60,7 +65,8 @@
|
|
|
60
65
|
"--cs-accent-ink": "#45210E",
|
|
61
66
|
"--cs-accent-glow": "rgba(244, 186, 23, 0.48)",
|
|
62
67
|
"--cs-accent-grad-a": "#F4BA17",
|
|
63
|
-
"--cs-accent-grad-b": "#
|
|
68
|
+
"--cs-accent-grad-b": "#F3B958",
|
|
69
|
+
"--cs-accent-on-strong": "#1A1108"
|
|
64
70
|
},
|
|
65
71
|
"depth": {
|
|
66
72
|
"--cs-depth-bg": "0",
|
|
@@ -68,7 +74,9 @@
|
|
|
68
74
|
"--cs-depth-card": "10",
|
|
69
75
|
"--cs-depth-nav": "50",
|
|
70
76
|
"--cs-depth-modal": "100",
|
|
71
|
-
"--cs-depth-toast": "200"
|
|
77
|
+
"--cs-depth-toast": "200",
|
|
78
|
+
"--cs-depth-dropdown": "60",
|
|
79
|
+
"--cs-depth-overlay": "80"
|
|
72
80
|
},
|
|
73
81
|
"glass": {
|
|
74
82
|
"--cs-glass-whisper-blur": "8px",
|
|
@@ -126,6 +134,7 @@
|
|
|
126
134
|
},
|
|
127
135
|
"breakpoint": {
|
|
128
136
|
"--cs-breakpoint-xs": "0px",
|
|
137
|
+
"--cs-breakpoint-phone": "360px",
|
|
129
138
|
"--cs-breakpoint-sm": "640px",
|
|
130
139
|
"--cs-breakpoint-md": "768px",
|
|
131
140
|
"--cs-breakpoint-lg": "1024px",
|
|
@@ -133,7 +142,8 @@
|
|
|
133
142
|
"--cs-breakpoint-2xl": "1536px"
|
|
134
143
|
},
|
|
135
144
|
"container": {
|
|
136
|
-
"--cs-container-max": "1320px"
|
|
145
|
+
"--cs-container-max": "1320px",
|
|
146
|
+
"--cs-prose-measure": "45rem"
|
|
137
147
|
},
|
|
138
148
|
"font": {
|
|
139
149
|
"--cs-font-family-ui": "'Be Vietnam Pro', ui-sans-serif, system-ui, sans-serif",
|
|
@@ -147,6 +157,7 @@
|
|
|
147
157
|
"--cs-font-lineHeight-body": "1.5",
|
|
148
158
|
"--cs-font-lineHeight-heading": "1.35",
|
|
149
159
|
"--cs-font-lineHeight-tight": "1.15",
|
|
160
|
+
"--cs-font-size-2xs": "0.6875rem",
|
|
150
161
|
"--cs-font-size-xs": "0.75rem",
|
|
151
162
|
"--cs-font-size-sm": "0.875rem",
|
|
152
163
|
"--cs-font-size-base": "1rem",
|
|
@@ -167,6 +178,7 @@
|
|
|
167
178
|
"--cs-text-body-lg": "var(--cs-font-size-md)",
|
|
168
179
|
"--cs-text-body": "var(--cs-font-size-base)",
|
|
169
180
|
"--cs-text-secondary": "var(--cs-font-size-sm)",
|
|
181
|
+
"--cs-text-micro": "var(--cs-font-size-2xs)",
|
|
170
182
|
"--cs-text-caption": "var(--cs-font-size-xs)",
|
|
171
183
|
"--cs-text-eyebrow": "var(--cs-font-size-xs)"
|
|
172
184
|
},
|
|
@@ -185,6 +197,12 @@
|
|
|
185
197
|
"--cs-icon-sm": "16px",
|
|
186
198
|
"--cs-icon-md": "20px",
|
|
187
199
|
"--cs-icon-lg": "24px"
|
|
200
|
+
},
|
|
201
|
+
"doc": {
|
|
202
|
+
"--cs-doc-ink": "#1A1614",
|
|
203
|
+
"--cs-doc-slate": "#3F4C55",
|
|
204
|
+
"--cs-doc-fill": "#FDE68A",
|
|
205
|
+
"--cs-doc-fill-ink": "#1A1614"
|
|
188
206
|
}
|
|
189
207
|
},
|
|
190
208
|
"themes": {
|
|
@@ -200,6 +218,10 @@
|
|
|
200
218
|
"--cs-color-semantic-danger": "#F87171",
|
|
201
219
|
"--cs-color-semantic-warning": "#FBBF24",
|
|
202
220
|
"--cs-color-semantic-info": "#7CB2FB",
|
|
221
|
+
"--cs-color-semantic-success-fg": "#1a1108",
|
|
222
|
+
"--cs-color-semantic-danger-fg": "#1a1108",
|
|
223
|
+
"--cs-color-semantic-warning-fg": "#1a1108",
|
|
224
|
+
"--cs-color-semantic-info-fg": "#1a1108",
|
|
203
225
|
"--cs-color-border-default": "#4a3a2c",
|
|
204
226
|
"--cs-color-link": "#f4ba17",
|
|
205
227
|
"--cs-color-link-hover": "#f5ead9",
|
|
@@ -224,6 +246,10 @@
|
|
|
224
246
|
"--cs-color-semantic-danger": "#F87171",
|
|
225
247
|
"--cs-color-semantic-warning": "#FBBF24",
|
|
226
248
|
"--cs-color-semantic-info": "#7CB2FB",
|
|
249
|
+
"--cs-color-semantic-success-fg": "#1a1108",
|
|
250
|
+
"--cs-color-semantic-danger-fg": "#1a1108",
|
|
251
|
+
"--cs-color-semantic-warning-fg": "#1a1108",
|
|
252
|
+
"--cs-color-semantic-info-fg": "#1a1108",
|
|
227
253
|
"--cs-color-border-default": "#4a3a2c",
|
|
228
254
|
"--cs-color-link": "#f4ba17",
|
|
229
255
|
"--cs-color-link-hover": "#f5ead9",
|
|
@@ -243,35 +269,38 @@
|
|
|
243
269
|
"--cs-accent-strong": "#90825E",
|
|
244
270
|
"--cs-accent-bright": "#F6EBCC",
|
|
245
271
|
"--cs-accent-on": "#292414",
|
|
272
|
+
"--cs-accent-on-strong": "#1A1108",
|
|
246
273
|
"--cs-accent-tint": "#FBF7EA",
|
|
247
274
|
"--cs-accent-ink": "#292414",
|
|
248
275
|
"--cs-accent-glow": "rgba(248, 233, 192, 0.48)",
|
|
249
276
|
"--cs-accent-grad-a": "#F8E9C0",
|
|
250
|
-
"--cs-accent-grad-b": "#
|
|
277
|
+
"--cs-accent-grad-b": "#F3B958",
|
|
251
278
|
"--cs-color-text-accent": "#90825E",
|
|
252
|
-
"--cs-color-link": "#
|
|
279
|
+
"--cs-color-link": "#7B6D4A"
|
|
253
280
|
},
|
|
254
281
|
"tho": {
|
|
255
282
|
"--cs-accent": "#F4BA17",
|
|
256
283
|
"--cs-accent-strong": "#A47D17",
|
|
257
284
|
"--cs-accent-bright": "#F4BA17",
|
|
258
285
|
"--cs-accent-on": "#45210E",
|
|
286
|
+
"--cs-accent-on-strong": "#1A1108",
|
|
259
287
|
"--cs-accent-tint": "#FBF4E9",
|
|
260
288
|
"--cs-accent-ink": "#45210E",
|
|
261
289
|
"--cs-accent-glow": "rgba(244, 186, 23, 0.48)",
|
|
262
290
|
"--cs-accent-grad-a": "#F4BA17",
|
|
263
|
-
"--cs-accent-grad-b": "#
|
|
291
|
+
"--cs-accent-grad-b": "#F3B958"
|
|
264
292
|
},
|
|
265
293
|
"tho.clay": {
|
|
266
294
|
"--cs-accent": "#513801",
|
|
267
295
|
"--cs-accent-strong": "#201300",
|
|
268
296
|
"--cs-accent-bright": "#DEC7A2",
|
|
269
297
|
"--cs-accent-on": "#2D220E",
|
|
298
|
+
"--cs-accent-on-strong": "#FFFFFF",
|
|
270
299
|
"--cs-accent-tint": "#FFF6E7",
|
|
271
300
|
"--cs-accent-ink": "#2D220E",
|
|
272
301
|
"--cs-accent-glow": "rgba(81, 56, 1, 0.48)",
|
|
273
302
|
"--cs-accent-grad-a": "#513801",
|
|
274
|
-
"--cs-accent-grad-b": "#
|
|
303
|
+
"--cs-accent-grad-b": "#F3B958",
|
|
275
304
|
"--cs-color-text-accent": "#201300",
|
|
276
305
|
"--cs-color-link": "#201300"
|
|
277
306
|
},
|
|
@@ -280,32 +309,35 @@
|
|
|
280
309
|
"--cs-accent-strong": "#967C75",
|
|
281
310
|
"--cs-accent-bright": "#FCE6DF",
|
|
282
311
|
"--cs-accent-on": "#2C211E",
|
|
312
|
+
"--cs-accent-on-strong": "#1A1108",
|
|
283
313
|
"--cs-accent-tint": "#FEF4F2",
|
|
284
314
|
"--cs-accent-ink": "#2C211E",
|
|
285
315
|
"--cs-accent-glow": "rgba(255, 225, 216, 0.48)",
|
|
286
316
|
"--cs-accent-grad-a": "#FFE1D8",
|
|
287
317
|
"--cs-accent-grad-b": "#F4BA17",
|
|
288
318
|
"--cs-color-text-accent": "#967C75",
|
|
289
|
-
"--cs-color-link": "#
|
|
319
|
+
"--cs-color-link": "#846B64"
|
|
290
320
|
},
|
|
291
321
|
"hoa": {
|
|
292
322
|
"--cs-accent": "#FCAF91",
|
|
293
323
|
"--cs-accent-strong": "#B47054",
|
|
294
324
|
"--cs-accent-bright": "#FED3C3",
|
|
295
325
|
"--cs-accent-on": "#381B10",
|
|
326
|
+
"--cs-accent-on-strong": "#1A1108",
|
|
296
327
|
"--cs-accent-tint": "#FFF4F0",
|
|
297
328
|
"--cs-accent-ink": "#381B10",
|
|
298
329
|
"--cs-accent-glow": "rgba(252, 175, 145, 0.48)",
|
|
299
330
|
"--cs-accent-grad-a": "#FCAF91",
|
|
300
331
|
"--cs-accent-grad-b": "#F4BA17",
|
|
301
332
|
"--cs-color-text-accent": "#B47054",
|
|
302
|
-
"--cs-color-link": "#
|
|
333
|
+
"--cs-color-link": "#A15E43"
|
|
303
334
|
},
|
|
304
335
|
"hoa.lava": {
|
|
305
336
|
"--cs-accent": "#622B06",
|
|
306
337
|
"--cs-accent-strong": "#280D00",
|
|
307
338
|
"--cs-accent-bright": "#F1BEA4",
|
|
308
339
|
"--cs-accent-on": "#361D0F",
|
|
340
|
+
"--cs-accent-on-strong": "#FFFFFF",
|
|
309
341
|
"--cs-accent-tint": "#FFF4EF",
|
|
310
342
|
"--cs-accent-ink": "#361D0F",
|
|
311
343
|
"--cs-accent-glow": "rgba(98, 43, 6, 0.48)",
|
|
@@ -319,32 +351,35 @@
|
|
|
319
351
|
"--cs-accent-strong": "#5A8A90",
|
|
320
352
|
"--cs-accent-bright": "#CDF4F9",
|
|
321
353
|
"--cs-accent-on": "#13282B",
|
|
354
|
+
"--cs-accent-on-strong": "#1A1108",
|
|
322
355
|
"--cs-accent-tint": "#EBFAFC",
|
|
323
356
|
"--cs-accent-ink": "#13282B",
|
|
324
357
|
"--cs-accent-glow": "rgba(192, 245, 252, 0.48)",
|
|
325
358
|
"--cs-accent-grad-a": "#C0F5FC",
|
|
326
359
|
"--cs-accent-grad-b": "#A3D768",
|
|
327
360
|
"--cs-color-text-accent": "#5A8A90",
|
|
328
|
-
"--cs-color-link": "#
|
|
361
|
+
"--cs-color-link": "#48787E"
|
|
329
362
|
},
|
|
330
363
|
"thuy": {
|
|
331
364
|
"--cs-accent": "#2EDBF7",
|
|
332
365
|
"--cs-accent-strong": "#108EA0",
|
|
333
366
|
"--cs-accent-bright": "#99EEFF",
|
|
334
367
|
"--cs-accent-on": "#012A30",
|
|
368
|
+
"--cs-accent-on-strong": "#1A1108",
|
|
335
369
|
"--cs-accent-tint": "#E7FBFF",
|
|
336
370
|
"--cs-accent-ink": "#012A30",
|
|
337
371
|
"--cs-accent-glow": "rgba(46, 219, 247, 0.48)",
|
|
338
372
|
"--cs-accent-grad-a": "#2EDBF7",
|
|
339
373
|
"--cs-accent-grad-b": "#A3D768",
|
|
340
374
|
"--cs-color-text-accent": "#108EA0",
|
|
341
|
-
"--cs-color-link": "#
|
|
375
|
+
"--cs-color-link": "#027B8B"
|
|
342
376
|
},
|
|
343
377
|
"thuy.ocean": {
|
|
344
378
|
"--cs-accent": "#004554",
|
|
345
379
|
"--cs-accent-strong": "#011A21",
|
|
346
380
|
"--cs-accent-bright": "#A8D3E0",
|
|
347
381
|
"--cs-accent-on": "#10282F",
|
|
382
|
+
"--cs-accent-on-strong": "#FFFFFF",
|
|
348
383
|
"--cs-accent-tint": "#EAFAFF",
|
|
349
384
|
"--cs-accent-ink": "#10282F",
|
|
350
385
|
"--cs-accent-glow": "rgba(0, 69, 84, 0.48)",
|
|
@@ -358,32 +393,35 @@
|
|
|
358
393
|
"--cs-accent-strong": "#7C8965",
|
|
359
394
|
"--cs-accent-bright": "#E5F1D2",
|
|
360
395
|
"--cs-accent-on": "#212617",
|
|
396
|
+
"--cs-accent-on-strong": "#1A1108",
|
|
361
397
|
"--cs-accent-tint": "#F4F9ED",
|
|
362
398
|
"--cs-accent-ink": "#212617",
|
|
363
399
|
"--cs-accent-glow": "rgba(225, 241, 200, 0.48)",
|
|
364
400
|
"--cs-accent-grad-a": "#E1F1C8",
|
|
365
401
|
"--cs-accent-grad-b": "#FCAF91",
|
|
366
402
|
"--cs-color-text-accent": "#7C8965",
|
|
367
|
-
"--cs-color-link": "#
|
|
403
|
+
"--cs-color-link": "#687451"
|
|
368
404
|
},
|
|
369
405
|
"moc": {
|
|
370
406
|
"--cs-accent": "#A3D768",
|
|
371
407
|
"--cs-accent-strong": "#629122",
|
|
372
408
|
"--cs-accent-bright": "#C5ED9C",
|
|
373
409
|
"--cs-accent-on": "#182A00",
|
|
410
|
+
"--cs-accent-on-strong": "#1A1108",
|
|
374
411
|
"--cs-accent-tint": "#EFFCE3",
|
|
375
412
|
"--cs-accent-ink": "#182A00",
|
|
376
413
|
"--cs-accent-glow": "rgba(163, 215, 104, 0.48)",
|
|
377
414
|
"--cs-accent-grad-a": "#A3D768",
|
|
378
415
|
"--cs-accent-grad-b": "#FCAF91",
|
|
379
416
|
"--cs-color-text-accent": "#629122",
|
|
380
|
-
"--cs-color-link": "#
|
|
417
|
+
"--cs-color-link": "#517B13"
|
|
381
418
|
},
|
|
382
419
|
"moc.forest": {
|
|
383
420
|
"--cs-accent": "#1A4A01",
|
|
384
421
|
"--cs-accent-strong": "#051D00",
|
|
385
422
|
"--cs-accent-bright": "#B0D8A3",
|
|
386
423
|
"--cs-accent-on": "#162A0E",
|
|
424
|
+
"--cs-accent-on-strong": "#FFFFFF",
|
|
387
425
|
"--cs-accent-tint": "#ECFDE7",
|
|
388
426
|
"--cs-accent-ink": "#162A0E",
|
|
389
427
|
"--cs-accent-glow": "rgba(26, 74, 1, 0.48)",
|
|
@@ -397,32 +435,35 @@
|
|
|
397
435
|
"--cs-accent-strong": "#947F65",
|
|
398
436
|
"--cs-accent-bright": "#FBE8D2",
|
|
399
437
|
"--cs-accent-on": "#2B2217",
|
|
438
|
+
"--cs-accent-on-strong": "#1A1108",
|
|
400
439
|
"--cs-accent-tint": "#FDF5ED",
|
|
401
440
|
"--cs-accent-ink": "#2B2217",
|
|
402
441
|
"--cs-accent-glow": "rgba(254, 229, 199, 0.48)",
|
|
403
442
|
"--cs-accent-grad-a": "#FEE5C7",
|
|
404
443
|
"--cs-accent-grad-b": "#2EDBF7",
|
|
405
444
|
"--cs-color-text-accent": "#947F65",
|
|
406
|
-
"--cs-color-link": "#
|
|
445
|
+
"--cs-color-link": "#826D54"
|
|
407
446
|
},
|
|
408
447
|
"kim": {
|
|
409
448
|
"--cs-accent": "#F3B958",
|
|
410
449
|
"--cs-accent-strong": "#AC780B",
|
|
411
450
|
"--cs-accent-bright": "#FDD89F",
|
|
412
451
|
"--cs-accent-on": "#312002",
|
|
452
|
+
"--cs-accent-on-strong": "#1A1108",
|
|
413
453
|
"--cs-accent-tint": "#FFF5E7",
|
|
414
454
|
"--cs-accent-ink": "#312002",
|
|
415
455
|
"--cs-accent-glow": "rgba(243, 185, 88, 0.48)",
|
|
416
456
|
"--cs-accent-grad-a": "#F3B958",
|
|
417
457
|
"--cs-accent-grad-b": "#2EDBF7",
|
|
418
458
|
"--cs-color-text-accent": "#AC780B",
|
|
419
|
-
"--cs-color-link": "#
|
|
459
|
+
"--cs-color-link": "#966700"
|
|
420
460
|
},
|
|
421
461
|
"kim.steel": {
|
|
422
462
|
"--cs-accent": "#503901",
|
|
423
463
|
"--cs-accent-strong": "#1F1400",
|
|
424
464
|
"--cs-accent-bright": "#DCC8A2",
|
|
425
465
|
"--cs-accent-on": "#2D220E",
|
|
466
|
+
"--cs-accent-on-strong": "#FFFFFF",
|
|
426
467
|
"--cs-accent-tint": "#FEF6E7",
|
|
427
468
|
"--cs-accent-ink": "#2D220E",
|
|
428
469
|
"--cs-accent-glow": "rgba(80, 57, 1, 0.48)",
|
package/tokens/typography.css
CHANGED
|
@@ -30,6 +30,7 @@
|
|
|
30
30
|
--cs-font-lineHeight-tight: 1.15;
|
|
31
31
|
|
|
32
32
|
/* Size ramp (rem-based, 16px root) */
|
|
33
|
+
--cs-font-size-2xs: 0.6875rem; /* 11 — micro numerals only (documented exception) */
|
|
33
34
|
--cs-font-size-xs: 0.75rem; /* 12 — captions, chips */
|
|
34
35
|
--cs-font-size-sm: 0.875rem; /* 14 — secondary UI */
|
|
35
36
|
--cs-font-size-base: 1rem; /* 16 — body */
|
|
@@ -52,6 +53,7 @@
|
|
|
52
53
|
--cs-text-body-lg: var(--cs-font-size-md); /* lead paragraphs */
|
|
53
54
|
--cs-text-body: var(--cs-font-size-base);
|
|
54
55
|
--cs-text-secondary: var(--cs-font-size-sm);
|
|
56
|
+
--cs-text-micro: var(--cs-font-size-2xs);
|
|
55
57
|
--cs-text-caption: var(--cs-font-size-xs);
|
|
56
58
|
--cs-text-eyebrow: var(--cs-font-size-xs); /* uppercase, tracked */
|
|
57
59
|
|
package/ui_kits/deck/index.html
CHANGED
|
@@ -40,6 +40,9 @@
|
|
|
40
40
|
</style>
|
|
41
41
|
</head>
|
|
42
42
|
<body>
|
|
43
|
+
<a class="cs-skip" href="#main" style="position:absolute;left:-999px;width:1px;height:1px;overflow:hidden">Bỏ qua đến nội dung</a>
|
|
44
|
+
<main id="main">
|
|
45
|
+
|
|
43
46
|
<deck-stage width="1920" height="1080">
|
|
44
47
|
<section class="sl sl-umber sl-pad" data-label="Title">
|
|
45
48
|
<div class="lockup" style="margin-bottom:56px"><img src="../../assets/logo-mark.svg" alt="CyberSkill" /><b>CyberSkill</b></div>
|
|
@@ -116,5 +119,6 @@
|
|
|
116
119
|
if(link) link.addEventListener("click", function(){ apply(document.documentElement.getAttribute("lang")!=="vi"); });
|
|
117
120
|
})();
|
|
118
121
|
</script>
|
|
122
|
+
</main>
|
|
119
123
|
</body>
|
|
120
124
|
</html>
|