@dxc-technology/halstack-react 0.0.0-d3554d7 → 0.0.0-d3624d0

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 (421) hide show
  1. package/BackgroundColorContext.d.ts +1 -10
  2. package/BackgroundColorContext.js +5 -22
  3. package/HalstackContext.d.ts +1246 -0
  4. package/HalstackContext.js +310 -0
  5. package/README.md +47 -0
  6. package/accordion/Accordion.accessibility.test.js +71 -0
  7. package/accordion/Accordion.d.ts +1 -1
  8. package/accordion/Accordion.js +105 -181
  9. package/accordion/Accordion.stories.tsx +83 -149
  10. package/accordion/Accordion.test.js +32 -33
  11. package/accordion/types.d.ts +10 -17
  12. package/accordion-group/AccordionGroup.accessibility.test.js +88 -0
  13. package/accordion-group/AccordionGroup.d.ts +3 -3
  14. package/accordion-group/AccordionGroup.js +38 -107
  15. package/accordion-group/AccordionGroup.stories.tsx +95 -68
  16. package/accordion-group/AccordionGroup.test.js +55 -90
  17. package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
  18. package/accordion-group/AccordionGroupAccordion.js +31 -0
  19. package/accordion-group/AccordionGroupContext.d.ts +3 -0
  20. package/accordion-group/AccordionGroupContext.js +8 -0
  21. package/accordion-group/types.d.ts +16 -17
  22. package/action-icon/ActionIcon.accessibility.test.js +63 -0
  23. package/action-icon/ActionIcon.d.ts +4 -0
  24. package/action-icon/ActionIcon.js +48 -0
  25. package/action-icon/ActionIcon.stories.tsx +41 -0
  26. package/action-icon/ActionIcon.test.js +64 -0
  27. package/action-icon/types.d.ts +26 -0
  28. package/alert/Alert.accessibility.test.js +95 -0
  29. package/alert/Alert.js +40 -127
  30. package/alert/Alert.stories.tsx +28 -0
  31. package/alert/Alert.test.js +29 -46
  32. package/alert/types.d.ts +5 -5
  33. package/badge/Badge.accessibility.test.js +129 -0
  34. package/badge/Badge.d.ts +1 -1
  35. package/badge/Badge.js +142 -40
  36. package/badge/Badge.stories.tsx +210 -0
  37. package/badge/Badge.test.js +30 -0
  38. package/badge/types.d.ts +52 -2
  39. package/bleed/Bleed.js +14 -55
  40. package/bleed/Bleed.stories.tsx +95 -95
  41. package/bleed/types.d.ts +26 -2
  42. package/box/Box.accessibility.test.js +33 -0
  43. package/box/Box.d.ts +1 -1
  44. package/box/Box.js +30 -81
  45. package/box/Box.stories.tsx +38 -51
  46. package/box/Box.test.js +2 -7
  47. package/box/types.d.ts +3 -14
  48. package/breadcrumbs/Breadcrumbs.accessibility.test.d.ts +1 -0
  49. package/breadcrumbs/Breadcrumbs.accessibility.test.js +96 -0
  50. package/breadcrumbs/Breadcrumbs.d.ts +4 -0
  51. package/breadcrumbs/Breadcrumbs.js +79 -0
  52. package/breadcrumbs/Breadcrumbs.stories.tsx +194 -0
  53. package/breadcrumbs/Breadcrumbs.test.d.ts +1 -0
  54. package/breadcrumbs/Breadcrumbs.test.js +169 -0
  55. package/breadcrumbs/Item.d.ts +4 -0
  56. package/breadcrumbs/Item.js +52 -0
  57. package/breadcrumbs/dropdownTheme.d.ts +53 -0
  58. package/breadcrumbs/dropdownTheme.js +62 -0
  59. package/breadcrumbs/types.d.ts +16 -0
  60. package/bulleted-list/BulletedList.accessibility.test.js +119 -0
  61. package/bulleted-list/BulletedList.d.ts +7 -0
  62. package/bulleted-list/BulletedList.js +92 -0
  63. package/bulleted-list/BulletedList.stories.tsx +115 -0
  64. package/bulleted-list/types.d.ts +38 -0
  65. package/button/Button.accessibility.test.js +127 -0
  66. package/button/Button.d.ts +1 -1
  67. package/button/Button.js +63 -113
  68. package/button/Button.stories.tsx +151 -100
  69. package/button/Button.test.js +20 -17
  70. package/button/types.d.ts +12 -8
  71. package/card/Card.accessibility.test.js +36 -0
  72. package/card/Card.d.ts +1 -1
  73. package/card/Card.js +59 -102
  74. package/card/Card.stories.tsx +12 -42
  75. package/card/Card.test.js +11 -22
  76. package/card/types.d.ts +6 -11
  77. package/checkbox/Checkbox.accessibility.test.js +87 -0
  78. package/checkbox/Checkbox.d.ts +2 -2
  79. package/checkbox/Checkbox.js +143 -181
  80. package/checkbox/Checkbox.stories.tsx +166 -136
  81. package/checkbox/Checkbox.test.js +163 -29
  82. package/checkbox/types.d.ts +18 -6
  83. package/chip/Chip.accessibility.test.js +67 -0
  84. package/chip/Chip.js +45 -80
  85. package/chip/Chip.stories.tsx +107 -27
  86. package/chip/Chip.test.js +18 -33
  87. package/chip/types.d.ts +4 -4
  88. package/common/coreTokens.d.ts +237 -0
  89. package/common/coreTokens.js +184 -0
  90. package/common/utils.d.ts +1 -0
  91. package/common/utils.js +6 -12
  92. package/common/variables.d.ts +1392 -0
  93. package/common/variables.js +1081 -1190
  94. package/container/Container.d.ts +4 -0
  95. package/container/Container.js +194 -0
  96. package/container/Container.stories.tsx +214 -0
  97. package/container/types.d.ts +74 -0
  98. package/contextual-menu/ContextualMenu.accessibility.test.js +97 -0
  99. package/contextual-menu/ContextualMenu.d.ts +5 -0
  100. package/contextual-menu/ContextualMenu.js +88 -0
  101. package/contextual-menu/ContextualMenu.stories.tsx +232 -0
  102. package/contextual-menu/ContextualMenu.test.js +205 -0
  103. package/contextual-menu/GroupItem.d.ts +4 -0
  104. package/contextual-menu/GroupItem.js +67 -0
  105. package/contextual-menu/ItemAction.d.ts +4 -0
  106. package/contextual-menu/ItemAction.js +51 -0
  107. package/contextual-menu/MenuItem.d.ts +4 -0
  108. package/contextual-menu/MenuItem.js +29 -0
  109. package/contextual-menu/SingleItem.d.ts +4 -0
  110. package/contextual-menu/SingleItem.js +38 -0
  111. package/contextual-menu/types.d.ts +58 -0
  112. package/date-input/Calendar.d.ts +4 -0
  113. package/date-input/Calendar.js +214 -0
  114. package/date-input/DateInput.accessibility.test.js +228 -0
  115. package/date-input/DateInput.js +170 -306
  116. package/date-input/DateInput.stories.tsx +210 -56
  117. package/date-input/DateInput.test.js +708 -369
  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 +86 -22
  123. package/dialog/Dialog.accessibility.test.js +69 -0
  124. package/dialog/Dialog.d.ts +1 -1
  125. package/dialog/Dialog.js +56 -129
  126. package/dialog/Dialog.stories.tsx +326 -167
  127. package/dialog/Dialog.test.js +287 -20
  128. package/dialog/types.d.ts +18 -25
  129. package/divider/Divider.accessibility.test.js +33 -0
  130. package/divider/Divider.d.ts +4 -0
  131. package/divider/Divider.js +36 -0
  132. package/divider/Divider.stories.tsx +223 -0
  133. package/divider/Divider.test.js +38 -0
  134. package/divider/types.d.ts +21 -0
  135. package/dropdown/Dropdown.accessibility.test.js +180 -0
  136. package/dropdown/Dropdown.d.ts +1 -1
  137. package/dropdown/Dropdown.js +233 -307
  138. package/dropdown/Dropdown.stories.tsx +235 -57
  139. package/dropdown/Dropdown.test.js +575 -165
  140. package/dropdown/DropdownMenu.d.ts +4 -0
  141. package/dropdown/DropdownMenu.js +63 -0
  142. package/dropdown/DropdownMenuItem.d.ts +4 -0
  143. package/dropdown/DropdownMenuItem.js +71 -0
  144. package/dropdown/types.d.ts +35 -19
  145. package/file-input/FileInput.accessibility.test.js +160 -0
  146. package/file-input/FileInput.d.ts +2 -2
  147. package/file-input/FileInput.js +246 -393
  148. package/file-input/FileInput.stories.tsx +123 -12
  149. package/file-input/FileInput.test.js +292 -367
  150. package/file-input/FileItem.d.ts +4 -14
  151. package/file-input/FileItem.js +61 -120
  152. package/file-input/types.d.ts +25 -8
  153. package/flex/Flex.d.ts +4 -0
  154. package/flex/Flex.js +57 -0
  155. package/flex/Flex.stories.tsx +112 -0
  156. package/flex/types.d.ts +97 -0
  157. package/flex/types.js +5 -0
  158. package/footer/Footer.accessibility.test.js +125 -0
  159. package/footer/Footer.d.ts +1 -1
  160. package/footer/Footer.js +73 -191
  161. package/footer/Footer.stories.tsx +99 -21
  162. package/footer/Footer.test.js +33 -57
  163. package/footer/Icons.d.ts +3 -2
  164. package/footer/Icons.js +54 -23
  165. package/footer/types.d.ts +26 -27
  166. package/grid/Grid.d.ts +7 -0
  167. package/grid/Grid.js +76 -0
  168. package/grid/Grid.stories.tsx +219 -0
  169. package/grid/types.d.ts +115 -0
  170. package/grid/types.js +5 -0
  171. package/header/Header.accessibility.test.js +93 -0
  172. package/header/Header.d.ts +4 -3
  173. package/header/Header.js +104 -218
  174. package/header/Header.stories.tsx +168 -63
  175. package/header/Header.test.js +31 -28
  176. package/header/Icons.d.ts +2 -2
  177. package/header/Icons.js +5 -15
  178. package/header/types.d.ts +7 -21
  179. package/heading/Heading.accessibility.test.js +33 -0
  180. package/heading/Heading.js +10 -32
  181. package/heading/Heading.test.js +71 -88
  182. package/heading/types.d.ts +7 -7
  183. package/icon/Icon.accessibility.test.js +30 -0
  184. package/icon/Icon.d.ts +4 -0
  185. package/icon/Icon.js +33 -0
  186. package/icon/Icon.stories.tsx +28 -0
  187. package/icon/types.d.ts +4 -0
  188. package/icon/types.js +5 -0
  189. package/image/Image.accessibility.test.js +56 -0
  190. package/image/Image.d.ts +4 -0
  191. package/image/Image.js +70 -0
  192. package/image/Image.stories.tsx +129 -0
  193. package/image/types.d.ts +72 -0
  194. package/image/types.js +5 -0
  195. package/inset/Inset.js +14 -55
  196. package/inset/Inset.stories.tsx +37 -36
  197. package/inset/types.d.ts +26 -2
  198. package/layout/ApplicationLayout.d.ts +16 -6
  199. package/layout/ApplicationLayout.js +88 -182
  200. package/layout/ApplicationLayout.stories.tsx +85 -94
  201. package/layout/Icons.d.ts +7 -0
  202. package/layout/Icons.js +41 -48
  203. package/layout/types.d.ts +19 -35
  204. package/link/Link.accessibility.test.js +108 -0
  205. package/link/Link.d.ts +3 -2
  206. package/link/Link.js +65 -101
  207. package/link/Link.stories.tsx +157 -55
  208. package/link/Link.test.js +25 -53
  209. package/link/types.d.ts +15 -31
  210. package/main.d.ts +17 -13
  211. package/main.js +86 -101
  212. package/nav-tabs/NavTabs.accessibility.test.js +44 -0
  213. package/nav-tabs/NavTabs.d.ts +7 -0
  214. package/nav-tabs/NavTabs.js +93 -0
  215. package/nav-tabs/NavTabs.stories.tsx +279 -0
  216. package/nav-tabs/NavTabs.test.js +77 -0
  217. package/nav-tabs/NavTabsContext.d.ts +3 -0
  218. package/nav-tabs/NavTabsContext.js +8 -0
  219. package/nav-tabs/Tab.d.ts +4 -0
  220. package/nav-tabs/Tab.js +117 -0
  221. package/nav-tabs/types.d.ts +52 -0
  222. package/nav-tabs/types.js +5 -0
  223. package/number-input/NumberInput.accessibility.test.js +228 -0
  224. package/number-input/NumberInput.js +47 -44
  225. package/number-input/NumberInput.stories.tsx +44 -28
  226. package/number-input/NumberInput.test.js +862 -381
  227. package/number-input/NumberInputContext.d.ts +3 -4
  228. package/number-input/NumberInputContext.js +3 -14
  229. package/number-input/types.d.ts +34 -15
  230. package/package.json +54 -53
  231. package/paginator/Paginator.accessibility.test.js +79 -0
  232. package/paginator/Paginator.js +46 -100
  233. package/paginator/Paginator.stories.tsx +24 -0
  234. package/paginator/Paginator.test.js +280 -211
  235. package/paginator/types.d.ts +3 -3
  236. package/paragraph/Paragraph.accessibility.test.js +28 -0
  237. package/paragraph/Paragraph.d.ts +5 -0
  238. package/paragraph/Paragraph.js +22 -0
  239. package/paragraph/Paragraph.stories.tsx +27 -0
  240. package/password-input/PasswordInput.accessibility.test.js +153 -0
  241. package/password-input/PasswordInput.js +58 -124
  242. package/password-input/PasswordInput.stories.tsx +1 -33
  243. package/password-input/PasswordInput.test.js +162 -147
  244. package/password-input/types.d.ts +21 -17
  245. package/progress-bar/ProgressBar.accessibility.test.js +35 -0
  246. package/progress-bar/ProgressBar.js +68 -92
  247. package/progress-bar/ProgressBar.stories.tsx +93 -0
  248. package/progress-bar/ProgressBar.test.js +72 -44
  249. package/progress-bar/types.d.ts +3 -3
  250. package/quick-nav/QuickNav.accessibility.test.js +57 -0
  251. package/quick-nav/QuickNav.d.ts +4 -0
  252. package/quick-nav/QuickNav.js +94 -0
  253. package/quick-nav/QuickNav.stories.tsx +356 -0
  254. package/quick-nav/types.d.ts +21 -0
  255. package/quick-nav/types.js +5 -0
  256. package/radio-group/Radio.d.ts +1 -1
  257. package/radio-group/Radio.js +59 -76
  258. package/radio-group/RadioGroup.accessibility.test.js +97 -0
  259. package/radio-group/RadioGroup.js +73 -116
  260. package/radio-group/RadioGroup.stories.tsx +135 -17
  261. package/radio-group/RadioGroup.test.js +529 -467
  262. package/radio-group/types.d.ts +86 -9
  263. package/resultset-table/Icons.d.ts +7 -0
  264. package/resultset-table/Icons.js +47 -0
  265. package/resultset-table/ResultsetTable.accessibility.test.js +285 -0
  266. package/resultset-table/ResultsetTable.d.ts +7 -0
  267. package/resultset-table/ResultsetTable.js +171 -0
  268. package/{resultsetTable → resultset-table}/ResultsetTable.stories.tsx +168 -30
  269. package/resultset-table/ResultsetTable.test.js +381 -0
  270. package/{resultsetTable → resultset-table}/types.d.ts +44 -11
  271. package/resultset-table/types.js +5 -0
  272. package/select/Listbox.d.ts +4 -0
  273. package/select/Listbox.js +155 -0
  274. package/select/Option.d.ts +4 -0
  275. package/select/Option.js +89 -0
  276. package/select/Select.accessibility.test.js +228 -0
  277. package/select/Select.js +237 -504
  278. package/select/Select.stories.tsx +533 -196
  279. package/select/Select.test.js +1953 -1588
  280. package/select/types.d.ts +65 -26
  281. package/sidenav/Sidenav.accessibility.test.js +59 -0
  282. package/sidenav/Sidenav.d.ts +6 -5
  283. package/sidenav/Sidenav.js +136 -71
  284. package/sidenav/Sidenav.stories.tsx +246 -151
  285. package/sidenav/Sidenav.test.js +26 -45
  286. package/sidenav/SidenavContext.d.ts +5 -0
  287. package/sidenav/SidenavContext.js +13 -0
  288. package/sidenav/types.d.ts +52 -26
  289. package/slider/Slider.accessibility.test.js +104 -0
  290. package/slider/Slider.d.ts +2 -2
  291. package/slider/Slider.js +149 -180
  292. package/slider/Slider.test.js +198 -73
  293. package/slider/types.d.ts +11 -3
  294. package/spinner/Spinner.accessibility.test.js +96 -0
  295. package/spinner/Spinner.js +34 -74
  296. package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +53 -27
  297. package/spinner/Spinner.test.js +26 -35
  298. package/spinner/types.d.ts +3 -3
  299. package/status-light/StatusLight.accessibility.test.js +157 -0
  300. package/status-light/StatusLight.d.ts +4 -0
  301. package/status-light/StatusLight.js +51 -0
  302. package/status-light/StatusLight.stories.tsx +74 -0
  303. package/status-light/StatusLight.test.js +25 -0
  304. package/status-light/types.d.ts +17 -0
  305. package/status-light/types.js +5 -0
  306. package/switch/Switch.accessibility.test.js +98 -0
  307. package/switch/Switch.d.ts +2 -2
  308. package/switch/Switch.js +149 -114
  309. package/switch/Switch.stories.tsx +56 -67
  310. package/switch/Switch.test.js +146 -39
  311. package/switch/types.d.ts +13 -5
  312. package/table/DropdownTheme.js +62 -0
  313. package/table/Table.accessibility.test.js +93 -0
  314. package/table/Table.d.ts +6 -2
  315. package/table/Table.js +78 -35
  316. package/table/Table.stories.tsx +663 -0
  317. package/table/Table.test.js +95 -8
  318. package/table/types.d.ts +34 -6
  319. package/tabs/Tab.d.ts +4 -0
  320. package/tabs/Tab.js +117 -0
  321. package/tabs/Tabs.accessibility.test.js +56 -0
  322. package/tabs/Tabs.d.ts +1 -1
  323. package/tabs/Tabs.js +305 -145
  324. package/tabs/Tabs.stories.tsx +124 -14
  325. package/tabs/Tabs.test.js +220 -67
  326. package/tabs/types.d.ts +31 -17
  327. package/tag/Tag.accessibility.test.js +69 -0
  328. package/tag/Tag.js +42 -79
  329. package/tag/Tag.stories.tsx +24 -10
  330. package/tag/Tag.test.js +18 -37
  331. package/tag/types.d.ts +9 -9
  332. package/text-input/Suggestion.d.ts +4 -0
  333. package/text-input/Suggestion.js +67 -0
  334. package/text-input/Suggestions.d.ts +4 -0
  335. package/text-input/Suggestions.js +94 -0
  336. package/text-input/TextInput.accessibility.test.js +321 -0
  337. package/text-input/TextInput.js +332 -557
  338. package/text-input/TextInput.stories.tsx +282 -282
  339. package/text-input/TextInput.test.js +1442 -1377
  340. package/text-input/types.d.ts +70 -24
  341. package/textarea/Textarea.accessibility.test.js +155 -0
  342. package/textarea/Textarea.js +83 -134
  343. package/textarea/Textarea.stories.tsx +174 -0
  344. package/textarea/Textarea.test.js +168 -198
  345. package/textarea/types.d.ts +27 -16
  346. package/toggle-group/ToggleGroup.accessibility.test.js +107 -0
  347. package/toggle-group/ToggleGroup.d.ts +2 -2
  348. package/toggle-group/ToggleGroup.js +94 -106
  349. package/toggle-group/ToggleGroup.stories.tsx +56 -11
  350. package/toggle-group/ToggleGroup.test.js +78 -66
  351. package/toggle-group/types.d.ts +36 -19
  352. package/typography/Typography.accessibility.test.js +339 -0
  353. package/typography/Typography.d.ts +4 -0
  354. package/typography/Typography.js +23 -0
  355. package/typography/Typography.stories.tsx +198 -0
  356. package/typography/types.d.ts +18 -0
  357. package/typography/types.js +5 -0
  358. package/useTheme.d.ts +1144 -1
  359. package/useTheme.js +4 -11
  360. package/useTranslatedLabels.d.ts +85 -0
  361. package/useTranslatedLabels.js +14 -0
  362. package/utils/BaseTypography.d.ts +21 -0
  363. package/utils/BaseTypography.js +94 -0
  364. package/utils/FocusLock.d.ts +13 -0
  365. package/utils/FocusLock.js +124 -0
  366. package/wizard/Wizard.accessibility.test.js +55 -0
  367. package/wizard/Wizard.d.ts +1 -1
  368. package/wizard/Wizard.js +78 -120
  369. package/wizard/Wizard.stories.tsx +67 -19
  370. package/wizard/Wizard.test.js +73 -87
  371. package/wizard/types.d.ts +14 -10
  372. package/ThemeContext.d.ts +0 -10
  373. package/ThemeContext.js +0 -243
  374. package/card/ice-cream.jpg +0 -0
  375. package/common/OpenSans.css +0 -81
  376. package/common/RequiredComponent.js +0 -32
  377. package/common/fonts/OpenSans-Bold.ttf +0 -0
  378. package/common/fonts/OpenSans-BoldItalic.ttf +0 -0
  379. package/common/fonts/OpenSans-ExtraBold.ttf +0 -0
  380. package/common/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  381. package/common/fonts/OpenSans-Italic.ttf +0 -0
  382. package/common/fonts/OpenSans-Light.ttf +0 -0
  383. package/common/fonts/OpenSans-LightItalic.ttf +0 -0
  384. package/common/fonts/OpenSans-Regular.ttf +0 -0
  385. package/common/fonts/OpenSans-SemiBold.ttf +0 -0
  386. package/common/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  387. package/list/List.d.ts +0 -4
  388. package/list/List.js +0 -47
  389. package/list/List.stories.tsx +0 -95
  390. package/list/types.d.ts +0 -7
  391. package/number-input/numberInputContextTypes.d.ts +0 -19
  392. package/paginator/Icons.js +0 -66
  393. package/progress-bar/ProgressBar.stories.jsx +0 -58
  394. package/radio/Radio.d.ts +0 -4
  395. package/radio/Radio.js +0 -174
  396. package/radio/Radio.stories.tsx +0 -192
  397. package/radio/Radio.test.js +0 -71
  398. package/radio/types.d.ts +0 -54
  399. package/resultsetTable/ResultsetTable.d.ts +0 -4
  400. package/resultsetTable/ResultsetTable.js +0 -254
  401. package/resultsetTable/ResultsetTable.test.js +0 -306
  402. package/row/Row.d.ts +0 -3
  403. package/row/Row.js +0 -127
  404. package/row/Row.stories.tsx +0 -237
  405. package/row/types.d.ts +0 -10
  406. package/slider/Slider.stories.tsx +0 -177
  407. package/stack/Stack.d.ts +0 -3
  408. package/stack/Stack.js +0 -97
  409. package/stack/Stack.stories.tsx +0 -164
  410. package/stack/types.d.ts +0 -9
  411. package/table/Table.stories.jsx +0 -277
  412. package/text/Text.d.ts +0 -7
  413. package/text/Text.js +0 -30
  414. package/text/Text.stories.tsx +0 -19
  415. package/textarea/Textarea.stories.jsx +0 -157
  416. /package/{list → action-icon}/types.js +0 -0
  417. /package/{radio → breadcrumbs}/types.js +0 -0
  418. /package/{resultsetTable → bulleted-list}/types.js +0 -0
  419. /package/{row → container}/types.js +0 -0
  420. /package/{stack → contextual-menu}/types.js +0 -0
  421. /package/{number-input/numberInputContextTypes.js → divider/types.js} +0 -0
