@dxc-technology/halstack-react 0.0.0-9d82cb9 → 0.0.0-9e25510

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 (553) hide show
  1. package/BackgroundColorContext.d.ts +1 -10
  2. package/BackgroundColorContext.js +5 -22
  3. package/HalstackContext.d.ts +1286 -0
  4. package/HalstackContext.js +320 -0
  5. package/README.md +47 -0
  6. package/accordion/Accordion.accessibility.test.d.ts +1 -0
  7. package/accordion/Accordion.accessibility.test.js +71 -0
  8. package/accordion/Accordion.d.ts +1 -1
  9. package/accordion/Accordion.js +102 -192
  10. package/accordion/Accordion.stories.tsx +83 -149
  11. package/accordion/Accordion.test.d.ts +1 -0
  12. package/accordion/Accordion.test.js +56 -0
  13. package/accordion/types.d.ts +11 -22
  14. package/accordion-group/AccordionGroup.accessibility.test.d.ts +1 -0
  15. package/accordion-group/AccordionGroup.accessibility.test.js +82 -0
  16. package/accordion-group/AccordionGroup.d.ts +3 -3
  17. package/accordion-group/AccordionGroup.js +38 -107
  18. package/accordion-group/AccordionGroup.stories.tsx +95 -68
  19. package/accordion-group/AccordionGroup.test.d.ts +1 -0
  20. package/accordion-group/AccordionGroup.test.js +94 -0
  21. package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
  22. package/accordion-group/AccordionGroupAccordion.js +31 -0
  23. package/accordion-group/AccordionGroupContext.d.ts +3 -0
  24. package/accordion-group/AccordionGroupContext.js +8 -0
  25. package/accordion-group/types.d.ts +17 -22
  26. package/action-icon/ActionIcon.accessibility.test.d.ts +1 -0
  27. package/action-icon/ActionIcon.accessibility.test.js +63 -0
  28. package/action-icon/ActionIcon.d.ts +4 -0
  29. package/action-icon/ActionIcon.js +48 -0
  30. package/action-icon/ActionIcon.stories.tsx +41 -0
  31. package/action-icon/ActionIcon.test.d.ts +1 -0
  32. package/action-icon/ActionIcon.test.js +64 -0
  33. package/action-icon/types.d.ts +26 -0
  34. package/alert/Alert.accessibility.test.d.ts +1 -0
  35. package/alert/Alert.accessibility.test.js +95 -0
  36. package/alert/Alert.js +40 -127
  37. package/alert/Alert.stories.tsx +28 -0
  38. package/alert/Alert.test.d.ts +1 -0
  39. package/alert/Alert.test.js +75 -0
  40. package/alert/types.d.ts +5 -5
  41. package/badge/Badge.accessibility.test.d.ts +1 -0
  42. package/badge/Badge.accessibility.test.js +129 -0
  43. package/badge/Badge.d.ts +4 -0
  44. package/badge/Badge.js +142 -40
  45. package/badge/Badge.stories.tsx +210 -0
  46. package/badge/Badge.test.d.ts +1 -0
  47. package/badge/Badge.test.js +30 -0
  48. package/badge/types.d.ts +54 -0
  49. package/bar-chart/BarChart.d.ts +4 -0
  50. package/bar-chart/BarChart.js +157 -0
  51. package/bar-chart/BarChart.stories.tsx +281 -0
  52. package/bar-chart/BarChart.test.d.ts +1 -0
  53. package/bar-chart/BarChart.test.js +194 -0
  54. package/bar-chart/theme.d.ts +3 -0
  55. package/bar-chart/theme.js +31 -0
  56. package/bar-chart/types.d.ts +137 -0
  57. package/bleed/Bleed.d.ts +2 -2
  58. package/bleed/Bleed.js +14 -55
  59. package/bleed/Bleed.stories.tsx +95 -96
  60. package/bleed/types.d.ts +26 -2
  61. package/box/Box.accessibility.test.d.ts +1 -0
  62. package/box/Box.accessibility.test.js +33 -0
  63. package/box/Box.d.ts +1 -1
  64. package/box/Box.js +30 -81
  65. package/box/Box.stories.tsx +38 -51
  66. package/box/Box.test.d.ts +1 -0
  67. package/box/Box.test.js +13 -0
  68. package/box/types.d.ts +3 -14
  69. package/breadcrumbs/Breadcrumbs.accessibility.test.d.ts +1 -0
  70. package/breadcrumbs/Breadcrumbs.accessibility.test.js +96 -0
  71. package/breadcrumbs/Breadcrumbs.d.ts +4 -0
  72. package/breadcrumbs/Breadcrumbs.js +79 -0
  73. package/breadcrumbs/Breadcrumbs.stories.tsx +194 -0
  74. package/breadcrumbs/Breadcrumbs.test.d.ts +1 -0
  75. package/breadcrumbs/Breadcrumbs.test.js +168 -0
  76. package/breadcrumbs/Item.d.ts +4 -0
  77. package/breadcrumbs/Item.js +52 -0
  78. package/breadcrumbs/dropdownTheme.d.ts +53 -0
  79. package/breadcrumbs/dropdownTheme.js +62 -0
  80. package/breadcrumbs/types.d.ts +40 -0
  81. package/breadcrumbs/types.js +5 -0
  82. package/bulleted-list/BulletedList.accessibility.test.d.ts +1 -0
  83. package/bulleted-list/BulletedList.accessibility.test.js +119 -0
  84. package/bulleted-list/BulletedList.d.ts +7 -0
  85. package/bulleted-list/BulletedList.js +92 -0
  86. package/bulleted-list/BulletedList.stories.tsx +115 -0
  87. package/bulleted-list/types.d.ts +38 -0
  88. package/bulleted-list/types.js +5 -0
  89. package/button/Button.accessibility.test.d.ts +1 -0
  90. package/button/Button.accessibility.test.js +127 -0
  91. package/button/Button.d.ts +1 -1
  92. package/button/Button.js +63 -113
  93. package/button/Button.stories.tsx +151 -100
  94. package/button/Button.test.d.ts +1 -0
  95. package/button/Button.test.js +38 -0
  96. package/button/types.d.ts +12 -8
  97. package/card/Card.accessibility.test.d.ts +1 -0
  98. package/card/Card.accessibility.test.js +36 -0
  99. package/card/Card.d.ts +1 -1
  100. package/card/Card.js +59 -102
  101. package/card/Card.stories.tsx +13 -43
  102. package/card/Card.test.d.ts +1 -0
  103. package/card/Card.test.js +39 -0
  104. package/card/types.d.ts +6 -11
  105. package/checkbox/Checkbox.accessibility.test.d.ts +1 -0
  106. package/checkbox/Checkbox.accessibility.test.js +87 -0
  107. package/checkbox/Checkbox.d.ts +2 -2
  108. package/checkbox/Checkbox.js +140 -181
  109. package/checkbox/Checkbox.stories.tsx +166 -136
  110. package/checkbox/Checkbox.test.d.ts +1 -0
  111. package/checkbox/Checkbox.test.js +199 -0
  112. package/checkbox/types.d.ts +18 -6
  113. package/chip/Chip.accessibility.test.d.ts +1 -0
  114. package/chip/Chip.accessibility.test.js +67 -0
  115. package/chip/Chip.d.ts +1 -1
  116. package/chip/Chip.js +49 -122
  117. package/chip/Chip.stories.tsx +105 -31
  118. package/chip/Chip.test.d.ts +1 -0
  119. package/chip/Chip.test.js +41 -0
  120. package/chip/types.d.ts +8 -16
  121. package/common/coreTokens.d.ts +236 -0
  122. package/common/coreTokens.js +183 -0
  123. package/common/utils.d.ts +1 -0
  124. package/common/utils.js +6 -12
  125. package/common/variables.d.ts +1438 -0
  126. package/common/variables.js +1119 -1427
  127. package/container/Container.d.ts +4 -0
  128. package/container/Container.js +194 -0
  129. package/container/Container.stories.tsx +214 -0
  130. package/container/types.d.ts +176 -0
  131. package/container/types.js +5 -0
  132. package/contextual-menu/ContextualMenu.accessibility.test.d.ts +1 -0
  133. package/contextual-menu/ContextualMenu.accessibility.test.js +98 -0
  134. package/contextual-menu/ContextualMenu.d.ts +5 -0
  135. package/contextual-menu/ContextualMenu.js +136 -0
  136. package/contextual-menu/ContextualMenu.stories.tsx +231 -0
  137. package/contextual-menu/ContextualMenu.test.d.ts +1 -0
  138. package/contextual-menu/ContextualMenu.test.js +247 -0
  139. package/contextual-menu/GroupItem.d.ts +4 -0
  140. package/contextual-menu/GroupItem.js +67 -0
  141. package/contextual-menu/ItemAction.d.ts +4 -0
  142. package/contextual-menu/ItemAction.js +88 -0
  143. package/contextual-menu/MenuItem.d.ts +4 -0
  144. package/contextual-menu/MenuItem.js +29 -0
  145. package/contextual-menu/SingleItem.d.ts +4 -0
  146. package/contextual-menu/SingleItem.js +38 -0
  147. package/contextual-menu/types.d.ts +65 -0
  148. package/contextual-menu/types.js +5 -0
  149. package/date-input/Calendar.d.ts +4 -0
  150. package/date-input/Calendar.js +230 -0
  151. package/date-input/DateInput.accessibility.test.d.ts +1 -0
  152. package/date-input/DateInput.accessibility.test.js +229 -0
  153. package/date-input/DateInput.js +263 -310
  154. package/date-input/DateInput.stories.tsx +215 -57
  155. package/date-input/DateInput.test.d.ts +1 -0
  156. package/date-input/DateInput.test.js +808 -0
  157. package/date-input/DatePicker.d.ts +4 -0
  158. package/date-input/DatePicker.js +121 -0
  159. package/date-input/YearPicker.d.ts +4 -0
  160. package/date-input/YearPicker.js +105 -0
  161. package/date-input/types.d.ts +86 -22
  162. package/dialog/Dialog.accessibility.test.d.ts +1 -0
  163. package/dialog/Dialog.accessibility.test.js +69 -0
  164. package/dialog/Dialog.d.ts +1 -1
  165. package/dialog/Dialog.js +56 -129
  166. package/dialog/Dialog.stories.tsx +324 -167
  167. package/dialog/Dialog.test.d.ts +1 -0
  168. package/dialog/Dialog.test.js +370 -0
  169. package/dialog/types.d.ts +18 -25
  170. package/divider/Divider.accessibility.test.d.ts +1 -0
  171. package/divider/Divider.accessibility.test.js +33 -0
  172. package/divider/Divider.d.ts +4 -0
  173. package/divider/Divider.js +36 -0
  174. package/divider/Divider.stories.tsx +224 -0
  175. package/divider/Divider.test.d.ts +1 -0
  176. package/divider/Divider.test.js +38 -0
  177. package/divider/types.d.ts +21 -0
  178. package/divider/types.js +5 -0
  179. package/dropdown/Dropdown.accessibility.test.d.ts +1 -0
  180. package/dropdown/Dropdown.accessibility.test.js +183 -0
  181. package/dropdown/Dropdown.d.ts +1 -1
  182. package/dropdown/Dropdown.js +213 -329
  183. package/dropdown/Dropdown.stories.tsx +245 -65
  184. package/dropdown/Dropdown.test.d.ts +1 -0
  185. package/dropdown/Dropdown.test.js +628 -0
  186. package/dropdown/DropdownMenu.d.ts +4 -0
  187. package/dropdown/DropdownMenu.js +63 -0
  188. package/dropdown/DropdownMenuItem.d.ts +4 -0
  189. package/dropdown/DropdownMenuItem.js +71 -0
  190. package/dropdown/types.d.ts +37 -30
  191. package/file-input/FileInput.accessibility.test.d.ts +1 -0
  192. package/file-input/FileInput.accessibility.test.js +167 -0
  193. package/file-input/FileInput.d.ts +2 -2
  194. package/file-input/FileInput.js +243 -395
  195. package/file-input/FileInput.stories.tsx +123 -12
  196. package/file-input/FileInput.test.d.ts +1 -0
  197. package/file-input/FileInput.test.js +404 -0
  198. package/file-input/FileItem.d.ts +4 -14
  199. package/file-input/FileItem.js +61 -120
  200. package/file-input/types.d.ts +24 -11
  201. package/flex/Flex.d.ts +4 -0
  202. package/flex/Flex.js +57 -0
  203. package/flex/Flex.stories.tsx +112 -0
  204. package/flex/types.d.ts +97 -0
  205. package/flex/types.js +5 -0
  206. package/footer/Footer.accessibility.test.d.ts +1 -0
  207. package/footer/Footer.accessibility.test.js +125 -0
  208. package/footer/Footer.d.ts +1 -1
  209. package/footer/Footer.js +73 -193
  210. package/footer/Footer.stories.tsx +99 -21
  211. package/footer/Footer.test.d.ts +1 -0
  212. package/footer/Footer.test.js +85 -0
  213. package/footer/Icons.d.ts +3 -2
  214. package/footer/Icons.js +54 -23
  215. package/footer/types.d.ts +26 -27
  216. package/grid/Grid.d.ts +7 -0
  217. package/grid/Grid.js +76 -0
  218. package/grid/Grid.stories.tsx +221 -0
  219. package/grid/types.d.ts +115 -0
  220. package/grid/types.js +5 -0
  221. package/header/Header.accessibility.test.d.ts +1 -0
  222. package/header/Header.accessibility.test.js +94 -0
  223. package/header/Header.d.ts +4 -3
  224. package/header/Header.js +104 -218
  225. package/header/Header.stories.tsx +169 -64
  226. package/header/Header.test.d.ts +1 -0
  227. package/header/Header.test.js +66 -0
  228. package/header/Icons.d.ts +2 -2
  229. package/header/Icons.js +5 -15
  230. package/header/types.d.ts +7 -21
  231. package/heading/Heading.accessibility.test.d.ts +1 -0
  232. package/heading/Heading.accessibility.test.js +33 -0
  233. package/heading/Heading.js +10 -32
  234. package/heading/Heading.test.d.ts +1 -0
  235. package/heading/Heading.test.js +156 -0
  236. package/heading/types.d.ts +7 -7
  237. package/icon/Icon.accessibility.test.d.ts +1 -0
  238. package/icon/Icon.accessibility.test.js +30 -0
  239. package/icon/Icon.d.ts +4 -0
  240. package/icon/Icon.js +33 -0
  241. package/icon/Icon.stories.tsx +28 -0
  242. package/icon/types.d.ts +4 -0
  243. package/icon/types.js +5 -0
  244. package/image/Image.accessibility.test.d.ts +1 -0
  245. package/image/Image.accessibility.test.js +56 -0
  246. package/image/Image.d.ts +4 -0
  247. package/image/Image.js +70 -0
  248. package/image/Image.stories.tsx +129 -0
  249. package/image/types.d.ts +72 -0
  250. package/image/types.js +5 -0
  251. package/inset/Inset.js +14 -55
  252. package/inset/Inset.stories.tsx +37 -36
  253. package/inset/types.d.ts +26 -2
  254. package/layout/ApplicationLayout.d.ts +16 -6
  255. package/layout/ApplicationLayout.js +88 -176
  256. package/layout/ApplicationLayout.stories.tsx +85 -94
  257. package/layout/Icons.d.ts +7 -0
  258. package/layout/Icons.js +41 -48
  259. package/layout/types.d.ts +19 -35
  260. package/link/Link.accessibility.test.d.ts +1 -0
  261. package/link/Link.accessibility.test.js +108 -0
  262. package/link/Link.d.ts +3 -2
  263. package/link/Link.js +64 -108
  264. package/link/Link.stories.tsx +161 -54
  265. package/link/Link.test.d.ts +1 -0
  266. package/link/Link.test.js +63 -0
  267. package/link/types.d.ts +15 -35
  268. package/main.d.ts +21 -18
  269. package/main.js +96 -120
  270. package/nav-tabs/NavTabs.accessibility.test.d.ts +1 -0
  271. package/nav-tabs/NavTabs.accessibility.test.js +44 -0
  272. package/nav-tabs/NavTabs.d.ts +7 -0
  273. package/nav-tabs/NavTabs.js +108 -0
  274. package/nav-tabs/NavTabs.stories.tsx +294 -0
  275. package/nav-tabs/NavTabs.test.d.ts +1 -0
  276. package/nav-tabs/NavTabs.test.js +77 -0
  277. package/nav-tabs/NavTabsContext.d.ts +3 -0
  278. package/nav-tabs/NavTabsContext.js +8 -0
  279. package/nav-tabs/Tab.d.ts +4 -0
  280. package/nav-tabs/Tab.js +117 -0
  281. package/nav-tabs/types.d.ts +52 -0
  282. package/nav-tabs/types.js +5 -0
  283. package/number-input/NumberInput.accessibility.test.d.ts +1 -0
  284. package/number-input/NumberInput.accessibility.test.js +227 -0
  285. package/number-input/NumberInput.js +51 -45
  286. package/number-input/NumberInput.stories.tsx +39 -28
  287. package/number-input/NumberInput.test.d.ts +1 -0
  288. package/number-input/NumberInput.test.js +988 -0
  289. package/number-input/NumberInputContext.d.ts +3 -4
  290. package/number-input/NumberInputContext.js +3 -14
  291. package/number-input/types.d.ts +34 -15
  292. package/package.json +60 -55
  293. package/paginator/Paginator.accessibility.test.d.ts +1 -0
  294. package/paginator/Paginator.accessibility.test.js +78 -0
  295. package/paginator/Paginator.js +46 -100
  296. package/paginator/Paginator.stories.tsx +24 -0
  297. package/paginator/Paginator.test.d.ts +1 -0
  298. package/paginator/Paginator.test.js +334 -0
  299. package/paginator/types.d.ts +3 -3
  300. package/paragraph/Paragraph.accessibility.test.d.ts +1 -0
  301. package/paragraph/Paragraph.accessibility.test.js +28 -0
  302. package/paragraph/Paragraph.d.ts +5 -0
  303. package/paragraph/Paragraph.js +22 -0
  304. package/paragraph/Paragraph.stories.tsx +27 -0
  305. package/password-input/PasswordInput.accessibility.test.d.ts +1 -0
  306. package/password-input/PasswordInput.accessibility.test.js +152 -0
  307. package/password-input/PasswordInput.js +62 -125
  308. package/password-input/PasswordInput.stories.tsx +11 -34
  309. package/password-input/PasswordInput.test.d.ts +1 -0
  310. package/password-input/PasswordInput.test.js +197 -0
  311. package/password-input/types.d.ts +21 -17
  312. package/progress-bar/ProgressBar.accessibility.test.d.ts +1 -0
  313. package/progress-bar/ProgressBar.accessibility.test.js +35 -0
  314. package/progress-bar/ProgressBar.js +68 -92
  315. package/progress-bar/ProgressBar.stories.tsx +93 -0
  316. package/progress-bar/ProgressBar.test.d.ts +1 -0
  317. package/progress-bar/ProgressBar.test.js +93 -0
  318. package/progress-bar/types.d.ts +3 -3
  319. package/quick-nav/QuickNav.accessibility.test.d.ts +1 -0
  320. package/quick-nav/QuickNav.accessibility.test.js +57 -0
  321. package/quick-nav/QuickNav.d.ts +4 -0
  322. package/quick-nav/QuickNav.js +94 -0
  323. package/quick-nav/QuickNav.stories.tsx +356 -0
  324. package/quick-nav/types.d.ts +21 -0
  325. package/quick-nav/types.js +5 -0
  326. package/radio-group/Radio.d.ts +1 -1
  327. package/radio-group/Radio.js +66 -75
  328. package/radio-group/RadioGroup.accessibility.test.d.ts +1 -0
  329. package/radio-group/RadioGroup.accessibility.test.js +97 -0
  330. package/radio-group/RadioGroup.js +110 -145
  331. package/radio-group/RadioGroup.stories.tsx +171 -36
  332. package/radio-group/RadioGroup.test.d.ts +1 -0
  333. package/radio-group/RadioGroup.test.js +754 -0
  334. package/radio-group/types.d.ts +88 -10
  335. package/resultset-table/Icons.d.ts +7 -0
  336. package/resultset-table/Icons.js +47 -0
  337. package/resultset-table/ResultsetTable.accessibility.test.d.ts +1 -0
  338. package/resultset-table/ResultsetTable.accessibility.test.js +284 -0
  339. package/resultset-table/ResultsetTable.d.ts +7 -0
  340. package/resultset-table/ResultsetTable.js +198 -0
  341. package/{resultsetTable → resultset-table}/ResultsetTable.stories.tsx +169 -31
  342. package/resultset-table/ResultsetTable.test.d.ts +1 -0
  343. package/resultset-table/ResultsetTable.test.js +450 -0
  344. package/{resultsetTable → resultset-table}/types.d.ts +47 -13
  345. package/resultset-table/types.js +5 -0
  346. package/select/Listbox.d.ts +4 -0
  347. package/select/Listbox.js +147 -0
  348. package/select/Option.d.ts +4 -0
  349. package/select/Option.js +93 -0
  350. package/select/Select.accessibility.test.d.ts +1 -0
  351. package/select/Select.accessibility.test.js +227 -0
  352. package/select/Select.js +213 -593
  353. package/select/Select.stories.tsx +611 -255
  354. package/select/Select.test.d.ts +1 -0
  355. package/select/Select.test.js +2168 -0
  356. package/select/selectUtils.d.ts +41 -0
  357. package/select/selectUtils.js +129 -0
  358. package/select/types.d.ts +65 -26
  359. package/sidenav/Sidenav.accessibility.test.d.ts +1 -0
  360. package/sidenav/Sidenav.accessibility.test.js +59 -0
  361. package/sidenav/Sidenav.d.ts +6 -5
  362. package/sidenav/Sidenav.js +136 -71
  363. package/sidenav/Sidenav.stories.tsx +246 -151
  364. package/sidenav/Sidenav.test.d.ts +1 -0
  365. package/sidenav/Sidenav.test.js +37 -0
  366. package/sidenav/SidenavContext.d.ts +5 -0
  367. package/sidenav/SidenavContext.js +13 -0
  368. package/sidenav/types.d.ts +52 -26
  369. package/slider/Slider.accessibility.test.d.ts +1 -0
  370. package/slider/Slider.accessibility.test.js +103 -0
  371. package/slider/Slider.d.ts +2 -2
  372. package/slider/Slider.js +147 -181
  373. package/slider/Slider.stories.tsx +68 -65
  374. package/slider/Slider.test.d.ts +1 -0
  375. package/slider/Slider.test.js +256 -0
  376. package/slider/types.d.ts +11 -3
  377. package/spinner/Spinner.accessibility.test.d.ts +1 -0
  378. package/spinner/Spinner.accessibility.test.js +96 -0
  379. package/spinner/Spinner.d.ts +1 -1
  380. package/spinner/Spinner.js +50 -109
  381. package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +53 -27
  382. package/spinner/Spinner.test.d.ts +1 -0
  383. package/spinner/Spinner.test.js +55 -0
  384. package/spinner/types.d.ts +3 -3
  385. package/status-light/StatusLight.accessibility.test.d.ts +1 -0
  386. package/status-light/StatusLight.accessibility.test.js +157 -0
  387. package/status-light/StatusLight.d.ts +4 -0
  388. package/status-light/StatusLight.js +51 -0
  389. package/status-light/StatusLight.stories.tsx +74 -0
  390. package/status-light/StatusLight.test.d.ts +1 -0
  391. package/status-light/StatusLight.test.js +25 -0
  392. package/status-light/types.d.ts +17 -0
  393. package/status-light/types.js +5 -0
  394. package/switch/Switch.accessibility.test.d.ts +1 -0
  395. package/switch/Switch.accessibility.test.js +98 -0
  396. package/switch/Switch.d.ts +2 -2
  397. package/switch/Switch.js +146 -114
  398. package/switch/Switch.stories.tsx +56 -67
  399. package/switch/Switch.test.d.ts +1 -0
  400. package/switch/Switch.test.js +180 -0
  401. package/switch/types.d.ts +13 -5
  402. package/table/DropdownTheme.js +62 -0
  403. package/table/Table.accessibility.test.d.ts +1 -0
  404. package/table/Table.accessibility.test.js +92 -0
  405. package/table/Table.d.ts +6 -2
  406. package/table/Table.js +78 -35
  407. package/table/Table.stories.tsx +663 -0
  408. package/table/Table.test.d.ts +1 -0
  409. package/table/Table.test.js +111 -0
  410. package/table/types.d.ts +34 -6
  411. package/tabs/Tab.d.ts +4 -0
  412. package/tabs/Tab.js +117 -0
  413. package/tabs/Tabs.accessibility.test.d.ts +1 -0
  414. package/tabs/Tabs.accessibility.test.js +56 -0
  415. package/tabs/Tabs.d.ts +1 -1
  416. package/tabs/Tabs.js +306 -146
  417. package/tabs/Tabs.stories.tsx +127 -19
  418. package/tabs/Tabs.test.d.ts +1 -0
  419. package/tabs/Tabs.test.js +276 -0
  420. package/tabs/types.d.ts +46 -24
  421. package/tag/Tag.accessibility.test.d.ts +1 -0
  422. package/tag/Tag.accessibility.test.js +69 -0
  423. package/tag/Tag.d.ts +1 -1
  424. package/tag/Tag.js +43 -85
  425. package/tag/Tag.stories.tsx +37 -30
  426. package/tag/Tag.test.d.ts +1 -0
  427. package/tag/Tag.test.js +41 -0
  428. package/tag/types.d.ts +25 -16
  429. package/text-input/Suggestion.d.ts +4 -0
  430. package/text-input/Suggestion.js +67 -0
  431. package/text-input/Suggestions.d.ts +4 -0
  432. package/text-input/Suggestions.js +94 -0
  433. package/text-input/TextInput.accessibility.test.d.ts +1 -0
  434. package/text-input/TextInput.accessibility.test.js +320 -0
  435. package/text-input/TextInput.js +323 -569
  436. package/text-input/TextInput.stories.tsx +293 -272
  437. package/text-input/TextInput.test.d.ts +1 -0
  438. package/text-input/TextInput.test.js +1755 -0
  439. package/text-input/types.d.ts +70 -24
  440. package/textarea/Textarea.accessibility.test.d.ts +1 -0
  441. package/textarea/Textarea.accessibility.test.js +155 -0
  442. package/textarea/Textarea.js +82 -131
  443. package/textarea/Textarea.stories.tsx +174 -0
  444. package/textarea/Textarea.test.d.ts +1 -0
  445. package/textarea/Textarea.test.js +406 -0
  446. package/textarea/types.d.ts +27 -16
  447. package/toggle-group/ToggleGroup.accessibility.test.d.ts +1 -0
  448. package/toggle-group/ToggleGroup.accessibility.test.js +107 -0
  449. package/toggle-group/ToggleGroup.d.ts +2 -2
  450. package/toggle-group/ToggleGroup.js +92 -107
  451. package/toggle-group/ToggleGroup.stories.tsx +57 -12
  452. package/toggle-group/ToggleGroup.test.d.ts +1 -0
  453. package/toggle-group/ToggleGroup.test.js +137 -0
  454. package/toggle-group/types.d.ts +36 -19
  455. package/tooltip/Tooltip.accessibility.test.d.ts +1 -0
  456. package/tooltip/Tooltip.accessibility.test.js +144 -0
  457. package/tooltip/Tooltip.d.ts +4 -0
  458. package/tooltip/Tooltip.js +50 -0
  459. package/tooltip/Tooltip.stories.tsx +111 -0
  460. package/tooltip/Tooltip.test.d.ts +1 -0
  461. package/tooltip/Tooltip.test.js +112 -0
  462. package/tooltip/types.d.ts +16 -0
  463. package/tooltip/types.js +5 -0
  464. package/typography/Typography.accessibility.test.d.ts +1 -0
  465. package/typography/Typography.accessibility.test.js +339 -0
  466. package/typography/Typography.d.ts +4 -0
  467. package/typography/Typography.js +23 -0
  468. package/typography/Typography.stories.tsx +196 -0
  469. package/typography/Typography.test.js +23 -0
  470. package/typography/types.d.ts +18 -0
  471. package/typography/types.js +5 -0
  472. package/useTheme.d.ts +1173 -1
  473. package/useTheme.js +4 -11
  474. package/useTranslatedLabels.d.ts +96 -0
  475. package/useTranslatedLabels.js +14 -0
  476. package/utils/BaseTypography.d.ts +21 -0
  477. package/utils/BaseTypography.js +98 -0
  478. package/utils/FocusLock.d.ts +13 -0
  479. package/utils/FocusLock.js +125 -0
  480. package/utils/useWidth.d.ts +2 -0
  481. package/utils/useWidth.js +30 -0
  482. package/wizard/Wizard.accessibility.test.d.ts +1 -0
  483. package/wizard/Wizard.accessibility.test.js +55 -0
  484. package/wizard/Wizard.d.ts +1 -1
  485. package/wizard/Wizard.js +78 -120
  486. package/wizard/Wizard.stories.tsx +68 -20
  487. package/wizard/Wizard.test.d.ts +1 -0
  488. package/wizard/Wizard.test.js +114 -0
  489. package/wizard/types.d.ts +14 -10
  490. package/ThemeContext.d.ts +0 -15
  491. package/ThemeContext.js +0 -243
  492. package/V3Select/V3Select.js +0 -455
  493. package/V3Select/index.d.ts +0 -27
  494. package/V3Textarea/V3Textarea.js +0 -260
  495. package/V3Textarea/index.d.ts +0 -27
  496. package/card/ice-cream.jpg +0 -0
  497. package/common/OpenSans.css +0 -81
  498. package/common/RequiredComponent.js +0 -32
  499. package/common/fonts/OpenSans-Bold.ttf +0 -0
  500. package/common/fonts/OpenSans-BoldItalic.ttf +0 -0
  501. package/common/fonts/OpenSans-ExtraBold.ttf +0 -0
  502. package/common/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  503. package/common/fonts/OpenSans-Italic.ttf +0 -0
  504. package/common/fonts/OpenSans-Light.ttf +0 -0
  505. package/common/fonts/OpenSans-LightItalic.ttf +0 -0
  506. package/common/fonts/OpenSans-Regular.ttf +0 -0
  507. package/common/fonts/OpenSans-SemiBold.ttf +0 -0
  508. package/common/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  509. package/date/Date.js +0 -373
  510. package/date/index.d.ts +0 -27
  511. package/input-text/Icons.js +0 -22
  512. package/input-text/InputText.js +0 -611
  513. package/input-text/index.d.ts +0 -36
  514. package/list/List.d.ts +0 -8
  515. package/list/List.js +0 -47
  516. package/list/List.stories.tsx +0 -95
  517. package/number-input/numberInputContextTypes.d.ts +0 -19
  518. package/paginator/Icons.js +0 -66
  519. package/progress-bar/ProgressBar.stories.jsx +0 -58
  520. package/radio/Radio.d.ts +0 -4
  521. package/radio/Radio.js +0 -174
  522. package/radio/Radio.stories.tsx +0 -192
  523. package/radio/types.d.ts +0 -54
  524. package/resultsetTable/ResultsetTable.d.ts +0 -4
  525. package/resultsetTable/ResultsetTable.js +0 -251
  526. package/row/Row.d.ts +0 -11
  527. package/row/Row.js +0 -127
  528. package/row/Row.stories.tsx +0 -239
  529. package/stack/Stack.d.ts +0 -10
  530. package/stack/Stack.js +0 -97
  531. package/stack/Stack.stories.tsx +0 -166
  532. package/table/Table.stories.jsx +0 -277
  533. package/text/Text.d.ts +0 -7
  534. package/text/Text.js +0 -30
  535. package/text/Text.stories.tsx +0 -19
  536. package/textarea/Textarea.stories.jsx +0 -136
  537. package/toggle/Toggle.js +0 -186
  538. package/toggle/index.d.ts +0 -21
  539. package/upload/Upload.js +0 -201
  540. package/upload/buttons-upload/ButtonsUpload.js +0 -111
  541. package/upload/buttons-upload/Icons.js +0 -40
  542. package/upload/dragAndDropArea/DragAndDropArea.js +0 -225
  543. package/upload/dragAndDropArea/Icons.js +0 -39
  544. package/upload/file-upload/FileToUpload.js +0 -115
  545. package/upload/file-upload/Icons.js +0 -66
  546. package/upload/files-upload/FilesToUpload.js +0 -109
  547. package/upload/index.d.ts +0 -15
  548. package/upload/transaction/Icons.js +0 -160
  549. package/upload/transaction/Transaction.js +0 -104
  550. package/upload/transactions/Transactions.js +0 -94
  551. /package/{radio → action-icon}/types.js +0 -0
  552. /package/{resultsetTable → badge}/types.js +0 -0
  553. /package/{number-input/numberInputContextTypes.js → bar-chart/types.js} +0 -0
