@deriv-com/dds-marketing 1.1.2 → 1.2.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 (401) hide show
  1. package/.llm/components/accordion.md +10 -0
  2. package/.llm/components/accordionitem.md +10 -0
  3. package/.llm/components/aspectratio.md +10 -0
  4. package/.llm/components/awards.md +10 -0
  5. package/.llm/components/background.md +52 -9
  6. package/.llm/components/badge.md +13 -3
  7. package/.llm/components/bottomsheet.md +13 -3
  8. package/.llm/components/breadcrumb.md +10 -0
  9. package/.llm/components/breadcrumbitem.md +10 -0
  10. package/.llm/components/button.md +13 -3
  11. package/.llm/components/buttonicon.md +17 -7
  12. package/.llm/components/card.md +11 -1
  13. package/.llm/components/cardbody.md +12 -2
  14. package/.llm/components/cardbutton.md +10 -0
  15. package/.llm/components/checkbox.md +7 -1
  16. package/.llm/components/comparisoncards.md +13 -3
  17. package/.llm/components/comparisontable.md +10 -0
  18. package/.llm/components/ctabanner.md +10 -0
  19. package/.llm/components/ctabannerslider.md +10 -0
  20. package/.llm/components/datatable.md +10 -0
  21. package/.llm/components/divider.md +10 -0
  22. package/.llm/components/documentlink.md +237 -0
  23. package/.llm/components/documents.md +268 -0
  24. package/.llm/components/downloadbanner.md +11 -1
  25. package/.llm/components/dropdownmenu.md +15 -5
  26. package/.llm/components/estimator.md +342 -0
  27. package/.llm/components/faqaccordion.md +10 -0
  28. package/.llm/components/featurebullets.md +10 -0
  29. package/.llm/components/featurecards.md +47 -3
  30. package/.llm/components/featurecardscarousel.md +11 -1
  31. package/.llm/components/featurescroll.md +10 -0
  32. package/.llm/components/featuresplit.md +10 -0
  33. package/.llm/components/featurestack.md +10 -0
  34. package/.llm/components/featuretabs.md +369 -0
  35. package/.llm/components/filterchip.md +11 -1
  36. package/.llm/components/footer.md +10 -0
  37. package/.llm/components/footergroup.md +10 -0
  38. package/.llm/components/grid.md +34 -1
  39. package/.llm/components/icon.md +15 -5
  40. package/.llm/components/illustrationcard.md +56 -2
  41. package/.llm/components/illustrationcheck.md +193 -0
  42. package/.llm/components/illustrationchoice.md +187 -0
  43. package/.llm/components/illustrationcode.md +192 -0
  44. package/.llm/components/illustrationlist.md +175 -0
  45. package/.llm/components/illustrationscene.md +33 -3
  46. package/.llm/components/imagebanner.md +35 -6
  47. package/.llm/components/landinghero.md +10 -0
  48. package/.llm/components/link.md +12 -2
  49. package/.llm/components/logocolumns.md +11 -1
  50. package/.llm/components/logorows.md +46 -2
  51. package/.llm/components/menuitem.md +12 -2
  52. package/.llm/components/navbar.md +11 -1
  53. package/.llm/components/navbaritem.md +10 -0
  54. package/.llm/components/navbarmenu.md +10 -0
  55. package/.llm/components/navbarmenugroup.md +10 -0
  56. package/.llm/components/navbarpanel.md +10 -0
  57. package/.llm/components/navbarswitcher.md +16 -6
  58. package/.llm/components/navbarswitcheroption.md +10 -0
  59. package/.llm/components/option.md +11 -1
  60. package/.llm/components/pageheader.md +10 -0
  61. package/.llm/components/pagination.md +10 -0
  62. package/.llm/components/paginationdots.md +10 -0
  63. package/.llm/components/producthero.md +33 -4
  64. package/.llm/components/progressbar.md +305 -0
  65. package/.llm/components/removablechip.md +11 -1
  66. package/.llm/components/resourcebanner.md +10 -0
  67. package/.llm/components/row.md +10 -0
  68. package/.llm/components/scenescroll.md +42 -24
  69. package/.llm/components/scenescrollword.md +267 -0
  70. package/.llm/components/scroller.md +10 -0
  71. package/.llm/components/searchinput.md +10 -0
  72. package/.llm/components/segmentedcontrol.md +33 -2
  73. package/.llm/components/segmentedcontrolitem.md +12 -2
  74. package/.llm/components/select.md +10 -0
  75. package/.llm/components/selectchip.md +10 -0
  76. package/.llm/components/spinner.md +10 -0
  77. package/.llm/components/stack.md +10 -0
  78. package/.llm/components/stats.md +50 -1
  79. package/.llm/components/statscarousel.md +227 -0
  80. package/.llm/components/statusdot.md +45 -1
  81. package/.llm/components/steps.md +10 -0
  82. package/.llm/components/stickycards.md +10 -0
  83. package/.llm/components/subdomainnavbar.md +11 -1
  84. package/.llm/components/tab.md +12 -2
  85. package/.llm/components/table.md +10 -0
  86. package/.llm/components/tablebody.md +10 -0
  87. package/.llm/components/tablecell.md +10 -0
  88. package/.llm/components/tablehead.md +10 -0
  89. package/.llm/components/tableheadercell.md +10 -0
  90. package/.llm/components/tablerow.md +10 -0
  91. package/.llm/components/tablist.md +10 -0
  92. package/.llm/components/teamgrid.md +10 -0
  93. package/.llm/components/testimonialrow.md +47 -3
  94. package/.llm/components/testimonialslider.md +12 -2
  95. package/.llm/components/textarea.md +10 -0
  96. package/.llm/components/textinput.md +11 -1
  97. package/.llm/components/textscroll.md +10 -0
  98. package/.llm/components/tiers.md +17 -7
  99. package/.llm/components/tooltip.md +6 -0
  100. package/.llm/components/typography.md +67 -1
  101. package/.llm/digest/accordion.md +1 -1
  102. package/.llm/digest/accordionitem.md +1 -1
  103. package/.llm/digest/aspectratio.md +1 -1
  104. package/.llm/digest/awards.md +1 -1
  105. package/.llm/digest/background.md +14 -6
  106. package/.llm/digest/badge.md +1 -1
  107. package/.llm/digest/bottomsheet.md +1 -1
  108. package/.llm/digest/breadcrumb.md +1 -1
  109. package/.llm/digest/breadcrumbitem.md +1 -1
  110. package/.llm/digest/button.md +2 -2
  111. package/.llm/digest/buttonicon.md +2 -2
  112. package/.llm/digest/card.md +1 -1
  113. package/.llm/digest/cardbody.md +1 -1
  114. package/.llm/digest/cardbutton.md +1 -1
  115. package/.llm/digest/checkbox.md +1 -1
  116. package/.llm/digest/comparisoncards.md +1 -1
  117. package/.llm/digest/comparisontable.md +1 -1
  118. package/.llm/digest/ctabanner.md +1 -1
  119. package/.llm/digest/ctabannerslider.md +1 -1
  120. package/.llm/digest/datatable.md +1 -1
  121. package/.llm/digest/divider.md +1 -1
  122. package/.llm/digest/documentlink.md +52 -0
  123. package/.llm/digest/documents.md +51 -0
  124. package/.llm/digest/downloadbanner.md +2 -2
  125. package/.llm/digest/dropdownmenu.md +1 -1
  126. package/.llm/digest/estimator.md +66 -0
  127. package/.llm/digest/faqaccordion.md +1 -1
  128. package/.llm/digest/featurebullets.md +1 -1
  129. package/.llm/digest/featurecards.md +8 -1
  130. package/.llm/digest/featurecardscarousel.md +1 -1
  131. package/.llm/digest/featurescroll.md +1 -1
  132. package/.llm/digest/featuresplit.md +1 -1
  133. package/.llm/digest/featurestack.md +1 -1
  134. package/.llm/digest/featuretabs.md +50 -0
  135. package/.llm/digest/filterchip.md +1 -1
  136. package/.llm/digest/footer.md +1 -1
  137. package/.llm/digest/footergroup.md +1 -1
  138. package/.llm/digest/grid.md +2 -1
  139. package/.llm/digest/icon.md +1 -1
  140. package/.llm/digest/illustrationcard.md +7 -2
  141. package/.llm/digest/illustrationcheck.md +42 -0
  142. package/.llm/digest/illustrationchoice.md +43 -0
  143. package/.llm/digest/illustrationcode.md +41 -0
  144. package/.llm/digest/illustrationlist.md +38 -0
  145. package/.llm/digest/illustrationscene.md +5 -3
  146. package/.llm/digest/imagebanner.md +11 -5
  147. package/.llm/digest/landinghero.md +1 -1
  148. package/.llm/digest/link.md +1 -1
  149. package/.llm/digest/logocolumns.md +2 -2
  150. package/.llm/digest/logorows.md +9 -2
  151. package/.llm/digest/menuitem.md +1 -1
  152. package/.llm/digest/navbar.md +1 -1
  153. package/.llm/digest/navbaritem.md +1 -1
  154. package/.llm/digest/navbarmenu.md +1 -1
  155. package/.llm/digest/navbarmenugroup.md +1 -1
  156. package/.llm/digest/navbarpanel.md +1 -1
  157. package/.llm/digest/navbarswitcher.md +1 -1
  158. package/.llm/digest/navbarswitcheroption.md +1 -1
  159. package/.llm/digest/option.md +1 -1
  160. package/.llm/digest/pageheader.md +1 -1
  161. package/.llm/digest/pagination.md +1 -1
  162. package/.llm/digest/paginationdots.md +1 -1
  163. package/.llm/digest/producthero.md +9 -3
  164. package/.llm/digest/progressbar.md +56 -0
  165. package/.llm/digest/removablechip.md +1 -1
  166. package/.llm/digest/resourcebanner.md +1 -1
  167. package/.llm/digest/row.md +1 -1
  168. package/.llm/digest/scenescroll.md +7 -6
  169. package/.llm/digest/scenescrollword.md +56 -0
  170. package/.llm/digest/scroller.md +1 -1
  171. package/.llm/digest/searchinput.md +1 -1
  172. package/.llm/digest/segmentedcontrol.md +4 -1
  173. package/.llm/digest/segmentedcontrolitem.md +2 -2
  174. package/.llm/digest/select.md +1 -1
  175. package/.llm/digest/selectchip.md +1 -1
  176. package/.llm/digest/spinner.md +1 -1
  177. package/.llm/digest/stack.md +1 -1
  178. package/.llm/digest/stats.md +9 -1
  179. package/.llm/digest/statscarousel.md +48 -0
  180. package/.llm/digest/statusdot.md +8 -1
  181. package/.llm/digest/steps.md +1 -1
  182. package/.llm/digest/stickycards.md +1 -1
  183. package/.llm/digest/subdomainnavbar.md +1 -1
  184. package/.llm/digest/tab.md +1 -1
  185. package/.llm/digest/table.md +1 -1
  186. package/.llm/digest/tablebody.md +1 -1
  187. package/.llm/digest/tablecell.md +1 -1
  188. package/.llm/digest/tablehead.md +1 -1
  189. package/.llm/digest/tableheadercell.md +1 -1
  190. package/.llm/digest/tablerow.md +1 -1
  191. package/.llm/digest/tablist.md +1 -1
  192. package/.llm/digest/teamgrid.md +1 -1
  193. package/.llm/digest/testimonialrow.md +9 -2
  194. package/.llm/digest/testimonialslider.md +2 -2
  195. package/.llm/digest/textarea.md +1 -1
  196. package/.llm/digest/textinput.md +1 -1
  197. package/.llm/digest/textscroll.md +1 -1
  198. package/.llm/digest/tiers.md +1 -1
  199. package/.llm/digest/typography.md +19 -1
  200. package/.llm/index.md +15 -4
  201. package/.llm/rules.md +10 -0
  202. package/.llm/tokens.md +13 -3
  203. package/AGENTS.md +14 -2
  204. package/README.md +28 -3
  205. package/dist/components/arrival.d.ts +32 -0
  206. package/dist/components/arrival.js +140 -0
  207. package/dist/components/arrives.d.ts +17 -0
  208. package/dist/components/arrives.js +14 -0
  209. package/dist/components/blocks/awards/Awards.js +2 -27
  210. package/dist/components/blocks/block-pattern.css +23 -0
  211. package/dist/components/blocks/comparison-cards/comparison-cards-impl.css +29 -12
  212. package/dist/components/blocks/documents/Documents.css +90 -0
  213. package/dist/components/blocks/documents/Documents.d.ts +22 -0
  214. package/dist/components/blocks/documents/Documents.js +30 -0
  215. package/dist/components/blocks/documents/Documents.types.d.ts +37 -0
  216. package/dist/components/blocks/documents/Documents.types.js +14 -0
  217. package/dist/components/blocks/documents/documents-impl.css +103 -0
  218. package/dist/components/blocks/download-banner/DownloadBanner.css +1 -1
  219. package/dist/components/blocks/download-banner/DownloadBanner.types.d.ts +1 -1
  220. package/dist/components/blocks/estimator/Estimator.css +206 -0
  221. package/dist/components/blocks/estimator/Estimator.d.ts +27 -0
  222. package/dist/components/blocks/estimator/Estimator.js +61 -0
  223. package/dist/components/blocks/estimator/Estimator.types.d.ts +63 -0
  224. package/dist/components/blocks/estimator/Estimator.types.js +25 -0
  225. package/dist/components/blocks/estimator/estimator-impl.css +159 -0
  226. package/dist/components/blocks/feature-cards/FeatureCards.d.ts +2 -1
  227. package/dist/components/blocks/feature-cards/FeatureCards.js +10 -7
  228. package/dist/components/blocks/feature-cards/FeatureCards.types.d.ts +9 -1
  229. package/dist/components/blocks/feature-cards/feature-cards-impl.css +15 -3
  230. package/dist/components/blocks/feature-cards-carousel/FeatureCardsCarousel.types.d.ts +1 -1
  231. package/dist/components/blocks/feature-cards-carousel/feature-cards-carousel-impl.css +12 -0
  232. package/dist/components/blocks/feature-tabs/FeatureTabs.css +100 -0
  233. package/dist/components/blocks/feature-tabs/FeatureTabs.d.ts +23 -0
  234. package/dist/components/blocks/feature-tabs/FeatureTabs.js +38 -0
  235. package/dist/components/blocks/feature-tabs/FeatureTabs.types.d.ts +35 -0
  236. package/dist/components/blocks/feature-tabs/FeatureTabs.types.js +14 -0
  237. package/dist/components/blocks/feature-tabs/feature-tabs-impl.css +53 -0
  238. package/dist/components/blocks/image-banner/ImageBanner.css +1 -1
  239. package/dist/components/blocks/image-banner/ImageBanner.d.ts +2 -1
  240. package/dist/components/blocks/image-banner/ImageBanner.js +3 -2
  241. package/dist/components/blocks/image-banner/ImageBanner.types.d.ts +10 -8
  242. package/dist/components/blocks/image-banner/ImageBanner.types.js +1 -1
  243. package/dist/components/blocks/image-banner/image-banner-impl.css +78 -71
  244. package/dist/components/blocks/laurel.d.ts +16 -0
  245. package/dist/components/blocks/laurel.js +28 -0
  246. package/dist/components/blocks/logo-columns/LogoColumns.css +1 -1
  247. package/dist/components/blocks/logo-columns/LogoColumns.types.d.ts +1 -1
  248. package/dist/components/blocks/logo-rows/LogoRows.css +1 -1
  249. package/dist/components/blocks/logo-rows/LogoRows.d.ts +2 -1
  250. package/dist/components/blocks/logo-rows/LogoRows.js +7 -4
  251. package/dist/components/blocks/logo-rows/LogoRows.types.d.ts +9 -1
  252. package/dist/components/blocks/pattern-tone.d.ts +11 -0
  253. package/dist/components/blocks/pattern-tone.js +7 -0
  254. package/dist/components/blocks/product-hero/ProductHero.d.ts +1 -1
  255. package/dist/components/blocks/product-hero/ProductHero.js +2 -2
  256. package/dist/components/blocks/product-hero/ProductHero.types.d.ts +8 -3
  257. package/dist/components/blocks/product-hero/ProductHero.types.js +1 -1
  258. package/dist/components/blocks/product-hero/product-hero-impl.css +54 -0
  259. package/dist/components/blocks/resource-banner/ResourceBanner.css +1 -1
  260. package/dist/components/blocks/scene-scroll/SceneScroll.css +1 -1
  261. package/dist/components/blocks/scene-scroll/SceneScroll.d.ts +6 -5
  262. package/dist/components/blocks/scene-scroll/SceneScroll.js +8 -7
  263. package/dist/components/blocks/scene-scroll/SceneScroll.types.d.ts +5 -5
  264. package/dist/components/blocks/scene-scroll/SceneScroll.types.js +1 -1
  265. package/dist/components/blocks/scene-scroll/scene-scroll-impl.css +61 -44
  266. package/dist/components/blocks/scene-scroll-word/SceneScrollWord.css +105 -0
  267. package/dist/components/blocks/scene-scroll-word/SceneScrollWord.d.ts +31 -0
  268. package/dist/components/blocks/scene-scroll-word/SceneScrollWord.js +67 -0
  269. package/dist/components/blocks/scene-scroll-word/SceneScrollWord.types.d.ts +39 -0
  270. package/dist/components/blocks/scene-scroll-word/SceneScrollWord.types.js +18 -0
  271. package/dist/components/blocks/scene-scroll-word/scene-scroll-word-impl.css +370 -0
  272. package/dist/components/blocks/stats/Stats.d.ts +2 -1
  273. package/dist/components/blocks/stats/Stats.js +17 -14
  274. package/dist/components/blocks/stats/Stats.types.d.ts +8 -0
  275. package/dist/components/blocks/stats/stats-impl.css +4 -1
  276. package/dist/components/blocks/stats/use-wheel.d.ts +1 -1
  277. package/dist/components/blocks/stats/use-wheel.js +8 -4
  278. package/dist/components/blocks/stats-carousel/StatsCarousel.css +209 -0
  279. package/dist/components/blocks/stats-carousel/StatsCarousel.d.ts +20 -0
  280. package/dist/components/blocks/stats-carousel/StatsCarousel.js +48 -0
  281. package/dist/components/blocks/stats-carousel/StatsCarousel.types.d.ts +43 -0
  282. package/dist/components/blocks/stats-carousel/StatsCarousel.types.js +23 -0
  283. package/dist/components/blocks/stats-carousel/stats-carousel-impl.css +233 -0
  284. package/dist/components/blocks/sticky-cards/sticky-cards-impl.css +8 -0
  285. package/dist/components/blocks/testimonial-row/TestimonialRow.css +1 -1
  286. package/dist/components/blocks/testimonial-row/TestimonialRow.d.ts +2 -1
  287. package/dist/components/blocks/testimonial-row/TestimonialRow.js +16 -13
  288. package/dist/components/blocks/testimonial-row/TestimonialRow.types.d.ts +9 -1
  289. package/dist/components/blocks/testimonial-slider/TestimonialSlider.css +1 -1
  290. package/dist/components/blocks/testimonial-slider/TestimonialSlider.types.d.ts +1 -1
  291. package/dist/components/blocks/tiers/Tiers.types.d.ts +1 -1
  292. package/dist/components/core/background/Background.css +19 -0
  293. package/dist/components/core/background/Background.types.d.ts +2 -1
  294. package/dist/components/core/background/background-impl.css +47 -15
  295. package/dist/components/core/background/halftone.js +1 -1
  296. package/dist/components/core/button/Button.css +5 -5
  297. package/dist/components/core/button-icon/ButtonIcon.types.d.ts +1 -1
  298. package/dist/components/core/card-body/CardBody.css +5 -0
  299. package/dist/components/core/card-body/CardBody.types.d.ts +1 -1
  300. package/dist/components/core/document-link/DocumentLink.css +59 -0
  301. package/dist/components/core/document-link/DocumentLink.d.ts +19 -0
  302. package/dist/components/core/document-link/DocumentLink.js +21 -0
  303. package/dist/components/core/document-link/DocumentLink.types.d.ts +41 -0
  304. package/dist/components/core/document-link/DocumentLink.types.js +11 -0
  305. package/dist/components/core/document-link/document-link-impl.css +23 -0
  306. package/dist/components/core/illustration-card/IllustrationCard.css +7 -0
  307. package/dist/components/core/illustration-card/IllustrationCard.d.ts +5 -1
  308. package/dist/components/core/illustration-card/IllustrationCard.js +34 -8
  309. package/dist/components/core/illustration-card/IllustrationCard.types.d.ts +8 -1
  310. package/dist/components/core/illustration-card/IllustrationCard.types.js +1 -0
  311. package/dist/components/core/illustration-card/illustration-card-impl.css +113 -0
  312. package/dist/components/core/illustration-check/IllustrationCheck.css +25 -0
  313. package/dist/components/core/illustration-check/IllustrationCheck.d.ts +16 -0
  314. package/dist/components/core/illustration-check/IllustrationCheck.js +22 -0
  315. package/dist/components/core/illustration-check/IllustrationCheck.types.d.ts +25 -0
  316. package/dist/components/core/illustration-check/IllustrationCheck.types.js +9 -0
  317. package/dist/components/core/illustration-check/illustration-check-impl.css +76 -0
  318. package/dist/components/core/illustration-choice/IllustrationChoice.css +62 -0
  319. package/dist/components/core/illustration-choice/IllustrationChoice.d.ts +16 -0
  320. package/dist/components/core/illustration-choice/IllustrationChoice.js +31 -0
  321. package/dist/components/core/illustration-choice/IllustrationChoice.types.d.ts +25 -0
  322. package/dist/components/core/illustration-choice/IllustrationChoice.types.js +11 -0
  323. package/dist/components/core/illustration-choice/illustration-choice-impl.css +103 -0
  324. package/dist/components/core/illustration-code/IllustrationCode.css +25 -0
  325. package/dist/components/core/illustration-code/IllustrationCode.d.ts +12 -0
  326. package/dist/components/core/illustration-code/IllustrationCode.js +20 -0
  327. package/dist/components/core/illustration-code/IllustrationCode.types.d.ts +23 -0
  328. package/dist/components/core/illustration-code/IllustrationCode.types.js +8 -0
  329. package/dist/components/core/illustration-code/illustration-code-impl.css +42 -0
  330. package/dist/components/core/illustration-list/IllustrationList.css +19 -0
  331. package/dist/components/core/illustration-list/IllustrationList.d.ts +16 -0
  332. package/dist/components/core/illustration-list/IllustrationList.js +18 -0
  333. package/dist/components/core/illustration-list/IllustrationList.types.d.ts +15 -0
  334. package/dist/components/core/illustration-list/IllustrationList.types.js +6 -0
  335. package/dist/components/core/illustration-list/illustration-list-impl.css +52 -0
  336. package/dist/components/core/illustration-scene/IllustrationScene.css +6 -0
  337. package/dist/components/core/illustration-scene/IllustrationScene.d.ts +3 -2
  338. package/dist/components/core/illustration-scene/IllustrationScene.js +4 -3
  339. package/dist/components/core/illustration-scene/IllustrationScene.types.d.ts +5 -1
  340. package/dist/components/core/illustration-scene/IllustrationScene.types.js +2 -1
  341. package/dist/components/core/illustration-scene/illustration-scene-impl.css +65 -0
  342. package/dist/components/core/link/link-impl.css +5 -19
  343. package/dist/components/core/progress-bar/ProgressBar.css +101 -0
  344. package/dist/components/core/progress-bar/ProgressBar.d.ts +5 -0
  345. package/dist/components/core/progress-bar/ProgressBar.js +34 -0
  346. package/dist/components/core/progress-bar/ProgressBar.types.d.ts +52 -0
  347. package/dist/components/core/progress-bar/ProgressBar.types.js +12 -0
  348. package/dist/components/core/progress-bar/progress-bar-impl.css +45 -0
  349. package/dist/components/core/segmented-control/SegmentedControl.d.ts +1 -1
  350. package/dist/components/core/segmented-control/SegmentedControl.js +13 -5
  351. package/dist/components/core/segmented-control/SegmentedControl.types.d.ts +5 -1
  352. package/dist/components/core/segmented-control/segmented-control-impl.css +35 -0
  353. package/dist/components/core/segmented-control-item/SegmentedControlItem.types.d.ts +1 -1
  354. package/dist/components/core/select/Select.css +2 -0
  355. package/dist/components/core/select/select-impl.css +58 -0
  356. package/dist/components/core/status-dot/StatusDot.d.ts +1 -1
  357. package/dist/components/core/status-dot/StatusDot.js +7 -4
  358. package/dist/components/core/status-dot/StatusDot.types.d.ts +9 -1
  359. package/dist/components/core/status-dot/status-dot-impl.css +101 -0
  360. package/dist/components/core/text-area/TextArea.css +2 -0
  361. package/dist/components/core/text-area/text-area-impl.css +54 -0
  362. package/dist/components/core/text-input/TextInput.css +2 -0
  363. package/dist/components/core/text-input/text-input-impl.css +63 -0
  364. package/dist/components/core/typography/Typography.d.ts +3 -283
  365. package/dist/components/core/typography/Typography.js +9 -1
  366. package/dist/components/core/typography/Typography.types.d.ts +9 -15
  367. package/dist/components/core/typography/TypographyMotion.d.ts +28 -0
  368. package/dist/components/core/typography/TypographyMotion.js +43 -0
  369. package/dist/components/core/typography/typography-impl.css +106 -0
  370. package/dist/components/estimator-data.d.ts +29 -0
  371. package/dist/components/estimator-data.js +12 -0
  372. package/dist/components/illustration-data.d.ts +15 -0
  373. package/dist/components/illustration-data.js +7 -0
  374. package/dist/components/index.d.ts +25 -1
  375. package/dist/components/index.js +22 -0
  376. package/dist/components/layout/grid/Grid.css +5 -0
  377. package/dist/components/layout/grid/Grid.types.d.ts +2 -1
  378. package/dist/components/scene-scroll-data.d.ts +35 -0
  379. package/dist/components/tiers-data.d.ts +3 -2
  380. package/dist/icons/accounts.d.ts +1 -0
  381. package/dist/icons/accounts.js +1 -0
  382. package/dist/icons/app-stores.d.ts +1 -0
  383. package/dist/icons/app-stores.js +1 -0
  384. package/dist/icons/currency.d.ts +1 -0
  385. package/dist/icons/currency.js +1 -0
  386. package/dist/icons/flag.d.ts +1 -0
  387. package/dist/icons/flag.js +1 -0
  388. package/dist/icons/illustrative.d.ts +1 -0
  389. package/dist/icons/illustrative.js +1 -0
  390. package/dist/icons/index.d.ts +1 -0
  391. package/dist/icons/index.js +4 -0
  392. package/dist/icons/markets.d.ts +1 -0
  393. package/dist/icons/markets.js +1 -0
  394. package/dist/icons/social.d.ts +1 -0
  395. package/dist/icons/social.js +1 -0
  396. package/dist/icons/system.d.ts +1 -0
  397. package/dist/icons/system.js +1 -0
  398. package/dist/icons/trade.d.ts +1 -0
  399. package/dist/icons/trade.js +1 -0
  400. package/dist/marketing.css +26 -6
  401. package/package.json +44 -2
