@dxc-technology/halstack-react 0.0.0-509f1eb → 0.0.0-50acff4

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 (380) hide show
  1. package/BackgroundColorContext.js +1 -1
  2. package/HalstackContext.d.ts +31 -20
  3. package/HalstackContext.js +6 -6
  4. package/accordion/Accordion.accessibility.test.d.ts +1 -0
  5. package/accordion/Accordion.accessibility.test.js +71 -0
  6. package/accordion/Accordion.js +17 -31
  7. package/accordion/Accordion.stories.tsx +7 -49
  8. package/accordion/Accordion.test.d.ts +1 -0
  9. package/accordion/Accordion.test.js +3 -3
  10. package/accordion/types.d.ts +1 -1
  11. package/accordion-group/AccordionGroup.accessibility.test.d.ts +1 -0
  12. package/accordion-group/AccordionGroup.accessibility.test.js +82 -0
  13. package/accordion-group/AccordionGroup.d.ts +2 -3
  14. package/accordion-group/AccordionGroup.js +4 -4
  15. package/accordion-group/AccordionGroup.stories.tsx +23 -23
  16. package/accordion-group/AccordionGroup.test.d.ts +1 -0
  17. package/accordion-group/AccordionGroup.test.js +5 -9
  18. package/accordion-group/AccordionGroupAccordion.js +3 -3
  19. package/accordion-group/AccordionGroupContext.d.ts +3 -0
  20. package/accordion-group/AccordionGroupContext.js +8 -0
  21. package/accordion-group/types.d.ts +1 -1
  22. package/action-icon/ActionIcon.accessibility.test.d.ts +1 -0
  23. package/action-icon/ActionIcon.accessibility.test.js +63 -0
  24. package/action-icon/ActionIcon.d.ts +2 -2
  25. package/action-icon/ActionIcon.js +11 -6
  26. package/action-icon/ActionIcon.stories.tsx +41 -0
  27. package/action-icon/ActionIcon.test.d.ts +1 -0
  28. package/action-icon/ActionIcon.test.js +64 -0
  29. package/action-icon/types.d.ts +1 -1
  30. package/alert/Alert.accessibility.test.d.ts +1 -0
  31. package/alert/Alert.accessibility.test.js +95 -0
  32. package/alert/Alert.js +21 -72
  33. package/alert/Alert.test.d.ts +1 -0
  34. package/alert/Alert.test.js +1 -1
  35. package/badge/Badge.accessibility.test.d.ts +1 -0
  36. package/badge/Badge.accessibility.test.js +129 -0
  37. package/badge/Badge.d.ts +1 -1
  38. package/badge/Badge.js +141 -28
  39. package/badge/Badge.stories.tsx +210 -0
  40. package/badge/Badge.test.d.ts +1 -0
  41. package/badge/Badge.test.js +30 -0
  42. package/badge/types.d.ts +52 -3
  43. package/box/Box.accessibility.test.d.ts +1 -0
  44. package/box/Box.accessibility.test.js +33 -0
  45. package/box/Box.js +1 -1
  46. package/box/Box.test.d.ts +1 -0
  47. package/box/Box.test.js +1 -1
  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 +168 -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/breadcrumbs/types.js +5 -0
  61. package/bulleted-list/BulletedList.accessibility.test.d.ts +1 -0
  62. package/bulleted-list/BulletedList.accessibility.test.js +119 -0
  63. package/bulleted-list/BulletedList.js +7 -4
  64. package/bulleted-list/BulletedList.stories.tsx +1 -1
  65. package/button/Button.accessibility.test.d.ts +1 -0
  66. package/button/Button.accessibility.test.js +127 -0
  67. package/button/Button.js +5 -4
  68. package/button/Button.stories.tsx +34 -53
  69. package/button/Button.test.d.ts +1 -0
  70. package/button/Button.test.js +4 -2
  71. package/button/types.d.ts +1 -1
  72. package/card/Card.accessibility.test.d.ts +1 -0
  73. package/card/Card.accessibility.test.js +36 -0
  74. package/card/Card.js +3 -2
  75. package/card/Card.stories.tsx +1 -1
  76. package/card/Card.test.d.ts +1 -0
  77. package/card/Card.test.js +1 -1
  78. package/checkbox/Checkbox.accessibility.test.d.ts +1 -0
  79. package/checkbox/Checkbox.accessibility.test.js +87 -0
  80. package/checkbox/Checkbox.js +10 -13
  81. package/checkbox/Checkbox.test.d.ts +1 -0
  82. package/checkbox/Checkbox.test.js +1 -1
  83. package/chip/Chip.accessibility.test.d.ts +1 -0
  84. package/chip/Chip.accessibility.test.js +67 -0
  85. package/chip/Chip.js +11 -6
  86. package/chip/Chip.stories.tsx +6 -25
  87. package/chip/Chip.test.d.ts +1 -0
  88. package/chip/Chip.test.js +5 -5
  89. package/common/coreTokens.js +4 -4
  90. package/common/variables.d.ts +31 -20
  91. package/common/variables.js +101 -90
  92. package/container/Container.js +1 -1
  93. package/container/Container.stories.tsx +3 -3
  94. package/contextual-menu/ContextualMenu.accessibility.test.d.ts +1 -0
  95. package/contextual-menu/ContextualMenu.accessibility.test.js +98 -0
  96. package/contextual-menu/ContextualMenu.d.ts +5 -0
  97. package/contextual-menu/ContextualMenu.js +108 -0
  98. package/contextual-menu/ContextualMenu.stories.tsx +223 -0
  99. package/contextual-menu/ContextualMenu.test.d.ts +1 -0
  100. package/contextual-menu/ContextualMenu.test.js +247 -0
  101. package/contextual-menu/GroupItem.d.ts +4 -0
  102. package/contextual-menu/GroupItem.js +67 -0
  103. package/contextual-menu/ItemAction.d.ts +4 -0
  104. package/contextual-menu/ItemAction.js +50 -0
  105. package/contextual-menu/MenuItem.d.ts +4 -0
  106. package/contextual-menu/MenuItem.js +29 -0
  107. package/contextual-menu/SingleItem.d.ts +4 -0
  108. package/contextual-menu/SingleItem.js +38 -0
  109. package/contextual-menu/types.d.ts +61 -0
  110. package/contextual-menu/types.js +5 -0
  111. package/date-input/Calendar.js +47 -31
  112. package/date-input/DateInput.accessibility.test.d.ts +1 -0
  113. package/date-input/DateInput.accessibility.test.js +229 -0
  114. package/date-input/DateInput.js +28 -23
  115. package/date-input/DateInput.stories.tsx +18 -12
  116. package/date-input/DateInput.test.d.ts +1 -0
  117. package/date-input/DateInput.test.js +39 -39
  118. package/date-input/DatePicker.js +13 -7
  119. package/date-input/YearPicker.js +10 -5
  120. package/date-input/types.d.ts +2 -2
  121. package/dialog/Dialog.accessibility.test.d.ts +1 -0
  122. package/dialog/Dialog.accessibility.test.js +69 -0
  123. package/dialog/Dialog.js +9 -20
  124. package/dialog/Dialog.stories.tsx +8 -4
  125. package/dialog/Dialog.test.d.ts +1 -0
  126. package/dialog/Dialog.test.js +112 -49
  127. package/divider/Divider.accessibility.test.d.ts +1 -0
  128. package/divider/Divider.accessibility.test.js +33 -0
  129. package/divider/Divider.d.ts +4 -0
  130. package/divider/Divider.js +36 -0
  131. package/divider/Divider.stories.tsx +223 -0
  132. package/divider/Divider.test.d.ts +1 -0
  133. package/divider/Divider.test.js +38 -0
  134. package/divider/types.d.ts +21 -0
  135. package/divider/types.js +5 -0
  136. package/dropdown/Dropdown.accessibility.test.d.ts +1 -0
  137. package/dropdown/Dropdown.accessibility.test.js +183 -0
  138. package/dropdown/Dropdown.js +37 -51
  139. package/dropdown/Dropdown.stories.tsx +16 -27
  140. package/dropdown/Dropdown.test.d.ts +1 -0
  141. package/dropdown/Dropdown.test.js +101 -72
  142. package/dropdown/DropdownMenu.js +4 -4
  143. package/dropdown/DropdownMenuItem.js +8 -4
  144. package/dropdown/types.d.ts +3 -5
  145. package/file-input/FileInput.accessibility.test.d.ts +1 -0
  146. package/file-input/FileInput.accessibility.test.js +167 -0
  147. package/file-input/FileInput.js +6 -47
  148. package/file-input/FileInput.test.d.ts +1 -0
  149. package/file-input/FileInput.test.js +51 -106
  150. package/file-input/FileItem.js +18 -28
  151. package/file-input/types.d.ts +0 -4
  152. package/footer/Footer.accessibility.test.d.ts +1 -0
  153. package/footer/Footer.accessibility.test.js +125 -0
  154. package/footer/Footer.d.ts +1 -1
  155. package/footer/Footer.js +31 -16
  156. package/footer/Footer.stories.tsx +58 -2
  157. package/footer/Footer.test.d.ts +1 -0
  158. package/footer/Footer.test.js +1 -1
  159. package/footer/Icons.d.ts +1 -0
  160. package/footer/Icons.js +52 -16
  161. package/footer/types.d.ts +7 -1
  162. package/grid/Grid.stories.tsx +3 -1
  163. package/header/Header.accessibility.test.d.ts +1 -0
  164. package/header/Header.accessibility.test.js +94 -0
  165. package/header/Header.js +12 -22
  166. package/header/Header.stories.tsx +17 -1
  167. package/header/Header.test.d.ts +1 -0
  168. package/header/Header.test.js +1 -1
  169. package/header/Icons.js +1 -6
  170. package/header/types.d.ts +2 -2
  171. package/heading/Heading.accessibility.test.d.ts +1 -0
  172. package/heading/Heading.accessibility.test.js +33 -0
  173. package/heading/Heading.js +1 -1
  174. package/heading/Heading.test.d.ts +1 -0
  175. package/heading/Heading.test.js +1 -14
  176. package/icon/Icon.accessibility.test.d.ts +1 -0
  177. package/icon/Icon.accessibility.test.js +30 -0
  178. package/icon/Icon.d.ts +4 -0
  179. package/icon/Icon.js +33 -0
  180. package/icon/Icon.stories.tsx +28 -0
  181. package/icon/types.d.ts +4 -0
  182. package/icon/types.js +5 -0
  183. package/image/Image.accessibility.test.d.ts +1 -0
  184. package/image/Image.accessibility.test.js +56 -0
  185. package/image/Image.js +1 -1
  186. package/image/Image.stories.tsx +3 -1
  187. package/layout/ApplicationLayout.d.ts +1 -1
  188. package/layout/ApplicationLayout.js +10 -7
  189. package/layout/Icons.d.ts +0 -1
  190. package/layout/Icons.js +1 -11
  191. package/link/Link.accessibility.test.d.ts +1 -0
  192. package/link/Link.accessibility.test.js +108 -0
  193. package/link/Link.js +8 -6
  194. package/link/Link.stories.tsx +4 -4
  195. package/link/Link.test.d.ts +1 -0
  196. package/link/Link.test.js +1 -1
  197. package/link/types.d.ts +1 -1
  198. package/main.d.ts +6 -2
  199. package/main.js +30 -2
  200. package/nav-tabs/NavTabs.accessibility.test.d.ts +1 -0
  201. package/nav-tabs/NavTabs.accessibility.test.js +44 -0
  202. package/nav-tabs/NavTabs.d.ts +1 -2
  203. package/nav-tabs/NavTabs.js +22 -7
  204. package/nav-tabs/NavTabs.stories.tsx +44 -24
  205. package/nav-tabs/NavTabs.test.d.ts +1 -0
  206. package/nav-tabs/NavTabs.test.js +12 -10
  207. package/nav-tabs/NavTabsContext.d.ts +3 -0
  208. package/nav-tabs/NavTabsContext.js +8 -0
  209. package/nav-tabs/Tab.js +23 -23
  210. package/nav-tabs/types.d.ts +1 -1
  211. package/number-input/NumberInput.accessibility.test.d.ts +1 -0
  212. package/number-input/NumberInput.accessibility.test.js +227 -0
  213. package/number-input/NumberInput.d.ts +0 -7
  214. package/number-input/NumberInput.js +28 -6
  215. package/number-input/NumberInput.stories.tsx +11 -16
  216. package/number-input/NumberInput.test.d.ts +1 -0
  217. package/number-input/NumberInput.test.js +167 -9
  218. package/number-input/NumberInputContext.d.ts +3 -0
  219. package/number-input/NumberInputContext.js +8 -0
  220. package/number-input/types.d.ts +6 -0
  221. package/package.json +31 -27
  222. package/paginator/Paginator.accessibility.test.d.ts +1 -0
  223. package/paginator/Paginator.accessibility.test.js +78 -0
  224. package/paginator/Paginator.js +13 -10
  225. package/paginator/Paginator.test.d.ts +1 -0
  226. package/paginator/Paginator.test.js +2 -3
  227. package/paragraph/Paragraph.accessibility.test.d.ts +1 -0
  228. package/paragraph/Paragraph.accessibility.test.js +28 -0
  229. package/password-input/PasswordInput.accessibility.test.d.ts +1 -0
  230. package/password-input/PasswordInput.accessibility.test.js +152 -0
  231. package/password-input/PasswordInput.js +11 -8
  232. package/password-input/PasswordInput.stories.tsx +10 -1
  233. package/password-input/PasswordInput.test.d.ts +1 -0
  234. package/password-input/PasswordInput.test.js +6 -7
  235. package/progress-bar/ProgressBar.accessibility.test.d.ts +1 -0
  236. package/progress-bar/ProgressBar.accessibility.test.js +35 -0
  237. package/progress-bar/ProgressBar.js +6 -4
  238. package/progress-bar/ProgressBar.test.d.ts +1 -0
  239. package/progress-bar/ProgressBar.test.js +1 -1
  240. package/quick-nav/QuickNav.accessibility.test.d.ts +1 -0
  241. package/quick-nav/QuickNav.accessibility.test.js +57 -0
  242. package/quick-nav/QuickNav.js +1 -1
  243. package/radio-group/Radio.js +6 -9
  244. package/radio-group/RadioGroup.accessibility.test.d.ts +1 -0
  245. package/radio-group/RadioGroup.accessibility.test.js +97 -0
  246. package/radio-group/RadioGroup.js +14 -16
  247. package/radio-group/RadioGroup.test.d.ts +1 -0
  248. package/radio-group/RadioGroup.test.js +3 -5
  249. package/resultset-table/ResultsetTable.accessibility.test.d.ts +1 -0
  250. package/resultset-table/ResultsetTable.accessibility.test.js +284 -0
  251. package/resultset-table/ResultsetTable.d.ts +4 -1
  252. package/resultset-table/ResultsetTable.js +25 -13
  253. package/resultset-table/ResultsetTable.stories.tsx +119 -6
  254. package/resultset-table/ResultsetTable.test.d.ts +1 -0
  255. package/resultset-table/ResultsetTable.test.js +77 -3
  256. package/resultset-table/types.d.ts +40 -7
  257. package/select/Listbox.js +24 -16
  258. package/select/Option.js +12 -10
  259. package/select/Select.accessibility.test.d.ts +1 -0
  260. package/select/Select.accessibility.test.js +227 -0
  261. package/select/Select.js +41 -29
  262. package/select/Select.stories.tsx +69 -112
  263. package/select/Select.test.d.ts +1 -0
  264. package/select/Select.test.js +371 -474
  265. package/select/types.d.ts +1 -1
  266. package/sidenav/Sidenav.accessibility.test.d.ts +1 -0
  267. package/sidenav/Sidenav.accessibility.test.js +59 -0
  268. package/sidenav/Sidenav.js +19 -14
  269. package/sidenav/Sidenav.stories.tsx +5 -10
  270. package/sidenav/Sidenav.test.d.ts +1 -0
  271. package/sidenav/Sidenav.test.js +1 -1
  272. package/sidenav/types.d.ts +2 -2
  273. package/slider/Slider.accessibility.test.d.ts +1 -0
  274. package/slider/Slider.accessibility.test.js +103 -0
  275. package/slider/Slider.js +11 -13
  276. package/slider/Slider.stories.tsx +180 -0
  277. package/slider/Slider.test.d.ts +1 -0
  278. package/slider/Slider.test.js +13 -11
  279. package/spinner/Spinner.accessibility.test.d.ts +1 -0
  280. package/spinner/Spinner.accessibility.test.js +96 -0
  281. package/spinner/Spinner.js +6 -2
  282. package/spinner/Spinner.test.d.ts +1 -0
  283. package/spinner/Spinner.test.js +1 -1
  284. package/status-light/StatusLight.accessibility.test.d.ts +1 -0
  285. package/status-light/StatusLight.accessibility.test.js +157 -0
  286. package/status-light/StatusLight.d.ts +4 -0
  287. package/status-light/StatusLight.js +51 -0
  288. package/status-light/StatusLight.stories.tsx +74 -0
  289. package/status-light/StatusLight.test.d.ts +1 -0
  290. package/status-light/StatusLight.test.js +25 -0
  291. package/status-light/types.d.ts +17 -0
  292. package/status-light/types.js +5 -0
  293. package/switch/Switch.accessibility.test.d.ts +1 -0
  294. package/switch/Switch.accessibility.test.js +98 -0
  295. package/switch/Switch.js +6 -9
  296. package/switch/Switch.stories.tsx +12 -0
  297. package/switch/Switch.test.d.ts +1 -0
  298. package/switch/Switch.test.js +1 -1
  299. package/table/DropdownTheme.js +62 -0
  300. package/table/Table.accessibility.test.d.ts +1 -0
  301. package/table/Table.accessibility.test.js +92 -0
  302. package/table/Table.d.ts +6 -2
  303. package/table/Table.js +74 -9
  304. package/table/Table.stories.tsx +309 -2
  305. package/table/Table.test.d.ts +1 -0
  306. package/table/Table.test.js +91 -1
  307. package/table/types.d.ts +28 -0
  308. package/tabs/Tab.js +13 -9
  309. package/tabs/Tabs.accessibility.test.d.ts +1 -0
  310. package/tabs/Tabs.accessibility.test.js +56 -0
  311. package/tabs/Tabs.js +9 -20
  312. package/tabs/Tabs.stories.tsx +8 -4
  313. package/tabs/Tabs.test.d.ts +1 -0
  314. package/tabs/Tabs.test.js +20 -38
  315. package/tabs/types.d.ts +2 -2
  316. package/tag/Tag.accessibility.test.d.ts +1 -0
  317. package/tag/Tag.accessibility.test.js +69 -0
  318. package/tag/Tag.js +7 -7
  319. package/tag/Tag.stories.tsx +5 -8
  320. package/tag/Tag.test.d.ts +1 -0
  321. package/tag/Tag.test.js +5 -13
  322. package/tag/types.d.ts +2 -2
  323. package/text-input/Suggestion.js +1 -1
  324. package/text-input/Suggestions.js +17 -7
  325. package/text-input/TextInput.accessibility.test.d.ts +1 -0
  326. package/text-input/TextInput.accessibility.test.js +320 -0
  327. package/text-input/TextInput.js +69 -70
  328. package/text-input/TextInput.stories.tsx +20 -8
  329. package/text-input/TextInput.test.d.ts +1 -0
  330. package/text-input/TextInput.test.js +98 -82
  331. package/textarea/Textarea.accessibility.test.d.ts +1 -0
  332. package/textarea/Textarea.accessibility.test.js +155 -0
  333. package/textarea/Textarea.js +14 -13
  334. package/textarea/Textarea.test.d.ts +1 -0
  335. package/textarea/Textarea.test.js +1 -1
  336. package/toggle-group/ToggleGroup.accessibility.test.d.ts +1 -0
  337. package/toggle-group/ToggleGroup.accessibility.test.js +107 -0
  338. package/toggle-group/ToggleGroup.js +10 -12
  339. package/toggle-group/ToggleGroup.stories.tsx +4 -4
  340. package/toggle-group/ToggleGroup.test.d.ts +1 -0
  341. package/toggle-group/ToggleGroup.test.js +1 -1
  342. package/toggle-group/types.d.ts +2 -2
  343. package/typography/Typography.accessibility.test.d.ts +1 -0
  344. package/typography/Typography.accessibility.test.js +339 -0
  345. package/typography/Typography.stories.tsx +1 -3
  346. package/useTheme.d.ts +31 -20
  347. package/utils/BaseTypography.js +1 -1
  348. package/utils/FocusLock.js +6 -2
  349. package/wizard/Wizard.accessibility.test.d.ts +1 -0
  350. package/wizard/Wizard.accessibility.test.js +55 -0
  351. package/wizard/Wizard.js +14 -25
  352. package/wizard/Wizard.stories.tsx +20 -1
  353. package/wizard/Wizard.test.d.ts +1 -0
  354. package/wizard/Wizard.test.js +1 -1
  355. package/wizard/types.d.ts +2 -2
  356. package/common/OpenSans.css +0 -69
  357. package/common/fonts/OpenSans-Bold.ttf +0 -0
  358. package/common/fonts/OpenSans-BoldItalic.ttf +0 -0
  359. package/common/fonts/OpenSans-ExtraBold.ttf +0 -0
  360. package/common/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  361. package/common/fonts/OpenSans-Italic.ttf +0 -0
  362. package/common/fonts/OpenSans-Light.ttf +0 -0
  363. package/common/fonts/OpenSans-LightItalic.ttf +0 -0
  364. package/common/fonts/OpenSans-Regular.ttf +0 -0
  365. package/common/fonts/OpenSans-SemiBold.ttf +0 -0
  366. package/common/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  367. package/date-input/Icons.d.ts +0 -6
  368. package/date-input/Icons.js +0 -58
  369. package/paginator/Icons.d.ts +0 -5
  370. package/paginator/Icons.js +0 -40
  371. package/password-input/Icons.d.ts +0 -6
  372. package/password-input/Icons.js +0 -35
  373. package/select/Icons.d.ts +0 -10
  374. package/select/Icons.js +0 -89
  375. package/sidenav/Icons.d.ts +0 -7
  376. package/sidenav/Icons.js +0 -47
  377. package/text-input/Icons.d.ts +0 -8
  378. package/text-input/Icons.js +0 -56
  379. /package/{layout → sidenav}/SidenavContext.d.ts +0 -0
  380. /package/{layout → sidenav}/SidenavContext.js +0 -0