@@ -1,138 +1,126 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  var _typeof3 = require("@babel/runtime/helpers/typeof");
6
-
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
8
  exports["default"] = void 0;
11
-
12
9
  var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
13
-
14
10
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
15
-
16
11
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
17
-
18
12
  var _react = _interopRequireWildcard(require("react"));
19
-
20
13
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
21
-
22
- var _uuid = require("uuid");
23
-
24
- var _variables = require("../common/variables.js");
25
-
14
+ var _variables = require("../common/variables");
26
15
  var _useTheme = _interopRequireDefault(require("../useTheme"));
27
-
28
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9;
29
-
30
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
31
-
32
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof3(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
33
-
16
+ var _Flex = _interopRequireDefault(require("../flex/Flex"));
17
+ var _Icon = _interopRequireDefault(require("../icon/Icon"));
18
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7;
19
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
20
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof3(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
34
21
  var DxcToggleGroup = function DxcToggleGroup(_ref) {
35
22
  var label = _ref.label,
36
- helperText = _ref.helperText,
37
- value = _ref.value,
38
- onChange = _ref.onChange,
39
- _ref$disabled = _ref.disabled,
40
- disabled = _ref$disabled === void 0 ? false : _ref$disabled,
41
- options = _ref.options,
42
- margin = _ref.margin,
43
- _ref$multiple = _ref.multiple,
44
- multiple = _ref$multiple === void 0 ? false : _ref$multiple,
45
- _ref$tabIndex = _ref.tabIndex,
46
- tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
23
+ helperText = _ref.helperText,
24
+ defaultValue = _ref.defaultValue,
25
+ value = _ref.value,
26
+ onChange = _ref.onChange,
27
+ _ref$disabled = _ref.disabled,
28
+ disabled = _ref$disabled === void 0 ? false : _ref$disabled,
29
+ options = _ref.options,
30
+ margin = _ref.margin,
31
+ _ref$multiple = _ref.multiple,
32
+ multiple = _ref$multiple === void 0 ? false : _ref$multiple,
33
+ _ref$tabIndex = _ref.tabIndex,
34
+ tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
35
+ var toggleGroupLabelId = "label-toggle-group-".concat((0, _react.useId)());
36
+ var _useState = (0, _react.useState)(defaultValue !== null && defaultValue !== void 0 ? defaultValue : multiple ? [] : -1),
37
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
38
+ selectedValue = _useState2[0],
39
+ setSelectedValue = _useState2[1];
47
40
  var colorsTheme = (0, _useTheme["default"])();
48
-
49
- var _useState = (0, _react.useState)(multiple ? [] : -1),
50
- _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
51
- selectedValue = _useState2[0],
52
- setSelectedValue = _useState2[1];
53
-
54
- var _useState3 = (0, _react.useState)("toggle-group-".concat((0, _uuid.v4)())),
55
- _useState4 = (0, _slicedToArray2["default"])(_useState3, 1),
56
- toggleGroupId = _useState4[0];
57
-
58
41
  var handleToggleChange = function handleToggleChange(selectedOption) {
59
42
  var newSelectedOptions;
60
-
61
43
  if (value == null) {
62
44
  if (multiple && Array.isArray(selectedValue)) {
63
45
  newSelectedOptions = selectedValue.map(function (value) {
64
46
  return value;
65
47
  });
66
-
67
48
  if (newSelectedOptions.includes(selectedOption)) {
68
49
  var index = newSelectedOptions.indexOf(selectedOption);
69
50
  newSelectedOptions.splice(index, 1);
70
51
  } else {
71
52
  newSelectedOptions.push(selectedOption);
72
53
  }
73
-
74
54
  setSelectedValue(newSelectedOptions);
75
55
  } else setSelectedValue(selectedOption === selectedValue ? null : selectedOption);
76
56
  } else if (multiple) {
77
57
  newSelectedOptions = Array.isArray(value) ? value.map(function (v) {
78
58
  return v;
79
59
  }) : value;
80
-
81
60
  if (newSelectedOptions.includes(selectedOption)) {
82
61
  var _index = newSelectedOptions.indexOf(selectedOption);
83
-
84
62
  newSelectedOptions.splice(_index, 1);
85
63
  } else newSelectedOptions.push(selectedOption);
86
64
  }
87
-
88
65
  onChange === null || onChange === void 0 ? void 0 : onChange(multiple ? newSelectedOptions : selectedOption);
89
66
  };
90
-
91
- var handleKeyPress = function handleKeyPress(event, optionValue) {
92
- event.preventDefault();
93
- if (!disabled && (event.nativeEvent.code === "Enter" || event.nativeEvent.code === "Space")) handleToggleChange(optionValue);
67
+ var handleOnKeyDown = function handleOnKeyDown(event, optionValue) {
68
+ switch (event.key) {
69
+ case "Enter":
70
+ case " ":
71
+ event.preventDefault();
72
+ handleToggleChange(optionValue);
73
+ }
94
74
  };
95
-
96
75
  return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
97
76
  theme: colorsTheme.toggleGroup
98
77
  }, /*#__PURE__*/_react["default"].createElement(ToggleGroup, {
99
- margin: margin,
100
- disabled: disabled
78
+ margin: margin
101
79
  }, /*#__PURE__*/_react["default"].createElement(Label, {
102
- htmlFor: toggleGroupId,
80
+ id: toggleGroupLabelId,
103
81
  disabled: disabled
104
82
  }, label), /*#__PURE__*/_react["default"].createElement(HelperText, {
105
83
  disabled: disabled
106
84
  }, helperText), /*#__PURE__*/_react["default"].createElement(OptionsContainer, {
107
- id: toggleGroupId,
108
- role: multiple ? "group" : "radiogroup"
85
+ "aria-labelledby": toggleGroupLabelId
109
86
  }, options.map(function (option, i) {
110
- return /*#__PURE__*/_react["default"].createElement(ToggleContainer, {
111
- selected: multiple && Array.isArray(value) ? value ? value.includes(option.value) : Array.isArray(selectedValue) && selectedValue.includes(option.value) : value ? option.value === value : option.value === selectedValue,
112
- role: multiple ? "switch" : "radio",
113
- "aria-checked": multiple && Array.isArray(value) ? value ? value.includes(option.value) : Array.isArray(selectedValue) && selectedValue.includes(option.value) : value ? option.value === value : option.value === selectedValue,
114
- tabIndex: !disabled ? tabIndex : -1,
87
+ return /*#__PURE__*/_react["default"].createElement(ToggleButton, {
88
+ key: "toggle-".concat(i, "-").concat(option.label),
89
+ "aria-label": option.title,
90
+ "aria-pressed": multiple ? value ? Array.isArray(value) && value.includes(option.value) : Array.isArray(selectedValue) && selectedValue.includes(option.value) : value ? option.value === value : option.value === selectedValue,
91
+ disabled: disabled,
115
92
  onClick: function onClick() {
116
- return !disabled && handleToggleChange(option.value);
93
+ handleToggleChange(option.value);
117
94
  },
118
- isFirst: i === 0,
119
- isLast: i === options.length - 1,
120
- isIcon: option.icon,
121
- optionLabel: option.label,
122
- disabled: disabled,
123
- onKeyPress: function onKeyPress(event) {
124
- handleKeyPress(event, option.value);
95
+ onKeyDown: function onKeyDown(event) {
96
+ handleOnKeyDown(event, option.value);
125
97
  },
126
- key: "toggle-".concat(i, "-").concat(option.label)
127
- }, /*#__PURE__*/_react["default"].createElement(OptionContent, null, option.icon && /*#__PURE__*/_react["default"].createElement(IconContainer, {
98
+ tabIndex: !disabled ? tabIndex : -1,
99
+ title: option.title,
100
+ hasIcon: option.icon,
101
+ optionLabel: option.label,
102
+ selected: multiple ? value ? Array.isArray(value) && value.includes(option.value) : Array.isArray(selectedValue) && selectedValue.includes(option.value) : value ? option.value === value : option.value === selectedValue
103
+ }, /*#__PURE__*/_react["default"].createElement(_Flex["default"], {
104
+ alignItems: "center"
105
+ }, option.icon && /*#__PURE__*/_react["default"].createElement(IconContainer, {
128
106
  optionLabel: option.label
129
- }, typeof option.icon === "string" ? /*#__PURE__*/_react["default"].createElement(Icon, {
130
- src: option.icon
107
+ }, typeof option.icon === "string" ? /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
108
+ icon: option.icon
131
109
  }) : option.icon), option.label && /*#__PURE__*/_react["default"].createElement(LabelContainer, null, option.label)));
132
110
  }))));
133
111
  };
134
-
135
- var Label = _styledComponents["default"].label(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n line-height: ", ";\n"])), function (props) {
112
+ var ToggleGroup = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n flex-direction: column;\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n"])), function (props) {
113
+ return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
114
+ }, function (props) {
115
+ return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.top ? _variables.spaces[props.margin.top] : "";
116
+ }, function (props) {
117
+ return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.right ? _variables.spaces[props.margin.right] : "";
118
+ }, function (props) {
119
+ return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.bottom ? _variables.spaces[props.margin.bottom] : "";
120
+ }, function (props) {
121
+ return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
122
+ });
123
+ var Label = _styledComponents["default"].label(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n line-height: ", ";\n"])), function (props) {
136
124
  return props.disabled ? props.theme.disabledLabelFontColor : props.theme.labelFontColor;
137
125
  }, function (props) {
138
126
  return props.theme.labelFontFamily;
@@ -145,8 +133,7 @@ var Label = _styledComponents["default"].label(_templateObject || (_templateObje
145
133
  }, function (props) {
146
134
  return props.theme.labelLineHeight;
147
135
  });
148
-
149
- var HelperText = _styledComponents["default"].span(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n line-height: ", ";\n"])), function (props) {
136
+ var HelperText = _styledComponents["default"].span(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n line-height: ", ";\n"])), function (props) {
150
137
  return props.disabled ? props.theme.disabledHelperTextFontcolor : props.theme.helperTextFontColor;
151
138
  }, function (props) {
152
139
  return props.theme.helperTextFontFamily;
@@ -159,20 +146,7 @@ var HelperText = _styledComponents["default"].span(_templateObject2 || (_templat
159
146
  }, function (props) {
160
147
  return props.theme.helperTextLineHeight;
161
148
  });
162
-
163
- var ToggleGroup = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n flex-direction: column;\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n"])), function (props) {
164
- return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
165
- }, function (props) {
166
- return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.top ? _variables.spaces[props.margin.top] : "";
167
- }, function (props) {
168
- return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.right ? _variables.spaces[props.margin.right] : "";
169
- }, function (props) {
170
- return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.bottom ? _variables.spaces[props.margin.bottom] : "";
171
- }, function (props) {
172
- return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
173
- });
174
-
175
- var OptionsContainer = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: row;\n opacity: 1;\n height: calc(48px - 4px - 4px);\n border-width: ", ";\n border-style: ", ";\n border-radius: ", ";\n border-color: ", ";\n background-color: ", ";\n padding: 4px;\n margin-top: ", ";\n"])), function (props) {
149
+ var OptionsContainer = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n gap: 0.25rem;\n width: max-content;\n height: calc(48px - 4px - 4px);\n padding: 0.25rem;\n border-width: ", ";\n border-style: ", ";\n border-radius: ", ";\n border-color: ", ";\n margin-top: ", ";\n background-color: ", ";\n"])), function (props) {
176
150
  return props.theme.containerBorderThickness;
177
151
  }, function (props) {
178
152
  return props.theme.containerBorderStyle;
@@ -180,18 +154,36 @@ var OptionsContainer = _styledComponents["default"].div(_templateObject4 || (_te
180
154
  return props.theme.containerBorderRadius;
181
155
  }, function (props) {
182
156
  return props.theme.containerBorderColor;
183
- }, function (props) {
184
- return props.theme.containerBackgroundColor;
185
157
  }, function (props) {
186
158
  return props.theme.containerMarginTop;
159
+ }, function (props) {
160
+ return props.theme.containerBackgroundColor;
187
161
  });
188
-
189
- var ToggleContainer = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n justify-content: center;\n margin-right: ", ";\n\n ", "\n"])), function (props) {
190
- return !props.isLast && "4px";
162
+ var ToggleButton = _styledComponents["default"].button(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n justify-content: center;\n padding-left: ", ";\n padding-right: ", ";\n border-width: ", ";\n border-style: ", ";\n border-radius: ", ";\n background-color: ", ";\n color: ", ";\n cursor: pointer;\n\n &:hover {\n background-color: ", ";\n }\n &:active {\n background-color: ", ";\n color: #ffffff;\n }\n &:focus {\n outline: none;\n box-shadow: ", ";\n }\n &:disabled {\n background-color: ", ";\n color: ", ";\n cursor: not-allowed;\n }\n"])), function (props) {
163
+ return props.optionLabel && props.hasIcon || props.optionLabel && !props.hasIcon ? props.theme.labelPaddingLeft : props.theme.iconPaddingLeft;
164
+ }, function (props) {
165
+ return props.optionLabel && props.hasIcon || props.optionLabel && !props.hasIcon ? props.theme.labelPaddingRight : props.theme.iconPaddingRight;
166
+ }, function (props) {
167
+ return props.theme.optionBorderThickness;
168
+ }, function (props) {
169
+ return props.theme.optionBorderStyle;
170
+ }, function (props) {
171
+ return props.theme.optionBorderRadius;
172
+ }, function (props) {
173
+ return props.selected ? props.theme.selectedBackgroundColor : props.theme.unselectedBackgroundColor;
174
+ }, function (props) {
175
+ return props.selected ? props.theme.selectedFontColor : props.theme.unselectedFontColor;
191
176
  }, function (props) {
192
- return "\n background-color: ".concat(props.selected ? props.disabled ? props.theme.selectedDisabledBackgroundColor : props.theme.selectedBackgroundColor : props.disabled ? props.theme.unselectedDisabledBackgroundColor : props.theme.unselectedBackgroundColor, ";\n border-width: ").concat(props.theme.optionBorderThickness, ";\n border-style: ").concat(props.theme.optionBorderStyle, ";\n border-radius: ").concat(props.theme.optionBorderRadius, ";\n padding-left: ").concat(props.optionLabel && props.isIcon || props.optionLabel && !props.isIcon ? props.theme.labelPaddingLeft : props.theme.iconPaddingLeft, ";\n padding-right: ").concat(props.optionLabel && props.isIcon || props.optionLabel && !props.isIcon ? props.theme.labelPaddingRight : props.theme.iconPaddingRight, ";\n ").concat(!props.disabled ? ":hover {\n background-color: ".concat(props.selected ? props.theme.selectedHoverBackgroundColor : props.theme.unselectedHoverBackgroundColor, ";\n }\n :active {\n background-color: ").concat(props.selected ? props.theme.selectedActiveBackgroundColor : props.theme.unselectedActiveBackgroundColor, ";\n color: #ffffff;\n } \n :focus {\n border-color: transparent;\n box-shadow: 0 0 0 ").concat(props.theme.optionFocusBorderThickness, " ").concat(props.backgroundType === "dark" ? props.theme.focusColorOnDark : props.theme.focusColor, ";\n }\n &:focus-visible {\n outline: none;\n }\n cursor: pointer;\n color: ").concat(props.selected ? props.theme.selectedFontColor : props.theme.unselectedFontColor, ";\n") : "color: ".concat(props.selected ? props.theme.selectedDisabledFontColor : props.theme.unselectedDisabledFontColor, ";\n cursor: not-allowed;"), "\n ");
177
+ return props.selected ? props.theme.selectedHoverBackgroundColor : props.theme.unselectedHoverBackgroundColor;
178
+ }, function (props) {
179
+ return props.selected ? props.theme.selectedActiveBackgroundColor : props.theme.unselectedActiveBackgroundColor;
180
+ }, function (props) {
181
+ return "0 0 0 ".concat(props.theme.optionFocusBorderThickness, " ").concat(props.theme.focusColor);
182
+ }, function (props) {
183
+ return props.selected ? props.theme.selectedDisabledBackgroundColor : props.theme.unselectedDisabledBackgroundColor;
184
+ }, function (props) {
185
+ return props.selected ? props.theme.selectedDisabledFontColor : props.theme.unselectedDisabledFontColor;
193
186
  });
194
-
195
187
  var LabelContainer = _styledComponents["default"].span(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n"])), function (props) {
196
188
  return props.theme.optionLabelFontFamily;
197
189
  }, function (props) {
@@ -201,14 +193,7 @@ var LabelContainer = _styledComponents["default"].span(_templateObject6 || (_tem
201
193
  }, function (props) {
202
194
  return props.theme.optionLabelFontWeight;
203
195
  });
204
-
205
- var OptionContent = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: row;\n align-items: center;\n"])));
206
-
207
- var Icon = _styledComponents["default"].img(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])([""])));
208
-
209
- var IconContainer = _styledComponents["default"].div(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n margin-right: ", ";\n height: 24px;\n width: 24px;\n overflow: hidden;\n display: flex;\n img,\n svg {\n height: 100%;\n width: 100%;\n }\n"])), function (props) {
196
+ var IconContainer = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n margin-right: ", ";\n overflow: hidden;\n font-size: 24px;\n svg {\n height: 24px;\n width: 24px;\n }\n"])), function (props) {
210
197
  return props.optionLabel && props.theme.iconMarginRight;
211
198
  });
212
-
213
- var _default = DxcToggleGroup;
214
- exports["default"] = _default;
199
+ var _default = exports["default"] = DxcToggleGroup;
@@ -1,11 +1,12 @@
1
1
  import React from "react";
2
- import { userEvent, within } from "@storybook/testing-library";
2
+ import { userEvent, within } from "@storybook/test";
3
3
  import DxcToggleGroup from "./ToggleGroup";
4
4
  import Title from "../../.storybook/components/Title";
5
5
  import ExampleContainer from "../../.storybook/components/ExampleContainer";
6
+ import { HalstackProvider } from "../HalstackContext";
6
7
 
7
8
  export default {
8
- title: "ToggleGroup",
9
+ title: "Toggle Group",
9
10
  component: DxcToggleGroup,
10
11
  };
11
12
 
@@ -41,7 +42,7 @@ const options = [
41
42
  },
42
43
  {
43
44
  value: 2,
44
- label: "Twitter",
45
+ label: "X",
45
46
  },
46
47
  {
47
48
  value: 3,
@@ -51,15 +52,18 @@ const options = [
51
52
  const optionsWithIcon = [
52
53
  {
53
54
  value: 1,
54
- icon: wifiSVG,
55
+ icon: "wifi",
56
+ title: "WiFi connection",
55
57
  },
56
58
  {
57
59
  value: 2,
58
- icon: ethernetSVG,
60
+ icon: "filled_lan",
61
+ title: "Ethernet connection",
59
62
  },
60
63
  {
61
64
  value: 3,
62
- icon: gMobileSVG,
65
+ icon: "5g",
66
+ title: "3G Mobile data connection",
63
67
  },
64
68
  ];
65
69
  const optionsWithIconAndLabel = [
@@ -86,9 +90,19 @@ const twoOptions = [
86
90
  },
87
91
  {
88
92
  value: 2,
89
- label: "Twitter",
93
+ label: "X",
90
94
  },
91
95
  ];
96
+
97
+ const opinionatedTheme = {
98
+ toggleGroup: {
99
+ selectedBaseColor: "#5f249f",
100
+ selectedFontColor: "#ffffff",
101
+ unselectedBaseColor: "#e6e6e6",
102
+ unselectedFontColor: "#000000",
103
+ },
104
+ };
105
+
92
106
  export const Chromatic = () => (
93
107
  <>
94
108
  <ExampleContainer>
@@ -97,7 +111,7 @@ export const Chromatic = () => (
97
111
  </ExampleContainer>
98
112
  <ExampleContainer>
99
113
  <Title title="Selected" theme="light" level={4} />
100
- <DxcToggleGroup label="Selected" helperText="HelperText" value={2} options={options} />
114
+ <DxcToggleGroup label="Selected" helperText="HelperText" defaultValue={2} options={options} />
101
115
  </ExampleContainer>
102
116
  <ExampleContainer>
103
117
  <Title title="Icons toggle group" theme="light" level={4} />
@@ -109,11 +123,11 @@ export const Chromatic = () => (
109
123
  </ExampleContainer>
110
124
  <ExampleContainer>
111
125
  <Title title="Disabled" theme="light" level={4} />
112
- <DxcToggleGroup label="Disabled" value={2} options={options} disabled />
126
+ <DxcToggleGroup label="Disabled" defaultValue={2} options={options} disabled />
113
127
  </ExampleContainer>
114
128
  <ExampleContainer pseudoState="pseudo-hover">
115
129
  <Title title="Hovered" theme="light" level={4} />
116
- <DxcToggleGroup label="Hovered" options={twoOptions} value={2} />
130
+ <DxcToggleGroup label="Hovered" options={twoOptions} defaultValue={2} />
117
131
  </ExampleContainer>
118
132
  <ExampleContainer>
119
133
  <Title title="Multiple toggleGroup" theme="light" level={4} />
@@ -121,7 +135,7 @@ export const Chromatic = () => (
121
135
  label="Toggle group"
122
136
  helperText="Please select one or more"
123
137
  options={options}
124
- value={[1, 3]}
138
+ defaultValue={[1, 3]}
125
139
  multiple
126
140
  ></DxcToggleGroup>
127
141
  </ExampleContainer>
@@ -154,6 +168,37 @@ export const Chromatic = () => (
154
168
  <Title title="xxLarge" theme="light" level={4} />
155
169
  <DxcToggleGroup label="xxLarge margin" options={options} margin="xxlarge" />
156
170
  </ExampleContainer>
171
+ <Title title="Opinionated theme" theme="light" level={2} />
172
+ <ExampleContainer>
173
+ <HalstackProvider theme={opinionatedTheme}>
174
+ <Title title="Selected" theme="light" level={4} />
175
+ <DxcToggleGroup label="Selected" helperText="HelperText" defaultValue={2} options={options} />
176
+ </HalstackProvider>
177
+ </ExampleContainer>
178
+ <ExampleContainer>
179
+ <HalstackProvider theme={opinionatedTheme}>
180
+ <Title title="Icons & label toggle group" theme="light" level={4} />
181
+ <DxcToggleGroup label="Icons & label" options={optionsWithIconAndLabel} />
182
+ </HalstackProvider>
183
+ </ExampleContainer>
184
+ <ExampleContainer>
185
+ <HalstackProvider theme={opinionatedTheme}>
186
+ <Title title="Disabled" theme="light" level={4} />
187
+ <DxcToggleGroup label="Disabled" defaultValue={2} options={options} disabled />
188
+ </HalstackProvider>
189
+ </ExampleContainer>
190
+ <ExampleContainer pseudoState="pseudo-hover">
191
+ <Title title="Hovered" theme="light" level={4} />
192
+ <HalstackProvider theme={opinionatedTheme}>
193
+ <DxcToggleGroup label="Hovered" options={twoOptions} defaultValue={2} />
194
+ </HalstackProvider>
195
+ </ExampleContainer>
196
+ <ExampleContainer pseudoState="pseudo-active">
197
+ <Title title="Actived" theme="light" level={4} />
198
+ <HalstackProvider theme={opinionatedTheme}>
199
+ <DxcToggleGroup label="Actived" options={twoOptions} defaultValue={2} />
200
+ </HalstackProvider>
201
+ </ExampleContainer>
157
202
  </>
158
203
  );
159
204
  const OptionSelected = () => <DxcToggleGroup label="Toggle group" helperText="HelperText" options={options} />;
@@ -167,7 +212,7 @@ ToggleGroupSelectedActived.play = async ({ canvasElement }) => {
167
212
  export const ToggleGroupUnselectedActived = OptionSelected.bind({});
168
213
  ToggleGroupUnselectedActived.play = async ({ canvasElement }) => {
169
214
  const canvas = within(canvasElement);
170
- const option = canvas.getByText("Twitter");
215
+ const option = canvas.getByText("X");
171
216
  await userEvent.click(option);
172
217
  userEvent.tab();
173
218
  };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,137 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _react = _interopRequireDefault(require("react"));
5
+ var _react2 = require("@testing-library/react");
6
+ var _ToggleGroup = _interopRequireDefault(require("./ToggleGroup"));
7
+ var options = [{
8
+ value: 1,
9
+ label: "Amazon"
10
+ }, {
11
+ value: 2,
12
+ label: "Ebay"
13
+ }, {
14
+ value: 3,
15
+ label: "Apple"
16
+ }, {
17
+ value: 4,
18
+ label: "Google"
19
+ }];
20
+ describe("Toggle group component tests", function () {
21
+ test("Toggle group renders with correct labels", function () {
22
+ var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ToggleGroup["default"], {
23
+ label: "Toggle group label",
24
+ helperText: "Toggle group helper text",
25
+ options: options
26
+ })),
27
+ getByText = _render.getByText;
28
+ expect(getByText("Toggle group label")).toBeTruthy();
29
+ expect(getByText("Toggle group helper text")).toBeTruthy();
30
+ expect(getByText("Amazon")).toBeTruthy();
31
+ expect(getByText("Ebay")).toBeTruthy();
32
+ expect(getByText("Apple")).toBeTruthy();
33
+ expect(getByText("Google")).toBeTruthy();
34
+ });
35
+ test("Toggle group renders with correct aria-label in only-icon scenario", function () {
36
+ var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ToggleGroup["default"], {
37
+ label: "Toggle group label",
38
+ helperText: "Toggle group helper text",
39
+ options: [{
40
+ value: 1,
41
+ icon: "https://cdn.icon-icons.com/icons2/2645/PNG/512/mic_mute_icon_159965.png",
42
+ title: "Mute"
43
+ }]
44
+ })),
45
+ getByRole = _render2.getByRole;
46
+ expect(getByRole("button").getAttribute("aria-label")).toBe("Mute");
47
+ });
48
+ test("Uncontrolled toggle group calls correct function on change with value", function () {
49
+ var onChange = jest.fn();
50
+ var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ToggleGroup["default"], {
51
+ options: options,
52
+ onChange: onChange
53
+ })),
54
+ getByText = _render3.getByText;
55
+ var option = getByText("Ebay");
56
+ _react2.fireEvent.click(option);
57
+ expect(onChange).toHaveBeenCalledWith(2);
58
+ });
59
+ test("Controlled toggle group calls correct function on change with value", function () {
60
+ var onChange = jest.fn();
61
+ var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ToggleGroup["default"], {
62
+ options: options,
63
+ onChange: onChange,
64
+ value: 1
65
+ })),
66
+ getByText = _render4.getByText;
67
+ var option = getByText("Ebay");
68
+ _react2.fireEvent.click(option);
69
+ expect(onChange).toHaveBeenCalledWith(2);
70
+ });
71
+ test("Function on change is not called when disable", function () {
72
+ var onChange = jest.fn();
73
+ var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ToggleGroup["default"], {
74
+ options: options,
75
+ onChange: onChange,
76
+ disabled: true
77
+ })),
78
+ getByText = _render5.getByText;
79
+ var option = getByText("Ebay");
80
+ _react2.fireEvent.click(option);
81
+ expect(onChange).toHaveBeenCalledTimes(0);
82
+ });
83
+ test("Uncontrolled multiple toggle group calls correct function on change with value when is multiple", function () {
84
+ var onChange = jest.fn();
85
+ var _render6 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ToggleGroup["default"], {
86
+ options: options,
87
+ onChange: onChange,
88
+ multiple: true
89
+ })),
90
+ getAllByRole = _render6.getAllByRole;
91
+ var toggleOptions = getAllByRole("button");
92
+ _react2.fireEvent.click(toggleOptions[0]);
93
+ expect(onChange).toHaveBeenCalledWith([1]);
94
+ _react2.fireEvent.click(toggleOptions[1]);
95
+ _react2.fireEvent.click(toggleOptions[3]);
96
+ expect(onChange).toHaveBeenCalledWith([1, 2, 4]);
97
+ expect(toggleOptions[0].getAttribute("aria-pressed")).toBe("true");
98
+ expect(toggleOptions[1].getAttribute("aria-pressed")).toBe("true");
99
+ expect(toggleOptions[3].getAttribute("aria-pressed")).toBe("true");
100
+ });
101
+ test("Controlled multiple toggle returns always same values", function () {
102
+ var onChange = jest.fn();
103
+ var _render7 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ToggleGroup["default"], {
104
+ options: options,
105
+ onChange: onChange,
106
+ value: [1],
107
+ multiple: true
108
+ })),
109
+ getByText = _render7.getByText;
110
+ var option = getByText("Ebay");
111
+ _react2.fireEvent.click(option);
112
+ expect(onChange).toHaveBeenCalledWith([1, 2]);
113
+ var option2 = getByText("Google");
114
+ _react2.fireEvent.click(option2);
115
+ expect(onChange).toHaveBeenNthCalledWith(2, [1, 4]);
116
+ });
117
+ test("Single selection: Renders with correct default value", function () {
118
+ var _render8 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ToggleGroup["default"], {
119
+ options: options,
120
+ defaultValue: 2
121
+ })),
122
+ getAllByRole = _render8.getAllByRole;
123
+ var toggleOptions = getAllByRole("button");
124
+ expect(toggleOptions[1].getAttribute("aria-pressed")).toBe("true");
125
+ });
126
+ test("Multiple selection: Renders with correct default value", function () {
127
+ var _render9 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ToggleGroup["default"], {
128
+ options: options,
129
+ defaultValue: [2, 4],
130
+ multiple: true
131
+ })),
132
+ getAllByRole = _render9.getAllByRole;
133
+ var toggleOptions = getAllByRole("button");
134
+ expect(toggleOptions[1].getAttribute("aria-pressed")).toBe("true");
135
+ expect(toggleOptions[3].getAttribute("aria-pressed")).toBe("true");
136
+ });
137
+ });