@@ -2,7 +2,7 @@
2
2
 
3
3
  # ComparisonTable
4
4
 
5
- A comparison-table section for short, fixed column sets. It renders a rounded card with a light header row, horizontal dividers only, a bold first-column label, and two or three value columns. …
5
+ Compares a short, fixed set of options in a table
6
6
 
7
7
  `import { ComparisonTable } from '@deriv-com/dds-marketing'`
8
8
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  # CtaBanner
4
4
 
5
- A full-bleed coral band carrying one short promotion and the action it asks for — the strip that breaks a long page with the one thing the page wants done, or closes it. …
5
+ A full-bleed band with one short promotion and the action it asks for
6
6
 
7
7
  `import { CtaBanner } from '@deriv-com/dds-marketing'`
8
8
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  # CtaBannerSlider
4
4
 
5
- CtaBanner's layout with a slider in it: the same full-bleed coral band, rotating between two or three short promotions. …
5
+ A full-bleed promotional band that rotates between two or three offers
6
6
 
7
7
  `import { CtaBannerSlider } from '@deriv-com/dds-marketing'`
8
8
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  # DataTable
4
4
 
5
- A full-width data-table section for instrument and market-style listings. …
5
+ A full-width table for instrument and market listings
6
6
 
7
7
  `import { DataTable } from '@deriv-com/dds-marketing'`
