@dxc-technology/halstack-react 0.0.0-1021ecf → 0.0.0-10af1a2

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 (446) hide show
  1. package/BackgroundColorContext.d.ts +1 -10
  2. package/BackgroundColorContext.js +5 -22
  3. package/HalstackContext.d.ts +1246 -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 -192
  9. package/accordion/Accordion.stories.tsx +83 -149
  10. package/accordion/Accordion.test.js +56 -0
  11. package/accordion/types.d.ts +11 -22
  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 +38 -107
  15. package/accordion-group/AccordionGroup.stories.tsx +95 -68
  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 +17 -22
  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 +40 -127
  30. package/alert/Alert.stories.tsx +28 -0
  31. package/alert/Alert.test.js +75 -0
  32. package/alert/types.d.ts +5 -5
  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/bleed/Bleed.d.ts +3 -0
  40. package/bleed/Bleed.js +43 -0
  41. package/bleed/Bleed.stories.tsx +342 -0
  42. package/bleed/types.d.ts +37 -0
  43. package/box/Box.accessibility.test.js +33 -0
  44. package/box/Box.d.ts +1 -1
  45. package/box/Box.js +30 -81
  46. package/box/Box.stories.tsx +38 -51
  47. package/box/Box.test.js +13 -0
  48. package/box/types.d.ts +3 -14
  49. package/breadcrumbs/Breadcrumbs.accessibility.test.d.ts +1 -0
  50. package/breadcrumbs/Breadcrumbs.accessibility.test.js +96 -0
  51. package/breadcrumbs/Breadcrumbs.d.ts +4 -0
  52. package/breadcrumbs/Breadcrumbs.js +79 -0
  53. package/breadcrumbs/Breadcrumbs.stories.tsx +194 -0
  54. package/breadcrumbs/Breadcrumbs.test.d.ts +1 -0
  55. package/breadcrumbs/Breadcrumbs.test.js +169 -0
  56. package/breadcrumbs/Item.d.ts +4 -0
  57. package/breadcrumbs/Item.js +52 -0
  58. package/breadcrumbs/dropdownTheme.d.ts +53 -0
  59. package/breadcrumbs/dropdownTheme.js +62 -0
  60. package/breadcrumbs/types.d.ts +16 -0
  61. package/breadcrumbs/types.js +5 -0
  62. package/bulleted-list/BulletedList.accessibility.test.js +119 -0
  63. package/bulleted-list/BulletedList.d.ts +7 -0
  64. package/bulleted-list/BulletedList.js +92 -0
  65. package/bulleted-list/BulletedList.stories.tsx +115 -0
  66. package/bulleted-list/types.d.ts +38 -0
  67. package/bulleted-list/types.js +5 -0
  68. package/button/Button.accessibility.test.js +127 -0
  69. package/button/Button.d.ts +1 -1
  70. package/button/Button.js +64 -122
  71. package/button/Button.stories.tsx +155 -106
  72. package/button/Button.test.js +38 -0
  73. package/button/types.d.ts +12 -12
  74. package/card/Card.accessibility.test.js +36 -0
  75. package/card/Card.d.ts +1 -1
  76. package/card/Card.js +59 -102
  77. package/card/Card.stories.tsx +12 -42
  78. package/card/Card.test.js +39 -0
  79. package/card/types.d.ts +6 -11
  80. package/checkbox/Checkbox.accessibility.test.js +87 -0
  81. package/checkbox/Checkbox.d.ts +2 -2
  82. package/checkbox/Checkbox.js +143 -181
  83. package/checkbox/Checkbox.stories.tsx +166 -136
  84. package/checkbox/Checkbox.test.js +199 -0
  85. package/checkbox/types.d.ts +18 -6
  86. package/chip/Chip.accessibility.test.js +67 -0
  87. package/chip/Chip.d.ts +1 -1
  88. package/chip/Chip.js +49 -122
  89. package/chip/Chip.stories.tsx +109 -31
  90. package/chip/Chip.test.js +41 -0
  91. package/chip/types.d.ts +8 -16
  92. package/common/coreTokens.d.ts +237 -0
  93. package/common/coreTokens.js +184 -0
  94. package/common/utils.d.ts +1 -0
  95. package/common/utils.js +6 -12
  96. package/common/variables.d.ts +1392 -0
  97. package/common/variables.js +1080 -1428
  98. package/container/Container.d.ts +4 -0
  99. package/container/Container.js +194 -0
  100. package/container/Container.stories.tsx +214 -0
  101. package/container/types.d.ts +74 -0
  102. package/container/types.js +5 -0
  103. package/contextual-menu/ContextualMenu.accessibility.test.js +97 -0
  104. package/contextual-menu/ContextualMenu.d.ts +5 -0
  105. package/contextual-menu/ContextualMenu.js +88 -0
  106. package/contextual-menu/ContextualMenu.stories.tsx +232 -0
  107. package/contextual-menu/ContextualMenu.test.js +205 -0
  108. package/contextual-menu/GroupItem.d.ts +4 -0
  109. package/contextual-menu/GroupItem.js +67 -0
  110. package/contextual-menu/ItemAction.d.ts +4 -0
  111. package/contextual-menu/ItemAction.js +51 -0
  112. package/contextual-menu/MenuItem.d.ts +4 -0
  113. package/contextual-menu/MenuItem.js +29 -0
  114. package/contextual-menu/SingleItem.d.ts +4 -0
  115. package/contextual-menu/SingleItem.js +38 -0
  116. package/contextual-menu/types.d.ts +58 -0
  117. package/contextual-menu/types.js +5 -0
  118. package/date-input/Calendar.d.ts +4 -0
  119. package/date-input/Calendar.js +214 -0
  120. package/date-input/DateInput.accessibility.test.js +228 -0
  121. package/date-input/DateInput.js +170 -306
  122. package/date-input/DateInput.stories.tsx +210 -56
  123. package/date-input/DateInput.test.js +808 -0
  124. package/date-input/DatePicker.d.ts +4 -0
  125. package/date-input/DatePicker.js +121 -0
  126. package/date-input/YearPicker.d.ts +4 -0
  127. package/date-input/YearPicker.js +100 -0
  128. package/date-input/types.d.ts +86 -22
  129. package/dialog/Dialog.accessibility.test.js +69 -0
  130. package/dialog/Dialog.d.ts +1 -1
  131. package/dialog/Dialog.js +56 -129
  132. package/dialog/Dialog.stories.tsx +326 -167
  133. package/dialog/Dialog.test.js +307 -0
  134. package/dialog/types.d.ts +18 -25
  135. package/divider/Divider.accessibility.test.js +33 -0
  136. package/divider/Divider.d.ts +4 -0
  137. package/divider/Divider.js +36 -0
  138. package/divider/Divider.stories.tsx +223 -0
  139. package/divider/Divider.test.js +38 -0
  140. package/divider/types.d.ts +21 -0
  141. package/divider/types.js +5 -0
  142. package/dropdown/Dropdown.accessibility.test.js +180 -0
  143. package/dropdown/Dropdown.d.ts +1 -1
  144. package/dropdown/Dropdown.js +233 -329
  145. package/dropdown/Dropdown.stories.tsx +244 -64
  146. package/dropdown/Dropdown.test.js +599 -0
  147. package/dropdown/DropdownMenu.d.ts +4 -0
  148. package/dropdown/DropdownMenu.js +63 -0
  149. package/dropdown/DropdownMenuItem.d.ts +4 -0
  150. package/dropdown/DropdownMenuItem.js +71 -0
  151. package/dropdown/types.d.ts +37 -30
  152. package/file-input/FileInput.accessibility.test.js +160 -0
  153. package/file-input/FileInput.d.ts +2 -2
  154. package/file-input/FileInput.js +246 -393
  155. package/file-input/FileInput.stories.tsx +123 -12
  156. package/file-input/FileInput.test.js +382 -0
  157. package/file-input/FileItem.d.ts +4 -14
  158. package/file-input/FileItem.js +61 -120
  159. package/file-input/types.d.ts +25 -8
  160. package/flex/Flex.d.ts +4 -0
  161. package/flex/Flex.js +57 -0
  162. package/flex/Flex.stories.tsx +112 -0
  163. package/flex/types.d.ts +97 -0
  164. package/flex/types.js +5 -0
  165. package/footer/Footer.accessibility.test.js +125 -0
  166. package/footer/Footer.d.ts +1 -1
  167. package/footer/Footer.js +73 -193
  168. package/footer/Footer.stories.tsx +99 -21
  169. package/footer/Footer.test.js +85 -0
  170. package/footer/Icons.d.ts +3 -2
  171. package/footer/Icons.js +54 -23
  172. package/footer/types.d.ts +26 -27
  173. package/grid/Grid.d.ts +7 -0
  174. package/grid/Grid.js +76 -0
  175. package/grid/Grid.stories.tsx +219 -0
  176. package/grid/types.d.ts +115 -0
  177. package/grid/types.js +5 -0
  178. package/header/Header.accessibility.test.js +93 -0
  179. package/header/Header.d.ts +4 -3
  180. package/header/Header.js +104 -218
  181. package/header/Header.stories.tsx +168 -63
  182. package/header/Header.test.js +66 -0
  183. package/header/Icons.d.ts +2 -2
  184. package/header/Icons.js +5 -15
  185. package/header/types.d.ts +7 -21
  186. package/heading/Heading.accessibility.test.js +33 -0
  187. package/heading/Heading.js +10 -32
  188. package/heading/Heading.test.js +169 -0
  189. package/heading/types.d.ts +7 -7
  190. package/icon/Icon.accessibility.test.js +30 -0
  191. package/icon/Icon.d.ts +4 -0
  192. package/icon/Icon.js +33 -0
  193. package/icon/Icon.stories.tsx +28 -0
  194. package/icon/types.d.ts +4 -0
  195. package/icon/types.js +5 -0
  196. package/image/Image.accessibility.test.js +56 -0
  197. package/image/Image.d.ts +4 -0
  198. package/image/Image.js +70 -0
  199. package/image/Image.stories.tsx +129 -0
  200. package/image/types.d.ts +72 -0
  201. package/image/types.js +5 -0
  202. package/inset/Inset.d.ts +3 -0
  203. package/inset/Inset.js +43 -0
  204. package/inset/Inset.stories.tsx +230 -0
  205. package/inset/types.d.ts +37 -0
  206. package/inset/types.js +5 -0
  207. package/layout/ApplicationLayout.d.ts +16 -6
  208. package/layout/ApplicationLayout.js +88 -176
  209. package/layout/ApplicationLayout.stories.tsx +85 -94
  210. package/layout/Icons.d.ts +7 -0
  211. package/layout/Icons.js +41 -48
  212. package/layout/types.d.ts +19 -35
  213. package/link/Link.accessibility.test.js +108 -0
  214. package/link/Link.d.ts +3 -2
  215. package/link/Link.js +64 -108
  216. package/link/Link.stories.tsx +161 -54
  217. package/link/Link.test.js +63 -0
  218. package/link/types.d.ts +15 -35
  219. package/main.d.ts +20 -18
  220. package/main.js +89 -120
  221. package/nav-tabs/NavTabs.accessibility.test.js +44 -0
  222. package/nav-tabs/NavTabs.d.ts +7 -0
  223. package/nav-tabs/NavTabs.js +93 -0
  224. package/nav-tabs/NavTabs.stories.tsx +279 -0
  225. package/nav-tabs/NavTabs.test.js +77 -0
  226. package/nav-tabs/NavTabsContext.d.ts +3 -0
  227. package/nav-tabs/NavTabsContext.js +8 -0
  228. package/nav-tabs/Tab.d.ts +4 -0
  229. package/nav-tabs/Tab.js +117 -0
  230. package/nav-tabs/types.d.ts +52 -0
  231. package/nav-tabs/types.js +5 -0
  232. package/number-input/NumberInput.accessibility.test.js +228 -0
  233. package/number-input/NumberInput.js +47 -44
  234. package/number-input/NumberInput.stories.tsx +44 -28
  235. package/number-input/NumberInput.test.js +989 -0
  236. package/number-input/NumberInputContext.d.ts +3 -4
  237. package/number-input/NumberInputContext.js +3 -14
  238. package/number-input/types.d.ts +34 -15
  239. package/package.json +54 -53
  240. package/paginator/Paginator.accessibility.test.js +79 -0
  241. package/paginator/Paginator.js +46 -100
  242. package/paginator/Paginator.stories.tsx +24 -0
  243. package/paginator/Paginator.test.js +335 -0
  244. package/paginator/types.d.ts +3 -3
  245. package/paragraph/Paragraph.accessibility.test.js +28 -0
  246. package/paragraph/Paragraph.d.ts +5 -0
  247. package/paragraph/Paragraph.js +22 -0
  248. package/paragraph/Paragraph.stories.tsx +27 -0
  249. package/password-input/PasswordInput.accessibility.test.js +153 -0
  250. package/password-input/PasswordInput.js +58 -124
  251. package/password-input/PasswordInput.stories.tsx +1 -33
  252. package/password-input/PasswordInput.test.js +198 -0
  253. package/password-input/types.d.ts +21 -17
  254. package/progress-bar/ProgressBar.accessibility.test.js +35 -0
  255. package/progress-bar/ProgressBar.js +68 -92
  256. package/progress-bar/ProgressBar.stories.tsx +93 -0
  257. package/progress-bar/ProgressBar.test.js +93 -0
  258. package/progress-bar/types.d.ts +3 -3
  259. package/quick-nav/QuickNav.accessibility.test.js +57 -0
  260. package/quick-nav/QuickNav.d.ts +4 -0
  261. package/quick-nav/QuickNav.js +94 -0
  262. package/quick-nav/QuickNav.stories.tsx +356 -0
  263. package/quick-nav/types.d.ts +21 -0
  264. package/quick-nav/types.js +5 -0
  265. package/radio-group/Radio.d.ts +1 -1
  266. package/radio-group/Radio.js +67 -73
  267. package/radio-group/RadioGroup.accessibility.test.js +97 -0
  268. package/radio-group/RadioGroup.js +109 -141
  269. package/radio-group/RadioGroup.stories.tsx +171 -36
  270. package/radio-group/RadioGroup.test.js +756 -0
  271. package/radio-group/types.d.ts +88 -10
  272. package/resultset-table/Icons.d.ts +7 -0
  273. package/resultset-table/Icons.js +47 -0
  274. package/resultset-table/ResultsetTable.accessibility.test.js +285 -0
  275. package/resultset-table/ResultsetTable.d.ts +7 -0
  276. package/resultset-table/ResultsetTable.js +171 -0
  277. package/{resultsetTable → resultset-table}/ResultsetTable.stories.tsx +173 -37
  278. package/resultset-table/ResultsetTable.test.js +381 -0
  279. package/{resultsetTable → resultset-table}/types.d.ts +44 -11
  280. package/resultset-table/types.js +5 -0
  281. package/select/Listbox.d.ts +4 -0
  282. package/select/Listbox.js +155 -0
  283. package/select/Option.d.ts +4 -0
  284. package/select/Option.js +89 -0
  285. package/select/Select.accessibility.test.js +228 -0
  286. package/select/Select.js +243 -504
  287. package/select/Select.stories.tsx +602 -255
  288. package/select/Select.test.js +2265 -0
  289. package/select/types.d.ts +65 -26
  290. package/sidenav/Sidenav.accessibility.test.js +59 -0
  291. package/sidenav/Sidenav.d.ts +6 -5
  292. package/sidenav/Sidenav.js +136 -71
  293. package/sidenav/Sidenav.stories.tsx +246 -151
  294. package/sidenav/Sidenav.test.js +37 -0
  295. package/sidenav/SidenavContext.d.ts +5 -0
  296. package/sidenav/SidenavContext.js +13 -0
  297. package/sidenav/types.d.ts +52 -26
  298. package/slider/Slider.accessibility.test.js +104 -0
  299. package/slider/Slider.d.ts +2 -2
  300. package/slider/Slider.js +149 -180
  301. package/slider/Slider.stories.tsx +68 -65
  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 +34 -74
  306. package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +53 -27
  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 +98 -0
  317. package/switch/Switch.d.ts +2 -2
  318. package/switch/Switch.js +149 -114
  319. package/switch/Switch.stories.tsx +56 -67
  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 +93 -0
  324. package/table/Table.d.ts +6 -2
  325. package/table/Table.js +78 -35
  326. package/table/Table.stories.tsx +663 -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 +117 -0
  331. package/tabs/Tabs.accessibility.test.js +56 -0
  332. package/tabs/Tabs.d.ts +1 -1
  333. package/tabs/Tabs.js +306 -146
  334. package/tabs/Tabs.stories.tsx +127 -19
  335. package/tabs/Tabs.test.js +276 -0
  336. package/tabs/types.d.ts +46 -24
  337. package/tag/Tag.accessibility.test.js +69 -0
  338. package/tag/Tag.d.ts +1 -1
  339. package/tag/Tag.js +43 -85
  340. package/tag/Tag.stories.tsx +36 -29
  341. package/tag/Tag.test.js +41 -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 +94 -0
  347. package/text-input/TextInput.accessibility.test.js +321 -0
  348. package/text-input/TextInput.js +334 -557
  349. package/text-input/TextInput.stories.tsx +291 -273
  350. package/text-input/TextInput.test.js +1756 -0
  351. package/text-input/types.d.ts +70 -24
  352. package/textarea/Textarea.accessibility.test.js +155 -0
  353. package/textarea/Textarea.js +86 -135
  354. package/textarea/Textarea.stories.tsx +174 -0
  355. package/textarea/Textarea.test.js +406 -0
  356. package/textarea/types.d.ts +27 -16
  357. package/toggle-group/ToggleGroup.accessibility.test.js +107 -0
  358. package/toggle-group/ToggleGroup.d.ts +2 -2
  359. package/toggle-group/ToggleGroup.js +94 -106
  360. package/toggle-group/ToggleGroup.stories.tsx +56 -11
  361. package/toggle-group/ToggleGroup.test.js +137 -0
  362. package/toggle-group/types.d.ts +36 -19
  363. package/typography/Typography.accessibility.test.js +339 -0
  364. package/typography/Typography.d.ts +4 -0
  365. package/typography/Typography.js +23 -0
  366. package/typography/Typography.stories.tsx +198 -0
  367. package/typography/types.d.ts +18 -0
  368. package/typography/types.js +5 -0
  369. package/useTheme.d.ts +1144 -1
  370. package/useTheme.js +4 -11
  371. package/useTranslatedLabels.d.ts +85 -0
  372. package/useTranslatedLabels.js +14 -0
  373. package/utils/BaseTypography.d.ts +21 -0
  374. package/utils/BaseTypography.js +94 -0
  375. package/utils/FocusLock.d.ts +13 -0
  376. package/utils/FocusLock.js +124 -0
  377. package/wizard/Wizard.accessibility.test.js +55 -0
  378. package/wizard/Wizard.d.ts +1 -1
  379. package/wizard/Wizard.js +78 -120
  380. package/wizard/Wizard.stories.tsx +67 -19
  381. package/wizard/Wizard.test.js +114 -0
  382. package/wizard/types.d.ts +14 -10
  383. package/ThemeContext.d.ts +0 -15
  384. package/ThemeContext.js +0 -243
  385. package/V3Select/V3Select.js +0 -455
  386. package/V3Select/index.d.ts +0 -27
  387. package/V3Textarea/V3Textarea.js +0 -260
  388. package/V3Textarea/index.d.ts +0 -27
  389. package/card/ice-cream.jpg +0 -0
  390. package/common/OpenSans.css +0 -81
  391. package/common/RequiredComponent.js +0 -32
  392. package/common/fonts/OpenSans-Bold.ttf +0 -0
  393. package/common/fonts/OpenSans-BoldItalic.ttf +0 -0
  394. package/common/fonts/OpenSans-ExtraBold.ttf +0 -0
  395. package/common/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  396. package/common/fonts/OpenSans-Italic.ttf +0 -0
  397. package/common/fonts/OpenSans-Light.ttf +0 -0
  398. package/common/fonts/OpenSans-LightItalic.ttf +0 -0
  399. package/common/fonts/OpenSans-Regular.ttf +0 -0
  400. package/common/fonts/OpenSans-SemiBold.ttf +0 -0
  401. package/common/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  402. package/date/Date.js +0 -373
  403. package/date/index.d.ts +0 -27
  404. package/input-text/Icons.js +0 -22
  405. package/input-text/InputText.js +0 -611
  406. package/input-text/index.d.ts +0 -36
  407. package/list/List.d.ts +0 -8
  408. package/list/List.js +0 -47
  409. package/list/List.stories.tsx +0 -95
  410. package/number-input/numberInputContextTypes.d.ts +0 -19
  411. package/paginator/Icons.js +0 -66
  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.d.ts +0 -4
  418. package/resultsetTable/ResultsetTable.js +0 -251
  419. package/row/Row.d.ts +0 -11
  420. package/row/Row.js +0 -127
  421. package/row/Row.stories.tsx +0 -239
  422. package/stack/Stack.d.ts +0 -10
  423. package/stack/Stack.js +0 -97
  424. package/stack/Stack.stories.tsx +0 -166
  425. package/table/Table.stories.jsx +0 -277
  426. package/text/Text.d.ts +0 -7
  427. package/text/Text.js +0 -30
  428. package/text/Text.stories.tsx +0 -19
  429. package/textarea/Textarea.stories.jsx +0 -136
  430. package/toggle/Toggle.js +0 -186
  431. package/toggle/index.d.ts +0 -21
  432. package/upload/Upload.js +0 -201
  433. package/upload/buttons-upload/ButtonsUpload.js +0 -111
  434. package/upload/buttons-upload/Icons.js +0 -40
  435. package/upload/dragAndDropArea/DragAndDropArea.js +0 -225
  436. package/upload/dragAndDropArea/Icons.js +0 -39
  437. package/upload/file-upload/FileToUpload.js +0 -115
  438. package/upload/file-upload/Icons.js +0 -66
  439. package/upload/files-upload/FilesToUpload.js +0 -109
  440. package/upload/index.d.ts +0 -15
  441. package/upload/transaction/Icons.js +0 -160
  442. package/upload/transaction/Transaction.js +0 -104
  443. package/upload/transactions/Transactions.js +0 -94
  444. /package/{radio → action-icon}/types.js +0 -0
  445. /package/{resultsetTable → badge}/types.js +0 -0
  446. /package/{number-input/numberInputContextTypes.js → bleed/types.js} +0 -0
