@cyberskill/design 2.5.0 → 2.6.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.
Files changed (459) hide show
  1. package/DESIGN.md +3 -3
  2. package/README.md +6 -5
  3. package/SECURITY.md +4 -4
  4. package/VERSION +1 -1
  5. package/_ds_bundle.js +2 -2
  6. package/_ds_bundle.js.map +1 -1
  7. package/_ds_manifest.json +0 -96
  8. package/_esm/cs.mjs +2 -2
  9. package/base/a11y.css +6 -11
  10. package/components/ai/ai-conversation.card.html +1 -1
  11. package/components/ai/ai-lumi.card.html +1 -1
  12. package/components/ai/ai.card.html +1 -1
  13. package/components/brand/brand.card.html +1 -1
  14. package/components/button/buttons.card.html +1 -1
  15. package/components/data/collections.card.html +1 -1
  16. package/components/data/data.card.html +1 -1
  17. package/components/datatable/datatable.card.html +1 -1
  18. package/components/dialog/dialog.card.html +1 -1
  19. package/components/feedback/feedback-2.card.html +1 -1
  20. package/components/feedback/feedback.card.html +2 -2
  21. package/components/forms/forms-2.card.html +1 -1
  22. package/components/forms/forms.card.html +1 -1
  23. package/components/i18n/i18n.card.html +1 -1
  24. package/components/icon/icon.card.html +1 -1
  25. package/components/logo/logo.card.html +2 -2
  26. package/components/navigation/navigation.card.html +1 -1
  27. package/components/navigation/shell.card.html +1 -1
  28. package/components/overlays/alertdialog.card.html +1 -1
  29. package/components/overlays/overlays.card.html +1 -1
  30. package/components/prompt-api.json +1 -1
  31. package/components/release-compatibility.json +1 -1
  32. package/components/specifications.json +1 -1
  33. package/components/static-html-reference.json +20 -20
  34. package/components/textfield/textfield.card.html +1 -1
  35. package/dist/esm/build.json +1 -1
  36. package/dist/styles.css +3177 -0
  37. package/dist/styles.min.css +1 -1
  38. package/docs/UPSTREAM.md +39 -0
  39. package/docs/consuming.md +1 -1
  40. package/docs/contrast-report.md +1 -1
  41. package/docs/conventions.md +1 -1
  42. package/docs/guideline-language.md +2 -2
  43. package/docs/reference-catalog.json +34 -22
  44. package/docs/release-notes.md +14 -1
  45. package/docs/static-html-reference.md +18 -18
  46. package/docs/template-inventory.json +125 -125
  47. package/docs/vi/UPSTREAM.md +39 -0
  48. package/docs/vi/consuming.md +1 -1
  49. package/docs/vi/contrast-report.md +1 -1
  50. package/docs/vi/conventions.md +1 -1
  51. package/docs/vi/entrypoints/DESIGN.md +3 -3
  52. package/docs/vi/entrypoints/README.md +6 -5
  53. package/docs/vi/guideline-language.md +2 -2
  54. package/docs/vi/release-notes.md +14 -1
  55. package/docs/vi/static-html-reference.md +18 -18
  56. package/docs/viewer.html +2 -2
  57. package/guidelines/atomic-view.html +5 -5
  58. package/guidelines/brand-iconography.html +1 -1
  59. package/guidelines/brand-imagery.html +1 -1
  60. package/guidelines/brand-interaction.html +1 -1
  61. package/guidelines/brand-voice.html +1 -1
  62. package/guidelines/colors-anchors.html +1 -1
  63. package/guidelines/colors-semantic.html +1 -1
  64. package/guidelines/colors-surfaces.html +1 -1
  65. package/guidelines/colors-text.html +1 -1
  66. package/guidelines/documents.html +1 -1
  67. package/guidelines/elements-components.html +1 -1
  68. package/guidelines/elements-concept.html +1 -1
  69. package/guidelines/elements-geometry.html +1 -1
  70. package/guidelines/elements-variants.html +1 -1
  71. package/guidelines/guideline-language.js +6 -5
  72. package/guidelines/motion-interaction.html +1 -1
  73. package/guidelines/motion.html +1 -1
  74. package/guidelines/responsive-bilingual.html +1 -1
  75. package/guidelines/rtl-preview.html +1 -1
  76. package/guidelines/spacing-breakpoints.html +1 -1
  77. package/guidelines/spacing-radius.html +1 -1
  78. package/guidelines/spacing-scale.html +1 -1
  79. package/guidelines/surfaces-aurora.html +1 -1
  80. package/guidelines/surfaces-depth.html +1 -1
  81. package/guidelines/surfaces-glass.html +1 -1
  82. package/guidelines/surfaces-shadow.html +1 -1
  83. package/guidelines/type-families.html +1 -1
  84. package/guidelines/type-lineheight.html +1 -1
  85. package/guidelines/type-scale.html +1 -1
  86. package/guidelines/type-weights.html +1 -1
  87. package/package.json +8 -4
  88. package/styles/components/manifest.json +124 -124
  89. package/styles.layered.css +8 -10
  90. package/styles.layered.provenance.json +3 -3
  91. package/templates/_ds-base.canonical.js +6 -4
  92. package/templates/app-shell/ds-base.js +6 -4
  93. package/templates/article/ds-base.js +6 -4
  94. package/templates/auth/ds-base.js +6 -4
  95. package/templates/bod-deck/ds-base.js +6 -4
  96. package/templates/bod-investor-update/ds-base.js +6 -4
  97. package/templates/bod-memo/ds-base.js +6 -4
  98. package/templates/bod-minutes/ds-base.js +6 -4
  99. package/templates/bod-report/ds-base.js +6 -4
  100. package/templates/bod-resolution/ds-base.js +6 -4
  101. package/templates/culture-event-invite/ds-base.js +6 -4
  102. package/templates/dashboard/ds-base.js +6 -4
  103. package/templates/delivery-change-note/ds-base.js +6 -4
  104. package/templates/delivery-kickoff/ds-base.js +6 -4
  105. package/templates/delivery-qbr-deck/ds-base.js +6 -4
  106. package/templates/delivery-runbook/ds-base.js +6 -4
  107. package/templates/delivery-status-email/ds-base.js +6 -4
  108. package/templates/doc-style-guide/ds-base.js +6 -4
  109. package/templates/doc-suite-index/ds-base.js +6 -4
  110. package/templates/doc-templates/ds-base.js +6 -4
  111. package/templates/email/ds-base.js +6 -4
  112. package/templates/finance-dunning-email/ds-base.js +6 -4
  113. package/templates/finance-expense-report/ds-base.js +6 -4
  114. package/templates/finance-invoice/ds-base.js +6 -4
  115. package/templates/finance-quote/ds-base.js +6 -4
  116. package/templates/hr-announcement/ds-base.js +6 -4
  117. package/templates/hr-interview-kit/ds-base.js +6 -4
  118. package/templates/hr-offboarding/ds-base.js +6 -4
  119. package/templates/hr-performance-review/ds-base.js +6 -4
  120. package/templates/hr-pip/ds-base.js +6 -4
  121. package/templates/kitchen-sink.html +1 -1
  122. package/templates/legal-msa/ds-base.js +6 -4
  123. package/templates/legal-sow/ds-base.js +6 -4
  124. package/templates/marketing-campaign-brief/ds-base.js +6 -4
  125. package/templates/marketing-case-study/ds-base.js +6 -4
  126. package/templates/marketing-launch/ds-base.js +6 -4
  127. package/templates/marketing-newsletter/ds-base.js +6 -4
  128. package/templates/marketing-page/ds-base.js +6 -4
  129. package/templates/marketing-press-release/ds-base.js +6 -4
  130. package/templates/marketing-social-kit/ds-base.js +6 -4
  131. package/templates/sales-one-pager/ds-base.js +6 -4
  132. package/templates/sales-proposal-deck/ds-base.js +6 -4
  133. package/templates/settings/ds-base.js +6 -4
  134. package/templates/slide-deck/ds-base.js +6 -4
  135. package/templates/team-meeting-agenda/ds-base.js +6 -4
  136. package/templates/tech-incident-report/ds-base.js +6 -4
  137. package/templates/tech-release-notes/ds-base.js +6 -4
  138. package/templates/tech-retro/ds-base.js +6 -4
  139. package/templates/tech-rfc/ds-base.js +6 -4
  140. package/templates/vn-appointment-transfer/ds-base.js +6 -4
  141. package/templates/vn-certificate-of-employment/ds-base.js +6 -4
  142. package/templates/vn-code-of-conduct/ds-base.js +6 -4
  143. package/templates/vn-compensation-regulation/ds-base.js +6 -4
  144. package/templates/vn-contract-amendment/ds-base.js +6 -4
  145. package/templates/vn-contractor-agreement/ds-base.js +6 -4
  146. package/templates/vn-data-protection-policy/ds-base.js +6 -4
  147. package/templates/vn-disciplinary-case-file/ds-base.js +6 -4
  148. package/templates/vn-disciplinary-schedule/ds-base.js +6 -4
  149. package/templates/vn-employee-request/ds-base.js +6 -4
  150. package/templates/vn-exit-handover/ds-base.js +6 -4
  151. package/templates/vn-foreign-employee-pack/ds-base.js +6 -4
  152. package/templates/vn-framework-agreement/ds-base.js +6 -4
  153. package/templates/vn-grassroots-democracy/ds-base.js +6 -4
  154. package/templates/vn-infosec-policy/ds-base.js +6 -4
  155. package/templates/vn-internal-labor-regulations/ds-base.js +6 -4
  156. package/templates/vn-internship-agreement/ds-base.js +6 -4
  157. package/templates/vn-job-description/ds-base.js +6 -4
  158. package/templates/vn-labor-contract/ds-base.js +6 -4
  159. package/templates/vn-labour-management-book/ds-base.js +6 -4
  160. package/templates/vn-mutual-nda/ds-base.js +6 -4
  161. package/templates/vn-ndnca-ip/ds-base.js +6 -4
  162. package/templates/vn-offer-letter/ds-base.js +6 -4
  163. package/templates/vn-onboarding-checklist/ds-base.js +6 -4
  164. package/templates/vn-pdpl-consent/ds-base.js +6 -4
  165. package/templates/vn-performance-evaluation-regulation/ds-base.js +6 -4
  166. package/templates/vn-performance-review-form/ds-base.js +6 -4
  167. package/templates/vn-phantom-stock/ds-base.js +6 -4
  168. package/templates/vn-probation-contract/ds-base.js +6 -4
  169. package/templates/vn-receipt-acknowledgement/ds-base.js +6 -4
  170. package/templates/vn-remote-work-policy/ds-base.js +6 -4
  171. package/templates/vn-resignation-letter/ds-base.js +6 -4
  172. package/templates/vn-salary-scale/ds-base.js +6 -4
  173. package/templates/vn-sow-appendix/ds-base.js +6 -4
  174. package/templates/vn-termination-decision/ds-base.js +6 -4
  175. package/templates/vn-total-rewards-appendix/ds-base.js +6 -4
  176. package/templates/vn-training-commitment/ds-base.js +6 -4
  177. package/templates/vn-travel-expense-policy/ds-base.js +6 -4
  178. package/tokens/declarations.json +2 -128
  179. package/tokens/element-seeds.json +1 -1
  180. package/tokens/modes/dark__default__comfortable__high.dtcg.json +1 -1
  181. package/tokens/modes/dark__default__comfortable__standard.dtcg.json +1 -1
  182. package/tokens/modes/dark__default__compact__high.dtcg.json +1 -1
  183. package/tokens/modes/dark__default__compact__standard.dtcg.json +1 -1
  184. package/tokens/modes/dark__hoa-lava__comfortable__high.dtcg.json +1 -1
  185. package/tokens/modes/dark__hoa-lava__comfortable__standard.dtcg.json +1 -1
  186. package/tokens/modes/dark__hoa-lava__compact__high.dtcg.json +1 -1
  187. package/tokens/modes/dark__hoa-lava__compact__standard.dtcg.json +1 -1
  188. package/tokens/modes/dark__hoa-plasma__comfortable__high.dtcg.json +1 -1
  189. package/tokens/modes/dark__hoa-plasma__comfortable__standard.dtcg.json +1 -1
  190. package/tokens/modes/dark__hoa-plasma__compact__high.dtcg.json +1 -1
  191. package/tokens/modes/dark__hoa-plasma__compact__standard.dtcg.json +1 -1
  192. package/tokens/modes/dark__hoa__comfortable__high.dtcg.json +1 -1
  193. package/tokens/modes/dark__hoa__comfortable__standard.dtcg.json +1 -1
  194. package/tokens/modes/dark__hoa__compact__high.dtcg.json +1 -1
  195. package/tokens/modes/dark__hoa__compact__standard.dtcg.json +1 -1
  196. package/tokens/modes/dark__kim-steel__comfortable__high.dtcg.json +1 -1
  197. package/tokens/modes/dark__kim-steel__comfortable__standard.dtcg.json +1 -1
  198. package/tokens/modes/dark__kim-steel__compact__high.dtcg.json +1 -1
  199. package/tokens/modes/dark__kim-steel__compact__standard.dtcg.json +1 -1
  200. package/tokens/modes/dark__kim-titanium__comfortable__high.dtcg.json +1 -1
  201. package/tokens/modes/dark__kim-titanium__comfortable__standard.dtcg.json +1 -1
  202. package/tokens/modes/dark__kim-titanium__compact__high.dtcg.json +1 -1
  203. package/tokens/modes/dark__kim-titanium__compact__standard.dtcg.json +1 -1
  204. package/tokens/modes/dark__kim__comfortable__high.dtcg.json +1 -1
  205. package/tokens/modes/dark__kim__comfortable__standard.dtcg.json +1 -1
  206. package/tokens/modes/dark__kim__compact__high.dtcg.json +1 -1
  207. package/tokens/modes/dark__kim__compact__standard.dtcg.json +1 -1
  208. package/tokens/modes/dark__moc-bamboo__comfortable__high.dtcg.json +1 -1
  209. package/tokens/modes/dark__moc-bamboo__comfortable__standard.dtcg.json +1 -1
  210. package/tokens/modes/dark__moc-bamboo__compact__high.dtcg.json +1 -1
  211. package/tokens/modes/dark__moc-bamboo__compact__standard.dtcg.json +1 -1
  212. package/tokens/modes/dark__moc-forest__comfortable__high.dtcg.json +1 -1
  213. package/tokens/modes/dark__moc-forest__comfortable__standard.dtcg.json +1 -1
  214. package/tokens/modes/dark__moc-forest__compact__high.dtcg.json +1 -1
  215. package/tokens/modes/dark__moc-forest__compact__standard.dtcg.json +1 -1
  216. package/tokens/modes/dark__moc__comfortable__high.dtcg.json +1 -1
  217. package/tokens/modes/dark__moc__comfortable__standard.dtcg.json +1 -1
  218. package/tokens/modes/dark__moc__compact__high.dtcg.json +1 -1
  219. package/tokens/modes/dark__moc__compact__standard.dtcg.json +1 -1
  220. package/tokens/modes/dark__tho-clay__comfortable__high.dtcg.json +1 -1
  221. package/tokens/modes/dark__tho-clay__comfortable__standard.dtcg.json +1 -1
  222. package/tokens/modes/dark__tho-clay__compact__high.dtcg.json +1 -1
  223. package/tokens/modes/dark__tho-clay__compact__standard.dtcg.json +1 -1
  224. package/tokens/modes/dark__tho-sand__comfortable__high.dtcg.json +1 -1
  225. package/tokens/modes/dark__tho-sand__comfortable__standard.dtcg.json +1 -1
  226. package/tokens/modes/dark__tho-sand__compact__high.dtcg.json +1 -1
  227. package/tokens/modes/dark__tho-sand__compact__standard.dtcg.json +1 -1
  228. package/tokens/modes/dark__tho__comfortable__high.dtcg.json +1 -1
  229. package/tokens/modes/dark__tho__comfortable__standard.dtcg.json +1 -1
  230. package/tokens/modes/dark__tho__compact__high.dtcg.json +1 -1
  231. package/tokens/modes/dark__tho__compact__standard.dtcg.json +1 -1
  232. package/tokens/modes/dark__thuy-mist__comfortable__high.dtcg.json +1 -1
  233. package/tokens/modes/dark__thuy-mist__comfortable__standard.dtcg.json +1 -1
  234. package/tokens/modes/dark__thuy-mist__compact__high.dtcg.json +1 -1
  235. package/tokens/modes/dark__thuy-mist__compact__standard.dtcg.json +1 -1
  236. package/tokens/modes/dark__thuy-ocean__comfortable__high.dtcg.json +1 -1
  237. package/tokens/modes/dark__thuy-ocean__comfortable__standard.dtcg.json +1 -1
  238. package/tokens/modes/dark__thuy-ocean__compact__high.dtcg.json +1 -1
  239. package/tokens/modes/dark__thuy-ocean__compact__standard.dtcg.json +1 -1
  240. package/tokens/modes/dark__thuy__comfortable__high.dtcg.json +1 -1
  241. package/tokens/modes/dark__thuy__comfortable__standard.dtcg.json +1 -1
  242. package/tokens/modes/dark__thuy__compact__high.dtcg.json +1 -1
  243. package/tokens/modes/dark__thuy__compact__standard.dtcg.json +1 -1
  244. package/tokens/modes/index.json +260 -260
  245. package/tokens/modes/light__default__comfortable__high.dtcg.json +1 -1
  246. package/tokens/modes/light__default__comfortable__standard.dtcg.json +1 -1
  247. package/tokens/modes/light__default__compact__high.dtcg.json +1 -1
  248. package/tokens/modes/light__default__compact__standard.dtcg.json +1 -1
  249. package/tokens/modes/light__hoa-lava__comfortable__high.dtcg.json +1 -1
  250. package/tokens/modes/light__hoa-lava__comfortable__standard.dtcg.json +1 -1
  251. package/tokens/modes/light__hoa-lava__compact__high.dtcg.json +1 -1
  252. package/tokens/modes/light__hoa-lava__compact__standard.dtcg.json +1 -1
  253. package/tokens/modes/light__hoa-plasma__comfortable__high.dtcg.json +1 -1
  254. package/tokens/modes/light__hoa-plasma__comfortable__standard.dtcg.json +1 -1
  255. package/tokens/modes/light__hoa-plasma__compact__high.dtcg.json +1 -1
  256. package/tokens/modes/light__hoa-plasma__compact__standard.dtcg.json +1 -1
  257. package/tokens/modes/light__hoa__comfortable__high.dtcg.json +1 -1
  258. package/tokens/modes/light__hoa__comfortable__standard.dtcg.json +1 -1
  259. package/tokens/modes/light__hoa__compact__high.dtcg.json +1 -1
  260. package/tokens/modes/light__hoa__compact__standard.dtcg.json +1 -1
  261. package/tokens/modes/light__kim-steel__comfortable__high.dtcg.json +1 -1
  262. package/tokens/modes/light__kim-steel__comfortable__standard.dtcg.json +1 -1
  263. package/tokens/modes/light__kim-steel__compact__high.dtcg.json +1 -1
  264. package/tokens/modes/light__kim-steel__compact__standard.dtcg.json +1 -1
  265. package/tokens/modes/light__kim-titanium__comfortable__high.dtcg.json +1 -1
  266. package/tokens/modes/light__kim-titanium__comfortable__standard.dtcg.json +1 -1
  267. package/tokens/modes/light__kim-titanium__compact__high.dtcg.json +1 -1
  268. package/tokens/modes/light__kim-titanium__compact__standard.dtcg.json +1 -1
  269. package/tokens/modes/light__kim__comfortable__high.dtcg.json +1 -1
  270. package/tokens/modes/light__kim__comfortable__standard.dtcg.json +1 -1
  271. package/tokens/modes/light__kim__compact__high.dtcg.json +1 -1
  272. package/tokens/modes/light__kim__compact__standard.dtcg.json +1 -1
  273. package/tokens/modes/light__moc-bamboo__comfortable__high.dtcg.json +1 -1
  274. package/tokens/modes/light__moc-bamboo__comfortable__standard.dtcg.json +1 -1
  275. package/tokens/modes/light__moc-bamboo__compact__high.dtcg.json +1 -1
  276. package/tokens/modes/light__moc-bamboo__compact__standard.dtcg.json +1 -1
  277. package/tokens/modes/light__moc-forest__comfortable__high.dtcg.json +1 -1
  278. package/tokens/modes/light__moc-forest__comfortable__standard.dtcg.json +1 -1
  279. package/tokens/modes/light__moc-forest__compact__high.dtcg.json +1 -1
  280. package/tokens/modes/light__moc-forest__compact__standard.dtcg.json +1 -1
  281. package/tokens/modes/light__moc__comfortable__high.dtcg.json +1 -1
  282. package/tokens/modes/light__moc__comfortable__standard.dtcg.json +1 -1
  283. package/tokens/modes/light__moc__compact__high.dtcg.json +1 -1
  284. package/tokens/modes/light__moc__compact__standard.dtcg.json +1 -1
  285. package/tokens/modes/light__tho-clay__comfortable__high.dtcg.json +1 -1
  286. package/tokens/modes/light__tho-clay__comfortable__standard.dtcg.json +1 -1
  287. package/tokens/modes/light__tho-clay__compact__high.dtcg.json +1 -1
  288. package/tokens/modes/light__tho-clay__compact__standard.dtcg.json +1 -1
  289. package/tokens/modes/light__tho-sand__comfortable__high.dtcg.json +1 -1
  290. package/tokens/modes/light__tho-sand__comfortable__standard.dtcg.json +1 -1
  291. package/tokens/modes/light__tho-sand__compact__high.dtcg.json +1 -1
  292. package/tokens/modes/light__tho-sand__compact__standard.dtcg.json +1 -1
  293. package/tokens/modes/light__tho__comfortable__high.dtcg.json +1 -1
  294. package/tokens/modes/light__tho__comfortable__standard.dtcg.json +1 -1
  295. package/tokens/modes/light__tho__compact__high.dtcg.json +1 -1
  296. package/tokens/modes/light__tho__compact__standard.dtcg.json +1 -1
  297. package/tokens/modes/light__thuy-mist__comfortable__high.dtcg.json +1 -1
  298. package/tokens/modes/light__thuy-mist__comfortable__standard.dtcg.json +1 -1
  299. package/tokens/modes/light__thuy-mist__compact__high.dtcg.json +1 -1
  300. package/tokens/modes/light__thuy-mist__compact__standard.dtcg.json +1 -1
  301. package/tokens/modes/light__thuy-ocean__comfortable__high.dtcg.json +1 -1
  302. package/tokens/modes/light__thuy-ocean__comfortable__standard.dtcg.json +1 -1
  303. package/tokens/modes/light__thuy-ocean__compact__high.dtcg.json +1 -1
  304. package/tokens/modes/light__thuy-ocean__compact__standard.dtcg.json +1 -1
  305. package/tokens/modes/light__thuy__comfortable__high.dtcg.json +1 -1
  306. package/tokens/modes/light__thuy__comfortable__standard.dtcg.json +1 -1
  307. package/tokens/modes/light__thuy__compact__high.dtcg.json +1 -1
  308. package/tokens/modes/light__thuy__compact__standard.dtcg.json +1 -1
  309. package/tokens/modes/system-dark__default__comfortable__high.dtcg.json +1 -1
  310. package/tokens/modes/system-dark__default__comfortable__standard.dtcg.json +1 -1
  311. package/tokens/modes/system-dark__default__compact__high.dtcg.json +1 -1
  312. package/tokens/modes/system-dark__default__compact__standard.dtcg.json +1 -1
  313. package/tokens/modes/system-dark__hoa-lava__comfortable__high.dtcg.json +1 -1
  314. package/tokens/modes/system-dark__hoa-lava__comfortable__standard.dtcg.json +1 -1
  315. package/tokens/modes/system-dark__hoa-lava__compact__high.dtcg.json +1 -1
  316. package/tokens/modes/system-dark__hoa-lava__compact__standard.dtcg.json +1 -1
  317. package/tokens/modes/system-dark__hoa-plasma__comfortable__high.dtcg.json +1 -1
  318. package/tokens/modes/system-dark__hoa-plasma__comfortable__standard.dtcg.json +1 -1
  319. package/tokens/modes/system-dark__hoa-plasma__compact__high.dtcg.json +1 -1
  320. package/tokens/modes/system-dark__hoa-plasma__compact__standard.dtcg.json +1 -1
  321. package/tokens/modes/system-dark__hoa__comfortable__high.dtcg.json +1 -1
  322. package/tokens/modes/system-dark__hoa__comfortable__standard.dtcg.json +1 -1
  323. package/tokens/modes/system-dark__hoa__compact__high.dtcg.json +1 -1
  324. package/tokens/modes/system-dark__hoa__compact__standard.dtcg.json +1 -1
  325. package/tokens/modes/system-dark__kim-steel__comfortable__high.dtcg.json +1 -1
  326. package/tokens/modes/system-dark__kim-steel__comfortable__standard.dtcg.json +1 -1
  327. package/tokens/modes/system-dark__kim-steel__compact__high.dtcg.json +1 -1
  328. package/tokens/modes/system-dark__kim-steel__compact__standard.dtcg.json +1 -1
  329. package/tokens/modes/system-dark__kim-titanium__comfortable__high.dtcg.json +1 -1
  330. package/tokens/modes/system-dark__kim-titanium__comfortable__standard.dtcg.json +1 -1
  331. package/tokens/modes/system-dark__kim-titanium__compact__high.dtcg.json +1 -1
  332. package/tokens/modes/system-dark__kim-titanium__compact__standard.dtcg.json +1 -1
  333. package/tokens/modes/system-dark__kim__comfortable__high.dtcg.json +1 -1
  334. package/tokens/modes/system-dark__kim__comfortable__standard.dtcg.json +1 -1
  335. package/tokens/modes/system-dark__kim__compact__high.dtcg.json +1 -1
  336. package/tokens/modes/system-dark__kim__compact__standard.dtcg.json +1 -1
  337. package/tokens/modes/system-dark__moc-bamboo__comfortable__high.dtcg.json +1 -1
  338. package/tokens/modes/system-dark__moc-bamboo__comfortable__standard.dtcg.json +1 -1
  339. package/tokens/modes/system-dark__moc-bamboo__compact__high.dtcg.json +1 -1
  340. package/tokens/modes/system-dark__moc-bamboo__compact__standard.dtcg.json +1 -1
  341. package/tokens/modes/system-dark__moc-forest__comfortable__high.dtcg.json +1 -1
  342. package/tokens/modes/system-dark__moc-forest__comfortable__standard.dtcg.json +1 -1
  343. package/tokens/modes/system-dark__moc-forest__compact__high.dtcg.json +1 -1
  344. package/tokens/modes/system-dark__moc-forest__compact__standard.dtcg.json +1 -1
  345. package/tokens/modes/system-dark__moc__comfortable__high.dtcg.json +1 -1
  346. package/tokens/modes/system-dark__moc__comfortable__standard.dtcg.json +1 -1
  347. package/tokens/modes/system-dark__moc__compact__high.dtcg.json +1 -1
  348. package/tokens/modes/system-dark__moc__compact__standard.dtcg.json +1 -1
  349. package/tokens/modes/system-dark__tho-clay__comfortable__high.dtcg.json +1 -1
  350. package/tokens/modes/system-dark__tho-clay__comfortable__standard.dtcg.json +1 -1
  351. package/tokens/modes/system-dark__tho-clay__compact__high.dtcg.json +1 -1
  352. package/tokens/modes/system-dark__tho-clay__compact__standard.dtcg.json +1 -1
  353. package/tokens/modes/system-dark__tho-sand__comfortable__high.dtcg.json +1 -1
  354. package/tokens/modes/system-dark__tho-sand__comfortable__standard.dtcg.json +1 -1
  355. package/tokens/modes/system-dark__tho-sand__compact__high.dtcg.json +1 -1
  356. package/tokens/modes/system-dark__tho-sand__compact__standard.dtcg.json +1 -1
  357. package/tokens/modes/system-dark__tho__comfortable__high.dtcg.json +1 -1
  358. package/tokens/modes/system-dark__tho__comfortable__standard.dtcg.json +1 -1
  359. package/tokens/modes/system-dark__tho__compact__high.dtcg.json +1 -1
  360. package/tokens/modes/system-dark__tho__compact__standard.dtcg.json +1 -1
  361. package/tokens/modes/system-dark__thuy-mist__comfortable__high.dtcg.json +1 -1
  362. package/tokens/modes/system-dark__thuy-mist__comfortable__standard.dtcg.json +1 -1
  363. package/tokens/modes/system-dark__thuy-mist__compact__high.dtcg.json +1 -1
  364. package/tokens/modes/system-dark__thuy-mist__compact__standard.dtcg.json +1 -1
  365. package/tokens/modes/system-dark__thuy-ocean__comfortable__high.dtcg.json +1 -1
  366. package/tokens/modes/system-dark__thuy-ocean__comfortable__standard.dtcg.json +1 -1
  367. package/tokens/modes/system-dark__thuy-ocean__compact__high.dtcg.json +1 -1
  368. package/tokens/modes/system-dark__thuy-ocean__compact__standard.dtcg.json +1 -1
  369. package/tokens/modes/system-dark__thuy__comfortable__high.dtcg.json +1 -1
  370. package/tokens/modes/system-dark__thuy__comfortable__standard.dtcg.json +1 -1
  371. package/tokens/modes/system-dark__thuy__compact__high.dtcg.json +1 -1
  372. package/tokens/modes/system-dark__thuy__compact__standard.dtcg.json +1 -1
  373. package/tokens/modes/system-light__default__comfortable__high.dtcg.json +1 -1
  374. package/tokens/modes/system-light__default__comfortable__standard.dtcg.json +1 -1
  375. package/tokens/modes/system-light__default__compact__high.dtcg.json +1 -1
  376. package/tokens/modes/system-light__default__compact__standard.dtcg.json +1 -1
  377. package/tokens/modes/system-light__hoa-lava__comfortable__high.dtcg.json +1 -1
  378. package/tokens/modes/system-light__hoa-lava__comfortable__standard.dtcg.json +1 -1
  379. package/tokens/modes/system-light__hoa-lava__compact__high.dtcg.json +1 -1
  380. package/tokens/modes/system-light__hoa-lava__compact__standard.dtcg.json +1 -1
  381. package/tokens/modes/system-light__hoa-plasma__comfortable__high.dtcg.json +1 -1
  382. package/tokens/modes/system-light__hoa-plasma__comfortable__standard.dtcg.json +1 -1
  383. package/tokens/modes/system-light__hoa-plasma__compact__high.dtcg.json +1 -1
  384. package/tokens/modes/system-light__hoa-plasma__compact__standard.dtcg.json +1 -1
  385. package/tokens/modes/system-light__hoa__comfortable__high.dtcg.json +1 -1
  386. package/tokens/modes/system-light__hoa__comfortable__standard.dtcg.json +1 -1
  387. package/tokens/modes/system-light__hoa__compact__high.dtcg.json +1 -1
  388. package/tokens/modes/system-light__hoa__compact__standard.dtcg.json +1 -1
  389. package/tokens/modes/system-light__kim-steel__comfortable__high.dtcg.json +1 -1
  390. package/tokens/modes/system-light__kim-steel__comfortable__standard.dtcg.json +1 -1
  391. package/tokens/modes/system-light__kim-steel__compact__high.dtcg.json +1 -1
  392. package/tokens/modes/system-light__kim-steel__compact__standard.dtcg.json +1 -1
  393. package/tokens/modes/system-light__kim-titanium__comfortable__high.dtcg.json +1 -1
  394. package/tokens/modes/system-light__kim-titanium__comfortable__standard.dtcg.json +1 -1
  395. package/tokens/modes/system-light__kim-titanium__compact__high.dtcg.json +1 -1
  396. package/tokens/modes/system-light__kim-titanium__compact__standard.dtcg.json +1 -1
  397. package/tokens/modes/system-light__kim__comfortable__high.dtcg.json +1 -1
  398. package/tokens/modes/system-light__kim__comfortable__standard.dtcg.json +1 -1
  399. package/tokens/modes/system-light__kim__compact__high.dtcg.json +1 -1
  400. package/tokens/modes/system-light__kim__compact__standard.dtcg.json +1 -1
  401. package/tokens/modes/system-light__moc-bamboo__comfortable__high.dtcg.json +1 -1
  402. package/tokens/modes/system-light__moc-bamboo__comfortable__standard.dtcg.json +1 -1
  403. package/tokens/modes/system-light__moc-bamboo__compact__high.dtcg.json +1 -1
  404. package/tokens/modes/system-light__moc-bamboo__compact__standard.dtcg.json +1 -1
  405. package/tokens/modes/system-light__moc-forest__comfortable__high.dtcg.json +1 -1
  406. package/tokens/modes/system-light__moc-forest__comfortable__standard.dtcg.json +1 -1
  407. package/tokens/modes/system-light__moc-forest__compact__high.dtcg.json +1 -1
  408. package/tokens/modes/system-light__moc-forest__compact__standard.dtcg.json +1 -1
  409. package/tokens/modes/system-light__moc__comfortable__high.dtcg.json +1 -1
  410. package/tokens/modes/system-light__moc__comfortable__standard.dtcg.json +1 -1
  411. package/tokens/modes/system-light__moc__compact__high.dtcg.json +1 -1
  412. package/tokens/modes/system-light__moc__compact__standard.dtcg.json +1 -1
  413. package/tokens/modes/system-light__tho-clay__comfortable__high.dtcg.json +1 -1
  414. package/tokens/modes/system-light__tho-clay__comfortable__standard.dtcg.json +1 -1
  415. package/tokens/modes/system-light__tho-clay__compact__high.dtcg.json +1 -1
  416. package/tokens/modes/system-light__tho-clay__compact__standard.dtcg.json +1 -1
  417. package/tokens/modes/system-light__tho-sand__comfortable__high.dtcg.json +1 -1
  418. package/tokens/modes/system-light__tho-sand__comfortable__standard.dtcg.json +1 -1
  419. package/tokens/modes/system-light__tho-sand__compact__high.dtcg.json +1 -1
  420. package/tokens/modes/system-light__tho-sand__compact__standard.dtcg.json +1 -1
  421. package/tokens/modes/system-light__tho__comfortable__high.dtcg.json +1 -1
  422. package/tokens/modes/system-light__tho__comfortable__standard.dtcg.json +1 -1
  423. package/tokens/modes/system-light__tho__compact__high.dtcg.json +1 -1
  424. package/tokens/modes/system-light__tho__compact__standard.dtcg.json +1 -1
  425. package/tokens/modes/system-light__thuy-mist__comfortable__high.dtcg.json +1 -1
  426. package/tokens/modes/system-light__thuy-mist__comfortable__standard.dtcg.json +1 -1
  427. package/tokens/modes/system-light__thuy-mist__compact__high.dtcg.json +1 -1
  428. package/tokens/modes/system-light__thuy-mist__compact__standard.dtcg.json +1 -1
  429. package/tokens/modes/system-light__thuy-ocean__comfortable__high.dtcg.json +1 -1
  430. package/tokens/modes/system-light__thuy-ocean__comfortable__standard.dtcg.json +1 -1
  431. package/tokens/modes/system-light__thuy-ocean__compact__high.dtcg.json +1 -1
  432. package/tokens/modes/system-light__thuy-ocean__compact__standard.dtcg.json +1 -1
  433. package/tokens/modes/system-light__thuy__comfortable__high.dtcg.json +1 -1
  434. package/tokens/modes/system-light__thuy__comfortable__standard.dtcg.json +1 -1
  435. package/tokens/modes/system-light__thuy__compact__high.dtcg.json +1 -1
  436. package/tokens/modes/system-light__thuy__compact__standard.dtcg.json +1 -1
  437. package/tokens/native/CSModes.kt +3 -3
  438. package/tokens/native/CSModes.swift +3 -3
  439. package/tokens/native/CSTokens.kt +1 -1
  440. package/tokens/native/CSTokens.swift +1 -1
  441. package/tokens/native/cs_modes.dart +3 -3
  442. package/tokens/native/cs_tokens.dart +1 -1
  443. package/tokens/native/mode-provenance.json +6 -6
  444. package/tokens/provenance.json +6 -6
  445. package/tokens/styles.css +1 -1
  446. package/tokens/tokens.dtcg.json +4 -4
  447. package/tokens/tokens.js +5 -5
  448. package/tokens/tokens.json +4 -4
  449. package/tokens/variables.css +0 -9
  450. package/ui_kits/deck/index.html +1 -1
  451. package/ui_kits/status-hub/index.html +1 -1
  452. package/ui_kits/status-hub/login.html +1 -1
  453. package/ui_kits/status-hub/project.html +1 -1
  454. package/ui_kits/status-hub/settings.html +1 -1
  455. package/ui_kits/status-hub/static-locale.js +2 -0
  456. package/ui_kits/website/careers.html +1 -1
  457. package/ui_kits/website/chat.html +1 -1
  458. package/ui_kits/website/index.html +1 -1
  459. package/ui_kits/website/work.html +1 -1