@@ -1,38 +1,108 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
4
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
5
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
5
6
  var _react = _interopRequireDefault(require("react"));
6
-
7
7
  var _react2 = require("@testing-library/react");
8
-
9
- var _Slider = _interopRequireDefault(require("./Slider"));
10
-
8
+ var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
9
+ var _Slider = _interopRequireDefault(require("./Slider.tsx"));
10
+ // Mocking DOMRect for Radix Primitive Popover
11
+ global.globalThis = global;
12
+ global.DOMRect = {
13
+ fromRect: function fromRect() {
14
+ return {
15
+ top: 0,
16
+ left: 0,
17
+ bottom: 0,
18
+ right: 0,
19
+ width: 0,
20
+ height: 0
21
+ };
22
+ }
23
+ };
24
+ global.ResizeObserver = /*#__PURE__*/function () {
25
+ function ResizeObserver() {
26
+ (0, _classCallCheck2["default"])(this, ResizeObserver);
27
+ }
28
+ (0, _createClass2["default"])(ResizeObserver, [{
29
+ key: "observe",
30
+ value: function observe() {}
31
+ }, {
32
+ key: "unobserve",
33
+ value: function unobserve() {}
34
+ }, {
35
+ key: "disconnect",
36
+ value: function disconnect() {}
37
+ }]);
38
+ return ResizeObserver;
39
+ }();
11
40
  describe("Slider component tests", function () {
12
- test("Slider renders with correct text", function () {
41
+ test("Slider renders with correct text and label id", function () {
13
42
  var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Slider["default"], {
14
- minValue: 0,
15
- maxValue: 100,
16
- showLimitsValues: true
17
- })),
18
- getByText = _render.getByText;
19
-
43
+ label: "label",
44
+ minValue: 0,
45
+ maxValue: 100,
46
+ showLimitsValues: true
47
+ })),
48
+ getByText = _render.getByText,
49
+ getByRole = _render.getByRole;
20
50
  expect(getByText("0")).toBeTruthy();
21
51
  expect(getByText("100")).toBeTruthy();
52
+ var sliderId = getByText("label").getAttribute("id");
53
+ expect(getByRole("slider").getAttribute("aria-labelledby")).toBe(sliderId);
54
+ expect(getByRole("slider").getAttribute("aria-orientation")).toBe("horizontal");
55
+ });
56
+ test("Slider renders with correct initial value when it is uncontrolled", function () {
57
+ var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Slider["default"], {
58
+ defaultValue: 30,
59
+ minValue: 0,
60
+ maxValue: 100,
61
+ showLimitsValues: true,
62
+ showInput: true
63
+ })),
64
+ getByRole = _render2.getByRole;
65
+ var slider = getByRole("slider");
66
+ var input = getByRole("textbox");
67
+ expect(slider.getAttribute("aria-valuenow")).toBe("30");
68
+ expect(input.value).toBe("30");
69
+ });
70
+ test("Slider correct limit values", function () {
71
+ var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Slider["default"], {
72
+ defaultValue: 125,
73
+ minValue: 30,
74
+ maxValue: 125,
75
+ showLimitsValues: true
76
+ })),
77
+ getByRole = _render3.getByRole,
78
+ getByText = _render3.getByText;
79
+ var slider = getByRole("slider");
80
+ expect(slider.getAttribute("aria-valuemin")).toBe("30");
81
+ expect(slider.getAttribute("aria-valuemax")).toBe("125");
82
+ _userEvent["default"].tab();
83
+ _react2.fireEvent.keyDown(slider, {
84
+ key: "ArrowRight",
85
+ code: "ArrowRight",
86
+ keyCode: 39,
87
+ charCode: 39
88
+ });
89
+ expect(slider.getAttribute("aria-valuenow")).toBe("125");
90
+ expect(getByText("30")).toBeTruthy();
91
+ expect(getByText("125")).toBeTruthy();
22
92
  });
