@dxc-technology/halstack-react 0.0.0-8710cb0 → 0.0.0-87842b8

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 (441) hide show
  1. package/BackgroundColorContext.d.ts +1 -0
  2. package/BackgroundColorContext.js +6 -26
  3. package/HalstackContext.d.ts +1249 -0
  4. package/HalstackContext.js +310 -0
  5. package/README.md +47 -0
  6. package/accordion/Accordion.accessibility.test.js +71 -0
  7. package/accordion/Accordion.d.ts +1 -1
  8. package/accordion/Accordion.js +105 -194
  9. package/accordion/Accordion.stories.tsx +251 -0
  10. package/accordion/Accordion.test.js +56 -0
  11. package/accordion/types.d.ts +12 -23
  12. package/accordion-group/AccordionGroup.accessibility.test.js +88 -0
  13. package/accordion-group/AccordionGroup.d.ts +3 -3
  14. package/accordion-group/AccordionGroup.js +39 -108
  15. package/accordion-group/AccordionGroup.stories.tsx +252 -0
  16. package/accordion-group/AccordionGroup.test.js +98 -0
  17. package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
  18. package/accordion-group/AccordionGroupAccordion.js +31 -0
  19. package/accordion-group/AccordionGroupContext.d.ts +3 -0
  20. package/accordion-group/AccordionGroupContext.js +8 -0
  21. package/accordion-group/types.d.ts +18 -23
  22. package/action-icon/ActionIcon.accessibility.test.js +63 -0
  23. package/action-icon/ActionIcon.d.ts +4 -0
  24. package/action-icon/ActionIcon.js +48 -0
  25. package/action-icon/ActionIcon.stories.tsx +41 -0
  26. package/action-icon/ActionIcon.test.js +64 -0
  27. package/action-icon/types.d.ts +26 -0
  28. package/alert/Alert.accessibility.test.js +95 -0
  29. package/alert/Alert.js +36 -126
  30. package/alert/Alert.stories.tsx +28 -0
  31. package/alert/Alert.test.js +75 -0
  32. package/alert/types.d.ts +6 -6
  33. package/badge/Badge.accessibility.test.js +129 -0
  34. package/badge/Badge.d.ts +4 -0
  35. package/badge/Badge.js +141 -41
  36. package/badge/Badge.stories.tsx +210 -0
  37. package/badge/Badge.test.js +30 -0
  38. package/badge/types.d.ts +54 -0
  39. package/badge/types.js +5 -0
  40. package/bleed/Bleed.d.ts +3 -0
  41. package/bleed/Bleed.js +43 -0
  42. package/bleed/Bleed.stories.tsx +342 -0
  43. package/bleed/types.d.ts +37 -0
  44. package/bleed/types.js +5 -0
  45. package/box/Box.accessibility.test.js +33 -0
  46. package/box/Box.d.ts +1 -1
  47. package/box/Box.js +31 -82
  48. package/box/Box.stories.tsx +38 -51
  49. package/box/Box.test.js +13 -0
  50. package/box/types.d.ts +3 -14
  51. package/bulleted-list/BulletedList.accessibility.test.js +107 -0
  52. package/bulleted-list/BulletedList.d.ts +7 -0
  53. package/bulleted-list/BulletedList.js +92 -0
  54. package/bulleted-list/BulletedList.stories.tsx +115 -0
  55. package/bulleted-list/types.d.ts +38 -0
  56. package/bulleted-list/types.js +5 -0
  57. package/button/Button.accessibility.test.js +127 -0
  58. package/button/Button.d.ts +1 -1
  59. package/button/Button.js +65 -121
  60. package/button/Button.stories.tsx +155 -106
  61. package/button/Button.test.js +38 -0
  62. package/button/types.d.ts +14 -14
  63. package/card/Card.accessibility.test.js +36 -0
  64. package/card/Card.d.ts +1 -1
  65. package/card/Card.js +59 -104
  66. package/card/Card.stories.tsx +171 -0
  67. package/card/Card.test.js +39 -0
  68. package/card/types.d.ts +8 -15
  69. package/checkbox/Checkbox.accessibility.test.js +87 -0
  70. package/checkbox/Checkbox.d.ts +2 -2
  71. package/checkbox/Checkbox.js +145 -183
  72. package/checkbox/Checkbox.stories.tsx +166 -136
  73. package/checkbox/Checkbox.test.js +199 -0
  74. package/checkbox/types.d.ts +20 -8
  75. package/chip/Chip.accessibility.test.js +67 -0
  76. package/chip/Chip.d.ts +4 -0
  77. package/chip/Chip.js +49 -146
  78. package/chip/Chip.stories.tsx +104 -30
  79. package/chip/Chip.test.js +41 -0
  80. package/chip/types.d.ts +45 -0
  81. package/chip/types.js +5 -0
  82. package/common/coreTokens.d.ts +237 -0
  83. package/common/coreTokens.js +184 -0
  84. package/common/utils.d.ts +1 -0
  85. package/common/utils.js +6 -12
  86. package/common/variables.d.ts +1395 -0
  87. package/common/variables.js +1034 -1344
  88. package/container/Container.d.ts +4 -0
  89. package/container/Container.js +194 -0
  90. package/container/Container.stories.tsx +214 -0
  91. package/container/types.d.ts +74 -0
  92. package/container/types.js +5 -0
  93. package/contextual-menu/ContextualMenu.accessibility.test.js +86 -0
  94. package/contextual-menu/ContextualMenu.d.ts +7 -0
  95. package/contextual-menu/ContextualMenu.js +71 -0
  96. package/contextual-menu/ContextualMenu.stories.tsx +182 -0
  97. package/contextual-menu/ContextualMenu.test.js +71 -0
  98. package/contextual-menu/MenuItemAction.d.ts +4 -0
  99. package/contextual-menu/MenuItemAction.js +46 -0
  100. package/contextual-menu/types.d.ts +22 -0
  101. package/contextual-menu/types.js +5 -0
  102. package/date-input/Calendar.d.ts +4 -0
  103. package/date-input/Calendar.js +214 -0
  104. package/date-input/DateInput.accessibility.test.js +216 -0
  105. package/date-input/DateInput.js +175 -313
  106. package/date-input/DateInput.stories.tsx +203 -56
  107. package/date-input/DateInput.test.js +808 -0
  108. package/date-input/DatePicker.d.ts +4 -0
  109. package/date-input/DatePicker.js +115 -0
  110. package/date-input/Icons.d.ts +6 -0
  111. package/date-input/Icons.js +58 -0
  112. package/date-input/YearPicker.d.ts +4 -0
  113. package/date-input/YearPicker.js +100 -0
  114. package/date-input/types.d.ts +86 -22
  115. package/dialog/Dialog.accessibility.test.js +69 -0
  116. package/dialog/Dialog.d.ts +1 -1
  117. package/dialog/Dialog.js +69 -130
  118. package/dialog/Dialog.stories.tsx +320 -167
  119. package/dialog/Dialog.test.js +307 -0
  120. package/dialog/types.d.ts +18 -25
  121. package/divider/Divider.accessibility.test.js +33 -0
  122. package/divider/Divider.d.ts +4 -0
  123. package/divider/Divider.js +36 -0
  124. package/divider/Divider.stories.tsx +223 -0
  125. package/divider/Divider.test.js +38 -0
  126. package/divider/types.d.ts +21 -0
  127. package/divider/types.js +5 -0
  128. package/dropdown/Dropdown.accessibility.test.js +180 -0
  129. package/dropdown/Dropdown.d.ts +1 -1
  130. package/dropdown/Dropdown.js +232 -330
  131. package/dropdown/Dropdown.stories.tsx +427 -0
  132. package/dropdown/Dropdown.test.js +599 -0
  133. package/dropdown/DropdownMenu.d.ts +4 -0
  134. package/dropdown/DropdownMenu.js +63 -0
  135. package/dropdown/DropdownMenuItem.d.ts +4 -0
  136. package/dropdown/DropdownMenuItem.js +70 -0
  137. package/dropdown/types.d.ts +38 -31
  138. package/file-input/FileInput.accessibility.test.js +160 -0
  139. package/file-input/FileInput.d.ts +4 -0
  140. package/file-input/FileInput.js +274 -327
  141. package/file-input/FileInput.stories.tsx +618 -0
  142. package/file-input/FileInput.test.js +459 -0
  143. package/file-input/FileItem.d.ts +4 -0
  144. package/file-input/FileItem.js +54 -112
  145. package/file-input/types.d.ts +129 -0
  146. package/file-input/types.js +5 -0
  147. package/flex/Flex.d.ts +4 -0
  148. package/flex/Flex.js +57 -0
  149. package/flex/Flex.stories.tsx +112 -0
  150. package/flex/types.d.ts +97 -0
  151. package/flex/types.js +5 -0
  152. package/footer/Footer.accessibility.test.js +117 -0
  153. package/footer/Footer.d.ts +1 -1
  154. package/footer/Footer.js +74 -200
  155. package/footer/{Footer.stories.jsx → Footer.stories.tsx} +84 -39
  156. package/footer/Footer.test.js +85 -0
  157. package/footer/Icons.d.ts +3 -0
  158. package/footer/Icons.js +67 -8
  159. package/footer/types.d.ts +40 -37
  160. package/grid/Grid.d.ts +7 -0
  161. package/grid/Grid.js +76 -0
  162. package/grid/Grid.stories.tsx +219 -0
  163. package/grid/types.d.ts +115 -0
  164. package/grid/types.js +5 -0
  165. package/header/Header.accessibility.test.js +84 -0
  166. package/header/Header.d.ts +4 -3
  167. package/header/Header.js +100 -204
  168. package/header/Header.stories.tsx +152 -63
  169. package/header/Header.test.js +66 -0
  170. package/header/Icons.d.ts +2 -0
  171. package/header/Icons.js +4 -9
  172. package/header/types.d.ts +6 -18
  173. package/heading/Heading.accessibility.test.js +33 -0
  174. package/heading/Heading.js +11 -33
  175. package/heading/Heading.stories.tsx +54 -0
  176. package/heading/Heading.test.js +169 -0
  177. package/heading/types.d.ts +7 -7
  178. package/icon/Icon.accessibility.test.js +30 -0
  179. package/icon/Icon.d.ts +4 -0
  180. package/icon/Icon.js +33 -0
  181. package/icon/Icon.stories.tsx +28 -0
  182. package/icon/types.d.ts +4 -0
  183. package/icon/types.js +5 -0
  184. package/image/Image.accessibility.test.js +56 -0
  185. package/image/Image.d.ts +4 -0
  186. package/image/Image.js +70 -0
  187. package/image/Image.stories.tsx +129 -0
  188. package/image/types.d.ts +72 -0
  189. package/image/types.js +5 -0
  190. package/inset/Inset.d.ts +3 -0
  191. package/inset/Inset.js +43 -0
  192. package/inset/Inset.stories.tsx +230 -0
  193. package/inset/types.d.ts +37 -0
  194. package/inset/types.js +5 -0
  195. package/layout/ApplicationLayout.d.ts +20 -0
  196. package/layout/ApplicationLayout.js +83 -184
  197. package/layout/ApplicationLayout.stories.tsx +162 -0
  198. package/layout/Icons.d.ts +8 -0
  199. package/layout/Icons.js +49 -48
  200. package/layout/types.d.ts +41 -0
  201. package/layout/types.js +5 -0
  202. package/link/Link.accessibility.test.js +112 -0
  203. package/link/Link.d.ts +3 -2
  204. package/link/Link.js +65 -109
  205. package/link/Link.stories.tsx +199 -16
  206. package/link/Link.test.js +63 -0
  207. package/link/types.d.ts +15 -35
  208. package/main.d.ts +19 -14
  209. package/main.js +92 -98
  210. package/nav-tabs/NavTabs.accessibility.test.js +52 -0
  211. package/nav-tabs/NavTabs.d.ts +7 -0
  212. package/nav-tabs/NavTabs.js +93 -0
  213. package/nav-tabs/NavTabs.stories.tsx +276 -0
  214. package/nav-tabs/NavTabs.test.js +76 -0
  215. package/nav-tabs/NavTabsContext.d.ts +3 -0
  216. package/nav-tabs/NavTabsContext.js +8 -0
  217. package/nav-tabs/Tab.d.ts +4 -0
  218. package/nav-tabs/Tab.js +118 -0
  219. package/nav-tabs/types.d.ts +52 -0
  220. package/nav-tabs/types.js +5 -0
  221. package/number-input/NumberInput.accessibility.test.js +228 -0
  222. package/number-input/NumberInput.js +48 -48
  223. package/number-input/NumberInput.stories.tsx +44 -28
  224. package/number-input/NumberInput.test.js +989 -0
  225. package/number-input/NumberInputContext.d.ts +3 -0
  226. package/number-input/NumberInputContext.js +3 -11
  227. package/number-input/types.d.ts +34 -15
  228. package/package.json +52 -51
  229. package/paginator/Icons.d.ts +5 -0
  230. package/paginator/Icons.js +21 -47
  231. package/paginator/Paginator.accessibility.test.js +79 -0
  232. package/paginator/Paginator.js +35 -98
  233. package/paginator/Paginator.stories.tsx +24 -0
  234. package/paginator/Paginator.test.js +335 -0
  235. package/paginator/types.d.ts +3 -3
  236. package/paragraph/Paragraph.accessibility.test.js +28 -0
  237. package/paragraph/Paragraph.d.ts +5 -0
  238. package/paragraph/Paragraph.js +22 -0
  239. package/paragraph/Paragraph.stories.tsx +27 -0
  240. package/password-input/Icons.d.ts +6 -0
  241. package/password-input/Icons.js +35 -0
  242. package/password-input/PasswordInput.accessibility.test.js +153 -0
  243. package/password-input/PasswordInput.js +60 -125
  244. package/password-input/PasswordInput.stories.tsx +3 -35
  245. package/password-input/PasswordInput.test.js +198 -0
  246. package/password-input/types.d.ts +35 -24
  247. package/progress-bar/ProgressBar.accessibility.test.js +35 -0
  248. package/progress-bar/ProgressBar.js +66 -92
  249. package/progress-bar/ProgressBar.stories.tsx +93 -0
  250. package/progress-bar/ProgressBar.test.js +93 -0
  251. package/progress-bar/types.d.ts +3 -3
  252. package/quick-nav/QuickNav.accessibility.test.js +57 -0
  253. package/quick-nav/QuickNav.d.ts +4 -0
  254. package/quick-nav/QuickNav.js +94 -0
  255. package/quick-nav/QuickNav.stories.tsx +356 -0
  256. package/quick-nav/types.d.ts +21 -0
  257. package/quick-nav/types.js +5 -0
  258. package/radio-group/Radio.d.ts +4 -0
  259. package/radio-group/Radio.js +124 -0
  260. package/radio-group/RadioGroup.accessibility.test.js +97 -0
  261. package/radio-group/RadioGroup.d.ts +4 -0
  262. package/radio-group/RadioGroup.js +235 -0
  263. package/radio-group/RadioGroup.stories.tsx +214 -0
  264. package/radio-group/RadioGroup.test.js +756 -0
  265. package/radio-group/types.d.ts +114 -0
  266. package/radio-group/types.js +5 -0
  267. package/resultset-table/Icons.d.ts +7 -0
  268. package/resultset-table/Icons.js +47 -0
  269. package/resultset-table/ResultsetTable.accessibility.test.js +274 -0
  270. package/resultset-table/ResultsetTable.d.ts +7 -0
  271. package/resultset-table/ResultsetTable.js +170 -0
  272. package/resultset-table/ResultsetTable.stories.tsx +401 -0
  273. package/resultset-table/ResultsetTable.test.js +381 -0
  274. package/resultset-table/types.d.ts +100 -0
  275. package/resultset-table/types.js +5 -0
  276. package/select/Icons.d.ts +10 -0
  277. package/select/Icons.js +89 -0
  278. package/select/Listbox.d.ts +4 -0
  279. package/select/Listbox.js +143 -0
  280. package/select/Option.d.ts +4 -0
  281. package/select/Option.js +87 -0
  282. package/select/Select.accessibility.test.js +217 -0
  283. package/select/Select.d.ts +4 -0
  284. package/select/Select.js +240 -515
  285. package/select/Select.stories.tsx +602 -204
  286. package/select/Select.test.js +2370 -0
  287. package/select/types.d.ts +209 -0
  288. package/select/types.js +5 -0
  289. package/sidenav/Icons.d.ts +7 -0
  290. package/sidenav/Icons.js +47 -0
  291. package/sidenav/Sidenav.accessibility.test.js +59 -0
  292. package/sidenav/Sidenav.d.ts +6 -5
  293. package/sidenav/Sidenav.js +133 -72
  294. package/sidenav/Sidenav.stories.tsx +281 -0
  295. package/sidenav/Sidenav.test.js +37 -0
  296. package/sidenav/SidenavContext.d.ts +5 -0
  297. package/sidenav/SidenavContext.js +13 -0
  298. package/sidenav/types.d.ts +52 -26
  299. package/slider/Slider.accessibility.test.js +104 -0
  300. package/slider/Slider.d.ts +2 -2
  301. package/slider/Slider.js +150 -182
  302. package/slider/Slider.test.js +254 -0
  303. package/slider/types.d.ts +11 -3
  304. package/spinner/Spinner.accessibility.test.js +96 -0
  305. package/spinner/Spinner.js +32 -76
  306. package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +53 -26
  307. package/spinner/Spinner.test.js +55 -0
  308. package/spinner/types.d.ts +3 -3
  309. package/status-light/StatusLight.accessibility.test.js +157 -0
  310. package/status-light/StatusLight.d.ts +4 -0
  311. package/status-light/StatusLight.js +51 -0
  312. package/status-light/StatusLight.stories.tsx +74 -0
  313. package/status-light/StatusLight.test.js +25 -0
  314. package/status-light/types.d.ts +17 -0
  315. package/status-light/types.js +5 -0
  316. package/switch/Switch.accessibility.test.js +89 -0
  317. package/switch/Switch.d.ts +2 -2
  318. package/switch/Switch.js +150 -115
  319. package/switch/Switch.stories.tsx +45 -68
  320. package/switch/Switch.test.js +180 -0
  321. package/switch/types.d.ts +13 -5
  322. package/table/DropdownTheme.js +62 -0
  323. package/table/Table.accessibility.test.js +82 -0
  324. package/table/Table.d.ts +6 -2
  325. package/table/Table.js +80 -37
  326. package/table/Table.stories.tsx +651 -0
  327. package/table/Table.test.js +113 -0
  328. package/table/types.d.ts +34 -6
  329. package/tabs/Tab.d.ts +4 -0
  330. package/tabs/Tab.js +116 -0
  331. package/tabs/Tabs.accessibility.test.js +56 -0
  332. package/tabs/Tabs.d.ts +1 -1
  333. package/tabs/Tabs.js +318 -145
  334. package/tabs/Tabs.stories.tsx +226 -0
  335. package/tabs/Tabs.test.js +294 -0
  336. package/tabs/types.d.ts +48 -27
  337. package/tag/Tag.accessibility.test.js +69 -0
  338. package/tag/Tag.d.ts +1 -1
  339. package/tag/Tag.js +44 -86
  340. package/tag/Tag.stories.tsx +38 -28
  341. package/tag/Tag.test.js +49 -0
  342. package/tag/types.d.ts +25 -16
  343. package/text-input/Suggestion.d.ts +4 -0
  344. package/text-input/Suggestion.js +67 -0
  345. package/text-input/Suggestions.d.ts +4 -0
  346. package/text-input/Suggestions.js +86 -0
  347. package/text-input/TextInput.accessibility.test.js +321 -0
  348. package/text-input/TextInput.d.ts +4 -0
  349. package/text-input/TextInput.js +335 -593
  350. package/text-input/TextInput.stories.tsx +465 -0
  351. package/text-input/TextInput.test.js +1756 -0
  352. package/text-input/types.d.ts +205 -0
  353. package/text-input/types.js +5 -0
  354. package/textarea/Textarea.accessibility.test.js +155 -0
  355. package/textarea/Textarea.d.ts +4 -0
  356. package/textarea/Textarea.js +98 -181
  357. package/textarea/Textarea.stories.tsx +174 -0
  358. package/textarea/Textarea.test.js +406 -0
  359. package/textarea/types.d.ts +141 -0
  360. package/textarea/types.js +5 -0
  361. package/toggle-group/ToggleGroup.accessibility.test.js +107 -0
  362. package/toggle-group/ToggleGroup.d.ts +4 -0
  363. package/toggle-group/ToggleGroup.js +100 -142
  364. package/toggle-group/ToggleGroup.stories.tsx +76 -36
  365. package/toggle-group/ToggleGroup.test.js +137 -0
  366. package/toggle-group/types.d.ts +114 -0
  367. package/toggle-group/types.js +5 -0
  368. package/typography/Typography.accessibility.test.js +339 -0
  369. package/typography/Typography.d.ts +4 -0
  370. package/typography/Typography.js +23 -0
  371. package/typography/Typography.stories.tsx +198 -0
  372. package/typography/types.d.ts +18 -0
  373. package/typography/types.js +5 -0
  374. package/useTheme.d.ts +1148 -0
  375. package/useTheme.js +4 -11
  376. package/useTranslatedLabels.d.ts +85 -0
  377. package/useTranslatedLabels.js +14 -0
  378. package/utils/BaseTypography.d.ts +21 -0
  379. package/utils/BaseTypography.js +94 -0
  380. package/utils/FocusLock.d.ts +13 -0
  381. package/utils/FocusLock.js +124 -0
  382. package/wizard/Wizard.accessibility.test.js +55 -0
  383. package/wizard/Wizard.d.ts +1 -1
  384. package/wizard/Wizard.js +123 -104
  385. package/wizard/{Wizard.stories.jsx → Wizard.stories.tsx} +48 -19
  386. package/wizard/Wizard.test.js +114 -0
  387. package/wizard/types.d.ts +15 -15
  388. package/ThemeContext.js +0 -246
  389. package/V3Select/V3Select.js +0 -455
  390. package/V3Select/index.d.ts +0 -27
  391. package/V3Textarea/V3Textarea.js +0 -260
  392. package/V3Textarea/index.d.ts +0 -27
  393. package/chip/index.d.ts +0 -22
  394. package/common/OpenSans.css +0 -81
  395. package/common/RequiredComponent.js +0 -32
  396. package/common/fonts/OpenSans-Bold.ttf +0 -0
  397. package/common/fonts/OpenSans-BoldItalic.ttf +0 -0
  398. package/common/fonts/OpenSans-ExtraBold.ttf +0 -0
  399. package/common/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  400. package/common/fonts/OpenSans-Italic.ttf +0 -0
  401. package/common/fonts/OpenSans-Light.ttf +0 -0
  402. package/common/fonts/OpenSans-LightItalic.ttf +0 -0
  403. package/common/fonts/OpenSans-Regular.ttf +0 -0
  404. package/common/fonts/OpenSans-SemiBold.ttf +0 -0
  405. package/common/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  406. package/date/Date.js +0 -373
  407. package/date/index.d.ts +0 -27
  408. package/file-input/index.d.ts +0 -81
  409. package/input-text/Icons.js +0 -22
  410. package/input-text/InputText.js +0 -611
  411. package/input-text/index.d.ts +0 -36
  412. package/progress-bar/ProgressBar.stories.jsx +0 -58
  413. package/radio/Radio.d.ts +0 -4
  414. package/radio/Radio.js +0 -174
  415. package/radio/Radio.stories.tsx +0 -192
  416. package/radio/types.d.ts +0 -54
  417. package/resultsetTable/ResultsetTable.js +0 -274
  418. package/resultsetTable/index.d.ts +0 -19
  419. package/select/index.d.ts +0 -131
  420. package/slider/Slider.stories.tsx +0 -177
  421. package/table/Table.stories.jsx +0 -276
  422. package/text-input/index.d.ts +0 -135
  423. package/textarea/Textarea.stories.jsx +0 -135
  424. package/textarea/index.d.ts +0 -117
  425. package/toggle/Toggle.js +0 -186
  426. package/toggle/index.d.ts +0 -21
  427. package/toggle-group/index.d.ts +0 -21
  428. package/upload/Upload.js +0 -201
  429. package/upload/buttons-upload/ButtonsUpload.js +0 -111
  430. package/upload/buttons-upload/Icons.js +0 -40
  431. package/upload/dragAndDropArea/DragAndDropArea.js +0 -225
  432. package/upload/dragAndDropArea/Icons.js +0 -39
  433. package/upload/file-upload/FileToUpload.js +0 -115
  434. package/upload/file-upload/Icons.js +0 -66
  435. package/upload/files-upload/FilesToUpload.js +0 -109
  436. package/upload/index.d.ts +0 -15
  437. package/upload/transaction/Icons.js +0 -160
  438. package/upload/transaction/Transaction.js +0 -104
  439. package/upload/transactions/Transactions.js +0 -94
  440. package/wizard/Icons.js +0 -65
  441. /package/{radio → action-icon}/types.js +0 -0
