@cyberskill/design 2.0.0 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/DESIGN.md +85 -85
- package/README.md +3 -3
- package/SECURITY.md +4 -4
- package/VERSION +1 -1
- package/_ds_bundle.js +2 -2
- package/_ds_bundle.js.map +1 -1
- package/_ds_manifest.json +141 -141
- package/_esm/cs.mjs +2 -2
- package/base/collections.css +3 -2
- package/base/components.css +8 -7
- package/base/controls.css +14 -14
- package/base/data.css +3 -3
- package/base/feedback.css +2 -2
- package/base/forms.css +3 -2
- package/base/glass.css +2 -2
- package/base/interaction.css +6 -1
- package/base/navigation.css +2 -2
- package/base/reset.css +2 -0
- package/base/shell.css +5 -5
- package/base/typography.css +4 -4
- package/components/_i18n/strings.js +3 -3
- package/components/_utils/open-change.js +18 -0
- package/components/ai/ai-conversation.card.html +2 -0
- package/components/ai/ai-lumi.card.html +2 -0
- package/components/ai/ai.card.html +2 -0
- package/components/api-discovery.json +94 -24
- package/components/api-index.json +528 -80
- package/components/brand/brand.card.html +2 -0
- package/components/button/buttons.card.html +2 -0
- package/components/contracts.json +23 -9
- package/components/data/collections.card.html +2 -0
- package/components/data/data.card.html +2 -0
- package/components/datatable/DataGrid.jsx +1 -1
- package/components/datatable/datatable.card.html +2 -0
- package/components/dialog/Dialog.d.ts +3 -0
- package/components/dialog/Dialog.jsx +7 -5
- package/components/dialog/Dialog.prompt.md +1 -0
- package/components/dialog/dialog.card.html +2 -0
- package/components/feedback/Alert.d.ts +5 -1
- package/components/feedback/Alert.jsx +4 -3
- package/components/feedback/Alert.prompt.md +2 -0
- package/components/feedback/Toast.d.ts +3 -0
- package/components/feedback/Toast.jsx +4 -3
- package/components/feedback/Toast.prompt.md +1 -0
- package/components/feedback/feedback-2.card.html +2 -0
- package/components/feedback/feedback.card.html +2 -0
- package/components/forms/forms-2.card.html +2 -0
- package/components/forms/forms.card.html +2 -0
- package/components/i18n/i18n.card.html +2 -1
- package/components/icon/icon.card.html +2 -0
- package/components/lifecycle.json +433 -55
- package/components/logo/logo.card.html +2 -0
- package/components/navigation/CommandPalette.d.ts +4 -1
- package/components/navigation/CommandPalette.jsx +6 -5
- package/components/navigation/CommandPalette.prompt.md +1 -0
- package/components/navigation/Menubar.jsx +2 -2
- package/components/navigation/navigation.card.html +2 -0
- package/components/navigation/shell.card.html +2 -0
- package/components/overlays/Drawer.d.ts +3 -0
- package/components/overlays/Drawer.jsx +6 -5
- package/components/overlays/Drawer.prompt.md +1 -0
- package/components/overlays/Tour.d.ts +3 -0
- package/components/overlays/Tour.jsx +8 -5
- package/components/overlays/Tour.prompt.md +1 -0
- package/components/overlays/alertdialog.card.html +2 -0
- package/components/overlays/overlays.card.html +2 -0
- package/components/prompt-api.json +17 -10
- package/components/scenarios.json +37 -37
- package/components/specifications.json +3403 -1401
- package/components/static-html-reference.json +36 -36
- package/components/textfield/textfield.card.html +2 -0
- package/dist/esm/_esm/react.mjs +69 -68
- package/dist/esm/build.json +526 -518
- package/dist/esm/chunks/{chunk-FEUTSZBN.mjs → chunk-2CCVFTPL.mjs} +2 -2
- package/dist/esm/chunks/{chunk-W5VR7GTL.mjs → chunk-2VVGZEOQ.mjs} +2 -2
- package/dist/esm/chunks/{chunk-3RC4CDAE.mjs → chunk-3R5WJQCB.mjs} +2 -2
- package/dist/esm/chunks/{chunk-W6N22NMF.mjs → chunk-4FGB6VHN.mjs} +2 -2
- package/dist/esm/chunks/{chunk-JN57OITY.mjs → chunk-4RSFD6QC.mjs} +10 -7
- package/dist/esm/chunks/chunk-4RSFD6QC.mjs.map +7 -0
- package/dist/esm/chunks/{chunk-YZR3C7V2.mjs → chunk-4TO35YGK.mjs} +2 -2
- package/dist/esm/chunks/{chunk-JSAPFO73.mjs → chunk-4YWKKULF.mjs} +2 -2
- package/dist/esm/chunks/{chunk-W2RF4NWB.mjs → chunk-5FQGNCKS.mjs} +2 -2
- package/dist/esm/chunks/chunk-65SIJBJX.mjs +22 -0
- package/dist/esm/chunks/chunk-65SIJBJX.mjs.map +7 -0
- package/dist/esm/chunks/{chunk-SYCXNMYP.mjs → chunk-6ECKJ6RS.mjs} +2 -2
- package/dist/esm/chunks/{chunk-CH4W6RCG.mjs → chunk-6H7JYBPI.mjs} +10 -5
- package/dist/esm/chunks/chunk-6H7JYBPI.mjs.map +7 -0
- package/dist/esm/chunks/{chunk-72AUOI37.mjs → chunk-6TZDNLHE.mjs} +2 -2
- package/dist/esm/chunks/{chunk-QGCPHFSI.mjs → chunk-72STPBL4.mjs} +2 -2
- package/dist/esm/chunks/{chunk-37AN57S5.mjs → chunk-7GSR2NGL.mjs} +3 -3
- package/dist/esm/chunks/{chunk-A3PGQW3X.mjs → chunk-AA5BSO3T.mjs} +2 -2
- package/dist/esm/chunks/{chunk-NH6M42ZI.mjs → chunk-ASGO2FW5.mjs} +2 -2
- package/dist/esm/chunks/{chunk-GP5ITSCH.mjs → chunk-C3NAMBA7.mjs} +2 -2
- package/dist/esm/chunks/{chunk-YA7Y7PEC.mjs → chunk-CKBL3UEA.mjs} +2 -2
- package/dist/esm/chunks/{chunk-H7EJ7TNP.mjs → chunk-CYZ22MB7.mjs} +2 -2
- package/dist/esm/chunks/{chunk-JRIWHAWW.mjs → chunk-D7A4ZCMJ.mjs} +2 -2
- package/dist/esm/chunks/{chunk-A7RWM4XH.mjs → chunk-DANUZS4S.mjs} +2 -2
- package/dist/esm/chunks/{chunk-FAVSLU7E.mjs → chunk-DFBKBVSE.mjs} +2 -2
- package/dist/esm/chunks/{chunk-TNHQB6CI.mjs → chunk-DW4AWLA5.mjs} +2 -2
- package/dist/esm/chunks/{chunk-5R5KMLUR.mjs → chunk-DWJIX65T.mjs} +2 -2
- package/dist/esm/chunks/{chunk-YJNSQ5PJ.mjs → chunk-EITZT2U5.mjs} +2 -2
- package/dist/esm/chunks/{chunk-CSJHR2W2.mjs → chunk-EOCMQT4L.mjs} +2 -2
- package/dist/esm/chunks/{chunk-4QBKN42N.mjs → chunk-EXOOST5G.mjs} +2 -2
- package/dist/esm/chunks/{chunk-7HTAAMIY.mjs → chunk-FF5D53IP.mjs} +2 -2
- package/dist/esm/chunks/{chunk-JNK7QN24.mjs → chunk-FOEJO2YQ.mjs} +2 -2
- package/dist/esm/chunks/{chunk-F3M5TQ76.mjs → chunk-GB6VWFOE.mjs} +11 -6
- package/dist/esm/chunks/chunk-GB6VWFOE.mjs.map +7 -0
- package/dist/esm/chunks/{chunk-UFE32JPH.mjs → chunk-GHWOEHEX.mjs} +8 -4
- package/dist/esm/chunks/chunk-GHWOEHEX.mjs.map +7 -0
- package/dist/esm/chunks/{chunk-HYQG5XND.mjs → chunk-GLPQBE2J.mjs} +2 -2
- package/dist/esm/chunks/{chunk-HUW6OY7C.mjs → chunk-GNEVR5Q4.mjs} +2 -2
- package/dist/esm/chunks/{chunk-SEYKDGXE.mjs → chunk-H4TKHAB3.mjs} +2 -2
- package/dist/esm/chunks/{chunk-ANWF2NX3.mjs → chunk-H6HQZ5RI.mjs} +3 -3
- package/dist/esm/chunks/{chunk-ANWF2NX3.mjs.map → chunk-H6HQZ5RI.mjs.map} +2 -2
- package/dist/esm/chunks/{chunk-OR5UTKW7.mjs → chunk-I3H7EAH5.mjs} +2 -2
- package/dist/esm/chunks/{chunk-P64YS5W2.mjs → chunk-I3PQVFX5.mjs} +2 -2
- package/dist/esm/chunks/{chunk-5MR3C2QG.mjs → chunk-IOEWPBAL.mjs} +2 -2
- package/dist/esm/chunks/{chunk-TN2MZXGS.mjs → chunk-JIHWIDMP.mjs} +2 -2
- package/dist/esm/chunks/{chunk-FXELBWXK.mjs → chunk-JTAYZ36C.mjs} +4 -3
- package/dist/esm/chunks/{chunk-FXELBWXK.mjs.map → chunk-JTAYZ36C.mjs.map} +2 -2
- package/dist/esm/chunks/{chunk-25AOTZAM.mjs → chunk-JZYRXWPD.mjs} +4 -4
- package/dist/esm/chunks/{chunk-25AOTZAM.mjs.map → chunk-JZYRXWPD.mjs.map} +2 -2
- package/dist/esm/chunks/{chunk-YX62AV33.mjs → chunk-KAOUK33L.mjs} +2 -2
- package/dist/esm/chunks/{chunk-UVJ5BBQG.mjs → chunk-KWPNHP73.mjs} +2 -2
- package/dist/esm/chunks/{chunk-BABSYWVB.mjs → chunk-LCC4ZVVO.mjs} +2 -2
- package/dist/esm/chunks/{chunk-GWBINWTF.mjs → chunk-LWRFPVX7.mjs} +8 -4
- package/dist/esm/chunks/chunk-LWRFPVX7.mjs.map +7 -0
- package/dist/esm/chunks/{chunk-HVF4NT6P.mjs → chunk-MRXEJSQQ.mjs} +2 -2
- package/dist/esm/chunks/{chunk-DIIXA7WD.mjs → chunk-NZKMM4FK.mjs} +2 -2
- package/dist/esm/chunks/{chunk-CLWTVJM3.mjs → chunk-OEWAQZYE.mjs} +2 -2
- package/dist/esm/chunks/{chunk-IH4I7JSB.mjs → chunk-OILXJXVX.mjs} +10 -7
- package/dist/esm/chunks/chunk-OILXJXVX.mjs.map +7 -0
- package/dist/esm/chunks/{chunk-OOZKMXYB.mjs → chunk-PBP2MKZH.mjs} +2 -2
- package/dist/esm/chunks/{chunk-JKKJHQVQ.mjs → chunk-PE6KC2U7.mjs} +2 -2
- package/dist/esm/chunks/{chunk-N5TM7UIY.mjs → chunk-PFTKXY5Q.mjs} +2 -2
- package/dist/esm/chunks/{chunk-R7QVE2JP.mjs → chunk-PLN3ITUB.mjs} +2 -2
- package/dist/esm/chunks/{chunk-NEMFYL4X.mjs → chunk-QBPDNM7S.mjs} +2 -2
- package/dist/esm/chunks/{chunk-JDI3UMJW.mjs → chunk-SIMVM4RV.mjs} +2 -2
- package/dist/esm/chunks/{chunk-WJF2Q2Y3.mjs → chunk-TMXLSCAG.mjs} +2 -2
- package/dist/esm/chunks/{chunk-TGYG7JP4.mjs → chunk-TNQXCIBM.mjs} +2 -2
- package/dist/esm/chunks/{chunk-DHTD5KM5.mjs → chunk-TWCJMLGG.mjs} +2 -2
- package/dist/esm/chunks/{chunk-EPFDMHPK.mjs → chunk-U7RKPGRO.mjs} +2 -2
- package/dist/esm/chunks/{chunk-NMIGE2IM.mjs → chunk-UWNMGKAN.mjs} +2 -2
- package/dist/esm/chunks/{chunk-KXFGO7N4.mjs → chunk-VAPKJRQI.mjs} +2 -2
- package/dist/esm/chunks/{chunk-XTBN55D3.mjs → chunk-VUCJT2QJ.mjs} +2 -2
- package/dist/esm/chunks/{chunk-TVTBVHT2.mjs → chunk-WLANQTOU.mjs} +2 -2
- package/dist/esm/chunks/{chunk-3MCNCG2L.mjs → chunk-XZ5NWMO7.mjs} +2 -2
- package/dist/esm/chunks/{chunk-QPXQZBQC.mjs → chunk-YKU2KVAQ.mjs} +2 -2
- package/dist/esm/chunks/{chunk-ZKFOGW4D.mjs → chunk-YLSFKG64.mjs} +2 -2
- package/dist/esm/chunks/{chunk-TO2T6EEB.mjs → chunk-YVSAUCWW.mjs} +3 -3
- package/dist/esm/chunks/{chunk-XN74VX5H.mjs → chunk-ZKBAIIAQ.mjs} +2 -2
- package/dist/esm/chunks/{chunk-7IJTTRPK.mjs → chunk-ZPLENPV2.mjs} +2 -2
- package/dist/esm/components/ai/AIDisclosureBadge.mjs +2 -2
- package/dist/esm/components/ai/ChatMessage.mjs +2 -2
- package/dist/esm/components/ai/CitationList.mjs +2 -2
- package/dist/esm/components/ai/ConfidenceMeter.mjs +2 -2
- package/dist/esm/components/ai/HumanReviewGate.mjs +2 -2
- package/dist/esm/components/ai/PromptInput.mjs +2 -2
- package/dist/esm/components/ai/TypingIndicator.mjs +2 -2
- package/dist/esm/components/data/Carousel.mjs +2 -2
- package/dist/esm/components/data/Chart.mjs +2 -2
- package/dist/esm/components/data/CodeBlock.mjs +2 -2
- package/dist/esm/components/data/Comment.mjs +2 -2
- package/dist/esm/components/data/Image.mjs +2 -2
- package/dist/esm/components/data/Sortable.mjs +2 -2
- package/dist/esm/components/data/Splitter.mjs +2 -2
- package/dist/esm/components/data/Terminal.mjs +2 -2
- package/dist/esm/components/data/Tooltip.mjs +2 -2
- package/dist/esm/components/datatable/DataGrid.mjs +2 -2
- package/dist/esm/components/datatable/DataTable.mjs +3 -3
- package/dist/esm/components/datatable/TreeTable.mjs +2 -2
- package/dist/esm/components/dialog/Dialog.mjs +3 -2
- package/dist/esm/components/feedback/Alert.mjs +3 -2
- package/dist/esm/components/feedback/EmptyState.mjs +2 -2
- package/dist/esm/components/feedback/ProgressBar.mjs +2 -2
- package/dist/esm/components/feedback/Result.mjs +2 -2
- package/dist/esm/components/feedback/Spinner.mjs +2 -2
- package/dist/esm/components/feedback/Tag.mjs +2 -2
- package/dist/esm/components/feedback/Toast.mjs +3 -2
- package/dist/esm/components/forms/Calendar.mjs +2 -2
- package/dist/esm/components/forms/Cascader.mjs +2 -2
- package/dist/esm/components/forms/ColorPicker.mjs +2 -2
- package/dist/esm/components/forms/Combobox.mjs +2 -2
- package/dist/esm/components/forms/DatePicker.mjs +3 -3
- package/dist/esm/components/forms/Editor.mjs +2 -2
- package/dist/esm/components/forms/FileUpload.mjs +2 -2
- package/dist/esm/components/forms/Form.mjs +2 -2
- package/dist/esm/components/forms/InlineEdit.mjs +2 -2
- package/dist/esm/components/forms/InputGroup.mjs +2 -2
- package/dist/esm/components/forms/InputOTP.mjs +2 -2
- package/dist/esm/components/forms/Mentions.mjs +2 -2
- package/dist/esm/components/forms/NumberField.mjs +2 -2
- package/dist/esm/components/forms/Rating.mjs +2 -2
- package/dist/esm/components/forms/SearchField.mjs +2 -2
- package/dist/esm/components/forms/Select.mjs +2 -2
- package/dist/esm/components/forms/Slider.mjs +2 -2
- package/dist/esm/components/forms/Switch.mjs +2 -2
- package/dist/esm/components/forms/TagInput.mjs +2 -2
- package/dist/esm/components/forms/TimePicker.mjs +2 -2
- package/dist/esm/components/forms/Toggle.mjs +2 -2
- package/dist/esm/components/forms/Transfer.mjs +2 -2
- package/dist/esm/components/forms/TreeSelect.mjs +2 -2
- package/dist/esm/components/i18n/LocaleProvider.mjs +2 -2
- package/dist/esm/components/navigation/BackTop.mjs +2 -2
- package/dist/esm/components/navigation/Breadcrumb.mjs +2 -2
- package/dist/esm/components/navigation/CommandPalette.mjs +3 -2
- package/dist/esm/components/navigation/HotKeys.mjs +2 -2
- package/dist/esm/components/navigation/Menu.mjs +2 -2
- package/dist/esm/components/navigation/Menubar.mjs +2 -2
- package/dist/esm/components/navigation/Pagination.mjs +2 -2
- package/dist/esm/components/navigation/Steps.mjs +2 -2
- package/dist/esm/components/navigation/Tabs.mjs +2 -2
- package/dist/esm/components/navigation/Toolbar.mjs +2 -2
- package/dist/esm/components/overlays/AlertDialog.mjs +2 -2
- package/dist/esm/components/overlays/ContextMenu.mjs +2 -2
- package/dist/esm/components/overlays/Drawer.mjs +3 -2
- package/dist/esm/components/overlays/Popconfirm.mjs +2 -2
- package/dist/esm/components/overlays/Popover.mjs +2 -2
- package/dist/esm/components/overlays/Tour.mjs +3 -2
- package/dist/styles.min.css +1 -1
- package/docs/ci-cd.md +1 -1
- package/docs/component-api.md +1 -1
- package/docs/consuming.md +1 -1
- package/docs/contrast-report.md +1 -1
- package/docs/conventions.md +1 -1
- package/docs/design-styles.md +1 -1
- package/docs/manual-at-matrix.md +2 -0
- package/docs/quality-gates.md +2 -1
- package/docs/reference-catalog.json +81 -81
- package/docs/release-notes.md +1 -1
- package/docs/static-html-reference.md +27 -27
- package/docs/template-inventory.json +162 -162
- package/docs/vi/ci-cd.md +1 -1
- package/docs/vi/component-api.md +1 -1
- package/docs/vi/consuming.md +1 -1
- package/docs/vi/contrast-report.md +1 -1
- package/docs/vi/conventions.md +1 -1
- package/docs/vi/decisions/component-specification-evidence.md +1 -1
- package/docs/vi/decisions/token-alias-compatibility.md +1 -1
- package/docs/vi/design-styles.md +1 -1
- package/docs/vi/entrypoints/DESIGN.md +85 -85
- package/docs/vi/entrypoints/README.md +3 -3
- package/docs/vi/manual-at-matrix.md +2 -0
- package/docs/vi/quality-gates.md +2 -1
- package/docs/vi/release-notes.md +1 -1
- package/docs/vi/static-html-reference.md +27 -27
- package/docs/viewer.html +9 -12
- package/guidelines/atomic-view.html +35 -31
- package/guidelines/brand-iconography.html +33 -32
- package/guidelines/brand-imagery.html +2 -1
- package/guidelines/brand-interaction.html +3 -2
- package/guidelines/brand-voice.html +2 -1
- package/guidelines/colors-anchors.html +2 -1
- package/guidelines/colors-semantic.html +2 -1
- package/guidelines/colors-surfaces.html +2 -1
- package/guidelines/colors-text.html +2 -1
- package/guidelines/documents.html +3 -2
- package/guidelines/elements-components.html +4 -3
- package/guidelines/elements-concept.html +3 -2
- package/guidelines/elements-geometry.html +4 -3
- package/guidelines/elements-variants.html +4 -3
- package/guidelines/guideline-language.js +1 -1
- package/guidelines/motion-interaction.html +2 -1
- package/guidelines/motion.html +12 -13
- package/guidelines/responsive-bilingual.html +7 -6
- package/guidelines/rtl-preview.html +2 -2
- package/guidelines/spacing-breakpoints.html +2 -1
- package/guidelines/spacing-radius.html +4 -3
- package/guidelines/spacing-scale.html +2 -1
- package/guidelines/surfaces-aurora.html +2 -1
- package/guidelines/surfaces-depth.html +3 -2
- package/guidelines/surfaces-glass.html +2 -1
- package/guidelines/surfaces-shadow.html +2 -1
- package/guidelines/type-families.html +2 -1
- package/guidelines/type-lineheight.html +2 -1
- package/guidelines/type-scale.html +2 -1
- package/guidelines/type-weights.html +2 -1
- package/package.json +3 -2
- package/styles/components/manifest.json +156 -148
- package/styles.layered.css +156 -149
- package/styles.layered.provenance.json +17 -17
- package/templates/_vendor/deck-stage.js +3 -3
- package/templates/_vendor/doc-export.js +1 -1
- package/templates/_vendor/support.js +1 -1
- package/templates/ai-cluster-demo.html +2 -1
- package/templates/app-shell/AppShell.dc.html +2 -1
- package/templates/app-shell/support.js +1 -1
- package/templates/article/Article.dc.html +2 -1
- package/templates/article/support.js +1 -1
- package/templates/auth/Auth.dc.html +2 -1
- package/templates/auth/support.js +1 -1
- package/templates/bod-deck/BodDeck.dc.html +1 -0
- package/templates/bod-deck/support.js +1 -1
- package/templates/bod-investor-update/BodInvestorUpdate.dc.html +1 -0
- package/templates/bod-investor-update/support.js +1 -1
- package/templates/bod-memo/support.js +1 -1
- package/templates/bod-minutes/BodMinutes.dc.html +1 -0
- package/templates/bod-minutes/support.js +1 -1
- package/templates/bod-report/BodReport.dc.html +1 -0
- package/templates/bod-report/support.js +1 -1
- package/templates/bod-resolution/BodResolution.dc.html +1 -0
- package/templates/bod-resolution/support.js +1 -1
- package/templates/culture-event-invite/CultureEventInvite.dc.html +1 -0
- package/templates/culture-event-invite/support.js +1 -1
- package/templates/dashboard/Dashboard.dc.html +2 -1
- package/templates/dashboard/support.js +1 -1
- package/templates/delivery-change-note/DeliveryChangeNote.dc.html +1 -0
- package/templates/delivery-change-note/support.js +1 -1
- package/templates/delivery-kickoff/DeliveryKickoff.dc.html +1 -0
- package/templates/delivery-kickoff/support.js +1 -1
- package/templates/delivery-qbr-deck/DeliveryQbrDeck.dc.html +3 -2
- package/templates/delivery-qbr-deck/support.js +1 -1
- package/templates/delivery-runbook/DeliveryRunbook.dc.html +1 -0
- package/templates/delivery-runbook/support.js +1 -1
- package/templates/delivery-status-email/support.js +1 -1
- package/templates/doc-style-guide/DocStyleGuide.dc.html +1 -0
- package/templates/doc-style-guide/support.js +1 -1
- package/templates/doc-suite-index/DocSuiteIndex.dc.html +1 -0
- package/templates/doc-suite-index/support.js +1 -1
- package/templates/doc-templates/support.js +1 -1
- package/templates/email/Email-VN-standalone.html +2 -1
- package/templates/email/support.js +1 -1
- package/templates/email-safe/email-announcement.html +2 -1
- package/templates/email-safe/email-dunning.html +2 -1
- package/templates/email-safe/email-investor.html +2 -1
- package/templates/email-safe/email-launch.html +2 -1
- package/templates/email-safe/email-newsletter.html +2 -1
- package/templates/email-safe/email-status.html +2 -1
- package/templates/email-safe/email-transactional.html +2 -1
- package/templates/finance-dunning-email/support.js +1 -1
- package/templates/finance-expense-report/support.js +1 -1
- package/templates/finance-invoice/support.js +1 -1
- package/templates/finance-quote/support.js +1 -1
- package/templates/hr-announcement/support.js +1 -1
- package/templates/hr-interview-kit/HrInterviewKit.dc.html +1 -0
- package/templates/hr-interview-kit/support.js +1 -1
- package/templates/hr-offboarding/HrOffboarding.dc.html +1 -0
- package/templates/hr-offboarding/support.js +1 -1
- package/templates/hr-performance-review/HrPerformanceReview.dc.html +1 -0
- package/templates/hr-performance-review/support.js +1 -1
- package/templates/hr-pip/HrPip.dc.html +1 -0
- package/templates/hr-pip/support.js +1 -1
- package/templates/image-slots-demo.html +11 -9
- package/templates/kitchen-sink.html +8 -4
- package/templates/legal-msa/LegalMsa.dc.html +1 -0
- package/templates/legal-msa/support.js +1 -1
- package/templates/legal-sow/support.js +1 -1
- package/templates/marketing-campaign-brief/MarketingCampaignBrief.dc.html +1 -0
- package/templates/marketing-campaign-brief/support.js +1 -1
- package/templates/marketing-case-study/MarketingCaseStudy.dc.html +1 -0
- package/templates/marketing-case-study/support.js +1 -1
- package/templates/marketing-launch/support.js +1 -1
- package/templates/marketing-newsletter/support.js +1 -1
- package/templates/marketing-page/MarketingPage.dc.html +6 -3
- package/templates/marketing-page/support.js +1 -1
- package/templates/marketing-press-release/MarketingPressRelease.dc.html +2 -1
- package/templates/marketing-press-release/support.js +1 -1
- package/templates/marketing-social-kit/MarketingSocialKit.dc.html +1 -0
- package/templates/marketing-social-kit/support.js +1 -1
- package/templates/playground.html +9 -7
- package/templates/sales-one-pager/SalesOnePager.dc.html +1 -0
- package/templates/sales-one-pager/support.js +1 -1
- package/templates/sales-proposal-deck/SalesProposalDeck.dc.html +1 -0
- package/templates/sales-proposal-deck/support.js +1 -1
- package/templates/settings/Settings.dc.html +2 -1
- package/templates/settings/support.js +1 -1
- package/templates/slide-deck/SlideDeck.dc.html +1 -0
- package/templates/slide-deck/support.js +1 -1
- package/templates/team-meeting-agenda/TeamMeetingAgenda.dc.html +1 -0
- package/templates/team-meeting-agenda/support.js +1 -1
- package/templates/tech-incident-report/TechIncidentReport.dc.html +1 -0
- package/templates/tech-incident-report/support.js +1 -1
- package/templates/tech-release-notes/support.js +1 -1
- package/templates/tech-retro/TechRetro.dc.html +1 -0
- package/templates/tech-retro/support.js +1 -1
- package/templates/tech-rfc/TechRfc.dc.html +2 -1
- package/templates/tech-rfc/support.js +1 -1
- package/templates/vn-appointment-transfer/support.js +1 -1
- package/templates/vn-certificate-of-employment/support.js +1 -1
- package/templates/vn-code-of-conduct/support.js +1 -1
- package/templates/vn-compensation-regulation/support.js +1 -1
- package/templates/vn-contract-amendment/support.js +1 -1
- package/templates/vn-contractor-agreement/support.js +1 -1
- package/templates/vn-data-protection-policy/support.js +1 -1
- package/templates/vn-disciplinary-case-file/support.js +1 -1
- package/templates/vn-disciplinary-schedule/VnDisciplinarySchedule.dc.html +1 -0
- package/templates/vn-disciplinary-schedule/support.js +1 -1
- package/templates/vn-employee-request/support.js +1 -1
- package/templates/vn-exit-handover/support.js +1 -1
- package/templates/vn-foreign-employee-pack/VnForeignEmployeePack.dc.html +1 -0
- package/templates/vn-foreign-employee-pack/support.js +1 -1
- package/templates/vn-framework-agreement/support.js +1 -1
- package/templates/vn-grassroots-democracy/support.js +1 -1
- package/templates/vn-infosec-policy/support.js +1 -1
- package/templates/vn-internal-labor-regulations/support.js +1 -1
- package/templates/vn-internship-agreement/support.js +1 -1
- package/templates/vn-job-description/support.js +1 -1
- package/templates/vn-labor-contract/support.js +1 -1
- package/templates/vn-labour-management-book/VnLabourManagementBook.dc.html +1 -0
- package/templates/vn-labour-management-book/support.js +1 -1
- package/templates/vn-mutual-nda/support.js +1 -1
- package/templates/vn-ndnca-ip/support.js +1 -1
- package/templates/vn-offer-letter/support.js +1 -1
- package/templates/vn-onboarding-checklist/VnOnboardingChecklist.dc.html +1 -0
- package/templates/vn-onboarding-checklist/support.js +1 -1
- package/templates/vn-pdpl-consent/support.js +1 -1
- package/templates/vn-performance-evaluation-regulation/support.js +1 -1
- package/templates/vn-performance-review-form/support.js +1 -1
- package/templates/vn-phantom-stock/VnPhantomStock.dc.html +1 -0
- package/templates/vn-phantom-stock/support.js +1 -1
- package/templates/vn-probation-contract/support.js +1 -1
- package/templates/vn-receipt-acknowledgement/VnReceiptAcknowledgement.dc.html +1 -0
- package/templates/vn-receipt-acknowledgement/support.js +1 -1
- package/templates/vn-remote-work-policy/support.js +1 -1
- package/templates/vn-resignation-letter/support.js +1 -1
- package/templates/vn-salary-scale/VnSalaryScale.dc.html +1 -0
- package/templates/vn-salary-scale/support.js +1 -1
- package/templates/vn-sow-appendix/support.js +1 -1
- package/templates/vn-termination-decision/support.js +1 -1
- package/templates/vn-total-rewards-appendix/support.js +1 -1
- package/templates/vn-training-commitment/support.js +1 -1
- package/templates/vn-travel-expense-policy/support.js +1 -1
- package/tokens/base-inventory.json +22 -22
- package/tokens/component-tokens.css +38 -38
- package/tokens/declarations.json +157 -157
- package/tokens/element-seeds.json +1 -1
- package/tokens/elements.css +48 -48
- package/tokens/modes/dark__default__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/dark__default__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/dark__default__compact__high.dtcg.json +1 -1
- package/tokens/modes/dark__default__compact__standard.dtcg.json +1 -1
- package/tokens/modes/dark__hoa-lava__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/dark__hoa-lava__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/dark__hoa-lava__compact__high.dtcg.json +1 -1
- package/tokens/modes/dark__hoa-lava__compact__standard.dtcg.json +1 -1
- package/tokens/modes/dark__hoa-plasma__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/dark__hoa-plasma__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/dark__hoa-plasma__compact__high.dtcg.json +1 -1
- package/tokens/modes/dark__hoa-plasma__compact__standard.dtcg.json +1 -1
- package/tokens/modes/dark__hoa__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/dark__hoa__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/dark__hoa__compact__high.dtcg.json +1 -1
- package/tokens/modes/dark__hoa__compact__standard.dtcg.json +1 -1
- package/tokens/modes/dark__kim-steel__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/dark__kim-steel__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/dark__kim-steel__compact__high.dtcg.json +1 -1
- package/tokens/modes/dark__kim-steel__compact__standard.dtcg.json +1 -1
- package/tokens/modes/dark__kim-titanium__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/dark__kim-titanium__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/dark__kim-titanium__compact__high.dtcg.json +1 -1
- package/tokens/modes/dark__kim-titanium__compact__standard.dtcg.json +1 -1
- package/tokens/modes/dark__kim__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/dark__kim__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/dark__kim__compact__high.dtcg.json +1 -1
- package/tokens/modes/dark__kim__compact__standard.dtcg.json +1 -1
- package/tokens/modes/dark__moc-bamboo__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/dark__moc-bamboo__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/dark__moc-bamboo__compact__high.dtcg.json +1 -1
- package/tokens/modes/dark__moc-bamboo__compact__standard.dtcg.json +1 -1
- package/tokens/modes/dark__moc-forest__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/dark__moc-forest__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/dark__moc-forest__compact__high.dtcg.json +1 -1
- package/tokens/modes/dark__moc-forest__compact__standard.dtcg.json +1 -1
- package/tokens/modes/dark__moc__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/dark__moc__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/dark__moc__compact__high.dtcg.json +1 -1
- package/tokens/modes/dark__moc__compact__standard.dtcg.json +1 -1
- package/tokens/modes/dark__tho-clay__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/dark__tho-clay__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/dark__tho-clay__compact__high.dtcg.json +1 -1
- package/tokens/modes/dark__tho-clay__compact__standard.dtcg.json +1 -1
- package/tokens/modes/dark__tho-sand__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/dark__tho-sand__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/dark__tho-sand__compact__high.dtcg.json +1 -1
- package/tokens/modes/dark__tho-sand__compact__standard.dtcg.json +1 -1
- package/tokens/modes/dark__tho__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/dark__tho__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/dark__tho__compact__high.dtcg.json +1 -1
- package/tokens/modes/dark__tho__compact__standard.dtcg.json +1 -1
- package/tokens/modes/dark__thuy-mist__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/dark__thuy-mist__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/dark__thuy-mist__compact__high.dtcg.json +1 -1
- package/tokens/modes/dark__thuy-mist__compact__standard.dtcg.json +1 -1
- package/tokens/modes/dark__thuy-ocean__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/dark__thuy-ocean__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/dark__thuy-ocean__compact__high.dtcg.json +1 -1
- package/tokens/modes/dark__thuy-ocean__compact__standard.dtcg.json +1 -1
- package/tokens/modes/dark__thuy__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/dark__thuy__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/dark__thuy__compact__high.dtcg.json +1 -1
- package/tokens/modes/dark__thuy__compact__standard.dtcg.json +1 -1
- package/tokens/modes/index.json +2068 -2068
- package/tokens/modes/light__default__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/light__default__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/light__default__compact__high.dtcg.json +1 -1
- package/tokens/modes/light__default__compact__standard.dtcg.json +1 -1
- package/tokens/modes/light__hoa-lava__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/light__hoa-lava__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/light__hoa-lava__compact__high.dtcg.json +1 -1
- package/tokens/modes/light__hoa-lava__compact__standard.dtcg.json +1 -1
- package/tokens/modes/light__hoa-plasma__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/light__hoa-plasma__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/light__hoa-plasma__compact__high.dtcg.json +1 -1
- package/tokens/modes/light__hoa-plasma__compact__standard.dtcg.json +1 -1
- package/tokens/modes/light__hoa__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/light__hoa__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/light__hoa__compact__high.dtcg.json +1 -1
- package/tokens/modes/light__hoa__compact__standard.dtcg.json +1 -1
- package/tokens/modes/light__kim-steel__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/light__kim-steel__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/light__kim-steel__compact__high.dtcg.json +1 -1
- package/tokens/modes/light__kim-steel__compact__standard.dtcg.json +1 -1
- package/tokens/modes/light__kim-titanium__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/light__kim-titanium__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/light__kim-titanium__compact__high.dtcg.json +1 -1
- package/tokens/modes/light__kim-titanium__compact__standard.dtcg.json +1 -1
- package/tokens/modes/light__kim__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/light__kim__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/light__kim__compact__high.dtcg.json +1 -1
- package/tokens/modes/light__kim__compact__standard.dtcg.json +1 -1
- package/tokens/modes/light__moc-bamboo__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/light__moc-bamboo__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/light__moc-bamboo__compact__high.dtcg.json +1 -1
- package/tokens/modes/light__moc-bamboo__compact__standard.dtcg.json +1 -1
- package/tokens/modes/light__moc-forest__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/light__moc-forest__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/light__moc-forest__compact__high.dtcg.json +1 -1
- package/tokens/modes/light__moc-forest__compact__standard.dtcg.json +1 -1
- package/tokens/modes/light__moc__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/light__moc__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/light__moc__compact__high.dtcg.json +1 -1
- package/tokens/modes/light__moc__compact__standard.dtcg.json +1 -1
- package/tokens/modes/light__tho-clay__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/light__tho-clay__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/light__tho-clay__compact__high.dtcg.json +1 -1
- package/tokens/modes/light__tho-clay__compact__standard.dtcg.json +1 -1
- package/tokens/modes/light__tho-sand__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/light__tho-sand__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/light__tho-sand__compact__high.dtcg.json +1 -1
- package/tokens/modes/light__tho-sand__compact__standard.dtcg.json +1 -1
- package/tokens/modes/light__tho__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/light__tho__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/light__tho__compact__high.dtcg.json +1 -1
- package/tokens/modes/light__tho__compact__standard.dtcg.json +1 -1
- package/tokens/modes/light__thuy-mist__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/light__thuy-mist__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/light__thuy-mist__compact__high.dtcg.json +1 -1
- package/tokens/modes/light__thuy-mist__compact__standard.dtcg.json +1 -1
- package/tokens/modes/light__thuy-ocean__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/light__thuy-ocean__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/light__thuy-ocean__compact__high.dtcg.json +1 -1
- package/tokens/modes/light__thuy-ocean__compact__standard.dtcg.json +1 -1
- package/tokens/modes/light__thuy__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/light__thuy__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/light__thuy__compact__high.dtcg.json +1 -1
- package/tokens/modes/light__thuy__compact__standard.dtcg.json +1 -1
- package/tokens/modes/system-dark__default__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/system-dark__default__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/system-dark__default__compact__high.dtcg.json +1 -1
- package/tokens/modes/system-dark__default__compact__standard.dtcg.json +1 -1
- package/tokens/modes/system-dark__hoa-lava__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/system-dark__hoa-lava__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/system-dark__hoa-lava__compact__high.dtcg.json +1 -1
- package/tokens/modes/system-dark__hoa-lava__compact__standard.dtcg.json +1 -1
- package/tokens/modes/system-dark__hoa-plasma__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/system-dark__hoa-plasma__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/system-dark__hoa-plasma__compact__high.dtcg.json +1 -1
- package/tokens/modes/system-dark__hoa-plasma__compact__standard.dtcg.json +1 -1
- package/tokens/modes/system-dark__hoa__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/system-dark__hoa__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/system-dark__hoa__compact__high.dtcg.json +1 -1
- package/tokens/modes/system-dark__hoa__compact__standard.dtcg.json +1 -1
- package/tokens/modes/system-dark__kim-steel__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/system-dark__kim-steel__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/system-dark__kim-steel__compact__high.dtcg.json +1 -1
- package/tokens/modes/system-dark__kim-steel__compact__standard.dtcg.json +1 -1
- package/tokens/modes/system-dark__kim-titanium__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/system-dark__kim-titanium__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/system-dark__kim-titanium__compact__high.dtcg.json +1 -1
- package/tokens/modes/system-dark__kim-titanium__compact__standard.dtcg.json +1 -1
- package/tokens/modes/system-dark__kim__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/system-dark__kim__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/system-dark__kim__compact__high.dtcg.json +1 -1
- package/tokens/modes/system-dark__kim__compact__standard.dtcg.json +1 -1
- package/tokens/modes/system-dark__moc-bamboo__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/system-dark__moc-bamboo__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/system-dark__moc-bamboo__compact__high.dtcg.json +1 -1
- package/tokens/modes/system-dark__moc-bamboo__compact__standard.dtcg.json +1 -1
- package/tokens/modes/system-dark__moc-forest__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/system-dark__moc-forest__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/system-dark__moc-forest__compact__high.dtcg.json +1 -1
- package/tokens/modes/system-dark__moc-forest__compact__standard.dtcg.json +1 -1
- package/tokens/modes/system-dark__moc__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/system-dark__moc__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/system-dark__moc__compact__high.dtcg.json +1 -1
- package/tokens/modes/system-dark__moc__compact__standard.dtcg.json +1 -1
- package/tokens/modes/system-dark__tho-clay__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/system-dark__tho-clay__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/system-dark__tho-clay__compact__high.dtcg.json +1 -1
- package/tokens/modes/system-dark__tho-clay__compact__standard.dtcg.json +1 -1
- package/tokens/modes/system-dark__tho-sand__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/system-dark__tho-sand__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/system-dark__tho-sand__compact__high.dtcg.json +1 -1
- package/tokens/modes/system-dark__tho-sand__compact__standard.dtcg.json +1 -1
- package/tokens/modes/system-dark__tho__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/system-dark__tho__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/system-dark__tho__compact__high.dtcg.json +1 -1
- package/tokens/modes/system-dark__tho__compact__standard.dtcg.json +1 -1
- package/tokens/modes/system-dark__thuy-mist__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/system-dark__thuy-mist__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/system-dark__thuy-mist__compact__high.dtcg.json +1 -1
- package/tokens/modes/system-dark__thuy-mist__compact__standard.dtcg.json +1 -1
- package/tokens/modes/system-dark__thuy-ocean__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/system-dark__thuy-ocean__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/system-dark__thuy-ocean__compact__high.dtcg.json +1 -1
- package/tokens/modes/system-dark__thuy-ocean__compact__standard.dtcg.json +1 -1
- package/tokens/modes/system-dark__thuy__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/system-dark__thuy__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/system-dark__thuy__compact__high.dtcg.json +1 -1
- package/tokens/modes/system-dark__thuy__compact__standard.dtcg.json +1 -1
- package/tokens/modes/system-light__default__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/system-light__default__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/system-light__default__compact__high.dtcg.json +1 -1
- package/tokens/modes/system-light__default__compact__standard.dtcg.json +1 -1
- package/tokens/modes/system-light__hoa-lava__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/system-light__hoa-lava__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/system-light__hoa-lava__compact__high.dtcg.json +1 -1
- package/tokens/modes/system-light__hoa-lava__compact__standard.dtcg.json +1 -1
- package/tokens/modes/system-light__hoa-plasma__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/system-light__hoa-plasma__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/system-light__hoa-plasma__compact__high.dtcg.json +1 -1
- package/tokens/modes/system-light__hoa-plasma__compact__standard.dtcg.json +1 -1
- package/tokens/modes/system-light__hoa__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/system-light__hoa__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/system-light__hoa__compact__high.dtcg.json +1 -1
- package/tokens/modes/system-light__hoa__compact__standard.dtcg.json +1 -1
- package/tokens/modes/system-light__kim-steel__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/system-light__kim-steel__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/system-light__kim-steel__compact__high.dtcg.json +1 -1
- package/tokens/modes/system-light__kim-steel__compact__standard.dtcg.json +1 -1
- package/tokens/modes/system-light__kim-titanium__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/system-light__kim-titanium__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/system-light__kim-titanium__compact__high.dtcg.json +1 -1
- package/tokens/modes/system-light__kim-titanium__compact__standard.dtcg.json +1 -1
- package/tokens/modes/system-light__kim__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/system-light__kim__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/system-light__kim__compact__high.dtcg.json +1 -1
- package/tokens/modes/system-light__kim__compact__standard.dtcg.json +1 -1
- package/tokens/modes/system-light__moc-bamboo__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/system-light__moc-bamboo__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/system-light__moc-bamboo__compact__high.dtcg.json +1 -1
- package/tokens/modes/system-light__moc-bamboo__compact__standard.dtcg.json +1 -1
- package/tokens/modes/system-light__moc-forest__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/system-light__moc-forest__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/system-light__moc-forest__compact__high.dtcg.json +1 -1
- package/tokens/modes/system-light__moc-forest__compact__standard.dtcg.json +1 -1
- package/tokens/modes/system-light__moc__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/system-light__moc__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/system-light__moc__compact__high.dtcg.json +1 -1
- package/tokens/modes/system-light__moc__compact__standard.dtcg.json +1 -1
- package/tokens/modes/system-light__tho-clay__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/system-light__tho-clay__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/system-light__tho-clay__compact__high.dtcg.json +1 -1
- package/tokens/modes/system-light__tho-clay__compact__standard.dtcg.json +1 -1
- package/tokens/modes/system-light__tho-sand__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/system-light__tho-sand__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/system-light__tho-sand__compact__high.dtcg.json +1 -1
- package/tokens/modes/system-light__tho-sand__compact__standard.dtcg.json +1 -1
- package/tokens/modes/system-light__tho__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/system-light__tho__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/system-light__tho__compact__high.dtcg.json +1 -1
- package/tokens/modes/system-light__tho__compact__standard.dtcg.json +1 -1
- package/tokens/modes/system-light__thuy-mist__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/system-light__thuy-mist__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/system-light__thuy-mist__compact__high.dtcg.json +1 -1
- package/tokens/modes/system-light__thuy-mist__compact__standard.dtcg.json +1 -1
- package/tokens/modes/system-light__thuy-ocean__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/system-light__thuy-ocean__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/system-light__thuy-ocean__compact__high.dtcg.json +1 -1
- package/tokens/modes/system-light__thuy-ocean__compact__standard.dtcg.json +1 -1
- package/tokens/modes/system-light__thuy__comfortable__high.dtcg.json +1 -1
- package/tokens/modes/system-light__thuy__comfortable__standard.dtcg.json +1 -1
- package/tokens/modes/system-light__thuy__compact__high.dtcg.json +1 -1
- package/tokens/modes/system-light__thuy__compact__standard.dtcg.json +1 -1
- package/tokens/native/CSModes.kt +233 -233
- package/tokens/native/CSModes.swift +233 -233
- package/tokens/native/CSTokens.kt +11 -11
- package/tokens/native/CSTokens.swift +11 -11
- package/tokens/native/cs_modes.dart +233 -233
- package/tokens/native/cs_tokens.dart +11 -11
- package/tokens/native/mode-provenance.json +11 -11
- package/tokens/provenance.json +6 -6
- package/tokens/theme-attributes.css +40 -40
- package/tokens/tokens.dtcg.json +187 -130
- package/tokens/tokens.js +87 -87
- package/tokens/tokens.json +86 -86
- package/tokens/typography.css +6 -6
- package/tokens/variables.css +131 -131
- package/tokens/viewer.html +15 -11
- package/ui_kits/deck/index.html +4 -2
- package/ui_kits/status-hub/StatusHub.jsx +7 -7
- package/ui_kits/status-hub/data.js +3 -3
- package/ui_kits/status-hub/index.html +1 -0
- package/ui_kits/status-hub/login.html +8 -6
- package/ui_kits/status-hub/project.html +7 -6
- package/ui_kits/status-hub/settings.html +9 -8
- package/ui_kits/status-hub/status.css +10 -8
- package/ui_kits/website/Website.jsx +3 -3
- package/ui_kits/website/careers.html +24 -7
- package/ui_kits/website/chat.html +5 -2
- package/ui_kits/website/index.html +1 -0
- package/ui_kits/website/site.css +30 -6
- package/ui_kits/website/work.html +12 -7
- package/components/_utils/use-viewport-panel.js +0 -30
- package/dist/esm/chunks/chunk-CH4W6RCG.mjs.map +0 -7
- package/dist/esm/chunks/chunk-F3M5TQ76.mjs.map +0 -7
- package/dist/esm/chunks/chunk-GWBINWTF.mjs.map +0 -7
- package/dist/esm/chunks/chunk-IH4I7JSB.mjs.map +0 -7
- package/dist/esm/chunks/chunk-JN57OITY.mjs.map +0 -7
- package/dist/esm/chunks/chunk-UFE32JPH.mjs.map +0 -7
- /package/dist/esm/chunks/{chunk-FEUTSZBN.mjs.map → chunk-2CCVFTPL.mjs.map} +0 -0
- /package/dist/esm/chunks/{chunk-W5VR7GTL.mjs.map → chunk-2VVGZEOQ.mjs.map} +0 -0
- /package/dist/esm/chunks/{chunk-3RC4CDAE.mjs.map → chunk-3R5WJQCB.mjs.map} +0 -0
- /package/dist/esm/chunks/{chunk-W6N22NMF.mjs.map → chunk-4FGB6VHN.mjs.map} +0 -0
- /package/dist/esm/chunks/{chunk-YZR3C7V2.mjs.map → chunk-4TO35YGK.mjs.map} +0 -0
- /package/dist/esm/chunks/{chunk-JSAPFO73.mjs.map → chunk-4YWKKULF.mjs.map} +0 -0
- /package/dist/esm/chunks/{chunk-W2RF4NWB.mjs.map → chunk-5FQGNCKS.mjs.map} +0 -0
- /package/dist/esm/chunks/{chunk-SYCXNMYP.mjs.map → chunk-6ECKJ6RS.mjs.map} +0 -0
- /package/dist/esm/chunks/{chunk-72AUOI37.mjs.map → chunk-6TZDNLHE.mjs.map} +0 -0
- /package/dist/esm/chunks/{chunk-QGCPHFSI.mjs.map → chunk-72STPBL4.mjs.map} +0 -0
- /package/dist/esm/chunks/{chunk-37AN57S5.mjs.map → chunk-7GSR2NGL.mjs.map} +0 -0
- /package/dist/esm/chunks/{chunk-A3PGQW3X.mjs.map → chunk-AA5BSO3T.mjs.map} +0 -0
- /package/dist/esm/chunks/{chunk-NH6M42ZI.mjs.map → chunk-ASGO2FW5.mjs.map} +0 -0
- /package/dist/esm/chunks/{chunk-GP5ITSCH.mjs.map → chunk-C3NAMBA7.mjs.map} +0 -0
- /package/dist/esm/chunks/{chunk-YA7Y7PEC.mjs.map → chunk-CKBL3UEA.mjs.map} +0 -0
- /package/dist/esm/chunks/{chunk-H7EJ7TNP.mjs.map → chunk-CYZ22MB7.mjs.map} +0 -0
- /package/dist/esm/chunks/{chunk-JRIWHAWW.mjs.map → chunk-D7A4ZCMJ.mjs.map} +0 -0
- /package/dist/esm/chunks/{chunk-A7RWM4XH.mjs.map → chunk-DANUZS4S.mjs.map} +0 -0
- /package/dist/esm/chunks/{chunk-FAVSLU7E.mjs.map → chunk-DFBKBVSE.mjs.map} +0 -0
- /package/dist/esm/chunks/{chunk-TNHQB6CI.mjs.map → chunk-DW4AWLA5.mjs.map} +0 -0
- /package/dist/esm/chunks/{chunk-5R5KMLUR.mjs.map → chunk-DWJIX65T.mjs.map} +0 -0
- /package/dist/esm/chunks/{chunk-YJNSQ5PJ.mjs.map → chunk-EITZT2U5.mjs.map} +0 -0
- /package/dist/esm/chunks/{chunk-CSJHR2W2.mjs.map → chunk-EOCMQT4L.mjs.map} +0 -0
- /package/dist/esm/chunks/{chunk-4QBKN42N.mjs.map → chunk-EXOOST5G.mjs.map} +0 -0
- /package/dist/esm/chunks/{chunk-7HTAAMIY.mjs.map → chunk-FF5D53IP.mjs.map} +0 -0
- /package/dist/esm/chunks/{chunk-JNK7QN24.mjs.map → chunk-FOEJO2YQ.mjs.map} +0 -0
- /package/dist/esm/chunks/{chunk-HYQG5XND.mjs.map → chunk-GLPQBE2J.mjs.map} +0 -0
- /package/dist/esm/chunks/{chunk-HUW6OY7C.mjs.map → chunk-GNEVR5Q4.mjs.map} +0 -0
- /package/dist/esm/chunks/{chunk-SEYKDGXE.mjs.map → chunk-H4TKHAB3.mjs.map} +0 -0
- /package/dist/esm/chunks/{chunk-OR5UTKW7.mjs.map → chunk-I3H7EAH5.mjs.map} +0 -0
- /package/dist/esm/chunks/{chunk-P64YS5W2.mjs.map → chunk-I3PQVFX5.mjs.map} +0 -0
- /package/dist/esm/chunks/{chunk-5MR3C2QG.mjs.map → chunk-IOEWPBAL.mjs.map} +0 -0
- /package/dist/esm/chunks/{chunk-TN2MZXGS.mjs.map → chunk-JIHWIDMP.mjs.map} +0 -0
- /package/dist/esm/chunks/{chunk-YX62AV33.mjs.map → chunk-KAOUK33L.mjs.map} +0 -0
- /package/dist/esm/chunks/{chunk-UVJ5BBQG.mjs.map → chunk-KWPNHP73.mjs.map} +0 -0
- /package/dist/esm/chunks/{chunk-BABSYWVB.mjs.map → chunk-LCC4ZVVO.mjs.map} +0 -0
- /package/dist/esm/chunks/{chunk-HVF4NT6P.mjs.map → chunk-MRXEJSQQ.mjs.map} +0 -0
- /package/dist/esm/chunks/{chunk-DIIXA7WD.mjs.map → chunk-NZKMM4FK.mjs.map} +0 -0
- /package/dist/esm/chunks/{chunk-CLWTVJM3.mjs.map → chunk-OEWAQZYE.mjs.map} +0 -0
- /package/dist/esm/chunks/{chunk-OOZKMXYB.mjs.map → chunk-PBP2MKZH.mjs.map} +0 -0
- /package/dist/esm/chunks/{chunk-JKKJHQVQ.mjs.map → chunk-PE6KC2U7.mjs.map} +0 -0
- /package/dist/esm/chunks/{chunk-N5TM7UIY.mjs.map → chunk-PFTKXY5Q.mjs.map} +0 -0
- /package/dist/esm/chunks/{chunk-R7QVE2JP.mjs.map → chunk-PLN3ITUB.mjs.map} +0 -0
- /package/dist/esm/chunks/{chunk-NEMFYL4X.mjs.map → chunk-QBPDNM7S.mjs.map} +0 -0
- /package/dist/esm/chunks/{chunk-JDI3UMJW.mjs.map → chunk-SIMVM4RV.mjs.map} +0 -0
- /package/dist/esm/chunks/{chunk-WJF2Q2Y3.mjs.map → chunk-TMXLSCAG.mjs.map} +0 -0
- /package/dist/esm/chunks/{chunk-TGYG7JP4.mjs.map → chunk-TNQXCIBM.mjs.map} +0 -0
- /package/dist/esm/chunks/{chunk-DHTD5KM5.mjs.map → chunk-TWCJMLGG.mjs.map} +0 -0
- /package/dist/esm/chunks/{chunk-EPFDMHPK.mjs.map → chunk-U7RKPGRO.mjs.map} +0 -0
- /package/dist/esm/chunks/{chunk-NMIGE2IM.mjs.map → chunk-UWNMGKAN.mjs.map} +0 -0
- /package/dist/esm/chunks/{chunk-KXFGO7N4.mjs.map → chunk-VAPKJRQI.mjs.map} +0 -0
- /package/dist/esm/chunks/{chunk-XTBN55D3.mjs.map → chunk-VUCJT2QJ.mjs.map} +0 -0
- /package/dist/esm/chunks/{chunk-TVTBVHT2.mjs.map → chunk-WLANQTOU.mjs.map} +0 -0
- /package/dist/esm/chunks/{chunk-3MCNCG2L.mjs.map → chunk-XZ5NWMO7.mjs.map} +0 -0
- /package/dist/esm/chunks/{chunk-QPXQZBQC.mjs.map → chunk-YKU2KVAQ.mjs.map} +0 -0
- /package/dist/esm/chunks/{chunk-ZKFOGW4D.mjs.map → chunk-YLSFKG64.mjs.map} +0 -0
- /package/dist/esm/chunks/{chunk-TO2T6EEB.mjs.map → chunk-YVSAUCWW.mjs.map} +0 -0
- /package/dist/esm/chunks/{chunk-XN74VX5H.mjs.map → chunk-ZKBAIIAQ.mjs.map} +0 -0
- /package/dist/esm/chunks/{chunk-7IJTTRPK.mjs.map → chunk-ZPLENPV2.mjs.map} +0 -0
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
<title>Marketing · Press release · CyberSkill</title>
|
|
6
6
|
<meta charset="utf-8">
|
|
7
7
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
8
|
+
<meta name="description" content="Marketing · Press release · CyberSkill reference in the CyberSkill Design System." />
|
|
8
9
|
<meta name="omelette-owns-print" content="1">
|
|
9
10
|
<script src="./support.js"></script>
|
|
10
11
|
</head>
|
|
@@ -75,7 +76,7 @@ class Component extends DCLogic {
|
|
|
75
76
|
lead:/* @generated template-literal:dictionary.vi.6c656164 */ "TP. HỒ CHÍ MINH, 18 tháng 7 năm 2026 — CyberSkill, studio phần mềm Sài Gòn đứng sau Status Hub, hôm nay mở Lumi, trợ lý tiếp nhận điều ước, cho mọi doanh nghiệp. Bất kỳ ai cũng có thể mô tả kết quả trong một câu; Lumi trả lời bằng lời khuyên thẳng thắn, rồi trao điều ước cho một đội ngũ con người cấp cao xác định phạm vi thành thật và làm để bền lâu." /* @endgenerated template-literal:dictionary.vi.6c656164 */,
|
|
76
77
|
body2:/* @generated template-literal:dictionary.vi.626f647932 */ "Khác với các công cụ sinh mã dùng một lần, mọi điều ước của Lumi đều kết thúc ở con người. \u201cAI soạn nháp, con người chịu trách nhiệm về kết quả,\u201d nhà sáng lập studio nói. \u201cChúng tôi đặt tên mình lên thứ được bàn giao — điều đó thay đổi thứ bạn sẵn lòng bàn giao.\u201d" /* @endgenerated template-literal:dictionary.vi.626f647932 */,
|
|
77
78
|
body3:/* @generated template-literal:dictionary.vi.626f647933 */ "Lumi song ngữ mặc định (Tiếng Việt · English), công khai khi có AI tham gia, và không bao giờ liên hệ ai khi chưa được đồng ý. Từ 2020, studio đã thực hiện hơn 40 điều ước cho các đội bán lẻ, logistics và công cụ nội bộ khắp Việt Nam." /* @endgenerated template-literal:dictionary.vi.626f647933 */,
|
|
78
|
-
glanceL:/* @generated template-literal:dictionary.vi.676c616e63654c */ "Tóm tắt" /* @endgenerated template-literal:dictionary.vi.676c616e63654c */, g1t:/* @generated template-literal:dictionary.vi.673174 */ "Ước miễn phí" /* @endgenerated template-literal:dictionary.vi.673174 */, g1b:/* @generated template-literal:dictionary.vi.673162 */ "Lời khuyên trước; không cần đăng ký để hỏi." /* @endgenerated template-literal:dictionary.vi.673162 */, g2t:/* @generated template-literal:dictionary.vi.673274 */ "
|
|
79
|
+
glanceL:/* @generated template-literal:dictionary.vi.676c616e63654c */ "Tóm tắt" /* @endgenerated template-literal:dictionary.vi.676c616e63654c */, g1t:/* @generated template-literal:dictionary.vi.673174 */ "Ước miễn phí" /* @endgenerated template-literal:dictionary.vi.673174 */, g1b:/* @generated template-literal:dictionary.vi.673162 */ "Lời khuyên trước; không cần đăng ký để hỏi." /* @endgenerated template-literal:dictionary.vi.673162 */, g2t:/* @generated template-literal:dictionary.vi.673274 */ "Có người kiểm duyệt" /* @endgenerated template-literal:dictionary.vi.673274 */, g2b:/* @generated template-literal:dictionary.vi.673262 */ "Mọi điều ước đều có người rà soát." /* @endgenerated template-literal:dictionary.vi.673262 */, g3t:/* @generated template-literal:dictionary.vi.673374 */ "Một ngày làm việc" /* @endgenerated template-literal:dictionary.vi.673374 */, g3b:/* @generated template-literal:dictionary.vi.673362 */ "Phản hồi đầu tiên, cam kết." /* @endgenerated template-literal:dictionary.vi.673362 */,
|
|
79
80
|
aboutL:/* @generated template-literal:dictionary.vi.61626f75744c */ "Về CyberSkill" /* @endgenerated template-literal:dictionary.vi.61626f75744c */, aboutP:/* @generated template-literal:dictionary.vi.61626f757450 */ "CyberSkill là studio phần mềm Sài Gòn, thành lập 2020. Khẩu hiệu: Turn Your Will Into Real — Hiện Thực Hoá Ý Chí. Một đội ngũ nhỏ, giàu kinh nghiệm, biến điều ước rõ ràng thành phần mềm chạy được và bền lâu: sản phẩm web và di động, hệ thống nội bộ, và AI tử tế. cyberskill.world" /* @endgenerated template-literal:dictionary.vi.61626f757450 */,
|
|
80
81
|
mediaL:/* @generated template-literal:dictionary.vi.6d656469614c */ "Liên hệ báo chí" /* @endgenerated template-literal:dictionary.vi.6d656469614c */, place:/* @generated template-literal:dictionary.vi.706c616365 */ "Quận 1, Sài Gòn" /* @endgenerated template-literal:dictionary.vi.706c616365 */, assetsL:/* @generated template-literal:dictionary.vi.6173736574734c */ "Tư liệu: logo & ảnh Lumi khi có yêu cầu" /* @endgenerated template-literal:dictionary.vi.6173736574734c */};
|
|
81
82
|
return Object.assign({ langAttr: (this.props.language ?? "English") === "Tiếng Việt" ? "vi" : "en", elAttr, vaAttr, showBoilerplate: this.props.showBoilerplate ?? true }, vn ? vi : en);
|
|
@@ -90,7 +90,7 @@
|
|
|
90
90
|
const R = window.React;
|
|
91
91
|
return Array.from(nodes).map((node, index) => {
|
|
92
92
|
const key = prefix + index;
|
|
93
|
-
if (node.nodeType === Node.TEXT_NODE) return
|
|
93
|
+
if (node.nodeType === Node.TEXT_NODE) return node.textContent.replace(/\{\{\s*([^{}]+?)\s*\}\}/g, (_, name) => String(resolveName(name.trim(), scope) ?? ''));
|
|
94
94
|
if (node.nodeType !== Node.ELEMENT_NODE) return null;
|
|
95
95
|
const tag = node.localName;
|
|
96
96
|
const control = tag === 'template' ? node.getAttribute('data-cs-dc-control') : tag === 'sc-for' ? 'for' : tag === 'sc-if' ? 'if' : null;
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
<title>Marketing · Social post kit · CyberSkill</title>
|
|
6
6
|
<meta charset="utf-8">
|
|
7
7
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
8
|
+
<meta name="description" content="Marketing · Social post kit · CyberSkill reference in the CyberSkill Design System." />
|
|
8
9
|
<script src="./support.js"></script>
|
|
9
10
|
</head>
|
|
10
11
|
<body>
|
|
@@ -90,7 +90,7 @@
|
|
|
90
90
|
const R = window.React;
|
|
91
91
|
return Array.from(nodes).map((node, index) => {
|
|
92
92
|
const key = prefix + index;
|
|
93
|
-
if (node.nodeType === Node.TEXT_NODE) return
|
|
93
|
+
if (node.nodeType === Node.TEXT_NODE) return node.textContent.replace(/\{\{\s*([^{}]+?)\s*\}\}/g, (_, name) => String(resolveName(name.trim(), scope) ?? ''));
|
|
94
94
|
if (node.nodeType !== Node.ELEMENT_NODE) return null;
|
|
95
95
|
const tag = node.localName;
|
|
96
96
|
const control = tag === 'template' ? node.getAttribute('data-cs-dc-control') : tag === 'sc-for' ? 'for' : tag === 'sc-if' ? 'if' : null;
|
|
@@ -1,22 +1,24 @@
|
|
|
1
1
|
<!DOCTYPE html>
|
|
2
2
|
<html lang="en"><head><meta charset="utf-8">
|
|
3
3
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
4
|
+
<meta name="description" content="Interactive four-axis playground for CyberSkill Design System.">
|
|
4
5
|
<link rel="stylesheet" href="../styles.css">
|
|
5
6
|
<title>CyberSkill — playground</title>
|
|
6
7
|
<style>
|
|
7
8
|
body{margin:0;font-family:var(--cs-font-family-ui);background:var(--cs-color-surface-page);color:var(--cs-color-text-primary)}
|
|
8
|
-
.bar{position:sticky;top:
|
|
9
|
-
.bar
|
|
9
|
+
.bar{position:sticky;top:1px;z-index:10;background:color-mix(in oklab,var(--cs-color-surface-panel) 90%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--cs-color-border-default);padding:12px max(24px,calc((100% - 900px)/2));display:flex;gap:20px;flex-wrap:wrap;align-items:center}
|
|
10
|
+
@media (prefers-reduced-transparency: reduce){.bar{backdrop-filter:none;background:var(--cs-color-surface-panel)}}
|
|
11
|
+
.bar h1{font-size:15px;margin:0}
|
|
10
12
|
.grp{display:flex;gap:5px;align-items:center;flex-wrap:wrap}
|
|
11
|
-
.grp .k{font-size:
|
|
12
|
-
.grp button{font:inherit;font-size:
|
|
13
|
-
.grp button[aria-pressed="true"]{background:var(--cs-color-brand-umber);color
|
|
13
|
+
.grp .k{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--cs-color-text-muted);margin-right:2px}
|
|
14
|
+
.grp button{font:inherit;font-size:12px;font-weight:600;padding:5px 10px;min-block-size:32px;border:1px solid var(--cs-color-border-default);background:var(--cs-color-surface-panel);color:var(--cs-color-text-primary);border-radius:999px;cursor:pointer}
|
|
15
|
+
.grp button[aria-pressed="true"]{background:var(--_cs-light,var(--cs-color-brand-umber)) var(--_cs-dark,var(--cs-color-brand-ochre));color:var(--_cs-light,var(--cs-color-text-inverse)) var(--_cs-dark,var(--cs-color-brand-umber));border-color:var(--_cs-light,var(--cs-color-brand-umber)) var(--_cs-dark,var(--cs-color-brand-ochre))}
|
|
14
16
|
.stage{padding:28px 24px;min-height:70vh;background:var(--cs-color-surface-page)}
|
|
15
17
|
.gal{max-width:900px;margin:0 auto;display:grid;gap:16px}
|
|
16
18
|
.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
|
|
17
|
-
.panel{background:var(--cs-color-surface-panel);border:1px solid var(--cs-color-border-default);border-radius:var(--cs-radius-lg);box-shadow:var(--cs-shadow-
|
|
19
|
+
.panel{background:var(--cs-color-surface-panel);color:var(--cs-color-text-primary);border:1px solid var(--cs-color-border-default);border-radius:var(--cs-radius-lg);box-shadow:var(--cs-shadow-xs);padding:18px}
|
|
18
20
|
.swatches{display:flex;gap:6px}.sw{width:34px;height:34px;border-radius:8px;border:1px solid var(--cs-color-border-default)}
|
|
19
|
-
.lbl{font-size:
|
|
21
|
+
.lbl{font-size:12px;color:var(--cs-color-text-muted);width:100%}
|
|
20
22
|
</style></head>
|
|
21
23
|
<body>
|
|
22
24
|
<div class="bar">
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
<title>Sales · One-pager · CyberSkill</title>
|
|
6
6
|
<meta charset="utf-8">
|
|
7
7
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
8
|
+
<meta name="description" content="Sales · One-pager · CyberSkill reference in the CyberSkill Design System." />
|
|
8
9
|
<meta name="omelette-owns-print" content="1">
|
|
9
10
|
<script src="./support.js"></script>
|
|
10
11
|
</head>
|
|
@@ -90,7 +90,7 @@
|
|
|
90
90
|
const R = window.React;
|
|
91
91
|
return Array.from(nodes).map((node, index) => {
|
|
92
92
|
const key = prefix + index;
|
|
93
|
-
if (node.nodeType === Node.TEXT_NODE) return
|
|
93
|
+
if (node.nodeType === Node.TEXT_NODE) return node.textContent.replace(/\{\{\s*([^{}]+?)\s*\}\}/g, (_, name) => String(resolveName(name.trim(), scope) ?? ''));
|
|
94
94
|
if (node.nodeType !== Node.ELEMENT_NODE) return null;
|
|
95
95
|
const tag = node.localName;
|
|
96
96
|
const control = tag === 'template' ? node.getAttribute('data-cs-dc-control') : tag === 'sc-for' ? 'for' : tag === 'sc-if' ? 'if' : null;
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
<title>Sales · Proposal deck · CyberSkill</title>
|
|
5
5
|
<meta charset="utf-8">
|
|
6
6
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
7
|
+
<meta name="description" content="Sales · Proposal deck · CyberSkill reference in the CyberSkill Design System." />
|
|
7
8
|
<script src="./support.js"></script>
|
|
8
9
|
</head>
|
|
9
10
|
<body>
|
|
@@ -90,7 +90,7 @@
|
|
|
90
90
|
const R = window.React;
|
|
91
91
|
return Array.from(nodes).map((node, index) => {
|
|
92
92
|
const key = prefix + index;
|
|
93
|
-
if (node.nodeType === Node.TEXT_NODE) return
|
|
93
|
+
if (node.nodeType === Node.TEXT_NODE) return node.textContent.replace(/\{\{\s*([^{}]+?)\s*\}\}/g, (_, name) => String(resolveName(name.trim(), scope) ?? ''));
|
|
94
94
|
if (node.nodeType !== Node.ELEMENT_NODE) return null;
|
|
95
95
|
const tag = node.localName;
|
|
96
96
|
const control = tag === 'template' ? node.getAttribute('data-cs-dc-control') : tag === 'sc-for' ? 'for' : tag === 'sc-if' ? 'if' : null;
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
<title>Settings · CyberSkill</title>
|
|
5
5
|
<meta charset="utf-8">
|
|
6
6
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
7
|
+
<meta name="description" content="Settings · CyberSkill reference in the CyberSkill Design System." />
|
|
7
8
|
<script src="./support.js"></script>
|
|
8
9
|
</head>
|
|
9
10
|
<body>
|
|
@@ -84,7 +85,7 @@ class Component extends DCLogic {
|
|
|
84
85
|
const tab = this.tab;
|
|
85
86
|
const vn = this.props.language === "Tiếng Việt";
|
|
86
87
|
const en = { skipLabel:/* @generated template-literal:copy.skip-to-content.en */ "Skip to content" /* @endgenerated template-literal:copy.skip-to-content.en */, title:/* @generated template-literal:copy.settings.en */ "Settings" /* @endgenerated template-literal:copy.settings.en */, sub:/* @generated template-literal:dictionary.en.737562 */ "Workspace & preferences · an@cyberskill.world" /* @endgenerated template-literal:dictionary.en.737562 */, pfL:/* @generated template-literal:copy.profile.en */ "Profile" /* @endgenerated template-literal:copy.profile.en */, ntL:/* @generated template-literal:copy.notifications.en */ "Notifications" /* @endgenerated template-literal:copy.notifications.en */, profileH:/* @generated template-literal:copy.profile.en */ "Profile" /* @endgenerated template-literal:copy.profile.en */, profileP:/* @generated template-literal:dictionary.en.70726f66696c6550 */ "This is how you appear across the workspace." /* @endgenerated template-literal:dictionary.en.70726f66696c6550 */, nameL:/* @generated template-literal:dictionary.en.6e616d654c */ "Full name" /* @endgenerated template-literal:dictionary.en.6e616d654c */, emailL:/* @generated template-literal:copy.work-email.en */ "Work email" /* @endgenerated template-literal:copy.work-email.en */, squadL:/* @generated template-literal:copy.squad.en */ "Squad" /* @endgenerated template-literal:copy.squad.en */, ifaceL:/* @generated template-literal:dictionary.en.69666163654c */ "Interface language" /* @endgenerated template-literal:dictionary.en.69666163654c */, notifH:/* @generated template-literal:copy.notifications.en */ "Notifications" /* @endgenerated template-literal:copy.notifications.en */, notifP:/* @generated template-literal:dictionary.en.6e6f74696650 */ "We keep it quiet — only what you ask for." /* @endgenerated template-literal:dictionary.en.6e6f74696650 */, n1t:/* @generated template-literal:dictionary.en.6e3174 */ "Release notes" /* @endgenerated template-literal:dictionary.en.6e3174 */, n1d:/* @generated template-literal:dictionary.en.6e3164 */ "A summary each time a project ships. Bilingual." /* @endgenerated template-literal:dictionary.en.6e3164 */, n2t:/* @generated template-literal:dictionary.en.6e3274 */ "Blocked-project alerts" /* @endgenerated template-literal:dictionary.en.6e3274 */, n2d:/* @generated template-literal:dictionary.en.6e3264 */ "Get pinged when a project is blocked." /* @endgenerated template-literal:dictionary.en.6e3264 */, n3t:/* @generated template-literal:dictionary.en.6e3374 */ "Weekly velocity digest" /* @endgenerated template-literal:dictionary.en.6e3374 */, n3d:/* @generated template-literal:dictionary.en.6e3364 */ "Tasks shipped per week, every Monday morning." /* @endgenerated template-literal:dictionary.en.6e3364 */, n4t:/* @generated template-literal:dictionary.en.6e3474 */ "Quiet hours" /* @endgenerated template-literal:dictionary.en.6e3474 */, n4d:/* @generated template-literal:dictionary.en.6e3464 */ "No pings between 22:00 and 07:00 local time." /* @endgenerated template-literal:dictionary.en.6e3464 */, advT:/* @generated template-literal:dictionary.en.61647654 */ "Advanced preferences" /* @endgenerated template-literal:dictionary.en.61647654 */, advD:/* @generated template-literal:dictionary.en.61647644 */ "Digest timing and quiet hours stay here — expand only when you need them." /* @endgenerated template-literal:dictionary.en.61647644 */, dangerT:/* @generated template-literal:copy.delete-workspace.en */ "Delete workspace" /* @endgenerated template-literal:copy.delete-workspace.en */, dangerD:/* @generated template-literal:dictionary.en.64616e67657244 */ "Removes every project and release. This cannot be undone." /* @endgenerated template-literal:dictionary.en.64616e67657244 */, dangerBtn:/* @generated template-literal:copy.delete-workspace.en */ "Delete workspace" /* @endgenerated template-literal:copy.delete-workspace.en */, cancelBtn:/* @generated template-literal:dictionary.en.63616e63656c42746e */ "Cancel" /* @endgenerated template-literal:dictionary.en.63616e63656c42746e */, saveBtn:/* @generated template-literal:dictionary.en.7361766542746e */ "Save changes" /* @endgenerated template-literal:dictionary.en.7361766542746e */ };
|
|
87
|
-
const vi = { skipLabel:/* @generated template-literal:copy.skip-to-content.vi */ "Bỏ qua nội dung" /* @endgenerated template-literal:copy.skip-to-content.vi */, title:/* @generated template-literal:copy.settings.vi */ "Cài đặt" /* @endgenerated template-literal:copy.settings.vi */, sub:/* @generated template-literal:dictionary.vi.737562 */ "Không gian làm việc & tuỳ chọn · an@cyberskill.world" /* @endgenerated template-literal:dictionary.vi.737562 */, pfL:/* @generated template-literal:copy.profile.vi */ "Hồ sơ" /* @endgenerated template-literal:copy.profile.vi */, ntL:/* @generated template-literal:copy.notifications.vi */ "Thông báo" /* @endgenerated template-literal:copy.notifications.vi */, profileH:/* @generated template-literal:copy.profile.vi */ "Hồ sơ" /* @endgenerated template-literal:copy.profile.vi */, profileP:/* @generated template-literal:dictionary.vi.70726f66696c6550 */ "Đây là cách bạn hiển thị trong không gian làm việc." /* @endgenerated template-literal:dictionary.vi.70726f66696c6550 */, nameL:/* @generated template-literal:dictionary.vi.6e616d654c */ "Họ và tên" /* @endgenerated template-literal:dictionary.vi.6e616d654c */, emailL:/* @generated template-literal:copy.work-email.vi */ "Email công việc" /* @endgenerated template-literal:copy.work-email.vi */, squadL:/* @generated template-literal:copy.squad.vi */ "Nhóm" /* @endgenerated template-literal:copy.squad.vi */, ifaceL:/* @generated template-literal:dictionary.vi.69666163654c */ "Ngôn ngữ giao diện" /* @endgenerated template-literal:dictionary.vi.69666163654c */, notifH:/* @generated template-literal:copy.notifications.vi */ "Thông báo" /* @endgenerated template-literal:copy.notifications.vi */, notifP:/* @generated template-literal:dictionary.vi.6e6f74696650 */ "Chúng tôi giữ yên tĩnh — chỉ gửi thứ bạn yêu cầu." /* @endgenerated template-literal:dictionary.vi.6e6f74696650 */, n1t:/* @generated template-literal:dictionary.vi.6e3174 */ "Ghi chú phát hành" /* @endgenerated template-literal:dictionary.vi.6e3174 */, n1d:/* @generated template-literal:dictionary.vi.6e3164 */ "Bản tóm tắt mỗi khi một dự án ra mắt. Song ngữ." /* @endgenerated template-literal:dictionary.vi.6e3164 */, n2t:/* @generated template-literal:dictionary.vi.6e3274 */ "Cảnh báo dự án bị chặn" /* @endgenerated template-literal:dictionary.vi.6e3274 */, n2d:/* @generated template-literal:dictionary.vi.6e3264 */ "Được báo khi một dự án bị chặn." /* @endgenerated template-literal:dictionary.vi.6e3264 */, n3t:/* @generated template-literal:dictionary.vi.6e3374 */ "Tóm tắt tốc độ tuần" /* @endgenerated template-literal:dictionary.vi.6e3374 */, n3d:/* @generated template-literal:dictionary.vi.6e3364 */ "Số task giao mỗi tuần, sáng thứ Hai." /* @endgenerated template-literal:dictionary.vi.6e3364 */, n4t:/* @generated template-literal:dictionary.vi.6e3474 */ "Giờ yên tĩnh" /* @endgenerated template-literal:dictionary.vi.6e3474 */, n4d:/* @generated template-literal:dictionary.vi.6e3464 */ "Không ping từ 22:00 đến 07:00 theo giờ địa phương." /* @endgenerated template-literal:dictionary.vi.6e3464 */, advT:/* @generated template-literal:dictionary.vi.61647654 */ "Tuỳ chọn nâng cao" /* @endgenerated template-literal:dictionary.vi.61647654 */, advD:/* @generated template-literal:dictionary.vi.61647644 */ "Thời gian tóm tắt và giờ yên tĩnh nằm ở đây — chỉ mở khi bạn cần." /* @endgenerated template-literal:dictionary.vi.61647644 */, dangerT:/* @generated template-literal:copy.delete-workspace.vi */ "Xoá không gian làm việc" /* @endgenerated template-literal:copy.delete-workspace.vi */, dangerD:/* @generated template-literal:dictionary.vi.64616e67657244 */ "Xoá mọi dự án và bản phát hành. Không thể hoàn tác." /* @endgenerated template-literal:dictionary.vi.64616e67657244 */, dangerBtn:/* @generated template-literal:copy.delete-workspace.vi */ "Xoá không gian làm việc" /* @endgenerated template-literal:copy.delete-workspace.vi */, cancelBtn:/* @generated template-literal:dictionary.vi.63616e63656c42746e */ "Huỷ" /* @endgenerated template-literal:dictionary.vi.63616e63656c42746e */, saveBtn:/* @generated template-literal:dictionary.vi.7361766542746e */ "Lưu thay đổi" /* @endgenerated template-literal:dictionary.vi.7361766542746e */ };
|
|
88
|
+
const vi = { skipLabel:/* @generated template-literal:copy.skip-to-content.vi */ "Bỏ qua đến nội dung" /* @endgenerated template-literal:copy.skip-to-content.vi */, title:/* @generated template-literal:copy.settings.vi */ "Cài đặt" /* @endgenerated template-literal:copy.settings.vi */, sub:/* @generated template-literal:dictionary.vi.737562 */ "Không gian làm việc & tuỳ chọn · an@cyberskill.world" /* @endgenerated template-literal:dictionary.vi.737562 */, pfL:/* @generated template-literal:copy.profile.vi */ "Hồ sơ" /* @endgenerated template-literal:copy.profile.vi */, ntL:/* @generated template-literal:copy.notifications.vi */ "Thông báo" /* @endgenerated template-literal:copy.notifications.vi */, profileH:/* @generated template-literal:copy.profile.vi */ "Hồ sơ" /* @endgenerated template-literal:copy.profile.vi */, profileP:/* @generated template-literal:dictionary.vi.70726f66696c6550 */ "Đây là cách bạn hiển thị trong không gian làm việc." /* @endgenerated template-literal:dictionary.vi.70726f66696c6550 */, nameL:/* @generated template-literal:dictionary.vi.6e616d654c */ "Họ và tên" /* @endgenerated template-literal:dictionary.vi.6e616d654c */, emailL:/* @generated template-literal:copy.work-email.vi */ "Email công việc" /* @endgenerated template-literal:copy.work-email.vi */, squadL:/* @generated template-literal:copy.squad.vi */ "Nhóm" /* @endgenerated template-literal:copy.squad.vi */, ifaceL:/* @generated template-literal:dictionary.vi.69666163654c */ "Ngôn ngữ giao diện" /* @endgenerated template-literal:dictionary.vi.69666163654c */, notifH:/* @generated template-literal:copy.notifications.vi */ "Thông báo" /* @endgenerated template-literal:copy.notifications.vi */, notifP:/* @generated template-literal:dictionary.vi.6e6f74696650 */ "Chúng tôi giữ yên tĩnh — chỉ gửi thứ bạn yêu cầu." /* @endgenerated template-literal:dictionary.vi.6e6f74696650 */, n1t:/* @generated template-literal:dictionary.vi.6e3174 */ "Ghi chú phát hành" /* @endgenerated template-literal:dictionary.vi.6e3174 */, n1d:/* @generated template-literal:dictionary.vi.6e3164 */ "Bản tóm tắt mỗi khi một dự án ra mắt. Song ngữ." /* @endgenerated template-literal:dictionary.vi.6e3164 */, n2t:/* @generated template-literal:dictionary.vi.6e3274 */ "Cảnh báo dự án bị chặn" /* @endgenerated template-literal:dictionary.vi.6e3274 */, n2d:/* @generated template-literal:dictionary.vi.6e3264 */ "Được báo khi một dự án bị chặn." /* @endgenerated template-literal:dictionary.vi.6e3264 */, n3t:/* @generated template-literal:dictionary.vi.6e3374 */ "Tóm tắt tốc độ tuần" /* @endgenerated template-literal:dictionary.vi.6e3374 */, n3d:/* @generated template-literal:dictionary.vi.6e3364 */ "Số task giao mỗi tuần, sáng thứ Hai." /* @endgenerated template-literal:dictionary.vi.6e3364 */, n4t:/* @generated template-literal:dictionary.vi.6e3474 */ "Giờ yên tĩnh" /* @endgenerated template-literal:dictionary.vi.6e3474 */, n4d:/* @generated template-literal:dictionary.vi.6e3464 */ "Không ping từ 22:00 đến 07:00 theo giờ địa phương." /* @endgenerated template-literal:dictionary.vi.6e3464 */, advT:/* @generated template-literal:dictionary.vi.61647654 */ "Tuỳ chọn nâng cao" /* @endgenerated template-literal:dictionary.vi.61647654 */, advD:/* @generated template-literal:dictionary.vi.61647644 */ "Thời gian tóm tắt và giờ yên tĩnh nằm ở đây — chỉ mở khi bạn cần." /* @endgenerated template-literal:dictionary.vi.61647644 */, dangerT:/* @generated template-literal:copy.delete-workspace.vi */ "Xoá không gian làm việc" /* @endgenerated template-literal:copy.delete-workspace.vi */, dangerD:/* @generated template-literal:dictionary.vi.64616e67657244 */ "Xoá mọi dự án và bản phát hành. Không thể hoàn tác." /* @endgenerated template-literal:dictionary.vi.64616e67657244 */, dangerBtn:/* @generated template-literal:copy.delete-workspace.vi */ "Xoá không gian làm việc" /* @endgenerated template-literal:copy.delete-workspace.vi */, cancelBtn:/* @generated template-literal:dictionary.vi.63616e63656c42746e */ "Huỷ" /* @endgenerated template-literal:dictionary.vi.63616e63656c42746e */, saveBtn:/* @generated template-literal:dictionary.vi.7361766542746e */ "Lưu thay đổi" /* @endgenerated template-literal:dictionary.vi.7361766542746e */ };
|
|
88
89
|
const t = vn ? vi : en;
|
|
89
90
|
return Object.assign({ langAttr: (this.props.language ?? "English") === "Tiếng Việt" ? "vi" : "en", elAttr, vaAttr, rootTheme: this.props.theme === "dark" ? "dark" : "", tab, isProfile: tab === "profile", isNotifications: tab === "notifications",
|
|
90
91
|
tabs: [{ value: "profile", label: t.pfL }, { value: "notifications", label: t.ntL }],
|
|
@@ -90,7 +90,7 @@
|
|
|
90
90
|
const R = window.React;
|
|
91
91
|
return Array.from(nodes).map((node, index) => {
|
|
92
92
|
const key = prefix + index;
|
|
93
|
-
if (node.nodeType === Node.TEXT_NODE) return
|
|
93
|
+
if (node.nodeType === Node.TEXT_NODE) return node.textContent.replace(/\{\{\s*([^{}]+?)\s*\}\}/g, (_, name) => String(resolveName(name.trim(), scope) ?? ''));
|
|
94
94
|
if (node.nodeType !== Node.ELEMENT_NODE) return null;
|
|
95
95
|
const tag = node.localName;
|
|
96
96
|
const control = tag === 'template' ? node.getAttribute('data-cs-dc-control') : tag === 'sc-for' ? 'for' : tag === 'sc-if' ? 'if' : null;
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
<title>Slide deck · CyberSkill</title>
|
|
6
6
|
<meta charset="utf-8">
|
|
7
7
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
8
|
+
<meta name="description" content="Slide deck · CyberSkill reference in the CyberSkill Design System." />
|
|
8
9
|
<script src="./support.js"></script>
|
|
9
10
|
</head>
|
|
10
11
|
<body>
|
|
@@ -90,7 +90,7 @@
|
|
|
90
90
|
const R = window.React;
|
|
91
91
|
return Array.from(nodes).map((node, index) => {
|
|
92
92
|
const key = prefix + index;
|
|
93
|
-
if (node.nodeType === Node.TEXT_NODE) return
|
|
93
|
+
if (node.nodeType === Node.TEXT_NODE) return node.textContent.replace(/\{\{\s*([^{}]+?)\s*\}\}/g, (_, name) => String(resolveName(name.trim(), scope) ?? ''));
|
|
94
94
|
if (node.nodeType !== Node.ELEMENT_NODE) return null;
|
|
95
95
|
const tag = node.localName;
|
|
96
96
|
const control = tag === 'template' ? node.getAttribute('data-cs-dc-control') : tag === 'sc-for' ? 'for' : tag === 'sc-if' ? 'if' : null;
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
<title>Team · Meeting agenda · CyberSkill</title>
|
|
6
6
|
<meta charset="utf-8">
|
|
7
7
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
8
|
+
<meta name="description" content="Team · Meeting agenda · CyberSkill reference in the CyberSkill Design System." />
|
|
8
9
|
<meta name="omelette-owns-print" content="1">
|
|
9
10
|
<script src="./support.js"></script>
|
|
10
11
|
</head>
|
|
@@ -90,7 +90,7 @@
|
|
|
90
90
|
const R = window.React;
|
|
91
91
|
return Array.from(nodes).map((node, index) => {
|
|
92
92
|
const key = prefix + index;
|
|
93
|
-
if (node.nodeType === Node.TEXT_NODE) return
|
|
93
|
+
if (node.nodeType === Node.TEXT_NODE) return node.textContent.replace(/\{\{\s*([^{}]+?)\s*\}\}/g, (_, name) => String(resolveName(name.trim(), scope) ?? ''));
|
|
94
94
|
if (node.nodeType !== Node.ELEMENT_NODE) return null;
|
|
95
95
|
const tag = node.localName;
|
|
96
96
|
const control = tag === 'template' ? node.getAttribute('data-cs-dc-control') : tag === 'sc-for' ? 'for' : tag === 'sc-if' ? 'if' : null;
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
<title>Tech · Incident report · CyberSkill</title>
|
|
5
5
|
<meta charset="utf-8">
|
|
6
6
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
7
|
+
<meta name="description" content="Tech · Incident report · CyberSkill reference in the CyberSkill Design System." />
|
|
7
8
|
<script src="./support.js"></script>
|
|
8
9
|
</head>
|
|
9
10
|
<body>
|
|
@@ -90,7 +90,7 @@
|
|
|
90
90
|
const R = window.React;
|
|
91
91
|
return Array.from(nodes).map((node, index) => {
|
|
92
92
|
const key = prefix + index;
|
|
93
|
-
if (node.nodeType === Node.TEXT_NODE) return
|
|
93
|
+
if (node.nodeType === Node.TEXT_NODE) return node.textContent.replace(/\{\{\s*([^{}]+?)\s*\}\}/g, (_, name) => String(resolveName(name.trim(), scope) ?? ''));
|
|
94
94
|
if (node.nodeType !== Node.ELEMENT_NODE) return null;
|
|
95
95
|
const tag = node.localName;
|
|
96
96
|
const control = tag === 'template' ? node.getAttribute('data-cs-dc-control') : tag === 'sc-for' ? 'for' : tag === 'sc-if' ? 'if' : null;
|
|
@@ -90,7 +90,7 @@
|
|
|
90
90
|
const R = window.React;
|
|
91
91
|
return Array.from(nodes).map((node, index) => {
|
|
92
92
|
const key = prefix + index;
|
|
93
|
-
if (node.nodeType === Node.TEXT_NODE) return
|
|
93
|
+
if (node.nodeType === Node.TEXT_NODE) return node.textContent.replace(/\{\{\s*([^{}]+?)\s*\}\}/g, (_, name) => String(resolveName(name.trim(), scope) ?? ''));
|
|
94
94
|
if (node.nodeType !== Node.ELEMENT_NODE) return null;
|
|
95
95
|
const tag = node.localName;
|
|
96
96
|
const control = tag === 'template' ? node.getAttribute('data-cs-dc-control') : tag === 'sc-for' ? 'for' : tag === 'sc-if' ? 'if' : null;
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
<title>Tech · Sprint retro · CyberSkill</title>
|
|
6
6
|
<meta charset="utf-8">
|
|
7
7
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
8
|
+
<meta name="description" content="Tech · Sprint retro · CyberSkill reference in the CyberSkill Design System." />
|
|
8
9
|
<meta name="omelette-owns-print" content="1">
|
|
9
10
|
<script src="./support.js"></script>
|
|
10
11
|
</head>
|
|
@@ -90,7 +90,7 @@
|
|
|
90
90
|
const R = window.React;
|
|
91
91
|
return Array.from(nodes).map((node, index) => {
|
|
92
92
|
const key = prefix + index;
|
|
93
|
-
if (node.nodeType === Node.TEXT_NODE) return
|
|
93
|
+
if (node.nodeType === Node.TEXT_NODE) return node.textContent.replace(/\{\{\s*([^{}]+?)\s*\}\}/g, (_, name) => String(resolveName(name.trim(), scope) ?? ''));
|
|
94
94
|
if (node.nodeType !== Node.ELEMENT_NODE) return null;
|
|
95
95
|
const tag = node.localName;
|
|
96
96
|
const control = tag === 'template' ? node.getAttribute('data-cs-dc-control') : tag === 'sc-for' ? 'for' : tag === 'sc-if' ? 'if' : null;
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
<title>Tech · RFC / design doc · CyberSkill</title>
|
|
5
5
|
<meta charset="utf-8">
|
|
6
6
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
7
|
+
<meta name="description" content="Tech · RFC / design doc · CyberSkill reference in the CyberSkill Design System." />
|
|
7
8
|
<script src="./support.js"></script>
|
|
8
9
|
</head>
|
|
9
10
|
<body>
|
|
@@ -76,7 +77,7 @@ class Component extends DCLogic {
|
|
|
76
77
|
ctxH:/* @generated template-literal:dictionary.vi.63747848 */ "Bối cảnh" /* @endgenerated template-literal:dictionary.vi.63747848 */,
|
|
77
78
|
ctxP:/* @generated template-literal:dictionary.vi.63747850 */ "Hôm nay token thiết kế chỉ xuất ra CSS. Các đội native (Swift/Kotlin) và Flutter phải chép tay giá trị, dẫn đến sai lệch. Chúng tôi đề xuất một nguồn DTCG duy nhất biên dịch ra mọi nền tảng kèm nguồn gốc." /* @endgenerated template-literal:dictionary.vi.63747850 */,
|
|
78
79
|
propH:/* @generated template-literal:dictionary.vi.70726f7048 */ "Đề xuất" /* @endgenerated template-literal:dictionary.vi.70726f7048 */, toH:/* @generated template-literal:dictionary.vi.746f48 */ "Đánh đổi" /* @endgenerated template-literal:dictionary.vi.746f48 */,
|
|
79
|
-
gainsT:/* @generated template-literal:dictionary.vi.6761696e7354 */ "Được gì" /* @endgenerated template-literal:dictionary.vi.6761696e7354 */, gainsB:/* @generated template-literal:dictionary.vi.6761696e7342 */ "Một nguồn
|
|
80
|
+
gainsT:/* @generated template-literal:dictionary.vi.6761696e7354 */ "Được gì" /* @endgenerated template-literal:dictionary.vi.6761696e7354 */, gainsB:/* @generated template-literal:dictionary.vi.6761696e7342 */ "Một nguồn dữ liệu chuẩn duy nhất; JSON nguồn gốc cho mỗi token; không còn chép tay giữa các nền tảng." /* @endgenerated template-literal:dictionary.vi.6761696e7342 */,
|
|
80
81
|
costsT:/* @generated template-literal:dictionary.vi.636f73747354 */ "Mất gì (thẳng thắn)" /* @endgenerated template-literal:dictionary.vi.636f73747354 */, costsB:/* @generated template-literal:dictionary.vi.636f73747342 */ "Thêm một bước build và thời gian làm quen DTCG. Chuyển đổi 159 token tốn khoảng một sprint làm cẩn thận." /* @endgenerated template-literal:dictionary.vi.636f73747342 */,
|
|
81
82
|
rollH:/* @generated template-literal:dictionary.vi.726f6c6c48 */ "Triển khai" /* @endgenerated template-literal:dictionary.vi.726f6c6c48 */,
|
|
82
83
|
steps: [ { title:"Duyệt RFC" }, { title:"Thử nghiệm: màu" }, { title:"Toàn bộ 159 token" }, { title:"Ngừng chép tay" } ]};
|
|
@@ -90,7 +90,7 @@
|
|
|
90
90
|
const R = window.React;
|
|
91
91
|
return Array.from(nodes).map((node, index) => {
|
|
92
92
|
const key = prefix + index;
|
|
93
|
-
if (node.nodeType === Node.TEXT_NODE) return
|
|
93
|
+
if (node.nodeType === Node.TEXT_NODE) return node.textContent.replace(/\{\{\s*([^{}]+?)\s*\}\}/g, (_, name) => String(resolveName(name.trim(), scope) ?? ''));
|
|
94
94
|
if (node.nodeType !== Node.ELEMENT_NODE) return null;
|
|
95
95
|
const tag = node.localName;
|
|
96
96
|
const control = tag === 'template' ? node.getAttribute('data-cs-dc-control') : tag === 'sc-for' ? 'for' : tag === 'sc-if' ? 'if' : null;
|
|
@@ -90,7 +90,7 @@
|
|
|
90
90
|
const R = window.React;
|
|
91
91
|
return Array.from(nodes).map((node, index) => {
|
|
92
92
|
const key = prefix + index;
|
|
93
|
-
if (node.nodeType === Node.TEXT_NODE) return
|
|
93
|
+
if (node.nodeType === Node.TEXT_NODE) return node.textContent.replace(/\{\{\s*([^{}]+?)\s*\}\}/g, (_, name) => String(resolveName(name.trim(), scope) ?? ''));
|
|
94
94
|
if (node.nodeType !== Node.ELEMENT_NODE) return null;
|
|
95
95
|
const tag = node.localName;
|
|
96
96
|
const control = tag === 'template' ? node.getAttribute('data-cs-dc-control') : tag === 'sc-for' ? 'for' : tag === 'sc-if' ? 'if' : null;
|
|
@@ -90,7 +90,7 @@
|
|
|
90
90
|
const R = window.React;
|
|
91
91
|
return Array.from(nodes).map((node, index) => {
|
|
92
92
|
const key = prefix + index;
|
|
93
|
-
if (node.nodeType === Node.TEXT_NODE) return
|
|
93
|
+
if (node.nodeType === Node.TEXT_NODE) return node.textContent.replace(/\{\{\s*([^{}]+?)\s*\}\}/g, (_, name) => String(resolveName(name.trim(), scope) ?? ''));
|
|
94
94
|
if (node.nodeType !== Node.ELEMENT_NODE) return null;
|
|
95
95
|
const tag = node.localName;
|
|
96
96
|
const control = tag === 'template' ? node.getAttribute('data-cs-dc-control') : tag === 'sc-for' ? 'for' : tag === 'sc-if' ? 'if' : null;
|
|
@@ -90,7 +90,7 @@
|
|
|
90
90
|
const R = window.React;
|
|
91
91
|
return Array.from(nodes).map((node, index) => {
|
|
92
92
|
const key = prefix + index;
|
|
93
|
-
if (node.nodeType === Node.TEXT_NODE) return
|
|
93
|
+
if (node.nodeType === Node.TEXT_NODE) return node.textContent.replace(/\{\{\s*([^{}]+?)\s*\}\}/g, (_, name) => String(resolveName(name.trim(), scope) ?? ''));
|
|
94
94
|
if (node.nodeType !== Node.ELEMENT_NODE) return null;
|
|
95
95
|
const tag = node.localName;
|
|
96
96
|
const control = tag === 'template' ? node.getAttribute('data-cs-dc-control') : tag === 'sc-for' ? 'for' : tag === 'sc-if' ? 'if' : null;
|
|
@@ -90,7 +90,7 @@
|
|
|
90
90
|
const R = window.React;
|
|
91
91
|
return Array.from(nodes).map((node, index) => {
|
|
92
92
|
const key = prefix + index;
|
|
93
|
-
if (node.nodeType === Node.TEXT_NODE) return
|
|
93
|
+
if (node.nodeType === Node.TEXT_NODE) return node.textContent.replace(/\{\{\s*([^{}]+?)\s*\}\}/g, (_, name) => String(resolveName(name.trim(), scope) ?? ''));
|
|
94
94
|
if (node.nodeType !== Node.ELEMENT_NODE) return null;
|
|
95
95
|
const tag = node.localName;
|
|
96
96
|
const control = tag === 'template' ? node.getAttribute('data-cs-dc-control') : tag === 'sc-for' ? 'for' : tag === 'sc-if' ? 'if' : null;
|
|
@@ -90,7 +90,7 @@
|
|
|
90
90
|
const R = window.React;
|
|
91
91
|
return Array.from(nodes).map((node, index) => {
|
|
92
92
|
const key = prefix + index;
|
|
93
|
-
if (node.nodeType === Node.TEXT_NODE) return
|
|
93
|
+
if (node.nodeType === Node.TEXT_NODE) return node.textContent.replace(/\{\{\s*([^{}]+?)\s*\}\}/g, (_, name) => String(resolveName(name.trim(), scope) ?? ''));
|
|
94
94
|
if (node.nodeType !== Node.ELEMENT_NODE) return null;
|
|
95
95
|
const tag = node.localName;
|
|
96
96
|
const control = tag === 'template' ? node.getAttribute('data-cs-dc-control') : tag === 'sc-for' ? 'for' : tag === 'sc-if' ? 'if' : null;
|
|
@@ -90,7 +90,7 @@
|
|
|
90
90
|
const R = window.React;
|
|
91
91
|
return Array.from(nodes).map((node, index) => {
|
|
92
92
|
const key = prefix + index;
|
|
93
|
-
if (node.nodeType === Node.TEXT_NODE) return
|
|
93
|
+
if (node.nodeType === Node.TEXT_NODE) return node.textContent.replace(/\{\{\s*([^{}]+?)\s*\}\}/g, (_, name) => String(resolveName(name.trim(), scope) ?? ''));
|
|
94
94
|
if (node.nodeType !== Node.ELEMENT_NODE) return null;
|
|
95
95
|
const tag = node.localName;
|
|
96
96
|
const control = tag === 'template' ? node.getAttribute('data-cs-dc-control') : tag === 'sc-for' ? 'for' : tag === 'sc-if' ? 'if' : null;
|
|
@@ -90,7 +90,7 @@
|
|
|
90
90
|
const R = window.React;
|
|
91
91
|
return Array.from(nodes).map((node, index) => {
|
|
92
92
|
const key = prefix + index;
|
|
93
|
-
if (node.nodeType === Node.TEXT_NODE) return
|
|
93
|
+
if (node.nodeType === Node.TEXT_NODE) return node.textContent.replace(/\{\{\s*([^{}]+?)\s*\}\}/g, (_, name) => String(resolveName(name.trim(), scope) ?? ''));
|
|
94
94
|
if (node.nodeType !== Node.ELEMENT_NODE) return null;
|
|
95
95
|
const tag = node.localName;
|
|
96
96
|
const control = tag === 'template' ? node.getAttribute('data-cs-dc-control') : tag === 'sc-for' ? 'for' : tag === 'sc-if' ? 'if' : null;
|
|
@@ -90,7 +90,7 @@
|
|
|
90
90
|
const R = window.React;
|
|
91
91
|
return Array.from(nodes).map((node, index) => {
|
|
92
92
|
const key = prefix + index;
|
|
93
|
-
if (node.nodeType === Node.TEXT_NODE) return
|
|
93
|
+
if (node.nodeType === Node.TEXT_NODE) return node.textContent.replace(/\{\{\s*([^{}]+?)\s*\}\}/g, (_, name) => String(resolveName(name.trim(), scope) ?? ''));
|
|
94
94
|
if (node.nodeType !== Node.ELEMENT_NODE) return null;
|
|
95
95
|
const tag = node.localName;
|
|
96
96
|
const control = tag === 'template' ? node.getAttribute('data-cs-dc-control') : tag === 'sc-for' ? 'for' : tag === 'sc-if' ? 'if' : null;
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
<title>HR Suite · Bảng xử lý kỷ luật lao động — Disciplinary Schedule · CyberSkill</title>
|
|
6
6
|
<meta charset="utf-8">
|
|
7
7
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
8
|
+
<meta name="description" content="HR Suite · Bảng xử lý kỷ luật lao động — Disciplinary Schedule · CyberSkill reference in the CyberSkill Design System." />
|
|
8
9
|
<meta name="omelette-owns-print" content="1">
|
|
9
10
|
<script src="./support.js"></script>
|
|
10
11
|
</head>
|
|
@@ -90,7 +90,7 @@
|
|
|
90
90
|
const R = window.React;
|
|
91
91
|
return Array.from(nodes).map((node, index) => {
|
|
92
92
|
const key = prefix + index;
|
|
93
|
-
if (node.nodeType === Node.TEXT_NODE) return
|
|
93
|
+
if (node.nodeType === Node.TEXT_NODE) return node.textContent.replace(/\{\{\s*([^{}]+?)\s*\}\}/g, (_, name) => String(resolveName(name.trim(), scope) ?? ''));
|
|
94
94
|
if (node.nodeType !== Node.ELEMENT_NODE) return null;
|
|
95
95
|
const tag = node.localName;
|
|
96
96
|
const control = tag === 'template' ? node.getAttribute('data-cs-dc-control') : tag === 'sc-for' ? 'for' : tag === 'sc-if' ? 'if' : null;
|
|
@@ -90,7 +90,7 @@
|
|
|
90
90
|
const R = window.React;
|
|
91
91
|
return Array.from(nodes).map((node, index) => {
|
|
92
92
|
const key = prefix + index;
|
|
93
|
-
if (node.nodeType === Node.TEXT_NODE) return
|
|
93
|
+
if (node.nodeType === Node.TEXT_NODE) return node.textContent.replace(/\{\{\s*([^{}]+?)\s*\}\}/g, (_, name) => String(resolveName(name.trim(), scope) ?? ''));
|
|
94
94
|
if (node.nodeType !== Node.ELEMENT_NODE) return null;
|
|
95
95
|
const tag = node.localName;
|
|
96
96
|
const control = tag === 'template' ? node.getAttribute('data-cs-dc-control') : tag === 'sc-for' ? 'for' : tag === 'sc-if' ? 'if' : null;
|
|
@@ -90,7 +90,7 @@
|
|
|
90
90
|
const R = window.React;
|
|
91
91
|
return Array.from(nodes).map((node, index) => {
|
|
92
92
|
const key = prefix + index;
|
|
93
|
-
if (node.nodeType === Node.TEXT_NODE) return
|
|
93
|
+
if (node.nodeType === Node.TEXT_NODE) return node.textContent.replace(/\{\{\s*([^{}]+?)\s*\}\}/g, (_, name) => String(resolveName(name.trim(), scope) ?? ''));
|
|
94
94
|
if (node.nodeType !== Node.ELEMENT_NODE) return null;
|
|
95
95
|
const tag = node.localName;
|
|
96
96
|
const control = tag === 'template' ? node.getAttribute('data-cs-dc-control') : tag === 'sc-for' ? 'for' : tag === 'sc-if' ? 'if' : null;
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
<title>HR Suite · Hồ sơ lao động người nước ngoài — Foreign Employee Work Permit Pack · CyberSkill</title>
|
|
6
6
|
<meta charset="utf-8">
|
|
7
7
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
8
|
+
<meta name="description" content="HR Suite · Hồ sơ lao động người nước ngoài — Foreign Employee Work Permit Pack · CyberSkill reference in the CyberSkill Design System." />
|
|
8
9
|
<meta name="omelette-owns-print" content="1">
|
|
9
10
|
<script src="./support.js"></script>
|
|
10
11
|
</head>
|
|
@@ -90,7 +90,7 @@
|
|
|
90
90
|
const R = window.React;
|
|
91
91
|
return Array.from(nodes).map((node, index) => {
|
|
92
92
|
const key = prefix + index;
|
|
93
|
-
if (node.nodeType === Node.TEXT_NODE) return
|
|
93
|
+
if (node.nodeType === Node.TEXT_NODE) return node.textContent.replace(/\{\{\s*([^{}]+?)\s*\}\}/g, (_, name) => String(resolveName(name.trim(), scope) ?? ''));
|
|
94
94
|
if (node.nodeType !== Node.ELEMENT_NODE) return null;
|
|
95
95
|
const tag = node.localName;
|
|
96
96
|
const control = tag === 'template' ? node.getAttribute('data-cs-dc-control') : tag === 'sc-for' ? 'for' : tag === 'sc-if' ? 'if' : null;
|
|
@@ -90,7 +90,7 @@
|
|
|
90
90
|
const R = window.React;
|
|
91
91
|
return Array.from(nodes).map((node, index) => {
|
|
92
92
|
const key = prefix + index;
|
|
93
|
-
if (node.nodeType === Node.TEXT_NODE) return
|
|
93
|
+
if (node.nodeType === Node.TEXT_NODE) return node.textContent.replace(/\{\{\s*([^{}]+?)\s*\}\}/g, (_, name) => String(resolveName(name.trim(), scope) ?? ''));
|
|
94
94
|
if (node.nodeType !== Node.ELEMENT_NODE) return null;
|
|
95
95
|
const tag = node.localName;
|
|
96
96
|
const control = tag === 'template' ? node.getAttribute('data-cs-dc-control') : tag === 'sc-for' ? 'for' : tag === 'sc-if' ? 'if' : null;
|
|
@@ -90,7 +90,7 @@
|
|
|
90
90
|
const R = window.React;
|
|
91
91
|
return Array.from(nodes).map((node, index) => {
|
|
92
92
|
const key = prefix + index;
|
|
93
|
-
if (node.nodeType === Node.TEXT_NODE) return
|
|
93
|
+
if (node.nodeType === Node.TEXT_NODE) return node.textContent.replace(/\{\{\s*([^{}]+?)\s*\}\}/g, (_, name) => String(resolveName(name.trim(), scope) ?? ''));
|
|
94
94
|
if (node.nodeType !== Node.ELEMENT_NODE) return null;
|
|
95
95
|
const tag = node.localName;
|
|
96
96
|
const control = tag === 'template' ? node.getAttribute('data-cs-dc-control') : tag === 'sc-for' ? 'for' : tag === 'sc-if' ? 'if' : null;
|
|
@@ -90,7 +90,7 @@
|
|
|
90
90
|
const R = window.React;
|
|
91
91
|
return Array.from(nodes).map((node, index) => {
|
|
92
92
|
const key = prefix + index;
|
|
93
|
-
if (node.nodeType === Node.TEXT_NODE) return
|
|
93
|
+
if (node.nodeType === Node.TEXT_NODE) return node.textContent.replace(/\{\{\s*([^{}]+?)\s*\}\}/g, (_, name) => String(resolveName(name.trim(), scope) ?? ''));
|
|
94
94
|
if (node.nodeType !== Node.ELEMENT_NODE) return null;
|
|
95
95
|
const tag = node.localName;
|
|
96
96
|
const control = tag === 'template' ? node.getAttribute('data-cs-dc-control') : tag === 'sc-for' ? 'for' : tag === 'sc-if' ? 'if' : null;
|
|
@@ -90,7 +90,7 @@
|
|
|
90
90
|
const R = window.React;
|
|
91
91
|
return Array.from(nodes).map((node, index) => {
|
|
92
92
|
const key = prefix + index;
|
|
93
|
-
if (node.nodeType === Node.TEXT_NODE) return
|
|
93
|
+
if (node.nodeType === Node.TEXT_NODE) return node.textContent.replace(/\{\{\s*([^{}]+?)\s*\}\}/g, (_, name) => String(resolveName(name.trim(), scope) ?? ''));
|
|
94
94
|
if (node.nodeType !== Node.ELEMENT_NODE) return null;
|
|
95
95
|
const tag = node.localName;
|
|
96
96
|
const control = tag === 'template' ? node.getAttribute('data-cs-dc-control') : tag === 'sc-for' ? 'for' : tag === 'sc-if' ? 'if' : null;
|
|
@@ -90,7 +90,7 @@
|
|
|
90
90
|
const R = window.React;
|
|
91
91
|
return Array.from(nodes).map((node, index) => {
|
|
92
92
|
const key = prefix + index;
|
|
93
|
-
if (node.nodeType === Node.TEXT_NODE) return
|
|
93
|
+
if (node.nodeType === Node.TEXT_NODE) return node.textContent.replace(/\{\{\s*([^{}]+?)\s*\}\}/g, (_, name) => String(resolveName(name.trim(), scope) ?? ''));
|
|
94
94
|
if (node.nodeType !== Node.ELEMENT_NODE) return null;
|
|
95
95
|
const tag = node.localName;
|
|
96
96
|
const control = tag === 'template' ? node.getAttribute('data-cs-dc-control') : tag === 'sc-for' ? 'for' : tag === 'sc-if' ? 'if' : null;
|
|
@@ -90,7 +90,7 @@
|
|
|
90
90
|
const R = window.React;
|
|
91
91
|
return Array.from(nodes).map((node, index) => {
|
|
92
92
|
const key = prefix + index;
|
|
93
|
-
if (node.nodeType === Node.TEXT_NODE) return
|
|
93
|
+
if (node.nodeType === Node.TEXT_NODE) return node.textContent.replace(/\{\{\s*([^{}]+?)\s*\}\}/g, (_, name) => String(resolveName(name.trim(), scope) ?? ''));
|
|
94
94
|
if (node.nodeType !== Node.ELEMENT_NODE) return null;
|
|
95
95
|
const tag = node.localName;
|
|
96
96
|
const control = tag === 'template' ? node.getAttribute('data-cs-dc-control') : tag === 'sc-for' ? 'for' : tag === 'sc-if' ? 'if' : null;
|
|
@@ -90,7 +90,7 @@
|
|
|
90
90
|
const R = window.React;
|
|
91
91
|
return Array.from(nodes).map((node, index) => {
|
|
92
92
|
const key = prefix + index;
|
|
93
|
-
if (node.nodeType === Node.TEXT_NODE) return
|
|
93
|
+
if (node.nodeType === Node.TEXT_NODE) return node.textContent.replace(/\{\{\s*([^{}]+?)\s*\}\}/g, (_, name) => String(resolveName(name.trim(), scope) ?? ''));
|
|
94
94
|
if (node.nodeType !== Node.ELEMENT_NODE) return null;
|
|
95
95
|
const tag = node.localName;
|
|
96
96
|
const control = tag === 'template' ? node.getAttribute('data-cs-dc-control') : tag === 'sc-for' ? 'for' : tag === 'sc-if' ? 'if' : null;
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
<title>HR Suite · Sổ quản lý lao động — Labour Management Book · CyberSkill</title>
|
|
6
6
|
<meta charset="utf-8">
|
|
7
7
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
8
|
+
<meta name="description" content="HR Suite · Sổ quản lý lao động — Labour Management Book · CyberSkill reference in the CyberSkill Design System." />
|
|
8
9
|
<meta name="omelette-owns-print" content="1">
|
|
9
10
|
<script src="./support.js"></script>
|
|
10
11
|
</head>
|
|
@@ -90,7 +90,7 @@
|
|
|
90
90
|
const R = window.React;
|
|
91
91
|
return Array.from(nodes).map((node, index) => {
|
|
92
92
|
const key = prefix + index;
|
|
93
|
-
if (node.nodeType === Node.TEXT_NODE) return
|
|
93
|
+
if (node.nodeType === Node.TEXT_NODE) return node.textContent.replace(/\{\{\s*([^{}]+?)\s*\}\}/g, (_, name) => String(resolveName(name.trim(), scope) ?? ''));
|
|
94
94
|
if (node.nodeType !== Node.ELEMENT_NODE) return null;
|
|
95
95
|
const tag = node.localName;
|
|
96
96
|
const control = tag === 'template' ? node.getAttribute('data-cs-dc-control') : tag === 'sc-for' ? 'for' : tag === 'sc-if' ? 'if' : null;
|
|
@@ -90,7 +90,7 @@
|
|
|
90
90
|
const R = window.React;
|
|
91
91
|
return Array.from(nodes).map((node, index) => {
|
|
92
92
|
const key = prefix + index;
|
|
93
|
-
if (node.nodeType === Node.TEXT_NODE) return
|
|
93
|
+
if (node.nodeType === Node.TEXT_NODE) return node.textContent.replace(/\{\{\s*([^{}]+?)\s*\}\}/g, (_, name) => String(resolveName(name.trim(), scope) ?? ''));
|
|
94
94
|
if (node.nodeType !== Node.ELEMENT_NODE) return null;
|
|
95
95
|
const tag = node.localName;
|
|
96
96
|
const control = tag === 'template' ? node.getAttribute('data-cs-dc-control') : tag === 'sc-for' ? 'for' : tag === 'sc-if' ? 'if' : null;
|
|
@@ -90,7 +90,7 @@
|
|
|
90
90
|
const R = window.React;
|
|
91
91
|
return Array.from(nodes).map((node, index) => {
|
|
92
92
|
const key = prefix + index;
|
|
93
|
-
if (node.nodeType === Node.TEXT_NODE) return
|
|
93
|
+
if (node.nodeType === Node.TEXT_NODE) return node.textContent.replace(/\{\{\s*([^{}]+?)\s*\}\}/g, (_, name) => String(resolveName(name.trim(), scope) ?? ''));
|
|
94
94
|
if (node.nodeType !== Node.ELEMENT_NODE) return null;
|
|
95
95
|
const tag = node.localName;
|
|
96
96
|
const control = tag === 'template' ? node.getAttribute('data-cs-dc-control') : tag === 'sc-for' ? 'for' : tag === 'sc-if' ? 'if' : null;
|
|
@@ -90,7 +90,7 @@
|
|
|
90
90
|
const R = window.React;
|
|
91
91
|
return Array.from(nodes).map((node, index) => {
|
|
92
92
|
const key = prefix + index;
|
|
93
|
-
if (node.nodeType === Node.TEXT_NODE) return
|
|
93
|
+
if (node.nodeType === Node.TEXT_NODE) return node.textContent.replace(/\{\{\s*([^{}]+?)\s*\}\}/g, (_, name) => String(resolveName(name.trim(), scope) ?? ''));
|
|
94
94
|
if (node.nodeType !== Node.ELEMENT_NODE) return null;
|
|
95
95
|
const tag = node.localName;
|
|
96
96
|
const control = tag === 'template' ? node.getAttribute('data-cs-dc-control') : tag === 'sc-for' ? 'for' : tag === 'sc-if' ? 'if' : null;
|