@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/tokens/tokens.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$meta": {
|
|
3
3
|
"system": "CyberSkill Design System",
|
|
4
|
-
"version": "1.
|
|
4
|
+
"version": "1.1.0",
|
|
5
5
|
"generated": "2026-07-23",
|
|
6
6
|
"note": "Generated from tokens/*.css. Root grouped by category; theme/element scopes carry overrides only. Regenerate after any token change (see docs/conventions.md)."
|
|
7
7
|
},
|
|
@@ -53,14 +53,14 @@
|
|
|
53
53
|
},
|
|
54
54
|
"accent": {
|
|
55
55
|
"--cs-accent": "#F4BA17",
|
|
56
|
-
"--cs-accent-strong": "#
|
|
56
|
+
"--cs-accent-strong": "#A47D17",
|
|
57
57
|
"--cs-accent-bright": "#F4BA17",
|
|
58
58
|
"--cs-accent-on": "#45210E",
|
|
59
59
|
"--cs-accent-tint": "#FBF4E9",
|
|
60
60
|
"--cs-accent-ink": "#45210E",
|
|
61
|
-
"--cs-accent-glow": "rgba(244, 186, 23, 0.
|
|
61
|
+
"--cs-accent-glow": "rgba(244, 186, 23, 0.48)",
|
|
62
62
|
"--cs-accent-grad-a": "#F4BA17",
|
|
63
|
-
"--cs-accent-grad-b": "#
|
|
63
|
+
"--cs-accent-grad-b": "#FCAF91"
|
|
64
64
|
},
|
|
65
65
|
"depth": {
|
|
66
66
|
"--cs-depth-bg": "0",
|
|
@@ -137,6 +137,7 @@
|
|
|
137
137
|
},
|
|
138
138
|
"font": {
|
|
139
139
|
"--cs-font-family-ui": "'Be Vietnam Pro', ui-sans-serif, system-ui, sans-serif",
|
|
140
|
+
"--cs-font-family-display": "'Space Grotesk', 'Be Vietnam Pro', ui-sans-serif, system-ui, sans-serif",
|
|
140
141
|
"--cs-font-family-mono": "'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, Consolas, monospace",
|
|
141
142
|
"--cs-font-weight-regular": "400",
|
|
142
143
|
"--cs-font-weight-medium": "500",
|
|
@@ -237,198 +238,198 @@
|
|
|
237
238
|
}
|
|
238
239
|
},
|
|
239
240
|
"elements": {
|
|
241
|
+
"tho.sand": {
|
|
242
|
+
"--cs-accent": "#F8E9C0",
|
|
243
|
+
"--cs-accent-strong": "#90825E",
|
|
244
|
+
"--cs-accent-bright": "#F6EBCC",
|
|
245
|
+
"--cs-accent-on": "#292414",
|
|
246
|
+
"--cs-accent-tint": "#FBF7EA",
|
|
247
|
+
"--cs-accent-ink": "#292414",
|
|
248
|
+
"--cs-accent-glow": "rgba(248, 233, 192, 0.48)",
|
|
249
|
+
"--cs-accent-grad-a": "#F8E9C0",
|
|
250
|
+
"--cs-accent-grad-b": "#FCAF91",
|
|
251
|
+
"--cs-color-text-accent": "#90825E",
|
|
252
|
+
"--cs-color-link": "#90825E"
|
|
253
|
+
},
|
|
240
254
|
"tho": {
|
|
241
255
|
"--cs-accent": "#F4BA17",
|
|
242
|
-
"--cs-accent-strong": "#
|
|
256
|
+
"--cs-accent-strong": "#A47D17",
|
|
243
257
|
"--cs-accent-bright": "#F4BA17",
|
|
244
258
|
"--cs-accent-on": "#45210E",
|
|
245
259
|
"--cs-accent-tint": "#FBF4E9",
|
|
246
260
|
"--cs-accent-ink": "#45210E",
|
|
247
|
-
"--cs-accent-glow": "rgba(244, 186, 23, 0.
|
|
261
|
+
"--cs-accent-glow": "rgba(244, 186, 23, 0.48)",
|
|
248
262
|
"--cs-accent-grad-a": "#F4BA17",
|
|
249
|
-
"--cs-accent-grad-b": "#
|
|
263
|
+
"--cs-accent-grad-b": "#FCAF91"
|
|
250
264
|
},
|
|
251
265
|
"tho.clay": {
|
|
252
|
-
"--cs-accent": "#
|
|
253
|
-
"--cs-accent-strong": "#
|
|
254
|
-
"--cs-accent-bright": "#
|
|
255
|
-
"--cs-accent-on": "#
|
|
256
|
-
"--cs-accent-tint": "#
|
|
257
|
-
"--cs-accent-ink": "#
|
|
258
|
-
"--cs-accent-glow": "rgba(
|
|
259
|
-
"--cs-accent-grad-a": "#
|
|
260
|
-
"--cs-accent-grad-b": "#
|
|
261
|
-
"--cs-color-text-accent": "#
|
|
262
|
-
"--cs-color-link": "#
|
|
266
|
+
"--cs-accent": "#513801",
|
|
267
|
+
"--cs-accent-strong": "#201300",
|
|
268
|
+
"--cs-accent-bright": "#DEC7A2",
|
|
269
|
+
"--cs-accent-on": "#2D220E",
|
|
270
|
+
"--cs-accent-tint": "#FFF6E7",
|
|
271
|
+
"--cs-accent-ink": "#2D220E",
|
|
272
|
+
"--cs-accent-glow": "rgba(81, 56, 1, 0.48)",
|
|
273
|
+
"--cs-accent-grad-a": "#513801",
|
|
274
|
+
"--cs-accent-grad-b": "#FCAF91",
|
|
275
|
+
"--cs-color-text-accent": "#201300",
|
|
276
|
+
"--cs-color-link": "#201300"
|
|
263
277
|
},
|
|
264
|
-
"
|
|
265
|
-
"--cs-accent": "#
|
|
266
|
-
"--cs-accent-strong": "#
|
|
267
|
-
"--cs-accent-bright": "#
|
|
268
|
-
"--cs-accent-on": "#
|
|
269
|
-
"--cs-accent-tint": "#
|
|
270
|
-
"--cs-accent-ink": "#
|
|
271
|
-
"--cs-accent-glow": "rgba(
|
|
272
|
-
"--cs-accent-grad-a": "#
|
|
278
|
+
"hoa.plasma": {
|
|
279
|
+
"--cs-accent": "#FFE1D8",
|
|
280
|
+
"--cs-accent-strong": "#967C75",
|
|
281
|
+
"--cs-accent-bright": "#FCE6DF",
|
|
282
|
+
"--cs-accent-on": "#2C211E",
|
|
283
|
+
"--cs-accent-tint": "#FEF4F2",
|
|
284
|
+
"--cs-accent-ink": "#2C211E",
|
|
285
|
+
"--cs-accent-glow": "rgba(255, 225, 216, 0.48)",
|
|
286
|
+
"--cs-accent-grad-a": "#FFE1D8",
|
|
273
287
|
"--cs-accent-grad-b": "#F4BA17",
|
|
274
|
-
"--cs-color-text-accent": "#
|
|
275
|
-
"--cs-color-link": "#
|
|
288
|
+
"--cs-color-text-accent": "#967C75",
|
|
289
|
+
"--cs-color-link": "#967C75"
|
|
276
290
|
},
|
|
277
291
|
"hoa": {
|
|
278
|
-
"--cs-accent": "#
|
|
279
|
-
"--cs-accent-strong": "#
|
|
280
|
-
"--cs-accent-bright": "#
|
|
281
|
-
"--cs-accent-on": "#
|
|
282
|
-
"--cs-accent-tint": "#
|
|
283
|
-
"--cs-accent-ink": "#
|
|
284
|
-
"--cs-accent-glow": "rgba(
|
|
285
|
-
"--cs-accent-grad-a": "#
|
|
292
|
+
"--cs-accent": "#FCAF91",
|
|
293
|
+
"--cs-accent-strong": "#B47054",
|
|
294
|
+
"--cs-accent-bright": "#FED3C3",
|
|
295
|
+
"--cs-accent-on": "#381B10",
|
|
296
|
+
"--cs-accent-tint": "#FFF4F0",
|
|
297
|
+
"--cs-accent-ink": "#381B10",
|
|
298
|
+
"--cs-accent-glow": "rgba(252, 175, 145, 0.48)",
|
|
299
|
+
"--cs-accent-grad-a": "#FCAF91",
|
|
286
300
|
"--cs-accent-grad-b": "#F4BA17",
|
|
287
|
-
"--cs-color-text-accent": "#
|
|
288
|
-
"--cs-color-link": "#
|
|
301
|
+
"--cs-color-text-accent": "#B47054",
|
|
302
|
+
"--cs-color-link": "#B47054"
|
|
289
303
|
},
|
|
290
304
|
"hoa.lava": {
|
|
291
|
-
"--cs-accent": "#
|
|
292
|
-
"--cs-accent-strong": "#
|
|
293
|
-
"--cs-accent-bright": "#
|
|
294
|
-
"--cs-accent-on": "#
|
|
295
|
-
"--cs-accent-tint": "#
|
|
296
|
-
"--cs-accent-ink": "#
|
|
297
|
-
"--cs-accent-glow": "rgba(
|
|
298
|
-
"--cs-accent-grad-a": "#
|
|
299
|
-
"--cs-accent-grad-b": "#
|
|
300
|
-
"--cs-color-text-accent": "#
|
|
301
|
-
"--cs-color-link": "#
|
|
305
|
+
"--cs-accent": "#622B06",
|
|
306
|
+
"--cs-accent-strong": "#280D00",
|
|
307
|
+
"--cs-accent-bright": "#F1BEA4",
|
|
308
|
+
"--cs-accent-on": "#361D0F",
|
|
309
|
+
"--cs-accent-tint": "#FFF4EF",
|
|
310
|
+
"--cs-accent-ink": "#361D0F",
|
|
311
|
+
"--cs-accent-glow": "rgba(98, 43, 6, 0.48)",
|
|
312
|
+
"--cs-accent-grad-a": "#622B06",
|
|
313
|
+
"--cs-accent-grad-b": "#F4BA17",
|
|
314
|
+
"--cs-color-text-accent": "#280D00",
|
|
315
|
+
"--cs-color-link": "#280D00"
|
|
302
316
|
},
|
|
303
|
-
"
|
|
304
|
-
"--cs-accent": "#
|
|
305
|
-
"--cs-accent-strong": "#
|
|
306
|
-
"--cs-accent-bright": "#
|
|
307
|
-
"--cs-accent-on": "#
|
|
308
|
-
"--cs-accent-tint": "#
|
|
309
|
-
"--cs-accent-ink": "#
|
|
310
|
-
"--cs-accent-glow": "rgba(
|
|
311
|
-
"--cs-accent-grad-a": "#
|
|
312
|
-
"--cs-accent-grad-b": "#
|
|
313
|
-
"--cs-color-text-accent": "#
|
|
314
|
-
"--cs-color-link": "#
|
|
317
|
+
"thuy.mist": {
|
|
318
|
+
"--cs-accent": "#C0F5FC",
|
|
319
|
+
"--cs-accent-strong": "#5A8A90",
|
|
320
|
+
"--cs-accent-bright": "#CDF4F9",
|
|
321
|
+
"--cs-accent-on": "#13282B",
|
|
322
|
+
"--cs-accent-tint": "#EBFAFC",
|
|
323
|
+
"--cs-accent-ink": "#13282B",
|
|
324
|
+
"--cs-accent-glow": "rgba(192, 245, 252, 0.48)",
|
|
325
|
+
"--cs-accent-grad-a": "#C0F5FC",
|
|
326
|
+
"--cs-accent-grad-b": "#A3D768",
|
|
327
|
+
"--cs-color-text-accent": "#5A8A90",
|
|
328
|
+
"--cs-color-link": "#5A8A90"
|
|
315
329
|
},
|
|
316
330
|
"thuy": {
|
|
317
|
-
"--cs-accent": "#
|
|
318
|
-
"--cs-accent-strong": "#
|
|
319
|
-
"--cs-accent-bright": "#
|
|
320
|
-
"--cs-accent-on": "#
|
|
321
|
-
"--cs-accent-tint": "#
|
|
322
|
-
"--cs-accent-ink": "#
|
|
323
|
-
"--cs-accent-glow": "rgba(
|
|
324
|
-
"--cs-accent-grad-a": "#
|
|
325
|
-
"--cs-accent-grad-b": "#
|
|
326
|
-
"--cs-color-text-accent": "#
|
|
327
|
-
"--cs-color-link": "#
|
|
331
|
+
"--cs-accent": "#2EDBF7",
|
|
332
|
+
"--cs-accent-strong": "#108EA0",
|
|
333
|
+
"--cs-accent-bright": "#99EEFF",
|
|
334
|
+
"--cs-accent-on": "#012A30",
|
|
335
|
+
"--cs-accent-tint": "#E7FBFF",
|
|
336
|
+
"--cs-accent-ink": "#012A30",
|
|
337
|
+
"--cs-accent-glow": "rgba(46, 219, 247, 0.48)",
|
|
338
|
+
"--cs-accent-grad-a": "#2EDBF7",
|
|
339
|
+
"--cs-accent-grad-b": "#A3D768",
|
|
340
|
+
"--cs-color-text-accent": "#108EA0",
|
|
341
|
+
"--cs-color-link": "#108EA0"
|
|
328
342
|
},
|
|
329
343
|
"thuy.ocean": {
|
|
330
|
-
"--cs-accent": "#
|
|
331
|
-
"--cs-accent-strong": "#
|
|
332
|
-
"--cs-accent-bright": "#
|
|
333
|
-
"--cs-accent-on": "#
|
|
334
|
-
"--cs-accent-tint": "#
|
|
335
|
-
"--cs-accent-ink": "#
|
|
336
|
-
"--cs-accent-glow": "rgba(
|
|
337
|
-
"--cs-accent-grad-a": "#
|
|
338
|
-
"--cs-accent-grad-b": "#
|
|
339
|
-
"--cs-color-text-accent": "#
|
|
340
|
-
"--cs-color-link": "#
|
|
344
|
+
"--cs-accent": "#004554",
|
|
345
|
+
"--cs-accent-strong": "#011A21",
|
|
346
|
+
"--cs-accent-bright": "#A8D3E0",
|
|
347
|
+
"--cs-accent-on": "#10282F",
|
|
348
|
+
"--cs-accent-tint": "#EAFAFF",
|
|
349
|
+
"--cs-accent-ink": "#10282F",
|
|
350
|
+
"--cs-accent-glow": "rgba(0, 69, 84, 0.48)",
|
|
351
|
+
"--cs-accent-grad-a": "#004554",
|
|
352
|
+
"--cs-accent-grad-b": "#A3D768",
|
|
353
|
+
"--cs-color-text-accent": "#011A21",
|
|
354
|
+
"--cs-color-link": "#011A21"
|
|
341
355
|
},
|
|
342
|
-
"
|
|
343
|
-
"--cs-accent": "#
|
|
344
|
-
"--cs-accent-strong": "#
|
|
345
|
-
"--cs-accent-bright": "#
|
|
346
|
-
"--cs-accent-on": "#
|
|
347
|
-
"--cs-accent-tint": "#
|
|
348
|
-
"--cs-accent-ink": "#
|
|
349
|
-
"--cs-accent-glow": "rgba(
|
|
350
|
-
"--cs-accent-grad-a": "#
|
|
351
|
-
"--cs-accent-grad-b": "#
|
|
352
|
-
"--cs-color-text-accent": "#
|
|
353
|
-
"--cs-color-link": "#
|
|
356
|
+
"moc.bamboo": {
|
|
357
|
+
"--cs-accent": "#E1F1C8",
|
|
358
|
+
"--cs-accent-strong": "#7C8965",
|
|
359
|
+
"--cs-accent-bright": "#E5F1D2",
|
|
360
|
+
"--cs-accent-on": "#212617",
|
|
361
|
+
"--cs-accent-tint": "#F4F9ED",
|
|
362
|
+
"--cs-accent-ink": "#212617",
|
|
363
|
+
"--cs-accent-glow": "rgba(225, 241, 200, 0.48)",
|
|
364
|
+
"--cs-accent-grad-a": "#E1F1C8",
|
|
365
|
+
"--cs-accent-grad-b": "#FCAF91",
|
|
366
|
+
"--cs-color-text-accent": "#7C8965",
|
|
367
|
+
"--cs-color-link": "#7C8965"
|
|
354
368
|
},
|
|
355
369
|
"moc": {
|
|
356
|
-
"--cs-accent": "#
|
|
357
|
-
"--cs-accent-strong": "#
|
|
358
|
-
"--cs-accent-bright": "#
|
|
359
|
-
"--cs-accent-on": "#
|
|
360
|
-
"--cs-accent-tint": "#
|
|
361
|
-
"--cs-accent-ink": "#
|
|
362
|
-
"--cs-accent-glow": "rgba(
|
|
363
|
-
"--cs-accent-grad-a": "#
|
|
364
|
-
"--cs-accent-grad-b": "#
|
|
365
|
-
"--cs-color-text-accent": "#
|
|
366
|
-
"--cs-color-link": "#
|
|
367
|
-
},
|
|
368
|
-
"moc.bamboo": {
|
|
369
|
-
"--cs-accent": "#A9C177",
|
|
370
|
-
"--cs-accent-strong": "#6B8442",
|
|
371
|
-
"--cs-accent-bright": "#C4D69B",
|
|
372
|
-
"--cs-accent-on": "#1C240F",
|
|
373
|
-
"--cs-accent-tint": "#F3F7E8",
|
|
374
|
-
"--cs-accent-ink": "#1C240F",
|
|
375
|
-
"--cs-accent-glow": "rgba(169, 193, 119, 0.55)",
|
|
376
|
-
"--cs-accent-grad-a": "#A9C177",
|
|
377
|
-
"--cs-accent-grad-b": "#7A9B57",
|
|
378
|
-
"--cs-color-text-accent": "#5B7237",
|
|
379
|
-
"--cs-color-link": "#5B7237"
|
|
370
|
+
"--cs-accent": "#A3D768",
|
|
371
|
+
"--cs-accent-strong": "#629122",
|
|
372
|
+
"--cs-accent-bright": "#C5ED9C",
|
|
373
|
+
"--cs-accent-on": "#182A00",
|
|
374
|
+
"--cs-accent-tint": "#EFFCE3",
|
|
375
|
+
"--cs-accent-ink": "#182A00",
|
|
376
|
+
"--cs-accent-glow": "rgba(163, 215, 104, 0.48)",
|
|
377
|
+
"--cs-accent-grad-a": "#A3D768",
|
|
378
|
+
"--cs-accent-grad-b": "#FCAF91",
|
|
379
|
+
"--cs-color-text-accent": "#629122",
|
|
380
|
+
"--cs-color-link": "#629122"
|
|
380
381
|
},
|
|
381
382
|
"moc.forest": {
|
|
382
|
-
"--cs-accent": "#
|
|
383
|
-
"--cs-accent-strong": "#
|
|
384
|
-
"--cs-accent-bright": "#
|
|
385
|
-
"--cs-accent-on": "#
|
|
386
|
-
"--cs-accent-tint": "#
|
|
387
|
-
"--cs-accent-ink": "#
|
|
388
|
-
"--cs-accent-glow": "rgba(
|
|
389
|
-
"--cs-accent-grad-a": "#
|
|
390
|
-
"--cs-accent-grad-b": "#
|
|
391
|
-
"--cs-color-text-accent": "#
|
|
392
|
-
"--cs-color-link": "#
|
|
383
|
+
"--cs-accent": "#1A4A01",
|
|
384
|
+
"--cs-accent-strong": "#051D00",
|
|
385
|
+
"--cs-accent-bright": "#B0D8A3",
|
|
386
|
+
"--cs-accent-on": "#162A0E",
|
|
387
|
+
"--cs-accent-tint": "#ECFDE7",
|
|
388
|
+
"--cs-accent-ink": "#162A0E",
|
|
389
|
+
"--cs-accent-glow": "rgba(26, 74, 1, 0.48)",
|
|
390
|
+
"--cs-accent-grad-a": "#1A4A01",
|
|
391
|
+
"--cs-accent-grad-b": "#FCAF91",
|
|
392
|
+
"--cs-color-text-accent": "#051D00",
|
|
393
|
+
"--cs-color-link": "#051D00"
|
|
394
|
+
},
|
|
395
|
+
"kim.titanium": {
|
|
396
|
+
"--cs-accent": "#FEE5C7",
|
|
397
|
+
"--cs-accent-strong": "#947F65",
|
|
398
|
+
"--cs-accent-bright": "#FBE8D2",
|
|
399
|
+
"--cs-accent-on": "#2B2217",
|
|
400
|
+
"--cs-accent-tint": "#FDF5ED",
|
|
401
|
+
"--cs-accent-ink": "#2B2217",
|
|
402
|
+
"--cs-accent-glow": "rgba(254, 229, 199, 0.48)",
|
|
403
|
+
"--cs-accent-grad-a": "#FEE5C7",
|
|
404
|
+
"--cs-accent-grad-b": "#2EDBF7",
|
|
405
|
+
"--cs-color-text-accent": "#947F65",
|
|
406
|
+
"--cs-color-link": "#947F65"
|
|
393
407
|
},
|
|
394
408
|
"kim": {
|
|
395
|
-
"--cs-accent": "#
|
|
396
|
-
"--cs-accent-strong": "#
|
|
397
|
-
"--cs-accent-bright": "#
|
|
398
|
-
"--cs-accent-on": "#
|
|
399
|
-
"--cs-accent-tint": "#
|
|
400
|
-
"--cs-accent-ink": "#
|
|
401
|
-
"--cs-accent-glow": "rgba(
|
|
402
|
-
"--cs-accent-grad-a": "#
|
|
403
|
-
"--cs-accent-grad-b": "#
|
|
404
|
-
"--cs-color-text-accent": "#
|
|
405
|
-
"--cs-color-link": "#
|
|
409
|
+
"--cs-accent": "#F3B958",
|
|
410
|
+
"--cs-accent-strong": "#AC780B",
|
|
411
|
+
"--cs-accent-bright": "#FDD89F",
|
|
412
|
+
"--cs-accent-on": "#312002",
|
|
413
|
+
"--cs-accent-tint": "#FFF5E7",
|
|
414
|
+
"--cs-accent-ink": "#312002",
|
|
415
|
+
"--cs-accent-glow": "rgba(243, 185, 88, 0.48)",
|
|
416
|
+
"--cs-accent-grad-a": "#F3B958",
|
|
417
|
+
"--cs-accent-grad-b": "#2EDBF7",
|
|
418
|
+
"--cs-color-text-accent": "#AC780B",
|
|
419
|
+
"--cs-color-link": "#AC780B"
|
|
406
420
|
},
|
|
407
421
|
"kim.steel": {
|
|
408
|
-
"--cs-accent": "#
|
|
409
|
-
"--cs-accent-strong": "#
|
|
410
|
-
"--cs-accent-bright": "#
|
|
411
|
-
"--cs-accent-on": "#
|
|
412
|
-
"--cs-accent-tint": "#
|
|
413
|
-
"--cs-accent-ink": "#
|
|
414
|
-
"--cs-accent-glow": "rgba(
|
|
415
|
-
"--cs-accent-grad-a": "#
|
|
416
|
-
"--cs-accent-grad-b": "#
|
|
417
|
-
"--cs-color-text-accent": "#
|
|
418
|
-
"--cs-color-link": "#
|
|
419
|
-
},
|
|
420
|
-
"kim.titanium": {
|
|
421
|
-
"--cs-accent": "#8A7F72",
|
|
422
|
-
"--cs-accent-strong": "#56504A",
|
|
423
|
-
"--cs-accent-bright": "#D9CFC0",
|
|
424
|
-
"--cs-accent-on": "#171310",
|
|
425
|
-
"--cs-accent-tint": "#EFEBE5",
|
|
426
|
-
"--cs-accent-ink": "#171310",
|
|
427
|
-
"--cs-accent-glow": "rgba(138, 127, 114, 0.5)",
|
|
428
|
-
"--cs-accent-grad-a": "#8A7F72",
|
|
429
|
-
"--cs-accent-grad-b": "#BFB29B",
|
|
430
|
-
"--cs-color-text-accent": "#56504A",
|
|
431
|
-
"--cs-color-link": "#56504A"
|
|
422
|
+
"--cs-accent": "#503901",
|
|
423
|
+
"--cs-accent-strong": "#1F1400",
|
|
424
|
+
"--cs-accent-bright": "#DCC8A2",
|
|
425
|
+
"--cs-accent-on": "#2D220E",
|
|
426
|
+
"--cs-accent-tint": "#FEF6E7",
|
|
427
|
+
"--cs-accent-ink": "#2D220E",
|
|
428
|
+
"--cs-accent-glow": "rgba(80, 57, 1, 0.48)",
|
|
429
|
+
"--cs-accent-grad-a": "#503901",
|
|
430
|
+
"--cs-accent-grad-b": "#2EDBF7",
|
|
431
|
+
"--cs-color-text-accent": "#1F1400",
|
|
432
|
+
"--cs-color-link": "#1F1400"
|
|
432
433
|
}
|
|
433
434
|
}
|
|
434
435
|
}
|
package/tokens/typography.css
CHANGED
|
@@ -5,8 +5,16 @@
|
|
|
5
5
|
* usage (status hub: 11–24px chrome; hero display larger). Vietnamese-safe
|
|
6
6
|
* line-heights (body 1.5 / heading 1.35) leave room for stacked diacritics. */
|
|
7
7
|
:root {
|
|
8
|
-
/* Families
|
|
8
|
+
/* Families.
|
|
9
|
+
* `display` is the opt-in headline face (Space Grotesk, self-hosted 300-700,
|
|
10
|
+
* Vietnamese subset included) used by cyberskill.world / Lumi. Nothing points
|
|
11
|
+
* at it by default: opt a scope in with `--cs-heading-family:
|
|
12
|
+
* var(--cs-font-family-display)` or the `.cs-display-face` utility. Space
|
|
13
|
+
* Grotesk has no 800, so extrabold headings clamp to 700 within that family
|
|
14
|
+
* (CSS does not hop to the next stack family for a missing weight); Be
|
|
15
|
+
* Vietnam Pro in the stack covers glyphs outside Space Grotesk's subsets. */
|
|
9
16
|
--cs-font-family-ui: 'Be Vietnam Pro', ui-sans-serif, system-ui, sans-serif;
|
|
17
|
+
--cs-font-family-display: 'Space Grotesk', 'Be Vietnam Pro', ui-sans-serif, system-ui, sans-serif;
|
|
10
18
|
--cs-font-family-mono: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
|
|
11
19
|
|
|
12
20
|
/* Weights */
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Status Hub — UI kit
|
|
2
2
|
|
|
3
|
-
A high-fidelity recreation of **CyberSkill Status Hub** (`status-hub@2`): the single-page portfolio dashboard
|
|
3
|
+
A high-fidelity recreation of **CyberSkill Status Hub** (`status-hub@2`): the single-page portfolio dashboard. One page, three lenses. (Gate / Health browsing for operators is Storybook **Status** / `_audit/run.html` — not this kit.)
|
|
4
4
|
|
|
5
5
|
## What it demonstrates
|
|
6
6
|
- **Umber header** with the official Logo mark on an Ochre tile, the product title, and a warm-dark theme toggle (`data-theme` on the root — flip it to see the whole surface re-theme).
|
|
@@ -28,7 +28,6 @@ A high-fidelity recreation of **CyberSkill Status Hub** (`status-hub@2`): the si
|
|
|
28
28
|
|
|
29
29
|
- `project.html` — full project detail view: breadcrumb, KPI stats, tasks, `cs-steps`, `cs-timeline`, `cs-dl` (dark toggle).
|
|
30
30
|
|
|
31
|
-
- `identity-lab.html` — live Theme × Element switching on a product surface (15 element-variant pills · light/dark).
|
|
32
31
|
|
|
33
32
|
- `status.css` — product component styles ported from the real status-hub stylesheet; **tokens come from the design system**, not redeclared.
|
|
34
33
|
|
|
@@ -9,8 +9,8 @@
|
|
|
9
9
|
<link rel="stylesheet" href="../../styles.css" />
|
|
10
10
|
<link rel="stylesheet" href="status.css" />
|
|
11
11
|
<style>html,body{margin:0;background:var(--cs-color-surface-page);min-height:100vh}</style>
|
|
12
|
-
<script src="https://unpkg.com/react@
|
|
13
|
-
<script src="https://unpkg.com/react
|
|
12
|
+
<script src="https://unpkg.com/umd-react@19.2.8/dist/react.development.js" integrity="sha384-r22tQd8qRIHDPIkmdXZcVtvPi1Tj2x1QaW2tmFQHEvHscATUnHQ5siTyxWw5PMUs" crossorigin="anonymous"></script>
|
|
13
|
+
<script src="https://unpkg.com/umd-react@19.2.8/dist/react-dom.development.js" integrity="sha384-gJZYmumEmwqVmX3JVsLZq+4QrxoPGh/BW47Rk7SqNPCPFpTGnRtvmeRPJ7//ZDPk" crossorigin="anonymous"></script>
|
|
14
14
|
<script src="https://unpkg.com/@babel/standalone@7.29.0/babel.min.js" integrity="sha384-m08KidiNqLdpJqLq95G/LEi8Qvjl/xUYll3QILypMoQ65QorJ9Lvtp2RXYGBFj1y" crossorigin="anonymous"></script>
|
|
15
15
|
<script src="data.js"></script>
|
|
16
16
|
</head>
|
|
@@ -59,9 +59,12 @@
|
|
|
59
59
|
<section class="panel">
|
|
60
60
|
<h3 class="sec">Notifications</h3>
|
|
61
61
|
<p class="hint">We keep it quiet — only what you ask for.</p>
|
|
62
|
-
<div class="
|
|
63
|
-
|
|
64
|
-
|
|
62
|
+
<div class="cs-scroll-area" style="max-block-size:220px;padding-inline-end:6px" tabindex="0" aria-label="Notification preferences">
|
|
63
|
+
<div class="toggle-row"><div><div class="t">Release notes</div><div class="d">A summary each time a project ships. Bilingual (EN + VN).</div></div><label class="cs-switch"><input type="checkbox" role="switch" checked /><span class="cs-switch__track"></span></label></div>
|
|
64
|
+
<div class="toggle-row"><div><div class="t">Blocked-project alerts</div><div class="d">Get pinged when a project moves to Blocked.</div></div><label class="cs-switch"><input type="checkbox" role="switch" checked /><span class="cs-switch__track"></span></label></div>
|
|
65
|
+
<div class="toggle-row"><div><div class="t">Weekly velocity digest</div><div class="d">Tasks shipped per week, every Monday morning.</div></div><label class="cs-switch"><input type="checkbox" role="switch" /><span class="cs-switch__track"></span></label></div>
|
|
66
|
+
<div class="toggle-row"><div><div class="t">Quiet hours</div><div class="d">No pings between 22:00 and 07:00 local time.</div></div><label class="cs-switch"><input type="checkbox" role="switch" checked /><span class="cs-switch__track"></span></label></div>
|
|
67
|
+
</div>
|
|
65
68
|
</section>
|
|
66
69
|
|
|
67
70
|
<section class="danger">
|
|
@@ -30,8 +30,8 @@
|
|
|
30
30
|
.lumi-answer-meta { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
|
|
31
31
|
@media (max-width: 820px) { .lumi-page { grid-template-columns: 1fr; } .lumi-side { display: none; } }
|
|
32
32
|
</style>
|
|
33
|
-
<script src="https://unpkg.com/react@
|
|
34
|
-
<script src="https://unpkg.com/react
|
|
33
|
+
<script src="https://unpkg.com/umd-react@19.2.8/dist/react.development.js" integrity="sha384-r22tQd8qRIHDPIkmdXZcVtvPi1Tj2x1QaW2tmFQHEvHscATUnHQ5siTyxWw5PMUs" crossorigin="anonymous"></script>
|
|
34
|
+
<script src="https://unpkg.com/umd-react@19.2.8/dist/react-dom.development.js" integrity="sha384-gJZYmumEmwqVmX3JVsLZq+4QrxoPGh/BW47Rk7SqNPCPFpTGnRtvmeRPJ7//ZDPk" crossorigin="anonymous"></script>
|
|
35
35
|
<script src="https://unpkg.com/@babel/standalone@7.29.0/babel.min.js" integrity="sha384-m08KidiNqLdpJqLq95G/LEi8Qvjl/xUYll3QILypMoQ65QorJ9Lvtp2RXYGBFj1y" crossorigin="anonymous"></script>
|
|
36
36
|
<script src="../../_ds_bundle.js"></script>
|
|
37
37
|
</head>
|
|
@@ -9,8 +9,8 @@
|
|
|
9
9
|
<link rel="stylesheet" href="../../styles.css" />
|
|
10
10
|
<link rel="stylesheet" href="site.css" />
|
|
11
11
|
<style>html,body{margin:0}</style>
|
|
12
|
-
<script src="https://unpkg.com/react@
|
|
13
|
-
<script src="https://unpkg.com/react
|
|
12
|
+
<script src="https://unpkg.com/umd-react@19.2.8/dist/react.development.js" integrity="sha384-r22tQd8qRIHDPIkmdXZcVtvPi1Tj2x1QaW2tmFQHEvHscATUnHQ5siTyxWw5PMUs" crossorigin="anonymous"></script>
|
|
13
|
+
<script src="https://unpkg.com/umd-react@19.2.8/dist/react-dom.development.js" integrity="sha384-gJZYmumEmwqVmX3JVsLZq+4QrxoPGh/BW47Rk7SqNPCPFpTGnRtvmeRPJ7//ZDPk" crossorigin="anonymous"></script>
|
|
14
14
|
<script src="https://unpkg.com/@babel/standalone@7.29.0/babel.min.js" integrity="sha384-m08KidiNqLdpJqLq95G/LEi8Qvjl/xUYll3QILypMoQ65QorJ9Lvtp2RXYGBFj1y" crossorigin="anonymous"></script>
|
|
15
15
|
<script src="copy.js"></script>
|
|
16
16
|
</head>
|