@deriv-com/dds-marketing 1.0.1 → 1.1.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/.llm/components/awards.md +209 -0
  2. package/.llm/components/background.md +420 -0
  3. package/.llm/components/bottomsheet.md +5 -0
  4. package/.llm/components/comparisoncards.md +257 -0
  5. package/.llm/components/comparisontable.md +231 -0
  6. package/.llm/components/ctabanner.md +22 -0
  7. package/.llm/components/ctabannerslider.md +36 -2
  8. package/.llm/components/datatable.md +273 -0
  9. package/.llm/components/downloadbanner.md +283 -0
  10. package/.llm/components/featurecards.md +41 -3
  11. package/.llm/components/featurecardscarousel.md +311 -0
  12. package/.llm/components/featuresplit.md +5 -0
  13. package/.llm/components/featurestack.md +227 -0
  14. package/.llm/components/illustrationcard.md +236 -0
  15. package/.llm/components/illustrationscene.md +229 -0
  16. package/.llm/components/imagebanner.md +278 -0
  17. package/.llm/components/landinghero.md +24 -0
  18. package/.llm/components/navbar.md +1 -1
  19. package/.llm/components/navbaritem.md +4 -0
  20. package/.llm/components/pageheader.md +22 -0
  21. package/.llm/components/paginationdots.md +6 -1
  22. package/.llm/components/producthero.md +35 -11
  23. package/.llm/components/resourcebanner.md +247 -0
  24. package/.llm/components/scenescroll.md +222 -0
  25. package/.llm/components/select.md +17 -0
  26. package/.llm/components/stats.md +219 -0
  27. package/.llm/components/steps.md +286 -0
  28. package/.llm/components/stickycards.md +251 -0
  29. package/.llm/components/tableheadercell.md +19 -0
  30. package/.llm/components/teamgrid.md +243 -0
  31. package/.llm/components/testimonialrow.md +5 -0
  32. package/.llm/components/testimonialslider.md +14 -1
  33. package/.llm/components/textarea.md +13 -0
  34. package/.llm/components/textinput.md +13 -0
  35. package/.llm/components/textscroll.md +187 -0
  36. package/.llm/components/tiers.md +227 -0
  37. package/.llm/digest/awards.md +45 -0
  38. package/.llm/digest/background.md +53 -0
  39. package/.llm/digest/bottomsheet.md +2 -0
  40. package/.llm/digest/comparisoncards.md +51 -0
  41. package/.llm/digest/comparisontable.md +53 -0
  42. package/.llm/digest/ctabanner.md +4 -0
  43. package/.llm/digest/ctabannerslider.md +7 -0
  44. package/.llm/digest/datatable.md +65 -0
  45. package/.llm/digest/downloadbanner.md +65 -0
  46. package/.llm/digest/featurecards.md +1 -1
  47. package/.llm/digest/featurecardscarousel.md +54 -0
  48. package/.llm/digest/featuresplit.md +1 -0
  49. package/.llm/digest/featurestack.md +48 -0
  50. package/.llm/digest/illustrationcard.md +46 -0
  51. package/.llm/digest/illustrationscene.md +50 -0
  52. package/.llm/digest/imagebanner.md +64 -0
  53. package/.llm/digest/landinghero.md +7 -0
  54. package/.llm/digest/navbaritem.md +1 -0
  55. package/.llm/digest/pageheader.md +4 -0
  56. package/.llm/digest/paginationdots.md +3 -1
  57. package/.llm/digest/producthero.md +4 -2
  58. package/.llm/digest/resourcebanner.md +53 -0
  59. package/.llm/digest/scenescroll.md +49 -0
  60. package/.llm/digest/select.md +5 -0
  61. package/.llm/digest/stats.md +46 -0
  62. package/.llm/digest/steps.md +55 -0
  63. package/.llm/digest/stickycards.md +52 -0
  64. package/.llm/digest/tableheadercell.md +4 -0
  65. package/.llm/digest/teamgrid.md +53 -0
  66. package/.llm/digest/testimonialrow.md +2 -0
  67. package/.llm/digest/testimonialslider.md +4 -0
  68. package/.llm/digest/textarea.md +4 -0
  69. package/.llm/digest/textinput.md +4 -0
  70. package/.llm/digest/textscroll.md +43 -0
  71. package/.llm/digest/tiers.md +50 -0
  72. package/.llm/index.md +25 -2
  73. package/.llm/tokens.md +37 -1
  74. package/AGENTS.md +20 -1
  75. package/dist/components/awards-data.d.ts +24 -0
  76. package/dist/components/awards-data.js +11 -0
  77. package/dist/components/block-image-data.d.ts +24 -0
  78. package/dist/components/block-image-data.js +9 -0
  79. package/dist/components/blocks/awards/Awards.css +134 -0
  80. package/dist/components/blocks/awards/Awards.d.ts +24 -0
  81. package/dist/components/blocks/awards/Awards.js +114 -0
  82. package/dist/components/blocks/awards/Awards.types.d.ts +31 -0
  83. package/dist/components/blocks/awards/Awards.types.js +16 -0
  84. package/dist/components/blocks/awards/awards-impl.css +222 -0
  85. package/dist/components/blocks/cards-of.d.ts +16 -0
  86. package/dist/components/blocks/cards-of.js +23 -0
  87. package/dist/components/blocks/comparison-cards/ComparisonCards.css +195 -0
  88. package/dist/components/blocks/comparison-cards/ComparisonCards.d.ts +24 -0
  89. package/dist/components/blocks/comparison-cards/ComparisonCards.js +75 -0
  90. package/dist/components/blocks/comparison-cards/ComparisonCards.types.d.ts +49 -0
  91. package/dist/components/blocks/comparison-cards/ComparisonCards.types.js +26 -0
  92. package/dist/components/blocks/comparison-cards/comparison-cards-impl.css +262 -0
  93. package/dist/components/blocks/comparison-table/ComparisonTable.css +111 -0
  94. package/dist/components/blocks/comparison-table/ComparisonTable.d.ts +25 -0
  95. package/dist/components/blocks/comparison-table/ComparisonTable.js +100 -0
  96. package/dist/components/blocks/comparison-table/ComparisonTable.types.d.ts +36 -0
  97. package/dist/components/blocks/comparison-table/ComparisonTable.types.js +15 -0
  98. package/dist/components/blocks/comparison-table/comparison-table-impl.css +143 -0
  99. package/dist/components/blocks/cta-banner/CtaBanner.css +1 -0
  100. package/dist/components/blocks/cta-banner/CtaBanner.d.ts +1 -1
  101. package/dist/components/blocks/cta-banner/CtaBanner.js +3 -2
  102. package/dist/components/blocks/cta-banner/CtaBanner.types.d.ts +6 -0
  103. package/dist/components/blocks/cta-banner/CtaBanner.types.js +1 -1
  104. package/dist/components/blocks/cta-banner/cta-banner-impl.css +8 -0
  105. package/dist/components/blocks/cta-banner-slider/CtaBannerSlider.css +1 -0
  106. package/dist/components/blocks/cta-banner-slider/CtaBannerSlider.d.ts +1 -1
  107. package/dist/components/blocks/cta-banner-slider/CtaBannerSlider.js +10 -5
  108. package/dist/components/blocks/cta-banner-slider/CtaBannerSlider.types.d.ts +12 -0
  109. package/dist/components/blocks/cta-banner-slider/CtaBannerSlider.types.js +1 -1
  110. package/dist/components/blocks/cta-banner-slider/cta-banner-slider-impl.css +8 -0
  111. package/dist/components/blocks/data-table/DataTable.css +170 -0
  112. package/dist/components/blocks/data-table/DataTable.d.ts +29 -0
  113. package/dist/components/blocks/data-table/DataTable.js +84 -0
  114. package/dist/components/blocks/data-table/DataTable.types.d.ts +69 -0
  115. package/dist/components/blocks/data-table/DataTable.types.js +19 -0
  116. package/dist/components/blocks/data-table/data-table-impl.css +155 -0
  117. package/dist/components/blocks/download-banner/DownloadBanner.css +228 -0
  118. package/dist/components/blocks/download-banner/DownloadBanner.d.ts +28 -0
  119. package/dist/components/blocks/download-banner/DownloadBanner.js +75 -0
  120. package/dist/components/blocks/download-banner/DownloadBanner.types.d.ts +56 -0
  121. package/dist/components/blocks/download-banner/DownloadBanner.types.js +23 -0
  122. package/dist/components/blocks/download-banner/download-banner-impl.css +216 -0
  123. package/dist/components/blocks/faq-accordion/FaqAccordion.css +1 -0
  124. package/dist/components/blocks/faq-accordion/faq-accordion-impl.css +3 -7
  125. package/dist/components/blocks/feature-bullets/FeatureBullets.css +1 -0
  126. package/dist/components/blocks/feature-bullets/feature-bullets-impl.css +14 -1
  127. package/dist/components/blocks/feature-cards/FeatureCards.css +1 -0
  128. package/dist/components/blocks/feature-cards/FeatureCards.d.ts +2 -1
  129. package/dist/components/blocks/feature-cards/FeatureCards.js +4 -21
  130. package/dist/components/blocks/feature-cards/feature-cards-impl.css +10 -9
  131. package/dist/components/blocks/feature-cards-carousel/FeatureCardsCarousel.css +115 -0
  132. package/dist/components/blocks/feature-cards-carousel/FeatureCardsCarousel.d.ts +30 -0
  133. package/dist/components/blocks/feature-cards-carousel/FeatureCardsCarousel.js +160 -0
  134. package/dist/components/blocks/feature-cards-carousel/FeatureCardsCarousel.types.d.ts +52 -0
  135. package/dist/components/blocks/feature-cards-carousel/FeatureCardsCarousel.types.js +17 -0
  136. package/dist/components/blocks/feature-cards-carousel/feature-cards-carousel-impl.css +207 -0
  137. package/dist/components/blocks/feature-scroll/FeatureScroll.css +1 -0
  138. package/dist/components/blocks/feature-split/FeatureSplit.css +1 -0
  139. package/dist/components/blocks/feature-split/feature-split-impl.css +14 -1
  140. package/dist/components/blocks/feature-stack/FeatureStack.css +86 -0
  141. package/dist/components/blocks/feature-stack/FeatureStack.d.ts +19 -0
  142. package/dist/components/blocks/feature-stack/FeatureStack.js +27 -0
  143. package/dist/components/blocks/feature-stack/FeatureStack.types.d.ts +34 -0
  144. package/dist/components/blocks/feature-stack/FeatureStack.types.js +14 -0
  145. package/dist/components/blocks/feature-stack/feature-stack-impl.css +87 -0
  146. package/dist/components/blocks/image-banner/ImageBanner.css +133 -0
  147. package/dist/components/blocks/image-banner/ImageBanner.d.ts +32 -0
  148. package/dist/components/blocks/image-banner/ImageBanner.js +41 -0
  149. package/dist/components/blocks/image-banner/ImageBanner.types.d.ts +54 -0
  150. package/dist/components/blocks/image-banner/ImageBanner.types.js +14 -0
  151. package/dist/components/blocks/image-banner/image-banner-impl.css +281 -0
  152. package/dist/components/blocks/landing-hero/LandingHero.css +1 -0
  153. package/dist/components/blocks/landing-hero/LandingHero.d.ts +1 -1
  154. package/dist/components/blocks/landing-hero/LandingHero.js +4 -3
  155. package/dist/components/blocks/landing-hero/LandingHero.types.d.ts +7 -3
  156. package/dist/components/blocks/logo-columns/LogoColumns.css +1 -0
  157. package/dist/components/blocks/logo-rows/LogoRows.css +1 -0
  158. package/dist/components/blocks/page-header/PageHeader.css +1 -0
  159. package/dist/components/blocks/page-header/PageHeader.d.ts +1 -1
  160. package/dist/components/blocks/page-header/PageHeader.js +3 -2
  161. package/dist/components/blocks/page-header/PageHeader.types.d.ts +6 -0
  162. package/dist/components/blocks/page-header/PageHeader.types.js +1 -1
  163. package/dist/components/blocks/page-header/page-header-impl.css +10 -0
  164. package/dist/components/blocks/product-hero/ProductHero.css +8 -3
  165. package/dist/components/blocks/product-hero/ProductHero.d.ts +1 -1
  166. package/dist/components/blocks/product-hero/ProductHero.js +5 -2
  167. package/dist/components/blocks/product-hero/ProductHero.types.d.ts +5 -1
  168. package/dist/components/blocks/product-hero/ProductHero.types.js +1 -0
  169. package/dist/components/blocks/product-hero/product-hero-impl.css +43 -12
  170. package/dist/components/blocks/resource-banner/ResourceBanner.css +106 -0
  171. package/dist/components/blocks/resource-banner/ResourceBanner.d.ts +32 -0
  172. package/dist/components/blocks/resource-banner/ResourceBanner.js +51 -0
  173. package/dist/components/blocks/resource-banner/ResourceBanner.types.d.ts +44 -0
  174. package/dist/components/blocks/resource-banner/ResourceBanner.types.js +14 -0
  175. package/dist/components/blocks/resource-banner/resource-banner-impl.css +69 -0
  176. package/dist/components/blocks/scene-scroll/SceneScroll.css +93 -0
  177. package/dist/components/blocks/scene-scroll/SceneScroll.d.ts +36 -0
  178. package/dist/components/blocks/scene-scroll/SceneScroll.js +54 -0
  179. package/dist/components/blocks/scene-scroll/SceneScroll.types.d.ts +32 -0
  180. package/dist/components/blocks/scene-scroll/SceneScroll.types.js +15 -0
  181. package/dist/components/blocks/scene-scroll/scene-scroll-impl.css +275 -0
  182. package/dist/components/blocks/stats/Stats.css +139 -0
  183. package/dist/components/blocks/stats/Stats.d.ts +24 -0
  184. package/dist/components/blocks/stats/Stats.js +120 -0
  185. package/dist/components/blocks/stats/Stats.types.d.ts +36 -0
  186. package/dist/components/blocks/stats/Stats.types.js +19 -0
  187. package/dist/components/blocks/stats/stats-count.d.ts +34 -0
  188. package/dist/components/blocks/stats/stats-count.js +61 -0
  189. package/dist/components/blocks/stats/stats-impl.css +284 -0
  190. package/dist/components/blocks/stats/use-wheel.d.ts +37 -0
  191. package/dist/components/blocks/stats/use-wheel.js +126 -0
  192. package/dist/components/blocks/steps/Steps.css +202 -0
  193. package/dist/components/blocks/steps/Steps.d.ts +32 -0
  194. package/dist/components/blocks/steps/Steps.js +65 -0
  195. package/dist/components/blocks/steps/Steps.types.d.ts +48 -0
  196. package/dist/components/blocks/steps/Steps.types.js +21 -0
  197. package/dist/components/blocks/steps/steps-impl.css +216 -0
  198. package/dist/components/blocks/steps/use-turn.d.ts +33 -0
  199. package/dist/components/blocks/steps/use-turn.js +75 -0
  200. package/dist/components/blocks/sticky-cards/StickyCards.css +154 -0
  201. package/dist/components/blocks/sticky-cards/StickyCards.d.ts +35 -0
  202. package/dist/components/blocks/sticky-cards/StickyCards.js +153 -0
  203. package/dist/components/blocks/sticky-cards/StickyCards.types.d.ts +43 -0
  204. package/dist/components/blocks/sticky-cards/StickyCards.types.js +18 -0
  205. package/dist/components/blocks/sticky-cards/sticky-cards-impl.css +393 -0
  206. package/dist/components/blocks/team-grid/TeamGrid.css +159 -0
  207. package/dist/components/blocks/team-grid/TeamGrid.d.ts +28 -0
  208. package/dist/components/blocks/team-grid/TeamGrid.js +74 -0
  209. package/dist/components/blocks/team-grid/TeamGrid.types.d.ts +51 -0
  210. package/dist/components/blocks/team-grid/TeamGrid.types.js +20 -0
  211. package/dist/components/blocks/team-grid/team-grid-impl.css +129 -0
  212. package/dist/components/blocks/testimonial-row/TestimonialRow.css +1 -0
  213. package/dist/components/blocks/testimonial-row/TestimonialRow.d.ts +1 -1
  214. package/dist/components/blocks/testimonial-row/TestimonialRow.js +4 -3
  215. package/dist/components/blocks/testimonial-row/TestimonialRow.types.d.ts +3 -0
  216. package/dist/components/blocks/testimonial-row/TestimonialRow.types.js +1 -1
  217. package/dist/components/blocks/testimonial-row/testimonial-row-impl.css +8 -0
  218. package/dist/components/blocks/testimonial-slider/TestimonialSlider.css +1 -0
  219. package/dist/components/blocks/testimonial-slider/TestimonialSlider.d.ts +1 -1
  220. package/dist/components/blocks/testimonial-slider/TestimonialSlider.js +2 -2
  221. package/dist/components/blocks/testimonial-slider/TestimonialSlider.types.d.ts +8 -0
  222. package/dist/components/blocks/testimonial-slider/TestimonialSlider.types.js +1 -1
  223. package/dist/components/blocks/text-scroll/TextScroll.css +53 -0
  224. package/dist/components/blocks/text-scroll/TextScroll.d.ts +5 -0
  225. package/dist/components/blocks/text-scroll/TextScroll.js +71 -0
  226. package/dist/components/blocks/text-scroll/TextScroll.types.d.ts +22 -0
  227. package/dist/components/blocks/text-scroll/TextScroll.types.js +10 -0
  228. package/dist/components/blocks/text-scroll/text-scroll-impl.css +115 -0
  229. package/dist/components/blocks/tiers/Tiers.css +233 -0
  230. package/dist/components/blocks/tiers/Tiers.d.ts +32 -0
  231. package/dist/components/blocks/tiers/Tiers.js +68 -0
  232. package/dist/components/blocks/tiers/Tiers.types.d.ts +45 -0
  233. package/dist/components/blocks/tiers/Tiers.types.js +25 -0
  234. package/dist/components/blocks/tiers/tiers-impl.css +185 -0
  235. package/dist/components/blocks/use-rotation.d.ts +12 -2
  236. package/dist/components/blocks/use-rotation.js +6 -28
  237. package/dist/components/comparison-cards-data.d.ts +59 -0
  238. package/dist/components/comparison-cards-data.js +12 -0
  239. package/dist/components/comparison-table-data.d.ts +39 -0
  240. package/dist/components/comparison-table-data.js +11 -0
  241. package/dist/components/core/accordion-item/AccordionItem.css +1 -5
  242. package/dist/components/core/background/Background.css +92 -0
  243. package/dist/components/core/background/Background.d.ts +27 -0
  244. package/dist/components/core/background/Background.js +45 -0
  245. package/dist/components/core/background/Background.types.d.ts +39 -0
  246. package/dist/components/core/background/Background.types.js +11 -0
  247. package/dist/components/core/background/background-impl.css +760 -0
  248. package/dist/components/core/background/halftone.d.ts +134 -0
  249. package/dist/components/core/background/halftone.js +722 -0
  250. package/dist/components/core/background/patterns.d.ts +66 -0
  251. package/dist/components/core/background/patterns.js +244 -0
  252. package/dist/components/core/background/shader.d.ts +44 -0
  253. package/dist/components/core/background/shader.js +307 -0
  254. package/dist/components/core/background/use-halftone.d.ts +15 -0
  255. package/dist/components/core/background/use-halftone.js +27 -0
  256. package/dist/components/core/background/use-offscreen.d.ts +10 -0
  257. package/dist/components/core/background/use-offscreen.js +30 -0
  258. package/dist/components/core/background/use-shader.d.ts +11 -0
  259. package/dist/components/core/background/use-shader.js +25 -0
  260. package/dist/components/core/background/use-spotlight.d.ts +14 -0
  261. package/dist/components/core/background/use-spotlight.js +73 -0
  262. package/dist/components/core/bottom-sheet/BottomSheet.js +2 -2
  263. package/dist/components/core/bottom-sheet/BottomSheet.types.d.ts +3 -1
  264. package/dist/components/core/breadcrumb/Breadcrumb.d.ts +1 -0
  265. package/dist/components/core/breadcrumb/Breadcrumb.js +1 -0
  266. package/dist/components/core/breadcrumb/breadcrumb-impl.css +11 -0
  267. package/dist/components/core/button/button-impl.css +14 -1
  268. package/dist/components/core/illustration-card/IllustrationCard.css +40 -0
  269. package/dist/components/core/illustration-card/IllustrationCard.d.ts +22 -0
  270. package/dist/components/core/illustration-card/IllustrationCard.js +82 -0
  271. package/dist/components/core/illustration-card/IllustrationCard.types.d.ts +23 -0
  272. package/dist/components/core/illustration-card/IllustrationCard.types.js +8 -0
  273. package/dist/components/core/illustration-card/illustration-card-impl.css +47 -0
  274. package/dist/components/core/illustration-scene/IllustrationScene.css +41 -0
  275. package/dist/components/core/illustration-scene/IllustrationScene.d.ts +14 -0
  276. package/dist/components/core/illustration-scene/IllustrationScene.js +16 -0
  277. package/dist/components/core/illustration-scene/IllustrationScene.types.d.ts +32 -0
  278. package/dist/components/core/illustration-scene/IllustrationScene.types.js +8 -0
  279. package/dist/components/core/illustration-scene/illustration-scene-impl.css +46 -0
  280. package/dist/components/core/link/Link.js +7 -3
  281. package/dist/components/core/link/link-impl.css +29 -2
  282. package/dist/components/core/navbar/Navbar.css +2 -2
  283. package/dist/components/core/navbar/Navbar.types.d.ts +1 -1
  284. package/dist/components/core/navbar-item/NavbarItem.d.ts +2 -1
  285. package/dist/components/core/navbar-item/NavbarItem.js +3 -10
  286. package/dist/components/core/navbar-item/NavbarItem.types.d.ts +4 -1
  287. package/dist/components/core/navbar-item/NavbarItem.types.js +1 -1
  288. package/dist/components/core/navbar-item/navbar-item-impl.css +10 -0
  289. package/dist/components/core/navbar-menu/navbar-menu-impl.css +9 -0
  290. package/dist/components/core/navbar-switcher/navbar-switcher-impl.css +19 -0
  291. package/dist/components/core/pagination/Pagination.js +1 -1
  292. package/dist/components/core/pagination/pagination-impl.css +9 -0
  293. package/dist/components/core/pagination-dots/PaginationDots.d.ts +1 -1
  294. package/dist/components/core/pagination-dots/PaginationDots.js +3 -3
  295. package/dist/components/core/pagination-dots/PaginationDots.types.d.ts +3 -1
  296. package/dist/components/core/segmented-control/SegmentedControl.css +4 -3
  297. package/dist/components/core/segmented-control/SegmentedControl.js +17 -3
  298. package/dist/components/core/segmented-control-item/SegmentedControlItem.css +2 -1
  299. package/dist/components/core/select/Select.js +3 -3
  300. package/dist/components/core/select/Select.types.d.ts +11 -1
  301. package/dist/components/core/select/Select.types.js +1 -1
  302. package/dist/components/core/tab-list/TabList.js +9 -1
  303. package/dist/components/core/table-header-cell/TableHeaderCell.d.ts +1 -1
  304. package/dist/components/core/table-header-cell/TableHeaderCell.js +5 -2
  305. package/dist/components/core/table-header-cell/TableHeaderCell.types.d.ts +7 -1
  306. package/dist/components/core/table-header-cell/TableHeaderCell.types.js +1 -1
  307. package/dist/components/core/text-area/TextArea.d.ts +1 -1
  308. package/dist/components/core/text-area/TextArea.js +2 -2
  309. package/dist/components/core/text-area/TextArea.types.d.ts +9 -1
  310. package/dist/components/core/text-area/TextArea.types.js +1 -1
  311. package/dist/components/core/text-input/TextInput.d.ts +1 -1
  312. package/dist/components/core/text-input/TextInput.js +2 -2
  313. package/dist/components/core/text-input/TextInput.types.d.ts +9 -1
  314. package/dist/components/core/text-input/TextInput.types.js +1 -1
  315. package/dist/components/data-table-data.d.ts +33 -0
  316. package/dist/components/data-table-data.js +12 -0
  317. package/dist/components/download-banner-data.d.ts +52 -0
  318. package/dist/components/download-banner-data.js +11 -0
  319. package/dist/components/index.d.ts +51 -0
  320. package/dist/components/index.js +38 -0
  321. package/dist/components/resource-banner-data.d.ts +34 -0
  322. package/dist/components/resource-banner-data.js +13 -0
  323. package/dist/components/scene-scroll-data.d.ts +24 -0
  324. package/dist/components/scene-scroll-data.js +9 -0
  325. package/dist/components/stats-data.d.ts +28 -0
  326. package/dist/components/stats-data.js +11 -0
  327. package/dist/components/steps-data.d.ts +38 -0
  328. package/dist/components/steps-data.js +13 -0
  329. package/dist/components/sticky-cards-data.d.ts +43 -0
  330. package/dist/components/sticky-cards-data.js +12 -0
  331. package/dist/components/team-grid-data.d.ts +38 -0
  332. package/dist/components/team-grid-data.js +11 -0
  333. package/dist/components/tiers-data.d.ts +47 -0
  334. package/dist/components/tiers-data.js +13 -0
  335. package/dist/marketing.css +101 -28
  336. package/package.json +1 -1
