@repobit/dex-system-design 0.25.12 → 1.0.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 (336) hide show
  1. package/CHANGELOG.md +204 -0
  2. package/README.md +131 -8
  3. package/package.json +96 -13
  4. package/schemas/component-manifest.json +3294 -405
  5. package/schemas/manifest-omissions.json +173 -0
  6. package/src/blog/src/breakpoints.js +6 -6
  7. package/src/blog/src/content/blog-atoms-showcase.js +1 -1
  8. package/src/blog/src/content/blog-page-layout.js +2 -2
  9. package/src/blog/src/lib/article-toc.js +7 -7
  10. package/src/blog/src/shell/blog-shell.js +1 -1
  11. package/src/blog/src/tokens/blog.js +2 -2
  12. package/src/blog/src/tokens/core.js +34 -35
  13. package/src/blog/src/tokens/legacy.js +0 -9
  14. package/src/blog/tokens/blog.js +2 -2
  15. package/src/blog/tokens/core.js +34 -35
  16. package/src/blog/tokens/legacy.js +0 -9
  17. package/src/blog/tokens.css +36 -46
  18. package/src/components/accordion/accordion-bg.css.js +83 -59
  19. package/src/components/accordion/accordion-bg.js +29 -10
  20. package/src/components/accordion/accordion-bg.stories.js +67 -67
  21. package/src/components/accordion/accordion-keyboard.js +80 -0
  22. package/src/components/accordion/accordion.css.js +142 -80
  23. package/src/components/accordion/accordion.js +37 -10
  24. package/src/components/accordion/accordion.stories.js +7 -7
  25. package/src/components/agent-endpoints/agent-endpoints.css.js +36 -39
  26. package/src/components/agent-endpoints/agent-endpoints.js +30 -20
  27. package/src/components/agent-endpoints/agent-endpoints.stories.js +1 -1
  28. package/src/components/ai-guardian-demo.stories.js +91 -91
  29. package/src/components/alert/alert.css.js +198 -0
  30. package/src/components/alert/alert.js +103 -0
  31. package/src/components/alert/alert.stories.js +206 -0
  32. package/src/components/anchor/anchor-nav.css.js +213 -101
  33. package/src/components/anchor/anchor-nav.js +26 -40
  34. package/src/components/anchor/anchor.stories.js +22 -12
  35. package/src/components/annotation/annotation.css.js +58 -0
  36. package/src/components/annotation/annotation.js +67 -0
  37. package/src/components/annotation/annotation.stories.js +63 -0
  38. package/src/components/architecture.stories.js +285 -0
  39. package/src/components/atoms.stories.js +342 -0
  40. package/src/components/avatar/avatar.css.js +67 -0
  41. package/src/components/avatar/avatar.js +42 -0
  42. package/src/components/avatar/avatar.stories.js +95 -0
  43. package/src/components/awards/awards-flex.css.js +209 -23
  44. package/src/components/awards/awards-flex.js +66 -7
  45. package/src/components/awards/awards-flex.stories.js +1 -1
  46. package/src/components/awards/{awards-light.stories.js → awards-summary.stories.js} +54 -64
  47. package/src/components/awards/awards.css.js +116 -58
  48. package/src/components/awards/awards.js +102 -28
  49. package/src/components/awards/awards.stories.js +1 -1
  50. package/src/components/back/back.css.js +51 -22
  51. package/src/components/back/back.js +28 -7
  52. package/src/components/back/back.stories.js +9 -3
  53. package/src/components/badge/badge.css.js +158 -46
  54. package/src/components/badge/badge.js +62 -74
  55. package/src/components/badge/badge.stories.js +176 -248
  56. package/src/components/bento-grid/bento-grid.css.js +21 -16
  57. package/src/components/bento-grid/bento-grid.js +16 -4
  58. package/src/components/bento-grid/bento-grid.stories.js +19 -18
  59. package/src/components/bento-grid/bento-item.css.js +52 -28
  60. package/src/components/bento-grid/bento-item.js +2 -2
  61. package/src/components/blockquote/blockquote.css.js +47 -0
  62. package/src/components/blockquote/blockquote.js +29 -0
  63. package/src/components/blockquote/blockquote.stories.js +62 -0
  64. package/src/components/breadcrumb/breadcrumb.css.js +92 -22
  65. package/src/components/breadcrumb/breadcrumb.js +56 -11
  66. package/src/components/button/button.css.js +531 -161
  67. package/src/components/button/button.js +206 -214
  68. package/src/components/button/button.stories.js +322 -174
  69. package/src/components/caption/caption.css.js +21 -0
  70. package/src/components/caption/caption.js +31 -0
  71. package/src/components/caption/caption.stories.js +62 -0
  72. package/src/components/card-features/card-features.css.js +14 -22
  73. package/src/components/card-features/card-features.js +68 -9
  74. package/src/components/card-features/card-features.stories.js +11 -11
  75. package/src/components/cards/card.css.js +60 -81
  76. package/src/components/cards/card.js +56 -25
  77. package/src/components/cards/card.stories.js +39 -39
  78. package/src/components/carousel/carousel.css.js +93 -99
  79. package/src/components/carousel/carousel.js +32 -4
  80. package/src/components/checkbox/checkbox.css.js +111 -93
  81. package/src/components/checkbox/checkbox.js +64 -90
  82. package/src/components/checkbox/checkbox.stories.js +96 -29
  83. package/src/components/code/code.css.js +70 -0
  84. package/src/components/code/code.js +40 -0
  85. package/src/components/code/code.stories.js +73 -0
  86. package/src/components/compare/compare.css.js +179 -43
  87. package/src/components/compare/compare.js +52 -25
  88. package/src/components/compare/compare.stories.js +61 -4
  89. package/src/components/comparison-panel/comparison-panel.css.js +38 -51
  90. package/src/components/comparison-panel/comparison-panel.js +5 -4
  91. package/src/components/comparison-panel/comparison-panel.stories.js +1 -1
  92. package/src/components/compatibility-table/compatibility-table.css.js +180 -80
  93. package/src/components/compatibility-table/compatibility-table.js +37 -9
  94. package/src/components/control-alignment.stories.js +393 -0
  95. package/src/components/cta-banner/cta-banner.css.js +41 -13
  96. package/src/components/cta-banner/cta-banner.js +6 -5
  97. package/src/components/cta-banner/cta-banner.stories.js +43 -98
  98. package/src/components/display/display.css.js +25 -1
  99. package/src/components/display/display.js +46 -13
  100. package/src/components/display/display.stories.js +270 -40
  101. package/src/components/divider/divider-horizontal.js +21 -5
  102. package/src/components/divider/divider-vertical.js +15 -7
  103. package/src/components/divider/divider.css.js +2 -2
  104. package/src/components/divider/divider.stories.js +38 -34
  105. package/src/components/dropdown/dropdown.css.js +93 -126
  106. package/src/components/dropdown/dropdown.js +114 -34
  107. package/src/components/dropdown/dropdown.stories.js +56 -24
  108. package/src/components/features/features.css.js +24 -11
  109. package/src/components/features/features.js +7 -3
  110. package/src/components/features/features.stories.js +37 -37
  111. package/src/components/features-tab/features-tab.css.js +19 -8
  112. package/src/components/features-tab/features-tab.js +6 -5
  113. package/src/components/features-tab/features-tab.stories.js +23 -23
  114. package/src/components/fieldset/fieldset.css.js +30 -0
  115. package/src/components/fieldset/fieldset.js +28 -0
  116. package/src/components/fieldset/fieldset.stories.js +84 -0
  117. package/src/components/footer/footer-links-group.css.js +10 -14
  118. package/src/components/footer/footer-links-group.js +4 -3
  119. package/src/components/footer/footer-lp.css.js +59 -30
  120. package/src/components/footer/footer-lp.js +17 -12
  121. package/src/components/footer/footer-lp.stories.js +63 -75
  122. package/src/components/footer/footer-nav-menu.css.js +26 -4
  123. package/src/components/footer/footer-nav-menu.js +3 -2
  124. package/src/components/footer/footer.css.js +146 -264
  125. package/src/components/footer/footer.js +176 -106
  126. package/src/components/footer/footer.stories.js +9 -9
  127. package/src/components/footer/localeMap.js +1 -1
  128. package/src/components/grid/grid.css.js +1 -1
  129. package/src/components/grid/grid.js +49 -7
  130. package/src/components/grid/grid.stories.js +111 -0
  131. package/src/components/header/header-code.css.js +61 -51
  132. package/src/components/header/header-code.js +28 -14
  133. package/src/components/header/header-code.stories.js +5 -5
  134. package/src/components/header/header.css.js +655 -176
  135. package/src/components/header/header.js +269 -36
  136. package/src/components/header/header.stories.js +841 -18
  137. package/src/components/heading/heading.css.js +14 -17
  138. package/src/components/heading/heading.js +48 -33
  139. package/src/components/heading/heading.stories.js +27 -25
  140. package/src/components/help-text/help-text.css.js +21 -0
  141. package/src/components/help-text/help-text.js +25 -0
  142. package/src/components/help-text/help-text.stories.js +66 -0
  143. package/src/components/highlight/highlight.css.js +86 -64
  144. package/src/components/highlight/highlight.js +18 -27
  145. package/src/components/highlight/highlight.stories.js +14 -3
  146. package/src/components/icons/analysis-icon.js +6 -16
  147. package/src/components/icons/arrow-down-icon.js +6 -19
  148. package/src/components/icons/arrow-icon.js +44 -0
  149. package/src/components/icons/arrow-right-icon.js +30 -23
  150. package/src/components/icons/arrow-up-icon.js +19 -18
  151. package/src/components/icons/bd-ai-icon.js +1 -1
  152. package/src/components/icons/brand-marks.stories.js +279 -0
  153. package/src/components/icons/brand-signature-icon.js +42 -0
  154. package/src/components/icons/check-icon.js +27 -0
  155. package/src/components/icons/circle-info-icon.js +33 -0
  156. package/src/components/icons/close-icon.js +6 -18
  157. package/src/components/icons/family-icon.js +8 -20
  158. package/src/components/icons/globe-icon.js +6 -18
  159. package/src/components/icons/guide-icon.js +6 -18
  160. package/src/components/icons/icon-element.js +99 -0
  161. package/src/components/icons/icons.js +36 -0
  162. package/src/components/icons/icons.stories.js +184 -52
  163. package/src/components/icons/individual-icon.js +6 -18
  164. package/src/components/icons/laurel-icon.js +9 -19
  165. package/src/components/icons/machine-learning-icon.js +6 -17
  166. package/src/components/icons/marks.js +41 -0
  167. package/src/components/icons/minus-icon.js +7 -21
  168. package/src/components/icons/missing-icon.js +52 -0
  169. package/src/components/icons/plus-icon.js +7 -21
  170. package/src/components/icons/quote-icon.js +19 -19
  171. package/src/components/image/image.css.js +72 -25
  172. package/src/components/image/image.js +11 -6
  173. package/src/components/image/image.stories.js +2 -2
  174. package/src/components/input/custom-form.stories.js +214 -62
  175. package/src/components/input/input-clipboard.css.js +51 -144
  176. package/src/components/input/input-clipboard.js +31 -15
  177. package/src/components/input/input.css.js +8 -146
  178. package/src/components/input/input.js +93 -38
  179. package/src/components/install-options/install-options.css.js +84 -77
  180. package/src/components/install-options/install-options.js +33 -30
  181. package/src/components/install-options/install-options.stories.js +3 -3
  182. package/src/components/label/label.css.js +35 -0
  183. package/src/components/label/label.js +38 -0
  184. package/src/components/label/label.stories.js +82 -0
  185. package/src/components/light-carousel/light-carousel.css.js +111 -63
  186. package/src/components/light-carousel/light-carousel.js +85 -11
  187. package/src/components/light-carousel/light-carousel.stories.js +126 -82
  188. package/src/components/link/link.css.js +150 -99
  189. package/src/components/link/link.js +86 -11
  190. package/src/components/link/link.stories.js +124 -30
  191. package/src/components/list/list-item/list-item.css.js +74 -22
  192. package/src/components/list/list-item/list-item.js +32 -10
  193. package/src/components/list/list-item/list-item.stories.js +23 -23
  194. package/src/components/list/list.css.js +8 -2
  195. package/src/components/list/list.js +3 -2
  196. package/src/components/list/list.stories.js +222 -0
  197. package/src/components/modal/modal.css.js +114 -24
  198. package/src/components/modal/modal.js +83 -7
  199. package/src/components/modal/modal.stories.js +9 -9
  200. package/src/components/overview/overview.css.js +19 -14
  201. package/src/components/overview/overview.js +6 -5
  202. package/src/components/overview/overview.stories.js +10 -10
  203. package/src/components/page-switcher/page-switcher.css.js +97 -40
  204. package/src/components/page-switcher/page-switcher.js +28 -5
  205. package/src/components/page-switcher/page-switcher.stories.js +95 -0
  206. package/src/components/paragraph/paragraph.css.js +15 -10
  207. package/src/components/paragraph/paragraph.js +41 -44
  208. package/src/components/paragraph/paragraph.stories.js +56 -21
  209. package/src/components/picture/picture.css.js +103 -44
  210. package/src/components/picture/picture.js +100 -30
  211. package/src/components/picture/picture.stories.js +1 -1
  212. package/src/components/pricing-cards/new-pricing-card.js +3 -3
  213. package/src/components/pricing-cards/new-pricing.css.js +24 -15
  214. package/src/components/pricing-cards/pricing-card-actions.css.js +1 -1
  215. package/src/components/pricing-cards/pricing-card-actions.js +3 -4
  216. package/src/components/pricing-cards/pricing-card-container.css.js +3 -3
  217. package/src/components/pricing-cards/pricing-card-container.js +3 -2
  218. package/src/components/pricing-cards/pricing-card-header.css.js +10 -8
  219. package/src/components/pricing-cards/pricing-card-header.js +6 -7
  220. package/src/components/pricing-cards/pricing-card-pricing.css.js +16 -9
  221. package/src/components/pricing-cards/pricing-card-pricing.js +8 -6
  222. package/src/components/pricing-cards/pricing-card-show-more.css.js +11 -3
  223. package/src/components/pricing-cards/pricing-card-show-more.js +8 -3
  224. package/src/components/pricing-cards/pricing-card.css.js +244 -190
  225. package/src/components/pricing-cards/pricing-card.js +54 -70
  226. package/src/components/pricing-cards/pricing-feature-item.css.js +25 -8
  227. package/src/components/pricing-cards/pricing-feature-item.js +8 -3
  228. package/src/components/process-steps/process-steps.css.js +26 -14
  229. package/src/components/process-steps/process-steps.js +23 -6
  230. package/src/components/process-steps/process-steps.stories.js +1 -1
  231. package/src/components/progress/progress.css.js +80 -0
  232. package/src/components/progress/progress.js +42 -0
  233. package/src/components/progress/progress.stories.js +79 -0
  234. package/src/components/quick-answer/quick-answer.css.js +75 -13
  235. package/src/components/quick-answer/quick-answer.js +8 -3
  236. package/src/components/radio/radio.css.js +92 -128
  237. package/src/components/radio/radio.js +106 -127
  238. package/src/components/radio/radio.stories.js +54 -19
  239. package/src/components/review/review-grid.css.js +5 -6
  240. package/src/components/review/review-grid.js +14 -11
  241. package/src/components/review/review.css.js +11 -6
  242. package/src/components/review/review.js +3 -8
  243. package/src/components/shared/ensemble.css.js +93 -0
  244. package/src/components/shared/form-field.css.js +206 -0
  245. package/src/components/shared/prop-vocabulary.js +48 -0
  246. package/src/components/shared/token-scales.js +306 -0
  247. package/src/components/skeleton/skeleton.css.js +34 -0
  248. package/src/components/skeleton/skeleton.js +32 -0
  249. package/src/components/skeleton/skeleton.stories.js +70 -0
  250. package/src/components/spinner/spinner.css.js +62 -0
  251. package/src/components/spinner/spinner.js +38 -0
  252. package/src/components/spinner/spinner.stories.js +92 -0
  253. package/src/components/spotlight-section/spotlight-section.css.js +14 -13
  254. package/src/components/spotlight-section/spotlight-section.js +42 -39
  255. package/src/components/switch/switch.css.js +103 -0
  256. package/src/components/switch/switch.js +44 -0
  257. package/src/components/switch/switch.stories.js +86 -0
  258. package/src/components/tab-list/content-switcher.stories.js +189 -0
  259. package/src/components/tab-list/tab-list.css.js +250 -0
  260. package/src/components/tab-list/tab-list.js +184 -0
  261. package/src/components/tab-list/tab-list.stories.js +221 -0
  262. package/src/components/tabs/tabs.css.js +14 -123
  263. package/src/components/tabs/tabs.js +16 -19
  264. package/src/components/tabs/tabs.stories.js +95 -95
  265. package/src/components/tag/tag.css.js +54 -0
  266. package/src/components/tag/tag.js +32 -0
  267. package/src/components/tag/tag.stories.js +126 -0
  268. package/src/components/terminal/terminal-message.css.js +164 -60
  269. package/src/components/terminal/terminal-message.js +5 -5
  270. package/src/components/terminal/terminal-message.stories.js +70 -1
  271. package/src/components/termsOfUse/terms.css.js +25 -20
  272. package/src/components/termsOfUse/terms.js +13 -9
  273. package/src/components/termsOfUse/terms.stories.js +1 -1
  274. package/src/components/textarea/textarea.css.js +51 -0
  275. package/src/components/textarea/textarea.js +136 -0
  276. package/src/components/textarea/textarea.stories.js +191 -0
  277. package/src/components/tooltip/tooltip.css.js +75 -0
  278. package/src/components/tooltip/tooltip.js +156 -0
  279. package/src/components/tooltip/tooltip.stories.js +161 -0
  280. package/src/components/trust-panel/trust-panel.css.js +85 -33
  281. package/src/components/trust-panel/trust-panel.js +18 -10
  282. package/src/components/trust-panel/trust-panel.stories.js +1 -1
  283. package/src/components/ultimate-security-demo.stories.js +431 -0
  284. package/src/components/video/video.css.js +17 -0
  285. package/src/components/video/video.js +40 -0
  286. package/src/components/video/video.stories.js +106 -0
  287. package/src/components/video-player/video-player.css.js +67 -11
  288. package/src/components/video-player/video-player.js +35 -4
  289. package/src/components/video-player/video-player.stories.js +1 -1
  290. package/src/components/visual-alignment.stories.js +411 -0
  291. package/src/components/visually-hidden/visually-hidden.css.js +24 -0
  292. package/src/components/visually-hidden/visually-hidden.js +16 -0
  293. package/src/components/visually-hidden/visually-hidden.stories.js +56 -0
  294. package/src/stories/Button.stories.js +17 -17
  295. package/src/stories/Header.stories.js +10 -10
  296. package/src/stories/Page.js +1 -1
  297. package/src/stories/Page.stories.js +6 -6
  298. package/src/tokens/borders.stories.js +339 -0
  299. package/src/tokens/color-responsibilities.stories.js +227 -0
  300. package/src/tokens/dark-derivation.js +309 -0
  301. package/src/tokens/dark-findings.js +197 -0
  302. package/src/tokens/dark-mode.stories.js +207 -0
  303. package/src/tokens/dimension.stories.js +251 -0
  304. package/src/tokens/elevation.stories.js +143 -0
  305. package/src/tokens/focus.stories.js +276 -0
  306. package/src/tokens/fonts.css +20 -20
  307. package/src/tokens/fonts.stories.js +354 -374
  308. package/src/tokens/layout.css +25 -11
  309. package/src/tokens/motion.stories.js +231 -0
  310. package/src/tokens/shape.stories.js +272 -0
  311. package/src/tokens/spacing-rhythm.stories.js +359 -0
  312. package/src/tokens/spacing.stories.js +208 -703
  313. package/src/tokens/story-chrome.js +503 -0
  314. package/src/tokens/surfaces.stories.js +224 -0
  315. package/src/tokens/text-on-surface.stories.js +164 -0
  316. package/src/tokens/token-map.js +220 -0
  317. package/src/tokens/token-map.stories.js +257 -0
  318. package/src/tokens/token-purposes.js +266 -0
  319. package/src/tokens/tokens-grid.stories.js +388 -900
  320. package/src/tokens/tokens.css +1633 -1045
  321. package/src/tokens/tokens.js +1130 -492
  322. package/src/tokens/tokens.stories.js +137 -47
  323. package/src/tokens/type-ceiling-words.js +299 -0
  324. package/src/tokens/typography.stories.js +1003 -965
  325. package/src/tokens/vertical-rhythm.stories.js +224 -0
  326. package/src/components/awards/awards-icon.js +0 -56
  327. package/src/components/awards/awards-light.js +0 -240
  328. package/src/components/banner/banner.js +0 -60
  329. package/src/components/banner/banner.stories.js +0 -51
  330. package/src/components/button/icons.js +0 -24
  331. package/src/components/input/index.js +0 -0
  332. package/src/components/light-carousel/light-carousel-simple.css.js +0 -183
  333. package/src/components/light-carousel/light-carousel-simple.js +0 -74
  334. package/src/tokens/colors.js +0 -121
  335. package/src/tokens/typography.css.js +0 -207
  336. package/src/tokens/typography.js +0 -0