package/select/types.d.ts CHANGED
@@ -20,7 +20,7 @@ export type OptionGroup = {
20
20
  export type Option = {
21
21
  /**
22
22
  * Element used as the icon that will be placed before the option label.
23
- * It can be a url of an image or an inline SVG. If the url option
23
+ * It can be an inline SVG or Material Symbol name. If the url option
24
24
  * is the chosen one, take into account that the component's
25
25
  * color styling tokens will not be applied to the image.
26
26
  */
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,59 @@
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 _Sidenav = _interopRequireDefault(require("./Sidenav"));
10
+ var iconSVG = /*#__PURE__*/_react["default"].createElement("svg", {
11
+ version: "1.1",
12
+ x: "0px",
13
+ y: "0px",
14
+ width: "438.536px",
15
+ height: "438.536px",
16
+ viewBox: "0 0 438.536 438.536",
17
+ fill: "currentColor"
18
+ }, /*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement("path", {
19
+ 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\nC8.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\nh274.084c22.648,0,42.018-8.042,58.095-24.126c16.084-16.084,24.126-35.454,24.126-58.102V82.225\nC438.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\nc0-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\nc-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"
20
+ })));
21
+ describe("Sidenav component accessibility tests", function () {
22
+ it("Should not have basic accessibility issues", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
23
+ var _render, container, results;
24
+ return _regenerator["default"].wrap(function _callee$(_context) {
25
+ while (1) switch (_context.prev = _context.next) {
26
+ case 0:
27
+ _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Sidenav["default"], {
28
+ title: "Title"
29
+ }, /*#__PURE__*/_react["default"].createElement(_Sidenav["default"].Section, null, /*#__PURE__*/_react["default"].createElement("p", null, "nav-content-test"), /*#__PURE__*/_react["default"].createElement(_Sidenav["default"].Link, {
30
+ href: "#",
31
+ icon: iconSVG,
32
+ selected: true
33
+ }, "Link")), /*#__PURE__*/_react["default"].createElement(_Sidenav["default"].Section, null, /*#__PURE__*/_react["default"].createElement(_Sidenav["default"].Group, {
34
+ title: "Collapsable",
35
+ icon: iconSVG,
36
+ collapsable: true
37
+ }, /*#__PURE__*/_react["default"].createElement(_Sidenav["default"].Link, {
38
+ href: "#"
39
+ }, "Lorem ipsum"), /*#__PURE__*/_react["default"].createElement(_Sidenav["default"].Link, {
40
+ href: "#"
41
+ }, "Lorem ipsum"), /*#__PURE__*/_react["default"].createElement(_Sidenav["default"].Link, {
42
+ href: "#"
43
+ }, "Lorem ipsum"), /*#__PURE__*/_react["default"].createElement(_Sidenav["default"].Link, {
44
+ href: "#"
45
+ }, "Lorem ipsum"), /*#__PURE__*/_react["default"].createElement(_Sidenav["default"].Link, {
46
+ href: "#"
47
+ }, "Lorem ipsum"))))), container = _render.container;
48
+ _context.next = 3;
49
+ return (0, _axeHelper.axe)(container);
50
+ case 3:
51
+ results = _context.sent;
52
+ expect(results).toHaveNoViolations();
53
+ case 5:
54
+ case "end":
55
+ return _context.stop();
56
+ }
57
+ }, _callee);
58
+ })));
59
+ });
@@ -13,15 +13,16 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/sli
13
13
  var _react = _interopRequireWildcard(require("react"));