23
93
  test("Calls correct function onChange in controlled slider", function () {
24
94
  var onChange = jest.fn();
25
-
26
- var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Slider["default"], {
27
- minValue: 0,
28
- maxValue: 100,
29
- onChange: onChange,
30
- showLimitsValues: true,
31
- value: 13,
32
- showInput: true
33
- })),
34
- getByRole = _render2.getByRole;
35
-
95
+ var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Slider["default"], {
96
+ minValue: 0,
97
+ maxValue: 100,
98
+ onChange: onChange,
99
+ showLimitsValues: true,
100
+ value: 13,
101
+ showInput: true
102
+ })),
103
+ getByRole = _render4.getByRole;
104
+ expect(getByRole("slider").getAttribute("aria-valuenow")).toBe("13");
105
+ expect(getByRole("textbox").value).toBe("13");
36
106
  (0, _react2.act)(function () {
37
107
  _react2.fireEvent.change(getByRole("textbox"), {
38
108
  target: {
@@ -41,19 +111,19 @@ describe("Slider component tests", function () {
41
111
  });
42
112
  });
43
113
  expect(onChange).toHaveBeenCalledWith(25);
114
+ expect(getByRole("slider").getAttribute("aria-valuenow")).toBe("13");
115
+ expect(getByRole("textbox").value).toBe("13");
44
116
  });
45
117
  test("Calls correct function onChange in uncontrolled slider", function () {
46
118
  var onChange = jest.fn();
47
-
48
- var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Slider["default"], {
49
- minValue: 0,
50
- maxValue: 100,
51
- onChange: onChange,
52
- showLimitsValues: true,
53
- showInput: true
54
- })),
55
- getByRole = _render3.getByRole;
56
-
119
+ var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Slider["default"], {
120
+ minValue: 0,
121
+ maxValue: 100,
122
+ onChange: onChange,
123
+ showLimitsValues: true,
124
+ showInput: true
125
+ })),
126
+ getByRole = _render5.getByRole;
57
127
  (0, _react2.act)(function () {
58
128
  _react2.fireEvent.change(getByRole("textbox"), {
59
129
  target: {
@@ -62,21 +132,21 @@ describe("Slider component tests", function () {
62
132
  });
63
133
  });
64
134
  expect(onChange).toHaveBeenCalledWith(25);
135
+ expect(getByRole("slider").getAttribute("aria-valuenow")).toBe("25");
136
+ expect(getByRole("textbox").value).toBe("25");
65
137
  });
66
- test("Disabled slider have disabled input", function () {
138
+ test("Disabled slider have disabled input and slider", function () {
67
139
  var onChange = jest.fn();
68
-
69
- var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Slider["default"], {
70
- minValue: 0,
71
- maxValue: 100,
72
- onChange: onChange,
73
- showLimitsValues: true,
74
- disabled: true,
75
- showInput: true,
76
- value: 13
77
- })),
78
- getByRole = _render4.getByRole;
79
-
140
+ var _render6 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Slider["default"], {
141
+ minValue: 0,
142
+ maxValue: 100,
143
+ onChange: onChange,
144
+ showLimitsValues: true,
145
+ disabled: true,
146
+ showInput: true,
147
+ value: 13
148
+ })),
149
+ getByRole = _render6.getByRole;
80
150
  (0, _react2.act)(function () {
81
151
  _react2.fireEvent.change(getByRole("textbox"), {
82
152
  target: {
@@ -86,44 +156,99 @@ describe("Slider component tests", function () {
86
156
  });
87
157
  expect(getByRole("textbox").hasAttribute("disabled")).toBeTruthy();
88
158
  expect(getByRole("textbox").value).toBe("13");
159
+ expect(getByRole("slider").hasAttribute("disabled")).toBeTruthy();
89
160
  });
90
- test("Calls correct function onDragEnd", function () {
161
+ test("Calls correct function onDragEnd when it is uncontrolled", function () {
91
162
  var onDragEnd = jest.fn();
92
-
93
- var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Slider["default"], {
94
- minValue: 0,
95
- maxValue: 100,
96
- showLimitsValues: true,
97
- showInput: true,
98
- onDragEnd: onDragEnd,
99
- value: 25
100
- })),
101
- getByRole = _render5.getByRole;
102
-
163
+ var _render7 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Slider["default"], {
164
+ minValue: 0,
165
+ maxValue: 150,
166
+ onDragEnd: onDragEnd,
167
+ showInput: true
168
+ })),
169
+ getByRole = _render7.getByRole;
170
+ var slider = getByRole("slider");
103
171
  (0, _react2.act)(function () {
104
- _react2.fireEvent.mouseDown(getByRole("slider"));
105
-
106
- _react2.fireEvent.mouseUp(getByRole("slider"));
172
+ _react2.fireEvent.mouseDown(slider);
107
173
  });
108
- expect(onDragEnd).toHaveBeenCalled();
174
+ (0, _react2.act)(function () {
175
+ _react2.fireEvent.mouseUp(slider, {
176
+ target: {
177
+ value: 120
178
+ }
179
+ });
180
+ });
181
+ expect(onDragEnd).toHaveBeenCalledWith("120");
182
+ });
183
+ test("Calls correct function onDragEnd when it is controlled", function () {
184
+ var onDragEnd = jest.fn();
185
+ var _render8 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Slider["default"], {
186
+ minValue: 0,
187
+ maxValue: 150,
188
+ value: 50,
189
+ onDragEnd: onDragEnd,
190
+ showInput: true
191
+ })),
192
+ getByRole = _render8.getByRole;
193
+ var slider = getByRole("slider");
194
+ (0, _react2.act)(function () {
195
+ _react2.fireEvent.mouseDown(slider);
196
+ });
197
+ (0, _react2.act)(function () {
198
+ _react2.fireEvent.mouseUp(slider, {
199
+ target: {
200
+ value: 120
201
+ }
202
+ });
203
+ });
204
+ expect(onDragEnd).toHaveBeenCalledWith("120");
205
+ expect(slider.getAttribute("aria-valuenow")).toBe("50");
109
206
  });