package/CHANGELOG.md CHANGED
@@ -3,6 +3,210 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [1.0.0](https://github.com/bitdefender/dex-core/compare/@repobit/dex-system-design@0.26.0...@repobit/dex-system-design@1.0.0) (2026-10-14)
7
+
8
+ ### ⚠ BREAKING CHANGES
9
+
10
+ * **DEX-28949:** release the design system as 1.0.0
11
+
12
+ ### Miscellaneous Chores
13
+
14
+ * **DEX-28949:** release the design system as 1.0.0
15
+
16
+
17
+ ## [0.26.0](https://github.com/bitdefender/dex-core/compare/@repobit/dex-system-design@0.25.12...@repobit/dex-system-design@0.26.0) (2026-10-14)
18
+
19
+ **Deprecated.** Published as a minor by mistake; the new design system ships as 1.0.0, and the changes below are the ones 1.0.0 contains. Breaking for consumers of 0.25.x, beyond the icons export listed below:
20
+
21
+ * `bd-h` and `bd-p` take token step and role names instead of raw CSS: `color="inverse"`, `fontWeight="bold"`, `padding="16"`, `font-family="mono"`. Raw values are ignored.
22
+ * `kind` is deprecated in favour of `variant` on buttons and paragraphs; `kind="danger"` renders the accent variant.
23
+ * The components main added (install-options, review, spotlight-section, terminal-message log lines, header-code) render with the system's roles, which changes some colours, weights and breakpoints.
24
+
25
+ ### ⚠ BREAKING CHANGES
26
+
27
+ * **DEX-1014:** the ./icons export no longer registers bd-ai-icon,
28
+ bd-av-comparatives-icon, bd-best-brands-icon, bd-pc-mag-icon,
29
+ bd-pc-mag-2024-icon, bd-pc-mag-business-icon, bd-pc-mag-readers-icon or
30
+ bd-top-product-icon. Import ./marks for those, or the individual files.
31
+ component-manifest.json records the new packageExport for all eight.
32
+
33
+ ### Features
34
+
35
+ * **DEX-1014:** a dark mode page in Storybook, because the study only lived in Figma
36
+ * **DEX-1014:** a fixed media frame role, because video and terminal read inverse
37
+ * **DEX-1014:** a token map, because the structural findings had no page to land on
38
+ * **DEX-1014:** add the Content Switcher, and retire the pricing toggle
39
+ * **DEX-1014:** add the ultimate-security demo page, graded by the typography contract
40
+ * **DEX-1014:** adopt the Eclipse icon set, and make focus visible where it was not
41
+ * **DEX-1014:** align bd-progress across all four sources, and gate the class
42
+ * **DEX-1014:** an icon-only button, because the audience cards' arrow had nothing to render it
43
+ * **DEX-1014:** check whether two correct colour roles read against each other
44
+ * **DEX-1014:** close Phase 2's spacing half as scale membership, not role coverage
45
+ * **DEX-1014:** close Phase 3 — private aliases and host selectors, both checked
46
+ * **DEX-1014:** connect the Figma atom library to the elements it describes
47
+ * **DEX-1014:** draw the check and the right chevron, and retire the five glyph icons
48
+ * **DEX-1014:** every token declares its tier, because the tier was being read off the name
49
+ * **DEX-1014:** expose bd-link's anchor as a part
50
+ * **DEX-1014:** extract bd-tab-list atom from the three tab sections
51
+ * **DEX-1014:** flag a stray backtick before it breaks the template
52
+ * **DEX-1014:** gate both coverage axes against a baseline, and share one baseline
53
+ * **DEX-1014:** gate the plan documents against citing what does not exist
54
+ * **DEX-1014:** give control labels a role family, taking NEEDS_ROLE from 39 to 2
55
+ * **DEX-1014:** give the awards section its band, and its cards the edge that follows
56
+ * **DEX-1014:** give the inverse surface the second text step it never had, closes [#0b1626](https://github.com/bitdefender/dex-core/issues/0b1626)
57
+ * **DEX-1014:** give the pricing cards a brand band and a visible edge
58
+ * **DEX-1014:** give the wayfinding family one contract
59
+ * **DEX-1014:** govern spacing-vs-dimension by behaviour rather than by name
60
+ * **DEX-1014:** hold atoms to zero literals, and lint lengths and motion
61
+ * **DEX-1014:** implement the page column once, as bd-ensemble, closes [#4](https://github.com/bitdefender/dex-core/issues/4)
62
+ * **DEX-1014:** land Header / v2's chosen configuration, and give the hero one h1
63
+ * **DEX-1014:** make a missing icon visible, and make the set of owed icons a command
64
+ * **DEX-1014:** make nine type roles fluid, and give the scale a mobile ladder
65
+ * **DEX-1014:** make the card shape a role, and check it
66
+ * **DEX-1014:** map the carousels to Figma
67
+ * **DEX-1014:** map the content surfaces to Figma, closes [#27c93](https://github.com/bitdefender/dex-core/issues/27c93)
68
+ * **DEX-1014:** map the disclosure and overlay components to Figma
69
+ * **DEX-1014:** map the page furniture to Figma, completing the component layer
70
+ * **DEX-1014:** map the wayfinding components to Figma with Code Connect
71
+ * **DEX-1014:** name the boundary eight components had to spell themselves, closes [#151719](https://github.com/bitdefender/dex-core/issues/151719)
72
+ * **DEX-1014:** name the colour, stacking and opacity roles as tokens
73
+ * **DEX-1014:** name the focus-ring and indicator roles as tokens
74
+ * **DEX-1014:** name the surface-container role and document the surface system
75
+ * **DEX-1014:** promote the colour coverage check into the repo, report-only
76
+ * **DEX-1014:** reshape bd-alert to the Eclipse banner, and rebuild the Figma set to match
77
+ * **DEX-1014:** role purposes live in one module, because Figma only restated the code name
78
+ * **DEX-1014:** size the interface icons from the icon scale
79
+ * **DEX-1014:** the avatar disc reads the brand tint, chosen for what it means
80
+ * **DEX-1014:** the header's CTA labels are the page's, and the secondary CTA was dead
81
+ * **DEX-1014:** the header's heading level is the page's to set, not the component's
82
+
83
+ ### Bug Fixes
84
+
85
+ * **DEX-1014:** a self-test may not assert what the checkout happens to be
86
+ * **DEX-1014:** act on the drift audit — nine dead rules, seven motion guards, five documents
87
+ * **DEX-1014:** align the awards card, and repair the icon values worth repairing
88
+ * **DEX-1014:** align the badge Playground args, unbreaking CI
89
+ * **DEX-1014:** align the highlight end-bar with its background
90
+ * **DEX-1014:** bd-display defaults to md, the largest step that fits every width
91
+ * **DEX-1014:** bound the tooltip bubble so its text stops leaving the page
92
+ * **DEX-1014:** bring the CompareSection card to the card-family corner
93
+ * **DEX-1014:** bring the fourth form control into the form family
94
+ * **DEX-1014:** check the lint baseline both ways, and say what is in it
95
+ * **DEX-1014:** check:docs must not fail on a shallow clone — it broke the branch
96
+ * **DEX-1014:** clean up manifest and package.json exports after tabsComponent removal
97
+ * **DEX-1014:** clear the literals left in the remaining atoms
98
+ * **DEX-1014:** close the contrast census — one real row, two that never rendered
99
+ * **DEX-1014:** close the dark mode palette and primitive findings, light unchanged
100
+ * **DEX-1014:** close the features section at both ends
101
+ * **DEX-1014:** close the findings the component-layer drawings surfaced
102
+ * **DEX-1014:** close the three wayfinding interaction defects
103
+ * **DEX-1014:** close three gaps the Figma atom audit surfaced
104
+ * **DEX-1014:** close two tooling gaps found while evaluating something else
105
+ * **DEX-1014:** correct anchor-nav accessibility and align its motion
106
+ * **DEX-1014:** correct failing text and surface contrast pairs
107
+ * **DEX-1014:** correct the pairing matrix where the matrix was the thing that was wrong
108
+ * **DEX-1014:** count baseline entries instead of just matching them
109
+ * **DEX-1014:** delete the form-input leading token that described the bug
110
+ * **DEX-1014:** disable the paste button to the colour its own field uses
111
+ * **DEX-1014:** end the highlight bars on the background edge
112
+ * **DEX-1014:** finish the tertiary button's contrast decision, on the resting state
113
+ * **DEX-1014:** frozen exempts the architecture mechanism, not the content
114
+ * **DEX-1014:** give every focus ring one owner, and one that can reach its target
115
+ * **DEX-1014:** give the 11px label role the four axes it was missing
116
+ * **DEX-1014:** give the accordion one focus ring, on the control that takes focus
117
+ * **DEX-1014:** give the anchor-nav dropdown the leading its size names
118
+ * **DEX-1014:** give the anchor-nav trigger a control edge, and drop the footer's dead one, closes [#c5c9](https://github.com/bitdefender/dex-core/issues/c5c9) [#88909](https://github.com/bitdefender/dex-core/issues/88909)
119
+ * **DEX-1014:** give the awards section a host selector, for three of five rules
120
+ * **DEX-1014:** give the awards-flex edge a border width, not a spacing step
121
+ * **DEX-1014:** give the back control a name, a type, and a hidden arrow
122
+ * **DEX-1014:** give the banner the typography role it was assembling by hand
123
+ * **DEX-1014:** give the breadcrumb one type size, a weight cue and a real target
124
+ * **DEX-1014:** give the dark theme's bar label the ink for a light fill, closes [#338](https://github.com/bitdefender/dex-core/issues/338) [#151719](https://github.com/bitdefender/dex-core/issues/151719) [#7c3](https://github.com/bitdefender/dex-core/issues/7c3)
125
+ * **DEX-1014:** give the dialog the depth role its siblings already use
126
+ * **DEX-1014:** give the feedback surfaces the roles they were asking for
127
+ * **DEX-1014:** give the light carousel item the family inset at every width
128
+ * **DEX-1014:** give the modal the dialog role its labels were already written for
129
+ * **DEX-1014:** give the modal title back the space its rule could never apply
130
+ * **DEX-1014:** give the process steps headings the ink for their own surface, closes [#0b1626](https://github.com/bitdefender/dex-core/issues/0b1626) [#0b1626](https://github.com/bitdefender/dex-core/issues/0b1626)
131
+ * **DEX-1014:** give the table's text the leading it never declared
132
+ * **DEX-1014:** give the terms link the resting-link ink, not the pressed one
133
+ * **DEX-1014:** give the terms prose a readable measure
134
+ * **DEX-1014:** give the two wrapping texts that had no leading a body role
135
+ * **DEX-1014:** give the video player a focus ring and somewhere for focus to go
136
+ * **DEX-1014:** ink on a fill reads its own role, because the borrowed ones flip in a dark theme, closes [#0059d6](https://github.com/bitdefender/dex-core/issues/0059d6) [#0045](https://github.com/bitdefender/dex-core/issues/0045)
137
+ * **DEX-1014:** keep display typography inside the viewport
138
+ * **DEX-1014:** keep the explicit footer locale ahead of URL inference
139
+ * **DEX-1014:** keep the highlight decorations with their end when it wraps
140
+ * **DEX-1014:** keep the tooltip on screen at container edges
141
+ * **DEX-1014:** keep the tooltip's geometry inside the viewport
142
+ * **DEX-1014:** let a tall modal be reached, and stop it overhanging the phone
143
+ * **DEX-1014:** let an inline link take its sentence's type
144
+ * **DEX-1014:** let documented component attributes reach their properties
145
+ * **DEX-1014:** let the carousel card's edge stop growing with the text
146
+ * **DEX-1014:** let the colour gate see a primitive behind an alias
147
+ * **DEX-1014:** let the grid hear the column attributes it documents
148
+ * **DEX-1014:** let the input state showcase vary only the state
149
+ * **DEX-1014:** let the link's hover underline reach the light surfaces
150
+ * **DEX-1014:** let the list marker follow the leading it centres on
151
+ * **DEX-1014:** let the table own its rows, and its narrow labels come from columns
152
+ * **DEX-1014:** let the three P4B motion sites honour prefers-reduced-motion
153
+ * **DEX-1014:** make a compare-bar work on its own, and take the fill pair for green and red, closes [#c5c9](https://github.com/bitdefender/dex-core/issues/c5c9) [#e1e3e5](https://github.com/bitdefender/dex-core/issues/e1e3e5) [#006](https://github.com/bitdefender/dex-core/issues/006) [#15c14](https://github.com/bitdefender/dex-core/issues/15c14) [#0e8532](https://github.com/bitdefender/dex-core/issues/0e8532) [#ff0000](https://github.com/bitdefender/dex-core/issues/ff0000) [#d60000](https://github.com/bitdefender/dex-core/issues/d60000) [#7c3](https://github.com/bitdefender/dex-core/issues/7c3) [#338](https://github.com/bitdefender/dex-core/issues/338) [#7c3](https://github.com/bitdefender/dex-core/issues/7c3)
154
+ * **DEX-1014:** make compare regions own a resolvable accessible name
155
+ * **DEX-1014:** make the agent-endpoints pill a real button-link
156
+ * **DEX-1014:** make the footer column API honest
157
+ * **DEX-1014:** make the header compose at every width
158
+ * **DEX-1014:** make the two disclosure controls agree, and stop focus tightening a corner
159
+ * **DEX-1014:** match the button and field corner radius at every size
160
+ * **DEX-1014:** meet pagination target-size requirements
161
+ * **DEX-1014:** mirror the highlight decorations vertically and pad both sides
162
+ * **DEX-1014:** name the leadings that were spelled by hand, and delete the ones that reach nothing
163
+ * **DEX-1014:** put a picture on screen
164
+ * **DEX-1014:** put the footer nav's focus ring in the shadow root that holds it
165
+ * **DEX-1014:** put the header on the breakpoint scale, and make the scrim scale with its panel
166
+ * **DEX-1014:** put three no-role markers where they can be read
167
+ * **DEX-1014:** raise the four atom colours that fail WCAG contrast
168
+ * **DEX-1014:** read the form and button spacing tokens as pixels, not steps
169
+ * **DEX-1014:** remove page switcher mobile overflow
170
+ * **DEX-1014:** repair syntax error and unused var from merge conflicts
171
+ * **DEX-1014:** repair the design-system checks after the component merge
172
+ * **DEX-1014:** report a hex no token expresses, not only one a token duplicates, closes [#006](https://github.com/bitdefender/dex-core/issues/006) [#7c3](https://github.com/bitdefender/dex-core/issues/7c3) [#7c3](https://github.com/bitdefender/dex-core/issues/7c3) [#0003](https://github.com/bitdefender/dex-core/issues/0003)
173
+ * **DEX-1014:** resolve brand text through the role, not the blue-500 primitive
174
+ * **DEX-1014:** resolve the awards-flex edge through a border role
175
+ * **DEX-1014:** restore carousel rendering
176
+ * **DEX-1014:** restore terminal message text visibility
177
+ * **DEX-1014:** retire the card's last eleven importants, seven redundant and four unreachable
178
+ * **DEX-1014:** ring the whole disclosure, and let arrows walk the accordion
179
+ * **DEX-1014:** say which kind of current location each nav marks
180
+ * **DEX-1014:** separate heading level from heading size, and land the P4 decisions
181
+ * **DEX-1014:** settle the section-title roles and the last hand-written heading
182
+ * **DEX-1014:** settle three card-family differences that measurement says are not decisions
183
+ * **DEX-1014:** stop six components running off the side of the page
184
+ * **DEX-1014:** stop the awards outline changing with the viewport
185
+ * **DEX-1014:** stop the loading placeholder claiming a contrast exemption
186
+ * **DEX-1014:** stop the runtime self-test asserting machine-specific behaviour
187
+ * **DEX-1014:** stop two components redefining body-regular, and mark the table's raw type
188
+ * **DEX-1014:** synchronize the component layer with the atom and token architecture
189
+ * **DEX-1014:** teach the colour check the spelling this package actually uses
190
+ * **DEX-1014:** text-subtle is a placement rule, because no value clears every ground
191
+ * **DEX-1014:** the branch was red, because check:attributes is not in check:ds
192
+ * **DEX-1014:** the dark mode findings follow the study's renumbering
193
+ * **DEX-1014:** the dark mode text roles render, because bd-p has no colour attribute
194
+ * **DEX-1014:** the footer had the wrong locale key, because Hungary is an English market
195
+ * **DEX-1014:** the info badge reads its own fill, because sharing a value is not sharing a role
196
+ * **DEX-1014:** the mobile ladder holds, and the page that measured it was reading the wrong font
197
+ * **DEX-1014:** the mobile ladder was calibrated on a language we do not sell in
198
+ * **DEX-1014:** the neutral badge takes the heavier tint, because only brand has a reason not to
199
+ * **DEX-1014:** the pairing check could not see a numeric line-height step
200
+ * **DEX-1014:** the token map reads the Surfaces role tables, because moving them hid three reads
201
+ * **DEX-1014:** three colours that were chosen by eye and measured wrong
202
+ * **DEX-1014:** three header defects only the render showed, and a lint rule for the fourth
203
+ * **DEX-1014:** three light-theme contrast failures the dark mode study measured
204
+ * **DEX-28949:** clear the remaining design-system findings from main's code, closes [#2E6BF6](https://github.com/bitdefender/dex-core/issues/2E6BF6)
205
+ * **DEX-28949:** move main's merged-in CSS onto the design tokens
206
+ * **DEX-28949:** put install-options on roles, and make main's atom attributes reach the atoms
207
+ * **DEX-28949:** put terminal-message's log lines on the media roles
208
+
209
+
6
210
  ## [0.25.12](https://github.com/bitdefender/dex-core/compare/@repobit/dex-system-design@0.25.11...@repobit/dex-system-design@0.25.12) (2026-10-12)
7
211
 
8
212
  **Note:** Version bump only for package @repobit/dex-system-design
package/README.md CHANGED
@@ -1,15 +1,138 @@
1
- # `@repobit/dex-design-system`
1
+ # @repobit/dex-system-design
2
2
 
3
- # Target Integration SDK Documentation
3
+ Design system for Bitdefender web surfaces, built as [Lit](https://lit.dev) web
4
+ components. Every component is a custom element prefixed `bd-`, styled entirely
5
+ from design tokens.
4
6
 
5
- Dex design system shenanigans
7
+ ```bash
8
+ npm install @repobit/dex-system-design
9
+ ```
6
10
 
7
- ---
11
+ ## Using a component
8
12
 
9
- ## Overview
13
+ Import the component you need; importing it registers its custom element and
14
+ installs the design tokens.
10
15
 
11
- The Target Integration SDK is designed to simplify the integration process with Adobe Target and the Adobe Data Layer. It provides a centralized solution for managing visitor identity operations, sending events, appending visitor IDs to URLs, retrieving mbox offers, and fetching Customer Data Platform (CDP) data. The SDK encapsulates these operations within a single abstract class, ensuring that targeting functionalities are cleanly organized and maintainable in your application.
16
+ ```js
17
+ import '@repobit/dex-system-design/button';
18
+ ```
12
19
 
13
- ---
20
+ ```html
21
+ <bd-button kind="primary" size="md">Buy now</bd-button>
22
+ ```
14
23
 
15
- ## Key Features
24
+ Each component is a separate entry point — see the `exports` map in
25
+ `package.json` for the full list. There is no barrel import.
26
+
27
+ ## Tokens
28
+
29
+ Tokens are declared on `:root` in document scope, inside the `bd-tokens`
30
+ cascade layer. Importing any component installs them; nothing else is required.
31
+
32
+ ```css
33
+ .thing {
34
+ padding: var(--spacing-16);
35
+ border-radius: var(--radius-md);
36
+ color: var(--color-neutral-900);
37
+ }
38
+ ```
39
+
40
+ ### Overriding a token
41
+
42
+ Because the tokens sit in a cascade layer, and unlayered CSS beats any layer,
43
+ your own stylesheet wins with no special syntax:
44
+
45
+ ```css
46
+ :root {
47
+ --color-blue-500: #0a58ca;
48
+ }
49
+ ```
50
+
51
+ Dark mode is the same mechanism:
52
+
53
+ ```css
54
+ @media (prefers-color-scheme: dark) {
55
+ :root {
56
+ --color-neutral-0: #111418;
57
+ --color-neutral-900: #e8eaed;
58
+ }
59
+ }
60
+ ```
61
+
62
+ This works because a token is declared once, on the document, rather than on
63
+ each component's `:host`. A `:host` declaration would beat an inherited value
64
+ and make the token unoverridable.
65
+
66
+ You can also import the tokens directly if you need them without a component:
67
+
68
+ ```js
69
+ import '@repobit/dex-system-design/tokens'; // installs into document scope
70
+ ```
71
+ ```css
72
+ @import '@repobit/dex-system-design/tokens.css'; /* or via CSS */
73
+ @import '@repobit/dex-system-design/fonts.css'; /* @font-face, document scope only */
74
+ ```
75
+
76
+ `fonts.css` must be loaded in document scope. An `@font-face` rule inside a
77
+ shadow root never reaches `document.fonts` and silently does nothing.
78
+
79
+ ## Documentation
80
+
81
+ ```bash
82
+ npm run storybook
83
+ ```
84
+
85
+ `Foundations/` documents every primitive — colour, spacing, typography,
86
+ fonts, grid, shape, elevation, focus, motion and dimension. Those pages read
87
+ the loaded token CSS at render time, so they cannot drift from the tokens.
88
+
89
+ ## Page generation
90
+
91
+ `schemas/` holds the machine-readable contract for generating pages from a
92
+ content brief:
93
+
94
+ - `component-manifest.json` — public tags, entry points and props
95
+ - `page-schema.json` — the page tree a generator must produce
96
+
97
+ See `schemas/README.md`. Run `npm run check:manifest` after changing a
98
+ component's public props.
99
+
100
+ ## Conventions
101
+
102
+ The tokens in `src/tokens/tokens.js` are the **single source of truth for the
103
+ foundation**. Everything is built and styled from them and from nothing else.
104
+
105
+ - **Never a literal where a token exists.** No raw hex, no off-scale radii, no
106
+ hardcoded control heights.
107
+ - **Never borrow a value from an external source** — a Figma file, a
108
+ screenshot, another design system. Read the intent, then express it with the
109
+ token that already carries that value. If a design calls for `#0059d6`, write
110
+ `var(--color-blue-600)`. If it needs a value the tokens do not have, adding
111
+ the token is its own decision — do not inline it.
112
+ - **`line-height` is always unitless** and always from
113
+ `--typography-lineHeight-*`. An absolute line-height inherits as a fixed line
114
+ box and stops scaling when a reader raises their default font size.
115
+ - **Never a spacing or dimension token for type.**
116
+ `font-size: var(--spacing-14)` is a category error.
117
+ - **No `var(--token, literal)` fallbacks.** Tokens are always present, and a
118
+ fallback restating a value silently lies once the token changes.
119
+ - **Contrast:** 4.5:1 for body text, 3:1 for non-text UI and icons. Note that
120
+ `--color-blue-500` is only 4.53:1 on pure white and fails on any tint — use
121
+ `--color-blue-600` for text.
122
+
123
+ ## Scripts
124
+
125
+ | | |
126
+ |---|---|
127
+ | `npm run storybook` | component and token documentation |
128
+ | `npm run dev` | Vite dev server for `index.html` |
129
+ | `npm run build:tokens` | regenerate the CSS token files from their JS sources |
130
+ | `npm run build:tokens:check` | fail if a generated file is stale (CI) |
131
+ | `npm run check:manifest` | verify the component manifest against the components |
132
+
133
+ `src/tokens/tokens.js` is the source of truth for tokens; `tokens.css` is
134
+ generated from it. Edit the JS and run `npm run build:tokens`.
135
+
136
+ ## Licence
137
+
138
+ ISC
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@repobit/dex-system-design",
3
- "version": "0.25.12",
3
+ "version": "1.0.0",
4
4
  "description": "Design system based on Web Components.",
5
5
  "author": "Iordache Matei Cezar <miordache@bitdefender.com>",
6
6
  "homepage": "https://github.com/bitdefender/dex-core#readme",
@@ -17,46 +17,72 @@
17
17
  "LICENSE"
18
18
  ],
19
19
  "exports": {
20
- "./component-manifest": "./schemas/component-manifest.json",
21
- "./page-schema": "./schemas/page-schema.json",
22
- "./accordion-bg": "./src/components/accordion/accordion-bg.js",
23
20
  "./accordion": "./src/components/accordion/accordion.js",
21
+ "./accordion-bg": "./src/components/accordion/accordion-bg.js",
22
+ "./alert": "./src/components/alert/alert.js",
24
23
  "./anchor": "./src/components/anchor/anchor-nav.js",
24
+ "./annotation": "./src/components/annotation/annotation.js",
25
+ "./avatar": "./src/components/avatar/avatar.js",
26
+ "./back": "./src/components/back/back.js",
25
27
  "./badge": "./src/components/badge/badge.js",
28
+ "./blockquote": "./src/components/blockquote/blockquote.js",
26
29
  "./button": "./src/components/button/button.js",
30
+ "./caption": "./src/components/caption/caption.js",
27
31
  "./cards": "./src/components/cards/card.js",
28
32
  "./carousel": "./src/components/carousel/carousel.js",
29
- "./compare": "./src/components/compare/compare.js",
30
33
  "./checkbox": "./src/components/checkbox/checkbox.js",
34
+ "./code": "./src/components/code/code.js",
35
+ "./compare": "./src/components/compare/compare.js",
36
+ "./component-manifest": "./schemas/component-manifest.json",
37
+ "./display": "./src/components/display/display.js",
31
38
  "./divider-horizontal": "./src/components/divider/divider-horizontal.js",
32
39
  "./divider-vertical": "./src/components/divider/divider-vertical.js",
33
40
  "./dropdown": "./src/components/dropdown/dropdown.js",
34
41
  "./features": "./src/components/features/features.js",
35
42
  "./features-tab": "./src/components/features-tab/features-tab.js",
43
+ "./fieldset": "./src/components/fieldset/fieldset.js",
44
+ "./fonts.css": "./src/tokens/fonts.css",
36
45
  "./footer": "./src/components/footer/footer.js",
37
46
  "./footer-links-group": "./src/components/footer/footer-links-group.js",
38
47
  "./footer-lp": "./src/components/footer/footer-lp.js",
39
48
  "./footer-nav-menu": "./src/components/footer/footer-nav-menu.js",
40
49
  "./grid": "./src/components/grid/grid.js",
41
- "./heading": "./src/components/heading/heading.js",
42
50
  "./header": "./src/components/header/header.js",
51
+ "./heading": "./src/components/heading/heading.js",
52
+ "./help-text": "./src/components/help-text/help-text.js",
43
53
  "./highlight": "./src/components/highlight/highlight.js",
54
+ "./icons": "./src/components/icons/icons.js",
55
+ "./marks": "./src/components/icons/marks.js",
44
56
  "./image": "./src/components/image/image.js",
45
57
  "./input": "./src/components/input/input.js",
58
+ "./label": "./src/components/label/label.js",
59
+ "./light-carousel": "./src/components/light-carousel/light-carousel.js",
46
60
  "./link": "./src/components/link/link.js",
47
61
  "./list": "./src/components/list/list.js",
48
62
  "./list-item": "./src/components/list/list-item/list-item.js",
49
- "./light-carousel": "./src/components/light-carousel/light-carousel.js",
50
63
  "./modal": "./src/components/modal/modal.js",
64
+ "./page-schema": "./schemas/page-schema.json",
51
65
  "./paragraph": "./src/components/paragraph/paragraph.js",
52
66
  "./picture": "./src/components/picture/picture.js",
53
67
  "./pricing-cards": "./src/components/pricing-cards/pricing-card.js",
68
+ "./progress": "./src/components/progress/progress.js",
54
69
  "./radio": "./src/components/radio/radio.js",
55
70
  "./review": "./src/components/review/review.js",
56
71
  "./review-grid": "./src/components/review/review-grid.js",
72
+ "./skeleton": "./src/components/skeleton/skeleton.js",
73
+ "./spinner": "./src/components/spinner/spinner.js",
74
+ "./switch": "./src/components/switch/switch.js",
75
+ "./tab-list": "./src/components/tab-list/tab-list.js",
76
+ "./tab-list-css": "./src/components/tab-list/tab-list.css.js",
57
77
  "./tabs": "./src/components/tabs/tabs.js",
58
- "./tabsComponent": "./src/components/tabsComponent/tabsComponent.js",
59
- "./terms": "./src/components/termsOfUse/terms.js"
78
+ "./tag": "./src/components/tag/tag.js",
79
+ "./terms": "./src/components/termsOfUse/terms.js",
80
+ "./textarea": "./src/components/textarea/textarea.js",
81
+ "./tokens": "./src/tokens/tokens.js",
82
+ "./tokens.css": "./src/tokens/tokens.css",
83
+ "./tooltip": "./src/components/tooltip/tooltip.js",
84
+ "./video": "./src/components/video/video.js",
85
+ "./visually-hidden": "./src/components/visually-hidden/visually-hidden.js"
60
86
  },
61
87
  "publishConfig": {
62
88
  "access": "public"
@@ -70,18 +96,75 @@
70
96
  "start": "vite",
71
97
  "dev": "vite",
72
98
  "storybook": "storybook dev -p 6006",
73
- "build-storybook": "storybook build --disable-telemetry"
99
+ "build-storybook": "storybook build --disable-telemetry",
100
+ "build:tokens": "node scripts/build-tokens.mjs",
101
+ "build:tokens:check": "node scripts/build-tokens.mjs --check",
102
+ "check:manifest": "node scripts/check-manifest.mjs",
103
+ "check:architecture": "node scripts/check-architecture.mjs",
104
+ "check:architecture:selftest": "node scripts/check-architecture.mjs --selftest",
105
+ "check:architecture:negative": "node scripts/check-architecture.mjs --negative-control",
106
+ "check:ensemble": "node scripts/check-ensemble.mjs",
107
+ "check:ensemble:selftest": "node scripts/check-ensemble.mjs --selftest",
108
+ "check:ensemble:negative": "node scripts/check-ensemble.mjs --negative-control",
109
+ "check:semantic-coverage": "node scripts/check-semantic-coverage.mjs",
110
+ "check:semantic-coverage:selftest": "node scripts/check-semantic-coverage.mjs --selftest",
111
+ "check:semantic-coverage:negative": "node scripts/check-semantic-coverage.mjs --negative-control",
112
+ "check:color-coverage": "node scripts/check-color-coverage.mjs",
113
+ "check:host-selectors": "node scripts/check-host-selectors.mjs",
114
+ "check:host-selectors:selftest": "node scripts/check-host-selectors.mjs --selftest",
115
+ "check:host-selectors:negative": "node scripts/check-host-selectors.mjs --negative-control",
116
+ "check:aliases": "node scripts/check-aliases.mjs",
117
+ "check:aliases:selftest": "node scripts/check-aliases.mjs --selftest",
118
+ "check:icons": "node scripts/check-icons.mjs",
119
+ "check:icons:selftest": "node scripts/check-icons.mjs --selftest",
120
+ "check:icons:negative": "node scripts/check-icons.mjs --negative-control",
121
+ "check:color-coverage:selftest": "node scripts/check-color-coverage.mjs --selftest",
122
+ "lint:tokens": "node scripts/lint-tokens.mjs",
123
+ "figma:connect:check": "figma connect publish --dry-run --skip-update-check",
124
+ "figma:connect:publish": "figma connect publish --skip-update-check",
125
+ "check:attributes": "node scripts/check-attribute-contract.mjs",
126
+ "check:attributes:selftest": "node scripts/check-attribute-contract.mjs --contract-selftest",
127
+ "check:attributes:negative": "node scripts/check-attribute-contract.mjs --negative-control",
128
+ "lint:tokens:selftest": "node scripts/lint-tokens.mjs --selftest",
129
+ "check:ds": "npm run build:tokens:check && npm run check:token-tiers:selftest && npm run check:token-tiers:negative && npm run check:token-tiers && npm run check:manifest && npm run check:architecture && npm run check:architecture:selftest && npm run check:architecture:negative && npm run check:ensemble && npm run check:ensemble:selftest && npm run check:ensemble:negative && npm run check:baseline:selftest && npm run check:semantic-coverage:selftest && npm run check:semantic-coverage:negative && npm run check:semantic-coverage && npm run check:color-coverage:selftest && npm run check:color-coverage && npm run check:icons:selftest && npm run check:icons:negative && npm run check:icons && npm run check:aliases:selftest && npm run check:aliases && npm run check:host-selectors:selftest && npm run check:host-selectors:negative && npm run check:host-selectors && npm run check:spacing-scale:selftest && npm run check:spacing-scale:negative && npm run check:spacing-scale && npm run check:enum-vocabulary:selftest && npm run check:enum-vocabulary:negative && npm run check:enum-vocabulary && npm run check:accessible-names:selftest && npm run check:accessible-names:negative && npm run check:accessible-names && npm run check:docs:selftest && npm run check:docs:negative && npm run check:docs && npm run lint:tokens:selftest && npm run lint:tokens",
130
+ "version": "node scripts/sync-manifest-version.mjs",
131
+ "ci:ds": "npm run check:ds && npm run verify:runtime && npm run check:attributes:selftest && npm run check:attributes:negative && npm run check:attributes",
132
+ "verify:runtime": "node scripts/verify-runtime.mjs --selftest",
133
+ "verify:render": "node scripts/render-health.mjs",
134
+ "verify:render:negative": "node scripts/render-health.mjs --negative-control",
135
+ "verify:typography": "node scripts/render-health.mjs --typography",
136
+ "verify:typography:selftest": "node scripts/render-health.mjs --typography-selftest",
137
+ "verify:accordion": "node scripts/verify-accordion.mjs",
138
+ "verify:accordion:negative": "node scripts/verify-accordion.mjs --negative-control",
139
+ "verify:accordion:selftest": "node scripts/verify-accordion.mjs --shift-selftest",
140
+ "check:docs": "node scripts/check-docs.mjs",
141
+ "check:docs:selftest": "node scripts/check-docs.mjs --selftest",
142
+ "check:docs:negative": "node scripts/check-docs.mjs --negative-control",
143
+ "check:token-tiers": "node scripts/check-token-tiers.mjs",
144
+ "check:token-tiers:selftest": "node scripts/check-token-tiers.mjs --selftest",
145
+ "check:token-tiers:negative": "node scripts/check-token-tiers.mjs --negative-control",
146
+ "check:spacing-scale": "node scripts/check-spacing-scale.mjs",
147
+ "check:spacing-scale:selftest": "node scripts/check-spacing-scale.mjs --selftest",
148
+ "check:spacing-scale:negative": "node scripts/check-spacing-scale.mjs --negative-control",
149
+ "check:baseline:selftest": "node scripts/baseline.mjs --selftest",
150
+ "check:enum-vocabulary": "node scripts/check-enum-vocabulary.mjs",
151
+ "check:enum-vocabulary:selftest": "node scripts/check-enum-vocabulary.mjs --selftest",
152
+ "check:enum-vocabulary:negative": "node scripts/check-enum-vocabulary.mjs --negative-control",
153
+ "check:accessible-names": "node scripts/check-accessible-names.mjs",
154
+ "check:accessible-names:selftest": "node scripts/check-accessible-names.mjs --selftest",
155
+ "check:accessible-names:negative": "node scripts/check-accessible-names.mjs --negative-control"
74
156
  },
75
157
  "bugs": {
76
158
  "url": "https://github.com/bitdefender/dex-core/issues"
77
159
  },
78
160
  "dependencies": {
79
- "@repobit/dex-store": "1.6.49",
80
- "@repobit/dex-store-elements": "2.1.19",
161
+ "@repobit/dex-store": "1.6.50",
162
+ "@repobit/dex-store-elements": "2.1.20",
81
163
  "lit": "^3.3.2"
82
164
  },
83
165
  "devDependencies": {
84
166
  "@chromatic-com/storybook": "^3.2.7",
167
+ "@figma/code-connect": "^2.0.0",
85
168
  "@storybook/addon-essentials": "^8.6.14",
86
169
  "@storybook/blocks": "^8.6.4",
87
170
  "@storybook/experimental-addon-test": "^8.6.14",
@@ -94,5 +177,5 @@
94
177
  "volta": {
95
178
  "node": "24.14.0"
96
179
  },
97
- "gitHead": "9ca40454c888c673804cf84abcc2fc2ca949ef41"
180
+ "gitHead": "e9db0e1ce45d462ecca8b9c6e6d43e32447d3535"
98
181
  }