@repobit/dex-system-design 0.25.11 → 0.26.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 +195 -0
  2. package/README.md +131 -8
  3. package/package.json +95 -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
@@ -22,32 +22,24 @@ export default {
22
22
  }
23
23
  },
24
24
  argTypes: {
25
- maxColumnsPerRow: {
26
- control : { type: 'number', min: 1, max: 4 },
27
- description: 'Maximum number of columns for link organization',
28
- table : {
29
- type : { summary: 'number' },
30
- defaultValue: { summary: '3' }
31
- }
32
- }
33
25
  }
34
26
  };
35
27
 
36
28
  export const Default = () => html`
37
- <bd-footer-lp maxColumnsPerRow="3">
29
+ <bd-footer-lp>
38
30
  <bd-footer-nav slot="secondary-nav">
39
31
  <a href="/legal/">Legal Information</a>
40
- <bd-divider-vertical color="white" height="18px"></bd-divider-vertical>
32
+ <bd-divider-vertical color="inverse" height="18"></bd-divider-vertical>
41
33
  <a href="/site/view/legal-privacy-policy-for-bitdefender-websites/">Privacy Policy</a>
42
- <bd-divider-vertical color="white" height="18px"></bd-divider-vertical>
34
+ <bd-divider-vertical color="inverse" height="18"></bd-divider-vertical>
43
35
  <a href="/sitemap/">Site Map</a>
44
- <bd-divider-vertical color="white" height="18px"></bd-divider-vertical>
36
+ <bd-divider-vertical color="inverse" height="18"></bd-divider-vertical>
45
37
  <a href="/company/">Company</a>
46
- <bd-divider-vertical color="white" height="18px"></bd-divider-vertical>
38
+ <bd-divider-vertical color="inverse" height="18"></bd-divider-vertical>
47
39
  <a href="https://www.bitdefender.com/consumer/support/">Contact Us</a>
48
- <bd-divider-vertical color="white" height="18px"></bd-divider-vertical>
40
+ <bd-divider-vertical color="inverse" height="18"></bd-divider-vertical>
49
41
  <a href="#">Privacy Settings</a>
50
- <bd-divider-vertical color="white" height="18px"></bd-divider-vertical>
42
+ <bd-divider-vertical color="inverse" height="18"></bd-divider-vertical>
51
43
  <a href="#" class="impressum-link">Impressum</a>
52
44
  </bd-footer-nav>
53
45
  </bd-footer-lp>
@@ -61,12 +53,12 @@ Default.parameters = {
61
53
  };
62
54
 
63
55
  export const MinimalLinks = () => html`
64
- <bd-footer-lp maxColumnsPerRow="2">
56
+ <bd-footer-lp>
65
57
  <bd-footer-nav slot="secondary-nav">
66
58
  <a href="/legal/">Legal</a>
67
- <bd-divider-vertical color="white" height="18px"></bd-divider-vertical>
59
+ <bd-divider-vertical color="inverse" height="18"></bd-divider-vertical>
68
60
  <a href="/privacy/">Privacy</a>
69
- <bd-divider-vertical color="white" height="18px"></bd-divider-vertical>
61
+ <bd-divider-vertical color="inverse" height="18"></bd-divider-vertical>
70
62
  <a href="/contact/">Contact</a>
71
63
  </bd-footer-nav>
72
64
  </bd-footer-lp>
