@cyberskill/design 1.0.0 → 1.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 +10 -9
- package/README.md +31 -28
- package/SKILL.md +13 -9
- package/VERSION +1 -1
- package/_ds_bundle.js +660 -202
- package/_ds_manifest.json +1 -1
- package/_esm/cs.mjs +14 -8
- package/_esm/react.d.ts +216 -0
- package/_esm/react.mjs +114 -0
- package/base/collections.css +31 -0
- package/base/components.css +3 -0
- package/base/data.css +33 -0
- package/base/forms.css +8 -0
- package/base/interaction.css +1 -0
- package/base/typography.css +6 -0
- package/components/_i18n/strings.js +8 -4
- package/components/ai/ai-conversation.card.html +2 -2
- package/components/ai/ai-lumi.card.html +2 -2
- package/components/ai/ai.card.html +2 -2
- package/components/brand/brand.card.html +2 -2
- package/components/button/buttons.card.html +2 -2
- package/components/data/AspectRatio.d.ts +16 -0
- package/components/data/AspectRatio.figma.tsx +12 -0
- package/components/data/AspectRatio.jsx +16 -0
- package/components/data/AspectRatio.prompt.md +7 -0
- package/components/data/Collapsible.d.ts +21 -0
- package/components/data/Collapsible.figma.tsx +12 -0
- package/components/data/Collapsible.jsx +49 -0
- package/components/data/Collapsible.prompt.md +7 -0
- package/components/data/Image.d.ts +4 -0
- package/components/data/Image.prompt.md +2 -2
- package/components/data/Item.d.ts +26 -0
- package/components/data/Item.figma.tsx +12 -0
- package/components/data/Item.jsx +63 -0
- package/components/data/Item.prompt.md +10 -0
- package/components/data/ScrollArea.d.ts +16 -0
- package/components/data/ScrollArea.figma.tsx +12 -0
- package/components/data/ScrollArea.jsx +25 -0
- package/components/data/ScrollArea.prompt.md +7 -0
- package/components/data/collections.card.html +15 -4
- package/components/data/data.card.html +15 -4
- package/components/datatable/datatable.card.html +2 -2
- package/components/dialog/dialog.card.html +2 -2
- package/components/feedback/feedback-2.card.html +2 -2
- package/components/feedback/feedback.card.html +2 -2
- package/components/forms/Cascader.jsx +5 -3
- package/components/forms/Editor.prompt.md +1 -1
- package/components/forms/InputGroup.d.ts +4 -0
- package/components/forms/InputGroup.jsx +38 -8
- package/components/forms/InputGroup.prompt.md +3 -3
- package/components/forms/NativeSelect.d.ts +22 -0
- package/components/forms/NativeSelect.figma.tsx +12 -0
- package/components/forms/NativeSelect.jsx +56 -0
- package/components/forms/NativeSelect.prompt.md +10 -0
- package/components/forms/NumberField.d.ts +5 -0
- package/components/forms/NumberField.jsx +51 -7
- package/components/forms/NumberField.prompt.md +2 -2
- package/components/forms/SegmentedControl.jsx +1 -1
- package/components/forms/TagInput.d.ts +3 -0
- package/components/forms/TagInput.jsx +62 -20
- package/components/forms/TagInput.prompt.md +2 -2
- package/components/forms/forms-2.card.html +2 -2
- package/components/forms/forms.card.html +5 -4
- package/components/icon/Icon.prompt.md +1 -1
- package/components/icon/icon.card.html +2 -2
- package/components/logo/Logo.jsx +2 -1
- package/components/logo/logo.card.html +2 -2
- package/components/navigation/Menu.jsx +14 -1
- package/components/navigation/navigation.card.html +2 -2
- package/components/navigation/shell.card.html +2 -2
- package/components/overlays/AlertDialog.d.ts +29 -0
- package/components/overlays/AlertDialog.figma.tsx +12 -0
- package/components/overlays/AlertDialog.jsx +142 -0
- package/components/overlays/AlertDialog.prompt.md +12 -0
- package/components/overlays/Drawer.jsx +1 -1
- package/components/overlays/Popconfirm.jsx +14 -1
- package/components/overlays/Popover.jsx +14 -1
- package/components/overlays/alertdialog.card.html +42 -0
- package/components/overlays/overlays.card.html +2 -2
- package/components/textfield/textfield.card.html +2 -2
- package/docs/benchmark-rubric.md +46 -0
- package/docs/ci-cd.md +17 -11
- package/docs/consumer-grant.md +37 -0
- package/docs/consuming.md +45 -16
- package/docs/contrast-report.md +91 -103
- package/docs/conventions.md +12 -9
- package/docs/decisions.md +33 -10
- package/docs/deploy.md +1 -1
- package/docs/design-styles.md +26 -8
- package/docs/figma.md +3 -3
- package/docs/live-hub.md +5 -3
- package/docs/products.md +13 -11
- package/docs/quality-gates.md +35 -21
- package/docs/release-notes.md +13 -3
- package/docs/status/assets/favicon.svg +5 -0
- package/docs/status/assets/status-legacy.css +399 -0
- package/docs/status/assets/status-legacy.js +505 -0
- package/docs/status/assets/status.css +644 -0
- package/docs/status/assets/status.js +1308 -0
- package/docs/status/data/status-feed.json +1 -0
- package/docs/status/data/task/TASK-REL-001.js +1 -0
- package/docs/status/index.html +45 -0
- package/docs/status/roadmap.html +4 -0
- package/docs/status/status-legacy.html +121 -0
- package/docs/storybook.md +5 -4
- package/docs/sync.md +3 -2
- package/docs/tasks/BACKLOG.md +25 -0
- package/docs/tasks/release/TASK-REL-001-launch-1-1-0/spec.md +55 -0
- package/docs/template-schema-v2.md +15 -3
- package/docs/vi/benchmark-rubric.md +46 -0
- package/docs/vi/ci-cd.md +17 -11
- package/docs/vi/consumer-grant.md +37 -0
- package/docs/vi/consuming.md +45 -16
- package/docs/vi/contrast-report.md +94 -106
- package/docs/vi/conventions.md +12 -9
- package/docs/vi/decisions.md +33 -10
- package/docs/vi/deploy.md +1 -1
- package/docs/vi/design-styles.md +26 -8
- package/docs/vi/figma.md +3 -3
- package/docs/vi/live-hub.md +5 -3
- package/docs/vi/products.md +13 -11
- package/docs/vi/quality-gates.md +35 -21
- package/docs/vi/release-notes.md +18 -8
- package/docs/vi/storybook.md +5 -4
- package/docs/vi/sync.md +3 -2
- package/docs/vi/template-schema-v2.md +15 -3
- package/docs/viewer.html +2 -2
- package/fonts/spacegrotesk-var-latin-ext.woff2 +0 -0
- package/fonts/spacegrotesk-var-latin.woff2 +0 -0
- package/fonts/spacegrotesk-var-vietnamese.woff2 +0 -0
- package/guidelines/atomic-view.html +40 -27
- package/guidelines/elements-geometry.html +69 -0
- package/guidelines/elements-variants.html +17 -17
- package/guidelines/type-families.html +16 -10
- package/llms.txt +17 -11
- package/package.json +38 -16
- package/styles.css +1 -0
- package/templates/ai-cluster-demo.html +29 -14
- package/templates/app-shell/support.js +4 -4
- package/templates/article/content-schema.json +6 -0
- package/templates/article/support.js +4 -4
- package/templates/auth/support.js +4 -4
- package/templates/bod-deck/support.js +4 -4
- package/templates/bod-investor-update/support.js +4 -4
- package/templates/bod-memo/support.js +4 -4
- package/templates/bod-minutes/content-schema.json +12 -0
- package/templates/bod-minutes/support.js +4 -4
- package/templates/bod-report/support.js +4 -4
- package/templates/bod-resolution/support.js +4 -4
- package/templates/culture-event-invite/support.js +4 -4
- package/templates/dashboard/support.js +4 -4
- package/templates/delivery-change-note/support.js +4 -4
- package/templates/delivery-kickoff/support.js +4 -4
- package/templates/delivery-qbr-deck/support.js +4 -4
- package/templates/delivery-runbook/content-schema.json +6 -0
- package/templates/delivery-runbook/support.js +4 -4
- package/templates/delivery-status-email/support.js +4 -4
- package/templates/doc-style-guide/DocStyleGuide.dc.html +2 -2
- package/templates/doc-style-guide/support.js +4 -4
- package/templates/doc-suite-index/support.js +4 -4
- package/templates/doc-templates/DocTemplates.dc.html +1 -1
- package/templates/doc-templates/support.js +4 -4
- package/templates/email/support.js +4 -4
- package/templates/email-safe/README.md +17 -4
- package/templates/email-safe/email-launch.html +3 -3
- package/templates/email-safe/email-newsletter.html +1 -1
- package/templates/finance-dunning-email/support.js +4 -4
- package/templates/finance-expense-report/support.js +4 -4
- package/templates/finance-invoice/support.js +4 -4
- package/templates/finance-quote/support.js +4 -4
- package/templates/hr-announcement/support.js +4 -4
- package/templates/hr-interview-kit/content-schema.json +12 -0
- package/templates/hr-interview-kit/support.js +4 -4
- package/templates/hr-offboarding/content-schema.json +12 -0
- package/templates/hr-offboarding/support.js +4 -4
- package/templates/hr-performance-review/content-schema.json +12 -0
- package/templates/hr-performance-review/support.js +4 -4
- package/templates/hr-pip/content-schema.json +12 -0
- package/templates/hr-pip/support.js +4 -4
- package/templates/legal-msa/content-schema.json +16 -0
- package/templates/legal-msa/support.js +4 -4
- package/templates/legal-sow/support.js +4 -4
- package/templates/marketing-campaign-brief/support.js +4 -4
- package/templates/marketing-case-study/support.js +4 -4
- package/templates/marketing-launch/support.js +4 -4
- package/templates/marketing-newsletter/support.js +4 -4
- package/templates/marketing-page/content-schema.json +0 -1
- package/templates/marketing-page/support.js +4 -4
- package/templates/marketing-press-release/support.js +4 -4
- package/templates/marketing-social-kit/support.js +4 -4
- package/templates/playground.html +8 -4
- package/templates/sales-one-pager/support.js +4 -4
- package/templates/sales-proposal-deck/support.js +4 -4
- package/templates/settings/Settings.dc.html +26 -14
- package/templates/settings/content-schema.json +36 -0
- package/templates/settings/support.js +4 -4
- package/templates/slide-deck/support.js +4 -4
- package/templates/team-meeting-agenda/content-schema.json +16 -0
- package/templates/team-meeting-agenda/support.js +4 -4
- package/templates/tech-incident-report/support.js +4 -4
- package/templates/tech-release-notes/support.js +4 -4
- package/templates/tech-retro/content-schema.json +12 -0
- package/templates/tech-retro/support.js +4 -4
- package/templates/tech-rfc/content-schema.json +6 -0
- package/templates/tech-rfc/support.js +4 -4
- package/templates/vn-appointment-transfer/support.js +4 -4
- package/templates/vn-certificate-of-employment/support.js +4 -4
- package/templates/vn-code-of-conduct/support.js +4 -4
- package/templates/vn-compensation-regulation/support.js +4 -4
- package/templates/vn-contract-amendment/support.js +4 -4
- package/templates/vn-contractor-agreement/support.js +4 -4
- package/templates/vn-data-protection-policy/support.js +4 -4
- package/templates/vn-disciplinary-case-file/support.js +4 -4
- package/templates/vn-disciplinary-schedule/content-schema.json +15 -0
- package/templates/vn-disciplinary-schedule/support.js +4 -4
- package/templates/vn-employee-request/support.js +4 -4
- package/templates/vn-exit-handover/support.js +4 -4
- package/templates/vn-foreign-employee-pack/support.js +4 -4
- package/templates/vn-grassroots-democracy/support.js +4 -4
- package/templates/vn-infosec-policy/support.js +4 -4
- package/templates/vn-internal-labor-regulations/support.js +4 -4
- package/templates/vn-internship-agreement/support.js +4 -4
- package/templates/vn-job-description/support.js +4 -4
- package/templates/vn-labor-contract/support.js +4 -4
- package/templates/vn-labour-management-book/content-schema.json +15 -0
- package/templates/vn-labour-management-book/support.js +4 -4
- package/templates/vn-mutual-nda/support.js +4 -4
- package/templates/vn-ndnca-ip/support.js +4 -4
- package/templates/vn-offer-letter/support.js +4 -4
- package/templates/vn-onboarding-checklist/support.js +4 -4
- package/templates/vn-pdpl-consent/support.js +4 -4
- package/templates/vn-performance-evaluation-regulation/support.js +4 -4
- package/templates/vn-performance-review-form/support.js +4 -4
- package/templates/vn-phantom-stock/support.js +4 -4
- package/templates/vn-probation-contract/support.js +4 -4
- package/templates/vn-receipt-acknowledgement/content-schema.json +15 -0
- package/templates/vn-receipt-acknowledgement/support.js +4 -4
- package/templates/vn-remote-work-policy/support.js +4 -4
- package/templates/vn-resignation-letter/support.js +4 -4
- package/templates/vn-salary-scale/content-schema.json +15 -0
- package/templates/vn-salary-scale/support.js +4 -4
- package/templates/vn-sow-appendix/support.js +4 -4
- package/templates/vn-termination-decision/support.js +4 -4
- package/templates/vn-total-rewards-appendix/support.js +4 -4
- package/templates/vn-training-commitment/support.js +4 -4
- package/templates/vn-travel-expense-policy/support.js +4 -4
- package/tokens/element-seeds.json +112 -0
- package/tokens/elements.css +274 -187
- package/tokens/fonts.css +12 -3
- package/tokens/native/CSTokens.kt +84 -68
- package/tokens/native/CSTokens.swift +84 -68
- package/tokens/native/cs_tokens.dart +84 -68
- package/tokens/provenance.json +9 -9
- package/tokens/styles.css +15 -0
- package/tokens/tokens.dtcg.json +258 -233
- package/tokens/tokens.js +168 -167
- package/tokens/tokens.json +167 -166
- package/tokens/typography.css +9 -1
- package/ui_kits/status-hub/README.md +1 -2
- package/ui_kits/status-hub/index.html +2 -2
- package/ui_kits/status-hub/settings.html +6 -3
- package/ui_kits/website/chat.html +2 -2
- package/ui_kits/website/index.html +2 -2
- package/ui_kits/status-hub/identity-lab.html +0 -134
package/package.json
CHANGED
|
@@ -1,13 +1,26 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cyberskill/design",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.1.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
7
7
|
},
|
|
8
|
-
"
|
|
8
|
+
"repository": {
|
|
9
|
+
"type": "git",
|
|
10
|
+
"url": "git+https://github.com/cyberskill-official/design-system.git"
|
|
11
|
+
},
|
|
12
|
+
"module": "_esm/react.mjs",
|
|
13
|
+
"types": "_esm/react.d.ts",
|
|
9
14
|
"exports": {
|
|
10
15
|
".": {
|
|
16
|
+
"types": "./_esm/react.d.ts",
|
|
17
|
+
"import": "./_esm/react.mjs"
|
|
18
|
+
},
|
|
19
|
+
"./react": {
|
|
20
|
+
"types": "./_esm/react.d.ts",
|
|
21
|
+
"import": "./_esm/react.mjs"
|
|
22
|
+
},
|
|
23
|
+
"./legacy": {
|
|
11
24
|
"import": "./_esm/cs.mjs"
|
|
12
25
|
},
|
|
13
26
|
"./styles.css": "./styles.css",
|
|
@@ -15,8 +28,12 @@
|
|
|
15
28
|
"./_ds_bundle.js": "./_ds_bundle.js",
|
|
16
29
|
"./_ds_manifest.json": "./_ds_manifest.json"
|
|
17
30
|
},
|
|
18
|
-
"description": "CyberSkill Design System — HTML-first, Vietnamese-first (EN·VI). Anchors: Umber #45210E · Ochre #F4BA17. Axes: Theme × Element × Language.
|
|
31
|
+
"description": "CyberSkill Design System — HTML-first, Vietnamese-first (EN·VI). Anchors: Umber #45210E · Ochre #F4BA17. Axes: Theme × Element × Language × Style. Bundler React entry (`_esm/react.mjs`) + browser legacy (`_esm/cs.mjs`) + styles.css / _ds_bundle.js. Storybook is host-only playground.",
|
|
19
32
|
"style": "styles.css",
|
|
33
|
+
"peerDependencies": {
|
|
34
|
+
"react": "^18.0.0 || ^19.0.0",
|
|
35
|
+
"react-dom": "^18.0.0 || ^19.0.0"
|
|
36
|
+
},
|
|
20
37
|
"files": [
|
|
21
38
|
"styles.css",
|
|
22
39
|
"_esm/",
|
|
@@ -47,8 +64,9 @@
|
|
|
47
64
|
"type": "module",
|
|
48
65
|
"scripts": {
|
|
49
66
|
"build:bundle": "node scripts/build-bundle.mjs",
|
|
67
|
+
"build:react-entry": "node scripts/generate-react-entry.mjs",
|
|
50
68
|
"build:design-md": "node scripts/generate-design-md.mjs",
|
|
51
|
-
"prepublishOnly": "npm run build:bundle && node scripts/generate-design-md.mjs --check",
|
|
69
|
+
"prepublishOnly": "npm run build:bundle && npm run build:react-entry && node scripts/generate-design-md.mjs --check",
|
|
52
70
|
"code-connect:generate": "node _audit/ci/generate-code-connect.mjs",
|
|
53
71
|
"code-connect:dry-run": "node _audit/ci/code-connect-publish.mjs --dry-run",
|
|
54
72
|
"npm:pack-dry-run": "node _audit/ci/npm-publish.mjs --dry-run",
|
|
@@ -62,27 +80,31 @@
|
|
|
62
80
|
"test:nav-model": "node _audit/ci/test-nav-model.mjs",
|
|
63
81
|
"test:ui-contracts": "node _audit/ci/test-health-tokens-contract.mjs",
|
|
64
82
|
"test:form-paths": "node _audit/ci/test-form-paths.mjs",
|
|
65
|
-
"test:unit": "node _audit/ci/test-nav-model.mjs && node _audit/ci/test-health-tokens-contract.mjs && node _audit/ci/test-form-paths.mjs && node _audit/ci/test-storybook-contract.mjs && node _audit/ci/test-figma-push-helpers.mjs && node _audit/ci/test-native-samples.mjs && node _audit/ci/test-code-connect.mjs && node _audit/ci/test-subtree-consume.mjs",
|
|
83
|
+
"test:unit": "node _audit/ci/test-nav-model.mjs && node _audit/ci/test-health-tokens-contract.mjs && node _audit/ci/test-form-paths.mjs && node _audit/ci/test-storybook-contract.mjs && node _audit/ci/test-axe-coverage.mjs && node _audit/ci/test-figma-push-helpers.mjs && node _audit/ci/test-native-samples.mjs && node _audit/ci/test-code-connect.mjs && node _audit/ci/test-subtree-consume.mjs && node _audit/ci/test-react-entry.mjs && node _audit/ci/test-element-packs.mjs",
|
|
84
|
+
"test:element-packs": "node _audit/ci/test-element-packs.mjs",
|
|
85
|
+
"test:react-entry": "node _audit/ci/test-react-entry.mjs",
|
|
66
86
|
"test:subtree-consume": "node _audit/ci/test-subtree-consume.mjs",
|
|
67
87
|
"native:sync-tokens": "node examples/native/sync-tokens.mjs",
|
|
68
88
|
"test:storybook-contract": "node _audit/ci/test-storybook-contract.mjs",
|
|
69
89
|
"test:storybook-coverage": "node _audit/ci/test-storybook-contract.mjs",
|
|
70
90
|
"test:figma-helpers": "node _audit/ci/test-figma-push-helpers.mjs",
|
|
71
91
|
"test:code-connect": "node _audit/ci/test-code-connect.mjs",
|
|
72
|
-
"test:native-samples": "node _audit/ci/test-native-samples.mjs"
|
|
92
|
+
"test:native-samples": "node _audit/ci/test-native-samples.mjs",
|
|
93
|
+
"tokens:elements": "node scripts/generate-element-packs.mjs",
|
|
94
|
+
"tokens:contrast": "node scripts/generate-contrast-report.mjs"
|
|
73
95
|
},
|
|
74
96
|
"devDependencies": {
|
|
75
97
|
"@figma/code-connect": "^1.4.9",
|
|
76
|
-
"@storybook/addon-a11y": "^10.5.
|
|
77
|
-
"@storybook/addon-docs": "^10.5.
|
|
78
|
-
"@storybook/react": "^10.5.
|
|
79
|
-
"@storybook/react-vite": "^10.5.
|
|
80
|
-
"@vitejs/plugin-react": "^
|
|
98
|
+
"@storybook/addon-a11y": "^10.5.4",
|
|
99
|
+
"@storybook/addon-docs": "^10.5.4",
|
|
100
|
+
"@storybook/react": "^10.5.4",
|
|
101
|
+
"@storybook/react-vite": "^10.5.4",
|
|
102
|
+
"@vitejs/plugin-react": "^6.0.4",
|
|
81
103
|
"esbuild": "^0.28.1",
|
|
82
|
-
"playwright": "^1.
|
|
83
|
-
"react": "^
|
|
84
|
-
"react-dom": "^
|
|
85
|
-
"storybook": "^10.5.
|
|
86
|
-
"vite": "^
|
|
104
|
+
"playwright": "^1.62.0",
|
|
105
|
+
"react": "^19.2.8",
|
|
106
|
+
"react-dom": "^19.2.8",
|
|
107
|
+
"storybook": "^10.5.4",
|
|
108
|
+
"vite": "^8.1.5"
|
|
87
109
|
}
|
|
88
110
|
}
|
package/styles.css
CHANGED
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
@import url("tokens/motion.css");
|
|
17
17
|
@import url("tokens/component-tokens.css");
|
|
18
18
|
@import url("tokens/elements.css");
|
|
19
|
+
@import url("tokens/styles.css");
|
|
19
20
|
|
|
20
21
|
/* 3 — Base: reset, type utilities, component classes, Liquid Glass surfaces */
|
|
21
22
|
@import url("base/reset.css");
|
|
@@ -8,12 +8,12 @@
|
|
|
8
8
|
h1{font-size:18px;margin:0 0 8px} .sub{color:var(--cs-color-text-muted);font-size:13px;line-height:1.5;margin:0 0 18px}
|
|
9
9
|
#root{display:grid;gap:14px}
|
|
10
10
|
</style>
|
|
11
|
-
<script src="https://unpkg.com/react@
|
|
12
|
-
<script src="https://unpkg.com/react
|
|
11
|
+
<script src="https://unpkg.com/umd-react@19.2.8/dist/react.development.js" crossorigin="anonymous"></script>
|
|
12
|
+
<script src="https://unpkg.com/umd-react@19.2.8/dist/react-dom.development.js" crossorigin="anonymous"></script>
|
|
13
13
|
<script src="../_ds_bundle.js"></script>
|
|
14
|
-
</head><body data-cs-
|
|
14
|
+
</head><body data-cs-element="tho" data-cs-style="liquid-glass">
|
|
15
15
|
<h1>AI cluster demo</h1>
|
|
16
|
-
<p class="sub">End-to-end productization story for Lumi AI surfaces: disclosure, confidence, citations, chat message, prompt input. Axes: Theme × Element × Language (parent frame may post <code>__cs_axes</code>).</p>
|
|
16
|
+
<p class="sub">End-to-end productization story for Lumi AI surfaces: disclosure, confidence, citations, chat message, prompt input. Axes: Theme × Element × Language × Style (parent frame may post <code>__cs_axes</code>).</p>
|
|
17
17
|
<div id="root"></div>
|
|
18
18
|
<script>
|
|
19
19
|
const NS=window[Object.keys(window).find(k=>/^CyberSkillDesignSystem_[0-9a-f]{6}$/.test(k))];
|
|
@@ -22,23 +22,38 @@ function App(){
|
|
|
22
22
|
const [lang,setLang]=React.useState('en');
|
|
23
23
|
React.useEffect(()=>{
|
|
24
24
|
const on=e=>{const d=e.data||{}; if(d.type==='__cs_axes'){
|
|
25
|
-
|
|
26
|
-
if(d.
|
|
27
|
-
if(d.
|
|
25
|
+
const root=document.documentElement;
|
|
26
|
+
if(d.theme!==undefined){ if(d.theme) root.setAttribute('data-theme', d.theme); else root.removeAttribute('data-theme'); }
|
|
27
|
+
if(d.element!==undefined){ if(d.element) root.setAttribute('data-cs-element', d.element); else root.removeAttribute('data-cs-element'); }
|
|
28
|
+
if(d.variant!==undefined){ if(d.variant) root.setAttribute('data-cs-variant', d.variant); else root.removeAttribute('data-cs-variant'); }
|
|
29
|
+
if(d.style!==undefined){ if(d.style) root.setAttribute('data-cs-style', d.style); else root.removeAttribute('data-cs-style'); }
|
|
30
|
+
if(d.lang){ setLang(d.lang); root.setAttribute('lang', d.lang); }
|
|
28
31
|
}};
|
|
29
32
|
window.addEventListener('message',on); return ()=>window.removeEventListener('message',on);
|
|
30
33
|
},[]);
|
|
31
34
|
if(!NS) return h('p',null,'Bundle missing');
|
|
32
35
|
const {AIDisclosureBadge,ConfidenceMeter,CitationList,ChatMessage,PromptInput,PromptSuggestions,TypingIndicator,HumanReviewGate}=NS;
|
|
36
|
+
const vi=lang==='vi';
|
|
33
37
|
return h('div',{id:'cluster',lang},
|
|
34
|
-
AIDisclosureBadge?h(AIDisclosureBadge,{
|
|
38
|
+
AIDisclosureBadge?h(AIDisclosureBadge,{
|
|
39
|
+
label: vi?'Có hỗ trợ AI':'AI assisted',
|
|
40
|
+
details: vi?'Bản nháp do Lumi tạo, đội ngũ đã xem.':'Draft generated by Lumi, reviewed by the team.',
|
|
41
|
+
sources:['SKILL.md','llms.txt']
|
|
42
|
+
}):null,
|
|
35
43
|
ConfidenceMeter?h(ConfidenceMeter,{value:0.82,lang}):null,
|
|
36
|
-
CitationList?h(CitationList,{items:[{title:'SKILL.md',
|
|
37
|
-
ChatMessage?h(ChatMessage,{role:'
|
|
38
|
-
TypingIndicator?h(TypingIndicator
|
|
39
|
-
PromptSuggestions?h(PromptSuggestions,{
|
|
40
|
-
|
|
41
|
-
|
|
44
|
+
CitationList?h(CitationList,{items:[{title:'SKILL.md',href:'#skill'},{title:'llms.txt',href:'#llms'}]}):null,
|
|
45
|
+
ChatMessage?h(ChatMessage,{role:'lumi',children: vi?'Xin chào — Lumi sẵn sàng.':'Hello — Lumi is ready.'}):null,
|
|
46
|
+
TypingIndicator?h(TypingIndicator):null,
|
|
47
|
+
PromptSuggestions?h(PromptSuggestions,{
|
|
48
|
+
suggestions: vi?['Tóm tắt ticket','Soạn email']:['Summarise ticket','Draft email'],
|
|
49
|
+
onSelect:()=>{}
|
|
50
|
+
}):null,
|
|
51
|
+
PromptInput?h(PromptInput,{placeholder: vi?'Hỏi Lumi…':'Ask Lumi…'}):null,
|
|
52
|
+
HumanReviewGate?h(HumanReviewGate,{
|
|
53
|
+
risk: vi?'Rủi ro cao · thay đổi billing':'High-stakes · billing change',
|
|
54
|
+
summary: vi?'Lumi đề xuất chuyển gói năm và hoàn tiền theo tỉ lệ.':'Lumi proposes moving to the annual plan and issuing a prorated credit.',
|
|
55
|
+
reviewer: vi?'Ops trực ca':'Ops on call'
|
|
56
|
+
}):null
|
|
42
57
|
);
|
|
43
58
|
}
|
|
44
59
|
ReactDOM.createRoot(document.getElementById('root')).render(h(App));
|
|
@@ -1070,10 +1070,10 @@
|
|
|
1070
1070
|
}
|
|
1071
1071
|
|
|
1072
1072
|
// src/cdn.ts
|
|
1073
|
-
var REACT_URL = "https://unpkg.com/react@
|
|
1074
|
-
var REACT_SRI = "sha384
|
|
1075
|
-
var REACT_DOM_URL = "https://unpkg.com/react
|
|
1076
|
-
var REACT_DOM_SRI = "sha384-
|
|
1073
|
+
var REACT_URL = "https://unpkg.com/umd-react@19.2.8/dist/react.production.min.js";
|
|
1074
|
+
var REACT_SRI = "sha384-/nh8CKeV7Pk42Gpda6L4DM1JtZ2bwPOi+eh9O7+a1Y22UkGs8+mw3aW1shQ9FV30";
|
|
1075
|
+
var REACT_DOM_URL = "https://unpkg.com/umd-react@19.2.8/dist/react-dom.production.min.js";
|
|
1076
|
+
var REACT_DOM_SRI = "sha384-rhLCB72qrpcezgY2QW0panvW9IeO32m94nvuDVRD/iEGHXoUbjtijL6Xi/Z5/mzu";
|
|
1077
1077
|
var BABEL_URL = "https://unpkg.com/@babel/standalone@7.29.0/babel.min.js";
|
|
1078
1078
|
var BABEL_SRI = "sha384-m08KidiNqLdpJqLq95G/LEi8Qvjl/xUYll3QILypMoQ65QorJ9Lvtp2RXYGBFj1y";
|
|
1079
1079
|
function cdnScriptFor(url, sri) {
|
|
@@ -1070,10 +1070,10 @@
|
|
|
1070
1070
|
}
|
|
1071
1071
|
|
|
1072
1072
|
// src/cdn.ts
|
|
1073
|
-
var REACT_URL = "https://unpkg.com/react@
|
|
1074
|
-
var REACT_SRI = "sha384
|
|
1075
|
-
var REACT_DOM_URL = "https://unpkg.com/react
|
|
1076
|
-
var REACT_DOM_SRI = "sha384-
|
|
1073
|
+
var REACT_URL = "https://unpkg.com/umd-react@19.2.8/dist/react.production.min.js";
|
|
1074
|
+
var REACT_SRI = "sha384-/nh8CKeV7Pk42Gpda6L4DM1JtZ2bwPOi+eh9O7+a1Y22UkGs8+mw3aW1shQ9FV30";
|
|
1075
|
+
var REACT_DOM_URL = "https://unpkg.com/umd-react@19.2.8/dist/react-dom.production.min.js";
|
|
1076
|
+
var REACT_DOM_SRI = "sha384-rhLCB72qrpcezgY2QW0panvW9IeO32m94nvuDVRD/iEGHXoUbjtijL6Xi/Z5/mzu";
|
|
1077
1077
|
var BABEL_URL = "https://unpkg.com/@babel/standalone@7.29.0/babel.min.js";
|
|
1078
1078
|
var BABEL_SRI = "sha384-m08KidiNqLdpJqLq95G/LEi8Qvjl/xUYll3QILypMoQ65QorJ9Lvtp2RXYGBFj1y";
|
|
1079
1079
|
function cdnScriptFor(url, sri) {
|
|
@@ -1070,10 +1070,10 @@
|
|
|
1070
1070
|
}
|
|
1071
1071
|
|
|
1072
1072
|
// src/cdn.ts
|
|
1073
|
-
var REACT_URL = "https://unpkg.com/react@
|
|
1074
|
-
var REACT_SRI = "sha384
|
|
1075
|
-
var REACT_DOM_URL = "https://unpkg.com/react
|
|
1076
|
-
var REACT_DOM_SRI = "sha384-
|
|
1073
|
+
var REACT_URL = "https://unpkg.com/umd-react@19.2.8/dist/react.production.min.js";
|
|
1074
|
+
var REACT_SRI = "sha384-/nh8CKeV7Pk42Gpda6L4DM1JtZ2bwPOi+eh9O7+a1Y22UkGs8+mw3aW1shQ9FV30";
|
|
1075
|
+
var REACT_DOM_URL = "https://unpkg.com/umd-react@19.2.8/dist/react-dom.production.min.js";
|
|
1076
|
+
var REACT_DOM_SRI = "sha384-rhLCB72qrpcezgY2QW0panvW9IeO32m94nvuDVRD/iEGHXoUbjtijL6Xi/Z5/mzu";
|
|
1077
1077
|
var BABEL_URL = "https://unpkg.com/@babel/standalone@7.29.0/babel.min.js";
|
|
1078
1078
|
var BABEL_SRI = "sha384-m08KidiNqLdpJqLq95G/LEi8Qvjl/xUYll3QILypMoQ65QorJ9Lvtp2RXYGBFj1y";
|
|
1079
1079
|
function cdnScriptFor(url, sri) {
|
|
@@ -1070,10 +1070,10 @@
|
|
|
1070
1070
|
}
|
|
1071
1071
|
|
|
1072
1072
|
// src/cdn.ts
|
|
1073
|
-
var REACT_URL = "https://unpkg.com/react@
|
|
1074
|
-
var REACT_SRI = "sha384
|
|
1075
|
-
var REACT_DOM_URL = "https://unpkg.com/react
|
|
1076
|
-
var REACT_DOM_SRI = "sha384-
|
|
1073
|
+
var REACT_URL = "https://unpkg.com/umd-react@19.2.8/dist/react.production.min.js";
|
|
1074
|
+
var REACT_SRI = "sha384-/nh8CKeV7Pk42Gpda6L4DM1JtZ2bwPOi+eh9O7+a1Y22UkGs8+mw3aW1shQ9FV30";
|
|
1075
|
+
var REACT_DOM_URL = "https://unpkg.com/umd-react@19.2.8/dist/react-dom.production.min.js";
|
|
1076
|
+
var REACT_DOM_SRI = "sha384-rhLCB72qrpcezgY2QW0panvW9IeO32m94nvuDVRD/iEGHXoUbjtijL6Xi/Z5/mzu";
|
|
1077
1077
|
var BABEL_URL = "https://unpkg.com/@babel/standalone@7.29.0/babel.min.js";
|
|
1078
1078
|
var BABEL_SRI = "sha384-m08KidiNqLdpJqLq95G/LEi8Qvjl/xUYll3QILypMoQ65QorJ9Lvtp2RXYGBFj1y";
|
|
1079
1079
|
function cdnScriptFor(url, sri) {
|
|
@@ -1070,10 +1070,10 @@
|
|
|
1070
1070
|
}
|
|
1071
1071
|
|
|
1072
1072
|
// src/cdn.ts
|
|
1073
|
-
var REACT_URL = "https://unpkg.com/react@
|
|
1074
|
-
var REACT_SRI = "sha384
|
|
1075
|
-
var REACT_DOM_URL = "https://unpkg.com/react
|
|
1076
|
-
var REACT_DOM_SRI = "sha384-
|
|
1073
|
+
var REACT_URL = "https://unpkg.com/umd-react@19.2.8/dist/react.production.min.js";
|
|
1074
|
+
var REACT_SRI = "sha384-/nh8CKeV7Pk42Gpda6L4DM1JtZ2bwPOi+eh9O7+a1Y22UkGs8+mw3aW1shQ9FV30";
|
|
1075
|
+
var REACT_DOM_URL = "https://unpkg.com/umd-react@19.2.8/dist/react-dom.production.min.js";
|
|
1076
|
+
var REACT_DOM_SRI = "sha384-rhLCB72qrpcezgY2QW0panvW9IeO32m94nvuDVRD/iEGHXoUbjtijL6Xi/Z5/mzu";
|
|
1077
1077
|
var BABEL_URL = "https://unpkg.com/@babel/standalone@7.29.0/babel.min.js";
|
|
1078
1078
|
var BABEL_SRI = "sha384-m08KidiNqLdpJqLq95G/LEi8Qvjl/xUYll3QILypMoQ65QorJ9Lvtp2RXYGBFj1y";
|
|
1079
1079
|
function cdnScriptFor(url, sri) {
|
|
@@ -1070,10 +1070,10 @@
|
|
|
1070
1070
|
}
|
|
1071
1071
|
|
|
1072
1072
|
// src/cdn.ts
|
|
1073
|
-
var REACT_URL = "https://unpkg.com/react@
|
|
1074
|
-
var REACT_SRI = "sha384
|
|
1075
|
-
var REACT_DOM_URL = "https://unpkg.com/react
|
|
1076
|
-
var REACT_DOM_SRI = "sha384-
|
|
1073
|
+
var REACT_URL = "https://unpkg.com/umd-react@19.2.8/dist/react.production.min.js";
|
|
1074
|
+
var REACT_SRI = "sha384-/nh8CKeV7Pk42Gpda6L4DM1JtZ2bwPOi+eh9O7+a1Y22UkGs8+mw3aW1shQ9FV30";
|
|
1075
|
+
var REACT_DOM_URL = "https://unpkg.com/umd-react@19.2.8/dist/react-dom.production.min.js";
|
|
1076
|
+
var REACT_DOM_SRI = "sha384-rhLCB72qrpcezgY2QW0panvW9IeO32m94nvuDVRD/iEGHXoUbjtijL6Xi/Z5/mzu";
|
|
1077
1077
|
var BABEL_URL = "https://unpkg.com/@babel/standalone@7.29.0/babel.min.js";
|
|
1078
1078
|
var BABEL_SRI = "sha384-m08KidiNqLdpJqLq95G/LEi8Qvjl/xUYll3QILypMoQ65QorJ9Lvtp2RXYGBFj1y";
|
|
1079
1079
|
function cdnScriptFor(url, sri) {
|
|
@@ -1070,10 +1070,10 @@
|
|
|
1070
1070
|
}
|
|
1071
1071
|
|
|
1072
1072
|
// src/cdn.ts
|
|
1073
|
-
var REACT_URL = "https://unpkg.com/react@
|
|
1074
|
-
var REACT_SRI = "sha384
|
|
1075
|
-
var REACT_DOM_URL = "https://unpkg.com/react
|
|
1076
|
-
var REACT_DOM_SRI = "sha384-
|
|
1073
|
+
var REACT_URL = "https://unpkg.com/umd-react@19.2.8/dist/react.production.min.js";
|
|
1074
|
+
var REACT_SRI = "sha384-/nh8CKeV7Pk42Gpda6L4DM1JtZ2bwPOi+eh9O7+a1Y22UkGs8+mw3aW1shQ9FV30";
|
|
1075
|
+
var REACT_DOM_URL = "https://unpkg.com/umd-react@19.2.8/dist/react-dom.production.min.js";
|
|
1076
|
+
var REACT_DOM_SRI = "sha384-rhLCB72qrpcezgY2QW0panvW9IeO32m94nvuDVRD/iEGHXoUbjtijL6Xi/Z5/mzu";
|
|
1077
1077
|
var BABEL_URL = "https://unpkg.com/@babel/standalone@7.29.0/babel.min.js";
|
|
1078
1078
|
var BABEL_SRI = "sha384-m08KidiNqLdpJqLq95G/LEi8Qvjl/xUYll3QILypMoQ65QorJ9Lvtp2RXYGBFj1y";
|
|
1079
1079
|
function cdnScriptFor(url, sri) {
|
|
@@ -1070,10 +1070,10 @@
|
|
|
1070
1070
|
}
|
|
1071
1071
|
|
|
1072
1072
|
// src/cdn.ts
|
|
1073
|
-
var REACT_URL = "https://unpkg.com/react@
|
|
1074
|
-
var REACT_SRI = "sha384
|
|
1075
|
-
var REACT_DOM_URL = "https://unpkg.com/react
|
|
1076
|
-
var REACT_DOM_SRI = "sha384-
|
|
1073
|
+
var REACT_URL = "https://unpkg.com/umd-react@19.2.8/dist/react.production.min.js";
|
|
1074
|
+
var REACT_SRI = "sha384-/nh8CKeV7Pk42Gpda6L4DM1JtZ2bwPOi+eh9O7+a1Y22UkGs8+mw3aW1shQ9FV30";
|
|
1075
|
+
var REACT_DOM_URL = "https://unpkg.com/umd-react@19.2.8/dist/react-dom.production.min.js";
|
|
1076
|
+
var REACT_DOM_SRI = "sha384-rhLCB72qrpcezgY2QW0panvW9IeO32m94nvuDVRD/iEGHXoUbjtijL6Xi/Z5/mzu";
|
|
1077
1077
|
var BABEL_URL = "https://unpkg.com/@babel/standalone@7.29.0/babel.min.js";
|
|
1078
1078
|
var BABEL_SRI = "sha384-m08KidiNqLdpJqLq95G/LEi8Qvjl/xUYll3QILypMoQ65QorJ9Lvtp2RXYGBFj1y";
|
|
1079
1079
|
function cdnScriptFor(url, sri) {
|
|
@@ -1070,10 +1070,10 @@
|
|
|
1070
1070
|
}
|
|
1071
1071
|
|
|
1072
1072
|
// src/cdn.ts
|
|
1073
|
-
var REACT_URL = "https://unpkg.com/react@
|
|
1074
|
-
var REACT_SRI = "sha384
|
|
1075
|
-
var REACT_DOM_URL = "https://unpkg.com/react
|
|
1076
|
-
var REACT_DOM_SRI = "sha384-
|
|
1073
|
+
var REACT_URL = "https://unpkg.com/umd-react@19.2.8/dist/react.production.min.js";
|
|
1074
|
+
var REACT_SRI = "sha384-/nh8CKeV7Pk42Gpda6L4DM1JtZ2bwPOi+eh9O7+a1Y22UkGs8+mw3aW1shQ9FV30";
|
|
1075
|
+
var REACT_DOM_URL = "https://unpkg.com/umd-react@19.2.8/dist/react-dom.production.min.js";
|
|
1076
|
+
var REACT_DOM_SRI = "sha384-rhLCB72qrpcezgY2QW0panvW9IeO32m94nvuDVRD/iEGHXoUbjtijL6Xi/Z5/mzu";
|
|
1077
1077
|
var BABEL_URL = "https://unpkg.com/@babel/standalone@7.29.0/babel.min.js";
|
|
1078
1078
|
var BABEL_SRI = "sha384-m08KidiNqLdpJqLq95G/LEi8Qvjl/xUYll3QILypMoQ65QorJ9Lvtp2RXYGBFj1y";
|
|
1079
1079
|
function cdnScriptFor(url, sri) {
|
|
@@ -1070,10 +1070,10 @@
|
|
|
1070
1070
|
}
|
|
1071
1071
|
|
|
1072
1072
|
// src/cdn.ts
|
|
1073
|
-
var REACT_URL = "https://unpkg.com/react@
|
|
1074
|
-
var REACT_SRI = "sha384
|
|
1075
|
-
var REACT_DOM_URL = "https://unpkg.com/react
|
|
1076
|
-
var REACT_DOM_SRI = "sha384-
|
|
1073
|
+
var REACT_URL = "https://unpkg.com/umd-react@19.2.8/dist/react.production.min.js";
|
|
1074
|
+
var REACT_SRI = "sha384-/nh8CKeV7Pk42Gpda6L4DM1JtZ2bwPOi+eh9O7+a1Y22UkGs8+mw3aW1shQ9FV30";
|
|
1075
|
+
var REACT_DOM_URL = "https://unpkg.com/umd-react@19.2.8/dist/react-dom.production.min.js";
|
|
1076
|
+
var REACT_DOM_SRI = "sha384-rhLCB72qrpcezgY2QW0panvW9IeO32m94nvuDVRD/iEGHXoUbjtijL6Xi/Z5/mzu";
|
|
1077
1077
|
var BABEL_URL = "https://unpkg.com/@babel/standalone@7.29.0/babel.min.js";
|
|
1078
1078
|
var BABEL_SRI = "sha384-m08KidiNqLdpJqLq95G/LEi8Qvjl/xUYll3QILypMoQ65QorJ9Lvtp2RXYGBFj1y";
|
|
1079
1079
|
function cdnScriptFor(url, sri) {
|
|
@@ -1070,10 +1070,10 @@
|
|
|
1070
1070
|
}
|
|
1071
1071
|
|
|
1072
1072
|
// src/cdn.ts
|
|
1073
|
-
var REACT_URL = "https://unpkg.com/react@
|
|
1074
|
-
var REACT_SRI = "sha384
|
|
1075
|
-
var REACT_DOM_URL = "https://unpkg.com/react
|
|
1076
|
-
var REACT_DOM_SRI = "sha384-
|
|
1073
|
+
var REACT_URL = "https://unpkg.com/umd-react@19.2.8/dist/react.production.min.js";
|
|
1074
|
+
var REACT_SRI = "sha384-/nh8CKeV7Pk42Gpda6L4DM1JtZ2bwPOi+eh9O7+a1Y22UkGs8+mw3aW1shQ9FV30";
|
|
1075
|
+
var REACT_DOM_URL = "https://unpkg.com/umd-react@19.2.8/dist/react-dom.production.min.js";
|
|
1076
|
+
var REACT_DOM_SRI = "sha384-rhLCB72qrpcezgY2QW0panvW9IeO32m94nvuDVRD/iEGHXoUbjtijL6Xi/Z5/mzu";
|
|
1077
1077
|
var BABEL_URL = "https://unpkg.com/@babel/standalone@7.29.0/babel.min.js";
|
|
1078
1078
|
var BABEL_SRI = "sha384-m08KidiNqLdpJqLq95G/LEi8Qvjl/xUYll3QILypMoQ65QorJ9Lvtp2RXYGBFj1y";
|
|
1079
1079
|
function cdnScriptFor(url, sri) {
|
|
@@ -1070,10 +1070,10 @@
|
|
|
1070
1070
|
}
|
|
1071
1071
|
|
|
1072
1072
|
// src/cdn.ts
|
|
1073
|
-
var REACT_URL = "https://unpkg.com/react@
|
|
1074
|
-
var REACT_SRI = "sha384
|
|
1075
|
-
var REACT_DOM_URL = "https://unpkg.com/react
|
|
1076
|
-
var REACT_DOM_SRI = "sha384-
|
|
1073
|
+
var REACT_URL = "https://unpkg.com/umd-react@19.2.8/dist/react.production.min.js";
|
|
1074
|
+
var REACT_SRI = "sha384-/nh8CKeV7Pk42Gpda6L4DM1JtZ2bwPOi+eh9O7+a1Y22UkGs8+mw3aW1shQ9FV30";
|
|
1075
|
+
var REACT_DOM_URL = "https://unpkg.com/umd-react@19.2.8/dist/react-dom.production.min.js";
|
|
1076
|
+
var REACT_DOM_SRI = "sha384-rhLCB72qrpcezgY2QW0panvW9IeO32m94nvuDVRD/iEGHXoUbjtijL6Xi/Z5/mzu";
|
|
1077
1077
|
var BABEL_URL = "https://unpkg.com/@babel/standalone@7.29.0/babel.min.js";
|
|
1078
1078
|
var BABEL_SRI = "sha384-m08KidiNqLdpJqLq95G/LEi8Qvjl/xUYll3QILypMoQ65QorJ9Lvtp2RXYGBFj1y";
|
|
1079
1079
|
function cdnScriptFor(url, sri) {
|
|
@@ -1070,10 +1070,10 @@
|
|
|
1070
1070
|
}
|
|
1071
1071
|
|
|
1072
1072
|
// src/cdn.ts
|
|
1073
|
-
var REACT_URL = "https://unpkg.com/react@
|
|
1074
|
-
var REACT_SRI = "sha384
|
|
1075
|
-
var REACT_DOM_URL = "https://unpkg.com/react
|
|
1076
|
-
var REACT_DOM_SRI = "sha384-
|
|
1073
|
+
var REACT_URL = "https://unpkg.com/umd-react@19.2.8/dist/react.production.min.js";
|
|
1074
|
+
var REACT_SRI = "sha384-/nh8CKeV7Pk42Gpda6L4DM1JtZ2bwPOi+eh9O7+a1Y22UkGs8+mw3aW1shQ9FV30";
|
|
1075
|
+
var REACT_DOM_URL = "https://unpkg.com/umd-react@19.2.8/dist/react-dom.production.min.js";
|
|
1076
|
+
var REACT_DOM_SRI = "sha384-rhLCB72qrpcezgY2QW0panvW9IeO32m94nvuDVRD/iEGHXoUbjtijL6Xi/Z5/mzu";
|
|
1077
1077
|
var BABEL_URL = "https://unpkg.com/@babel/standalone@7.29.0/babel.min.js";
|
|
1078
1078
|
var BABEL_SRI = "sha384-m08KidiNqLdpJqLq95G/LEi8Qvjl/xUYll3QILypMoQ65QorJ9Lvtp2RXYGBFj1y";
|
|
1079
1079
|
function cdnScriptFor(url, sri) {
|
|
@@ -1070,10 +1070,10 @@
|
|
|
1070
1070
|
}
|
|
1071
1071
|
|
|
1072
1072
|
// src/cdn.ts
|
|
1073
|
-
var REACT_URL = "https://unpkg.com/react@
|
|
1074
|
-
var REACT_SRI = "sha384
|
|
1075
|
-
var REACT_DOM_URL = "https://unpkg.com/react
|
|
1076
|
-
var REACT_DOM_SRI = "sha384-
|
|
1073
|
+
var REACT_URL = "https://unpkg.com/umd-react@19.2.8/dist/react.production.min.js";
|
|
1074
|
+
var REACT_SRI = "sha384-/nh8CKeV7Pk42Gpda6L4DM1JtZ2bwPOi+eh9O7+a1Y22UkGs8+mw3aW1shQ9FV30";
|
|
1075
|
+
var REACT_DOM_URL = "https://unpkg.com/umd-react@19.2.8/dist/react-dom.production.min.js";
|
|
1076
|
+
var REACT_DOM_SRI = "sha384-rhLCB72qrpcezgY2QW0panvW9IeO32m94nvuDVRD/iEGHXoUbjtijL6Xi/Z5/mzu";
|
|
1077
1077
|
var BABEL_URL = "https://unpkg.com/@babel/standalone@7.29.0/babel.min.js";
|
|
1078
1078
|
var BABEL_SRI = "sha384-m08KidiNqLdpJqLq95G/LEi8Qvjl/xUYll3QILypMoQ65QorJ9Lvtp2RXYGBFj1y";
|
|
1079
1079
|
function cdnScriptFor(url, sri) {
|
|
@@ -1070,10 +1070,10 @@
|
|
|
1070
1070
|
}
|
|
1071
1071
|
|
|
1072
1072
|
// src/cdn.ts
|
|
1073
|
-
var REACT_URL = "https://unpkg.com/react@
|
|
1074
|
-
var REACT_SRI = "sha384
|
|
1075
|
-
var REACT_DOM_URL = "https://unpkg.com/react
|
|
1076
|
-
var REACT_DOM_SRI = "sha384-
|
|
1073
|
+
var REACT_URL = "https://unpkg.com/umd-react@19.2.8/dist/react.production.min.js";
|
|
1074
|
+
var REACT_SRI = "sha384-/nh8CKeV7Pk42Gpda6L4DM1JtZ2bwPOi+eh9O7+a1Y22UkGs8+mw3aW1shQ9FV30";
|
|
1075
|
+
var REACT_DOM_URL = "https://unpkg.com/umd-react@19.2.8/dist/react-dom.production.min.js";
|
|
1076
|
+
var REACT_DOM_SRI = "sha384-rhLCB72qrpcezgY2QW0panvW9IeO32m94nvuDVRD/iEGHXoUbjtijL6Xi/Z5/mzu";
|
|
1077
1077
|
var BABEL_URL = "https://unpkg.com/@babel/standalone@7.29.0/babel.min.js";
|
|
1078
1078
|
var BABEL_SRI = "sha384-m08KidiNqLdpJqLq95G/LEi8Qvjl/xUYll3QILypMoQ65QorJ9Lvtp2RXYGBFj1y";
|
|
1079
1079
|
function cdnScriptFor(url, sri) {
|
|
@@ -1070,10 +1070,10 @@
|
|
|
1070
1070
|
}
|
|
1071
1071
|
|
|
1072
1072
|
// src/cdn.ts
|
|
1073
|
-
var REACT_URL = "https://unpkg.com/react@
|
|
1074
|
-
var REACT_SRI = "sha384
|
|
1075
|
-
var REACT_DOM_URL = "https://unpkg.com/react
|
|
1076
|
-
var REACT_DOM_SRI = "sha384-
|
|
1073
|
+
var REACT_URL = "https://unpkg.com/umd-react@19.2.8/dist/react.production.min.js";
|
|
1074
|
+
var REACT_SRI = "sha384-/nh8CKeV7Pk42Gpda6L4DM1JtZ2bwPOi+eh9O7+a1Y22UkGs8+mw3aW1shQ9FV30";
|
|
1075
|
+
var REACT_DOM_URL = "https://unpkg.com/umd-react@19.2.8/dist/react-dom.production.min.js";
|
|
1076
|
+
var REACT_DOM_SRI = "sha384-rhLCB72qrpcezgY2QW0panvW9IeO32m94nvuDVRD/iEGHXoUbjtijL6Xi/Z5/mzu";
|
|
1077
1077
|
var BABEL_URL = "https://unpkg.com/@babel/standalone@7.29.0/babel.min.js";
|
|
1078
1078
|
var BABEL_SRI = "sha384-m08KidiNqLdpJqLq95G/LEi8Qvjl/xUYll3QILypMoQ65QorJ9Lvtp2RXYGBFj1y";
|
|
1079
1079
|
function cdnScriptFor(url, sri) {
|
|
@@ -126,8 +126,8 @@
|
|
|
126
126
|
<tr><td style="padding:6px 10px">Ảnh mạng xã hội<div style="color:#3F4C55;font-style:italic;font-size:11px">Social image</div></td><td style="padding:6px 10px">Khổ cố định theo kênh; màu/kiểu chữ/logo theo hệ thống.<div style="color:#3F4C55;font-style:italic;font-size:11px">Fixed per-channel size; system colour/type/logo.</div></td></tr>
|
|
127
127
|
</tbody>
|
|
128
128
|
</table>
|
|
129
|
-
<p style="font-size:14px;line-height:1.55;margin:0 0 2px">
|
|
130
|
-
<p style="font-size:12.5px;line-height:1.5;color:#3F4C55;font-style:italic;margin:0 0 8px">The
|
|
129
|
+
<p style="font-size:14px;line-height:1.55;margin:0 0 2px">Bốn trục nhận diện — <b>Theme × Element (Ngũ Hành) × Language × Style</b> — áp dụng cho mọi mẫu. Nhấn của một sản phẩm dùng token <span style="font-family:var(--cs-font-family-mono);font-size:12px">--cs-accent-*</span>, không dùng mã màu cứng. Pack Style duy nhất là <b>liquid-glass</b>.</p>
|
|
130
|
+
<p style="font-size:12.5px;line-height:1.5;color:#3F4C55;font-style:italic;margin:0 0 8px">The four identity axes — <b>Theme × Element (Ngũ Hành) × Language × Style</b> — apply to every template. A product's accent consumes the <span style="font-family:var(--cs-font-family-mono);font-size:12px">--cs-accent-*</span> tokens, never a raw hex. Style’s sole pack is <b>liquid-glass</b>.</p>
|
|
131
131
|
|
|
132
132
|
<div style="border-top:1px solid var(--cs-color-border-default);padding-top:8px;margin-top:8px;display:flex;gap:10px;font-size:10.5px;color:var(--cs-color-text-muted);flex-wrap:wrap">Hiện Thực Hoá Ý Chí · <i style="color:#3F4C55">Turn Your Will Into Real</i><span>·</span>MST: 0316475200<span>·</span>info@cyberskill.world<span>·</span>(+84) 906 878 091<span style="margin-left:auto">Trang / Page 1</span></div>
|
|
133
133
|
</div>
|
|
@@ -1070,10 +1070,10 @@
|
|
|
1070
1070
|
}
|
|
1071
1071
|
|
|
1072
1072
|
// src/cdn.ts
|
|
1073
|
-
var REACT_URL = "https://unpkg.com/react@
|
|
1074
|
-
var REACT_SRI = "sha384
|
|
1075
|
-
var REACT_DOM_URL = "https://unpkg.com/react
|
|
1076
|
-
var REACT_DOM_SRI = "sha384-
|
|
1073
|
+
var REACT_URL = "https://unpkg.com/umd-react@19.2.8/dist/react.production.min.js";
|
|
1074
|
+
var REACT_SRI = "sha384-/nh8CKeV7Pk42Gpda6L4DM1JtZ2bwPOi+eh9O7+a1Y22UkGs8+mw3aW1shQ9FV30";
|
|
1075
|
+
var REACT_DOM_URL = "https://unpkg.com/umd-react@19.2.8/dist/react-dom.production.min.js";
|
|
1076
|
+
var REACT_DOM_SRI = "sha384-rhLCB72qrpcezgY2QW0panvW9IeO32m94nvuDVRD/iEGHXoUbjtijL6Xi/Z5/mzu";
|
|
1077
1077
|
var BABEL_URL = "https://unpkg.com/@babel/standalone@7.29.0/babel.min.js";
|
|
1078
1078
|
var BABEL_SRI = "sha384-m08KidiNqLdpJqLq95G/LEi8Qvjl/xUYll3QILypMoQ65QorJ9Lvtp2RXYGBFj1y";
|
|
1079
1079
|
function cdnScriptFor(url, sri) {
|
|
@@ -1070,10 +1070,10 @@
|
|
|
1070
1070
|
}
|
|
1071
1071
|
|
|
1072
1072
|
// src/cdn.ts
|
|
1073
|
-
var REACT_URL = "https://unpkg.com/react@
|
|
1074
|
-
var REACT_SRI = "sha384
|
|
1075
|
-
var REACT_DOM_URL = "https://unpkg.com/react
|
|
1076
|
-
var REACT_DOM_SRI = "sha384-
|
|
1073
|
+
var REACT_URL = "https://unpkg.com/umd-react@19.2.8/dist/react.production.min.js";
|
|
1074
|
+
var REACT_SRI = "sha384-/nh8CKeV7Pk42Gpda6L4DM1JtZ2bwPOi+eh9O7+a1Y22UkGs8+mw3aW1shQ9FV30";
|
|
1075
|
+
var REACT_DOM_URL = "https://unpkg.com/umd-react@19.2.8/dist/react-dom.production.min.js";
|
|
1076
|
+
var REACT_DOM_SRI = "sha384-rhLCB72qrpcezgY2QW0panvW9IeO32m94nvuDVRD/iEGHXoUbjtijL6Xi/Z5/mzu";
|
|
1077
1077
|
var BABEL_URL = "https://unpkg.com/@babel/standalone@7.29.0/babel.min.js";
|
|
1078
1078
|
var BABEL_SRI = "sha384-m08KidiNqLdpJqLq95G/LEi8Qvjl/xUYll3QILypMoQ65QorJ9Lvtp2RXYGBFj1y";
|
|
1079
1079
|
function cdnScriptFor(url, sri) {
|
|
@@ -89,7 +89,7 @@
|
|
|
89
89
|
<tr style="border-bottom:1px solid var(--cs-color-border-default)"><td style="padding:6px 9px;font-weight:600">A4 song ngữ<div style="color:#3F4C55;font-style:italic;font-size:10px">A4 bilingual instrument</div></td><td style="padding:6px 9px">Khung Phần A. Quốc hiệu, tiêu đề, các Điều, bảng BÊN A/B, khối ký. Điều 1–10 Cẩm nang áp dụng đầy đủ.<div style="color:#3F4C55;font-style:italic;font-size:10px">Part A shell. State motto, title, Articles, Party A/B tables, signing block. Style-Guide 1–10 in full.</div></td><td style="padding:6px 9px;font-family:var(--cs-font-family-mono);font-size:9.5px">vn-labor-contract, vn-internal-labor-regulations</td></tr>
|
|
90
90
|
<tr style="border-bottom:1px solid var(--cs-color-border-default);background:var(--cs-color-surface-raised)"><td style="padding:6px 9px;font-weight:600">Letter in<div style="color:#3F4C55;font-style:italic;font-size:10px">Letter print doc</div></td><td style="padding:6px 9px">Như A4 nhưng khổ Letter, lề 0,6in; nền desk + sheet; xuất Print/PDF sạch. Dùng cho giấy tờ gửi khách.<div style="color:#3F4C55;font-style:italic;font-size:10px">As A4 but Letter, 0.6in margins; desk + sheet; clean Print/PDF. Client-facing paperwork.</div></td><td style="padding:6px 9px;font-family:var(--cs-font-family-mono);font-size:9.5px">finance-invoice, legal-msa, sales-one-pager</td></tr>
|
|
91
91
|
<tr style="border-bottom:1px solid var(--cs-color-border-default)"><td style="padding:6px 9px;font-weight:600">Thư điện tử<div style="color:#3F4C55;font-style:italic;font-size:10px">Email (600px)</div></td><td style="padding:6px 9px">Thân 600px căn giữa; header/CTA theo màu hệ thống; không quốc hiệu, không khối ký; song ngữ qua tweak Language.<div style="color:#3F4C55;font-style:italic;font-size:10px">Centred 600px body; system-coloured header/CTA; no state motto or signing block; bilingual via Language tweak.</div></td><td style="padding:6px 9px;font-family:var(--cs-font-family-mono);font-size:9.5px">email, hr-announcement, marketing-newsletter</td></tr>
|
|
92
|
-
<tr style="border-bottom:1px solid var(--cs-color-border-default);background:var(--cs-color-surface-raised)"><td style="padding:6px 9px;font-weight:600">Màn hình sản phẩm<div style="color:#3F4C55;font-style:italic;font-size:10px">Product screen</div></td><td style="padding:6px 9px">Dựng từ component + token;
|
|
92
|
+
<tr style="border-bottom:1px solid var(--cs-color-border-default);background:var(--cs-color-surface-raised)"><td style="padding:6px 9px;font-weight:600">Màn hình sản phẩm<div style="color:#3F4C55;font-style:italic;font-size:10px">Product screen</div></td><td style="padding:6px 9px">Dựng từ component + token; bốn trục Theme × Element × Language × Style. Không dùng hình học in.<div style="color:#3F4C55;font-style:italic;font-size:10px">Built from components + tokens; Theme × Element × Language × Style. No print geometry.</div></td><td style="padding:6px 9px;font-family:var(--cs-font-family-mono);font-size:9.5px">marketing-page, dashboard, app-shell, auth</td></tr>
|
|
93
93
|
<tr style="border-bottom:1px solid var(--cs-color-border-default)"><td style="padding:6px 9px;font-weight:600">Slide 16:9<div style="color:#3F4C55;font-style:italic;font-size:10px">Deck (16:9)</div></td><td style="padding:6px 9px">Slide xếp chồng, tỉ lệ 16:9; bìa nền umber, nhấn theo element; xuất PDF/PPTX.<div style="color:#3F4C55;font-style:italic;font-size:10px">Stacked 16:9 slides; umber cover, element accent; PDF/PPTX export.</div></td><td style="padding:6px 9px;font-family:var(--cs-font-family-mono);font-size:9.5px">slide-deck, bod-deck, sales-proposal-deck</td></tr>
|
|
94
94
|
<tr><td style="padding:6px 9px;font-weight:600">Ảnh mạng xã hội<div style="color:#3F4C55;font-style:italic;font-size:10px">Social image</div></td><td style="padding:6px 9px">Khổ cố định theo kênh (1080² · 1200×630 · 1080×1920); màu/kiểu chữ/logo hệ thống.<div style="color:#3F4C55;font-style:italic;font-size:10px">Fixed per-channel size (1080² · 1200×630 · 1080×1920); system colour/type/logo.</div></td><td style="padding:6px 9px;font-family:var(--cs-font-family-mono);font-size:9.5px">marketing-social-kit</td></tr>
|
|
95
95
|
</tbody>
|
|
@@ -1070,10 +1070,10 @@
|
|
|
1070
1070
|
}
|
|
1071
1071
|
|
|
1072
1072
|
// src/cdn.ts
|
|
1073
|
-
var REACT_URL = "https://unpkg.com/react@
|
|
1074
|
-
var REACT_SRI = "sha384
|
|
1075
|
-
var REACT_DOM_URL = "https://unpkg.com/react
|
|
1076
|
-
var REACT_DOM_SRI = "sha384-
|
|
1073
|
+
var REACT_URL = "https://unpkg.com/umd-react@19.2.8/dist/react.production.min.js";
|
|
1074
|
+
var REACT_SRI = "sha384-/nh8CKeV7Pk42Gpda6L4DM1JtZ2bwPOi+eh9O7+a1Y22UkGs8+mw3aW1shQ9FV30";
|
|
1075
|
+
var REACT_DOM_URL = "https://unpkg.com/umd-react@19.2.8/dist/react-dom.production.min.js";
|
|
1076
|
+
var REACT_DOM_SRI = "sha384-rhLCB72qrpcezgY2QW0panvW9IeO32m94nvuDVRD/iEGHXoUbjtijL6Xi/Z5/mzu";
|
|
1077
1077
|
var BABEL_URL = "https://unpkg.com/@babel/standalone@7.29.0/babel.min.js";
|
|
1078
1078
|
var BABEL_SRI = "sha384-m08KidiNqLdpJqLq95G/LEi8Qvjl/xUYll3QILypMoQ65QorJ9Lvtp2RXYGBFj1y";
|
|
1079
1079
|
function cdnScriptFor(url, sri) {
|
|
@@ -1070,10 +1070,10 @@
|
|
|
1070
1070
|
}
|
|
1071
1071
|
|
|
1072
1072
|
// src/cdn.ts
|
|
1073
|
-
var REACT_URL = "https://unpkg.com/react@
|
|
1074
|
-
var REACT_SRI = "sha384
|
|
1075
|
-
var REACT_DOM_URL = "https://unpkg.com/react
|
|
1076
|
-
var REACT_DOM_SRI = "sha384-
|
|
1073
|
+
var REACT_URL = "https://unpkg.com/umd-react@19.2.8/dist/react.production.min.js";
|
|
1074
|
+
var REACT_SRI = "sha384-/nh8CKeV7Pk42Gpda6L4DM1JtZ2bwPOi+eh9O7+a1Y22UkGs8+mw3aW1shQ9FV30";
|
|
1075
|
+
var REACT_DOM_URL = "https://unpkg.com/umd-react@19.2.8/dist/react-dom.production.min.js";
|
|
1076
|
+
var REACT_DOM_SRI = "sha384-rhLCB72qrpcezgY2QW0panvW9IeO32m94nvuDVRD/iEGHXoUbjtijL6Xi/Z5/mzu";
|
|
1077
1077
|
var BABEL_URL = "https://unpkg.com/@babel/standalone@7.29.0/babel.min.js";
|
|
1078
1078
|
var BABEL_SRI = "sha384-m08KidiNqLdpJqLq95G/LEi8Qvjl/xUYll3QILypMoQ65QorJ9Lvtp2RXYGBFj1y";
|
|
1079
1079
|
function cdnScriptFor(url, sri) {
|