@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
@@ -3,10 +3,45 @@ import { css } from "lit";
3
3
  export default css`
4
4
  :host {
5
5
  display: block;
6
- font-family: var(--typography-fontFamily-mono, monospace);
7
- color: var(--color-neutral-0, #fff);
8
- background: #151719;
9
- border-radius: var(--radius-xl, 12px);
6
+ font-family: var(--typography-fontFamily-mono);
7
+ color: var(--color-text-on-media);
8
+
9
+ /* The panel's quieter lines: the subordinate ink on the media frame,
10
+ fixed with it, 7.92:1 in either theme. */
11
+ --bd-terminalmsg-subdued: var(--color-text-on-media-muted);
12
+
13
+ /* The rest of the transcript's line-kind palette, on one mechanism.
14
+
15
+ This panel tells its line kinds apart by COLOUR -- see the marker on
16
+ .bd-terminalmsg-greeting-text -- so these are the component's own
17
+ vocabulary, not applications of a brand ink. That distinction is why
18
+ vocabulary question C closed without a global role: blue on a dark surface
19
+ here means "the assistant is speaking", not "brand". See
20
+ plans/reports/phase-2-vocab-c-inverse-ink.md.
21
+
22
+ The five kinds used four different mechanisms before this -- two semantic
23
+ roles, one component token, one raw primitive and one literal. Naming them
24
+ locally puts the palette in one place to read and to change. */
25
+ --bd-terminalmsg-ask: var(--color-blue-400);
26
+ --bd-terminalmsg-cmd: var(--color-text-on-media);
27
+ /* no token: the transcript's success green is the macOS traffic-light green,
28
+ matched to the dots this panel already draws, and the palette has no step at
29
+ it -- the nearest is --color-green-500 at a perceptual distance of 10.5,
30
+ which is a different colour rather than a rounding. Moving it here makes it
31
+ one declaration instead of one scattered, but it is NOT retired: nothing in
32
+ the scale carries this value. */
33
+ --bd-terminalmsg-ok: #27c93f;
34
+ /* The status badges' two other kinds, on the same mechanism. info is
35
+ blue-300 rather than the ask line's blue-400: a badge is a label, not the
36
+ assistant speaking. 7.61 and 12.17:1 on the media frame. */
37
+ --bd-terminalmsg-info: var(--color-blue-300);
38
+ --bd-terminalmsg-warn: var(--color-yellow-400);
39
+ /* The media frame, --color-surface-media. A terminal is dark in every theme, and this
40
+ panel's line palette (blue-400, the traffic-light green) is legible only
41
+ on a dark ground -- 2.98 and 1.97:1 once an inverse ground turns light.
42
+ It read --color-surface-inverse until dark mode decision 15. */
43
+ background: var(--color-surface-media);
44
+ border-radius: var(--radius-xl);
10
45
  padding: var(--spacing-14) var(--spacing-16) var(--spacing-32);
11
46
  box-sizing: border-box;
12
47
  }
@@ -14,7 +49,7 @@ export default css`
14
49
  /* Tighter host padding for the "flush" variant, used where the terminal
15
50
  sits over decorative rings/a 3D scene (e.g. the VPN hero). */
16
51
  :host([variant="flush"]) {
17
- padding: 18px 20px;
52
+ padding: var(--spacing-18) var(--spacing-20);
18
53
  }
19
54
 
20
55
  /* === TITLEBAR (traffic-light dots only, no label) === */
@@ -48,8 +83,8 @@ export default css`
48
83
  /* === PANEL === */
49
84
  .bd-terminalmsg-panel {
50
85
  position: relative;
51
- border: 1px solid rgba(255, 255, 255, 0.12);
52
- border-radius: var(--radius-lg, 10px);
86
+ border: var(--border-width-1) solid var(--color-border-container-inverse);
87
+ border-radius: var(--radius-lg);
53
88
  padding: var(--spacing-20) var(--spacing-20) calc(var(--spacing-20) + var(--spacing-8));
54
89
  }
55
90
 
@@ -69,25 +104,64 @@ export default css`
69
104
  top: 0;
70
105
  left: var(--spacing-16);