110
207
  test("Calls correct function labelFormatCallback", function () {
111
208
  var labelFormatCallback = jest.fn(function (x) {
112
209
  return "".concat(x, "$");
113
210
  });
114
-
115
- var _render6 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Slider["default"], {
116
- minValue: 0,
117
- maxValue: 100,
118
- showLimitsValues: true,
119
- showInput: true,
120
- value: 25,
121
- labelFormatCallback: labelFormatCallback
122
- })),
123
- getByText = _render6.getByText;
124
-
211
+ var _render9 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Slider["default"], {
212
+ minValue: 0,
213
+ maxValue: 100,
214
+ showLimitsValues: true,
215
+ showInput: true,
216
+ value: 25,
217
+ labelFormatCallback: labelFormatCallback
218
+ })),
219
+ getByText = _render9.getByText;
125
220
  expect(getByText("0$")).toBeTruthy();
126
221
  expect(getByText("100$")).toBeTruthy();
127
222
  expect(labelFormatCallback).toHaveBeenCalledTimes(2);
128
223
  });
224
+ test("Change value correctly to 0 from external function", function () {
225
+ var onChange = jest.fn();
226
+ var _render10 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Slider["default"], {
227
+ minValue: 0,
228
+ maxValue: 100,
229
+ onChange: onChange,
230
+ showLimitsValues: true,
231
+ value: 13,
232
+ showInput: true
233
+ })),
234
+ rerender = _render10.rerender,
235
+ getByRole = _render10.getByRole;
236
+ var slider = getByRole("slider");
237
+ _userEvent["default"].tab();
238
+ _react2.fireEvent.keyDown(slider, {
239
+ key: "ArrowRight",
240
+ code: "ArrowRight",
241
+ keyCode: 39,
242
+ charCode: 39
243
+ });
244
+ rerender( /*#__PURE__*/_react["default"].createElement(_Slider["default"], {
245
+ minValue: 0,
246
+ maxValue: 100,
247
+ onChange: onChange,
248
+ showLimitsValues: true,
249
+ value: 0,
250
+ showInput: true
251
+ }));
252
+ expect(slider.getAttribute("aria-valuenow")).toBe("0");
253
+ });
129
254
  });
