@dxc-technology/halstack-react 0.0.0-891fa95 → 0.0.0-89de434

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 (359) hide show
  1. package/BackgroundColorContext.d.ts +1 -10
  2. package/BackgroundColorContext.js +5 -22
  3. package/HalstackContext.d.ts +1249 -0
  4. package/HalstackContext.js +310 -0
  5. package/README.md +47 -0
  6. package/accordion/Accordion.d.ts +1 -1
  7. package/accordion/Accordion.js +116 -182
  8. package/accordion/Accordion.stories.tsx +103 -127
  9. package/accordion/Accordion.test.js +25 -41
  10. package/accordion/types.d.ts +5 -16
  11. package/accordion-group/AccordionGroup.d.ts +5 -4
  12. package/accordion-group/AccordionGroup.js +38 -107
  13. package/accordion-group/AccordionGroup.stories.tsx +95 -68
  14. package/accordion-group/AccordionGroup.test.js +55 -90
  15. package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
  16. package/accordion-group/AccordionGroupAccordion.js +31 -0
  17. package/accordion-group/types.d.ts +15 -16
  18. package/action-icon/ActionIcon.d.ts +4 -0
  19. package/action-icon/ActionIcon.js +47 -0
  20. package/action-icon/ActionIcon.stories.tsx +41 -0
  21. package/action-icon/ActionIcon.test.js +64 -0
  22. package/action-icon/types.d.ts +26 -0
  23. package/alert/Alert.js +23 -59
  24. package/alert/Alert.stories.tsx +28 -0
  25. package/alert/Alert.test.js +29 -46
  26. package/alert/types.d.ts +5 -5
  27. package/badge/Badge.d.ts +1 -1
  28. package/badge/Badge.js +141 -41
  29. package/badge/Badge.stories.tsx +210 -0
  30. package/badge/Badge.test.js +30 -0
  31. package/badge/types.d.ts +52 -2
  32. package/bleed/Bleed.js +14 -55
  33. package/bleed/Bleed.stories.tsx +95 -95
  34. package/bleed/types.d.ts +2 -2
  35. package/box/Box.d.ts +1 -1
  36. package/box/Box.js +30 -81
  37. package/box/Box.stories.tsx +38 -51
  38. package/box/Box.test.js +2 -7
  39. package/box/types.d.ts +3 -14
  40. package/bulleted-list/BulletedList.d.ts +7 -0
  41. package/bulleted-list/BulletedList.js +89 -0
  42. package/bulleted-list/BulletedList.stories.tsx +115 -0
  43. package/bulleted-list/types.d.ts +38 -0
  44. package/button/Button.d.ts +1 -1
  45. package/button/Button.js +62 -113
  46. package/button/Button.stories.tsx +160 -90
  47. package/button/Button.test.js +20 -17
  48. package/button/types.d.ts +12 -8
  49. package/card/Card.d.ts +1 -1
  50. package/card/Card.js +58 -102
  51. package/card/Card.stories.tsx +12 -42
  52. package/card/Card.test.js +11 -22
  53. package/card/types.d.ts +6 -11
  54. package/checkbox/Checkbox.d.ts +2 -2
  55. package/checkbox/Checkbox.js +142 -174
  56. package/checkbox/Checkbox.stories.tsx +166 -136
  57. package/checkbox/Checkbox.test.js +160 -39
  58. package/checkbox/types.d.ts +14 -6
  59. package/chip/Chip.js +39 -79
  60. package/chip/Chip.stories.tsx +121 -26
  61. package/chip/Chip.test.js +16 -31
  62. package/chip/types.d.ts +4 -4
  63. package/common/coreTokens.d.ts +237 -0
  64. package/common/coreTokens.js +184 -0
  65. package/common/utils.d.ts +1 -0
  66. package/common/utils.js +6 -12
  67. package/common/variables.d.ts +1395 -0
  68. package/common/variables.js +1031 -1137
  69. package/container/Container.d.ts +4 -0
  70. package/container/Container.js +194 -0
  71. package/container/Container.stories.tsx +214 -0
  72. package/container/types.d.ts +74 -0
  73. package/contextual-menu/ContextualMenu.d.ts +7 -0
  74. package/contextual-menu/ContextualMenu.js +71 -0
  75. package/contextual-menu/ContextualMenu.stories.tsx +182 -0
  76. package/contextual-menu/ContextualMenu.test.js +71 -0
  77. package/contextual-menu/MenuItemAction.d.ts +4 -0
  78. package/contextual-menu/MenuItemAction.js +46 -0
  79. package/contextual-menu/types.d.ts +22 -0
  80. package/date-input/Calendar.d.ts +4 -0
  81. package/date-input/Calendar.js +214 -0
  82. package/date-input/DateInput.js +167 -298
  83. package/date-input/DateInput.stories.tsx +203 -56
  84. package/date-input/DateInput.test.js +707 -391
  85. package/date-input/DatePicker.d.ts +4 -0
  86. package/date-input/DatePicker.js +115 -0
  87. package/date-input/Icons.d.ts +6 -0
  88. package/date-input/Icons.js +58 -0
  89. package/date-input/YearPicker.d.ts +4 -0
  90. package/date-input/YearPicker.js +100 -0
  91. package/date-input/types.d.ts +84 -24
  92. package/dialog/Dialog.d.ts +1 -1
  93. package/dialog/Dialog.js +68 -130
  94. package/dialog/Dialog.stories.tsx +320 -167
  95. package/dialog/Dialog.test.js +287 -20
  96. package/dialog/types.d.ts +18 -25
  97. package/divider/Divider.d.ts +4 -0
  98. package/divider/Divider.js +36 -0
  99. package/divider/Divider.stories.tsx +223 -0
  100. package/divider/Divider.test.js +38 -0
  101. package/divider/types.d.ts +19 -0
  102. package/dropdown/Dropdown.d.ts +1 -1
  103. package/dropdown/Dropdown.js +248 -307
  104. package/dropdown/Dropdown.stories.tsx +245 -56
  105. package/dropdown/Dropdown.test.js +575 -165
  106. package/dropdown/DropdownMenu.d.ts +4 -0
  107. package/dropdown/DropdownMenu.js +63 -0
  108. package/dropdown/DropdownMenuItem.d.ts +4 -0
  109. package/dropdown/DropdownMenuItem.js +67 -0
  110. package/dropdown/types.d.ts +33 -15
  111. package/file-input/FileInput.d.ts +2 -2
  112. package/file-input/FileInput.js +246 -357
  113. package/file-input/FileInput.stories.tsx +123 -12
  114. package/file-input/FileInput.test.js +369 -367
  115. package/file-input/FileItem.d.ts +4 -14
  116. package/file-input/FileItem.js +50 -99
  117. package/file-input/types.d.ts +25 -8
  118. package/flex/Flex.d.ts +4 -0
  119. package/flex/Flex.js +57 -0
  120. package/flex/Flex.stories.tsx +112 -0
  121. package/flex/types.d.ts +97 -0
  122. package/footer/Footer.d.ts +1 -1
  123. package/footer/Footer.js +70 -190
  124. package/footer/Footer.stories.tsx +60 -19
  125. package/footer/Footer.test.js +33 -57
  126. package/footer/Icons.d.ts +3 -2
  127. package/footer/Icons.js +67 -8
  128. package/footer/types.d.ts +25 -26
  129. package/grid/Grid.d.ts +7 -0
  130. package/grid/Grid.js +76 -0
  131. package/grid/Grid.stories.tsx +219 -0
  132. package/grid/types.d.ts +115 -0
  133. package/grid/types.js +5 -0
  134. package/header/Header.d.ts +4 -3
  135. package/header/Header.js +99 -203
  136. package/header/Header.stories.tsx +152 -63
  137. package/header/Header.test.js +31 -28
  138. package/header/Icons.d.ts +2 -2
  139. package/header/Icons.js +4 -9
  140. package/header/types.d.ts +7 -21
  141. package/heading/Heading.js +10 -32
  142. package/heading/Heading.test.js +71 -88
  143. package/heading/types.d.ts +7 -7
  144. package/icon/Icon.d.ts +4 -0
  145. package/icon/Icon.js +33 -0
  146. package/icon/Icon.stories.tsx +26 -0
  147. package/icon/types.d.ts +4 -0
  148. package/icon/types.js +5 -0
  149. package/image/Image.d.ts +4 -0
  150. package/image/Image.js +70 -0
  151. package/image/Image.stories.tsx +129 -0
  152. package/image/types.d.ts +72 -0
  153. package/image/types.js +5 -0
  154. package/inset/Inset.js +14 -55
  155. package/inset/Inset.stories.tsx +37 -36
  156. package/inset/types.d.ts +2 -2
  157. package/layout/ApplicationLayout.d.ts +16 -6
  158. package/layout/ApplicationLayout.js +84 -181
  159. package/layout/ApplicationLayout.stories.tsx +85 -94
  160. package/layout/Icons.d.ts +8 -0
  161. package/layout/Icons.js +51 -48
  162. package/layout/SidenavContext.d.ts +5 -0
  163. package/layout/SidenavContext.js +13 -0
  164. package/layout/types.d.ts +19 -35
  165. package/link/Link.d.ts +3 -2
  166. package/link/Link.js +61 -99
  167. package/link/Link.stories.tsx +155 -53
  168. package/link/Link.test.js +25 -53
  169. package/link/types.d.ts +15 -31
  170. package/main.d.ts +15 -13
  171. package/main.js +76 -106
  172. package/nav-tabs/NavTabs.d.ts +8 -0
  173. package/nav-tabs/NavTabs.js +93 -0
  174. package/nav-tabs/NavTabs.stories.tsx +276 -0
  175. package/nav-tabs/NavTabs.test.js +76 -0
  176. package/nav-tabs/Tab.d.ts +4 -0
  177. package/nav-tabs/Tab.js +118 -0
  178. package/nav-tabs/types.d.ts +52 -0
  179. package/nav-tabs/types.js +5 -0
  180. package/number-input/NumberInput.d.ts +7 -0
  181. package/number-input/NumberInput.js +47 -37
  182. package/number-input/NumberInput.stories.tsx +42 -26
  183. package/number-input/NumberInput.test.js +862 -381
  184. package/number-input/types.d.ts +24 -15
  185. package/package.json +45 -47
  186. package/paginator/Icons.d.ts +5 -0
  187. package/paginator/Icons.js +21 -47
  188. package/paginator/Paginator.js +34 -91
  189. package/paginator/Paginator.stories.tsx +24 -0
  190. package/paginator/Paginator.test.js +280 -211
  191. package/paginator/types.d.ts +3 -3
  192. package/paragraph/Paragraph.d.ts +5 -0
  193. package/paragraph/Paragraph.js +22 -0
  194. package/paragraph/Paragraph.stories.tsx +27 -0
  195. package/password-input/Icons.d.ts +6 -0
  196. package/password-input/Icons.js +35 -0
  197. package/password-input/PasswordInput.js +57 -123
  198. package/password-input/PasswordInput.stories.tsx +1 -33
  199. package/password-input/PasswordInput.test.js +162 -147
  200. package/password-input/types.d.ts +21 -17
  201. package/progress-bar/ProgressBar.js +65 -91
  202. package/progress-bar/ProgressBar.stories.tsx +93 -0
  203. package/progress-bar/ProgressBar.test.js +72 -44
  204. package/progress-bar/types.d.ts +3 -3
  205. package/quick-nav/QuickNav.js +71 -43
  206. package/quick-nav/QuickNav.stories.tsx +146 -27
  207. package/quick-nav/types.d.ts +10 -10
  208. package/radio-group/Radio.d.ts +1 -1
  209. package/radio-group/Radio.js +59 -76
  210. package/radio-group/RadioGroup.js +71 -116
  211. package/radio-group/RadioGroup.stories.tsx +132 -18
  212. package/radio-group/RadioGroup.test.js +518 -457
  213. package/radio-group/types.d.ts +10 -10
  214. package/resultset-table/Icons.d.ts +7 -0
  215. package/resultset-table/Icons.js +47 -0
  216. package/resultset-table/ResultsetTable.d.ts +7 -0
  217. package/resultset-table/ResultsetTable.js +166 -0
  218. package/{resultsetTable → resultset-table}/ResultsetTable.stories.tsx +152 -30
  219. package/resultset-table/ResultsetTable.test.js +371 -0
  220. package/{resultsetTable → resultset-table}/types.d.ts +13 -7
  221. package/resultset-table/types.js +5 -0
  222. package/select/Icons.d.ts +7 -7
  223. package/select/Icons.js +1 -5
  224. package/select/Listbox.d.ts +4 -0
  225. package/select/Listbox.js +143 -0
  226. package/select/Option.js +27 -50
  227. package/select/Select.js +198 -340
  228. package/select/Select.stories.tsx +525 -136
  229. package/select/Select.test.js +2009 -1696
  230. package/select/types.d.ts +32 -17
  231. package/sidenav/Icons.d.ts +7 -0
  232. package/sidenav/Icons.js +47 -0
  233. package/sidenav/Sidenav.d.ts +6 -5
  234. package/sidenav/Sidenav.js +132 -71
  235. package/sidenav/Sidenav.stories.tsx +251 -151
  236. package/sidenav/Sidenav.test.js +26 -45
  237. package/sidenav/types.d.ts +52 -26
  238. package/slider/Slider.d.ts +2 -2
  239. package/slider/Slider.js +148 -181
  240. package/slider/Slider.test.js +185 -81
  241. package/slider/types.d.ts +7 -3
  242. package/spinner/Spinner.js +31 -75
  243. package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +53 -27
  244. package/spinner/Spinner.test.js +26 -35
  245. package/spinner/types.d.ts +3 -3
  246. package/status-light/StatusLight.d.ts +4 -0
  247. package/status-light/StatusLight.js +51 -0
  248. package/status-light/StatusLight.stories.tsx +74 -0
  249. package/status-light/StatusLight.test.js +25 -0
  250. package/status-light/types.d.ts +17 -0
  251. package/status-light/types.js +5 -0
  252. package/switch/Switch.d.ts +2 -2
  253. package/switch/Switch.js +143 -121
  254. package/switch/Switch.stories.tsx +41 -64
  255. package/switch/Switch.test.js +138 -56
  256. package/switch/types.d.ts +9 -5
  257. package/table/DropdownTheme.js +62 -0
  258. package/table/Table.d.ts +6 -2
  259. package/table/Table.js +87 -35
  260. package/table/Table.stories.tsx +658 -0
  261. package/table/Table.test.js +95 -8
  262. package/table/types.d.ts +48 -6
  263. package/tabs/Tab.d.ts +4 -0
  264. package/tabs/Tab.js +116 -0
  265. package/tabs/Tabs.js +314 -141
  266. package/tabs/Tabs.stories.tsx +120 -12
  267. package/tabs/Tabs.test.js +223 -69
  268. package/tabs/types.d.ts +28 -18
  269. package/tag/Tag.js +33 -68
  270. package/tag/Tag.stories.tsx +14 -1
  271. package/tag/Tag.test.js +20 -31
  272. package/tag/types.d.ts +7 -7
  273. package/text-input/Icons.d.ts +8 -0
  274. package/text-input/Icons.js +56 -0
  275. package/text-input/Suggestion.d.ts +4 -0
  276. package/text-input/Suggestion.js +67 -0
  277. package/text-input/Suggestions.d.ts +4 -0
  278. package/text-input/Suggestions.js +84 -0
  279. package/text-input/TextInput.js +325 -558
  280. package/text-input/TextInput.stories.tsx +266 -275
  281. package/text-input/TextInput.test.js +1430 -1399
  282. package/text-input/types.d.ts +66 -24
  283. package/textarea/Textarea.js +79 -131
  284. package/textarea/Textarea.stories.tsx +174 -0
  285. package/textarea/Textarea.test.js +152 -183
  286. package/textarea/types.d.ts +19 -12
  287. package/toggle-group/ToggleGroup.d.ts +2 -2
  288. package/toggle-group/ToggleGroup.js +92 -106
  289. package/toggle-group/ToggleGroup.stories.tsx +49 -4
  290. package/toggle-group/ToggleGroup.test.js +69 -88
  291. package/toggle-group/types.d.ts +26 -17
  292. package/typography/Typography.d.ts +4 -0
  293. package/typography/Typography.js +23 -0
  294. package/typography/Typography.stories.tsx +198 -0
  295. package/typography/types.d.ts +18 -0
  296. package/typography/types.js +5 -0
  297. package/useTheme.d.ts +1147 -1
  298. package/useTheme.js +4 -11
  299. package/useTranslatedLabels.d.ts +85 -0
  300. package/useTranslatedLabels.js +14 -0
  301. package/utils/BaseTypography.d.ts +21 -0
  302. package/utils/BaseTypography.js +94 -0
  303. package/utils/FocusLock.d.ts +13 -0
  304. package/utils/FocusLock.js +124 -0
  305. package/wizard/Wizard.js +58 -94
  306. package/wizard/Wizard.stories.tsx +40 -1
  307. package/wizard/Wizard.test.js +54 -81
  308. package/wizard/types.d.ts +8 -8
  309. package/ThemeContext.d.ts +0 -10
  310. package/ThemeContext.js +0 -243
  311. package/card/ice-cream.jpg +0 -0
  312. package/common/OpenSans.css +0 -81
  313. package/common/RequiredComponent.js +0 -32
  314. package/common/fonts/OpenSans-Bold.ttf +0 -0
  315. package/common/fonts/OpenSans-BoldItalic.ttf +0 -0
  316. package/common/fonts/OpenSans-ExtraBold.ttf +0 -0
  317. package/common/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  318. package/common/fonts/OpenSans-Italic.ttf +0 -0
  319. package/common/fonts/OpenSans-Light.ttf +0 -0
  320. package/common/fonts/OpenSans-LightItalic.ttf +0 -0
  321. package/common/fonts/OpenSans-Regular.ttf +0 -0
  322. package/common/fonts/OpenSans-SemiBold.ttf +0 -0
  323. package/common/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  324. package/list/List.d.ts +0 -4
  325. package/list/List.js +0 -47
  326. package/list/List.stories.tsx +0 -95
  327. package/list/types.d.ts +0 -7
  328. package/number-input/NumberInputContext.d.ts +0 -4
  329. package/number-input/NumberInputContext.js +0 -19
  330. package/number-input/numberInputContextTypes.d.ts +0 -19
  331. package/progress-bar/ProgressBar.stories.jsx +0 -58
  332. package/radio/Radio.d.ts +0 -4
  333. package/radio/Radio.js +0 -174
  334. package/radio/Radio.stories.tsx +0 -192
  335. package/radio/Radio.test.js +0 -71
  336. package/radio/types.d.ts +0 -54
  337. package/resultsetTable/ResultsetTable.d.ts +0 -4
  338. package/resultsetTable/ResultsetTable.js +0 -254
  339. package/resultsetTable/ResultsetTable.test.js +0 -306
  340. package/row/Row.d.ts +0 -3
  341. package/row/Row.js +0 -127
  342. package/row/Row.stories.tsx +0 -237
  343. package/row/types.d.ts +0 -28
  344. package/slider/Slider.stories.tsx +0 -177
  345. package/stack/Stack.d.ts +0 -3
  346. package/stack/Stack.js +0 -97
  347. package/stack/Stack.stories.tsx +0 -164
  348. package/stack/types.d.ts +0 -24
  349. package/table/Table.stories.jsx +0 -277
  350. package/text/Text.d.ts +0 -7
  351. package/text/Text.js +0 -30
  352. package/text/Text.stories.tsx +0 -19
  353. package/textarea/Textarea.stories.jsx +0 -157
  354. /package/{list → action-icon}/types.js +0 -0
  355. /package/{radio → bulleted-list}/types.js +0 -0
  356. /package/{resultsetTable → container}/types.js +0 -0
  357. /package/{row → contextual-menu}/types.js +0 -0
  358. /package/{stack → divider}/types.js +0 -0
  359. /package/{number-input/numberInputContextTypes.js → flex/types.js} +0 -0
