@dxc-technology/halstack-react 0.0.0-abb5d48 → 0.0.0-abdd3b9

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 (605) hide show
  1. package/BackgroundColorContext.d.ts +1 -0
  2. package/BackgroundColorContext.js +30 -0
  3. package/HalstackContext.d.ts +1249 -0
  4. package/HalstackContext.js +310 -0
  5. package/README.md +28 -47
  6. package/accordion/Accordion.accessibility.test.js +71 -0
  7. package/accordion/Accordion.d.ts +4 -0
  8. package/accordion/Accordion.js +169 -0
  9. package/accordion/Accordion.stories.tsx +251 -0
  10. package/accordion/Accordion.test.js +56 -0
  11. package/accordion/types.d.ts +57 -0
  12. package/accordion/types.js +5 -0
  13. package/accordion-group/AccordionGroup.accessibility.test.js +88 -0
  14. package/accordion-group/AccordionGroup.d.ts +7 -0
  15. package/accordion-group/AccordionGroup.js +101 -0
  16. package/accordion-group/AccordionGroup.stories.tsx +252 -0
  17. package/accordion-group/AccordionGroup.test.js +98 -0
  18. package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
  19. package/accordion-group/AccordionGroupAccordion.js +31 -0
  20. package/accordion-group/AccordionGroupContext.d.ts +3 -0
  21. package/accordion-group/AccordionGroupContext.js +8 -0
  22. package/accordion-group/types.d.ts +67 -0
  23. package/accordion-group/types.js +5 -0
  24. package/action-icon/ActionIcon.accessibility.test.js +63 -0
  25. package/action-icon/ActionIcon.d.ts +4 -0
  26. package/action-icon/ActionIcon.js +48 -0
  27. package/action-icon/ActionIcon.stories.tsx +41 -0
  28. package/action-icon/ActionIcon.test.js +64 -0
  29. package/action-icon/types.d.ts +26 -0
  30. package/action-icon/types.js +5 -0
  31. package/alert/Alert.accessibility.test.js +95 -0
  32. package/alert/Alert.d.ts +4 -0
  33. package/alert/Alert.js +200 -0
  34. package/alert/Alert.stories.tsx +198 -0
  35. package/alert/Alert.test.js +75 -0
  36. package/alert/types.d.ts +49 -0
  37. package/alert/types.js +5 -0
  38. package/badge/Badge.accessibility.test.js +129 -0
  39. package/badge/Badge.d.ts +4 -0
  40. package/badge/Badge.js +161 -0
  41. package/badge/Badge.stories.tsx +210 -0
  42. package/badge/Badge.test.js +30 -0
  43. package/badge/types.d.ts +54 -0
  44. package/badge/types.js +5 -0
  45. package/bleed/Bleed.d.ts +3 -0
  46. package/bleed/Bleed.js +43 -0
  47. package/bleed/Bleed.stories.tsx +342 -0
  48. package/bleed/types.d.ts +37 -0
  49. package/bleed/types.js +5 -0
  50. package/box/Box.accessibility.test.js +33 -0
  51. package/box/Box.d.ts +4 -0
  52. package/box/Box.js +75 -0
  53. package/box/Box.stories.tsx +119 -0
  54. package/box/Box.test.js +13 -0
  55. package/box/types.d.ts +32 -0
  56. package/box/types.js +5 -0
  57. package/bulleted-list/BulletedList.accessibility.test.js +107 -0
  58. package/bulleted-list/BulletedList.d.ts +7 -0
  59. package/bulleted-list/BulletedList.js +92 -0
  60. package/bulleted-list/BulletedList.stories.tsx +115 -0
  61. package/bulleted-list/types.d.ts +38 -0
  62. package/bulleted-list/types.js +5 -0
  63. package/button/Button.accessibility.test.js +127 -0
  64. package/button/Button.d.ts +4 -0
  65. package/button/Button.js +121 -0
  66. package/button/Button.stories.tsx +325 -0
  67. package/button/Button.test.js +38 -0
  68. package/button/types.d.ts +57 -0
  69. package/button/types.js +5 -0
  70. package/card/Card.accessibility.test.js +36 -0
  71. package/card/Card.d.ts +4 -0
  72. package/card/Card.js +120 -0
  73. package/card/Card.stories.tsx +171 -0
  74. package/card/Card.test.js +39 -0
  75. package/card/types.d.ts +62 -0
  76. package/card/types.js +5 -0
  77. package/checkbox/Checkbox.accessibility.test.js +87 -0
  78. package/checkbox/Checkbox.d.ts +4 -0
  79. package/checkbox/Checkbox.js +215 -0
  80. package/checkbox/Checkbox.stories.tsx +222 -0
  81. package/checkbox/Checkbox.test.js +199 -0
  82. package/checkbox/types.d.ts +72 -0
  83. package/checkbox/types.js +5 -0
  84. package/chip/Chip.accessibility.test.js +67 -0
  85. package/chip/Chip.d.ts +4 -0
  86. package/chip/Chip.js +124 -0
  87. package/chip/Chip.stories.tsx +195 -0
  88. package/chip/Chip.test.js +41 -0
  89. package/chip/types.d.ts +45 -0
  90. package/chip/types.js +5 -0
  91. package/common/coreTokens.d.ts +237 -0
  92. package/common/coreTokens.js +184 -0
  93. package/common/utils.d.ts +1 -0
  94. package/common/utils.js +16 -0
  95. package/common/variables.d.ts +1395 -0
  96. package/common/variables.js +1267 -0
  97. package/container/Container.d.ts +4 -0
  98. package/container/Container.js +194 -0
  99. package/container/Container.stories.tsx +214 -0
  100. package/container/types.d.ts +74 -0
  101. package/container/types.js +5 -0
  102. package/contextual-menu/ContextualMenu.accessibility.test.js +86 -0
  103. package/contextual-menu/ContextualMenu.d.ts +7 -0
  104. package/contextual-menu/ContextualMenu.js +71 -0
  105. package/contextual-menu/ContextualMenu.stories.tsx +182 -0
  106. package/contextual-menu/ContextualMenu.test.js +71 -0
  107. package/contextual-menu/MenuItemAction.d.ts +4 -0
  108. package/contextual-menu/MenuItemAction.js +46 -0
  109. package/contextual-menu/types.d.ts +22 -0
  110. package/contextual-menu/types.js +5 -0
  111. package/date-input/Calendar.d.ts +4 -0
  112. package/date-input/Calendar.js +214 -0
  113. package/date-input/DateInput.accessibility.test.js +216 -0
  114. package/date-input/DateInput.d.ts +4 -0
  115. package/date-input/DateInput.js +222 -0
  116. package/date-input/DateInput.stories.tsx +285 -0
  117. package/date-input/DateInput.test.js +808 -0
  118. package/date-input/DatePicker.d.ts +4 -0
  119. package/date-input/DatePicker.js +121 -0
  120. package/date-input/YearPicker.d.ts +4 -0
  121. package/date-input/YearPicker.js +100 -0
  122. package/date-input/types.d.ts +164 -0
  123. package/date-input/types.js +5 -0
  124. package/dialog/Dialog.accessibility.test.js +69 -0
  125. package/dialog/Dialog.d.ts +4 -0
  126. package/dialog/Dialog.js +104 -0
  127. package/dialog/Dialog.stories.tsx +365 -0
  128. package/dialog/Dialog.test.js +307 -0
  129. package/dialog/types.d.ts +36 -0
  130. package/dialog/types.js +5 -0
  131. package/divider/Divider.accessibility.test.js +33 -0
  132. package/divider/Divider.d.ts +4 -0
  133. package/divider/Divider.js +36 -0
  134. package/divider/Divider.stories.tsx +223 -0
  135. package/divider/Divider.test.js +38 -0
  136. package/divider/types.d.ts +21 -0
  137. package/divider/types.js +5 -0
  138. package/dropdown/Dropdown.accessibility.test.js +180 -0
  139. package/dropdown/Dropdown.d.ts +4 -0
  140. package/dropdown/Dropdown.js +319 -0
  141. package/dropdown/Dropdown.stories.tsx +427 -0
  142. package/dropdown/Dropdown.test.js +599 -0
  143. package/dropdown/DropdownMenu.d.ts +4 -0
  144. package/dropdown/DropdownMenu.js +63 -0
  145. package/dropdown/DropdownMenuItem.d.ts +4 -0
  146. package/dropdown/DropdownMenuItem.js +70 -0
  147. package/dropdown/types.d.ts +96 -0
  148. package/dropdown/types.js +5 -0
  149. package/file-input/FileInput.accessibility.test.js +160 -0
  150. package/file-input/FileInput.d.ts +4 -0
  151. package/file-input/FileInput.js +443 -0
  152. package/file-input/FileInput.stories.tsx +618 -0
  153. package/file-input/FileInput.test.js +382 -0
  154. package/file-input/FileItem.d.ts +4 -0
  155. package/file-input/FileItem.js +121 -0
  156. package/file-input/types.d.ts +129 -0
  157. package/file-input/types.js +5 -0
  158. package/flex/Flex.d.ts +4 -0
  159. package/flex/Flex.js +57 -0
  160. package/flex/Flex.stories.tsx +112 -0
  161. package/flex/types.d.ts +97 -0
  162. package/flex/types.js +5 -0
  163. package/footer/Footer.accessibility.test.js +117 -0
  164. package/footer/Footer.d.ts +4 -0
  165. package/footer/Footer.js +140 -0
  166. package/footer/Footer.stories.tsx +196 -0
  167. package/footer/Footer.test.js +85 -0
  168. package/footer/Icons.d.ts +3 -0
  169. package/footer/Icons.js +136 -0
  170. package/footer/types.d.ts +64 -0
  171. package/footer/types.js +5 -0
  172. package/grid/Grid.d.ts +7 -0
  173. package/grid/Grid.js +76 -0
  174. package/grid/Grid.stories.tsx +219 -0
  175. package/grid/types.d.ts +115 -0
  176. package/grid/types.js +5 -0
  177. package/header/Header.accessibility.test.js +84 -0
  178. package/header/Header.d.ts +8 -0
  179. package/header/Header.js +209 -0
  180. package/header/Header.stories.tsx +251 -0
  181. package/header/Header.test.js +66 -0
  182. package/header/Icons.d.ts +2 -0
  183. package/header/Icons.js +29 -0
  184. package/header/types.d.ts +33 -0
  185. package/header/types.js +5 -0
  186. package/heading/Heading.accessibility.test.js +33 -0
  187. package/heading/Heading.d.ts +4 -0
  188. package/heading/Heading.js +137 -0
  189. package/heading/Heading.stories.tsx +54 -0
  190. package/heading/Heading.test.js +169 -0
  191. package/heading/types.d.ts +33 -0
  192. package/heading/types.js +5 -0
  193. package/icon/Icon.accessibility.test.js +30 -0
  194. package/icon/Icon.d.ts +4 -0
  195. package/icon/Icon.js +33 -0
  196. package/icon/Icon.stories.tsx +28 -0
  197. package/icon/types.d.ts +4 -0
  198. package/icon/types.js +5 -0
  199. package/image/Image.accessibility.test.js +56 -0
  200. package/image/Image.d.ts +4 -0
  201. package/image/Image.js +70 -0
  202. package/image/Image.stories.tsx +129 -0
  203. package/image/types.d.ts +72 -0
  204. package/image/types.js +5 -0
  205. package/inset/Inset.d.ts +3 -0
  206. package/inset/Inset.js +43 -0
  207. package/inset/Inset.stories.tsx +230 -0
  208. package/inset/types.d.ts +37 -0
  209. package/inset/types.js +5 -0
  210. package/layout/ApplicationLayout.d.ts +20 -0
  211. package/layout/ApplicationLayout.js +134 -0
  212. package/layout/ApplicationLayout.stories.tsx +162 -0
  213. package/layout/Icons.d.ts +8 -0
  214. package/layout/Icons.js +56 -0
  215. package/layout/types.d.ts +41 -0
  216. package/layout/types.js +5 -0
  217. package/link/Link.accessibility.test.js +112 -0
  218. package/link/Link.d.ts +4 -0
  219. package/link/Link.js +117 -0
  220. package/link/Link.stories.tsx +253 -0
  221. package/link/Link.test.js +63 -0
  222. package/link/types.d.ts +54 -0
  223. package/link/types.js +5 -0
  224. package/main.d.ts +49 -0
  225. package/{dist/main.js → main.js} +165 -111
  226. package/nav-tabs/NavTabs.accessibility.test.js +44 -0
  227. package/nav-tabs/NavTabs.d.ts +7 -0
  228. package/nav-tabs/NavTabs.js +93 -0
  229. package/nav-tabs/NavTabs.stories.tsx +279 -0
  230. package/nav-tabs/NavTabs.test.js +75 -0
  231. package/nav-tabs/NavTabsContext.d.ts +3 -0
  232. package/nav-tabs/NavTabsContext.js +8 -0
  233. package/nav-tabs/Tab.d.ts +4 -0
  234. package/nav-tabs/Tab.js +117 -0
  235. package/nav-tabs/types.d.ts +52 -0
  236. package/nav-tabs/types.js +5 -0
  237. package/number-input/NumberInput.accessibility.test.js +228 -0
  238. package/number-input/NumberInput.d.ts +4 -0
  239. package/number-input/NumberInput.js +86 -0
  240. package/number-input/NumberInput.stories.tsx +131 -0
  241. package/number-input/NumberInput.test.js +989 -0
  242. package/number-input/NumberInputContext.d.ts +3 -0
  243. package/number-input/NumberInputContext.js +8 -0
  244. package/number-input/types.d.ts +136 -0
  245. package/number-input/types.js +5 -0
  246. package/package.json +62 -52
  247. package/paginator/Icons.d.ts +5 -0
  248. package/paginator/Icons.js +40 -0
  249. package/paginator/Paginator.accessibility.test.js +79 -0
  250. package/paginator/Paginator.d.ts +4 -0
  251. package/paginator/Paginator.js +135 -0
  252. package/paginator/Paginator.stories.tsx +87 -0
  253. package/paginator/Paginator.test.js +335 -0
  254. package/paginator/types.d.ts +38 -0
  255. package/paginator/types.js +5 -0
  256. package/paragraph/Paragraph.accessibility.test.js +28 -0
  257. package/paragraph/Paragraph.d.ts +5 -0
  258. package/paragraph/Paragraph.js +22 -0
  259. package/paragraph/Paragraph.stories.tsx +27 -0
  260. package/password-input/PasswordInput.accessibility.test.js +153 -0
  261. package/password-input/PasswordInput.d.ts +4 -0
  262. package/password-input/PasswordInput.js +96 -0
  263. package/password-input/PasswordInput.stories.tsx +99 -0
  264. package/password-input/PasswordInput.test.js +198 -0
  265. package/password-input/types.d.ts +111 -0
  266. package/password-input/types.js +5 -0
  267. package/progress-bar/ProgressBar.accessibility.test.js +35 -0
  268. package/progress-bar/ProgressBar.d.ts +4 -0
  269. package/progress-bar/ProgressBar.js +144 -0
  270. package/progress-bar/ProgressBar.stories.tsx +93 -0
  271. package/progress-bar/ProgressBar.test.js +93 -0
  272. package/progress-bar/types.d.ts +37 -0
  273. package/progress-bar/types.js +5 -0
  274. package/quick-nav/QuickNav.accessibility.test.js +57 -0
  275. package/quick-nav/QuickNav.d.ts +4 -0
  276. package/quick-nav/QuickNav.js +94 -0
  277. package/quick-nav/QuickNav.stories.tsx +356 -0
  278. package/quick-nav/types.d.ts +21 -0
  279. package/quick-nav/types.js +5 -0
  280. package/radio-group/Radio.d.ts +4 -0
  281. package/radio-group/Radio.js +124 -0
  282. package/radio-group/RadioGroup.accessibility.test.js +97 -0
  283. package/radio-group/RadioGroup.d.ts +4 -0
  284. package/radio-group/RadioGroup.js +235 -0
  285. package/radio-group/RadioGroup.stories.tsx +214 -0
  286. package/radio-group/RadioGroup.test.js +756 -0
  287. package/radio-group/types.d.ts +114 -0
  288. package/radio-group/types.js +5 -0
  289. package/resultset-table/Icons.d.ts +7 -0
  290. package/resultset-table/Icons.js +47 -0
  291. package/resultset-table/ResultsetTable.accessibility.test.js +274 -0
  292. package/resultset-table/ResultsetTable.d.ts +7 -0
  293. package/resultset-table/ResultsetTable.js +170 -0
  294. package/resultset-table/ResultsetTable.stories.tsx +401 -0
  295. package/resultset-table/ResultsetTable.test.js +381 -0
  296. package/resultset-table/types.d.ts +100 -0
  297. package/resultset-table/types.js +5 -0
  298. package/select/Icons.d.ts +10 -0
  299. package/select/Icons.js +89 -0
  300. package/select/Listbox.d.ts +4 -0
  301. package/select/Listbox.js +143 -0
  302. package/select/Option.d.ts +4 -0
  303. package/select/Option.js +87 -0
  304. package/select/Select.accessibility.test.js +217 -0
  305. package/select/Select.d.ts +4 -0
  306. package/select/Select.js +590 -0
  307. package/select/Select.stories.tsx +970 -0
  308. package/select/Select.test.js +2370 -0
  309. package/select/types.d.ts +209 -0
  310. package/select/types.js +5 -0
  311. package/sidenav/Sidenav.accessibility.test.js +59 -0
  312. package/sidenav/Sidenav.d.ts +10 -0
  313. package/sidenav/Sidenav.js +201 -0
  314. package/sidenav/Sidenav.stories.tsx +277 -0
  315. package/sidenav/Sidenav.test.js +37 -0
  316. package/sidenav/SidenavContext.d.ts +5 -0
  317. package/sidenav/SidenavContext.js +13 -0
  318. package/sidenav/types.d.ts +76 -0
  319. package/sidenav/types.js +5 -0
  320. package/slider/Slider.accessibility.test.js +104 -0
  321. package/slider/Slider.d.ts +4 -0
  322. package/slider/Slider.js +285 -0
  323. package/slider/Slider.test.js +254 -0
  324. package/slider/types.d.ts +86 -0
  325. package/slider/types.js +5 -0
  326. package/spinner/Spinner.accessibility.test.js +96 -0
  327. package/spinner/Spinner.d.ts +4 -0
  328. package/spinner/Spinner.js +206 -0
  329. package/spinner/Spinner.stories.tsx +129 -0
  330. package/spinner/Spinner.test.js +55 -0
  331. package/spinner/types.d.ts +32 -0
  332. package/spinner/types.js +5 -0
  333. package/status-light/StatusLight.accessibility.test.js +157 -0
  334. package/status-light/StatusLight.d.ts +4 -0
  335. package/status-light/StatusLight.js +51 -0
  336. package/status-light/StatusLight.stories.tsx +74 -0
  337. package/status-light/StatusLight.test.js +25 -0
  338. package/status-light/types.d.ts +17 -0
  339. package/status-light/types.js +5 -0
  340. package/switch/Switch.accessibility.test.js +89 -0
  341. package/switch/Switch.d.ts +4 -0
  342. package/switch/Switch.js +214 -0
  343. package/switch/Switch.stories.tsx +137 -0
  344. package/switch/Switch.test.js +180 -0
  345. package/switch/types.d.ts +66 -0
  346. package/switch/types.js +5 -0
  347. package/table/DropdownTheme.js +62 -0
  348. package/table/Table.accessibility.test.js +82 -0
  349. package/table/Table.d.ts +8 -0
  350. package/table/Table.js +161 -0
  351. package/table/Table.stories.tsx +651 -0
  352. package/table/Table.test.js +113 -0
  353. package/table/types.d.ts +49 -0
  354. package/table/types.js +5 -0
  355. package/tabs/Tab.d.ts +4 -0
  356. package/tabs/Tab.js +117 -0
  357. package/tabs/Tabs.accessibility.test.js +56 -0
  358. package/tabs/Tabs.d.ts +4 -0
  359. package/tabs/Tabs.js +373 -0
  360. package/tabs/Tabs.stories.tsx +224 -0
  361. package/tabs/Tabs.test.js +276 -0
  362. package/tabs/types.d.ts +92 -0
  363. package/tabs/types.js +5 -0
  364. package/tag/Tag.accessibility.test.js +69 -0
  365. package/tag/Tag.d.ts +4 -0
  366. package/tag/Tag.js +151 -0
  367. package/tag/Tag.stories.tsx +152 -0
  368. package/tag/Tag.test.js +41 -0
  369. package/tag/types.d.ts +69 -0
  370. package/tag/types.js +5 -0
  371. package/text-input/Suggestion.d.ts +4 -0
  372. package/text-input/Suggestion.js +67 -0
  373. package/text-input/Suggestions.d.ts +4 -0
  374. package/text-input/Suggestions.js +86 -0
  375. package/text-input/TextInput.accessibility.test.js +321 -0
  376. package/text-input/TextInput.d.ts +4 -0
  377. package/text-input/TextInput.js +567 -0
  378. package/text-input/TextInput.stories.tsx +465 -0
  379. package/text-input/TextInput.test.js +1756 -0
  380. package/text-input/types.d.ts +205 -0
  381. package/text-input/types.js +5 -0
  382. package/textarea/Textarea.accessibility.test.js +155 -0
  383. package/textarea/Textarea.d.ts +4 -0
  384. package/textarea/Textarea.js +234 -0
  385. package/textarea/Textarea.stories.tsx +174 -0
  386. package/textarea/Textarea.test.js +406 -0
  387. package/textarea/types.d.ts +141 -0
  388. package/textarea/types.js +5 -0
  389. package/toggle-group/ToggleGroup.accessibility.test.js +107 -0
  390. package/toggle-group/ToggleGroup.d.ts +4 -0
  391. package/toggle-group/ToggleGroup.js +202 -0
  392. package/toggle-group/ToggleGroup.stories.tsx +218 -0
  393. package/toggle-group/ToggleGroup.test.js +137 -0
  394. package/toggle-group/types.d.ts +114 -0
  395. package/toggle-group/types.js +5 -0
  396. package/typography/Typography.accessibility.test.js +339 -0
  397. package/typography/Typography.d.ts +4 -0
  398. package/typography/Typography.js +23 -0
  399. package/typography/Typography.stories.tsx +198 -0
  400. package/typography/types.d.ts +18 -0
  401. package/typography/types.js +5 -0
  402. package/useTheme.d.ts +1148 -0
  403. package/{dist/useTheme.js → useTheme.js} +4 -11
  404. package/useTranslatedLabels.d.ts +85 -0
  405. package/useTranslatedLabels.js +14 -0
  406. package/utils/BaseTypography.d.ts +21 -0
  407. package/utils/BaseTypography.js +94 -0
  408. package/utils/FocusLock.d.ts +13 -0
  409. package/utils/FocusLock.js +124 -0
  410. package/wizard/Wizard.accessibility.test.js +55 -0
  411. package/wizard/Wizard.d.ts +4 -0
  412. package/wizard/Wizard.js +247 -0
  413. package/wizard/Wizard.stories.tsx +272 -0
  414. package/wizard/Wizard.test.js +114 -0
  415. package/wizard/types.d.ts +64 -0
  416. package/wizard/types.js +5 -0
  417. package/babel.config.js +0 -8
  418. package/dist/ThemeContext.js +0 -185
  419. package/dist/accordion/Accordion.js +0 -286
  420. package/dist/accordion/Accordion.stories.js +0 -207
  421. package/dist/accordion/readme.md +0 -96
  422. package/dist/accordion-group/AccordionGroup.js +0 -156
  423. package/dist/accordion-group/AccordionGroup.stories.js +0 -207
  424. package/dist/accordion-group/readme.md +0 -70
  425. package/dist/alert/Alert.js +0 -316
  426. package/dist/alert/Alert.stories.js +0 -158
  427. package/dist/alert/close.svg +0 -4
  428. package/dist/alert/error.svg +0 -4
  429. package/dist/alert/info.svg +0 -4
  430. package/dist/alert/readme.md +0 -43
  431. package/dist/alert/success.svg +0 -4
  432. package/dist/alert/warning.svg +0 -4
  433. package/dist/badge/Badge.js +0 -42
  434. package/dist/box/Box.js +0 -149
  435. package/dist/button/Button.js +0 -221
  436. package/dist/button/Button.stories.js +0 -224
  437. package/dist/button/readme.md +0 -93
  438. package/dist/card/Card.js +0 -247
  439. package/dist/checkbox/Checkbox.js +0 -235
  440. package/dist/checkbox/Checkbox.stories.js +0 -144
  441. package/dist/checkbox/readme.md +0 -116
  442. package/dist/chip/Chip.js +0 -225
  443. package/dist/common/OpenSans.css +0 -81
  444. package/dist/common/RequiredComponent.js +0 -40
  445. package/dist/common/fonts/OpenSans-Bold.ttf +0 -0
  446. package/dist/common/fonts/OpenSans-BoldItalic.ttf +0 -0
  447. package/dist/common/fonts/OpenSans-ExtraBold.ttf +0 -0
  448. package/dist/common/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  449. package/dist/common/fonts/OpenSans-Italic.ttf +0 -0
  450. package/dist/common/fonts/OpenSans-Light.ttf +0 -0
  451. package/dist/common/fonts/OpenSans-LightItalic.ttf +0 -0
  452. package/dist/common/fonts/OpenSans-Regular.ttf +0 -0
  453. package/dist/common/fonts/OpenSans-SemiBold.ttf +0 -0
  454. package/dist/common/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  455. package/dist/common/services/example-service.js +0 -10
  456. package/dist/common/services/example-service.test.js +0 -12
  457. package/dist/common/utils.js +0 -42
  458. package/dist/common/variables.js +0 -522
  459. package/dist/date/Date.js +0 -359
  460. package/dist/date/Date.stories.js +0 -205
  461. package/dist/date/calendar.svg +0 -1
  462. package/dist/date/calendar_dark.svg +0 -1
  463. package/dist/date/readme.md +0 -73
  464. package/dist/dialog/Dialog.js +0 -205
  465. package/dist/dialog/Dialog.stories.js +0 -217
  466. package/dist/dialog/readme.md +0 -32
  467. package/dist/dropdown/Dropdown.js +0 -458
  468. package/dist/dropdown/Dropdown.stories.js +0 -249
  469. package/dist/dropdown/baseline-arrow_drop_down.svg +0 -1
  470. package/dist/dropdown/baseline-arrow_drop_down_wh.svg +0 -4
  471. package/dist/dropdown/baseline-arrow_drop_up.svg +0 -1
  472. package/dist/dropdown/baseline-arrow_drop_up_wh.svg +0 -4
  473. package/dist/dropdown/readme.md +0 -69
  474. package/dist/footer/Footer.js +0 -381
  475. package/dist/footer/Footer.stories.js +0 -94
  476. package/dist/footer/dxc_logo_wht.png +0 -0
  477. package/dist/footer/readme.md +0 -41
  478. package/dist/header/Header.js +0 -385
  479. package/dist/header/Header.stories.js +0 -176
  480. package/dist/header/close_icon.svg +0 -1
  481. package/dist/header/dxc_logo_black.png +0 -0
  482. package/dist/header/dxc_logo_blk_rgb.svg +0 -6
  483. package/dist/header/dxc_logo_white.png +0 -0
  484. package/dist/header/hamb_menu_black.svg +0 -1
  485. package/dist/header/hamb_menu_white.svg +0 -1
  486. package/dist/header/readme.md +0 -33
  487. package/dist/heading/Heading.js +0 -165
  488. package/dist/input-text/InputText.js +0 -599
  489. package/dist/input-text/InputText.stories.js +0 -209
  490. package/dist/input-text/error.svg +0 -1
  491. package/dist/input-text/readme.md +0 -91
  492. package/dist/layout/ApplicationLayout.js +0 -331
  493. package/dist/layout/facebook.svg +0 -45
  494. package/dist/layout/linkedin.svg +0 -50
  495. package/dist/layout/twitter.svg +0 -53
  496. package/dist/link/Link.js +0 -201
  497. package/dist/link/readme.md +0 -51
  498. package/dist/paginator/Paginator.js +0 -263
  499. package/dist/paginator/images/next.svg +0 -3
  500. package/dist/paginator/images/nextPage.svg +0 -3
  501. package/dist/paginator/images/previous.svg +0 -3
  502. package/dist/paginator/images/previousPage.svg +0 -3
  503. package/dist/paginator/readme.md +0 -50
  504. package/dist/progress-bar/ProgressBar.js +0 -194
  505. package/dist/progress-bar/ProgressBar.stories.js +0 -280
  506. package/dist/progress-bar/readme.md +0 -63
  507. package/dist/radio/Radio.js +0 -192
  508. package/dist/radio/Radio.stories.js +0 -166
  509. package/dist/radio/readme.md +0 -70
  510. package/dist/resultsetTable/ResultsetTable.js +0 -333
  511. package/dist/resultsetTable/arrow_downward-24px_wht.svg +0 -1
  512. package/dist/resultsetTable/arrow_upward-24px_wht.svg +0 -1
  513. package/dist/resultsetTable/unfold_more-24px_wht.svg +0 -1
  514. package/dist/select/Select.js +0 -492
  515. package/dist/select/Select.stories.js +0 -235
  516. package/dist/select/readme.md +0 -72
  517. package/dist/sidenav/Sidenav.js +0 -157
  518. package/dist/slider/Slider.js +0 -269
  519. package/dist/slider/Slider.stories.js +0 -241
  520. package/dist/slider/readme.md +0 -64
  521. package/dist/spinner/Spinner.js +0 -200
  522. package/dist/spinner/Spinner.stories.js +0 -183
  523. package/dist/spinner/readme.md +0 -65
  524. package/dist/switch/Switch.js +0 -196
  525. package/dist/switch/Switch.stories.js +0 -134
  526. package/dist/switch/readme.md +0 -133
  527. package/dist/table/Table.js +0 -100
  528. package/dist/tabs/Tabs.js +0 -327
  529. package/dist/tabs/Tabs.stories.js +0 -130
  530. package/dist/tabs/readme.md +0 -78
  531. package/dist/tabs-for-sections/TabsForSections.js +0 -92
  532. package/dist/tabs-for-sections/readme.md +0 -78
  533. package/dist/tag/Tag.js +0 -268
  534. package/dist/textarea/Textarea.js +0 -240
  535. package/dist/toggle/Toggle.js +0 -222
  536. package/dist/toggle/Toggle.stories.js +0 -297
  537. package/dist/toggle/readme.md +0 -80
  538. package/dist/toggle-group/ToggleGroup.js +0 -225
  539. package/dist/toggle-group/readme.md +0 -82
  540. package/dist/upload/Upload.js +0 -211
  541. package/dist/upload/Upload.stories.js +0 -72
  542. package/dist/upload/buttons-upload/ButtonsUpload.js +0 -125
  543. package/dist/upload/buttons-upload/drag-drop-icon.svg +0 -4
  544. package/dist/upload/buttons-upload/upload-button.svg +0 -1
  545. package/dist/upload/dragAndDropArea/DragAndDropArea.js +0 -295
  546. package/dist/upload/dragAndDropArea/upload_drop.svg +0 -4
  547. package/dist/upload/dragAndDropArea/upload_file.svg +0 -4
  548. package/dist/upload/file-upload/FileToUpload.js +0 -164
  549. package/dist/upload/file-upload/audio-icon.svg +0 -4
  550. package/dist/upload/file-upload/close.svg +0 -4
  551. package/dist/upload/file-upload/file-icon.svg +0 -4
  552. package/dist/upload/file-upload/video-icon.svg +0 -4
  553. package/dist/upload/files-upload/FilesToUpload.js +0 -125
  554. package/dist/upload/readme.md +0 -37
  555. package/dist/upload/transaction/Transaction.js +0 -154
  556. package/dist/upload/transaction/audio-icon-err.svg +0 -4
  557. package/dist/upload/transaction/audio-icon.svg +0 -4
  558. package/dist/upload/transaction/error-icon.svg +0 -4
  559. package/dist/upload/transaction/file-icon-err.svg +0 -4
  560. package/dist/upload/transaction/file-icon.svg +0 -4
  561. package/dist/upload/transaction/image-icon-err.svg +0 -4
  562. package/dist/upload/transaction/image-icon.svg +0 -4
  563. package/dist/upload/transaction/success-icon.svg +0 -4
  564. package/dist/upload/transaction/video-icon-err.svg +0 -4
  565. package/dist/upload/transaction/video-icon.svg +0 -4
  566. package/dist/upload/transactions/Transactions.js +0 -124
  567. package/dist/wizard/Wizard.js +0 -357
  568. package/dist/wizard/invalid_icon.svg +0 -6
  569. package/dist/wizard/valid_icon.svg +0 -6
  570. package/dist/wizard/validation-wrong.svg +0 -6
  571. package/test/Accordion.test.js +0 -33
  572. package/test/AccordionGroup.test.js +0 -109
  573. package/test/Alert.test.js +0 -53
  574. package/test/Box.test.js +0 -10
  575. package/test/Button.test.js +0 -18
  576. package/test/Card.test.js +0 -30
  577. package/test/Checkbox.test.js +0 -45
  578. package/test/Chip.test.js +0 -25
  579. package/test/Date.test.js +0 -393
  580. package/test/Dialog.test.js +0 -23
  581. package/test/Dropdown.test.js +0 -130
  582. package/test/Footer.test.js +0 -99
  583. package/test/Header.test.js +0 -39
  584. package/test/Heading.test.js +0 -35
  585. package/test/InputText.test.js +0 -240
  586. package/test/Link.test.js +0 -42
  587. package/test/Paginator.test.js +0 -177
  588. package/test/ProgressBar.test.js +0 -35
  589. package/test/Radio.test.js +0 -37
  590. package/test/ResultsetTable.test.js +0 -330
  591. package/test/Select.test.js +0 -192
  592. package/test/Sidenav.test.js +0 -45
  593. package/test/Slider.test.js +0 -82
  594. package/test/Spinner.test.js +0 -27
  595. package/test/Switch.test.js +0 -45
  596. package/test/Table.test.js +0 -36
  597. package/test/Tabs.test.js +0 -109
  598. package/test/TabsForSections.test.js +0 -34
  599. package/test/Tag.test.js +0 -32
  600. package/test/TextArea.test.js +0 -52
  601. package/test/ToggleGroup.test.js +0 -81
  602. package/test/Upload.test.js +0 -60
  603. package/test/Wizard.test.js +0 -130
  604. package/test/mocks/pngMock.js +0 -1
  605. package/test/mocks/svgMock.js +0 -1
