@dxc-technology/halstack-react 0.0.0-6c8ea9f → 0.0.0-6d25405

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 (403) 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 -114
  5. package/README.md +47 -0
  6. package/accordion/Accordion.accessibility.test.js +71 -0
  7. package/accordion/Accordion.d.ts +1 -1
  8. package/accordion/Accordion.js +104 -161
  9. package/accordion/Accordion.stories.tsx +84 -140
  10. package/accordion/Accordion.test.js +25 -41
  11. package/accordion/types.d.ts +6 -17
  12. package/accordion-group/AccordionGroup.accessibility.test.js +88 -0
  13. package/accordion-group/AccordionGroup.d.ts +2 -2
  14. package/accordion-group/AccordionGroup.js +31 -98
  15. package/accordion-group/AccordionGroup.stories.tsx +94 -67
  16. package/accordion-group/AccordionGroup.test.js +52 -105
  17. package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
  18. package/accordion-group/AccordionGroupAccordion.js +31 -0
  19. package/accordion-group/AccordionGroupContext.d.ts +3 -0
  20. package/accordion-group/AccordionGroupContext.js +8 -0
  21. package/accordion-group/types.d.ts +12 -17
  22. package/action-icon/ActionIcon.accessibility.test.js +63 -0
  23. package/action-icon/ActionIcon.d.ts +4 -0
  24. package/action-icon/ActionIcon.js +48 -0
  25. package/action-icon/ActionIcon.stories.tsx +41 -0
  26. package/action-icon/ActionIcon.test.js +64 -0
  27. package/action-icon/types.d.ts +26 -0
  28. package/alert/Alert.accessibility.test.js +95 -0
  29. package/alert/Alert.js +32 -125
  30. package/alert/Alert.stories.tsx +28 -0
  31. package/alert/Alert.test.js +29 -46
  32. package/alert/types.d.ts +5 -5
  33. package/badge/Badge.accessibility.test.js +129 -0
  34. package/badge/Badge.d.ts +1 -1
  35. package/badge/Badge.js +142 -40
  36. package/badge/Badge.stories.tsx +210 -0
  37. package/badge/Badge.test.js +30 -0
  38. package/badge/types.d.ts +52 -2
  39. package/bleed/Bleed.js +14 -55
  40. package/bleed/Bleed.stories.tsx +95 -95
  41. package/bleed/types.d.ts +2 -2
  42. package/box/Box.accessibility.test.js +33 -0
  43. package/box/Box.d.ts +1 -1
  44. package/box/Box.js +30 -81
  45. package/box/Box.stories.tsx +38 -51
  46. package/box/Box.test.js +2 -7
  47. package/box/types.d.ts +3 -14
  48. package/bulleted-list/BulletedList.accessibility.test.js +107 -0
  49. package/bulleted-list/BulletedList.d.ts +7 -0
  50. package/bulleted-list/BulletedList.js +92 -0
  51. package/bulleted-list/BulletedList.stories.tsx +115 -0
  52. package/bulleted-list/types.d.ts +38 -0
  53. package/button/Button.accessibility.test.js +127 -0
  54. package/button/Button.d.ts +1 -1
  55. package/button/Button.js +64 -117
  56. package/button/Button.stories.tsx +151 -100
  57. package/button/Button.test.js +20 -17
  58. package/button/types.d.ts +12 -8
  59. package/card/Card.accessibility.test.js +36 -0
  60. package/card/Card.d.ts +1 -1
  61. package/card/Card.js +64 -107
  62. package/card/Card.stories.tsx +12 -42
  63. package/card/Card.test.js +11 -22
  64. package/card/types.d.ts +6 -11
  65. package/checkbox/Checkbox.accessibility.test.js +87 -0
  66. package/checkbox/Checkbox.d.ts +2 -2
  67. package/checkbox/Checkbox.js +140 -182
  68. package/checkbox/Checkbox.stories.tsx +128 -94
  69. package/checkbox/Checkbox.test.js +160 -39
  70. package/checkbox/types.d.ts +11 -3
  71. package/chip/Chip.accessibility.test.js +67 -0
  72. package/chip/Chip.js +43 -80
  73. package/chip/Chip.stories.tsx +102 -26
  74. package/chip/Chip.test.js +18 -33
  75. package/chip/types.d.ts +4 -4
  76. package/common/coreTokens.d.ts +237 -0
  77. package/common/coreTokens.js +184 -0
  78. package/common/utils.d.ts +1 -0
  79. package/common/utils.js +6 -12
  80. package/common/variables.d.ts +1395 -0
  81. package/common/variables.js +942 -1159
  82. package/container/Container.d.ts +4 -0
  83. package/container/Container.js +194 -0
  84. package/container/Container.stories.tsx +214 -0
  85. package/container/types.d.ts +74 -0
  86. package/contextual-menu/ContextualMenu.accessibility.test.js +86 -0
  87. package/contextual-menu/ContextualMenu.d.ts +7 -0
  88. package/contextual-menu/ContextualMenu.js +71 -0
  89. package/contextual-menu/ContextualMenu.stories.tsx +182 -0
  90. package/contextual-menu/ContextualMenu.test.js +71 -0
  91. package/contextual-menu/MenuItemAction.d.ts +4 -0
  92. package/contextual-menu/MenuItemAction.js +46 -0
  93. package/contextual-menu/types.d.ts +22 -0
  94. package/date-input/Calendar.d.ts +4 -0
  95. package/date-input/Calendar.js +214 -0
  96. package/date-input/DateInput.accessibility.test.js +216 -0
  97. package/date-input/DateInput.js +150 -299
  98. package/date-input/DateInput.stories.tsx +203 -56
  99. package/date-input/DateInput.test.js +700 -371
  100. package/date-input/DatePicker.d.ts +4 -0
  101. package/date-input/DatePicker.js +115 -0
  102. package/date-input/Icons.d.ts +6 -0
  103. package/date-input/Icons.js +58 -0
  104. package/date-input/YearPicker.d.ts +4 -0
  105. package/date-input/YearPicker.js +100 -0
  106. package/date-input/types.d.ts +72 -15
  107. package/dialog/Dialog.accessibility.test.js +69 -0
  108. package/dialog/Dialog.d.ts +1 -1
  109. package/dialog/Dialog.js +73 -107
  110. package/dialog/Dialog.stories.tsx +320 -167
  111. package/dialog/Dialog.test.js +287 -20
  112. package/dialog/types.d.ts +18 -25
  113. package/divider/Divider.accessibility.test.js +33 -0
  114. package/divider/Divider.d.ts +4 -0
  115. package/divider/Divider.js +36 -0
  116. package/divider/Divider.stories.tsx +223 -0
  117. package/divider/Divider.test.js +38 -0
  118. package/divider/types.d.ts +21 -0
  119. package/dropdown/Dropdown.accessibility.test.js +180 -0
  120. package/dropdown/Dropdown.d.ts +1 -1
  121. package/dropdown/Dropdown.js +231 -303
  122. package/dropdown/Dropdown.stories.tsx +235 -57
  123. package/dropdown/Dropdown.test.js +575 -165
  124. package/dropdown/DropdownMenu.d.ts +4 -0
  125. package/dropdown/DropdownMenu.js +63 -0
  126. package/dropdown/DropdownMenuItem.d.ts +4 -0
  127. package/dropdown/DropdownMenuItem.js +70 -0
  128. package/dropdown/types.d.ts +35 -19
  129. package/file-input/FileInput.accessibility.test.js +160 -0
  130. package/file-input/FileInput.d.ts +2 -2
  131. package/file-input/FileInput.js +241 -391
  132. package/file-input/FileInput.stories.tsx +123 -12
  133. package/file-input/FileInput.test.js +292 -367
  134. package/file-input/FileItem.d.ts +4 -14
  135. package/file-input/FileItem.js +52 -117
  136. package/file-input/types.d.ts +25 -8
  137. package/flex/Flex.d.ts +4 -0
  138. package/flex/Flex.js +57 -0
  139. package/flex/Flex.stories.tsx +112 -0
  140. package/flex/types.d.ts +97 -0
  141. package/footer/Footer.accessibility.test.js +117 -0
  142. package/footer/Footer.d.ts +1 -1
  143. package/footer/Footer.js +73 -118
  144. package/footer/Footer.stories.tsx +87 -21
  145. package/footer/Footer.test.js +33 -57
  146. package/footer/Icons.d.ts +3 -2
  147. package/footer/Icons.js +67 -8
  148. package/footer/types.d.ts +26 -27
  149. package/grid/Grid.d.ts +7 -0
  150. package/grid/Grid.js +76 -0
  151. package/grid/Grid.stories.tsx +219 -0
  152. package/grid/types.d.ts +115 -0
  153. package/grid/types.js +5 -0
  154. package/header/Header.accessibility.test.js +84 -0
  155. package/header/Header.d.ts +4 -3
  156. package/header/Header.js +88 -182
  157. package/header/Header.stories.tsx +118 -39
  158. package/header/Header.test.js +13 -26
  159. package/header/Icons.d.ts +2 -2
  160. package/header/Icons.js +4 -9
  161. package/header/types.d.ts +7 -21
  162. package/heading/Heading.accessibility.test.js +33 -0
  163. package/heading/Heading.js +10 -32
  164. package/heading/Heading.test.js +71 -88
  165. package/heading/types.d.ts +7 -7
  166. package/icon/Icon.accessibility.test.js +30 -0
  167. package/icon/Icon.d.ts +4 -0
  168. package/icon/Icon.js +33 -0
  169. package/icon/Icon.stories.tsx +28 -0
  170. package/icon/types.d.ts +4 -0
  171. package/icon/types.js +5 -0
  172. package/image/Image.accessibility.test.js +56 -0
  173. package/image/Image.d.ts +4 -0
  174. package/image/Image.js +70 -0
  175. package/image/Image.stories.tsx +129 -0
  176. package/image/types.d.ts +72 -0
  177. package/image/types.js +5 -0
  178. package/inset/Inset.js +14 -55
  179. package/inset/Inset.stories.tsx +37 -36
  180. package/inset/types.d.ts +2 -2
  181. package/layout/ApplicationLayout.d.ts +16 -6
  182. package/layout/ApplicationLayout.js +82 -166
  183. package/layout/ApplicationLayout.stories.tsx +85 -94
  184. package/layout/Icons.d.ts +8 -0
  185. package/layout/Icons.js +49 -48
  186. package/layout/types.d.ts +19 -35
  187. package/link/Link.accessibility.test.js +112 -0
  188. package/link/Link.d.ts +2 -2
  189. package/link/Link.js +46 -91
  190. package/link/Link.stories.tsx +74 -7
  191. package/link/Link.test.js +24 -44
  192. package/link/types.d.ts +14 -15
  193. package/main.d.ts +14 -12
  194. package/main.js +65 -101
  195. package/nav-tabs/NavTabs.accessibility.test.js +52 -0
  196. package/nav-tabs/NavTabs.d.ts +7 -0
  197. package/nav-tabs/NavTabs.js +93 -0
  198. package/nav-tabs/NavTabs.stories.tsx +276 -0
  199. package/nav-tabs/NavTabs.test.js +76 -0
  200. package/nav-tabs/NavTabsContext.d.ts +3 -0
  201. package/nav-tabs/NavTabsContext.js +8 -0
  202. package/nav-tabs/Tab.d.ts +4 -0
  203. package/nav-tabs/Tab.js +118 -0
  204. package/nav-tabs/types.d.ts +52 -0
  205. package/nav-tabs/types.js +5 -0
  206. package/number-input/NumberInput.accessibility.test.js +228 -0
  207. package/number-input/NumberInput.js +46 -36
  208. package/number-input/NumberInput.stories.tsx +42 -26
  209. package/number-input/NumberInput.test.js +860 -377
  210. package/number-input/NumberInputContext.d.ts +3 -4
  211. package/number-input/NumberInputContext.js +3 -14
  212. package/number-input/types.d.ts +17 -5
  213. package/package.json +49 -51
  214. package/paginator/Icons.d.ts +5 -0
  215. package/paginator/Icons.js +21 -47
  216. package/paginator/Paginator.accessibility.test.js +79 -0
  217. package/paginator/Paginator.js +23 -59
  218. package/paginator/Paginator.stories.tsx +24 -0
  219. package/paginator/Paginator.test.js +280 -211
  220. package/paginator/types.d.ts +3 -3
  221. package/paragraph/Paragraph.accessibility.test.js +28 -0
  222. package/paragraph/Paragraph.d.ts +5 -0
  223. package/paragraph/Paragraph.js +22 -0
  224. package/paragraph/Paragraph.stories.tsx +27 -0
  225. package/password-input/Icons.d.ts +6 -0
  226. package/password-input/Icons.js +35 -0
  227. package/password-input/PasswordInput.accessibility.test.js +153 -0
  228. package/password-input/PasswordInput.js +57 -126
  229. package/password-input/PasswordInput.stories.tsx +1 -33
  230. package/password-input/PasswordInput.test.js +160 -142
  231. package/password-input/types.d.ts +8 -7
  232. package/progress-bar/ProgressBar.accessibility.test.js +35 -0
  233. package/progress-bar/ProgressBar.js +65 -91
  234. package/progress-bar/ProgressBar.stories.tsx +93 -0
  235. package/progress-bar/ProgressBar.test.js +72 -44
  236. package/progress-bar/types.d.ts +3 -3
  237. package/quick-nav/QuickNav.accessibility.test.js +57 -0
  238. package/quick-nav/QuickNav.js +32 -48
  239. package/quick-nav/QuickNav.stories.tsx +146 -27
  240. package/quick-nav/types.d.ts +10 -10
  241. package/radio-group/Radio.d.ts +1 -1
  242. package/radio-group/Radio.js +59 -76
  243. package/radio-group/RadioGroup.accessibility.test.js +97 -0
  244. package/radio-group/RadioGroup.js +67 -114
  245. package/radio-group/RadioGroup.stories.tsx +132 -18
  246. package/radio-group/RadioGroup.test.js +518 -457
  247. package/radio-group/types.d.ts +10 -10
  248. package/resultset-table/Icons.d.ts +7 -0
  249. package/resultset-table/Icons.js +47 -0
  250. package/resultset-table/ResultsetTable.accessibility.test.js +274 -0
  251. package/resultset-table/ResultsetTable.d.ts +7 -0
  252. package/resultset-table/ResultsetTable.js +170 -0
  253. package/{resultsetTable → resultset-table}/ResultsetTable.stories.tsx +156 -30
  254. package/resultset-table/ResultsetTable.test.js +381 -0
  255. package/{resultsetTable → resultset-table}/types.d.ts +44 -11
  256. package/resultset-table/types.js +5 -0
  257. package/select/Icons.d.ts +7 -7
  258. package/select/Icons.js +1 -5
  259. package/select/Listbox.d.ts +1 -1
  260. package/select/Listbox.js +42 -51
  261. package/select/Option.js +27 -50
  262. package/select/Select.accessibility.test.js +217 -0
  263. package/select/Select.js +173 -237
  264. package/select/Select.stories.tsx +515 -139
  265. package/select/Select.test.js +2009 -1696
  266. package/select/types.d.ts +16 -20
  267. package/sidenav/Icons.d.ts +7 -0
  268. package/sidenav/Icons.js +47 -0
  269. package/sidenav/Sidenav.accessibility.test.js +59 -0
  270. package/sidenav/Sidenav.d.ts +6 -5
  271. package/sidenav/Sidenav.js +132 -71
  272. package/sidenav/Sidenav.stories.tsx +250 -151
  273. package/sidenav/Sidenav.test.js +26 -45
  274. package/sidenav/SidenavContext.d.ts +5 -0
  275. package/sidenav/SidenavContext.js +13 -0
  276. package/sidenav/types.d.ts +52 -26
  277. package/slider/Slider.accessibility.test.js +104 -0
  278. package/slider/Slider.d.ts +2 -2
  279. package/slider/Slider.js +148 -181
  280. package/slider/Slider.test.js +185 -81
  281. package/slider/types.d.ts +7 -3
  282. package/spinner/Spinner.accessibility.test.js +96 -0
  283. package/spinner/Spinner.js +31 -75
  284. package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +53 -27
  285. package/spinner/Spinner.test.js +26 -35
  286. package/spinner/types.d.ts +3 -3
  287. package/status-light/StatusLight.accessibility.test.js +157 -0
  288. package/status-light/StatusLight.d.ts +4 -0
  289. package/status-light/StatusLight.js +51 -0
  290. package/status-light/StatusLight.stories.tsx +74 -0
  291. package/status-light/StatusLight.test.js +25 -0
  292. package/status-light/types.d.ts +17 -0
  293. package/status-light/types.js +5 -0
  294. package/switch/Switch.accessibility.test.js +89 -0
  295. package/switch/Switch.d.ts +2 -2
  296. package/switch/Switch.js +145 -126
  297. package/switch/Switch.stories.tsx +37 -60
  298. package/switch/Switch.test.js +138 -56
  299. package/switch/types.d.ts +7 -3
  300. package/table/DropdownTheme.js +62 -0
  301. package/table/Table.accessibility.test.js +82 -0
  302. package/table/Table.d.ts +6 -2
  303. package/table/Table.js +78 -35
  304. package/table/Table.stories.tsx +651 -0
  305. package/table/Table.test.js +95 -8
  306. package/table/types.d.ts +34 -6
  307. package/tabs/Tab.d.ts +4 -0
  308. package/tabs/Tab.js +116 -0
  309. package/tabs/Tabs.accessibility.test.js +56 -0
  310. package/tabs/Tabs.js +314 -141
  311. package/tabs/Tabs.stories.tsx +120 -6
  312. package/tabs/Tabs.test.js +223 -69
  313. package/tabs/types.d.ts +28 -18
  314. package/tag/Tag.accessibility.test.js +69 -0
  315. package/tag/Tag.js +29 -61
  316. package/tag/Tag.stories.tsx +14 -1
  317. package/tag/Tag.test.js +20 -31
  318. package/tag/types.d.ts +7 -7
  319. package/text-input/Suggestion.js +40 -28
  320. package/text-input/Suggestions.d.ts +4 -0
  321. package/text-input/Suggestions.js +86 -0
  322. package/text-input/TextInput.accessibility.test.js +321 -0
  323. package/text-input/TextInput.js +311 -514
  324. package/text-input/TextInput.stories.tsx +266 -275
  325. package/text-input/TextInput.test.js +1419 -1375
  326. package/text-input/types.d.ts +43 -16
  327. package/textarea/Textarea.accessibility.test.js +155 -0
  328. package/textarea/Textarea.js +70 -113
  329. package/textarea/Textarea.stories.tsx +174 -0
  330. package/textarea/Textarea.test.js +152 -183
  331. package/textarea/types.d.ts +9 -5
  332. package/toggle-group/ToggleGroup.accessibility.test.js +107 -0
  333. package/toggle-group/ToggleGroup.d.ts +2 -2
  334. package/toggle-group/ToggleGroup.js +92 -106
  335. package/toggle-group/ToggleGroup.stories.tsx +49 -4
  336. package/toggle-group/ToggleGroup.test.js +69 -88
  337. package/toggle-group/types.d.ts +26 -17
  338. package/typography/Typography.accessibility.test.js +339 -0
  339. package/typography/Typography.d.ts +4 -0
  340. package/typography/Typography.js +23 -0
  341. package/typography/Typography.stories.tsx +198 -0
  342. package/typography/types.d.ts +18 -0
  343. package/typography/types.js +5 -0
  344. package/useTheme.d.ts +1147 -1
  345. package/useTheme.js +2 -9
  346. package/useTranslatedLabels.d.ts +84 -1
  347. package/useTranslatedLabels.js +1 -7
  348. package/utils/BaseTypography.d.ts +21 -0
  349. package/utils/BaseTypography.js +94 -0
  350. package/utils/FocusLock.d.ts +13 -0
  351. package/utils/FocusLock.js +124 -0
  352. package/wizard/Wizard.accessibility.test.js +55 -0
  353. package/wizard/Wizard.js +24 -66
  354. package/wizard/Wizard.stories.tsx +40 -1
  355. package/wizard/Wizard.test.js +54 -81
  356. package/wizard/types.d.ts +8 -8
  357. package/card/ice-cream.jpg +0 -0
  358. package/common/OpenSans.css +0 -81
  359. package/common/RequiredComponent.js +0 -32
  360. package/common/fonts/OpenSans-Bold.ttf +0 -0
  361. package/common/fonts/OpenSans-BoldItalic.ttf +0 -0
  362. package/common/fonts/OpenSans-ExtraBold.ttf +0 -0
  363. package/common/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  364. package/common/fonts/OpenSans-Italic.ttf +0 -0
  365. package/common/fonts/OpenSans-Light.ttf +0 -0
  366. package/common/fonts/OpenSans-LightItalic.ttf +0 -0
  367. package/common/fonts/OpenSans-Regular.ttf +0 -0
  368. package/common/fonts/OpenSans-SemiBold.ttf +0 -0
  369. package/common/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  370. package/list/List.d.ts +0 -4
  371. package/list/List.js +0 -47
  372. package/list/List.stories.tsx +0 -95
  373. package/list/types.d.ts +0 -7
  374. package/number-input/numberInputContextTypes.d.ts +0 -19
  375. package/progress-bar/ProgressBar.stories.jsx +0 -58
  376. package/radio/Radio.d.ts +0 -4
  377. package/radio/Radio.js +0 -173
  378. package/radio/Radio.stories.tsx +0 -192
  379. package/radio/Radio.test.js +0 -71
  380. package/radio/types.d.ts +0 -54
  381. package/resultsetTable/ResultsetTable.d.ts +0 -4
  382. package/resultsetTable/ResultsetTable.js +0 -254
  383. package/resultsetTable/ResultsetTable.test.js +0 -306
  384. package/row/Row.d.ts +0 -3
  385. package/row/Row.js +0 -127
  386. package/row/Row.stories.tsx +0 -237
  387. package/row/types.d.ts +0 -28
  388. package/slider/Slider.stories.tsx +0 -177
  389. package/stack/Stack.d.ts +0 -3
  390. package/stack/Stack.js +0 -97
  391. package/stack/Stack.stories.tsx +0 -164
  392. package/stack/types.d.ts +0 -24
  393. package/table/Table.stories.jsx +0 -277
  394. package/text/Text.d.ts +0 -7
  395. package/text/Text.js +0 -30
  396. package/text/Text.stories.tsx +0 -19
  397. package/textarea/Textarea.stories.jsx +0 -157
  398. /package/{list → action-icon}/types.js +0 -0
  399. /package/{radio → bulleted-list}/types.js +0 -0
  400. /package/{resultsetTable → container}/types.js +0 -0
  401. /package/{row → contextual-menu}/types.js +0 -0
  402. /package/{stack → divider}/types.js +0 -0
  403. /package/{number-input/numberInputContextTypes.js → flex/types.js} +0 -0