package/slider/types.d.ts CHANGED
@@ -1,11 +1,11 @@
1
- declare type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
2
- declare type Margin = {
1
+ type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
2
+ type Margin = {
3
3
  top?: Space;
4
4
  bottom?: Space;
5
5
  left?: Space;
6
6
  right?: Space;
7
7
  };
8
- declare type Props = {
8
+ type Props = {
9
9
  /**
10
10
  * Text to be placed above the slider.
11
11
  */
@@ -14,6 +14,10 @@ declare type Props = {
14
14
  * Name attribute of the input element.
15
15
  */
16
16
  name?: string;
17
+ /**
18
+ * Initial value of the slider, only when it is uncontrolled.
19
+ */
20
+ defaultValue?: number;
17
21
  /**
18
22
  * The selected value. If undefined, the component will be uncontrolled and the value will be managed internally by the component.
19
23
  */
@@ -75,4 +79,8 @@ declare type Props = {
75
79
  */
76
80
  size?: "medium" | "large" | "fillParent";
77
81
  };
82
+ /**
83
+ * Reference to the component.
84
+ */
85
+ export type RefType = HTMLDivElement;
78
86
  export default Props;
@@ -0,0 +1,96 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
5
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
6
+ var _react = _interopRequireDefault(require("react"));
7
+ var _react2 = require("@testing-library/react");
8
+ var _axeHelper = require("../../test/accessibility/axe-helper.js");
9
+ var _Spinner = _interopRequireDefault(require("./Spinner.tsx"));
10
+ var _Flex = _interopRequireDefault(require("../flex/Flex.tsx"));
11
+ describe("Spinner component accessibility tests", function () {
12
+ it("Should not have basic accessibility issues for overlay mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
13
+ var _render, container, results;
14
+ return _regenerator["default"].wrap(function _callee$(_context) {
15
+ while (1) switch (_context.prev = _context.next) {
16
+ case 0:
17
+ _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Flex["default"], null, /*#__PURE__*/_react["default"].createElement(_Spinner["default"], {
18
+ label: "test-loading",
19
+ margin: "medium",
20
+ mode: "overlay",
21
+ value: 50,
22
+ showValue: true
23
+ }), /*#__PURE__*/_react["default"].createElement(_Spinner["default"], {
24
+ label: "test-loading",
25
+ margin: "medium",
26
+ mode: "overlay",
27
+ value: 50
28
+ }))), container = _render.container;
29
+ _context.next = 3;
30
+ return (0, _axeHelper.axe)(container);
31
+ case 3:
32
+ results = _context.sent;
33
+ expect(results).toHaveNoViolations();
34
+ case 5:
35
+ case "end":
36
+ return _context.stop();
37
+ }
38
+ }, _callee);
39
+ })));
40
+ it("Should not have basic accessibility issues for large mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
41
+ var _render2, container, results;
42
+ return _regenerator["default"].wrap(function _callee2$(_context2) {
43
+ while (1) switch (_context2.prev = _context2.next) {
44
+ case 0:
45
+ _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Flex["default"], null, /*#__PURE__*/_react["default"].createElement(_Spinner["default"], {
46
+ label: "test-loading",
47
+ margin: "medium",
48
+ mode: "large",
49
+ value: 50,
50
+ showValue: true
51
+ }), /*#__PURE__*/_react["default"].createElement(_Spinner["default"], {
52
+ label: "test-loading",
53
+ margin: "medium",
54
+ mode: "large",
55
+ value: 50
56
+ }))), container = _render2.container;
57
+ _context2.next = 3;
58
+ return (0, _axeHelper.axe)(container);
59
+ case 3:
60
+ results = _context2.sent;
61
+ expect(results).toHaveNoViolations();
62
+ case 5:
63
+ case "end":
64
+ return _context2.stop();
65
+ }
66
+ }, _callee2);
67
+ })));
68
+ it("Should not have basic accessibility issues for small mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
69
+ var _render3, container, results;
70
+ return _regenerator["default"].wrap(function _callee3$(_context3) {
71
+ while (1) switch (_context3.prev = _context3.next) {
72
+ case 0:
73
+ _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Flex["default"], null, /*#__PURE__*/_react["default"].createElement(_Spinner["default"], {
74
+ label: "test-loading",
75
+ margin: "medium",
76
+ mode: "small",
77
+ value: 50,
78
+ showValue: true
79
+ }), /*#__PURE__*/_react["default"].createElement(_Spinner["default"], {
80
+ label: "test-loading",
81
+ margin: "medium",
82
+ mode: "small",
83
+ value: 50
84
+ }))), container = _render3.container;
85
+ _context3.next = 3;
86
+ return (0, _axeHelper.axe)(container);
87
+ case 3:
88
+ results = _context3.sent;
89
+ expect(results).toHaveNoViolations();
90
+ case 5:
91
+ case "end":
92
+ return _context3.stop();
93
+ }
94
+ }, _callee3);
95
+ })));
96
+ });