8
8
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Divider
4
4
 
5
- A rule between things, and the quietest way to say that what is on one side of it belongs to a different group from what is on the other. …
5
+ A rule that separates one group of content from another
6
6
 
7
7
  `import { Divider } from '@deriv-com/dds-marketing'`
8
8
 
@@ -0,0 +1,52 @@
1
+ <!-- GENERATED from documentlink.contract.json. Do not edit. -->
2
+
3
+ # DocumentLink
4
+
5
+ One document a reader can open or save: its mark, its title, and an optional second link beside it
6
+
7
+ `import { DocumentLink } from '@deriv-com/dds-marketing'`
8
+
9
+ ## Reach for it when
10
+
11
+ - A document on a legal, regulatory or help page — a policy, a key information document, a licence, a form
12
+ - Many documents of one kind, listed or laid in a grid inside a Documents block
13
+
14
+ ## Something else, when
15
+
16
+ - One to four related pages or documents at the end of a section → **ResourceBanner**
17
+ - A link inside a sentence, or a page rather than a document → **Link**
18
+
19
+ ## Never
20
+
21
+ - Navigation between pages of the site. A document chip says a file is behind it
22
+ - A document whose title alone does not say which it is. Two chips both reading "Key information document" are the same chip twice
23
+
24
+ ## Props
25
+
26
+ - **variant** `enum` · default "chip" — How much the document stands out from the page around it
27
+ - `chip` — The default: the document on a surface of its own, for a list of documents grouped under headings
28
+ - `plain` — The mark and the title on the page itself, for a grid of many short entries — a licence per country, each behind its flag
29
+ - never: Mixing the two in one list. A list is one kind of thing; chips beside plain entries read as two
30
+ - **href** `string` · required — Always. Where the document is: a URL, usually a PDF
31
+ - never: A page on the site. A page is a Link
32
+ - **external** `boolean` · default false — The document is hosted off the site — opens in a new tab, and its accessible name ends with `externalLabel`
33
+ - never: A document on this site, which opens in place
34
+ - **download** `boolean` · default false — The link saves the file rather than opening it — its accessible name ends with `downloadLabel`
35
+ - never: A document a browser opens to read, which most PDFs are. A file on another site. Browsers ignore `download` across origins and open the file instead, so the name would promise a download that does not happen; such a file is `external`
36
+ - **mark** `node` · optional — What kind of document it is, as a glyph — FilePdfSolidIcon for a PDF, FileShieldSolidIcon for a policy, or a country's flag from `@deriv-com/dds-marketing/icons/flag` (`MaltaIcon`, `GermanyIcon`) for one country's licence. …
37
+ - never: Saying what the title does not. The mark is decoration and is never read out
38
+ - **action** `node` · optional — A second link beside the document — "Choose language" — drawn at the far end of the row as its own target
39
+ - never: A second document. Each document is its own DocumentLink
40
+ - **externalLabel** `string` · default "(opens in a new tab)" — What an external document's accessible name ends with. Never drawn. Translate it with the page
41
+ - never: Anything a sighted reader needs; it is never shown
42
+ - **downloadLabel** `string` · default "(downloads a file)" — What a download's accessible name ends with. Never drawn. Translate it with the page
43
+ - never: Naming the file's format, which belongs in the title where it matters
44
+
45
+ ## Inside it
46
+
47
+ - Takes only text.
48
+ - Renders 5 parts: root, link, mark, title, action.
49
+
50
+ ---
51
+
52
+ The reasoning behind each of these, the parts this renders, its states and snippets that compile: `.llm/components/documentlink.md`.
@@ -0,0 +1,51 @@
1
+ <!-- GENERATED from documents.contract.json. Do not edit. -->
2
+
3
+ # Documents
4
+
5
+ A section of documents to open or save — grouped under headings that expand, or laid in a grid beside its heading
6
+
7
+ `import { Documents } from '@deriv-com/dds-marketing'`
8
+
9
+ ## Reach for it when
10
+
11
+ - A legal or regulatory page's documents — key information documents grouped by product, policies, terms
12
+ - A document per country, region or entity, each behind its flag or mark — `layout="grid"`
13
+ - Any list of more documents than a ResourceBanner's four
14
+
15
+ ## Something else, when
16
+
17
+ - One to four documents or pages at the end of a section → **ResourceBanner**
18
+ - Questions and their answers → **FaqAccordion**
19
+
20
+ ## Never
21
+
22
+ - Documents the reader must see before acting — a risk warning on the page it governs. A folded group is one most readers never open
23
+ - Navigation between the site's pages. Each entry is a document; a page is a Link
24
+ - Mixing the two shapes in one section. Groups of chips beside a grid of flags is two sections
25
+
26
+ ## Props
27
+
28
+ - **ground** `enum` · default "page" — Which of the page's three grounds this section paints. A marketing page is white, and a band that wants to be seen as a band takes one of the other two — so this is how a page builds its rhythm: white, white, grey, white, dark. …
29
+ - `page` — The default, and the page's own white. A section that has nothing to separate itself from what is above it — most of them — and the ground a reader is already on
30
+ - `subtle` — A quiet step off the page, for a band that wants to read as its own section without changing the page's voice — the reference design's slate FAQ. …
31
+ - `strong` — `color.bg.brand-strong`, the dark band. It stops the page rather than dividing it, so it is for a section a reader should arrive at — and one per page is usually one more than enough. …
32
+ - never: Marking importance. Every section on a page painted a ground is a page with no emphasis left
33
+ - **layout** `enum` · default "groups" — How the documents are laid out: grouped under headings, or as one grid of entries
34
+ - `groups` — The default: the documents under headings that expand, one group open at a time — AccordionItem children, each holding DocumentLink chips, two to a row from the fold. …
35
+ - `grid` — Many short entries of one kind — a document per country, each behind its flag — DocumentLink children with `variant="plain"`, in a grid beside the heading from 62rem and under it below. …
36
+ - never: Choosing by how many documents there are alone. Groups are for documents of different kinds; a grid is for many of one kind
37
+ - **title** `string` · required — Always. What the documents are, in a few words — "Regulatory documents", "Licences by country". It names the section
38
+ - never: A sentence. The line under it says more
39
+ - **description** `string` · optional — A line under the heading saying what the documents are for or who they apply to
40
+ - never: Instructions a reader must follow; they belong on the page the documents govern
41
+
42
+ ## Inside it
43
+
44
+ - Takes only AccordionItem, DocumentLink.
45
+ - At least 1, no ceiling — fewer is not this component and more is a different one.
46
+ - 8 components are refused inside it; the list and the reasons are in the long document.
47
+ - Renders 8 parts: root, inner, title, header, description, body, list, item.
48
+
49
+ ---
50
+
51
+ The reasoning behind each of these, the parts this renders, its states and snippets that compile: `.llm/components/documents.md`.
@@ -2,7 +2,7 @@
2
2
 
