@deriv-com/dds-marketing 0.1.0 → 0.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 (460) hide show
  1. package/.llm/components/accordion.md +193 -0
  2. package/.llm/components/accordionitem.md +236 -0
  3. package/.llm/components/aspectratio.md +212 -0
  4. package/.llm/components/badge.md +231 -0
  5. package/.llm/components/bottomsheet.md +404 -0
  6. package/.llm/components/breadcrumb.md +197 -0
  7. package/.llm/components/breadcrumbitem.md +178 -0
  8. package/.llm/components/button.md +271 -0
  9. package/.llm/components/buttonicon.md +313 -0
  10. package/.llm/components/card.md +313 -0
  11. package/.llm/components/cardbody.md +409 -0
  12. package/.llm/components/cardbutton.md +259 -0
  13. package/.llm/components/checkbox.md +285 -0
  14. package/.llm/components/divider.md +230 -0
  15. package/.llm/components/dropdownmenu.md +453 -0
  16. package/.llm/components/filterchip.md +314 -0
  17. package/.llm/components/footer.md +408 -0
  18. package/.llm/components/footergroup.md +241 -0
  19. package/.llm/components/grid.md +659 -0
  20. package/.llm/components/icon.md +194 -0
  21. package/.llm/components/link.md +354 -0
  22. package/.llm/components/menuitem.md +218 -0
  23. package/.llm/components/navbar.md +458 -0
  24. package/.llm/components/navbaritem.md +238 -0
  25. package/.llm/components/navbarmenu.md +319 -0
  26. package/.llm/components/navbarmenugroup.md +184 -0
  27. package/.llm/components/navbarpanel.md +255 -0
  28. package/.llm/components/navbarswitcher.md +343 -0
  29. package/.llm/components/navbarswitcheroption.md +156 -0
  30. package/.llm/components/option.md +268 -0
  31. package/.llm/components/pagination.md +361 -0
  32. package/.llm/components/removablechip.md +247 -0
  33. package/.llm/components/row.md +381 -0
  34. package/.llm/components/scroller.md +470 -0
  35. package/.llm/components/searchinput.md +279 -0
  36. package/.llm/components/segmentedcontrol.md +358 -0
  37. package/.llm/components/segmentedcontrolitem.md +272 -0
  38. package/.llm/components/select.md +509 -0
  39. package/.llm/components/selectchip.md +334 -0
  40. package/.llm/components/spinner.md +222 -0
  41. package/.llm/components/stack.md +334 -0
  42. package/.llm/components/statusdot.md +205 -0
  43. package/.llm/components/subdomainnavbar.md +327 -0
  44. package/.llm/components/tab.md +291 -0
  45. package/.llm/components/table.md +660 -0
  46. package/.llm/components/tablebody.md +258 -0
  47. package/.llm/components/tablecell.md +248 -0
  48. package/.llm/components/tablehead.md +248 -0
  49. package/.llm/components/tableheadercell.md +298 -0
  50. package/.llm/components/tablerow.md +285 -0
  51. package/.llm/components/tablist.md +210 -0
  52. package/.llm/components/textarea.md +362 -0
  53. package/.llm/components/textinput.md +467 -0
  54. package/.llm/components/tooltip.md +267 -0
  55. package/.llm/components/typography.md +245 -0
  56. package/.llm/digest/accordion.md +43 -0
  57. package/.llm/digest/accordionitem.md +47 -0
  58. package/.llm/digest/aspectratio.md +47 -0
  59. package/.llm/digest/badge.md +45 -0
  60. package/.llm/digest/bottomsheet.md +69 -0
  61. package/.llm/digest/breadcrumb.md +38 -0
  62. package/.llm/digest/breadcrumbitem.md +43 -0
  63. package/.llm/digest/button.md +48 -0
  64. package/.llm/digest/buttonicon.md +61 -0
  65. package/.llm/digest/card.md +50 -0
  66. package/.llm/digest/cardbody.md +68 -0
  67. package/.llm/digest/cardbutton.md +49 -0
  68. package/.llm/digest/checkbox.md +63 -0
  69. package/.llm/digest/divider.md +52 -0
  70. package/.llm/digest/dropdownmenu.md +67 -0
  71. package/.llm/digest/filterchip.md +68 -0
  72. package/.llm/digest/footer.md +57 -0
  73. package/.llm/digest/footergroup.md +42 -0
  74. package/.llm/digest/grid.md +62 -0
  75. package/.llm/digest/icon.md +45 -0
  76. package/.llm/digest/link.md +59 -0
  77. package/.llm/digest/menuitem.md +46 -0
  78. package/.llm/digest/navbar.md +60 -0
  79. package/.llm/digest/navbaritem.md +54 -0
  80. package/.llm/digest/navbarmenu.md +54 -0
  81. package/.llm/digest/navbarmenugroup.md +40 -0
  82. package/.llm/digest/navbarpanel.md +53 -0
  83. package/.llm/digest/navbarswitcher.md +51 -0
  84. package/.llm/digest/navbarswitcheroption.md +37 -0
  85. package/.llm/digest/option.md +54 -0
  86. package/.llm/digest/pagination.md +71 -0
  87. package/.llm/digest/removablechip.md +51 -0
  88. package/.llm/digest/row.md +60 -0
  89. package/.llm/digest/scroller.md +59 -0
  90. package/.llm/digest/searchinput.md +56 -0
  91. package/.llm/digest/segmentedcontrol.md +59 -0
  92. package/.llm/digest/segmentedcontrolitem.md +59 -0
  93. package/.llm/digest/select.md +92 -0
  94. package/.llm/digest/selectchip.md +68 -0
  95. package/.llm/digest/spinner.md +52 -0
  96. package/.llm/digest/stack.md +56 -0
  97. package/.llm/digest/statusdot.md +46 -0
  98. package/.llm/digest/subdomainnavbar.md +54 -0
  99. package/.llm/digest/tab.md +60 -0
  100. package/.llm/digest/table.md +71 -0
  101. package/.llm/digest/tablebody.md +49 -0
  102. package/.llm/digest/tablecell.md +55 -0
  103. package/.llm/digest/tablehead.md +50 -0
  104. package/.llm/digest/tableheadercell.md +65 -0
  105. package/.llm/digest/tablerow.md +56 -0
  106. package/.llm/digest/tablist.md +46 -0
  107. package/.llm/digest/textarea.md +78 -0
  108. package/.llm/digest/textinput.md +95 -0
  109. package/.llm/digest/tooltip.md +58 -0
  110. package/.llm/digest/typography.md +59 -0
  111. package/.llm/index.md +86 -0
  112. package/.llm/rules.md +122 -0
  113. package/.llm/tokens.md +341 -0
  114. package/AGENTS.md +164 -0
  115. package/LICENSE +21 -0
  116. package/README.md +63 -15
  117. package/dist/components/core/accordion/Accordion.css +10 -0
  118. package/dist/components/core/accordion/Accordion.d.ts +20 -0
  119. package/dist/components/core/accordion/Accordion.js +69 -0
  120. package/dist/components/core/accordion/Accordion.types.d.ts +20 -0
  121. package/dist/components/core/accordion/Accordion.types.js +7 -0
  122. package/dist/components/core/accordion-item/AccordionItem.css +98 -0
  123. package/dist/components/core/accordion-item/AccordionItem.d.ts +44 -0
  124. package/dist/components/core/accordion-item/AccordionItem.js +63 -0
  125. package/dist/components/core/accordion-item/AccordionItem.types.d.ts +32 -0
  126. package/dist/components/core/accordion-item/AccordionItem.types.js +13 -0
  127. package/dist/components/core/accordion-item/accordion-item-impl.css +107 -0
  128. package/dist/components/core/badge/Badge.css +37 -0
  129. package/dist/components/core/badge/Badge.d.ts +37 -0
  130. package/dist/components/core/badge/Badge.js +40 -0
  131. package/dist/components/core/badge/Badge.types.d.ts +24 -0
  132. package/dist/components/core/badge/Badge.types.js +8 -0
  133. package/dist/components/core/badge/badge-impl.css +32 -0
  134. package/dist/components/core/bottom-sheet/BottomSheet.css +178 -0
  135. package/dist/components/core/bottom-sheet/BottomSheet.d.ts +22 -0
  136. package/dist/components/core/bottom-sheet/BottomSheet.js +359 -0
  137. package/dist/components/core/bottom-sheet/BottomSheet.types.d.ts +67 -0
  138. package/dist/components/core/bottom-sheet/BottomSheet.types.js +18 -0
  139. package/dist/components/core/bottom-sheet/bottom-sheet-impl.css +57 -0
  140. package/dist/components/core/breadcrumb/Breadcrumb.css +19 -0
  141. package/dist/components/core/breadcrumb/Breadcrumb.d.ts +16 -0
  142. package/dist/components/core/breadcrumb/Breadcrumb.js +22 -0
  143. package/dist/components/core/breadcrumb/Breadcrumb.types.d.ts +18 -0
  144. package/dist/components/core/breadcrumb/Breadcrumb.types.js +9 -0
  145. package/dist/components/core/breadcrumb-item/BreadcrumbItem.css +34 -0
  146. package/dist/components/core/breadcrumb-item/BreadcrumbItem.d.ts +12 -0
  147. package/dist/components/core/breadcrumb-item/BreadcrumbItem.js +15 -0
  148. package/dist/components/core/breadcrumb-item/BreadcrumbItem.types.d.ts +22 -0
  149. package/dist/components/core/breadcrumb-item/BreadcrumbItem.types.js +9 -0
  150. package/dist/components/core/button/Button.css +141 -0
  151. package/dist/components/core/button/Button.d.ts +25 -0
  152. package/dist/components/core/button/Button.js +28 -0
  153. package/dist/components/core/button/Button.types.d.ts +40 -0
  154. package/dist/components/core/button/Button.types.js +9 -0
  155. package/dist/components/core/button/button-impl.css +46 -0
  156. package/dist/components/core/button-icon/ButtonIcon.css +135 -0
  157. package/dist/components/core/button-icon/ButtonIcon.d.ts +34 -0
  158. package/dist/components/core/button-icon/ButtonIcon.js +117 -0
  159. package/dist/components/core/button-icon/ButtonIcon.types.d.ts +41 -0
  160. package/dist/components/core/button-icon/ButtonIcon.types.js +8 -0
  161. package/dist/components/core/card/Card.css +65 -0
  162. package/dist/components/core/card/Card.d.ts +24 -0
  163. package/dist/components/core/card/Card.js +26 -0
  164. package/dist/components/core/card/Card.types.d.ts +33 -0
  165. package/dist/components/core/card/Card.types.js +7 -0
  166. package/dist/components/core/card-body/CardBody.css +139 -0
  167. package/dist/components/core/card-body/CardBody.d.ts +62 -0
  168. package/dist/components/core/card-body/CardBody.js +97 -0
  169. package/dist/components/core/card-body/CardBody.types.d.ts +61 -0
  170. package/dist/components/core/card-body/CardBody.types.js +15 -0
  171. package/dist/components/core/card-body/card-body-impl.css +87 -0
  172. package/dist/components/core/card-button/CardButton.css +73 -0
  173. package/dist/components/core/card-button/CardButton.d.ts +27 -0
  174. package/dist/components/core/card-button/CardButton.js +37 -0
  175. package/dist/components/core/card-button/CardButton.types.d.ts +24 -0
  176. package/dist/components/core/card-button/CardButton.types.js +7 -0
  177. package/dist/components/core/card-button/card-button-impl.css +39 -0
  178. package/dist/components/core/checkbox/Checkbox.css +149 -0
  179. package/dist/components/core/checkbox/Checkbox.d.ts +21 -0
  180. package/dist/components/core/checkbox/Checkbox.js +97 -0
  181. package/dist/components/core/checkbox/Checkbox.types.d.ts +46 -0
  182. package/dist/components/core/checkbox/Checkbox.types.js +15 -0
  183. package/dist/components/core/checkbox/checkbox-impl.css +90 -0
  184. package/dist/components/core/divider/Divider.css +41 -0
  185. package/dist/components/core/divider/Divider.d.ts +46 -0
  186. package/dist/components/core/divider/Divider.js +51 -0
  187. package/dist/components/core/divider/Divider.types.d.ts +25 -0
  188. package/dist/components/core/divider/Divider.types.js +9 -0
  189. package/dist/components/core/dropdown-menu/DropdownMenu.css +146 -0
  190. package/dist/components/core/dropdown-menu/DropdownMenu.d.ts +22 -0
  191. package/dist/components/core/dropdown-menu/DropdownMenu.js +309 -0
  192. package/dist/components/core/dropdown-menu/DropdownMenu.types.d.ts +62 -0
  193. package/dist/components/core/dropdown-menu/DropdownMenu.types.js +12 -0
  194. package/dist/components/core/dropdown-menu/dropdown-menu-impl.css +70 -0
  195. package/dist/components/core/filter-chip/FilterChip.css +149 -0
  196. package/dist/components/core/filter-chip/FilterChip.d.ts +23 -0
  197. package/dist/components/core/filter-chip/FilterChip.js +37 -0
  198. package/dist/components/core/filter-chip/FilterChip.types.d.ts +53 -0
  199. package/dist/components/core/filter-chip/FilterChip.types.js +12 -0
  200. package/dist/components/core/footer/Footer.css +104 -0
  201. package/dist/components/core/footer/Footer.d.ts +43 -0
  202. package/dist/components/core/footer/Footer.js +53 -0
  203. package/dist/components/core/footer/Footer.types.d.ts +47 -0
  204. package/dist/components/core/footer/Footer.types.js +18 -0
  205. package/dist/components/core/footer/footer-impl.css +218 -0
  206. package/dist/components/core/footer-group/FooterGroup.css +90 -0
  207. package/dist/components/core/footer-group/FooterGroup.d.ts +32 -0
  208. package/dist/components/core/footer-group/FooterGroup.js +64 -0
  209. package/dist/components/core/footer-group/FooterGroup.types.d.ts +25 -0
  210. package/dist/components/core/footer-group/FooterGroup.types.js +12 -0
  211. package/dist/components/core/footer-group/footer-group-impl.css +78 -0
  212. package/dist/components/core/icon/Icon.css +40 -0
  213. package/dist/components/core/icon/Icon.d.ts +23 -0
  214. package/dist/components/core/icon/Icon.js +79 -0
  215. package/dist/components/core/icon/Icon.types.d.ts +24 -0
  216. package/dist/components/core/icon/Icon.types.js +7 -0
  217. package/dist/components/core/link/Link.css +89 -0
  218. package/dist/components/core/link/Link.d.ts +37 -0
  219. package/dist/components/core/link/Link.js +141 -0
  220. package/dist/components/core/link/Link.types.d.ts +41 -0
  221. package/dist/components/core/link/Link.types.js +9 -0
  222. package/dist/components/core/link/link-impl.css +168 -0
  223. package/dist/components/core/menu-item/MenuItem.css +70 -0
  224. package/dist/components/core/menu-item/MenuItem.d.ts +11 -0
  225. package/dist/components/core/menu-item/MenuItem.js +26 -0
  226. package/dist/components/core/menu-item/MenuItem.types.d.ts +28 -0
  227. package/dist/components/core/menu-item/MenuItem.types.js +9 -0
  228. package/dist/components/core/navbar/Navbar.css +135 -0
  229. package/dist/components/core/navbar/Navbar.d.ts +36 -0
  230. package/dist/components/core/navbar/Navbar.js +371 -0
  231. package/dist/components/core/navbar/Navbar.types.d.ts +49 -0
  232. package/dist/components/core/navbar/Navbar.types.js +17 -0
  233. package/dist/components/core/navbar/navbar-impl.css +590 -0
  234. package/dist/components/core/navbar-item/NavbarItem.css +75 -0
  235. package/dist/components/core/navbar-item/NavbarItem.d.ts +22 -0
  236. package/dist/components/core/navbar-item/NavbarItem.js +40 -0
  237. package/dist/components/core/navbar-item/NavbarItem.types.d.ts +34 -0
  238. package/dist/components/core/navbar-item/NavbarItem.types.js +10 -0
  239. package/dist/components/core/navbar-menu/NavbarMenu.css +128 -0
  240. package/dist/components/core/navbar-menu/NavbarMenu.d.ts +5 -0
  241. package/dist/components/core/navbar-menu/NavbarMenu.js +186 -0
  242. package/dist/components/core/navbar-menu/NavbarMenu.types.d.ts +45 -0
  243. package/dist/components/core/navbar-menu/NavbarMenu.types.js +12 -0
  244. package/dist/components/core/navbar-menu/navbar-menu-impl.css +186 -0
  245. package/dist/components/core/navbar-menu-group/NavbarMenuGroup.css +26 -0
  246. package/dist/components/core/navbar-menu-group/NavbarMenuGroup.d.ts +17 -0
  247. package/dist/components/core/navbar-menu-group/NavbarMenuGroup.js +22 -0
  248. package/dist/components/core/navbar-menu-group/NavbarMenuGroup.types.d.ts +14 -0
  249. package/dist/components/core/navbar-menu-group/NavbarMenuGroup.types.js +7 -0
  250. package/dist/components/core/navbar-panel/NavbarPanel.css +87 -0
  251. package/dist/components/core/navbar-panel/NavbarPanel.d.ts +34 -0
  252. package/dist/components/core/navbar-panel/NavbarPanel.js +46 -0
  253. package/dist/components/core/navbar-panel/NavbarPanel.types.d.ts +29 -0
  254. package/dist/components/core/navbar-panel/NavbarPanel.types.js +12 -0
  255. package/dist/components/core/navbar-panel/navbar-panel-impl.css +104 -0
  256. package/dist/components/core/navbar-panel/use-navbar-panel.d.ts +26 -0
  257. package/dist/components/core/navbar-panel/use-navbar-panel.js +135 -0
  258. package/dist/components/core/navbar-switcher/NavbarSwitcher.css +117 -0
  259. package/dist/components/core/navbar-switcher/NavbarSwitcher.d.ts +20 -0
  260. package/dist/components/core/navbar-switcher/NavbarSwitcher.js +90 -0
  261. package/dist/components/core/navbar-switcher/NavbarSwitcher.types.d.ts +46 -0
  262. package/dist/components/core/navbar-switcher/NavbarSwitcher.types.js +13 -0
  263. package/dist/components/core/navbar-switcher/navbar-switcher-impl.css +179 -0
  264. package/dist/components/core/navbar-switcher-option/NavbarSwitcherOption.css +39 -0
  265. package/dist/components/core/navbar-switcher-option/NavbarSwitcherOption.d.ts +16 -0
  266. package/dist/components/core/navbar-switcher-option/NavbarSwitcherOption.js +19 -0
  267. package/dist/components/core/navbar-switcher-option/NavbarSwitcherOption.types.d.ts +18 -0
  268. package/dist/components/core/navbar-switcher-option/NavbarSwitcherOption.types.js +7 -0
  269. package/dist/components/core/option/Option.css +133 -0
  270. package/dist/components/core/option/Option.d.ts +25 -0
  271. package/dist/components/core/option/Option.js +31 -0
  272. package/dist/components/core/option/Option.types.d.ts +44 -0
  273. package/dist/components/core/option/Option.types.js +14 -0
  274. package/dist/components/core/pagination/Pagination.css +237 -0
  275. package/dist/components/core/pagination/Pagination.d.ts +30 -0
  276. package/dist/components/core/pagination/Pagination.js +406 -0
  277. package/dist/components/core/pagination/Pagination.types.d.ts +59 -0
  278. package/dist/components/core/pagination/Pagination.types.js +14 -0
  279. package/dist/components/core/pagination/pagination-impl.css +17 -0
  280. package/dist/components/core/removable-chip/RemovableChip.css +125 -0
  281. package/dist/components/core/removable-chip/RemovableChip.d.ts +25 -0
  282. package/dist/components/core/removable-chip/RemovableChip.js +36 -0
  283. package/dist/components/core/removable-chip/RemovableChip.types.d.ts +38 -0
  284. package/dist/components/core/removable-chip/RemovableChip.types.js +13 -0
  285. package/dist/components/core/search-input/SearchInput.css +205 -0
  286. package/dist/components/core/search-input/SearchInput.d.ts +5 -0
  287. package/dist/components/core/search-input/SearchInput.js +81 -0
  288. package/dist/components/core/search-input/SearchInput.types.d.ts +43 -0
  289. package/dist/components/core/search-input/SearchInput.types.js +13 -0
  290. package/dist/components/core/search-input/search-input-impl.css +20 -0
  291. package/dist/components/core/segmented-control/SegmentedControl.css +57 -0
  292. package/dist/components/core/segmented-control/SegmentedControl.d.ts +37 -0
  293. package/dist/components/core/segmented-control/SegmentedControl.js +269 -0
  294. package/dist/components/core/segmented-control/SegmentedControl.types.d.ts +38 -0
  295. package/dist/components/core/segmented-control/SegmentedControl.types.js +8 -0
  296. package/dist/components/core/segmented-control/segmented-control-impl.css +57 -0
  297. package/dist/components/core/segmented-control-item/SegmentedControlItem.css +151 -0
  298. package/dist/components/core/segmented-control-item/SegmentedControlItem.d.ts +50 -0
  299. package/dist/components/core/segmented-control-item/SegmentedControlItem.js +101 -0
  300. package/dist/components/core/segmented-control-item/SegmentedControlItem.types.d.ts +37 -0
  301. package/dist/components/core/segmented-control-item/SegmentedControlItem.types.js +10 -0
  302. package/dist/components/core/segmented-control-item/segmented-control-item-impl.css +69 -0
  303. package/dist/components/core/select/Select.css +400 -0
  304. package/dist/components/core/select/Select.d.ts +29 -0
  305. package/dist/components/core/select/Select.js +524 -0
  306. package/dist/components/core/select/Select.types.d.ts +96 -0
  307. package/dist/components/core/select/Select.types.js +26 -0
  308. package/dist/components/core/select/select-impl.css +114 -0
  309. package/dist/components/core/select-chip/SelectChip.css +155 -0
  310. package/dist/components/core/select-chip/SelectChip.d.ts +20 -0
  311. package/dist/components/core/select-chip/SelectChip.js +273 -0
  312. package/dist/components/core/select-chip/SelectChip.types.d.ts +56 -0
  313. package/dist/components/core/select-chip/SelectChip.types.js +14 -0
  314. package/dist/components/core/select-chip/select-chip-impl.css +38 -0
  315. package/dist/components/core/spinner/Spinner.css +76 -0
  316. package/dist/components/core/spinner/Spinner.d.ts +5 -0
  317. package/dist/components/core/spinner/Spinner.js +29 -0
  318. package/dist/components/core/spinner/Spinner.types.d.ts +37 -0
  319. package/dist/components/core/spinner/Spinner.types.js +10 -0
  320. package/dist/components/core/spinner/spinner-impl.css +27 -0
  321. package/dist/components/core/status-dot/StatusDot.css +43 -0
  322. package/dist/components/core/status-dot/StatusDot.d.ts +35 -0
  323. package/dist/components/core/status-dot/StatusDot.js +46 -0
  324. package/dist/components/core/status-dot/StatusDot.types.d.ts +29 -0
  325. package/dist/components/core/status-dot/StatusDot.types.js +7 -0
  326. package/dist/components/core/status-dot/status-dot-impl.css +42 -0
  327. package/dist/components/core/subdomain-navbar/SubdomainNavbar.css +89 -0
  328. package/dist/components/core/subdomain-navbar/SubdomainNavbar.d.ts +21 -0
  329. package/dist/components/core/subdomain-navbar/SubdomainNavbar.js +127 -0
  330. package/dist/components/core/subdomain-navbar/SubdomainNavbar.types.d.ts +43 -0
  331. package/dist/components/core/subdomain-navbar/SubdomainNavbar.types.js +13 -0
  332. package/dist/components/core/subdomain-navbar/subdomain-navbar-impl.css +147 -0
  333. package/dist/components/core/tab/Tab.css +113 -0
  334. package/dist/components/core/tab/Tab.d.ts +36 -0
  335. package/dist/components/core/tab/Tab.js +53 -0
  336. package/dist/components/core/tab/Tab.types.d.ts +42 -0
  337. package/dist/components/core/tab/Tab.types.js +13 -0
  338. package/dist/components/core/tab/tab-impl.css +49 -0
  339. package/dist/components/core/tab-list/TabList.css +40 -0
  340. package/dist/components/core/tab-list/TabList.d.ts +26 -0
  341. package/dist/components/core/tab-list/TabList.js +124 -0
  342. package/dist/components/core/tab-list/TabList.types.d.ts +20 -0
  343. package/dist/components/core/tab-list/TabList.types.js +7 -0
  344. package/dist/components/core/tab-list/tab-list-impl.css +56 -0
  345. package/dist/components/core/table/Table.css +40 -0
  346. package/dist/components/core/table/Table.d.ts +19 -0
  347. package/dist/components/core/table/Table.js +55 -0
  348. package/dist/components/core/table/Table.types.d.ts +59 -0
  349. package/dist/components/core/table/Table.types.js +9 -0
  350. package/dist/components/core/table/table-impl.css +75 -0
  351. package/dist/components/core/table/use-table-sort.d.ts +43 -0
  352. package/dist/components/core/table/use-table-sort.js +51 -0
  353. package/dist/components/core/table-body/TableBody.css +6 -0
  354. package/dist/components/core/table-body/TableBody.d.ts +12 -0
  355. package/dist/components/core/table-body/TableBody.js +26 -0
  356. package/dist/components/core/table-body/TableBody.types.d.ts +36 -0
  357. package/dist/components/core/table-body/TableBody.types.js +7 -0
  358. package/dist/components/core/table-cell/TableCell.css +76 -0
  359. package/dist/components/core/table-cell/TableCell.d.ts +21 -0
  360. package/dist/components/core/table-cell/TableCell.js +31 -0
  361. package/dist/components/core/table-cell/TableCell.types.d.ts +43 -0
  362. package/dist/components/core/table-cell/TableCell.types.js +7 -0
  363. package/dist/components/core/table-head/TableHead.css +6 -0
  364. package/dist/components/core/table-head/TableHead.d.ts +22 -0
  365. package/dist/components/core/table-head/TableHead.js +52 -0
  366. package/dist/components/core/table-head/TableHead.types.d.ts +39 -0
  367. package/dist/components/core/table-head/TableHead.types.js +7 -0
  368. package/dist/components/core/table-head/table-head-impl.css +51 -0
  369. package/dist/components/core/table-header-cell/TableHeaderCell.css +126 -0
  370. package/dist/components/core/table-header-cell/TableHeaderCell.d.ts +21 -0
  371. package/dist/components/core/table-header-cell/TableHeaderCell.js +34 -0
  372. package/dist/components/core/table-header-cell/TableHeaderCell.types.d.ts +56 -0
  373. package/dist/components/core/table-header-cell/TableHeaderCell.types.js +9 -0
  374. package/dist/components/core/table-header-cell/table-header-cell-impl.css +74 -0
  375. package/dist/components/core/table-row/TableRow.css +18 -0
  376. package/dist/components/core/table-row/TableRow.d.ts +17 -0
  377. package/dist/components/core/table-row/TableRow.js +32 -0
  378. package/dist/components/core/table-row/TableRow.types.d.ts +45 -0
  379. package/dist/components/core/table-row/TableRow.types.js +7 -0
  380. package/dist/components/core/table-row/table-row-impl.css +31 -0
  381. package/dist/components/core/text-area/TextArea.css +325 -0
  382. package/dist/components/core/text-area/TextArea.d.ts +13 -0
  383. package/dist/components/core/text-area/TextArea.js +133 -0
  384. package/dist/components/core/text-area/TextArea.types.d.ts +67 -0
  385. package/dist/components/core/text-area/TextArea.types.js +19 -0
  386. package/dist/components/core/text-area/text-area-impl.css +36 -0
  387. package/dist/components/core/text-input/TextInput.css +400 -0
  388. package/dist/components/core/text-input/TextInput.d.ts +5 -0
  389. package/dist/components/core/text-input/TextInput.js +130 -0
  390. package/dist/components/core/text-input/TextInput.types.d.ts +96 -0
  391. package/dist/components/core/text-input/TextInput.types.js +24 -0
  392. package/dist/components/core/text-input/text-input-impl.css +36 -0
  393. package/dist/components/core/tooltip/Tooltip.css +101 -0
  394. package/dist/components/core/tooltip/Tooltip.d.ts +51 -0
  395. package/dist/components/core/tooltip/Tooltip.js +87 -0
  396. package/dist/components/core/tooltip/Tooltip.types.d.ts +38 -0
  397. package/dist/components/core/tooltip/Tooltip.types.js +9 -0
  398. package/dist/components/core/tooltip/TooltipAnchor.d.ts +52 -0
  399. package/dist/components/core/tooltip/TooltipAnchor.js +69 -0
  400. package/dist/components/core/tooltip/tooltip-anchor.css +145 -0
  401. package/dist/components/core/tooltip/tooltip-impl.css +54 -0
  402. package/dist/components/core/tooltip/use-tooltip.d.ts +111 -0
  403. package/dist/components/core/tooltip/use-tooltip.js +189 -0
  404. package/dist/components/core/typography/Typography.css +96 -0
  405. package/dist/components/core/typography/Typography.d.ts +297 -0
  406. package/dist/components/core/typography/Typography.js +28 -0
  407. package/dist/components/core/typography/Typography.types.d.ts +40 -0
  408. package/dist/components/core/typography/Typography.types.js +7 -0
  409. package/dist/components/css-time.d.ts +20 -0
  410. package/dist/components/css-time.js +30 -0
  411. package/dist/components/given.d.ts +7 -0
  412. package/dist/components/given.js +9 -0
  413. package/dist/components/hover-open.d.ts +34 -0
  414. package/dist/components/hover-open.js +90 -0
  415. package/dist/components/index.d.ts +114 -1
  416. package/dist/components/index.js +115 -2
  417. package/dist/components/layout/aspect-ratio/AspectRatio.css +29 -0
  418. package/dist/components/layout/aspect-ratio/AspectRatio.d.ts +24 -0
  419. package/dist/components/layout/aspect-ratio/AspectRatio.js +26 -0
  420. package/dist/components/layout/aspect-ratio/AspectRatio.types.d.ts +22 -0
  421. package/dist/components/layout/aspect-ratio/AspectRatio.types.js +7 -0
  422. package/dist/components/layout/aspect-ratio/aspect-ratio-impl.css +44 -0
  423. package/dist/components/layout/grid/Grid.css +76 -0
  424. package/dist/components/layout/grid/Grid.d.ts +31 -0
  425. package/dist/components/layout/grid/Grid.js +33 -0
  426. package/dist/components/layout/grid/Grid.types.d.ts +48 -0
  427. package/dist/components/layout/grid/Grid.types.js +7 -0
  428. package/dist/components/layout/grid/grid-impl.css +62 -0
  429. package/dist/components/layout/row/Row.css +85 -0
  430. package/dist/components/layout/row/Row.d.ts +32 -0
  431. package/dist/components/layout/row/Row.js +34 -0
  432. package/dist/components/layout/row/Row.types.d.ts +45 -0
  433. package/dist/components/layout/row/Row.types.js +7 -0
  434. package/dist/components/layout/scroller/Scroller.css +59 -0
  435. package/dist/components/layout/scroller/Scroller.d.ts +34 -0
  436. package/dist/components/layout/scroller/Scroller.js +36 -0
  437. package/dist/components/layout/scroller/Scroller.types.d.ts +38 -0
  438. package/dist/components/layout/scroller/Scroller.types.js +7 -0
  439. package/dist/components/layout/scroller/scroller-impl.css +45 -0
  440. package/dist/components/layout/stack/Stack.css +73 -0
  441. package/dist/components/layout/stack/Stack.d.ts +28 -0
  442. package/dist/components/layout/stack/Stack.js +30 -0
  443. package/dist/components/layout/stack/Stack.types.d.ts +41 -0
  444. package/dist/components/layout/stack/Stack.types.js +7 -0
  445. package/dist/components/visually-hidden.d.ts +22 -0
  446. package/dist/components/visually-hidden.js +31 -0
  447. package/dist/fonts/LICENSE-inter.txt +93 -0
  448. package/dist/fonts/LICENSE-red-hat-mono.txt +93 -0
  449. package/dist/fonts/fonts.css +111 -0
  450. package/dist/fonts/inter-cyrillic-ext-wght-normal.woff2 +0 -0
  451. package/dist/fonts/inter-cyrillic-wght-normal.woff2 +0 -0
  452. package/dist/fonts/inter-greek-ext-wght-normal.woff2 +0 -0
  453. package/dist/fonts/inter-greek-wght-normal.woff2 +0 -0
  454. package/dist/fonts/inter-latin-ext-wght-normal.woff2 +0 -0
  455. package/dist/fonts/inter-latin-wght-normal.woff2 +0 -0
  456. package/dist/fonts/inter-vietnamese-wght-normal.woff2 +0 -0
  457. package/dist/fonts/red-hat-mono-latin-ext-wght-normal.woff2 +0 -0
  458. package/dist/fonts/red-hat-mono-latin-wght-normal.woff2 +0 -0
  459. package/dist/marketing.css +289 -241
  460. package/package.json +18 -4
