@dxc-technology/halstack-react 0.0.0-c291a0c → 0.0.0-c293b72

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 (396) hide show
  1. package/BackgroundColorContext.d.ts +1 -10
  2. package/BackgroundColorContext.js +5 -22
  3. package/HalstackContext.d.ts +1243 -6
  4. package/HalstackContext.js +126 -111
  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 +104 -161
  9. package/accordion/Accordion.stories.tsx +84 -140
  10. package/accordion/Accordion.test.js +25 -41
  11. package/accordion/types.d.ts +6 -17
  12. package/accordion-group/AccordionGroup.accessibility.test.js +88 -0
  13. package/accordion-group/AccordionGroup.d.ts +2 -2
  14. package/accordion-group/AccordionGroup.js +31 -98
  15. package/accordion-group/AccordionGroup.stories.tsx +94 -67
  16. package/accordion-group/AccordionGroup.test.js +52 -105
  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 +12 -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 +32 -125
  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 -42
  36. package/badge/Badge.stories.tsx +210 -0
  37. package/badge/Badge.test.js +30 -0
  38. package/badge/types.d.ts +52 -3
  39. package/bleed/Bleed.js +13 -21
  40. package/bleed/Bleed.stories.tsx +64 -63
  41. package/bleed/types.d.ts +2 -2
  42. package/box/Box.accessibility.test.js +33 -0
  43. package/box/Box.d.ts +1 -1
  44. package/box/Box.js +19 -60
  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/bulleted-list/BulletedList.accessibility.test.js +107 -0
  49. package/bulleted-list/BulletedList.d.ts +7 -0
  50. package/bulleted-list/BulletedList.js +92 -0
  51. package/bulleted-list/BulletedList.stories.tsx +115 -0
  52. package/bulleted-list/types.d.ts +38 -0
  53. package/button/Button.accessibility.test.js +127 -0
  54. package/button/Button.d.ts +1 -1
  55. package/button/Button.js +64 -117
  56. package/button/Button.stories.tsx +151 -100
  57. package/button/Button.test.js +20 -17
  58. package/button/types.d.ts +12 -8
  59. package/card/Card.accessibility.test.js +36 -0
  60. package/card/Card.d.ts +1 -1
  61. package/card/Card.js +48 -89
  62. package/card/Card.stories.tsx +12 -42
  63. package/card/Card.test.js +11 -22
  64. package/card/types.d.ts +6 -11
  65. package/checkbox/Checkbox.accessibility.test.js +87 -0
  66. package/checkbox/Checkbox.d.ts +2 -2
  67. package/checkbox/Checkbox.js +140 -182
  68. package/checkbox/Checkbox.stories.tsx +128 -94
  69. package/checkbox/Checkbox.test.js +160 -39
  70. package/checkbox/types.d.ts +11 -3
  71. package/chip/Chip.accessibility.test.js +67 -0
  72. package/chip/Chip.js +43 -80
  73. package/chip/Chip.stories.tsx +102 -26
  74. package/chip/Chip.test.js +18 -33
  75. package/chip/types.d.ts +4 -4
  76. package/common/coreTokens.d.ts +237 -0
  77. package/common/coreTokens.js +184 -0
  78. package/common/utils.d.ts +1 -0
  79. package/common/utils.js +6 -12
  80. package/common/variables.d.ts +1395 -0
  81. package/common/variables.js +942 -1145
  82. package/container/Container.d.ts +4 -0
  83. package/container/Container.js +194 -0
  84. package/container/Container.stories.tsx +214 -0
  85. package/container/types.d.ts +74 -0
  86. package/contextual-menu/ContextualMenu.accessibility.test.js +86 -0
  87. package/contextual-menu/ContextualMenu.d.ts +7 -0
  88. package/contextual-menu/ContextualMenu.js +71 -0
  89. package/contextual-menu/ContextualMenu.stories.tsx +182 -0
  90. package/contextual-menu/ContextualMenu.test.js +71 -0
  91. package/contextual-menu/MenuItemAction.d.ts +4 -0
  92. package/contextual-menu/MenuItemAction.js +46 -0
  93. package/contextual-menu/types.d.ts +22 -0
  94. package/date-input/Calendar.d.ts +4 -0
  95. package/date-input/Calendar.js +214 -0
  96. package/date-input/DateInput.accessibility.test.js +216 -0
  97. package/date-input/DateInput.js +149 -299
  98. package/date-input/DateInput.stories.tsx +203 -56
  99. package/date-input/DateInput.test.js +700 -371
  100. package/date-input/DatePicker.d.ts +4 -0
  101. package/date-input/DatePicker.js +121 -0
  102. package/date-input/YearPicker.d.ts +4 -0
  103. package/date-input/YearPicker.js +100 -0
  104. package/date-input/types.d.ts +72 -15
  105. package/dialog/Dialog.accessibility.test.js +69 -0
  106. package/dialog/Dialog.d.ts +1 -1
  107. package/dialog/Dialog.js +73 -107
  108. package/dialog/Dialog.stories.tsx +320 -167
  109. package/dialog/Dialog.test.js +287 -20
  110. package/dialog/types.d.ts +18 -25
  111. package/divider/Divider.accessibility.test.js +33 -0
  112. package/divider/Divider.d.ts +4 -0
  113. package/divider/Divider.js +36 -0
  114. package/divider/Divider.stories.tsx +223 -0
  115. package/divider/Divider.test.js +38 -0
  116. package/divider/types.d.ts +21 -0
  117. package/dropdown/Dropdown.accessibility.test.js +180 -0
  118. package/dropdown/Dropdown.d.ts +1 -1
  119. package/dropdown/Dropdown.js +231 -303
  120. package/dropdown/Dropdown.stories.tsx +235 -57
  121. package/dropdown/Dropdown.test.js +575 -165
  122. package/dropdown/DropdownMenu.d.ts +4 -0
  123. package/dropdown/DropdownMenu.js +63 -0
  124. package/dropdown/DropdownMenuItem.d.ts +4 -0
  125. package/dropdown/DropdownMenuItem.js +70 -0
  126. package/dropdown/types.d.ts +35 -19
  127. package/file-input/FileInput.accessibility.test.js +160 -0
  128. package/file-input/FileInput.d.ts +2 -2
  129. package/file-input/FileInput.js +241 -391
  130. package/file-input/FileInput.stories.tsx +123 -12
  131. package/file-input/FileInput.test.js +292 -367
  132. package/file-input/FileItem.d.ts +4 -14
  133. package/file-input/FileItem.js +52 -117
  134. package/file-input/types.d.ts +25 -8
  135. package/flex/Flex.d.ts +4 -0
  136. package/flex/Flex.js +57 -0
  137. package/flex/Flex.stories.tsx +112 -0
  138. package/flex/types.d.ts +97 -0
  139. package/footer/Footer.accessibility.test.js +117 -0
  140. package/footer/Footer.d.ts +1 -1
  141. package/footer/Footer.js +73 -118
  142. package/footer/Footer.stories.tsx +87 -21
  143. package/footer/Footer.test.js +33 -57
  144. package/footer/Icons.d.ts +3 -2
  145. package/footer/Icons.js +66 -7
  146. package/footer/types.d.ts +26 -27
  147. package/grid/Grid.d.ts +7 -0
  148. package/grid/Grid.js +76 -0
  149. package/grid/Grid.stories.tsx +219 -0
  150. package/grid/types.d.ts +115 -0
  151. package/header/Header.accessibility.test.js +84 -0
  152. package/header/Header.d.ts +4 -3
  153. package/header/Header.js +88 -182
  154. package/header/Header.stories.tsx +118 -39
  155. package/header/Header.test.js +13 -26
  156. package/header/Icons.d.ts +2 -2
  157. package/header/Icons.js +4 -9
  158. package/header/types.d.ts +7 -21
  159. package/heading/Heading.accessibility.test.js +33 -0
  160. package/heading/Heading.js +10 -32
  161. package/heading/Heading.test.js +71 -88
  162. package/heading/types.d.ts +7 -7
  163. package/icon/Icon.accessibility.test.js +30 -0
  164. package/icon/Icon.d.ts +4 -0
  165. package/icon/Icon.js +33 -0
  166. package/icon/Icon.stories.tsx +28 -0
  167. package/icon/types.d.ts +4 -0
  168. package/icon/types.js +5 -0
  169. package/image/Image.accessibility.test.js +56 -0
  170. package/image/Image.d.ts +4 -0
  171. package/image/Image.js +70 -0
  172. package/image/Image.stories.tsx +129 -0
  173. package/image/types.d.ts +72 -0
  174. package/image/types.js +5 -0
  175. package/inset/Inset.js +13 -21
  176. package/inset/Inset.stories.tsx +5 -4
  177. package/inset/types.d.ts +2 -2
  178. package/layout/ApplicationLayout.d.ts +15 -6
  179. package/layout/ApplicationLayout.js +51 -116
  180. package/layout/ApplicationLayout.stories.tsx +81 -45
  181. package/layout/Icons.d.ts +8 -5
  182. package/layout/Icons.js +49 -59
  183. package/layout/types.d.ts +21 -32
  184. package/link/Link.accessibility.test.js +112 -0
  185. package/link/Link.js +32 -51
  186. package/link/Link.stories.tsx +74 -7
  187. package/link/Link.test.js +24 -44
  188. package/link/types.d.ts +14 -14
  189. package/main.d.ts +14 -13
  190. package/main.js +59 -103
  191. package/nav-tabs/NavTabs.accessibility.test.js +44 -0
  192. package/nav-tabs/NavTabs.d.ts +7 -0
  193. package/{tabs-nav → nav-tabs}/NavTabs.js +30 -62
  194. package/nav-tabs/NavTabs.stories.tsx +279 -0
  195. package/{tabs-nav → nav-tabs}/NavTabs.test.js +39 -46
  196. package/nav-tabs/NavTabsContext.d.ts +3 -0
  197. package/nav-tabs/NavTabsContext.js +8 -0
  198. package/nav-tabs/Tab.js +117 -0
  199. package/{tabs-nav → nav-tabs}/types.d.ts +15 -16
  200. package/nav-tabs/types.js +5 -0
  201. package/number-input/NumberInput.accessibility.test.js +228 -0
  202. package/number-input/NumberInput.js +46 -36
  203. package/number-input/NumberInput.stories.tsx +42 -26
  204. package/number-input/NumberInput.test.js +860 -377
  205. package/number-input/NumberInputContext.d.ts +3 -4
  206. package/number-input/NumberInputContext.js +3 -14
  207. package/number-input/types.d.ts +17 -5
  208. package/package.json +49 -52
  209. package/paginator/Icons.d.ts +5 -0
  210. package/paginator/Icons.js +21 -47
  211. package/paginator/Paginator.accessibility.test.js +79 -0
  212. package/paginator/Paginator.js +23 -59
  213. package/paginator/Paginator.stories.tsx +24 -0
  214. package/paginator/Paginator.test.js +253 -226
  215. package/paginator/types.d.ts +3 -3
  216. package/paragraph/Paragraph.accessibility.test.js +28 -0
  217. package/paragraph/Paragraph.d.ts +5 -0
  218. package/paragraph/Paragraph.js +22 -0
  219. package/paragraph/Paragraph.stories.tsx +27 -0
  220. package/password-input/PasswordInput.accessibility.test.js +153 -0
  221. package/password-input/PasswordInput.js +56 -126
  222. package/password-input/PasswordInput.stories.tsx +1 -33
  223. package/password-input/PasswordInput.test.js +160 -142
  224. package/password-input/types.d.ts +8 -7
  225. package/progress-bar/ProgressBar.accessibility.test.js +35 -0
  226. package/progress-bar/ProgressBar.js +65 -91
  227. package/progress-bar/{ProgressBar.stories.jsx → ProgressBar.stories.tsx} +39 -4
  228. package/progress-bar/ProgressBar.test.js +72 -44
  229. package/progress-bar/types.d.ts +3 -3
  230. package/quick-nav/QuickNav.accessibility.test.js +57 -0
  231. package/quick-nav/QuickNav.js +27 -45
  232. package/quick-nav/QuickNav.stories.tsx +146 -27
  233. package/quick-nav/types.d.ts +10 -10
  234. package/radio-group/Radio.d.ts +1 -1
  235. package/radio-group/Radio.js +59 -76
  236. package/radio-group/RadioGroup.accessibility.test.js +97 -0
  237. package/radio-group/RadioGroup.js +67 -114
  238. package/radio-group/RadioGroup.stories.tsx +132 -18
  239. package/radio-group/RadioGroup.test.js +518 -457
  240. package/radio-group/types.d.ts +10 -10
  241. package/resultset-table/Icons.d.ts +7 -0
  242. package/resultset-table/Icons.js +47 -0
  243. package/resultset-table/ResultsetTable.accessibility.test.js +274 -0
  244. package/resultset-table/ResultsetTable.d.ts +7 -0
  245. package/resultset-table/ResultsetTable.js +170 -0
  246. package/{resultsetTable → resultset-table}/ResultsetTable.stories.tsx +156 -30
  247. package/resultset-table/ResultsetTable.test.js +381 -0
  248. package/{resultsetTable → resultset-table}/types.d.ts +44 -11
  249. package/resultset-table/types.js +5 -0
  250. package/select/Listbox.js +22 -52
  251. package/select/Option.js +33 -55
  252. package/select/Select.accessibility.test.js +217 -0
  253. package/select/Select.js +146 -208
  254. package/select/Select.stories.tsx +484 -203
  255. package/select/Select.test.js +1928 -1814
  256. package/select/types.d.ts +17 -20
  257. package/sidenav/Sidenav.accessibility.test.js +59 -0
  258. package/sidenav/Sidenav.d.ts +6 -5
  259. package/sidenav/Sidenav.js +132 -78
  260. package/sidenav/Sidenav.stories.tsx +246 -151
  261. package/sidenav/Sidenav.test.js +26 -45
  262. package/{layout → sidenav}/SidenavContext.d.ts +1 -1
  263. package/{layout → sidenav}/SidenavContext.js +3 -9
  264. package/sidenav/types.d.ts +52 -26
  265. package/slider/Slider.accessibility.test.js +104 -0
  266. package/slider/Slider.d.ts +2 -2
  267. package/slider/Slider.js +148 -181
  268. package/slider/Slider.test.js +185 -81
  269. package/slider/types.d.ts +7 -3
  270. package/spinner/Spinner.accessibility.test.js +96 -0
  271. package/spinner/Spinner.js +31 -75
  272. package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +53 -27
  273. package/spinner/Spinner.test.js +26 -35
  274. package/spinner/types.d.ts +3 -3
  275. package/status-light/StatusLight.accessibility.test.js +157 -0
  276. package/status-light/StatusLight.d.ts +4 -0
  277. package/status-light/StatusLight.js +51 -0
  278. package/status-light/StatusLight.stories.tsx +74 -0
  279. package/status-light/StatusLight.test.js +25 -0
  280. package/status-light/types.d.ts +17 -0
  281. package/status-light/types.js +5 -0
  282. package/switch/Switch.accessibility.test.js +89 -0
  283. package/switch/Switch.d.ts +2 -2
  284. package/switch/Switch.js +145 -126
  285. package/switch/Switch.stories.tsx +37 -60
  286. package/switch/Switch.test.js +138 -56
  287. package/switch/types.d.ts +7 -3
  288. package/table/DropdownTheme.js +62 -0
  289. package/table/Table.accessibility.test.js +82 -0
  290. package/table/Table.d.ts +6 -2
  291. package/table/Table.js +78 -35
  292. package/table/Table.stories.tsx +651 -0
  293. package/table/Table.test.js +95 -8
  294. package/table/types.d.ts +34 -6
  295. package/tabs/Tab.d.ts +4 -0
  296. package/tabs/Tab.js +117 -0
  297. package/tabs/Tabs.accessibility.test.js +56 -0
  298. package/tabs/Tabs.js +303 -141
  299. package/tabs/Tabs.stories.tsx +118 -6
  300. package/tabs/Tabs.test.js +213 -77
  301. package/tabs/types.d.ts +30 -20
  302. package/tag/Tag.accessibility.test.js +69 -0
  303. package/tag/Tag.js +35 -67
  304. package/tag/Tag.stories.tsx +18 -8
  305. package/tag/Tag.test.js +18 -37
  306. package/tag/types.d.ts +9 -9
  307. package/text-input/Suggestion.js +40 -28
  308. package/text-input/Suggestions.d.ts +4 -0
  309. package/text-input/Suggestions.js +86 -0
  310. package/text-input/TextInput.accessibility.test.js +321 -0
  311. package/text-input/TextInput.js +311 -514
  312. package/text-input/TextInput.stories.tsx +266 -275
  313. package/text-input/TextInput.test.js +1419 -1375
  314. package/text-input/types.d.ts +43 -16
  315. package/textarea/Textarea.accessibility.test.js +155 -0
  316. package/textarea/Textarea.js +70 -113
  317. package/textarea/Textarea.stories.tsx +174 -0
  318. package/textarea/Textarea.test.js +152 -183
  319. package/textarea/types.d.ts +9 -5
  320. package/toggle-group/ToggleGroup.accessibility.test.js +107 -0
  321. package/toggle-group/ToggleGroup.d.ts +2 -2
  322. package/toggle-group/ToggleGroup.js +94 -107
  323. package/toggle-group/ToggleGroup.stories.tsx +52 -7
  324. package/toggle-group/ToggleGroup.test.js +69 -88
  325. package/toggle-group/types.d.ts +28 -19
  326. package/typography/Typography.accessibility.test.js +339 -0
  327. package/typography/Typography.d.ts +4 -0
  328. package/typography/Typography.js +23 -0
  329. package/typography/Typography.stories.tsx +198 -0
  330. package/typography/types.d.ts +18 -0
  331. package/typography/types.js +5 -0
  332. package/useTheme.d.ts +1147 -1
  333. package/useTheme.js +2 -9
  334. package/useTranslatedLabels.d.ts +84 -1
  335. package/useTranslatedLabels.js +1 -7
  336. package/utils/BaseTypography.d.ts +21 -0
  337. package/utils/BaseTypography.js +94 -0
  338. package/utils/FocusLock.d.ts +13 -0
  339. package/utils/FocusLock.js +124 -0
  340. package/wizard/Wizard.accessibility.test.js +55 -0
  341. package/wizard/Wizard.js +34 -79
  342. package/wizard/Wizard.stories.tsx +59 -1
  343. package/wizard/Wizard.test.js +54 -81
  344. package/wizard/types.d.ts +9 -9
  345. package/card/ice-cream.jpg +0 -0
  346. package/common/OpenSans.css +0 -81
  347. package/common/RequiredComponent.js +0 -32
  348. package/common/fonts/OpenSans-Bold.ttf +0 -0
  349. package/common/fonts/OpenSans-BoldItalic.ttf +0 -0
  350. package/common/fonts/OpenSans-ExtraBold.ttf +0 -0
  351. package/common/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  352. package/common/fonts/OpenSans-Italic.ttf +0 -0
  353. package/common/fonts/OpenSans-Light.ttf +0 -0
  354. package/common/fonts/OpenSans-LightItalic.ttf +0 -0
  355. package/common/fonts/OpenSans-Regular.ttf +0 -0
  356. package/common/fonts/OpenSans-SemiBold.ttf +0 -0
  357. package/common/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  358. package/inline/Inline.d.ts +0 -4
  359. package/inline/Inline.js +0 -54
  360. package/inline/Inline.stories.tsx +0 -264
  361. package/inline/types.d.ts +0 -32
  362. package/list/List.d.ts +0 -4
  363. package/list/List.js +0 -47
  364. package/list/List.stories.tsx +0 -89
  365. package/list/types.d.ts +0 -7
  366. package/number-input/numberInputContextTypes.d.ts +0 -19
  367. package/resultsetTable/ResultsetTable.d.ts +0 -4
  368. package/resultsetTable/ResultsetTable.js +0 -254
  369. package/resultsetTable/ResultsetTable.test.js +0 -348
  370. package/row/Row.d.ts +0 -3
  371. package/row/Row.js +0 -127
  372. package/row/Row.stories.tsx +0 -237
  373. package/row/types.d.ts +0 -28
  374. package/select/Icons.d.ts +0 -10
  375. package/select/Icons.js +0 -93
  376. package/slider/Slider.stories.tsx +0 -177
  377. package/stack/Stack.d.ts +0 -4
  378. package/stack/Stack.js +0 -50
  379. package/stack/Stack.stories.tsx +0 -225
  380. package/stack/types.d.ts +0 -28
  381. package/table/Table.stories.jsx +0 -277
  382. package/tabs-nav/NavTabs.d.ts +0 -8
  383. package/tabs-nav/NavTabs.stories.tsx +0 -170
  384. package/tabs-nav/Tab.js +0 -132
  385. package/text/Text.d.ts +0 -7
  386. package/text/Text.js +0 -30
  387. package/text/Text.stories.tsx +0 -19
  388. package/textarea/Textarea.stories.jsx +0 -157
  389. /package/{inline → action-icon}/types.js +0 -0
  390. /package/{list → bulleted-list}/types.js +0 -0
  391. /package/{resultsetTable → container}/types.js +0 -0
  392. /package/{row → contextual-menu}/types.js +0 -0
  393. /package/{stack → divider}/types.js +0 -0
  394. /package/{tabs-nav → flex}/types.js +0 -0
  395. /package/{number-input/numberInputContextTypes.js → grid/types.js} +0 -0
  396. /package/{tabs-nav → nav-tabs}/Tab.d.ts +0 -0
