@dxc-technology/halstack-react 0.0.0-8719165 → 0.0.0-87842b8

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 (377) 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 +30 -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 +141 -43
  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 +1 -0
  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.js +22 -53
  50. package/bulleted-list/BulletedList.stories.tsx +8 -93
  51. package/bulleted-list/types.d.ts +32 -5
  52. package/button/Button.accessibility.test.js +127 -0
  53. package/button/Button.d.ts +1 -1
  54. package/button/Button.js +71 -106
  55. package/button/Button.stories.tsx +143 -101
  56. package/button/Button.test.js +20 -17
  57. package/button/types.d.ts +9 -5
  58. package/card/Card.accessibility.test.js +36 -0
  59. package/card/Card.d.ts +1 -1
  60. package/card/Card.js +48 -89
  61. package/card/Card.stories.tsx +12 -42
  62. package/card/Card.test.js +11 -22
  63. package/card/types.d.ts +6 -11
  64. package/checkbox/Checkbox.accessibility.test.js +87 -0
  65. package/checkbox/Checkbox.d.ts +2 -2
  66. package/checkbox/Checkbox.js +140 -182
  67. package/checkbox/Checkbox.stories.tsx +128 -94
  68. package/checkbox/Checkbox.test.js +160 -39
  69. package/checkbox/types.d.ts +11 -3
  70. package/chip/Chip.accessibility.test.js +67 -0
  71. package/chip/Chip.js +43 -80
  72. package/chip/Chip.stories.tsx +102 -26
  73. package/chip/Chip.test.js +18 -33
  74. package/chip/types.d.ts +4 -4
  75. package/common/coreTokens.d.ts +237 -0
  76. package/common/coreTokens.js +184 -0
  77. package/common/utils.d.ts +1 -0
  78. package/common/utils.js +6 -12
  79. package/common/variables.d.ts +1395 -0
  80. package/common/variables.js +931 -1164
  81. package/container/Container.d.ts +4 -0
  82. package/container/Container.js +194 -0
  83. package/container/Container.stories.tsx +214 -0
  84. package/container/types.d.ts +74 -0
  85. package/contextual-menu/ContextualMenu.accessibility.test.js +86 -0
  86. package/contextual-menu/ContextualMenu.d.ts +7 -0
  87. package/contextual-menu/ContextualMenu.js +71 -0
  88. package/contextual-menu/ContextualMenu.stories.tsx +182 -0
  89. package/contextual-menu/ContextualMenu.test.js +71 -0
  90. package/contextual-menu/MenuItemAction.d.ts +4 -0
  91. package/contextual-menu/MenuItemAction.js +46 -0
  92. package/contextual-menu/types.d.ts +22 -0
  93. package/date-input/Calendar.d.ts +4 -0
  94. package/date-input/Calendar.js +214 -0
  95. package/date-input/DateInput.accessibility.test.js +216 -0
  96. package/date-input/DateInput.js +150 -299
  97. package/date-input/DateInput.stories.tsx +203 -56
  98. package/date-input/DateInput.test.js +700 -371
  99. package/date-input/DatePicker.d.ts +4 -0
  100. package/date-input/DatePicker.js +115 -0
  101. package/date-input/Icons.d.ts +6 -0
  102. package/date-input/Icons.js +58 -0
  103. package/date-input/YearPicker.d.ts +4 -0
  104. package/date-input/YearPicker.js +100 -0
  105. package/date-input/types.d.ts +72 -15
  106. package/dialog/Dialog.accessibility.test.js +69 -0
  107. package/dialog/Dialog.d.ts +1 -1
  108. package/dialog/Dialog.js +60 -118
  109. package/dialog/Dialog.stories.tsx +320 -166
  110. package/dialog/Dialog.test.js +270 -33
  111. package/dialog/types.d.ts +18 -25
  112. package/divider/Divider.accessibility.test.js +33 -0
  113. package/divider/Divider.d.ts +4 -0
  114. package/divider/Divider.js +36 -0
  115. package/divider/Divider.stories.tsx +223 -0
  116. package/divider/Divider.test.js +38 -0
  117. package/divider/types.d.ts +21 -0
  118. package/divider/types.js +5 -0
  119. package/dropdown/Dropdown.accessibility.test.js +180 -0
  120. package/dropdown/Dropdown.js +90 -158
  121. package/dropdown/Dropdown.stories.tsx +209 -94
  122. package/dropdown/Dropdown.test.js +410 -402
  123. package/dropdown/DropdownMenu.js +20 -37
  124. package/dropdown/DropdownMenuItem.js +16 -38
  125. package/dropdown/types.d.ts +20 -24
  126. package/file-input/FileInput.accessibility.test.js +160 -0
  127. package/file-input/FileInput.d.ts +2 -2
  128. package/file-input/FileInput.js +241 -355
  129. package/file-input/FileInput.stories.tsx +123 -12
  130. package/file-input/FileInput.test.js +369 -367
  131. package/file-input/FileItem.d.ts +4 -14
  132. package/file-input/FileItem.js +45 -96
  133. package/file-input/types.d.ts +25 -8
  134. package/flex/Flex.d.ts +1 -1
  135. package/flex/Flex.js +40 -40
  136. package/flex/Flex.stories.tsx +35 -26
  137. package/flex/types.d.ts +84 -8
  138. package/footer/Footer.accessibility.test.js +117 -0
  139. package/footer/Footer.d.ts +1 -1
  140. package/footer/Footer.js +73 -118
  141. package/footer/Footer.stories.tsx +87 -21
  142. package/footer/Footer.test.js +33 -57
  143. package/footer/Icons.d.ts +3 -2
  144. package/footer/Icons.js +66 -7
  145. package/footer/types.d.ts +26 -27
  146. package/grid/Grid.d.ts +7 -0
  147. package/grid/Grid.js +76 -0
  148. package/grid/Grid.stories.tsx +219 -0
  149. package/grid/types.d.ts +115 -0
  150. package/grid/types.js +5 -0
  151. package/header/Header.accessibility.test.js +84 -0
  152. package/header/Header.d.ts +4 -3
  153. package/header/Header.js +85 -168
  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 +2 -1
  177. package/inset/types.d.ts +2 -2
  178. package/layout/ApplicationLayout.d.ts +5 -5
  179. package/layout/ApplicationLayout.js +30 -67
  180. package/layout/ApplicationLayout.stories.tsx +2 -1
  181. package/layout/Icons.d.ts +8 -5
  182. package/layout/Icons.js +49 -59
  183. package/layout/types.d.ts +5 -6
  184. package/link/Link.accessibility.test.js +112 -0
  185. package/link/Link.js +32 -51
  186. package/link/Link.stories.tsx +62 -2
  187. package/link/Link.test.js +24 -44
  188. package/link/types.d.ts +14 -14
  189. package/main.d.ts +10 -5
  190. package/main.js +47 -59
  191. package/nav-tabs/NavTabs.accessibility.test.js +52 -0
  192. package/nav-tabs/NavTabs.d.ts +7 -0
  193. package/{tabs-nav → nav-tabs}/NavTabs.js +25 -57
  194. package/{tabs-nav → nav-tabs}/NavTabs.stories.tsx +115 -9
  195. package/{tabs-nav → nav-tabs}/NavTabs.test.js +39 -45
  196. package/nav-tabs/NavTabsContext.d.ts +3 -0
  197. package/nav-tabs/NavTabsContext.js +8 -0
  198. package/nav-tabs/Tab.js +118 -0
  199. package/{tabs-nav → nav-tabs}/types.d.ts +14 -15
  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 +45 -48
  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 +3 -4
  218. package/paragraph/Paragraph.js +6 -22
  219. package/paragraph/Paragraph.stories.tsx +0 -17
  220. package/password-input/Icons.d.ts +6 -0
  221. package/password-input/Icons.js +35 -0
  222. package/password-input/PasswordInput.accessibility.test.js +153 -0
  223. package/password-input/PasswordInput.js +57 -126
  224. package/password-input/PasswordInput.stories.tsx +1 -33
  225. package/password-input/PasswordInput.test.js +160 -142
  226. package/password-input/types.d.ts +8 -7
  227. package/progress-bar/ProgressBar.accessibility.test.js +35 -0
  228. package/progress-bar/ProgressBar.d.ts +2 -2
  229. package/progress-bar/ProgressBar.js +23 -55
  230. package/progress-bar/{ProgressBar.stories.jsx → ProgressBar.stories.tsx} +36 -3
  231. package/progress-bar/ProgressBar.test.js +36 -53
  232. package/progress-bar/types.d.ts +4 -3
  233. package/quick-nav/QuickNav.accessibility.test.js +57 -0
  234. package/quick-nav/QuickNav.js +15 -39
  235. package/quick-nav/QuickNav.stories.tsx +112 -20
  236. package/quick-nav/types.d.ts +10 -10
  237. package/radio-group/Radio.d.ts +1 -1
  238. package/radio-group/Radio.js +59 -76
  239. package/radio-group/RadioGroup.accessibility.test.js +97 -0
  240. package/radio-group/RadioGroup.js +59 -105
  241. package/radio-group/RadioGroup.stories.tsx +132 -18
  242. package/radio-group/RadioGroup.test.js +518 -457
  243. package/radio-group/types.d.ts +10 -10
  244. package/resultset-table/Icons.d.ts +7 -0
  245. package/resultset-table/Icons.js +47 -0
  246. package/resultset-table/ResultsetTable.accessibility.test.js +274 -0
  247. package/resultset-table/ResultsetTable.d.ts +7 -0
  248. package/resultset-table/ResultsetTable.js +170 -0
  249. package/{resultsetTable → resultset-table}/ResultsetTable.stories.tsx +156 -30
  250. package/resultset-table/ResultsetTable.test.js +381 -0
  251. package/{resultsetTable → resultset-table}/types.d.ts +44 -11
  252. package/resultset-table/types.js +5 -0
  253. package/select/Icons.d.ts +7 -7
  254. package/select/Icons.js +1 -5
  255. package/select/Listbox.d.ts +1 -1
  256. package/select/Listbox.js +17 -73
  257. package/select/Option.js +27 -50
  258. package/select/Select.accessibility.test.js +217 -0
  259. package/select/Select.js +123 -176
  260. package/select/Select.stories.tsx +496 -153
  261. package/select/Select.test.js +1970 -1775
  262. package/select/types.d.ts +16 -17
  263. package/sidenav/Icons.d.ts +7 -0
  264. package/sidenav/Icons.js +47 -0
  265. package/sidenav/Sidenav.accessibility.test.js +59 -0
  266. package/sidenav/Sidenav.d.ts +2 -2
  267. package/sidenav/Sidenav.js +83 -154
  268. package/sidenav/Sidenav.stories.tsx +164 -63
  269. package/sidenav/Sidenav.test.js +3 -10
  270. package/{layout → sidenav}/SidenavContext.d.ts +1 -1
  271. package/{layout → sidenav}/SidenavContext.js +3 -9
  272. package/sidenav/types.d.ts +31 -28
  273. package/slider/Slider.accessibility.test.js +104 -0
  274. package/slider/Slider.d.ts +2 -2
  275. package/slider/Slider.js +148 -181
  276. package/slider/Slider.test.js +185 -81
  277. package/slider/types.d.ts +7 -3
  278. package/spinner/Spinner.accessibility.test.js +96 -0
  279. package/spinner/Spinner.js +31 -75
  280. package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +53 -27
  281. package/spinner/Spinner.test.js +26 -35
  282. package/spinner/types.d.ts +3 -3
  283. package/status-light/StatusLight.accessibility.test.js +157 -0
  284. package/status-light/StatusLight.d.ts +4 -0
  285. package/status-light/StatusLight.js +51 -0
  286. package/status-light/StatusLight.stories.tsx +74 -0
  287. package/status-light/StatusLight.test.js +25 -0
  288. package/status-light/types.d.ts +17 -0
  289. package/status-light/types.js +5 -0
  290. package/switch/Switch.accessibility.test.js +89 -0
  291. package/switch/Switch.d.ts +3 -3
  292. package/switch/Switch.js +113 -150
  293. package/switch/Switch.stories.tsx +33 -34
  294. package/switch/Switch.test.js +70 -102
  295. package/switch/types.d.ts +8 -3
  296. package/table/DropdownTheme.js +62 -0
  297. package/table/Table.accessibility.test.js +82 -0
  298. package/table/Table.d.ts +6 -2
  299. package/table/Table.js +78 -35
  300. package/table/Table.stories.tsx +651 -0
  301. package/table/Table.test.js +95 -8
  302. package/table/types.d.ts +34 -6
  303. package/tabs/Tab.d.ts +4 -0
  304. package/tabs/Tab.js +116 -0
  305. package/tabs/Tabs.accessibility.test.js +56 -0
  306. package/tabs/Tabs.js +314 -141
  307. package/tabs/Tabs.stories.tsx +120 -6
  308. package/tabs/Tabs.test.js +223 -69
  309. package/tabs/types.d.ts +28 -18
  310. package/tag/Tag.accessibility.test.js +69 -0
  311. package/tag/Tag.js +29 -61
  312. package/tag/Tag.stories.tsx +14 -1
  313. package/tag/Tag.test.js +20 -31
  314. package/tag/types.d.ts +7 -7
  315. package/text-input/Suggestion.js +40 -28
  316. package/text-input/Suggestions.d.ts +4 -0
  317. package/text-input/Suggestions.js +86 -0
  318. package/text-input/TextInput.accessibility.test.js +321 -0
  319. package/text-input/TextInput.js +303 -497
  320. package/text-input/TextInput.stories.tsx +266 -274
  321. package/text-input/TextInput.test.js +1419 -1375
  322. package/text-input/types.d.ts +43 -16
  323. package/textarea/Textarea.accessibility.test.js +155 -0
  324. package/textarea/Textarea.js +70 -113
  325. package/textarea/Textarea.stories.tsx +174 -0
  326. package/textarea/Textarea.test.js +152 -183
  327. package/textarea/types.d.ts +9 -5
  328. package/toggle-group/ToggleGroup.accessibility.test.js +107 -0
  329. package/toggle-group/ToggleGroup.d.ts +2 -2
  330. package/toggle-group/ToggleGroup.js +92 -106
  331. package/toggle-group/ToggleGroup.stories.tsx +49 -4
  332. package/toggle-group/ToggleGroup.test.js +69 -88
  333. package/toggle-group/types.d.ts +26 -17
  334. package/typography/Typography.accessibility.test.js +339 -0
  335. package/typography/Typography.d.ts +2 -2
  336. package/typography/Typography.js +15 -123
  337. package/typography/Typography.stories.tsx +1 -1
  338. package/typography/types.d.ts +1 -1
  339. package/useTheme.d.ts +1147 -1
  340. package/useTheme.js +2 -9
  341. package/useTranslatedLabels.d.ts +84 -1
  342. package/useTranslatedLabels.js +1 -7
  343. package/utils/BaseTypography.d.ts +21 -0
  344. package/utils/BaseTypography.js +94 -0
  345. package/utils/FocusLock.d.ts +13 -0
  346. package/utils/FocusLock.js +124 -0
  347. package/wizard/Wizard.accessibility.test.js +55 -0
  348. package/wizard/Wizard.js +16 -51
  349. package/wizard/Wizard.stories.tsx +20 -0
  350. package/wizard/Wizard.test.js +54 -81
  351. package/wizard/types.d.ts +9 -10
  352. package/card/ice-cream.jpg +0 -0
  353. package/common/OpenSans.css +0 -81
  354. package/common/RequiredComponent.js +0 -32
  355. package/common/fonts/OpenSans-Bold.ttf +0 -0
  356. package/common/fonts/OpenSans-BoldItalic.ttf +0 -0
  357. package/common/fonts/OpenSans-ExtraBold.ttf +0 -0
  358. package/common/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  359. package/common/fonts/OpenSans-Italic.ttf +0 -0
  360. package/common/fonts/OpenSans-Light.ttf +0 -0
  361. package/common/fonts/OpenSans-LightItalic.ttf +0 -0
  362. package/common/fonts/OpenSans-Regular.ttf +0 -0
  363. package/common/fonts/OpenSans-SemiBold.ttf +0 -0
  364. package/common/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  365. package/number-input/numberInputContextTypes.d.ts +0 -19
  366. package/resultsetTable/ResultsetTable.d.ts +0 -4
  367. package/resultsetTable/ResultsetTable.js +0 -254
  368. package/resultsetTable/ResultsetTable.test.js +0 -348
  369. package/slider/Slider.stories.tsx +0 -177
  370. package/table/Table.stories.jsx +0 -277
  371. package/tabs-nav/NavTabs.d.ts +0 -8
  372. package/tabs-nav/Tab.js +0 -130
  373. package/textarea/Textarea.stories.jsx +0 -157
  374. /package/{resultsetTable → action-icon}/types.js +0 -0
  375. /package/{tabs-nav → container}/types.js +0 -0
  376. /package/{number-input/numberInputContextTypes.js → contextual-menu/types.js} +0 -0
  377. /package/{tabs-nav → nav-tabs}/Tab.d.ts +0 -0