@@ -0,0 +1,19 @@
1
+ 'use client';
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import './NavbarSwitcherOption.css';
4
+ import { navbarSwitcherOptionDefaults, navbarSwitcherOptionParts, } from './NavbarSwitcherOption.types.js';
5
+ /**
6
+ * One choice inside a NavbarSwitcher.
7
+ *
8
+ * A `<button>`, not a link. Choosing a language changes how the page a reader is already on is
9
+ * drawn — no navigation, no history entry, nothing for the back button to undo — and a row that
10
+ * claimed to be a link would be wrong to the browser, the back button and every assistive
11
+ * technology at once.
12
+ *
13
+ * It takes the ink around it rather than naming one, except when it is the choice in force. A
14
+ * switcher's options are drawn on whatever surface holds them, and a row that named a colour would
15
+ * be the one thing on that surface not answering to it.
16
+ */
17
+ export function NavbarSwitcherOption({ current = navbarSwitcherOptionDefaults.current, onSelect, children, ...rest }) {
18
+ return (_jsx("button", { ...rest, type: "button", className: navbarSwitcherOptionParts.root, "data-current": String(current), "aria-current": current, onClick: onSelect, children: children }));
19
+ }
@@ -0,0 +1,18 @@
1
+ import type { ReactNode } from 'react';
2
+ export interface NavbarSwitcherOptionOwnProps {
3
+ /** This is the choice in force — the language the page is being read in. Exactly one of a set carries it */
4
+ current?: boolean;
5
+ /** Always. Choosing is the whole of what this does, and a row that reported nothing would be a row that did nothing */
6
+ onSelect: () => void;
7
+ /** Allowed: text */
8
+ children: ReactNode;
9
+ }
10
+ export type NavbarSwitcherOptionProps = NavbarSwitcherOptionOwnProps;
11
+ /** The class each part carries. Apply these — do not retype them. */
12
+ export declare const navbarSwitcherOptionParts: {
13
+ readonly root: "dds-navbarswitcheroption";
14
+ };
15
+ /** Generated so defaults cannot drift from the contract. */
16
+ export declare const navbarSwitcherOptionDefaults: {
17
+ readonly current: false;
18
+ };
@@ -0,0 +1,7 @@
1
+ // GENERATED from navbar-switcher-option.contract.json. Do not edit.
2
+ /** The class each part carries. Apply these — do not retype them. */
3
+ export const navbarSwitcherOptionParts = {
4
+ root: 'dds-navbarswitcheroption',
5
+ };
6
+ /** Generated so defaults cannot drift from the contract. */
7
+ export const navbarSwitcherOptionDefaults = { current: false };
@@ -0,0 +1,133 @@
1
+ /* GENERATED from option.contract.json. Do not edit. */
2
+
3
+ :where([data-dds-context="marketing"]) .dds-option {
4
+ transition-property: background-color, opacity;
5
+ align-items: center;
6
+ box-sizing: border-box;
7
+ cursor: pointer;
8
+ display: flex;
9
+ inline-size: 100%;
10
+ justify-content: space-between;
11
+ list-style: none;
12
+ border-radius: var(--radius-menu-item);
13
+ color: var(--color-fg-default);
14
+ gap: var(--space-gap-sm);
15
+ padding-block: var(--space-inset-xs);
16
+ padding-inline: var(--space-inset-sm);
17
+ transition-duration: var(--motion-duration-fast);
18
+ transition-timing-function: var(--motion-easing-standard);
19
+ }
20
+
21
+ :where([data-dds-context="marketing"]) .dds-option .dds-option__leading-icon {
22
+ align-items: center;
23
+ display: flex;
24
+ flex: none;
25
+ }
26
+
27
+ :where([data-dds-context="marketing"]) .dds-option .dds-option__text {
28
+ display: flex;
29
+ flex: auto;
30
+ flex-direction: column;
31
+ min-inline-size: 0;
32
+ overflow: hidden;
33
+ }
34
+
35
+ :where([data-dds-context="marketing"]) .dds-option .dds-option__label {
36
+ transition-property: font-weight;
37
+ overflow: hidden;
38
+ text-overflow: ellipsis;
39
+ white-space: nowrap;
40
+ }
41
+
42
+ :where([data-dds-context="marketing"]) .dds-option .dds-option__description {
43
+ overflow: hidden;
44
+ text-overflow: ellipsis;
45
+ white-space: nowrap;
46
+ }
47
+
48
+ :where([data-dds-context="marketing"]) .dds-option .dds-option__tick {
49
+ align-items: center;
50
+ display: flex;
51
+ flex: none;
52
+ justify-content: center;
53
+ }
54
+
55
+ :where([data-dds-context="marketing"]) .dds-option[data-active="true"] {
56
+ background-color: var(--color-bg-hover);
57
+ }
58
+
59
+ :where([data-dds-context="marketing"]) .dds-option[data-disabled="true"] {
60
+ opacity: var(--opacity-disabled);
61
+ }
62
+
63
+ :where([data-dds-context="marketing"]) .dds-option[data-size="md"] {
64
+ min-block-size: var(--size-control-md);
65
+ }
66
+
67
+ :where([data-dds-context="marketing"]) .dds-option[data-size="md"] .dds-option__description {
68
+ font-family: var(--font-body-sm-family);
69
+ font-size: var(--font-body-sm-size);
70
+ font-weight: var(--font-body-sm-weight);
71
+ line-height: var(--font-body-sm-line-height);
72
+ }
73
+
74
+ :where([data-dds-context="marketing"]) .dds-option[data-size="md"] .dds-option__label {
75
+ font-family: var(--font-body-md-family);
76
+ font-size: var(--font-body-md-size);
77
+ font-weight: var(--font-body-md-weight);
78
+ line-height: var(--font-body-md-line-height);
79
+ }
80
+
81
+ :where([data-dds-context="marketing"]) .dds-option[data-size="md"] .dds-option__leading-icon {
82
+ block-size: var(--icon-size-sm);
83
+ inline-size: var(--icon-size-sm);
84
+ }
85
+
86
+ :where([data-dds-context="marketing"]) .dds-option[data-size="md"] .dds-option__tick {
87
+ min-inline-size: var(--icon-size-sm);
88
+ }
89
+
90
+ :where([data-dds-context="marketing"]) .dds-option[data-size="sm"] {
91
+ min-block-size: var(--size-control-sm);
92
+ }
93
+
94
+ :where([data-dds-context="marketing"]) .dds-option[data-size="sm"] .dds-option__description {
95
+ font-family: var(--font-body-sm-family);
96
+ font-size: var(--font-body-sm-size);
97
+ font-weight: var(--font-body-sm-weight);
98
+ line-height: var(--font-body-sm-line-height);
99
+ }
100
+
101
+ :where([data-dds-context="marketing"]) .dds-option[data-size="sm"] .dds-option__label {
102
+ font-family: var(--font-body-md-family);
103
+ font-size: var(--font-body-md-size);
104
+ font-weight: var(--font-body-md-weight);
105
+ line-height: var(--font-body-md-line-height);
106
+ }
107
+
108
+ :where([data-dds-context="marketing"]) .dds-option[data-size="sm"] .dds-option__leading-icon {
109
+ block-size: var(--icon-size-xs);
110
+ inline-size: var(--icon-size-xs);
111
+ }
112
+
113
+ :where([data-dds-context="marketing"]) .dds-option[data-size="sm"] .dds-option__tick {
114
+ min-inline-size: var(--icon-size-xs);
115
+ }
116
+
117
+ :where([data-dds-context="marketing"]) .dds-option[data-disabled="false"]:hover {
118
+ background-color: var(--color-bg-hover);
119
+ }
120
+
121
+ :where([data-dds-context="marketing"]) .dds-option[data-size="md"][data-selected="true"] .dds-option__label {
122
+ font-weight: var(--font-label-md-weight);
123
+ }
124
+
125
+ :where([data-dds-context="marketing"]) .dds-option[data-size="sm"][data-selected="true"] .dds-option__label {
126
+ font-weight: var(--font-label-md-weight);
127
+ }
128
+
129
+ @media (prefers-reduced-motion: reduce) {
130
+ :where([data-dds-context="marketing"]) .dds-option,
131
+ :where([data-dds-context="marketing"]) .dds-option * { transition: none; }
132
+ }
133
+
@@ -0,0 +1,25 @@
1
+ import './Option.css';
2
+ import { type OptionProps } from './Option.types.js';
3
+ export type { OptionProps };
4
+ /**
5
+ * One answer on offer inside a control that opens a list.
6
+ *
7
+ * It knows what it is worth and what to call itself. Everything else about it —
8
+ * whether it is the answer, whether the arrow keys are on it, how tall to be — is
9
+ * passed down, because only the control can see the set and only one row can be
10
+ * right about any of those at a time.
11
+ *
12
+ * Not focusable, which is the pattern rather than an oversight. Focus stays on the
13
+ * trigger while the list is open and the trigger names the active row through
14
+ * `aria-activedescendant`. A row that took focus would be a second tab stop for a
15
+ * single choice, and a set of twenty would be twenty presses on the way to whatever
16
+ * follows the control.
17
+ *
18
+ * Trimmed against product's. There is no checkbox form — that exists for a list
19
+ * several answers may be taken from, which this package has no control for yet —
20
+ * and no match-emboldening, which exists for a control that filters, where this
21
+ * one's own guidance says the set is short enough to scan rather than search.
22
+ * Neither is a gap to fill later by default; each comes back with the control that
23
+ * needs it.
24
+ */
25
+ export declare function Option({ size, selected, active, disabled, value: _value, leadingIcon, description, children, ...rest }: OptionProps): import("react").JSX.Element;
@@ -0,0 +1,31 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { CheckSolidIcon } from '@deriv-com/quill-icons-web';
4
+ import { Icon } from '../icon/Icon.js';
5
+ import { given } from '../../given.js';
6
+ import './Option.css';
7
+ import { optionDefaults, optionGlyphStep, optionParts } from './Option.types.js';
8
+ /**
9
+ * One answer on offer inside a control that opens a list.
10
+ *
11
+ * It knows what it is worth and what to call itself. Everything else about it —
12
+ * whether it is the answer, whether the arrow keys are on it, how tall to be — is
13
+ * passed down, because only the control can see the set and only one row can be
14
+ * right about any of those at a time.
15
+ *
16
+ * Not focusable, which is the pattern rather than an oversight. Focus stays on the
17
+ * trigger while the list is open and the trigger names the active row through
18
+ * `aria-activedescendant`. A row that took focus would be a second tab stop for a
19
+ * single choice, and a set of twenty would be twenty presses on the way to whatever
20
+ * follows the control.
21
+ *
22
+ * Trimmed against product's. There is no checkbox form — that exists for a list
23
+ * several answers may be taken from, which this package has no control for yet —
24
+ * and no match-emboldening, which exists for a control that filters, where this
25
+ * one's own guidance says the set is short enough to scan rather than search.
26
+ * Neither is a gap to fill later by default; each comes back with the control that
27
+ * needs it.
28
+ */
29
+ export function Option({ size = optionDefaults.size, selected = optionDefaults.selected, active = optionDefaults.active, disabled = optionDefaults.disabled, value: _value, leadingIcon, description, children, ...rest }) {
30
+ return (_jsxs("li", { className: optionParts.root, role: "option", "data-size": size, "data-selected": String(selected), "data-active": String(active), "data-disabled": String(disabled), "aria-selected": selected, "aria-disabled": disabled || undefined, ...rest, children: [leadingIcon === undefined ? null : (_jsx("span", { className: optionParts['leading-icon'], "aria-hidden": "true", children: _jsx(Icon, { size: optionGlyphStep[size], children: leadingIcon }) })), _jsxs("span", { className: optionParts.text, children: [_jsx("span", { className: optionParts.label, children: children }), given(description) ? (_jsx("span", { className: optionParts.description, children: description })) : null] }), _jsx("span", { className: optionParts.tick, "aria-hidden": "true", children: selected ? (_jsx(Icon, { size: optionGlyphStep[size], children: _jsx(CheckSolidIcon, {}) })) : null })] }));
31
+ }
@@ -0,0 +1,44 @@
1
+ import type { ReactNode } from 'react';
2
+ export interface OptionOwnProps {
3
+ /**
4
+ * `sm` — The default, and the step a SelectChip at its own default opens
5
+ * `md` — Touch-first, where the row is also the target and a finger has to land inside it
6
+ */
7
+ size?: 'sm' | 'md';
8
+ /** Set by the control that owns the list, not by a page. The row has to say it is the answer and carry aria-selected, and both are facts about the set rather than about the row — a page setting this directly would be claiming an answer the control does not think it has. It is said by the words and the mark rather than by a ground, which leaves the background to mean one thing only */
9
+ selected?: boolean;
10
+ /** Whether the arrow keys are resting here. The control's to set: only the control knows where the keys are, and only one row can be right at a time. It brings the same ground a pointer brings, because they are the same fact in two input modes and a reader should not have to learn two marks for it */
11
+ active?: boolean;
12
+ /** This one answer cannot be taken. The row stays in the list and stays readable, because a set that hides what it will not accept leaves the reader hunting for something that was there last week */
13
+ disabled?: boolean;
14
+ /** What the control reports when this row is taken. A stable code rather than the words, so the words can be reworded or translated without changing what anything submits */
15
+ value: string;
16
+ /** A mark the reader knows the answer by — a flag on a language, a glyph on a market. For a set met before, where recognising is faster than reading. Pass the glyph itself rather than one already wrapped in an Icon: the row wraps it at icon.size.xs on sm and icon.size.sm on md, and the tick at the other end takes the same ramp so the two marks are one size */
17
+ leadingIcon?: ReactNode;
18
+ /** What the name does not say on its own — a code beside a market, where an answer applies. Give it where two answers are hard to tell apart by name, and leave it out where the name is the whole of the answer */
19
+ description?: string;
20
+ /** Allowed: text */
21
+ children: ReactNode;
22
+ }
23
+ export type OptionProps = OptionOwnProps;
24
+ /** The class each part carries. Apply these — do not retype them. */
25
+ export declare const optionParts: {
26
+ readonly root: "dds-option";
27
+ readonly 'leading-icon': "dds-option__leading-icon";
28
+ readonly text: "dds-option__text";
29
+ readonly label: "dds-option__label";
30
+ readonly description: "dds-option__description";
31
+ readonly tick: "dds-option__tick";
32
+ };
33
+ /** Generated so defaults cannot drift from the contract. */
34
+ export declare const optionDefaults: {
35
+ readonly size: "sm";
36
+ readonly selected: false;
37
+ readonly active: false;
38
+ readonly disabled: false;
39
+ };
40
+ /** The step this component draws a glyph slot at. Generated — do not retype. */
41
+ export declare const optionGlyphStep: {
42
+ readonly sm: "xs";
43
+ readonly md: "sm";
44
+ };
@@ -0,0 +1,14 @@
1
+ // GENERATED from option.contract.json. Do not edit.
2
+ /** The class each part carries. Apply these — do not retype them. */
3
+ export const optionParts = {
4
+ root: 'dds-option',
5
+ 'leading-icon': 'dds-option__leading-icon',
6
+ text: 'dds-option__text',
7
+ label: 'dds-option__label',
8
+ description: 'dds-option__description',
9
+ tick: 'dds-option__tick',
10
+ };
11
+ /** Generated so defaults cannot drift from the contract. */
12
+ export const optionDefaults = { size: 'sm', selected: false, active: false, disabled: false };
13
+ /** The step this component draws a glyph slot at. Generated — do not retype. */
14
+ export const optionGlyphStep = { sm: 'xs', md: 'sm' };
@@ -0,0 +1,237 @@
1
+ /* GENERATED from pagination.contract.json. Do not edit. */
2
+
3
+ :where([data-dds-context="marketing"]) .dds-pagination {
4
+ align-items: center;
5
+ box-sizing: border-box;
6
+ display: flex;
7
+ justify-content: center;
8
+ max-inline-size: 100%;
9
+ position: relative;
10
+ gap: var(--space-gap-xs);
11
+ }
12
+
13
+ :where([data-dds-context="marketing"]) .dds-pagination .dds-pagination__list {
14
+ transition-property: gap;
15
+ align-items: center;
16
+ display: flex;
17
+ min-inline-size: 0;
18
+ overflow-x: auto;
19
+ gap: var(--space-gap-xs);
20
+ min-block-size: var(--size-target-min);
21
+ }
22
+
23
+ :where([data-dds-context="marketing"]) .dds-pagination .dds-pagination__summary {
24
+ align-items: center;
25
+ display: flex;
26
+ font-variant-numeric: tabular-nums;
27
+ white-space: nowrap;
28
+ color: var(--color-fg-default);
29
+ font-family: var(--font-label-sm-family);
30
+ font-size: var(--font-label-sm-size);
31
+ font-weight: var(--font-label-sm-weight);
32
+ line-height: var(--font-label-sm-line-height);
33
+ }
34
+
35
+ :where([data-dds-context="marketing"]) .dds-pagination .dds-pagination__dot {
36
+ transition-property: color, min-inline-size, outline-color, outline-width;
37
+ align-items: center;
38
+ appearance: none;
39
+ background-color: transparent;
40
+ box-sizing: border-box;
41
+ cursor: pointer;
42
+ display: flex;
43
+ justify-content: center;
44
+ outline-style: solid;
45
+ border-radius: var(--radius-pill);
46
+ border-width: var(--border-width-none);
47
+ color: var(--color-bg-track);
48
+ min-block-size: var(--size-target-min);
49
+ outline-width: var(--border-width-none);
50
+ transition-duration: var(--motion-duration-fast);
51
+ transition-timing-function: var(--motion-easing-standard);
52
+ }
53
+
54
+ :where([data-dds-context="marketing"]) .dds-pagination .dds-pagination__dot-mark {
55
+ background-color: currentcolor;
56
+ display: block;
57
+ flex: none;
58
+ block-size: var(--size-dot-diameter);
59
+ border-radius: var(--radius-pill);
60
+ inline-size: var(--size-dot-diameter);
61
+ }
62
+
63
+ :where([data-dds-context="marketing"]) .dds-pagination .dds-pagination__step {
64
+ transition-property: background-color, opacity, outline-color, outline-width;
65
+ align-items: center;
66
+ background-color: transparent;
67
+ border-style: none;
68
+ cursor: pointer;
69
+ display: inline-flex;
70
+ justify-content: center;
71
+ outline-style: solid;
72
+ text-decoration-line: none;
73
+ block-size: var(--size-control-sm);
74
+ border-radius: var(--radius-pill);
75
+ color: var(--color-fg-default);
76
+ inline-size: var(--size-control-sm);
77
+ outline-width: var(--border-width-none);
78
+ transition-duration: var(--motion-duration-fast);
79
+ transition-timing-function: var(--motion-easing-standard);
80
+ }
81
+
82
+ :where([data-dds-context="marketing"]) .dds-pagination .dds-pagination__page {
83
+ transition-property: background-color, color, outline-color, outline-width;
84
+ align-items: center;
85
+ background-color: transparent;
86
+ border-style: none;
87
+ cursor: pointer;
88
+ display: inline-flex;
89
+ justify-content: center;
90
+ outline-style: solid;
91
+ text-decoration-line: none;
92
+ block-size: var(--size-control-sm);
93
+ border-radius: var(--radius-pill);
94
+ color: var(--color-fg-default);
95
+ font-family: var(--font-label-sm-family);
96
+ font-size: var(--font-label-sm-size);
97
+ font-weight: var(--font-label-sm-weight);
98
+ line-height: var(--font-label-sm-line-height);
99
+ min-inline-size: var(--size-control-sm);
100
+ outline-width: var(--border-width-none);
101
+ padding-inline: var(--space-inset-sm);
102
+ transition-duration: var(--motion-duration-fast);
103
+ transition-timing-function: var(--motion-easing-standard);
104
+ }
105
+
106
+ :where([data-dds-context="marketing"]) .dds-pagination .dds-pagination__break {
107
+ transition-property: background-color, outline-color, outline-width;
108
+ align-items: center;
109
+ background-color: transparent;
110
+ border-style: none;
111
+ cursor: pointer;
112
+ display: inline-flex;
113
+ justify-content: center;
114
+ outline-style: solid;
115
+ block-size: var(--size-control-sm);
116
+ border-radius: var(--radius-pill);
117
+ color: var(--color-fg-default);
118
+ inline-size: var(--size-control-sm);
119
+ outline-width: var(--border-width-none);
120
+ transition-duration: var(--motion-duration-fast);
121
+ transition-timing-function: var(--motion-easing-standard);
122
+ }
123
+
124
+ :where([data-dds-context="marketing"]) .dds-pagination .dds-pagination__break:hover:where(:not(:disabled)) {
125
+ background-color: var(--color-bg-hover);
126
+ }
127
+
128
+ :where([data-dds-context="marketing"]) .dds-pagination .dds-pagination__dot:hover:where(:not(:disabled)) {
129
+ color: var(--color-bg-track-hover);
130
+ }
131
+
132
+ :where([data-dds-context="marketing"]) .dds-pagination .dds-pagination__page:hover:where(:not(:disabled)) {
133
+ background-color: var(--color-bg-hover);
134
+ }
135
+
136
+ :where([data-dds-context="marketing"]) .dds-pagination .dds-pagination__step:hover:where(:not(:disabled)) {
137
+ background-color: var(--color-bg-hover);
138
+ }
139
+
140
+ :where([data-dds-context="marketing"]) .dds-pagination .dds-pagination__break:active {
141
+ background-color: var(--color-bg-active);
142
+ }
143
+
144
+ :where([data-dds-context="marketing"]) .dds-pagination .dds-pagination__dot:active {
145
+ color: var(--color-bg-track-active);
146
+ }
147
+
148
+ :where([data-dds-context="marketing"]) .dds-pagination .dds-pagination__page:active {
149
+ background-color: var(--color-bg-active);
150
+ }
151
+
152
+ :where([data-dds-context="marketing"]) .dds-pagination .dds-pagination__step:active {
153
+ background-color: var(--color-bg-active);
154
+ }
155
+
156
+ :where([data-dds-context="marketing"]) .dds-pagination .dds-pagination__break:focus-visible {
157
+ outline-color: var(--color-border-focus);
158
+ outline-width: var(--border-width-focus);
159
+ }
160
+
161
+ :where([data-dds-context="marketing"]) .dds-pagination .dds-pagination__dot:focus-visible {
162
+ outline-color: var(--color-border-focus);
163
+ outline-width: var(--border-width-focus);
164
+ }
165
+
166
+ :where([data-dds-context="marketing"]) .dds-pagination .dds-pagination__page:focus-visible {
167
+ outline-color: var(--color-border-focus);
168
+ outline-width: var(--border-width-focus);
169
+ }
170
+
171
+ :where([data-dds-context="marketing"]) .dds-pagination .dds-pagination__step:focus-visible {
172
+ outline-color: var(--color-border-focus);
173
+ outline-width: var(--border-width-focus);
174
+ }
175
+
176
+ :where([data-dds-context="marketing"]) .dds-pagination .dds-pagination__dot[data-current="true"] {
177
+ color: var(--color-bg-strong);
178
+ }
179
+
180
+ :where([data-dds-context="marketing"]) .dds-pagination .dds-pagination__page[data-current="true"] {
181
+ background-color: var(--color-bg-strong);
182
+ color: var(--color-fg-on-strong);
183
+ }
184
+
185
+ :where([data-dds-context="marketing"]) .dds-pagination .dds-pagination__step:disabled:not(:where(:disabled *)) {
186
+ opacity: var(--opacity-disabled);
187
+ }
188
+
189
+ :where([data-dds-context="marketing"]) .dds-pagination[data-show-steps="false"] .dds-pagination__dot {
190
+ min-inline-size: var(--size-target-min);
191
+ }
192
+
193
+ :where([data-dds-context="marketing"]) .dds-pagination[data-show-steps="true"] .dds-pagination__dot {
194
+ min-inline-size: var(--size-dot-diameter);
195
+ }
196
+
197
+ :where([data-dds-context="marketing"]) .dds-pagination[data-variant="compact"] {
198
+ gap: var(--space-gap-sm);
199
+ }
200
+
201
+ :where([data-dds-context="marketing"]) .dds-pagination[data-variant="count"] {
202
+ gap: var(--space-gap-sm);
203
+ }
204
+
205
+ :where([data-dds-context="marketing"]) .dds-pagination[data-variant="none"] {
206
+ gap: var(--space-gap-xs);
207
+ }
208
+
209
+ :where([data-dds-context="marketing"]) .dds-pagination[data-variant="dots"][data-show-steps="false"] .dds-pagination__list {
210
+ gap: var(--space-gap-none);
211
+ }
212
+
213
+ :where([data-dds-context="marketing"]) .dds-pagination[data-variant="dots"][data-show-steps="true"] .dds-pagination__list {
214
+ gap: var(--space-gap-xs);
215
+ }
216
+
217
+ :where([data-dds-context="marketing"]) .dds-pagination .dds-pagination__dot:disabled {
218
+ cursor: not-allowed;
219
+ }
220
+
221
+ :where([data-dds-context="marketing"]) .dds-pagination .dds-pagination__step:disabled {
222
+ cursor: not-allowed;
223
+ }
224
+
225
+ :where([data-dds-context="marketing"]) .dds-pagination .dds-pagination__page:disabled {
226
+ cursor: not-allowed;
227
+ }
228
+
229
+ :where([data-dds-context="marketing"]) .dds-pagination .dds-pagination__break:disabled {
230
+ cursor: not-allowed;
231
+ }
232
+
233
+ @media (prefers-reduced-motion: reduce) {
234
+ :where([data-dds-context="marketing"]) .dds-pagination,
235
+ :where([data-dds-context="marketing"]) .dds-pagination * { transition: none; }
236
+ }
237
+
@@ -0,0 +1,30 @@
1
+ import './Pagination.css';
2
+ import './pagination-impl.css';
3
+ import { type PaginationProps } from './Pagination.types.js';
4
+ export type { PaginationProps };
5
+ /**
6
+ * A `<nav>` holding the ways through a set that has been divided into pages.
7
+ *
8
+ * Nothing about the reader's position is held here. `page` is the consumer's, because the
9
+ * results above this control are theirs too, and the two are one fact — a component keeping
10
+ * its own copy is how a row of numbers comes to disagree with what it describes.
11
+ *
12
+ * The one thing it does hold is how much of the window there is room for, which is not the
13
+ * reader's position but the container's width, and is a fact no consumer can pass because
14
+ * only the row can see it.
15
+ *
16
+ * Every control in the row is drawn here rather than borrowed, which is where this parts
17
+ * company with product's. There the steps are ButtonIcons and the numbered pages are
18
+ * Buttons; this package's ButtonIcon has no disabled state and says so in its own source,
19
+ * being a family of links, and a step at the end of the set has to be disabled rather than
20
+ * removed. Its Button is an anchor with a required href and has no quiet form, so a row of
21
+ * page numbers built from it would be a row of calls to action. Both are correct decisions
22
+ * for what those components are, and neither leaves anything to borrow.
23
+ *
24
+ * What a press is depends on the variant, and on `pageHref`. Given it, every route to a
25
+ * page is an anchor — the numbered targets and both steps — which is what gives a visitor
26
+ * cmd-click, a destination in the status bar and a link a crawler can follow. Without it
27
+ * they are buttons reporting through `onPageChange`. The marks under `dots` are always
28
+ * buttons: a slide has no address.
29
+ */
30
+ export declare function Pagination({ variant, showSteps, page, totalPages, onPageChange, pageHref, totalItems, pageSize, siblingCount, label, previousLabel, nextLabel, morePagesLabel, ...rest }: PaginationProps): import("react").JSX.Element;