@@ -1,53 +1,106 @@
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");
22
55
  });
23
56
  test("Slider renders with correct initial value when it is uncontrolled", function () {
24
57
  var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Slider["default"], {
25
- defaultValue: 30,
26
- minValue: 0,
27
- maxValue: 100,
28
- showLimitsValues: true,
29
- showInput: true
30
- })),
31
- getByRole = _render2.getByRole;
32
-
58
+ defaultValue: 30,
59
+ minValue: 0,
60
+ maxValue: 100,
61
+ showLimitsValues: true,
62
+ showInput: true
63
+ })),
64
+ getByRole = _render2.getByRole;
33
65
  var slider = getByRole("slider");
34
66
  var input = getByRole("textbox");
35
67
  expect(slider.getAttribute("aria-valuenow")).toBe("30");
36
68
  expect(input.value).toBe("30");
37
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();
92
+ });
38
93
  test("Calls correct function onChange in controlled slider", function () {
39
94
  var onChange = jest.fn();
40
-
41
- var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Slider["default"], {
42
- minValue: 0,
43
- maxValue: 100,
44
- onChange: onChange,
45
- showLimitsValues: true,
46
- value: 13,
47
- showInput: true
48
- })),
49
- getByRole = _render3.getByRole;
50
-
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;
51
104
  expect(getByRole("slider").getAttribute("aria-valuenow")).toBe("13");