@@ -1,8 +1,11 @@
1
1
  import React from "react";
2
2
  import DxcSidenav from "./Sidenav";
3
+ import DxcSelect from "../select/Select";
4
+ import DxcInset from "../inset/Inset";
3
5
  import Title from "../../.storybook/components/Title";
4
6
  import ExampleContainer from "../../.storybook/components/ExampleContainer";
5
7
  import { userEvent, within } from "@storybook/testing-library";
8
+ import { HalstackProvider } from "../HalstackContext";
6
9
 
7
10
  export default {
8
11
  title: "Sidenav",
@@ -10,9 +13,25 @@ export default {
10
13
  };
11
14
 
12
15
  const iconSVG = (
13
- <svg viewBox="0 0 24 24" fill="currentColor">
14
- <path d="M0 0h24v24H0z" fill="none" />
15
- <path d="M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35z" />
16
+ <svg
17
+ version="1.1"
18
+ x="0px"
19
+ y="0px"
20
+ width="438.536px"
21
+ height="438.536px"
22
+ viewBox="0 0 438.536 438.536"
23
+ fill="currentColor"
24
+ >
25
+ <g>
26
+ <path
27
+ d="M414.41,24.123C398.333,8.042,378.963,0,356.315,0H82.228C59.58,0,40.21,8.042,24.126,24.123
28
+ C8.045,40.207,0.003,59.576,0.003,82.225v274.084c0,22.647,8.042,42.018,24.123,58.102c16.084,16.084,35.454,24.126,58.102,24.126
29
+ h274.084c22.648,0,42.018-8.042,58.095-24.126c16.084-16.084,24.126-35.454,24.126-58.102V82.225
30
+ C438.532,59.576,430.49,40.204,414.41,24.123z M373.155,225.548h-49.963V406.84h-74.802V225.548H210.99V163.02h37.401v-37.402
31
+ c0-26.838,6.283-47.107,18.843-60.813c12.559-13.706,33.304-20.555,62.242-20.555h49.963v62.526h-31.401
32
+ c-10.663,0-17.467,1.853-20.417,5.568c-2.949,3.711-4.428,10.23-4.428,19.558v31.119h56.534L373.155,225.548z"
33
+ />
34
+ </g>
16
35
  </svg>
17
36
  );
18
37
 
@@ -20,11 +39,17 @@ const TitleComponent = () => {
20
39
  return <DxcSidenav.Title>Dxc technology</DxcSidenav.Title>;
21
40
  };
22
41
 
42
+ const opinionatedTheme = {
43
+ sidenav: {
44
+ baseColor: "#f2f2f2",
45
+ },
46
+ };
47
+
23
48
  export const Chromatic = () => (
24
49
  <>
25
50
  <ExampleContainer>
26
51
  <Title title="Default sidenav" theme="light" level={4} />
27
- <DxcSidenav title={<TitleComponent />}>
52
+ <DxcSidenav title={<DxcSidenav.Title>Dxc technology</DxcSidenav.Title>}>
28
53
  <DxcSidenav.Section>
29
54
  <p>
30
55
  Lorem ipsum dolor sit amet, consectetur adipiscing elit. In ullamcorper consectetur mollis. Suspendisse
@@ -41,12 +66,18 @@ export const Chromatic = () => (
41
66
  </DxcSidenav.Group>
42
67
  </DxcSidenav.Section>
43
68
  <DxcSidenav.Section>
44
- <DxcSidenav.Group collapsable={true} title="Section Group" icon={iconSVG}>
69
+ <DxcSidenav.Group
70
+ collapsable={true}
71
+ title="Section Group"
72
+ icon="https://cdn-icons-png.flaticon.com/512/5039/5039041.png"
73
+ >
45
74
  <DxcSidenav.Link selected>Group Link</DxcSidenav.Link>
46
75
  <DxcSidenav.Link icon={iconSVG}>Group Link</DxcSidenav.Link>
47
76
  </DxcSidenav.Group>
48
- <DxcSidenav.Link icon={iconSVG}>Single Link</DxcSidenav.Link>
49
- <DxcSidenav.Link>Single Link</DxcSidenav.Link>
77
+ <DxcSidenav.Link icon="https://upload.wikimedia.org/wikipedia/commons/7/73/Flat_tick_icon.svg" newWindow>
78
+ Single Link
79
+ </DxcSidenav.Link>
80
+ <DxcSidenav.Link newWindow>Single Link</DxcSidenav.Link>
50
81
  <DxcSidenav.Group collapsable={false} title="Section Group">
51
82
  <DxcSidenav.Link>Group Link</DxcSidenav.Link>
52
83
  <DxcSidenav.Link>Group Link</DxcSidenav.Link>
@@ -55,53 +86,78 @@ export const Chromatic = () => (
55
86
  </DxcSidenav.Section>
56
87
  </DxcSidenav>
57
88
  </ExampleContainer>
89
+ <ExampleContainer pseudoState="pseudo-focus">
90
+ <Title title="Focused options sidenav" theme="light" level={4} />
91
+ <DxcSidenav title={<DxcSidenav.Title>Dxc technology</DxcSidenav.Title>}>
92
+ <DxcSidenav.Section>
93
+ <p>
94
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. In ullamcorper consectetur mollis. Suspendisse
95
+ vitae lacinia libero.
96
+ </p>
97
+ </DxcSidenav.Section>
98
+ <DxcSidenav.Section>
99
+ <DxcSidenav.Link>Single Link</DxcSidenav.Link>
100
+ <DxcSidenav.Group collapsable={true} title="Collapsable Group">
101
+ <DxcSidenav.Link icon="https://cdn-icons-png.flaticon.com/512/5039/5039041.png">Group Link</DxcSidenav.Link>
102
+ </DxcSidenav.Group>
103
+ </DxcSidenav.Section>
104
+ <DxcSidenav.Section>
105
+ <DxcSidenav.Group collapsable={true} title="Collapsable Group">
106
+ <DxcSidenav.Link selected icon={iconSVG}>
107
+ Group Link
108
+ </DxcSidenav.Link>
109
+ </DxcSidenav.Group>
110
+ <DxcSidenav.Group collapsable={false} title="Section Group">
111
+ <DxcSidenav.Link>Group Link</DxcSidenav.Link>
112
+ </DxcSidenav.Group>
113
+ </DxcSidenav.Section>
114
+ </DxcSidenav>
115
+ </ExampleContainer>
116
+ <Title title="Opinionated theme" theme="light" level={2} />
117
+ <ExampleContainer>
118
+ <HalstackProvider theme={opinionatedTheme}>
119
+ <DxcSidenav title={<TitleComponent />}>
120
+ <DxcSidenav.Section>
121
+ <p>
122
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. In ullamcorper consectetur mollis. Suspendisse
123
+ vitae lacinia libero.
124
+ </p>
125
+ </DxcSidenav.Section>
126
+ <DxcSidenav.Section>
127
+ <DxcSidenav.Link>Single Link</DxcSidenav.Link>
128
+ <DxcSidenav.Group collapsable={false} title="Single Group" icon={iconSVG}>
129
+ <DxcSidenav.Link>Group Link</DxcSidenav.Link>
130
+ <DxcSidenav.Link>Group Link</DxcSidenav.Link>
131
+ <DxcSidenav.Link>Group Link</DxcSidenav.Link>
132
+ <DxcSidenav.Link>Group Link</DxcSidenav.Link>
133
+ </DxcSidenav.Group>
134
+ </DxcSidenav.Section>
135
+ <DxcSidenav.Section>
136
+ <DxcSidenav.Group collapsable={true} title="Section Group" icon={iconSVG}>
137
+ <DxcSidenav.Link selected>Group Link</DxcSidenav.Link>
138
+ <DxcSidenav.Link icon={iconSVG}>Group Link</DxcSidenav.Link>
139
+ </DxcSidenav.Group>
140
+ <DxcSidenav.Link icon={iconSVG}>Single Link</DxcSidenav.Link>
141
+ <DxcSidenav.Link>Single Link</DxcSidenav.Link>
142
+ <DxcSidenav.Group collapsable={false} title="Section Group">
143
+ <DxcSidenav.Link>Group Link</DxcSidenav.Link>
144
+ <DxcSidenav.Link>Group Link</DxcSidenav.Link>
145
+ <DxcSidenav.Link>Group Link</DxcSidenav.Link>
146
+ </DxcSidenav.Group>
147
+ </DxcSidenav.Section>
148
+ </DxcSidenav>
149
+ </HalstackProvider>
150
+ </ExampleContainer>
58
151
  </>
59
152
  );
60
153
 
61
- export const FocusedSidenav = () => (
62
- <ExampleContainer pseudoState="pseudo-focus">
63
- <Title title="Default sidenav" theme="light" level={4} />
64
- <DxcSidenav title={<TitleComponent />}>
65
- <DxcSidenav.Section>
66
- <p>
67
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. In ullamcorper consectetur mollis. Suspendisse vitae
68
- lacinia libero.
69
- </p>
70
- </DxcSidenav.Section>
71
- <DxcSidenav.Section>
72
- <DxcSidenav.Link>Single Link</DxcSidenav.Link>
73
- <DxcSidenav.Link>Single Link</DxcSidenav.Link>
74
- <DxcSidenav.Group collapsable={true} title="Collapsable Group">
75
- <DxcSidenav.Link>Group Link</DxcSidenav.Link>
76
- <DxcSidenav.Link>Group Link</DxcSidenav.Link>
77
- <DxcSidenav.Link>Group Link</DxcSidenav.Link>
78
- <DxcSidenav.Link>Group Link</DxcSidenav.Link>
79
- </DxcSidenav.Group>
80
- </DxcSidenav.Section>
81
- <DxcSidenav.Section>
82
- <DxcSidenav.Group collapsable={true} title="Collapsable Group">
83
- <DxcSidenav.Link selected>Group Link</DxcSidenav.Link>
84
- <DxcSidenav.Link>Group Link</DxcSidenav.Link>
85
- </DxcSidenav.Group>
86
- <DxcSidenav.Link>Single Link</DxcSidenav.Link>
87
- <DxcSidenav.Link>Single Link</DxcSidenav.Link>
88
- <DxcSidenav.Group collapsable={false} title="Section Group">
89
- <DxcSidenav.Link>Group Link</DxcSidenav.Link>
90
- <DxcSidenav.Link>Group Link</DxcSidenav.Link>
91
- <DxcSidenav.Link>Group Link</DxcSidenav.Link>
92
- </DxcSidenav.Group>
93
- </DxcSidenav.Section>
94
- </DxcSidenav>
95
- </ExampleContainer>
96
- );
97
-
98
- const CollapsedGroup = () => (
154
+ const CollapsedGroupSidenav = () => (
99
155
  <>
100
156
  <ExampleContainer>
101
- <Title title="Default sidenav" theme="light" level={4} />
102
- <DxcSidenav title={<TitleComponent />}>
157
+ <Title title="Collapsed group with a selected link" theme="light" level={4} />
158
+ <DxcSidenav title={<DxcSidenav.Title>Dxc technology</DxcSidenav.Title>}>
103
159
  <DxcSidenav.Section>
104
- <DxcSidenav.Group collapsable={true} title="Collapsable Group" icon={iconSVG}>
160
+ <DxcSidenav.Group collapsable={true} title="Collapsed Group" icon={iconSVG}>
105
161
  <DxcSidenav.Link>Group Link</DxcSidenav.Link>
106
162
  <DxcSidenav.Link>Group Link</DxcSidenav.Link>
107
163
  <DxcSidenav.Link>Group Link</DxcSidenav.Link>
@@ -109,11 +165,11 @@ const CollapsedGroup = () => (
109
165
  </DxcSidenav.Group>
110
166
  </DxcSidenav.Section>
111
167
  <DxcSidenav.Section>
112
- <DxcSidenav.Group collapsable={true} title="Collapsable Group">
113
- <DxcSidenav.Link selected>Group Link</DxcSidenav.Link>
168
+ <DxcSidenav.Group collapsable={true} title="Collapsed Group">
114
169
  <DxcSidenav.Link>Group Link</DxcSidenav.Link>
170
+ <DxcSidenav.Link selected>Group Link</DxcSidenav.Link>
115
171
  </DxcSidenav.Group>
116
- <DxcSidenav.Group collapsable={false} title="Section Group">
172
+ <DxcSidenav.Group collapsable={true} title="Section Group">
117
173
  <DxcSidenav.Link>Group Link</DxcSidenav.Link>
118
174
  <DxcSidenav.Link>Group Link</DxcSidenav.Link>
119
175
  <DxcSidenav.Link>Group Link</DxcSidenav.Link>
@@ -124,14 +180,14 @@ const CollapsedGroup = () => (
124
180
  </>
125
181
  );
126
182
 
127
- const HoverSidenav = () => (
183
+ const HoveredGroupSidenav = () => (
128
184
  <ExampleContainer pseudoState="pseudo-hover">
129
- <Title title="Default sidenav" theme="light" level={4} />
130
- <DxcSidenav title={<TitleComponent />}>
185
+ <Title title="Hover state for groups (selected and not)" theme="light" level={4} />
186
+ <DxcSidenav title={<DxcSidenav.Title>Dxc technology</DxcSidenav.Title>}>
131
187
  <DxcSidenav.Section>
132
188
  <DxcSidenav.Link>Single Link</DxcSidenav.Link>
133
189
  <DxcSidenav.Link>Single Link</DxcSidenav.Link>
134
- <DxcSidenav.Group collapsable={true} title="Collapsable Group">
190
+ <DxcSidenav.Group collapsable={true} title="Collapsed Group">
135
191
  <DxcSidenav.Link selected>Group Link</DxcSidenav.Link>
136
192
  <DxcSidenav.Link>Group Link</DxcSidenav.Link>
137
193
  <DxcSidenav.Link>Group Link</DxcSidenav.Link>
@@ -145,36 +201,81 @@ const HoverSidenav = () => (
145
201
  </DxcSidenav.Group>
146
202
  <DxcSidenav.Link>Single Link</DxcSidenav.Link>
147
203
  <DxcSidenav.Link>Single Link</DxcSidenav.Link>
148
- <DxcSidenav.Group collapsable={true} title="Collapsable Group">
204
+ <DxcSidenav.Group collapsable={true} title="Collapsed Group">
149
205
  <DxcSidenav.Link>Group Link</DxcSidenav.Link>
150
206
  <DxcSidenav.Link>Group Link</DxcSidenav.Link>
151
207
  <DxcSidenav.Link>Group Link</DxcSidenav.Link>
152
208
  </DxcSidenav.Group>
209
+ <DxcSidenav.Group collapsable={true} title="Collapsed Group">
210
+ <DxcSidenav.Link>Group Link</DxcSidenav.Link>
211
+ <DxcSidenav.Link>Group Link</DxcSidenav.Link>
212
+ <DxcSidenav.Link>Group Link</DxcSidenav.Link>
213
+ </DxcSidenav.Group>
214
+ </DxcSidenav.Section>
215
+ </DxcSidenav>
216
+ </ExampleContainer>
217
+ );
153
218
 
154
- <DxcSidenav.Group collapsable={true} title="Collapsable Group">
219
+ const ActiveGroupSidenav = () => (
220
+ <ExampleContainer pseudoState="pseudo-active">
221
+ <Title title="Active state for groups (selected and not)" theme="light" level={4} />
222
+ <DxcSidenav title={<DxcSidenav.Title>Dxc technology</DxcSidenav.Title>}>
223
+ <DxcSidenav.Section>
224
+ <DxcInset space="1rem">
225
+ <DxcSelect
226
+ defaultValue="1"
227
+ options={[
228
+ { label: "v1.0.0", value: "1" },
229
+ { label: "v2.0.0", value: "2" },
230
+ { label: "v3.0.0", value: "3" },
231
+ { label: "v4.0.0", value: "4" },
232
+ ]}
233
+ size="fillParent"
234
+ />
235
+ </DxcInset>
236
+ </DxcSidenav.Section>
237
+ <DxcSidenav.Section>
238
+ <DxcSidenav.Group collapsable={true} title="Collapsed Group">
239
+ <DxcSidenav.Link selected>Group Link</DxcSidenav.Link>
155
240
  <DxcSidenav.Link>Group Link</DxcSidenav.Link>
156
241
  <DxcSidenav.Link>Group Link</DxcSidenav.Link>
157
242
  <DxcSidenav.Link>Group Link</DxcSidenav.Link>
158
243
  </DxcSidenav.Group>
159
244
  </DxcSidenav.Section>
245
+ <DxcSidenav.Section>
246
+ <DxcSidenav.Group collapsable={true} title="Not Collapsed Group">
247
+ <DxcSidenav.Link selected>Group Link</DxcSidenav.Link>
248
+ <DxcSidenav.Link>Group Link</DxcSidenav.Link>
249
+ </DxcSidenav.Group>
250
+ <DxcSidenav.Link>Single Link</DxcSidenav.Link>
251
+ <DxcSidenav.Link>Single Link</DxcSidenav.Link>
252
+ </DxcSidenav.Section>
160
253
  </DxcSidenav>
161
254
  </ExampleContainer>
162
255
  );
163
256
 
164
- export const CollapseGroup = CollapsedGroup.bind({});
165
- CollapseGroup.play = async ({ canvasElement }) => {
257
+ export const CollapsableGroup = CollapsedGroupSidenav.bind({});
258
+ CollapsableGroup.play = async ({ canvasElement }) => {
166
259
  const canvas = within(canvasElement);
167
- const collapsableGroups = canvas.getAllByText("Collapsable Group");
260
+ const collapsableGroups = canvas.getAllByText("Collapsed Group");
168
261
  collapsableGroups.forEach((group) => {
169
262
  userEvent.click(group);
170
263
  });
171
264
  };
172
265
 
173
- export const CollapseHoverGroup = HoverSidenav.bind({});
174
- CollapseHoverGroup.play = async ({ canvasElement }) => {
266
+ export const CollapsedHoverGroup = HoveredGroupSidenav.bind({});
267
+ CollapsedHoverGroup.play = async ({ canvasElement }) => {
175
268
  const canvas = within(canvasElement);
176
- const collapsableGroups = canvas.getAllByText("Collapsable Group");
269
+ const collapsableGroups = canvas.getAllByText("Collapsed Group");
177
270
  collapsableGroups.forEach((group) => {
178
271
  userEvent.click(group);
179
272
  });
273
+ await new Promise((resolve) => setTimeout(resolve, 1000));
180
274
  };
275
+
276
+ export const CollapsedActiveGroup = ActiveGroupSidenav.bind({});
277
+ CollapsedActiveGroup.play = async ({ canvasElement }) => {
278
+ const canvas = within(canvasElement);
279
+ const collapsableGroups = canvas.getAllByText("Collapsed Group");
280
+ userEvent.click(collapsableGroups[0]);
281
+ };
@@ -1,20 +1,15 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  var _react = _interopRequireDefault(require("react"));
6
-
7
5
  var _react2 = require("@testing-library/react");
8
-
9
6
  var _Sidenav = _interopRequireDefault(require("./Sidenav.tsx"));
10
-
11
7
  describe("Sidenav component tests", function () {
12
8
  test("Sidenav renders anchors and Section correctly", function () {
13
9
  var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Sidenav["default"], null, /*#__PURE__*/_react["default"].createElement(_Sidenav["default"].Section, null, /*#__PURE__*/_react["default"].createElement("p", null, "nav-content-test"), /*#__PURE__*/_react["default"].createElement(_Sidenav["default"].Link, {
14
- href: "#"
15
- }, "Link")))),
16
- getByText = _render.getByText;
17
-
10
+ href: "#"
11
+ }, "Link")))),
12
+ getByText = _render.getByText;
18
13
  expect(getByText("nav-content-test")).toBeTruthy();
19
14
  var link = getByText("Link");
20
15
  expect(link.closest("a").getAttribute("href")).toBe("#");
@@ -36,9 +31,7 @@ describe("Sidenav component tests", function () {
36
31
  }, "Lorem ipsum")))));
37
32
  expect(sidenav.getByText("Collapsable")).toBeTruthy();
38
33
  expect(sidenav.getAllByRole("button")[0].getAttribute("aria-expanded")).toBe("true");
39
-
40
34
  _react2.fireEvent.click(sidenav.getByText("Collapsable"));
41
-
42
35
  expect(sidenav.getAllByRole("button")[0].getAttribute("aria-expanded")).toBe("false");
43
36
  });
44
37
  });