14
14
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
15
15
  var _variables = require("../common/variables");
16
- var _SidenavContext = require("../layout/SidenavContext");
16
+ var _SidenavContext = require("./SidenavContext");
17
17
  var _useTheme = _interopRequireDefault(require("../useTheme"));
18
18
  var _Flex = _interopRequireDefault(require("../flex/Flex"));
19
19
  var _Bleed = _interopRequireDefault(require("../bleed/Bleed"));
20
- var _Icons = _interopRequireDefault(require("./Icons"));
20
+ var _coreTokens = _interopRequireDefault(require("../common/coreTokens"));
21
+ var _Icon = _interopRequireDefault(require("../icon/Icon"));
21
22
  var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7;
22
23
  var _excluded = ["href", "newWindow", "selected", "icon", "onClick", "tabIndex", "children"];
23
24
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
24
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
25
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
25
26
  var DxcSidenav = function DxcSidenav(_ref) {
26
27
  var title = _ref.title,
27
28
  children = _ref.children;
@@ -73,10 +74,12 @@ var Group = function Group(_ref4) {
73
74
  }, /*#__PURE__*/_react["default"].createElement(_Flex["default"], {
74
75
  alignItems: "center",
75
76
  gap: "0.5rem"
76
- }, typeof icon === "string" ? /*#__PURE__*/_react["default"].createElement("img", {
77
- src: icon
78
- }) : icon, title), collapsed ? _Icons["default"].collapsedIcon : _Icons["default"].collapsableIcon) : title && /*#__PURE__*/_react["default"].createElement(SidenavGroupTitle, null, typeof icon === "string" ? /*#__PURE__*/_react["default"].createElement("img", {
79
- src: icon
77
+ }, typeof icon === "string" ? /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
78
+ icon: icon
79
+ }) : icon, title), /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
80
+ icon: collapsed ? "expand_more" : "expand_less"
81
+ })) : title && /*#__PURE__*/_react["default"].createElement(SidenavGroupTitle, null, typeof icon === "string" ? /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
82
+ icon: icon
80
83
  }) : icon, title), !collapsed && children));