@@ -0,0 +1,93 @@
1
+ import React from "react";
2
+ import DxcProgressBar from "./ProgressBar";
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: "Progress Bar",
9
+ component: DxcProgressBar,
10
+ };
11
+
12
+ const opinionatedTheme = {
13
+ progressBar: {
14
+ accentColor: "#5f249f",
15
+ baseColor: "#e6e6e6",
16
+ fontColor: "#000000",
17
+ overlayColor: "#000000b3",
18
+ overlayFontColor: "#ffffff",
19
+ },
20
+ };
21
+
22
+ export const Chromatic = () => (
23
+ <>
24
+ <ExampleContainer>
25
+ <Title title="Without labels" theme="light" level={4} />
26
+ <DxcProgressBar value={50} showValue />
27
+ <Title title="With helperText" theme="light" level={4} />
28
+ <DxcProgressBar helperText="Helper text" value={24} showValue />
29
+ <Title title="Without default value" theme="light" level={4} />
30
+ <DxcProgressBar label="Loading..." showValue />
31
+ <Title title="With full value" theme="light" level={4} />
32
+ <DxcProgressBar label="Loading..." value={100} showValue />
33
+ </ExampleContainer>
34
+ <Title title="Margins" theme="light" level={2} />
35
+ <ExampleContainer>
36
+ <Title title="Xxsmall margin" theme="light" level={4} />
37
+ <DxcProgressBar label="Margin xxsmall" margin="xxsmall" value={50} showValue />
38
+ </ExampleContainer>
39
+ <ExampleContainer>
40
+ <Title title="Xsmall margin" theme="light" level={4} />
41
+ <DxcProgressBar label="Margin xsmall" margin="xsmall" value={50} showValue />
42
+ </ExampleContainer>
43
+ <ExampleContainer>
44
+ <Title title="Small margin" theme="light" level={4} />
45
+ <DxcProgressBar label="Margin small" margin="small" value={50} showValue />
46
+ </ExampleContainer>
47
+ <ExampleContainer>
48
+ <Title title="Medium margin" theme="light" level={4} />
49
+ <DxcProgressBar label="Margin medium" margin="medium" value={50} showValue />
50
+ </ExampleContainer>
51
+ <ExampleContainer>
52
+ <Title title="Large margin" theme="light" level={4} />
53
+ <DxcProgressBar label="Margin large" margin="large" value={50} showValue />
54
+ </ExampleContainer>
55
+ <ExampleContainer>
56
+ <Title title="Xlarge margin" theme="light" level={4} />
57
+ <DxcProgressBar label="Margin xlarge" margin="xlarge" value={50} showValue />
58
+ </ExampleContainer>
59
+ <ExampleContainer>
60
+ <Title title="Xxlarge margin" theme="light" level={4} />
61
+ <DxcProgressBar label="Margin xxlarge" margin="xxlarge" value={50} showValue />
62
+ </ExampleContainer>
63
+ <Title title="Opinionated theme" theme="light" level={2} />
64
+ <ExampleContainer>
65
+ <Title title="Label and helper text" theme="light" level={4} />
66
+ <HalstackProvider theme={opinionatedTheme}>
67
+ <DxcProgressBar label="Loading..." helperText="Helper text" value={24} showValue />
68
+ </HalstackProvider>
69
+ </ExampleContainer>
70
+ <ExampleContainer>
71
+ <Title title="Without default value" theme="light" level={4} />
72
+ <HalstackProvider theme={opinionatedTheme}>
73
+ <DxcProgressBar label="Loading..." helperText="Helper text" showValue />
74
+ </HalstackProvider>
75
+ </ExampleContainer>
76
+ </>
77
+ );
78
+
79
+ export const ProgressBarOverlay = () => (
80
+ <ExampleContainer>
81
+ <Title title="Overlay" theme="dark" level={4} />
82
+ <DxcProgressBar label="Overlay" helperText="Helper text" overlay showValue value={50} />
83
+ </ExampleContainer>
84
+ );
85
+
86
+ export const ProgressBarOverlayOpinionated = () => (
87
+ <ExampleContainer>
88
+ <Title title="Overlay" theme="dark" level={4} />
89
+ <HalstackProvider theme={opinionatedTheme}>
90
+ <DxcProgressBar label="Overlay" helperText="Helper text" overlay showValue value={50} />
91
+ </HalstackProvider>
92
+ </ExampleContainer>
93
+ );
@@ -1,65 +1,93 @@
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
- var _ProgressBar = _interopRequireDefault(require("./ProgressBar"));
10
-
6
+ var _ProgressBar = _interopRequireDefault(require("./ProgressBar.tsx"));
11
7
  describe("ProgressBar component tests", function () {
12
- test("ProgressBar renders with label", function () {
8
+ test("ProgressBar renders with label and helperText", function () {
13
9
  var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ProgressBar["default"], {
14
- label: "test-label"
15
- })),
16
- getByText = _render.getByText;
17
-
10
+ label: "test-label",
11
+ helperText: "helper-text"
12
+ })),
13
+ getByText = _render.getByText;
18
14
  expect(getByText("test-label")).toBeTruthy();
15
+ expect(getByText("helper-text")).toBeTruthy();
19
16
  });
