@dxc-technology/halstack-react 0.0.0-80ae676 → 0.0.0-816f33d

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 (448) hide show
  1. package/BackgroundColorContext.d.ts +1 -0
  2. package/BackgroundColorContext.js +6 -26
  3. package/HalstackContext.d.ts +1248 -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 +106 -193
  9. package/accordion/Accordion.stories.tsx +241 -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 +41 -128
  30. package/alert/Alert.stories.tsx +198 -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 +142 -40
  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 +32 -86
  48. package/box/Box.stories.tsx +38 -51
  49. package/box/Box.test.js +13 -0
  50. package/box/types.d.ts +3 -18
  51. package/bulleted-list/BulletedList.accessibility.test.js +119 -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 +310 -278
  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 +60 -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 +144 -182
  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 +51 -146
  78. package/chip/Chip.stories.tsx +199 -0
  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 +1394 -0
  87. package/common/variables.js +1035 -1346
  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 +97 -0
  94. package/contextual-menu/ContextualMenu.d.ts +5 -0
  95. package/contextual-menu/ContextualMenu.js +88 -0
  96. package/contextual-menu/ContextualMenu.stories.tsx +232 -0
  97. package/contextual-menu/ContextualMenu.test.js +205 -0
  98. package/contextual-menu/GroupItem.d.ts +4 -0
  99. package/contextual-menu/GroupItem.js +67 -0
  100. package/contextual-menu/ItemAction.d.ts +4 -0
  101. package/contextual-menu/ItemAction.js +52 -0
  102. package/contextual-menu/MenuItem.d.ts +4 -0
  103. package/contextual-menu/MenuItem.js +29 -0
  104. package/contextual-menu/SingleItem.d.ts +4 -0
  105. package/contextual-menu/SingleItem.js +38 -0
  106. package/contextual-menu/types.d.ts +58 -0
  107. package/contextual-menu/types.js +5 -0
  108. package/date-input/Calendar.d.ts +4 -0
  109. package/date-input/Calendar.js +214 -0
  110. package/date-input/DateInput.accessibility.test.js +228 -0
  111. package/date-input/DateInput.js +174 -313
  112. package/date-input/DateInput.stories.tsx +210 -56
  113. package/date-input/DateInput.test.js +808 -0
  114. package/date-input/DatePicker.d.ts +4 -0
  115. package/date-input/DatePicker.js +121 -0
  116. package/date-input/YearPicker.d.ts +4 -0
  117. package/date-input/YearPicker.js +100 -0
  118. package/date-input/types.d.ts +86 -22
  119. package/dialog/Dialog.accessibility.test.js +69 -0
  120. package/dialog/Dialog.d.ts +1 -1
  121. package/dialog/Dialog.js +57 -129
  122. package/dialog/Dialog.stories.tsx +371 -0
  123. package/dialog/Dialog.test.js +307 -0
  124. package/dialog/types.d.ts +18 -25
  125. package/divider/Divider.accessibility.test.js +33 -0
  126. package/divider/Divider.d.ts +4 -0
  127. package/divider/Divider.js +36 -0
  128. package/divider/Divider.stories.tsx +223 -0
  129. package/divider/Divider.test.js +38 -0
  130. package/divider/types.d.ts +21 -0
  131. package/divider/types.js +5 -0
  132. package/dropdown/Dropdown.accessibility.test.js +180 -0
  133. package/dropdown/Dropdown.d.ts +1 -1
  134. package/dropdown/Dropdown.js +234 -330
  135. package/dropdown/Dropdown.stories.tsx +427 -0
  136. package/dropdown/Dropdown.test.js +599 -0
  137. package/dropdown/DropdownMenu.d.ts +4 -0
  138. package/dropdown/DropdownMenu.js +63 -0
  139. package/dropdown/DropdownMenuItem.d.ts +4 -0
  140. package/dropdown/DropdownMenuItem.js +71 -0
  141. package/dropdown/types.d.ts +38 -31
  142. package/file-input/FileInput.accessibility.test.js +160 -0
  143. package/file-input/FileInput.d.ts +4 -0
  144. package/file-input/FileInput.js +274 -363
  145. package/file-input/FileInput.stories.tsx +618 -0
  146. package/file-input/FileInput.test.js +382 -0
  147. package/file-input/FileItem.d.ts +4 -0
  148. package/file-input/FileItem.js +65 -133
  149. package/file-input/types.d.ts +129 -0
  150. package/file-input/types.js +5 -0
  151. package/flex/Flex.d.ts +4 -0
  152. package/flex/Flex.js +57 -0
  153. package/flex/Flex.stories.tsx +112 -0
  154. package/flex/types.d.ts +97 -0
  155. package/flex/types.js +5 -0
  156. package/footer/Footer.accessibility.test.js +125 -0
  157. package/footer/Footer.d.ts +1 -1
  158. package/footer/Footer.js +74 -200
  159. package/footer/{Footer.stories.jsx → Footer.stories.tsx} +96 -39
  160. package/footer/Footer.test.js +85 -0
  161. package/footer/Icons.d.ts +3 -0
  162. package/footer/Icons.js +54 -23
  163. package/footer/types.d.ts +41 -38
  164. package/grid/Grid.d.ts +7 -0
  165. package/grid/Grid.js +76 -0
  166. package/grid/Grid.stories.tsx +219 -0
  167. package/grid/types.d.ts +115 -0
  168. package/grid/types.js +5 -0
  169. package/header/Header.accessibility.test.js +93 -0
  170. package/header/Header.d.ts +4 -3
  171. package/header/Header.js +105 -219
  172. package/header/Header.stories.tsx +267 -0
  173. package/header/Header.test.js +66 -0
  174. package/header/Icons.d.ts +2 -0
  175. package/header/Icons.js +5 -15
  176. package/header/types.d.ts +6 -18
  177. package/heading/Heading.accessibility.test.js +33 -0
  178. package/heading/Heading.d.ts +4 -0
  179. package/heading/Heading.js +16 -55
  180. package/heading/Heading.stories.tsx +54 -0
  181. package/heading/Heading.test.js +169 -0
  182. package/heading/types.d.ts +33 -0
  183. package/heading/types.js +5 -0
  184. package/icon/Icon.accessibility.test.js +30 -0
  185. package/icon/Icon.d.ts +4 -0
  186. package/icon/Icon.js +33 -0
  187. package/icon/Icon.stories.tsx +28 -0
  188. package/icon/types.d.ts +4 -0
  189. package/icon/types.js +5 -0
  190. package/image/Image.accessibility.test.js +56 -0
  191. package/image/Image.d.ts +4 -0
  192. package/image/Image.js +70 -0
  193. package/image/Image.stories.tsx +129 -0
  194. package/image/types.d.ts +72 -0
  195. package/image/types.js +5 -0
  196. package/inset/Inset.d.ts +3 -0
  197. package/inset/Inset.js +43 -0
  198. package/inset/Inset.stories.tsx +230 -0
  199. package/inset/types.d.ts +37 -0
  200. package/inset/types.js +5 -0
  201. package/layout/ApplicationLayout.d.ts +20 -0
  202. package/layout/ApplicationLayout.js +88 -186
  203. package/layout/ApplicationLayout.stories.tsx +162 -0
  204. package/layout/Icons.d.ts +7 -0
  205. package/layout/Icons.js +41 -48
  206. package/layout/types.d.ts +41 -0
  207. package/layout/types.js +5 -0
  208. package/link/Link.accessibility.test.js +108 -0
  209. package/link/Link.d.ts +3 -2
  210. package/link/Link.js +65 -109
  211. package/link/Link.stories.tsx +201 -18
  212. package/link/Link.test.js +63 -0
  213. package/link/types.d.ts +15 -35
  214. package/main.d.ts +19 -14
  215. package/main.js +92 -98
  216. package/nav-tabs/NavTabs.accessibility.test.js +44 -0
  217. package/nav-tabs/NavTabs.d.ts +7 -0
  218. package/nav-tabs/NavTabs.js +93 -0
  219. package/nav-tabs/NavTabs.stories.tsx +279 -0
  220. package/nav-tabs/NavTabs.test.js +77 -0
  221. package/nav-tabs/NavTabsContext.d.ts +3 -0
  222. package/nav-tabs/NavTabsContext.js +8 -0
  223. package/nav-tabs/Tab.d.ts +4 -0
  224. package/nav-tabs/Tab.js +117 -0
  225. package/nav-tabs/types.d.ts +52 -0
  226. package/nav-tabs/types.js +5 -0
  227. package/number-input/NumberInput.accessibility.test.js +228 -0
  228. package/number-input/NumberInput.d.ts +4 -0
  229. package/number-input/NumberInput.js +48 -90
  230. package/number-input/{NumberInput.stories.jsx → NumberInput.stories.tsx} +44 -28
  231. package/number-input/NumberInput.test.js +989 -0
  232. package/number-input/NumberInputContext.d.ts +3 -0
  233. package/number-input/NumberInputContext.js +3 -11
  234. package/number-input/types.d.ts +136 -0
  235. package/number-input/types.js +5 -0
  236. package/package.json +52 -51
  237. package/paginator/Paginator.accessibility.test.js +79 -0
  238. package/paginator/Paginator.js +47 -107
  239. package/paginator/Paginator.stories.tsx +24 -0
  240. package/paginator/Paginator.test.js +335 -0
  241. package/paginator/types.d.ts +3 -3
  242. package/paragraph/Paragraph.accessibility.test.js +28 -0
  243. package/paragraph/Paragraph.d.ts +5 -0
  244. package/paragraph/Paragraph.js +22 -0
  245. package/paragraph/Paragraph.stories.tsx +27 -0
  246. package/password-input/PasswordInput.accessibility.test.js +153 -0
  247. package/password-input/PasswordInput.js +61 -126
  248. package/password-input/PasswordInput.stories.tsx +3 -35
  249. package/password-input/PasswordInput.test.js +198 -0
  250. package/password-input/types.d.ts +35 -24
  251. package/progress-bar/ProgressBar.accessibility.test.js +35 -0
  252. package/progress-bar/ProgressBar.js +69 -93
  253. package/progress-bar/ProgressBar.stories.tsx +93 -0
  254. package/progress-bar/ProgressBar.test.js +93 -0
  255. package/progress-bar/types.d.ts +3 -3
  256. package/quick-nav/QuickNav.accessibility.test.js +57 -0
  257. package/quick-nav/QuickNav.d.ts +4 -0
  258. package/quick-nav/QuickNav.js +94 -0
  259. package/quick-nav/QuickNav.stories.tsx +356 -0
  260. package/quick-nav/types.d.ts +21 -0
  261. package/quick-nav/types.js +5 -0
  262. package/radio-group/Radio.d.ts +4 -0
  263. package/radio-group/Radio.js +124 -0
  264. package/radio-group/RadioGroup.accessibility.test.js +97 -0
  265. package/radio-group/RadioGroup.d.ts +4 -0
  266. package/radio-group/RadioGroup.js +236 -0
  267. package/radio-group/RadioGroup.stories.tsx +214 -0
  268. package/radio-group/RadioGroup.test.js +756 -0
  269. package/radio-group/types.d.ts +114 -0
  270. package/radio-group/types.js +5 -0
  271. package/resultset-table/Icons.d.ts +7 -0
  272. package/resultset-table/Icons.js +47 -0
  273. package/resultset-table/ResultsetTable.accessibility.test.js +285 -0
  274. package/resultset-table/ResultsetTable.d.ts +7 -0
  275. package/resultset-table/ResultsetTable.js +171 -0
  276. package/resultset-table/ResultsetTable.stories.tsx +413 -0
  277. package/resultset-table/ResultsetTable.test.js +381 -0
  278. package/resultset-table/types.d.ts +100 -0
  279. package/resultset-table/types.js +5 -0
  280. package/select/Listbox.d.ts +4 -0
  281. package/select/Listbox.js +155 -0
  282. package/select/Option.d.ts +4 -0
  283. package/select/Option.js +89 -0
  284. package/select/Select.accessibility.test.js +228 -0
  285. package/select/Select.d.ts +4 -0
  286. package/select/Select.js +252 -515
  287. package/select/Select.stories.tsx +919 -0
  288. package/select/Select.test.js +2265 -0
  289. package/select/types.d.ts +209 -0
  290. package/select/types.js +5 -0
  291. package/sidenav/Sidenav.accessibility.test.js +59 -0
  292. package/sidenav/Sidenav.d.ts +10 -0
  293. package/sidenav/Sidenav.js +137 -81
  294. package/sidenav/Sidenav.stories.tsx +277 -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 +76 -0
  299. package/sidenav/types.js +5 -0
  300. package/slider/Slider.accessibility.test.js +104 -0
  301. package/slider/Slider.d.ts +2 -2
  302. package/slider/Slider.js +152 -183
  303. package/slider/Slider.test.js +254 -0
  304. package/slider/types.d.ts +11 -3
  305. package/spinner/Spinner.accessibility.test.js +96 -0
  306. package/spinner/Spinner.js +35 -75
  307. package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +53 -26
  308. package/spinner/Spinner.test.js +55 -0
  309. package/spinner/types.d.ts +3 -3
  310. package/status-light/StatusLight.accessibility.test.js +157 -0
  311. package/status-light/StatusLight.d.ts +4 -0
  312. package/status-light/StatusLight.js +51 -0
  313. package/status-light/StatusLight.stories.tsx +74 -0
  314. package/status-light/StatusLight.test.js +25 -0
  315. package/status-light/types.d.ts +17 -0
  316. package/status-light/types.js +5 -0
  317. package/switch/Switch.accessibility.test.js +98 -0
  318. package/switch/Switch.d.ts +2 -2
  319. package/switch/Switch.js +150 -115
  320. package/switch/Switch.stories.tsx +57 -68
  321. package/switch/Switch.test.js +180 -0
  322. package/switch/types.d.ts +13 -5
  323. package/table/DropdownTheme.js +62 -0
  324. package/table/Table.accessibility.test.js +93 -0
  325. package/table/Table.d.ts +6 -2
  326. package/table/Table.js +80 -37
  327. package/table/Table.stories.tsx +663 -0
  328. package/table/Table.test.js +113 -0
  329. package/table/types.d.ts +34 -6
  330. package/tabs/Tab.d.ts +4 -0
  331. package/tabs/Tab.js +117 -0
  332. package/tabs/Tabs.accessibility.test.js +56 -0
  333. package/tabs/Tabs.d.ts +1 -1
  334. package/tabs/Tabs.js +307 -145
  335. package/tabs/Tabs.stories.tsx +230 -0
  336. package/tabs/Tabs.test.js +276 -0
  337. package/tabs/types.d.ts +48 -27
  338. package/tag/Tag.accessibility.test.js +69 -0
  339. package/tag/Tag.d.ts +1 -1
  340. package/tag/Tag.js +44 -86
  341. package/tag/Tag.stories.tsx +37 -30
  342. package/tag/Tag.test.js +41 -0
  343. package/tag/types.d.ts +25 -16
  344. package/text-input/Suggestion.d.ts +4 -0
  345. package/text-input/Suggestion.js +67 -0
  346. package/text-input/Suggestions.d.ts +4 -0
  347. package/text-input/Suggestions.js +94 -0
  348. package/text-input/TextInput.accessibility.test.js +321 -0
  349. package/text-input/TextInput.d.ts +4 -0
  350. package/text-input/TextInput.js +340 -594
  351. package/text-input/TextInput.stories.tsx +474 -0
  352. package/text-input/TextInput.test.js +1756 -0
  353. package/text-input/types.d.ts +205 -0
  354. package/text-input/types.js +5 -0
  355. package/textarea/Textarea.accessibility.test.js +155 -0
  356. package/textarea/Textarea.d.ts +4 -0
  357. package/textarea/Textarea.js +99 -181
  358. package/textarea/Textarea.stories.tsx +174 -0
  359. package/textarea/Textarea.test.js +406 -0
  360. package/textarea/types.d.ts +141 -0
  361. package/textarea/types.js +5 -0
  362. package/toggle-group/ToggleGroup.accessibility.test.js +107 -0
  363. package/toggle-group/ToggleGroup.d.ts +4 -0
  364. package/toggle-group/ToggleGroup.js +101 -142
  365. package/toggle-group/ToggleGroup.stories.tsx +218 -0
  366. package/toggle-group/ToggleGroup.test.js +137 -0
  367. package/toggle-group/types.d.ts +114 -0
  368. package/toggle-group/types.js +5 -0
  369. package/typography/Typography.accessibility.test.js +339 -0
  370. package/typography/Typography.d.ts +4 -0
  371. package/typography/Typography.js +23 -0
  372. package/typography/Typography.stories.tsx +198 -0
  373. package/typography/types.d.ts +18 -0
  374. package/typography/types.js +5 -0
  375. package/useTheme.d.ts +1147 -0
  376. package/useTheme.js +4 -11
  377. package/useTranslatedLabels.d.ts +85 -0
  378. package/useTranslatedLabels.js +14 -0
  379. package/utils/BaseTypography.d.ts +21 -0
  380. package/utils/BaseTypography.js +94 -0
  381. package/utils/FocusLock.d.ts +13 -0
  382. package/utils/FocusLock.js +124 -0
  383. package/wizard/Wizard.accessibility.test.js +55 -0
  384. package/wizard/Wizard.d.ts +4 -0
  385. package/wizard/Wizard.js +122 -154
  386. package/wizard/Wizard.stories.tsx +272 -0
  387. package/wizard/Wizard.test.js +114 -0
  388. package/wizard/types.d.ts +64 -0
  389. package/wizard/types.js +5 -0
  390. package/ThemeContext.js +0 -246
  391. package/V3Select/V3Select.js +0 -455
  392. package/V3Select/index.d.ts +0 -27
  393. package/V3Textarea/V3Textarea.js +0 -260
  394. package/V3Textarea/index.d.ts +0 -27
  395. package/chip/index.d.ts +0 -22
  396. package/common/OpenSans.css +0 -81
  397. package/common/RequiredComponent.js +0 -32
  398. package/common/fonts/OpenSans-Bold.ttf +0 -0
  399. package/common/fonts/OpenSans-BoldItalic.ttf +0 -0
  400. package/common/fonts/OpenSans-ExtraBold.ttf +0 -0
  401. package/common/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  402. package/common/fonts/OpenSans-Italic.ttf +0 -0
  403. package/common/fonts/OpenSans-Light.ttf +0 -0
  404. package/common/fonts/OpenSans-LightItalic.ttf +0 -0
  405. package/common/fonts/OpenSans-Regular.ttf +0 -0
  406. package/common/fonts/OpenSans-SemiBold.ttf +0 -0
  407. package/common/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  408. package/date/Date.js +0 -373
  409. package/date/index.d.ts +0 -27
  410. package/file-input/index.d.ts +0 -81
  411. package/heading/index.d.ts +0 -17
  412. package/input-text/Icons.js +0 -22
  413. package/input-text/InputText.js +0 -611
  414. package/input-text/index.d.ts +0 -36
  415. package/number-input/index.d.ts +0 -113
  416. package/paginator/Icons.js +0 -66
  417. package/progress-bar/ProgressBar.stories.jsx +0 -58
  418. package/radio/Radio.d.ts +0 -4
  419. package/radio/Radio.js +0 -174
  420. package/radio/Radio.stories.tsx +0 -192
  421. package/radio/types.d.ts +0 -54
  422. package/resultsetTable/ResultsetTable.js +0 -274
  423. package/resultsetTable/index.d.ts +0 -19
  424. package/select/index.d.ts +0 -131
  425. package/sidenav/index.d.ts +0 -13
  426. package/slider/Slider.stories.tsx +0 -172
  427. package/table/Table.stories.jsx +0 -276
  428. package/text-input/index.d.ts +0 -135
  429. package/textarea/Textarea.stories.jsx +0 -135
  430. package/textarea/index.d.ts +0 -117
  431. package/toggle/Toggle.js +0 -186
  432. package/toggle/index.d.ts +0 -21
  433. package/toggle-group/index.d.ts +0 -21
  434. package/upload/Upload.js +0 -201
  435. package/upload/buttons-upload/ButtonsUpload.js +0 -111
  436. package/upload/buttons-upload/Icons.js +0 -40
  437. package/upload/dragAndDropArea/DragAndDropArea.js +0 -225
  438. package/upload/dragAndDropArea/Icons.js +0 -39
  439. package/upload/file-upload/FileToUpload.js +0 -115
  440. package/upload/file-upload/Icons.js +0 -66
  441. package/upload/files-upload/FilesToUpload.js +0 -109
  442. package/upload/index.d.ts +0 -15
  443. package/upload/transaction/Icons.js +0 -160
  444. package/upload/transaction/Transaction.js +0 -104
  445. package/upload/transactions/Transactions.js +0 -94
  446. package/wizard/Icons.js +0 -65
  447. package/wizard/index.d.ts +0 -18
  448. /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="x1"
285
+ dropdownTriggerId="dtx1"
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="x2"
298
+ dropdownTriggerId="dtx2"
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="x3"
311
+ dropdownTriggerId="dtx3"
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="x4"
325
+ dropdownTriggerId="dtx4"
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="x5"
336
+ dropdownTriggerId="dtx5"
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
+ };