81
84
  };
82
85
  var Link = /*#__PURE__*/(0, _react.forwardRef)(function (_ref5, ref) {
@@ -112,9 +115,11 @@ var Link = /*#__PURE__*/(0, _react.forwardRef)(function (_ref5, ref) {
112
115
  }, otherProps), /*#__PURE__*/_react["default"].createElement(_Flex["default"], {
113
116
  alignItems: "center",
114
117
  gap: "0.5rem"
115
- }, typeof icon === "string" ? /*#__PURE__*/_react["default"].createElement("img", {
116
- src: icon
117
- }) : icon, children), newWindow && _Icons["default"].externalLinkIcon);
118
+ }, typeof icon === "string" ? /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
119
+ icon: icon
120
+ }) : icon, children), newWindow && /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
121
+ icon: "open_in_new"
122
+ }));
118
123
  });
119
124
  var SidenavContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n width: 280px;\n @media (max-width: ", "rem) {\n width: 100vw;\n }\n padding: 2rem 1rem;\n background-color: ", ";\n\n overflow-y: auto;\n overflow-x: hidden;\n ::-webkit-scrollbar {\n width: 2px;\n }\n ::-webkit-scrollbar-track {\n background-color: ", ";\n border-radius: 3px;\n }\n ::-webkit-scrollbar-thumb {\n background-color: ", ";\n border-radius: 3px;\n }\n"])), _variables.responsiveSizes.medium, function (props) {