@@ -1,115 +1,75 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  var _typeof3 = 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 _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
13
-
14
10
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
15
-
11
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
16
12
  var _react = _interopRequireWildcard(require("react"));
17
-
18
13
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
19
-
20
- var _LinearProgress = _interopRequireDefault(require("@material-ui/core/LinearProgress"));
21
-
22
- var _variables = require("../common/variables.js");
23
-
14
+ var _variables = require("../common/variables");
24
15
  var _useTheme = _interopRequireDefault(require("../useTheme"));
25
-
26
- var _BackgroundColorContext = _interopRequireDefault(require("../BackgroundColorContext"));
27
-
28
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6;
29
-
30
- 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); }
31
-
32
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof3(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; }
33
-
16
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8;
17
+ 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); }
18
+ 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; }
34
19
  var DxcProgressBar = function DxcProgressBar(_ref) {
35
20
  var _ref$label = _ref.label,
36
- label = _ref$label === void 0 ? "" : _ref$label,
37
- _ref$helperText = _ref.helperText,
38
- helperText = _ref$helperText === void 0 ? "" : _ref$helperText,
39
- _ref$overlay = _ref.overlay,
40
- overlay = _ref$overlay === void 0 ? true : _ref$overlay,
41
- value = _ref.value,
42
- _ref$showValue = _ref.showValue,
43
- showValue = _ref$showValue === void 0 ? false : _ref$showValue,
44
- margin = _ref.margin;
21
+ label = _ref$label === void 0 ? "" : _ref$label,
22
+ _ref$helperText = _ref.helperText,
23
+ helperText = _ref$helperText === void 0 ? "" : _ref$helperText,
24
+ _ref$overlay = _ref.overlay,
25
+ overlay = _ref$overlay === void 0 ? false : _ref$overlay,
26
+ value = _ref.value,
27
+ _ref$showValue = _ref.showValue,
28
+ showValue = _ref$showValue === void 0 ? false : _ref$showValue,
29
+ margin = _ref.margin;
45
30
  var colorsTheme = (0, _useTheme["default"])();
46
- var backgroundType = (0, _react.useContext)(_BackgroundColorContext["default"]);
31
+ var _useState = (0, _react.useState)(0),
32
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
33
+ valueProgressBar = _useState2[0],
34
+ setValueProgressBar = _useState2[1];
35
+ (0, _react.useEffect)(function () {
36
+ setValueProgressBar(value === null || value === undefined || value < 0 ? 0 : value >= 0 && value <= 100 ? value : 100);
37
+ }, [value]);
47
38
  return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
48
39
  theme: colorsTheme.progressBar
49
40
  }, /*#__PURE__*/_react["default"].createElement(BackgroundProgressBar, {
50
41
  overlay: overlay
51
- }, /*#__PURE__*/_react["default"].createElement(DXCProgressBar, {
42
+ }, /*#__PURE__*/_react["default"].createElement(ProgressBarContainer, {
52
43
  overlay: overlay,
53
- margin: margin,
54
- backgroundType: backgroundType
44
+ margin: margin
55
45
  }, /*#__PURE__*/_react["default"].createElement(InfoProgressBar, null, /*#__PURE__*/_react["default"].createElement(ProgressBarLabel, {
56
46
  overlay: overlay,
57
- backgroundType: backgroundType
47
+ "aria-label": label || undefined
58
48
  }, label), /*#__PURE__*/_react["default"].createElement(ProgressBarProgress, {
59
49
  overlay: overlay,
60
50
  showValue: showValue,
61
- backgroundType: backgroundType
62
- }, value === null || value === undefined ? 0 : value >= 0 && value <= 100 ? value : value < 0 ? 0 : 100, " %")), /*#__PURE__*/_react["default"].createElement(_LinearProgress["default"], {
63
- variant: showValue ? "determinate" : "indeterminate",
64
- value: value === null || value === undefined ? 0 : value >= 0 && value <= 100 ? value : value < 0 ? 0 : 100
65
- }), helperText && /*#__PURE__*/_react["default"].createElement(HelperText, {
66
- overlay: overlay,
67
- backgroundType: backgroundType
51
+ value: valueProgressBar
52
+ }, valueProgressBar, " %")), /*#__PURE__*/_react["default"].createElement(LinearProgress, {
53
+ role: "progressbar",
54
+ helperText: helperText,
55
+ "aria-valuenow": showValue ? valueProgressBar : undefined
56
+ }, /*#__PURE__*/_react["default"].createElement(LinearProgressBar, {
57
+ variant: value === null || value === undefined ? "indeterminate" : "determinate",
58
+ container: "first",
59
+ value: valueProgressBar
60
+ })), helperText && /*#__PURE__*/_react["default"].createElement(HelperText, {
61
+ overlay: overlay
68
62
  }, helperText))));