@@ -3,36 +3,66 @@ import { userEvent, within } from "@storybook/testing-library";
3
3
  import DxcDropdown from "./Dropdown";
4
4
  import Title from "../../.storybook/components/Title";
5
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";
6
12
 
7
13
  export default {
8
14
  title: "Dropdown",
9
15
  component: DxcDropdown,
10
16
  };
11
17
 
12
- const iconSVG = () => {
13
- return (
14
- <svg viewBox="0 0 24 24" fill="currentColor">
15
- <path d="M0 0h24v24H0z" fill="none" />
16
- <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" />
17
- </svg>
18
- );
19
- };
20
-
21
- const iconSVGLarge = () => {
22
- return (
23
- <svg enable-background="new 0 0 24 24" height="48px" viewBox="0 0 24 24" width="48px" fill="currentColor">
24
- <g>
25
- <path d="M0,0h24v24H0V0z" fill="none" />
26
- <path d="M0,0h24v24H0V0z" fill="none" />
27
- </g>
28
- <g>
29
- <path d="M12,17.27L18.18,21l-1.64-7.03L22,9.24l-7.19-0.61L12,2L9.19,8.63L2,9.24l5.46,4.73L5.82,21L12,17.27z" />
30
- </g>
31
- </svg>
32
- );
33
- };
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"];
34
30
 