52
105
  expect(getByRole("textbox").value).toBe("13");
53
106
  (0, _react2.act)(function () {
@@ -63,16 +116,14 @@ describe("Slider component tests", function () {
63
116
  });
64
117
  test("Calls correct function onChange in uncontrolled slider", function () {
65
118
  var onChange = jest.fn();
66
-
67
- var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Slider["default"], {
68
- minValue: 0,
69
- maxValue: 100,
70
- onChange: onChange,
71
- showLimitsValues: true,
72
- showInput: true
73
- })),
74
- getByRole = _render4.getByRole;
75
-
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;
76
127
  (0, _react2.act)(function () {
77
128
  _react2.fireEvent.change(getByRole("textbox"), {
78
129
  target: {
@@ -84,20 +135,18 @@ describe("Slider component tests", function () {
84
135
  expect(getByRole("slider").getAttribute("aria-valuenow")).toBe("25");
85
136
  expect(getByRole("textbox").value).toBe("25");
86
137
  });
87
- test("Disabled slider have disabled input", function () {
138
+ test("Disabled slider have disabled input and slider", function () {
88
139
  var onChange = jest.fn();
89
-
90
- var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Slider["default"], {
91
- minValue: 0,
92
- maxValue: 100,
93
- onChange: onChange,
94
- showLimitsValues: true,
95
- disabled: true,
96
- showInput: true,
97
- value: 13
98
- })),
99
- getByRole = _render5.getByRole;
100
-
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;
101
150
  (0, _react2.act)(function () {
102
151
  _react2.fireEvent.change(getByRole("textbox"), {
103
152
  target: {
@@ -107,44 +156,99 @@ describe("Slider component tests", function () {
107
156
  });
108
157
  expect(getByRole("textbox").hasAttribute("disabled")).toBeTruthy();
109
158
  expect(getByRole("textbox").value).toBe("13");
159
+ expect(getByRole("slider").hasAttribute("disabled")).toBeTruthy();
110
160
  });
111
- test("Calls correct function onDragEnd", function () {
161
+ test("Calls correct function onDragEnd when it is uncontrolled", function () {
112
162
  var onDragEnd = jest.fn();
113
-
114
- var _render6 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Slider["default"], {
115
- minValue: 0,
116
- maxValue: 100,
117
- showLimitsValues: true,
118
- showInput: true,
119
- onDragEnd: onDragEnd,
120
- value: 25
121
- })),
122
- getByRole = _render6.getByRole;
123
-
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");
124
171
  (0, _react2.act)(function () {
125
- _react2.fireEvent.mouseDown(getByRole("slider"));
126
-
127
- _react2.fireEvent.mouseUp(getByRole("slider"));
172
+ _react2.fireEvent.mouseDown(slider);
173
+ });
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);
128
196
  });
129
- expect(onDragEnd).toHaveBeenCalled();
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");
130
206
  });
131
207
  test("Calls correct function labelFormatCallback", function () {
132
208
  var labelFormatCallback = jest.fn(function (x) {
133
209
  return "".concat(x, "$");
134
210
  });
135
-
136
- var _render7 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Slider["default"], {
137
- minValue: 0,
138
- maxValue: 100,
139
- showLimitsValues: true,
140
- showInput: true,
141
- value: 25,
142
- labelFormatCallback: labelFormatCallback
143
- })),
144
- getByText = _render7.getByText;
145
-
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;
146
220
  expect(getByText("0$")).toBeTruthy();
147
221
  expect(getByText("100$")).toBeTruthy();
148
222
  expect(labelFormatCallback).toHaveBeenCalledTimes(2);
149
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
+ });
150
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
  */
@@ -79,4 +79,8 @@ declare type Props = {
79
79
  */
80
80
  size?: "medium" | "large" | "fillParent";
81
81
  };
82
+ /**
83
+ * Reference to the component.
84
+ */
85
+ export type RefType = HTMLDivElement;
82
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 _jestAxe = require("jest-axe");
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, _jestAxe.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, _jestAxe.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, _jestAxe.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
+ });