69
63
  };
70
-
71
- var BackgroundProgressBar = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n background-color: ", ";\n opacity: ", ";\n width: ", ";\n display: flex;\n flex-wrap: wrap;\n justify-content: ", ";\n height: ", ";\n align-items: ", ";\n min-width: 100px;\n max-width: ", ";\n position: ", ";\n top: ", ";\n bottom: ", ";\n left: ", ";\n right: ", ";\n z-index: ", ";\n width: 100%;\n"])), function (props) {
72
- return props.overlay === true ? "".concat(props.theme.overlayColor) : "transparent";
73
- }, function (props) {
74
- return props.overlay === true && "0.8";
75
- }, function (props) {
76
- return props.overlay === true ? "100%" : "";
77
- }, function (props) {
78
- return props.overlay === true ? "center" : "";
79
- }, function (props) {
80
- return props.overlay === true ? "100vh" : "";
81
- }, function (props) {
82
- return props.overlay === true ? "center" : "";
83
- }, function (props) {
84
- return props.overlay === true ? "100%" : "";
85
- }, function (props) {
86
- return props.overlay === true ? "fixed" : "";
87
- }, function (props) {
88
- return props.overlay === true ? "0" : "";
89
- }, function (props) {
90
- return props.overlay === true ? "0" : "";
91
- }, function (props) {
92
- return props.overlay === true ? "0" : "";
93
- }, function (props) {
94
- return props.overlay === true ? "0" : "";
95
- }, function (props) {
96
- return props.overlay ? 1300 : "";
64
+ var BackgroundProgressBar = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n ", "\n display: flex;\n flex-wrap: wrap;\n min-width: 100px;\n width: 100%;\n"])), function (_ref2) {
65
+ var overlay = _ref2.overlay,
66
+ theme = _ref2.theme;
67
+ return overlay ? "background-color: ".concat(theme.overlayColor, ";\n width: 100%;\n justify-content: center;\n height: 100vh;\n align-items: center;\n max-width: 100%;\n position: fixed;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n z-index: 1300;") : "background-color: \"transparent\";";
97
68
  });
