@dxc-technology/halstack-react 0.0.0-3716032 → 0.0.0-376c368

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 (545) hide show
  1. package/BackgroundColorContext.d.ts +1 -10
  2. package/BackgroundColorContext.js +5 -23
  3. package/HalstackContext.d.ts +1269 -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 -142
  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/bleed/Bleed.d.ts +3 -0
  50. package/bleed/Bleed.js +43 -0
  51. package/bleed/Bleed.stories.tsx +342 -0
  52. package/bleed/types.d.ts +37 -0
  53. package/box/Box.accessibility.test.d.ts +1 -0
  54. package/box/Box.accessibility.test.js +33 -0
  55. package/box/Box.d.ts +1 -1
  56. package/box/Box.js +30 -81
  57. package/box/Box.stories.tsx +38 -51
  58. package/box/Box.test.d.ts +1 -0
  59. package/box/Box.test.js +13 -0
  60. package/box/types.d.ts +3 -14
  61. package/breadcrumbs/Breadcrumbs.accessibility.test.d.ts +1 -0
  62. package/breadcrumbs/Breadcrumbs.accessibility.test.js +96 -0
  63. package/breadcrumbs/Breadcrumbs.d.ts +4 -0
  64. package/breadcrumbs/Breadcrumbs.js +79 -0
  65. package/breadcrumbs/Breadcrumbs.stories.tsx +194 -0
  66. package/breadcrumbs/Breadcrumbs.test.d.ts +1 -0
  67. package/breadcrumbs/Breadcrumbs.test.js +168 -0
  68. package/breadcrumbs/Item.d.ts +4 -0
  69. package/breadcrumbs/Item.js +52 -0
  70. package/breadcrumbs/dropdownTheme.d.ts +53 -0
  71. package/breadcrumbs/dropdownTheme.js +62 -0
  72. package/breadcrumbs/types.d.ts +40 -0
  73. package/breadcrumbs/types.js +5 -0
  74. package/bulleted-list/BulletedList.accessibility.test.d.ts +1 -0
  75. package/bulleted-list/BulletedList.accessibility.test.js +119 -0
  76. package/bulleted-list/BulletedList.d.ts +7 -0
  77. package/bulleted-list/BulletedList.js +92 -0
  78. package/bulleted-list/BulletedList.stories.tsx +115 -0
  79. package/bulleted-list/types.d.ts +38 -0
  80. package/bulleted-list/types.js +5 -0
  81. package/button/Button.accessibility.test.d.ts +1 -0
  82. package/button/Button.accessibility.test.js +127 -0
  83. package/button/Button.d.ts +1 -1
  84. package/button/Button.js +64 -122
  85. package/button/Button.stories.tsx +155 -106
  86. package/button/Button.test.d.ts +1 -0
  87. package/button/Button.test.js +38 -0
  88. package/button/types.d.ts +12 -12
  89. package/card/Card.accessibility.test.d.ts +1 -0
  90. package/card/Card.accessibility.test.js +36 -0
  91. package/card/Card.d.ts +1 -1
  92. package/card/Card.js +59 -102
  93. package/card/Card.stories.tsx +14 -44
  94. package/card/Card.test.d.ts +1 -0
  95. package/card/Card.test.js +39 -0
  96. package/card/types.d.ts +6 -11
  97. package/checkbox/Checkbox.accessibility.test.d.ts +1 -0
  98. package/checkbox/Checkbox.accessibility.test.js +87 -0
  99. package/checkbox/Checkbox.d.ts +2 -2
  100. package/checkbox/Checkbox.js +140 -181
  101. package/checkbox/Checkbox.stories.tsx +166 -136
  102. package/checkbox/Checkbox.test.d.ts +1 -0
  103. package/checkbox/Checkbox.test.js +199 -0
  104. package/checkbox/types.d.ts +18 -6
  105. package/chip/Chip.accessibility.test.d.ts +1 -0
  106. package/chip/Chip.accessibility.test.js +67 -0
  107. package/chip/Chip.d.ts +1 -1
  108. package/chip/Chip.js +49 -122
  109. package/chip/Chip.stories.tsx +105 -31
  110. package/chip/Chip.test.d.ts +1 -0
  111. package/chip/Chip.test.js +41 -0
  112. package/chip/types.d.ts +8 -16
  113. package/common/coreTokens.d.ts +236 -0
  114. package/common/coreTokens.js +183 -0
  115. package/common/utils.d.ts +1 -0
  116. package/common/utils.js +6 -12
  117. package/common/variables.d.ts +1421 -0
  118. package/common/variables.js +1104 -1391
  119. package/container/Container.d.ts +4 -0
  120. package/container/Container.js +194 -0
  121. package/container/Container.stories.tsx +214 -0
  122. package/container/types.d.ts +176 -0
  123. package/container/types.js +5 -0
  124. package/contextual-menu/ContextualMenu.accessibility.test.d.ts +1 -0
  125. package/contextual-menu/ContextualMenu.accessibility.test.js +98 -0
  126. package/contextual-menu/ContextualMenu.d.ts +5 -0
  127. package/contextual-menu/ContextualMenu.js +136 -0
  128. package/contextual-menu/ContextualMenu.stories.tsx +231 -0
  129. package/contextual-menu/ContextualMenu.test.d.ts +1 -0
  130. package/contextual-menu/ContextualMenu.test.js +247 -0
  131. package/contextual-menu/GroupItem.d.ts +4 -0
  132. package/contextual-menu/GroupItem.js +67 -0
  133. package/contextual-menu/ItemAction.d.ts +4 -0
  134. package/contextual-menu/ItemAction.js +88 -0
  135. package/contextual-menu/MenuItem.d.ts +4 -0
  136. package/contextual-menu/MenuItem.js +29 -0
  137. package/contextual-menu/SingleItem.d.ts +4 -0
  138. package/contextual-menu/SingleItem.js +38 -0
  139. package/contextual-menu/types.d.ts +65 -0
  140. package/contextual-menu/types.js +5 -0
  141. package/date-input/Calendar.d.ts +4 -0
  142. package/date-input/Calendar.js +230 -0
  143. package/date-input/DateInput.accessibility.test.d.ts +1 -0
  144. package/date-input/DateInput.accessibility.test.js +229 -0
  145. package/date-input/DateInput.js +179 -309
  146. package/date-input/DateInput.stories.tsx +210 -57
  147. package/date-input/DateInput.test.d.ts +1 -0
  148. package/date-input/DateInput.test.js +808 -0
  149. package/date-input/DatePicker.d.ts +4 -0
  150. package/date-input/DatePicker.js +121 -0
  151. package/date-input/YearPicker.d.ts +4 -0
  152. package/date-input/YearPicker.js +105 -0
  153. package/date-input/types.d.ts +86 -22
  154. package/dialog/Dialog.accessibility.test.d.ts +1 -0
  155. package/dialog/Dialog.accessibility.test.js +69 -0
  156. package/dialog/Dialog.d.ts +1 -1
  157. package/dialog/Dialog.js +56 -129
  158. package/dialog/Dialog.stories.tsx +324 -167
  159. package/dialog/Dialog.test.d.ts +1 -0
  160. package/dialog/Dialog.test.js +370 -0
  161. package/dialog/types.d.ts +18 -25
  162. package/divider/Divider.accessibility.test.d.ts +1 -0
  163. package/divider/Divider.accessibility.test.js +33 -0
  164. package/divider/Divider.d.ts +4 -0
  165. package/divider/Divider.js +36 -0
  166. package/divider/Divider.stories.tsx +224 -0
  167. package/divider/Divider.test.d.ts +1 -0
  168. package/divider/Divider.test.js +38 -0
  169. package/divider/types.d.ts +21 -0
  170. package/divider/types.js +5 -0
  171. package/dropdown/Dropdown.accessibility.test.d.ts +1 -0
  172. package/dropdown/Dropdown.accessibility.test.js +183 -0
  173. package/dropdown/Dropdown.d.ts +1 -1
  174. package/dropdown/Dropdown.js +232 -329
  175. package/dropdown/Dropdown.stories.tsx +245 -65
  176. package/dropdown/Dropdown.test.d.ts +1 -0
  177. package/dropdown/Dropdown.test.js +628 -0
  178. package/dropdown/DropdownMenu.d.ts +4 -0
  179. package/dropdown/DropdownMenu.js +63 -0
  180. package/dropdown/DropdownMenuItem.d.ts +4 -0
  181. package/dropdown/DropdownMenuItem.js +71 -0
  182. package/dropdown/types.d.ts +37 -30
  183. package/file-input/FileInput.accessibility.test.d.ts +1 -0
  184. package/file-input/FileInput.accessibility.test.js +167 -0
  185. package/file-input/FileInput.d.ts +2 -2
  186. package/file-input/FileInput.js +243 -395
  187. package/file-input/FileInput.stories.tsx +123 -11
  188. package/file-input/FileInput.test.d.ts +1 -0
  189. package/file-input/FileInput.test.js +404 -0
  190. package/file-input/FileItem.d.ts +4 -14
  191. package/file-input/FileItem.js +61 -120
  192. package/file-input/types.d.ts +24 -11
  193. package/flex/Flex.d.ts +4 -0
  194. package/flex/Flex.js +57 -0
  195. package/flex/Flex.stories.tsx +112 -0
  196. package/flex/types.d.ts +97 -0
  197. package/flex/types.js +5 -0
  198. package/footer/Footer.accessibility.test.d.ts +1 -0
  199. package/footer/Footer.accessibility.test.js +125 -0
  200. package/footer/Footer.d.ts +1 -1
  201. package/footer/Footer.js +73 -193
  202. package/footer/Footer.stories.tsx +99 -21
  203. package/footer/Footer.test.d.ts +1 -0
  204. package/footer/Footer.test.js +85 -0
  205. package/footer/Icons.d.ts +3 -2
  206. package/footer/Icons.js +54 -23
  207. package/footer/types.d.ts +26 -27
  208. package/grid/Grid.d.ts +7 -0
  209. package/grid/Grid.js +76 -0
  210. package/grid/Grid.stories.tsx +221 -0
  211. package/grid/types.d.ts +115 -0
  212. package/grid/types.js +5 -0
  213. package/header/Header.accessibility.test.d.ts +1 -0
  214. package/header/Header.accessibility.test.js +94 -0
  215. package/header/Header.d.ts +4 -3
  216. package/header/Header.js +104 -218
  217. package/header/Header.stories.tsx +169 -64
  218. package/header/Header.test.d.ts +1 -0
  219. package/header/Header.test.js +66 -0
  220. package/header/Icons.d.ts +2 -2
  221. package/header/Icons.js +5 -15
  222. package/header/types.d.ts +7 -21
  223. package/heading/Heading.accessibility.test.d.ts +1 -0
  224. package/heading/Heading.accessibility.test.js +33 -0
  225. package/heading/Heading.js +10 -32
  226. package/heading/Heading.stories.tsx +3 -2
  227. package/heading/Heading.test.d.ts +1 -0
  228. package/heading/Heading.test.js +156 -0
  229. package/heading/types.d.ts +7 -7
  230. package/icon/Icon.accessibility.test.d.ts +1 -0
  231. package/icon/Icon.accessibility.test.js +30 -0
  232. package/icon/Icon.d.ts +4 -0
  233. package/icon/Icon.js +33 -0
  234. package/icon/Icon.stories.tsx +28 -0
  235. package/icon/types.d.ts +4 -0
  236. package/icon/types.js +5 -0
  237. package/image/Image.accessibility.test.d.ts +1 -0
  238. package/image/Image.accessibility.test.js +56 -0
  239. package/image/Image.d.ts +4 -0
  240. package/image/Image.js +70 -0
  241. package/image/Image.stories.tsx +129 -0
  242. package/image/types.d.ts +72 -0
  243. package/image/types.js +5 -0
  244. package/inset/Inset.d.ts +3 -0
  245. package/inset/Inset.js +43 -0
  246. package/inset/Inset.stories.tsx +230 -0
  247. package/inset/types.d.ts +37 -0
  248. package/inset/types.js +5 -0
  249. package/layout/ApplicationLayout.d.ts +16 -6
  250. package/layout/ApplicationLayout.js +88 -176
  251. package/layout/ApplicationLayout.stories.tsx +85 -94
  252. package/layout/Icons.d.ts +7 -0
  253. package/layout/Icons.js +41 -48
  254. package/layout/types.d.ts +19 -35
  255. package/link/Link.accessibility.test.d.ts +1 -0
  256. package/link/Link.accessibility.test.js +108 -0
  257. package/link/Link.d.ts +3 -2
  258. package/link/Link.js +64 -108
  259. package/link/Link.stories.tsx +161 -54
  260. package/link/Link.test.d.ts +1 -0
  261. package/link/Link.test.js +63 -0
  262. package/link/types.d.ts +15 -35
  263. package/main.d.ts +20 -18
  264. package/main.js +89 -120
  265. package/nav-tabs/NavTabs.accessibility.test.d.ts +1 -0
  266. package/nav-tabs/NavTabs.accessibility.test.js +44 -0
  267. package/nav-tabs/NavTabs.d.ts +7 -0
  268. package/nav-tabs/NavTabs.js +108 -0
  269. package/nav-tabs/NavTabs.stories.tsx +294 -0
  270. package/nav-tabs/NavTabs.test.d.ts +1 -0
  271. package/nav-tabs/NavTabs.test.js +77 -0
  272. package/nav-tabs/NavTabsContext.d.ts +3 -0
  273. package/nav-tabs/NavTabsContext.js +8 -0
  274. package/nav-tabs/Tab.d.ts +4 -0
  275. package/nav-tabs/Tab.js +117 -0
  276. package/nav-tabs/types.d.ts +52 -0
  277. package/nav-tabs/types.js +5 -0
  278. package/number-input/NumberInput.accessibility.test.d.ts +1 -0
  279. package/number-input/NumberInput.accessibility.test.js +227 -0
  280. package/number-input/NumberInput.js +51 -45
  281. package/number-input/NumberInput.stories.tsx +39 -28
  282. package/number-input/NumberInput.test.d.ts +1 -0
  283. package/number-input/NumberInput.test.js +988 -0
  284. package/number-input/NumberInputContext.d.ts +3 -4
  285. package/number-input/NumberInputContext.js +3 -14
  286. package/number-input/types.d.ts +34 -15
  287. package/package.json +58 -52
  288. package/paginator/Paginator.accessibility.test.d.ts +1 -0
  289. package/paginator/Paginator.accessibility.test.js +78 -0
  290. package/paginator/Paginator.js +46 -100
  291. package/paginator/Paginator.stories.tsx +24 -0
  292. package/paginator/Paginator.test.d.ts +1 -0
  293. package/paginator/Paginator.test.js +334 -0
  294. package/paginator/types.d.ts +3 -3
  295. package/paragraph/Paragraph.accessibility.test.d.ts +1 -0
  296. package/paragraph/Paragraph.accessibility.test.js +28 -0
  297. package/paragraph/Paragraph.d.ts +5 -0
  298. package/paragraph/Paragraph.js +22 -0
  299. package/paragraph/Paragraph.stories.tsx +27 -0
  300. package/password-input/PasswordInput.accessibility.test.d.ts +1 -0
  301. package/password-input/PasswordInput.accessibility.test.js +152 -0
  302. package/password-input/PasswordInput.js +62 -125
  303. package/password-input/PasswordInput.stories.tsx +13 -36
  304. package/password-input/PasswordInput.test.d.ts +1 -0
  305. package/password-input/PasswordInput.test.js +197 -0
  306. package/password-input/types.d.ts +21 -17
  307. package/progress-bar/ProgressBar.accessibility.test.d.ts +1 -0
  308. package/progress-bar/ProgressBar.accessibility.test.js +35 -0
  309. package/progress-bar/ProgressBar.js +68 -92
  310. package/progress-bar/ProgressBar.stories.tsx +93 -0
  311. package/progress-bar/ProgressBar.test.d.ts +1 -0
  312. package/progress-bar/ProgressBar.test.js +93 -0
  313. package/progress-bar/types.d.ts +3 -3
  314. package/quick-nav/QuickNav.accessibility.test.d.ts +1 -0
  315. package/quick-nav/QuickNav.accessibility.test.js +57 -0
  316. package/quick-nav/QuickNav.d.ts +4 -0
  317. package/quick-nav/QuickNav.js +94 -0
  318. package/quick-nav/QuickNav.stories.tsx +356 -0
  319. package/quick-nav/types.d.ts +21 -0
  320. package/quick-nav/types.js +5 -0
  321. package/radio-group/Radio.d.ts +4 -0
  322. package/radio-group/Radio.js +121 -0
  323. package/radio-group/RadioGroup.accessibility.test.d.ts +1 -0
  324. package/radio-group/RadioGroup.accessibility.test.js +97 -0
  325. package/radio-group/RadioGroup.d.ts +4 -0
  326. package/radio-group/RadioGroup.js +233 -0
  327. package/radio-group/RadioGroup.stories.tsx +214 -0
  328. package/radio-group/RadioGroup.test.d.ts +1 -0
  329. package/radio-group/RadioGroup.test.js +754 -0
  330. package/radio-group/types.d.ts +114 -0
  331. package/radio-group/types.js +5 -0
  332. package/resultset-table/Icons.d.ts +7 -0
  333. package/resultset-table/Icons.js +47 -0
  334. package/resultset-table/ResultsetTable.accessibility.test.d.ts +1 -0
  335. package/resultset-table/ResultsetTable.accessibility.test.js +284 -0
  336. package/resultset-table/ResultsetTable.d.ts +7 -0
  337. package/resultset-table/ResultsetTable.js +195 -0
  338. package/{resultsetTable → resultset-table}/ResultsetTable.stories.tsx +174 -37
  339. package/resultset-table/ResultsetTable.test.d.ts +1 -0
  340. package/resultset-table/ResultsetTable.test.js +450 -0
  341. package/{resultsetTable → resultset-table}/types.d.ts +46 -12
  342. package/resultset-table/types.js +5 -0
  343. package/select/Listbox.d.ts +4 -0
  344. package/select/Listbox.js +151 -0
  345. package/select/Option.d.ts +4 -0
  346. package/select/Option.js +89 -0
  347. package/select/Select.accessibility.test.d.ts +1 -0
  348. package/select/Select.accessibility.test.js +227 -0
  349. package/select/Select.js +242 -503
  350. package/select/Select.stories.tsx +611 -255
  351. package/select/Select.test.d.ts +1 -0
  352. package/select/Select.test.js +2267 -0
  353. package/select/types.d.ts +65 -26
  354. package/sidenav/Sidenav.accessibility.test.d.ts +1 -0
  355. package/sidenav/Sidenav.accessibility.test.js +59 -0
  356. package/sidenav/Sidenav.d.ts +6 -5
  357. package/sidenav/Sidenav.js +136 -71
  358. package/sidenav/Sidenav.stories.tsx +246 -134
  359. package/sidenav/Sidenav.test.d.ts +1 -0
  360. package/sidenav/Sidenav.test.js +37 -0
  361. package/sidenav/SidenavContext.d.ts +5 -0
  362. package/sidenav/SidenavContext.js +13 -0
  363. package/sidenav/types.d.ts +52 -26
  364. package/slider/Slider.accessibility.test.d.ts +1 -0
  365. package/slider/Slider.accessibility.test.js +103 -0
  366. package/slider/Slider.d.ts +2 -2
  367. package/slider/Slider.js +147 -181
  368. package/slider/Slider.stories.tsx +68 -65
  369. package/slider/Slider.test.d.ts +1 -0
  370. package/slider/Slider.test.js +256 -0
  371. package/slider/types.d.ts +11 -3
  372. package/spinner/Spinner.accessibility.test.d.ts +1 -0
  373. package/spinner/Spinner.accessibility.test.js +96 -0
  374. package/spinner/Spinner.js +34 -74
  375. package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +53 -26
  376. package/spinner/Spinner.test.d.ts +1 -0
  377. package/spinner/Spinner.test.js +55 -0
  378. package/spinner/types.d.ts +3 -3
  379. package/status-light/StatusLight.accessibility.test.d.ts +1 -0
  380. package/status-light/StatusLight.accessibility.test.js +157 -0
  381. package/status-light/StatusLight.d.ts +4 -0
  382. package/status-light/StatusLight.js +51 -0
  383. package/status-light/StatusLight.stories.tsx +74 -0
  384. package/status-light/StatusLight.test.d.ts +1 -0
  385. package/status-light/StatusLight.test.js +25 -0
  386. package/status-light/types.d.ts +17 -0
  387. package/status-light/types.js +5 -0
  388. package/switch/Switch.accessibility.test.d.ts +1 -0
  389. package/switch/Switch.accessibility.test.js +98 -0
  390. package/switch/Switch.d.ts +2 -2
  391. package/switch/Switch.js +146 -114
  392. package/switch/Switch.stories.tsx +57 -68
  393. package/switch/Switch.test.d.ts +1 -0
  394. package/switch/Switch.test.js +180 -0
  395. package/switch/types.d.ts +13 -5
  396. package/table/DropdownTheme.js +62 -0
  397. package/table/Table.accessibility.test.d.ts +1 -0
  398. package/table/Table.accessibility.test.js +92 -0
  399. package/table/Table.d.ts +6 -2
  400. package/table/Table.js +78 -35
  401. package/table/Table.stories.tsx +663 -0
  402. package/table/Table.test.d.ts +1 -0
  403. package/table/Table.test.js +111 -0
  404. package/table/types.d.ts +34 -6
  405. package/tabs/Tab.d.ts +4 -0
  406. package/tabs/Tab.js +117 -0
  407. package/tabs/Tabs.accessibility.test.d.ts +1 -0
  408. package/tabs/Tabs.accessibility.test.js +56 -0
  409. package/tabs/Tabs.d.ts +1 -1
  410. package/tabs/Tabs.js +306 -146
  411. package/tabs/Tabs.stories.tsx +127 -18
  412. package/tabs/Tabs.test.d.ts +1 -0
  413. package/tabs/Tabs.test.js +276 -0
  414. package/tabs/types.d.ts +46 -24
  415. package/tag/Tag.accessibility.test.d.ts +1 -0
  416. package/tag/Tag.accessibility.test.js +69 -0
  417. package/tag/Tag.d.ts +1 -1
  418. package/tag/Tag.js +43 -85
  419. package/tag/Tag.stories.tsx +38 -31
  420. package/tag/Tag.test.d.ts +1 -0
  421. package/tag/Tag.test.js +41 -0
  422. package/tag/types.d.ts +25 -16
  423. package/text-input/Suggestion.d.ts +4 -0
  424. package/text-input/Suggestion.js +67 -0
  425. package/text-input/Suggestions.d.ts +4 -0
  426. package/text-input/Suggestions.js +94 -0
  427. package/text-input/TextInput.accessibility.test.d.ts +1 -0
  428. package/text-input/TextInput.accessibility.test.js +320 -0
  429. package/text-input/TextInput.js +331 -546
  430. package/text-input/TextInput.stories.tsx +292 -271
  431. package/text-input/TextInput.test.d.ts +1 -0
  432. package/text-input/TextInput.test.js +1755 -0
  433. package/text-input/types.d.ts +71 -25
  434. package/textarea/Textarea.accessibility.test.d.ts +1 -0
  435. package/textarea/Textarea.accessibility.test.js +155 -0
  436. package/textarea/Textarea.js +82 -131
  437. package/textarea/Textarea.stories.tsx +174 -0
  438. package/textarea/Textarea.test.d.ts +1 -0
  439. package/textarea/Textarea.test.js +406 -0
  440. package/textarea/types.d.ts +27 -16
  441. package/toggle-group/ToggleGroup.accessibility.test.d.ts +1 -0
  442. package/toggle-group/ToggleGroup.accessibility.test.js +107 -0
  443. package/toggle-group/ToggleGroup.d.ts +2 -2
  444. package/toggle-group/ToggleGroup.js +92 -107
  445. package/toggle-group/ToggleGroup.stories.tsx +57 -12
  446. package/toggle-group/ToggleGroup.test.d.ts +1 -0
  447. package/toggle-group/ToggleGroup.test.js +137 -0
  448. package/toggle-group/types.d.ts +36 -19
  449. package/tooltip/Tooltip.accessibility.test.d.ts +1 -0
  450. package/tooltip/Tooltip.accessibility.test.js +144 -0
  451. package/tooltip/Tooltip.d.ts +4 -0
  452. package/tooltip/Tooltip.js +50 -0
  453. package/tooltip/Tooltip.stories.tsx +111 -0
  454. package/tooltip/Tooltip.test.d.ts +1 -0
  455. package/tooltip/Tooltip.test.js +112 -0
  456. package/tooltip/types.d.ts +16 -0
  457. package/tooltip/types.js +5 -0
  458. package/typography/Typography.accessibility.test.d.ts +1 -0
  459. package/typography/Typography.accessibility.test.js +339 -0
  460. package/typography/Typography.d.ts +4 -0
  461. package/typography/Typography.js +23 -0
  462. package/typography/Typography.stories.tsx +196 -0
  463. package/typography/Typography.test.js +23 -0
  464. package/typography/types.d.ts +18 -0
  465. package/typography/types.js +5 -0
  466. package/useTheme.d.ts +1167 -1
  467. package/useTheme.js +4 -11
  468. package/useTranslatedLabels.d.ts +85 -0
  469. package/useTranslatedLabels.js +14 -0
  470. package/utils/BaseTypography.d.ts +21 -0
  471. package/utils/BaseTypography.js +98 -0
  472. package/utils/FocusLock.d.ts +13 -0
  473. package/utils/FocusLock.js +125 -0
  474. package/wizard/Wizard.accessibility.test.d.ts +1 -0
  475. package/wizard/Wizard.accessibility.test.js +55 -0
  476. package/wizard/Wizard.d.ts +1 -1
  477. package/wizard/Wizard.js +78 -120
  478. package/wizard/Wizard.stories.tsx +68 -20
  479. package/wizard/Wizard.test.d.ts +1 -0
  480. package/wizard/Wizard.test.js +114 -0
  481. package/wizard/types.d.ts +14 -10
  482. package/ThemeContext.d.ts +0 -15
  483. package/ThemeContext.js +0 -243
  484. package/V3Select/V3Select.js +0 -455
  485. package/V3Select/index.d.ts +0 -27
  486. package/V3Textarea/V3Textarea.js +0 -260
  487. package/V3Textarea/index.d.ts +0 -27
  488. package/card/ice-cream.jpg +0 -0
  489. package/common/OpenSans.css +0 -81
  490. package/common/RequiredComponent.js +0 -32
  491. package/common/fonts/OpenSans-Bold.ttf +0 -0
  492. package/common/fonts/OpenSans-BoldItalic.ttf +0 -0
  493. package/common/fonts/OpenSans-ExtraBold.ttf +0 -0
  494. package/common/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  495. package/common/fonts/OpenSans-Italic.ttf +0 -0
  496. package/common/fonts/OpenSans-Light.ttf +0 -0
  497. package/common/fonts/OpenSans-LightItalic.ttf +0 -0
  498. package/common/fonts/OpenSans-Regular.ttf +0 -0
  499. package/common/fonts/OpenSans-SemiBold.ttf +0 -0
  500. package/common/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  501. package/date/Date.js +0 -373
  502. package/date/index.d.ts +0 -27
  503. package/input-text/Icons.js +0 -22
  504. package/input-text/InputText.js +0 -611
  505. package/input-text/index.d.ts +0 -36
  506. package/list/List.d.ts +0 -8
  507. package/list/List.js +0 -47
  508. package/list/List.stories.tsx +0 -85
  509. package/number-input/numberInputContextTypes.d.ts +0 -19
  510. package/paginator/Icons.js +0 -66
  511. package/progress-bar/ProgressBar.stories.jsx +0 -58
  512. package/radio/Radio.d.ts +0 -4
  513. package/radio/Radio.js +0 -174
  514. package/radio/Radio.stories.tsx +0 -192
  515. package/radio/types.d.ts +0 -54
  516. package/resultsetTable/ResultsetTable.d.ts +0 -4
  517. package/resultsetTable/ResultsetTable.js +0 -251
  518. package/row/Row.d.ts +0 -11
  519. package/row/Row.js +0 -124
  520. package/row/Row.stories.tsx +0 -223
  521. package/stack/Stack.d.ts +0 -10
  522. package/stack/Stack.js +0 -94
  523. package/stack/Stack.stories.tsx +0 -150
  524. package/table/Table.stories.jsx +0 -276
  525. package/text/Text.d.ts +0 -7
  526. package/text/Text.js +0 -30
  527. package/text/Text.stories.tsx +0 -19
  528. package/textarea/Textarea.stories.jsx +0 -135
  529. package/toggle/Toggle.js +0 -186
  530. package/toggle/index.d.ts +0 -21
  531. package/upload/Upload.js +0 -201
  532. package/upload/buttons-upload/ButtonsUpload.js +0 -111
  533. package/upload/buttons-upload/Icons.js +0 -40
  534. package/upload/dragAndDropArea/DragAndDropArea.js +0 -225
  535. package/upload/dragAndDropArea/Icons.js +0 -39
  536. package/upload/file-upload/FileToUpload.js +0 -115
  537. package/upload/file-upload/Icons.js +0 -66
  538. package/upload/files-upload/FilesToUpload.js +0 -109
  539. package/upload/index.d.ts +0 -15
  540. package/upload/transaction/Icons.js +0 -160
  541. package/upload/transaction/Transaction.js +0 -104
  542. package/upload/transactions/Transactions.js +0 -94
  543. /package/{radio → action-icon}/types.js +0 -0
  544. /package/{resultsetTable → badge}/types.js +0 -0
  545. /package/{number-input/numberInputContextTypes.js → bleed/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
+ });