@cyberskill/design 2.6.0 → 2.8.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 (342) hide show
  1. package/DESIGN.md +2 -2
  2. package/README.md +4 -4
  3. package/SECURITY.md +4 -4
  4. package/THIRD-PARTY-NOTICES.md +1 -1
  5. package/VERSION +1 -1
  6. package/_ds_bundle.js +2 -2
  7. package/_ds_bundle.js.map +1 -1
  8. package/_ds_manifest.json +4 -4
  9. package/_esm/cs.mjs +2 -2
  10. package/base/collections.css +1 -0
  11. package/base/controls.css +8 -8
  12. package/components/api-discovery.json +6 -6
  13. package/components/api-index.json +57 -16
  14. package/components/contracts.json +5 -5
  15. package/components/forms/Cascader.jsx +1 -1
  16. package/components/forms/ColorPicker.jsx +1 -1
  17. package/components/forms/InlineEdit.jsx +12 -2
  18. package/components/forms/SearchField.jsx +1 -1
  19. package/components/forms/TreeSelect.jsx +1 -1
  20. package/components/lifecycle.json +51 -10
  21. package/components/prompt-api.json +3 -3
  22. package/components/release-compatibility.json +1 -1
  23. package/components/scenarios.json +15 -15
  24. package/components/specifications.json +453 -453
  25. package/components/static-html-reference.json +24 -24
  26. package/dist/esm/_esm/react.mjs +5 -5
  27. package/dist/esm/build.json +52 -52
  28. package/dist/esm/chunks/{chunk-GLPQBE2J.mjs → chunk-4D7SFITE.mjs} +17 -3
  29. package/dist/esm/chunks/chunk-4D7SFITE.mjs.map +7 -0
  30. package/dist/esm/chunks/{chunk-MRXEJSQQ.mjs → chunk-B5V7HN5G.mjs} +5 -2
  31. package/dist/esm/chunks/{chunk-MRXEJSQQ.mjs.map → chunk-B5V7HN5G.mjs.map} +2 -2
  32. package/dist/esm/chunks/{chunk-5FQGNCKS.mjs → chunk-LU45KTWU.mjs} +2 -1
  33. package/dist/esm/chunks/{chunk-5FQGNCKS.mjs.map → chunk-LU45KTWU.mjs.map} +2 -2
  34. package/dist/esm/chunks/{chunk-D7A4ZCMJ.mjs → chunk-RUB6XN27.mjs} +5 -2
  35. package/dist/esm/chunks/{chunk-D7A4ZCMJ.mjs.map → chunk-RUB6XN27.mjs.map} +2 -2
  36. package/dist/esm/chunks/{chunk-FF5D53IP.mjs → chunk-SA7L22XE.mjs} +5 -2
  37. package/dist/esm/chunks/{chunk-FF5D53IP.mjs.map → chunk-SA7L22XE.mjs.map} +2 -2
  38. package/dist/esm/components/forms/Cascader.mjs +1 -1
  39. package/dist/esm/components/forms/ColorPicker.mjs +1 -1
  40. package/dist/esm/components/forms/InlineEdit.mjs +1 -1
  41. package/dist/esm/components/forms/SearchField.mjs +1 -1
  42. package/dist/esm/components/forms/TreeSelect.mjs +1 -1
  43. package/dist/styles.css +10 -9
  44. package/dist/styles.min.css +1 -1
  45. package/docs/UPSTREAM.md +3 -6
  46. package/docs/browser-support.md +1 -1
  47. package/docs/component-api.md +1 -1
  48. package/docs/consuming.md +1 -1
  49. package/docs/contrast-report.md +1 -1
  50. package/docs/conventions.md +1 -1
  51. package/docs/decisions.md +1 -1
  52. package/docs/deploy.md +1 -1
  53. package/docs/reference-catalog.json +32 -32
  54. package/docs/release-notes.md +25 -2
  55. package/docs/static-html-reference.md +23 -23
  56. package/docs/vi/UPSTREAM.md +3 -6
  57. package/docs/vi/browser-support.md +1 -1
  58. package/docs/vi/component-api.md +1 -1
  59. package/docs/vi/consuming.md +1 -1
  60. package/docs/vi/contrast-report.md +1 -1
  61. package/docs/vi/conventions.md +1 -1
  62. package/docs/vi/decisions.md +1 -1
  63. package/docs/vi/deploy.md +1 -1
  64. package/docs/vi/entrypoints/DESIGN.md +2 -2
  65. package/docs/vi/entrypoints/README.md +4 -4
  66. package/docs/vi/release-notes.md +25 -2
  67. package/docs/vi/static-html-reference.md +23 -23
  68. package/package.json +15 -10
  69. package/styles/components/manifest.json +124 -120
  70. package/styles.layered.css +4 -4
  71. package/styles.layered.provenance.json +3 -3
  72. package/tokens/declarations.json +6 -6
  73. package/tokens/element-seeds.json +1 -1
  74. package/tokens/modes/dark__default__comfortable__high.dtcg.json +1 -1
  75. package/tokens/modes/dark__default__comfortable__standard.dtcg.json +1 -1
  76. package/tokens/modes/dark__default__compact__high.dtcg.json +1 -1
  77. package/tokens/modes/dark__default__compact__standard.dtcg.json +1 -1
  78. package/tokens/modes/dark__hoa-lava__comfortable__high.dtcg.json +1 -1
  79. package/tokens/modes/dark__hoa-lava__comfortable__standard.dtcg.json +1 -1
  80. package/tokens/modes/dark__hoa-lava__compact__high.dtcg.json +1 -1
  81. package/tokens/modes/dark__hoa-lava__compact__standard.dtcg.json +1 -1
  82. package/tokens/modes/dark__hoa-plasma__comfortable__high.dtcg.json +1 -1
  83. package/tokens/modes/dark__hoa-plasma__comfortable__standard.dtcg.json +1 -1
  84. package/tokens/modes/dark__hoa-plasma__compact__high.dtcg.json +1 -1
  85. package/tokens/modes/dark__hoa-plasma__compact__standard.dtcg.json +1 -1
  86. package/tokens/modes/dark__hoa__comfortable__high.dtcg.json +1 -1
  87. package/tokens/modes/dark__hoa__comfortable__standard.dtcg.json +1 -1
  88. package/tokens/modes/dark__hoa__compact__high.dtcg.json +1 -1
  89. package/tokens/modes/dark__hoa__compact__standard.dtcg.json +1 -1
  90. package/tokens/modes/dark__kim-steel__comfortable__high.dtcg.json +1 -1
  91. package/tokens/modes/dark__kim-steel__comfortable__standard.dtcg.json +1 -1
  92. package/tokens/modes/dark__kim-steel__compact__high.dtcg.json +1 -1
  93. package/tokens/modes/dark__kim-steel__compact__standard.dtcg.json +1 -1
  94. package/tokens/modes/dark__kim-titanium__comfortable__high.dtcg.json +1 -1
  95. package/tokens/modes/dark__kim-titanium__comfortable__standard.dtcg.json +1 -1
  96. package/tokens/modes/dark__kim-titanium__compact__high.dtcg.json +1 -1
  97. package/tokens/modes/dark__kim-titanium__compact__standard.dtcg.json +1 -1
  98. package/tokens/modes/dark__kim__comfortable__high.dtcg.json +1 -1
  99. package/tokens/modes/dark__kim__comfortable__standard.dtcg.json +1 -1
  100. package/tokens/modes/dark__kim__compact__high.dtcg.json +1 -1
  101. package/tokens/modes/dark__kim__compact__standard.dtcg.json +1 -1
  102. package/tokens/modes/dark__moc-bamboo__comfortable__high.dtcg.json +1 -1
  103. package/tokens/modes/dark__moc-bamboo__comfortable__standard.dtcg.json +1 -1
  104. package/tokens/modes/dark__moc-bamboo__compact__high.dtcg.json +1 -1
  105. package/tokens/modes/dark__moc-bamboo__compact__standard.dtcg.json +1 -1
  106. package/tokens/modes/dark__moc-forest__comfortable__high.dtcg.json +1 -1
  107. package/tokens/modes/dark__moc-forest__comfortable__standard.dtcg.json +1 -1
  108. package/tokens/modes/dark__moc-forest__compact__high.dtcg.json +1 -1
  109. package/tokens/modes/dark__moc-forest__compact__standard.dtcg.json +1 -1
  110. package/tokens/modes/dark__moc__comfortable__high.dtcg.json +1 -1
  111. package/tokens/modes/dark__moc__comfortable__standard.dtcg.json +1 -1
  112. package/tokens/modes/dark__moc__compact__high.dtcg.json +1 -1
  113. package/tokens/modes/dark__moc__compact__standard.dtcg.json +1 -1
  114. package/tokens/modes/dark__tho-clay__comfortable__high.dtcg.json +1 -1
  115. package/tokens/modes/dark__tho-clay__comfortable__standard.dtcg.json +1 -1
  116. package/tokens/modes/dark__tho-clay__compact__high.dtcg.json +1 -1
  117. package/tokens/modes/dark__tho-clay__compact__standard.dtcg.json +1 -1
  118. package/tokens/modes/dark__tho-sand__comfortable__high.dtcg.json +1 -1
  119. package/tokens/modes/dark__tho-sand__comfortable__standard.dtcg.json +1 -1
  120. package/tokens/modes/dark__tho-sand__compact__high.dtcg.json +1 -1
  121. package/tokens/modes/dark__tho-sand__compact__standard.dtcg.json +1 -1
  122. package/tokens/modes/dark__tho__comfortable__high.dtcg.json +1 -1
  123. package/tokens/modes/dark__tho__comfortable__standard.dtcg.json +1 -1
  124. package/tokens/modes/dark__tho__compact__high.dtcg.json +1 -1
  125. package/tokens/modes/dark__tho__compact__standard.dtcg.json +1 -1
  126. package/tokens/modes/dark__thuy-mist__comfortable__high.dtcg.json +1 -1
  127. package/tokens/modes/dark__thuy-mist__comfortable__standard.dtcg.json +1 -1
  128. package/tokens/modes/dark__thuy-mist__compact__high.dtcg.json +1 -1
  129. package/tokens/modes/dark__thuy-mist__compact__standard.dtcg.json +1 -1
  130. package/tokens/modes/dark__thuy-ocean__comfortable__high.dtcg.json +1 -1
  131. package/tokens/modes/dark__thuy-ocean__comfortable__standard.dtcg.json +1 -1
  132. package/tokens/modes/dark__thuy-ocean__compact__high.dtcg.json +1 -1
  133. package/tokens/modes/dark__thuy-ocean__compact__standard.dtcg.json +1 -1
  134. package/tokens/modes/dark__thuy__comfortable__high.dtcg.json +1 -1
  135. package/tokens/modes/dark__thuy__comfortable__standard.dtcg.json +1 -1
  136. package/tokens/modes/dark__thuy__compact__high.dtcg.json +1 -1
  137. package/tokens/modes/dark__thuy__compact__standard.dtcg.json +1 -1
  138. package/tokens/modes/index.json +260 -260
  139. package/tokens/modes/light__default__comfortable__high.dtcg.json +1 -1
  140. package/tokens/modes/light__default__comfortable__standard.dtcg.json +1 -1
  141. package/tokens/modes/light__default__compact__high.dtcg.json +1 -1
  142. package/tokens/modes/light__default__compact__standard.dtcg.json +1 -1
  143. package/tokens/modes/light__hoa-lava__comfortable__high.dtcg.json +1 -1
  144. package/tokens/modes/light__hoa-lava__comfortable__standard.dtcg.json +1 -1
  145. package/tokens/modes/light__hoa-lava__compact__high.dtcg.json +1 -1
  146. package/tokens/modes/light__hoa-lava__compact__standard.dtcg.json +1 -1
  147. package/tokens/modes/light__hoa-plasma__comfortable__high.dtcg.json +1 -1
  148. package/tokens/modes/light__hoa-plasma__comfortable__standard.dtcg.json +1 -1
  149. package/tokens/modes/light__hoa-plasma__compact__high.dtcg.json +1 -1
  150. package/tokens/modes/light__hoa-plasma__compact__standard.dtcg.json +1 -1
  151. package/tokens/modes/light__hoa__comfortable__high.dtcg.json +1 -1
  152. package/tokens/modes/light__hoa__comfortable__standard.dtcg.json +1 -1
  153. package/tokens/modes/light__hoa__compact__high.dtcg.json +1 -1
  154. package/tokens/modes/light__hoa__compact__standard.dtcg.json +1 -1
  155. package/tokens/modes/light__kim-steel__comfortable__high.dtcg.json +1 -1
  156. package/tokens/modes/light__kim-steel__comfortable__standard.dtcg.json +1 -1
  157. package/tokens/modes/light__kim-steel__compact__high.dtcg.json +1 -1
  158. package/tokens/modes/light__kim-steel__compact__standard.dtcg.json +1 -1
  159. package/tokens/modes/light__kim-titanium__comfortable__high.dtcg.json +1 -1
  160. package/tokens/modes/light__kim-titanium__comfortable__standard.dtcg.json +1 -1
  161. package/tokens/modes/light__kim-titanium__compact__high.dtcg.json +1 -1
  162. package/tokens/modes/light__kim-titanium__compact__standard.dtcg.json +1 -1
  163. package/tokens/modes/light__kim__comfortable__high.dtcg.json +1 -1
  164. package/tokens/modes/light__kim__comfortable__standard.dtcg.json +1 -1
  165. package/tokens/modes/light__kim__compact__high.dtcg.json +1 -1
  166. package/tokens/modes/light__kim__compact__standard.dtcg.json +1 -1
  167. package/tokens/modes/light__moc-bamboo__comfortable__high.dtcg.json +1 -1
  168. package/tokens/modes/light__moc-bamboo__comfortable__standard.dtcg.json +1 -1
  169. package/tokens/modes/light__moc-bamboo__compact__high.dtcg.json +1 -1
  170. package/tokens/modes/light__moc-bamboo__compact__standard.dtcg.json +1 -1
  171. package/tokens/modes/light__moc-forest__comfortable__high.dtcg.json +1 -1
  172. package/tokens/modes/light__moc-forest__comfortable__standard.dtcg.json +1 -1
  173. package/tokens/modes/light__moc-forest__compact__high.dtcg.json +1 -1
  174. package/tokens/modes/light__moc-forest__compact__standard.dtcg.json +1 -1
  175. package/tokens/modes/light__moc__comfortable__high.dtcg.json +1 -1
  176. package/tokens/modes/light__moc__comfortable__standard.dtcg.json +1 -1
  177. package/tokens/modes/light__moc__compact__high.dtcg.json +1 -1
  178. package/tokens/modes/light__moc__compact__standard.dtcg.json +1 -1
  179. package/tokens/modes/light__tho-clay__comfortable__high.dtcg.json +1 -1
  180. package/tokens/modes/light__tho-clay__comfortable__standard.dtcg.json +1 -1
  181. package/tokens/modes/light__tho-clay__compact__high.dtcg.json +1 -1
  182. package/tokens/modes/light__tho-clay__compact__standard.dtcg.json +1 -1
  183. package/tokens/modes/light__tho-sand__comfortable__high.dtcg.json +1 -1
  184. package/tokens/modes/light__tho-sand__comfortable__standard.dtcg.json +1 -1
  185. package/tokens/modes/light__tho-sand__compact__high.dtcg.json +1 -1
  186. package/tokens/modes/light__tho-sand__compact__standard.dtcg.json +1 -1
  187. package/tokens/modes/light__tho__comfortable__high.dtcg.json +1 -1
  188. package/tokens/modes/light__tho__comfortable__standard.dtcg.json +1 -1
  189. package/tokens/modes/light__tho__compact__high.dtcg.json +1 -1
  190. package/tokens/modes/light__tho__compact__standard.dtcg.json +1 -1
  191. package/tokens/modes/light__thuy-mist__comfortable__high.dtcg.json +1 -1
  192. package/tokens/modes/light__thuy-mist__comfortable__standard.dtcg.json +1 -1
  193. package/tokens/modes/light__thuy-mist__compact__high.dtcg.json +1 -1
  194. package/tokens/modes/light__thuy-mist__compact__standard.dtcg.json +1 -1
  195. package/tokens/modes/light__thuy-ocean__comfortable__high.dtcg.json +1 -1
  196. package/tokens/modes/light__thuy-ocean__comfortable__standard.dtcg.json +1 -1
  197. package/tokens/modes/light__thuy-ocean__compact__high.dtcg.json +1 -1
  198. package/tokens/modes/light__thuy-ocean__compact__standard.dtcg.json +1 -1
  199. package/tokens/modes/light__thuy__comfortable__high.dtcg.json +1 -1
  200. package/tokens/modes/light__thuy__comfortable__standard.dtcg.json +1 -1
  201. package/tokens/modes/light__thuy__compact__high.dtcg.json +1 -1
  202. package/tokens/modes/light__thuy__compact__standard.dtcg.json +1 -1
  203. package/tokens/modes/system-dark__default__comfortable__high.dtcg.json +1 -1
  204. package/tokens/modes/system-dark__default__comfortable__standard.dtcg.json +1 -1
  205. package/tokens/modes/system-dark__default__compact__high.dtcg.json +1 -1
  206. package/tokens/modes/system-dark__default__compact__standard.dtcg.json +1 -1
  207. package/tokens/modes/system-dark__hoa-lava__comfortable__high.dtcg.json +1 -1
  208. package/tokens/modes/system-dark__hoa-lava__comfortable__standard.dtcg.json +1 -1
  209. package/tokens/modes/system-dark__hoa-lava__compact__high.dtcg.json +1 -1
  210. package/tokens/modes/system-dark__hoa-lava__compact__standard.dtcg.json +1 -1
  211. package/tokens/modes/system-dark__hoa-plasma__comfortable__high.dtcg.json +1 -1
  212. package/tokens/modes/system-dark__hoa-plasma__comfortable__standard.dtcg.json +1 -1
  213. package/tokens/modes/system-dark__hoa-plasma__compact__high.dtcg.json +1 -1
  214. package/tokens/modes/system-dark__hoa-plasma__compact__standard.dtcg.json +1 -1
  215. package/tokens/modes/system-dark__hoa__comfortable__high.dtcg.json +1 -1
  216. package/tokens/modes/system-dark__hoa__comfortable__standard.dtcg.json +1 -1
  217. package/tokens/modes/system-dark__hoa__compact__high.dtcg.json +1 -1
  218. package/tokens/modes/system-dark__hoa__compact__standard.dtcg.json +1 -1
  219. package/tokens/modes/system-dark__kim-steel__comfortable__high.dtcg.json +1 -1
  220. package/tokens/modes/system-dark__kim-steel__comfortable__standard.dtcg.json +1 -1
  221. package/tokens/modes/system-dark__kim-steel__compact__high.dtcg.json +1 -1
  222. package/tokens/modes/system-dark__kim-steel__compact__standard.dtcg.json +1 -1
  223. package/tokens/modes/system-dark__kim-titanium__comfortable__high.dtcg.json +1 -1
  224. package/tokens/modes/system-dark__kim-titanium__comfortable__standard.dtcg.json +1 -1
  225. package/tokens/modes/system-dark__kim-titanium__compact__high.dtcg.json +1 -1
  226. package/tokens/modes/system-dark__kim-titanium__compact__standard.dtcg.json +1 -1
  227. package/tokens/modes/system-dark__kim__comfortable__high.dtcg.json +1 -1
  228. package/tokens/modes/system-dark__kim__comfortable__standard.dtcg.json +1 -1
  229. package/tokens/modes/system-dark__kim__compact__high.dtcg.json +1 -1
  230. package/tokens/modes/system-dark__kim__compact__standard.dtcg.json +1 -1
  231. package/tokens/modes/system-dark__moc-bamboo__comfortable__high.dtcg.json +1 -1
  232. package/tokens/modes/system-dark__moc-bamboo__comfortable__standard.dtcg.json +1 -1
  233. package/tokens/modes/system-dark__moc-bamboo__compact__high.dtcg.json +1 -1
  234. package/tokens/modes/system-dark__moc-bamboo__compact__standard.dtcg.json +1 -1
  235. package/tokens/modes/system-dark__moc-forest__comfortable__high.dtcg.json +1 -1
  236. package/tokens/modes/system-dark__moc-forest__comfortable__standard.dtcg.json +1 -1
  237. package/tokens/modes/system-dark__moc-forest__compact__high.dtcg.json +1 -1
  238. package/tokens/modes/system-dark__moc-forest__compact__standard.dtcg.json +1 -1
  239. package/tokens/modes/system-dark__moc__comfortable__high.dtcg.json +1 -1
  240. package/tokens/modes/system-dark__moc__comfortable__standard.dtcg.json +1 -1
  241. package/tokens/modes/system-dark__moc__compact__high.dtcg.json +1 -1
  242. package/tokens/modes/system-dark__moc__compact__standard.dtcg.json +1 -1
  243. package/tokens/modes/system-dark__tho-clay__comfortable__high.dtcg.json +1 -1
  244. package/tokens/modes/system-dark__tho-clay__comfortable__standard.dtcg.json +1 -1
  245. package/tokens/modes/system-dark__tho-clay__compact__high.dtcg.json +1 -1
  246. package/tokens/modes/system-dark__tho-clay__compact__standard.dtcg.json +1 -1
  247. package/tokens/modes/system-dark__tho-sand__comfortable__high.dtcg.json +1 -1
  248. package/tokens/modes/system-dark__tho-sand__comfortable__standard.dtcg.json +1 -1
  249. package/tokens/modes/system-dark__tho-sand__compact__high.dtcg.json +1 -1
  250. package/tokens/modes/system-dark__tho-sand__compact__standard.dtcg.json +1 -1
  251. package/tokens/modes/system-dark__tho__comfortable__high.dtcg.json +1 -1
  252. package/tokens/modes/system-dark__tho__comfortable__standard.dtcg.json +1 -1
  253. package/tokens/modes/system-dark__tho__compact__high.dtcg.json +1 -1
  254. package/tokens/modes/system-dark__tho__compact__standard.dtcg.json +1 -1
  255. package/tokens/modes/system-dark__thuy-mist__comfortable__high.dtcg.json +1 -1
  256. package/tokens/modes/system-dark__thuy-mist__comfortable__standard.dtcg.json +1 -1
  257. package/tokens/modes/system-dark__thuy-mist__compact__high.dtcg.json +1 -1
  258. package/tokens/modes/system-dark__thuy-mist__compact__standard.dtcg.json +1 -1
  259. package/tokens/modes/system-dark__thuy-ocean__comfortable__high.dtcg.json +1 -1
  260. package/tokens/modes/system-dark__thuy-ocean__comfortable__standard.dtcg.json +1 -1
  261. package/tokens/modes/system-dark__thuy-ocean__compact__high.dtcg.json +1 -1
  262. package/tokens/modes/system-dark__thuy-ocean__compact__standard.dtcg.json +1 -1
  263. package/tokens/modes/system-dark__thuy__comfortable__high.dtcg.json +1 -1
  264. package/tokens/modes/system-dark__thuy__comfortable__standard.dtcg.json +1 -1
  265. package/tokens/modes/system-dark__thuy__compact__high.dtcg.json +1 -1
  266. package/tokens/modes/system-dark__thuy__compact__standard.dtcg.json +1 -1
  267. package/tokens/modes/system-light__default__comfortable__high.dtcg.json +1 -1
  268. package/tokens/modes/system-light__default__comfortable__standard.dtcg.json +1 -1
  269. package/tokens/modes/system-light__default__compact__high.dtcg.json +1 -1
  270. package/tokens/modes/system-light__default__compact__standard.dtcg.json +1 -1
  271. package/tokens/modes/system-light__hoa-lava__comfortable__high.dtcg.json +1 -1
  272. package/tokens/modes/system-light__hoa-lava__comfortable__standard.dtcg.json +1 -1
  273. package/tokens/modes/system-light__hoa-lava__compact__high.dtcg.json +1 -1
  274. package/tokens/modes/system-light__hoa-lava__compact__standard.dtcg.json +1 -1
  275. package/tokens/modes/system-light__hoa-plasma__comfortable__high.dtcg.json +1 -1
  276. package/tokens/modes/system-light__hoa-plasma__comfortable__standard.dtcg.json +1 -1
  277. package/tokens/modes/system-light__hoa-plasma__compact__high.dtcg.json +1 -1
  278. package/tokens/modes/system-light__hoa-plasma__compact__standard.dtcg.json +1 -1
  279. package/tokens/modes/system-light__hoa__comfortable__high.dtcg.json +1 -1
  280. package/tokens/modes/system-light__hoa__comfortable__standard.dtcg.json +1 -1
  281. package/tokens/modes/system-light__hoa__compact__high.dtcg.json +1 -1
  282. package/tokens/modes/system-light__hoa__compact__standard.dtcg.json +1 -1
  283. package/tokens/modes/system-light__kim-steel__comfortable__high.dtcg.json +1 -1
  284. package/tokens/modes/system-light__kim-steel__comfortable__standard.dtcg.json +1 -1
  285. package/tokens/modes/system-light__kim-steel__compact__high.dtcg.json +1 -1
  286. package/tokens/modes/system-light__kim-steel__compact__standard.dtcg.json +1 -1
  287. package/tokens/modes/system-light__kim-titanium__comfortable__high.dtcg.json +1 -1
  288. package/tokens/modes/system-light__kim-titanium__comfortable__standard.dtcg.json +1 -1
  289. package/tokens/modes/system-light__kim-titanium__compact__high.dtcg.json +1 -1
  290. package/tokens/modes/system-light__kim-titanium__compact__standard.dtcg.json +1 -1
  291. package/tokens/modes/system-light__kim__comfortable__high.dtcg.json +1 -1
  292. package/tokens/modes/system-light__kim__comfortable__standard.dtcg.json +1 -1
  293. package/tokens/modes/system-light__kim__compact__high.dtcg.json +1 -1
  294. package/tokens/modes/system-light__kim__compact__standard.dtcg.json +1 -1
  295. package/tokens/modes/system-light__moc-bamboo__comfortable__high.dtcg.json +1 -1
  296. package/tokens/modes/system-light__moc-bamboo__comfortable__standard.dtcg.json +1 -1
  297. package/tokens/modes/system-light__moc-bamboo__compact__high.dtcg.json +1 -1
  298. package/tokens/modes/system-light__moc-bamboo__compact__standard.dtcg.json +1 -1
  299. package/tokens/modes/system-light__moc-forest__comfortable__high.dtcg.json +1 -1
  300. package/tokens/modes/system-light__moc-forest__comfortable__standard.dtcg.json +1 -1
  301. package/tokens/modes/system-light__moc-forest__compact__high.dtcg.json +1 -1
  302. package/tokens/modes/system-light__moc-forest__compact__standard.dtcg.json +1 -1
  303. package/tokens/modes/system-light__moc__comfortable__high.dtcg.json +1 -1
  304. package/tokens/modes/system-light__moc__comfortable__standard.dtcg.json +1 -1
  305. package/tokens/modes/system-light__moc__compact__high.dtcg.json +1 -1
  306. package/tokens/modes/system-light__moc__compact__standard.dtcg.json +1 -1
  307. package/tokens/modes/system-light__tho-clay__comfortable__high.dtcg.json +1 -1
  308. package/tokens/modes/system-light__tho-clay__comfortable__standard.dtcg.json +1 -1
  309. package/tokens/modes/system-light__tho-clay__compact__high.dtcg.json +1 -1
  310. package/tokens/modes/system-light__tho-clay__compact__standard.dtcg.json +1 -1
  311. package/tokens/modes/system-light__tho-sand__comfortable__high.dtcg.json +1 -1
  312. package/tokens/modes/system-light__tho-sand__comfortable__standard.dtcg.json +1 -1
  313. package/tokens/modes/system-light__tho-sand__compact__high.dtcg.json +1 -1
  314. package/tokens/modes/system-light__tho-sand__compact__standard.dtcg.json +1 -1
  315. package/tokens/modes/system-light__tho__comfortable__high.dtcg.json +1 -1
  316. package/tokens/modes/system-light__tho__comfortable__standard.dtcg.json +1 -1
  317. package/tokens/modes/system-light__tho__compact__high.dtcg.json +1 -1
  318. package/tokens/modes/system-light__tho__compact__standard.dtcg.json +1 -1
  319. package/tokens/modes/system-light__thuy-mist__comfortable__high.dtcg.json +1 -1
  320. package/tokens/modes/system-light__thuy-mist__comfortable__standard.dtcg.json +1 -1
  321. package/tokens/modes/system-light__thuy-mist__compact__high.dtcg.json +1 -1
  322. package/tokens/modes/system-light__thuy-mist__compact__standard.dtcg.json +1 -1
  323. package/tokens/modes/system-light__thuy-ocean__comfortable__high.dtcg.json +1 -1
  324. package/tokens/modes/system-light__thuy-ocean__comfortable__standard.dtcg.json +1 -1
  325. package/tokens/modes/system-light__thuy-ocean__compact__high.dtcg.json +1 -1
  326. package/tokens/modes/system-light__thuy-ocean__compact__standard.dtcg.json +1 -1
  327. package/tokens/modes/system-light__thuy__comfortable__high.dtcg.json +1 -1
  328. package/tokens/modes/system-light__thuy__comfortable__standard.dtcg.json +1 -1
  329. package/tokens/modes/system-light__thuy__compact__high.dtcg.json +1 -1
  330. package/tokens/modes/system-light__thuy__compact__standard.dtcg.json +1 -1
  331. package/tokens/native/CSModes.kt +3 -3
  332. package/tokens/native/CSModes.swift +3 -3
  333. package/tokens/native/CSTokens.kt +1 -1
  334. package/tokens/native/CSTokens.swift +1 -1
  335. package/tokens/native/cs_modes.dart +3 -3
  336. package/tokens/native/cs_tokens.dart +1 -1
  337. package/tokens/native/mode-provenance.json +6 -6
  338. package/tokens/provenance.json +6 -6
  339. package/tokens/tokens.dtcg.json +2 -2
  340. package/tokens/tokens.js +3 -3
  341. package/tokens/tokens.json +2 -2
  342. package/dist/esm/chunks/chunk-GLPQBE2J.mjs.map +0 -7