98
-
99
- var DXCProgressBar = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n z-index: ", ";\n width: ", ";\n .MuiLinearProgress-root {\n height: ", ";\n background-color: ", ";\n border-radius: ", ";\n margin-bottom: ", ";\n }\n .MuiLinearProgress-bar {\n background-color: ", ";\n }\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n"])), function (props) {
69
+ var ProgressBarContainer = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n z-index: ", ";\n width: ", ";\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n"])), function (props) {
100
70
  return props.overlay === true && "100" || "0";
101
71
  }, function (props) {
102
72
  return props.overlay === true ? "80%" : "100%";
103
- }, function (props) {
104
- return props.theme.thickness;
105
- }, function (props) {
106
- return props.theme.totalLineColor;
107
- }, function (props) {
108
- return props.theme.borderRadius;
109
- }, function (props) {
110
- return props.helperText !== "" && "8px";
111
- }, function (props) {
112
- return props.backgroundType === "dark" ? props.theme.trackLineColorOnDark : props.theme.trackLineColor;
113
73
  }, function (props) {
114
74
  return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
115
75
  }, function (props) {
@@ -121,9 +81,7 @@ var DXCProgressBar = _styledComponents["default"].div(_templateObject2 || (_temp
121
81
  }, function (props) {
122
82
  return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
123
83
  });
124
-
125
84
  var InfoProgressBar = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: row;\n width: 685px;\n flex-wrap: wrap;\n width: 100%;\n margin-bottom: 8px;\n align-items: baseline;\n justify-content: space-between;\n"])));
126
-
127
85
  var ProgressBarLabel = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n font-family: ", ";\n font-style: ", ";\n font-size: ", ";\n font-weight: ", ";\n text-transform: ", ";\n color: ", ";\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n text-overflow: ellipsis;\n"])), function (props) {
128
86
  return props.theme.labelFontFamily;
129
87
  }, function (props) {
@@ -135,9 +93,8 @@ var ProgressBarLabel = _styledComponents["default"].div(_templateObject4 || (_te
135
93
  }, function (props) {
136
94
  return props.theme.labelFontTextTransform;
137
95
  }, function (props) {
138
- return props.backgroundType === "dark" ? props.theme.labelFontColorOnDark : props.overlay === true ? "#FFFFFF" : props.theme.labelFontColor;
96
+ return props.overlay === true ? props.theme.overlayFontColor : props.theme.labelFontColor;
139
97
  });
140
-
141
98
  var ProgressBarProgress = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n font-family: ", ";\n font-style: ", ";\n font-size: ", ";\n font-weight: ", ";\n text-transform: ", ";\n color: ", ";\n display: ", ";\n flex-shrink: 0;\n"])), function (props) {
142
99
  return props.theme.valueFontFamily;
143
100
  }, function (props) {
@@ -149,13 +106,12 @@ var ProgressBarProgress = _styledComponents["default"].div(_templateObject5 || (
149
106
  }, function (props) {
150
107
  return props.theme.valueFontTextTransform;
151
108
  }, function (props) {
152
- return props.backgroundType === "dark" ? props.theme.valueFontColorOnDark : props.overlay === true ? "#FFFFFF" : props.theme.valueFontColor;
109
+ return props.overlay === true ? props.theme.overlayFontColor : props.theme.valueFontColor;
153
110
  }, function (props) {
154
- return props.value !== "" && props.showValue === true && "block" || "none";
111
+ return props.value !== undefined && props.value !== null && props.showValue === true && "block" || "none";
155
112
  });
156
-
157
113
  var HelperText = _styledComponents["default"].span(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n line-height: 1.5em;\n"])), function (props) {
158
- return props.backgroundType === "dark" ? props.theme.helperTextFontColorOnDark : props.overlay === true ? "#FFFFFF" : props.theme.helperTextFontColor;
114
+ return props.overlay === true ? props.theme.overlayFontColor : props.theme.helperTextFontColor;
159
115
  }, function (props) {
160
116
  return props.theme.helperTextFontFamily;
161
117
  }, function (props) {
@@ -165,6 +121,24 @@ var HelperText = _styledComponents["default"].span(_templateObject6 || (_templat
165
121
  }, function (props) {
166
122
  return props.theme.helperTextFontWeight;
167
123
  });
168
-
169
- var _default = DxcProgressBar;
170
- exports["default"] = _default;
124
+ var LinearProgress = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n height: ", ";\n background-color: ", ";\n border-radius: ", ";\n margin-bottom: ", ";\n overflow: hidden;\n position: relative;\n"])), function (props) {
125
+ return props.theme.thickness;
126
+ }, function (props) {
127
+ return props.theme.totalLineColor;
128
+ }, function (props) {
129
+ return props.theme.borderRadius;
130
+ }, function (props) {
131
+ return props.helperText !== "" && "8px";
132
+ });
133
+ var LinearProgressBar = _styledComponents["default"].span(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n background-color: ", ";\n transform: ", ";\n top: 0;\n left: 0;\n width: 100%;\n bottom: 0;\n position: absolute;\n transition: ", ";\n transform-origin: left;\n ", ";\n ", ";\n\n @keyframes keyframes-indeterminate-first {\n 0% {\n left: -35%;\n right: 100%;\n }\n 60% {\n left: 100%;\n right: -90%;\n }\n 100% {\n left: 100%;\n right: -90%;\n }\n }\n\n @keyframes keyframes-indeterminate-second {\n 0% {\n left: -200%;\n right: 100%;\n }\n 60% {\n left: 107%;\n right: -8%;\n }\n 100% {\n left: 107%;\n right: -8%;\n }\n }\n"])), function (props) {
134
+ return props.theme.trackLineColor;
135
+ }, function (props) {
136
+ return "translateX(-".concat(props.variant === "determinate" ? 100 - props.value : 0, "%)");
137
+ }, function (props) {
138
+ return props.variant === "determinate" ? "transform .4s linear" : "transform 0.2s linear";
139
+ }, function (props) {
140
+ return props.variant === "indeterminate" && "width: auto;";
141
+ }, function (props) {
142
+ return props.variant === "indeterminate" ? props.container === "first" ? "animation: keyframes-indeterminate-first 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite;" : "animation: keyframes-indeterminate-second 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) 1.15s infinite;" : "";
143
+ });
144
+ var _default = exports["default"] = DxcProgressBar;
@@ -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
  */