3
3
  # DownloadBanner
4
4
 
5
- A section promoting the app's downloads: a card holding a heading and the stores' own badges, each a link to the product in that store. …
5
+ Promotes the app with a heading and links to each app store
6
6
 
7
7
  `import { DownloadBanner } from '@deriv-com/dds-marketing'`
8
8
 
@@ -26,7 +26,7 @@ A section promoting the app's downloads: a card holding a heading and the stores
26
26
  - **ground** `enum` · default "page" — Which of the page's grounds the section paints, and with it the card's fill: the recessed surface on the page, the raised white on the grey band, and the strong card on the dark band — TestimonialRow's three and the reference design's light, light-2 and dark. …
27
27
  - `page` — The default, and the page's own white. The card is the recessed gray that sets it off — the reference design's light-2
28
28
  - `subtle` — The grey band, with the card white on it — the reference design's light. Painted as the band's tint laid over the page's own ground, so it is the same grey whatever is behind the section
29
- - `strong` — `color.bg.brand-strong`, the dark band, with the card at color.bg.surface-card-strong and white words on it — the reference design's dark. …
29
+ - `strong` — `color.bg.brand-strong`, the dark band, with the card at color.bg.surface-card-strong-on-brand-strong and white words on it — the reference design's dark. …
30
30
  - never: Marking importance. Every section on a page painted a ground is a page with no emphasis left