@@ -1,5 +1,5 @@
1
1
  /// <reference types="react" />
2
- declare type SidenavContextType = (isSidenavVisible: boolean) => void;
2
+ type SidenavContextType = (isSidenavVisible: boolean) => void;
3
3
  export declare const SidenavContextProvider: import("react").Provider<SidenavContextType>;
4
4
  export declare const useResponsiveSidenavVisibility: () => SidenavContextType;
5
5
  export {};
@@ -4,16 +4,10 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.useResponsiveSidenavVisibility = exports.SidenavContextProvider = void 0;
7
-
8
7
  var _react = require("react");
9
-
10
8
  var SidenavContext = /*#__PURE__*/(0, _react.createContext)(null);
11
- var SidenavContextProvider = SidenavContext.Provider;
12
- exports.SidenavContextProvider = SidenavContextProvider;
13
-
14
- var useResponsiveSidenavVisibility = function useResponsiveSidenavVisibility() {
9
+ var SidenavContextProvider = exports.SidenavContextProvider = SidenavContext.Provider;
10
+ var useResponsiveSidenavVisibility = exports.useResponsiveSidenavVisibility = function useResponsiveSidenavVisibility() {
15
11
  var changeResponsiveSidenavVisibility = (0, _react.useContext)(SidenavContext);
16
12
  return changeResponsiveSidenavVisibility;
17
- };
18
-
19
- exports.useResponsiveSidenavVisibility = useResponsiveSidenavVisibility;
13
+ };
@@ -1,50 +1,37 @@
1
1
  /// <reference types="react" />