@@ -82,16 +74,16 @@ MinimalLinks.parameters = {
82
74
  export const WithHorizontalDividers = () => html`
83
75
  <div>
84
76
  <bd-divider-horizontal width="95%"></bd-divider-horizontal>
85
- <bd-footer-lp maxColumnsPerRow="3">
77
+ <bd-footer-lp>
86
78
  <bd-footer-nav slot="secondary-nav">
87
79
  <a href="/legal/">Legal Information</a>
88
- <bd-divider-vertical color="white" height="18px"></bd-divider-vertical>
80
+ <bd-divider-vertical color="inverse" height="18"></bd-divider-vertical>
89
81
  <a href="/privacy/">Privacy Policy</a>
90
- <bd-divider-vertical color="white" height="18px"></bd-divider-vertical>
82
+ <bd-divider-vertical color="inverse" height="18"></bd-divider-vertical>
91
83
  <a href="/sitemap/">Site Map</a>
92
- <bd-divider-vertical color="white" height="18px"></bd-divider-vertical>
84
+ <bd-divider-vertical color="inverse" height="18"></bd-divider-vertical>
93
85
  <a href="/company/">Company</a>
94
- <bd-divider-vertical color="white" height="18px"></bd-divider-vertical>
86
+ <bd-divider-vertical color="inverse" height="18"></bd-divider-vertical>
95
87
  <a href="/contact/">Contact Us</a>
96
88
  </bd-footer-nav>
97
89
  </bd-footer-lp>
@@ -106,16 +98,16 @@ WithHorizontalDividers.parameters = {
106
98
  };
107
99
 
108
100
  export const SingleColumnLayout = () => html`
109
- <bd-footer-lp maxColumnsPerRow="1">
101
+ <bd-footer-lp>
110
102
  <bd-footer-nav slot="secondary-nav">
111
103
  <a href="/legal/">Legal Information</a>
112
- <bd-divider-vertical color="white" height="18px"></bd-divider-vertical>
104
+ <bd-divider-vertical color="inverse" height="18"></bd-divider-vertical>
113
105
  <a href="/privacy/">Privacy Policy</a>
114
- <bd-divider-vertical color="white" height="18px"></bd-divider-vertical>
106
+ <bd-divider-vertical color="inverse" height="18"></bd-divider-vertical>
115
107
  <a href="/sitemap/">Site Map</a>
116
- <bd-divider-vertical color="white" height="18px"></bd-divider-vertical>
108
+ <bd-divider-vertical color="inverse" height="18"></bd-divider-vertical>
117
109
  <a href="/company/">Company</a>
118
- <bd-divider-vertical color="white" height="18px"></bd-divider-vertical>
110
+ <bd-divider-vertical color="inverse" height="18"></bd-divider-vertical>
119
111
  <a href="/contact/">Contact Us</a>
120
112
  </bd-footer-nav>
121
113
  </bd-footer-lp>
@@ -129,20 +121,20 @@ SingleColumnLayout.parameters = {
129
121
  };
130
122
 
131
123
  export const InternationalCompliance = () => html`
132
- <bd-footer-lp maxColumnsPerRow="4">
124
+ <bd-footer-lp>
133
125
  <bd-footer-nav slot="secondary-nav">
134
126
  <a href="/legal/">Legal Information</a>
135
- <bd-divider-vertical color="white" height="18px"></bd-divider-vertical>
127
+ <bd-divider-vertical color="inverse" height="18"></bd-divider-vertical>
136
128
  <a href="/privacy/">Privacy Policy</a>
137
- <bd-divider-vertical color="white" height="18px"></bd-divider-vertical>
129
+ <bd-divider-vertical color="inverse" height="18"></bd-divider-vertical>
138
130
  <a href="/cookies/">Cookie Policy</a>
139
- <bd-divider-vertical color="white" height="18px"></bd-divider-vertical>
131
+ <bd-divider-vertical color="inverse" height="18"></bd-divider-vertical>
140
132
  <a href="/terms/">Terms of Service</a>
141
- <bd-divider-vertical color="white" height="18px"></bd-divider-vertical>
133
+ <bd-divider-vertical color="inverse" height="18"></bd-divider-vertical>
142
134
  <a href="/gdpr/">GDPR</a>
143
- <bd-divider-vertical color="white" height="18px"></bd-divider-vertical>
135
+ <bd-divider-vertical color="inverse" height="18"></bd-divider-vertical>
144
136
  <a href="/ccpa/">CCPA</a>
145
- <bd-divider-vertical color="white" height="18px"></bd-divider-vertical>
137
+ <bd-divider-vertical color="inverse" height="18"></bd-divider-vertical>
146
138
  <a href="#" class="impressum-link">Impressum</a>
147
139
  </bd-footer-nav>
148
140
  </bd-footer-lp>
@@ -156,20 +148,20 @@ InternationalCompliance.parameters = {
156
148
  };
157
149
 
158
150
  export const GermanLegal = () => html`
159
- <bd-footer-lp maxColumnsPerRow="3">
151
+ <bd-footer-lp>
160
152
  <bd-footer-nav slot="secondary-nav">
161
153
  <a href="/legal/">Rechtliche Informationen</a>
162
- <bd-divider-vertical color="white" height="18px"></bd-divider-vertical>
154
+ <bd-divider-vertical color="inverse" height="18"></bd-divider-vertical>
163
155
  <a href="/privacy/">Datenschutzrichtlinie</a>
164
- <bd-divider-vertical color="white" height="18px"></bd-divider-vertical>
156
+ <bd-divider-vertical color="inverse" height="18"></bd-divider-vertical>
165
157
  <a href="/sitemap/">Sitemap</a>
166
- <bd-divider-vertical color="white" height="18px"></bd-divider-vertical>
158
+ <bd-divider-vertical color="inverse" height="18"></bd-divider-vertical>
167
159
  <a href="/company/">Unternehmen</a>
168
- <bd-divider-vertical color="white" height="18px"></bd-divider-vertical>
160
+ <bd-divider-vertical color="inverse" height="18"></bd-divider-vertical>
169
161
  <a href="/contact/">Kontakt</a>
170
- <bd-divider-vertical color="white" height="18px"></bd-divider-vertical>
162
+ <bd-divider-vertical color="inverse" height="18"></bd-divider-vertical>
171
163
  <a href="#">Datenschutzeinstellungen</a>
172
- <bd-divider-vertical color="white" height="18px"></bd-divider-vertical>
164
+ <bd-divider-vertical color="inverse" height="18"></bd-divider-vertical>
173
165
  <a href="#" class="impressum-link">Impressum</a>
174
166
  </bd-footer-nav>
175
167
  </bd-footer-lp>
@@ -183,20 +175,20 @@ GermanLegal.parameters = {
183
175
  };
184
176
 
185
177
  export const FrenchLegal = () => html`
186
- <bd-footer-lp maxColumnsPerRow="3">
178
+ <bd-footer-lp>
187
179
  <bd-footer-nav slot="secondary-nav">
188
180
  <a href="/legal/">Informations légales</a>
189
- <bd-divider-vertical color="white" height="18px"></bd-divider-vertical>
181
+ <bd-divider-vertical color="inverse" height="18"></bd-divider-vertical>
190
182
  <a href="/privacy/">Politique de confidentialité</a>
191
- <bd-divider-vertical color="white" height="18px"></bd-divider-vertical>
183
+ <bd-divider-vertical color="inverse" height="18"></bd-divider-vertical>
192
184
  <a href="/sitemap/">Plan du site</a>
193
- <bd-divider-vertical color="white" height="18px"></bd-divider-vertical>
185
+ <bd-divider-vertical color="inverse" height="18"></bd-divider-vertical>
194
186
  <a href="/company/">Entreprise</a>
195
- <bd-divider-vertical color="white" height="18px"></bd-divider-vertical>
187
+ <bd-divider-vertical color="inverse" height="18"></bd-divider-vertical>
196
188
  <a href="/contact/">Contactez-nous</a>
197
- <bd-divider-vertical color="white" height="18px"></bd-divider-vertical>
189
+ <bd-divider-vertical color="inverse" height="18"></bd-divider-vertical>
198
190
  <a href="#">Paramètres de confidentialité</a>
199
- <bd-divider-vertical color="white" height="18px"></bd-divider-vertical>
191
+ <bd-divider-vertical color="inverse" height="18"></bd-divider-vertical>
200
192
  <a href="/cookies/">Gestion des cookies</a>
201
193
  </bd-footer-nav>
202
194
  </bd-footer-lp>
@@ -210,14 +202,14 @@ FrenchLegal.parameters = {
210
202
  };
211
203
 
212
204
  export const WithCopyright = () => html`
213
- <bd-footer-lp maxColumnsPerRow="3">
205
+ <bd-footer-lp>
214
206
  <bd-footer-nav slot="secondary-nav">
215
207
  <a href="/legal/">Legal Information</a>
216
- <bd-divider-vertical color="white" height="18px"></bd-divider-vertical>
208
+ <bd-divider-vertical color="inverse" height="18"></bd-divider-vertical>
217
209
  <a href="/privacy/">Privacy Policy</a>
218
- <bd-divider-vertical color="white" height="18px"></bd-divider-vertical>
210
+ <bd-divider-vertical color="inverse" height="18"></bd-divider-vertical>
219
211
  <a href="/sitemap/">Site Map</a>
220
- <bd-divider-vertical color="white" height="18px"></bd-divider-vertical>
212
+ <bd-divider-vertical color="inverse" height="18"></bd-divider-vertical>
221
213
  <a href="/company/">Company</a>
222
214
  </bd-footer-nav>
223
215
  <div slot="copyright" style="text-align: center; padding-top: 1rem; color: white; font-size: 0.875rem;">
@@ -234,12 +226,12 @@ WithCopyright.parameters = {
234
226
  };
235
227
 
236
228
  export const CompactMobile = () => html`
237
- <bd-footer-lp maxColumnsPerRow="1">
229
+ <bd-footer-lp>
238
230
  <bd-footer-nav slot="secondary-nav">
239
231
  <a href="/legal/">Legal</a>
240
- <bd-divider-vertical color="white" height="18px"></bd-divider-vertical>
232
+ <bd-divider-vertical color="inverse" height="18"></bd-divider-vertical>
241
233
  <a href="/privacy/">Privacy</a>
242
- <bd-divider-vertical color="white" height="18px"></bd-divider-vertical>
234
+ <bd-divider-vertical color="inverse" height="18"></bd-divider-vertical>
243
235
  <a href="/contact/">Contact</a>
244
236
  </bd-footer-nav>
245
237
  <div slot="copyright" style="text-align: center; padding-top: 0.5rem; color: white; font-size: 0.75rem;">
@@ -256,12 +248,12 @@ CompactMobile.parameters = {
256
248
  };
257
249
 
258
250
  export const CustomizableFooterLP = (args) => html`
259
- <bd-footer-lp maxColumnsPerRow="${args.maxColumnsPerRow}">
251
+ <bd-footer-lp>
260
252
  <bd-footer-nav slot="secondary-nav">
261
253
  ${args.showLegal
262
254
  ? html`
263
255
  <a href="/legal/">Legal Information</a>
264
- <bd-divider-vertical color="white" height="18px"></bd-divider-vertical>
256
+ <bd-divider-vertical color="inverse" height="18"></bd-divider-vertical>
265
257
  `
266
258
  : ''}
267
259
  ${args.showPrivacy
@@ -269,7 +261,7 @@ export const CustomizableFooterLP = (args) => html`
269
261
  <a href="/privacy/">Privacy Policy</a>
270
262
  ${args.showSitemap || args.showCompany || args.showContact
271
263
  ? html`
272
- <bd-divider-vertical color="white" height="18px"></bd-divider-vertical>
264
+ <bd-divider-vertical color="inverse" height="18"></bd-divider-vertical>
273
265
  `
274
266
  : ''}
275
267
  `
@@ -279,7 +271,7 @@ export const CustomizableFooterLP = (args) => html`
279
271
  <a href="/sitemap/">Site Map</a>
280
272
  ${args.showCompany || args.showContact
281
273
  ? html`
282
- <bd-divider-vertical color="white" height="18px"></bd-divider-vertical>
274
+ <bd-divider-vertical color="inverse" height="18"></bd-divider-vertical>
283
275
  `
284
276
  : ''}
285
277
  `
@@ -289,7 +281,7 @@ export const CustomizableFooterLP = (args) => html`
289
281
  <a href="/company/">Company</a>
290
282
  ${args.showContact
291
283
  ? html`
292
- <bd-divider-vertical color="white" height="18px"></bd-divider-vertical>
284
+ <bd-divider-vertical color="inverse" height="18"></bd-divider-vertical>
293
285
  `
294
286
  : ''}
295
287
  `
@@ -310,18 +302,14 @@ export const CustomizableFooterLP = (args) => html`
310
302
  </bd-footer-lp>
311
303
  `;
312
304
  CustomizableFooterLP.args = {
313
- maxColumnsPerRow: 3,
314
- showLegal : true,
315
- showPrivacy : true,
316
- showSitemap : true,
317
- showCompany : true,
318
- showContact : true,
319
- showCopyright : false
305
+ showLegal : true,
306
+ showPrivacy : true,
307
+ showSitemap : true,
308
+ showCompany : true,
309
+ showContact : true,
310
+ showCopyright: false
320
311
  };
321
312
  CustomizableFooterLP.argTypes = {
322
- maxColumnsPerRow: {
323
- control: { type: 'number', min: 1, max: 4 }
324
- },
325
313
  showLegal: {
326
314
  control : 'boolean',
327
315
  description: 'Show Legal Information link'
@@ -356,14 +344,14 @@ CustomizableFooterLP.parameters = {
356
344
  };
357
345
 
358
346
  export const PrivacyFocused = () => html`
359
- <bd-footer-lp maxColumnsPerRow="2">
347
+ <bd-footer-lp>
360
348
  <bd-footer-nav slot="secondary-nav">
361
349
  <a href="/privacy/">Privacy Policy</a>
362
- <bd-divider-vertical color="white" height="18px"></bd-divider-vertical>
350
+ <bd-divider-vertical color="inverse" height="18"></bd-divider-vertical>
363
351
  <a href="/cookies/">Cookie Preferences</a>
364
- <bd-divider-vertical color="white" height="18px"></bd-divider-vertical>
352
+ <bd-divider-vertical color="inverse" height="18"></bd-divider-vertical>
365
353
  <a href="/legal/">Legal</a>
366
- <bd-divider-vertical color="white" height="18px"></bd-divider-vertical>
354
+ <bd-divider-vertical color="inverse" height="18"></bd-divider-vertical>
367
355
  <a href="#" onclick="window.__tcfapi('showUi', null); return false;">Privacy Settings</a>
368
356
  </bd-footer-nav>
369
357
  </bd-footer-lp>
@@ -1,4 +1,5 @@
1
- import { css } from 'lit';
1
+ import { css, unsafeCSS } from 'lit';
2
+ import { below } from '../shared/token-scales.js';
2
3
 
3
4
  export default css`
4
5
  .footer-nav-main {
@@ -8,7 +9,7 @@ export default css`
8
9
  gap: var(--spacing-16);
9
10
  flex-wrap: wrap;
10
11
  font-size: var(--typography-body-regular-fontSize);
11
- font-family: var(--typography-fontFamily-sans, 'IBM Plex Sans');
12
+ font-family: var(--typography-fontFamily-sans);
12
13
  font-weight: var(--typography-label-default-fontWeight);
13
14
  }
14
15
 
@@ -17,11 +18,31 @@ export default css`
17
18
  }
18
19
 
19
20
  ::slotted(a) {
20
- color: white !important;
21
+ color: var(--color-text-inverse) !important;
21
22
  text-decoration: none;
22
23
  }
23
24
 
24
- @media (max-width: 767px) {
25
+ /* The one focus ring, on the elements that actually take focus.
26
+
27
+ These links are the consumer's own anchors, slotted in -- measured 57 raw
28
+ <a> and 0 bd-link across the eleven bd-footer-nav instances in the built
29
+ stories -- so they bring no ring of their own. bd-footer and bd-footer-lp
30
+ both declared one for them, as .footer-nav-main a:focus; neither could
31
+ reach it, because .footer-nav-main is in THIS shadow root and the anchors
32
+ are in the page's. What rendered instead was the browser's own outline:
33
+ measured "1px auto rgb(0, 95, 204)" with box-shadow none, a blue hairline
34
+ on the blue-600 masthead these links sit on. The two-colour ring exists for
35
+ exactly that surface -- its inner band is white.
36
+
37
+ Spelled ::slotted, which is the only selector that crosses this boundary,
38
+ and :focus-visible so a mouse click does not draw it. */
39
+ ::slotted(a:focus-visible) {
40
+ outline: none;
41
+ box-shadow: var(--focus-outline-primary);
42
+ border-radius: var(--focus-outline-radius);
43
+ }
44
+
45
+ @media ${unsafeCSS(below('md'))} {
25
46
  .footer-nav-main {
26
47
  flex-direction: column;
27
48
  align-items: flex-start;
@@ -32,4 +53,5 @@ export default css`
32
53
  display: none !important;
33
54
  }
34
55
  }
56
+
35
57
  `;
@@ -1,5 +1,6 @@
1
1
  import { LitElement, html } from 'lit';
2
- import { tokens } from '../../tokens/tokens.js';
2
+ // Installs the design tokens into document scope; see src/tokens/tokens.js
3
+ import "../../tokens/tokens.js";
3
4
  import '../divider/divider-vertical.js';
4
5
  import navCSS from './footer-nav-menu.css.js';
5
6
 
@@ -30,7 +31,7 @@ export class BdFooterNav extends LitElement {
30
31
  `;
31
32
  }
32
33
 
33
- static styles = [tokens, navCSS];
34
+ static styles = [navCSS];
34
35
  }
35
36
 
36
37
  customElements.define('bd-footer-nav', BdFooterNav);