31
31
  - **variant** `enum` · default "standard" — How much the banner asks for. The standard card sits with the page; the featured card is the page's moment for the app, and one per page
32
32
  - `standard` — The default: the card in the ground's own fill, quiet beside the sections around it — the reference design's banner
@@ -2,7 +2,7 @@
2
2
 
3
3
  # DropdownMenu
4
4
 
5
- A button that opens a short set of destinations. Pressing one goes somewhere and the menu shuts — it holds no value and reports no answer, so there is nothing about it to find on reopening. …
5
+ A button that opens a short list of links
6
6
 
7
7
  `import { DropdownMenu } from '@deriv-com/dds-marketing'`
8
8
 
@@ -0,0 +1,66 @@
1
+ <!-- GENERATED from estimator.contract.json. Do not edit. -->
2
+
3
+ # Estimator
4
+
5
+ Sets the page's own fields beside the figures worked out from them: a trading calculator, a converter, an income estimate
6
+
7
+ `import { Estimator } from '@deriv-com/dds-marketing'`
8
+
9
+ ## Reach for it when
10
+
11
+ - A page lets a reader work something out before they act — a margin, a pip value, a swap charge, a conversion, an income estimate
12
+ - The figures change as the reader types or picks, and should be announced as they do
13
+ - The same tool appears on several pages in several forms — the margin, pip and swap calculators are one layout with different fields and figures
14
+
15
+ ## Something else, when
16
+
17
+ - The figures are fixed facts rather than the result of anything the reader enters → **Stats**
18
+ - Options are compared side by side rather than worked out from an input → **ComparisonCards**
19
+ - The tool is a form that sends something — a sign-up, a contact request → **FeatureSplit**
20
+
21
+ ## Never
22
+
23
+ - Fetching or calculating anything. The block has no data source and no formula: a page that wants live prices or a margin computes them and passes the figures in, so the block stays the same on every page and in every test
24
+ - A form that submits. Nothing here is sent anywhere; the way onward is a link or a button to the page that does the real thing
25
+ - A table of many figures. Past six or so results the panel stops being an answer and becomes a listing, which is what DataTable is for
26
+
27
+ ## Props
28
+
29
+ - **ground** `enum` · default "page" — Which of the page's three grounds this section paints. A marketing page is white, and a band that wants to be seen as a band takes one of the other two — so this is how a page builds its rhythm: white, white, grey, white, dark. …
30
+ - `page` — The default, and the page's own white. A section that has nothing to separate itself from what is above it — most of them — and the ground a reader is already on
31
+ - `subtle` — A quiet step off the page, for a band that wants to read as its own section without changing the page's voice. The one to reach for first when two sections need telling apart. …
32
+ - `strong` — `color.bg.brand-strong`, the dark band. It stops the page rather than dividing it, so it is for a section a reader should arrive at — and one per page is usually one more than enough
33
+ - never: Marking importance. Every section on a page painted dark is a page with no emphasis left, and a reader stops reading the grounds as meaning anything. Alternating for its own sake is the same mistake more slowly. And never the brand's own coral, `color.bg.brand`, which is not offered here. …
34
+ - **layout** `enum` · default "stacked" — How the heading and the tool share the section at full width. On a phone both are one column whichever is chosen: the heading, then the card, the inputs above the results
35
+ - `stacked` — The default. The heading centred above a wide card, the inputs beside the results — a calculator with several fields and several figures, where the two panels each need room
36
+ - `split` — The heading and a few lines beside the card, the inputs above the results inside it — a compact tool a page introduces in its own words, a converter or a single estimate
37
+ - never: Varying between two tools on one page. Pick the layout the tool's size calls for, and the page reads as one system
38
+ - **title** `string` · required — Always. What the tool works out, in a few words — 'Trading calculator', 'Buy crypto in seconds', 'Estimate your earnings'
39
+ - never: Instructions. How to use the tool is the fields' own labels, not the heading
40
+ - **description** `string` · optional — A line or two under the title saying what the figures are for or where they come from — 'Live prices, updated every few seconds'
41
+ - never: A disclaimer the results depend on. That is a result's `note`, read beside the figure it qualifies
42
+ - **inputsLabel** `string` · optional — A heading over the inputs panel, where the two panels need naming — 'Calculator' over the fields and 'Results' over the figures. Leave both out for a tool whose fields name themselves
43
+ - never: One panel only. Name both or neither
44
+ - **inputs** `node` · required — Always. The fields the reader fills in — Select, TextInput, SearchInput, SegmentedControl, a slider — in the order they are filled. The page owns their values and works the results out from them
45
+ - never: A submit button. The results update as the fields change; the way onward is `action`
46
+ - **inputActions** `node` · optional — A tool that works its figures out when asked rather than as the reader types — a calculation too slow or too costly to run on every keystroke, or one where half-filled fields would show figures that mislead. …
47
+ - never: A tool whose figures already follow the fields. A button that does what typing already did is a step the reader has to find and press for nothing
48
+ - **onCalculate** `callback` · optional — Whenever inputActions holds a Calculate button: Enter in any of the fields calls it, as the button's own press does — wire the button's onClick to the same function. …
49
+ - never: Sending anything. The form never leaves the page; a tool that submits to a server is a form section, not this
50
+ - **resultsLabel** `string` · optional — A heading over the results panel, with inputsLabel — 'Results', 'You receive'
51
+ - never: One panel only. Name both or neither
52
+ - **results** `data` · required — The figures the inputs produce, in reading order — a `label`, a `value` written exactly as it is to be read, and an optional `note`. Pass an empty list until the inputs are complete, and the panel shows `emptyMessage` instead. …
53
+ - never: A value the page has not worked out. Pass nothing rather than a placeholder figure: a wrong number on a trading page is worse than none
54
+ - **emptyMessage** `string` · optional — What the results panel says before there are figures to show — 'Choose an instrument to see the results'. Translate it with the page
55
+ - never: An error. A failed feed is the page's to say, in a result's note or its own message
56
+ - **action** `node` · optional — The one thing a reader does once they have their figures — 'Open an account', 'Trade now', 'Become a partner'. Under the results, where the reader's eye already is
57
+ - never: More than one action. One tool, one next step
58
+
59
+ ## Inside it
60
+
61
+ - 9 components are refused inside it; the list and the reasons are in the long document.
62
+ - Renders 19 parts: root, inner, header, title, description, tool, panels, inputs, inputs-label, results, results-label, list, result, result-label, result-value, result-note, empty, action, input-actions.
63
+
64
+ ---
65
+
66
+ The reasoning behind each of these, the parts this renders, its states and snippets that compile: `.llm/components/estimator.md`.
@@ -2,7 +2,7 @@
2
2
 