71
106
  transform: translateY(-50%);
72
- background: #151719;
107
+ /* the media ground again; see the note above */
108
+ background: var(--color-surface-media);
73
109
  padding: 0 var(--spacing-8);
74
- color: rgba(255, 255, 255, 0.4);
75
- font-family: var(--typography-fontFamily-mono, monospace);
110
+ color: var(--bd-terminalmsg-subdued);
111
+ font-family: var(--typography-fontFamily-mono);
112
+ /* no role: the panel label sitting on the top border, in mono -- see awards-flex.css.js's
113
+ .bd-awardsflex-quote-source for the argument. */
76
114
  font-size: var(--typography-fontSize-xs);
77
115
  }
78
116
 
79
117
  .bd-terminalmsg-body {
80
- font-size: var(--typography-fontSize-sm);
81
- line-height: var(--typography-lineHeight-normal);
118
+ /* body-small's size and leading only. NOT its family: this panel is a
119
+ transcript and the mono face comes from .bd-terminalmsg-panel above, so
120
+ importing body-small's fontFamily-sans here would break it. */
121
+ font-size: var(--typography-body-small-fontSize);
122
+ line-height: var(--typography-body-small-lineHeight);
82
123
  }
83
124
 
84
125
  .bd-terminalmsg-greeting-text {
85
- color: var(--color-blue-400, #7ab8ff);
126
+ color: var(--bd-terminalmsg-ask);
127
+ /* no role: this panel is a transcript, and its line kinds are told apart by
128
+ TWO channels -- colour always, weight on some -- over type that is
129
+ deliberately constant. Measured: l-cmd and l-strong are 700 white,
130
+ l-ok is 400 green, l-dim is 400 grey, and all four are 14px/21px mono,
131
+ because the metrics belong to the panel and not to the line. That makes
132
+ the weight a highlighting channel, the way a syntax highlighter uses
133
+ one, and a role cannot express it: a role carries a size and a leading
134
+ with it, so adopting one here would import metrics that break the shared
135
+ grid the transcript is read on.
136
+ .
137
+ The type itself is owned elsewhere and correctly -- this span sits inside
138
+ <bd-p variant="regular">, a valid semantic text owner, which is the case
139
+ CLAUDE.md rule 10 sanctions an inline descendant inheriting from. Only
140
+ the emphasis is declared here.
141
+ .
142
+ This is the argument for the other two bold classes in this file.
143
+ (The separator dots keep this one comment block contiguous: the marker
144
+ scan stops at any blank line, even one inside a single comment, so a
145
+ paragraph break would leave the "no role:" above out of reach.) */
86
146
  font-weight: var(--typography-fontWeight-bold);
87
147
  }
88
148
 
149
+ /* bd-p paints itself with --color-text-primary, and on this panel that is the
150
+ background colour exactly, so a bd-p in here is invisible unless the panel
151
+ says otherwise. The class existed and the rule did not, which is how
152
+ dim-text rendered at 1:1. The greeting needs it too: its blue span covers
153
+ the greeting text but not the icon sitting beside it, so a non-emoji prefix
154
+ inherited the same invisible colour. */
155
+ .bd-terminalmsg-dim {
156
+ color: var(--bd-terminalmsg-subdued);
157
+ }
158
+
159
+ .bd-terminalmsg-greeting {
160
+ color: var(--color-text-on-media);
161
+ }
162
+
89
163
  .bd-terminalmsg-intro {
90
- color: var(--color-neutral-0, #fff);
164
+ color: var(--color-text-on-media);
91
165
  }
92
166
 
93
167
  .bd-terminalmsg-list {
@@ -97,7 +171,7 @@ export default css`
97
171
  }
98
172
 
99
173
  .bd-terminalmsg-footer {
100
- color: var(--color-neutral-0, #fff);
174
+ color: var(--color-text-on-media);
101
175
  margin: 0;
102
176
  }
103
177
 
@@ -107,19 +181,30 @@ export default css`
107
181
  bottom: 0;
108
182
  left: var(--spacing-16);
109
183
  transform: translateY(50%);
110
- background: #151719;
184
+ /* the media ground again; see the note above */
185
+ background: var(--color-surface-media);
111
186
  padding: 0 var(--spacing-8);
112
- color: rgba(255, 255, 255, 0.5);
113
- font-family: var(--typography-fontFamily-mono, monospace);
187
+ color: var(--bd-terminalmsg-subdued);
188
+ font-family: var(--typography-fontFamily-mono);
189
+ /* no role: the hint legend on the bottom border, in mono -- see awards-flex.css.js's
190
+ .bd-awardsflex-quote-source for the argument. */
114
191
  font-size: var(--typography-fontSize-xs);
115
- white-space: nowrap;
192
+ /* The legend is taken out of flow, so nothing stops it growing past the
193
+ panel: any hint longer than the panel is wide ran off the page at every
194
+ viewport, not only on a small phone. Bound it to the panel less its two
195
+ gutters and let it wrap when it has to. It still sits on one line at
196
+ every width where it fits, which is the normal case. */
197
+ max-width: calc(100% - var(--spacing-32));
116
198
  }
117
199
 
118
200
  /* Bracketed key labels inside the hint (e.g. "[Enter]", "[esc]") — bold + white,
119
201
  standing out from the rest of the dimmer hint text. */
120
202
  .bd-terminalmsg-hint-key {
121
- color: #fff;
122
- font-weight: var(--typography-fontWeight-bold, 700);
203
+ color: var(--color-text-on-media);
204
+ /* no role: the colour-plus-weight highlighting channel described on
205
+ .bd-terminalmsg-greeting-text above -- a bracketed key against dimmer
206
+ hint text. */
207
+ font-weight: var(--typography-fontWeight-bold);
123
208
  }
124
209
 
125
210
  /* === CAPTION — small dim note inside the panel, below everything else
@@ -127,11 +212,13 @@ export default css`
127
212
  closes when the prompt ends". Sits inside the black box, unlike
128
213
  bd-header-code's terminal-caption which renders below the whole card. */
129
214
  .bd-terminalmsg-caption {
130
- color: rgba(255, 255, 255, 0.35);
131
- font-size: var(--typography-fontSize-xs);
215
+ /* The subdued ink, not white at 35%: that measured 3.22:1 on the frame
216
+ and failed 1.4.3; this is 7.92:1. */
217
+ color: var(--bd-terminalmsg-subdued);
218
+ font-size: var(--typography-body-xsmall-fontSize);
132
219
  margin-top: var(--spacing-16);
133
220
  padding-top: var(--spacing-12);
134
- border-top: 1px solid rgba(255, 255, 255, 0.08);
221
+ border-top: var(--border-width-1) solid var(--color-border-container-inverse);
135
222
  }
136
223
 
137
224
  /* === TYPED-LINE API (bd-terminal-message .lines=...) === */
@@ -149,28 +236,33 @@ export default css`
149
236
  }
150
237
 
151
238
  .bd-terminalmsg-l-cmd {
152
- color: var(--color-neutral-0, #fff);
153
- font-weight: var(--typography-fontWeight-bold, 700);
239
+ color: var(--bd-terminalmsg-cmd);
240
+ /* no role: the colour-plus-weight highlighting channel described on
241
+ .bd-terminalmsg-greeting-text above -- the command line of the
242
+ transcript, taking its 14px/21px mono from .bd-terminalmsg-body. */
243
+ font-weight: var(--typography-fontWeight-bold);
154
244
  }
155
245
 
156
246
  .bd-terminalmsg-l-ok {
157
- color: #27c93f;
247
+ color: var(--bd-terminalmsg-ok);
158
248
  padding-bottom: var(--spacing-12);
159
249
  }
160
250
 
161
251
  .bd-terminalmsg-l-ask {
162
- color: var(--color-blue-400, #7ab8ff);
252
+ color: var(--bd-terminalmsg-ask);
163
253
  padding: var(--spacing-12) 0;
164
254
  }
165
255
 
166
256
  .bd-terminalmsg-l-strong {
167
- color: var(--color-neutral-0, #fff);
168
- font-weight: var(--typography-fontWeight-bold, 700);
257
+ color: var(--color-text-on-media);
258
+ /* no role: the strong run inside a terminal line -- a state or modifier weight, not a text-content
259
+ type. See button.css.js's .button--bold for the argument. */
260
+ font-weight: var(--typography-fontWeight-bold);
169
261
  padding-top: var(--spacing-12);
170
262
  }
171
263
 
172
264
  .bd-terminalmsg-l-dim {
173
- color: rgba(255, 255, 255, 0.5);
265
+ color: var(--bd-terminalmsg-subdued);
174
266
  }
175
267
 
176
268
  .bd-terminalmsg-l-space {
@@ -179,7 +271,10 @@ export default css`
179
271
 
180
272
  .bd-terminalmsg-l-sep {
181
273
  border: none;
182
- border-top: 1px solid rgba(255, 255, 255, 0.12);
274
+ /* A boundary on the dark media ground, the same value and the same role as
275
+ process-steps' divider: --color-border-container-inverse is white at 12%
276
+ exactly. Nothing moves. */
277
+ border-top: var(--border-width-1) solid var(--color-border-container-inverse);
183
278
  margin: var(--spacing-8) 0;
184
279
  }
185
280
 
@@ -190,27 +285,32 @@ export default css`
190
285
  align-items: center;
191
286
  justify-content: space-between;
192
287
  gap: var(--spacing-12);
193
- color: var(--color-neutral-0, #fff);
194
- font-weight: var(--typography-fontWeight-bold, 700);
288
+ color: var(--color-text-on-media);
289
+ /* no role: the colour-plus-weight highlighting channel described on
290
+ .bd-terminalmsg-greeting-text above -- the transcript's title line. */
291
+ font-weight: var(--typography-fontWeight-bold);
195
292
  padding-bottom: var(--spacing-16);
196
293
  }
197
294
 
198
295
  .bd-terminalmsg-live {
199
296
  display: inline-flex;
200
297
  align-items: center;
201
- gap: var(--spacing-4, 4px);
202
- color: #27c93f;
298
+ gap: var(--spacing-4);
299
+ color: var(--bd-terminalmsg-ok);
300
+ /* no role: a status marker in a mono transcript, not a text-content type.
301
+ label-small is the nearest role and would set it in sans at medium. */
203
302
  font-size: var(--typography-fontSize-xs);
204
- font-weight: var(--typography-fontWeight-bold, 700);
205
- letter-spacing: 0.05em;
303
+ /* no role: the weight of the same marker. */
304
+ font-weight: var(--typography-fontWeight-bold);
305
+ letter-spacing: var(--typography-letterSpacing-wider);
206
306
  flex-shrink: 0;
207
307
  }
208
308
 
209
309
  .bd-terminalmsg-live-dot {
210
- width: 6px;
211
- height: 6px;
212
- border-radius: 50%;
213
- background: #27c93f;
310
+ width: var(--spacing-6);
311
+ height: var(--spacing-6);
312
+ border-radius: var(--radius-full);
313
+ background: var(--bd-terminalmsg-ok);
214
314
  }
215
315
 
216
316
  /* === "row" line — label / text / colored badge, 3-column layout.
@@ -229,51 +329,55 @@ export default css`
229
329
  the host's own top padding, which reads fine here — no exception
230
330
  needed. */
231
331
  :host([variant="flush"]) .bd-terminalmsg-l-row {
232
- border-top: 1px solid #ffffff17;
332
+ border-top: var(--border-width-1) solid var(--color-border-container-inverse);
233
333
  }
234
334
 
235
335
  .bd-terminalmsg-l-row-label {
236
- color: rgba(255, 255, 255, 0.35);
336
+ color: var(--bd-terminalmsg-subdued);
237
337
  text-transform: uppercase;
238
- font-size: var(--typography-fontSize-xs);
239
- letter-spacing: 0.05em;
240
- padding-top: 2px;
338
+ font-size: var(--typography-body-xsmall-fontSize);
339
+ letter-spacing: var(--typography-letterSpacing-wider);
340
+ padding-top: var(--spacing-2);
241
341
  }
242
342
 
243
343
  .bd-terminalmsg-l-row-text {
244
- color: rgba(255, 255, 255, 0.85);
344
+ color: var(--color-text-on-media);
245
345
  word-break: break-word;
246
346
  }
247
347
 
248
348
  .bd-terminalmsg-badge {
249
349
  display: inline-flex;
250
350
  align-items: center;
251
- padding: 2px var(--spacing-12, 10px);
252
- border-radius: var(--radius-full, 999px);
351
+ padding: var(--spacing-2) var(--spacing-12);
352
+ border-radius: var(--radius-full);
353
+ /* no role: the status chip, as .bd-terminalmsg-live above. */
253
354
  font-size: var(--typography-fontSize-xs);
254
- font-weight: var(--typography-fontWeight-bold, 600);
355
+ /* no role: the weight of the same marker. */
356
+ font-weight: var(--typography-fontWeight-bold);
255
357
  white-space: nowrap;
256
358
  margin-top: 1px;
257
359
  }
258
360
 
361
+ /* Each badge is its ink on a tint of the same ink, so a kind is one
362
+ declaration to change. */
259
363
  .bd-terminalmsg-badge--green {
260
- background: rgba(39, 201, 63, 0.15);
261
- color: #27c93f;
364
+ background: color-mix(in srgb, var(--bd-terminalmsg-ok) 15%, transparent);
365
+ color: var(--bd-terminalmsg-ok);
262
366
  }
263
367
 
264
368
  .bd-terminalmsg-badge--blue {
265
- background: rgba(122, 184, 255, 0.15);
266
- color: #7ab8ff;
369
+ background: color-mix(in srgb, var(--bd-terminalmsg-info) 15%, transparent);
370
+ color: var(--bd-terminalmsg-info);
267
371
  }
268
372
 
269
373
  .bd-terminalmsg-badge--amber {
270
- background: rgba(217, 119, 6, 0.2);
271
- color: #f5a524;
374
+ background: color-mix(in srgb, var(--bd-terminalmsg-warn) 15%, transparent);
375
+ color: var(--bd-terminalmsg-warn);
272
376
  }
273
377
 
274
378
  .bd-terminalmsg-badge--neutral {
275
- background: rgba(255, 255, 255, 0.12);
276
- color: rgba(255, 255, 255, 0.75);
379
+ background: color-mix(in srgb, var(--bd-terminalmsg-subdued) 15%, transparent);
380
+ color: var(--bd-terminalmsg-subdued);
277
381
  }
278
382
 
279
383
  /* Below ~360px of the terminal's OWN width (not the viewport's), stack
@@ -287,7 +391,7 @@ export default css`
287
391
  @container bd-terminalmsg-lines (max-width: 360px) {
288
392
  .bd-terminalmsg-l-row {
289
393
  grid-template-columns: 1fr;
290
- row-gap: var(--spacing-4, 4px);
394
+ row-gap: var(--spacing-4);
291
395
  }
292
396
 
293
397
  .bd-terminalmsg-l-row-label {
@@ -141,12 +141,12 @@ class TerminalMessage extends LitElement {
141
141
  ${this._renderLines()}
142
142
 
143
143
  ${this.dimText
144
- ? html`<bd-p kind="small" font-family="var(--font-family-mono)" paddingBottom="var(--spacing-12)" class="bd-terminalmsg-dim">${this.dimText}</bd-p>`
144
+ ? html`<bd-p variant="small" font-family="mono" paddingBottom="12" class="bd-terminalmsg-dim">${this.dimText}</bd-p>`
145
145
  : nothing}
146
146
 
147
147
  ${this.greeting
148
148
  ? html`
149
- <bd-p kind="regular" font-family="var(--font-family-mono)" paddingBottom="var(--spacing-12)" class="bd-terminalmsg-greeting">
149
+ <bd-p variant="regular" font-family="mono" paddingBottom="12" class="bd-terminalmsg-greeting">
150
150
  ${this.icon ? html`${this.icon} ` : nothing}
151
151
  <span class="bd-terminalmsg-greeting-text">${this.greeting}</span>
152
152
  </bd-p>
@@ -154,20 +154,20 @@ class TerminalMessage extends LitElement {
154
154
  : nothing}
155
155
 
156
156
  ${this.intro
157
- ? html`<bd-p kind="regular" font-family="var(--font-family-mono)" paddingBottom="var(--spacing-12)" class="bd-terminalmsg-intro">${this.intro}</bd-p>`
157
+ ? html`<bd-p variant="regular" font-family="mono" paddingBottom="12" class="bd-terminalmsg-intro">${this.intro}</bd-p>`
158
158
  : nothing}
159
159
 
160
160
  ${this.items && this.items.length
161
161
  ? html`
162
162
  <bd-list class="bd-terminalmsg-list">
163
- ${this.items.map((item) => html`<bd-li kind="bullet" size="sm" color="#fff">${item}</bd-li>`)}
163
+ ${this.items.map((item) => html`<bd-li variant="bullet" size="sm" color="var(--color-neutral-0)">${item}</bd-li>`)}
164
164
  </bd-list>
165
165
  `
166
166
  : nothing}
167
167
 
168
168
  ${this.footer || this.footerBold
169
169
  ? html`
170
- <bd-p kind="regular" font-family="var(--font-family-mono)" class="bd-terminalmsg-footer">
170
+ <bd-p variant="regular" font-family="mono" class="bd-terminalmsg-footer">
171
171
  ${this.footerBold
172
172
  ? html`<strong>${this.footerBold}</strong> `
173
173
  : nothing}
@@ -117,7 +117,9 @@ Every field is optional — omitted fields render nothing rather than empty spac
117
117
  }
118
118
  };
119
119
 
120
- const containerStyle = "width: 480px;";
120
+ /* A terminal reads best at a fixed measure, but the demo frame must not be
121
+ wider than the phone it is being viewed on. */
122
+ const containerStyle = "max-width: 480px;";
121
123
 
122
124
  const render = (args) => html`
123
125
  <div style="${containerStyle}">
@@ -291,6 +293,73 @@ export const WithSlottedContent = {
291
293
 
292
294
  // ─── Playground ─────────────────────────────────────────────────────────────────
293
295
 
296
+ /**
297
+ * The typed-line API, which had no story: `lines` takes a literal sequence of
298
+ * terminal lines and each `type` gets its own rule. Seven of those rules --
299
+ * cmd, ok, ask, strong, dim, sep and space -- never matched anything in 556
300
+ * stories, because nothing rendered a line. This story is what makes them
301
+ * observable.
302
+ */
303
+ export const TypedLines = {
304
+ name: "Typed lines — the literal command sequence",
305
+ args: {
306
+ showTitlebar: true,
307
+ label : "AI Guardian CLI",
308
+ lines : [
309
+ { type: "cmd", text: "npx skills add bitdefender/agent-skill-scanner" },
310
+ { type: "ok", text: "agent-skill-scanner installed" },
311
+ { type: "sep" },
312
+ { type: "ask", text: "Scan the skills already on this machine?" },
313
+ { type: "dim", text: "14 skills found in ~/.claude/skills" },
314
+ { type: "space" },
315
+ { type: "strong", text: "3 skills flagged for review" }
316
+ ]
317
+ },
318
+ render,
319
+ parameters: {
320
+ docs: {
321
+ description: {
322
+ story: "Every line type in one frame. `sep` and `space` ignore their text: one draws a rule, the other leaves a gap."
323
+ }
324
+ }
325
+ }
326
+ };
327
+
328
+
329
+ export const ConnectionLog = {
330
+ name : "Connection log — title, rows and status badges",
331
+ render: () => html`
332
+ <div style="${containerStyle} display: grid; gap: 24px;">
333
+ <bd-terminal-message
334
+ show-titlebar
335
+ caption="// illustrative — every connection closes when the prompt ends"
336
+ .lines=${[
337
+ { type: "title", text: "VPN for AI Agents · connection log", live: true },
338
+ { type: "row", label: "MCP", text: "vpn_connect(location: frankfurt)", badge: "Open", badgeColor: "green" },
339
+ { type: "row", label: "REQUEST", text: "agent reaches insurer-compare.com", badge: "Server IP", badgeColor: "blue" },
340
+ { type: "row", label: "MCP", text: "vpn_safefetch(location: frankfurt, url: insurer-compare.com)", badge: "Scanned", badgeColor: "amber" },
341
+ { type: "row", label: "MCP", text: "vpn_disconnect(location: frankfurt) — prompt ends", badge: "Closed — session cleared", badgeColor: "neutral" }
342
+ ]}
343
+ ></bd-terminal-message>
344
+ <bd-terminal-message
345
+ variant="flush"
346
+ .lines=${[
347
+ { type: "title", text: "flush variant — rows carry their own hairline" },
348
+ { type: "row", label: "MCP", text: "vpn_connect(location: frankfurt)", badge: "Open", badgeColor: "green" },
349
+ { type: "row", label: "NETWORK", text: "hotel Wi-Fi, unencrypted", badge: "Protected", badgeColor: "green" }
350
+ ]}
351
+ ></bd-terminal-message>
352
+ </div>
353
+ `,
354
+ parameters: {
355
+ docs: {
356
+ description: {
357
+ story: "The `title` and `row` line types with all four badge colours, the LIVE marker and the caption. Each badge is its ink on a 15% tint of the same ink, from the panel's own line-kind palette."
358
+ }
359
+ }
360
+ }
361
+ };
362
+
294
363
  export const Playground = {
295
364
  name: "Playground",
296
365
  args: {
@@ -2,43 +2,48 @@ import { css } from "lit";
2
2
 
3
3
  export default css`
4
4
  :host {
5
- --background-card-grey: var(--color-neutral-25);
6
- --border-card-grey: var(--color-neutral-50);
7
- --border-card-green: var(--color-green-700);
8
- --badge-background: var(--color-blue-500);
9
- --text-color-white: var(--color-neutral-0);
10
5
  -webkit-font-smoothing: antialiased;
11
6
  -moz-osx-font-smoothing: grayscale;
12
7
  display: block;
13
- --bd-accesibility-focus: var(--color-blue-500);
8
+ /* the band runs full-bleed on the host; the column inside it is bd-ensemble,
9
+ and the prose inside that keeps its own readable measure */
10
+ background: var(--color-surface-subtle);
14
11
  }
15
12
 
16
13
  .bd-terms-text-a:focus-visible{
17
- outline: var(--spacing-2) solid var(--bd-accesibility-focus);
18
- outline-offset: var(--spacing-2);
19
- border-radius: var(--space-2xs);
14
+ /* the one focus ring — see Foundations/Focus */
15
+ outline: none;
16
+ box-shadow: var(--focus-outline-primary);
17
+ border-radius: var(--focus-outline-radius);
20
18
  }
21
19
  .bd-terms-container {
22
- background: #f2f2f2;
23
- padding: var(--spacing-44) 0;
24
- font-family: Arial, Helvetica, sans-serif;
20
+ padding-block: var(--spacing-44);
21
+ font-family: var(--typography-fontFamily-sans);
25
22
  }
26
23
 
24
+ /* A readable measure, because this is the module with the most prose in the
25
+ package and it had no bound at all. Measured at 1440 in the module rhythm
26
+ pass: the heading ran 1368px wide and the paragraphs with it, roughly 200
27
+ characters a line -- unreadable for text somebody is expected to actually
28
+ read, and the widest measure of any of the 17 units by a long way.
29
+
30
+ --content-width-readable is the role this package already uses for that
31
+ job: comparison-panel bounds its text with it, agent-endpoints bounds its
32
+ description with it, and the tooltip bubble caps itself with it. It is
33
+ 70ch, so the bound follows the type rather than a pixel guess. No token
34
+ added and no legal typography redesigned -- size, leading and family are
35
+ untouched; only the line length is. */
27
36
  .bd-terms-wrapper {
37
+ max-width: var(--content-width-readable);
38
+ margin-inline: auto;
28
39
  padding: var(--spacing-14) var(--spacing-20) var(--spacing-40) var(--spacing-20);
29
40
  }
30
41
 
31
- #bd-terms-of-use {
32
- font-size: var(--spacing-16);
33
- }
34
-
35
42
  .bd-terms-text-p {
36
- font-size: var(--spacing-12);
37
- line-height: 1.31;
38
- letter-spacing: 0.006em;
39
43
  padding: 0;
40
44
  }
41
45
  .bd-terms-text-a {
42
- color: var(--color-blue-500);
46
+ /* on the neutral-50 tint this is 4.05:1; blue-600 gives 5.51 */
47
+ color: var(--color-text-brand);
43
48
  }
44
49
  `;
@@ -1,8 +1,12 @@
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";
4
+ import '../heading/heading.js';
3
5
  import '../list/list-item/list-item.js';
4
6
  import '../list/list.js';
7
+ import '../paragraph/paragraph.js';
5
8
  import termsCSS from "../termsOfUse/terms.css.js";
9
+ import { ensembleCSS } from "../shared/ensemble.css.js";
6
10
 
7
11
  class TermsSection extends LitElement {
8
12
  static properties = {
@@ -54,13 +58,13 @@ class TermsSection extends LitElement {
54
58
  return html`
55
59
  <div>
56
60
  <div>
57
- <bd-p kind="small" class="bd-terms-text-p"><strong>${faq.question}</strong></bd-p>
61
+ <bd-p variant="small" class="bd-terms-text-p"><strong>${faq.question}</strong></bd-p>
58
62
  ${faq.items
59
63
  ? html`
60
- <bd-p kind="small">
64
+ <bd-p variant="small">
61
65
  <bd-list type="unordered" spacing="md" variant="default" orientation="vertical">
62
66
  ${faq.items.map(item => html`
63
- <bd-li kind="bullet" size="md">${item}</bd-li>
67
+ <bd-li variant="bullet" size="md">${item}</bd-li>
64
68
  `)}
65
69
  </bd-list>
66
70
  </bd-p>
@@ -74,7 +78,7 @@ class TermsSection extends LitElement {
74
78
  render() {
75
79
  return html`
76
80
  <div
77
- class="bd-section bd-terms_section bd-terms-container"
81
+ class="bd-ensemble bd-section bd-terms_section bd-terms-container"
78
82
  data-section-status="loaded"
79
83
  id="bd-tos"
80
84
  style=""
@@ -87,7 +91,7 @@ class TermsSection extends LitElement {
87
91
  >
88
92
  <div>
89
93
  <div>
90
- <h5 id="bd-terms-of-use">Terms of use</h5>
94
+ <bd-h as="h2" visual-level="h3" paddingBottom="16" id="bd-terms-of-use">Terms of use</bd-h>
91
95
  </div>
92
96
  </div>
93
97
 
@@ -97,7 +101,7 @@ class TermsSection extends LitElement {
97
101
  <!-- Additional content -->
98
102
  <div>
99
103
  <div class="bd-terms-text-p">
100
- <bd-p kind="small">
104
+ <bd-p variant="small">
101
105
  Your subscription may include product, service and/or protection
102
106
  updates and features that may be added, modified or removed
103
107
  subject to
@@ -118,7 +122,7 @@ class TermsSection extends LitElement {
118
122
  </div>
119
123
  <div>
120
124
  <div class="bd-terms-text-p">
121
- <bd-p kind="small">
125
+ <bd-p variant="small">
122
126
  By using the subscription, You acknowledge and agree that your
123
127
  use of the product which integrates with YouTube API Services is
124
128
  subject to
@@ -137,5 +141,5 @@ class TermsSection extends LitElement {
137
141
  }
138
142
  }
139
143
 
140
- TermsSection.styles = [tokens, termsCSS];
144
+ TermsSection.styles = [ensembleCSS, termsCSS];
141
145
  customElements.define("bd-terms-section", TermsSection);
@@ -2,7 +2,7 @@ import { html } from 'lit';
2
2
  import './terms.js';
3
3
 
4
4
  export default {
5
- title : 'Components/TermsSection',
5
+ title : 'Modules/TermsSection',
6
6
  component : 'bd-terms-section',
7
7
  tags : ['autodocs'],
8
8
  parameters: {