package/_ds_manifest.json CHANGED
@@ -5931,102 +5931,6 @@
5931
5931
  "important": false,
5932
5932
  "declarationOrder": 1073,
5933
5933
  "sourceLine": 22
5934
- },
5935
- {
5936
- "name": "--cs-color-border-default",
5937
- "value": "#9a8060",
5938
- "kind": "color",
5939
- "definedIn": "base/a11y.css",
5940
- "scope": "[data-theme=\"light\"]:where(:not([data-cs-contrast=\"standard\"], [data-cs-contrast=\"standard\"] *)),\n [data-theme=\"system\"]:where(:not([data-cs-contrast=\"standard\"], [data-cs-contrast=\"standard\"] *)),\n :root:where(:not([data-cs-contrast=\"standard\"]))",
5941
- "conditions": [
5942
- {
5943
- "name": "media",
5944
- "params": "(prefers-contrast: more)"
5945
- }
5946
- ],
5947
- "important": false,
5948
- "declarationOrder": 1074,
5949
- "sourceLine": 144
5950
- },
5951
- {
5952
- "name": "--cs-color-text-muted",
5953
- "value": "#45210e",
5954
- "kind": "color",
5955
- "definedIn": "base/a11y.css",
5956
- "scope": "[data-theme=\"light\"]:where(:not([data-cs-contrast=\"standard\"], [data-cs-contrast=\"standard\"] *)),\n [data-theme=\"system\"]:where(:not([data-cs-contrast=\"standard\"], [data-cs-contrast=\"standard\"] *)),\n :root:where(:not([data-cs-contrast=\"standard\"]))",
5957
- "conditions": [
5958
- {
5959
- "name": "media",
5960
- "params": "(prefers-contrast: more)"
5961
- }
5962
- ],
5963
- "important": false,
5964
- "declarationOrder": 1075,
5965
- "sourceLine": 144
5966
- },
5967
- {
5968
- "name": "--cs-color-border-default",
5969
- "value": "#7a6450",
5970
- "kind": "color",
5971
- "definedIn": "base/a11y.css",
5972
- "scope": "[data-theme=\"dark\"]:where(:not([data-cs-contrast=\"standard\"], [data-cs-contrast=\"standard\"] *))",
5973
- "conditions": [
5974
- {
5975
- "name": "media",
5976
- "params": "(prefers-contrast: more)"
5977
- }
5978
- ],
5979
- "important": false,
5980
- "declarationOrder": 1076,
5981
- "sourceLine": 145
5982
- },
5983
- {
5984
- "name": "--cs-color-text-muted",
5985
- "value": "#f5ead9",
5986
- "kind": "color",
5987
- "definedIn": "base/a11y.css",
5988
- "scope": "[data-theme=\"dark\"]:where(:not([data-cs-contrast=\"standard\"], [data-cs-contrast=\"standard\"] *))",
5989
- "conditions": [
5990
- {
5991
- "name": "media",
5992
- "params": "(prefers-contrast: more)"
5993
- }
5994
- ],
5995
- "important": false,
5996
- "declarationOrder": 1077,
5997
- "sourceLine": 145
5998
- },
5999
- {
6000
- "name": "--cs-color-border-default",
6001
- "value": "#7a6450",
6002
- "kind": "color",
6003
- "definedIn": "base/a11y.css",
6004
- "scope": "[data-theme=\"system\"]:where(:not([data-cs-contrast=\"standard\"], [data-cs-contrast=\"standard\"] *))",
6005
- "conditions": [
6006
- {
6007
- "name": "media",
6008
- "params": "(prefers-color-scheme: dark) and (prefers-contrast: more)"
6009
- }
6010
- ],
6011
- "important": false,
6012
- "declarationOrder": 1078,
6013
- "sourceLine": 150
6014
- },
6015
- {
6016
- "name": "--cs-color-text-muted",
6017
- "value": "#f5ead9",
6018
- "kind": "color",
6019
- "definedIn": "base/a11y.css",
6020
- "scope": "[data-theme=\"system\"]:where(:not([data-cs-contrast=\"standard\"], [data-cs-contrast=\"standard\"] *))",
6021
- "conditions": [
6022
- {
6023
- "name": "media",
6024
- "params": "(prefers-color-scheme: dark) and (prefers-contrast: more)"
6025
- }
6026
- ],
6027
- "important": false,
6028
- "declarationOrder": 1079,
6029
- "sourceLine": 150
6030
5934
  }