3
3
  # FaqAccordion
4
4
 
5
- A section of questions and answers: a heading over an Accordion, one question open at a time. …
5
+ A section of questions and answers, one open at a time
6
6
 
7
7
  `import { FaqAccordion } from '@deriv-com/dds-marketing'`
8
8
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  # FeatureBullets
4
4
 
5
- A section pairing a claim with a ruled list of what something includes, beside one picture. …
5
+ Pairs a claim and a list of what is included with one picture
6
6
 
7
7
  `import { FeatureBullets } from '@deriv-com/dds-marketing'`
8
8
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  # FeatureCards
4
4
 
5
- A section that opens with a heading and sets a grid of cards under it — the shape a marketing page uses for “why choose us” and “what you get”. …
5
+ A heading over a grid of feature cards
6
6
 
7
7
  `import { FeatureCards } from '@deriv-com/dds-marketing'`
8
8
 
@@ -30,6 +30,13 @@ A section that opens with a heading and sets a grid of cards under it — the sh
30
30
  - `subtle` — A quiet step off the page, for a band that wants to read as its own section without changing the page's voice. The one to reach for first when two sections need telling apart. …
31
31
  - `strong` — `color.bg.brand-strong`, the dark band. It stops the page rather than dividing it, so it is for a section a reader should arrive at — and one per page is usually one more than enough. …
32
32
  - never: Marking importance. Every section on a page painted dark is a page with no emphasis left, and a reader stops reading the grounds as meaning anything. Alternating for its own sake is the same mistake more slowly. And never the brand's own coral, `color.bg.brand`, which is not offered here. …
33
+ - **background** `enum` · optional — The page's one patterned band, between its hero and its closing call to action — a band a reader should stop at. …
34
+ - `halftone` — A field of coral dots that grow towards a soft glow at the band's foot and settle to a fine screen away from it
35
+ - `aurora` — Curtains of the brand's light rising from the band's foot and swaying slowly
36
+ - `mesh` — The band in the brand's reds folded into one another like a liquid — the loudest of the five, for a dark band
37
+ - `grid` — Hairlines a pitch apart rising from a soft bloom at the band's foot — the quietest, and the one to reach for first
38
+ - `rings` — Hairline circles spreading out from the middle of the band's foot
39
+ - never: More than one band on a page, or a band that is already the hero or the call to action — those carry their own patterns. One pattern is what makes a band the one a reader remembers; two make neither, and a page of them is noise. …
33
40
  - **title** `string` · required — Always. What the cards are, in the fewest words that name them — "Why trade with Deriv", "Markets you can trade"
34
41
  - never: A sentence. The line under it is for the sentence
35
42
  - **description** `string` · optional — A line saying what the set has in common, when the title alone does not
@@ -2,7 +2,7 @@
2
2
 
3
3
  # FeatureCardsCarousel
4
4
 
5
- A feature band that sets its cards in a row a reader moves along rather than a grid: a heading and a line over a row of the page's own cards, the next one's edge showing past the last in view, with dots saying where the reader is and two arrows stepping it a card at a time. …
5
+ A heading over a row of feature cards the reader scrolls through
6
6
 
7
7
  `import { FeatureCardsCarousel } from '@deriv-com/dds-marketing'`
8
8
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  # FeatureScroll
4
4
 
5
- A section that gives a set of things one screen each, with the picture pinned beside the words while a reader is on them. …
5
+ Gives each feature a screen of its own, with its picture pinned beside the text
6
6
 