@@ -0,0 +1,59 @@
1
+ /**
2
+ * The cards a ComparisonCards sets side by side, and the rows each one repeats.
3
+ *
4
+ * Exported from the package for the reason `testimonial-row-data.ts` is: a block whose content is a
5
+ * list is one whose consumer builds a value before passing it.
6
+ *
7
+ * Records rather than a Card per option, because what a comparison is made of is structured — a
8
+ * name, a sentence, and the same few labels each answered with a value — and the block has to lay
9
+ * those rows out against the rows of the card beside it. A Card handed in whole is a box the block
10
+ * cannot see into, so its rows could never line up with anyone else's.
11
+ */
12
+ /** One line of a comparison card: what is being compared, and this option's answer to it. */
13
+ export interface ComparisonCardsRow {
14
+ /**
15
+ * What the row compares — "Leverage", "Cost per trade". Written on every card rather than once
16
+ * for the set: each card is read on its own, and a phone stacks them out of sight of each other.
17
+ */
18
+ label: string;
19
+ /** This option's answer, short enough to sit at the end of the row — "Up to 1:1000", "None". */
20
+ value: string;
21
+ }
22
+ /** A way on from one card to the page about that option, written as a standalone link. */
23
+ export interface ComparisonCardsAction {
24
+ /** The words of the link — "Explore Futures", "Open a Spot account". */
25
+ label: string;
26
+ /** Where it goes, as a URL. */
27
+ href: string;
28
+ }
29
+ /** One option in a ComparisonCards: its name, a sentence, its rows, and the surface it is drawn on. */
30
+ export interface ComparisonCardsCard {
31
+ /** The option's name — "Spot", "Futures", "Standard account". */
32
+ title: string;
33
+ /** What the option is, in a sentence or two, under its name. */
34
+ description?: string;
35
+ /**
36
+ * This is the option the page recommends. In the highlighted variant it is drawn coral, the one
37
+ * card set against the light ones; only the first card marked is. Ignored by the standard variant.
38
+ */
39
+ recommended?: boolean;
40
+ /**
41
+ * A word on a badge over the recommended card's top edge — "Most popular", "Recommended". Optional:
42
+ * the coral already says which card it is, and a badge is for a page that wants to say why. Drawn
43
+ * only on the recommended card, in the highlighted variant.
44
+ */
45
+ badge?: string;
46
+ /**
47
+ * The rows, in the order they are read. Keep the same labels in the same order on every card in
48
+ * the set, so a row lines up with its counterpart beside it.
49
+ */
50
+ rows: ComparisonCardsRow[];
51
+ /**
52
+ * A disclaimer that belongs to this option alone — a risk warning, a condition on a value — at
53
+ * the foot of its card. Never the section's: a note under the heading would read as true of every
54
+ * option.
55
+ */
56
+ footnote?: string;
57
+ /** A way on to the page about this option, at the foot of its card under any footnote. */
58
+ action?: ComparisonCardsAction;
59
+ }
@@ -0,0 +1,12 @@
1
+ /**
2
+ * The cards a ComparisonCards sets side by side, and the rows each one repeats.
3
+ *
4
+ * Exported from the package for the reason `testimonial-row-data.ts` is: a block whose content is a
5
+ * list is one whose consumer builds a value before passing it.
6
+ *
7
+ * Records rather than a Card per option, because what a comparison is made of is structured — a
8
+ * name, a sentence, and the same few labels each answered with a value — and the block has to lay
9
+ * those rows out against the rows of the card beside it. A Card handed in whole is a box the block
10
+ * cannot see into, so its rows could never line up with anyone else's.
11
+ */
12
+ export {};
@@ -0,0 +1,39 @@
1
+ /**
2
+ * The columns a ComparisonTable compares and the rows it compares them on.
3
+ *
4
+ * Exported from the package for the reason `testimonial-row-data.ts` and `banner-data.ts` are: a block
5
+ * whose content is a list is one whose consumer builds a value before passing it.
6
+ *
7
+ * Records rather than a component per row, because a row of a comparison is a label and a few short
8
+ * values — nothing in it is an element a page composes — and the block has to draw every row against
9
+ * the same columns, which it cannot check inside rows it was handed whole.
10
+ */
11
+ /**
12
+ * One column of a ComparisonTable: the key its values are filed under in every row, and the name
13
+ * written over it.
14
+ *
15
+ * The first column is the labels' own: its `label` names what the rows are — "Features", "Market" —
16
+ * and its `key` files nothing, since each row carries its label itself. The columns after it are the
17
+ * options being compared, two or three of them.
18
+ */
19
+ export interface ComparisonTableColumn {
20
+ /** What this column's values are filed under in each row's `values`: "web", "desktop". */
21
+ key: string;
22
+ /** The name over the column, one short line: "Web terminal", "Desktop". */
23
+ label: string;
24
+ }
25
+ /**
26
+ * One cell's value. A string is one line; a list of strings is several, each its own line — a
27
+ * schedule's sessions, a platform's operating systems — and is announced as a list of that many.
28
+ */
29
+ export type ComparisonTableValue = string | string[];
30
+ /** One row of a ComparisonTable: what is being compared, and each option's answer to it. */
31
+ export interface ComparisonTableRow {
32
+ /** What the row compares, in a few words: "Charts", "Expert Advisors". Drawn as the row's header. */
33
+ label: string;
34
+ /**
35
+ * Each option's answer, filed under its column's `key`. A column the row has no value for is an
36
+ * empty cell rather than a missing one, so the row keeps the table's shape.
37
+ */
38
+ values: Record<string, ComparisonTableValue | undefined>;
39
+ }
@@ -0,0 +1,11 @@
1
+ /**
2
+ * The columns a ComparisonTable compares and the rows it compares them on.
3
+ *
4
+ * Exported from the package for the reason `testimonial-row-data.ts` and `banner-data.ts` are: a block
5
+ * whose content is a list is one whose consumer builds a value before passing it.
6
+ *
7
+ * Records rather than a component per row, because a row of a comparison is a label and a few short
8
+ * values — nothing in it is an element a page composes — and the block has to draw every row against
9
+ * the same columns, which it cannot check inside rows it was handed whole.
10
+ */
11
+ export {};
@@ -13,7 +13,7 @@
13
13
  }
