@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,90 @@
1
+ /*
2
+ * Scoped to this package, like the generated sheet beside it.
3
+ *
4
+ * `:where([data-dds-context="marketing"])` confines this rule without contributing
5
+ * specificity, so the override below still ties or beats exactly what it did before —
6
+ * it is written a class deeper than it looks in order to match generated CSS, and a
7
+ * scope that carried weight would break it.
8
+ */
9
+
10
+ /*
11
+ * Implementation CSS the contract cannot express.
12
+ *
13
+ * A `structure` rule's `when` must name a styling axis, and `description` is not one.
14
+ * Making it one would emit a rule per value and multiply every cell of the variant grid
15
+ * for a single alignment declaration.
16
+ *
17
+ * What it decides is where the box sits against the words, and the answer differs by what
18
+ * the second line is. Flush with the first line is right when the label wrapped: a box
19
+ * floating to the middle of three lines is level with none of them, and the line it names
20
+ * is the first. Centred is right when the second line is a description, because then the
21
+ * box belongs to the pair rather than to the first half of it.
22
+ *
23
+ * `:has()` is what makes that possible and also the limit of it. CSS can see that a
24
+ * description exists; it cannot see that the label took two lines. So a wrapping label
25
+ * that *also* carries a description centres, which is the one arrangement of the four
26
+ * this rule gets wrong. Written down because it is a known edge rather than an oversight
27
+ * — the fix would be a line count, and there is no such selector.
28
+ *
29
+ * Three classes deep deliberately. The generated rule that sets flex-start is two, and
30
+ * `:has()` takes the specificity of its argument, so a two-class selector here would tie
31
+ * and leave source order to decide it.
32
+ */
33
+ :where([data-dds-context='marketing'])
34
+ .dds-checkbox
35
+ .dds-checkbox__control:has(.dds-checkbox__description-text) {
36
+ align-items: center;
37
+ }
38
+
39
+ /*
40
+ * And where the box sits on the line, which is the other thing no token can say.
41
+ *
42
+ * Product's label is font.body.md at fourteen, so its line box is twenty-one and the
43
+ * twenty-pixel square is half a pixel off the middle of it — near enough that nothing
44
+ * carries the difference. Marketing's body.md is sixteen. The line is twenty-four, the
45
+ * square is still twenty, and `align-items: flex-start` puts the box's top edge on the
46
+ * line box's top edge, which leaves it two pixels above the letters it belongs to.
47
+ *
48
+ * The square stays twenty because that is the mark's size, not the line's: at
49
+ * twenty-four it filled the line and read as a panel beside the words rather than a box
50
+ * in front of them. So the measure is left alone and the position is corrected.
51
+ *
52
+ * Half the difference between the line and the box, taken from the two of them rather
53
+ * than written down: `1lh` is the box's own computed line-height, which it inherits from
54
+ * the row and which is the label's, and the token is the box's own. Retune either and
55
+ * this follows. A browser without `lh` drops the declaration and gets the two pixels
56
+ * back, which is the behaviour this replaces rather than something worse.
57
+ *
58
+ * Only where the row is not already centred. With a description the control centres the
59
+ * box on the pair, and an offset on top of that would push it below the middle it was
60
+ * just put in.
61
+ */
62
+ :where([data-dds-context='marketing'])
63
+ .dds-checkbox
64
+ .dds-checkbox__control:not(:has(.dds-checkbox__description-text))
65
+ > .dds-checkbox__box {
66
+ margin-block-start: calc((1lh - var(--size-checkbox-box)) / 2);
67
+ }
68
+
69
+ /*
70
+ * And the same correction for the mark beside the message, for the same reason.
71
+ *
72
+ * `align-items: flex-start` on the message is the contract's, and right: a message that
73
+ * runs to two lines wants its glyph on the first of them rather than floating to the
74
+ * middle of the pair. What it aligns is the top edges, though, and the glyph is sixteen
75
+ * against a line box of twenty-one — so the mark sat two and a half pixels above the
76
+ * words it belongs to, on every status.
77
+ *
78
+ * Product's message is font.body-strong.sm at twelve, an eighteen-pixel line, so the
79
+ * same glyph is a pixel out there and nobody reads it. This package sets the message in
80
+ * font.body.sm at fourteen, which is what makes the difference visible — the same step
81
+ * up that put the box two pixels off its label.
82
+ *
83
+ * `1lh` is the line the glyph is sitting in, read from the message it inherits from.
84
+ * `--icon-size-xs` is the step the component asks Icon for a few lines above; the two
85
+ * have to be changed together, which is worth saying out loud because nothing here
86
+ * enforces it.
87
+ */
88
+ :where([data-dds-context='marketing']) .dds-checkbox .dds-checkbox__message > .dds-icon {
89
+ margin-block-start: calc((1lh - var(--icon-size-xs)) / 2);
90
+ }
@@ -0,0 +1,41 @@
1
+ /* GENERATED from divider.contract.json. Do not edit. */
2
+
3
+ :where([data-dds-context="marketing"]) .dds-divider {
4
+ align-items: center;
5
+ display: flex;
6
+ gap: var(--space-gap-sm);
7
+ }
8
+
9
+ :where([data-dds-context="marketing"]) .dds-divider .dds-divider__line {
10
+ flex: auto;
11
+ flex-basis: 0;
12
+ background-color: var(--color-border-subtle);
13
+ }
14
+
15
+ :where([data-dds-context="marketing"]) .dds-divider .dds-divider__label {
16
+ white-space: nowrap;
17
+ color: var(--color-fg-tertiary);
18
+ font-family: var(--font-label-sm-family);
19
+ font-size: var(--font-label-sm-size);
20
+ font-weight: var(--font-label-sm-weight);
21
+ letter-spacing: var(--font-label-sm-letter-spacing);
22
+ line-height: var(--font-label-sm-line-height);
23
+ }
24
+
25
+ :where([data-dds-context="marketing"]) .dds-divider[data-orientation="horizontal"] {
26
+ inline-size: 100%;
27
+ }
28
+
29
+ :where([data-dds-context="marketing"]) .dds-divider[data-orientation="vertical"] {
30
+ align-self: stretch;
31
+ flex-direction: column;
32
+ }
33
+
34
+ :where([data-dds-context="marketing"]) .dds-divider[data-orientation="horizontal"] .dds-divider__line {
35
+ block-size: var(--border-width-default);
36
+ }
37
+
38
+ :where([data-dds-context="marketing"]) .dds-divider[data-orientation="vertical"] .dds-divider__line {
39
+ inline-size: var(--border-width-default);
40
+ }
41
+
@@ -0,0 +1,46 @@
1
+ import './Divider.css';
2
+ import { type DividerProps } from './Divider.types.js';
3
+ export type { DividerProps };
4
+ /**
5
+ * A rule between two groups, and one shape for both the bare case and the labelled one.
6
+ *
7
+ * The line is a child rather than a border on the root, because a labelled divider
8
+ * needs two of them and a border cannot be halved. That makes the bare case one
9
+ * element more than an `<hr>` would be, and buys a component whose ink and thickness
10
+ * are bound in exactly one place — and a labelled divider that is this component
11
+ * rather than a second one wearing the same name.
12
+ *
13
+ * Three renderings, and the difference between them is entirely what reaches the
14
+ * accessibility tree:
15
+ *
16
+ * A bare divider is `role="separator"`, which is what says the groups either side of
17
+ * it are different groups. Vertical adds `aria-orientation`, and horizontal
18
+ * deliberately does not: a separator is horizontal by default, so writing it there
19
+ * would be stating the default out loud.
20
+ *
21
+ * A labelled divider is not a separator at all. A non-focusable separator's children
22
+ * are presentational to a screen reader — the ARIA spec's own list — so a word inside
23
+ * one is drawn and never announced, which is the exact opposite of why anybody puts a
24
+ * word in a divider. With the role dropped, the word is ordinary text on the page and
25
+ * is read as such, and the two lines either side of it are decoration, which is all
26
+ * they ever were. `aria-orientation` goes with the role rather than staying behind: an
27
+ * orientation on a box that is not a separator describes nothing.
28
+ *
29
+ * A decorative divider is hidden outright. `aria-hidden` rather than
30
+ * `role="presentation"`: the bare case has no children to worry about, so the two
31
+ * would be equivalent here — but this component can hold a child, and
32
+ * `role="presentation"` does not travel to one. The type makes that pairing
33
+ * impossible, and the attribute that survives a future where it is not is the one to
34
+ * write now.
35
+ *
36
+ * The label is read for truth rather than for presence. `presentWhen` in the contract
37
+ * names the prop, and the generated test renders `label=""` and asserts the part is
38
+ * *not* there — an empty string is a word nobody typed, and a span holding nothing
39
+ * would still open the root's gap on both sides of it and split the rule in two
40
+ * around a space.
41
+ *
42
+ * The spread goes first, so a consumer can override what is not load-bearing and
43
+ * cannot override what is. Everything this component decides about semantics is
44
+ * written after it.
45
+ */
46
+ export declare function Divider({ orientation, decorative, label, ...rest }: DividerProps): import("react").JSX.Element;
@@ -0,0 +1,51 @@
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import './Divider.css';
3
+ import { dividerDefaults, dividerParts } from './Divider.types.js';
4
+ /**
5
+ * A rule between two groups, and one shape for both the bare case and the labelled one.
6
+ *
7
+ * The line is a child rather than a border on the root, because a labelled divider
8
+ * needs two of them and a border cannot be halved. That makes the bare case one
9
+ * element more than an `<hr>` would be, and buys a component whose ink and thickness
10
+ * are bound in exactly one place — and a labelled divider that is this component
11
+ * rather than a second one wearing the same name.
12
+ *
13
+ * Three renderings, and the difference between them is entirely what reaches the
14
+ * accessibility tree:
15
+ *
16
+ * A bare divider is `role="separator"`, which is what says the groups either side of
17
+ * it are different groups. Vertical adds `aria-orientation`, and horizontal
18
+ * deliberately does not: a separator is horizontal by default, so writing it there
19
+ * would be stating the default out loud.
20
+ *
21
+ * A labelled divider is not a separator at all. A non-focusable separator's children
22
+ * are presentational to a screen reader — the ARIA spec's own list — so a word inside
23
+ * one is drawn and never announced, which is the exact opposite of why anybody puts a
24
+ * word in a divider. With the role dropped, the word is ordinary text on the page and
25
+ * is read as such, and the two lines either side of it are decoration, which is all
26
+ * they ever were. `aria-orientation` goes with the role rather than staying behind: an
27
+ * orientation on a box that is not a separator describes nothing.
28
+ *
29
+ * A decorative divider is hidden outright. `aria-hidden` rather than
30
+ * `role="presentation"`: the bare case has no children to worry about, so the two
31
+ * would be equivalent here — but this component can hold a child, and
32
+ * `role="presentation"` does not travel to one. The type makes that pairing
33
+ * impossible, and the attribute that survives a future where it is not is the one to
34
+ * write now.
35
+ *
36
+ * The label is read for truth rather than for presence. `presentWhen` in the contract
37
+ * names the prop, and the generated test renders `label=""` and asserts the part is
38
+ * *not* there — an empty string is a word nobody typed, and a span holding nothing
39
+ * would still open the root's gap on both sides of it and split the rule in two
40
+ * around a space.
41
+ *
42
+ * The spread goes first, so a consumer can override what is not load-bearing and
43
+ * cannot override what is. Everything this component decides about semantics is
44
+ * written after it.
45
+ */
46
+ export function Divider({ orientation = dividerDefaults.orientation, decorative = dividerDefaults.decorative, label, ...rest }) {
47
+ // A word, rather than a prop that was passed. See above: "" is not a label.
48
+ const labelled = typeof label === 'string' && label !== '';
49
+ const separator = !decorative && !labelled;
50
+ return (_jsxs("div", { ...rest, className: dividerParts.root, "data-orientation": orientation, role: separator ? 'separator' : undefined, "aria-orientation": separator && orientation === 'vertical' ? 'vertical' : undefined, "aria-hidden": decorative ? true : undefined, children: [_jsx("span", { className: dividerParts.line }), labelled ? (_jsxs(_Fragment, { children: [_jsx("span", { className: dividerParts.label, children: label }), _jsx("span", { className: dividerParts.line })] })) : null] }));
51
+ }
@@ -0,0 +1,25 @@
1
+ export interface DividerOwnProps {
2
+ /**
3
+ * `horizontal` — The default, and nearly every divider: a rule across a stack, separating what is above it from what is below. It takes all of whatever contains it rather than waiting to be stretched, so it spans a block, a flex column and a centred grid cell alike — and in a flex row, where it has no business being, it takes the row's whole width rather than a share of it, which is the sign that the rule wanted the other axis
4
+ * `vertical` — A rule down a row, separating items beside one another. It stretches to the height of the row rather than declaring one, so it is exactly as tall as what it stands between — and in a container with no height of its own it draws nothing, which is the mirror of the horizontal case and the same thing to check first
5
+ */
6
+ orientation?: 'horizontal' | 'vertical';
7
+ }
8
+ export type DividerProps = DividerOwnProps & ({
9
+ decorative?: boolean;
10
+ label?: undefined;
11
+ } | {
12
+ decorative?: false;
13
+ label?: string;
14
+ });
15
+ /** The class each part carries. Apply these — do not retype them. */
16
+ export declare const dividerParts: {
17
+ readonly root: "dds-divider";
18
+ readonly line: "dds-divider__line";
19
+ readonly label: "dds-divider__label";
20
+ };
21
+ /** Generated so defaults cannot drift from the contract. */
22
+ export declare const dividerDefaults: {
23
+ readonly orientation: "horizontal";
24
+ readonly decorative: false;
25
+ };
@@ -0,0 +1,9 @@
1
+ // GENERATED from divider.contract.json. Do not edit.
2
+ /** The class each part carries. Apply these — do not retype them. */
3
+ export const dividerParts = {
4
+ root: 'dds-divider',
5
+ line: 'dds-divider__line',
6
+ label: 'dds-divider__label',
7
+ };
8
+ /** Generated so defaults cannot drift from the contract. */
9
+ export const dividerDefaults = { orientation: 'horizontal', decorative: false };
@@ -0,0 +1,146 @@
1
+ /* GENERATED from dropdownmenu.contract.json. Do not edit. */
2
+
3
+ :where([data-dds-context="marketing"]) .dds-dropdownmenu {
4
+ display: inline-flex;
5
+ position: relative;
6
+ }
7
+
8
+ :where([data-dds-context="marketing"]) .dds-dropdownmenu .dds-dropdownmenu__trigger {
9
+ transition-property: background-color, outline-color, outline-width;
10
+ align-items: center;
11
+ background-color: transparent;
12
+ border-style: solid;
13
+ box-sizing: border-box;
14
+ cursor: pointer;
15
+ display: inline-flex;
16
+ flex-direction: row;
17
+ justify-content: center;
18
+ outline-style: solid;
19
+ position: relative;
20
+ white-space: nowrap;
21
+ block-size: var(--size-control-md);
22
+ border-color: var(--color-border-strong);
23
+ border-radius: var(--radius-pill);
24
+ border-width: var(--border-width-emphasis);
25
+ color: var(--color-fg-default);
26
+ gap: var(--space-gap-sm);
27
+ outline-width: var(--border-width-none);
28
+ padding-inline: var(--space-control-md);
29
+ transition-duration: var(--motion-duration-normal);
30
+ transition-timing-function: var(--motion-easing-standard);
31
+ }
32
+
33
+ :where([data-dds-context="marketing"]) .dds-dropdownmenu .dds-dropdownmenu__surface {
34
+ border-style: solid;
35
+ box-sizing: border-box;
36
+ inline-size: max-content;
37
+ inset-block-start: 100%;
38
+ list-style: none;
39
+ margin: 0;
40
+ min-inline-size: 100%;
41
+ overflow-y: auto;
42
+ position: absolute;
43
+ background-color: var(--color-bg-surface-raised);
44
+ border-color: var(--color-border-subtle);
45
+ border-radius: var(--radius-menu);
46
+ border-width: var(--border-width-default);
47
+ box-shadow: var(--elevation-surface-floating);
48
+ margin-block-start: var(--space-gap-sm);
49
+ max-block-size: var(--size-menu-max);
50
+ padding-block: var(--space-inset-2xs);
51
+ padding-inline: var(--space-inset-2xs);
52
+ }
53
+
54
+ :where([data-dds-context="marketing"]) .dds-dropdownmenu[data-variant="plain"] .dds-dropdownmenu__trigger {
55
+ color: inherit;
56
+ border-width: var(--border-width-none);
57
+ }
58
+
59
+ :where([data-dds-context="marketing"]) .dds-dropdownmenu[data-alignment="end"] .dds-dropdownmenu__surface {
60
+ inset-inline-end: 0;
61
+ inset-inline-start: auto;
62
+ }
63
+
64
+ :where([data-dds-context="marketing"]) .dds-dropdownmenu[data-alignment="start"] .dds-dropdownmenu__surface {
65
+ inset-inline-end: auto;
66
+ inset-inline-start: 0;
67
+ }
68
+
69
+ :where([data-dds-context="marketing"]) .dds-dropdownmenu .dds-dropdownmenu__chevron {
70
+ block-size: var(--icon-control-lg);
71
+ color: var(--color-fg-muted);
72
+ inline-size: var(--icon-control-lg);
73
+ transition-duration: var(--motion-duration-fast);
74
+ transition-timing-function: var(--motion-easing-standard);
75
+ }
76
+
77
+ :where([data-dds-context="marketing"]) .dds-dropdownmenu .dds-dropdownmenu__icon {
78
+ block-size: var(--icon-control-lg);
79
+ inline-size: var(--icon-control-lg);
80
+ }
81
+
82
+ :where([data-dds-context="marketing"]) .dds-dropdownmenu .dds-dropdownmenu__label {
83
+ font-family: var(--font-label-md-family);
84
+ font-size: var(--font-label-md-size);
85
+ font-weight: var(--font-label-md-weight);
86
+ letter-spacing: var(--font-label-md-letter-spacing);
87
+ line-height: var(--font-label-md-line-height);
88
+ }
89
+
90
+ :where([data-dds-context="marketing"]) .dds-dropdownmenu .dds-dropdownmenu__trigger:hover:where(:not(:disabled)) {
91
+ background-color: var(--color-bg-hover);
92
+ }
93
+
94
+ :where([data-dds-context="marketing"]) .dds-dropdownmenu .dds-dropdownmenu__trigger:active {
95
+ background-color: var(--color-bg-active);
96
+ }
97
+
98
+ :where([data-dds-context="marketing"]) .dds-dropdownmenu .dds-dropdownmenu__trigger:focus-visible {
99
+ outline-color: var(--color-border-focus);
100
+ outline-width: var(--border-width-focus);
101
+ }
102
+
103
+ :where([data-dds-context="marketing"]) .dds-dropdownmenu[data-size="sm"] .dds-dropdownmenu__chevron {
104
+ block-size: var(--icon-control-md);
105
+ inline-size: var(--icon-control-md);
106
+ }
107
+
108
+ :where([data-dds-context="marketing"]) .dds-dropdownmenu[data-size="sm"] .dds-dropdownmenu__icon {
109
+ block-size: var(--icon-control-md);
110
+ inline-size: var(--icon-control-md);
111
+ }
112
+
113
+ :where([data-dds-context="marketing"]) .dds-dropdownmenu[data-size="sm"] .dds-dropdownmenu__label {
114
+ font-family: var(--font-label-sm-family);
115
+ font-size: var(--font-label-sm-size);
116
+ font-weight: var(--font-label-sm-weight);
117
+ letter-spacing: var(--font-label-sm-letter-spacing);
118
+ line-height: var(--font-label-sm-line-height);
119
+ }
120
+
121
+ :where([data-dds-context="marketing"]) .dds-dropdownmenu[data-size="sm"] .dds-dropdownmenu__trigger {
122
+ block-size: var(--size-control-sm);
123
+ padding-inline: var(--space-control-sm);
124
+ }
125
+
126
+ :where([data-dds-context="marketing"]) .dds-dropdownmenu[data-tone="inverse"] .dds-dropdownmenu__trigger:hover:where(:not(:disabled)) {
127
+ background-color: var(--color-bg-hover-inverse);
128
+ }
129
+
130
+ :where([data-dds-context="marketing"]) .dds-dropdownmenu[data-tone="inverse"] .dds-dropdownmenu__trigger:active {
131
+ background-color: var(--color-bg-active-inverse);
132
+ }
133
+
134
+ :where([data-dds-context="marketing"]) .dds-dropdownmenu[data-tone="inverse"] .dds-dropdownmenu__trigger:focus-visible {
135
+ outline-color: var(--color-border-focus-inverse);
136
+ }
137
+
138
+ :where([data-dds-context="marketing"]) .dds-dropdownmenu[data-variant="plain"][data-size="sm"] .dds-dropdownmenu__trigger {
139
+ block-size: var(--size-control-md);
140
+ }
141
+
142
+ @media (prefers-reduced-motion: reduce) {
143
+ :where([data-dds-context="marketing"]) .dds-dropdownmenu,
144
+ :where([data-dds-context="marketing"]) .dds-dropdownmenu * { transition: none; }
145
+ }
146
+
@@ -0,0 +1,22 @@
1
+ import './DropdownMenu.css';
2
+ import './dropdown-menu-impl.css';
3
+ import { type DropdownMenuProps } from './DropdownMenu.types.js';
4
+ export type { DropdownMenuProps };
5
+ /**
6
+ * A button that opens a short set of destinations.
7
+ *
8
+ * It is the host MenuItem was written against: a row whose role is `menuitem` announces wrong
9
+ * outside an element whose role is `menu`, so what this adds is everything a row cannot know about
10
+ * itself — that there is a set, how long it is, which one the visitor is on, and that Escape puts
11
+ * them back on the button they pressed.
12
+ *
13
+ * The trigger is drawn here rather than passed in, which is where this parts company with product's
14
+ * menu of the same name. That is forced rather than chosen: this package's Button is an anchor with
15
+ * a required `href`, so it is a link and a link that opens a menu does not navigate; ButtonIcon is a
16
+ * real button and takes no words. A set of destinations is chosen by reading it, so the trigger
17
+ * needs words, and nothing here draws a button with words.
18
+ *
19
+ * Focus moves to the rows themselves rather than being described from the trigger. A menu's rows are
20
+ * things to take, and a visitor pressing Enter should be pressing the thing they are on.
21
+ */
22
+ export declare function DropdownMenu(props: DropdownMenuProps): import("react").JSX.Element;