6031
5935
  ],
6032
5936
  "themes": [
package/_esm/cs.mjs CHANGED
@@ -1,4 +1,4 @@
1
- // CyberSkill Design System — ESM entry point (GENERATED by scripts/generate-export-catalog.mjs at v2.5.0).
1
+ // CyberSkill Design System — ESM entry point (GENERATED by scripts/generate-export-catalog.mjs at v2.6.0).
2
2
  // No build step: import this module directly in a browser. It loads the pinned umd-react@19.2.8
3
3
  // distribution; its retained React and ReactDOM files report runtime version 19.2.4.
4
4
  // (official React 19 dropped UMD; pinned + SRI; skipped when window.React already exists), side-loads
@@ -33,7 +33,7 @@ if (!found()) await ensureScript("../_ds_bundle.js");
33
33
  export const CS = g[found()];
34
34
  if (!CS) throw new Error("cs.js: bundle loaded but no CyberSkillDesignSystem_* namespace found");
35
35
  export default CS;
36
- export const VERSION = "2.5.0";
36
+ export const VERSION = "2.6.0";
37
37
  export const AIDisclosureBadge = CS.AIDisclosureBadge;
38
38
  export const Accordion = CS.Accordion;
39
39
  export const Alert = CS.Alert;
package/base/a11y.css CHANGED
@@ -138,17 +138,12 @@
138
138
  * warm hairline border and muted text (both are intentionally soft by default).
139
139
  * Only activates on user request; anchors (Umber/Ochre) and focus rings are
140
140
  * already high-contrast and untouched. ---- */
141
- @media (prefers-contrast: more) {
142
- [data-theme="light"]:where(:not([data-cs-contrast="standard"], [data-cs-contrast="standard"] *)),
143
- [data-theme="system"]:where(:not([data-cs-contrast="standard"], [data-cs-contrast="standard"] *)),
144
- :root:where(:not([data-cs-contrast="standard"])) { --cs-color-border-default: #9a8060; --cs-color-text-muted: #45210e; }
145
- [data-theme="dark"]:where(:not([data-cs-contrast="standard"], [data-cs-contrast="standard"] *)) { --cs-color-border-default: #7a6450; --cs-color-text-muted: #f5ead9; }
146
- }
147
-
148
- /* System dark gets stronger contrast only when the user requests it, just like explicit dark. */
149
- @media (prefers-color-scheme: dark) and (prefers-contrast: more) {
150
- [data-theme="system"]:where(:not([data-cs-contrast="standard"], [data-cs-contrast="standard"] *)) { --cs-color-border-default: #7a6450; --cs-color-text-muted: #f5ead9; }
151
- }
141
+ /* The values live in tokens/elements.css: the scope resolver derives
142
+ * --cs-color-border-default / --cs-color-text-muted from the --_cs-standard /
143
+ * --_cs-high channel toggles, which flip to high under prefers-contrast: more
144
+ * (light #9a8060 / #45210e · dark #7a6450 / #f5ead9) unless a scope sets
145
+ * data-cs-contrast explicitly. The former contextual overrides here were
146
+ * already superseded by that resolver's higher specificity. */
152
147
 
153
148
  /* Forced colors removes authored backgrounds and shadows. State must survive
154
149
  * that substitution using real borders, system colors and knob position. */
@@ -6,7 +6,7 @@
6
6
  <meta name="viewport" content="width=device-width, initial-scale=1" />
7
7
  <title>CyberSkill — AI-native — conversation</title>
8
8
  <meta name="description" content="AI-native — conversation: PromptInput, ChatMessage (Lumi), ConfidenceMeter" />
9
- <link rel="stylesheet" href="../../styles.css" />
9
+ <link rel="stylesheet" href="../../dist/styles.css" />
10
10
  <style>
11
11
  body { margin: 0; background: var(--cs-color-surface-page); padding: 22px 24px; }
12
12
  .grid { display: grid; grid-template-columns: 1.2fr 1fr; gap: 24px; max-width: 660px; align-items: start; }
@@ -5,7 +5,7 @@
5
5
  <title>CyberSkill — AI-native — Lumi conversation</title>
6
6
  <meta name="description" content="AI-native — Lumi conversation: PromptSuggestions, TypingIndicator, CitationList" />
7
7
  <meta charset="utf-8" />
8
- <link rel="stylesheet" href="../../styles.css" />
8
+ <link rel="stylesheet" href="../../dist/styles.css" />
9
9
  <style>
10
10
  body { margin: 0; background: var(--cs-color-surface-page); padding: 22px 24px; }
11
11
  .lbl { font: 600 11px/1 var(--cs-font-family-ui); text-transform: uppercase; letter-spacing: .09em; color: var(--cs-color-text-muted); margin-bottom: 10px; }
@@ -6,7 +6,7 @@
6
6
  <meta name="viewport" content="width=device-width, initial-scale=1" />
7
7
  <title>CyberSkill — AI-native — Disclosure & Review Gate</title>
8
8
  <meta name="description" content="AI-native — Disclosure & Review Gate: Explainable AI badge + human-in-the-loop approval" />
9
- <link rel="stylesheet" href="../../styles.css" />
9
+ <link rel="stylesheet" href="../../dist/styles.css" />
10
10
  <style>
11
11
  body { margin: 0; background: var(--cs-color-surface-page); padding: 22px 24px; }
12
12
  .stack { display: grid; gap: 18px; max-width: 560px; }
@@ -5,7 +5,7 @@
5
5
  <title>CyberSkill — LumiAvatar</title>
6
6
  <meta name="description" content="LumiAvatar: Golden-genie mascot avatar — sizes + ring" />
7
7
  <meta charset="utf-8" />
8
- <link rel="stylesheet" href="../../styles.css" />
8
+ <link rel="stylesheet" href="../../dist/styles.css" />
9
9
  <style>
10
10
  body { margin: 0; background: var(--cs-color-surface-page); padding: 22px 24px; }
11
11
  .row { display: flex; align-items: center; gap: 24px; }
@@ -6,7 +6,7 @@
6
6
  <meta name="viewport" content="width=device-width, initial-scale=1" />
7
7
  <title>CyberSkill — Button</title>
8
8
  <meta name="description" content="Button: Variants, sizes, states — Umber primary, composite focus" />
9
- <link rel="stylesheet" href="../../styles.css" />
9
+ <link rel="stylesheet" href="../../dist/styles.css" />
10
10
  <style>
11
11
  body { margin: 0; background: var(--cs-color-surface-page); padding: 22px 24px; }
12
12
  .row { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-bottom: 16px; }
@@ -5,7 +5,7 @@
5
5
  <title>CyberSkill — Collections & content</title>
6
6
  <meta name="description" content="Collections & content: List, Item, DescriptionList, Timeline, Accordion, Collapsible, Kbd, CodeBlock" />
7
7
  <meta charset="utf-8" />
8
- <link rel="stylesheet" href="../../styles.css" />
8
+ <link rel="stylesheet" href="../../dist/styles.css" />
9
9
  <style>
10
10
  body { margin: 0; background: var(--cs-color-surface-page); padding: 22px 24px; }
11
11
  .cols { display: grid; grid-template-columns: 1fr 1fr; gap: 26px; align-items: start; }
@@ -6,7 +6,7 @@
6
6
  <meta name="viewport" content="width=device-width, initial-scale=1" />
7
7
  <title>CyberSkill — Data & layout</title>
8
8
  <meta name="description" content="Data & layout: Card, Stat, Avatar, Tooltip, Divider, ScrollArea, AspectRatio" />
9
- <link rel="stylesheet" href="../../styles.css" />
9
+ <link rel="stylesheet" href="../../dist/styles.css" />
10
10
  <style>
11
11
  body { margin: 0; background: var(--cs-color-surface-page); padding: 22px 24px; }
12
12
  .grid { display: grid; grid-template-columns: 1.2fr 1fr; gap: 20px; max-width: 640px; align-items: start; }
@@ -6,7 +6,7 @@
6
6
  <meta name="viewport" content="width=device-width, initial-scale=1" />
7
7
  <title>CyberSkill — DataTable</title>
8
8
  <meta name="description" content="DataTable: Caption, scoped headers, idle / loading / error / empty" />
9
- <link rel="stylesheet" href="../../styles.css" />
9
+ <link rel="stylesheet" href="../../dist/styles.css" />
10
10
  <style>
11
11
  body { margin: 0; background: var(--cs-color-surface-page); padding: 22px 24px; }
12
12
  .wrap { border: 1px solid var(--cs-color-border-default); border-radius: var(--cs-radius-lg); padding: 6px 16px 10px; background: var(--cs-color-surface-panel); max-width: 640px; }
@@ -6,7 +6,7 @@
6
6
  <meta name="viewport" content="width=device-width, initial-scale=1" />
7
7
  <title>CyberSkill — Dialog</title>
8
8
  <meta name="description" content="Dialog: Modal overlay + panel with footer actions" />
9
- <link rel="stylesheet" href="../../styles.css" />
9
+ <link rel="stylesheet" href="../../dist/styles.css" />
10
10
  <style>
11
11
  body { margin: 0; background: var(--cs-color-surface-page); padding: 22px 24px; }
12
12
  /* Scope the fixed dialog layer to the preview frame so it renders inline in the card. */
@@ -5,7 +5,7 @@
5
5
  <title>CyberSkill — Status & empty state</title>
6
6
  <meta name="description" content="Status & empty state: StatusIndicator, EmptyState" />
7
7
  <meta charset="utf-8" />
8
- <link rel="stylesheet" href="../../styles.css" />
8
+ <link rel="stylesheet" href="../../dist/styles.css" />
9
9
  <style>
10
10
  body { margin: 0; background: var(--cs-color-surface-page); padding: 22px 24px; }
11
11
  .row { display: flex; align-items: center; gap: 22px; flex-wrap: wrap; margin-bottom: 18px; }
@@ -6,13 +6,13 @@
6
6
  <meta name="viewport" content="width=device-width, initial-scale=1" />
7
7
  <title>CyberSkill — Feedback & status</title>
8
8
  <meta name="description" content="Feedback & status: Badge, Tag, Alert, Toast, Spinner, Progress, Skeleton" />
9
- <link rel="stylesheet" href="../../styles.css" />
9
+ <link rel="stylesheet" href="../../dist/styles.css" />
10
10
  <style>
11
11
  body { margin: 0; background: var(--cs-color-surface-page); padding: 22px 24px; }
12
12
  .stack { display: grid; gap: 18px; max-width: 620px; }
13
13
  .row { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
14
14
  .lbl { width: 100%; font: 600 11px/1 var(--cs-font-family-ui); text-transform: uppercase; letter-spacing: .09em; color: var(--cs-color-text-muted); }
15
- .frame { position: relative; height: 96px; border: 1px solid var(--cs-color-border-default); border-radius: var(--cs-radius-md); background: var(--cs-color-surface-raised); }
15
+ .frame { position: relative; flex: 1 1 100%; min-width: 0; height: 96px; border: 1px solid var(--cs-color-border-default); border-radius: var(--cs-radius-md); background: var(--cs-color-surface-raised); }
16
16
  .frame .cs-toast-stack { position: absolute; inset-block-end: 12px; inset-inline-end: 12px; }
17
17
  </style>
18
18
  <script src="../../_vendor/react/react.production.min.js"></script>
@@ -5,7 +5,7 @@
5
5
  <title>CyberSkill — Form controls II</title>
6
6
  <meta name="description" content="Form controls II: Search, NumberField, Slider, FileUpload, SegmentedControl" />
7
7
  <meta charset="utf-8" />
8
- <link rel="stylesheet" href="../../styles.css" />
8
+ <link rel="stylesheet" href="../../dist/styles.css" />
9
9
  <style>
10
10
  body { margin: 0; background: var(--cs-color-surface-page); padding: 22px 24px; }
11
11
  .stack { display: grid; gap: 18px; max-width: 620px; }
@@ -6,7 +6,7 @@
6
6
  <meta name="viewport" content="width=device-width, initial-scale=1" />
7
7
  <title>CyberSkill — Form controls</title>
8
8
  <meta name="description" content="Form controls: Select, NativeSelect, Checkbox, Radio, Switch, Textarea — brand accent" />
9
- <link rel="stylesheet" href="../../styles.css" />
9
+ <link rel="stylesheet" href="../../dist/styles.css" />
10
10
  <style>
11
11
  body { margin: 0; background: var(--cs-color-surface-page); padding: 22px 24px; }
12
12
  .grid { display: grid; grid-template-columns: 1fr 1fr; gap: 22px 28px; max-width: 640px; align-items: start; }
@@ -1,6 +1,6 @@
1
1
  <!-- @dsCard group="Components" viewport="700x360" name="Scoped UI messages" subtitle="LocaleProvider is context-only; useMessages reads scoped copy" -->
2
2
  <!doctype html><html lang="en"><head><title>Scoped UI messages — CyberSkill</title><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><meta name="description" content="Scoped UI messages: LocaleProvider is context-only; useMessages reads scoped copy" />
3
- <link rel="stylesheet" href="../../styles.css"><style>body{margin:0;padding:24px;background:var(--cs-color-surface-page);color:var(--cs-color-text-primary);font-family:var(--cs-font-family-ui)}label,output{display:block;margin-block:12px}input,select{font:inherit}</style><script src="../../_vendor/react/react.production.min.js"></script><script src="../../_vendor/react/react-dom.production.min.js"></script><script src="../../_vendor/babel/babel.min.js"></script><script src="../../_ds_bundle.js"></script></head><body><div id="root"></div><script type="text/babel">
3
+ <link rel="stylesheet" href="../../dist/styles.css"><style>body{margin:0;padding:24px;background:var(--cs-color-surface-page);color:var(--cs-color-text-primary);font-family:var(--cs-font-family-ui)}label,output{display:block;margin-block:12px}input,select{font:inherit}</style><script src="../../_vendor/react/react.production.min.js"></script><script src="../../_vendor/react/react-dom.production.min.js"></script><script src="../../_vendor/babel/babel.min.js"></script><script src="../../_ds_bundle.js"></script></head><body><div id="root"></div><script type="text/babel">
4
4
  const {LocaleProvider,useMessages}=window[Object.keys(window).find(k=>/^CyberSkillDesignSystem_[0-9a-f]{6}$/.test(k))];
5
5
  function Copy({lang}){const t=useMessages('SpecimenCopy',lang);return <output data-copy>{t('continue')}</output>;}
6
6
  function Demo(){const[lang,setLang]=React.useState('en'),[copy,setCopy]=React.useState('Continue');const V=lang==='vi';return <main lang={lang}><h1>{V?'Thông điệp theo scope':'Scoped UI messages'}</h1><p>{V?'Provider chỉ cung cấp context, không tạo phần tử DOM.':'The provider supplies context and creates no DOM element.'}</p><label>{V?'Ngôn ngữ':'Language'}<select className="cs-touch-target" value={lang} onChange={e=>setLang(e.target.value)}><option value="en">English</option><option value="vi">Tiếng Việt</option></select></label><label>{V?'Nội dung tiếng Anh theo scope':'Scoped English copy'}<input className="cs-touch-target" value={copy} onChange={e=>setCopy(e.target.value)}/></label><LocaleProvider messages={{SpecimenCopy:{en:{continue:copy},vi:{continue:'Tiếp tục'}}}}><Copy lang={lang}/></LocaleProvider><p>{V?'Bên ngoài scope dùng khóa dự phòng:':'Outside the scope, the missing key falls back:'}</p><Copy lang={lang}/></main>;}
@@ -6,7 +6,7 @@
6
6
  <meta name="viewport" content="width=device-width, initial-scale=1" />
7
7
  <title>CyberSkill — Icon</title>
8
8
  <meta name="description" content="Icon: In-repo line-icon set — currentColor, 1.75 stroke" />
9
- <link rel="stylesheet" href="../../styles.css" />
9
+ <link rel="stylesheet" href="../../dist/styles.css" />
10
10
  <style>
11
11
  body { margin: 0; background: var(--cs-color-surface-page); padding: 22px 24px; color: var(--cs-color-text-primary); }
12
12
  .grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(84px, 1fr)); gap: 10px; max-width: 640px; }
@@ -6,7 +6,7 @@
6
6
  <meta name="viewport" content="width=device-width, initial-scale=1" />
7
7
  <title>CyberSkill — Logo</title>
8
8
  <meta name="description" content="Logo: Official mark — Umber ground, Ochre genie. Never recolour." />
9
- <link rel="stylesheet" href="../../styles.css" />
9
+ <link rel="stylesheet" href="../../dist/styles.css" />
10
10
  <style>
11
11
  body { margin: 0; background: var(--cs-color-surface-page); padding: 22px 24px; }
12
12
  .row { display: flex; align-items: center; gap: 28px; flex-wrap: wrap; }
@@ -14,7 +14,7 @@
14
14
  .on-umber { background: var(--cs-color-brand-umber); }
15
15
  .on-page { background: var(--cs-color-surface-panel); border: 1px solid var(--cs-color-border-default); }
16
16
  .lockup { display: flex; align-items: center; gap: 12px; }
17
- .lockup b { font: 800 22px/1 var(--cs-font-family-ui); color: var(--cs-color-brand-umber); letter-spacing: -.01em; }
17
+ .lockup b { font: 800 22px/1 var(--cs-font-family-ui); color: var(--cs-color-text-primary); letter-spacing: -.01em; }
18
18
  .cap { font: 500 12px/1.4 var(--cs-font-family-ui); color: var(--cs-color-text-muted); }
19
19
  </style>
20
20
  <script src="../../_vendor/react/react.production.min.js"></script>
@@ -6,7 +6,7 @@
6
6
  <meta name="viewport" content="width=device-width, initial-scale=1" />
7
7
  <title>CyberSkill — Navigation</title>
8
8
  <meta name="description" content="Navigation: Tabs, Breadcrumb, Pagination, Menu" />
9
- <link rel="stylesheet" href="../../styles.css" />
9
+ <link rel="stylesheet" href="../../dist/styles.css" />
10
10
  <style>
11
11
  body { margin: 0; background: var(--cs-color-surface-page); padding: 22px 24px; }
12
12
  .stack { display: grid; gap: 22px; max-width: 620px; }
@@ -5,7 +5,7 @@
5
5
  <title>CyberSkill — App shell — Sidebar, Steps, Command</title>
6
6
  <meta name="description" content="App shell — Sidebar, Steps, Command: Sidebar + NavItem, Steps, CommandPalette" />
7
7
  <meta charset="utf-8" />
8
- <link rel="stylesheet" href="../../styles.css" />
8
+ <link rel="stylesheet" href="../../dist/styles.css" />
9
9
  <style>
10
10
  body { margin: 0; background: var(--cs-color-surface-page); padding: 22px 24px; }
11
11
  .lbl { font: 600 11px/1 var(--cs-font-family-ui); text-transform: uppercase; letter-spacing: .09em; color: var(--cs-color-text-muted); margin-bottom: 10px; }
@@ -6,7 +6,7 @@
6
6
  <meta name="viewport" content="width=device-width, initial-scale=1" />
7
7
  <title>CyberSkill — AlertDialog</title>
8
8
  <meta name="description" content="AlertDialog: Confirm / destructive modal (alertdialog)" />
9
- <link rel="stylesheet" href="../../styles.css" />
9
+ <link rel="stylesheet" href="../../dist/styles.css" />
10
10
  <style>
11
11
  body { margin: 0; background: var(--cs-color-surface-page); padding: 22px 24px; }
12
12
  .frame { position: relative; height: 256px; border: 1px solid var(--cs-color-border-default); border-radius: var(--cs-radius-lg); overflow: hidden; background: var(--cs-color-surface-raised); }
@@ -5,7 +5,7 @@
5
5
  <title>CyberSkill — Overlays — Popover & Drawer</title>
6
6
  <meta name="description" content="Overlays — Popover & Drawer: Anchored popover + slide-in drawer" />
7
7
  <meta charset="utf-8" />
8
- <link rel="stylesheet" href="../../styles.css" />
8
+ <link rel="stylesheet" href="../../dist/styles.css" />
9
9
  <style>
10
10
  body { margin: 0; background: var(--cs-color-surface-page); padding: 22px 24px; }
11
11
  .lbl { font: 600 11px/1 var(--cs-font-family-ui); text-transform: uppercase; letter-spacing: .09em; color: var(--cs-color-text-muted); margin-bottom: 10px; }
@@ -4,7 +4,7 @@
4
4
  "sourceHashes": {
5
5
  "components/api-index.json": "468afbb6e09f78a1be6fe2b2b06bbd6ea30f4fa06abb835c191eb6490082854a",
6
6
  "components/contracts.json": "e4ebe085e32dc639dea36cb032155c6aa557e61411bec7fa800691dd61a2ce03",
7
- "_ds_manifest.json": "8f7b007bfb71572e3846ba9540fce7f104ea146a476100723c62c4b7a42e8a0e",
7
+ "_ds_manifest.json": "c095c233237f4ddb574f8fa648c26aee699df2c16d08f7e4a3aeca076a6644e4",
8
8
  "scripts/generate-component-contracts.mjs": "a94d0d58b3d0b6f629bf2cdc2a53bdfc8b43b8fa1479434b770f0cd8dc53187c",
9
9
  "scripts/lib/component-export.mjs": "9f6fd3df4a9e0366fef8c384a0926e050bd8fbcb3887bf5e6ffaed5c0622cd15",
10
10
  "scripts/generate-prompt-api.mjs": "e67709ad813a46330d2825912334244050422c16f05021890cc6b41b73acd602"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
- "baselineVersion": "2.4.0",
3
+ "baselineVersion": "2.5.0",
4
4
  "policy": {
5
5
  "versioning": "semver",
6
6
  "breakingChangesRequireMajor": true,
@@ -5,7 +5,7 @@
5
5
  "sourceHashes": {
6
6
  "_audit/a11y-gate.html": "68c798ba1261c5bca4da7eefd67a045ba3048711a5f8a9fe9d35eacb4e8b06da",
7
7
  "_audit/component-behavior-test.html": "5d1a1dafba237dcec4144e2dd0059f7fdce54306d9b42bc7af09030d11fbcb5b",
8
- "_ds_manifest.json": "8f7b007bfb71572e3846ba9540fce7f104ea146a476100723c62c4b7a42e8a0e",
8
+ "_ds_manifest.json": "c095c233237f4ddb574f8fa648c26aee699df2c16d08f7e4a3aeca076a6644e4",
9
9
  "components/_i18n/i18n.js": "ea69f4f438162cf0e9770d529ec3b9f1107183885c71aa83f2ceff3763a34d2f",
10
10
  "components/_i18n/strings.js": "ffedd19ed9eacd22223e1387ab7eedca5cb385182d9a4ada469ef2711a0bae73",
11
11
  "components/_utils/cx.js": "ad6a747ea116bb2521a5cfa094580d2259d841ac9965d10310e83e8e839bab42",