120
125
  return props.theme.backgroundColor;
@@ -138,9 +143,9 @@ var SidenavTitle = _styledComponents["default"].div(_templateObject2 || (_templa
138
143
  }, function (props) {
139
144
  return props.theme.titleFontTextTransform;
140
145
  });
141
- var Divider = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n width: 100%;\n height: 1px;\n background-color: #999999;\n\n &:last-child {\n display: none;\n }\n"])));
146
+ var Divider = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n width: 100%;\n height: 1px;\n background-color: ", ";\n\n &:last-child {\n display: none;\n }\n"])), _coreTokens["default"].color_grey_400);
142
147
  var SidenavGroup = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n a {\n padding: 0.5rem 1.2rem 0.5rem 2.25rem;\n }\n"])));
143
- var SidenavGroupTitle = _styledComponents["default"].span(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n box-sizing: border-box;\n display: flex;\n align-items: center;\n gap: 0.5rem;\n padding: 0.5rem 1.2rem;\n font-family: ", ";\n font-style: ", ";\n font-weight: ", ";\n font-size: ", ";\n\n img,\n svg {\n height: 16px;\n width: 16px;\n }\n"])), function (props) {
148
+ var SidenavGroupTitle = _styledComponents["default"].span(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n box-sizing: border-box;\n display: flex;\n align-items: center;\n gap: 0.5rem;\n padding: 0.5rem 1.2rem;\n font-family: ", ";\n font-style: ", ";\n font-weight: ", ";\n font-size: ", ";\n span::before {\n font-size: 16px;\n }\n svg {\n height: 16px;\n width: 16px;\n }\n"])), function (props) {
144
149
  return props.theme.groupTitleFontFamily;
145
150
  }, function (props) {
146
151
  return props.theme.groupTitleFontStyle;
@@ -149,7 +154,7 @@ var SidenavGroupTitle = _styledComponents["default"].span(_templateObject5 || (_
149
154
  }, function (props) {
150
155
  return props.theme.groupTitleFontSize;
151
156
  });
152
- var SidenavGroupTitleButton = _styledComponents["default"].button(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n all: unset;\n box-sizing: border-box;\n display: flex;\n align-items: center;\n justify-content: space-between;\n width: 100%;\n padding: 0.5rem 1.2rem;\n font-family: ", ";\n font-style: ", ";\n font-weight: ", ";\n font-size: ", ";\n cursor: pointer;\n\n ", "\n\n &:focus, &:focus-visible {\n outline: 2px solid ", ";\n outline-offset: -2px;\n }\n &:hover {\n ", "\n }\n &:active {\n color: #fff;\n background-color: ", ";\n }\n\n img,\n svg {\n height: 16px;\n width: 16px;\n }\n"])), function (props) {
157
+ var SidenavGroupTitleButton = _styledComponents["default"].button(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n all: unset;\n box-sizing: border-box;\n display: flex;\n align-items: center;\n justify-content: space-between;\n width: 100%;\n padding: 0.5rem 1.2rem;\n font-family: ", ";\n font-style: ", ";\n font-weight: ", ";\n font-size: ", ";\n cursor: pointer;\n\n ", "\n\n &:focus, &:focus-visible {\n outline: 2px solid ", ";\n outline-offset: -2px;\n }\n &:hover {\n ", "\n }\n &:active {\n color: #fff;\n background-color: ", ";\n }\n span::before {\n font-size: 16px;\n }\n svg {\n height: 16px;\n width: 16px;\n }\n"])), function (props) {
153
158
  return props.theme.groupTitleFontFamily;
154
159
  }, function (props) {
155
160
  return props.theme.groupTitleFontStyle;
@@ -166,7 +171,7 @@ var SidenavGroupTitleButton = _styledComponents["default"].button(_templateObjec
166
171
  }, function (props) {
167
172
  return props.selectedGroup ? "#333" : props.theme.groupTitleActiveBackgroundColor;
168
173
  });
169
- var SidenavLink = _styledComponents["default"].a(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 0.5rem;\n padding: 0.5rem 1.2rem;\n box-shadow: 0 0 0 2px transparent;\n font-family: ", ";\n font-style: ", ";\n font-weight: ", ";\n font-size: ", ";\n letter-spacing: ", ";\n text-transform: ", ";\n text-decoration: ", ";\n cursor: pointer;\n\n ", "\n\n &:focus, &:focus-visible {\n outline: 2px solid ", ";\n outline-offset: -2px;\n }\n &:hover {\n ", "\n }\n &:active {\n color: #fff;\n background-color: ", ";\n outline: 2px solid #0095ff;\n outline-offset: -2px;\n }\n\n img,\n svg {\n height: 16px;\n width: 16px;\n }\n"])), function (props) {
174
+ var SidenavLink = _styledComponents["default"].a(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 0.5rem;\n padding: 0.5rem 1.2rem;\n box-shadow: 0 0 0 2px transparent;\n font-family: ", ";\n font-style: ", ";\n font-weight: ", ";\n font-size: ", ";\n letter-spacing: ", ";\n text-transform: ", ";\n text-decoration: ", ";\n cursor: pointer;\n\n ", "\n\n &:focus, &:focus-visible {\n outline: 2px solid ", ";\n outline-offset: -2px;\n }\n &:hover {\n ", "\n }\n &:active {\n color: #fff;\n background-color: ", ";\n outline: 2px solid #0095ff;\n outline-offset: -2px;\n }\n span::before {\n font-size: 16px;\n }\n svg {\n height: 16px;\n width: 16px;\n }\n"])), function (props) {
170
175
  return props.theme.linkFontFamily;
171
176
  }, function (props) {
172
177
  return props.theme.linkFontStyle;
@@ -4,7 +4,7 @@ import DxcSelect from "../select/Select";
4
4
  import DxcInset from "../inset/Inset";
5
5
  import Title from "../../.storybook/components/Title";
6
6
  import ExampleContainer from "../../.storybook/components/ExampleContainer";
7
- import { userEvent, within } from "@storybook/testing-library";
7
+ import { userEvent, within } from "@storybook/test";
8
8
  import { HalstackProvider } from "../HalstackContext";
9
9
 
10
10
  export default {
@@ -15,7 +15,6 @@ export default {
15
15
  const iconSVG = (
16
16
  <svg
17
17
  version="1.1"
18
- id="Capa_1"
19
18
  x="0px"
20
19
  y="0px"
21
20
  width="438.536px"
@@ -67,15 +66,11 @@ export const Chromatic = () => (
67
66
  </DxcSidenav.Group>
68
67
  </DxcSidenav.Section>
69
68
  <DxcSidenav.Section>
70
- <DxcSidenav.Group
71
- collapsable={true}
72
- title="Section Group"
73
- icon="https://cdn-icons-png.flaticon.com/512/5039/5039041.png"
74
- >
69
+ <DxcSidenav.Group collapsable={true} title="Section Group" icon="filled_bottom_app_bar">
75
70
  <DxcSidenav.Link selected>Group Link</DxcSidenav.Link>
76
71
  <DxcSidenav.Link icon={iconSVG}>Group Link</DxcSidenav.Link>
77
72
  </DxcSidenav.Group>
78
- <DxcSidenav.Link icon="https://upload.wikimedia.org/wikipedia/commons/7/73/Flat_tick_icon.svg" newWindow>
73
+ <DxcSidenav.Link icon="filled_bottom_app_bar" newWindow>
79
74
  Single Link
80
75
  </DxcSidenav.Link>
81
76
  <DxcSidenav.Link newWindow>Single Link</DxcSidenav.Link>
@@ -99,7 +94,7 @@ export const Chromatic = () => (
99
94
  <DxcSidenav.Section>
100
95
  <DxcSidenav.Link>Single Link</DxcSidenav.Link>
101
96
  <DxcSidenav.Group collapsable={true} title="Collapsable Group">
102
- <DxcSidenav.Link icon="https://cdn-icons-png.flaticon.com/512/5039/5039041.png">Group Link</DxcSidenav.Link>
97
+ <DxcSidenav.Link icon="filled_bottom_app_bar">Group Link</DxcSidenav.Link>
103
98
  </DxcSidenav.Group>
104
99
  </DxcSidenav.Section>
105
100
  <DxcSidenav.Section>
@@ -279,4 +274,4 @@ CollapsedActiveGroup.play = async ({ canvasElement }) => {
279
274
  const canvas = within(canvasElement);
280
275
  const collapsableGroups = canvas.getAllByText("Collapsed Group");
281
276
  userEvent.click(collapsableGroups[0]);
282
- };
277
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -3,7 +3,7 @@
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
4
  var _react = _interopRequireDefault(require("react"));
5
5
  var _react2 = require("@testing-library/react");
6
- var _Sidenav = _interopRequireDefault(require("./Sidenav.tsx"));
6
+ var _Sidenav = _interopRequireDefault(require("./Sidenav"));
7
7
  describe("Sidenav component tests", function () {
8
8
  test("Sidenav renders anchors and Section correctly", function () {
9
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, {
@@ -23,7 +23,7 @@ export type SidenavGroupPropsType = {
23
23
  */
24
24
  collapsable?: boolean;
25
25
  /**
26
- * The icon to be displayed next to the title of the group.
26
+ * Material Symbol name or SVG icon to be displayed next to the title of the group.
27
27
  */
28
28
  icon?: string | SVG;
29
29
  /**
@@ -41,7 +41,7 @@ export type SidenavLinkPropsType = {
41
41
  */
42
42
  newWindow?: boolean;
43
43
  /**
44
- * Element or path used as the icon that will be placed to the left of the link text.
44
+ * The Material symbol or SVG element used as the icon that will be placed to the left of the link text.
45
45
  */
46
46
  icon?: string | SVG;
47
47
  /**
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,103 @@
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 _axeHelper = require("../../test/accessibility/axe-helper.js");
11
+ var _Slider = _interopRequireDefault(require("./Slider"));
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
+ return (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
+ }();
41
+ describe("Slider component accessibility tests", function () {
42
+ it("Should not have basic accessibility issues", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
43
+ var _render, container, results;
44
+ return _regenerator["default"].wrap(function _callee$(_context) {
45
+ while (1) switch (_context.prev = _context.next) {
46
+ case 0:
47
+ _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Slider["default"], {
48
+ helperText: "Helper Text",
49
+ margin: "medium",
50
+ name: "Name",
51
+ size: "medium",
52
+ label: "label",
53
+ step: 10,
54
+ minValue: 0,
55
+ maxValue: 100,
56
+ value: 50,
57
+ showLimitsValues: true,
58
+ showInput: true,
59
+ marks: true
60
+ })), container = _render.container;
61
+ _context.next = 3;
62
+ return (0, _axeHelper.axe)(container);
63
+ case 3:
64
+ results = _context.sent;
65
+ expect(results).toHaveNoViolations();
66
+ case 5:
67
+ case "end":
68
+ return _context.stop();
69
+ }
70
+ }, _callee);
71
+ })));
72
+ it("Should not have basic accessibility issues for disabled mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
73
+ var _render2, container, results;
74
+ return _regenerator["default"].wrap(function _callee2$(_context2) {
75
+ while (1) switch (_context2.prev = _context2.next) {
76
+ case 0:
77
+ _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Slider["default"], {
78
+ helperText: "Helper Text",
79
+ margin: "medium",
80
+ name: "Name",
81
+ size: "medium",
82
+ label: "label",
83
+ step: 10,
84
+ minValue: 0,
85
+ maxValue: 100,
86
+ value: 50,
87
+ showLimitsValues: true,
88
+ showInput: true,
89
+ marks: true,
90
+ disabled: true
91
+ })), container = _render2.container;
92
+ _context2.next = 3;
93
+ return (0, _axeHelper.axe)(container);
94
+ case 3:
95
+ results = _context2.sent;
96
+ expect(results).toHaveNoViolations();
97
+ case 5:
98
+ case "end":
99
+ return _context2.stop();
100
+ }
101
+ }, _callee2);
102
+ })));
103
+ });
package/slider/Slider.js CHANGED
@@ -15,10 +15,9 @@ var _TextInput = _interopRequireDefault(require("../text-input/TextInput"));
15
15
  var _variables = require("../common/variables");
16
16
  var _utils = require("../common/utils");
17
17
  var _useTheme = _interopRequireDefault(require("../useTheme"));
18
- var _uuid = require("uuid");
19
18
  var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12;
20
19
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
21
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof3(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
20
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof3(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
22
21
  var DxcSlider = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
23
22
  var _navigator;
24
23
  var _ref$label = _ref.label,
@@ -49,17 +48,15 @@ var DxcSlider = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
49
48
  margin = _ref.margin,
50
49
  _ref$size = _ref.size,
51
50
  size = _ref$size === void 0 ? "fillParent" : _ref$size;
52
- var _useState = (0, _react.useState)("label-".concat((0, _uuid.v4)())),
53
- _useState2 = (0, _slicedToArray2["default"])(_useState, 1),
54
- labelId = _useState2[0];
55
- var _useState3 = (0, _react.useState)(defaultValue !== null && defaultValue !== void 0 ? defaultValue : 0),
51
+ var labelId = "label-".concat((0, _react.useId)());
52
+ var _useState = (0, _react.useState)(defaultValue !== null && defaultValue !== void 0 ? defaultValue : 0),
53
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
54
+ innerValue = _useState2[0],
55
+ setInnerValue = _useState2[1];
56
+ var _useState3 = (0, _react.useState)(false),
56
57
  _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
57
- innerValue = _useState4[0],
58
- setInnerValue = _useState4[1];
59
- var _useState5 = (0, _react.useState)(false),
60
- _useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
61
- dragging = _useState6[0],
62
- setDragging = _useState6[1];
58
+ dragging = _useState4[0],
59
+ setDragging = _useState4[1];
63
60
  var colorsTheme = (0, _useTheme["default"])();
64
61
  var isFirefox = ((_navigator = navigator) === null || _navigator === void 0 ? void 0 : _navigator.userAgent.indexOf("Firefox")) !== -1;
65
62
  var minLabel = (0, _react.useMemo)(function () {
@@ -78,7 +75,8 @@ var DxcSlider = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
78
75
  ticks.push( /*#__PURE__*/_react["default"].createElement(TickMark, {
79
76
  disabled: disabled,
80
77
  stepPosition: step * index / range,
81
- stepValue: (value !== null && value !== void 0 ? value : innerValue) / maxValue
78
+ stepValue: (value !== null && value !== void 0 ? value : innerValue) / maxValue,
79
+ key: "tickmark-".concat(index, "-").concat(labelId)
82
80
  }));
83
81
  index++;
84
82
  }
@@ -0,0 +1,180 @@
1
+ import React from "react";
2
+ import DxcSlider from "./Slider";
3
+ import Title from "../../.storybook/components/Title";
4
+ import ExampleContainer from "../../.storybook/components/ExampleContainer";
5
+ import { HalstackProvider } from "../HalstackContext";
6
+
7
+ export default {
8
+ title: "Slider",
9
+ component: DxcSlider,
10
+ };
11
+
12
+ const labelFormat = (value) => `${value}E100000000000000000000000`;
13
+
14
+ const opinionatedTheme = {
15
+ slider: {
16
+ baseColor: "#0067b3",
17
+ fontColor: "#000000",
18
+ totalLineColor: "#e6e6e6",
19
+ },
20
+ };
21
+
22
+ export const Chromatic = () => (
23
+ <>
24
+ <Title title="States" theme="light" level={2} />
25
+ <ExampleContainer pseudoState="pseudo-hover">
26
+ <Title title="Hovered" theme="light" level={4} />
27
+ <DxcSlider label="Slider" helperText="Help message" showLimitsValues />
28
+ </ExampleContainer>
29
+ <ExampleContainer pseudoState="pseudo-active">
30
+ <Title title="Active" theme="light" level={4} />
31
+ <DxcSlider label="Slider" helperText="Help message" showLimitsValues />
32
+ </ExampleContainer>
33
+ <ExampleContainer pseudoState="pseudo-focus">
34
+ <Title title="Focused" theme="light" level={4} />
35
+ <DxcSlider label="Slider" helperText="Help message" showLimitsValues />
36
+ </ExampleContainer>
37
+ <ExampleContainer>
38
+ <Title title="Disabled" theme="light" level={4} />
39
+ <DxcSlider label="Slider" helperText="Help message" disabled showLimitsValues />
40
+ </ExampleContainer>
41
+ <ExampleContainer>
42
+ <Title title="Disabled discrete slider with input" theme="light" level={4} />
43
+ <DxcSlider
44
+ label="Slider"
45
+ helperText="Help message"
46
+ disabled
47
+ defaultValue={40}
48
+ minValue={0}
49
+ maxValue={50}
50
+ showLimitsValues
51
+ showInput
52
+ marks
53
+ step={10}
54
+ />
55
+ </ExampleContainer>
56
+ <Title title="Variants" theme="light" level={2} />
57
+ <ExampleContainer>
58
+ <Title title="Continuous slider" theme="light" level={4} />
59
+ <DxcSlider defaultValue={65} label="Slider" helperText="Help message" showLimitsValues />
60
+ </ExampleContainer>
61
+ <ExampleContainer>
62
+ <Title title="Discrete slider" theme="light" level={4} />
63
+ <DxcSlider defaultValue={20} label="Slider" helperText="Help message" showLimitsValues marks step={5} />
64
+ </ExampleContainer>
65
+ <ExampleContainer>
66
+ <Title title="Discrete slider with input" theme="light" level={4} />
67
+ <DxcSlider
68
+ defaultValue={20}
69
+ minValue={0}
70
+ maxValue={50}
71
+ label="Slider"
72
+ helperText="Help message"
73
+ showLimitsValues
74
+ showInput
75
+ marks
76
+ step={10}
77
+ />
78
+ </ExampleContainer>
79
+ <Title title="Margins" theme="light" level={2} />
80
+ <ExampleContainer>
81
+ <Title title="Xxsmall" theme="light" level={4} />
82
+ <DxcSlider label="Xxsmall" margin="xxsmall" />
83
+ </ExampleContainer>
84
+ <ExampleContainer>
85
+ <Title title="Xsmall" theme="light" level={4} />
86
+ <DxcSlider label="Xsmall" margin="xsmall" />
87
+ </ExampleContainer>
88
+ <ExampleContainer>
89
+ <Title title="Small" theme="light" level={4} />
90
+ <DxcSlider label="Small" margin="small" />
91
+ </ExampleContainer>
92
+ <ExampleContainer>
93
+ <Title title="Medium" theme="light" level={4} />
94
+ <DxcSlider label="Medium" margin="medium" />
95
+ </ExampleContainer>
96
+ <ExampleContainer>
97
+ <Title title="Large" theme="light" level={4} />
98
+ <DxcSlider label="Large" margin="large" />
99
+ </ExampleContainer>
100
+ <ExampleContainer>
101
+ <Title title="Xlarge" theme="light" level={4} />
102
+ <DxcSlider label="Xlarge" margin="xlarge" />
103
+ </ExampleContainer>
104
+ <ExampleContainer>
105
+ <Title title="Xxlarge" theme="light" level={4} />
106
+ <DxcSlider label="Xxlarge" margin="xxlarge" />
107
+ </ExampleContainer>
108
+ <Title title="Sizes" theme="light" level={2} />
109
+ <ExampleContainer>
110
+ <Title title="Medium" theme="light" level={4} />
111
+ <DxcSlider label="Medium" size="medium" />
112
+ </ExampleContainer>
113
+ <ExampleContainer>
114
+ <Title title="Large" theme="light" level={4} />
115
+ <DxcSlider label="Large" size="large" />
116
+ </ExampleContainer>
117
+ <ExampleContainer>
118
+ <Title title="FillParent" theme="light" level={4} />
119
+ <DxcSlider label="FillParent" size="fillParent" />
120
+ </ExampleContainer>
121
+ <ExampleContainer>
122
+ <Title title="Large limit values labels" theme="light" level={4} />
123
+ <DxcSlider
124
+ label="Slider"
125
+ helperText="Help message"
126
+ showLimitsValues
127
+ labelFormatCallback={labelFormat}
128
+ size="large"
129
+ />
130
+ </ExampleContainer>
131
+ <Title title="Opinionated theme" theme="light" level={2} />
132
+ <ExampleContainer pseudoState="pseudo-hover">
133
+ <Title title="Hovered" theme="light" level={4} />
134
+ <HalstackProvider theme={opinionatedTheme}>
135
+ <DxcSlider label="Slider" helperText="Help message" showLimitsValues />
136
+ </HalstackProvider>
137
+ </ExampleContainer>
138
+ <ExampleContainer pseudoState="pseudo-active">
139
+ <Title title="Active" theme="light" level={4} />
140
+ <HalstackProvider theme={opinionatedTheme}>
141
+ <DxcSlider label="Slider" helperText="Help message" showLimitsValues />
142
+ </HalstackProvider>
143
+ </ExampleContainer>
144
+ <ExampleContainer pseudoState="pseudo-focus">
145
+ <Title title="Focused" theme="light" level={4} />
146
+ <HalstackProvider theme={opinionatedTheme}>
147
+ <DxcSlider label="Slider" helperText="Help message" showLimitsValues />
148
+ </HalstackProvider>
149
+ </ExampleContainer>
150
+ <ExampleContainer>
151
+ <Title title="Disabled discrete slider with input" theme="light" level={4} />{" "}
152
+ <HalstackProvider theme={opinionatedTheme}>
153
+ <DxcSlider
154
+ label="Slider"
155
+ helperText="Help message"
156
+ disabled
157
+ defaultValue={40}
158
+ minValue={0}
159
+ maxValue={50}
160
+ showLimitsValues
161
+ showInput
162
+ marks
163
+ step={10}
164
+ />
165
+ </HalstackProvider>
166
+ </ExampleContainer>
167
+ <ExampleContainer>
168
+ <Title title="Continuous slider" theme="light" level={4} />
169
+ <HalstackProvider theme={opinionatedTheme}>
170
+ <DxcSlider defaultValue={65} label="Slider" helperText="Help message" showLimitsValues />
171
+ </HalstackProvider>
172
+ </ExampleContainer>
173
+ <ExampleContainer>
174
+ <Title title="Discrete slider" theme="light" level={4} />
175
+ <HalstackProvider theme={opinionatedTheme}>
176
+ <DxcSlider defaultValue={20} label="Slider" helperText="Help message" showLimitsValues marks step={5} />
177
+ </HalstackProvider>
178
+ </ExampleContainer>
179
+ </>
180
+ );
@@ -0,0 +1 @@
1
+ export {};