7
7
  `import { FeatureScroll } from '@deriv-com/dds-marketing'`
8
8
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  # FeatureSplit
4
4
 
5
- A section putting one claim, a line explaining it and a way onward beside a single picture. …
5
+ One claim, a supporting line and a link, beside a single picture
6
6
 
7
7
  `import { FeatureSplit } from '@deriv-com/dds-marketing'`
8
8
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  # FeatureStack
4
4
 
5
- A section that leads with a statement and ends on a picture: a heading, a line under it where the heading needs one, a link on to more where the page has one, and a large illustration — a globe, a map, a product shot — standing on the band's foot. …
5
+ A heading and supporting line above a large illustration
6
6
 
7
7
  `import { FeatureStack } from '@deriv-com/dds-marketing'`
8
8
 
@@ -0,0 +1,50 @@
1
+ <!-- GENERATED from featuretabs.contract.json. Do not edit. -->
2
+
3
+ # FeatureTabs
4
+
5
+ A section that shows one version of something at a time behind tabs — a heading, a strip of tabs, and the content of the one selected
6
+
7
+ `import { FeatureTabs } from '@deriv-com/dds-marketing'`
8
+
9
+ ## Reach for it when
10
+
11
+ - Several versions of one thing a reader takes one at a time — a product's trade types, a platform's apps, the account types
12
+ - A section whose versions each need a picture, a line and a way onward, and only one is worth showing at once
13
+
14
+ ## Something else, when
15
+
16
+ - One claim and one picture, with nothing to list → **FeatureSplit**
17
+ - Two or three plans or account types compared feature by feature → **ComparisonCards**
18
+ - Showing the same section's content for a monthly or a yearly price → **TabList**
19
+
20
+ ## Never
21
+
22
+ - Content a reader needs all of. Only one tab is on the page at a time, and most readers never open the others
23
+ - Small print the reader must see. The footnote is the last thing read
24
+ - More than six tabs. A strip longer than that scrolls, and a reader stops reading it
25
+
26
+ ## Props
27
+
28
+ - **ground** `enum` · default "page" — Which of the page's three grounds this section paints. A marketing page is white, and a band that wants to be seen as a band takes one of the other two — so this is how a page builds its rhythm: white, white, grey, white, dark. …
29
+ - `page` — The default, and the page's own white. A section that has nothing to separate itself from what is above it — most of them — and the ground a reader is already on
30
+ - `subtle` — A quiet step off the page, for a band that wants to read as its own section without changing the page's voice — the reference design's slate FAQ. …
31
+ - `strong` — `color.bg.brand-strong`, the dark band. It stops the page rather than dividing it, so it is for a section a reader should arrive at — and one per page is usually one more than enough. …
32
+ - never: Marking importance. Every section on a page painted a ground is a page with no emphasis left
33
+ - **title** `string` · required — Always. What the versions are of, in a few words — "Types of digital options". It names the section and the tabs
34
+ - never: A sentence. The line under it says more
35
+ - **description** `string` · optional — A line under the heading saying what the tabs have in common
36
+ - never: Describing one tab. Each says that in its own description
37
+ - **labels** `data` · required — Always. The tabs' names, in a word or two each, in the order of the children they choose between — the first names the first child. A name without a child is not drawn
38
+ - never: Sentences. A tab is read at a glance; what it shows says the rest
39
+ - **footnote** `string` · optional — Small print every tab shares — that what is offered varies by platform or device
40
+ - never: A risk warning. Small print is the last thing a reader reads, and the one place a warning must never be
41
+
42
+ ## Inside it
43
+
44
+ - At least 1, no ceiling — fewer is not this component and more is a different one.
45
+ - 7 components are refused inside it; the list and the reasons are in the long document.
46
+ - Renders 8 parts: root, inner, header, title, description, tabs, panel, footnote.
47
+
48
+ ---
49
+
50
+ The reasoning behind each of these, the parts this renders, its states and snippets that compile: `.llm/components/featuretabs.md`.
@@ -2,7 +2,7 @@
2
2
 
3
3
  # FilterChip
4
4
 
5
- A token the reader turns on and off in place, standing for one narrowing of the set shown beside it. …
5
+ Turns one filter on or off, in place
6
6
 
7
7
  `import { FilterChip } from '@deriv-com/dds-marketing'`
8
8
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Footer
4
4
 
5
- The band that closes a marketing page, and the sections every one of them is made of: whose site this is, where else it goes, what the law obliges it to say, and the line that closes it. …
5
+ The band that closes every marketing page: brand, links, legal text
6
6
 
7
7
  `import { Footer } from '@deriv-com/dds-marketing'`
8
8
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  # FooterGroup
4
4
 
5
- A named handful of destinations in the footer: a word over a short list. It is the footer's repeating unit and the only thing inside it that repeats — everything else in a footer appears once. …
5
+ A titled list of links in the footer
6
6
 
7
7
  `import { FooterGroup } from '@deriv-com/dds-marketing'`
8
8
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Grid
4
4
 
5
- A field of equal tracks, and one measure between them. …
5
+ Lays items out in equal columns with consistent spacing
6
6
 
7
7
  `import { Grid } from '@deriv-com/dds-marketing'`
8
8
 
@@ -38,6 +38,7 @@ A field of equal tracks, and one measure between them. …
38
38
  - `xl` — Between the parts of a card, taken as a field — cells that each hold a picture as well as words. Drops one step below 768px, a phone having a third of the width to spend
39
39
  - `2xl` — Between one section of a page and the next, laid out as a field. Drops one step below 768px, a phone having a third of the width to spend
40
40
  - `3xl` — The largest gap, for separating whole movements of a page laid out as a field. Drops one step below 768px, a phone having a third of the width to spend
41
+ - `gutter` — A row of cards — the gutter every card block (FeatureCards, ComparisonCards, Tiers, TeamGrid) sets between its cards, so a grid of cards composed on a page stands as those do. …
41
42
  - never: Reaching a cell width. The gap and the column count together decide how wide a cell lands, but the gap is a relationship between cells and not a way of sizing one. A cell that needs a particular width is a track floor, and past that it is a component with a size
42
43
  - **min** `enum` · default "md" — How narrow a track may get before the field drops a column. This is the whole of the component's responsiveness, and choosing it is choosing where the layout changes
43
44
  - `sm` — The narrow floor, for a cell holding a logo, an icon and a word, or one short claim. Six of these clear the page's measure with its gutter still on both sides
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Icon
4
4
 
5
- Renders a Quill system glyph at a token size, taking its colour from the text around it. The glyph is imported from @deriv-com/quill-icons-web and passed as the only child. …
5
+ Renders a Quill glyph at a token size, in the colour of the text around it
6
6
 
7
7
  `import { Icon } from '@deriv-com/dds-marketing'`
8
8
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  # IllustrationCard
4
4
 
5
- A pane of glass holding a piece of product information — a market's price, a balance, a status — in one of three shapes, used as a picture: laid over a photograph or a piece of art, or standing on its own as the image a section shows beside its words. …
5
+ A glass card showing product information, used as an illustration
6
6
 
7
7
  `import { IllustrationCard } from '@deriv-com/dds-marketing'`
8
8
 
@@ -35,11 +35,16 @@ A pane of glass holding a piece of product information — a market's price, a b
35
35
  - never: Fitting a particular piece of UI. The shape is a decision about the layout; the UI is laid out for it
36
36
  - **label** `string` · required — Always. What the picture shows, in a sentence — "Trade ticket: buy Gold to rise over 5 minutes, staking 10 USD". The pane is one image to assistive technology and this is its whole description; nothing inside it is read out on its own
37
37
  - never: A title or a caption the page shows. It is never drawn; a heading the reader sees belongs to the section beside the picture