35
- const options: any = [
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[] = [
36
66
  {
37
67
  value: "1",
38
68
  label: "Amazon with a very long text",
@@ -46,17 +76,25 @@ const options: any = [
46
76
  label: "Apple",
47
77
  },
48
78
  ];
49
-
50
- const option: any = [
79
+ const optionWithIcon: Option[] = [
51
80
  {
52
81
  value: "1",
53
82
  label: "Ebay",
83
+ icon: "shopping_cart",
54
84
  },
55
85
  ];
56
86
 
57
- const optionsIcon: any = options.map((op, i) => ({ ...op, icon: i === 1 ? iconSVGLarge : iconSVG }));
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
+ };
58
96
 
59
- export const Chromatic = () => (
97
+ const Dropdown = () => (
60
98
  <>
61
99
  <ExampleContainer>
62
100
  <Title title="Default" theme="light" level={4} />
@@ -66,7 +104,7 @@ export const Chromatic = () => (
66
104
  <Title title="Hovered" theme="light" level={4} />
67
105
  <DxcDropdown label="Hovered" options={options} onSelectOption={(value) => {}} />
68
106
  </ExampleContainer>
69
- <ExampleContainer pseudoState="pseudo-focus-visible">
107
+ <ExampleContainer pseudoState="pseudo-focus">
70
108
  <Title title="Focused" theme="light" level={4} />
71
109
  <DxcDropdown label="Focused" options={options} onSelectOption={(value) => {}} />
72
110
  </ExampleContainer>
@@ -92,7 +130,7 @@ export const Chromatic = () => (
92
130
  label="Icon after"
93
131
  options={options}
94
132
  onSelectOption={(value) => {}}
95
- icon={iconSVG}
133
+ icon="shopping_cart"
96
134
  iconPosition="after"
97
135
  />
98
136
  </ExampleContainer>
@@ -101,9 +139,17 @@ export const Chromatic = () => (
101
139
  <DxcDropdown options={options} onSelectOption={(value) => {}} icon={iconSVG} />
102
140
  </ExampleContainer>
103
141
  <ExampleContainer>
104
- <Title title="Large icon" theme="light" level={4} />
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} />
105
147
  <DxcDropdown label="Large icon" options={options} onSelectOption={(value) => {}} icon={iconSVGLarge} />
106
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>
107
153
  <ExampleContainer>
108
154
  <Title title="Disabled with icon" theme="light" level={4} />
109
155
  <DxcDropdown
@@ -186,62 +232,196 @@ export const Chromatic = () => (
186
232
  size="fillParent"
187
233
  />
188
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>
189
239
  </>
190
240
  );
191
241
 
192
- const DropdownWithOptions = () => (
193
- <ExampleContainer expanded>
194
- <Title title="Options" theme="light" level={4} />
195
- <DxcDropdown label="Options with icon" options={optionsIcon} onSelectOption={(value) => {}} />
196
- </ExampleContainer>
197
- );
242
+ const DropdownListStates = () => {
243
+ const colorsTheme: any = useTheme();
198
244
 
199
- const DropdownHoverOption = () => (
200
- <ExampleContainer pseudoState="pseudo-hover" expanded>
201
- <Title title="Hovered option" theme="light" level={4} />
202
- <DxcDropdown label="Hovered options" options={option} onSelectOption={(value) => {}} />
203
- </ExampleContainer>
204
- );
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
+ };
205
349
 
206
- const DropdownActiveOption = () => (
207
- <ExampleContainer pseudoState="pseudo-active" expanded>
208
- <Title title="Actived option" theme="light" level={4} />
209
- <DxcDropdown label="Actived options" options={option} onSelectOption={(value) => {}} />
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>
210
356
  </ExampleContainer>
211
357
  );
212
358
 
213
- const DropdownWithOptionsIconAfter = () => (
359
+ const DropdownCenterAlignment = () => (
214
360
  <ExampleContainer expanded>
215
- <Title title="Icon after options" theme="light" level={4} />
216
- <DxcDropdown
217
- label="Icon after options"
218
- options={optionsIcon}
219
- onSelectOption={(value) => {}}
220
- optionsIconPosition="after"
221
- />
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>
222
365
  </ExampleContainer>
223
366
  );
224
367
 
225
- export const DropdownOptions = DropdownWithOptions.bind({});
226
- DropdownOptions.play = async ({ canvasElement }) => {
368
+ export const Chromatic = Dropdown.bind({});
369
+ Chromatic.play = async ({ canvasElement }) => {
227
370
  const canvas = within(canvasElement);
228
- await userEvent.click(canvas.getByRole("button"));
371
+ const buttonList = canvas.getAllByRole("button");
372
+ await userEvent.click(buttonList[buttonList.length - 1]);
229
373
  };
230
374
 
231
- export const DropdownHoveredOption = DropdownHoverOption.bind({});
232
- DropdownHoveredOption.play = async ({ canvasElement }) => {
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 }) => {
233
413
  const canvas = within(canvasElement);
234
- await userEvent.click(canvas.getByRole("button"));
414
+ await userEvent.click(canvas.getAllByRole("button")[0]);
235
415
  };
236
416
 
237
- export const DropdownActivedOption = DropdownActiveOption.bind({});
238
- DropdownActivedOption.play = async ({ canvasElement }) => {
417
+ export const DropdownMenuAlignedRight = DropdownRightAlignment.bind({});
418
+ DropdownMenuAlignedRight.play = async ({ canvasElement }) => {
239
419
  const canvas = within(canvasElement);
240
420
  await userEvent.click(canvas.getByRole("button"));
241
421
  };
242
422
 
243
- export const DropdownOptionsIconAfter = DropdownWithOptionsIconAfter.bind({});
244
- DropdownOptionsIconAfter.play = async ({ canvasElement }) => {
423
+ export const DropdownMenuAlignedCenter = DropdownCenterAlignment.bind({});
424
+ DropdownMenuAlignedCenter.play = async ({ canvasElement }) => {
245
425
  const canvas = within(canvasElement);
246
426
  await userEvent.click(canvas.getByRole("button"));
247
427
  };