20
- test("Overlay progressBar renders with label", function () {
17
+ test("ProgressBar renders with default value", function () {
18
+ var value = 0;
21
19
  var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ProgressBar["default"], {
22
- label: "test-label",
23
- overlay: true
24
- })),
25
- getByText = _render2.getByText;
26
-
27
- expect(getByText("test-label")).toBeTruthy();
20
+ showValue: true
21
+ })),
22
+ getByText = _render2.getByText,
23
+ getByRole = _render2.getByRole;
24
+ var progressBar = getByRole("progressbar");
25
+ expect(getByText("0 %")).toBeTruthy();
26
+ expect(progressBar.getAttribute("aria-valuenow")).toEqual(value.toString());
28
27
  });
29
- test("ProgressBar renders with default value", function () {
28
+ test("ProgressBar renders with value", function () {
29
+ var value = 25;
30
30
  var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ProgressBar["default"], {
31
- showValue: true
32
- })),
33
- getByText = _render3.getByText;
34
-
35
- expect(getByText("0 %")).toBeTruthy();
31
+ showValue: true,
32
+ value: value
33
+ })),
34
+ getByText = _render3.getByText,
35
+ getByRole = _render3.getByRole;
36
+ var progressBar = getByRole("progressbar");
37
+ expect(getByText("25 %")).toBeTruthy();
38
+ expect(progressBar.getAttribute("aria-valuenow")).toEqual(value.toString());
36
39
  });