38
+ - **motion** `enum` · optional — The pane's own motion as it arrives, played once when it has landed and never again. Leave it out and the pane simply arrives with the band around it
39
+ - `frost` — The pane frosts over its photograph as it arrives: the glass blurs in over motion.duration.dramatic, and what it holds fades in a step of motion.duration.stagger apart once the glass is mostly there. …
40
+ - never: A pane whose parts already carry the lead motion — a figure that rolls, a story told with `then`. One lead motion per pane: two read as the pane fidgeting rather than the product working
41
+ - **then** `node` · optional — A second state of the same product, played once after the first: the order goes in, then the position is open. …
42
+ - never: A slideshow, or a state that undoes the first. It plays once and ends on this, and a pane that kept changing would be a carousel nobody asked for. And not with `motion`, which is not played beside it — the story is the pane's lead motion
38
43
 
39
44
  ## Inside it
40
45
 
41
46
  - 2 components are refused inside it; the list and the reasons are in the long document.
42
- - Renders 2 parts: root, content.
47
+ - Renders 3 parts: root, content, stage.
43
48
 
44
49
  ---
45
50
 
@@ -0,0 +1,42 @@
1
+ <!-- GENERATED from illustrationcheck.contract.json. Do not edit. -->
2
+
3
+ # IllustrationCheck
4
+
5
+ A drawn confirmation mark — a ring and a tick — for a picture of something done
6
+
7
+ `import { IllustrationCheck } from '@deriv-com/dds-marketing'`
8
+
9
+ ## Reach for it when
10
+
11
+ - A pane, or any picture of the product, showing that something has gone through — a deposit received, an identity verified
12
+ - The moment of confirmation is the point of the picture, played once with `motion="resolve"`
13
+
14
+ ## Something else, when
15
+
16
+ - Something is still loading on a real page → **Spinner**
17
+ - A tick beside words in a list or a field → **Icon**
18
+
19
+ ## Never
20
+
21
+ - Reporting the outcome of something the reader did on this page. A real confirmation is announced and stays; this is a picture, and its motion says nothing to a screen reader
22
+ - More than one moving thing in a pane. One lead motion per pane
23
+
24
+ ## Props
25
+
26
+ - **size** `enum` · default "xl" — How large the mark is drawn: one of the two largest icon sizes, because a mark smaller than that is a glyph beside words and an Icon
27
+ - `lg` — Thirty-two pixels, icon.size.lg. Beside a line of words in a pane
28
+ - `xl` — Forty-eight pixels, icon.size.xl, and the default. The mark as the subject of a pane
29
+ - never: Fitting a pane. A pane scales its whole picture down to fit; the mark keeps its size in it
30
+ - **motion** `enum` · optional — The mark moves once, on arrival — in an IllustrationCard when the pane has landed, otherwise when it is well into view. At rest, and for a reader who asked for less movement, it is the finished mark
31
+ - `resolve` — The ring spins open like a Spinner for two turns, closes, and the tick draws in — the moment something goes through
32
+ - never: A mark beside another moving part in the same pane. One lead motion per pane
33
+ - **label** `string` · optional — Only where the mark says something nothing beside it does — rarely. It names the mark as an image
34
+ - never: A mark inside an IllustrationCard, which is one image named by its own label; or repeating the words beside the mark
35
+
36
+ ## Inside it
37
+
38
+ - Renders 3 parts: root, ring, tick.
39
+
40
+ ---
41
+
42
+ The reasoning behind each of these, the parts this renders, its states and snippets that compile: `.llm/components/illustrationcheck.md`.
@@ -0,0 +1,43 @@
1
+ <!-- GENERATED from illustrationchoice.contract.json. Do not edit. -->
2
+
3
+ # IllustrationChoice
4
+
5
+ A drawn set of options with one picked, for a picture of the product making a choice
6
+
7
+ `import { IllustrationChoice } from '@deriv-com/dds-marketing'`
8
+
9
+ ## Reach for it when
10
+
11
+ - A pane, or any picture of the product, showing a choice — a demo account or a real one, a plan, a market
12
+ - The choosing is the point of the picture, played once with `motion="pick"`
13
+
14
+ ## Something else, when
15
+
16
+ - The reader makes the choice on this page → **SegmentedControl**
17
+ - A choice between two or three short words, side by side → **SegmentedControl**
18
+
19
+ ## Never
20
+
21
+ - A choice the reader makes. It is not focusable, not pressable and not announced as a control
22
+ - More than four options. A picture of a long list is a list, and its outline would travel too far to read as one choice
23
+ - More than one moving thing in a pane. One lead motion per pane
24
+
25
+ ## Props
26
+
27
+ - **options** `data` · required — Always. Two to four options, each a name in a few words and a line under it where it needs one
28
+ - never: More than four, or options that are not alternatives to one another
29
+ - **value** `string` · required — Always. The `value` of the option shown picked
30
+ - never: A value no option has. Nothing would be picked, and the picture would show a choice not made
31
+ - **motion** `enum` · optional — The choice moves once, on arrival — in an IllustrationCard when the pane has landed, otherwise when it is well into view. At rest, and for a reader who asked for less movement, the option is simply picked
32
+ - `pick` — The outline starts on a neighbouring option and slides to the picked one, whose circle then fills — the product making the choice
33
+ - never: A choice beside another moving part in the same pane. One lead motion per pane
34
+ - **label** `string` · optional — Where the picture stands on its own and its options say less than a sentence would — "Choosing an account: the demo account". It names the whole as one image
35
+ - never: A choice inside an IllustrationCard, which is one image named by its own label
36
+
37
+ ## Inside it
38
+
39
+ - Renders 7 parts: root, option, radio, dot, label, description, outline.
40
+
41
+ ---
42
+
43
+ The reasoning behind each of these, the parts this renders, its states and snippets that compile: `.llm/components/illustrationchoice.md`.
@@ -0,0 +1,41 @@
1
+ <!-- GENERATED from illustrationcode.contract.json. Do not edit. -->
2
+
3
+ # IllustrationCode
4
+
5
+ A drawn row of code boxes, filled or not, for a picture of the product asking for a code
6
+
7
+ `import { IllustrationCode } from '@deriv-com/dds-marketing'`
8
+
9
+ ## Reach for it when
10
+
11
+ - A pane, or any picture of the product, showing a verification step — confirming it is you, two-step sign-in
12
+ - The code going in is the point of the picture, played once with `motion="fill"`
13
+
14
+ ## Something else, when
15
+
16
+ - The reader types a code on this page → **TextInput**
17
+
18
+ ## Never
19
+
20
+ - A real code entry. Nothing in it can be focused or typed into, and it holds no digits — only dots, because a picture should never show a code
21
+ - More than one moving thing in a pane. One lead motion per pane
22
+
23
+ ## Props
24
+
25
+ - **length** `number` · default 6 — How many boxes: six, the default, for the usual verification code; four for a short one
26
+ - never: A code longer than eight. A row of more boxes than that is too narrow to read as boxes
27
+ - **filled** `number` · optional — How many boxes are filled, from the start. Left out, all of them — a code entered
28
+ - never: Showing a code half typed with `motion="fill"`. The motion fills the boxes it is given; a picture of a code mid-entry is still, with no motion
29
+ - **motion** `enum` · optional — The row moves once, on arrival — in an IllustrationCard when the pane has landed, otherwise when it is well into view. At rest, and for a reader who asked for less movement, the boxes are as filled as `filled` says
30
+ - `fill` — The boxes fill one after another, a step of motion.duration.stagger apart
31
+ - never: A row beside another moving part in the same pane. One lead motion per pane
32
+ - **label** `string` · optional — Where the picture stands on its own — "A verification code, entered". It names the row as one image
33
+ - never: A row inside an IllustrationCard, which is one image named by its own label
34
+
35
+ ## Inside it
36
+
37
+ - Renders 2 parts: root, box.
38
+
39
+ ---
40
+
41
+ The reasoning behind each of these, the parts this renders, its states and snippets that compile: `.llm/components/illustrationcode.md`.