@@ -1,66 +1,94 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
8
  exports["default"] = void 0;
9
-
10
9
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
11
-
12
10
  var _react = _interopRequireDefault(require("react"));
13
-
14
- var _styledComponents = _interopRequireDefault(require("styled-components"));
15
-
11
+ var _styledComponents = _interopRequireWildcard(require("styled-components"));
16
12
  var _slugify = _interopRequireDefault(require("slugify"));
17
-
13
+ var _useTheme = _interopRequireDefault(require("../useTheme"));
18
14
  var _Heading = _interopRequireDefault(require("../heading/Heading"));
19
-
20
- var _Stack = _interopRequireDefault(require("../stack/Stack"));
21
-
15
+ var _Flex = _interopRequireDefault(require("../flex/Flex"));
22
16
  var _Inset = _interopRequireDefault(require("../inset/Inset"));
23
-
24
- var _templateObject, _templateObject2;
25
-
17
+ var _Typography = _interopRequireDefault(require("../typography/Typography"));
18
+ var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
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; }
26
22
  var DxcQuickNav = function DxcQuickNav(_ref) {
27
23
  var title = _ref.title,
28
- links = _ref.links;
29
- return /*#__PURE__*/_react["default"].createElement(QuickNavContainer, null, /*#__PURE__*/_react["default"].createElement(_Stack["default"], {
30
- gutter: "small"
24
+ links = _ref.links;
25
+ var translatedLabels = (0, _useTranslatedLabels["default"])();
26
+ var colorsTheme = (0, _useTheme["default"])();
27
+ return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
28
+ theme: colorsTheme.quickNav
29
+ }, /*#__PURE__*/_react["default"].createElement(QuickNavContainer, null, /*#__PURE__*/_react["default"].createElement(_Flex["default"], {
30
+ direction: "column",
31
+ gap: "0.5rem"
31
32
  }, /*#__PURE__*/_react["default"].createElement(_Heading["default"], {
32
33
  level: 4,
33
- text: title
34
- }), /*#__PURE__*/_react["default"].createElement(_Stack["default"], {
35
- gutter: "xsmall"
36
- }, links.map(function (link) {
34
+ text: title || translatedLabels.quickNav.contentTitle
35
+ }), /*#__PURE__*/_react["default"].createElement(ListColumn, null, links.map(function (link) {
37
36
  var _link$links;
38
-
39
- return /*#__PURE__*/_react["default"].createElement(_Inset["default"], {
40
- space: "xxsmall"
41
- }, /*#__PURE__*/_react["default"].createElement(_Stack["default"], {
42
- gutter: "xsmall"
43
- }, /*#__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, {
44
42
  href: "#".concat((0, _slugify["default"])(link === null || link === void 0 ? void 0 : link.label, {
45
43
  lower: true
46
44
  }))
47
- }, 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) {
48
- return /*#__PURE__*/_react["default"].createElement(_Inset["default"], {
49
- horizontal: "xsmall"
50
- }, /*#__PURE__*/_react["default"].createElement(_Stack["default"], {
51
- gutter: "xsmall"
52
- }, /*#__PURE__*/_react["default"].createElement(Link, {
53
- 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, {
54
54
  lower: true
55
55
  }))
56
- }, sublink === null || sublink === void 0 ? void 0 : sublink.label)));
57
- })));
58
- }))));
56
+ }, sublink === null || sublink === void 0 ? void 0 : sublink.label))));
57
+ })))));
58
+ })))));
59
59
  };