package/docs/UPSTREAM.md CHANGED
@@ -16,15 +16,12 @@ Verified live in browser: **69/69** `D1`–`D10` checks (`10.0 / 10`), **64/64**
16
16
  | `components/feedback/feedback.card.html` | `.frame { flex: 1 1 100%; min-width: 0 }` | Prevents the toast demo frame from collapsing to zero width inside the flex row. |
17
17
  | `components/logo/logo.card.html` | Lockup wordmark `color: var(--cs-color-text-primary)`. | Ensures the wordmark remains visible in dark mode. |
18
18
 
19
- ## 2 · Shipped verification suite (`audit/`)
19
+ ## 2 · Automated verification suite (`_audit/ci/`)
20
20
 
21
21
  | File | Purpose |
22
22
  |---|---|
23
- | `audit/v2.5.0-verification.html`, `audit/verify-v2.5.0.js`, `audit/fixture-v2.5.0.html` | Verification Audit & Specimen Workbench: 10 dimensions (`P0` tint safety · `P1` 32-scope WCAG 1.4.11 · `P2` Umber separation, 14-control invalid parity, VI diacritics · `P3` nested glass, `DESIGN.md`/asset contract · `D8`–`D10` Doctrine Immutables: dual-ring focus, ≥ 44px touch targets & motion safety, high-contrast, density & semantic status contrast), 69 checks × `v2.5.0+` / `v2.4.0` / `v2.3.1`, 32×6 contrast matrix, edge-case report, JSON export, and specimen switcher (`version × theme × element × variant`). |
24
- | `audit/v2.5.0-verification.json`, `_audit/ci/verify-audit-benchmarks-browser.mjs` | Machine-readable receipt and automated CI/prepublish non-regression gate (`npm run test:audit-regression`): **10.0 / 10** (`69/69` across `D1`–`D10`), embedded baseline suite **64/64** (`v2.4.0` tag `62/64`, `v2.3.1` `8/64`), render health **146/146**, and **0 watch** items. |
25
- | `audit/render-health.html` | Loads all 146 templates, component cards, and UI-kit/guideline pages in hidden frames (as authored / forced dark / high-contrast / any Ngũ Hành scope) and verifies zero unstyled, unresolved, erroring, empty, or low-contrast pages. |
26
- | `audit/fixture.html`, `audit/verify.js`, `audit/v2.4.0-verification.html` | Three-version loader (`?v=current|v240|baseline`) re-running the 64 baseline checks across `v2.5.0`, `v2.4.0`, and `v2.3.1`. |
27
- | `audit/baseline-2.4.0/styles.flat.css`, `audit/baseline-2.3.1/styles.flat.css` | Flattened `styles.css` closures from tags `v2.4.0` and `v2.3.1` for live three-version comparison. |
23
+ | `_audit/ci/verify-audit-benchmarks-browser.mjs`, `_audit/ci/lib/benchmark-checks.mjs` | Automated CI/prepublish live-browser benchmark gate (`npm run test:audit-regression`): scores **10.0 / 10** (`129/129` across 20 dimensions `D1`–`D20`), core baseline suite **64/64** (`10.0 / 10`), 192/192 cells in the 32×6 non-text contrast matrix (`≥ 3.0:1`), 3/3 Generation-2 complex stress-test screens, and **0 watch** items. |
24
+ | `_audit/ci/fixtures/benchmark-20d.html`, `_audit/ci/fixtures/benchmark-baseline.html`, `_audit/ci/fixtures/benchmark-gen2.html` | Current-tree DOM fixtures exercising 32 Theme × Element × Variant scopes, 14 form controls, Vietnamese diacritic metrics, container queries, print/glass rules, and complex multi-scope enterprise/AI/mobile screens against `/dist/styles.css` and `/styles.css`. |
28
25
 
