@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
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
<!DOCTYPE html>
|
|
2
|
-
<html>
|
|
2
|
+
<html lang="en">
|
|
3
3
|
<head>
|
|
4
|
+
<title>HR Suite · Hợp đồng dịch vụ (cộng tác viên) — Independent Contractor Agreement · CyberSkill</title>
|
|
4
5
|
<meta charset="utf-8">
|
|
5
6
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
6
7
|
<meta name="omelette-owns-print" content="1">
|
|
@@ -13,95 +14,95 @@
|
|
|
13
14
|
<script src="./ds-base.js"></script>
|
|
14
15
|
<style>@page{size:A4;margin:23mm 20mm 20mm 20mm}@media print{html,body{background:#fff!important}.cs-desk{background:#fff!important;padding:0!important;min-height:0!important}.cs-sheet{box-shadow:none!important;border:none!important;max-width:none!important;border-radius:0!important;padding:0!important}.cs-avoid{break-inside:avoid}}</style>
|
|
15
16
|
</helmet>
|
|
16
|
-
<div lang="vi" data-cs-element="{{ elAttr }}" data-cs-variant="{{ vaAttr }}" class="cs-desk" style="background:#efe6d8;min-height:100vh;padding:40px 16px;font-family:var(--cs-font-family-ui);color
|
|
17
|
+
<div lang="vi" data-cs-element="{{ elAttr }}" data-cs-variant="{{ vaAttr }}" class="cs-desk" style="background:#efe6d8;min-height:100vh;padding:40px 16px;font-family:var(--cs-font-family-ui);color:var(--cs-doc-ink)">
|
|
17
18
|
<div class="cs-sheet" style="max-width:794px;margin:0 auto;background:#fff;border:1px solid var(--cs-color-border-default);border-radius:12px;box-shadow:var(--cs-shadow-md);padding:56px 60px;text-align:left">
|
|
18
19
|
<div style="display:flex;align-items:center;gap:8px;font-size:10.5px;color:var(--cs-color-text-muted);padding-bottom:6px;border-bottom:1px solid var(--cs-color-border-default);margin-bottom:14px">
|
|
19
20
|
<x-import component-from-global-scope="CyberSkillDS.Logo" size="18" hint-size="18px,18px"></x-import>
|
|
20
|
-
<b style="color:var(--cs-color-brand-umber)">CyberSkill</b><span>· Hợp đồng dịch vụ (cộng tác viên)</span><span style="margin-left:auto;font-family:var(--cs-font-family-mono)">Số/No. <span style="background
|
|
21
|
+
<b style="color:var(--cs-color-brand-umber)">CyberSkill</b><span>· Hợp đồng dịch vụ (cộng tác viên)</span><span style="margin-left:auto;font-family:var(--cs-font-family-mono)">Số/No. <span style="background:var(--cs-doc-fill);padding:0 3px">.....</span>/2026/HĐDV-CYBERSKILL</span>
|
|
21
22
|
</div>
|
|
22
23
|
<div class="cs-avoid" style="display:grid;grid-template-columns:1.15fr 1fr;gap:20px;margin-bottom:18px">
|
|
23
|
-
<div><div style="font-weight:800;font-size:11.5px;line-height:1.45">CÔNG TY CỔ PHẦN TƯ VẤN VÀ PHÁT TRIỂN GIẢI PHÁP PHẦN MỀM CYBERSKILL</div><div style="font-size:10px;color
|
|
24
|
-
<div style="text-align:center"><div style="font-weight:800;font-size:11.5px;line-height:1.5">CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM</div><div style="font-weight:700;font-size:11px">Độc lập - Tự do - Hạnh phúc</div><div style="letter-spacing:0.1em;font-size:10px;margin:1px 0">———————————</div><div style="font-size:9.5px;color
|
|
24
|
+
<div><div style="font-weight:800;font-size:11.5px;line-height:1.45">CÔNG TY CỔ PHẦN TƯ VẤN VÀ PHÁT TRIỂN GIẢI PHÁP PHẦN MỀM CYBERSKILL</div><div style="font-size:10px;color:var(--cs-doc-slate);font-style:italic;line-height:1.45;margin-top:2px">CyberSkill Software Solutions Consultancy and Development Joint Stock Company</div></div>
|
|
25
|
+
<div style="text-align:center"><div style="font-weight:800;font-size:11.5px;line-height:1.5">CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM</div><div style="font-weight:700;font-size:11px">Độc lập - Tự do - Hạnh phúc</div><div style="letter-spacing:0.1em;font-size:10px;margin:1px 0">———————————</div><div style="font-size:9.5px;color:var(--cs-doc-slate);font-style:italic;line-height:1.4">The Socialist Republic of Vietnam · Independence - Freedom - Happiness</div><div style="font-size:10.5px;margin-top:4px">Thành phố Hồ Chí Minh, ngày <span style="background:var(--cs-doc-fill);padding:0 3px">...</span> tháng <span style="background:var(--cs-doc-fill);padding:0 3px">...</span> năm <span style="background:var(--cs-doc-fill);padding:0 3px">...</span></div></div>
|
|
25
26
|
</div>
|
|
26
27
|
<div class="cs-avoid" style="text-align:center;margin-bottom:14px">
|
|
27
28
|
<h1 style="font-size:22px;font-weight:800;color:var(--cs-color-brand-umber);letter-spacing:-0.01em;margin:0 0 3px;line-height:1.25">HỢP ĐỒNG DỊCH VỤ (CỘNG TÁC VIÊN)</h1>
|
|
28
|
-
<div style="font-size:13px;color
|
|
29
|
-
<div style="font-size:12px;margin-top:8px">Phiên bản / Version 1.0 · Hiệu lực từ / Effective from: <span style="background
|
|
29
|
+
<div style="font-size:13px;color:var(--cs-doc-slate);font-style:italic">Service (Independent Contractor) Agreement</div>
|
|
30
|
+
<div style="font-size:12px;margin-top:8px">Phiên bản / Version 1.0 · Hiệu lực từ / Effective from: <span style="background:var(--cs-doc-fill);padding:0 3px">......</span> / <span style="background:var(--cs-doc-fill);padding:0 3px">......</span> / <span style="background:var(--cs-doc-fill);padding:0 3px">......</span></div>
|
|
30
31
|
<div style="color:var(--cs-accent);font-size:13px;letter-spacing:0.5em;margin-top:10px">◆ ◆ ◆</div>
|
|
31
32
|
</div>
|
|
32
33
|
<p style="font-size:13px;line-height:1.5;margin:0 0 1px">Căn cứ Bộ luật Dân sự số 91/2015/QH13 và các quy định pháp luật có liên quan;</p>
|
|
33
|
-
<p style="font-size:12px;line-height:1.4;color
|
|
34
|
-
<p style="font-size:13px;line-height:1.5;margin:0 0 1px">Hôm nay, ngày <span style="background
|
|
35
|
-
<p style="font-size:12px;line-height:1.4;color
|
|
34
|
+
<p style="font-size:12px;line-height:1.4;color:var(--cs-doc-slate);font-style:italic;margin:0 0 6px">Pursuant to the Civil Code No. 91/2015/QH13 and other relevant laws;</p>
|
|
35
|
+
<p style="font-size:13px;line-height:1.5;margin:0 0 1px">Hôm nay, ngày <span style="background:var(--cs-doc-fill);padding:0 3px">....</span> tháng <span style="background:var(--cs-doc-fill);padding:0 3px">....</span> năm <span style="background:var(--cs-doc-fill);padding:0 3px">....</span>, tại Thành phố Hồ Chí Minh, hai Bên gồm:</p>
|
|
36
|
+
<p style="font-size:12px;line-height:1.4;color:var(--cs-doc-slate);font-style:italic;margin:0 0 12px">Today, <span style="background:var(--cs-doc-fill);padding:0 3px">....</span> / <span style="background:var(--cs-doc-fill);padding:0 3px">....</span> / <span style="background:var(--cs-doc-fill);padding:0 3px">....</span>, in Ho Chi Minh City, the two Parties are:</p>
|
|
36
37
|
|
|
37
38
|
<div class="cs-avoid" style="margin-bottom:12px">
|
|
38
|
-
<div style="font-weight:800;font-size:12.5px;color:var(--cs-color-brand-umber);margin-bottom:4px">BÊN A · BÊN THUÊ DỊCH VỤ <span style="font-weight:400;color
|
|
39
|
+
<div style="font-weight:800;font-size:12.5px;color:var(--cs-color-brand-umber);margin-bottom:4px">BÊN A · BÊN THUÊ DỊCH VỤ <span style="font-weight:400;color:var(--cs-doc-slate);font-style:italic">Party A · The Client</span></div>
|
|
39
40
|
<table style="width:100%;border-collapse:collapse;font-size:12.5px">
|
|
40
41
|
<tbody>
|
|
41
|
-
<tr style="border-bottom:1px solid var(--cs-color-border-default)"><td style="padding:5px 10px;width:190px;vertical-align:top">Công ty<div style="color
|
|
42
|
-
<tr style="border-bottom:1px solid var(--cs-color-border-default)"><td style="padding:5px 10px;vertical-align:top">Mã số thuế / DUNS<div style="color
|
|
43
|
-
<tr style="border-bottom:1px solid var(--cs-color-border-default)"><td style="padding:5px 10px;vertical-align:top">Địa chỉ<div style="color
|
|
44
|
-
<tr style="border-bottom:1px solid var(--cs-color-border-default)"><td style="padding:5px 10px;vertical-align:top">Đại diện<div style="color
|
|
45
|
-
<tr><td style="padding:5px 10px;vertical-align:top">Điện thoại · Email<div style="color
|
|
42
|
+
<tr style="border-bottom:1px solid var(--cs-color-border-default)"><td style="padding:5px 10px;width:190px;vertical-align:top">Công ty<div style="color:var(--cs-doc-slate);font-style:italic;font-size:11px">Company</div></td><td style="padding:5px 10px">Công Ty Cổ Phần Tư Vấn Và Phát Triển Giải Pháp Phần Mềm CyberSkill</td></tr>
|
|
43
|
+
<tr style="border-bottom:1px solid var(--cs-color-border-default)"><td style="padding:5px 10px;vertical-align:top">Mã số thuế / DUNS<div style="color:var(--cs-doc-slate);font-style:italic;font-size:11px">Tax code / DUNS</div></td><td style="padding:5px 10px">0316475200 / 673219568</td></tr>
|
|
44
|
+
<tr style="border-bottom:1px solid var(--cs-color-border-default)"><td style="padding:5px 10px;vertical-align:top">Địa chỉ<div style="color:var(--cs-doc-slate);font-style:italic;font-size:11px">Address</div></td><td style="padding:5px 10px">Tầng 1, 207A Nguyễn Văn Thủ, Phường Tân Định, Thành phố Hồ Chí Minh</td></tr>
|
|
45
|
+
<tr style="border-bottom:1px solid var(--cs-color-border-default)"><td style="padding:5px 10px;vertical-align:top">Đại diện<div style="color:var(--cs-doc-slate);font-style:italic;font-size:11px">Represented by</div></td><td style="padding:5px 10px">Ông Trịnh Thái Anh (Mr. Stephen) · Tổng Giám đốc / <span style="color:var(--cs-doc-slate);font-style:italic">CEO</span></td></tr>
|
|
46
|
+
<tr><td style="padding:5px 10px;vertical-align:top">Điện thoại · Email<div style="color:var(--cs-doc-slate);font-style:italic;font-size:11px">Tel · Email</div></td><td style="padding:5px 10px">(+84) 906 878 091 · info@cyberskill.world</td></tr>
|
|
46
47
|
</tbody>
|
|
47
48
|
</table>
|
|
48
49
|
</div>
|
|
49
50
|
<div class="cs-avoid" style="margin-bottom:12px">
|
|
50
|
-
<div style="font-weight:800;font-size:12.5px;color:var(--cs-color-brand-umber);margin-bottom:4px">BÊN B · BÊN CUNG CẤP DỊCH VỤ (CỘNG TÁC VIÊN) <span style="font-weight:400;color
|
|
51
|
+
<div style="font-weight:800;font-size:12.5px;color:var(--cs-color-brand-umber);margin-bottom:4px">BÊN B · BÊN CUNG CẤP DỊCH VỤ (CỘNG TÁC VIÊN) <span style="font-weight:400;color:var(--cs-doc-slate);font-style:italic">Party B · The Contractor</span></div>
|
|
51
52
|
<table style="width:100%;border-collapse:collapse;font-size:12.5px">
|
|
52
53
|
<tbody>
|
|
53
|
-
<tr style="border-bottom:1px solid var(--cs-color-border-default)"><td style="padding:5px 10px;width:190px;vertical-align:top">Họ và tên<div style="color
|
|
54
|
-
<tr style="border-bottom:1px solid var(--cs-color-border-default)"><td style="padding:5px 10px;vertical-align:top">Ngày sinh · Số CCCD<div style="color
|
|
55
|
-
<tr style="border-bottom:1px solid var(--cs-color-border-default)"><td style="padding:5px 10px;vertical-align:top">Ngày cấp / Nơi cấp<div style="color
|
|
56
|
-
<tr style="border-bottom:1px solid var(--cs-color-border-default)"><td style="padding:5px 10px;vertical-align:top">Nơi cư trú<div style="color
|
|
57
|
-
<tr style="border-bottom:1px solid var(--cs-color-border-default)"><td style="padding:5px 10px;vertical-align:top">Điện thoại · Email<div style="color
|
|
58
|
-
<tr style="border-bottom:1px solid var(--cs-color-border-default)"><td style="padding:5px 10px;vertical-align:top">Mã số thuế cá nhân<div style="color
|
|
59
|
-
<tr><td style="padding:5px 10px;vertical-align:top">Số tài khoản / Ngân hàng<div style="color
|
|
54
|
+
<tr style="border-bottom:1px solid var(--cs-color-border-default)"><td style="padding:5px 10px;width:190px;vertical-align:top">Họ và tên<div style="color:var(--cs-doc-slate);font-style:italic;font-size:11px">Full name</div></td><td style="padding:5px 10px"><span style="background:var(--cs-doc-fill);padding:0 3px">..............................</span></td></tr>
|
|
55
|
+
<tr style="border-bottom:1px solid var(--cs-color-border-default)"><td style="padding:5px 10px;vertical-align:top">Ngày sinh · Số CCCD<div style="color:var(--cs-doc-slate);font-style:italic;font-size:11px">Date of birth · Citizen ID</div></td><td style="padding:5px 10px"><span style="background:var(--cs-doc-fill);padding:0 3px">...../...../..... · ..................</span></td></tr>
|
|
56
|
+
<tr style="border-bottom:1px solid var(--cs-color-border-default)"><td style="padding:5px 10px;vertical-align:top">Ngày cấp / Nơi cấp<div style="color:var(--cs-doc-slate);font-style:italic;font-size:11px">Issued on/by</div></td><td style="padding:5px 10px"><span style="background:var(--cs-doc-fill);padding:0 3px">...../...../..... - ..................</span></td></tr>
|
|
57
|
+
<tr style="border-bottom:1px solid var(--cs-color-border-default)"><td style="padding:5px 10px;vertical-align:top">Nơi cư trú<div style="color:var(--cs-doc-slate);font-style:italic;font-size:11px">Place of residence</div></td><td style="padding:5px 10px"><span style="background:var(--cs-doc-fill);padding:0 3px">............................................................</span></td></tr>
|
|
58
|
+
<tr style="border-bottom:1px solid var(--cs-color-border-default)"><td style="padding:5px 10px;vertical-align:top">Điện thoại · Email<div style="color:var(--cs-doc-slate);font-style:italic;font-size:11px">Tel · Email</div></td><td style="padding:5px 10px"><span style="background:var(--cs-doc-fill);padding:0 3px">.................. · ..................</span></td></tr>
|
|
59
|
+
<tr style="border-bottom:1px solid var(--cs-color-border-default)"><td style="padding:5px 10px;vertical-align:top">Mã số thuế cá nhân<div style="color:var(--cs-doc-slate);font-style:italic;font-size:11px">Personal tax code</div></td><td style="padding:5px 10px"><span style="background:var(--cs-doc-fill);padding:0 3px">...............................</span></td></tr>
|
|
60
|
+
<tr><td style="padding:5px 10px;vertical-align:top">Số tài khoản / Ngân hàng<div style="color:var(--cs-doc-slate);font-style:italic;font-size:11px">Bank account / Bank</div></td><td style="padding:5px 10px"><span style="background:var(--cs-doc-fill);padding:0 3px">...............................</span></td></tr>
|
|
60
61
|
</tbody>
|
|
61
62
|
</table>
|
|
62
63
|
</div>
|
|
63
64
|
<p style="font-size:13px;line-height:1.5;margin:0 0 1px">Hai Bên thỏa thuận ký kết Hợp đồng dịch vụ với các điều khoản sau. <b>Đây là quan hệ dân sự độc lập, không phải quan hệ lao động.</b></p>
|
|
64
|
-
<p style="font-size:12px;line-height:1.4;color
|
|
65
|
+
<p style="font-size:12px;line-height:1.4;color:var(--cs-doc-slate);font-style:italic;margin:0 0 12px">The Parties agree to this Service Agreement on the following terms. <b>This is an independent civil relationship, not an employment relationship.</b></p>
|
|
65
66
|
|
|
66
67
|
<div style="display:grid;gap:11px">
|
|
67
|
-
<div class="cs-avoid"><h2 style="font-size:12.5px;font-weight:800;color:var(--cs-color-brand-umber);margin:0 0 5px">ĐIỀU 1 · PHẠM VI CÔNG VIỆC <span style="font-weight:400;font-size:11px;color
|
|
68
|
-
<p style="font-size:13px;line-height:1.5;margin:0 0 1px">Bên B cung cấp dịch vụ và sản phẩm bàn giao theo mô tả tại Phụ lục Phạm vi công việc (SOW) đính kèm.</p><p style="font-size:12px;line-height:1.4;color
|
|
68
|
+
<div class="cs-avoid"><h2 style="font-size:12.5px;font-weight:800;color:var(--cs-color-brand-umber);margin:0 0 5px">ĐIỀU 1 · PHẠM VI CÔNG VIỆC <span style="font-weight:400;font-size:11px;color:var(--cs-doc-slate);font-style:italic">Article 1 · Scope of services</span></h2>
|
|
69
|
+
<p style="font-size:13px;line-height:1.5;margin:0 0 1px">Bên B cung cấp dịch vụ và sản phẩm bàn giao theo mô tả tại Phụ lục Phạm vi công việc (SOW) đính kèm.</p><p style="font-size:12px;line-height:1.4;color:var(--cs-doc-slate);font-style:italic;margin:0">The Contractor provides the services and deliverables described in the attached Statement of Work (SOW).</p></div>
|
|
69
70
|
|
|
70
|
-
<div class="cs-avoid"><h2 style="font-size:12.5px;font-weight:800;color:var(--cs-color-brand-umber);margin:0 0 5px">ĐIỀU 2 · THỜI HẠN <span style="font-weight:400;font-size:11px;color
|
|
71
|
-
<p style="font-size:13px;line-height:1.5;margin:0 0 1px">Hợp đồng có hiệu lực từ ngày <span style="background
|
|
71
|
+
<div class="cs-avoid"><h2 style="font-size:12.5px;font-weight:800;color:var(--cs-color-brand-umber);margin:0 0 5px">ĐIỀU 2 · THỜI HẠN <span style="font-weight:400;font-size:11px;color:var(--cs-doc-slate);font-style:italic">Article 2 · Term</span></h2>
|
|
72
|
+
<p style="font-size:13px;line-height:1.5;margin:0 0 1px">Hợp đồng có hiệu lực từ ngày <span style="background:var(--cs-doc-fill);padding:0 3px">...../...../......</span> đến ngày <span style="background:var(--cs-doc-fill);padding:0 3px">...../...../......</span>, hoặc đến khi hoàn thành công việc theo SOW.</p><p style="font-size:12px;line-height:1.4;color:var(--cs-doc-slate);font-style:italic;margin:0">This Agreement runs from <span style="background:var(--cs-doc-fill);padding:0 3px">...../...../......</span> to <span style="background:var(--cs-doc-fill);padding:0 3px">...../...../......</span>, or until completion of the SOW.</p></div>
|
|
72
73
|
|
|
73
|
-
<div class="cs-avoid"><h2 style="font-size:12.5px;font-weight:800;color:var(--cs-color-brand-umber);margin:0 0 5px">ĐIỀU 3 · PHÍ DỊCH VỤ VÀ THANH TOÁN <span style="font-weight:400;font-size:11px;color
|
|
74
|
-
<p style="font-size:13px;line-height:1.5;margin:0 0 1px">3.1. Phí dịch vụ: <span style="background
|
|
75
|
-
<p style="font-size:13px;line-height:1.5;margin:0 0 1px">3.2. Bên B tự chịu trách nhiệm về thuế thu nhập cá nhân và bảo hiểm của mình. Công ty khấu trừ thuế tại nguồn nếu pháp luật yêu cầu.</p><p style="font-size:12px;line-height:1.4;color
|
|
74
|
+
<div class="cs-avoid"><h2 style="font-size:12.5px;font-weight:800;color:var(--cs-color-brand-umber);margin:0 0 5px">ĐIỀU 3 · PHÍ DỊCH VỤ VÀ THANH TOÁN <span style="font-weight:400;font-size:11px;color:var(--cs-doc-slate);font-style:italic">Article 3 · Fees and payment</span></h2>
|
|
75
|
+
<p style="font-size:13px;line-height:1.5;margin:0 0 1px">3.1. Phí dịch vụ: <span style="background:var(--cs-doc-fill);padding:0 3px">..................</span> VNĐ (hoặc theo đơn giá tại SOW). Thanh toán bằng chuyển khoản trong <span style="background:var(--cs-doc-fill);padding:0 3px">......</span> ngày kể từ khi nghiệm thu và nhận hóa đơn/chứng từ hợp lệ.</p><p style="font-size:12px;line-height:1.4;color:var(--cs-doc-slate);font-style:italic;margin:0 0 3px">3.1. Fee: VND <span style="background:var(--cs-doc-fill);padding:0 3px">..................</span> (or per SOW rates). Paid by bank transfer within <span style="background:var(--cs-doc-fill);padding:0 3px">......</span> days of acceptance and receipt of a valid invoice.</p>
|
|
76
|
+
<p style="font-size:13px;line-height:1.5;margin:0 0 1px">3.2. Bên B tự chịu trách nhiệm về thuế thu nhập cá nhân và bảo hiểm của mình. Công ty khấu trừ thuế tại nguồn nếu pháp luật yêu cầu.</p><p style="font-size:12px;line-height:1.4;color:var(--cs-doc-slate);font-style:italic;margin:0">3.2. The Contractor is responsible for its own personal income tax and insurance. The Company withholds tax at source where required by law.</p></div>
|
|
76
77
|
|
|
77
|
-
<div class="cs-avoid"><h2 style="font-size:12.5px;font-weight:800;color:var(--cs-color-brand-umber);margin:0 0 5px">ĐIỀU 4 · QUYỀN VÀ NGHĨA VỤ CỦA CÁC BÊN <span style="font-weight:400;font-size:11px;color
|
|
78
|
-
<p style="font-size:13px;line-height:1.5;margin:0 0 1px">Bên B thực hiện dịch vụ đúng chất lượng, tiến độ và tự tổ chức công việc. Công ty cung cấp thông tin, phối hợp và thanh toán đúng hạn.</p><p style="font-size:12px;line-height:1.4;color
|
|
78
|
+
<div class="cs-avoid"><h2 style="font-size:12.5px;font-weight:800;color:var(--cs-color-brand-umber);margin:0 0 5px">ĐIỀU 4 · QUYỀN VÀ NGHĨA VỤ CỦA CÁC BÊN <span style="font-weight:400;font-size:11px;color:var(--cs-doc-slate);font-style:italic">Article 4 · Rights and obligations</span></h2>
|
|
79
|
+
<p style="font-size:13px;line-height:1.5;margin:0 0 1px">Bên B thực hiện dịch vụ đúng chất lượng, tiến độ và tự tổ chức công việc. Công ty cung cấp thông tin, phối hợp và thanh toán đúng hạn.</p><p style="font-size:12px;line-height:1.4;color:var(--cs-doc-slate);font-style:italic;margin:0">The Contractor performs to the agreed quality and schedule and organizes its own work. The Company provides information, cooperates, and pays on time.</p></div>
|
|
79
80
|
|
|
80
|
-
<div class="cs-avoid"><h2 style="font-size:12.5px;font-weight:800;color:var(--cs-color-brand-umber);margin:0 0 5px">ĐIỀU 5 · SỞ HỮU TRÍ TUỆ <span style="font-weight:400;font-size:11px;color
|
|
81
|
-
<p style="font-size:13px;line-height:1.5;margin:0 0 1px">Toàn bộ sản phẩm, kết quả công việc và quyền sở hữu trí tuệ phát sinh từ dịch vụ thuộc về Công ty kể từ khi thanh toán, trừ khi có thỏa thuận khác bằng văn bản.</p><p style="font-size:12px;line-height:1.4;color
|
|
81
|
+
<div class="cs-avoid"><h2 style="font-size:12.5px;font-weight:800;color:var(--cs-color-brand-umber);margin:0 0 5px">ĐIỀU 5 · SỞ HỮU TRÍ TUỆ <span style="font-weight:400;font-size:11px;color:var(--cs-doc-slate);font-style:italic">Article 5 · Intellectual property</span></h2>
|
|
82
|
+
<p style="font-size:13px;line-height:1.5;margin:0 0 1px">Toàn bộ sản phẩm, kết quả công việc và quyền sở hữu trí tuệ phát sinh từ dịch vụ thuộc về Công ty kể từ khi thanh toán, trừ khi có thỏa thuận khác bằng văn bản.</p><p style="font-size:12px;line-height:1.4;color:var(--cs-doc-slate);font-style:italic;margin:0">All work product and IP arising from the services belong to the Company upon payment, unless otherwise agreed in writing.</p></div>
|
|
82
83
|
|
|
83
|
-
<div class="cs-avoid"><h2 style="font-size:12.5px;font-weight:800;color:var(--cs-color-brand-umber);margin:0 0 5px">ĐIỀU 6 · BẢO MẬT VÀ BẢO VỆ DỮ LIỆU <span style="font-weight:400;font-size:11px;color
|
|
84
|
-
<p style="font-size:13px;line-height:1.5;margin:0 0 1px">Bên B giữ bí mật thông tin của Công ty và tuân thủ quy định bảo vệ dữ liệu cá nhân; ký Thỏa thuận Bảo mật, KCT & SHTT khi được yêu cầu.</p><p style="font-size:12px;line-height:1.4;color
|
|
84
|
+
<div class="cs-avoid"><h2 style="font-size:12.5px;font-weight:800;color:var(--cs-color-brand-umber);margin:0 0 5px">ĐIỀU 6 · BẢO MẬT VÀ BẢO VỆ DỮ LIỆU <span style="font-weight:400;font-size:11px;color:var(--cs-doc-slate);font-style:italic">Article 6 · Confidentiality and data protection</span></h2>
|
|
85
|
+
<p style="font-size:13px;line-height:1.5;margin:0 0 1px">Bên B giữ bí mật thông tin của Công ty và tuân thủ quy định bảo vệ dữ liệu cá nhân; ký Thỏa thuận Bảo mật, KCT & SHTT khi được yêu cầu.</p><p style="font-size:12px;line-height:1.4;color:var(--cs-doc-slate);font-style:italic;margin:0">The Contractor keeps the Company's information confidential, complies with personal data protection rules, and signs the NDNCA & IP Agreement on request.</p></div>
|
|
85
86
|
|
|
86
|
-
<div class="cs-avoid"><h2 style="font-size:12.5px;font-weight:800;color:var(--cs-color-brand-umber);margin:0 0 5px">ĐIỀU 7 · QUAN HỆ ĐỘC LẬP <span style="font-weight:400;font-size:11px;color
|
|
87
|
-
<p style="font-size:13px;line-height:1.5;margin:0 0 1px">Hợp đồng không tạo quan hệ lao động, đại lý hay liên doanh. Bên B không được hưởng chế độ, phúc lợi lao động và không nhân danh Công ty nếu không được ủy quyền.</p><p style="font-size:12px;line-height:1.4;color
|
|
87
|
+
<div class="cs-avoid"><h2 style="font-size:12.5px;font-weight:800;color:var(--cs-color-brand-umber);margin:0 0 5px">ĐIỀU 7 · QUAN HỆ ĐỘC LẬP <span style="font-weight:400;font-size:11px;color:var(--cs-doc-slate);font-style:italic">Article 7 · Independent relationship</span></h2>
|
|
88
|
+
<p style="font-size:13px;line-height:1.5;margin:0 0 1px">Hợp đồng không tạo quan hệ lao động, đại lý hay liên doanh. Bên B không được hưởng chế độ, phúc lợi lao động và không nhân danh Công ty nếu không được ủy quyền.</p><p style="font-size:12px;line-height:1.4;color:var(--cs-doc-slate);font-style:italic;margin:0">This Agreement creates no employment, agency, or joint venture. The Contractor receives no labor benefits and may not act on behalf of the Company without authorization.</p></div>
|
|
88
89
|
|
|
89
|
-
<div class="cs-avoid"><h2 style="font-size:12.5px;font-weight:800;color:var(--cs-color-brand-umber);margin:0 0 5px">ĐIỀU 8 · CHẤM DỨT <span style="font-weight:400;font-size:11px;color
|
|
90
|
-
<p style="font-size:13px;line-height:1.5;margin:0 0 1px">Mỗi Bên có thể chấm dứt khi Bên kia vi phạm nghiêm trọng và không khắc phục trong <span style="background
|
|
90
|
+
<div class="cs-avoid"><h2 style="font-size:12.5px;font-weight:800;color:var(--cs-color-brand-umber);margin:0 0 5px">ĐIỀU 8 · CHẤM DỨT <span style="font-weight:400;font-size:11px;color:var(--cs-doc-slate);font-style:italic">Article 8 · Termination</span></h2>
|
|
91
|
+
<p style="font-size:13px;line-height:1.5;margin:0 0 1px">Mỗi Bên có thể chấm dứt khi Bên kia vi phạm nghiêm trọng và không khắc phục trong <span style="background:var(--cs-doc-fill);padding:0 3px">......</span> ngày, hoặc bằng thông báo trước <span style="background:var(--cs-doc-fill);padding:0 3px">......</span> ngày. Bên B được thanh toán phần công việc đã hoàn thành.</p><p style="font-size:12px;line-height:1.4;color:var(--cs-doc-slate);font-style:italic;margin:0">Either Party may terminate on the other's uncured material breach within <span style="background:var(--cs-doc-fill);padding:0 3px">......</span> days, or on <span style="background:var(--cs-doc-fill);padding:0 3px">......</span> days' notice. The Contractor is paid for work completed.</p></div>
|
|
91
92
|
|
|
92
|
-
<div class="cs-avoid"><h2 style="font-size:12.5px;font-weight:800;color:var(--cs-color-brand-umber);margin:0 0 5px">ĐIỀU 9 · LUẬT ÁP DỤNG VÀ GIẢI QUYẾT TRANH CHẤP <span style="font-weight:400;font-size:11px;color
|
|
93
|
-
<p style="font-size:13px;line-height:1.5;margin:0 0 1px">Áp dụng pháp luật Việt Nam. Tranh chấp được giải quyết bằng thương lượng; nếu không thành, đưa ra Tòa án có thẩm quyền hoặc trọng tài theo thỏa thuận.</p><p style="font-size:12px;line-height:1.4;color
|
|
93
|
+
<div class="cs-avoid"><h2 style="font-size:12.5px;font-weight:800;color:var(--cs-color-brand-umber);margin:0 0 5px">ĐIỀU 9 · LUẬT ÁP DỤNG VÀ GIẢI QUYẾT TRANH CHẤP <span style="font-weight:400;font-size:11px;color:var(--cs-doc-slate);font-style:italic">Article 9 · Governing law and disputes</span></h2>
|
|
94
|
+
<p style="font-size:13px;line-height:1.5;margin:0 0 1px">Áp dụng pháp luật Việt Nam. Tranh chấp được giải quyết bằng thương lượng; nếu không thành, đưa ra Tòa án có thẩm quyền hoặc trọng tài theo thỏa thuận.</p><p style="font-size:12px;line-height:1.4;color:var(--cs-doc-slate);font-style:italic;margin:0">Governed by the laws of Vietnam. Disputes are settled by negotiation; failing that, by the competent court or arbitration as agreed.</p></div>
|
|
94
95
|
|
|
95
|
-
<div class="cs-avoid"><h2 style="font-size:12.5px;font-weight:800;color:var(--cs-color-brand-umber);margin:0 0 5px">ĐIỀU 10 · ĐIỀU KHOẢN CHUNG <span style="font-weight:400;font-size:11px;color
|
|
96
|
-
<p style="font-size:13px;line-height:1.5;margin:0 0 1px">Hợp đồng được lập thành 02 bản có giá trị như nhau, mỗi Bên giữ 01 bản.</p><p style="font-size:12px;line-height:1.4;color
|
|
96
|
+
<div class="cs-avoid"><h2 style="font-size:12.5px;font-weight:800;color:var(--cs-color-brand-umber);margin:0 0 5px">ĐIỀU 10 · ĐIỀU KHOẢN CHUNG <span style="font-weight:400;font-size:11px;color:var(--cs-doc-slate);font-style:italic">Article 10 · General provisions</span></h2>
|
|
97
|
+
<p style="font-size:13px;line-height:1.5;margin:0 0 1px">Hợp đồng được lập thành 02 bản có giá trị như nhau, mỗi Bên giữ 01 bản.</p><p style="font-size:12px;line-height:1.4;color:var(--cs-doc-slate);font-style:italic;margin:0">This Agreement is made in 02 copies of equal validity, one held by each Party.</p></div>
|
|
97
98
|
</div>
|
|
98
99
|
|
|
99
100
|
<div class="cs-avoid" style="display:grid;grid-template-columns:1fr 1fr;gap:44px;margin-top:20px">
|
|
100
|
-
<div style="text-align:center"><div style="font-weight:700;font-size:12.5px">BÊN CUNG CẤP DỊCH VỤ</div><div style="font-size:11px;color
|
|
101
|
-
<div style="text-align:center"><div style="font-weight:700;font-size:12.5px">BÊN THUÊ DỊCH VỤ</div><div style="font-size:11px;color
|
|
101
|
+
<div style="text-align:center"><div style="font-weight:700;font-size:12.5px">BÊN CUNG CẤP DỊCH VỤ</div><div style="font-size:11px;color:var(--cs-doc-slate);font-style:italic">The Contractor</div><div style="font-size:10.5px;margin-top:1px">(Ký, ghi rõ họ tên / <i style="color:var(--cs-doc-slate)">Sign, full name</i>)</div><div style="height:64px"></div><div style="border-top:1px solid var(--cs-doc-ink);width:70%;margin:0 auto"></div></div>
|
|
102
|
+
<div style="text-align:center"><div style="font-weight:700;font-size:12.5px">BÊN THUÊ DỊCH VỤ</div><div style="font-size:11px;color:var(--cs-doc-slate);font-style:italic">The Client</div><div style="font-size:10.5px;margin-top:1px">(Ký, ghi rõ họ tên / <i style="color:var(--cs-doc-slate)">Sign, full name</i>)</div><div style="height:64px"></div><div style="border-top:1px solid var(--cs-doc-ink);width:70%;margin:0 auto"></div></div>
|
|
102
103
|
</div>
|
|
103
104
|
|
|
104
|
-
<div style="border-top:1px solid var(--cs-color-border-default);padding-top:8px;margin-top:20px;display:flex;gap:10px;font-size:10.5px;color:var(--cs-color-text-muted);flex-wrap:wrap">Hiện Thực Hoá Ý Chí · <i style="color
|
|
105
|
+
<div style="border-top:1px solid var(--cs-color-border-default);padding-top:8px;margin-top:20px;display:flex;gap:10px;font-size:10.5px;color:var(--cs-color-text-muted);flex-wrap:wrap">Hiện Thực Hoá Ý Chí · <i style="color:var(--cs-doc-slate)">Turn Your Will Into Real</i><span>·</span>MST: 0316475200<span>·</span>info@cyberskill.world<span>·</span>(+84) 906 878 091<span style="margin-left:auto">Trang / Page 1</span></div>
|
|
105
106
|
</div>
|
|
106
107
|
</div>
|
|
107
108
|
</x-dc>
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
// Loads this design system into the template. In a consuming project, point
|
|
2
2
|
// base at the bound DS folder relative to this file (e.g. '_ds/<folder>' at
|
|
3
3
|
// the project root, '../_ds/<folder>' one level down) — one line to edit.
|
|
4
|
+
// Artifact head standard (UX-002 / B1): ensure <html lang> + <title> from @template.
|
|
4
5
|
(() => {
|
|
5
6
|
const base = '../..';
|
|
6
|
-
for (const p of ['styles.css']) {
|
|
7
|
+
for (const p of ['dist/styles.min.css']) {
|
|
7
8
|
const l = document.createElement('link');
|
|
8
9
|
l.rel = 'stylesheet'; l.href = base + '/' + p;
|
|
9
10
|
document.head.appendChild(l);
|
|
@@ -20,4 +21,35 @@
|
|
|
20
21
|
};
|
|
21
22
|
s.onerror = () => console.error('ds-base.js: failed to load ' + s.src + ' — if this is a consuming project, point the base line in ds-base.js at the bound _ds/<folder> tree relative to this page (e.g. _ds/<folder> at the project root, ../_ds/<folder> one level down); in a fresh design system this can just mean the bundle is not compiled yet');
|
|
22
23
|
document.head.appendChild(s);
|
|
24
|
+
|
|
25
|
+
const syncLang = () => {
|
|
26
|
+
try {
|
|
27
|
+
const a = document.querySelector('[lang]');
|
|
28
|
+
const v = a && a.getAttribute('lang');
|
|
29
|
+
// Ignore unresolved DC holes like {{ langAttr }}
|
|
30
|
+
if (v && v.indexOf('{{') === -1) document.documentElement.setAttribute('lang', v);
|
|
31
|
+
else if (!document.documentElement.getAttribute('lang')) document.documentElement.setAttribute('lang', 'en');
|
|
32
|
+
} catch (e) { /* authoring host may sandbox */ }
|
|
33
|
+
};
|
|
34
|
+
const ensureHead = () => {
|
|
35
|
+
try {
|
|
36
|
+
if (!document.title || !document.title.trim()) {
|
|
37
|
+
const src = document.documentElement.innerHTML;
|
|
38
|
+
const m = src.match(/@template\s+name="([^"]+)"/);
|
|
39
|
+
if (m) document.title = m[1] + ' · CyberSkill';
|
|
40
|
+
}
|
|
41
|
+
syncLang();
|
|
42
|
+
const obs = new MutationObserver(syncLang);
|
|
43
|
+
obs.observe(document.body || document.documentElement, {
|
|
44
|
+
attributes: true,
|
|
45
|
+
attributeFilter: ['lang'],
|
|
46
|
+
subtree: true,
|
|
47
|
+
});
|
|
48
|
+
} catch (e) { /* authoring host may sandbox */ }
|
|
49
|
+
};
|
|
50
|
+
if (document.readyState === 'loading') {
|
|
51
|
+
document.addEventListener('DOMContentLoaded', ensureHead);
|
|
52
|
+
} else {
|
|
53
|
+
ensureHead();
|
|
54
|
+
}
|
|
23
55
|
})();
|
|
@@ -1070,16 +1070,15 @@
|
|
|
1070
1070
|
}
|
|
1071
1071
|
|
|
1072
1072
|
// src/cdn.ts
|
|
1073
|
-
var
|
|
1074
|
-
var
|
|
1075
|
-
var
|
|
1076
|
-
|
|
1077
|
-
|
|
1078
|
-
|
|
1079
|
-
function cdnScriptFor(url, sri) {
|
|
1073
|
+
var REACT_LOCAL = "../../_vendor/react/react.production.min.js";
|
|
1074
|
+
var REACT_DOM_LOCAL = "../../_vendor/react/react-dom.production.min.js";
|
|
1075
|
+
var BABEL_LOCAL = "../../_vendor/babel/babel.min.js";
|
|
1076
|
+
// Product surfaces are offline-first (UX-026 / D4): no third-party script origins.
|
|
1077
|
+
// Host editors may still remap via window.__resources[localPath].
|
|
1078
|
+
function localScriptFor(path) {
|
|
1080
1079
|
const res = window.__resources;
|
|
1081
|
-
const v = res ? res[
|
|
1082
|
-
return typeof v === "string" && v ?
|
|
1080
|
+
const v = res ? res[path] : void 0;
|
|
1081
|
+
return typeof v === "string" && v ? v : path;
|
|
1083
1082
|
}
|
|
1084
1083
|
|
|
1085
1084
|
// src/external.ts
|
|
@@ -1106,16 +1105,12 @@
|
|
|
1106
1105
|
function ensureBabel() {
|
|
1107
1106
|
if (window.Babel) return Promise.resolve();
|
|
1108
1107
|
if (babelLoading) return babelLoading;
|
|
1109
|
-
const
|
|
1108
|
+
const src = localScriptFor(BABEL_LOCAL);
|
|
1110
1109
|
babelLoading = new Promise((res, rej) => {
|
|
1111
1110
|
const s = document.createElement("script");
|
|
1112
|
-
s.src =
|
|
1113
|
-
if (babel.integrity) {
|
|
1114
|
-
s.integrity = babel.integrity;
|
|
1115
|
-
s.crossOrigin = "anonymous";
|
|
1116
|
-
}
|
|
1111
|
+
s.src = src;
|
|
1117
1112
|
s.onload = () => res();
|
|
1118
|
-
s.onerror = rej;
|
|
1113
|
+
s.onerror = () => rej(new Error("failed to load local Babel: " + src));
|
|
1119
1114
|
document.head.appendChild(s);
|
|
1120
1115
|
});
|
|
1121
1116
|
return babelLoading;
|
|
@@ -1768,11 +1763,9 @@
|
|
|
1768
1763
|
function loadReactUmd() {
|
|
1769
1764
|
const w = window;
|
|
1770
1765
|
if (w.React && w.ReactDOM) return Promise.resolve();
|
|
1771
|
-
const react = cdnScriptFor(REACT_URL, REACT_SRI);
|
|
1772
|
-
const reactDom = cdnScriptFor(REACT_DOM_URL, REACT_DOM_SRI);
|
|
1773
1766
|
return Promise.all([
|
|
1774
|
-
loadScript(
|
|
1775
|
-
loadScript(
|
|
1767
|
+
loadScript(localScriptFor(REACT_LOCAL)),
|
|
1768
|
+
loadScript(localScriptFor(REACT_DOM_LOCAL))
|
|
1776
1769
|
]).then(() => void 0);
|
|
1777
1770
|
}
|
|
1778
1771
|
function init() {
|