37
- test("Overlay progressBar renders with default value", function () {
40
+ test("ProgressBar renders with negative value", function () {
41
+ var value = 0;
38
42
  var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ProgressBar["default"], {
39
- showValue: true,
40
- overlay: true
41
- })),
42
- getByText = _render4.getByText;
43
-
43
+ showValue: true,
44
+ value: -20
45
+ })),
46
+ getByText = _render4.getByText,
47
+ getByRole = _render4.getByRole;
48
+ var progressBar = getByRole("progressbar");
44
49
  expect(getByText("0 %")).toBeTruthy();
50
+ expect(progressBar.getAttribute("aria-valuenow")).toEqual(value.toString());
45
51
  });
46
- test("ProgressBar renders with value", function () {
47
- var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ProgressBar["default"], {
48
- showValue: true,
49
- value: 25
50
- })),
51
- getByText = _render5.getByText;
52
-
53
- expect(getByText("25 %")).toBeTruthy();
52
+ test("ProgressBar renders as indeterminate", function () {
53
+ var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ProgressBar["default"], null)),
54
+ getByRole = _render5.getByRole;
55
+ var progressBar = getByRole("progressbar");
56
+ expect(progressBar.getAttribute("aria-valuenow")).toBe(null);
54
57
  });
55
- test("Overlay progressBar renders with value", function () {
58
+ test("Overlay progressBar renders with label and helperText", function () {
56
59
  var _render6 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ProgressBar["default"], {
57
- showValue: true,
58
- value: 25,
59
- overlay: true
60
- })),
61
- getByText = _render6.getByText;
62
-
60
+ label: "test-label",
61
+ helperText: "helper-text",
62
+ overlay: true
63
+ })),
64
+ getByText = _render6.getByText;
65
+ expect(getByText("test-label")).toBeTruthy();
66
+ expect(getByText("helper-text")).toBeTruthy();
67
+ });
68
+ test("Overlay progressBar renders with default value", function () {
69
+ var value = 0;
70
+ var _render7 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ProgressBar["default"], {
71
+ showValue: true,
72
+ overlay: true
73
+ })),
74
+ getByText = _render7.getByText,
75
+ getByRole = _render7.getByRole;
76
+ var progressBar = getByRole("progressbar");
77
+ expect(getByText("0 %")).toBeTruthy();
78
+ expect(progressBar.getAttribute("aria-valuenow")).toEqual(value.toString());
79
+ });
80
+ test("Overlay progressBar renders with value", function () {
81
+ var value = 25;
82
+ var _render8 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ProgressBar["default"], {
83
+ showValue: true,
84
+ value: value,
85
+ overlay: true
86
+ })),
87
+ getByText = _render8.getByText,
88
+ getByRole = _render8.getByRole;
89
+ var progressBar = getByRole("progressbar");
63
90
  expect(getByText("25 %")).toBeTruthy();
91
+ expect(progressBar.getAttribute("aria-valuenow")).toEqual(value.toString());
64
92
  });
65
93
  });
@@ -1,11 +1,11 @@
1
- declare type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
2
- declare type Size = {
1
+ type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
2
+ type Size = {
3
3
  top?: Space;
4
4
  bottom?: Space;
5
5
  left?: Space;
6
6
  right?: Space;
7
7
  };
8
- declare type Props = {
8
+ type Props = {
9
9
  /**
10
10
  * Text to be placed above the progress bar.
11
11
  */
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
5
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
6
+ var _react = _interopRequireDefault(require("react"));
7
+ var _react2 = require("@testing-library/react");
8
+ var _jestAxe = require("jest-axe");
9
+ var _QuickNav = _interopRequireDefault(require("./QuickNav"));
10
+ var links = [{
11
+ label: "Overview",
12
+ links: [{
13
+ label: "Introduction"
14
+ }]
15
+ }, {
16
+ label: "Components",
17
+ links: [{
18
+ label: "Introduction"
19
+ }, {
20
+ label: "Accordion"
21
+ }]
22
+ }, {
23
+ label: "Principles very very very very very very very very long",
24
+ links: [{
25
+ label: "Color very very very very very very very very long"
26
+ }, {
27
+ label: "Spacingveryveryveryveryveryveryveryverylong"
28
+ }, {
29
+ label: "Typography"
30
+ }]
31
+ }, {
32
+ label: "Componentsveryveryveryveryveryveryveryverylong",
33
+ links: [{
34
+ label: "Accordion"
35
+ }]
36
+ }];
37
+ describe("Quick Nav component accessibility tests", function () {
38
+ it("Should not have basic accessibility issues for icon mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
39
+ var _render, container, results;
40
+ return _regenerator["default"].wrap(function _callee$(_context) {
41
+ while (1) switch (_context.prev = _context.next) {
42
+ case 0:
43
+ _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_QuickNav["default"], {
44
+ links: links
45
+ })), container = _render.container;
46
+ _context.next = 3;
47
+ return (0, _jestAxe.axe)(container);
48
+ case 3:
49
+ results = _context.sent;
50
+ expect(results).toHaveNoViolations();
51
+ case 5:
52
+ case "end":
53
+ return _context.stop();
54
+ }
55
+ }, _callee);
56
+ })));
57
+ });
@@ -1,78 +1,63 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  var _typeof = require("@babel/runtime/helpers/typeof");
6
-
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
8
  exports["default"] = void 0;
11
-
12
9
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
13
-
14
10
  var _react = _interopRequireDefault(require("react"));
15
-
16
11
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
17
-
18
12
  var _slugify = _interopRequireDefault(require("slugify"));
19
-
20
13
  var _useTheme = _interopRequireDefault(require("../useTheme"));
21
-
22
14
  var _Heading = _interopRequireDefault(require("../heading/Heading"));
23
-
24
- var _Stack = _interopRequireDefault(require("../stack/Stack"));
25
-
15
+ var _Flex = _interopRequireDefault(require("../flex/Flex"));
26
16
  var _Inset = _interopRequireDefault(require("../inset/Inset"));
27
-
28
- var _List = _interopRequireDefault(require("../list/List"));
29
-
30
- var _Text = _interopRequireDefault(require("../text/Text"));
31
-
17
+ var _Typography = _interopRequireDefault(require("../typography/Typography"));
32
18
  var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
33
-
34
- var _templateObject, _templateObject2;
35
-
36
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
37
-
38
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
39
-
19
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4;
20
+ 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" != _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; }
40
22
  var DxcQuickNav = function DxcQuickNav(_ref) {
41
23
  var title = _ref.title,
42
- links = _ref.links;
24
+ links = _ref.links;
43
25
  var translatedLabels = (0, _useTranslatedLabels["default"])();
44
26
  var colorsTheme = (0, _useTheme["default"])();
45
27
  return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
46
28
  theme: colorsTheme.quickNav
47
- }, /*#__PURE__*/_react["default"].createElement(QuickNavContainer, null, /*#__PURE__*/_react["default"].createElement(_Stack["default"], {
48
- gutter: "xsmall"
29
+ }, /*#__PURE__*/_react["default"].createElement(QuickNavContainer, null, /*#__PURE__*/_react["default"].createElement(_Flex["default"], {
30
+ direction: "column",
31
+ gap: "0.5rem"
49
32
  }, /*#__PURE__*/_react["default"].createElement(_Heading["default"], {
50
33
  level: 4,
51
34
  text: title || translatedLabels.quickNav.contentTitle
52
- }), /*#__PURE__*/_react["default"].createElement(_List["default"], null, /*#__PURE__*/_react["default"].createElement(_Stack["default"], {
53
- gutter: "xsmall"
54
- }, links.map(function (link) {
35
+ }), /*#__PURE__*/_react["default"].createElement(ListColumn, null, links.map(function (link) {
55
36
  var _link$links;
56
-
57
- return /*#__PURE__*/_react["default"].createElement(_Inset["default"], {
58
- space: "xxsmall"
59
- }, /*#__PURE__*/_react["default"].createElement(_Text["default"], null, /*#__PURE__*/_react["default"].createElement(Link, {
37
+ return /*#__PURE__*/_react["default"].createElement("li", {
38
+ key: link.label
39
+ }, /*#__PURE__*/_react["default"].createElement(_Inset["default"], {
40
+ space: "0.25rem"
41
+ }, /*#__PURE__*/_react["default"].createElement(_Typography["default"], null, /*#__PURE__*/_react["default"].createElement(Link, {
60
42
  href: "#".concat((0, _slugify["default"])(link === null || link === void 0 ? void 0 : link.label, {
61
43
  lower: true
62
44
  }))
63
- }, link === null || link === void 0 ? void 0 : link.label), (_link$links = link.links) === null || _link$links === void 0 ? void 0 : _link$links.map(function (sublink) {
64
- return /*#__PURE__*/_react["default"].createElement(_Inset["default"], {
65
- horizontal: "xsmall"
66
- }, /*#__PURE__*/_react["default"].createElement(_Text["default"], null, /*#__PURE__*/_react["default"].createElement(Link, {
67
- href: "#".concat((0, _slugify["default"])(sublink === null || sublink === void 0 ? void 0 : sublink.label, {
45
+ }, link === null || link === void 0 ? void 0 : link.label), /*#__PURE__*/_react["default"].createElement(ListSecondColumn, null, (_link$links = link.links) === null || _link$links === void 0 ? void 0 : _link$links.map(function (sublink) {
46
+ return /*#__PURE__*/_react["default"].createElement("li", {
47
+ key: sublink.label
48
+ }, /*#__PURE__*/_react["default"].createElement(_Inset["default"], {
49
+ horizontal: "0.5rem"
50
+ }, /*#__PURE__*/_react["default"].createElement(_Typography["default"], null, /*#__PURE__*/_react["default"].createElement(Link, {
51
+ href: "#".concat((0, _slugify["default"])(link === null || link === void 0 ? void 0 : link.label, {
52
+ lower: true
53
+ }), "-").concat((0, _slugify["default"])(sublink === null || sublink === void 0 ? void 0 : sublink.label, {
68
54
  lower: true
69
55
  }))
70
- }, sublink === null || sublink === void 0 ? void 0 : sublink.label)));
71
- })));
72
- }))))));
56
+ }, sublink === null || sublink === void 0 ? void 0 : sublink.label))));
57
+ })))));
58
+ })))));
73
59
  };
74
-
75
- var QuickNavContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n padding-top: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n padding-right: ", ";\n border-left: 2px solid ", ";\n li > div:first-child {\n display: none;\n }\n"])), function (props) {
60
+ var QuickNavContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n padding-top: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n padding-right: ", ";\n border-left: 2px solid ", ";\n"])), function (props) {
76
61
  return props.theme.paddingTop;
77
62
  }, function (props) {
78
63
  return props.theme.paddingBottom;
@@ -83,8 +68,9 @@ var QuickNavContainer = _styledComponents["default"].div(_templateObject || (_te
83
68
  }, function (props) {
84
69
  return props.theme.dividerBorderColor;
85
70
  });
86
-
87
- var Link = _styledComponents["default"].a(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n text-decoration: none;\n font-size: ", ";\n font-family: ", ";\n font-style: ", ";\n font-weight: ", ";\n color: ", ";\n\n &:hover {\n color: ", ";\n }\n &:focus {\n outline-color: ", ";\n outline-style: ", ";\n outline-width: ", ";\n border-radius: ", ";\n }\n"])), function (props) {
71
+ var ListColumn = _styledComponents["default"].ul(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n margin: 0;\n padding: 0;\n list-style-type: none;\n"])));
72
+ var ListSecondColumn = _styledComponents["default"].ul(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n margin: 0;\n padding: 0;\n list-style-type: none;\n"])));
73
+ var Link = _styledComponents["default"].a(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n text-decoration: none;\n font-size: ", ";\n font-family: ", ";\n font-style: ", ";\n font-weight: ", ";\n color: ", ";\n display: block;\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n width: fit-content;\n max-width: 100%;\n\n &:hover {\n color: ", ";\n }\n &:focus {\n outline-color: ", ";\n outline-style: ", ";\n outline-width: ", ";\n border-radius: ", ";\n }\n"])), function (props) {
88
74
  return props.theme.fontSize;
89
75
  }, function (props) {
90
76
  return props.theme.fontFamily;
@@ -105,6 +91,4 @@ var Link = _styledComponents["default"].a(_templateObject2 || (_templateObject2
105
91
  }, function (props) {
106
92
  return props.theme.focusBorderRadius;
107
93
  });
108
-
109
- var _default = DxcQuickNav;
110
- exports["default"] = _default;
94
+ var _default = exports["default"] = DxcQuickNav;