29
26
  ## 3 · Host-specific items excluded from upstream
30
27
 
@@ -4,7 +4,7 @@ The supported web target is the latest two stable releases of Chrome, Firefox, S
4
4
 
5
5
  ## Required capabilities
6
6
 
7
- The system uses `color-mix(in oklab, ...)`, inline-size container queries, `:has()`, `text-wrap: balance` and native `inert`. These features predate the selected floor in the [pinned MDN browser compatibility data](https://github.com/mdn/browser-compat-data/tree/12bc0268c7fe89a4b23fab5c54702c1fb9c34f7a). The retained source record is `_audit/remediation/browser-compatibility-source.json`. No legacy-browser fallback or `inert` polyfill is promised.
7
+ The system uses `color-mix(in oklab, ...)`, inline-size container queries, `:has()`, `text-wrap: balance` and native `inert`. These features predate the selected floor in the [pinned MDN browser compatibility data](https://github.com/mdn/browser-compat-data/tree/12bc0268c7fe89a4b23fab5c54702c1fb9c34f7a). The retained source record is `_audit/ci/fixtures/browser-compatibility-source.json`. No legacy-browser fallback or `inert` polyfill is promised.
8
8
 
9
9
  For the selected latest-two stable floor, native `inert` is available and no `inert` polyfill is required. Its introduction versions are Chrome 102 ([Chrome release notes](https://developer.chrome.com/blog/new-in-chrome-102)), Firefox 112 ([Mozilla developer release notes](https://developer.mozilla.org/en-US/docs/Mozilla/Firefox/Releases/112)), and Safari 15.5 on macOS, iOS and iPadOS ([WebKit release notes](https://webkit.org/blog/12669/new-webkit-features-in-safari-15-5/)); the [HTML Standard](https://html.spec.whatwg.org/multipage/interaction.html#the-inert-attribute) documents the native behavior. This is a feature-availability conclusion for the declared floor, not certification of every admitted browser release, physical-device focus behavior or assistive-technology behavior. Older targets remain outside this promise and need a separately validated fallback.
10
10
 
@@ -8,7 +8,7 @@ Removing a public contract requires a major release **and both** at least two di
8
8
 
9
9
  The authored `components/release-compatibility.json` records the pre-candidate baseline, reviewed pending change classifications, dated notices and publication evidence. Release planning, prepared-candidate verification and tag verification enforce it alongside the unchanged support-approval and exact-source gates. The approved compiled-default entry, APG Menu keyboard, SegmentedControl radio default and default floating placement changes are classified as breaking for the current unreleased revision; patch/minor preparation is blocked. This does not assign a new release identifier, approve support evidence, create a tag or authorize publication. Before a later release cycle, reconcile the baseline and pending entries against the actual accepted publication; never silently clear notice history.
10
10
 
11
- SegmentedControl retains deprecated semantic aliases `role="tablist"` and `role="radiogroup"`. When `mode` is omitted, the alias selects matching tab or radio children; explicit `mode` takes precedence, and the default remains radio. Other role values reject rather than producing mismatched ARIA semantics. Prefer `mode="tabs"` or `mode="radio"`. The earlier removal proposal is archived in `_audit/remediation/segmented-role-removal-proposal-history.json`; it is not a current removal. Rejecting arbitrary roles remains classified as breaking. Announcement fields remain null: this local guidance does not establish a published notice, date or version. Any future removal still requires a major release after two distinct published minor releases and 90 days of recorded notice, alongside all other release gates.
11
+ SegmentedControl retains deprecated semantic aliases `role="tablist"` and `role="radiogroup"`. When `mode` is omitted, the alias selects matching tab or radio children; explicit `mode` takes precedence, and the default remains radio. Other role values reject rather than producing mismatched ARIA semantics. Prefer `mode="tabs"` or `mode="radio"`. The earlier removal proposal is archived in `_audit/ci/fixtures/segmented-role-removal-proposal-history.json`; it is not a current removal. Rejecting arbitrary roles remains classified as breaking. Announcement fields remain null: this local guidance does not establish a published notice, date or version. Any future removal still requires a major release after two distinct published minor releases and 90 days of recorded notice, alongside all other release gates.
12
12
 
13
13
  The currently declared React support lines are 18.x and 19.x; packed-consumer and hydration fixtures test their pinned versions. This is a major-version support window, not proof of every historical patch or a promise about unreleased React majors. Removing a declared line follows the same major-release and deprecation policy. New React majors require explicit compatibility validation before widening peer ranges. Browser targets remain the latest-two policy in the browser-support guide, with engine and physical-device evidence reported separately.
14
14
 
package/docs/consuming.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Consuming & upgrading the CyberSkill Design System
2
2
 
3
- **Source checkout:** VERSION **<!-- cs-source-version:checkout -->2.6.0<!-- /cs-source-version -->** is local source identity, not a registry-availability claim. For an unpublished candidate, validate the reviewed local package tarball or source checkout. Registry commands below refer to published stable 2.5.0 (and the dated ADOPT-001 1.7.2 sibling inventory) and are not automatically updated by preparation. Preparation does not authorize publication.
3
+ **Source checkout:** VERSION **<!-- cs-source-version:checkout -->2.8.0<!-- /cs-source-version -->** is local source identity, not a registry-availability claim. For an unpublished candidate, validate the reviewed local package tarball or source checkout. Registry commands below refer to published stable 2.7.0 (and the dated ADOPT-001 1.7.2 sibling inventory) and are not automatically updated by preparation. Preparation does not authorize publication.
4
4
 
5
5
  How any project — human-driven or agent-driven — adopts this HTML-first design system, and how to take updates safely. Published on Storybook **Docs** at `design.cyberskill.world`.
6
6
 
@@ -1,6 +1,6 @@
1
1
  # Contrast report — elemental pairings (APCA)
2
2
 
3
- Generated · sweep at VERSION 2.6.0.
3
+ Generated · sweep at VERSION 2.8.0.
4
4
 
5
5
  Published on Storybook **Docs** at `design.cyberskill.world`.
6
6
 
@@ -78,7 +78,7 @@ only for HTML element content, never URL, attribute, CSS or script contexts.
78
78
 
79
79
  **New element variant** — stay inside the element's oklch envelope; set the 10 `--cs-accent-*` contract tokens (incl. `--cs-accent-on-strong` ≥4.5:1 and body APCA75 on `-strong`) plus `--cs-color-text-accent`/`--cs-color-link` (APCA-check both); the aurora wash inherits from the element via `.cs-aurora-wash` (override the class rule only if the variant truly needs its own image); gradient partner (`grad-b`) must follow Tương sinh.
80
80
 
81
- **Ship check** — follow the portable verification gate in `docs/doctrine.md`, then run `_audit/docs-consistency.html` **and** `_audit/namespace-portability.html` (both must be green). source checkout VERSION **<!-- cs-source-version:checkout -->2.6.0<!-- /cs-source-version -->**.
81
+ **Ship check** — follow the portable verification gate in `docs/doctrine.md`, then run `_audit/docs-consistency.html` **and** `_audit/namespace-portability.html` (both must be green). source checkout VERSION **<!-- cs-source-version:checkout -->2.8.0<!-- /cs-source-version -->**.
82
82
 
83
83
  ## Decision log (owner-approved)
84
84
 
package/docs/decisions.md CHANGED
@@ -15,7 +15,7 @@ The numbered sections below preserve dated decisions and stable citation IDs; th
15
15
  | Security release window and acknowledgement target | `SECURITY.md` |
16
16
  | Support acceptance and retained approvals | `components/lifecycle.json`, `docs/conventions.md` |
17
17
  | Release preparation and separate authorization | `docs/release-notes.md`, `.github/workflows/release.yml` |
18
- | Validation and current finding dispositions | `_audit/remediation/assessment-remediation.md`, `test-results/final-validation.json` |
18
+ | Validation and current finding dispositions | `_audit/ci/unit-suites.json`, `test-results/final-validation.json` |
19
19
 
20
20
  Published release notes remain historical records. A local build, a prepared candidate, an approved support record and a published release are distinct states.
21
21
 
package/docs/deploy.md CHANGED
@@ -48,7 +48,7 @@ If you host under a **different** domain, change the absolute URLs in those meta
48
48
 
49
49
  **Without Storybook:** after provenance review and explicit deployment approval, serve the reviewed portable inventory as the webroot.
50
50
 
51
- **With Storybook at `/`:** `npm run build:site` writes a reviewed portable mirror to `.vercel-static/` and the Vercel deployment artifact to `.vercel/output/`. Vercel uses the latter's `config.json`; do not supply an old Output Directory override or rewrite `vercel.json` during a build to predict hashes that do not exist yet.
51
+ **With Storybook at `/`:** `npm run build:site` writes a reviewed portable mirror to `.vercel-static/` (including `.nojekyll` and `CNAME` for GitHub Pages deployment via `.github/workflows/pages.yml`) and the Vercel deployment artifact to `.vercel/output/`. Vercel uses the latter's `config.json`; do not supply an old Output Directory override or rewrite `vercel.json` during a build to predict hashes that do not exist yet.
52
52
 
53
53
  Other static hosts need an adapter that maps each final HTML path and its aliases to the exact CSP in `public-site-csp.json`, retains the security headers and legacy redirects from `scripts/site-deployment-policy.json`, and denies inline scripts on unknown paths. Hashes must come from the final emitted bytes, including the deterministic template logic wrapper. A single copied CSP string cannot represent these page-specific permissions.
54
54
 
@@ -2,9 +2,9 @@
2
2
  "schemaVersion": 1,
3
3
  "generator": {
4
4
  "path": "scripts/generate-reference-catalog.mjs",
5
- "sha256": "be85a593b4b29f0d26e5733502f8d9e4f536e10ab015173a34f4101af11723ef"
5
+ "sha256": "197bed9972eeb93eb0119dd38c5aa180a0290b3acd16cc1b957f438fd3dadc58"
6
6
  },
7
- "version": "2.6.0",
7
+ "version": "2.8.0",
8
8
  "interpretation": "The document inventory covers Git-listed Markdown and llms.txt; HTML count surfaces are tracked separately. Audience follows the website publication policy, not npm membership. Source paths locate repository evidence and need not all be packaged. Roles describe source routing and audience, not approval, factual freshness of every sentence, translation quality or capability certification.",
9
9
  "countScope": "Counts describe declared inventory only. Declared language/theme/boolean controls are inventory facts, not proof of complete content, working behavior or every supported state; token declarations and typed base values are distinct counts.",
10
10
  "counts": {
@@ -29,8 +29,8 @@
29
29
  },
30
30
  "sourceHashes": {
31
31
  "_audit/visual-diff.html": "fd344cf31f0aa4130dddec2a99dca5ef60d9d08025b5dc2b4b729a1d388c5bb8",
32
- "_ds_manifest.json": "c095c233237f4ddb574f8fa648c26aee699df2c16d08f7e4a3aeca076a6644e4",
33
- "scripts/public-site-policy.json": "04d862985078720d1cd0aa694ef9f67ed89b9980b97d445ab2cf92a1d6dcce61",
32
+ "_ds_manifest.json": "e7307c53e9b0995b1aec89ddda00abed4674a6f11790ac5c9e89e34f1730fb61",
33
+ "scripts/public-site-policy.json": "8304a323a8b4cb7d8e571694086975cf88697c220416149ff156568ea7d80942",
34
34
  "templates/app-shell/AppShell.dc.html": "f71017a26f12b71d9e653dff79635ed14d5eb4a3dac9c5ce095188c537b858e3",
35
35
  "templates/article/Article.dc.html": "9b2ed3af604ac9e552f33bc922ec7dd2659b786dcb624cb491f7a437658adb2f",
36
36
  "templates/auth/Auth.dc.html": "ab6fb52740dbda804c9963cd2b63aa7d482c4b3cd2fa87b9a7f0c20ab2ef1e64",
@@ -116,7 +116,7 @@
116
116
  "templates/vn-total-rewards-appendix/VnTotalRewardsAppendix.dc.html": "ee941a6d26aa525bba779015ca01f4bdb7246571db2c3558499d7bc2fee3c2aa",
117
117
  "templates/vn-training-commitment/VnTrainingCommitment.dc.html": "49b2b4459bf2a900ddfafe679b6f3b088c78a31f611ae76dc3ac276e05a14c46",
118
118
  "templates/vn-travel-expense-policy/VnTravelExpensePolicy.dc.html": "1e585bd53ec6fb41322082bddfb7eed4ac811bfabb1ad2d639b9babba6c0e212",
119
- "tokens/tokens.dtcg.json": "1546c3a28600a7d9aae3a0d49070d1ade6d1449096b60512417cee69e6b6f5ee"
119
+ "tokens/tokens.dtcg.json": "6da8cd3627ad355d6a80364cf9d801524c0b1ca2760ee1ce0827bccdf2333b5e"
120
120
  },
121
121
  "documents": [
122
122
  {
@@ -129,7 +129,7 @@
129
129
  "path": "DESIGN.md",
130
130
  "audience": "documentation",
131
131
  "role": "generated_reference",
132
- "sha256": "ae83049366c1d74f77b7d6ce2b544226fe61e9e7e61cb76279e7933d6181504d"
132
+ "sha256": "1ac7639da6b5aa7ec5230e5a1ee369af9472c048065b01265cfd594426c04afa"
133
133
  },
134
134
  {
135
135
  "path": "MAINTAINERS.md",
@@ -141,13 +141,13 @@
141
141
  "path": "README.md",
142
142
  "audience": "documentation",
143
143
  "role": "human_orientation",
144
- "sha256": "0f95a156a61adf15b98918576499e7c44e28eb1f11983c393398bba411452e5f"
144
+ "sha256": "29f08654370d2c21d7e2066800beb84f0c7a20699cfd9f997eb9ca51ed850568"
145
145
  },
146
146
  {
147
147
  "path": "SECURITY.md",
148
148
  "audience": "documentation",
149
149
  "role": "security_reporting_policy",
150
- "sha256": "09554b6bc02148bbc712b562f20a5f59183972d1ab891e5bc009e2f73a7a10a6"
150
+ "sha256": "cdca194f01ad5e8d31c54167b6908bffab2aec1e1790fcb7f42cc1489bbc6952"
151
151
  },
152
152
  {
153
153
  "path": "SKILL.md",
@@ -159,13 +159,13 @@
159
159
  "path": "THIRD-PARTY-NOTICES.md",
160
160
  "audience": "documentation",
161
161
  "role": "attribution_or_distribution_record",
162
- "sha256": "19582a4ee7fa8106f4d68a16ca924acf6e59913c6d11b5dddbed19bda8e69e9b"
162
+ "sha256": "892980983539a64434f5807aef7a244d9f46a6062d94e0f8c3affd977d59ad32"
163
163
  },
164
164
  {
165
165
  "path": "_audit/README.md",
166
166
  "audience": "diagnostics",
167
167
  "role": "diagnostic_operator_guide",
168
- "sha256": "ca5f1c15c56b8c887954cdf28f43661c7fccb8522f6542ac72b97e582e265f34"
168
+ "sha256": "fd79f61c852dccb164f4fb8ceceafc8aba6d1d58aaa0521786cedd07ad5f792e"
169
169
  },
170
170
  {
171
171
  "path": "_audit/baselines/README.md",
@@ -855,7 +855,7 @@
855
855
  "path": "docs/UPSTREAM.md",
856
856
  "audience": "documentation",
857
857
  "role": "operator_guide",
858
- "sha256": "fffa842f9062f0e2c9ad28295a8d1d94c123a87563fc0f2b48b8f286a5cefbfe"
858
+ "sha256": "fa476bd0582020fe3631e15bf7190b41c8e1b910258ccc5d6d4a383056961905"
859
859
  },
860
860
  {
861
861
  "path": "docs/benchmark-rubric.md",
@@ -867,7 +867,7 @@
867
867
  "path": "docs/browser-support.md",
868
868
  "audience": "documentation",
869
869
  "role": "operator_guide",
870
- "sha256": "0e4b0086b3c5c15b67f123a547d6d4f374509016e9399ead6d8da51a4ad6700b"
870
+ "sha256": "3e2f42f8bffcf1491e5b60acfb65f2ed43f46ea4395b1cff45eac296a8e29814"
871
871
  },
872
872
  {
873
873
  "path": "docs/ci-cd.md",
@@ -879,7 +879,7 @@
879
879
  "path": "docs/component-api.md",
880
880
  "audience": "documentation",
881
881
  "role": "operator_guide",
882
- "sha256": "69b7003edef9e11747847b85c23e6db76efa3785d02db4580faccbe0558cde7a"
882
+ "sha256": "25417795b10265a035385929ed94408a5a8e109176da9e53345360fb24c1f901"
883
883
  },
884
884
  {
885
885
  "path": "docs/component-css.md",
@@ -915,25 +915,25 @@
915
915
  "path": "docs/consuming.md",
916
916
  "audience": "documentation",
917
917
  "role": "operator_guide",
918
- "sha256": "fca2a205aed45f8df12e836fab27d2500b99ba3dff29a17689a034cb80870244"
918
+ "sha256": "1ac5ae8b17773a27fbf6010c21872600122d7be6af8723d4e7eb9c298a896190"
919
919
  },
920
920
  {
921
921
  "path": "docs/contrast-report.md",
922
922
  "audience": "documentation",
923
923
  "role": "generated_measurement",
924
- "sha256": "39597ad22cfd476603727d4ac36fe67d7662ff1eb3e3570823bd9b49013c95b9"
924
+ "sha256": "2eab5bdd1ce84d7256690ab2668d6b3ce77f4ec1380d17dbf199f21c80c5d957"
925
925
  },
926
926
  {
927
927
  "path": "docs/conventions.md",
928
928
  "audience": "documentation",
929
929
  "role": "normative_repository_contract",
930
- "sha256": "e5f5c33b5eebae3f0d4855b18b0fa8fd60dce17e2b30e36ead6025886a498b1f"
930
+ "sha256": "44a8e41d916e98f74b77dd33b8ba034ea5eeb5056be7f7baafeafd97aae8dd52"
931
931
  },
932
932
  {
933
933
  "path": "docs/decisions.md",
934
934
  "audience": "documentation",
935
935
  "role": "decision_record",
936
- "sha256": "777e1a420efc20bb743e46c83a69ed20b62d48c19155c071060d4b5639c005ce"
936
+ "sha256": "972f7d7299d0968d12b949a4b806434dd7b6b87f165659ca7e24fdd3b3678361"
937
937
  },
938
938
  {
939
939
  "path": "docs/decisions/container-query-migration.md",
@@ -969,7 +969,7 @@
969
969
  "path": "docs/deploy.md",
970
970
  "audience": "documentation",
971
971
  "role": "operator_guide",
972
- "sha256": "61c40a563aa4db5caad5b5a26a420119f03f3eade255c8c67f15dea70c68093d"
972
+ "sha256": "021cb650c6bb10aa7e701361fa21d8b2743ee5c1a36680ace32cc8936f6a11df"
973
973
  },
974
974
  {
975
975
  "path": "docs/design-styles.md",
@@ -1065,7 +1065,7 @@
1065
1065
  "path": "docs/release-notes.md",
1066
1066
  "audience": "documentation",
1067
1067
  "role": "release_history",
1068
- "sha256": "f7c8eac10db5dda843505adabd90e7b37a056d7a2defd8bc6ed4e9b5c650b39b"
1068
+ "sha256": "0f5e128a53adb4d54cfff6d93df5845a7b2a60d5f50bd41dbafedd0f522233e2"
1069
1069
  },
1070
1070
  {
1071
1071
  "path": "docs/releasing.md",
@@ -1083,7 +1083,7 @@
1083
1083
  "path": "docs/static-html-reference.md",
1084
1084
  "audience": "documentation",
1085
1085
  "role": "operator_guide",
1086
- "sha256": "8af5cb04e9e7792f8e81e6b706d89b3cea48237843de36ca41e5af6e19199273"
1086
+ "sha256": "793ced224d0631b11739a0a47f6544defc614ffff64870391345cc2e8b10cdf4"
1087
1087
  },
1088
1088
  {
1089
1089
  "path": "docs/storybook.md",
@@ -1137,7 +1137,7 @@
1137
1137
  "path": "docs/vi/UPSTREAM.md",
1138
1138
  "audience": "documentation",
1139
1139
  "role": "operator_guide",
1140
- "sha256": "17ebb63b9e32f7e24eaa13a3eee4cf3e6938281f13fd1045ee5e3b545d822416"
1140
+ "sha256": "16520c8fb5922ee6e96bca613d63a31b30cfd694823adcdbc1a0a0ff6838603b"
1141
1141
  },
1142
1142
  {
1143
1143
  "path": "docs/vi/benchmark-rubric.md",
@@ -1149,7 +1149,7 @@
1149
1149
  "path": "docs/vi/browser-support.md",
1150
1150
  "audience": "documentation",
1151
1151
  "role": "operator_guide",
1152
- "sha256": "a5fcc8c1e3a6bcde02ceed412a78c7cc17c51dab2671c4a29123ce24fdecba63"
1152
+ "sha256": "c1c44da7a4d57de381adeb398eadd93c7093fecb24360d1f27c9fc0fbd8962f9"
1153
1153
  },
1154
1154
  {
1155
1155
  "path": "docs/vi/ci-cd.md",
@@ -1161,7 +1161,7 @@
1161
1161
  "path": "docs/vi/component-api.md",
1162
1162
  "audience": "documentation",
1163
1163
  "role": "operator_guide",
1164
- "sha256": "55504cbdf5baf57befa0d8558c73ee872fa7c20f4cf54026f38b0c4bf76a7c08"
1164
+ "sha256": "38a77780aab48495befcd41f42d32e2d169489e089289bd2d594f70eb45b8f2e"
1165
1165
  },
1166
1166
  {
1167
1167
  "path": "docs/vi/component-css.md",
@@ -1197,31 +1197,31 @@
1197
1197
  "path": "docs/vi/consuming.md",
1198
1198
  "audience": "documentation",
1199
1199
  "role": "operator_guide",
1200
- "sha256": "a4ba81765485753a9000f88657584ce8b19be77c2786aed89e51048d975e84e2"
1200
+ "sha256": "f7aa7381edbee6b40763df7b2412e21519a857f78a4245dbabb26c6e76d5cc7f"
1201
1201
  },
1202
1202
  {
1203
1203
  "path": "docs/vi/contrast-report.md",
1204
1204
  "audience": "documentation",
1205
1205
  "role": "generated_measurement",
1206
- "sha256": "7a398d1437412575eebff0b9fc84cf2be6d79196ee5438a44ba47103da25a0ec"
1206
+ "sha256": "de42df2eab9e36c68df06ef3282b11f5a01f7126c74e65777632998b770989b2"
1207
1207
  },
1208
1208
  {
1209
1209
  "path": "docs/vi/conventions.md",
1210
1210
  "audience": "documentation",
1211
1211
  "role": "normative_repository_contract",
1212
- "sha256": "eff69f960448e33a3e4c577a1109ea26e9454bdf050f650355bd4a1835166877"
1212
+ "sha256": "ae4e246395efc51647399cd8effaa516c7245687f88a7627c02ae07833100ecf"
1213
1213
  },
1214
1214
  {
1215
1215
  "path": "docs/vi/decisions.md",
1216
1216
  "audience": "documentation",
1217
1217
  "role": "decision_record",
1218
- "sha256": "a32549e388c5be30426defa7da35e6df7ee03e13ba138f61bdb933b1fb5ab6fa"
1218
+ "sha256": "769683b68b108afe6df5c94fed10bdce406106352136bb35c40aa386f5afd71b"
1219
1219
  },
1220
1220
  {
1221
1221
  "path": "docs/vi/deploy.md",
1222
1222
  "audience": "documentation",
1223
1223
  "role": "operator_guide",
1224
- "sha256": "56798ce49b382a39b0d2e341d24adae1e9a719007b1af95f1d887bf6777332cb"
1224
+ "sha256": "a881f1604d01eac8f9d72068f1b330f68262ef7ffb924f2650a92da159ce71ed"
1225
1225
  },
1226
1226
  {
1227
1227
  "path": "docs/vi/design-styles.md",
@@ -1245,13 +1245,13 @@
1245
1245
  "path": "docs/vi/entrypoints/DESIGN.md",
1246
1246
  "audience": "documentation",
1247
1247
  "role": "generated_reference",
1248
- "sha256": "a4d46ac90da270f3c3fd06602fd8133cdc0576fb57b90be4aea6a26c71035b0a"
1248
+ "sha256": "fda888918b0884c1821f383e7bcaf6a27e52ac719ec6a163fa82acd7612585c3"
1249
1249
  },
1250
1250
  {
1251
1251
  "path": "docs/vi/entrypoints/README.md",
1252
1252
  "audience": "documentation",
1253
1253
  "role": "human_orientation",
1254
- "sha256": "7056357c5e3dc772b5496b8dd3d5734295d2277748cfd972b393000855169763"
1254
+ "sha256": "68e3a7a6084f50a47c7cd2fed7bb9b5b37100c9c562689e1de9993f4278a8d2d"
1255
1255
  },
1256
1256
  {
1257
1257
  "path": "docs/vi/entrypoints/SKILL.md",
@@ -1347,7 +1347,7 @@
1347
1347
  "path": "docs/vi/release-notes.md",
1348
1348
  "audience": "documentation",
1349
1349
  "role": "release_history",
1350
- "sha256": "39becd6ad5faecfb72405f878f28ec75f4afe4256e84e186c1c502f4787c09f4"
1350
+ "sha256": "13a966aff7935e4ba844d4eaf48fb23e01f2c3364ae3beef1a310a224f985d37"
1351
1351
  },
1352
1352
  {
1353
1353
  "path": "docs/vi/releasing.md",
@@ -1365,7 +1365,7 @@
1365
1365
  "path": "docs/vi/static-html-reference.md",
1366
1366
  "audience": "documentation",
1367
1367
  "role": "operator_guide",
1368
- "sha256": "e995fd9329fed2b4ece33cd0e7fb16a5b6bad190345d8af4ae496df386d246be"
1368
+ "sha256": "78bb6c4a40145f7698eb213c36f162bb2c522e4b29b8fd7637bce634c64f71fc"
1369
1369
  },
1370
1370
  {
1371
1371
  "path": "docs/vi/storybook.md",
@@ -1,6 +1,6 @@
1
1
  # Release Notes
2
2
 
3
- Curated product highlights for operators. This is **not** a git log and **not** a `CHANGELOG.md` — the design system does not maintain a changelog file. source checkout VERSION **<!-- cs-source-version:checkout -->2.6.0<!-- /cs-source-version -->** identifies the repository version. This page supplies Storybook **Release Notes**; local edits do not establish what is deployed at `design.cyberskill.world`.
3
+ Curated product highlights for operators. This is **not** a git log and **not** a `CHANGELOG.md` — the design system does not maintain a changelog file. source checkout VERSION **<!-- cs-source-version:checkout -->2.8.0<!-- /cs-source-version -->** identifies the repository version. This page supplies Storybook **Release Notes**; local edits do not establish what is deployed at `design.cyberskill.world`.
4
4
 
5
5
  ## Unreleased revision — local implementation, acceptance pending
6
6
 
@@ -28,6 +28,30 @@ These changes belong to the current revision working tree. They are not a publis
28
28
 
29
29
  Release remains pending human visual acceptance, required native/manual assistive-technology checks, provenance decisions, and acceptance of changed pilot artifacts. Changed support evidence requires fresh review in `components/lifecycle.json`. EN/VI is the intended language scope; Japanese remains a partial spike. No support expansion, deprecation or removal is authorized by this note.
30
30
 
31
+ ## Release — `@cyberskill/design@2.7.0`
32
+
33
+ Published stable minor release recorded in `_audit/ci/fixtures/npm-published-release.json` (observed `2026-11-09T20:01:08.112Z`, tag `v2.7.0` at commit `d951d7d74077913d5d957f75c9d50d873b9dd937`).
34
+
35
+ - **20-Dimension Live Browser Benchmark Suite (`_audit/ci/verify-audit-benchmarks-browser.mjs`, `_audit/ci/lib/benchmark-checks.mjs`, `_audit/ci/fixtures/benchmark-20d.html`, `_audit/ci/fixtures/benchmark-gen2.html`):** Expands the automated live browser audit to **20 dimensions (`129/129` checks at `10.0 / 10`, `0 watch` items + `64/64` baseline checks = `193/193` total live browser assertions)** adding `D11` (APCA $L_c \ge 75$ body text & typographic rhythm), `D12` (7-tier `--cs-depth-*` z-index ladder & overlay scroll containment), `D13` (responsive container queries, safe areas & table reflow), `D14` (RTL logical properties, disabled/read-only hygiene & reduced-motion skeleton suppression), `D15` (`@media print`, `@media (forced-colors: active)` WHCM & brand immutables), `D16` (5-axis `Theme × Element × Density × Contrast × Style` orthogonality & surface elevation physics), `D17` (3-browser keyboard & Vietnamese IME focus parity), `D18` (20-family state-machine determinism), `D19` (exportable document/template geometry & table column conservation), and `D20` (production bundle closure, SHA-256 integrity & zero console errors).
36
+ - **3-Engine Picker Focus Restoration & Vietnamese IME Guard Suite (`components/forms/TreeSelect.jsx`, `components/forms/Cascader.jsx`, `components/forms/ColorPicker.jsx`, `components/forms/SearchField.jsx`, `_audit/ci/test-picker-focus-ime-browser.mjs`):** Restores trigger focus across Chromium, Firefox, and WebKit when closing `DatePicker`, `TreeSelect`, `Cascader`, and `ColorPicker` via selection or `Escape` or clearing `SearchField`, and verifies `isComposing` IME Enter-key guards across `Combobox`, `TagInput`, `Mentions`, `PromptInput`, and `SearchField`.
37
+ - **State-Machine Census & `fast-gates` Local `act` Attestation (`scripts/generate-state-inventory.mjs`, `_audit/state-machines.*`, `scripts/run-act-ci.mjs`, `scripts/verify-ci-checks.mjs`, `.github/workflows/design-system-gates.yml`):** Adds source-derived state-machine discovery with `InlineEdit` transition browser verification and extends commit/tree-bound local `act` attestation to `ci/act/fast-gates`.
38
+
39
+ ```bash
40
+ npm install @cyberskill/design@2.7.0
41
+ ```
42
+
43
+ ## Release — `@cyberskill/design@2.6.0`
44
+
45
+ Published stable minor release recorded in `_audit/ci/fixtures/npm-published-release.json` (observed `2026-11-09T17:39:34.494Z`, tag `v2.6.0` at commit `48ed4be40e83bc6d5e2763b03111b07aa2c26df4`).
46
+
47
+ - **10-Dimension Benchmark & Automated CI Non-Regression Gate (`_audit/ci/verify-audit-benchmarks-browser.mjs`, `_audit/ci/lib/benchmark-checks.mjs`, `_audit/ci/fixtures/benchmark-baseline.html`):** Expands the live browser audit to **10 dimensions (`69/69` checks at `10.0 / 10`, `0 watch` items)** adding `D8` (Touch Targets ≥ 44px, Focus Ring Integrity, High-Contrast Mode), `D9` (5-Element × 2-Theme × 3-Variant Token Completeness, Print/A4 Sheet Integrity, Reduced Motion), and `D10` (Brand Identity, Bilingual EN/VI Completeness, Token Purity), enforced in CI and `prepublishOnly` via `npm run test:audit-regression`.
48
+ - **Single-File Flattened CSS Export & Inline Logo Guidance (`package.json`, `scripts/flatten-css.mjs`, `DESIGN.md`, `docs/vi/entrypoints/DESIGN.md`):** Exposes `"./dist/styles.css": "./dist/styles.css"` in `package.json#exports`, derives the `dist/styles.css` header banner dynamically from `VERSION`, and documents the canonical `<svg viewBox="0 0 64 64">` inline logo pattern for single-file and cloud sandbox runtimes.
49
+ - **Fast Commit-Bound `act` Shard Attestation (`.github/workflows/design-system-gates.yml`, `scripts/run-act-ci.mjs`, `scripts/verify-ci-checks.mjs`):** Verifies commit-bound local `ci/act/unit-tests (1/4..4/4)` receipts ahead of heavy dependency and browser installation steps, cutting GitHub Actions `unit-tests` runtime to ~15 seconds when pre-verified via `act`.
50
+
51
+ ```bash
52
+ npm install @cyberskill/design@2.6.0
53
+ ```
54
+
31
55
  ## Release — `@cyberskill/design@2.5.0`
32
56
 
33
57
  Published stable minor release recorded in `_audit/ci/fixtures/npm-published-release.json` (observed `2026-11-09T06:04:11.249Z`, tag `v2.5.0` at commit `6e7fe3c158b122c8ca19b8253eb06460c7f2f919`). Subsequent repository tags `v2.3.1` and `v2.4.0` preceded `v2.5.0`.
@@ -35,7 +59,6 @@ Published stable minor release recorded in `_audit/ci/fixtures/npm-published-rel
35
59
  - **Scoped Nested Theme & Liquid Glass Parity (`base/glass.css`, `tokens/theme-dark.css`):** Re-computes `--_cs-light` / `--_cs-dark` space-toggle tokens, `--_cs-surface-scrim`, and all eight `--cs-glass-*-{bg,border}` materials inside nested `[data-theme]` scopes.
36
60
  - **32-Scope Contrast & Dark Default Tint Safety (`base/collections.css`, `base/controls.css`, `base/feedback.css`, `base/shell.css`, `base/ai.css`):** Replaces un-scoped `--cs-accent-tint` dark backgrounds with `color-mix(in oklab, var(--cs-accent) 18%, var(--cs-color-surface-panel))`, upgrades non-text indicators to `--cs-color-text-accent` (`WCAG 1.4.11 ≥ 3:1` across all 32 scopes), and adds inset perimeter rings for dark Umber surfaces.
37
61
  - **13-Control Invalid State & Vietnamese Typography Clearance (`base/components.css`, `base/controls.css`, `base/typography.css`, `base/data.css`):** Unifies `.is-invalid` / `[aria-invalid="true"]` danger borders across all 13 form controls and applies `:lang(vi) { line-height: 1.22; }` to `.cs-display` and `.cs-stat__value`.
38
- - **Verification & Non-Regression Gate (`audit/v2.5.0-verification.html`, `audit/render-health.html`, `audit/v2.5.0-verification.json`, `_audit/ci/verify-audit-benchmarks-browser.mjs`):** All 69 checks across 10 dimensions (`D1`–`D7` remediation + `D8`–`D10` Doctrine Immutables) pass at **10.0 / 10** and the embedded baseline suite scores **64/64** (**62/64** for v2.4.0, **8/64** for v2.3.1); `audit/render-health.html` checks **146** pages with **0 bad** as authored, under `theme=dark`, and under `theme=dark` + `contrast=high` on `set=cards`. Dark default-scope tint ink measures **8.42:1–10.54:1** (`.cs-result__icon` **8.42:1**, `.cs-item.is-selected` **10.54:1** — both clearing WCAG AAA `7:1` with `0 watch` items).
39
62
 
40
63
  ```bash
41
64
  npm install @cyberskill/design@2.5.0