2
- declare type SVG = React.ReactNode & React.SVGProps<SVGSVGElement>;
3
- declare type SidenavPropsType = {
4
- /**
5
- * The area inside the sidenav. This area can be used to render the content inside the sidenav.
6
- */
7
- children: React.ReactNode;
8
- /**
9
- * The area assigned to render the sidenav title. It is highly recommended to use the sidenav title.
10
- */
11
- title?: React.ReactNode;
12
- };
13
- export declare type SidenavTitlePropsType = {
2
+ type SVG = React.ReactNode & React.SVGProps<SVGSVGElement>;
3
+ export type SidenavTitlePropsType = {
14
4
  /**
15
5
  * The area inside the sidenav title. This area can be used to render custom content.
16
6
  */
17
7
  children: React.ReactNode;
18
8
  };
19
- export declare type SidenavSectionPropsType = {
9
+ export type SidenavSectionPropsType = {
20
10
  /**
21
11
  * The area inside the sidenav section. This area can be used to render sidenav groups, links and custom content.
22
12
  */
23
13
  children: React.ReactNode;
24
14
  };
25
- export declare type SidenavGroupPropsType = {
26
- /**
27
- * The area inside the sidenav group. This area can be used to render sidenav links.
28
- */
29
- children: React.ReactNode;
15
+ export type SidenavGroupPropsType = {
30
16
  /**
31
17
  * The title of the sidenav group.
32
18
  */
33
19
  title?: string;
34
20
  /**
35
- * If true the sidenav group title will be considered a button and the group will be collapsable.
21
+ * If true, the sidenav group will be a button that will allow you to collapse the links contained within it.
22
+ * In addition, if it's collapsed and contains the currently selected link, the group title will also be marked as selected.
36
23
  */
37
24
  collapsable?: boolean;
38
25
  /**
39
26
  * The icon to be displayed next to the title of the group.
40
27
  */
41
28
  icon?: string | SVG;
42
- };
43
- export declare type SidenavLinkPropsType = {
44
29
  /**
45
- * Value of the tabindex.
30
+ * The area inside the sidenav group. This area can be used to render sidenav links.
46
31
  */
47
- tabIndex?: number;
32
+ children: React.ReactNode;
33
+ };
34
+ export type SidenavLinkPropsType = {
48
35
  /**
49
36
  * Page to be opened when the user clicks on the link.
50
37
  */
@@ -58,16 +45,32 @@ export declare type SidenavLinkPropsType = {
58
45
  */
59
46
  icon?: string | SVG;
60
47
  /**
61
- * If true, the link will be marked as selected. This can also affect the group if it is closed to indicate that one of its links is selected.
48
+ * If true, the link will be marked as selected. Moreover, in that same case,
49
+ * if it is contained within a collapsed group, and consequently, the currently selected link is not visible,
50
+ * the group title will appear as selected too.
62
51
  */
63
52
  selected?: boolean;
53
+ /**
54
+ * This function will be called when the user clicks the link and the event will be passed to this function.
55
+ */
56
+ onClick?: (event: React.MouseEvent<HTMLAnchorElement>) => void;
64
57
  /**
65
58
  * The area inside the sidenav link.
66
59
  */
67
- children: string;
60
+ children: React.ReactNode;
61
+ /**
62
+ * Value of the tabindex.
63
+ */
64
+ tabIndex?: number;
65
+ };
66
+ type Props = {
67
+ /**
68
+ * The area assigned to render the sidenav title. It is highly recommended to use the sidenav title.
69
+ */
70
+ title?: React.ReactNode;
68
71
  /**
69
- * This function will be called when the user clicks the link.
72
+ * The area inside the sidenav. This area can be used to render the content inside the sidenav.
70
73
  */
71
- onClick?: ($event: any) => void;
74
+ children: React.ReactNode;
72
75
  };
73
- export default SidenavPropsType;
76
+ export default Props;
@@ -0,0 +1,104 @@
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 _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
7
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var _react2 = require("@testing-library/react");
10
+ var _jestAxe = require("jest-axe");
11
+ var _Slider = _interopRequireDefault(require("./Slider.tsx"));
12
+ // Mocking DOMRect for Radix Primitive Popover
13
+ global.globalThis = global;
14
+ global.DOMRect = {
15
+ fromRect: function fromRect() {
16
+ return {
17
+ top: 0,
18
+ left: 0,
19
+ bottom: 0,
20
+ right: 0,
21
+ width: 0,
22
+ height: 0
23
+ };
24
+ }
25
+ };
26
+ global.ResizeObserver = /*#__PURE__*/function () {
27
+ function ResizeObserver() {
28
+ (0, _classCallCheck2["default"])(this, ResizeObserver);
29
+ }
30
+ (0, _createClass2["default"])(ResizeObserver, [{
31
+ key: "observe",
32
+ value: function observe() {}
33
+ }, {
34
+ key: "unobserve",
35
+ value: function unobserve() {}
36
+ }, {
37
+ key: "disconnect",
38
+ value: function disconnect() {}
39
+ }]);
40
+ return ResizeObserver;
41
+ }();
42
+ describe("Slider component accessibility tests", function () {
43
+ it("Should not have basic accessibility issues", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
44
+ var _render, container, results;
45
+ return _regenerator["default"].wrap(function _callee$(_context) {
46
+ while (1) switch (_context.prev = _context.next) {
47
+ case 0:
48
+ _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Slider["default"], {
49
+ helperText: "Helper Text",
50
+ margin: "medium",
51
+ name: "Name",
52
+ size: "medium",
53
+ label: "label",
54
+ step: 10,
55
+ minValue: 0,
56
+ maxValue: 100,
57
+ value: 50,
58
+ showLimitsValues: true,
59
+ showInput: true,
60
+ marks: true
61
+ })), container = _render.container;
62
+ _context.next = 3;
63
+ return (0, _jestAxe.axe)(container);
64
+ case 3:
65
+ results = _context.sent;
66
+ expect(results).toHaveNoViolations();
67
+ case 5:
68
+ case "end":
69
+ return _context.stop();
70
+ }
71
+ }, _callee);
72
+ })));
73
+ it("Should not have basic accessibility issues for disabled mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
74
+ var _render2, container, results;
75
+ return _regenerator["default"].wrap(function _callee2$(_context2) {
76
+ while (1) switch (_context2.prev = _context2.next) {
77
+ case 0:
78
+ _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Slider["default"], {
79
+ helperText: "Helper Text",
80
+ margin: "medium",
81
+ name: "Name",
82
+ size: "medium",
83
+ label: "label",
84
+ step: 10,
85
+ minValue: 0,
86
+ maxValue: 100,
87
+ value: 50,
88
+ showLimitsValues: true,
89
+ showInput: true,
90
+ marks: true,
91
+ disabled: true
92
+ })), container = _render2.container;
93
+ _context2.next = 3;
94
+ return (0, _jestAxe.axe)(container);
95
+ case 3:
96
+ results = _context2.sent;
97
+ expect(results).toHaveNoViolations();
98
+ case 5:
99
+ case "end":
100
+ return _context2.stop();
101
+ }
102
+ }, _callee2);
103
+ })));
104
+ });
@@ -1,4 +1,4 @@
1
- /// <reference types="react" />
1
+ import React from "react";
2
2
  import SliderPropsType from "./types";
3
- declare const DxcSlider: ({ label, name, defaultValue, value, helperText, minValue, maxValue, step, showLimitsValues, showInput, disabled, marks, onChange, onDragEnd, labelFormatCallback, margin, size, }: SliderPropsType) => JSX.Element;
3
+ declare const DxcSlider: React.ForwardRefExoticComponent<SliderPropsType & React.RefAttributes<HTMLDivElement>>;
4
4
  export default DxcSlider;