@@ -0,0 +1,218 @@
1
+ import React from "react";
2
+ import { userEvent, within } from "@storybook/testing-library";
3
+ import DxcToggleGroup from "./ToggleGroup";
4
+ import Title from "../../.storybook/components/Title";
5
+ import ExampleContainer from "../../.storybook/components/ExampleContainer";
6
+ import { HalstackProvider } from "../HalstackContext";
7
+
8
+ export default {
9
+ title: "Toggle Group",
10
+ component: DxcToggleGroup,
11
+ };
12
+
13
+ const ethernetSVG = (
14
+ <svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
15
+ <path d="M0 0h24v24H0V0z" fill="none" />
16
+ <path d="M7.77 6.76L6.23 5.48.82 12l5.41 6.52 1.54-1.28L3.42 12l4.35-5.24zM7 13h2v-2H7v2zm10-2h-2v2h2v-2zm-6 2h2v-2h-2v2zm6.77-7.52l-1.54 1.28L20.58 12l-4.35 5.24 1.54 1.28L23.18 12l-5.41-6.52z" />
17
+ </svg>
18
+ );
19
+ const gMobileSVG = (
20
+ <svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
21
+ <g>
22
+ <path d="M0,0h24v24H0V0z" fill="none" />
23
+ </g>
24
+ <g>
25
+ <g>
26
+ <path d="M3,7v2h5v2H4v2h4v2H3v2h5c1.1,0,2-0.9,2-2v-1.5c0-0.83-0.67-1.5-1.5-1.5c0.83,0,1.5-0.67,1.5-1.5V9c0-1.1-0.9-2-2-2H3z M21,11v4c0,1.1-0.9,2-2,2h-5c-1.1,0-2-0.9-2-2V9c0-1.1,0.9-2,2-2h5c1.1,0,2,0.9,2,2h-7v6h5v-2h-2.5v-2H21z" />
27
+ </g>
28
+ </g>
29
+ </svg>
30
+ );
31
+ const wifiSVG = (
32
+ <svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
33
+ <path d="M0 0h24v24H0V0zm0 0h24v24H0V0z" fill="none" />
34
+ <path d="M1 9l2 2c4.97-4.97 13.03-4.97 18 0l2-2C16.93 2.93 7.08 2.93 1 9zm8 8l3 3 3-3c-1.65-1.66-4.34-1.66-6 0zm-4-4l2 2c2.76-2.76 7.24-2.76 10 0l2-2C15.14 9.14 8.87 9.14 5 13z" />
35
+ </svg>
36
+ );
37
+
38
+ const options = [
39
+ {
40
+ value: 1,
41
+ label: "Facebook",
42
+ },
43
+ {
44
+ value: 2,
45
+ label: "X",
46
+ },
47
+ {
48
+ value: 3,
49
+ label: "Linkedin",
50
+ },
51
+ ];
52
+ const optionsWithIcon = [
53
+ {
54
+ value: 1,
55
+ icon: "wifi",
56
+ title: "WiFi connection",
57
+ },
58
+ {
59
+ value: 2,
60
+ icon: "filled_lan",
61
+ title: "Ethernet connection",
62
+ },
63
+ {
64
+ value: 3,
65
+ icon: "5g",
66
+ title: "3G Mobile data connection",
67
+ },
68
+ ];
69
+ const optionsWithIconAndLabel = [
70
+ {
71
+ value: 1,
72
+ label: "Wi-fi",
73
+ icon: wifiSVG,
74
+ },
75
+ {
76
+ value: 2,
77
+ label: "Ethernet",
78
+ icon: ethernetSVG,
79
+ },
80
+ {
81
+ value: 3,
82
+ label: "3G Mobile",
83
+ icon: gMobileSVG,
84
+ },
85
+ ];
86
+ const twoOptions = [
87
+ {
88
+ value: 1,
89
+ label: "Facebook",
90
+ },
91
+ {
92
+ value: 2,
93
+ label: "X",
94
+ },
95
+ ];
96
+
97
+ const opinionatedTheme = {
98
+ toggleGroup: {
99
+ selectedBaseColor: "#5f249f",
100
+ selectedFontColor: "#ffffff",
101
+ unselectedBaseColor: "#e6e6e6",
102
+ unselectedFontColor: "#000000",
103
+ },
104
+ };
105
+
106
+ export const Chromatic = () => (
107
+ <>
108
+ <ExampleContainer>
109
+ <Title title="Basic toggle group" theme="light" level={4} />
110
+ <DxcToggleGroup label="Toggle group" helperText="HelperText" options={options} />
111
+ </ExampleContainer>
112
+ <ExampleContainer>
113
+ <Title title="Selected" theme="light" level={4} />
114
+ <DxcToggleGroup label="Selected" helperText="HelperText" defaultValue={2} options={options} />
115
+ </ExampleContainer>
116
+ <ExampleContainer>
117
+ <Title title="Icons toggle group" theme="light" level={4} />
118
+ <DxcToggleGroup label="Icons group" options={optionsWithIcon} />
119
+ </ExampleContainer>
120
+ <ExampleContainer>
121
+ <Title title="Icons & label toggle group" theme="light" level={4} />
122
+ <DxcToggleGroup label="Icons & label" options={optionsWithIconAndLabel} />
123
+ </ExampleContainer>
124
+ <ExampleContainer>
125
+ <Title title="Disabled" theme="light" level={4} />
126
+ <DxcToggleGroup label="Disabled" defaultValue={2} options={options} disabled />
127
+ </ExampleContainer>
128
+ <ExampleContainer pseudoState="pseudo-hover">
129
+ <Title title="Hovered" theme="light" level={4} />
130
+ <DxcToggleGroup label="Hovered" options={twoOptions} defaultValue={2} />
131
+ </ExampleContainer>
132
+ <ExampleContainer>
133
+ <Title title="Multiple toggleGroup" theme="light" level={4} />
134
+ <DxcToggleGroup
135
+ label="Toggle group"
136
+ helperText="Please select one or more"
137
+ options={options}
138
+ defaultValue={[1, 3]}
139
+ multiple
140
+ ></DxcToggleGroup>
141
+ </ExampleContainer>
142
+ <Title title="Margins" theme="light" level={2} />
143
+ <ExampleContainer>
144
+ <Title title="xxSmall" theme="light" level={4} />
145
+ <DxcToggleGroup label="xxSmall margin" options={options} margin="xxsmall" />
146
+ </ExampleContainer>
147
+ <ExampleContainer>
148
+ <Title title="xSmall" theme="light" level={4} />
149
+ <DxcToggleGroup label="xSmall margin" options={options} margin="xsmall" />
150
+ </ExampleContainer>
151
+ <ExampleContainer>
152
+ <Title title="Small" theme="light" level={4} />
153
+ <DxcToggleGroup label="Small margin" options={options} margin="small" />
154
+ </ExampleContainer>
155
+ <ExampleContainer>
156
+ <Title title="Medium" theme="light" level={4} />
157
+ <DxcToggleGroup label="Medium margin" options={options} margin="medium" />
158
+ </ExampleContainer>
159
+ <ExampleContainer>
160
+ <Title title="Large" theme="light" level={4} />
161
+ <DxcToggleGroup label="Large margin" options={options} margin="large" />
162
+ </ExampleContainer>
163
+ <ExampleContainer>
164
+ <Title title="xLarge" theme="light" level={4} />
165
+ <DxcToggleGroup label="xLarge margin" options={options} margin="xlarge" />
166
+ </ExampleContainer>
167
+ <ExampleContainer>
168
+ <Title title="xxLarge" theme="light" level={4} />
169
+ <DxcToggleGroup label="xxLarge margin" options={options} margin="xxlarge" />
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>
202
+ </>
203
+ );
204
+ const OptionSelected = () => <DxcToggleGroup label="Toggle group" helperText="HelperText" options={options} />;
205
+
206
+ export const ToggleGroupSelectedActived = OptionSelected.bind({});
207
+ ToggleGroupSelectedActived.play = async ({ canvasElement }) => {
208
+ const canvas = within(canvasElement);
209
+ const option = canvas.getByText("Linkedin");
210
+ await userEvent.click(option);
211
+ };
212
+ export const ToggleGroupUnselectedActived = OptionSelected.bind({});
213
+ ToggleGroupUnselectedActived.play = async ({ canvasElement }) => {
214
+ const canvas = within(canvasElement);
215
+ const option = canvas.getByText("X");
216
+ await userEvent.click(option);
217
+ userEvent.tab();
218
+ };
@@ -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.tsx"));
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
+ });
@@ -0,0 +1,114 @@
1
+ /// <reference types="react" />
2
+ type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
3
+ type Margin = {
4
+ top?: Space;
5
+ bottom?: Space;
6
+ left?: Space;
7
+ right?: Space;
8
+ };
9
+ type SVG = React.ReactNode & React.SVGProps<SVGSVGElement>;
10
+ type OptionIcon = {
11
+ /**
12
+ * String with the option display value.
13
+ */
14
+ label?: never;
15
+ /**
16
+ * Material Symbols icon or SVG element. Icon and label can't be used at same time.
17
+ */
18
+ icon: string | SVG;
19
+ /**
20
+ * Value for the HTML properties title and aria-label.
21
+ * When a label is defined, this prop can not be use.
22
+ */
23
+ title: string;
24
+ };
25
+ export type OptionLabel = {
26
+ /**
27
+ * String with the option display value.
28
+ */
29
+ label: string;
30
+ /**
31
+ * Material Symbols icon or SVG element. Icon and label can't be used at same time.
32
+ */
33
+ icon?: string | SVG;
34
+ /**
35
+ * Value for the HTML properties title and aria-label.
36
+ * When a label is defined, this prop can not be use.
37
+ */
38
+ title?: never;
39
+ };
40
+ type Option = {
41
+ /**
42
+ * Number with the option inner value.
43
+ */
44
+ value: number;
45
+ } & (OptionIcon | OptionLabel);
46
+ type CommonProps = {
47
+ /**
48
+ * Text to be placed above the component.
49
+ */
50
+ label?: string;
51
+ /**
52
+ * Helper text to be placed above the component.
53
+ */
54
+ helperText?: string;
55
+ /**
56
+ * If true, the component will be disabled.
57
+ */
58
+ disabled?: boolean;
59
+ /**
60
+ * An array of objects representing the selectable options.
61
+ */
62
+ options: Option[];
63
+ /**
64
+ * Size of the margin to be applied to the component ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
65
+ * You can pass an object with 'top', 'bottom', 'left' and 'right' properties in order to specify different margin sizes.
66
+ */
67
+ margin?: Space | Margin;
68
+ /**
69
+ * Value of the tabindex.
70
+ */
71
+ tabIndex?: number;
72
+ };
73
+ type SingleSelectionToggleGroup = CommonProps & {
74
+ /**
75
+ * If true, the toggle group will support multiple selection. In that case, value must be an array of numbers with the keys of the selected values.
76
+ */
77
+ multiple?: false;
78
+ /**
79
+ * The key of the initially selected value.
80
+ */
81
+ defaultValue?: number;
82
+ /**
83
+ * The key of the selected value. If the component allows multiple selection, value must be an array.
84
+ * If undefined, the component will be uncontrolled and the value will be managed internally by the component.
85
+ */
86
+ value?: number;
87
+ /**
88
+ * This function will be called every time the selection changes. The number with the key of the selected
89
+ * value will be passed as a parameter to this function.
90
+ */
91
+ onChange?: (optionIndex: number) => void;
92
+ };
93
+ type MultipleSelectionToggleGroup = CommonProps & {
94
+ /**
95
+ * If true, the toggle group will support multiple selection. In that case, value must be an array of numbers with the keys of the selected values.
96
+ */
97
+ multiple: true;
98
+ /**
99
+ * The array of keys with the initially selected values.
100
+ */
101
+ defaultValue?: number[];
102
+ /**
103
+ * An array with the keys of the selected values.
104
+ * If undefined, the component will be uncontrolled and the value will be managed internally by the component.
105
+ */
106
+ value?: number[];
107
+ /**
108
+ * This function will be called every time the selection changes. An array with the key of
109
+ * the selected values will be passed as a parameter to this function.
110
+ */
111
+ onChange?: (optionIndex: number[]) => void;
112
+ };
113
+ type Props = SingleSelectionToggleGroup | MultipleSelectionToggleGroup;
114
+ export default Props;
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });