@dxc-technology/halstack-react 0.0.0-64f5836 → 0.0.0-65612cd

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 (351) hide show
  1. package/BackgroundColorContext.d.ts +10 -0
  2. package/BackgroundColorContext.js +1 -4
  3. package/HalstackContext.d.ts +12 -0
  4. package/HalstackContext.js +295 -0
  5. package/accordion/Accordion.d.ts +4 -0
  6. package/accordion/Accordion.js +126 -170
  7. package/accordion/Accordion.stories.tsx +306 -0
  8. package/accordion/Accordion.test.js +71 -0
  9. package/accordion/types.d.ts +69 -0
  10. package/accordion/types.js +5 -0
  11. package/accordion-group/AccordionGroup.d.ts +7 -0
  12. package/accordion-group/AccordionGroup.js +61 -96
  13. package/accordion-group/AccordionGroup.stories.tsx +251 -0
  14. package/accordion-group/AccordionGroup.test.js +126 -0
  15. package/accordion-group/types.d.ts +79 -0
  16. package/accordion-group/types.js +5 -0
  17. package/alert/Alert.d.ts +4 -0
  18. package/alert/Alert.js +8 -24
  19. package/alert/Alert.stories.tsx +170 -0
  20. package/alert/Alert.test.js +92 -0
  21. package/alert/types.d.ts +49 -0
  22. package/alert/types.js +5 -0
  23. package/badge/Badge.d.ts +4 -0
  24. package/badge/Badge.js +6 -4
  25. package/badge/types.d.ts +5 -0
  26. package/badge/types.js +5 -0
  27. package/bleed/Bleed.d.ts +3 -0
  28. package/bleed/Bleed.js +51 -0
  29. package/bleed/Bleed.stories.tsx +341 -0
  30. package/bleed/types.d.ts +37 -0
  31. package/bleed/types.js +5 -0
  32. package/box/Box.d.ts +4 -0
  33. package/box/Box.js +29 -65
  34. package/box/Box.stories.tsx +132 -0
  35. package/box/Box.test.js +18 -0
  36. package/box/types.d.ts +44 -0
  37. package/box/types.js +5 -0
  38. package/bulleted-list/BulletedList.d.ts +7 -0
  39. package/bulleted-list/BulletedList.js +123 -0
  40. package/bulleted-list/BulletedList.stories.tsx +200 -0
  41. package/bulleted-list/types.d.ts +11 -0
  42. package/bulleted-list/types.js +5 -0
  43. package/button/Button.d.ts +1 -1
  44. package/button/Button.js +61 -87
  45. package/button/Button.stories.tsx +259 -282
  46. package/button/Button.test.js +35 -0
  47. package/button/types.d.ts +14 -18
  48. package/card/Card.d.ts +4 -0
  49. package/card/Card.js +38 -77
  50. package/card/Card.stories.tsx +201 -0
  51. package/card/Card.test.js +50 -0
  52. package/card/ice-cream.jpg +0 -0
  53. package/card/types.d.ts +68 -0
  54. package/card/types.js +5 -0
  55. package/checkbox/Checkbox.d.ts +1 -1
  56. package/checkbox/Checkbox.js +104 -108
  57. package/checkbox/Checkbox.stories.tsx +188 -0
  58. package/checkbox/Checkbox.test.js +155 -0
  59. package/checkbox/types.d.ts +11 -8
  60. package/chip/Chip.d.ts +4 -0
  61. package/chip/Chip.js +16 -76
  62. package/chip/Chip.stories.tsx +119 -0
  63. package/chip/Chip.test.js +56 -0
  64. package/chip/types.d.ts +45 -0
  65. package/chip/types.js +5 -0
  66. package/common/variables.js +318 -379
  67. package/date-input/DateInput.d.ts +4 -0
  68. package/date-input/DateInput.js +65 -89
  69. package/date-input/DateInput.stories.tsx +138 -0
  70. package/date-input/DateInput.test.js +479 -0
  71. package/date-input/types.d.ts +107 -0
  72. package/date-input/types.js +5 -0
  73. package/dialog/Dialog.d.ts +4 -0
  74. package/dialog/Dialog.js +52 -74
  75. package/dialog/Dialog.stories.tsx +267 -0
  76. package/dialog/Dialog.test.js +70 -0
  77. package/dialog/types.d.ts +44 -0
  78. package/dialog/types.js +5 -0
  79. package/dropdown/Dropdown.d.ts +4 -0
  80. package/dropdown/Dropdown.js +241 -303
  81. package/dropdown/Dropdown.stories.tsx +312 -0
  82. package/dropdown/Dropdown.test.js +590 -0
  83. package/dropdown/DropdownMenu.d.ts +4 -0
  84. package/dropdown/DropdownMenu.js +80 -0
  85. package/dropdown/DropdownMenuItem.d.ts +4 -0
  86. package/dropdown/DropdownMenuItem.js +92 -0
  87. package/dropdown/types.d.ts +100 -0
  88. package/dropdown/types.js +5 -0
  89. package/file-input/FileInput.d.ts +4 -0
  90. package/file-input/FileInput.js +180 -111
  91. package/file-input/FileInput.stories.tsx +507 -0
  92. package/file-input/FileInput.test.js +498 -0
  93. package/file-input/FileItem.d.ts +14 -0
  94. package/file-input/FileItem.js +16 -23
  95. package/file-input/types.d.ts +112 -0
  96. package/file-input/types.js +5 -0
  97. package/flex/Flex.d.ts +4 -0
  98. package/flex/Flex.js +69 -0
  99. package/flex/Flex.stories.tsx +103 -0
  100. package/flex/types.d.ts +32 -0
  101. package/flex/types.js +5 -0
  102. package/footer/Footer.d.ts +4 -0
  103. package/footer/Footer.js +36 -148
  104. package/footer/Footer.stories.tsx +137 -0
  105. package/footer/Footer.test.js +109 -0
  106. package/footer/Icons.d.ts +2 -0
  107. package/footer/Icons.js +4 -4
  108. package/footer/types.d.ts +66 -0
  109. package/footer/types.js +5 -0
  110. package/header/Header.d.ts +7 -0
  111. package/header/Header.js +119 -140
  112. package/header/Header.stories.tsx +172 -0
  113. package/header/Header.test.js +79 -0
  114. package/header/Icons.d.ts +2 -0
  115. package/header/Icons.js +4 -29
  116. package/header/types.d.ts +48 -0
  117. package/header/types.js +5 -0
  118. package/heading/Heading.d.ts +4 -0
  119. package/heading/Heading.js +7 -24
  120. package/heading/Heading.stories.tsx +54 -0
  121. package/heading/Heading.test.js +186 -0
  122. package/heading/types.d.ts +33 -0
  123. package/heading/types.js +5 -0
  124. package/inset/Inset.d.ts +3 -0
  125. package/inset/Inset.js +51 -0
  126. package/inset/Inset.stories.tsx +229 -0
  127. package/inset/types.d.ts +37 -0
  128. package/inset/types.js +5 -0
  129. package/layout/ApplicationLayout.d.ts +20 -0
  130. package/layout/ApplicationLayout.js +71 -135
  131. package/layout/ApplicationLayout.stories.tsx +162 -0
  132. package/layout/Icons.d.ts +5 -0
  133. package/layout/Icons.js +13 -2
  134. package/layout/SidenavContext.d.ts +5 -0
  135. package/layout/SidenavContext.js +19 -0
  136. package/layout/types.d.ts +42 -0
  137. package/layout/types.js +5 -0
  138. package/link/Link.d.ts +4 -0
  139. package/link/Link.js +60 -107
  140. package/link/Link.stories.tsx +193 -0
  141. package/link/Link.test.js +83 -0
  142. package/link/types.d.ts +54 -0
  143. package/link/types.js +5 -0
  144. package/main.d.ts +12 -12
  145. package/main.js +64 -58
  146. package/number-input/NumberInput.d.ts +4 -0
  147. package/number-input/NumberInput.js +16 -68
  148. package/number-input/NumberInput.stories.tsx +115 -0
  149. package/number-input/NumberInput.test.js +543 -0
  150. package/number-input/NumberInputContext.d.ts +4 -0
  151. package/number-input/NumberInputContext.js +5 -2
  152. package/number-input/numberInputContextTypes.d.ts +19 -0
  153. package/number-input/numberInputContextTypes.js +5 -0
  154. package/number-input/types.d.ts +124 -0
  155. package/number-input/types.js +5 -0
  156. package/package.json +17 -13
  157. package/paginator/Paginator.js +19 -46
  158. package/paginator/Paginator.stories.tsx +63 -0
  159. package/paginator/Paginator.test.js +308 -0
  160. package/paragraph/Paragraph.d.ts +6 -0
  161. package/paragraph/Paragraph.js +38 -0
  162. package/paragraph/Paragraph.stories.tsx +44 -0
  163. package/password-input/PasswordInput.d.ts +4 -0
  164. package/password-input/PasswordInput.js +24 -57
  165. package/password-input/PasswordInput.stories.tsx +131 -0
  166. package/password-input/PasswordInput.test.js +181 -0
  167. package/password-input/types.d.ts +110 -0
  168. package/password-input/types.js +5 -0
  169. package/progress-bar/ProgressBar.d.ts +4 -0
  170. package/progress-bar/ProgressBar.js +60 -72
  171. package/progress-bar/ProgressBar.stories.jsx +60 -0
  172. package/progress-bar/ProgressBar.test.js +110 -0
  173. package/progress-bar/types.d.ts +36 -0
  174. package/progress-bar/types.js +5 -0
  175. package/quick-nav/QuickNav.d.ts +4 -0
  176. package/quick-nav/QuickNav.js +117 -0
  177. package/quick-nav/QuickNav.stories.tsx +342 -0
  178. package/quick-nav/types.d.ts +21 -0
  179. package/quick-nav/types.js +5 -0
  180. package/radio-group/Radio.d.ts +4 -0
  181. package/radio-group/Radio.js +156 -0
  182. package/radio-group/RadioGroup.d.ts +4 -0
  183. package/radio-group/RadioGroup.js +283 -0
  184. package/radio-group/RadioGroup.stories.tsx +101 -0
  185. package/radio-group/RadioGroup.test.js +722 -0
  186. package/radio-group/types.d.ts +114 -0
  187. package/radio-group/types.js +5 -0
  188. package/resultsetTable/ResultsetTable.d.ts +4 -0
  189. package/resultsetTable/ResultsetTable.js +10 -32
  190. package/resultsetTable/ResultsetTable.stories.tsx +275 -0
  191. package/resultsetTable/ResultsetTable.test.js +348 -0
  192. package/resultsetTable/types.d.ts +67 -0
  193. package/resultsetTable/types.js +5 -0
  194. package/select/Icons.d.ts +10 -0
  195. package/select/Icons.js +93 -0
  196. package/select/Listbox.d.ts +4 -0
  197. package/select/Listbox.js +198 -0
  198. package/select/Option.d.ts +4 -0
  199. package/select/Option.js +110 -0
  200. package/select/Select.d.ts +4 -0
  201. package/select/Select.js +160 -380
  202. package/select/Select.stories.tsx +627 -0
  203. package/select/Select.test.js +2233 -0
  204. package/select/types.d.ts +210 -0
  205. package/select/types.js +5 -0
  206. package/sidenav/Sidenav.d.ts +10 -0
  207. package/sidenav/Sidenav.js +186 -63
  208. package/sidenav/Sidenav.stories.tsx +180 -0
  209. package/sidenav/Sidenav.test.js +44 -0
  210. package/sidenav/types.d.ts +73 -0
  211. package/sidenav/types.js +5 -0
  212. package/slider/Slider.d.ts +4 -0
  213. package/slider/Slider.js +155 -153
  214. package/slider/Slider.stories.tsx +183 -0
  215. package/slider/Slider.test.js +250 -0
  216. package/slider/types.d.ts +82 -0
  217. package/slider/types.js +5 -0
  218. package/spinner/Spinner.d.ts +4 -0
  219. package/spinner/Spinner.js +9 -26
  220. package/spinner/Spinner.stories.jsx +103 -0
  221. package/spinner/Spinner.test.js +64 -0
  222. package/spinner/types.d.ts +32 -0
  223. package/spinner/types.js +5 -0
  224. package/switch/Switch.d.ts +2 -2
  225. package/switch/Switch.js +149 -67
  226. package/switch/Switch.stories.tsx +138 -0
  227. package/switch/Switch.test.js +225 -0
  228. package/switch/types.d.ts +9 -6
  229. package/table/Table.d.ts +4 -0
  230. package/table/Table.js +4 -4
  231. package/table/Table.stories.jsx +277 -0
  232. package/table/Table.test.js +26 -0
  233. package/table/types.d.ts +21 -0
  234. package/table/types.js +5 -0
  235. package/tabs/Tab.d.ts +4 -0
  236. package/tabs/Tab.js +135 -0
  237. package/tabs/Tabs.d.ts +4 -0
  238. package/tabs/Tabs.js +364 -156
  239. package/tabs/Tabs.stories.tsx +186 -0
  240. package/tabs/Tabs.test.js +351 -0
  241. package/tabs/types.d.ts +92 -0
  242. package/tabs/types.js +5 -0
  243. package/tabs-nav/NavTabs.d.ts +8 -0
  244. package/tabs-nav/NavTabs.js +125 -0
  245. package/tabs-nav/NavTabs.stories.tsx +170 -0
  246. package/tabs-nav/NavTabs.test.js +82 -0
  247. package/tabs-nav/Tab.d.ts +4 -0
  248. package/tabs-nav/Tab.js +130 -0
  249. package/tabs-nav/types.d.ts +53 -0
  250. package/tabs-nav/types.js +5 -0
  251. package/tag/Tag.d.ts +4 -0
  252. package/tag/Tag.js +35 -60
  253. package/tag/Tag.stories.tsx +142 -0
  254. package/tag/Tag.test.js +60 -0
  255. package/tag/types.d.ts +69 -0
  256. package/tag/types.js +5 -0
  257. package/text-input/Icons.d.ts +8 -0
  258. package/text-input/Icons.js +60 -0
  259. package/text-input/Suggestion.d.ts +4 -0
  260. package/text-input/Suggestion.js +57 -0
  261. package/text-input/Suggestions.d.ts +4 -0
  262. package/text-input/Suggestions.js +134 -0
  263. package/text-input/TextInput.d.ts +4 -0
  264. package/text-input/TextInput.js +228 -376
  265. package/text-input/TextInput.stories.tsx +481 -0
  266. package/text-input/TextInput.test.js +1771 -0
  267. package/text-input/types.d.ts +197 -0
  268. package/text-input/types.js +5 -0
  269. package/textarea/Textarea.d.ts +4 -0
  270. package/textarea/Textarea.js +39 -79
  271. package/textarea/Textarea.stories.jsx +157 -0
  272. package/textarea/Textarea.test.js +437 -0
  273. package/textarea/types.d.ts +137 -0
  274. package/textarea/types.js +5 -0
  275. package/toggle-group/ToggleGroup.d.ts +4 -0
  276. package/toggle-group/ToggleGroup.js +18 -46
  277. package/toggle-group/ToggleGroup.stories.tsx +173 -0
  278. package/toggle-group/ToggleGroup.test.js +156 -0
  279. package/toggle-group/types.d.ts +105 -0
  280. package/toggle-group/types.js +5 -0
  281. package/typography/Typography.d.ts +4 -0
  282. package/typography/Typography.js +131 -0
  283. package/typography/Typography.stories.tsx +198 -0
  284. package/typography/types.d.ts +18 -0
  285. package/typography/types.js +5 -0
  286. package/useTheme.d.ts +2 -0
  287. package/useTheme.js +2 -2
  288. package/useTranslatedLabels.d.ts +2 -0
  289. package/useTranslatedLabels.js +20 -0
  290. package/wizard/Wizard.d.ts +4 -0
  291. package/wizard/Wizard.js +118 -104
  292. package/wizard/Wizard.stories.tsx +233 -0
  293. package/wizard/Wizard.test.js +141 -0
  294. package/wizard/types.d.ts +65 -0
  295. package/wizard/types.js +5 -0
  296. package/ThemeContext.js +0 -246
  297. package/V3Select/V3Select.js +0 -455
  298. package/V3Select/index.d.ts +0 -27
  299. package/V3Textarea/V3Textarea.js +0 -260
  300. package/V3Textarea/index.d.ts +0 -27
  301. package/accordion/index.d.ts +0 -28
  302. package/accordion-group/index.d.ts +0 -16
  303. package/alert/index.d.ts +0 -51
  304. package/box/index.d.ts +0 -25
  305. package/card/index.d.ts +0 -22
  306. package/chip/index.d.ts +0 -22
  307. package/date/Date.js +0 -373
  308. package/date/index.d.ts +0 -27
  309. package/date-input/index.d.ts +0 -95
  310. package/dialog/index.d.ts +0 -18
  311. package/dropdown/index.d.ts +0 -26
  312. package/file-input/index.d.ts +0 -81
  313. package/footer/index.d.ts +0 -25
  314. package/header/index.d.ts +0 -25
  315. package/heading/index.d.ts +0 -17
  316. package/input-text/Icons.js +0 -22
  317. package/input-text/InputText.js +0 -611
  318. package/input-text/index.d.ts +0 -36
  319. package/link/index.d.ts +0 -23
  320. package/number-input/index.d.ts +0 -113
  321. package/password-input/index.d.ts +0 -94
  322. package/progress-bar/index.d.ts +0 -18
  323. package/radio/Radio.js +0 -195
  324. package/radio/index.d.ts +0 -23
  325. package/resultsetTable/index.d.ts +0 -19
  326. package/select/index.d.ts +0 -131
  327. package/sidenav/index.d.ts +0 -13
  328. package/slider/index.d.ts +0 -29
  329. package/spinner/index.d.ts +0 -17
  330. package/table/index.d.ts +0 -13
  331. package/tabs/index.d.ts +0 -19
  332. package/tag/index.d.ts +0 -24
  333. package/text-input/index.d.ts +0 -135
  334. package/textarea/index.d.ts +0 -117
  335. package/toggle/Toggle.js +0 -186
  336. package/toggle/index.d.ts +0 -21
  337. package/toggle-group/index.d.ts +0 -21
  338. package/upload/Upload.js +0 -201
  339. package/upload/buttons-upload/ButtonsUpload.js +0 -111
  340. package/upload/buttons-upload/Icons.js +0 -40
  341. package/upload/dragAndDropArea/DragAndDropArea.js +0 -225
  342. package/upload/dragAndDropArea/Icons.js +0 -39
  343. package/upload/file-upload/FileToUpload.js +0 -115
  344. package/upload/file-upload/Icons.js +0 -66
  345. package/upload/files-upload/FilesToUpload.js +0 -109
  346. package/upload/index.d.ts +0 -15
  347. package/upload/transaction/Icons.js +0 -160
  348. package/upload/transaction/Transaction.js +0 -104
  349. package/upload/transactions/Transactions.js +0 -94
  350. package/wizard/Icons.js +0 -65
  351. package/wizard/index.d.ts +0 -18
@@ -0,0 +1,60 @@
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
+
6
+ export default {
7
+ title: "ProgressBar",
8
+ component: DxcProgressBar,
9
+ };
10
+
11
+ export const Chromatic = () => (
12
+ <>
13
+ <ExampleContainer>
14
+ <Title title="Without labels" theme="light" level={4} />
15
+ <DxcProgressBar value={50} showValue />
16
+ <Title title="With helperText" theme="light" level={4} />
17
+ <DxcProgressBar helperText="Helper text" value={24} showValue />
18
+ <Title title="Without default value" theme="light" level={4} />
19
+ <DxcProgressBar label="Loading..." showValue />
20
+ <Title title="With full value" theme="light" level={4} />
21
+ <DxcProgressBar label="Loading..." value={100} showValue />
22
+ </ExampleContainer>
23
+ <Title title="Margins" theme="light" level={2} />
24
+ <ExampleContainer>
25
+ <Title title="Xxsmall margin" theme="light" level={4} />
26
+ <DxcProgressBar label="Margin xxsmall" margin="xxsmall" value={50} showValue />
27
+ </ExampleContainer>
28
+ <ExampleContainer>
29
+ <Title title="Xsmall margin" theme="light" level={4} />
30
+ <DxcProgressBar label="Margin xsmall" margin="xsmall" value={50} showValue />
31
+ </ExampleContainer>
32
+ <ExampleContainer>
33
+ <Title title="Small margin" theme="light" level={4} />
34
+ <DxcProgressBar label="Margin small" margin="small" value={50} showValue />
35
+ </ExampleContainer>
36
+ <ExampleContainer>
37
+ <Title title="Medium margin" theme="light" level={4} />
38
+ <DxcProgressBar label="Margin medium" margin="medium" value={50} showValue />
39
+ </ExampleContainer>
40
+ <ExampleContainer>
41
+ <Title title="Large margin" theme="light" level={4} />
42
+ <DxcProgressBar label="Margin large" margin="large" value={50} showValue />
43
+ </ExampleContainer>
44
+ <ExampleContainer>
45
+ <Title title="Xlarge margin" theme="light" level={4} />
46
+ <DxcProgressBar label="Margin xlarge" margin="xlarge" value={50} showValue />
47
+ </ExampleContainer>
48
+ <ExampleContainer>
49
+ <Title title="XxLarge margin" theme="light" level={4} />
50
+ <DxcProgressBar label="Margin xxlarge" margin="xxlarge" value={50} showValue />
51
+ </ExampleContainer>
52
+ </>
53
+ );
54
+
55
+ export const ProgressBarOverlay = () => (
56
+ <ExampleContainer>
57
+ <Title title="Overlay" theme="dark" level={4} />
58
+ <DxcProgressBar label="Overlay" helperText="Helper text" overlay={true} showValue value={50} />
59
+ </ExampleContainer>
60
+ );
@@ -0,0 +1,110 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _react = _interopRequireDefault(require("react"));
6
+
7
+ var _react2 = require("@testing-library/react");
8
+
9
+ var _ProgressBar = _interopRequireDefault(require("./ProgressBar"));
10
+
11
+ describe("ProgressBar component tests", function () {
12
+ test("ProgressBar renders with label and helperText", function () {
13
+ var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ProgressBar["default"], {
14
+ label: "test-label",
15
+ helperText: "helper-text"
16
+ })),
17
+ getByText = _render.getByText;
18
+
19
+ expect(getByText("test-label")).toBeTruthy();
20
+ expect(getByText("helper-text")).toBeTruthy();
21
+ });
22
+ test("ProgressBar renders with default value", function () {
23
+ var value = 0;
24
+
25
+ var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ProgressBar["default"], {
26
+ showValue: true
27
+ })),
28
+ getByText = _render2.getByText,
29
+ getByRole = _render2.getByRole;
30
+
31
+ var progressBar = getByRole("progressbar");
32
+ expect(getByText("0 %")).toBeTruthy();
33
+ expect(progressBar.getAttribute("aria-valuenow")).toEqual(value.toString());
34
+ });
35
+ test("ProgressBar renders with value", function () {
36
+ var value = 25;
37
+
38
+ var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ProgressBar["default"], {
39
+ showValue: true,
40
+ value: value
41
+ })),
42
+ getByText = _render3.getByText,
43
+ getByRole = _render3.getByRole;
44
+
45
+ var progressBar = getByRole("progressbar");
46
+ expect(getByText("25 %")).toBeTruthy();
47
+ expect(progressBar.getAttribute("aria-valuenow")).toEqual(value.toString());
48
+ });
49
+ test("ProgressBar renders with negative value", function () {
50
+ var value = 0;
51
+
52
+ var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ProgressBar["default"], {
53
+ showValue: true,
54
+ value: -20
55
+ })),
56
+ getByText = _render4.getByText,
57
+ getByRole = _render4.getByRole;
58
+
59
+ var progressBar = getByRole("progressbar");
60
+ expect(getByText("0 %")).toBeTruthy();
61
+ expect(progressBar.getAttribute("aria-valuenow")).toEqual(value.toString());
62
+ });
63
+ test("ProgressBar renders as indeterminate", function () {
64
+ var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ProgressBar["default"], null)),
65
+ getByRole = _render5.getByRole;
66
+
67
+ var progressBar = getByRole("progressbar");
68
+ expect(progressBar.getAttribute("aria-valuenow")).toBe(null);
69
+ });
70
+ test("Overlay progressBar renders with label and helperText", function () {
71
+ var _render6 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ProgressBar["default"], {
72
+ label: "test-label",
73
+ helperText: "helper-text",
74
+ overlay: true
75
+ })),
76
+ getByText = _render6.getByText;
77
+
78
+ expect(getByText("test-label")).toBeTruthy();
79
+ expect(getByText("helper-text")).toBeTruthy();
80
+ });
81
+ test("Overlay progressBar renders with default value", function () {
82
+ var value = 0;
83
+
84
+ var _render7 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ProgressBar["default"], {
85
+ showValue: true,
86
+ overlay: true
87
+ })),
88
+ getByText = _render7.getByText,
89
+ getByRole = _render7.getByRole;
90
+
91
+ var progressBar = getByRole("progressbar");
92
+ expect(getByText("0 %")).toBeTruthy();
93
+ expect(progressBar.getAttribute("aria-valuenow")).toEqual(value.toString());
94
+ });
95
+ test("Overlay progressBar renders with value", function () {
96
+ var value = 25;
97
+
98
+ var _render8 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ProgressBar["default"], {
99
+ showValue: true,
100
+ value: value,
101
+ overlay: true
102
+ })),
103
+ getByText = _render8.getByText,
104
+ getByRole = _render8.getByRole;
105
+
106
+ var progressBar = getByRole("progressbar");
107
+ expect(getByText("25 %")).toBeTruthy();
108
+ expect(progressBar.getAttribute("aria-valuenow")).toEqual(value.toString());
109
+ });
110
+ });
@@ -0,0 +1,36 @@
1
+ export declare type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
2
+ export declare type Size = {
3
+ top?: Space;
4
+ bottom?: Space;
5
+ left?: Space;
6
+ right?: Space;
7
+ };
8
+ export declare type Props = {
9
+ /**
10
+ * Text to be placed above the progress bar.
11
+ */
12
+ label?: string;
13
+ /**
14
+ * Helper text to be placed under the progress bar.
15
+ */
16
+ helperText?: string;
17
+ /**
18
+ * If true, the progress bar will be displayed as a modal.
19
+ */
20
+ overlay?: boolean;
21
+ /**
22
+ * The value of the progress indicator. If it's received the component is
23
+ * determinate otherwise is indeterminate.
24
+ */
25
+ value?: number;
26
+ /**
27
+ * If true, the value is displayed above the progress bar.
28
+ */
29
+ showValue?: boolean;
30
+ /**
31
+ * Size of the margin to be applied to the component. You can pass
32
+ * an object with 'top', 'bottom', 'left' and 'right' properties
33
+ * in order to specify different margin sizes.
34
+ */
35
+ margin?: Space | Size;
36
+ };
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ import QuickNavTypes from "./types";
3
+ declare const DxcQuickNav: ({ title, links }: QuickNavTypes) => JSX.Element;
4
+ export default DxcQuickNav;
@@ -0,0 +1,117 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports["default"] = void 0;
11
+
12
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
13
+
14
+ var _react = _interopRequireDefault(require("react"));
15
+
16
+ var _styledComponents = _interopRequireWildcard(require("styled-components"));
17
+
18
+ var _slugify = _interopRequireDefault(require("slugify"));
19
+
20
+ var _useTheme = _interopRequireDefault(require("../useTheme"));
21
+
22
+ var _Heading = _interopRequireDefault(require("../heading/Heading"));
23
+
24
+ var _Flex = _interopRequireDefault(require("../flex/Flex"));
25
+
26
+ var _Inset = _interopRequireDefault(require("../inset/Inset"));
27
+
28
+ var _Typography = _interopRequireDefault(require("../typography/Typography"));
29
+
30
+ var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
31
+
32
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4;
33
+
34
+ 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); }
35
+
36
+ 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; }
37
+
38
+ var DxcQuickNav = function DxcQuickNav(_ref) {
39
+ var title = _ref.title,
40
+ links = _ref.links;
41
+ var translatedLabels = (0, _useTranslatedLabels["default"])();
42
+ var colorsTheme = (0, _useTheme["default"])();
43
+ return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
44
+ theme: colorsTheme.quickNav
45
+ }, /*#__PURE__*/_react["default"].createElement(QuickNavContainer, null, /*#__PURE__*/_react["default"].createElement(_Flex["default"], {
46
+ direction: "column",
47
+ gap: "0.5rem"
48
+ }, /*#__PURE__*/_react["default"].createElement(_Heading["default"], {
49
+ level: 4,
50
+ text: title || translatedLabels.quickNav.contentTitle
51
+ }), /*#__PURE__*/_react["default"].createElement(ListColumn, null, links.map(function (link) {
52
+ var _link$links;
53
+
54
+ return /*#__PURE__*/_react["default"].createElement("li", {
55
+ key: link.label
56
+ }, /*#__PURE__*/_react["default"].createElement(_Inset["default"], {
57
+ space: "0.25rem"
58
+ }, /*#__PURE__*/_react["default"].createElement(_Typography["default"], null, /*#__PURE__*/_react["default"].createElement(Link, {
59
+ href: "#".concat((0, _slugify["default"])(link === null || link === void 0 ? void 0 : link.label, {
60
+ lower: true
61
+ }))
62
+ }, 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) {
63
+ return /*#__PURE__*/_react["default"].createElement("li", {
64
+ key: sublink.label
65
+ }, /*#__PURE__*/_react["default"].createElement(_Inset["default"], {
66
+ horizontal: "0.5rem"
67
+ }, /*#__PURE__*/_react["default"].createElement(_Typography["default"], null, /*#__PURE__*/_react["default"].createElement(Link, {
68
+ href: "#".concat((0, _slugify["default"])(link === null || link === void 0 ? void 0 : link.label, {
69
+ lower: true
70
+ }), "-").concat((0, _slugify["default"])(sublink === null || sublink === void 0 ? void 0 : sublink.label, {
71
+ lower: true
72
+ }))
73
+ }, sublink === null || sublink === void 0 ? void 0 : sublink.label))));
74
+ })))));
75
+ })))));
76
+ };
77
+
78
+ 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) {
79
+ return props.theme.paddingTop;
80
+ }, function (props) {
81
+ return props.theme.paddingBottom;
82
+ }, function (props) {
83
+ return props.theme.paddingLeft;
84
+ }, function (props) {
85
+ return props.theme.paddingRight;
86
+ }, function (props) {
87
+ return props.theme.dividerBorderColor;
88
+ });
89
+
90
+ 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"])));
91
+
92
+ 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"])));
93
+
94
+ 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) {
95
+ return props.theme.fontSize;
96
+ }, function (props) {
97
+ return props.theme.fontFamily;
98
+ }, function (props) {
99
+ return props.theme.fontStyle;
100
+ }, function (props) {
101
+ return props.theme.fontWeight;
102
+ }, function (props) {
103
+ return props.theme.fontColor;
104
+ }, function (props) {
105
+ return props.theme.hoverFontColor;
106
+ }, function (props) {
107
+ return props.theme.focusBorderColor;
108
+ }, function (props) {
109
+ return props.theme.focusBorderStyle;
110
+ }, function (props) {
111
+ return props.theme.focusBorderThickness;
112
+ }, function (props) {
113
+ return props.theme.focusBorderRadius;
114
+ });
115
+
116
+ var _default = DxcQuickNav;
117
+ exports["default"] = _default;