14
14
 
15
15
  :where([data-dds-context="marketing"]) .dds-accordionitem .dds-accordionitem__trigger {
16
- transition-property: color, outline-color, outline-width;
16
+ transition-property: outline-color, outline-width;
17
17
  align-items: center;
18
18
  appearance: none;
19
19
  background: none;
@@ -73,10 +73,6 @@
73
73
  transition-timing-function: var(--motion-easing-enter);
74
74
  }
75
75
 
76
- :where([data-dds-context="marketing"]) .dds-accordionitem .dds-accordionitem__trigger:hover:where(:not(:disabled)) {
77
- color: var(--color-fg-muted);
78
- }
79
-
80
76
  :where([data-dds-context="marketing"]) .dds-accordionitem .dds-accordionitem__trigger:focus-visible {
81
77
  outline-color: var(--color-border-focus);
82
78
  outline-width: var(--border-width-focus);
@@ -0,0 +1,92 @@
1
+ /* GENERATED from background.contract.json. Do not edit. */
2
+
3
+ :where([data-dds-context="marketing"]) .dds-background {
4
+ align-content: center;
5
+ display: grid;
6
+ inline-size: 100%;
7
+ isolation: isolate;
8
+ justify-items: center;
9
+ overflow: hidden;
10
+ position: relative;
11
+ }
12
+
13
+ :where([data-dds-context="marketing"]) .dds-background .dds-background__mesh {
14
+ pointer-events: none;
15
+ position: absolute;
16
+ }
17
+
18
+ :where([data-dds-context="marketing"]) .dds-background .dds-background__pool {
19
+ position: absolute;
20
+ background-color: var(--color-bg-brand-active);
21
+ transition-timing-function: var(--motion-easing-standard);
22
+ }
23
+
24
+ :where([data-dds-context="marketing"]) .dds-background .dds-background__content {
25
+ box-sizing: border-box;
26
+ inline-size: 100%;
27
+ text-align: center;
28
+ max-inline-size: var(--size-content-max);
29
+ padding-inline: var(--space-inset-page);
30
+ }
31
+
32
+ :where([data-dds-context="marketing"]) .dds-background .dds-background__canvas {
33
+ transition-duration: var(--motion-duration-trail);
34
+ transition-timing-function: var(--motion-easing-enter);
35
+ }
36
+
37
+ :where([data-dds-context="marketing"]) .dds-background[data-tone="brand"] {
38
+ background-color: var(--color-bg-brand);
39
+ }
40
+
41
+ :where([data-dds-context="marketing"]) .dds-background[data-tone="brand"] .dds-background__canvas {
42
+ color: var(--color-fg-on-brand);
43
+ outline-color: var(--color-fg-on-brand);
44
+ }
45
+
46
+ :where([data-dds-context="marketing"]) .dds-background[data-tone="brand"] .dds-background__content {
47
+ color: var(--color-fg-on-brand);
48
+ }
49
+
50
+ :where([data-dds-context="marketing"]) .dds-background[data-tone="brand"] .dds-background__mesh {
51
+ background-color: var(--color-bg-brand);
52
+ }
53
+
54
+ :where([data-dds-context="marketing"]) .dds-background[data-tone="dark"] {
55
+ background-color: var(--color-bg-brand-strong);
56
+ }
57
+
58
+ :where([data-dds-context="marketing"]) .dds-background[data-tone="dark"] .dds-background__canvas {
59
+ color: var(--color-bg-brand);
60
+ outline-color: var(--color-fg-on-brand-strong);
61
+ }
62
+
63
+ :where([data-dds-context="marketing"]) .dds-background[data-tone="dark"] .dds-background__content {
64
+ color: var(--color-fg-on-brand-strong);
65
+ }
66
+
67
+ :where([data-dds-context="marketing"]) .dds-background[data-tone="dark"] .dds-background__mesh {
68
+ background-color: var(--color-bg-brand-strong);
69
+ }
70
+
71
+ :where([data-dds-context="marketing"]) .dds-background[data-tone="light"] {
72
+ background-color: var(--color-bg-page);
73
+ }
74
+
75
+ :where([data-dds-context="marketing"]) .dds-background[data-tone="light"] .dds-background__canvas {
76
+ color: var(--color-bg-brand);
77
+ outline-color: var(--color-bg-brand);
78
+ }
79
+
80
+ :where([data-dds-context="marketing"]) .dds-background[data-tone="light"] .dds-background__content {
81
+ color: var(--color-fg-default);
82
+ }
83
+
84
+ :where([data-dds-context="marketing"]) .dds-background[data-tone="light"] .dds-background__mesh {
85
+ background-color: var(--color-bg-page);
86
+ }
87
+
88
+ @media (prefers-reduced-motion: reduce) {
89
+ :where([data-dds-context="marketing"]) .dds-background,
90
+ :where([data-dds-context="marketing"]) .dds-background * { transition: none !important; }
91
+ }
92
+
@@ -0,0 +1,27 @@
1
+ import './Background.css';
2
+ import './background-impl.css';
3
+ import { type BackgroundProps } from './Background.types.js';
4
+ export type { BackgroundProps };
5
+ /**
6
+ * A ground a section or a block sits on, painted with a pattern.
7
+ *
8
+ * The band paints the tone's flat colour, the pattern is laid over it, and the content over that.
9
+ * The flat colour is what shows before anything has drawn — on a server-rendered page, until
10
+ * hydration — so the band is finished from the first paint and the pattern only ever adds to it.
11
+ *
12
+ * Five patterns, drawn two ways. The halftone is drawn by script on a 2D canvas, through
13
+ * `useHalftone`, which owns every question of its cost. The aurora, the mesh, the grid and the
14
+ * rings are fragment shaders on a WebGL canvas, through `useShader` — light with structure
15
+ * in it, and a grain over it — with the same rules: drawn only while something moves, paused out of
16
+ * view, held still for a reader who asked for less motion.
17
+ *
18
+ * Each shaded pattern has a stylesheet version as well, which is what shows before the shader has
19
+ * drawn and wherever WebGL cannot run: the root is marked `data-shaded` once the canvas has a frame,
20
+ * and the stylesheet's paint steps aside. `useSpotlight` and `useOffscreen` serve that version. The
21
+ * mesh's is the one that needs elements of its own — five pools, each moving on its own loops.
22
+ *
23
+ * With nothing to hold it is a layer: it fills its positioned parent behind that parent's own
24
+ * content, and listens for the pointer on the parent, because the content covers it. That is how a
25
+ * block draws a pattern under itself without its own layout changing.
26
+ */
27
+ export declare function Background({ tone, pattern, animated, interactive, children, ...rest }: BackgroundProps): import("react").JSX.Element;
@@ -0,0 +1,45 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import './Background.css';
4
+ import './background-impl.css';
5
+ import { backgroundDefaults, backgroundParts } from './Background.types.js';
6
+ import { useHalftone } from './use-halftone.js';
7
+ import { useOffscreen } from './use-offscreen.js';
8
+ import { useShader } from './use-shader.js';
9
+ import { useSpotlight } from './use-spotlight.js';
10
+ /**
11
+ * A ground a section or a block sits on, painted with a pattern.
12
+ *
13
+ * The band paints the tone's flat colour, the pattern is laid over it, and the content over that.
14
+ * The flat colour is what shows before anything has drawn — on a server-rendered page, until
15
+ * hydration — so the band is finished from the first paint and the pattern only ever adds to it.
16
+ *
17
+ * Five patterns, drawn two ways. The halftone is drawn by script on a 2D canvas, through
18
+ * `useHalftone`, which owns every question of its cost. The aurora, the mesh, the grid and the
19
+ * rings are fragment shaders on a WebGL canvas, through `useShader` — light with structure
20
+ * in it, and a grain over it — with the same rules: drawn only while something moves, paused out of
21
+ * view, held still for a reader who asked for less motion.
22
+ *
23
+ * Each shaded pattern has a stylesheet version as well, which is what shows before the shader has
24
+ * drawn and wherever WebGL cannot run: the root is marked `data-shaded` once the canvas has a frame,
25
+ * and the stylesheet's paint steps aside. `useSpotlight` and `useOffscreen` serve that version. The
26
+ * mesh's is the one that needs elements of its own — five pools, each moving on its own loops.
27
+ *
28
+ * With nothing to hold it is a layer: it fills its positioned parent behind that parent's own
29
+ * content, and listens for the pointer on the parent, because the content covers it. That is how a
30
+ * block draws a pattern under itself without its own layout changing.
31
+ */
32
+ export function Background({ tone = backgroundDefaults.tone, pattern = backgroundDefaults.pattern, animated = backgroundDefaults.animated, interactive = backgroundDefaults.interactive, children, ...rest }) {
33
+ // Nothing to hold: a layer under the parent's own content. See above.
34
+ const layer = children === undefined || children === null || children === false;
35
+ const [root, canvas] = useHalftone(pattern === 'halftone', interactive, animated, tone, layer);
36
+ const shaded = useShader(root, pattern === 'halftone' ? undefined : pattern, interactive, animated, tone, layer);
37
+ // The stylesheet's versions of the patterns answer the pointer from where it is: the grid's lines and
38
+ // the rings brighten around it, the aurora carries a pool of its light after it, and the mesh's
39
+ // pools lean towards it.
40
+ useSpotlight(root, pattern !== 'halftone' && interactive, layer);
41
+ // The patterns the stylesheet moves at rest wait while the band is off screen; the halftone's
42
+ // painter has its own observer.
43
+ useOffscreen(root, pattern !== 'halftone' && animated);
44
+ return (_jsxs("div", { ...rest, ref: root, className: backgroundParts.root, "data-tone": tone, "data-pattern": pattern, "data-animated": animated ? undefined : 'false', "data-layer": layer || undefined, "aria-hidden": layer || undefined, children: [_jsx("canvas", { ref: pattern === 'halftone' ? canvas : shaded, className: backgroundParts.canvas, "aria-hidden": "true" }, pattern), pattern === 'mesh' ? (_jsx("div", { className: backgroundParts.mesh, "aria-hidden": "true", children: [0, 1, 2, 3, 4].map((at) => (_jsx("span", { className: backgroundParts.pool }, at))) })) : null, layer ? null : _jsx("div", { className: backgroundParts.content, children: children })] }));
45
+ }
@@ -0,0 +1,39 @@
1
+ import type { HTMLAttributes, ReactNode } from 'react';
2
+ export interface BackgroundOwnProps {
3
+ /**
4
+ * `dark` — The band the halftone was drawn for: coral dots glowing on color.bg.brand-strong, which is dark in both modes. Reach for it for the band a page opens or closes on, where the glow gives the band a centre
5
+ * `light` — Coral dots on the page's own ground, for a light page that wants one moment of brand colour without a solid coral band. The glow reads as warmth rather than light, so keep it for a section that is not competing with a dark one nearby
6
+ * `brand` — The default: the brand's own coral, the ground the mesh was made for and the one a call to action stands on. White dots on it for the halftone. The heading is white too, and the glow rises from the foot of the band towards it, so check the words read on the coral alone — the pattern can only add to what is behind them
7
+ */
8
+ tone?: 'dark' | 'light' | 'brand';
9
+ /**
10
+ * `halftone` — A grid of dots across the whole band that grow towards a soft glow and settle to a fine screen away from it, over a faint wash of their own ink. The glow's edge wanders from a plain ellipse as it drifts, so it reads as light on a surface rather than a spotlight. The default, and the one that moves most
11
+ * `aurora` — Curtains of light rising from the band's foot: sheets of the brand's colour swaying and folding, with a ragged crest and fine rays running up through them — light falling through folds rather than pools of colour. Drawn by a shader with a grain over it; before it has drawn, and where it cannot, soft pools of the same colour painted by the stylesheet. At rest the curtains sway over motion.duration.drift; on an interactive band the pointer bends them towards it and brightens them. Reach for it where the halftone would be too busy — an opening band with a picture or a product on it, where dots behind the picture fight it and a wash of light does not
12
+ * `mesh` — The whole band in the brand's reds, folded into one another like a liquid — the design system's own front page. A noise warped by a noise, so the colours run in ribbons and eddies with a sheen on their crests, turning slowly. Drawn by a shader with a grain over it; before it has drawn, and where it cannot, five blurred pools painted by the stylesheet. On an interactive band the pointer draws the field towards it, as a hand drawn through paint; with `animated` off it rests until the pointer is over the band and flows only while it is. Made for the coral ground, where it is the brand at its loudest; on the dark ground it is red smoke on near-black, on the light one a faint marbling. Reach for it for the one band a page is remembered by, and keep the words on it few and large
13
+ * `grid` — Hairlines a pitch apart, size.rule-grid.pitch, rising from a soft bloom at the band's foot — the grid PageHeader paints, offered for any band, now lit: a brighter point where two lines cross, and every few lines a short dash of light running along it. Drawn by a shader at up to twice the pixel density, so a hairline stays a hairline; before it has drawn, and where it cannot, the same rules painted by the stylesheet. At rest the rules rise slowly, a pitch over motion.duration.drift; on an interactive band the lines brighten around the pointer. Reach for it where the band should read as deliberate and quiet rather than lit
14
+ * `rings` — Hairline circles spreading out from the middle of the band's foot at size.rings.pitch, out of a soft bloom there, with arcs of light travelling round each ring at its own pace and direction. Drawn by a shader at up to twice the pixel density; before it has drawn, and where it cannot, the same rings painted by the stylesheet. At rest the rings spread slowly outward, a pitch over motion.duration.drift; on an interactive band they brighten around the pointer. As quiet as the grid, but round: reach for it where the band should feel open and centred rather than ruled — a call to action, a closing band with one thing to say
15
+ */
16
+ pattern?: 'halftone' | 'aurora' | 'mesh' | 'grid' | 'rings';
17
+ /** On by default: every pattern moves slowly at rest, whether or not anybody is pointing at it — the halftone's glow and the aurora's pools drift along the band's foot, the grid's rules rise and the rings spread outward, each over motion.duration.drift. Turn it off for a band that should be still until somebody reaches for it — a band beside a video or an animation of its own, or one a page repeats further down — and the pattern rests where it is. What the pattern does under the pointer is `interactive`, which is set apart from this. */
18
+ animated?: boolean;
19
+ /** On by default: the pattern answers a pointer over the band. The halftone's glow follows it, gathers into a smaller pool and parts the dots it crosses, and a click sends a small ripple through them; the aurora sends a pool of its light after it; the grid's rules and the rings brighten around it. Turn it off for a band whose content is itself interactive enough that a moving ground would compete with it — a band of controls, a form — and the pattern ignores the pointer. Touch has no hover, so on a touch screen nothing follows a finger. Whether it moves at rest is `animated`, which is set apart from this. */
20
+ interactive?: boolean;
21
+ /** Allowed: any content */
22
+ children: ReactNode;
23
+ }
24
+ export type BackgroundProps = BackgroundOwnProps & Omit<HTMLAttributes<HTMLDivElement>, 'className' | 'tone' | 'pattern' | 'animated' | 'interactive'>;
25
+ /** The class each part carries. Apply these — do not retype them. */
26
+ export declare const backgroundParts: {
27
+ readonly root: "dds-background";
28
+ readonly canvas: "dds-background__canvas";
29
+ readonly mesh: "dds-background__mesh";
30
+ readonly pool: "dds-background__pool";
31
+ readonly content: "dds-background__content";
32
+ };
33
+ /** Generated so defaults cannot drift from the contract. */
34
+ export declare const backgroundDefaults: {
35
+ readonly tone: "brand";
36
+ readonly pattern: "halftone";
37
+ readonly animated: true;
38
+ readonly interactive: true;
39
+ };
@@ -0,0 +1,11 @@
1
+ // GENERATED from background.contract.json. Do not edit.
2
+ /** The class each part carries. Apply these — do not retype them. */
3
+ export const backgroundParts = {
4
+ root: 'dds-background',
5
+ canvas: 'dds-background__canvas',
6
+ mesh: 'dds-background__mesh',
7
+ pool: 'dds-background__pool',
8
+ content: 'dds-background__content',
9
+ };
10
+ /** Generated so defaults cannot drift from the contract. */
11
+ export const backgroundDefaults = { tone: 'brand', pattern: 'halftone', animated: true, interactive: true };