@@ -0,0 +1,427 @@
1
+ import React from "react";
2
+ import { userEvent, within } from "@storybook/testing-library";
3
+ import DxcDropdown from "./Dropdown";
4
+ import Title from "../../.storybook/components/Title";
5
+ import ExampleContainer from "../../.storybook/components/ExampleContainer";
6
+ import DropdownMenu from "./DropdownMenu";
7
+ import { Option } from "./types";
8
+ import useTheme from "../useTheme";
9
+ import DxcFlex from "../flex/Flex";
10
+ import { HalstackProvider } from "../HalstackContext";
11
+ import { ThemeProvider } from "styled-components";
12
+
13
+ export default {
14
+ title: "Dropdown",
15
+ component: DxcDropdown,
16
+ };
17
+
18
+ const iconSVG = (
19
+ <svg viewBox="0 0 24 24" height="24" width="24" fill="currentColor">
20
+ <path d="M0 0h24v24H0z" fill="none" />
21
+ <path d="M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35z" />
22
+ </svg>
23
+ );
24
+ const iconSVGLarge = (
25
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48" height="48" width="48">
26
+ <path d="M11 44q-1.2 0-2.1-.9Q8 42.2 8 41V15q0-1.2.9-2.1.9-.9 2.1-.9h5.5v-.5q0-3.15 2.175-5.325Q20.85 4 24 4q3.15 0 5.325 2.175Q31.5 8.35 31.5 11.5v.5H37q1.2 0 2.1.9.9.9.9 2.1v26q0 1.2-.9 2.1-.9.9-2.1.9Zm0-3h26V15h-5.5v4.5q0 .65-.425 1.075Q30.65 21 30 21q-.65 0-1.075-.425-.425-.425-.425-1.075V15h-9v4.5q0 .65-.425 1.075Q18.65 21 18 21q-.65 0-1.075-.425-.425-.425-.425-1.075V15H11v26Zm8.5-29h9v-.5q0-1.9-1.3-3.2Q25.9 7 24 7q-1.9 0-3.2 1.3-1.3 1.3-1.3 3.2ZM11 41V15v26Z" />
27
+ </svg>
28
+ );
29
+ const icons = [iconSVG, iconSVGLarge, "nutrition"];
30
+
31
+ const defaultOptions: Option[] = [
32
+ {
33
+ value: "1",
34
+ label: "Amazon",
35
+ },
36
+ {
37
+ value: "2",
38
+ label: "Ebay",
39
+ },
40
+ {
41
+ value: "3",
42
+ label: "Apple",
43
+ },
44
+ {
45
+ value: "4",
46
+ label: "Wallapop",
47
+ },
48
+ {
49
+ value: "5",
50
+ label: "Aliexpress",
51
+ },
52
+ {
53
+ value: "6",
54
+ label: "Etsy",
55
+ },
56
+ {
57
+ value: "7",
58
+ label: "Alibaba",
59
+ },
60
+ {
61
+ value: "8",
62
+ label: "Gearbest shop",
63
+ },
64
+ ];
65
+ const options: Option[] = [
66
+ {
67
+ value: "1",
68
+ label: "Amazon with a very long text",
69
+ },
70
+ {
71
+ value: "2",
72
+ label: "Ebay",
73
+ },
74
+ {
75
+ value: "3",
76
+ label: "Apple",
77
+ },
78
+ ];
79
+ const optionWithIcon: Option[] = [
80
+ {
81
+ value: "1",
82
+ label: "Ebay",
83
+ icon: "shopping_cart",
84
+ },
85
+ ];
86
+
87
+ const optionsIcon: any = options.map((op, i) => ({ ...op, icon: icons[i] }));
88
+
89
+ const opinionatedTheme = {
90
+ dropdown: {
91
+ baseColor: "#ffffff",
92
+ fontColor: "#000000",
93
+ optionFontColor: "#000000",
94
+ },
95
+ };
96
+
97
+ const Dropdown = () => (
98
+ <>
99
+ <ExampleContainer>
100
+ <Title title="Default" theme="light" level={4} />
101
+ <DxcDropdown label="Default" options={options} onSelectOption={(value) => {}} />
102
+ </ExampleContainer>
103
+ <ExampleContainer pseudoState="pseudo-hover">
104
+ <Title title="Hovered" theme="light" level={4} />
105
+ <DxcDropdown label="Hovered" options={options} onSelectOption={(value) => {}} />
106
+ </ExampleContainer>
107
+ <ExampleContainer pseudoState="pseudo-focus">
108
+ <Title title="Focused" theme="light" level={4} />
109
+ <DxcDropdown label="Focused" options={options} onSelectOption={(value) => {}} />
110
+ </ExampleContainer>
111
+ <ExampleContainer pseudoState="pseudo-active">
112
+ <Title title="Actived" theme="light" level={4} />
113
+ <DxcDropdown label="Actived" options={options} onSelectOption={(value) => {}} />
114
+ </ExampleContainer>
115
+ <ExampleContainer>
116
+ <Title title="Disabled" theme="light" level={4} />
117
+ <DxcDropdown label="Disabled" options={options} onSelectOption={(value) => {}} disabled />
118
+ </ExampleContainer>
119
+ <ExampleContainer>
120
+ <Title title="Caret hidden" theme="light" level={4} />
121
+ <DxcDropdown label="Caret hidden" options={options} onSelectOption={(value) => {}} caretHidden />
122
+ </ExampleContainer>
123
+ <ExampleContainer>
124
+ <Title title="With icon before" theme="light" level={4} />
125
+ <DxcDropdown label="Icon before" options={options} onSelectOption={(value) => {}} icon={iconSVG} />
126
+ </ExampleContainer>
127
+ <ExampleContainer>
128
+ <Title title="With icon after" theme="light" level={4} />
129
+ <DxcDropdown
130
+ label="Icon after"
131
+ options={options}
132
+ onSelectOption={(value) => {}}
133
+ icon="shopping_cart"
134
+ iconPosition="after"
135
+ />
136
+ </ExampleContainer>
137
+ <ExampleContainer>
138
+ <Title title="Only icon" theme="light" level={4} />
139
+ <DxcDropdown options={options} onSelectOption={(value) => {}} icon={iconSVG} />
140
+ </ExampleContainer>
141
+ <ExampleContainer>
142
+ <Title title="Only icon without caret" theme="light" level={4} />
143
+ <DxcDropdown options={options} onSelectOption={(value) => {}} icon="menu" caretHidden />
144
+ </ExampleContainer>
145
+ <ExampleContainer>
146
+ <Title title="Large icon (SVG)" theme="light" level={4} />
147
+ <DxcDropdown label="Large icon" options={options} onSelectOption={(value) => {}} icon={iconSVGLarge} />
148
+ </ExampleContainer>
149
+ <ExampleContainer>
150
+ <Title title="Large icon (image)" theme="light" level={4} />
151
+ <DxcDropdown label="Large icon" options={options} onSelectOption={(value) => {}} icon="menu" />
152
+ </ExampleContainer>
153
+ <ExampleContainer>
154
+ <Title title="Disabled with icon" theme="light" level={4} />
155
+ <DxcDropdown
156
+ label="Disabled with icon"
157
+ options={options}
158
+ onSelectOption={(value) => {}}
159
+ icon={iconSVG}
160
+ disabled
161
+ />
162
+ </ExampleContainer>
163
+ <ExampleContainer>
164
+ <Title title="Ellipsis" theme="light" level={4} />
165
+ <DxcDropdown
166
+ label="Very long text in dropdown button"
167
+ options={options}
168
+ onSelectOption={(value) => {}}
169
+ icon={iconSVG}
170
+ size="medium"
171
+ />
172
+ </ExampleContainer>
173
+ <Title title="Margins" theme="light" level={2} />
174
+ <ExampleContainer>
175
+ <Title title="Xxsmall" theme="light" level={4} />
176
+ <DxcDropdown label="Xxsmall" options={options} onSelectOption={(value) => {}} icon={iconSVG} margin="xxsmall" />
177
+ </ExampleContainer>
178
+ <ExampleContainer>
179
+ <Title title="Xsmall" theme="light" level={4} />
180
+ <DxcDropdown label="Xsmall" options={options} onSelectOption={(value) => {}} icon={iconSVG} margin="xsmall" />
181
+ </ExampleContainer>
182
+ <ExampleContainer>
183
+ <Title title="Small" theme="light" level={4} />
184
+ <DxcDropdown label="Small" options={options} onSelectOption={(value) => {}} icon={iconSVG} margin="small" />
185
+ </ExampleContainer>
186
+ <ExampleContainer>
187
+ <Title title="Medium" theme="light" level={4} />
188
+ <DxcDropdown label="Medium" options={options} onSelectOption={(value) => {}} icon={iconSVG} margin="medium" />
189
+ </ExampleContainer>
190
+ <ExampleContainer>
191
+ <Title title="Large" theme="light" level={4} />
192
+ <DxcDropdown label="Large" options={options} onSelectOption={(value) => {}} icon={iconSVG} margin="large" />
193
+ </ExampleContainer>
194
+ <ExampleContainer>
195
+ <Title title="Xlarge" theme="light" level={4} />
196
+ <DxcDropdown label="Xlarge" options={options} onSelectOption={(value) => {}} icon={iconSVG} margin="xlarge" />
197
+ </ExampleContainer>
198
+ <ExampleContainer>
199
+ <Title title="Xxlarge" theme="light" level={4} />
200
+ <DxcDropdown label="Xxlarge" options={options} onSelectOption={(value) => {}} icon={iconSVG} margin="xxlarge" />
201
+ </ExampleContainer>
202
+ <Title title="Sizes" theme="light" level={2} />
203
+ <ExampleContainer>
204
+ <Title title="Small" theme="light" level={4} />
205
+ <DxcDropdown label="Small" options={options} onSelectOption={(value) => {}} icon={iconSVG} size="small" />
206
+ </ExampleContainer>
207
+ <ExampleContainer>
208
+ <Title title="Medium" theme="light" level={4} />
209
+ <DxcDropdown label="Medium" options={options} onSelectOption={(value) => {}} icon={iconSVG} size="medium" />
210
+ </ExampleContainer>
211
+ <ExampleContainer>
212
+ <Title title="Large" theme="light" level={4} />
213
+ <DxcDropdown label="Large" options={options} onSelectOption={(value) => {}} icon={iconSVG} size="large" />
214
+ </ExampleContainer>
215
+ <ExampleContainer>
216
+ <Title title="FitContent" theme="light" level={4} />
217
+ <DxcDropdown
218
+ label="FitContent"
219
+ options={options}
220
+ onSelectOption={(value) => {}}
221
+ icon={iconSVG}
222
+ size="fitContent"
223
+ />
224
+ </ExampleContainer>
225
+ <ExampleContainer>
226
+ <Title title="FillParent" theme="light" level={4} />
227
+ <DxcDropdown
228
+ label="FillParent"
229
+ options={options}
230
+ onSelectOption={(value) => {}}
231
+ icon={iconSVG}
232
+ size="fillParent"
233
+ />
234
+ </ExampleContainer>
235
+ <ExampleContainer expanded>
236
+ <Title title="Opened menu" theme="light" level={4} />
237
+ <DxcDropdown label="Label" options={options} onSelectOption={(value) => {}} margin={{ top: "xxlarge" }} />
238
+ </ExampleContainer>
239
+ </>
240
+ );
241
+
242
+ const DropdownListStates = () => {
243
+ const colorsTheme: any = useTheme();
244
+
245
+ return (
246
+ <>
247
+ <Title title="Dropdown Menu" theme="light" level={2} />
248
+ <ExampleContainer>
249
+ <Title
250
+ title="List dialog uses a Radix Popover to appear over elements with a certain z-index"
251
+ theme="light"
252
+ level={3}
253
+ />
254
+ <div
255
+ style={{
256
+ position: "relative",
257
+ display: "flex",
258
+ flexDirection: "column",
259
+ gap: "20px",
260
+ height: "150px",
261
+ width: "min-content",
262
+ marginBottom: "100px",
263
+ padding: "20px",
264
+ border: "1px solid black",
265
+ borderRadius: "4px",
266
+ overflow: "auto",
267
+ zIndex: "1300",
268
+ }}
269
+ >
270
+ <DxcDropdown
271
+ label="Select a platform"
272
+ options={defaultOptions}
273
+ onSelectOption={(option) => {}}
274
+ size="medium"
275
+ />
276
+ <button style={{ zIndex: "1", width: "100px" }}>Submit</button>
277
+ </div>
278
+ </ExampleContainer>
279
+ <ThemeProvider theme={colorsTheme.dropdown}>
280
+ <Title title="Option states" theme="light" level={3} />
281
+ <ExampleContainer pseudoState="pseudo-hover">
282
+ <Title title="Hovered option" theme="light" level={4} />
283
+ <DropdownMenu
284
+ id="x"
285
+ dropdownTriggerId="dtx"
286
+ iconsPosition="before"
287
+ visualFocusIndex={-1}
288
+ menuItemOnClick={(value) => {}}
289
+ onKeyDown={(e) => {}}
290
+ options={optionWithIcon}
291
+ styles={{ width: 240 }}
292
+ />
293
+ </ExampleContainer>
294
+ <ExampleContainer pseudoState="pseudo-active">
295
+ <Title title="Active option" theme="light" level={4} />
296
+ <DropdownMenu
297
+ id="x"
298
+ dropdownTriggerId="dtx"
299
+ iconsPosition="before"
300
+ visualFocusIndex={-1}
301
+ menuItemOnClick={(value) => {}}
302
+ onKeyDown={(e) => {}}
303
+ options={optionWithIcon}
304
+ styles={{ width: 240 }}
305
+ />
306
+ </ExampleContainer>
307
+ <ExampleContainer>
308
+ <Title title="Focused option" theme="light" level={4} />
309
+ <DropdownMenu
310
+ id="x"
311
+ dropdownTriggerId="dtx"
312
+ iconsPosition="before"
313
+ visualFocusIndex={0}
314
+ menuItemOnClick={(value) => {}}
315
+ onKeyDown={(e) => {}}
316
+ options={options}
317
+ styles={{ width: 240 }}
318
+ />
319
+ </ExampleContainer>
320
+ <Title title="Icons" theme="light" level={3} />
321
+ <ExampleContainer>
322
+ <Title title="Before" theme="light" level={4} />
323
+ <DropdownMenu
324
+ id="x"
325
+ dropdownTriggerId="dtx"
326
+ iconsPosition="before"
327
+ visualFocusIndex={-1}
328
+ menuItemOnClick={(value) => {}}
329
+ onKeyDown={(e) => {}}
330
+ options={optionsIcon}
331
+ styles={{ width: 240 }}
332
+ />
333
+ <Title title="After" theme="light" level={4} />
334
+ <DropdownMenu
335
+ id="x"
336
+ dropdownTriggerId="dtx"
337
+ iconsPosition="after"
338
+ visualFocusIndex={-1}
339
+ menuItemOnClick={(value) => {}}
340
+ onKeyDown={(e) => {}}
341
+ options={optionsIcon}
342
+ styles={{ width: 240 }}
343
+ />
344
+ </ExampleContainer>
345
+ </ThemeProvider>
346
+ </>
347
+ );
348
+ };
349
+
350
+ const DropdownRightAlignment = () => (
351
+ <ExampleContainer expanded>
352
+ <Title title="Dropdown collisions on the right boundary (right)" theme="light" level={4} />
353
+ <DxcFlex justifyContent="flex-end">
354
+ <DxcDropdown label="Label" options={options} onSelectOption={(value) => {}} />
355
+ </DxcFlex>
356
+ </ExampleContainer>
357
+ );
358
+
359
+ const DropdownCenterAlignment = () => (
360
+ <ExampleContainer expanded>
361
+ <Title title="Dropdown collisions on the right boundary (centered)" theme="light" level={4} />
362
+ <DxcFlex justifyContent="flex-end">
363
+ <DxcDropdown label="Label" options={defaultOptions} onSelectOption={(value) => {}} margin="small" />
364
+ </DxcFlex>
365
+ </ExampleContainer>
366
+ );
367
+
368
+ export const Chromatic = Dropdown.bind({});
369
+ Chromatic.play = async ({ canvasElement }) => {
370
+ const canvas = within(canvasElement);
371
+ const buttonList = canvas.getAllByRole("button");
372
+ await userEvent.click(buttonList[buttonList.length - 1]);
373
+ };
374
+
375
+ export const OpinionatedTheme = () => (
376
+ <>
377
+ <Title title="Opinionated theme" theme="light" level={2} />
378
+ <ExampleContainer>
379
+ <Title title="Default" theme="light" level={4} />
380
+ <HalstackProvider theme={opinionatedTheme}>
381
+ <DxcDropdown label="Default" options={options} onSelectOption={(value) => {}} icon={iconSVG} />
382
+ </HalstackProvider>
383
+ </ExampleContainer>
384
+ <ExampleContainer pseudoState="pseudo-hover">
385
+ <Title title="Hovered" theme="light" level={4} />
386
+ <HalstackProvider theme={opinionatedTheme}>
387
+ <DxcDropdown label="Hovered" options={options} onSelectOption={(value) => {}} icon={iconSVG} />
388
+ </HalstackProvider>
389
+ </ExampleContainer>
390
+ <ExampleContainer pseudoState="pseudo-active">
391
+ <Title title="Actived" theme="light" level={4} />
392
+ <HalstackProvider theme={opinionatedTheme}>
393
+ <DxcDropdown label="Actived" options={options} onSelectOption={(value) => {}} icon={iconSVG} />
394
+ </HalstackProvider>
395
+ </ExampleContainer>
396
+ <ExampleContainer pseudoState="pseudo-focus">
397
+ <Title title="Focused" theme="light" level={4} />
398
+ <HalstackProvider theme={opinionatedTheme}>
399
+ <DxcDropdown label="Focused" options={options} onSelectOption={(value) => {}} icon={iconSVG} />
400
+ </HalstackProvider>
401
+ </ExampleContainer>
402
+ <ExampleContainer>
403
+ <Title title="Disabled" theme="light" level={4} />
404
+ <HalstackProvider theme={opinionatedTheme}>
405
+ <DxcDropdown label="Disabled" options={options} onSelectOption={(value) => {}} icon={iconSVG} disabled />
406
+ </HalstackProvider>
407
+ </ExampleContainer>
408
+ </>
409
+ );
410
+
411
+ export const DropdownMenuStates = DropdownListStates.bind({});
412
+ DropdownMenuStates.play = async ({ canvasElement }) => {
413
+ const canvas = within(canvasElement);
414
+ await userEvent.click(canvas.getAllByRole("button")[0]);
415
+ };
416
+
417
+ export const DropdownMenuAlignedRight = DropdownRightAlignment.bind({});
418
+ DropdownMenuAlignedRight.play = async ({ canvasElement }) => {
419
+ const canvas = within(canvasElement);
420
+ await userEvent.click(canvas.getByRole("button"));
421
+ };
422
+
423
+ export const DropdownMenuAlignedCenter = DropdownCenterAlignment.bind({});
424
+ DropdownMenuAlignedCenter.play = async ({ canvasElement }) => {
425
+ const canvas = within(canvasElement);
426
+ await userEvent.click(canvas.getByRole("button"));
427
+ };