60
-
61
- var QuickNavContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n padding: 5px 15px;\n border-left: 2px solid #bfbfbf;\n"])));
62
-
63
- var Link = _styledComponents["default"].a(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n text-decoration: none;\n font-size: 14px;\n color: #666666;\n &:hover {\n color: #ab63cf;\n }\n &:focus {\n border-radius: 2px;\n border-color: #0095ff;\n }\n"])));
64
-
65
- var _default = DxcQuickNav;
66
- exports["default"] = _default;
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) {
61
+ return props.theme.paddingTop;
62
+ }, function (props) {
63
+ return props.theme.paddingBottom;
64
+ }, function (props) {
65
+ return props.theme.paddingLeft;
66
+ }, function (props) {
67
+ return props.theme.paddingRight;
68
+ }, function (props) {
69
+ return props.theme.dividerBorderColor;
70
+ });
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) {
74
+ return props.theme.fontSize;
75
+ }, function (props) {
76
+ return props.theme.fontFamily;
77
+ }, function (props) {
78
+ return props.theme.fontStyle;
79
+ }, function (props) {
80
+ return props.theme.fontWeight;
81
+ }, function (props) {
82
+ return props.theme.fontColor;
83
+ }, function (props) {
84
+ return props.theme.hoverFontColor;
85
+ }, function (props) {
86
+ return props.theme.focusBorderColor;
87
+ }, function (props) {
88
+ return props.theme.focusBorderStyle;
89
+ }, function (props) {
90
+ return props.theme.focusBorderThickness;
91
+ }, function (props) {
92
+ return props.theme.focusBorderRadius;
93
+ });
94
+ var _default = exports["default"] = DxcQuickNav;